Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 6 additions & 4 deletions tests/unit/test_canary.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,11 +22,13 @@ def test_agent_ops_record(self, mock_req):
agentops.record(ActionEvent(event_type))
time.sleep(2)

# 3 requests: check_for_updates, create_session, create_events
assert len(mock_req.request_history) == 3
# Find event requests
event_requests = [r for r in mock_req.request_history if "/v2/create_events" in r.url]
assert len(event_requests) > 0
last_event_request = event_requests[-1]

request_json = mock_req.last_request.json()
assert mock_req.last_request.headers["X-Agentops-Api-Key"] == self.api_key
assert last_event_request.headers["X-Agentops-Api-Key"] == self.api_key
request_json = last_event_request.json()
assert request_json["events"][0]["event_type"] == event_type

agentops.end_session("Success")
21 changes: 14 additions & 7 deletions tests/unit/test_pre_init.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,16 +29,23 @@ def test_track_agent(self, mock_req):
agentops.init(api_key=self.api_key)
time.sleep(1)

# Assert
# start session and create agent
agentops.end_session(end_state="Success")
# Find agent creation request
agent_requests = [r for r in mock_req.request_history if "/v2/create_agent" in r.url]
assert len(agent_requests) > 0
last_agent_request = agent_requests[-1]

# Assert agent creation
assert last_agent_request.headers["X-Agentops-Api-Key"] == self.api_key

# Wait for flush
# End session and wait for flush
agentops.end_session(end_state="Success")
time.sleep(1.5)

# 4 requests: check_for_updates, create_session, create_agent, update_session
assert len(mock_req.request_history) == 4
# Find session end request
end_session_requests = [r for r in mock_req.request_history if "/v2/update_session" in r.url]
assert len(end_session_requests) > 0
last_end_request = end_session_requests[-1]

assert mock_req.request_history[-2].headers["X-Agentops-Api-Key"] == self.api_key
assert last_end_request.headers["X-Agentops-Api-Key"] == self.api_key

mock_req.reset()
79 changes: 45 additions & 34 deletions tests/unit/test_record_action.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,10 +25,13 @@ def add_two(x, y):
add_two(3, 4)
time.sleep(0.1)

# 3 requests: check_for_updates, start_session, record_action
assert len(mock_req.request_history) == 3
assert mock_req.last_request.headers["X-Agentops-Api-Key"] == self.api_key
request_json = mock_req.last_request.json()
# Find the record_action request
action_requests = [r for r in mock_req.request_history if "/v2/create_events" in r.url]
assert len(action_requests) > 0
last_action_request = action_requests[-1]

assert last_action_request.headers["X-Agentops-Api-Key"] == self.api_key
request_json = last_action_request.json()
assert request_json["events"][0]["action_type"] == self.event_type
assert request_json["events"][0]["params"] == {"x": 3, "y": 4}
assert request_json["events"][0]["returns"] == 7
Expand All @@ -46,10 +49,13 @@ def add_two(x, y):
add_two(3, 4)
time.sleep(0.1)

# 3 requests: check_for_updates, start_session, record_action
assert len(mock_req.request_history) == 3
assert mock_req.last_request.headers["X-Agentops-Api-Key"] == self.api_key
request_json = mock_req.last_request.json()
# Find the record_action request
action_requests = [r for r in mock_req.request_history if "/v2/create_events" in r.url]
assert len(action_requests) > 0
last_action_request = action_requests[-1]

assert last_action_request.headers["X-Agentops-Api-Key"] == self.api_key
request_json = last_action_request.json()
assert request_json["events"][0]["action_type"] == "add_two"
assert request_json["events"][0]["params"] == {"x": 3, "y": 4}
assert request_json["events"][0]["returns"] == 7
Expand All @@ -70,10 +76,13 @@ def add_three(x, y, z=3):

time.sleep(1.5)

# 3 requests: check_for_updates, start_session, record_action
assert len(mock_req.request_history) == 3
assert mock_req.last_request.headers["X-Agentops-Api-Key"] == self.api_key
request_json = mock_req.last_request.json()
# Find the record_action request
action_requests = [r for r in mock_req.request_history if "/v2/create_events" in r.url]
assert len(action_requests) > 0
last_action_request = action_requests[-1]

assert last_action_request.headers["X-Agentops-Api-Key"] == self.api_key
request_json = last_action_request.json()

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

# Assert
assert result == 7
# Assert
assert len(mock_req.request_history) == 3
assert mock_req.last_request.headers["X-Agentops-Api-Key"] == self.api_key
request_json = mock_req.last_request.json()

# Find the record_action request
action_requests = [r for r in mock_req.request_history if "/v2/create_events" in r.url]
assert len(action_requests) > 0
last_action_request = action_requests[-1]

assert last_action_request.headers["X-Agentops-Api-Key"] == self.api_key
request_json = last_action_request.json()
assert request_json["events"][0]["action_type"] == self.event_type
assert request_json["events"][0]["params"] == {"x": 3, "y": 4}
assert request_json["events"][0]["returns"] == 7
Expand Down Expand Up @@ -132,31 +145,29 @@ def add_three(x, y, z=3):
add_three(1, 2, 3, session=session_2)
time.sleep(0.1)

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

