Skip to content

Commit 13e964a

Browse files
committed
Add a test for #94...should fail on Travis.
1 parent 144412f commit 13e964a

File tree

2 files changed

+23
-0
lines changed

2 files changed

+23
-0
lines changed

src/test/java/org/jruby/ext/openssl/SecurityHelperTest.java

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,10 @@
1010
import java.security.KeyStoreException;
1111
import java.security.NoSuchAlgorithmException;
1212
import java.security.Provider;
13+
import java.security.Security;
1314
import java.security.Signature;
1415
import java.security.cert.CertificateException;
16+
import java.security.cert.CertificateFactory;
1517

1618
import org.junit.After;
1719
import org.junit.Before;
@@ -435,4 +437,25 @@ public void testGetKeyGeneratorThrows() throws Exception {
435437
}
436438
}
437439

440+
@Test
441+
public void testCertificateFactoryProviderStaysConstant() throws Exception {
442+
Provider[] registeredProviders = Security.getProviders();
443+
444+
try {
445+
// clear previous providers
446+
for (Provider provider : registeredProviders) Security.removeProvider(provider.getName());
447+
448+
CertificateFactory certFactory1 = SecurityHelper.getCertificateFactory("X.509");
449+
CertificateFactory certFactory2 = SecurityHelper.getCertificateFactory("X.509");
450+
451+
assertSame(certFactory1.getProvider(), certFactory2.getProvider());
452+
} finally {
453+
// clear any added by the test
454+
for (Provider provider : Security.getProviders()) Security.removeProvider(provider.getName());
455+
456+
// restore previous providers
457+
for (Provider provider : registeredProviders) Security.addProvider(provider);
458+
}
459+
}
460+
438461
}

src/test/ruby/test_security_helper.rb

Whitespace-only changes.

0 commit comments

Comments
 (0)