|
32 | 32 | class BeforeFilterFunctionsTests {
|
33 | 33 |
|
34 | 34 | @Test
|
35 |
| - void rewriteRequestParameter() { |
36 |
| - MockHttpServletRequest servletRequest = MockMvcRequestBuilders.get("http://localhost/path") |
37 |
| - .param("foo", "bar") |
38 |
| - .param("baz", "qux") |
| 35 | + void setPath() { |
| 36 | + MockHttpServletRequest servletRequest = MockMvcRequestBuilders.get("http://localhost/legacy/path") |
39 | 37 | .buildRequest(null);
|
40 | 38 |
|
41 | 39 | ServerRequest request = ServerRequest.create(servletRequest, Collections.emptyList());
|
42 | 40 |
|
43 |
| - ServerRequest result = BeforeFilterFunctions.rewriteRequestParameter("foo", "replacement").apply(request); |
| 41 | + ServerRequest result = BeforeFilterFunctions.setPath("/new/path").apply(request); |
44 | 42 |
|
45 |
| - assertThat(result.param("foo")).isPresent().hasValue("replacement"); |
46 |
| - assertThat(result.uri().toString()).hasToString("http://localhost/path?baz=qux&foo=replacement"); |
| 43 | + assertThat(result.uri().toString()).hasToString("http://localhost/new/path"); |
47 | 44 | }
|
48 | 45 |
|
49 | 46 | @Test
|
50 |
| - void rewriteOnlyFirstRequestParameter() { |
51 |
| - MockHttpServletRequest servletRequest = MockMvcRequestBuilders.get("http://localhost/path") |
52 |
| - .param("foo", "bar_1") |
53 |
| - .param("foo", "bar_2") |
54 |
| - .param("foo", "bar_3") |
55 |
| - .param("baz", "qux") |
| 47 | + void setEncodedPath() { |
| 48 | + MockHttpServletRequest servletRequest = MockMvcRequestBuilders.get("http://localhost/legacy/path") |
56 | 49 | .buildRequest(null);
|
57 | 50 |
|
58 | 51 | ServerRequest request = ServerRequest.create(servletRequest, Collections.emptyList());
|
59 | 52 |
|
60 |
| - ServerRequest result = BeforeFilterFunctions.rewriteRequestParameter("foo", "replacement").apply(request); |
| 53 | + ServerRequest result = BeforeFilterFunctions.setPath("/new/é").apply(request); |
61 | 54 |
|
62 |
| - assertThat(result.param("foo")).isPresent().hasValue("replacement"); |
63 |
| - assertThat(result.uri().toString()).hasToString("http://localhost/path?baz=qux&foo=replacement"); |
| 55 | + assertThat(result.uri().toString()).hasToString("http://localhost/new/%C3%A9"); |
64 | 56 | }
|
65 | 57 |
|
66 | 58 | @Test
|
67 |
| - void rewriteEncodedRequestParameter() { |
68 |
| - MockHttpServletRequest servletRequest = MockMvcRequestBuilders.get("http://localhost/path") |
69 |
| - .param("foo[]", "bar") |
70 |
| - .param("baz", "qux") |
| 59 | + void setPathWithParameters() { |
| 60 | + MockHttpServletRequest servletRequest = MockMvcRequestBuilders.get("http://localhost/legacy/path") |
| 61 | + .queryParam("foo", "bar") |
71 | 62 | .buildRequest(null);
|
72 | 63 |
|
73 | 64 | ServerRequest request = ServerRequest.create(servletRequest, Collections.emptyList());
|
74 | 65 |
|
75 |
| - ServerRequest result = BeforeFilterFunctions.rewriteRequestParameter("foo[]", "replacement[]").apply(request); |
| 66 | + ServerRequest result = BeforeFilterFunctions.setPath("/new/path").apply(request); |
76 | 67 |
|
77 |
| - assertThat(result.param("foo[]")).isPresent().hasValue("replacement[]"); |
78 |
| - assertThat(result.uri().toString()).hasToString("http://localhost/path?baz=qux&foo%5B%5D=replacement%5B%5D"); |
| 68 | + assertThat(result.uri().toString()).hasToString("http://localhost/new/path?foo=bar"); |
79 | 69 | }
|
80 | 70 |
|
81 | 71 | @Test
|
82 |
| - void rewriteRequestParameterWithEncodedRemainParameters() { |
83 |
| - MockHttpServletRequest servletRequest = MockMvcRequestBuilders.get("http://localhost/path") |
84 |
| - .param("foo", "bar") |
85 |
| - .param("baz[]", "qux[]") |
| 72 | + void setPathWithEncodedParameters() { |
| 73 | + MockHttpServletRequest servletRequest = MockMvcRequestBuilders.get("http://localhost/legacy/path") |
| 74 | + .queryParam("foo[]", "bar[]") |
86 | 75 | .buildRequest(null);
|
87 | 76 |
|
88 | 77 | ServerRequest request = ServerRequest.create(servletRequest, Collections.emptyList());
|
89 | 78 |
|
90 |
| - ServerRequest result = BeforeFilterFunctions.rewriteRequestParameter("foo", "replacement").apply(request); |
| 79 | + ServerRequest result = BeforeFilterFunctions.setPath("/new/path").apply(request); |
91 | 80 |
|
92 |
| - assertThat(result.param("foo")).isPresent().hasValue("replacement"); |
93 |
| - assertThat(result.uri().toString()).hasToString("http://localhost/path?baz%5B%5D=qux%5B%5D&foo=replacement"); |
| 81 | + assertThat(result.uri().toString()).hasToString("http://localhost/new/path?foo%5B%5D=bar%5B%5D"); |
94 | 82 | }
|
95 | 83 |
|
96 | 84 | @Test
|
97 |
| - void rewriteRequestParameterWithEncodedPath() { |
98 |
| - MockHttpServletRequest servletRequest = MockMvcRequestBuilders.get("http://localhost/path/é/last") |
99 |
| - .param("foo", "bar") |
| 85 | + void removeRequestParameter() { |
| 86 | + MockHttpServletRequest servletRequest = MockMvcRequestBuilders.get("http://localhost/path") |
| 87 | + .queryParam("foo", "bar") |
| 88 | + .queryParam("baz", "qux") |
100 | 89 | .buildRequest(null);
|
101 | 90 |
|
102 | 91 | ServerRequest request = ServerRequest.create(servletRequest, Collections.emptyList());
|
103 | 92 |
|
104 |
| - ServerRequest result = BeforeFilterFunctions.rewriteRequestParameter("foo", "replacement").apply(request); |
| 93 | + ServerRequest result = BeforeFilterFunctions.removeRequestParameter("foo").apply(request); |
105 | 94 |
|
106 |
| - assertThat(result.param("foo")).isPresent().hasValue("replacement"); |
107 |
| - assertThat(result.uri().toString()).hasToString("http://localhost/path/%C3%A9/last?foo=replacement"); |
| 95 | + assertThat(result.param("foo")).isEmpty(); |
| 96 | + assertThat(result.param("baz")).isPresent().hasValue("qux"); |
| 97 | + assertThat(result.uri().toString()).hasToString("http://localhost/path?baz=qux"); |
108 | 98 | }
|
109 | 99 |
|
110 | 100 | @Test
|
111 |
| - void setPath() { |
112 |
| - MockHttpServletRequest servletRequest = MockMvcRequestBuilders.get("http://localhost/legacy/path") |
113 |
| - .buildRequest(null); |
114 |
| - |
115 |
| - ServerRequest request = ServerRequest.create(servletRequest, Collections.emptyList()); |
116 |
| - |
117 |
| - ServerRequest result = BeforeFilterFunctions.setPath("/new/path").apply(request); |
118 |
| - |
119 |
| - assertThat(result.uri().toString()).isEqualTo("http://localhost/new/path"); |
120 |
| - } |
121 |
| - |
122 |
| - @Test |
123 |
| - void setEncodedPath() { |
124 |
| - MockHttpServletRequest servletRequest = MockMvcRequestBuilders.get("http://localhost/legacy/path") |
125 |
| - .buildRequest(null); |
| 101 | + void removeEncodedRequestParameter() { |
| 102 | + MockHttpServletRequest servletRequest = MockMvcRequestBuilders.get("http://localhost/path") |
| 103 | + .queryParam("foo[]", "bar") |
| 104 | + .queryParam("baz", "qux") |
| 105 | + .buildRequest(null); |
126 | 106 |
|
127 | 107 | ServerRequest request = ServerRequest.create(servletRequest, Collections.emptyList());
|
128 | 108 |
|
129 |
| - ServerRequest result = BeforeFilterFunctions.setPath("/new/é").apply(request); |
| 109 | + ServerRequest result = BeforeFilterFunctions.removeRequestParameter("foo[]").apply(request); |
130 | 110 |
|
131 |
| - assertThat(result.uri().toString()).isEqualTo("http://localhost/new/%C3%A9"); |
| 111 | + assertThat(result.param("foo[]")).isEmpty(); |
| 112 | + assertThat(result.param("baz")).isPresent().hasValue("qux"); |
| 113 | + assertThat(result.uri().toString()).hasToString("http://localhost/path?baz=qux"); |
132 | 114 | }
|
133 | 115 |
|
134 | 116 | @Test
|
135 |
| - void setPathWithParameters() { |
136 |
| - MockHttpServletRequest servletRequest = MockMvcRequestBuilders.get("http://localhost/legacy/path") |
137 |
| - .queryParam("foo", "bar") |
138 |
| - .buildRequest(null); |
| 117 | + void removeRequestParameterWithEncodedRemainParameters() { |
| 118 | + MockHttpServletRequest servletRequest = MockMvcRequestBuilders.get("http://localhost/path") |
| 119 | + .queryParam("foo", "bar") |
| 120 | + .queryParam("baz[]", "qux[]") |
| 121 | + .buildRequest(null); |
139 | 122 |
|
140 | 123 | ServerRequest request = ServerRequest.create(servletRequest, Collections.emptyList());
|
141 | 124 |
|
142 |
| - ServerRequest result = BeforeFilterFunctions.setPath("/new/path").apply(request); |
| 125 | + ServerRequest result = BeforeFilterFunctions.removeRequestParameter("foo").apply(request); |
143 | 126 |
|
144 |
| - assertThat(result.uri().toString()).isEqualTo("http://localhost/new/path?foo=bar"); |
| 127 | + assertThat(result.param("foo")).isEmpty(); |
| 128 | + assertThat(result.param("baz[]")).isPresent().hasValue("qux[]"); |
| 129 | + assertThat(result.uri().toString()).hasToString("http://localhost/path?baz%5B%5D=qux%5B%5D"); |
145 | 130 | }
|
146 | 131 |
|
147 | 132 | @Test
|
148 |
| - void setPathWithEncodedParameters() { |
149 |
| - MockHttpServletRequest servletRequest = MockMvcRequestBuilders.get("http://localhost/legacy/path") |
150 |
| - .queryParam("foo[]", "bar[]") |
151 |
| - .buildRequest(null); |
| 133 | + void removeRequestParameterWithEncodedPath() { |
| 134 | + MockHttpServletRequest servletRequest = MockMvcRequestBuilders.get("http://localhost/é") |
| 135 | + .queryParam("foo", "bar") |
| 136 | + .buildRequest(null); |
152 | 137 |
|
153 | 138 | ServerRequest request = ServerRequest.create(servletRequest, Collections.emptyList());
|
154 | 139 |
|
155 |
| - ServerRequest result = BeforeFilterFunctions.setPath("/new/path").apply(request); |
| 140 | + ServerRequest result = BeforeFilterFunctions.removeRequestParameter("foo").apply(request); |
156 | 141 |
|
157 |
| - assertThat(result.uri().toString()).isEqualTo("http://localhost/new/path?foo%5B%5D=bar%5B%5D"); |
| 142 | + assertThat(result.param("foo")).isEmpty(); |
| 143 | + assertThat(result.uri().toString()).hasToString("http://localhost/%C3%A9"); |
158 | 144 | }
|
159 | 145 |
|
160 | 146 | @Test
|
161 | 147 | void stripPrefix() {
|
162 | 148 | MockHttpServletRequest servletRequest = MockMvcRequestBuilders.get("http://localhost/depth1/depth2/depth3")
|
163 |
| - .buildRequest(null); |
| 149 | + .buildRequest(null); |
164 | 150 |
|
165 | 151 | ServerRequest request = ServerRequest.create(servletRequest, Collections.emptyList());
|
166 | 152 |
|
167 | 153 | ServerRequest result = BeforeFilterFunctions.stripPrefix(2).apply(request);
|
168 | 154 |
|
169 |
| - assertThat(result.uri().toString()).isEqualTo("http://localhost/depth3"); |
| 155 | + assertThat(result.uri().toString()).hasToString("http://localhost/depth3"); |
170 | 156 | }
|
171 | 157 |
|
172 | 158 | @Test
|
173 | 159 | void stripPrefixWithEncodedPath() {
|
174 | 160 | MockHttpServletRequest servletRequest = MockMvcRequestBuilders.get("http://localhost/depth1/depth2/depth3/é")
|
175 |
| - .buildRequest(null); |
| 161 | + .buildRequest(null); |
176 | 162 |
|
177 | 163 | ServerRequest request = ServerRequest.create(servletRequest, Collections.emptyList());
|
178 | 164 |
|
179 | 165 | ServerRequest result = BeforeFilterFunctions.stripPrefix(2).apply(request);
|
180 | 166 |
|
181 |
| - assertThat(result.uri().toString()).isEqualTo("http://localhost/depth3/%C3%A9"); |
| 167 | + assertThat(result.uri().toString()).hasToString("http://localhost/depth3/%C3%A9"); |
182 | 168 | }
|
183 | 169 |
|
184 | 170 | @Test
|
185 | 171 | void stripPrefixWithEncodedParameters() {
|
186 | 172 | MockHttpServletRequest servletRequest = MockMvcRequestBuilders.get("http://localhost/depth1/depth2/depth3")
|
187 |
| - .queryParam("baz[]", "qux[]") |
188 |
| - .buildRequest(null); |
| 173 | + .queryParam("baz[]", "qux[]") |
| 174 | + .buildRequest(null); |
189 | 175 |
|
190 | 176 | ServerRequest request = ServerRequest.create(servletRequest, Collections.emptyList());
|
191 | 177 |
|
192 | 178 | ServerRequest result = BeforeFilterFunctions.stripPrefix(2).apply(request);
|
193 | 179 |
|
194 | 180 | assertThat(result.param("baz[]")).isPresent().hasValue("qux[]");
|
195 |
| - assertThat(result.uri().toString()).isEqualTo("http://localhost/depth3?baz%5B%5D=qux%5B%5D"); |
| 181 | + assertThat(result.uri().toString()).hasToString("http://localhost/depth3?baz%5B%5D=qux%5B%5D"); |
196 | 182 | }
|
197 | 183 |
|
198 | 184 | }
|
0 commit comments