request_json = mock_req.last_request.json()
assert mock_req.last_request.headers["X-Agentops-Api-Key"] == self.api_key
assert (
mock_req.last_request.headers["Authorization"]
== f"Bearer {mock_req.session_jwts[str(session_2.session_id)]}"
)
# Verify session_2's request (last request)
last_request = action_requests[-1]
assert last_request.headers["X-Agentops-Api-Key"] == self.api_key
assert last_request.headers["Authorization"] == f"Bearer {mock_req.session_jwts[str(session_2.session_id)]}"
request_json = last_request.json()
assert request_json["events"][0]["action_type"] == self.event_type
assert request_json["events"][0]["params"] == {"x": 1, "y": 2, "z": 3}
assert request_json["events"][0]["returns"] == 6

second_last_request_json = mock_req.request_history[-2].json()
assert mock_req.request_history[-2].headers["X-Agentops-Api-Key"] == self.api_key
# Verify session_1's request (second to last request)
second_last_request = action_requests[-2]
assert second_last_request.headers["X-Agentops-Api-Key"] == self.api_key
assert (
mock_req.request_history[-2].headers["Authorization"]
== f"Bearer {mock_req.session_jwts[str(session_1.session_id)]}"
second_last_request.headers["Authorization"] == f"Bearer {mock_req.session_jwts[str(session_1.session_id)]}"
)
assert second_last_request_json["events"][0]["action_type"] == self.event_type
assert second_last_request_json["events"][0]["params"] == {
"x": 1,
"y": 2,
"z": 3,
}
assert second_last_request_json["events"][0]["returns"] == 6
request_json = second_last_request.json()
assert request_json["events"][0]["action_type"] == self.event_type
assert request_json["events"][0]["params"] == {"x": 1, "y": 2, "z": 3}
assert request_json["events"][0]["returns"] == 6

session_1.end_session(end_state="Success")
session_2.end_session(end_state="Success")
Expand Down
114 changes: 61 additions & 53 deletions tests/unit/test_record_tool.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,10 +29,13 @@ def add_two(x, y):
add_two(3, 4)
time.sleep(0.1)

# 3 requests: check_for_updates, start_session, record_tool
assert len(mock_req.request_history) == 3
assert mock_req.last_request.headers["X-Agentops-Api-Key"] == self.api_key
request_json = mock_req.last_request.json()
# Find the record_tool request
tool_requests = [r for r in mock_req.request_history if "/v2/create_events" in r.url]
assert len(tool_requests) > 0
last_tool_request = tool_requests[-1]

assert last_tool_request.headers["X-Agentops-Api-Key"] == self.api_key
request_json = last_tool_request.json()
assert request_json["events"][0]["name"] == self.tool_name
assert request_json["events"][0]["params"] == {"x": 3, "y": 4}
assert request_json["events"][0]["returns"] == 7
Expand All @@ -50,10 +53,13 @@ def add_two(x, y):
add_two(3, 4)
time.sleep(0.1)

# Assert
assert len(mock_req.request_history) == 3
assert mock_req.last_request.headers["X-Agentops-Api-Key"] == self.api_key
request_json = mock_req.last_request.json()
# Find the record_tool request
tool_requests = [r for r in mock_req.request_history if "/v2/create_events" in r.url]
assert len(tool_requests) > 0
last_tool_request = tool_requests[-1]

assert last_tool_request.headers["X-Agentops-Api-Key"] == self.api_key
request_json = last_tool_request.json()
assert request_json["events"][0]["name"] == "add_two"
assert request_json["events"][0]["params"] == {"x": 3, "y": 4}
assert request_json["events"][0]["returns"] == 7
Expand All @@ -74,10 +80,13 @@ def add_three(x, y, z=3):
add_three(1, 2)
time.sleep(0.1)

# 4 requests: check_for_updates, start_session, record_tool, record_tool
assert len(mock_req.request_history) == 4
assert mock_req.last_request.headers["X-Agentops-Api-Key"] == self.api_key
request_json = mock_req.last_request.json()
# Find all tool requests
tool_requests = [r for r in mock_req.request_history if "/v2/create_events" in r.url]
assert len(tool_requests) > 0
last_tool_request = tool_requests[-1]

assert last_tool_request.headers["X-Agentops-Api-Key"] == self.api_key
request_json = last_tool_request.json()
assert request_json["events"][0]["name"] == self.tool_name
assert request_json["events"][0]["params"] == {"x": 1, "y": 2, "z": 3}
assert request_json["events"][0]["returns"] == 6
Expand All @@ -99,10 +108,14 @@ async def async_add(x, y):

# Assert
assert result == 7
# Assert
assert len(mock_req.request_history) == 3
assert mock_req.last_request.headers["X-Agentops-Api-Key"] == self.api_key
request_json = mock_req.last_request.json()

# Find the record_tool request
tool_requests = [r for r in mock_req.request_history if "/v2/create_events" in r.url]
assert len(tool_requests) > 0
last_tool_request = tool_requests[-1]

