PageRenderTime 45ms CodeModel.GetById 18ms RepoModel.GetById 0ms app.codeStats 0ms

/src/test/java/com/atlassian/util/profiling/filters/TestProfilingStatusViaRequestUpdateStrategy.java

https://bitbucket.org/atlassian/atlassian-profiling
Java | 83 lines | 69 code | 14 blank | 0 comment | 0 complexity | 29cc5a6c6338b7d12d1b376d8dc628bf MD5 | raw file
  1. package com.atlassian.util.profiling.filters;
  2. import javax.servlet.FilterConfig;
  3. import javax.servlet.ServletRequest;
  4. import javax.servlet.http.HttpServletRequest;
  5. import com.atlassian.util.profiling.UtilTimerStack;
  6. import com.mockobjects.dynamic.Mock;
  7. import junit.framework.TestCase;
  8. import static com.atlassian.util.profiling.UtilTimerStack.getDefaultStrategy;
  9. public class TestProfilingStatusViaRequestUpdateStrategy extends TestCase
  10. {
  11. private final Mock request = new Mock(HttpServletRequest.class);
  12. private Mock mockFilterConfig = new Mock(FilterConfig.class);
  13. private FilterConfig filterConfig = (FilterConfig) mockFilterConfig.proxy();
  14. private ProfilingStatusUpdateViaRequestStrategy defaultStrategy;
  15. public void setUp() throws Exception
  16. {
  17. super.setUp();
  18. setDefaultStrategy();
  19. }
  20. public void tearDown() throws Exception
  21. {
  22. getDefaultStrategy().setEnabled(false);
  23. super.tearDown();
  24. }
  25. public void setDefaultStrategy()
  26. {
  27. mockFilterConfig.expectAndReturn("getFilterName", "profiling");
  28. defaultStrategy = new ProfilingStatusUpdateViaRequestStrategy()
  29. {
  30. public FilterConfig getFilterConfig()
  31. {
  32. return filterConfig;
  33. }
  34. };
  35. }
  36. public void testTurnOnProfiling()
  37. {
  38. request.expectAndReturn("getQueryString", "profile.filter=on&spaceKey=TST");
  39. defaultStrategy.setStateViaRequest((ServletRequest) request.proxy());
  40. assertTrue(UtilTimerStack.isActive());
  41. }
  42. public void testTurnOnProfilingWithThreshhold()
  43. {
  44. request.expectAndReturn("getQueryString", "pageId=10000&profile.filter=20&spaceKey=TST");
  45. defaultStrategy.setStateViaRequest((ServletRequest) request.proxy());
  46. assertTrue(UtilTimerStack.isActive());
  47. }
  48. public void testTurnOffProfiling()
  49. {
  50. request.expectAndReturn("getQueryString", "pageId=10000&profile.filter=off");
  51. defaultStrategy.setStateViaRequest((ServletRequest) request.proxy());
  52. assertFalse(UtilTimerStack.isActive());
  53. }
  54. public void testIgnoreAcivation()
  55. {
  56. getDefaultStrategy().setEnabled(true);
  57. request.expectAndReturn("getQueryString", null);
  58. defaultStrategy.setStateViaRequest((ServletRequest) request.proxy());
  59. assertTrue(UtilTimerStack.isActive());
  60. }
  61. public void testChangeInitParam()
  62. {
  63. mockFilterConfig.expectAndReturn("getInitParameter", ProfilingStatusUpdateViaRequestStrategy.ON_OFF_INIT_PARAM, "profile");
  64. mockFilterConfig.expectAndReturn("getInitParameter", ProfilingStatusUpdateViaRequestStrategy.ON_OFF_INIT_PARAM, "profile");
  65. mockFilterConfig.expectAndReturn("getInitParameter", ProfilingStatusUpdateViaRequestStrategy.ON_OFF_INIT_PARAM, "profile");
  66. defaultStrategy.configure(filterConfig);
  67. assertEquals("profile=([\\w\\d]+)", ProfilingStatusUpdateViaRequestStrategy.getOnOffParameterPattern().pattern());
  68. }
  69. }