1
+ /*
2
+ *
3
+ * * Copyright 2019-2020 the original author or authors.
4
+ * *
5
+ * * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * * you may not use this file except in compliance with the License.
7
+ * * You may obtain a copy of the License at
8
+ * *
9
+ * * https://www.apache.org/licenses/LICENSE-2.0
10
+ * *
11
+ * * Unless required by applicable law or agreed to in writing, software
12
+ * * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * * See the License for the specific language governing permissions and
15
+ * * limitations under the License.
16
+ *
17
+ */
18
+
19
+ package test .org .springdoc .ui .app1 ;
20
+
21
+ import org .junit .jupiter .api .Test ;
22
+ import org .springframework .boot .autoconfigure .SpringBootApplication ;
23
+ import test .org .springdoc .ui .AbstractSpringDocTest ;
24
+
25
+ import static org .springframework .test .web .servlet .request .MockMvcRequestBuilders .get ;
26
+ import static org .springframework .test .web .servlet .result .MockMvcResultMatchers .header ;
27
+ import static org .springframework .test .web .servlet .result .MockMvcResultMatchers .status ;
28
+
29
+ public class SpringDocRedirectOriginalQueryParamsTest extends AbstractSpringDocTest {
30
+
31
+ @ Test
32
+ public void shouldRedirectWithOriginalQueryParams () throws Exception {
33
+ mockMvc .perform (get ("/swagger-ui.html" ).queryParam ("paramA" , "123" ).queryParam ("paramB" , "e n c o d e d ! % &" ))
34
+ .andExpect (status ().isFound ())
35
+ .andExpect (header ().string ("Location" ,
36
+ "/swagger-ui/index.html?configUrl=/v3/api-docs/swagger-config¶mA=123¶mB=e%20n%20c%20o%20d%20e%20d%20!%20%25%20%26" ));
37
+ }
38
+
39
+ @ Test
40
+ public void shouldRedirectWithOriginalQueryParamsHavingMultipleValues () throws Exception {
41
+ mockMvc .perform (get ("/swagger-ui.html" ).queryParam ("paramA" , "1" , "2" , "3" ))
42
+ .andExpect (status ().isFound ())
43
+ .andExpect (header ().string ("Location" ,
44
+ "/swagger-ui/index.html?configUrl=/v3/api-docs/swagger-config¶mA=1¶mA=2¶mA=3" ));
45
+ }
46
+
47
+ @ SpringBootApplication
48
+ static class SpringDocTestApp {
49
+ }
50
+
51
+ }
0 commit comments