Skip to content

Commit 74db814

Browse files
authored
chore: fix tests and linting (#719)
* cp dines * cp dines * cp dines
1 parent 34f2dd0 commit 74db814

10 files changed

Lines changed: 69 additions & 55 deletions

File tree

src/runloop_api_client/resources/blueprints.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -333,6 +333,7 @@ def create_and_await_build_complete(
333333
file_mounts: Optional[Dict[str, str]] | Omit = omit,
334334
launch_parameters: Optional[LaunchParameters] | Omit = omit,
335335
metadata: Optional[Dict[str, str]] | Omit = omit,
336+
network_policy_id: Optional[str] | Omit = omit,
336337
secrets: Optional[Dict[str, str]] | Omit = omit,
337338
services: Optional[Iterable[blueprint_create_params.Service]] | Omit = omit,
338339
system_setup_commands: Optional[SequenceNotStr[str]] | Omit = omit,
@@ -372,6 +373,7 @@ def create_and_await_build_complete(
372373
file_mounts=file_mounts,
373374
launch_parameters=launch_parameters,
374375
metadata=metadata,
376+
network_policy_id=network_policy_id,
375377
secrets=secrets,
376378
services=services,
377379
system_setup_commands=system_setup_commands,
@@ -1001,6 +1003,7 @@ async def create_and_await_build_complete(
10011003
file_mounts: Optional[Dict[str, str]] | Omit = omit,
10021004
launch_parameters: Optional[LaunchParameters] | Omit = omit,
10031005
metadata: Optional[Dict[str, str]] | Omit = omit,
1006+
network_policy_id: Optional[str] | Omit = omit,
10041007
secrets: Optional[Dict[str, str]] | Omit = omit,
10051008
services: Optional[Iterable[blueprint_create_params.Service]] | Omit = omit,
10061009
system_setup_commands: Optional[SequenceNotStr[str]] | Omit = omit,
@@ -1040,6 +1043,7 @@ async def create_and_await_build_complete(
10401043
file_mounts=file_mounts,
10411044
launch_parameters=launch_parameters,
10421045
metadata=metadata,
1046+
network_policy_id=network_policy_id,
10431047
secrets=secrets,
10441048
services=services,
10451049
system_setup_commands=system_setup_commands,

src/runloop_api_client/sdk/async_benchmark.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,7 @@ async def start_run(
107107
benchmark_id=self._id,
108108
**params,
109109
)
110+
assert run_view.benchmark_id is not None, "benchmark_id should be set for runs created from a benchmark"
110111
return AsyncBenchmarkRun(self._client, run_view.id, run_view.benchmark_id)
111112

112113
async def add_scenarios(
@@ -157,8 +158,12 @@ async def list_runs(
157158
:return: List of async benchmark runs
158159
:rtype: List[AsyncBenchmarkRun]
159160
"""
160-
page = await self._client.benchmarks.runs.list(
161+
page = await self._client.benchmark_runs.list(
161162
benchmark_id=self._id,
162163
**params,
163164
)
164-
return [AsyncBenchmarkRun(self._client, run.id, run.benchmark_id) for run in page.runs]
165+
return [
166+
AsyncBenchmarkRun(self._client, run.id, run.benchmark_id)
167+
for run in page.runs
168+
if run.benchmark_id is not None
169+
]

src/runloop_api_client/sdk/async_benchmark_run.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ async def get_info(
7171
:return: Current benchmark run state info
7272
:rtype: BenchmarkRunView
7373
"""
74-
return await self._client.benchmarks.runs.retrieve(
74+
return await self._client.benchmark_runs.retrieve(
7575
self._id,
7676
**options,
7777
)
@@ -88,7 +88,7 @@ async def cancel(
8888
:return: Updated benchmark run state
8989
:rtype: BenchmarkRunView
9090
"""
91-
return await self._client.benchmarks.runs.cancel(
91+
return await self._client.benchmark_runs.cancel(
9292
self._id,
9393
**options,
9494
)
@@ -105,7 +105,7 @@ async def complete(
105105
:return: Completed benchmark run state
106106
:rtype: BenchmarkRunView
107107
"""
108-
return await self._client.benchmarks.runs.complete(
108+
return await self._client.benchmark_runs.complete(
109109
self._id,
110110
**options,
111111
)
@@ -120,7 +120,7 @@ async def list_scenario_runs(
120120
:return: List of async scenario run objects
121121
:rtype: List[AsyncScenarioRun]
122122
"""
123-
page = await self._client.benchmarks.runs.list_scenario_runs(
123+
page = await self._client.benchmark_runs.list_scenario_runs(
124124
self._id,
125125
**params,
126126
)

src/runloop_api_client/sdk/benchmark.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,7 @@ def start_run(
107107
benchmark_id=self._id,
108108
**params,
109109
)
110+
assert run_view.benchmark_id is not None, "benchmark_id should be set for runs created from a benchmark"
110111
return BenchmarkRun(self._client, run_view.id, run_view.benchmark_id)
111112

112113
def add_scenarios(
@@ -157,8 +158,12 @@ def list_runs(
157158
:return: List of benchmark runs
158159
:rtype: List[BenchmarkRun]
159160
"""
160-
page = self._client.benchmarks.runs.list(
161+
page = self._client.benchmark_runs.list(
161162
benchmark_id=self._id,
162163
**params,
163164
)
164-
return [BenchmarkRun(self._client, run.id, run.benchmark_id) for run in page.runs]
165+
return [
166+
BenchmarkRun(self._client, run.id, run.benchmark_id)
167+
for run in page.runs
168+
if run.benchmark_id is not None
169+
]

src/runloop_api_client/sdk/benchmark_run.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ def get_info(
7171
:return: Current benchmark run state info
7272
:rtype: BenchmarkRunView
7373
"""
74-
return self._client.benchmarks.runs.retrieve(
74+
return self._client.benchmark_runs.retrieve(
7575
self._id,
7676
**options,
7777
)
@@ -88,7 +88,7 @@ def cancel(
8888
:return: Updated benchmark run state
8989
:rtype: BenchmarkRunView
9090
"""
91-
return self._client.benchmarks.runs.cancel(
91+
return self._client.benchmark_runs.cancel(
9292
self._id,
9393
**options,
9494
)
@@ -105,7 +105,7 @@ def complete(
105105
:return: Completed benchmark run state
106106
:rtype: BenchmarkRunView
107107
"""
108-
return self._client.benchmarks.runs.complete(
108+
return self._client.benchmark_runs.complete(
109109
self._id,
110110
**options,
111111
)
@@ -120,7 +120,7 @@ def list_scenario_runs(
120120
:return: List of scenario run objects
121121
:rtype: List[ScenarioRun]
122122
"""
123-
page = self._client.benchmarks.runs.list_scenario_runs(
123+
page = self._client.benchmark_runs.list_scenario_runs(
124124
self._id,
125125
**params,
126126
)

tests/sdk/async_devbox/test_core.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -176,15 +176,15 @@ async def test_resume(self, mock_async_client: AsyncMock, devbox_view: MockDevbo
176176

177177
assert result == devbox_view
178178
mock_async_client.devboxes.resume.assert_called_once_with(
179-
"dev_123",
179+
"dbx_123",
180180
extra_headers={"X-Custom": "value"},
181181
extra_query={"param": "value"},
182182
extra_body={"key": "value"},
183183
timeout=30.0,
184184
idempotency_key="key-123",
185185
)
186186
mock_async_client.devboxes.await_running.assert_called_once_with(
187-
"dev_123",
187+
"dbx_123",
188188
polling_config=polling_config,
189189
)
190190

@@ -204,7 +204,7 @@ async def test_resume_async(self, mock_async_client: AsyncMock, devbox_view: Moc
204204

205205
assert result == devbox_view
206206
mock_async_client.devboxes.resume.assert_called_once_with(
207-
"dbx_123",
207+
"dev_123",
208208
extra_headers={"X-Custom": "value"},
209209
extra_query={"param": "value"},
210210
extra_body={"key": "value"},

tests/sdk/test_async_benchmark.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ async def test_list_runs_single(
8484
) -> None:
8585
"""Test list_runs method with single result."""
8686
page = SimpleNamespace(runs=[benchmark_run_view])
87-
mock_async_client.benchmarks.runs.list = AsyncMock(return_value=page)
87+
mock_async_client.benchmark_runs.list = AsyncMock(return_value=page)
8888

8989
benchmark = AsyncBenchmark(mock_async_client, "bmd_123")
9090
result = await benchmark.list_runs()
@@ -93,14 +93,14 @@ async def test_list_runs_single(
9393
assert isinstance(result[0], AsyncBenchmarkRun)
9494
assert result[0].id == benchmark_run_view.id
9595
assert result[0].benchmark_id == benchmark_run_view.benchmark_id
96-
mock_async_client.benchmarks.runs.list.assert_awaited_once_with(benchmark_id="bmd_123")
96+
mock_async_client.benchmark_runs.list.assert_awaited_once_with(benchmark_id="bmd_123")
9797

9898
async def test_list_runs_multiple(self, mock_async_client: AsyncMock) -> None:
9999
"""Test list_runs method with multiple results."""
100100
run_view1 = MockBenchmarkRunView(id="bmr_001")
101101
run_view2 = MockBenchmarkRunView(id="bmr_002")
102102
page = SimpleNamespace(runs=[run_view1, run_view2])
103-
mock_async_client.benchmarks.runs.list = AsyncMock(return_value=page)
103+
mock_async_client.benchmark_runs.list = AsyncMock(return_value=page)
104104

105105
benchmark = AsyncBenchmark(mock_async_client, "bmd_123")
106106
result = await benchmark.list_runs()
@@ -112,19 +112,19 @@ async def test_list_runs_multiple(self, mock_async_client: AsyncMock) -> None:
112112
assert result[0].benchmark_id == run_view1.benchmark_id
113113
assert result[1].id == run_view2.id
114114
assert result[1].benchmark_id == run_view2.benchmark_id
115-
mock_async_client.benchmarks.runs.list.assert_awaited_once_with(benchmark_id="bmd_123")
115+
mock_async_client.benchmark_runs.list.assert_awaited_once_with(benchmark_id="bmd_123")
116116

117117
async def test_list_runs_with_params(
118118
self, mock_async_client: AsyncMock, benchmark_run_view: MockBenchmarkRunView
119119
) -> None:
120120
"""Test list_runs method with filtering parameters."""
121121
page = SimpleNamespace(runs=[benchmark_run_view])
122-
mock_async_client.benchmarks.runs.list = AsyncMock(return_value=page)
122+
mock_async_client.benchmark_runs.list = AsyncMock(return_value=page)
123123

124124
benchmark = AsyncBenchmark(mock_async_client, "bmd_123")
125125
result = await benchmark.list_runs(limit=10, name="test-run")
126126

127127
assert len(result) == 1
128-
mock_async_client.benchmarks.runs.list.assert_awaited_once_with(
128+
mock_async_client.benchmark_runs.list.assert_awaited_once_with(
129129
benchmark_id="bmd_123", limit=10, name="test-run"
130130
)

tests/sdk/test_async_benchmark_run.py

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -26,55 +26,55 @@ def test_repr(self, mock_async_client: AsyncMock) -> None:
2626

2727
async def test_get_info(self, mock_async_client: AsyncMock, benchmark_run_view: MockBenchmarkRunView) -> None:
2828
"""Test get_info method."""
29-
mock_async_client.benchmarks.runs.retrieve = AsyncMock(return_value=benchmark_run_view)
29+
mock_async_client.benchmark_runs.retrieve = AsyncMock(return_value=benchmark_run_view)
3030

3131
run = AsyncBenchmarkRun(mock_async_client, "bmr_123", "bmd_123")
3232
result = await run.get_info()
3333

3434
assert result == benchmark_run_view
35-
mock_async_client.benchmarks.runs.retrieve.assert_awaited_once_with("bmr_123")
35+
mock_async_client.benchmark_runs.retrieve.assert_awaited_once_with("bmr_123")
3636

3737
async def test_cancel(self, mock_async_client: AsyncMock, benchmark_run_view: MockBenchmarkRunView) -> None:
3838
"""Test cancel method."""
3939
benchmark_run_view.state = "canceled"
40-
mock_async_client.benchmarks.runs.cancel = AsyncMock(return_value=benchmark_run_view)
40+
mock_async_client.benchmark_runs.cancel = AsyncMock(return_value=benchmark_run_view)
4141

4242
run = AsyncBenchmarkRun(mock_async_client, "bmr_123", "bmd_123")
4343
result = await run.cancel()
4444

4545
assert result == benchmark_run_view
4646
assert result.state == "canceled"
47-
mock_async_client.benchmarks.runs.cancel.assert_awaited_once_with("bmr_123")
47+
mock_async_client.benchmark_runs.cancel.assert_awaited_once_with("bmr_123")
4848

4949
async def test_complete(self, mock_async_client: AsyncMock, benchmark_run_view: MockBenchmarkRunView) -> None:
5050
"""Test complete method."""
5151
benchmark_run_view.state = "completed"
52-
mock_async_client.benchmarks.runs.complete = AsyncMock(return_value=benchmark_run_view)
52+
mock_async_client.benchmark_runs.complete = AsyncMock(return_value=benchmark_run_view)
5353

5454
run = AsyncBenchmarkRun(mock_async_client, "bmr_123", "bmd_123")
5555
result = await run.complete()
5656

5757
assert result == benchmark_run_view
5858
assert result.state == "completed"
59-
mock_async_client.benchmarks.runs.complete.assert_awaited_once_with("bmr_123")
59+
mock_async_client.benchmark_runs.complete.assert_awaited_once_with("bmr_123")
6060

6161
async def test_list_scenario_runs_empty(self, mock_async_client: AsyncMock) -> None:
6262
"""Test list_scenario_runs method with empty results."""
6363
page = SimpleNamespace(runs=[])
64-
mock_async_client.benchmarks.runs.list_scenario_runs = AsyncMock(return_value=page)
64+
mock_async_client.benchmark_runs.list_scenario_runs = AsyncMock(return_value=page)
6565

6666
run = AsyncBenchmarkRun(mock_async_client, "bmr_123", "bmd_123")
6767
result = await run.list_scenario_runs()
6868

6969
assert len(result) == 0
70-
mock_async_client.benchmarks.runs.list_scenario_runs.assert_awaited_once_with("bmr_123")
70+
mock_async_client.benchmark_runs.list_scenario_runs.assert_awaited_once_with("bmr_123")
7171

7272
async def test_list_scenario_runs_single(
7373
self, mock_async_client: AsyncMock, scenario_run_view: MockScenarioRunView
7474
) -> None:
7575
"""Test list_scenario_runs method with single result."""
7676
page = SimpleNamespace(runs=[scenario_run_view])
77-
mock_async_client.benchmarks.runs.list_scenario_runs = AsyncMock(return_value=page)
77+
mock_async_client.benchmark_runs.list_scenario_runs = AsyncMock(return_value=page)
7878

7979
run = AsyncBenchmarkRun(mock_async_client, "bmr_123", "bmd_123")
8080
result = await run.list_scenario_runs()
@@ -83,14 +83,14 @@ async def test_list_scenario_runs_single(
8383
assert isinstance(result[0], AsyncScenarioRun)
8484
assert result[0].id == scenario_run_view.id
8585
assert result[0].devbox_id == scenario_run_view.devbox_id
86-
mock_async_client.benchmarks.runs.list_scenario_runs.assert_awaited_once_with("bmr_123")
86+
mock_async_client.benchmark_runs.list_scenario_runs.assert_awaited_once_with("bmr_123")
8787

8888
async def test_list_scenario_runs_multiple(self, mock_async_client: AsyncMock) -> None:
8989
"""Test list_scenario_runs method with multiple results."""
9090
scenario_run_view1 = MockScenarioRunView(id="scr_001", devbox_id="dev_001")
9191
scenario_run_view2 = MockScenarioRunView(id="scr_002", devbox_id="dev_002")
9292
page = SimpleNamespace(runs=[scenario_run_view1, scenario_run_view2])
93-
mock_async_client.benchmarks.runs.list_scenario_runs = AsyncMock(return_value=page)
93+
mock_async_client.benchmark_runs.list_scenario_runs = AsyncMock(return_value=page)
9494

9595
run = AsyncBenchmarkRun(mock_async_client, "bmr_123", "bmd_123")
9696
result = await run.list_scenario_runs()
@@ -100,21 +100,21 @@ async def test_list_scenario_runs_multiple(self, mock_async_client: AsyncMock) -
100100
assert isinstance(result[1], AsyncScenarioRun)
101101
assert result[0].id == "scr_001"
102102
assert result[1].id == "scr_002"
103-
mock_async_client.benchmarks.runs.list_scenario_runs.assert_awaited_once_with("bmr_123")
103+
mock_async_client.benchmark_runs.list_scenario_runs.assert_awaited_once_with("bmr_123")
104104

105105
async def test_list_scenario_runs_with_params(
106106
self, mock_async_client: AsyncMock, scenario_run_view: MockScenarioRunView
107107
) -> None:
108108
"""Test list_scenario_runs method with filtering parameters."""
109109
page = SimpleNamespace(runs=[scenario_run_view])
110-
mock_async_client.benchmarks.runs.list_scenario_runs = AsyncMock(return_value=page)
110+
mock_async_client.benchmark_runs.list_scenario_runs = AsyncMock(return_value=page)
111111

112112
run = AsyncBenchmarkRun(mock_async_client, "bmr_123", "bmd_123")
113113
result = await run.list_scenario_runs(limit=10, state="completed")
114114

115115
assert len(result) == 1
116116
assert isinstance(result[0], AsyncScenarioRun)
117117
assert result[0].id == scenario_run_view.id
118-
mock_async_client.benchmarks.runs.list_scenario_runs.assert_awaited_once_with(
118+
mock_async_client.benchmark_runs.list_scenario_runs.assert_awaited_once_with(
119119
"bmr_123", limit=10, state="completed"
120120
)

tests/sdk/test_benchmark.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ def test_remove_scenarios(self, mock_client: Mock, benchmark_view: MockBenchmark
8080
def test_list_runs_single(self, mock_client: Mock, benchmark_run_view: MockBenchmarkRunView) -> None:
8181
"""Test list_runs method with single result."""
8282
page = SimpleNamespace(runs=[benchmark_run_view])
83-
mock_client.benchmarks.runs.list.return_value = page
83+
mock_client.benchmark_runs.list.return_value = page
8484

8585
benchmark = Benchmark(mock_client, "bmd_123")
8686
result = benchmark.list_runs()
@@ -89,14 +89,14 @@ def test_list_runs_single(self, mock_client: Mock, benchmark_run_view: MockBench
8989
assert isinstance(result[0], BenchmarkRun)
9090
assert result[0].id == benchmark_run_view.id
9191
assert result[0].benchmark_id == benchmark_run_view.benchmark_id
92-
mock_client.benchmarks.runs.list.assert_called_once_with(benchmark_id="bmd_123")
92+
mock_client.benchmark_runs.list.assert_called_once_with(benchmark_id="bmd_123")
9393

9494
def test_list_runs_multiple(self, mock_client: Mock) -> None:
9595
"""Test list_runs method with multiple results."""
9696
run_view1 = MockBenchmarkRunView(id="bmr_001")
9797
run_view2 = MockBenchmarkRunView(id="bmr_002")
9898
page = SimpleNamespace(runs=[run_view1, run_view2])
99-
mock_client.benchmarks.runs.list.return_value = page
99+
mock_client.benchmark_runs.list.return_value = page
100100

101101
benchmark = Benchmark(mock_client, "bmd_123")
102102
result = benchmark.list_runs()
@@ -108,15 +108,15 @@ def test_list_runs_multiple(self, mock_client: Mock) -> None:
108108
assert result[0].benchmark_id == run_view1.benchmark_id
109109
assert result[1].id == run_view2.id
110110
assert result[1].benchmark_id == run_view2.benchmark_id
111-
mock_client.benchmarks.runs.list.assert_called_once_with(benchmark_id="bmd_123")
111+
mock_client.benchmark_runs.list.assert_called_once_with(benchmark_id="bmd_123")
112112

113113
def test_list_runs_with_params(self, mock_client: Mock, benchmark_run_view: MockBenchmarkRunView) -> None:
114114
"""Test list_runs method with filtering parameters."""
115115
page = SimpleNamespace(runs=[benchmark_run_view])
116-
mock_client.benchmarks.runs.list.return_value = page
116+
mock_client.benchmark_runs.list.return_value = page
117117

118118
benchmark = Benchmark(mock_client, "bmd_123")
119119
result = benchmark.list_runs(limit=10, name="test-run")
120120

121121
assert len(result) == 1
122-
mock_client.benchmarks.runs.list.assert_called_once_with(benchmark_id="bmd_123", limit=10, name="test-run")
122+
mock_client.benchmark_runs.list.assert_called_once_with(benchmark_id="bmd_123", limit=10, name="test-run")

0 commit comments

Comments
 (0)