File size: 1,962 Bytes
54b0fbc
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
"""Tests for AgentCore session store and packaging."""

from __future__ import annotations

import os
import subprocess
import sys
from pathlib import Path

_REPO = Path(__file__).resolve().parents[1]
_AGENTCORE = _REPO / "agent-redact" / "agentcore"


def test_session_store_multi_turn():
    pytest = __import__("pytest")
    pytest.importorskip("langchain_core")
    if str(_AGENTCORE) not in sys.path:
        sys.path.insert(0, str(_AGENTCORE))
    from session_store import append_turn, clear_session, get_messages

    clear_session("abc")
    append_turn("abc", user_text="hello", assistant_text="hi there")
    messages = get_messages("abc")
    assert len(messages) == 2
    assert messages[0].content == "hello"
    assert messages[1].content == "hi there"
    clear_session("abc")
    assert get_messages("abc") == []


def test_bootstrap_runtime_env_loads_agentcore_env(tmp_path, monkeypatch):
    pytest = __import__("pytest")
    pytest.importorskip("dotenv")
    pytest.importorskip("langchain_core")
    if str(_AGENTCORE) not in sys.path:
        sys.path.insert(0, str(_AGENTCORE))
    from invoke_agent import bootstrap_runtime_env

    env_file = tmp_path / "agentcore.env"
    env_file.write_text(
        "DOC_REDACTION_GRADIO_URL=https://example.test\nPI_DEFAULT_PROVIDER=amazon-bedrock\n",
        encoding="utf-8",
    )
    monkeypatch.delenv("DOC_REDACTION_GRADIO_URL", raising=False)
    bootstrap_runtime_env(tmp_path)
    assert os.environ.get("DOC_REDACTION_GRADIO_URL") == "https://example.test"
    assert os.environ.get("AGENT_DEFAULT_PROVIDER") == "amazon-bedrock"


def test_package_runtime_dry_run(tmp_path):
    script = _AGENTCORE / "package_runtime.py"
    result = subprocess.run(
        [sys.executable, str(script), "--target", str(tmp_path), "--dry-run"],
        cwd=str(_REPO),
        capture_output=True,
        text=True,
        check=True,
    )
    assert "Packaging doc_redaction runtime" in result.stdout