private RequestTracingFilter getBasicFilter() { RequestTracingFilter filter = new RequestTracingFilter(); try { filter.init(filterConfigMock); filter.tagAndNamingStrategy = tagAndNamingStrategy; filter.tagAndNamingAdapter = tagAndNamingAdapterMock; } catch (ServletException e) { throw new RuntimeException(e); } return filter; }
@Test public void init_method_delegates_to_helpers_to_initialize_fields() throws ServletException { // given RequestTracingFilter filterSpy = spy(new RequestTracingFilter()); List<String> expectedUserIdHeaderKeys = Arrays.asList(UUID.randomUUID().toString(), UUID.randomUUID().toString()); doReturn(expectedUserIdHeaderKeys).when(filterSpy).initializeUserIdHeaderKeys(any(FilterConfig.class)); doReturn(tagAndNamingStrategy).when(filterSpy).initializeTagAndNamingStrategy(any(FilterConfig.class)); doReturn(tagAndNamingAdapterMock).when(filterSpy).initializeTagAndNamingAdapter(any(FilterConfig.class)); // when filterSpy.init(filterConfigMock); // then assertThat(filterSpy.userIdHeaderKeysFromInitParam).isSameAs(expectedUserIdHeaderKeys); assertThat(filterSpy.tagAndNamingStrategy).isSameAs(tagAndNamingStrategy); assertThat(filterSpy.tagAndNamingAdapter).isSameAs(tagAndNamingAdapterMock); verify(filterSpy).init(filterConfigMock); verify(filterSpy).initializeUserIdHeaderKeys(filterConfigMock); verify(filterSpy).initializeTagAndNamingStrategy(filterConfigMock); verify(filterSpy).initializeTagAndNamingAdapter(filterConfigMock); verifyNoMoreInteractions(filterSpy); }