diff --git a/cli/config-cli/src/test/java/com/quorum/tessera/config/cli/EncryptorOptionsTest.java b/cli/config-cli/src/test/java/com/quorum/tessera/config/cli/EncryptorOptionsTest.java index 212e0af040..17ddd40127 100644 --- a/cli/config-cli/src/test/java/com/quorum/tessera/config/cli/EncryptorOptionsTest.java +++ b/cli/config-cli/src/test/java/com/quorum/tessera/config/cli/EncryptorOptionsTest.java @@ -50,4 +50,16 @@ public void encryptorTypeDefaultsToNACL() { assertThat(result.getType()).isEqualTo(EncryptorType.NACL); assertThat(result.getProperties()).isEmpty(); } + + @Test + public void encryptorTypeCUSTOM() { + EncryptorOptions encryptorOptions = new EncryptorOptions(); + encryptorOptions.type = EncryptorType.CUSTOM; + + EncryptorConfig result = encryptorOptions.parseEncryptorConfig(); + + assertThat(result).isNotNull(); + assertThat(result.getType()).isEqualTo(EncryptorType.CUSTOM); + assertThat(result.getProperties()).isEmpty(); + } } diff --git a/config/src/main/java/com/quorum/tessera/config/EncryptorType.java b/config/src/main/java/com/quorum/tessera/config/EncryptorType.java index eb3286c944..79cee89622 100644 --- a/config/src/main/java/com/quorum/tessera/config/EncryptorType.java +++ b/config/src/main/java/com/quorum/tessera/config/EncryptorType.java @@ -2,5 +2,6 @@ public enum EncryptorType { NACL, - EC; + EC, + CUSTOM; } diff --git a/config/src/test/java/com/quorum/tessera/config/EncryptorConfigTest.java b/config/src/test/java/com/quorum/tessera/config/EncryptorConfigTest.java index e1b39538bd..62075ec754 100644 --- a/config/src/test/java/com/quorum/tessera/config/EncryptorConfigTest.java +++ b/config/src/test/java/com/quorum/tessera/config/EncryptorConfigTest.java @@ -117,4 +117,25 @@ public void getDefault() { assertThat(encryptorConfig.getType()).isEqualTo(EncryptorType.NACL); assertThat(encryptorConfig.getProperties()).isNull(); } + + @Test + public void marshalCUSTOM() { + + EncryptorConfig encryptorConfig = new EncryptorConfig(); + encryptorConfig.setType(EncryptorType.CUSTOM); + Map properties = new HashMap<>(); + properties.put("greeting", "Hellow"); + properties.put("something", "ELSE"); + properties.put("bogus", null); + + encryptorConfig.setProperties(properties); + + String result = JaxbUtil.marshalToStringNoValidation(encryptorConfig); + + JsonObject json = Json.createReader(new StringReader(result)).readObject(); + + assertThat(json.getJsonObject("properties")).containsKeys("greeting", "something", "bogus"); + assertThat(json.getJsonObject("properties").getString("greeting")).isEqualTo("Hellow"); + assertThat(json.getJsonObject("properties").getString("something")).isEqualTo("ELSE"); + } }