@Test public void checkingWillNotDiveIntoUnknownKeywords() throws ProcessingException { final ObjectNode node = FACTORY.objectNode(); node.put(K1, K1); final ObjectNode schema = FACTORY.objectNode(); schema.put("foo", node); final SchemaTree tree = new CanonicalSchemaTree(SchemaKey.anonymousKey(), schema); final ValueHolder<SchemaTree> holder = ValueHolder.hold("schema", tree); processor.process(report, holder); verify(checker, never()).checkSyntax(anyCollectionOf(JsonPointer.class), any(MessageBundle.class), anyReport(), anySchema()); }
@Test public void errorsAreCorrectlyReported() throws ProcessingException { final ArgumentCaptor<ProcessingMessage> captor = ArgumentCaptor.forClass(ProcessingMessage.class); final ObjectNode schema = FACTORY.objectNode(); schema.put(K2, ""); final SchemaTree tree = new CanonicalSchemaTree(SchemaKey.anonymousKey(), schema); final ValueHolder<SchemaTree> holder = ValueHolder.hold("schema", tree); processor.process(report, holder); verify(report).log(same(LogLevel.ERROR), captor.capture()); final ProcessingMessage msg = captor.getValue(); assertMessage(msg).hasMessage(ERRMSG); }
= ArgumentCaptor.forClass(ProcessingMessage.class); processor.process(report, holder); verify(report).log(same(LogLevel.WARNING), captor.capture());
@Test(dataProvider = "notSchemas") public void syntaxProcessorYellsOnNonSchemas(final JsonNode node) throws ProcessingException { final ArgumentCaptor<ProcessingMessage> captor = ArgumentCaptor.forClass(ProcessingMessage.class); final SchemaTree tree = new CanonicalSchemaTree(SchemaKey.anonymousKey(), node); final ValueHolder<SchemaTree> holder = ValueHolder.hold("schema", tree); processor.process(report, holder); verify(report).log(same(LogLevel.ERROR), captor.capture()); final ProcessingMessage message = captor.getValue(); final NodeType type = NodeType.getNodeType(node); assertMessage(message) .hasMessage(BUNDLE.printf("core.notASchema", type)) .hasField("found", type); }