|
15 | 15 | */
|
16 | 16 | package org.springframework.security.web.header.writers;
|
17 | 17 |
|
18 |
| -import java.util.Arrays; |
19 |
| - |
20 |
| -import org.junit.Before; |
21 | 18 | import org.junit.Test;
|
22 |
| - |
23 |
| -import org.springframework.mock.web.MockHttpServletRequest; |
24 |
| -import org.springframework.mock.web.MockHttpServletResponse; |
25 | 19 | import org.springframework.security.web.header.HeaderWriter;
|
26 | 20 |
|
27 |
| -import static org.assertj.core.api.Assertions.assertThat; |
| 21 | +import javax.servlet.http.HttpServletRequest; |
| 22 | +import javax.servlet.http.HttpServletResponse; |
| 23 | +import java.util.Arrays; |
| 24 | +import java.util.Collections; |
| 25 | + |
| 26 | +import static org.assertj.core.api.Assertions.assertThatCode; |
| 27 | +import static org.mockito.Mockito.mock; |
| 28 | +import static org.mockito.Mockito.verify; |
28 | 29 |
|
29 | 30 | /**
|
30 | 31 | * Tests for class {@link CompositeHeaderWriter}/.
|
|
33 | 34 | * @since 5.2
|
34 | 35 | */
|
35 | 36 | public class CompositeHeaderWriterTests {
|
36 |
| - private MockHttpServletRequest request; |
37 | 37 |
|
38 |
| - private MockHttpServletResponse response; |
39 |
| - |
40 |
| - private CompositeHeaderWriter writer; |
41 |
| - |
42 |
| - @Before |
43 |
| - public void setup() { |
44 |
| - this.request = new MockHttpServletRequest(); |
45 |
| - this.response = new MockHttpServletResponse(); |
46 |
| - HeaderWriter writerA = (request, response) -> { |
47 |
| - if (!response.containsHeader("A")) { |
48 |
| - response.setHeader("A", "a"); |
49 |
| - } |
50 |
| - }; |
51 |
| - |
52 |
| - HeaderWriter writerB = (request, response) -> { |
53 |
| - if (!response.containsHeader("B")) { |
54 |
| - response.setHeader("B", "b"); |
55 |
| - } |
56 |
| - }; |
57 |
| - this.writer = new CompositeHeaderWriter(Arrays.asList(writerA, writerB)); |
| 38 | + @Test |
| 39 | + public void writeHeadersWhenConfiguredWithDelegatesThenInvokesEach() { |
| 40 | + HttpServletRequest request = mock(HttpServletRequest.class); |
| 41 | + HttpServletResponse response = mock(HttpServletResponse.class); |
| 42 | + HeaderWriter one = mock(HeaderWriter.class); |
| 43 | + HeaderWriter two = mock(HeaderWriter.class); |
| 44 | + |
| 45 | + CompositeHeaderWriter headerWriter = new CompositeHeaderWriter( |
| 46 | + Arrays.asList(one, two)); |
| 47 | + |
| 48 | + headerWriter.writeHeaders(request, response); |
| 49 | + verify(one).writeHeaders(request, response); |
| 50 | + verify(two).writeHeaders(request, response); |
58 | 51 | }
|
59 | 52 |
|
60 |
| - |
61 | 53 | @Test
|
62 |
| - public void doCompositeHeaderWrite(){ |
63 |
| - this.writer.writeHeaders(request, response); |
64 |
| - assertThat(this.response.containsHeader("A")).isTrue(); |
65 |
| - assertThat(this.response.containsHeader("B")).isTrue(); |
66 |
| - assertThat(this.response.getHeader("A")).isEqualTo("a"); |
67 |
| - assertThat(this.response.getHeader("B")).isEqualTo("b"); |
| 54 | + public void constructorWhenPassingEmptyListThenThrowsException() { |
| 55 | + assertThatCode(() -> new CompositeHeaderWriter(Collections.emptyList())) |
| 56 | + .isInstanceOf(IllegalArgumentException.class); |
68 | 57 | }
|
69 | 58 | }
|
0 commit comments