Repository: commons-crypto Updated Branches: refs/heads/master 3cd056451 -> f39d7406b
Additional instantiation tests Project: http://git-wip-us.apache.org/repos/asf/commons-crypto/repo Commit: http://git-wip-us.apache.org/repos/asf/commons-crypto/commit/f39d7406 Tree: http://git-wip-us.apache.org/repos/asf/commons-crypto/tree/f39d7406 Diff: http://git-wip-us.apache.org/repos/asf/commons-crypto/diff/f39d7406 Branch: refs/heads/master Commit: f39d7406b2325ad117a9ba7948b40223396264a0 Parents: 3cd0564 Author: Sebb <[email protected]> Authored: Tue Jul 5 17:28:53 2016 +0100 Committer: Sebb <[email protected]> Committed: Tue Jul 5 17:28:53 2016 +0100 ---------------------------------------------------------------------- .../commons/crypto/random/AbstractRandom.java | 6 +++++ .../crypto/random/CryptoRandomFactoryTest.java | 27 ++++++++++++++++++++ .../commons/crypto/random/DummyRandom.java | 5 ++++ 3 files changed, 38 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/commons-crypto/blob/f39d7406/src/test/java/org/apache/commons/crypto/random/AbstractRandom.java ---------------------------------------------------------------------- diff --git a/src/test/java/org/apache/commons/crypto/random/AbstractRandom.java b/src/test/java/org/apache/commons/crypto/random/AbstractRandom.java index 97d8c75..e2581be 100644 --- a/src/test/java/org/apache/commons/crypto/random/AbstractRandom.java +++ b/src/test/java/org/apache/commons/crypto/random/AbstractRandom.java @@ -17,9 +17,15 @@ */ package org.apache.commons.crypto.random; +import java.util.Properties; + /** * For testing class creation */ abstract class AbstractRandom implements CryptoRandom { + // Should fail to instantiate, as it is an abstract class + AbstractRandom(Properties props) { + + } } http://git-wip-us.apache.org/repos/asf/commons-crypto/blob/f39d7406/src/test/java/org/apache/commons/crypto/random/CryptoRandomFactoryTest.java ---------------------------------------------------------------------- diff --git a/src/test/java/org/apache/commons/crypto/random/CryptoRandomFactoryTest.java b/src/test/java/org/apache/commons/crypto/random/CryptoRandomFactoryTest.java index c0654da..662c147 100644 --- a/src/test/java/org/apache/commons/crypto/random/CryptoRandomFactoryTest.java +++ b/src/test/java/org/apache/commons/crypto/random/CryptoRandomFactoryTest.java @@ -79,4 +79,31 @@ public class CryptoRandomFactoryTest { CryptoRandomFactory.getCryptoRandom(properties); } + @Test + public void testAbstractRandom() { + Properties props = new Properties(); + props.setProperty(CryptoRandomFactory.CLASSES_KEY, AbstractRandom.class.getName()); + try { + CryptoRandomFactory.getCryptoRandom(props); + Assert.fail("Expected GeneralSecurityException"); + } catch (GeneralSecurityException e) { + final String message = e.getMessage(); + Assert.assertTrue(message, message.contains("InstantiationException")); + } + + } + + @Test + public void testDummmyRandom() throws GeneralSecurityException { + Properties props = new Properties(); + props.setProperty(CryptoRandomFactory.CLASSES_KEY, DummyRandom.class.getName()); + try { + CryptoRandomFactory.getCryptoRandom(props); + Assert.fail("Expected GeneralSecurityException"); + } catch (GeneralSecurityException e) { + final String message = e.getMessage(); + Assert.assertTrue(message, message.contains("NoSuchMethodException")); + } + } + } http://git-wip-us.apache.org/repos/asf/commons-crypto/blob/f39d7406/src/test/java/org/apache/commons/crypto/random/DummyRandom.java ---------------------------------------------------------------------- diff --git a/src/test/java/org/apache/commons/crypto/random/DummyRandom.java b/src/test/java/org/apache/commons/crypto/random/DummyRandom.java index 551ab36..258f65d 100644 --- a/src/test/java/org/apache/commons/crypto/random/DummyRandom.java +++ b/src/test/java/org/apache/commons/crypto/random/DummyRandom.java @@ -21,6 +21,11 @@ import java.io.IOException; class DummyRandom implements CryptoRandom { + // Should fail with NoSuchMethodException + DummyRandom() { + + } + @Override public void close() throws IOException { }
