• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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