Skip to content

Commit 4992d7d

Browse files
Update spec version tests (#614)
Co-authored-by: S. Tuncer Erdogan <tuncer [at] gmail.com>
1 parent f69ea6c commit 4992d7d

File tree

3 files changed

+26
-14
lines changed

3 files changed

+26
-14
lines changed

src/test/java/com/networknt/schema/SpecVersionDetectorTest.java

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,16 @@ public void detectV201909() throws IOException {
5353
}
5454

5555
@Test
56-
public void detectUnsupportedSchemaVersion() throws IOException {
56+
public void detectV202012() throws IOException {
57+
InputStream in = Thread.currentThread().getContextClassLoader()
58+
.getResourceAsStream("draft2020-12/" + SCHEMA_TAG_JSON);
59+
JsonNode node = mapper.readTree(in);
60+
SpecVersion.VersionFlag flag = SpecVersionDetector.detect(node);
61+
assertEquals(SpecVersion.VersionFlag.V202012, flag);
62+
}
63+
64+
@Test
65+
public void detectUnsupportedSchemaVersion() {
5766
assertThrows(JsonSchemaException.class, () -> {
5867
InputStream in = Thread.currentThread().getContextClassLoader()
5968
.getResourceAsStream("data/" + SCHEMA_TAG_JSON);
@@ -63,7 +72,7 @@ public void detectUnsupportedSchemaVersion() throws IOException {
6372
}
6473

6574
@Test
66-
public void detectMissingSchemaVersion() throws IOException {
75+
public void detectMissingSchemaVersion() {
6776
assertThrows(JsonSchemaException.class, () -> {
6877
InputStream in = Thread.currentThread().getContextClassLoader()
6978
.getResourceAsStream("data/" + "schemaTagMissing.json");

src/test/java/com/networknt/schema/SpecVersionTest.java

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -18,14 +18,15 @@
1818
import org.junit.jupiter.api.Assertions;
1919
import org.junit.jupiter.api.Test;
2020

21+
import java.util.Arrays;
2122
import java.util.EnumSet;
2223
import java.util.Set;
2324

2425
public class SpecVersionTest {
2526
@Test
2627
public void testGetVersionValue() {
2728
SpecVersion ds = new SpecVersion();
28-
Set versionFlags = EnumSet.of(
29+
Set<SpecVersion.VersionFlag> versionFlags = EnumSet.of(
2930
SpecVersion.VersionFlag.V4,
3031
SpecVersion.VersionFlag.V201909);
3132
Assertions.assertEquals(ds.getVersionValue(versionFlags), 9); // 0001|1000
@@ -35,27 +36,26 @@ public void testGetVersionValue() {
3536
public void testGetVersionFlags() {
3637
SpecVersion ds = new SpecVersion();
3738

38-
long numericVersionCode = SpecVersion.VersionFlag.V201909.getVersionFlagValue()
39+
long numericVersionCode = SpecVersion.VersionFlag.V202012.getVersionFlagValue()
40+
| SpecVersion.VersionFlag.V201909.getVersionFlagValue()
3941
| SpecVersion.VersionFlag.V6.getVersionFlagValue()
40-
| SpecVersion.VersionFlag.V7.getVersionFlagValue(); // 14
42+
| SpecVersion.VersionFlag.V7.getVersionFlagValue(); // 30
4143

42-
Set versionFlags = ds.getVersionFlags(numericVersionCode);
44+
Set<SpecVersion.VersionFlag> versionFlags = ds.getVersionFlags(numericVersionCode);
4345

4446
assert !versionFlags.contains(SpecVersion.VersionFlag.V4);
4547
assert versionFlags.contains(SpecVersion.VersionFlag.V6);
4648
assert versionFlags.contains(SpecVersion.VersionFlag.V7);
4749
assert versionFlags.contains(SpecVersion.VersionFlag.V201909);
48-
50+
assert versionFlags.contains(SpecVersion.VersionFlag.V202012);
4951
}
5052

5153
@Test
5254
public void testAllVersionValue() {
53-
long numericVersionCode =
54-
SpecVersion.VersionFlag.V201909.getVersionFlagValue()
55-
| SpecVersion.VersionFlag.V4.getVersionFlagValue()
56-
| SpecVersion.VersionFlag.V6.getVersionFlagValue()
57-
| SpecVersion.VersionFlag.V7.getVersionFlagValue(); // 15
58-
Assertions.assertEquals(numericVersionCode, 15);
59-
55+
long numericVersionCode = Arrays.stream(SpecVersion.VersionFlag.values())
56+
.map(SpecVersion.VersionFlag::getVersionFlagValue)
57+
.reduce((a, b) -> a | b)
58+
.orElse(0L);
59+
Assertions.assertEquals(numericVersionCode, 31);
6060
}
6161
}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"$schema": "https://json-schema.org/draft/2020-12/schema"
3+
}

0 commit comments

Comments
 (0)