summaryrefslogtreecommitdiff
path: root/src/test/java/com/networknt/schema/Issue426Test.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/java/com/networknt/schema/Issue426Test.java')
-rw-r--r--src/test/java/com/networknt/schema/Issue426Test.java42
1 files changed, 42 insertions, 0 deletions
diff --git a/src/test/java/com/networknt/schema/Issue426Test.java b/src/test/java/com/networknt/schema/Issue426Test.java
new file mode 100644
index 0000000..07c76c3
--- /dev/null
+++ b/src/test/java/com/networknt/schema/Issue426Test.java
@@ -0,0 +1,42 @@
+package com.networknt.schema;
+
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
+
+import java.io.InputStream;
+import java.util.Set;
+
+/**
+ * Validating custom message
+ */
+public class Issue426Test {
+ protected JsonSchema getJsonSchemaFromStreamContentV7(InputStream schemaContent) {
+ JsonSchemaFactory factory = JsonSchemaFactory.getInstance(SpecVersion.VersionFlag.V7);
+ return factory.getSchema(schemaContent);
+ }
+
+ protected JsonNode getJsonNodeFromStreamContent(InputStream content) throws Exception {
+ ObjectMapper mapper = new ObjectMapper();
+ return mapper.readTree(content);
+ }
+
+ @Test
+ public void shouldWorkV7() throws Exception {
+ String schemaPath = "/schema/issue426-v7.json";
+ String dataPath = "/data/issue426.json";
+ InputStream schemaInputStream = getClass().getResourceAsStream(schemaPath);
+ JsonSchema schema = getJsonSchemaFromStreamContentV7(schemaInputStream);
+ InputStream dataInputStream = getClass().getResourceAsStream(dataPath);
+ JsonNode node = getJsonNodeFromStreamContent(dataInputStream);
+ Set<ValidationMessage> errors = schema.validate(node);
+ Assertions.assertEquals(2, errors.size());
+ final JsonNode message = schema.schemaNode.get("message");
+ for(ValidationMessage error : errors) {
+ //validating custom message
+ Assertions.assertEquals(message.get(error.getType()).asText(), error.getMessage());
+ }
+ }
+}
+