1 package com.networknt.schema; 2 3 import com.networknt.schema.SpecVersion.VersionFlag; 4 5 import org.junit.jupiter.api.DisplayName; 6 import org.junit.jupiter.api.DynamicNode; 7 import org.junit.jupiter.api.TestFactory; 8 9 import java.nio.file.Path; 10 import java.nio.file.Paths; 11 import java.util.stream.Stream; 12 13 @DisplayName("JSON Schema Test Suite Extras") 14 class JsonSchemaTestSuiteExtrasTest extends AbstractJsonSchemaTestSuite { 15 16 private static final Path excluded = Paths.get("src/test/resources/draft4/relativeRefRemote.json"); 17 18 @TestFactory 19 @DisplayName("Draft 2020-12") draft2022012()20 Stream<DynamicNode> draft2022012() { 21 return createTests(VersionFlag.V202012, "src/test/resources/draft2020-12"); 22 } 23 24 @TestFactory 25 @DisplayName("Draft 2019-09") draft201909()26 Stream<DynamicNode> draft201909() { 27 return createTests(VersionFlag.V201909, "src/test/resources/draft2019-09"); 28 } 29 30 @TestFactory 31 @DisplayName("Draft 7") draft7()32 Stream<DynamicNode> draft7() { 33 return createTests(VersionFlag.V7, "src/test/resources/draft7"); 34 } 35 36 @TestFactory 37 @DisplayName("Draft 6") draft6()38 Stream<DynamicNode> draft6() { 39 return createTests(VersionFlag.V6, "src/test/resources/draft6"); 40 } 41 42 @TestFactory 43 @DisplayName("Draft 4") draft4()44 Stream<DynamicNode> draft4() { 45 return createTests(VersionFlag.V4, "src/test/resources/draft4"); 46 } 47 48 @Override enabled(Path path)49 protected boolean enabled(Path path) { 50 return !excluded.equals(path); 51 } 52 53 } 54