@Override @SuppressWarnings("RedundantThrows") public void init(FilterConfig filterConfig) throws ServletException { this.userIdHeaderKeysFromInitParam = initializeUserIdHeaderKeys(filterConfig); this.tagAndNamingStrategy = initializeTagAndNamingStrategy(filterConfig); this.tagAndNamingAdapter = initializeTagAndNamingAdapter(filterConfig); }
@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); }
@Test @UseDataProvider("userIdHeaderKeysInitParamDataProvider") public void initializeUserIdHeaderKeys_gets_user_id_header_key_list_from_init_params( String userIdHeaderKeysInitParamValue, List<String> expectedUserIdHeaderKeysList ) { // given RequestTracingFilter filter = new RequestTracingFilter(); doReturn(userIdHeaderKeysInitParamValue) .when(filterConfigMock) .getInitParameter(RequestTracingFilter.USER_ID_HEADER_KEYS_LIST_INIT_PARAM_NAME); // when List<String> actualUserIdHeaderKeysList = filter.initializeUserIdHeaderKeys(filterConfigMock); // then assertThat(actualUserIdHeaderKeysList).isEqualTo(expectedUserIdHeaderKeysList); if (actualUserIdHeaderKeysList != null) { Exception caughtEx = null; try { actualUserIdHeaderKeysList.add("foo"); } catch (Exception ex) { caughtEx = ex; } assertThat(caughtEx).isNotNull(); assertThat(caughtEx).isInstanceOf(UnsupportedOperationException.class); } }