Skip to content

Commit 708a059

Browse files
committed
Add regression test
1 parent 05873d8 commit 708a059

File tree

1 file changed

+46
-10
lines changed

1 file changed

+46
-10
lines changed

ravenpackapi/tests/acceptance/test_dataset_crud.py

Lines changed: 46 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -12,41 +12,77 @@
1212
class TestDatasetCRUD(object):
1313
"""try to Create a dataset, Read it Update it and Delete it"""
1414

15-
api = RPApi()
1615
dataset_name = "testing_api_crud"
1716

18-
def test_get_public_dataset_list(self):
19-
datasets = self.api.list_datasets(scope="public")
17+
@pytest.fixture
18+
def api(self):
19+
return RPApi()
20+
21+
@pytest.fixture
22+
def edge_api(self):
23+
return RPApi(product="edge")
24+
25+
def test_get_public_dataset_list(self, api):
26+
datasets = api.list_datasets(scope="public")
2027
assert "us30" in datasets, "US30 should be in public datasets"
2128
assert len(datasets) > 100, "We expect at least 100 public RavenPack datasets"
2229

23-
def test_get_private_dataset_list(self):
24-
datasets = self.api.list_datasets()
30+
def test_get_private_dataset_list(self, api):
31+
datasets = api.list_datasets()
2532
assert len(datasets) > 0, "Don't you have a dataset?"
2633

27-
def test_create_and_delete(self):
34+
def test_create_and_delete(self, api):
35+
# the test dataset is already there, let's delete it first
36+
# we can have multiple dataset with same name, deleting all of them
37+
delete_all_datasets_by_name(api, self.dataset_name)
38+
39+
# create the dataset
40+
filters = {"rp_entity_id": {"$in": ["D8442A"]}}
41+
dataset = Dataset(
42+
name=self.dataset_name,
43+
filters=filters, # a dataset with a filter
44+
)
45+
new_dataset = api.create_dataset(dataset)
46+
assert (
47+
new_dataset.filters == dataset.filters
48+
), "Created dataset filters are not as expected"
49+
assert new_dataset.id is not None, "We should have a dataset id"
50+
51+
owned_dataset = api.list_datasets()
52+
assert new_dataset.id in owned_dataset, "We should own the new dataset"
53+
54+
new_dataset.delete()
55+
56+
owned_dataset = api.list_datasets()
57+
assert new_dataset.id not in owned_dataset, "The new dataset should be deleted"
58+
59+
def test_create_and_delete_in_edge(self, edge_api):
60+
"""
61+
This test checks a regression in the edge api, where the dataset
62+
creation was failing unless we specify the product in the Dataset init.
63+
"""
2864
# the test dataset is already there, let's delete it first
2965
# we can have multiple dataset with same name, deleting all of them
30-
delete_all_datasets_by_name(self.api, self.dataset_name)
66+
delete_all_datasets_by_name(edge_api, self.dataset_name)
3167

3268
# create the dataset
3369
filters = {"rp_entity_id": {"$in": ["D8442A"]}}
3470
dataset = Dataset(
3571
name=self.dataset_name,
3672
filters=filters, # a dataset with a filter
3773
)
38-
new_dataset = self.api.create_dataset(dataset)
74+
new_dataset = edge_api.create_dataset(dataset)
3975
assert (
4076
new_dataset.filters == dataset.filters
4177
), "Created dataset filters are not as expected"
4278
assert new_dataset.id is not None, "We should have a dataset id"
4379

44-
owned_dataset = self.api.list_datasets()
80+
owned_dataset = edge_api.list_datasets()
4581
assert new_dataset.id in owned_dataset, "We should own the new dataset"
4682

4783
new_dataset.delete()
4884

49-
owned_dataset = self.api.list_datasets()
85+
owned_dataset = edge_api.list_datasets()
5086
assert new_dataset.id not in owned_dataset, "The new dataset should be deleted"
5187

5288

0 commit comments

Comments
 (0)