Schemathesis v4.30.1 ━━━━━━━━━━━━━━━━━━━━ ✅ Loaded specification from http://0.0.0.0:42565/openapi.json (in 0.10s) Base URL: http://0.0.0.0:42565 Specification: Open API 3.1.0 Operations: 20 selected / 20 total Configuration: /home/stranger6667/data/programming/workbench/target s/opal/schemathesis.toml Dictionaries: 1 dictionary / 1 entry ✅ API capabilities: Supports NULL byte in headers: ✘ Accepts backslash and control characters in URL paths: ✓ ⏭ Examples (in 0.01s) ⏭ 20 skipped ❌ Coverage (in 1.75s) ✅ 4 passed ❌ 16 failed ❌ Fuzzing (in 2581.49s) ✅ 3 passed ❌ 17 failed ❌ Stateful (in 1016.54s) Scenarios: 26101 API Links: 12 covered / 20 selected / 20 total ✅ 25702 passed ❌ 399 failed =================================== FAILURES =================================== __________________________ DELETE /scopes/{scope_id} ___________________________ 1. Test Case ID: ZY6YvH - Server error - Undocumented HTTP status code Received: 500 Documented: 204, 422 [500] Internal Server Error: `{"error":"Uncaught server exception"}` Reproduce with: curl -X DELETE -H 'Authorization: [Filtered]' http://0.0.0.0:42565/scopes/%F0%9F%9A%AE%C2%8At%F1%AE%A4%A1%F0%A2%86%BA%3D1.5%C2%AB%C3%BA _______________________________ GET /data/config _______________________________ 1. Test Case ID: PQXXbO - Response violates schema (3 violations) null is not of type "number" Validated against the response schema for status code 200. Schema at /components/schemas/DataSourceEntryWithPollingInterval/properties/periodic_update_interval: { "type": "number", "title": "Periodic Update Interval", "description": "Polling interval to refresh data from data source" } Value: null null is not of type "object" Validated against the response schema for status code 200. Schema at /components/schemas/DataSourceEntryWithPollingInterval/properties/config: { "type": "object", "title": "Config", "description": "Suggested fetcher configuration (e.g. auth or method) to ... } Value: null null is not valid under any of the schemas listed in the 'anyOf' keyword Validated against the response schema for status code 200. Schema at /components/schemas/DataSourceEntryWithPollingInterval/properties/data: { "anyOf": [ { "items": { "$ref": "#/components/schemas/JSONPatchAction" }, "type": "array" }, { "items": {}, "type": "array" }, { "type": "object" } ], "title": "Data", "description": "Data payload to embed within the data update (instead of ... } Value: null [200] OK: `{"entries":[{"url":"http://localhost:7002/policy-data","config":null,"topics":["policy_data"],"dst_path":"/static","save_method":"PUT","data":null,"periodic_update_interval":null}]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:42565/data/config _________________________________ GET /policy __________________________________ 1. Test Case ID: T0RFg9 - Server error - Undocumented HTTP status code Received: 500 Documented: 200, 422 [500] Internal Server Error: `{"error":"Uncaught server exception"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:42565/policy?base_hash=&base_clone_path=&clone_subdirectory_prefix=&path=' 2. Test Case ID: VIWzzO - Server error - Undocumented HTTP status code Received: 503 Documented: 200, 422 [503] Service Unavailable: `{"detail":"policy repo was not found"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:42565/policy?use_fixed_path=true' _________________________________ GET /scopes __________________________________ 1. Test Case ID: vfNOtJ - Response violates schema (2 violations) "auth" is a required property Validated against the response schema for status code 200. Schema at /components/schemas/GitPolicyScopeSource: { "required": [ "source_type", "url", "auth" ], "properties": { "source_type": { "type": "string", "title": "Source Type" }, "url": { "type": "string", "title": "Url" }, "auth": { "oneOf": [ { "$ref": "#/components/schemas/NoAuthData" // Output truncated... } Value: { "branch": "master", "bundle_ignore": null, "directories": [ "." ], "extensions": [ ".rego", ".json" ], "manifest": "", "poll_updates": false, "source_type": "git", "url": "file:///policy-repo" } null is not of type "array" Validated against the response schema for status code 200. Schema at /components/schemas/GitPolicyScopeSource/properties/bundle_ignore: { "type": "array", "items": { "type": "string" }, "title": "Bundle Ignore", "description": "glob paths to omit from bundle" } Value: null [200] OK: `[{"scope_id":"default","policy":{"source_type":"git","url":"file:///policy-repo","directories":["."],"extensions":[".rego",".json"],"bundle_ignore":null,"manifest":"","poll_updates":false,"branch":"master"},"data":{"entries":[]}}]` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:42565/scopes ____________________________ GET /scopes/{scope_id} ____________________________ 1. Test Case ID: GGAZMd - Undocumented HTTP status code Received: 404 Documented: 200, 422 [404] Not Found: `{"detail":"No such scope: 0"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:42565/scopes/0 2. Test Case ID: PTMisA - Response violates schema (2 violations) "auth" is a required property Validated against the response schema for status code 200. Schema at /components/schemas/GitPolicyScopeSource: { "required": [ "source_type", "url", "auth" ], "properties": { "source_type": { "type": "string", "title": "Source Type" }, "url": { "type": "string", "title": "Url" }, "auth": { "oneOf": [ { "$ref": "#/components/schemas/NoAuthData" // Output truncated... } Value: { "branch": "main", "bundle_ignore": null, "directories": [ "." ], "extensions": [ ".rego", ".json" ], "manifest": ".manifest", "poll_updates": false, "source_type": "git", "url": "http://localhost:7002/policy-data" } null is not of type "array" Validated against the response schema for status code 200. Schema at /components/schemas/GitPolicyScopeSource/properties/bundle_ignore: { "type": "array", "items": { "type": "string" }, "title": "Bundle Ignore", "description": "glob paths to omit from bundle" } Value: null [200] OK: `{"scope_id":"default","policy":{"source_type":"git","url":"http://localhost:7002/policy-data","directories":["."],"extensions":[".rego",".json"],"bundle_ignore":null,"manifest":".manifest","poll_updates":false,"branch":"main"},"data":{"entries":[]}}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:42565/scopes/default 3. Test Case ID: sgPKYq - Response violates schema (3 violations) null is not of type "number" Validated against the response schema for status code 200. Schema at /components/schemas/DataSourceEntryWithPollingInterval/properties/periodic_update_interval: { "type": "number", "title": "Periodic Update Interval", "description": "Polling interval to refresh data from data source" } Value: null null is not of type "object" Validated against the response schema for status code 200. Schema at /components/schemas/DataSourceEntryWithPollingInterval/properties/config: { "type": "object", "title": "Config", "description": "Suggested fetcher configuration (e.g. auth or method) to ... } Value: null null is not valid under any of the schemas listed in the 'anyOf' keyword Validated against the response schema for status code 200. Schema at /components/schemas/DataSourceEntryWithPollingInterval/properties/data: { "anyOf": [ { "items": { "$ref": "#/components/schemas/JSONPatchAction" }, "type": "array" }, { "items": {}, "type": "array" }, { "type": "object" } ], "title": "Data", "description": "Data payload to embed within the data update (instead of ... } Value: null [200] OK: `{"scope_id":"Ä","policy":{"source_type":"git","url":"http://localhost:7002/policy-data","directories":["."],"extensions":[".rego",".json"],"bundle_ignore":null,"manifest":".manifest","poll_updates":false,"branch":"main"},"data":{"entries":[{"url":"","config":null,"topics":["policy_data"],"dst_path":"","save_method":"PUT","data":null,"periodic_update_interval":null},{"url":"","config":null,"topics":["policy_data"],"dst_path":"","save_method":"PUT","data":null,"periodic_update_interval":null}]}}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:42565/scopes/%C3%84 4. Test Case ID: nwEoa1 - Server error - Undocumented HTTP status code Received: 500 Documented: 200, 422 [500] Internal Server Error: `{"error":"Uncaught server exception"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:42565/scopes/%F0%9F%9A%AE%C2%8At%F1%AE%A4%A1%F0%A2%86%BA%3D1.5%C2%AB%C3%BA _________________________ GET /scopes/{scope_id}/data __________________________ 1. Test Case ID: zrmODq - Undocumented HTTP status code Received: 403 Documented: 200, 422 [403] Forbidden: `{"detail":"Forbidden"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:42565/scopes/default/data ________________________ GET /scopes/{scope_id}/policy _________________________ 1. Test Case ID: rWfnO5 - Undocumented HTTP status code Received: 403 Documented: 200, 422 [403] Forbidden: `{"detail":"Forbidden"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:42565/scopes/default/policy?base_hash=' _______________________________ GET /statistics ________________________________ 1. Test Case ID: Gf5C5Q - Response violates schema "2026-10-10T10:54:31.721725" is not a "date-time" Validated against the response schema for status code 200. Schema at /components/schemas/ServerStats/properties/uptime: { "format": "date-time", "type": "string", "title": "Uptime", "description": "uptime for this opal server worker" } Value: "2026-10-10T10:54:31.721725" [200] OK: `{"uptime":"2026-10-10T10:54:31.721725","version":"0.0.0","clients":{},"servers":["9892b8724b8345a4aa1e0bae3b451acb"]}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:42565/statistics __________________________________ GET /stats __________________________________ 1. Test Case ID: ewEP0N - Response violates schema "2026-10-10T10:54:31.721725" is not a "date-time" Validated against the response schema for status code 200. Schema at /properties/uptime: { "format": "date-time", "type": "string", "title": "Uptime", "description": "uptime for this opal server worker" } Value: "2026-10-10T10:54:31.721725" [200] OK: `{"uptime":"2026-10-10T10:54:31.721725","version":"0.0.0","client_count":0,"server_count":1}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:42565/stats _____________________________ OPTIONS /data/config _____________________________ 1. Test Case ID: hW9BIP - Invalid Allow header `Allow` header does not match the schema — missing documented methods: POST List exactly the methods this resource supports in `Allow` [405] Method Not Allowed: `{"detail":"Method Not Allowed"}` Reproduce with: curl -X OPTIONS -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"id": "", "entries": [], "reason": "", "callback": {"callbacks": []}}' http://0.0.0.0:42565/data/config _______________________________ OPTIONS /scopes ________________________________ 1. Test Case ID: 57vXAp - Invalid Allow header `Allow` header does not match the schema — missing documented methods: GET List exactly the methods this resource supports in `Allow` [405] Method Not Allowed: `{"detail":"Method Not Allowed"}` Reproduce with: curl -X OPTIONS -H 'Authorization: [Filtered]' http://0.0.0.0:42565/scopes ___________________________ OPTIONS /scopes/refresh ____________________________ 1. Test Case ID: v6xQNF - Invalid Allow header `Allow` header does not match the schema — missing documented methods: POST; undocumented methods advertised: GET List exactly the methods this resource supports in `Allow` [405] Method Not Allowed: `{"detail":"Method Not Allowed"}` Reproduce with: curl -X OPTIONS -H 'Authorization: [Filtered]' http://0.0.0.0:42565/scopes/refresh __________________________ OPTIONS /scopes/{scope_id} __________________________ 1. Test Case ID: LPDZ1P - Invalid Allow header `Allow` header does not match the schema — missing documented methods: DELETE List exactly the methods this resource supports in `Allow` [405] Method Not Allowed: `{"detail":"Method Not Allowed"}` Reproduce with: curl -X OPTIONS -H 'Authorization: [Filtered]' http://0.0.0.0:42565/scopes/0 __________________________ POST /data/callback_report __________________________ 1. Test Case ID: ToAEYS - API accepted schema-violating request Invalid data should have been rejected Expected: 400, 401, 403, 404, 405, 406, 409, 415, 422, 428, 429, 5xx Invalid component: in body - policy_hash: Incorrect type [200] OK: `{}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"update_id": "", "reports": [], "policy_hash": null, "user_data": {}}' http://0.0.0.0:42565/data/callback_report 2. Test Case ID: tYWrWk - Server error - Undocumented HTTP status code Received: 500 Documented: 200, 422 [500] Internal Server Error: `{"error":"Uncaught server exception"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"update_id": "", "reports": [{"entry": {"url": "", "config": {}, "topics": ["policy_data"], "dst_path": "", "save_method": {}, "data": []}, "fetched": false, "saved": false, "hash": ""}], "policy_hash": "", "user_data": {}}' http://0.0.0.0:42565/data/callback_report 3. Test Case ID: jIyJQD - Undocumented HTTP status code Received: 400 Documented: 200, 422 [400] Bad Request: `{"detail":"There was an error parsing the body"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '�' http://0.0.0.0:42565/data/callback_report ______________________________ POST /data/config _______________________________ 1. Test Case ID: WEfR2C - API accepted schema-violating request Invalid data should have been rejected Expected: 400, 401, 403, 404, 405, 406, 409, 415, 422, 428, 429, 5xx Invalid component: in body - callback -> callbacks -> Array with invalid items: Array with invalid item at index 1: process_data: Incorrect type [200] OK: `{"status":"ok"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"id": "", "entries": [], "reason": "", "callback": {"callbacks": [["", {"fetcher": "", "headers": {}, "is_json": true, "process_data": 0, "method": "get", "data": null}]]}}' http://0.0.0.0:42565/data/config 2. Test Case ID: A1H2Ja - Server error - Undocumented HTTP status code Received: 500 Documented: 200, 422 [500] Internal Server Error: `{"error":"Uncaught server exception"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"id": "", "entries": [{"url": "", "config": {}, "topics": ["policy_data"], "dst_path": "", "save_method": {}, "data": []}], "reason": "", "callback": {"callbacks": []}}' http://0.0.0.0:42565/data/config 3. Test Case ID: 7o8O0m - Undocumented HTTP status code Received: 400 Documented: 200, 422 [400] Bad Request: `{"detail":"There was an error parsing the body"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'TL��-\x1d' http://0.0.0.0:42565/data/config _____________________________ POST /scopes/refresh _____________________________ 1. Test Case ID: PLipm6 - JSON deserialization error Response must be valid JSON with 'Content-Type: application/json' header: Expecting value: line 1 column 1 (char 0) - Missing Content-Type header The following media types are documented in the schema: - `application/json` [200] OK: Reproduce with: curl -X POST -H 'Authorization: [Filtered]' http://0.0.0.0:42565/scopes/refresh _____________________ POST /scopes/{scope_id}/data/update ______________________ 1. Test Case ID: txTzcv - API accepted schema-violating request Invalid data should have been rejected Expected: 400, 401, 403, 404, 405, 406, 409, 415, 422, 428, 429, 5xx Invalid component: in body - callback -> callbacks -> Array with invalid items: Array with invalid item at index 1: process_data: Incorrect type [200] OK: `null` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"id": "", "entries": [], "reason": "", "callback": {"callbacks": [["", {"fetcher": "", "headers": {}, "is_json": true, "process_data": 0, "method": "get", "data": null}]]}}' http://0.0.0.0:42565/scopes/default/data/update 2. Test Case ID: yl14H2 - Server error - Undocumented HTTP status code Received: 500 Documented: 200, 422 [500] Internal Server Error: `{"error":"Uncaught server exception"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"id": "", "entries": [{"url": "", "config": {}, "topics": ["policy_data"], "dst_path": "", "save_method": {}, "data": []}], "reason": "", "callback": {"callbacks": []}}' http://0.0.0.0:42565/scopes/default/data/update 3. Test Case ID: LsF9NJ - Undocumented HTTP status code Received: 400 Documented: 200, 422 [400] Bad Request: `{"detail":"There was an error parsing the body"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d $'�R\x03' http://0.0.0.0:42565/scopes/default/data/update _______________________ POST /scopes/{scope_id}/refresh ________________________ 1. Test Case ID: dUO42B - JSON deserialization error Response must be valid JSON with 'Content-Type: application/json' header: Expecting value: line 1 column 1 (char 0) - Missing Content-Type header The following media types are documented in the schema: - `application/json` [200] OK: Reproduce with: curl -X POST -H 'Authorization: [Filtered]' 'http://0.0.0.0:42565/scopes/default/refresh?hinted_hash=' 2. Test Case ID: CdLvuv - Undocumented HTTP status code Received: 404 Documented: 200, 422 [404] Not Found: `{"detail":"No such scope: ´Á󬃇\u0016"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' http://0.0.0.0:42565/scopes/%C2%B4%C3%81%F3%AC%83%87%16/refresh 3. Test Case ID: ebxF7k - Server error - Undocumented HTTP status code Received: 500 Documented: 200, 422 [500] Internal Server Error: `{"error":"Uncaught server exception"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' 'http://0.0.0.0:42565/scopes/%F0%9F%9A%AE%C2%8At%F1%AE%A4%A1%F0%A2%86%BA%3D1.5%C2%AB%C3%BA/refresh?hinted_hash=h%C2%97%C3%92' _________________________________ POST /token __________________________________ 1. Test Case ID: KqLc8P - Response violates schema "2026-10-10T10:54:32.618317" is not a "date-time" Validated against the response schema for status code 200. Schema at /components/schemas/TokenDetails/properties/expired: { "format": "date-time", "type": "string", "title": "Expired" } Value: "2026-10-10T10:54:32.618317" - API accepted schema-violating request Invalid data should have been rejected Expected: 400, 401, 403, 404, 405, 406, 409, 415, 422, 428, 429, 5xx Invalid component: in body - ttl: Incorrect type [200] OK: `{"token":"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE3OTE2Mjk2NzIsImV4cCI6MTc5MTYyOTY3MiwiYXVkIjoiaHR0cHM6Ly9hcGkub3BhbC5hYy92MS8iLCJpc3MiOiJodHRwczovL29wYWwuYWMvIiwic3ViIjoiZTNlNzA2ODJjMjA5MWNhY2EyOWY2ZmJlZDgyYzA3Y2QiLCJwZWVyX3R5cGUiOiJjbGllbnQifQ.X2IT5LxnLfHgwVoYRymyR_a4ojdkj1SzghcSxndm4S345BB3jIaz820ufhSAGGDqrgIKeX3me77jxCNmrWPPZMoYpRORZxZCxBTTsHWosZMC5a7MwAsA8iWl4fDEne0nTDYaOBRulw4-EWQiqxvfkkQtJg9FKYTUUhxdqNN-4YI7ph-P9YPIhSzUUTkxPxM7d794iAOQWrX_2krKly2jS8VUYaJD1YriDeJ9eFjlT6ciB8bQR9SyqG4hmaA5H3lckc // Output truncated...` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"id": "e3e70682-c209-1cac-a29f-6fbed82c07cd", "type": "client", "ttl": false, "claims": {}}' http://0.0.0.0:42565/token 2. Test Case ID: zEbEEr - Server error - Undocumented HTTP status code Received: 500 Documented: 200, 422 [500] Internal Server Error: `{"error":"Uncaught server exception"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"\u00ab\udb82\udfaaS\uda22\ude03\u000f|\u00f0\u00bch\u00c3": [false], "\ud888\udfe0\u0002\u00fb)v": {}, "\u00a6\u00de\u00d2\ud8d6\udf5d\udb4c\uddcd\u00b6\u00f9\u00a0R\u000e\ud97e\udc8bBm\u0093": [-2.1350007672302636e+16, "\r"], "+\ud8e1\udcfc\u0018\u00b8\u00d1n\ud817\udcc6\u10bc\u00f2\udb9e\udde9G\u00f1[\ud80b\udd97R": [], "\u0010\udbc9\ude42df\f\u00bf\u00a1\u0010.\udaba\udd63M\u00b4g\u0015": -2.2250738585072014e-308, "id": "2d072909-2f3b-4f6b-941a-fc78caedb0cc", "type": "listener", "claims": {"\u00a2": [{"bD\uda6e\udd3e\u0002\u00cd\u0019\udaee\uded8\u0005\u0081": null, "b>y\u0016\u00fa\u00fdF\u0012\u0083\f\u00a6\u00a0\u2b56\u00e0\udb30\udfb90\u00b9": null, "\ud929\udf74\udbd5\ude54\ud9e6\ude2e\ud845\udda0\ud815\udc5c\udb9f\udfe8*\u00ed\udbc9\udeb1\ud9c9\udc7d": -1.1}, [{}], {"%;\u00de\ud8ba\uddc2\u9961\u0007\udbb3\udf31\u00db\u008b\uda1c\udf6e\u00e7\u00f3": 1435889006866416, "": true}], "s;u\udba8\uddec\u00c8@\u00cc": [[]]}, "ttl": 3.313876428725131e+240}' http://0.0.0.0:42565/token 3. Test Case ID: CGbxNP - Undocumented HTTP status code Received: 400 Documented: 200, 422 [400] Bad Request: `{"detail":"There was an error parsing the body"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '�' http://0.0.0.0:42565/token ________________________________ POST /webhook _________________________________ 1. Test Case ID: RoDIg6 - Server error - Undocumented HTTP status code Received: 500 Documented: 200 [500] Internal Server Error: `{"error":"Uncaught server exception"}` Reproduce with: curl -X POST -H 'Authorization: [Filtered]' http://0.0.0.0:42565/webhook _________________________________ PUT /scopes __________________________________ 1. Test Case ID: RKC9S9 - Server error - Undocumented HTTP status code Received: 500 Documented: 201, 422 [500] Internal Server Error: `{"error":"Uncaught server exception"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"scope_id": "", "policy": {"source_type": "", "url": "", "auth": "[Filtered]", "directories": ["."], "extensions": [".rego", ".json"], "bundle_ignore": [], "manifest": ".manifest", "poll_updates": false, "branch": "main"}, "data": {"entries": [{"url": "", "config": {}, "topics": ["policy_data"], "dst_path": "", "save_method": {}, "data": [], "periodic_update_interval": 0}]}}' 'http://0.0.0.0:42565/scopes?force_fetch=true' 2. Test Case ID: 0ChX90 - API accepted schema-violating request Invalid data should have been rejected Expected: 400, 401, 403, 404, 405, 406, 409, 415, 422, 428, 429, 5xx Invalid component: in body - policy -> auth -> password: Incorrect type - JSON deserialization error Response must be valid JSON with 'Content-Type: application/json' header: Expecting value: line 1 column 1 (char 0) - Missing Content-Type header The following media types are documented in the schema: - `application/json` [201] Created: Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"scope_id": "", "policy": {"source_type": "", "url": "", "auth": "[Filtered]", "directories": ["."], "extensions": [".rego", ".json"], "bundle_ignore": [], "manifest": ".manifest", "poll_updates": false, "branch": "main"}, "data": {"entries": []}}' 'http://0.0.0.0:42565/scopes?force_fetch=true' 3. Test Case ID: lrLGEF - Response violates schema {"error":"private key is expected to contain newlines!"} is not of type "array" Validated against the response schema for status code 422. Schema at /components/schemas/HTTPValidationError/properties/detail: { "type": "array", "items": { "$ref": "#/components/schemas/ValidationError" }, "title": "Detail" } Value: { "error": "private key is expected to contain newlines!" } [422] Unprocessable Content: `{"detail":{"error":"private key is expected to contain newlines!"}}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"scope_id": "", "policy": {"source_type": "", "url": "", "auth": "[Filtered]", "directories": ["."], "extensions": [".rego", ".json"], "bundle_ignore": [], "manifest": ".manifest", "poll_updates": false, "branch": "main"}, "data": {"entries": []}}' 'http://0.0.0.0:42565/scopes?force_fetch=true' 4. Test Case ID: htPp5D - Undocumented HTTP status code Received: 400 Documented: 201, 422 [400] Bad Request: `{"detail":"There was an error parsing the body"}` Reproduce with: curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d ',�Q�' 'http://0.0.0.0:42565/scopes?force_fetch=true' ________________________________ Stateful tests ________________________________ 1. Test Case ID: A0lMCa - Undocumented HTTP status code Received: 405 Documented: 204, 422 [405] Method Not Allowed: `{"detail":"Method Not Allowed"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:42565/scopes curl -X DELETE -H 'Authorization: [Filtered]' http://0.0.0.0:42565/scopes/ 2. Test Case ID: b2S0Hu - Response violates schema [{"data":{"entries":[]},"policy":{"branch":"main","bundle_ignore":null,"directories":["."],"extensions":[".rego",".json"],"manifest":".manifest","poll_updates":false,"source_type":"git","url":"http://localhost:7002/policy-data"},"scope_id":""}] is not of type "object" Validated against the response schema for status code 200. Schema at /components/schemas/Scope: { "type": "object", "properties": { "scope_id": { "type": "string", "title": "Scope Id", "description": "Scope ID" }, "policy": { "allOf": [ { "$ref": "#/components/schemas/GitPolicyScopeSource" } ], "title": "Policy", "description": "Policy source" }, "data": { "allOf": [ // Output truncated... } Value: [ { "data": { "entries": [] }, "policy": { "branch": "main", "bundle_ignore": null, "directories": [ "." ], "extensions": [ ".rego", ".json" ], "manifest": ".manifest", "poll_updates": false, "source_type": "git", "url": "http://localhost:7002/policy-data" // Output truncated... ] [200] OK: `[{"scope_id":"","policy":{"source_type":"git","url":"http://localhost:7002/policy-data","directories":["."],"extensions":[".rego",".json"],"bundle_ignore":null,"manifest":".manifest","poll_updates":false,"branch":"main"},"data":{"entries":[]}}]` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:42565/scopes curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:42565/scopes/ 3. Test Case ID: yQxqK5 - Undocumented HTTP status code Received: 404 Documented: 200, 422 [404] Not Found: `{"detail":"No such scope: policy"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:42565/scopes curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:42565/scopes/policy?base_hash=G' 4. Test Case ID: Fo5uKL - Undocumented HTTP status code Received: 404 Documented: 200, 422 [404] Not Found: `{"detail":"Not Found"}` Reproduce with: curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:42565/scopes curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"\u0083\u0018\ud886\uddef\u00da0\u001d\ud974\udcb5\udb21\ude92\u009b;": {}, "entries": [{"\u00c82\ud9e0\udc9c": {"\udbd6\uddc1": [], "\u00b0\u00f4\u0088\u0002x": {}, "\u0088\u0088\n\u0000": {"\u0015\u0006\u00d5\u00c3\u009b": {"\u00a9\ud81f\ude63C\udb38\udc37": null, "\u00ffe\uda07\udff2\ud89b\udf50-": 9079686304367132.0, "\u00949\u008fE\u00dc": -5.8859714733215185e+47}, "\ud9c2\udeaf\u009e\"\u00e1:\u00e7\u00e4\ud9dc\udfc9\u0004\ud8ed\udcce\udabc\udfe1w/!\u0012\u0085{\u00a5\udb85\ude21\\\udaa1\udca1\uda3d\udfca": 2.032996463776764e+65}}, "": [false, -123238913, -1329692754345889890304], "save_method": "ev\ud996\udd30", "config": {"\u00f0\u00dc\ud951\udd90J\u00b3\u008b": {"\u0011g\u008cu\t\u009a\udac8\udc00\uda6b\udc05\"\udba5\udfc3\udb68\udc87\ud890\udf55k\udbd9\udf0b": [["\u00b7"], 8952908025834]}, "s\uda2a\ude65": -1.7976931348623155e+308}, "dst_path": "\u00e9", "topics": ["o\udb44\uddbf\u008e/8\u0092:\u00c9\u0005^\u0087\u0082\udb26\uddbbT'"'"'\u00c6", "\u00f9\u0084\u00a4\u00abXO\u00fa-\udaac\udf3fw", "\u00e1\udacb\ude1f\udadf\uddb8\u00b2\udbd8\udd6e!K", "\u00b3D\u0087\u0086\ud9ec\udd08r\u0019\u00fb\u00d4"], "url": "", "data": {"": [[-4.699014590321306e+16, -6.598953322777995e+305, null], [], {"": false}], "hJ\u001c\u00c8\u008b\u00ea": {"\u00ec\u00c7": -1.175494351e-38}, "\udb24\udef8$\u001c.\ud853\udd321iU\u0093\udb06\udf26\uf0d9": {"\u00cc$\u00c4~q": {"<\uda00\udc13": "O"}, ">\udb3a\udfa1": null}, "\u008a\udb3f\udcbdc*Ia": {}, "\udb63\udc02\u00f3\ud818\uddd9{rI\ud810\udcf1k": "\u00be\u00f2\u00f3", "\u0001\u00f4\u0098\u00db\u0099": [9761532130761731805647208448, null, false], "e\u00cd\u0000&\ud98d\udced": {"\u00ad]\u00d0\ud802\udcbc\ud84e\uddb9f\u009f\ud868\udffa\u584a\u0098\u00c2\u008f\u00b3\udb92\udcb1\u00ecPa\u0000\\\u00de\u00be\u00fa!\u0095\ud92c\uddec\u00e3\u00b1\u0004Qx\u00f2\udb53\udf0d\uda73\ude9b\u00e3": true, "\u03a9\u2248\u00e7\u221a\u222b\u02dc\u00b5\u2264\u2265\u00f7\u00e5\u00df\u2202\u0192\u00a9\u02d9\u2206\u02da\u00ac\u2026\u00e6\u0153\u2211\u00b4\u00ae\u2020\u00a5\u00a8\u02c6\u00f8\u03c0\u201c\u2018\u00a1\u2122\u00a3\u00a2\u221e\u00a7\u00b6\u2022\u00aa\u00ba\u2013\u2260\u00b8\u02db\u00c7\u25ca\u0131\u02dc\u00c2\u00af\u02d8\u00bf\u00c5\u00cd\u00ce\u00cf\u02dd\u00d3\u00d4\uf8ff\u00d2\u00da\u00c6\u2603\u0152\u201e\u00b4\u2030\u02c7\u00c1\u00a8\u02c6\u00d8\u220f\u201d\u2019`\u2044\u20ac\u2039\u203a\ufb01\ufb02\u2021\u00b0\u00b7\u201a\u2014\u00b1": null, "\u0097\ud82e\udecftK\u008d\u00f9": -6.703043148930942e-259}, "\udaff\uddc0\udabb\udf83\n": true, "\u00c9\u00b8xW\ud822\udcf1\u009a\ud831\udc66": {"C/": 1.7976931348623157e+308, "\udb1f\udf64\u0015\udb37\udd55K": null, "%V\u00a7\ud8cc\udc2f\u0005": "\u00b9\u0003\ud865\udd66\u0000\u0082!w\u0087\ud9e7\udde8\u0091s\u001d\\\u00a1\u00ed&\u008eA"}, "3E3\udaca\udd96\uff57": {"\u0007;\udb06\uddea\ud928\udeef\u00c6\u00cf\u00bb`\u0082": -5021}, "&": {"\u00db\u0019\u00ff": {}}, "d\ud99f\udc09\u00a1": "\u169b\u1684\u1693\u1690\u168b\u1692\u1684\u1680\u1691\u1684\u1682\u1691\u168f\u1685\u169c", "\u0019\u00d1\ud969\ude64\u00bc\u00d2": [null], "\u00c6\u001e": {"": false, "\uda4f\udfa7\udae7\udec7\ud9e3\uddcc\udabb\ude07": {",\u008b": "^Y\u00af\u009e4\u00e8\u009a\u0004j\u00df\u00ba"}, ";\u0004\udb40\udd52\ud9f7\ude99": {"\ud90b\udced\u00ae|\u00d9\udb6e\udfa4M\ud9c1\udc69": 362, "\ud98b\udda0\udb2d\udc43\udb7f\udde8\udb9c\udd2b\u000f\u00f1\ud8f6\udd18\u00a6JQ": -1.1125369292536007e-308, "\uda41\uddcdb\u00a9\u00c2\udbd7\udfa0O\udb12\udcc2": [""]}}, "\u00f4\u00cf$Q\u008a": [], "\udab3\uddd7": ["\uda1f\udf4e\u0086\u00afz\u0004Ae)"], "=": true}}, {"": [], "4p\u0084\u00db\ud80b\udfbb\u00cd\ud830\udc02\udb9c\udd15\ud96f\ude48\u0000\udb29\udd0b\u00a65": [true], "\u00bbm\u00c4O\u0014\u00d7": {}, "UndefinedContentType": "\udb94\ude48\udbd9\uddf6", "\udaf3\uddaf\ud810\udceb\u0014\u00f9\u0092": [{"\u0087f": null}, [-3.402823466e+38], {"": false, "\udaf1\udd43-\udad6\udf23\u00ff\u00de": -6.4782130730694104e+16, "\u0016tj\u009f\ud96e\udc74\u9da2\u00f3\u00d9\u00c7\ud815\uddaf\u0004\udb10\uddb3\u009a\ud8ae\udd1f\u00be\ue1ad\udbad\udd5c[\ud899\udecd\u00e7\u00d4/\u0082\udaf3\udd58\ud9d3\ude10\u009b": false}], "url": "\ud9d8\udf81\u00abXu\u00e9", "data": {"\u00fd\u009e": [true, {"\u00e9": "\u00c5\udb26\ude1932", "": "y\u00da\uda9b\ude73\u001e\u001e\u00a9\ud85d\udc73\ud993\udd7cs\u00f4\udb63\udf99a\u0095", "q\u000f\u00b6\uce05\u00a9$\u00ee\ud80f\udd9a\u00d7\f\uda51\udfc2\u0002\u00ead": -193}, false], "Z\u00e5\u00ee": {"T": "\u009bQ\u0084\udb8c\udf53?\udb9f\udc50\u00b9#\u00df", "": null, "\u00f0\u7f59yh\u00d4": 5.635674877518433e+16}, "\ud81e\udd3a\u00adk\u0081N~\u00dc\u00d5\u00d9\u00dd\u001e`\u001d\udb04\ude9d4\u00c4": false, "\udbcc\udfc4Hl\udbf1\udc4a\ud9ab\udfc7\udaf5\udc68": [[], null, {}], "": 5406, "\u00ef\udbbe\udcdb\u0082\u008b\u00fbR\udbb0\udc67\u00a0\u00a0\udba6\udcb2": [{"": ""}, [], {}]}, "config": {"t}D\u00dd": {"\u00bf": "R\u009e\udafb\uddfb\ud8c0\udfb8\u001a\u00c4\u00e1\u00c1a\u00b6\u001d\u00e0\u008e\uda02\udc9eR\u00f9\u0010\u00d6", "\udab8\uddda\u00daI\ud97c\udcd3": []}, "\ud835\udc7b\ud835\udc89\ud835\udc86 \ud835\udc92\ud835\udc96\ud835\udc8a\ud835\udc84\ud835\udc8c \ud835\udc83\ud835\udc93\ud835\udc90\ud835\udc98\ud835\udc8f \ud835\udc87\ud835\udc90\ud835\udc99 \ud835\udc8b\ud835\udc96\ud835\udc8e\ud835\udc91\ud835\udc94 \ud835\udc90\ud835\udc97\ud835\udc86\ud835\udc93 \ud835\udc95\ud835\udc89\ud835\udc86 \ud835\udc8d\ud835\udc82\ud835\udc9b\ud835\udc9a \ud835\udc85\ud835\udc90\ud835\udc88": {"\u00c8": 7580, "\uda61\udc40\udb4a\udf86\u00d8\ud9c4\udc96\ud9b6\ude64x\u00ad\ud944\ude1c\u0001\u0018\u00d1\udb2d\udccb\ud80c\udeda\ud8f8\ude89": "\u001a\uda1d\udc19\udae9\udd28\u0018\u00e8U\u0015p\u00a7\u0005\u00eb\ud994\ude65\ud9d4\ude1f\ud872\udf41", "\ud9ba\udeaf\u00cb+": 3459}, "\u00bd8\u0000&\u001d\u0083\ud925\udee6T": [], "\u00f7\u00b4": ["\u00d5\u00f1\u008cPB\u00d2\u00c7\ud8c0\udd31\u00bb(\u00b6", 99999999999, {"\u00a06\u00f1\u00d9[M\u00be\udb34\udc82\udb33\udca3c\u0098\u00b4i=\u00c4\ud9e1\udd35\ud9d5\udfed)\u009b\u00ae": null, "\u009c": "\u00a1\ud844\uddc6\u0081\u00bc", "\ud8eb\ude375\u0084": null}]}, "dst_path": "\udade\udf13\u00d61\u00b5\u00f3"}, {"\u00c3\u7c740\u00ba\u00ab{i\u001a\ud97f\udd27\ud854\udf1dK\u0083\udbf9\udc38\udb6d\uded7\u001d\u00bd\u000b\udbea\udd90\u00e1Z\u001b": [], "": "\u00e4\u00a0M\u001d;\ud93e\udce1`n", "t\ud8bc\udc87\u00e0\u001a": {}, "\u00eey\ud93a\ude2d\ud864\udd16\u0012\u00b5": [], "\u00b86\u0018\u00dc\u00aa": {"\u00a6\ud958\udcc9Zc\u00eb\u0090\uda37\udd41": -3.952625275229438e+16, "`\u00b7b\u00c9\u00f5\ud8af\uddccj\u00a6\u00da=\ud82c\ude2b\ud9ae\udf10\udb6a\udd89\u00d1(\u00aa\u0097\u0000{": false}, "save_method": "", "url": ""}, {"$": {}, "NaN": [], "\u00a1\udada\ude6a\ud82b\udf6d\u00bc": [], "config": {"UndefinedContentType": {"\ud9c5\udc8b\u0005": "\uda08\udc80\u00c5\u0013\udb0f\uddba", "M\ud96a\udd68\u00d9": -731, "\u00a6\u008fu\ud86b\udd26\ud95d\udd92j": false}, "u\u0083\u00c3u^r": {}, "66\u00dbm\u00f9\udbd9\ude79\u007f\ud8c1\udc0d\u00ba\u000f ": {"\udb7d\udf2b\u00b2\u009c\uda5d\udd5a": null, "NULL": null, "\udac9\udf94M": false}, "\u00e7\u00d0l\u0091\u7985\u00b2\uda56\ude20\ud869\ude7e\ud99d\udd6ck\ud870\udc85\u00f6\u00e8": {"& \ud938\ude72": [null, true], "\u0002\u0002\u00e6\u00c9\u0001": {"": {}}}, "i\ud844\ude20\u00e5