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 {
     }

Reply via email to