{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://policywatcher.online/schemas/webhook-conformance-suite/v1","title":"PolicyWatcher webhook receiver conformance suite","type":"object","required":["schema","suiteVersion","contractVersion","status","executionMode","deliveryAvailable","caseCount","cases","expectedSummary","boundary"],"properties":{"schema":{"const":"https://policywatcher.online/schemas/webhook-conformance-suite/v1"},"suiteVersion":{"const":"1.0.0"},"contractVersion":{"const":"1.0.0"},"status":{"const":"public-test-fixture"},"executionMode":{"const":"local-receiver"},"deliveryAvailable":{"const":false},"caseCount":{"const":8},"cases":{"type":"array","minItems":8,"maxItems":8,"items":{"type":"object","required":["id","title","purpose","expectedCode","input"],"properties":{"id":{"type":"string","pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"},"title":{"type":"string","minLength":1},"purpose":{"type":"string","minLength":1},"expectedCode":{"enum":["valid","invalid_secret","invalid_timestamp","timestamp_outside_tolerance","invalid_signature_header","signature_mismatch"]},"input":{"type":"object","required":["secret","timestamp","rawBody","signatureHeader","nowSeconds","toleranceSeconds"],"properties":{"secret":{"type":"string"},"timestamp":{"type":"integer","minimum":0},"rawBody":{"type":"string"},"signatureHeader":{"type":"string"},"nowSeconds":{"type":"integer","minimum":1},"toleranceSeconds":{"type":"integer","minimum":0,"maximum":3600}},"additionalProperties":false}},"additionalProperties":false}},"expectedSummary":{"type":"object","required":["passed","failed"],"properties":{"passed":{"const":8},"failed":{"const":0}},"additionalProperties":false},"boundary":{"type":"string","minLength":1}},"additionalProperties":false}