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; public class Issue456Test { 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 shouldWorkT2() throws Exception { String schemaPath = "/schema/issue456-v7.json"; String dataPath = "/data/issue456-T2.json"; // String dataT3Path = "/data/issue456-T3.json"; InputStream schemaInputStream = getClass().getResourceAsStream(schemaPath); JsonSchema schema = getJsonSchemaFromStreamContentV7(schemaInputStream); InputStream dataInputStream = getClass().getResourceAsStream(dataPath); JsonNode node = getJsonNodeFromStreamContent(dataInputStream); Set errors = schema.validate(node); Assertions.assertEquals(0, errors.size()); } @Test public void shouldWorkT3() throws Exception { String schemaPath = "/schema/issue456-v7.json"; String dataPath = "/data/issue456-T3.json"; InputStream schemaInputStream = getClass().getResourceAsStream(schemaPath); JsonSchema schema = getJsonSchemaFromStreamContentV7(schemaInputStream); InputStream dataInputStream = getClass().getResourceAsStream(dataPath); JsonNode node = getJsonNodeFromStreamContent(dataInputStream); Set errors = schema.validate(node); Assertions.assertEquals(0, errors.size()); } }