Skip to content

Commit 184a5b1

Browse files
authored
Merge pull request #8 from FriendlyCaptcha/rok/new-risk-intelligence-format
Update risk intelligence response format
2 parents 507892e + 4fcd68c commit 184a5b1

3 files changed

Lines changed: 55 additions & 9 deletions

File tree

friendly-captcha-sdk-testserver/fixtures/risk_intelligence_retrieve_test_cases.json

Lines changed: 53 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
{
2-
"version": 2,
2+
"version": 3,
33
"tests": [
44
{
55
"name": "success",
66
"token": "dc2fe149-04ce-45e5-a317-41425942abba",
77
"retrieve_response": {
88
"success": true,
99
"data": {
10+
"event_id": "ev_dc2fe149-04ce-45e5-a317-41425942abba",
1011
"risk_intelligence": {
1112
"risk_scores": {
1213
"overall": 2,
@@ -104,16 +105,18 @@
104105
}
105106
}
106107
},
107-
"details": {
108+
"token": {
108109
"timestamp": "2023-08-04T13:01:25Z",
109110
"expires_at": "2023-08-04T13:06:25Z",
110-
"num_uses": 1
111+
"num_uses": 1,
112+
"origin": "https://example.com"
111113
}
112114
}
113115
},
114116
"retrieve_status_code": 200,
115117
"expectation": {
116118
"was_able_to_retrieve": true,
119+
"is_valid": true,
117120
"is_client_error": false
118121
}
119122
},
@@ -123,6 +126,7 @@
123126
"retrieve_response": {
124127
"success": true,
125128
"data": {
129+
"event_id": "ev_c4b0031a-68c1-481e-a40e-fe526b0e0398",
126130
"risk_intelligence": {
127131
"risk_scores": {
128132
"overall": 1,
@@ -137,16 +141,18 @@
137141
"ip": "127.0.0.1"
138142
}
139143
},
140-
"details": {
144+
"token": {
141145
"timestamp": "2023-08-04T13:01:25Z",
142146
"expires_at": "2023-08-04T13:06:25Z",
143-
"num_uses": 1
147+
"num_uses": 1,
148+
"origin": "https://example.com"
144149
}
145150
}
146151
},
147152
"retrieve_status_code": 200,
148153
"expectation": {
149154
"was_able_to_retrieve": true,
155+
"is_valid": true,
150156
"is_client_error": false
151157
}
152158
},
@@ -163,6 +169,7 @@
163169
"retrieve_status_code": 401,
164170
"expectation": {
165171
"was_able_to_retrieve": false,
172+
"is_valid": false,
166173
"is_client_error": true
167174
}
168175
},
@@ -179,6 +186,7 @@
179186
"retrieve_status_code": 401,
180187
"expectation": {
181188
"was_able_to_retrieve": false,
189+
"is_valid": false,
182190
"is_client_error": true
183191
}
184192
},
@@ -195,32 +203,69 @@
195203
"retrieve_status_code": 400,
196204
"expectation": {
197205
"was_able_to_retrieve": false,
206+
"is_valid": false,
198207
"is_client_error": true
199208
}
200209
},
201210
{
202-
"name": "token_expired",
203-
"token": "c0cf28c8-891b-4643-989d-47899339e5e7",
211+
"name": "token_missing",
212+
"token": "",
204213
"retrieve_response": {
205214
"success": false,
206215
"error": {
207-
"error_code": "token_expired",
216+
"error_code": "token_missing",
208217
"detail": ""
209218
}
210219
},
211220
"retrieve_status_code": 400,
212221
"expectation": {
213222
"was_able_to_retrieve": false,
223+
"is_valid": false,
214224
"is_client_error": true
215225
}
216226
},
227+
{
228+
"name": "token_expired",
229+
"token": "c0cf28c8-891b-4643-989d-47899339e5e7",
230+
"retrieve_response": {
231+
"success": false,
232+
"error": {
233+
"error_code": "token_expired",
234+
"detail": ""
235+
}
236+
},
237+
"retrieve_status_code": 200,
238+
"expectation": {
239+
"was_able_to_retrieve": true,
240+
"is_valid": false,
241+
"is_client_error": false
242+
}
243+
},
244+
{
245+
"name": "token_invalid",
246+
"token": "14af7076-8579-4038-8369-7348afc47844",
247+
"retrieve_response": {
248+
"success": false,
249+
"error": {
250+
"error_code": "token_invalid",
251+
"detail": ""
252+
}
253+
},
254+
"retrieve_status_code": 200,
255+
"expectation": {
256+
"was_able_to_retrieve": true,
257+
"is_valid": false,
258+
"is_client_error": false
259+
}
260+
},
217261
{
218262
"name": "bad_response_500",
219263
"token": "12f35538-ed0e-43e4-9504-3379a22983bf",
220264
"retrieve_response": "<html><body>Something went horribly wrong</body></html>",
221265
"retrieve_status_code": 500,
222266
"expectation": {
223267
"was_able_to_retrieve": false,
268+
"is_valid": false,
224269
"is_client_error": false
225270
}
226271
}

friendly-captcha-sdk-testserver/main.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ const (
2525
defaultRiskIntelligenceRetrieveTestsJSONEndpoint = "/api/v1/riskIntelligence/retrieveTests"
2626

2727
expectedCaptchaSiteverifyTestsFileVersion = 3
28-
expectedRiskIntelligenceRetrieveTestsFileVersion = 2
28+
expectedRiskIntelligenceRetrieveTestsFileVersion = 3
2929
)
3030

3131
var CLI struct {

friendly-captcha-sdk-testserver/model/model.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ type CaptchaSiteverifyTestCase struct {
2828

2929
type RiskIntelligenceRetrieveTestCaseExpectation struct {
3030
WasAbleToRetrieve bool `json:"was_able_to_retrieve"`
31+
IsValid bool `json:"is_valid"`
3132
IsClientError bool `json:"is_client_error"`
3233
}
3334

0 commit comments

Comments
 (0)