29
29
30
30
import java .io .ByteArrayInputStream ;
31
31
import java .io .InputStream ;
32
+ import java .security .Principal ;
32
33
import java .security .cert .CertificateFactory ;
33
34
import java .security .cert .X509Certificate ;
34
35
import java .util .Arrays ;
37
38
38
39
import org .junit .Assert ;
39
40
import org .junit .Test ;
41
+ import org .mockito .Mockito ;
40
42
41
43
/**
42
44
* Unit tests for {@link X509HostnameVerifier}.
@@ -336,7 +338,7 @@ private void checkWildcard(String host, boolean isOK) {
336
338
337
339
@ Test
338
340
// Various checks of 2TLDs
339
- public void testacceptableCountryWildcards () {
341
+ public void testAcceptableCountryWildcards () {
340
342
checkWildcard ("*.co.org" , true ); // Not a 2 character TLD
341
343
checkWildcard ("s*.co.org" , true ); // Not a 2 character TLD
342
344
checkWildcard ("*.co.uk" , false ); // 2 character TLD, invalid 2TLD
@@ -345,4 +347,17 @@ public void testacceptableCountryWildcards() {
345
347
checkWildcard ("*.a.co.uk" , true ); // 2 character TLD, invalid 2TLD, but using subdomain
346
348
checkWildcard ("s*.a.co.uk" , true ); // 2 character TLD, invalid 2TLD, but using subdomain
347
349
}
350
+
351
+ public void testGetCNs () {
352
+ Principal principal = Mockito .mock (Principal .class );
353
+ X509Certificate cert = Mockito .mock (X509Certificate .class );
354
+ Mockito .when (cert .getSubjectDN ()).thenReturn (principal );
355
+ Mockito .when (principal .toString ()).thenReturn ("bla, bla, blah" );
356
+ Assert .assertArrayEquals (new String [] {}, AbstractVerifier .getCNs (cert ));
357
+ Mockito .when (principal .toString ()).thenReturn ("Cn=, Cn= , CN, OU=CN=" );
358
+ Assert .assertArrayEquals (new String [] {}, AbstractVerifier .getCNs (cert ));
359
+ Mockito .when (principal .toString ()).thenReturn (" Cn=blah, CN= blah , OU=CN=yada" );
360
+ Assert .assertArrayEquals (new String [] {"blah" , " blah" }, AbstractVerifier .getCNs (cert ));
361
+ }
362
+
348
363
}
0 commit comments