Skip to content
Snippets Groups Projects
Commit a2e1a13d authored by Kenzo-Hugo Hillion's avatar Kenzo-Hugo Hillion :recycle:
Browse files

improve deletion of test entry

parent 088949ac
No related branches found
No related tags found
1 merge request!5add Entity CRUDs and endpoints
Pipeline #70857 passed
...@@ -42,3 +42,8 @@ class BaseApiTests(unittest.TestCase): ...@@ -42,3 +42,8 @@ class BaseApiTests(unittest.TestCase):
@classmethod @classmethod
def tearDownClass(cls) -> None: def tearDownClass(cls) -> None:
clear_di() clear_di()
def _delete_entry(self, entry):
self.session.rollback()
self.session.delete(entry)
self.session.commit()
...@@ -42,15 +42,17 @@ class TestCatalogs(BaseApiTests): ...@@ -42,15 +42,17 @@ class TestCatalogs(BaseApiTests):
cat_name = "created_catalog" cat_name = "created_catalog"
json_input = {"name": cat_name} json_input = {"name": cat_name}
expected_data = {"name": cat_name, "doi": None} expected_data = {"name": cat_name, "doi": None}
# When try:
response = self.client.post("/api/catalogs/", json=json_input) # When
# Then response = self.client.post("/api/catalogs/", json=json_input)
self.assertEqual(response.status_code, 200) # Then
self.assertDictEqual(response.json(), expected_data) self.assertEqual(response.status_code, 200)
# Finally delete item self.assertDictEqual(response.json(), expected_data)
cat = self.session.exec(select(Catalog).where(Catalog.name == cat_name)).one() finally:
self.session.delete(cat) cat = self.session.exec(
self.session.commit() select(Catalog).where(Catalog.name == cat_name)
).one()
self._delete_entry(cat)
def test_create_existing_catalog(self): def test_create_existing_catalog(self):
# Given # Given
...@@ -95,11 +97,11 @@ class TestCatalogs(BaseApiTests): ...@@ -95,11 +97,11 @@ class TestCatalogs(BaseApiTests):
self.session.commit() self.session.commit()
json_input = {"name": name_to_update, "doi": "12345"} json_input = {"name": name_to_update, "doi": "12345"}
expected_data = json_input expected_data = json_input
# When try:
response = self.client.put(f"/api/catalogs/", json=json_input) # When
# Then response = self.client.put(f"/api/catalogs/", json=json_input)
self.assertEqual(response.status_code, 200) # Then
self.assertDictEqual(response.json(), expected_data) self.assertEqual(response.status_code, 200)
# Finally self.assertDictEqual(response.json(), expected_data)
self.session.delete(catalog_to_update) finally:
self.session.commit() self._delete_entry(catalog_to_update)
...@@ -43,15 +43,15 @@ class TestKeggs(BaseApiTests): ...@@ -43,15 +43,15 @@ class TestKeggs(BaseApiTests):
kegg_name = "created_kegg" kegg_name = "created_kegg"
json_input = {"kegg_id": kegg_id, "name": kegg_name} json_input = {"kegg_id": kegg_id, "name": kegg_name}
expected_data = {"kegg_id": kegg_id, "name": kegg_name} expected_data = {"kegg_id": kegg_id, "name": kegg_name}
# When try:
response = self.client.post("/api/keggs/", json=json_input) # When
# Then response = self.client.post("/api/keggs/", json=json_input)
self.assertEqual(response.status_code, 200) # Then
self.assertDictEqual(response.json(), expected_data) self.assertEqual(response.status_code, 200)
# Finally delete item self.assertDictEqual(response.json(), expected_data)
kegg = self.session.exec(select(Kegg).where(Kegg.kegg_id == kegg_id)).one() finally:
self.session.delete(kegg) kegg = self.session.exec(select(Kegg).where(Kegg.kegg_id == kegg_id)).one()
self.session.commit() self._delete_entry(kegg)
def test_create_existing_kegg(self): def test_create_existing_kegg(self):
# Given # Given
...@@ -100,11 +100,11 @@ class TestKeggs(BaseApiTests): ...@@ -100,11 +100,11 @@ class TestKeggs(BaseApiTests):
self.session.commit() self.session.commit()
json_input = {"kegg_id": kegg_id, "name": new_name} json_input = {"kegg_id": kegg_id, "name": new_name}
expected_data = json_input expected_data = json_input
# When try:
response = self.client.put(f"/api/keggs/", json=json_input) # When
# Then response = self.client.put(f"/api/keggs/", json=json_input)
self.assertEqual(response.status_code, 200) # Then
self.assertDictEqual(response.json(), expected_data) self.assertEqual(response.status_code, 200)
# Finally self.assertDictEqual(response.json(), expected_data)
self.session.delete(kegg_to_update) finally:
self.session.commit() self._delete_entry(kegg_to_update)
...@@ -58,17 +58,17 @@ class TestNcbiTaxonomys(BaseApiTests): ...@@ -58,17 +58,17 @@ class TestNcbiTaxonomys(BaseApiTests):
"name": ncbi_taxonomy_name, "name": ncbi_taxonomy_name,
"rank": rank_created, "rank": rank_created,
} }
# When try:
response = self.client.post("/api/ncbi_taxonomy/", json=json_input) # When
# Then response = self.client.post("/api/ncbi_taxonomy/", json=json_input)
self.assertEqual(response.status_code, 200) # Then
self.assertDictEqual(response.json(), expected_data) self.assertEqual(response.status_code, 200)
# Finally delete item self.assertDictEqual(response.json(), expected_data)
ncbi_tax = self.session.exec( finally:
select(NcbiTaxonomy).where(NcbiTaxonomy.tax_id == tax_id) ncbi_tax = self.session.exec(
).one() select(NcbiTaxonomy).where(NcbiTaxonomy.tax_id == tax_id)
self.session.delete(ncbi_tax) ).one()
self.session.commit() self._delete_entry(ncbi_tax)
def test_create_existing_ncbi_taxonomy(self): def test_create_existing_ncbi_taxonomy(self):
# Given # Given
...@@ -124,16 +124,16 @@ class TestNcbiTaxonomys(BaseApiTests): ...@@ -124,16 +124,16 @@ class TestNcbiTaxonomys(BaseApiTests):
self.session.commit() self.session.commit()
json_input = {"tax_id": tax_id, "name": new_name} json_input = {"tax_id": tax_id, "name": new_name}
expected_data = {"tax_id": tax_id, "name": new_name, "rank": rank} expected_data = {"tax_id": tax_id, "name": new_name, "rank": rank}
# When try:
response = self.client.put( # When
f"/api/ncbi_taxonomy/?exclude_none=true", json=json_input response = self.client.put(
) f"/api/ncbi_taxonomy/?exclude_none=true", json=json_input
# Then )
self.assertEqual(response.status_code, 200) # Then
self.assertDictEqual(response.json(), expected_data) self.assertEqual(response.status_code, 200)
# Finally self.assertDictEqual(response.json(), expected_data)
self.session.delete(ncbi_taxonomy_to_update) finally:
self.session.commit() self._delete_entry(ncbi_taxonomy_to_update)
def test_update_ncbi_taxonomy_no_rank_exclude_none_false(self): def test_update_ncbi_taxonomy_no_rank_exclude_none_false(self):
# Given # Given
...@@ -154,8 +154,5 @@ class TestNcbiTaxonomys(BaseApiTests): ...@@ -154,8 +154,5 @@ class TestNcbiTaxonomys(BaseApiTests):
f"/api/ncbi_taxonomy/?exclude_none=false", json=json_input f"/api/ncbi_taxonomy/?exclude_none=false", json=json_input
) )
self.assertEqual(response.status_code, 422) self.assertEqual(response.status_code, 422)
# Finally
finally: finally:
self.session.rollback() self._delete_entry(ncbi_taxonomy_to_update)
self.session.delete(ncbi_taxonomy_to_update)
self.session.commit()
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment