Invalid json schema doesn't fail the test

Issue #18 resolved
kim created an issue

We tried to validate against a swagger file which contains some invalid urls and it fails during

ValidationReport report = (ValidationReport)((PactFragment)pactFragment.get()).toPact().getInteractions().stream().map((i) -> {
                return this.validator.validate(new PactRequest(i.getRequest()), new PactResponse(i.getResponse()));

Exception:

com.github.fge.jsonschema.core.exceptions.InvalidSchemaException: fatal: invalid JSON Schema, cannot continue
Syntax errors:
[ {
  "level" : "error",
  "message" : "string is not a valid URI: \"#/definitions/{\n  [......],
  "domain" : "syntax",
  "schema" : {
    "loadingURI" : "#",
    "pointer" : ""
  },
  "keyword" : "$ref",
  "value" : "string is not a valid URI: \"#/definitions/{\n  [......],
} ]
    level: "fatal"

  at com.github.fge.jsonschema.processors.validation.InstanceValidator.process(InstanceValidator.java:115)
  at com.github.fge.jsonschema.processors.validation.ValidationProcessor.process(ValidationProcessor.java:56)
  at com.github.fge.jsonschema.processors.validation.ValidationProcessor.process(ValidationProcessor.java:34)
  at com.github.fge.jsonschema.core.processing.ProcessingResult.of(ProcessingResult.java:79)
  at com.github.fge.jsonschema.main.JsonSchema.doValidate(JsonSchema.java:76)
  at com.github.fge.jsonschema.main.JsonSchema.validate(JsonSchema.java:109)
  at com.atlassian.oai.validator.schema.SchemaValidator.doValidate(SchemaValidator.java:116)
  at com.atlassian.oai.validator.schema.SchemaValidator.validate(SchemaValidator.java:70)
  at com.atlassian.oai.validator.interaction.ResponseValidator.validateResponse(ResponseValidator.java:70)
  at com.atlassian.oai.validator.SwaggerRequestResponseValidator.validate(SwaggerRequestResponseValidator.java:141)
  at com.atlassian.oai.validator.pact.ValidatedPactProviderRule.lambda$validatePactDef$0(ValidatedPactProviderRule.java:77)
  at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
  at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1374)
  at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
  at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
  at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
  at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
  at java.util.stream.ReferencePipeline.reduce(ReferencePipeline.java:474)
  at com.atlassian.oai.validator.pact.ValidatedPactProviderRule.validatePactDef(ValidatedPactProviderRule.java:78)
  at com.atlassian.oai.validator.pact.ValidatedPactProviderRule.access$000(ValidatedPactProviderRule.java:27)
  at com.atlassian.oai.validator.pact.ValidatedPactProviderRule$1.evaluate(ValidatedPactProviderRule.java:61)

Comments (3)

  1. Log in to comment