diff --git a/friendly-captcha-sdk-testserver/fixtures/risk_intelligence_retrieve_test_cases.json b/friendly-captcha-sdk-testserver/fixtures/risk_intelligence_retrieve_test_cases.json index 2f7df77..55c6464 100644 --- a/friendly-captcha-sdk-testserver/fixtures/risk_intelligence_retrieve_test_cases.json +++ b/friendly-captcha-sdk-testserver/fixtures/risk_intelligence_retrieve_test_cases.json @@ -1,5 +1,5 @@ { - "version": 2, + "version": 3, "tests": [ { "name": "success", @@ -7,6 +7,7 @@ "retrieve_response": { "success": true, "data": { + "event_id": "ev_dc2fe149-04ce-45e5-a317-41425942abba", "risk_intelligence": { "risk_scores": { "overall": 2, @@ -104,16 +105,18 @@ } } }, - "details": { + "token": { "timestamp": "2023-08-04T13:01:25Z", "expires_at": "2023-08-04T13:06:25Z", - "num_uses": 1 + "num_uses": 1, + "origin": "https://example.com" } } }, "retrieve_status_code": 200, "expectation": { "was_able_to_retrieve": true, + "is_valid": true, "is_client_error": false } }, @@ -123,6 +126,7 @@ "retrieve_response": { "success": true, "data": { + "event_id": "ev_c4b0031a-68c1-481e-a40e-fe526b0e0398", "risk_intelligence": { "risk_scores": { "overall": 1, @@ -137,16 +141,18 @@ "ip": "127.0.0.1" } }, - "details": { + "token": { "timestamp": "2023-08-04T13:01:25Z", "expires_at": "2023-08-04T13:06:25Z", - "num_uses": 1 + "num_uses": 1, + "origin": "https://example.com" } } }, "retrieve_status_code": 200, "expectation": { "was_able_to_retrieve": true, + "is_valid": true, "is_client_error": false } }, @@ -163,6 +169,7 @@ "retrieve_status_code": 401, "expectation": { "was_able_to_retrieve": false, + "is_valid": false, "is_client_error": true } }, @@ -179,6 +186,7 @@ "retrieve_status_code": 401, "expectation": { "was_able_to_retrieve": false, + "is_valid": false, "is_client_error": true } }, @@ -195,25 +203,61 @@ "retrieve_status_code": 400, "expectation": { "was_able_to_retrieve": false, + "is_valid": false, "is_client_error": true } }, { - "name": "token_expired", - "token": "c0cf28c8-891b-4643-989d-47899339e5e7", + "name": "token_missing", + "token": "", "retrieve_response": { "success": false, "error": { - "error_code": "token_expired", + "error_code": "token_missing", "detail": "" } }, "retrieve_status_code": 400, "expectation": { "was_able_to_retrieve": false, + "is_valid": false, "is_client_error": true } }, + { + "name": "token_expired", + "token": "c0cf28c8-891b-4643-989d-47899339e5e7", + "retrieve_response": { + "success": false, + "error": { + "error_code": "token_expired", + "detail": "" + } + }, + "retrieve_status_code": 200, + "expectation": { + "was_able_to_retrieve": true, + "is_valid": false, + "is_client_error": false + } + }, + { + "name": "token_invalid", + "token": "14af7076-8579-4038-8369-7348afc47844", + "retrieve_response": { + "success": false, + "error": { + "error_code": "token_invalid", + "detail": "" + } + }, + "retrieve_status_code": 200, + "expectation": { + "was_able_to_retrieve": true, + "is_valid": false, + "is_client_error": false + } + }, { "name": "bad_response_500", "token": "12f35538-ed0e-43e4-9504-3379a22983bf", @@ -221,6 +265,7 @@ "retrieve_status_code": 500, "expectation": { "was_able_to_retrieve": false, + "is_valid": false, "is_client_error": false } } diff --git a/friendly-captcha-sdk-testserver/main.go b/friendly-captcha-sdk-testserver/main.go index fa54b08..d87a7c7 100644 --- a/friendly-captcha-sdk-testserver/main.go +++ b/friendly-captcha-sdk-testserver/main.go @@ -25,7 +25,7 @@ const ( defaultRiskIntelligenceRetrieveTestsJSONEndpoint = "/api/v1/riskIntelligence/retrieveTests" expectedCaptchaSiteverifyTestsFileVersion = 3 - expectedRiskIntelligenceRetrieveTestsFileVersion = 2 + expectedRiskIntelligenceRetrieveTestsFileVersion = 3 ) var CLI struct { diff --git a/friendly-captcha-sdk-testserver/model/model.go b/friendly-captcha-sdk-testserver/model/model.go index de6cded..461486b 100644 --- a/friendly-captcha-sdk-testserver/model/model.go +++ b/friendly-captcha-sdk-testserver/model/model.go @@ -28,6 +28,7 @@ type CaptchaSiteverifyTestCase struct { type RiskIntelligenceRetrieveTestCaseExpectation struct { WasAbleToRetrieve bool `json:"was_able_to_retrieve"` + IsValid bool `json:"is_valid"` IsClientError bool `json:"is_client_error"` }