1
2
3
4
5
6
7
8
9
10
11 package psiprobe.controllers.certificates;
12
13 import static org.assertj.core.api.Assertions.assertThat;
14
15 import com.codebox.bean.JavaBeanTester;
16
17 import jakarta.inject.Inject;
18
19 import java.io.File;
20 import java.util.List;
21
22 import org.junit.jupiter.api.Test;
23 import org.junit.jupiter.api.extension.ExtendWith;
24 import org.springframework.test.context.ContextConfiguration;
25 import org.springframework.test.context.junit.jupiter.SpringExtension;
26 import org.springframework.test.context.web.WebAppConfiguration;
27 import org.springframework.web.context.WebApplicationContext;
28
29 import psiprobe.ProbeInitializer;
30 import psiprobe.model.certificates.Cert;
31
32
33
34
35 @ExtendWith(SpringExtension.class)
36 @ContextConfiguration(classes = ProbeInitializer.class)
37 @WebAppConfiguration
38 class ListCertificatesControllerTest {
39
40
41 @Inject
42 private WebApplicationContext ctx;
43
44
45
46
47 @Test
48 void javabeanTester() {
49 JavaBeanTester.builder(ListCertificatesController.class)
50 .skip("applicationContext", "supportedMethods").test();
51 }
52
53
54
55
56
57
58 @Test
59 void certificatesTest() throws Exception {
60 ListCertificatesController controller = new ListCertificatesController();
61
62 String storeType = "jks";
63 File storeFile = ctx.getResource("classpath:certs/localhost-truststore.jks").getFile();
64 String storePassword = "123456";
65
66 List<Cert> certs = controller.getCertificates(storeType, storeFile.toString(), storePassword);
67
68 assertThat(certs).doesNotContainNull().hasSize(2);
69 assertThat(certs.get(0).getAlias()).isEqualTo("*.google.com");
70 assertThat(certs.get(1).getAlias()).isEqualTo("google_g2_2017");
71 }
72
73
74
75
76
77
78 @Test
79 void certificatesRelativeTest() throws Exception {
80 ListCertificatesController controller = new ListCertificatesController();
81
82 String storeType = "jks";
83 File certFolder = ctx.getResource("classpath:certs").getFile();
84 System.setProperty("catalina.base", certFolder.getPath());
85
86 String storePassword = "123456";
87
88 List<Cert> certs =
89 controller.getCertificates(storeType, "localhost-truststore.jks", storePassword);
90
91 assertThat(certs).doesNotContainNull().hasSize(2);
92 assertThat(certs.get(0).getAlias()).isEqualTo("*.google.com");
93 assertThat(certs.get(1).getAlias()).isEqualTo("google_g2_2017");
94 }
95
96
97
98
99
100
101 @Test
102 void certificatesRelativeUriTest() throws Exception {
103 ListCertificatesController controller = new ListCertificatesController();
104
105 String storeType = "jks";
106 File storeFile = ctx.getResource("classpath:certs/localhost-truststore.jks").getFile();
107 File certFolder = ctx.getResource("classpath:certs").getFile();
108 System.setProperty("catalina.base", certFolder.getPath());
109
110 String storePassword = "123456";
111
112 List<Cert> certs = controller.getCertificates(storeType, storeFile.getPath(), storePassword);
113
114 assertThat(certs).doesNotContainNull().hasSize(2);
115 assertThat(certs.get(0).getAlias()).isEqualTo("*.google.com");
116 assertThat(certs.get(1).getAlias()).isEqualTo("google_g2_2017");
117 }
118
119
120
121
122
123
124 @Test
125 void certificatesAbsoluteUriTest() throws Exception {
126 ListCertificatesController controller = new ListCertificatesController();
127
128 String storeType = "jks";
129 File certFolder = ctx.getResource("classpath:certs").getFile();
130 System.setProperty("catalina.base", certFolder.getPath());
131
132 String storePassword = "123456";
133
134 List<Cert> certs =
135 controller.getCertificates(storeType, "./localhost-truststore.jks", storePassword);
136
137 assertThat(certs).doesNotContainNull().hasSize(2);
138 assertThat(certs.get(0).getAlias()).isEqualTo("*.google.com");
139 assertThat(certs.get(1).getAlias()).isEqualTo("google_g2_2017");
140 }
141
142 }