Skip to content

Commit a12ae66

Browse files
authored
Delete datasets after every creation (#219)
* Delete datasets after every creation * Add function_scope_dataset fixture and change naming of other fixtures to reflect TTL of fixures
1 parent eac724d commit a12ae66

File tree

5 files changed

+29
-20
lines changed

5 files changed

+29
-20
lines changed

tests/cli/conftest.py

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ def runner():
1515

1616

1717
@pytest.fixture(scope="module")
18-
def cli_datasets(CLIENT):
18+
def module_scope_datasets(CLIENT):
1919
test_datasets = []
2020
for i in range(3):
2121
dataset_name = f"[PyTest] CLI {i} {get_uuid()}"
@@ -28,8 +28,15 @@ def cli_datasets(CLIENT):
2828
CLIENT.delete_dataset(test_dataset.id)
2929

3030

31+
@pytest.fixture(scope="function")
32+
def function_scope_dataset(CLIENT):
33+
dataset = CLIENT.create_dataset(f"[PyTest] Dataset {get_uuid()}")
34+
yield dataset
35+
CLIENT.delete_dataset(dataset.id)
36+
37+
3138
@pytest.fixture(scope="module")
32-
def cli_models(CLIENT):
39+
def module_scope_models(CLIENT):
3340
models = []
3441
for i in range(3):
3542
model_name = "[PyTest] Model {i}"
@@ -42,13 +49,13 @@ def cli_models(CLIENT):
4249

4350

4451
@pytest.fixture(scope="module")
45-
def populated_dataset(cli_datasets):
46-
yield cli_datasets[0]
52+
def populated_dataset(module_scope_datasets):
53+
yield module_scope_datasets[0]
4754

4855

4956
@pytest.fixture(scope="module")
50-
def model(cli_models):
51-
yield cli_models[0]
57+
def model(module_scope_models):
58+
yield module_scope_models[0]
5259

5360

5461
@pytest.fixture(scope="module")

tests/cli/test_datasets.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,26 +6,26 @@
66
from cli.datasets import datasets, delete_dataset, list_datasets
77

88

9-
def test_invoke_dataset_outputs_list(cli_datasets):
9+
def test_invoke_dataset_outputs_list(module_scope_datasets):
1010
runner = CliRunner()
1111
result = runner.invoke(datasets) # type: ignore
1212
assert result.exception is None
13-
for dataset in cli_datasets:
13+
for dataset in module_scope_datasets:
1414
assert dataset.id in result.output
1515

1616

17-
def test_invoke_dataset_list(cli_datasets):
17+
def test_invoke_dataset_list(module_scope_datasets):
1818
runner = CliRunner()
1919
result = runner.invoke(list_datasets) # type: ignore
2020
assert result.exception is None
21-
for dataset in cli_datasets:
21+
for dataset in module_scope_datasets:
2222
assert dataset.id in result.output
2323

2424

2525
@pytest.mark.xfail(
2626
reason="Dataset delete is flaky -> The deleted dataset still shows up."
2727
)
28-
def test_invoke_dataset_delete(CLIENT, cli_datasets):
28+
def test_invoke_dataset_delete(CLIENT, module_scope_datasets):
2929
dataset_name = "[PyTest] To delete"
3030
dataset = CLIENT.create_dataset(dataset_name, is_scene=False)
3131
runner = CliRunner()
@@ -38,9 +38,9 @@ def test_invoke_dataset_delete(CLIENT, cli_datasets):
3838
assert dataset.id not in list_result.output
3939

4040

41-
def test_invoke_dataset_delete_wrong_confirmation(cli_datasets):
41+
def test_invoke_dataset_delete_wrong_confirmation(module_scope_datasets):
4242
runner = CliRunner()
43-
dataset_to_not_delete = cli_datasets[0]
43+
dataset_to_not_delete = module_scope_datasets[0]
4444
result = runner.invoke(delete_dataset, ["--id", str(dataset_to_not_delete.id)], input="DEL") # type: ignore
4545
assert result.exit_code != 0
4646
list_result = runner.invoke(list_datasets) # type:ignore

tests/cli/test_jobs.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ def test_invoke_jobs(runner):
1111
assert result.exit_code == 0
1212

1313

14-
def test_list_jobs(CLIENT, runner):
15-
dataset = CLIENT.create_dataset(f"[PyTest] Dataset {get_uuid()}")
14+
def test_list_jobs(CLIENT, runner, function_scope_dataset):
15+
dataset = function_scope_dataset
1616
items = make_dataset_items()
1717
dataset.append(items, asynchronous=True)
1818
result = runner.invoke(list_jobs)

tests/cli/test_models.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,17 @@
33
from cli.models import list_models, models
44

55

6-
def test_invoke_models(runner, cli_models):
6+
def test_invoke_models(runner, module_scope_models):
77
result = runner.invoke(models) # type: ignore
88
assert result.exception is None
99
assert result.exit_code == 0
10-
for model in cli_models:
10+
for model in module_scope_models:
1111
assert model.id in result.output
1212

1313

14-
def test_invoke_models_list(runner, cli_models):
14+
def test_invoke_models_list(runner, module_scope_models):
1515
result = runner.invoke(list_models) # type: ignore
1616
assert result.exception is None
1717
assert result.exit_code == 0
18-
for model in cli_models:
18+
for model in module_scope_models:
1919
assert model.id in result.output

tests/test_dataset.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,9 @@ def dataset(CLIENT):
6868

6969
@pytest.fixture()
7070
def dataset_scene(CLIENT):
71-
CLIENT.create_dataset(TEST_DATASET_NAME, is_scene=True)
71+
ds = CLIENT.create_dataset(TEST_DATASET_NAME, is_scene=True)
72+
yield ds
73+
CLIENT.delete_dataset(ds.id)
7274

7375

7476
def make_dataset_items():

0 commit comments

Comments
 (0)