Skip to content

Commit 395bf10

Browse files
committed
test(record_action): replace assert len(mock_req.request_history) == N checks with specific request filtering
Replaced request count assertions with specific request filtering Added helper to find relevant requests using URL patterns Made assertions more focused on the actual action recording functionality Maintained all existing functionality checks while removing dependency on request count Signed-off-by: Teo <teocns@gmail.com>
1 parent bf44875 commit 395bf10

File tree

1 file changed

+45
-34
lines changed

1 file changed

+45
-34
lines changed

tests/unit/test_record_action.py

Lines changed: 45 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,13 @@ def add_two(x, y):
2525
add_two(3, 4)
2626
time.sleep(0.1)
2727

28-
# 3 requests: check_for_updates, start_session, record_action
29-
assert len(mock_req.request_history) == 3
30-
assert mock_req.last_request.headers["X-Agentops-Api-Key"] == self.api_key
31-
request_json = mock_req.last_request.json()
28+
# Find the record_action request
29+
action_requests = [r for r in mock_req.request_history if "/v2/create_events" in r.url]
30+
assert len(action_requests) > 0
31+
last_action_request = action_requests[-1]
32+
33+
assert last_action_request.headers["X-Agentops-Api-Key"] == self.api_key
34+
request_json = last_action_request.json()
3235
assert request_json["events"][0]["action_type"] == self.event_type
3336
assert request_json["events"][0]["params"] == {"x": 3, "y": 4}
3437
assert request_json["events"][0]["returns"] == 7
@@ -46,10 +49,13 @@ def add_two(x, y):
4649
add_two(3, 4)
4750
time.sleep(0.1)
4851

49-
# 3 requests: check_for_updates, start_session, record_action
50-
assert len(mock_req.request_history) == 3
51-
assert mock_req.last_request.headers["X-Agentops-Api-Key"] == self.api_key
52-
request_json = mock_req.last_request.json()
52+
# Find the record_action request
53+
action_requests = [r for r in mock_req.request_history if "/v2/create_events" in r.url]
54+
assert len(action_requests) > 0
55+
last_action_request = action_requests[-1]
56+
57+
assert last_action_request.headers["X-Agentops-Api-Key"] == self.api_key
58+
request_json = last_action_request.json()
5359
assert request_json["events"][0]["action_type"] == "add_two"
5460
assert request_json["events"][0]["params"] == {"x": 3, "y": 4}
5561
assert request_json["events"][0]["returns"] == 7
@@ -70,10 +76,13 @@ def add_three(x, y, z=3):
7076

7177
time.sleep(1.5)
7278

73-
# 3 requests: check_for_updates, start_session, record_action
74-
assert len(mock_req.request_history) == 3
75-
assert mock_req.last_request.headers["X-Agentops-Api-Key"] == self.api_key
76-
request_json = mock_req.last_request.json()
79+
# Find the record_action request
80+
action_requests = [r for r in mock_req.request_history if "/v2/create_events" in r.url]
81+
assert len(action_requests) > 0
82+
last_action_request = action_requests[-1]
83+
84+
assert last_action_request.headers["X-Agentops-Api-Key"] == self.api_key
85+
request_json = last_action_request.json()
7786

7887
assert request_json["events"][1]["action_type"] == self.event_type
7988
assert request_json["events"][1]["params"] == {"x": 1, "y": 2, "z": 4}
@@ -100,10 +109,14 @@ async def async_add(x, y):
100109

101110
# Assert
102111
assert result == 7
103-
# Assert
104-
assert len(mock_req.request_history) == 3
105-
assert mock_req.last_request.headers["X-Agentops-Api-Key"] == self.api_key
106-
request_json = mock_req.last_request.json()
112+
113+
# Find the record_action request
114+
action_requests = [r for r in mock_req.request_history if "/v2/create_events" in r.url]
115+
assert len(action_requests) > 0
116+
last_action_request = action_requests[-1]
117+
118+
assert last_action_request.headers["X-Agentops-Api-Key"] == self.api_key
119+
request_json = last_action_request.json()
107120
assert request_json["events"][0]["action_type"] == self.event_type
108121
assert request_json["events"][0]["params"] == {"x": 3, "y": 4}
109122
assert request_json["events"][0]["returns"] == 7
@@ -132,31 +145,29 @@ def add_three(x, y, z=3):
132145
add_three(1, 2, 3, session=session_2)
133146
time.sleep(0.1)
134147

135-
assert len(mock_req.request_history) == 5
148+
# Find action requests
149+
action_requests = [r for r in mock_req.request_history if "/v2/create_events" in r.url]
150+
assert len(action_requests) >= 2 # Should have at least 2 action requests
136151

137-
request_json = mock_req.last_request.json()
138-
assert mock_req.last_request.headers["X-Agentops-Api-Key"] == self.api_key
139-
assert (
140-
mock_req.last_request.headers["Authorization"]
141-
== f"Bearer {mock_req.session_jwts[str(session_2.session_id)]}"
142-
)
152+
# Verify session_2's request (last request)
153+
last_request = action_requests[-1]
154+
assert last_request.headers["X-Agentops-Api-Key"] == self.api_key
155+
assert last_request.headers["Authorization"] == f"Bearer {mock_req.session_jwts[str(session_2.session_id)]}"
156+
request_json = last_request.json()
143157
assert request_json["events"][0]["action_type"] == self.event_type
144158
assert request_json["events"][0]["params"] == {"x": 1, "y": 2, "z": 3}
145159
assert request_json["events"][0]["returns"] == 6
146160

147-
second_last_request_json = mock_req.request_history[-2].json()
148-
assert mock_req.request_history[-2].headers["X-Agentops-Api-Key"] == self.api_key
161+
# Verify session_1's request (second to last request)
162+
second_last_request = action_requests[-2]
163+
assert second_last_request.headers["X-Agentops-Api-Key"] == self.api_key
149164
assert (
150-
mock_req.request_history[-2].headers["Authorization"]
151-
== f"Bearer {mock_req.session_jwts[str(session_1.session_id)]}"
165+
second_last_request.headers["Authorization"] == f"Bearer {mock_req.session_jwts[str(session_1.session_id)]}"
152166
)
153-
assert second_last_request_json["events"][0]["action_type"] == self.event_type
154-
assert second_last_request_json["events"][0]["params"] == {
155-
"x": 1,
156-
"y": 2,
157-
"z": 3,
158-
}
159-
assert second_last_request_json["events"][0]["returns"] == 6
167+
request_json = second_last_request.json()
168+
assert request_json["events"][0]["action_type"] == self.event_type
169+
assert request_json["events"][0]["params"] == {"x": 1, "y": 2, "z": 3}
170+
assert request_json["events"][0]["returns"] == 6
160171

161172
session_1.end_session(end_state="Success")
162173
session_2.end_session(end_state="Success")

0 commit comments

Comments
 (0)