1 package com.networknt.schema; 2 3 import com.fasterxml.jackson.databind.ObjectMapper; 4 import org.junit.jupiter.api.Test; 5 6 import static org.junit.jupiter.api.Assertions.assertEquals; 7 8 public class CyclicDependencyTest { 9 10 @Test whenDependencyBetweenSchemaThenValidationSuccessful()11 public void whenDependencyBetweenSchemaThenValidationSuccessful() throws Exception { 12 13 JsonSchemaFactory schemaFactory = JsonSchemaFactory 14 .builder(JsonSchemaFactory.getInstance(SpecVersion.VersionFlag.V4)) 15 .build(); 16 String jsonObject = "{\n" + 17 " \"element\": {\n" + 18 " \"id\": \"top\",\n" + 19 " \"extension\": [\n" + 20 " {\n" + 21 " \"url\": \"http://inner.test\"\n" + 22 " }\n" + 23 " ]\n" + 24 " },\n" + 25 " \"extension\": [\n" + 26 " {\n" + 27 " \"url\": \"http://top.test\",\n" + 28 " \"valueElement\": {\n" + 29 " \"id\": \"inner\"\n" + 30 " }\n" + 31 " }\n" + 32 " ]\n" + 33 "}"; 34 35 SchemaValidatorsConfig config = new SchemaValidatorsConfig(); 36 JsonSchema schema = schemaFactory.getSchema(SchemaLocation.of("resource:/draft4/issue258/Master.json"), config); 37 assertEquals(0, schema.validate(new ObjectMapper().readTree(jsonObject)).size()); 38 } 39 40 41 } 42