Skip to content

Commit 6f8a84d

Browse files
test(examples): add e2e tests for AgentCore zero-code example
1 parent 813671d commit 6f8a84d

1 file changed

Lines changed: 35 additions & 0 deletions

File tree

tests/integration/test_live_agents.py

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,8 @@
3838
reason="GOOGLE_API_KEY not set",
3939
)
4040

41+
_skip_no_aws = pytest.mark.skipif(not os.environ.get("AWS_DEFAULT_REGION"), reason="AWS_DEFAULT_REGION not set")
42+
4143

4244
def _run_agent(
4345
script: str,
@@ -365,6 +367,39 @@ def test_session_visible_via_api(self, live_servers):
365367
assert session_name in session_ids
366368

367369

370+
_AGENTCORE_ENV = {"OTEL_SEMCONV_STABILITY_OPT_IN": "gen_ai_latest_experimental"}
371+
_AGENTCORE_SCRIPT = "examples/zero-code-examples/agentcore/run.py"
372+
373+
374+
@_skip_no_aws
375+
class TestAgentCoreZeroCode:
376+
def test_session_created_spans_only(self, live_servers):
377+
main_port, otlp_http_port, mgr = live_servers
378+
session_name = "e2e-agentcore"
379+
result = _run_agent(_AGENTCORE_SCRIPT, otlp_http_port, session_name, extra_env=_AGENTCORE_ENV, timeout=60)
380+
assert result.returncode == 0, f"Agent failed:\nstdout: {result.stdout}\nstderr: {result.stderr}"
381+
wait_for_session_complete_sync(mgr, session_name, timeout=60)
382+
s = mgr.sessions[session_name]
383+
assert s.is_complete and s.source == "otlp" and len(s.spans) > 0
384+
385+
def test_invocations_extracted(self, live_servers):
386+
main_port, otlp_http_port, mgr = live_servers
387+
session_name = "e2e-agentcore-inv"
388+
result = _run_agent(_AGENTCORE_SCRIPT, otlp_http_port, session_name, extra_env=_AGENTCORE_ENV, timeout=60)
389+
assert result.returncode == 0, f"Agent failed:\nstdout: {result.stdout}\nstderr: {result.stderr}"
390+
wait_for_session_complete_sync(mgr, session_name, timeout=60)
391+
assert len(mgr.sessions[session_name].invocations) > 0
392+
393+
def test_session_visible_via_api(self, live_servers):
394+
main_port, otlp_http_port, mgr = live_servers
395+
session_name = "e2e-agentcore-api"
396+
result = _run_agent(_AGENTCORE_SCRIPT, otlp_http_port, session_name, extra_env=_AGENTCORE_ENV, timeout=60)
397+
assert result.returncode == 0
398+
wait_for_session_complete_sync(mgr, session_name, timeout=60)
399+
data = httpx.get(f"http://127.0.0.1:{main_port}/api/streaming/sessions").json()["data"]
400+
assert session_name in [s["sessionId"] for s in data]
401+
402+
368403
@_skip_no_openai
369404
class TestAgentRerun:
370405
"""Verify that re-running an agent with the same session_name creates

0 commit comments

Comments
 (0)