@@ -43,26 +43,27 @@ def test_session(self, mock_req):
4343 agentops .record (ActionEvent (self .event_type ))
4444
4545 time .sleep (0.1 )
46- # 3 Requests: check_for_updates, start_session, create_events (2 in 1)
47- assert len (mock_req .request_history ) == 3
48- time .sleep (0.15 )
4946
50- assert (
51- mock_req .last_request .headers ["Authorization" ] == f"Bearer { mock_req .session_jwts [str (session .session_id )]} "
52- )
53- request_json = mock_req .last_request .json ()
47+ # Find event requests
48+ event_requests = [r for r in mock_req .request_history if "/v2/create_events" in r .url ]
49+ assert len (event_requests ) > 0
50+ last_event_request = event_requests [- 1 ]
51+
52+ assert last_event_request .headers ["Authorization" ] == f"Bearer { mock_req .session_jwts [str (session .session_id )]} "
53+ request_json = last_event_request .json ()
5454 assert request_json ["events" ][0 ]["event_type" ] == self .event_type
5555
5656 end_state = "Success"
5757 agentops .end_session (end_state )
5858 time .sleep (0.15 )
5959
60- # We should have 4 requests (additional end session)
61- assert len (mock_req .request_history ) == 4
62- assert (
63- mock_req .last_request .headers ["Authorization" ] == f"Bearer { mock_req .session_jwts [str (session .session_id )]} "
64- )
65- request_json = mock_req .last_request .json ()
60+ # Find session end request
61+ end_session_requests = [r for r in mock_req .request_history if "/v2/update_session" in r .url ]
62+ assert len (end_session_requests ) > 0
63+ last_end_request = end_session_requests [- 1 ]
64+
65+ assert last_end_request .headers ["Authorization" ] == f"Bearer { mock_req .session_jwts [str (session .session_id )]} "
66+ request_json = last_end_request .json ()
6667 assert request_json ["session" ]["end_state" ] == end_state
6768 assert len (request_json ["session" ]["tags" ]) == 0
6869
@@ -80,9 +81,13 @@ def test_add_tags(self, mock_req):
8081 agentops .end_session (end_state )
8182 time .sleep (0.15 )
8283
83- # Assert 3 requests, 1 for session init, 1 for event, 1 for end session
84- assert mock_req .last_request .headers ["X-Agentops-Api-Key" ] == self .api_key
85- request_json = mock_req .last_request .json ()
84+ # Find session end request
85+ end_session_requests = [r for r in mock_req .request_history if "/v2/update_session" in r .url ]
86+ assert len (end_session_requests ) > 0
87+ last_end_request = end_session_requests [- 1 ]
88+
89+ assert last_end_request .headers ["X-Agentops-Api-Key" ] == self .api_key
90+ request_json = last_end_request .json ()
8691 assert request_json ["session" ]["end_state" ] == end_state
8792 assert request_json ["session" ]["tags" ] == ["GPT-4" , "test-tag" , "dupe-tag" ]
8893
@@ -101,10 +106,13 @@ def test_tags(self, mock_req):
101106 agentops .end_session (end_state )
102107 time .sleep (0.15 )
103108
104- # 4 requests: check_for_updates, start_session, record_event, end_session
105- assert len (mock_req .request_history ) == 4
106- assert mock_req .last_request .headers ["X-Agentops-Api-Key" ] == self .api_key
107- request_json = mock_req .last_request .json ()
109+ # Find session end request
110+ end_session_requests = [r for r in mock_req .request_history if "/v2/update_session" in r .url ]
111+ assert len (end_session_requests ) > 0
112+ last_end_request = end_session_requests [- 1 ]
113+
114+ assert last_end_request .headers ["X-Agentops-Api-Key" ] == self .api_key
115+ request_json = last_end_request .json ()
108116 assert request_json ["session" ]["end_state" ] == end_state
109117 assert request_json ["session" ]["tags" ] == tags
110118
@@ -115,9 +123,14 @@ def test_inherit_session_id(self, mock_req):
115123 inherited_id = "4f72e834-ff26-4802-ba2d-62e7613446f1"
116124 agentops .start_session (tags = ["test" ], inherited_session_id = inherited_id )
117125
126+ # Find session start request
127+ start_session_requests = [r for r in mock_req .request_history if "/v2/create_session" in r .url ]
128+ assert len (start_session_requests ) > 0
129+ last_start_request = start_session_requests [- 1 ]
130+
118131 # Act
119132 # session_id correct
120- request_json = mock_req . last_request .json ()
133+ request_json = last_start_request .json ()
121134 assert request_json ["session" ]["session_id" ] == inherited_id
122135
123136 # Act
@@ -247,54 +260,52 @@ def test_two_sessions(self, mock_req):
247260 ]
248261 time .sleep (0.1 )
249262
250- # Requests: check_for_updates, 2 start_session
251- assert len (mock_req .request_history ) == 3
252-
253263 session_1 .record (ActionEvent (self .event_type ))
254264 session_2 .record (ActionEvent (self .event_type ))
255265
256266 time .sleep (1.5 )
257267
258- # 5 requests: check_for_updates, 2 start_session, 2 record_event
259- assert len (mock_req .request_history ) == 5
260-
261- # Check the last two requests instead of just the last one
262- last_request = mock_req .request_history [- 1 ]
263- second_last_request = mock_req .request_history [- 2 ]
268+ # Find event requests
269+ event_requests = [r for r in mock_req .request_history if "/v2/create_events" in r .url ]
270+ assert len (event_requests ) >= 2
264271
265272 # Verify session_1's request
273+ session_1_request = event_requests [- 2 ]
266274 assert (
267- second_last_request .headers ["Authorization" ] == f"Bearer { mock_req .session_jwts [str (session_1 .session_id )]} "
275+ session_1_request .headers ["Authorization" ] == f"Bearer { mock_req .session_jwts [str (session_1 .session_id )]} "
268276 )
269- assert second_last_request .json ()["events" ][0 ]["event_type" ] == self .event_type
277+ assert session_1_request .json ()["events" ][0 ]["event_type" ] == self .event_type
270278
271279 # Verify session_2's request
272- assert last_request .headers ["Authorization" ] == f"Bearer { mock_req .session_jwts [str (session_2 .session_id )]} "
273- assert last_request .json ()["events" ][0 ]["event_type" ] == self .event_type
280+ session_2_request = event_requests [- 1 ]
281+ assert (
282+ session_2_request .headers ["Authorization" ] == f"Bearer { mock_req .session_jwts [str (session_2 .session_id )]} "
283+ )
284+ assert session_2_request .json ()["events" ][0 ]["event_type" ] == self .event_type
274285
275286 end_state = "Success"
276287
277288 session_1 .end_session (end_state )
278289 time .sleep (1.5 )
279290
280- # Additional end session request
281- assert len ( mock_req .request_history ) == 6
282- assert (
283- mock_req . last_request . headers [ "Authorization" ]
284- == f"Bearer { mock_req . session_jwts [ str ( session_1 . session_id )] } "
285- )
286- request_json = mock_req . last_request .json ()
291+ # Find session end requests
292+ end_session_requests = [ r for r in mock_req .request_history if "/v2/update_session" in r . url ]
293+ assert len ( end_session_requests ) > 0
294+ session_1_end = end_session_requests [ - 1 ]
295+
296+ assert session_1_end . headers [ "Authorization" ] == f"Bearer { mock_req . session_jwts [ str ( session_1 . session_id )] } "
297+ request_json = session_1_end .json ()
287298 assert request_json ["session" ]["end_state" ] == end_state
288299 assert len (request_json ["session" ]["tags" ]) == 0
289300
290301 session_2 .end_session (end_state )
291- # Additional end session request
292- assert len ( mock_req . request_history ) == 7
293- assert (
294- mock_req .last_request . headers [ "Authorization" ]
295- == f"Bearer { mock_req . session_jwts [ str ( session_2 . session_id )] } "
296- )
297- request_json = mock_req . last_request .json ()
302+ time . sleep ( 0.1 )
303+
304+ # Verify session 2 end request
305+ end_session_requests = [ r for r in mock_req .request_history if "/v2/update_session" in r . url ]
306+ session_2_end = end_session_requests [ - 1 ]
307+ assert session_2_end . headers [ "Authorization" ] == f"Bearer { mock_req . session_jwts [ str ( session_2 . session_id )] } "
308+ request_json = session_2_end .json ()
298309 assert request_json ["session" ]["end_state" ] == end_state
299310 assert len (request_json ["session" ]["tags" ]) == 0
300311
0 commit comments