diff --git a/.gitignore b/.gitignore
index 1468717..9e820a8 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,6 +2,7 @@
/build/
/bin/
target/
+.idea/
# OS Files #
.DS_Store
diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 0000000..89e1483
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,4 @@
+language: java
+env:
+ global:
+ secure: CIrYJdxxXbyfAiaTY7Xyy13xRKiQIyhxYoKvH3oWpSes1SAUoaHER7fHokVcydquYxRtrtke7OgCGQZ6lAsE8qo/XOVc2bpZh0aZSpj5IrTF2foN5BL+AbXDiqT12+HRrIxT6kpIdhJfkX1GQKNu6TaKqUQBvf7ufSKbvkQmi/jtTNr0By6l5azDEWH5Yr3YYdV5q6a3Hf72Ueb4kEDkVNp1xdGYOMFWGKSE6XvPAwE6LjUIso2/zNK1Va/YYhhm839o6ctbFRSKIJdbSIMpLUYIZiSy+mTZn2bqFmjBXTMNzJmXCC1g4J+NLPnM2aLfsAuwyUofkOPhLQpG5N6luKCUETo5DuJlckV+xsuMo4g1jq3O2s0tnx459Yc8vBbrTw+EL+cIqDLMOqP7U1WBxc4swpveZ4E8vPtkI7/i+wtl7Z3nCad6ea9FNvVP2uE7aHhj+i91ORtWZx2D2M/v08jtrfRtGZvCL3E5csn4+RHxKiA3dEtLRH0OJ7yZJD6CGj9voUcFUwnWxJ82pIK0nrv/nyf9VXo9j+rhQ72zGBZvU95ylIQriNJP54iD/nKhj/woTl6Nx6Q91EZ8QSfeAxm6dIkcgyNa6m/v5HmWvmXx7nLE0EHZuiUcxKmdhy+xU5SBLx+ZNXLdlB03NIcgBLZutNbmzVGYyhHO0pHWoPI=
diff --git a/.whitesource b/.whitesource
new file mode 100644
index 0000000..f056952
--- /dev/null
+++ b/.whitesource
@@ -0,0 +1,8 @@
+{
+ "generalSettings": {
+ "shouldScanRepo": true
+ },
+ "checkRunSettings": {
+ "vulnerableCheckRunConclusionLevel": "failure"
+ }
+}
\ No newline at end of file
diff --git a/RandomJSONRPC/.gitignore b/RandomJSONRPC/.gitignore
deleted file mode 100644
index 5e56e04..0000000
--- a/RandomJSONRPC/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/bin
diff --git a/pom.xml b/pom.xml
new file mode 100644
index 0000000..4f01d79
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,42 @@
+
+
+ 4.0.0
+
+ org.random
+ json-rpc
+ 1.0-SNAPSHOT
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+
+ 6
+ 6
+
+
+
+
+
+
+
+ com.google.code.gson
+ gson
+ 2.8.5
+
+
+ commons-codec
+ commons-codec
+ 1.6
+
+
+ junit
+ junit
+ 4.12
+ test
+
+
+
+
\ No newline at end of file
diff --git a/RandomJSONRPC/src/org/random/api/JsonObjectInputCallable.java b/src/main/java/org/random/api/JsonObjectInputCallable.java
similarity index 100%
rename from RandomJSONRPC/src/org/random/api/JsonObjectInputCallable.java
rename to src/main/java/org/random/api/JsonObjectInputCallable.java
diff --git a/RandomJSONRPC/src/org/random/api/RandomOrgCache.java b/src/main/java/org/random/api/RandomOrgCache.java
similarity index 100%
rename from RandomJSONRPC/src/org/random/api/RandomOrgCache.java
rename to src/main/java/org/random/api/RandomOrgCache.java
diff --git a/RandomJSONRPC/src/org/random/api/RandomOrgClient.java b/src/main/java/org/random/api/RandomOrgClient.java
similarity index 100%
rename from RandomJSONRPC/src/org/random/api/RandomOrgClient.java
rename to src/main/java/org/random/api/RandomOrgClient.java
diff --git a/RandomJSONRPC/src/org/random/api/exception/RandomOrgBadHTTPResponseException.java b/src/main/java/org/random/api/exception/RandomOrgBadHTTPResponseException.java
similarity index 100%
rename from RandomJSONRPC/src/org/random/api/exception/RandomOrgBadHTTPResponseException.java
rename to src/main/java/org/random/api/exception/RandomOrgBadHTTPResponseException.java
diff --git a/RandomJSONRPC/src/org/random/api/exception/RandomOrgInsufficientBitsError.java b/src/main/java/org/random/api/exception/RandomOrgInsufficientBitsError.java
similarity index 100%
rename from RandomJSONRPC/src/org/random/api/exception/RandomOrgInsufficientBitsError.java
rename to src/main/java/org/random/api/exception/RandomOrgInsufficientBitsError.java
diff --git a/RandomJSONRPC/src/org/random/api/exception/RandomOrgInsufficientRequestsError.java b/src/main/java/org/random/api/exception/RandomOrgInsufficientRequestsError.java
similarity index 100%
rename from RandomJSONRPC/src/org/random/api/exception/RandomOrgInsufficientRequestsError.java
rename to src/main/java/org/random/api/exception/RandomOrgInsufficientRequestsError.java
diff --git a/RandomJSONRPC/src/org/random/api/exception/RandomOrgJSONRPCError.java b/src/main/java/org/random/api/exception/RandomOrgJSONRPCError.java
similarity index 100%
rename from RandomJSONRPC/src/org/random/api/exception/RandomOrgJSONRPCError.java
rename to src/main/java/org/random/api/exception/RandomOrgJSONRPCError.java
diff --git a/RandomJSONRPC/src/org/random/api/exception/RandomOrgKeyNotRunningError.java b/src/main/java/org/random/api/exception/RandomOrgKeyNotRunningError.java
similarity index 100%
rename from RandomJSONRPC/src/org/random/api/exception/RandomOrgKeyNotRunningError.java
rename to src/main/java/org/random/api/exception/RandomOrgKeyNotRunningError.java
diff --git a/RandomJSONRPC/src/org/random/api/exception/RandomOrgRANDOMORGError.java b/src/main/java/org/random/api/exception/RandomOrgRANDOMORGError.java
similarity index 100%
rename from RandomJSONRPC/src/org/random/api/exception/RandomOrgRANDOMORGError.java
rename to src/main/java/org/random/api/exception/RandomOrgRANDOMORGError.java
diff --git a/RandomJSONRPC/src/org/random/api/exception/RandomOrgSendTimeoutException.java b/src/main/java/org/random/api/exception/RandomOrgSendTimeoutException.java
similarity index 100%
rename from RandomJSONRPC/src/org/random/api/exception/RandomOrgSendTimeoutException.java
rename to src/main/java/org/random/api/exception/RandomOrgSendTimeoutException.java
diff --git a/RandomJSONRPC/src/org/random/util/RandomOrgRandom.java b/src/main/java/org/random/util/RandomOrgRandom.java
similarity index 100%
rename from RandomJSONRPC/src/org/random/util/RandomOrgRandom.java
rename to src/main/java/org/random/util/RandomOrgRandom.java
diff --git a/src/main/main.iml b/src/main/main.iml
new file mode 100644
index 0000000..0d154dd
--- /dev/null
+++ b/src/main/main.iml
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/RandomJSONRPC/src/org/random/test/RandomOrgClientBasicTest.java b/src/test/java/org/random/test/RandomOrgClientBasicTest.java
similarity index 96%
rename from RandomJSONRPC/src/org/random/test/RandomOrgClientBasicTest.java
rename to src/test/java/org/random/test/RandomOrgClientBasicTest.java
index 33027de..1033007 100644
--- a/RandomJSONRPC/src/org/random/test/RandomOrgClientBasicTest.java
+++ b/src/test/java/org/random/test/RandomOrgClientBasicTest.java
@@ -1,873 +1,873 @@
-package org.random.test;
-
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-
-import java.util.HashMap;
-import java.util.NoSuchElementException;
-import java.util.UUID;
-
-import org.junit.Assert;
-import org.junit.BeforeClass;
-import org.junit.Test;
-import org.random.api.RandomOrgCache;
-import org.random.api.RandomOrgClient;
-import org.random.api.exception.RandomOrgRANDOMORGError;
-
-import com.google.gson.JsonObject;
-
-/** A set of tests for RandomOrgClient.java
- ** @author Anders Haahr
- **/
-public class RandomOrgClientBasicTest {
-
- private static RandomOrgClient roc, roc2;
-
- private static final String API_KEY_1 = "YOUR_API_KEY_HERE";
- private static final String API_KEY_2 = "YOUR_API_KEY_HERE";
-
- private static final int BIT_QUOTA = 1000000;
-
- @BeforeClass
- public static void testSetup() {
- roc = RandomOrgClient.getRandomOrgClient(API_KEY_1, 3000, 120000, false);
- roc2 = RandomOrgClient.getRandomOrgClient(API_KEY_2);
- }
-
- @Test
- public void testInfo() {
- try {
- assertTrue(roc.getBitsLeft() >= 0);
- assertTrue(roc.getRequestsLeft() >= 0);
-
- assertTrue(roc2.getBitsLeft() >= 0);
- assertTrue(roc2.getRequestsLeft() >= 0);
-
- } catch (Exception e) {
- Assert.fail("Networking error: " + e.getClass().getName() + ":" + e.getMessage());
- }
- }
-
- @Test
- public void testAPIKeyDuplication() {
- RandomOrgClient dupe = RandomOrgClient.getRandomOrgClient(API_KEY_1);
-
- assertTrue(!roc.equals(roc2));
- assertTrue(roc.equals(dupe));
- }
-
- @Test
- public void testPositiveGetBitsLeft_1(){
- try {
- int bitsLeft = roc.getBitsLeft();
- assertTrue(0 <= bitsLeft && bitsLeft <= BIT_QUOTA);
- } catch (Exception e) {
- Assert.fail("Networking error: " + e.getClass().getName() + ":" + e.getMessage());
- }
- }
-
- @Test
- public void testPositiveGetBitsLeft_2(){
- try {
- int bitsLeft = roc2.getBitsLeft();
- assertTrue(0 <= bitsLeft && bitsLeft <= BIT_QUOTA);
- } catch (Exception e) {
- Assert.fail("Networking error: " + e.getClass().getName() + ":" + e.getMessage());
- }
- }
-
- // Test Errors
-
- @Test
- public void testNegativeErrorMessage202(){
- try{
- roc.generateIntegers(100000, 0, 10);
- Assert.fail("should have thrown RandomOrgRANDOMORGError");
- } catch(RandomOrgRANDOMORGError e) {
- System.out.println(e.getMessage());
- } catch (Exception e) {
- Assert.fail("should have thrown RandomOrgRANDOMORGError, instead threw " + e.getClass().getName());
- }
- try{
- roc2.generateIntegers(100000, 0, 10);
- Assert.fail("should have thrown RandomOrgRANDOMORGError");
- } catch(RandomOrgRANDOMORGError e) {
- System.out.println(e.getMessage());
- } catch (Exception e) {
- Assert.fail("should have thrown RandomOrgRANDOMORGError, instead threw " + e.getClass().getName());
- }
- }
-
- @Test
- public void testNegativeErrorMessage203(){
- try{
- roc.generateIntegers(10, 0, 1000000001);
- Assert.fail("should have thrown RandomOrgRANDOMORGError");
- } catch(RandomOrgRANDOMORGError e) {
- System.out.println(e.getMessage());
- } catch (Exception e) {
- Assert.fail("should have thrown RandomOrgRANDOMORGError, instead threw " + e.getClass().getName());
- }
- try{
- roc2.generateIntegers(10, 0, 1000000001);
- Assert.fail("should have thrown RandomOrgRANDOMORGError");
- } catch(RandomOrgRANDOMORGError e) {
- System.out.println(e.getMessage());
- } catch (Exception e) {
- Assert.fail("should have thrown RandomOrgRANDOMORGError, instead threw " + e.getClass().getName());
- }
- }
-
- @Test
- public void testNegativeErrorMessage300(){
- try{
- roc.generateIntegers(10, 10, 0);
- Assert.fail("should have thrown RandomOrgRANDOMORGError");
- } catch(RandomOrgRANDOMORGError e) {
- System.out.println(e.getMessage());
- } catch (Exception e) {
- Assert.fail("should have thrown RandomOrgRANDOMORGError, instead threw " + e.getClass().getName());
- }
- try{
- roc2.generateIntegers(10, 10, 0);
- Assert.fail("should have thrown RandomOrgRANDOMORGError");
- } catch(RandomOrgRANDOMORGError e) {
- System.out.println(e.getMessage());
- } catch (Exception e) {
- Assert.fail("should have thrown RandomOrgRANDOMORGError, instead threw " + e.getClass().getName());
- }
- }
-
- @Test
- public void testNegativeErrorMessage301(){
- try{
- roc.generateIntegers(20, 0, 10, false);
- Assert.fail("should have thrown RandomOrgRANDOMORGError");
- } catch(RandomOrgRANDOMORGError e) {
- System.out.println(e.getMessage());
- } catch (Exception e) {
- Assert.fail("should have thrown RandomOrgRANDOMORGError, instead threw " + e.getClass().getName());
- }
- try{
- roc2.generateIntegers(20, 0, 10, false);
- Assert.fail("should have thrown RandomOrgRANDOMORGError");
- } catch(RandomOrgRANDOMORGError e) {
- System.out.println(e.getMessage());
- } catch (Exception e) {
- Assert.fail("should have thrown RandomOrgRANDOMORGError, instead threw " + e.getClass().getName());
- }
- }
-
- @Test
- public void testNegativeErrorMessage400(){
- try{
- RandomOrgClient rpc2 = RandomOrgClient.getRandomOrgClient("ffffffff-ffff-ffff-ffff-ffffffffffff");
- rpc2.generateIntegers(1, 0, 1);
- Assert.fail("should have thrown RandomOrgRANDOMORGError");
- } catch(RandomOrgRANDOMORGError e) {
- System.out.println(e.getMessage());
- } catch (Exception e) {
- Assert.fail("should have thrown RandomOrgRANDOMORGError, instead threw " + e.getClass().getName());
- }
- }
-
- // Test Functions
-
- @Test
- public void testPositiveGenerateInteger_1(){
- try {
- assertNotNull(roc.generateIntegers(10, 0, 10));
- } catch (Exception e) {
- Assert.fail("Networking error: " + e.getClass().getName() + ":" + e.getMessage());
- }
- try {
- assertNotNull(roc2.generateIntegers(10, 0, 10));
- } catch (Exception e) {
- Assert.fail("Networking error: " + e.getClass().getName() + ":" + e.getMessage());
- }
- }
-
- @Test
- public void testPositiveGenerateInteger_2(){
- try {
- assertNotNull(roc.generateIntegers(10, 0, 10, false));
- } catch (Exception e) {
- Assert.fail("Networking error: " + e.getClass().getName() + ":" + e.getMessage());
- }
- try {
- assertNotNull(roc2.generateIntegers(10, 0, 10, false));
- } catch (Exception e) {
- Assert.fail("Networking error: " + e.getClass().getName() + ":" + e.getMessage());
- }
- }
-
- @Test
- public void testPositiveGenerateDecimalFractions_1(){
- try {
- assertNotNull(roc.generateDecimalFractions(10, 5));
- } catch (Exception e) {
- Assert.fail("Networking error: " + e.getClass().getName() + ":" + e.getMessage());
- }
- try {
- assertNotNull(roc2.generateDecimalFractions(10, 5));
- } catch (Exception e) {
- Assert.fail("Networking error: " + e.getClass().getName() + ":" + e.getMessage());
- }
- }
-
- @Test
- public void testPositiveGenerateDecimalFractions_2(){
- try {
- assertNotNull(roc.generateDecimalFractions(10, 5, false));
- } catch (Exception e) {
- Assert.fail("Networking error: " + e.getClass().getName() + ":" + e.getMessage());
- }
- try {
- assertNotNull(roc2.generateDecimalFractions(10, 5, false));
- } catch (Exception e) {
- Assert.fail("Networking error: " + e.getClass().getName() + ":" + e.getMessage());
- }
- }
-
- @Test
- public void testPositiveGenerateGaussians(){
- try {
- assertNotNull(roc.generateGaussians(10, 3.41d, 2.1d, 4));
- } catch (Exception e) {
- Assert.fail("Networking error: " + e.getClass().getName() + ":" + e.getMessage());
- }
- try {
- assertNotNull(roc2.generateGaussians(10, 3.41d, 2.1d, 4));
- } catch (Exception e) {
- Assert.fail("Networking error: " + e.getClass().getName() + ":" + e.getMessage());
- }
- }
-
- @Test
- public void testPositiveGenerateStrings_1(){
- try {
- assertNotNull(roc.generateStrings(10, 5, "abcd"));
- } catch (Exception e) {
- Assert.fail("Networking error: " + e.getClass().getName() + ":" + e.getMessage());
- }
- try {
- assertNotNull(roc2.generateStrings(10, 5, "abcd"));
- } catch (Exception e) {
- Assert.fail("Networking error: " + e.getClass().getName() + ":" + e.getMessage());
- }
- }
-
- @Test
- public void testPositiveGenerateStrings_2(){
- try {
- assertNotNull(roc.generateStrings(10, 5, "abcd", false));
- } catch (Exception e) {
- Assert.fail("Networking error: " + e.getClass().getName() + ":" + e.getMessage());
- }
- try {
- assertNotNull(roc2.generateStrings(10, 5, "abcd", false));
- } catch (Exception e) {
- Assert.fail("Networking error: " + e.getClass().getName() + ":" + e.getMessage());
- }
- }
-
- @Test
- public void testPositiveGenerateUUIDs(){
- try {
- assertNotNull(roc.generateUUIDs(10));
- } catch (Exception e) {
- Assert.fail("Networking error: " + e.getClass().getName() + ":" + e.getMessage());
- }
- try {
- assertNotNull(roc2.generateUUIDs(10));
- } catch (Exception e) {
- Assert.fail("Networking error: " + e.getClass().getName() + ":" + e.getMessage());
- }
- }
-
- @Test
- public void testPositiveGenerateBlobs_1(){
- try {
- assertNotNull(roc.generateBlobs(10, 16));
- } catch (Exception e) {
- Assert.fail("Networking error: " + e.getClass().getName() + ":" + e.getMessage());
- }
- try {
- assertNotNull(roc2.generateBlobs(10, 16));
- } catch (Exception e) {
- Assert.fail("Networking error: " + e.getClass().getName() + ":" + e.getMessage());
- }
- }
-
- @Test
- public void testPositiveGenerateBlobs_2(){
- try {
- assertNotNull(roc.generateBlobs(10, 16, RandomOrgClient.BLOB_FORMAT_HEX));
- } catch (Exception e) {
- Assert.fail("Networking error: " + e.getClass().getName() + ":" + e.getMessage());
- }
- try {
- assertNotNull(roc2.generateBlobs(10, 16, RandomOrgClient.BLOB_FORMAT_HEX));
- } catch (Exception e) {
- Assert.fail("Networking error: " + e.getClass().getName() + ":" + e.getMessage());
- }
- }
-
- // Test Functions (Signed)
-
- @Test
- public void testPositiveGenerateSignedInteger_1(){
- try {
- HashMap o = roc.generateSignedIntegers(10, 0, 10);
-
- assertNotNull(o);
-
- assertTrue(o.containsKey("data"));
- assertTrue(o.containsKey("random"));
- assertTrue(o.containsKey("signature"));
-
- assertTrue(o.get("data").getClass().equals(int[].class));
- assertTrue(o.get("random").getClass().equals(JsonObject.class));
- assertTrue(o.get("signature").getClass().equals(String.class));
-
- assertTrue(roc.verifySignature((JsonObject)o.get("random"), (String)o.get("signature")));
- } catch (Exception e) {
- Assert.fail("Networking error: " + e.getClass().getName() + ":" + e.getMessage());
- }
- try {
- HashMap o = roc2.generateSignedIntegers(10, 0, 10);
-
- assertNotNull(o);
-
- assertTrue(o.containsKey("data"));
- assertTrue(o.containsKey("random"));
- assertTrue(o.containsKey("signature"));
-
- assertTrue(o.get("data").getClass().equals(int[].class));
- assertTrue(o.get("random").getClass().equals(JsonObject.class));
- assertTrue(o.get("signature").getClass().equals(String.class));
-
- assertTrue(roc.verifySignature((JsonObject)o.get("random"), (String)o.get("signature")));
- } catch (Exception e) {
- Assert.fail("Networking error: " + e.getClass().getName() + ":" + e.getMessage());
- }
- }
-
- @Test
- public void testPositiveGenerateSignedInteger_2(){
- try {
- HashMap o = roc.generateSignedIntegers(10, 0, 10, false);
-
- assertNotNull(o);
-
- assertTrue(o.containsKey("data"));
- assertTrue(o.containsKey("random"));
- assertTrue(o.containsKey("signature"));
-
- assertTrue(o.get("data").getClass().equals(int[].class));
- assertTrue(o.get("random").getClass().equals(JsonObject.class));
- assertTrue(o.get("signature").getClass().equals(String.class));
-
- assertTrue(roc.verifySignature((JsonObject)o.get("random"), (String)o.get("signature")));
- } catch (Exception e) {
- Assert.fail("Networking error: " + e.getClass().getName() + ":" + e.getMessage());
- }
- try {
- HashMap o = roc2.generateSignedIntegers(10, 0, 10, false);
-
- assertNotNull(o);
-
- assertTrue(o.containsKey("data"));
- assertTrue(o.containsKey("random"));
- assertTrue(o.containsKey("signature"));
-
- assertTrue(o.get("data").getClass().equals(int[].class));
- assertTrue(o.get("random").getClass().equals(JsonObject.class));
- assertTrue(o.get("signature").getClass().equals(String.class));
-
- assertTrue(roc.verifySignature((JsonObject)o.get("random"), (String)o.get("signature")));
- } catch (Exception e) {
- Assert.fail("Networking error: " + e.getClass().getName() + ":" + e.getMessage());
- }
- }
-
- @Test
- public void testPositiveGenerateSignedDecimalFractions_1(){
- try {
- HashMap o = roc.generateSignedDecimalFractions(10, 5);
-
- assertNotNull(o);
-
- assertTrue(o.containsKey("data"));
- assertTrue(o.containsKey("random"));
- assertTrue(o.containsKey("signature"));
-
- assertTrue(o.get("data").getClass().equals(double[].class));
- assertTrue(o.get("random").getClass().equals(JsonObject.class));
- assertTrue(o.get("signature").getClass().equals(String.class));
-
- assertTrue(roc.verifySignature((JsonObject)o.get("random"), (String)o.get("signature")));
- } catch (Exception e) {
- Assert.fail("Networking error: " + e.getClass().getName() + ":" + e.getMessage());
- }
- try {
- HashMap o = roc2.generateSignedDecimalFractions(10, 5);
-
- assertNotNull(o);
-
- assertTrue(o.containsKey("data"));
- assertTrue(o.containsKey("random"));
- assertTrue(o.containsKey("signature"));
-
- assertTrue(o.get("data").getClass().equals(double[].class));
- assertTrue(o.get("random").getClass().equals(JsonObject.class));
- assertTrue(o.get("signature").getClass().equals(String.class));
-
- assertTrue(roc.verifySignature((JsonObject)o.get("random"), (String)o.get("signature")));
- } catch (Exception e) {
- Assert.fail("Networking error: " + e.getClass().getName() + ":" + e.getMessage());
- }
- }
-
- @Test
- public void testPositiveGenerateSignedDecimalFractions_2(){
- try {
- HashMap o = roc.generateSignedDecimalFractions(10, 5, false);
-
- assertNotNull(o);
-
- assertTrue(o.containsKey("data"));
- assertTrue(o.containsKey("random"));
- assertTrue(o.containsKey("signature"));
-
- assertTrue(o.get("data").getClass().equals(double[].class));
- assertTrue(o.get("random").getClass().equals(JsonObject.class));
- assertTrue(o.get("signature").getClass().equals(String.class));
-
- assertTrue(roc.verifySignature((JsonObject)o.get("random"), (String)o.get("signature")));
- } catch (Exception e) {
- Assert.fail("Networking error: " + e.getClass().getName() + ":" + e.getMessage());
- }
- try {
- HashMap o = roc2.generateSignedDecimalFractions(10, 5, false);
-
- assertNotNull(o);
-
- assertTrue(o.containsKey("data"));
- assertTrue(o.containsKey("random"));
- assertTrue(o.containsKey("signature"));
-
- assertTrue(o.get("data").getClass().equals(double[].class));
- assertTrue(o.get("random").getClass().equals(JsonObject.class));
- assertTrue(o.get("signature").getClass().equals(String.class));
-
- assertTrue(roc.verifySignature((JsonObject)o.get("random"), (String)o.get("signature")));
- } catch (Exception e) {
- Assert.fail("Networking error: " + e.getClass().getName() + ":" + e.getMessage());
- }
- }
-
- @Test
- public void testPositiveGenerateSignedGaussians(){
- try {
- HashMap o = roc.generateSignedGaussians(10, 3.41d, 2.1d, 4);
-
- assertNotNull(o);
-
- assertTrue(o.containsKey("data"));
- assertTrue(o.containsKey("random"));
- assertTrue(o.containsKey("signature"));
-
- assertTrue(o.get("data").getClass().equals(double[].class));
- assertTrue(o.get("random").getClass().equals(JsonObject.class));
- assertTrue(o.get("signature").getClass().equals(String.class));
-
- assertTrue(roc.verifySignature((JsonObject)o.get("random"), (String)o.get("signature")));
- } catch (Exception e) {
- Assert.fail("Networking error: " + e.getClass().getName() + ":" + e.getMessage());
- }
- try {
- HashMap o = roc2.generateSignedGaussians(10, 3.41d, 2.1d, 4);
-
- assertNotNull(o);
-
- assertTrue(o.containsKey("data"));
- assertTrue(o.containsKey("random"));
- assertTrue(o.containsKey("signature"));
-
- assertTrue(o.get("data").getClass().equals(double[].class));
- assertTrue(o.get("random").getClass().equals(JsonObject.class));
- assertTrue(o.get("signature").getClass().equals(String.class));
-
- assertTrue(roc.verifySignature((JsonObject)o.get("random"), (String)o.get("signature")));
- } catch (Exception e) {
- Assert.fail("Networking error: " + e.getClass().getName() + ":" + e.getMessage());
- }
- }
-
- @Test
- public void testPositiveGenerateSignedStrings_1(){
- try {
- HashMap o = roc.generateSignedStrings(10, 5, "abcd");
-
- assertNotNull(o);
-
- assertTrue(o.containsKey("data"));
- assertTrue(o.containsKey("random"));
- assertTrue(o.containsKey("signature"));
-
- assertTrue(o.get("data").getClass().equals(String[].class));
- assertTrue(o.get("random").getClass().equals(JsonObject.class));
- assertTrue(o.get("signature").getClass().equals(String.class));
-
- assertTrue(roc.verifySignature((JsonObject)o.get("random"), (String)o.get("signature")));
- } catch (Exception e) {
- Assert.fail("Networking error: " + e.getClass().getName() + ":" + e.getMessage());
- }
- try {
- HashMap o = roc2.generateSignedStrings(10, 5, "abcd");
-
- assertNotNull(o);
-
- assertTrue(o.containsKey("data"));
- assertTrue(o.containsKey("random"));
- assertTrue(o.containsKey("signature"));
-
- assertTrue(o.get("data").getClass().equals(String[].class));
- assertTrue(o.get("random").getClass().equals(JsonObject.class));
- assertTrue(o.get("signature").getClass().equals(String.class));
-
- assertTrue(roc.verifySignature((JsonObject)o.get("random"), (String)o.get("signature")));
- } catch (Exception e) {
- Assert.fail("Networking error: " + e.getClass().getName() + ":" + e.getMessage());
- }
- }
-
- @Test
- public void testPositiveGenerateSignedStrings_2(){
- try {
- HashMap o = roc.generateSignedStrings(10, 5, "abcd", false);
-
- assertNotNull(o);
-
- assertTrue(o.containsKey("data"));
- assertTrue(o.containsKey("random"));
- assertTrue(o.containsKey("signature"));
-
- assertTrue(o.get("data").getClass().equals(String[].class));
- assertTrue(o.get("random").getClass().equals(JsonObject.class));
- assertTrue(o.get("signature").getClass().equals(String.class));
-
- assertTrue(roc.verifySignature((JsonObject)o.get("random"), (String)o.get("signature")));
- } catch (Exception e) {
- Assert.fail("Networking error: " + e.getClass().getName() + ":" + e.getMessage());
- }
- try {
- HashMap o = roc2.generateSignedStrings(10, 5, "abcd", false);
-
- assertNotNull(o);
-
- assertTrue(o.containsKey("data"));
- assertTrue(o.containsKey("random"));
- assertTrue(o.containsKey("signature"));
-
- assertTrue(o.get("data").getClass().equals(String[].class));
- assertTrue(o.get("random").getClass().equals(JsonObject.class));
- assertTrue(o.get("signature").getClass().equals(String.class));
-
- assertTrue(roc.verifySignature((JsonObject)o.get("random"), (String)o.get("signature")));
- } catch (Exception e) {
- Assert.fail("Networking error: " + e.getClass().getName() + ":" + e.getMessage());
- }
- }
-
- @Test
- public void testPositiveGenerateSignedUUIDs(){
- try {
- HashMap o = roc.generateSignedUUIDs(10);
-
- assertNotNull(o);
-
- assertTrue(o.containsKey("data"));
- assertTrue(o.containsKey("random"));
- assertTrue(o.containsKey("signature"));
-
- assertTrue(o.get("data").getClass().equals(UUID[].class));
- assertTrue(o.get("random").getClass().equals(JsonObject.class));
- assertTrue(o.get("signature").getClass().equals(String.class));
-
- assertTrue(roc.verifySignature((JsonObject)o.get("random"), (String)o.get("signature")));
- } catch (Exception e) {
- Assert.fail("Networking error: " + e.getClass().getName() + ":" + e.getMessage());
- }
- try {
- HashMap o = roc2.generateSignedUUIDs(10);
-
- assertNotNull(o);
-
- assertTrue(o.containsKey("data"));
- assertTrue(o.containsKey("random"));
- assertTrue(o.containsKey("signature"));
-
- assertTrue(o.get("data").getClass().equals(UUID[].class));
- assertTrue(o.get("random").getClass().equals(JsonObject.class));
- assertTrue(o.get("signature").getClass().equals(String.class));
-
- assertTrue(roc.verifySignature((JsonObject)o.get("random"), (String)o.get("signature")));
- } catch (Exception e) {
- Assert.fail("Networking error: " + e.getClass().getName() + ":" + e.getMessage());
- }
- }
-
- @Test
- public void testPositiveGenerateSignedBlobs_1(){
- try {
- HashMap o = roc.generateSignedBlobs(10, 16);
-
- assertNotNull(o);
-
- assertTrue(o.containsKey("data"));
- assertTrue(o.containsKey("random"));
- assertTrue(o.containsKey("signature"));
-
- assertTrue(o.get("data").getClass().equals(String[].class));
- assertTrue(o.get("random").getClass().equals(JsonObject.class));
- assertTrue(o.get("signature").getClass().equals(String.class));
-
- assertTrue(roc.verifySignature((JsonObject)o.get("random"), (String)o.get("signature")));
- } catch (Exception e) {
- Assert.fail("Networking error: " + e.getClass().getName() + ":" + e.getMessage());
- }
- try {
- HashMap o = roc2.generateSignedBlobs(10, 16);
-
- assertNotNull(o);
-
- assertTrue(o.containsKey("data"));
- assertTrue(o.containsKey("random"));
- assertTrue(o.containsKey("signature"));
-
- assertTrue(o.get("data").getClass().equals(String[].class));
- assertTrue(o.get("random").getClass().equals(JsonObject.class));
- assertTrue(o.get("signature").getClass().equals(String.class));
-
- assertTrue(roc.verifySignature((JsonObject)o.get("random"), (String)o.get("signature")));
- } catch (Exception e) {
- Assert.fail("Networking error: " + e.getClass().getName() + ":" + e.getMessage());
- }
- }
-
- @Test
- public void testPositiveGenerateSignedBlobs_2(){
- try {
- HashMap o = roc.generateSignedBlobs(10, 16, RandomOrgClient.BLOB_FORMAT_HEX);
-
- assertNotNull(o);
-
- assertTrue(o.containsKey("data"));
- assertTrue(o.containsKey("random"));
- assertTrue(o.containsKey("signature"));
-
- assertTrue(o.get("data").getClass().equals(String[].class));
- assertTrue(o.get("random").getClass().equals(JsonObject.class));
- assertTrue(o.get("signature").getClass().equals(String.class));
-
- assertTrue(roc.verifySignature((JsonObject)o.get("random"), (String)o.get("signature")));
- } catch (Exception e) {
- Assert.fail("Networking error: " + e.getClass().getName() + ":" + e.getMessage());
- }
- try {
- HashMap o = roc2.generateSignedBlobs(10, 16, RandomOrgClient.BLOB_FORMAT_HEX);
-
- assertNotNull(o);
-
- assertTrue(o.containsKey("data"));
- assertTrue(o.containsKey("random"));
- assertTrue(o.containsKey("signature"));
-
- assertTrue(o.get("data").getClass().equals(String[].class));
- assertTrue(o.get("random").getClass().equals(JsonObject.class));
- assertTrue(o.get("signature").getClass().equals(String.class));
-
- assertTrue(roc.verifySignature((JsonObject)o.get("random"), (String)o.get("signature")));
- } catch (Exception e) {
- Assert.fail("Networking error: " + e.getClass().getName() + ":" + e.getMessage());
- }
- }
-
- // Test Functions (Cache)
-
- @Test
- public void testIntegerCache(){
- RandomOrgCache c = roc.createIntegerCache(5, 0, 10);
- c.stop();
-
- try {
- c.get();
- Assert.fail("should have thrown NoSuchElementException");
- } catch (NoSuchElementException e) {}
-
- c.resume();
-
- int[] got = null;
-
- while (got == null) {
- try {
- got = c.get();
- } catch (NoSuchElementException e) {
- try {
- Thread.sleep(50);
- } catch (InterruptedException e1) {
- Assert.fail("shouldn't have been interrupted!");
- }
- }
- }
-
- assertNotNull(got);
- }
-
- @Test
- public void testDecimalFractionCache(){
- RandomOrgCache c = roc2.createDecimalFractionCache(1, 5);
- c.stop();
-
- try {
- c.get();
- Assert.fail("should have thrown NoSuchElementException");
- } catch (NoSuchElementException e) {}
-
- c.resume();
-
- double[] got = null;
-
- while (got == null) {
- try {
- got = c.get();
- } catch (NoSuchElementException e) {
- try {
- Thread.sleep(50);
- } catch (InterruptedException e1) {
- Assert.fail("shouldn't have been interrupted!");
- }
- }
- }
-
- assertNotNull(got);
- }
-
- @Test
- public void testGaussianCache(){
- RandomOrgCache c = roc.createGaussianCache(10, 3.41d, 2.1d, 4);
- c.stop();
-
- try {
- c.get();
- Assert.fail("should have thrown NoSuchElementException");
- } catch (NoSuchElementException e) {}
-
- c.resume();
-
- double[] got = null;
-
- while (got == null) {
- try {
- got = c.get();
- } catch (NoSuchElementException e) {
- try {
- Thread.sleep(50);
- } catch (InterruptedException e1) {
- Assert.fail("shouldn't have been interrupted!");
- }
- }
- }
-
- assertNotNull(got);
- }
-
- @Test
- public void testStringCache(){
- RandomOrgCache c = roc2.createStringCache(5, 5, "abcds");
- c.stop();
-
- try {
- c.get();
- Assert.fail("should have thrown NoSuchElementException");
- } catch (NoSuchElementException e) {}
-
- c.resume();
-
- String[] got = null;
-
- while (got == null) {
- try {
- got = c.get();
- } catch (NoSuchElementException e) {
- try {
- Thread.sleep(50);
- } catch (InterruptedException e1) {
- Assert.fail("shouldn't have been interrupted!");
- }
- }
- }
-
- assertNotNull(got);
- }
-
- @Test
- public void testUUIDCache(){
- RandomOrgCache c = roc.createUUIDCache(5);
- c.stop();
-
- try {
- c.get();
- Assert.fail("should have thrown NoSuchElementException");
- } catch (NoSuchElementException e) {}
-
- c.resume();
-
- UUID[] got = null;
-
- while (got == null) {
- try {
- got = c.get();
- } catch (NoSuchElementException e) {
- try {
- Thread.sleep(50);
- } catch (InterruptedException e1) {
- Assert.fail("shouldn't have been interrupted!");
- }
- }
- }
-
- assertNotNull(got);
- }
-
- @Test
- public void testBlobCache(){
- RandomOrgCache c = roc2.createBlobCache(5, 8);
- c.stop();
-
- try {
- c.get();
- Assert.fail("should have thrown NoSuchElementException");
- } catch (NoSuchElementException e) {}
-
- c.resume();
-
- String[] got = null;
-
- while (got == null) {
- try {
- got = c.get();
- } catch (NoSuchElementException e) {
- try {
- Thread.sleep(50);
- } catch (InterruptedException e1) {
- Assert.fail("shouldn't have been interrupted!");
- }
- }
- }
-
- assertNotNull(got);
- }
-}
+package org.random.test;
+
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
+import java.util.HashMap;
+import java.util.NoSuchElementException;
+import java.util.UUID;
+
+import org.junit.Assert;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.random.api.RandomOrgCache;
+import org.random.api.RandomOrgClient;
+import org.random.api.exception.RandomOrgRANDOMORGError;
+
+import com.google.gson.JsonObject;
+
+/** A set of tests for RandomOrgClient.java
+ ** @author Anders Haahr
+ **/
+public class RandomOrgClientBasicTest {
+
+ private static RandomOrgClient roc, roc2;
+
+ private static final String API_KEY_1 = System.getenv("API_KEY");
+ private static final String API_KEY_2 = "00000000-0000-0000-0000-000000000000";
+
+ private static final int BIT_QUOTA = 5000000; // Must be for the highest tier
+
+ @BeforeClass
+ public static void testSetup() {
+ roc = RandomOrgClient.getRandomOrgClient(API_KEY_1, 3000, 120000, false);
+ roc2 = RandomOrgClient.getRandomOrgClient(API_KEY_2);
+ }
+
+ @Test
+ public void testInfo() {
+ try {
+ assertTrue(roc.getBitsLeft() >= 0);
+ assertTrue(roc.getRequestsLeft() >= 0);
+
+ assertTrue(roc2.getBitsLeft() >= 0);
+ assertTrue(roc2.getRequestsLeft() >= 0);
+
+ } catch (Exception e) {
+ Assert.fail("Networking error: " + e.getClass().getName() + ":" + e.getMessage());
+ }
+ }
+
+ @Test
+ public void testAPIKeyDuplication() {
+ RandomOrgClient dupe = RandomOrgClient.getRandomOrgClient(API_KEY_1);
+
+ assertTrue(!roc.equals(roc2));
+ assertTrue(roc.equals(dupe));
+ }
+
+ @Test
+ public void testPositiveGetBitsLeft_1(){
+ try {
+ int bitsLeft = roc.getBitsLeft();
+ assertTrue(0 <= bitsLeft && bitsLeft <= BIT_QUOTA);
+ } catch (Exception e) {
+ Assert.fail("Networking error: " + e.getClass().getName() + ":" + e.getMessage());
+ }
+ }
+
+ @Test
+ public void testPositiveGetBitsLeft_2(){
+ try {
+ int bitsLeft = roc2.getBitsLeft();
+ assertTrue(0 <= bitsLeft && bitsLeft <= BIT_QUOTA);
+ } catch (Exception e) {
+ Assert.fail("Networking error: " + e.getClass().getName() + ":" + e.getMessage());
+ }
+ }
+
+ // Test Errors
+
+ @Test
+ public void testNegativeErrorMessage202(){
+ try{
+ roc.generateIntegers(100000, 0, 10);
+ Assert.fail("should have thrown RandomOrgRANDOMORGError");
+ } catch(RandomOrgRANDOMORGError e) {
+ System.out.println(e.getMessage());
+ } catch (Exception e) {
+ Assert.fail("should have thrown RandomOrgRANDOMORGError, instead threw " + e.getClass().getName());
+ }
+ try{
+ roc2.generateIntegers(100000, 0, 10);
+ Assert.fail("should have thrown RandomOrgRANDOMORGError");
+ } catch(RandomOrgRANDOMORGError e) {
+ System.out.println(e.getMessage());
+ } catch (Exception e) {
+ Assert.fail("should have thrown RandomOrgRANDOMORGError, instead threw " + e.getClass().getName());
+ }
+ }
+
+ @Test
+ public void testNegativeErrorMessage203(){
+ try{
+ roc.generateIntegers(10, 0, 1000000001);
+ Assert.fail("should have thrown RandomOrgRANDOMORGError");
+ } catch(RandomOrgRANDOMORGError e) {
+ System.out.println(e.getMessage());
+ } catch (Exception e) {
+ Assert.fail("should have thrown RandomOrgRANDOMORGError, instead threw " + e.getClass().getName());
+ }
+ try{
+ roc2.generateIntegers(10, 0, 1000000001);
+ Assert.fail("should have thrown RandomOrgRANDOMORGError");
+ } catch(RandomOrgRANDOMORGError e) {
+ System.out.println(e.getMessage());
+ } catch (Exception e) {
+ Assert.fail("should have thrown RandomOrgRANDOMORGError, instead threw " + e.getClass().getName());
+ }
+ }
+
+ @Test
+ public void testNegativeErrorMessage300(){
+ try{
+ roc.generateIntegers(10, 10, 0);
+ Assert.fail("should have thrown RandomOrgRANDOMORGError");
+ } catch(RandomOrgRANDOMORGError e) {
+ System.out.println(e.getMessage());
+ } catch (Exception e) {
+ Assert.fail("should have thrown RandomOrgRANDOMORGError, instead threw " + e.getClass().getName());
+ }
+ try{
+ roc2.generateIntegers(10, 10, 0);
+ Assert.fail("should have thrown RandomOrgRANDOMORGError");
+ } catch(RandomOrgRANDOMORGError e) {
+ System.out.println(e.getMessage());
+ } catch (Exception e) {
+ Assert.fail("should have thrown RandomOrgRANDOMORGError, instead threw " + e.getClass().getName());
+ }
+ }
+
+ @Test
+ public void testNegativeErrorMessage301(){
+ try{
+ roc.generateIntegers(20, 0, 10, false);
+ Assert.fail("should have thrown RandomOrgRANDOMORGError");
+ } catch(RandomOrgRANDOMORGError e) {
+ System.out.println(e.getMessage());
+ } catch (Exception e) {
+ Assert.fail("should have thrown RandomOrgRANDOMORGError, instead threw " + e.getClass().getName());
+ }
+ try{
+ roc2.generateIntegers(20, 0, 10, false);
+ Assert.fail("should have thrown RandomOrgRANDOMORGError");
+ } catch(RandomOrgRANDOMORGError e) {
+ System.out.println(e.getMessage());
+ } catch (Exception e) {
+ Assert.fail("should have thrown RandomOrgRANDOMORGError, instead threw " + e.getClass().getName());
+ }
+ }
+
+ @Test
+ public void testNegativeErrorMessage400(){
+ try{
+ RandomOrgClient rpc2 = RandomOrgClient.getRandomOrgClient("ffffffff-ffff-ffff-ffff-ffffffffffff");
+ rpc2.generateIntegers(1, 0, 1);
+ Assert.fail("should have thrown RandomOrgRANDOMORGError");
+ } catch(RandomOrgRANDOMORGError e) {
+ System.out.println(e.getMessage());
+ } catch (Exception e) {
+ Assert.fail("should have thrown RandomOrgRANDOMORGError, instead threw " + e.getClass().getName());
+ }
+ }
+
+ // Test Functions
+
+ @Test
+ public void testPositiveGenerateInteger_1(){
+ try {
+ assertNotNull(roc.generateIntegers(10, 0, 10));
+ } catch (Exception e) {
+ Assert.fail("Networking error: " + e.getClass().getName() + ":" + e.getMessage());
+ }
+ try {
+ assertNotNull(roc2.generateIntegers(10, 0, 10));
+ } catch (Exception e) {
+ Assert.fail("Networking error: " + e.getClass().getName() + ":" + e.getMessage());
+ }
+ }
+
+ @Test
+ public void testPositiveGenerateInteger_2(){
+ try {
+ assertNotNull(roc.generateIntegers(10, 0, 10, false));
+ } catch (Exception e) {
+ Assert.fail("Networking error: " + e.getClass().getName() + ":" + e.getMessage());
+ }
+ try {
+ assertNotNull(roc2.generateIntegers(10, 0, 10, false));
+ } catch (Exception e) {
+ Assert.fail("Networking error: " + e.getClass().getName() + ":" + e.getMessage());
+ }
+ }
+
+ @Test
+ public void testPositiveGenerateDecimalFractions_1(){
+ try {
+ assertNotNull(roc.generateDecimalFractions(10, 5));
+ } catch (Exception e) {
+ Assert.fail("Networking error: " + e.getClass().getName() + ":" + e.getMessage());
+ }
+ try {
+ assertNotNull(roc2.generateDecimalFractions(10, 5));
+ } catch (Exception e) {
+ Assert.fail("Networking error: " + e.getClass().getName() + ":" + e.getMessage());
+ }
+ }
+
+ @Test
+ public void testPositiveGenerateDecimalFractions_2(){
+ try {
+ assertNotNull(roc.generateDecimalFractions(10, 5, false));
+ } catch (Exception e) {
+ Assert.fail("Networking error: " + e.getClass().getName() + ":" + e.getMessage());
+ }
+ try {
+ assertNotNull(roc2.generateDecimalFractions(10, 5, false));
+ } catch (Exception e) {
+ Assert.fail("Networking error: " + e.getClass().getName() + ":" + e.getMessage());
+ }
+ }
+
+ @Test
+ public void testPositiveGenerateGaussians(){
+ try {
+ assertNotNull(roc.generateGaussians(10, 3.41d, 2.1d, 4));
+ } catch (Exception e) {
+ Assert.fail("Networking error: " + e.getClass().getName() + ":" + e.getMessage());
+ }
+ try {
+ assertNotNull(roc2.generateGaussians(10, 3.41d, 2.1d, 4));
+ } catch (Exception e) {
+ Assert.fail("Networking error: " + e.getClass().getName() + ":" + e.getMessage());
+ }
+ }
+
+ @Test
+ public void testPositiveGenerateStrings_1(){
+ try {
+ assertNotNull(roc.generateStrings(10, 5, "abcd"));
+ } catch (Exception e) {
+ Assert.fail("Networking error: " + e.getClass().getName() + ":" + e.getMessage());
+ }
+ try {
+ assertNotNull(roc2.generateStrings(10, 5, "abcd"));
+ } catch (Exception e) {
+ Assert.fail("Networking error: " + e.getClass().getName() + ":" + e.getMessage());
+ }
+ }
+
+ @Test
+ public void testPositiveGenerateStrings_2(){
+ try {
+ assertNotNull(roc.generateStrings(10, 5, "abcd", false));
+ } catch (Exception e) {
+ Assert.fail("Networking error: " + e.getClass().getName() + ":" + e.getMessage());
+ }
+ try {
+ assertNotNull(roc2.generateStrings(10, 5, "abcd", false));
+ } catch (Exception e) {
+ Assert.fail("Networking error: " + e.getClass().getName() + ":" + e.getMessage());
+ }
+ }
+
+ @Test
+ public void testPositiveGenerateUUIDs(){
+ try {
+ assertNotNull(roc.generateUUIDs(10));
+ } catch (Exception e) {
+ Assert.fail("Networking error: " + e.getClass().getName() + ":" + e.getMessage());
+ }
+ try {
+ assertNotNull(roc2.generateUUIDs(10));
+ } catch (Exception e) {
+ Assert.fail("Networking error: " + e.getClass().getName() + ":" + e.getMessage());
+ }
+ }
+
+ @Test
+ public void testPositiveGenerateBlobs_1(){
+ try {
+ assertNotNull(roc.generateBlobs(10, 16));
+ } catch (Exception e) {
+ Assert.fail("Networking error: " + e.getClass().getName() + ":" + e.getMessage());
+ }
+ try {
+ assertNotNull(roc2.generateBlobs(10, 16));
+ } catch (Exception e) {
+ Assert.fail("Networking error: " + e.getClass().getName() + ":" + e.getMessage());
+ }
+ }
+
+ @Test
+ public void testPositiveGenerateBlobs_2(){
+ try {
+ assertNotNull(roc.generateBlobs(10, 16, RandomOrgClient.BLOB_FORMAT_HEX));
+ } catch (Exception e) {
+ Assert.fail("Networking error: " + e.getClass().getName() + ":" + e.getMessage());
+ }
+ try {
+ assertNotNull(roc2.generateBlobs(10, 16, RandomOrgClient.BLOB_FORMAT_HEX));
+ } catch (Exception e) {
+ Assert.fail("Networking error: " + e.getClass().getName() + ":" + e.getMessage());
+ }
+ }
+
+ // Test Functions (Signed)
+
+ @Test
+ public void testPositiveGenerateSignedInteger_1(){
+ try {
+ HashMap o = roc.generateSignedIntegers(10, 0, 10);
+
+ assertNotNull(o);
+
+ assertTrue(o.containsKey("data"));
+ assertTrue(o.containsKey("random"));
+ assertTrue(o.containsKey("signature"));
+
+ assertTrue(o.get("data").getClass().equals(int[].class));
+ assertTrue(o.get("random").getClass().equals(JsonObject.class));
+ assertTrue(o.get("signature").getClass().equals(String.class));
+
+ assertTrue(roc.verifySignature((JsonObject)o.get("random"), (String)o.get("signature")));
+ } catch (Exception e) {
+ Assert.fail("Networking error: " + e.getClass().getName() + ":" + e.getMessage());
+ }
+ try {
+ HashMap o = roc2.generateSignedIntegers(10, 0, 10);
+
+ assertNotNull(o);
+
+ assertTrue(o.containsKey("data"));
+ assertTrue(o.containsKey("random"));
+ assertTrue(o.containsKey("signature"));
+
+ assertTrue(o.get("data").getClass().equals(int[].class));
+ assertTrue(o.get("random").getClass().equals(JsonObject.class));
+ assertTrue(o.get("signature").getClass().equals(String.class));
+
+ assertTrue(roc.verifySignature((JsonObject)o.get("random"), (String)o.get("signature")));
+ } catch (Exception e) {
+ Assert.fail("Networking error: " + e.getClass().getName() + ":" + e.getMessage());
+ }
+ }
+
+ @Test
+ public void testPositiveGenerateSignedInteger_2(){
+ try {
+ HashMap o = roc.generateSignedIntegers(10, 0, 10, false);
+
+ assertNotNull(o);
+
+ assertTrue(o.containsKey("data"));
+ assertTrue(o.containsKey("random"));
+ assertTrue(o.containsKey("signature"));
+
+ assertTrue(o.get("data").getClass().equals(int[].class));
+ assertTrue(o.get("random").getClass().equals(JsonObject.class));
+ assertTrue(o.get("signature").getClass().equals(String.class));
+
+ assertTrue(roc.verifySignature((JsonObject)o.get("random"), (String)o.get("signature")));
+ } catch (Exception e) {
+ Assert.fail("Networking error: " + e.getClass().getName() + ":" + e.getMessage());
+ }
+ try {
+ HashMap o = roc2.generateSignedIntegers(10, 0, 10, false);
+
+ assertNotNull(o);
+
+ assertTrue(o.containsKey("data"));
+ assertTrue(o.containsKey("random"));
+ assertTrue(o.containsKey("signature"));
+
+ assertTrue(o.get("data").getClass().equals(int[].class));
+ assertTrue(o.get("random").getClass().equals(JsonObject.class));
+ assertTrue(o.get("signature").getClass().equals(String.class));
+
+ assertTrue(roc.verifySignature((JsonObject)o.get("random"), (String)o.get("signature")));
+ } catch (Exception e) {
+ Assert.fail("Networking error: " + e.getClass().getName() + ":" + e.getMessage());
+ }
+ }
+
+ @Test
+ public void testPositiveGenerateSignedDecimalFractions_1(){
+ try {
+ HashMap o = roc.generateSignedDecimalFractions(10, 5);
+
+ assertNotNull(o);
+
+ assertTrue(o.containsKey("data"));
+ assertTrue(o.containsKey("random"));
+ assertTrue(o.containsKey("signature"));
+
+ assertTrue(o.get("data").getClass().equals(double[].class));
+ assertTrue(o.get("random").getClass().equals(JsonObject.class));
+ assertTrue(o.get("signature").getClass().equals(String.class));
+
+ assertTrue(roc.verifySignature((JsonObject)o.get("random"), (String)o.get("signature")));
+ } catch (Exception e) {
+ Assert.fail("Networking error: " + e.getClass().getName() + ":" + e.getMessage());
+ }
+ try {
+ HashMap o = roc2.generateSignedDecimalFractions(10, 5);
+
+ assertNotNull(o);
+
+ assertTrue(o.containsKey("data"));
+ assertTrue(o.containsKey("random"));
+ assertTrue(o.containsKey("signature"));
+
+ assertTrue(o.get("data").getClass().equals(double[].class));
+ assertTrue(o.get("random").getClass().equals(JsonObject.class));
+ assertTrue(o.get("signature").getClass().equals(String.class));
+
+ assertTrue(roc.verifySignature((JsonObject)o.get("random"), (String)o.get("signature")));
+ } catch (Exception e) {
+ Assert.fail("Networking error: " + e.getClass().getName() + ":" + e.getMessage());
+ }
+ }
+
+ @Test
+ public void testPositiveGenerateSignedDecimalFractions_2(){
+ try {
+ HashMap o = roc.generateSignedDecimalFractions(10, 5, false);
+
+ assertNotNull(o);
+
+ assertTrue(o.containsKey("data"));
+ assertTrue(o.containsKey("random"));
+ assertTrue(o.containsKey("signature"));
+
+ assertTrue(o.get("data").getClass().equals(double[].class));
+ assertTrue(o.get("random").getClass().equals(JsonObject.class));
+ assertTrue(o.get("signature").getClass().equals(String.class));
+
+ assertTrue(roc.verifySignature((JsonObject)o.get("random"), (String)o.get("signature")));
+ } catch (Exception e) {
+ Assert.fail("Networking error: " + e.getClass().getName() + ":" + e.getMessage());
+ }
+ try {
+ HashMap o = roc2.generateSignedDecimalFractions(10, 5, false);
+
+ assertNotNull(o);
+
+ assertTrue(o.containsKey("data"));
+ assertTrue(o.containsKey("random"));
+ assertTrue(o.containsKey("signature"));
+
+ assertTrue(o.get("data").getClass().equals(double[].class));
+ assertTrue(o.get("random").getClass().equals(JsonObject.class));
+ assertTrue(o.get("signature").getClass().equals(String.class));
+
+ assertTrue(roc.verifySignature((JsonObject)o.get("random"), (String)o.get("signature")));
+ } catch (Exception e) {
+ Assert.fail("Networking error: " + e.getClass().getName() + ":" + e.getMessage());
+ }
+ }
+
+ @Test
+ public void testPositiveGenerateSignedGaussians(){
+ try {
+ HashMap o = roc.generateSignedGaussians(10, 3.41d, 2.1d, 4);
+
+ assertNotNull(o);
+
+ assertTrue(o.containsKey("data"));
+ assertTrue(o.containsKey("random"));
+ assertTrue(o.containsKey("signature"));
+
+ assertTrue(o.get("data").getClass().equals(double[].class));
+ assertTrue(o.get("random").getClass().equals(JsonObject.class));
+ assertTrue(o.get("signature").getClass().equals(String.class));
+
+ assertTrue(roc.verifySignature((JsonObject)o.get("random"), (String)o.get("signature")));
+ } catch (Exception e) {
+ Assert.fail("Networking error: " + e.getClass().getName() + ":" + e.getMessage());
+ }
+ try {
+ HashMap o = roc2.generateSignedGaussians(10, 3.41d, 2.1d, 4);
+
+ assertNotNull(o);
+
+ assertTrue(o.containsKey("data"));
+ assertTrue(o.containsKey("random"));
+ assertTrue(o.containsKey("signature"));
+
+ assertTrue(o.get("data").getClass().equals(double[].class));
+ assertTrue(o.get("random").getClass().equals(JsonObject.class));
+ assertTrue(o.get("signature").getClass().equals(String.class));
+
+ assertTrue(roc.verifySignature((JsonObject)o.get("random"), (String)o.get("signature")));
+ } catch (Exception e) {
+ Assert.fail("Networking error: " + e.getClass().getName() + ":" + e.getMessage());
+ }
+ }
+
+ @Test
+ public void testPositiveGenerateSignedStrings_1(){
+ try {
+ HashMap o = roc.generateSignedStrings(10, 5, "abcd");
+
+ assertNotNull(o);
+
+ assertTrue(o.containsKey("data"));
+ assertTrue(o.containsKey("random"));
+ assertTrue(o.containsKey("signature"));
+
+ assertTrue(o.get("data").getClass().equals(String[].class));
+ assertTrue(o.get("random").getClass().equals(JsonObject.class));
+ assertTrue(o.get("signature").getClass().equals(String.class));
+
+ assertTrue(roc.verifySignature((JsonObject)o.get("random"), (String)o.get("signature")));
+ } catch (Exception e) {
+ Assert.fail("Networking error: " + e.getClass().getName() + ":" + e.getMessage());
+ }
+ try {
+ HashMap o = roc2.generateSignedStrings(10, 5, "abcd");
+
+ assertNotNull(o);
+
+ assertTrue(o.containsKey("data"));
+ assertTrue(o.containsKey("random"));
+ assertTrue(o.containsKey("signature"));
+
+ assertTrue(o.get("data").getClass().equals(String[].class));
+ assertTrue(o.get("random").getClass().equals(JsonObject.class));
+ assertTrue(o.get("signature").getClass().equals(String.class));
+
+ assertTrue(roc.verifySignature((JsonObject)o.get("random"), (String)o.get("signature")));
+ } catch (Exception e) {
+ Assert.fail("Networking error: " + e.getClass().getName() + ":" + e.getMessage());
+ }
+ }
+
+ @Test
+ public void testPositiveGenerateSignedStrings_2(){
+ try {
+ HashMap o = roc.generateSignedStrings(10, 5, "abcd", false);
+
+ assertNotNull(o);
+
+ assertTrue(o.containsKey("data"));
+ assertTrue(o.containsKey("random"));
+ assertTrue(o.containsKey("signature"));
+
+ assertTrue(o.get("data").getClass().equals(String[].class));
+ assertTrue(o.get("random").getClass().equals(JsonObject.class));
+ assertTrue(o.get("signature").getClass().equals(String.class));
+
+ assertTrue(roc.verifySignature((JsonObject)o.get("random"), (String)o.get("signature")));
+ } catch (Exception e) {
+ Assert.fail("Networking error: " + e.getClass().getName() + ":" + e.getMessage());
+ }
+ try {
+ HashMap o = roc2.generateSignedStrings(10, 5, "abcd", false);
+
+ assertNotNull(o);
+
+ assertTrue(o.containsKey("data"));
+ assertTrue(o.containsKey("random"));
+ assertTrue(o.containsKey("signature"));
+
+ assertTrue(o.get("data").getClass().equals(String[].class));
+ assertTrue(o.get("random").getClass().equals(JsonObject.class));
+ assertTrue(o.get("signature").getClass().equals(String.class));
+
+ assertTrue(roc.verifySignature((JsonObject)o.get("random"), (String)o.get("signature")));
+ } catch (Exception e) {
+ Assert.fail("Networking error: " + e.getClass().getName() + ":" + e.getMessage());
+ }
+ }
+
+ @Test
+ public void testPositiveGenerateSignedUUIDs(){
+ try {
+ HashMap o = roc.generateSignedUUIDs(10);
+
+ assertNotNull(o);
+
+ assertTrue(o.containsKey("data"));
+ assertTrue(o.containsKey("random"));
+ assertTrue(o.containsKey("signature"));
+
+ assertTrue(o.get("data").getClass().equals(UUID[].class));
+ assertTrue(o.get("random").getClass().equals(JsonObject.class));
+ assertTrue(o.get("signature").getClass().equals(String.class));
+
+ assertTrue(roc.verifySignature((JsonObject)o.get("random"), (String)o.get("signature")));
+ } catch (Exception e) {
+ Assert.fail("Networking error: " + e.getClass().getName() + ":" + e.getMessage());
+ }
+ try {
+ HashMap o = roc2.generateSignedUUIDs(10);
+
+ assertNotNull(o);
+
+ assertTrue(o.containsKey("data"));
+ assertTrue(o.containsKey("random"));
+ assertTrue(o.containsKey("signature"));
+
+ assertTrue(o.get("data").getClass().equals(UUID[].class));
+ assertTrue(o.get("random").getClass().equals(JsonObject.class));
+ assertTrue(o.get("signature").getClass().equals(String.class));
+
+ assertTrue(roc.verifySignature((JsonObject)o.get("random"), (String)o.get("signature")));
+ } catch (Exception e) {
+ Assert.fail("Networking error: " + e.getClass().getName() + ":" + e.getMessage());
+ }
+ }
+
+ @Test
+ public void testPositiveGenerateSignedBlobs_1(){
+ try {
+ HashMap o = roc.generateSignedBlobs(10, 16);
+
+ assertNotNull(o);
+
+ assertTrue(o.containsKey("data"));
+ assertTrue(o.containsKey("random"));
+ assertTrue(o.containsKey("signature"));
+
+ assertTrue(o.get("data").getClass().equals(String[].class));
+ assertTrue(o.get("random").getClass().equals(JsonObject.class));
+ assertTrue(o.get("signature").getClass().equals(String.class));
+
+ assertTrue(roc.verifySignature((JsonObject)o.get("random"), (String)o.get("signature")));
+ } catch (Exception e) {
+ Assert.fail("Networking error: " + e.getClass().getName() + ":" + e.getMessage());
+ }
+ try {
+ HashMap o = roc2.generateSignedBlobs(10, 16);
+
+ assertNotNull(o);
+
+ assertTrue(o.containsKey("data"));
+ assertTrue(o.containsKey("random"));
+ assertTrue(o.containsKey("signature"));
+
+ assertTrue(o.get("data").getClass().equals(String[].class));
+ assertTrue(o.get("random").getClass().equals(JsonObject.class));
+ assertTrue(o.get("signature").getClass().equals(String.class));
+
+ assertTrue(roc.verifySignature((JsonObject)o.get("random"), (String)o.get("signature")));
+ } catch (Exception e) {
+ Assert.fail("Networking error: " + e.getClass().getName() + ":" + e.getMessage());
+ }
+ }
+
+ @Test
+ public void testPositiveGenerateSignedBlobs_2(){
+ try {
+ HashMap o = roc.generateSignedBlobs(10, 16, RandomOrgClient.BLOB_FORMAT_HEX);
+
+ assertNotNull(o);
+
+ assertTrue(o.containsKey("data"));
+ assertTrue(o.containsKey("random"));
+ assertTrue(o.containsKey("signature"));
+
+ assertTrue(o.get("data").getClass().equals(String[].class));
+ assertTrue(o.get("random").getClass().equals(JsonObject.class));
+ assertTrue(o.get("signature").getClass().equals(String.class));
+
+ assertTrue(roc.verifySignature((JsonObject)o.get("random"), (String)o.get("signature")));
+ } catch (Exception e) {
+ Assert.fail("Networking error: " + e.getClass().getName() + ":" + e.getMessage());
+ }
+ try {
+ HashMap o = roc2.generateSignedBlobs(10, 16, RandomOrgClient.BLOB_FORMAT_HEX);
+
+ assertNotNull(o);
+
+ assertTrue(o.containsKey("data"));
+ assertTrue(o.containsKey("random"));
+ assertTrue(o.containsKey("signature"));
+
+ assertTrue(o.get("data").getClass().equals(String[].class));
+ assertTrue(o.get("random").getClass().equals(JsonObject.class));
+ assertTrue(o.get("signature").getClass().equals(String.class));
+
+ assertTrue(roc.verifySignature((JsonObject)o.get("random"), (String)o.get("signature")));
+ } catch (Exception e) {
+ Assert.fail("Networking error: " + e.getClass().getName() + ":" + e.getMessage());
+ }
+ }
+
+ // Test Functions (Cache)
+
+ @Test
+ public void testIntegerCache(){
+ RandomOrgCache c = roc.createIntegerCache(5, 0, 10);
+ c.stop();
+
+ try {
+ c.get();
+ Assert.fail("should have thrown NoSuchElementException");
+ } catch (NoSuchElementException e) {}
+
+ c.resume();
+
+ int[] got = null;
+
+ while (got == null) {
+ try {
+ got = c.get();
+ } catch (NoSuchElementException e) {
+ try {
+ Thread.sleep(50);
+ } catch (InterruptedException e1) {
+ Assert.fail("shouldn't have been interrupted!");
+ }
+ }
+ }
+
+ assertNotNull(got);
+ }
+
+ @Test
+ public void testDecimalFractionCache(){
+ RandomOrgCache c = roc2.createDecimalFractionCache(1, 5);
+ c.stop();
+
+ try {
+ c.get();
+ Assert.fail("should have thrown NoSuchElementException");
+ } catch (NoSuchElementException e) {}
+
+ c.resume();
+
+ double[] got = null;
+
+ while (got == null) {
+ try {
+ got = c.get();
+ } catch (NoSuchElementException e) {
+ try {
+ Thread.sleep(50);
+ } catch (InterruptedException e1) {
+ Assert.fail("shouldn't have been interrupted!");
+ }
+ }
+ }
+
+ assertNotNull(got);
+ }
+
+ @Test
+ public void testGaussianCache(){
+ RandomOrgCache c = roc.createGaussianCache(10, 3.41d, 2.1d, 4);
+ c.stop();
+
+ try {
+ c.get();
+ Assert.fail("should have thrown NoSuchElementException");
+ } catch (NoSuchElementException e) {}
+
+ c.resume();
+
+ double[] got = null;
+
+ while (got == null) {
+ try {
+ got = c.get();
+ } catch (NoSuchElementException e) {
+ try {
+ Thread.sleep(50);
+ } catch (InterruptedException e1) {
+ Assert.fail("shouldn't have been interrupted!");
+ }
+ }
+ }
+
+ assertNotNull(got);
+ }
+
+ @Test
+ public void testStringCache(){
+ RandomOrgCache c = roc2.createStringCache(5, 5, "abcds");
+ c.stop();
+
+ try {
+ c.get();
+ Assert.fail("should have thrown NoSuchElementException");
+ } catch (NoSuchElementException e) {}
+
+ c.resume();
+
+ String[] got = null;
+
+ while (got == null) {
+ try {
+ got = c.get();
+ } catch (NoSuchElementException e) {
+ try {
+ Thread.sleep(50);
+ } catch (InterruptedException e1) {
+ Assert.fail("shouldn't have been interrupted!");
+ }
+ }
+ }
+
+ assertNotNull(got);
+ }
+
+ @Test
+ public void testUUIDCache(){
+ RandomOrgCache c = roc.createUUIDCache(5);
+ c.stop();
+
+ try {
+ c.get();
+ Assert.fail("should have thrown NoSuchElementException");
+ } catch (NoSuchElementException e) {}
+
+ c.resume();
+
+ UUID[] got = null;
+
+ while (got == null) {
+ try {
+ got = c.get();
+ } catch (NoSuchElementException e) {
+ try {
+ Thread.sleep(50);
+ } catch (InterruptedException e1) {
+ Assert.fail("shouldn't have been interrupted!");
+ }
+ }
+ }
+
+ assertNotNull(got);
+ }
+
+ @Test
+ public void testBlobCache(){
+ RandomOrgCache c = roc2.createBlobCache(5, 8);
+ c.stop();
+
+ try {
+ c.get();
+ Assert.fail("should have thrown NoSuchElementException");
+ } catch (NoSuchElementException e) {}
+
+ c.resume();
+
+ String[] got = null;
+
+ while (got == null) {
+ try {
+ got = c.get();
+ } catch (NoSuchElementException e) {
+ try {
+ Thread.sleep(50);
+ } catch (InterruptedException e1) {
+ Assert.fail("shouldn't have been interrupted!");
+ }
+ }
+ }
+
+ assertNotNull(got);
+ }
+}
diff --git a/RandomJSONRPC/src/org/random/test/RandomOrgRandomBasicTest.java b/src/test/java/org/random/test/RandomOrgRandomBasicTest.java
similarity index 91%
rename from RandomJSONRPC/src/org/random/test/RandomOrgRandomBasicTest.java
rename to src/test/java/org/random/test/RandomOrgRandomBasicTest.java
index fe393f1..b0477ca 100644
--- a/RandomJSONRPC/src/org/random/test/RandomOrgRandomBasicTest.java
+++ b/src/test/java/org/random/test/RandomOrgRandomBasicTest.java
@@ -14,7 +14,7 @@ public class RandomOrgRandomBasicTest {
private static RandomOrgRandom random;
- private static final String API_KEY_1 = "YOUR_API_KEY_HERE";
+ private static final String API_KEY_1 = System.getenv("API_KEY");
@BeforeClass
public static void testSetup() {