Skip to content

Commit 7357417

Browse files
authored
Fix OverrideValidatorTest (#1159)
1 parent 4ba8ecf commit 7357417

File tree

1 file changed

+20
-8
lines changed

1 file changed

+20
-8
lines changed

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

+20-8
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,11 @@
2424
import org.junit.jupiter.api.Test;
2525

2626
import java.io.IOException;
27+
import java.util.Arrays;
2728
import java.util.Set;
2829

2930
import static org.junit.jupiter.api.Assertions.assertEquals;
31+
import static org.junit.jupiter.api.Assertions.assertTrue;
3032

3133
class OverrideValidatorTest {
3234

@@ -37,9 +39,15 @@ void overrideDefaultValidator() throws JsonProcessingException, IOException {
3739
final String schema = "{\n" +
3840
" \"$schema\":\n" +
3941
" \"https://github.com/networknt/json-schema-validator/tests/schemas/example01\",\n" +
40-
" \"properties\": {\"mailaddress\": {\"type\": \"string\", \"format\": \"email\"}}\n" +
42+
" \"properties\": {\n" +
43+
" \"mailaddress\": {\"type\": \"string\", \"format\": \"email\"},\n" +
44+
" \"timestamp\": {\"type\": \"string\", \"format\": \"date-time\"}\n" +
45+
" }\n" +
4146
"}";
42-
final JsonNode targetNode = objectMapper.readTree("{\"mailaddress\": \"a-zA-Z0-9.!#$%&'*[email protected]\"}");
47+
final JsonNode targetNode = objectMapper.readTree("{\n" +
48+
" \"mailaddress\": \"a-zA-Z0-9.!#$%&'*[email protected]\",\n" +
49+
" \"timestamp\": \"bad\"\n" +
50+
"}");
4351
// Use Default EmailValidator
4452
final JsonMetaSchema validatorMetaSchema = JsonMetaSchema
4553
.builder(URI, JsonMetaSchema.getV201909())
@@ -51,7 +59,10 @@ void overrideDefaultValidator() throws JsonProcessingException, IOException {
5159
Set<ValidationMessage> messages = validatorSchema.validate(targetNode, OutputFormat.DEFAULT, (executionContext, validationContext) -> {
5260
executionContext.getExecutionConfig().setFormatAssertionsEnabled(true);
5361
});
54-
assertEquals(1, messages.size());
62+
63+
assertEquals(2, messages.size(), Arrays.toString(messages.toArray()));
64+
assertTrue(messages.stream().anyMatch(it -> it.getInstanceLocation().getName(-1).equals("mailaddress")));
65+
assertTrue(messages.stream().anyMatch(it -> it.getInstanceLocation().getName(-1).equals("timestamp")));
5566

5667
// Override EmailValidator
5768
final JsonMetaSchema overrideValidatorMetaSchema = JsonMetaSchema
@@ -62,9 +73,10 @@ void overrideDefaultValidator() throws JsonProcessingException, IOException {
6273
final JsonSchemaFactory overrideValidatorFactory = JsonSchemaFactory.builder(JsonSchemaFactory.getInstance(SpecVersion.VersionFlag.V201909)).metaSchema(overrideValidatorMetaSchema).build();
6374
final JsonSchema overrideValidatorSchema = overrideValidatorFactory.getSchema(schema);
6475

65-
messages = overrideValidatorSchema.validate(targetNode);
66-
assertEquals(0, messages.size());
67-
68-
76+
messages = overrideValidatorSchema.validate(targetNode, executionContext -> {
77+
executionContext.getExecutionConfig().setFormatAssertionsEnabled(true);
78+
});
79+
assertTrue(messages.stream().anyMatch(it -> it.getInstanceLocation().getName(-1).equals("timestamp")));
80+
assertEquals(1, messages.size());
6981
}
70-
}
82+
}

0 commit comments

Comments
 (0)