|
|
@@ -2,6 +2,9 @@ package org.leumasjaffe.json.schema.tester;
|
|
|
|
|
|
import static org.hamcrest.core.Is.is;
|
|
|
import static org.junit.Assert.*;
|
|
|
+import static org.leumasjaffe.json.schema.matcher.Accepts.accepts;
|
|
|
+import static org.leumasjaffe.json.schema.matcher.AcceptedTypes.acceptsTypes;
|
|
|
+import static org.leumasjaffe.json.schema.matcher.Not.not;
|
|
|
|
|
|
import org.junit.Test;
|
|
|
import org.leumasjaffe.json.schema.Tester;
|
|
|
@@ -20,111 +23,111 @@ public class FormatTesterTest {
|
|
|
@Test
|
|
|
public void testUUIDMatcher() {
|
|
|
Tester test = FormatTester.forCode("uuid");
|
|
|
- assertThat(test.acceptedTypes(), is(new JsonNodeType[]{JsonNodeType.STRING}));
|
|
|
- assertFalse(test.accepts(NullNode.getInstance()));
|
|
|
- assertTrue(test.accepts(new TextNode("00000000-0000-0000-0000-000000000000")));
|
|
|
- assertFalse(test.accepts(new TextNode("0000000-0000-0000-0000-000000000000")));
|
|
|
- assertFalse(test.accepts(new TextNode("X0000000-0000-0000-0000-000000000000")));
|
|
|
+ assertThat(test, acceptsTypes(JsonNodeType.STRING));
|
|
|
+ assertThat(test, not(accepts(NullNode.getInstance())));
|
|
|
+ assertThat(test, accepts(new TextNode("00000000-0000-0000-0000-000000000000")));
|
|
|
+ assertThat(test, not(accepts(new TextNode("0000000-0000-0000-0000-000000000000"))));
|
|
|
+ assertThat(test, not(accepts(new TextNode("X0000000-0000-0000-0000-000000000000"))));
|
|
|
}
|
|
|
|
|
|
@Test
|
|
|
public void testDateTimeMatcher() {
|
|
|
Tester test = FormatTester.forCode("date-time");
|
|
|
- assertThat(test.acceptedTypes(), is(new JsonNodeType[]{JsonNodeType.STRING}));
|
|
|
- assertFalse(test.accepts(NullNode.getInstance()));
|
|
|
- assertTrue(test.accepts(new TextNode("2000-01-01T21:10:10Z")));
|
|
|
- assertTrue(test.accepts(new TextNode("2000-01-01T21:10:10+01:00")));
|
|
|
- assertTrue(test.accepts(new TextNode("2000-01-01T21:10:10-01:00")));
|
|
|
- assertFalse(test.accepts(new TextNode("2000-01-01")));
|
|
|
- assertFalse(test.accepts(new TextNode("21:10:10Z")));
|
|
|
- assertFalse(test.accepts(new TextNode("21:10:10+01:00")));
|
|
|
- assertFalse(test.accepts(new TextNode("21:10:10001:00")));
|
|
|
+ assertThat(test, acceptsTypes(JsonNodeType.STRING));
|
|
|
+ assertThat(test, not(accepts(NullNode.getInstance())));
|
|
|
+ assertThat(test, accepts(new TextNode("2000-01-01T21:10:10Z")));
|
|
|
+ assertThat(test, accepts(new TextNode("2000-01-01T21:10:10+01:00")));
|
|
|
+ assertThat(test, accepts(new TextNode("2000-01-01T21:10:10-01:00")));
|
|
|
+ assertThat(test, not(accepts(new TextNode("2000-01-01"))));
|
|
|
+ assertThat(test, not(accepts(new TextNode("21:10:10Z"))));
|
|
|
+ assertThat(test, not(accepts(new TextNode("21:10:10+01:00"))));
|
|
|
+ assertThat(test, not(accepts(new TextNode("21:10:10001:00"))));
|
|
|
}
|
|
|
|
|
|
@Test
|
|
|
public void testEmailMatcher() {
|
|
|
Tester test = FormatTester.forCode("email");
|
|
|
- assertThat(test.acceptedTypes(), is(new JsonNodeType[]{JsonNodeType.STRING}));
|
|
|
- assertFalse(test.accepts(NullNode.getInstance()));
|
|
|
- assertTrue(test.accepts(new TextNode("user@mail.com")));
|
|
|
- assertFalse(test.accepts(new TextNode("user@mail")));
|
|
|
- assertFalse(test.accepts(new TextNode("@mail.com")));
|
|
|
+ assertThat(test, acceptsTypes(JsonNodeType.STRING));
|
|
|
+ assertThat(test, not(accepts(NullNode.getInstance())));
|
|
|
+ assertThat(test, accepts(new TextNode("user@mail.com")));
|
|
|
+ assertThat(test, not(accepts(new TextNode("user@mail"))));
|
|
|
+ assertThat(test, not(accepts(new TextNode("@mail.com"))));
|
|
|
}
|
|
|
|
|
|
@Test
|
|
|
public void testHostnameMatcher() {
|
|
|
Tester test = FormatTester.forCode("hostname");
|
|
|
- assertThat(test.acceptedTypes(), is(new JsonNodeType[]{JsonNodeType.STRING}));
|
|
|
- assertFalse(test.accepts(NullNode.getInstance()));
|
|
|
- assertTrue(test.accepts(new TextNode("google.com")));
|
|
|
- assertFalse(test.accepts(new TextNode("192.168.0.1")));
|
|
|
- assertFalse(test.accepts(new TextNode("user@google.com")));
|
|
|
- assertFalse(test.accepts(new TextNode("http://google.com")));
|
|
|
+ assertThat(test, acceptsTypes(JsonNodeType.STRING));
|
|
|
+ assertThat(test, not(accepts(NullNode.getInstance())));
|
|
|
+ assertThat(test, accepts(new TextNode("google.com")));
|
|
|
+ assertThat(test, not(accepts(new TextNode("192.168.0.1"))));
|
|
|
+ assertThat(test, not(accepts(new TextNode("user@google.com"))));
|
|
|
+ assertThat(test, not(accepts(new TextNode("http://google.com"))));
|
|
|
}
|
|
|
|
|
|
@Test
|
|
|
public void testipv4Matcher() {
|
|
|
Tester test = FormatTester.forCode("ipv4");
|
|
|
- assertThat(test.acceptedTypes(), is(new JsonNodeType[]{JsonNodeType.STRING}));
|
|
|
- assertFalse(test.accepts(NullNode.getInstance()));
|
|
|
- assertTrue(test.accepts(new TextNode("192.168.0.1")));
|
|
|
- assertFalse(test.accepts(new TextNode("192.168.0.1/24")));
|
|
|
- assertFalse(test.accepts(new TextNode("192.168.0.1:80")));
|
|
|
+ assertThat(test, acceptsTypes(JsonNodeType.STRING));
|
|
|
+ assertThat(test, not(accepts(NullNode.getInstance())));
|
|
|
+ assertThat(test, accepts(new TextNode("192.168.0.1")));
|
|
|
+ assertThat(test, not(accepts(new TextNode("192.168.0.1/24"))));
|
|
|
+ assertThat(test, not(accepts(new TextNode("192.168.0.1:80"))));
|
|
|
}
|
|
|
|
|
|
@Test
|
|
|
public void testipv6Matcher() {
|
|
|
Tester test = FormatTester.forCode("ipv6");
|
|
|
- assertThat(test.acceptedTypes(), is(new JsonNodeType[]{JsonNodeType.STRING}));
|
|
|
- assertFalse(test.accepts(NullNode.getInstance()));
|
|
|
- assertTrue(test.accepts(new TextNode("::1")));
|
|
|
- assertFalse(test.accepts(new TextNode("[::1]:80")));
|
|
|
+ assertThat(test, acceptsTypes(JsonNodeType.STRING));
|
|
|
+ assertThat(test, not(accepts(NullNode.getInstance())));
|
|
|
+ assertThat(test, accepts(new TextNode("::1")));
|
|
|
+ assertThat(test, not(accepts(new TextNode("[::1]:80"))));
|
|
|
}
|
|
|
|
|
|
|
|
|
@Test
|
|
|
public void testURIMatcher() {
|
|
|
Tester test = FormatTester.forCode("uri");
|
|
|
- assertThat(test.acceptedTypes(), is(new JsonNodeType[]{JsonNodeType.STRING}));
|
|
|
- assertFalse(test.accepts(NullNode.getInstance()));
|
|
|
- assertTrue(test.accepts(new TextNode("file:///var/log/syslog")));
|
|
|
- assertFalse(test.accepts(new TextNode("#/definitions/schemaArray")));
|
|
|
- assertTrue(test.accepts(new TextNode("http://google.com")));
|
|
|
- assertFalse(test.accepts(new TextNode("100:file")));
|
|
|
- assertFalse(test.accepts(new TextNode("http://google.com/{domain}")));
|
|
|
+ assertThat(test, acceptsTypes(JsonNodeType.STRING));
|
|
|
+ assertThat(test, not(accepts(NullNode.getInstance())));
|
|
|
+ assertThat(test, accepts(new TextNode("file:///var/log/syslog")));
|
|
|
+ assertThat(test, not(accepts(new TextNode("#/definitions/schemaArray"))));
|
|
|
+ assertThat(test, accepts(new TextNode("http://google.com")));
|
|
|
+ assertThat(test, not(accepts(new TextNode("100:file"))));
|
|
|
+ assertThat(test, not(accepts(new TextNode("http://google.com/{domain}"))));
|
|
|
}
|
|
|
|
|
|
@Test
|
|
|
public void testURIReferenceMatcher() {
|
|
|
Tester test = FormatTester.forCode("uri-reference");
|
|
|
- assertThat(test.acceptedTypes(), is(new JsonNodeType[]{JsonNodeType.STRING}));
|
|
|
- assertFalse(test.accepts(NullNode.getInstance()));
|
|
|
- assertTrue(test.accepts(new TextNode("file:///var/log/syslog")));
|
|
|
- assertTrue(test.accepts(new TextNode("#/definitions/schemaArray")));
|
|
|
- assertTrue(test.accepts(new TextNode("http://google.com")));
|
|
|
- assertFalse(test.accepts(new TextNode("100:file")));
|
|
|
- assertFalse(test.accepts(new TextNode("http://google.com/{domain}")));
|
|
|
+ assertThat(test, acceptsTypes(JsonNodeType.STRING));
|
|
|
+ assertThat(test, not(accepts(NullNode.getInstance())));
|
|
|
+ assertThat(test, accepts(new TextNode("file:///var/log/syslog")));
|
|
|
+ assertThat(test, accepts(new TextNode("#/definitions/schemaArray")));
|
|
|
+ assertThat(test, accepts(new TextNode("http://google.com")));
|
|
|
+ assertThat(test, not(accepts(new TextNode("100:file"))));
|
|
|
+ assertThat(test, not(accepts(new TextNode("http://google.com/{domain}"))));
|
|
|
}
|
|
|
|
|
|
@Test
|
|
|
public void testURITemplateeMatcher() {
|
|
|
Tester test = FormatTester.forCode("uri-template");
|
|
|
- assertThat(test.acceptedTypes(), is(new JsonNodeType[]{JsonNodeType.STRING}));
|
|
|
- assertFalse(test.accepts(NullNode.getInstance()));
|
|
|
- assertTrue(test.accepts(new TextNode("file:///var/log/syslog")));
|
|
|
- assertTrue(test.accepts(new TextNode("#/definitions/schemaArray")));
|
|
|
- assertTrue(test.accepts(new TextNode("http://google.com")));
|
|
|
- assertFalse(test.accepts(new TextNode("100:file")));
|
|
|
- assertTrue(test.accepts(new TextNode("http://google.com/{domain}")));
|
|
|
+ assertThat(test, acceptsTypes(JsonNodeType.STRING));
|
|
|
+ assertThat(test, not(accepts(NullNode.getInstance())));
|
|
|
+ assertThat(test, accepts(new TextNode("file:///var/log/syslog")));
|
|
|
+ assertThat(test, accepts(new TextNode("#/definitions/schemaArray")));
|
|
|
+ assertThat(test, accepts(new TextNode("http://google.com")));
|
|
|
+ assertThat(test, not(accepts(new TextNode("100:file"))));
|
|
|
+ assertThat(test, accepts(new TextNode("http://google.com/{domain}")));
|
|
|
}
|
|
|
|
|
|
@Test
|
|
|
public void testJsonPointerMatcher() {
|
|
|
Tester test = FormatTester.forCode("json-pointer");
|
|
|
- assertThat(test.acceptedTypes(), is(new JsonNodeType[]{JsonNodeType.STRING}));
|
|
|
- assertFalse(test.accepts(NullNode.getInstance()));
|
|
|
- assertTrue(test.accepts(new TextNode("/definitions/schemaArray")));
|
|
|
- assertFalse(test.accepts(new TextNode("#/definitions/schemaArray")));
|
|
|
- assertTrue(test.accepts(new TextNode("/definitions/schemas/5/")));
|
|
|
+ assertThat(test, acceptsTypes(JsonNodeType.STRING));
|
|
|
+ assertThat(test, not(accepts(NullNode.getInstance())));
|
|
|
+ assertThat(test, accepts(new TextNode("/definitions/schemaArray")));
|
|
|
+ assertThat(test, not(accepts(new TextNode("#/definitions/schemaArray"))));
|
|
|
+ assertThat(test, accepts(new TextNode("/definitions/schemas/5/")));
|
|
|
}
|
|
|
}
|