assert last_tool_request.headers["X-Agentops-Api-Key"] == self.api_key
request_json = last_tool_request.json()
assert request_json["events"][0]["name"] == self.tool_name
assert request_json["events"][0]["params"] == {"x": 3, "y": 4}
assert request_json["events"][0]["returns"] == 7
Expand Down Expand Up @@ -131,32 +144,29 @@ def add_three(x, y, z=3):
add_three(1, 2, session=session_2)
time.sleep(0.1)

# 6 requests: check_for_updates, start_session, record_tool, start_session, record_tool, end_session
assert len(mock_req.request_history) == 5
# Find tool requests
tool_requests = [r for r in mock_req.request_history if "/v2/create_events" in r.url]
assert len(tool_requests) >= 2 # Should have at least 2 tool requests

request_json = mock_req.last_request.json()
assert mock_req.last_request.headers["X-Agentops-Api-Key"] == self.api_key
assert (
mock_req.last_request.headers["Authorization"]
== f"Bearer {mock_req.session_jwts[str(session_2.session_id)]}"
)
# Verify session_2's request (last request)
last_request = tool_requests[-1]
assert last_request.headers["X-Agentops-Api-Key"] == self.api_key
assert last_request.headers["Authorization"] == f"Bearer {mock_req.session_jwts[str(session_2.session_id)]}"
request_json = last_request.json()
assert request_json["events"][0]["name"] == self.tool_name
assert request_json["events"][0]["params"] == {"x": 1, "y": 2, "z": 3}
assert request_json["events"][0]["returns"] == 6

second_last_request_json = mock_req.request_history[-2].json()
assert mock_req.request_history[-2].headers["X-Agentops-Api-Key"] == self.api_key
# Verify session_1's request (second to last request)
second_last_request = tool_requests[-2]
assert second_last_request.headers["X-Agentops-Api-Key"] == self.api_key
assert (
mock_req.request_history[-2].headers["Authorization"]
== f"Bearer {mock_req.session_jwts[str(session_1.session_id)]}"
second_last_request.headers["Authorization"] == f"Bearer {mock_req.session_jwts[str(session_1.session_id)]}"
)
assert second_last_request_json["events"][0]["name"] == self.tool_name
assert second_last_request_json["events"][0]["params"] == {
"x": 1,
"y": 2,
"z": 3,
}
assert second_last_request_json["events"][0]["returns"] == 6
request_json = second_last_request.json()
assert request_json["events"][0]["name"] == self.tool_name
assert request_json["events"][0]["params"] == {"x": 1, "y": 2, "z": 3}
assert request_json["events"][0]["returns"] == 6

session_1.end_session(end_state="Success")
session_2.end_session(end_state="Success")
Expand All @@ -180,31 +190,29 @@ async def async_add(x, y):
await async_add(1, 2, session=session_2)
time.sleep(0.1)

# Assert
assert len(mock_req.request_history) == 5
# Find tool requests
tool_requests = [r for r in mock_req.request_history if "/v2/create_events" in r.url]
assert len(tool_requests) >= 2 # Should have at least 2 tool requests

request_json = mock_req.last_request.json()
assert mock_req.last_request.headers["X-Agentops-Api-Key"] == self.api_key
assert (
mock_req.last_request.headers["Authorization"]
== f"Bearer {mock_req.session_jwts[str(session_2.session_id)]}"
)
# Verify session_2's request (last request)
last_request = tool_requests[-1]
assert last_request.headers["X-Agentops-Api-Key"] == self.api_key
assert last_request.headers["Authorization"] == f"Bearer {mock_req.session_jwts[str(session_2.session_id)]}"
request_json = last_request.json()
assert request_json["events"][0]["name"] == self.tool_name
assert request_json["events"][0]["params"] == {"x": 1, "y": 2}
assert request_json["events"][0]["returns"] == 3

second_last_request_json = mock_req.request_history[-2].json()
assert mock_req.request_history[-2].headers["X-Agentops-Api-Key"] == self.api_key
# Verify session_1's request (second to last request)
second_last_request = tool_requests[-2]
assert second_last_request.headers["X-Agentops-Api-Key"] == self.api_key
assert (
mock_req.request_history[-2].headers["Authorization"]
== f"Bearer {mock_req.session_jwts[str(session_1.session_id)]}"
second_last_request.headers["Authorization"] == f"Bearer {mock_req.session_jwts[str(session_1.session_id)]}"
)
assert second_last_request_json["events"][0]["name"] == self.tool_name
assert second_last_request_json["events"][0]["params"] == {
"x": 1,
"y": 2,
}
assert second_last_request_json["events"][0]["returns"] == 3
request_json = second_last_request.json()
assert request_json["events"][0]["name"] == self.tool_name
assert request_json["events"][0]["params"] == {"x": 1, "y": 2}
assert request_json["events"][0]["returns"] == 3

session_1.end_session(end_state="Success")
session_2.end_session(end_state="Success")
Expand Down
Loading
Loading