@Override protected void before() throws Throwable { // this shared instance breaks compatibility with parallel execution of tests LogInterceptors.set(new ListInterceptor()); setLevel(LoggerLevel.INFO); }
@Before public void prepare() { logTester.setLevel(LoggerLevel.INFO); system2 = mock(System2.class); when(system2.properties()).thenReturn(new Properties()); globalServerSettings = mock(GlobalServerSettings.class); hierarchy = mock(InputModuleHierarchy.class); store = mock(InputComponentStore.class); projectServerSettings = mock(ProjectServerSettings.class); publisher = new AnalysisContextReportPublisher(projectServerSettings, analysisMode, pluginRepo, system2, globalServerSettings, hierarchy, store); }
@Test public void getRootLoggerLevel() { logTester.setLevel(TRACE); assertThat(underTest.getRootLoggerLevel()).isEqualTo(TRACE); }
@Test public void test_levels() { // info by default assertThat(underTest.isDebugEnabled()).isFalse(); assertThat(underTest.isTraceEnabled()).isFalse(); tester.setLevel(LoggerLevel.DEBUG); assertThat(underTest.isDebugEnabled()).isTrue(); assertThat(underTest.isTraceEnabled()).isFalse(); tester.setLevel(LoggerLevel.TRACE); assertThat(underTest.isDebugEnabled()).isTrue(); assertThat(underTest.isTraceEnabled()).isTrue(); }
@Test public void login_success_does_not_interact_with_request_if_log_level_is_above_DEBUG() { HttpServletRequest request = mock(HttpServletRequest.class); logTester.setLevel(LoggerLevel.INFO); underTest.loginSuccess(request, "login", Source.sso()); verifyZeroInteractions(request); }
@Test public void create_null_profiler_if_debug_level_is_disabled() { tester.setLevel(LoggerLevel.TRACE); Profiler profiler = Profiler.createIfDebug(Loggers.get("foo")); assertThat(profiler).isInstanceOf(DefaultProfiler.class); tester.setLevel(LoggerLevel.INFO); profiler = Profiler.createIfDebug(Loggers.get("foo")); assertThat(profiler).isInstanceOf(NullProfiler.class); } }
@Test public void debug_disabled() { tester.setLevel(LoggerLevel.INFO); assertThat(underTest.isDebugEnabled()).isFalse(); assertThat(underTest.isTraceEnabled()).isFalse(); underTest.debug("message"); underTest.debug("message {}", "foo"); underTest.debug("message {} {}", "foo", "bar"); underTest.debug("message {} {} {}", "foo", "bar", "baz"); verifyZeroInteractions(stream); }
@Test public void trace_logs() { logTester.setLevel(LoggerLevel.TRACE); ClearIndicesCacheRequestBuilder requestBuilder = es.client().prepareClearCache(); requestBuilder.get(); assertThat(logTester.logs()).hasSize(1); }
@Test public void login_failure_fails_with_NPE_if_AuthenticationException_is_null() { logTester.setLevel(LoggerLevel.INFO); expectedException.expect(NullPointerException.class); expectedException.expectMessage("AuthenticationException can't be null"); underTest.loginFailure(mock(HttpServletRequest.class), null); }
@Test public void login_fails_with_NPE_if_error_message_is_null() { logTester.setLevel(LoggerLevel.INFO); expectedException.expect(NullPointerException.class); expectedException.expectMessage("error message can't be null"); underTest.logoutFailure(mock(HttpServletRequest.class), null); }
@Test public void no_trace_logs() { logTester.setLevel(LoggerLevel.DEBUG); ClearIndicesCacheRequestBuilder requestBuilder = es.client().prepareClearCache(); requestBuilder.get(); assertThat(logTester.logs()).isEmpty(); }
@Test public void trace_logs() { logTester.setLevel(LoggerLevel.TRACE); RefreshRequestBuilder requestBuilder = es.client().prepareRefresh(FakeIndexDefinition.INDEX); requestBuilder.get(); assertThat(logTester.logs(LoggerLevel.TRACE)).hasSize(1); }
@Test public void stopTrace_adds_context_after_time_by_default() { tester.setLevel(LoggerLevel.TRACE); addSomeContext(underTest); underTest.start().stopTrace("Rules registered"); assertThat(tester.logs()).hasSize(1); assertThat(tester.logs(LoggerLevel.TRACE).get(0)) .startsWith("Rules registered | time=") .endsWith("ms | a_string=bar | an_int=42 | after_start=true"); }
@Test public void trace_logs() { logTester.setLevel(LoggerLevel.TRACE); CreateIndexRequestBuilder requestBuilder = es.client().prepareCreate(generateNewIndexName()); requestBuilder.get(); assertThat(logTester.logs()).hasSize(1); }
@Test public void stopTrace_adds_context_before_time_if_logTimeLast_is_true() { tester.setLevel(LoggerLevel.TRACE); addSomeContext(underTest); underTest.logTimeLast(true); underTest.start().stopTrace("Rules registered"); assertThat(tester.logs()).hasSize(1); assertThat(tester.logs(LoggerLevel.TRACE).get(0)) .startsWith("Rules registered | a_string=bar | an_int=42 | after_start=true | time=") .endsWith("ms"); }
@Test public void startTrace_writes_log_with_context_appended_when_there_is_a_message() { tester.setLevel(LoggerLevel.TRACE); addSomeContext(underTest); underTest.startTrace("Foo"); assertThat(tester.logs(LoggerLevel.TRACE)).containsOnly("Foo | a_string=bar | an_int=42 | after_start=true"); }
@Test public void trace_logs() { logTester.setLevel(LoggerLevel.TRACE); IndexResponse response = es.client().prepareIndex(FakeIndexDefinition.INDEX_TYPE_FAKE) .setSource(FakeIndexDefinition.newDoc(42).getFields()) .get(); assertThat(response.getResult()).isSameAs(Result.CREATED); assertThat(logTester.logs(LoggerLevel.TRACE)).hasSize(1); }
@Test public void trace_logs() { logTester.setLevel(LoggerLevel.TRACE); SearchResponse response = es.client().prepareSearch(FakeIndexDefinition.INDEX) .setScroll(TimeValue.timeValueMinutes(1)) .get(); logTester.clear(); es.client().prepareSearchScroll(response.getScrollId()).get(); assertThat(logTester.logs()).hasSize(1); }
@Test public void no_trace_logs() { logTester.setLevel(LoggerLevel.DEBUG); SearchResponse response = es.client().prepareSearch(FakeIndexDefinition.INDEX) .setScroll(TimeValue.timeValueMinutes(1)) .get(); logTester.clear(); es.client().prepareSearchScroll(response.getScrollId()).get(); assertThat(logTester.logs()).isEmpty(); }
@Test public void login_failure_fails_with_NPE_if_request_is_null() { logTester.setLevel(LoggerLevel.INFO); expectedException.expect(NullPointerException.class); expectedException.expectMessage("request can't be null"); underTest.loginFailure(null, newBuilder().setSource(Source.sso()).build()); }