feat: REPL and CLI wiring; end-to-end capture-to-spec smoke test

This commit is contained in:
2026-06-01 01:18:14 +08:00
parent 7d5870bbb4
commit 591e646a6c
6 changed files with 274 additions and 1 deletions
+32
View File
@@ -0,0 +1,32 @@
from auto_reverse.models import CapturedFlow
from auto_reverse.repl import Repl
from auto_reverse.store import FlowStore, ScopeFilter
class FakeAgent:
def run_turn(self, msg):
return f"agent saw: {msg}"
def _store():
s = FlowStore(ScopeFilter(target_hosts={"ex.com"}))
s.ingest(CapturedFlow(
method="GET", host="ex.com", path="/api/users", query={}, req_headers={},
req_body=None, status=200, resp_headers={}, resp_body=None, timestamp=0.0,
))
return s
def test_quit_returns_none():
repl = Repl(FakeAgent(), _store(), "openapi.yaml")
assert repl.handle("/quit") is None
def test_flows_lists_endpoints():
repl = Repl(FakeAgent(), _store(), "openapi.yaml")
assert "/api/users" in repl.handle("/flows")
def test_plain_text_goes_to_agent():
repl = Repl(FakeAgent(), _store(), "openapi.yaml")
assert repl.handle("map users") == "agent saw: map users"