Skip to content

Commit

Permalink
Add regression test
Browse files Browse the repository at this point in the history
  • Loading branch information
joserc87 committed Feb 1, 2024
1 parent 05873d8 commit 708a059
Showing 1 changed file with 46 additions and 10 deletions.
56 changes: 46 additions & 10 deletions ravenpackapi/tests/acceptance/test_dataset_crud.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,41 +12,77 @@
class TestDatasetCRUD(object):
"""try to Create a dataset, Read it Update it and Delete it"""

api = RPApi()
dataset_name = "testing_api_crud"

def test_get_public_dataset_list(self):
datasets = self.api.list_datasets(scope="public")
@pytest.fixture
def api(self):
return RPApi()

@pytest.fixture
def edge_api(self):
return RPApi(product="edge")

def test_get_public_dataset_list(self, api):
datasets = api.list_datasets(scope="public")
assert "us30" in datasets, "US30 should be in public datasets"
assert len(datasets) > 100, "We expect at least 100 public RavenPack datasets"

def test_get_private_dataset_list(self):
datasets = self.api.list_datasets()
def test_get_private_dataset_list(self, api):
datasets = api.list_datasets()
assert len(datasets) > 0, "Don't you have a dataset?"

def test_create_and_delete(self):
def test_create_and_delete(self, api):
# the test dataset is already there, let's delete it first
# we can have multiple dataset with same name, deleting all of them
delete_all_datasets_by_name(api, self.dataset_name)

# create the dataset
filters = {"rp_entity_id": {"$in": ["D8442A"]}}
dataset = Dataset(
name=self.dataset_name,
filters=filters, # a dataset with a filter
)
new_dataset = api.create_dataset(dataset)
assert (
new_dataset.filters == dataset.filters
), "Created dataset filters are not as expected"
assert new_dataset.id is not None, "We should have a dataset id"

owned_dataset = api.list_datasets()
assert new_dataset.id in owned_dataset, "We should own the new dataset"

new_dataset.delete()

owned_dataset = api.list_datasets()
assert new_dataset.id not in owned_dataset, "The new dataset should be deleted"

def test_create_and_delete_in_edge(self, edge_api):
"""
This test checks a regression in the edge api, where the dataset
creation was failing unless we specify the product in the Dataset init.
"""
# the test dataset is already there, let's delete it first
# we can have multiple dataset with same name, deleting all of them
delete_all_datasets_by_name(self.api, self.dataset_name)
delete_all_datasets_by_name(edge_api, self.dataset_name)

# create the dataset
filters = {"rp_entity_id": {"$in": ["D8442A"]}}
dataset = Dataset(
name=self.dataset_name,
filters=filters, # a dataset with a filter
)
new_dataset = self.api.create_dataset(dataset)
new_dataset = edge_api.create_dataset(dataset)
assert (
new_dataset.filters == dataset.filters
), "Created dataset filters are not as expected"
assert new_dataset.id is not None, "We should have a dataset id"

owned_dataset = self.api.list_datasets()
owned_dataset = edge_api.list_datasets()
assert new_dataset.id in owned_dataset, "We should own the new dataset"

new_dataset.delete()

owned_dataset = self.api.list_datasets()
owned_dataset = edge_api.list_datasets()
assert new_dataset.id not in owned_dataset, "The new dataset should be deleted"


Expand Down

0 comments on commit 708a059

Please sign in to comment.