|
38 | 38 | reason="GOOGLE_API_KEY not set", |
39 | 39 | ) |
40 | 40 |
|
| 41 | +_skip_no_aws = pytest.mark.skipif(not os.environ.get("AWS_DEFAULT_REGION"), reason="AWS_DEFAULT_REGION not set") |
| 42 | + |
41 | 43 |
|
42 | 44 | def _run_agent( |
43 | 45 | script: str, |
@@ -365,6 +367,39 @@ def test_session_visible_via_api(self, live_servers): |
365 | 367 | assert session_name in session_ids |
366 | 368 |
|
367 | 369 |
|
| 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 | + |
368 | 403 | @_skip_no_openai |
369 | 404 | class TestAgentRerun: |
370 | 405 | """Verify that re-running an agent with the same session_name creates |
|
0 commit comments