Skip to content

Commit 068cd78

Browse files
yeldarbyclaude
andcommitted
test(cli): add explicit arg-passing assertions for video status and universe search
Add tests verifying that video status passes job_id to the API call and that universe search forwards --limit to rfapi.search_universe(). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 697b719 commit 068cd78

2 files changed

Lines changed: 45 additions & 0 deletions

File tree

tests/cli/test_universe_handler.py

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,28 @@ def test_search_passes_api_key(self) -> None:
8787
sys.stdout = old_stdout
8888
mock_search.assert_called_once_with("cats", api_key="my-key", project_type=None, limit=12)
8989

90+
def test_search_passes_custom_limit(self) -> None:
91+
import io
92+
import sys
93+
94+
from roboflow.cli import build_parser
95+
96+
parser = build_parser()
97+
args = parser.parse_args(["universe", "search", "dogs", "--limit", "5"])
98+
from unittest.mock import patch
99+
100+
mock_data = {"results": []}
101+
captured = io.StringIO()
102+
old_stdout = sys.stdout
103+
sys.stdout = captured
104+
try:
105+
with patch("roboflow.adapters.rfapi.search_universe", return_value=mock_data) as mock_search:
106+
with patch("roboflow.config.load_roboflow_api_key", return_value="k"):
107+
args.func(args)
108+
finally:
109+
sys.stdout = old_stdout
110+
mock_search.assert_called_once_with("dogs", api_key="k", project_type=None, limit=5)
111+
90112
def test_search_json_output(self) -> None:
91113
import io
92114
import json

tests/cli/test_video_handler.py

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,5 +115,28 @@ def test_status_json_output(self) -> None:
115115
self.assertEqual(result["status"], "processing")
116116

117117

118+
def test_status_passes_job_id_to_api(self) -> None:
119+
import io
120+
import sys
121+
122+
from roboflow.cli import build_parser
123+
124+
parser = build_parser()
125+
args = parser.parse_args(["video", "status", "my-unique-job-777"])
126+
from unittest.mock import patch
127+
128+
mock_data = {"status": "completed"}
129+
captured = io.StringIO()
130+
old_stdout = sys.stdout
131+
sys.stdout = captured
132+
try:
133+
with patch("roboflow.config.load_roboflow_api_key", return_value="fake-key"):
134+
with patch("roboflow.adapters.rfapi.get_video_job_status", return_value=mock_data) as mock_api:
135+
args.func(args)
136+
finally:
137+
sys.stdout = old_stdout
138+
mock_api.assert_called_once_with("fake-key", "my-unique-job-777")
139+
140+
118141
if __name__ == "__main__":
119142
unittest.main()

0 commit comments

Comments
 (0)