Skip to content

Commit d496515

Browse files
Enforce agent helper internal reuse boundaries
Co-authored-by: Shri Sukhani <shrisukhani@users.noreply.github.com>
1 parent c050ae5 commit d496515

3 files changed

Lines changed: 42 additions & 0 deletions

File tree

CONTRIBUTING.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,7 @@ This runs lint, format checks, compile checks, tests, and package build.
8080
- `tests/test_agent_helper_boundary.py` (agent manager boundary enforcement for shared request/response helpers),
8181
- `tests/test_agent_operation_metadata_usage.py` (shared agent operation-metadata usage enforcement),
8282
- `tests/test_agent_payload_helper_usage.py` (shared agent start-payload helper usage enforcement),
83+
- `tests/test_agent_request_internal_reuse.py` (shared agent helper internal reuse of shared job request helpers),
8384
- `tests/test_agent_route_builder_usage.py` (shared agent read/stop route-builder usage enforcement),
8485
- `tests/test_agent_start_helper_usage.py` (shared agent start-request helper usage enforcement),
8586
- `tests/test_agent_stop_helper_usage.py` (shared agent stop-request helper usage enforcement),
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
from pathlib import Path
2+
3+
import pytest
4+
5+
pytestmark = pytest.mark.architecture
6+
7+
8+
def test_agent_start_helpers_reuse_job_request_helpers():
9+
module_text = Path("hyperbrowser/client/managers/agent_start_utils.py").read_text(
10+
encoding="utf-8"
11+
)
12+
assert "job_request_utils import start_job, start_job_async" in module_text
13+
assert "start_job(" in module_text
14+
assert "start_job_async(" in module_text
15+
assert "client.transport.post(" not in module_text
16+
assert "parse_response_model(" not in module_text
17+
18+
19+
def test_agent_task_read_helpers_reuse_job_request_helpers():
20+
module_text = Path(
21+
"hyperbrowser/client/managers/agent_task_read_utils.py"
22+
).read_text(encoding="utf-8")
23+
assert "job_request_utils import" in module_text
24+
assert "get_job(" in module_text
25+
assert "get_job_status(" in module_text
26+
assert "get_job_async(" in module_text
27+
assert "get_job_status_async(" in module_text
28+
assert "client.transport.get(" not in module_text
29+
assert "parse_response_model(" not in module_text
30+
31+
32+
def test_agent_stop_helpers_reuse_job_request_helpers():
33+
module_text = Path("hyperbrowser/client/managers/agent_stop_utils.py").read_text(
34+
encoding="utf-8"
35+
)
36+
assert "job_request_utils import put_job_action, put_job_action_async" in module_text
37+
assert "put_job_action(" in module_text
38+
assert "put_job_action_async(" in module_text
39+
assert "client.transport.put(" not in module_text
40+
assert "parse_response_model(" not in module_text

tests/test_architecture_marker_usage.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
"tests/test_agent_helper_boundary.py",
1111
"tests/test_agent_operation_metadata_usage.py",
1212
"tests/test_agent_payload_helper_usage.py",
13+
"tests/test_agent_request_internal_reuse.py",
1314
"tests/test_agent_route_builder_usage.py",
1415
"tests/test_agent_start_helper_usage.py",
1516
"tests/test_agent_task_read_helper_usage.py",

0 commit comments

Comments
 (0)