@@ -109,7 +109,7 @@ def test_authenticate_tracked_true(self):
109109 status = 200
110110 )
111111 client = Client .from_request (request (), {})
112- options = {'event' : '$login.authenticate ' , 'user_id' : '1234' }
112+ options = {'event' : '$login.succeeded ' , 'user_id' : '1234' }
113113 response_text .update (failover = False , failover_reason = None )
114114 self .assertEqual (client .authenticate (options ), response_text )
115115
@@ -128,7 +128,7 @@ def test_authenticate_tracked_true_status_500(self):
128128 status = 500
129129 )
130130 client = Client .from_request (request (), {})
131- options = {'event' : '$login.authenticate ' , 'user_id' : '1234' }
131+ options = {'event' : '$login.succeeded ' , 'user_id' : '1234' }
132132 self .assertEqual (client .authenticate (options ), response_text )
133133
134134 def test_authenticate_tracked_false (self ):
@@ -140,7 +140,7 @@ def test_authenticate_tracked_false(self):
140140 }
141141 client = Client .from_request (request (), {})
142142 client .disable_tracking ()
143- options = {'event' : '$login.authenticate ' , 'user_id' : '1234' }
143+ options = {'event' : '$login.succeeded ' , 'user_id' : '1234' }
144144 self .assertEqual (client .authenticate (options ), response_text )
145145
146146 @responses .activate
@@ -153,14 +153,155 @@ def test_track_tracked_true(self):
153153 status = 200
154154 )
155155 client = Client .from_request (request (), {})
156- options = {'event' : '$login.authenticate ' , 'user_id' : '1234' }
156+ options = {'event' : '$login.succeeded ' , 'user_id' : '1234' }
157157 self .assertEqual (client .track (options ), response_text )
158158
159159 def test_track_tracked_false (self ):
160160 client = Client .from_request (request (), {})
161161 client .disable_tracking ()
162162 self .assertEqual (client .track ({}), None )
163163
164+ @responses .activate
165+ def test_filter_tracked_true (self ):
166+ response_text = {'action' : Verdict .ALLOW .value , 'user_id' : '1234' }
167+ responses .add (
168+ responses .POST ,
169+ 'https://api.castle.io/v1/filter' ,
170+ json = response_text ,
171+ status = 200
172+ )
173+ client = Client .from_request (request (), {})
174+ options = {
175+ 'request_token' : '7e51335b-f4bc-4bc7-875d-b713fb61eb23-bf021a3022a1a302' ,
176+ 'event' : '$login' ,
177+ 'status' : '$succeeded' ,
178+ 'user' : {'id' : '1234' }
179+ }
180+ response_text .update (failover = False , failover_reason = None )
181+ self .assertEqual (client .filter (options ), response_text )
182+
183+ @responses .activate
184+ def test_filter_tracked_true_status_500 (self ):
185+ response_text = {
186+ 'action' : Verdict .ALLOW .value ,
187+ 'user_id' : '1234' ,
188+ 'failover' : True ,
189+ 'failover_reason' : 'InternalServerError'
190+ }
191+ responses .add (
192+ responses .POST ,
193+ 'https://api.castle.io/v1/filter' ,
194+ json = 'filter' ,
195+ status = 500
196+ )
197+ client = Client .from_request (request (), {})
198+ options = {
199+ 'request_token' : '7e51335b-f4bc-4bc7-875d-b713fb61eb23-bf021a3022a1a302' ,
200+ 'event' : '$login' ,
201+ 'status' : '$succeeded' ,
202+ 'user' : {'id' : '1234' }
203+ }
204+ self .assertEqual (client .filter (options ), response_text )
205+
206+ def test_filter_tracked_false (self ):
207+ response_text = {
208+ 'action' : Verdict .ALLOW .value ,
209+ 'user_id' : '1234' ,
210+ 'failover' : True ,
211+ 'failover_reason' : 'Castle set to do not track.'
212+ }
213+ client = Client .from_request (request (), {})
214+ client .disable_tracking ()
215+ options = {
216+ 'request_token' : '7e51335b-f4bc-4bc7-875d-b713fb61eb23-bf021a3022a1a302' ,
217+ 'event' : '$login' ,
218+ 'status' : '$succeeded' ,
219+ 'user' : {'id' : '1234' }
220+ }
221+ self .assertEqual (client .filter (options ), response_text )
222+
223+ @responses .activate
224+ def test_log_tracked_true (self ):
225+ response_text = 'log'
226+ responses .add (
227+ responses .POST ,
228+ 'https://api.castle.io/v1/log' ,
229+ json = response_text ,
230+ status = 200
231+ )
232+ client = Client .from_request (request (), {})
233+ options = {
234+ 'request_token' : '7e51335b-f4bc-4bc7-875d-b713fb61eb23-bf021a3022a1a302' ,
235+ 'event' : '$login' ,
236+ 'status' : '$succeeded' ,
237+ 'user' : {'id' : '1234' }
238+ }
239+ self .assertEqual (client .log (options ), response_text )
240+
241+ def test_log_tracked_false (self ):
242+ client = Client .from_request (request (), {})
243+ client .disable_tracking ()
244+ self .assertEqual (client .log ({}), None )
245+
246+ @responses .activate
247+ def test_risk_tracked_true (self ):
248+ response_text = {'action' : Verdict .ALLOW .value , 'user_id' : '1234' }
249+ responses .add (
250+ responses .POST ,
251+ 'https://api.castle.io/v1/risk' ,
252+ json = response_text ,
253+ status = 200
254+ )
255+ client = Client .from_request (request (), {})
256+ options = {
257+ 'request_token' : '7e51335b-f4bc-4bc7-875d-b713fb61eb23-bf021a3022a1a302' ,
258+ 'event' : '$login' ,
259+ 'status' : '$succeeded' ,
260+ 'user' : {'id' : '1234' }
261+ }
262+ response_text .update (failover = False , failover_reason = None )
263+ self .assertEqual (client .risk (options ), response_text )
264+
265+ @responses .activate
266+ def test_risk_tracked_true_status_500 (self ):
267+ response_text = {
268+ 'action' : Verdict .ALLOW .value ,
269+ 'user_id' : '1234' ,
270+ 'failover' : True ,
271+ 'failover_reason' : 'InternalServerError'
272+ }
273+ responses .add (
274+ responses .POST ,
275+ 'https://api.castle.io/v1/risk' ,
276+ json = 'risk' ,
277+ status = 500
278+ )
279+ client = Client .from_request (request (), {})
280+ options = {
281+ 'request_token' : '7e51335b-f4bc-4bc7-875d-b713fb61eb23-bf021a3022a1a302' ,
282+ 'event' : '$login' ,
283+ 'status' : '$succeeded' ,
284+ 'user' : {'id' : '1234' }
285+ }
286+ self .assertEqual (client .risk (options ), response_text )
287+
288+ def test_risk_tracked_false (self ):
289+ response_text = {
290+ 'action' : Verdict .ALLOW .value ,
291+ 'user_id' : '1234' ,
292+ 'failover' : True ,
293+ 'failover_reason' : 'Castle set to do not track.'
294+ }
295+ client = Client .from_request (request (), {})
296+ client .disable_tracking ()
297+ options = {
298+ 'request_token' : '7e51335b-f4bc-4bc7-875d-b713fb61eb23-bf021a3022a1a302' ,
299+ 'event' : '$login' ,
300+ 'status' : '$succeeded' ,
301+ 'user' : {'id' : '1234' }
302+ }
303+ self .assertEqual (client .risk (options ), response_text )
304+
164305 def test_disable_tracking (self ):
165306 client = Client .from_request (request (), {})
166307 client .disable_tracking ()
@@ -184,7 +325,7 @@ def test_tracked_when_do_not_track_true(self):
184325 def test_failover_strategy_not_throw (self ):
185326 options = {'user_id' : '1234' }
186327 self .assertEqual (
187- Client .failover_response_or_raise (options , Exception ()),
328+ Client .failover_response_or_raise (options . get ( 'user_id' ) , Exception ()),
188329 {
189330 'action' : Verdict .ALLOW .value ,
190331 'user_id' : '1234' ,
0 commit comments