diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 88dc52ebd0b3f73c4cf7e3e3aa931f864bfe48ff..90f8d02881cb6e0ab69ace55adff7351754f9e8d 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -304,7 +304,7 @@ test-analyse-service: script: - "pip install pipenv" - "pipenv install gunicorn && pipenv install --dev --system --deploy" - - cd ./dbrepo-analyse-service/ && coverage run -m pytest tests/test_determine_dt.py tests/test_determine_pk.py tests/test_s3_client.py --junitxml=report.xml && coverage html --omit="tests/*" && coverage report --omit="tests/*" > ./coverage.txt + - cd ./dbrepo-analyse-service/ && coverage run -m pytest tests/test_determine_dt.py tests/test_determine_pk.py tests/test_s3_client.py && coverage html --omit="tests/*" && coverage report --omit="tests/*" > ./coverage.txt - "cat ./coverage.txt | grep -o 'TOTAL[^%]*%'" artifacts: when: always @@ -326,7 +326,7 @@ test-auth-service-init: - "pip install pipenv" - "pipenv install gunicorn && pipenv install --dev --system --deploy" script: - - cd ./dbrepo-auth-service/init/ && coverage run -m pytest tests/test_unit_app.py --junitxml=report.xml && coverage html --omit="tests/*" && coverage report --omit="tests/*" > ./coverage.txt + - cd ./dbrepo-auth-service/init/ && coverage run -m pytest tests/test_unit_app.py && coverage html --omit="tests/*" && coverage report --omit="tests/*" > ./coverage.txt - "cat ./coverage.txt | grep -o 'TOTAL[^%]*%'" artifacts: when: always @@ -357,7 +357,7 @@ test-search-service: script: - "pip install pipenv" - "pipenv install gunicorn && pipenv install --dev --system --deploy" - - cd ./dbrepo-search-service/ && coverage run -m pytest tests/test_app.py tests/test_jwt.py tests/test_opensearch_client.py tests/test_keycloak_client.py --junitxml=report.xml && coverage html && coverage report > ./coverage.txt + - cd ./dbrepo-search-service/ && coverage run --rcfile=.coveragerc -m pytest tests/test_app.py tests/test_jwt.py tests/test_opensearch_client.py tests/test_keycloak_client.py && coverage html && coverage report > ./coverage.txt - "cat ./coverage.txt | grep -o 'TOTAL[^%]*%'" artifacts: when: always @@ -381,7 +381,7 @@ test-search-service-init: script: - "pip install pipenv" - "pipenv install gunicorn && pipenv install --dev --system --deploy" - - cd ./dbrepo-search-service/init/ && coverage run -m pytest tests/test_app.py tests/test_keycloak_client.py tests/test_opensearch_client.py --junitxml=report.xml && coverage html && coverage report > ./coverage.txt + - cd ./dbrepo-search-service/init/ && coverage run --rcfile=.coveragerc -m pytest tests/test_app.py tests/test_keycloak_client.py tests/test_opensearch_client.py && coverage html && coverage report > ./coverage.txt - "cat ./coverage.txt | grep -o 'TOTAL[^%]*%'" artifacts: when: always @@ -405,7 +405,7 @@ test-lib: script: - "pip install pipenv" - "pipenv install gunicorn && pipenv install --dev --system --deploy" - - cd ./lib/python/ && coverage run -m pytest tests/test_unit_container.py tests/test_unit_concept.py tests/test_unit_database.py tests/test_unit_identifier.py tests/test_unit_license.py tests/test_unit_query.py tests/test_unit_rest_client.py tests/test_unit_table.py tests/test_unit_user.py tests/test_unit_view.py tests/test_unit_unit.py --junitxml=report.xml && coverage html --omit="tests/*" && coverage report --omit="tests/*" > ./coverage.txt + - cd ./lib/python/ && coverage run -rcfile=.coveragerc -m pytest tests/test_unit_container.py tests/test_unit_concept.py tests/test_unit_database.py tests/test_unit_identifier.py tests/test_unit_license.py tests/test_unit_query.py tests/test_unit_rest_client.py tests/test_unit_table.py tests/test_unit_user.py tests/test_unit_view.py tests/test_unit_unit.py && coverage html && coverage report > ./coverage.txt - "cat ./coverage.txt | grep -o 'TOTAL[^%]*%'" artifacts: when: always diff --git a/dbrepo-search-service/.coveragerc b/dbrepo-search-service/.coveragerc index 4683a93d3748d16ab20a61f318e3016d3f4a8e09..fe5a089d2ee3bf7b1a47b57c17936c9df551ec53 100644 --- a/dbrepo-search-service/.coveragerc +++ b/dbrepo-search-service/.coveragerc @@ -1,5 +1,10 @@ [report] +format = html omit = - */test/* - */omlib/* - */init/* \ No newline at end of file + # omit tests + ./tests/* + # omit ext lib + ./omlib/* + +[html] +directory = htmlcov \ No newline at end of file diff --git a/dbrepo-search-service/init/.coveragerc b/dbrepo-search-service/init/.coveragerc index b5a0e606be380a3149f066712428e43c82af2bd8..fe5a089d2ee3bf7b1a47b57c17936c9df551ec53 100644 --- a/dbrepo-search-service/init/.coveragerc +++ b/dbrepo-search-service/init/.coveragerc @@ -1,5 +1,10 @@ [report] - +format = html omit = # omit tests - ./test/* \ No newline at end of file + ./tests/* + # omit ext lib + ./omlib/* + +[html] +directory = htmlcov \ No newline at end of file diff --git a/dbrepo-search-service/init/clients/opensearch_client.py b/dbrepo-search-service/init/clients/opensearch_client.py index 35c26f03f5f684adc2652c199db7f99afd6cfc13..deca261ce273563bb84aa19e7525440f4d64bdeb 100644 --- a/dbrepo-search-service/init/clients/opensearch_client.py +++ b/dbrepo-search-service/init/clients/opensearch_client.py @@ -51,7 +51,7 @@ class OpenSearchClient: http_auth=(self.username, self.password)) return self.instance - def update_database(self, database_id: int, data: Database) -> Database: + def update_database(self, database_id: str, data: Database) -> Database: """ Updates the database data with given id. @@ -66,7 +66,7 @@ class OpenSearchClient: response: dict = self._instance().get(index="database", id=database_id) return Database.model_validate(response["_source"]) - def delete_database(self, database_id: int) -> None: + def delete_database(self, database_id: str) -> None: """ Deletes the database data with given id. diff --git a/dbrepo-search-service/init/tests/test_opensearch_client.py b/dbrepo-search-service/init/tests/test_opensearch_client.py index 70328df6387dd9d6743804bb3c240637a35d6f40..fe65fd060a363d5ecebf98fa006db78b6f30c555 100644 --- a/dbrepo-search-service/init/tests/test_opensearch_client.py +++ b/dbrepo-search-service/init/tests/test_opensearch_client.py @@ -1,14 +1,14 @@ +import os import unittest import opensearchpy -import os from dbrepo.api.dto import Database, Table, Column, ColumnType, Constraints, PrimaryKey, \ ConceptBrief, UnitBrief, UserBrief, ContainerBrief, ImageBrief, TableBrief, ColumnBrief from opensearchpy import NotFoundError from clients.opensearch_client import OpenSearchClient -req = Database(id=1, +req = Database(id="209acf92-5c9b-4633-ad99-113c86f6e948", name="Test", internal_name="test_tuw1", owner=UserBrief(id="c6b71ef5-2d2f-48b2-9d79-b8f23a3a0502", username="foo"), @@ -16,16 +16,15 @@ req = Database(id=1, exchange_name="dbrepo", is_public=True, is_schema_public=True, - container=ContainerBrief(id=1, + container=ContainerBrief(id="7efe8b27-6cdc-4387-80e3-92ee28f4a7c5", name="MariaDB", internal_name="mariadb", - host="data-db", - image=ImageBrief(id=1, + image=ImageBrief(id="f97791b4-baf4-4b18-8f7d-3084818e6549", name="mariadb", version="11.1.3", jdbc_method="mariadb")), - tables=[Table(id=1, - database_id=1, + tables=[Table(id="f94a6164-cad4-4873-a9fd-3fe5313b2e95", + database_id="209acf92-5c9b-4633-ad99-113c86f6e948", name="Data", internal_name="data", owner=UserBrief(id="c6b71ef5-2d2f-48b2-9d79-b8f23a3a0502", username="foo"), @@ -35,9 +34,9 @@ req = Database(id=1, routing_key="dbrepo.1.1", is_public=True, is_schema_public=True, - columns=[Column(id=1, - database_id=1, - table_id=1, + columns=[Column(id="7bef7e68-88f1-438e-9b94-0a77afd21471", + database_id="209acf92-5c9b-4633-ad99-113c86f6e948", + table_id="f94a6164-cad4-4873-a9fd-3fe5313b2e95", name="ID", ord=0, internal_name="id", @@ -45,8 +44,9 @@ req = Database(id=1, is_null_allowed=False, size=20, d=0, - concept=ConceptBrief(id=1, uri="http://www.wikidata.org/entity/Q2221906"), - unit=UnitBrief(id=1, + concept=ConceptBrief(id="fb32ecf6-1f68-49b4-85ee-04e76263cbef", + uri="http://www.wikidata.org/entity/Q2221906"), + unit=UnitBrief(id="a67d735e-32ef-4917-b412-fe099c6757a1", uri="http://www.ontology-of-units-of-measure.org/resource/om-2/degreeCelsius"), val_min=0, val_max=10)] @@ -56,7 +56,7 @@ req = Database(id=1, class OpenSearchClientTest(unittest.TestCase): def test_update_database_succeeds(self): - req.tables = [Table(id=1, + req.tables = [Table(id="f94a6164-cad4-4873-a9fd-3fe5313b2e95", name="Test Table", internal_name="test_table", queue_name="dbrepo", @@ -64,27 +64,31 @@ class OpenSearchClientTest(unittest.TestCase): is_public=True, is_schema_public=True, database_id=req.id, - constraints=Constraints(uniques=[], foreign_keys=[], checks=[], - primary_key=[PrimaryKey(id=1, - table=TableBrief(id=1, - database_id=req.id, - name="Test Table", - internal_name="test_table", - is_public=True, - is_schema_public=True, - is_versioned=True, - owned_by="c6b71ef5-2d2f-48b2-9d79-b8f23a3a0502"), - column=ColumnBrief(id=1, - name="ID", - database_id=req.id, - table_id=1, - internal_name="id", - type=ColumnType.BIGINT))]), + constraints=Constraints(uniques=[], + foreign_keys=[], + checks=[], + primary_key=[PrimaryKey(id="f0d4dfdf-d987-4c73-aa40-1038db79bb31", + table=TableBrief( + id="f94a6164-cad4-4873-a9fd-3fe5313b2e95", + database_id=req.id, + name="Test Table", + internal_name="test_table", + is_public=True, + is_schema_public=True, + is_versioned=True, + owned_by="c6b71ef5-2d2f-48b2-9d79-b8f23a3a0502"), + column=ColumnBrief( + id="90d81c6a-e69a-4413-97b8-fd2266a6e641", + name="ID", + database_id=req.id, + table_id="90d81c6a-e69a-4413-97b8-fd2266a6e641", + internal_name="id", + type=ColumnType.BIGINT))]), is_versioned=True, owner=UserBrief(id="c6b71ef5-2d2f-48b2-9d79-b8f23a3a0502", username="foo"), - columns=[Column(id=1, + columns=[Column(id="c63bde4a-61e4-42f1-ab64-350579c0691f", database_id=req.id, - table_id=1, + table_id="f94a6164-cad4-4873-a9fd-3fe5313b2e95", ord=0, name="ID", internal_name="id", @@ -95,7 +99,7 @@ class OpenSearchClientTest(unittest.TestCase): # test database = OpenSearchClient().update_database(database_id=req.id, data=req) - self.assertEqual(1, database.id) + self.assertEqual("209acf92-5c9b-4633-ad99-113c86f6e948", database.id) self.assertEqual("Test", database.name) self.assertEqual("test_tuw1", database.internal_name) self.assertEqual("c6b71ef5-2d2f-48b2-9d79-b8f23a3a0502", database.owner.id) @@ -104,34 +108,34 @@ class OpenSearchClientTest(unittest.TestCase): self.assertEqual("foo", database.contact.username) self.assertEqual("dbrepo", database.exchange_name) self.assertEqual(True, database.is_public) - self.assertEqual(1, database.container.id) + self.assertEqual("7efe8b27-6cdc-4387-80e3-92ee28f4a7c5", database.container.id) # ... - self.assertEqual(1, database.container.image.id) + self.assertEqual("f97791b4-baf4-4b18-8f7d-3084818e6549", database.container.image.id) # ... self.assertEqual(1, len(database.tables)) - self.assertEqual(1, database.tables[0].id) + self.assertEqual("f94a6164-cad4-4873-a9fd-3fe5313b2e95", database.tables[0].id) self.assertEqual("Test Table", database.tables[0].name) self.assertEqual("test_table", database.tables[0].internal_name) self.assertEqual("dbrepo", database.tables[0].queue_name) self.assertEqual("dbrepo.test_tuw1.test_table", database.tables[0].routing_key) self.assertEqual(True, database.tables[0].is_public) - self.assertEqual(1, database.tables[0].database_id) + self.assertEqual("209acf92-5c9b-4633-ad99-113c86f6e948", database.tables[0].database_id) self.assertEqual(True, database.tables[0].is_versioned) self.assertEqual("c6b71ef5-2d2f-48b2-9d79-b8f23a3a0502", database.tables[0].owner.id) self.assertEqual("foo", database.tables[0].owner.username) self.assertEqual(1, len(database.tables[0].columns)) - self.assertEqual(1, database.tables[0].columns[0].id) + self.assertEqual("c63bde4a-61e4-42f1-ab64-350579c0691f", database.tables[0].columns[0].id) self.assertEqual("ID", database.tables[0].columns[0].name) self.assertEqual("id", database.tables[0].columns[0].internal_name) self.assertEqual(ColumnType.BIGINT, database.tables[0].columns[0].type) - self.assertEqual(1, database.tables[0].columns[0].database_id) - self.assertEqual(1, database.tables[0].columns[0].table_id) + self.assertEqual("209acf92-5c9b-4633-ad99-113c86f6e948", database.tables[0].columns[0].database_id) + self.assertEqual("f94a6164-cad4-4873-a9fd-3fe5313b2e95", database.tables[0].columns[0].table_id) self.assertEqual(False, database.tables[0].columns[0].is_null_allowed) def test_update_database_create_succeeds(self): # test database = OpenSearchClient().update_database(database_id=req.id, data=req) - self.assertEqual(1, database.id) + self.assertEqual("209acf92-5c9b-4633-ad99-113c86f6e948", database.id) self.assertEqual("Test", database.name) self.assertEqual("test_tuw1", database.internal_name) self.assertEqual("c6b71ef5-2d2f-48b2-9d79-b8f23a3a0502", database.owner.id) @@ -140,9 +144,9 @@ class OpenSearchClientTest(unittest.TestCase): self.assertEqual("foo", database.contact.username) self.assertEqual("dbrepo", database.exchange_name) self.assertEqual(True, database.is_public) - self.assertEqual(1, database.container.id) + self.assertEqual("7efe8b27-6cdc-4387-80e3-92ee28f4a7c5", database.container.id) # ... - self.assertEqual(1, database.container.image.id) + self.assertEqual("f97791b4-baf4-4b18-8f7d-3084818e6549", database.container.image.id) # ... self.assertEqual(1, len(database.tables)) diff --git a/dbrepo-search-service/tests/test_app.py b/dbrepo-search-service/tests/test_app.py index 2b765b77544239bc0f6f3352ced6b07625ab291b..f05171299ef5fe202ee71ce5b5b347364a4eeed8 100644 --- a/dbrepo-search-service/tests/test_app.py +++ b/dbrepo-search-service/tests/test_app.py @@ -8,7 +8,7 @@ from dbrepo.api.dto import Database, Table, Constraints, Column, ColumnType, Con from app import app -req = Database(id=1, +req = Database(id="209acf92-5c9b-4633-ad99-113c86f6e948", name="Test", internal_name="test_tuw1", owner=UserBrief(id="c6b71ef5-2d2f-48b2-9d79-b8f23a3a0502", username="foo"), @@ -16,15 +16,17 @@ req = Database(id=1, exchange_name="dbrepo", is_public=True, is_schema_public=True, - container=ContainerBrief(id=1, + container=ContainerBrief(id="7efe8b27-6cdc-4387-80e3-92ee28f4a7c5", name="MariaDB", internal_name="mariadb", - host="data-db", - image=ImageBrief(id=1, + image=ImageBrief(id="f97791b4-baf4-4b18-8f7d-3084818e6549", name="mariadb", version="11.1.3", jdbc_method="mariadb")), - tables=[Table(id=1, database_id=1, name="Data", internal_name="data", + tables=[Table(id="f94a6164-cad4-4873-a9fd-3fe5313b2e95", + database_id="209acf92-5c9b-4633-ad99-113c86f6e948", + name="Data", + internal_name="data", owner=UserBrief(id="c6b71ef5-2d2f-48b2-9d79-b8f23a3a0502", username="foo"), constraints=Constraints(uniques=[], foreign_keys=[], checks=[], primary_key=[]), is_versioned=False, @@ -32,20 +34,19 @@ req = Database(id=1, routing_key="dbrepo.1.1", is_public=True, is_schema_public=True, - columns=[Column(id=1, - database_id=1, - table_id=1, - ord=0, + columns=[Column(id="7bef7e68-88f1-438e-9b94-0a77afd21471", + database_id="209acf92-5c9b-4633-ad99-113c86f6e948", + table_id="f94a6164-cad4-4873-a9fd-3fe5313b2e95", name="ID", + ord=0, internal_name="id", type=ColumnType.BIGINT, - is_public=True, is_null_allowed=False, size=20, d=0, - concept=ConceptBrief(id=1, + concept=ConceptBrief(id="fb32ecf6-1f68-49b4-85ee-04e76263cbef", uri="http://www.wikidata.org/entity/Q2221906"), - unit=UnitBrief(id=1, + unit=UnitBrief(id="a67d735e-32ef-4917-b412-fe099c6757a1", uri="http://www.ontology-of-units-of-measure.org/resource/om-2/degreeCelsius"), val_min=0, val_max=10)] diff --git a/lib/python/.coveragerc b/lib/python/.coveragerc new file mode 100644 index 0000000000000000000000000000000000000000..fe5a089d2ee3bf7b1a47b57c17936c9df551ec53 --- /dev/null +++ b/lib/python/.coveragerc @@ -0,0 +1,10 @@ +[report] +format = html +omit = + # omit tests + ./tests/* + # omit ext lib + ./omlib/* + +[html] +directory = htmlcov \ No newline at end of file diff --git a/lib/python/dbrepo/RestClient.py b/lib/python/dbrepo/RestClient.py index 11e171b056819b768a008909d2de453227af741d..9e609a70921634ee22377407e398507db46693db 100644 --- a/lib/python/dbrepo/RestClient.py +++ b/lib/python/dbrepo/RestClient.py @@ -195,7 +195,7 @@ class RestClient: raise ResponseCodeError(f'Failed to find containers: response code: {response.status_code} is not ' f'200 (OK): {response.text}') - def get_container(self, container_id: int) -> Container: + def get_container(self, container_id: str) -> Container: """ Get a container with given id. @@ -244,7 +244,7 @@ class RestClient: raise ResponseCodeError(f'Failed to find databases: response code: {response.status_code} is not ' f'200 (OK): {response.text}') - def get_database(self, database_id: int) -> Database: + def get_database(self, database_id: str) -> Database: """ Get a databases with given id. @@ -267,7 +267,7 @@ class RestClient: raise ResponseCodeError(f'Failed to find database: response code: {response.status_code} is not ' f'200 (OK): {response.text}') - def create_database(self, name: str, container_id: int, is_public: bool = True, + def create_database(self, name: str, container_id: str, is_public: bool = True, is_schema_public: bool = True) -> Database: """ Create a databases in a container with given container id. @@ -309,7 +309,7 @@ class RestClient: raise ResponseCodeError(f'Failed to create database: response code: {response.status_code} is not ' f'201 (CREATED): {response.text}') - def create_container(self, name: str, host: str, image_id: int, privileged_username: str, privileged_password: str, + def create_container(self, name: str, host: str, image_id: str, privileged_username: str, privileged_password: str, port: int = None, ui_host: str = None, ui_port: int = None) -> Container: """ Register a container instance executing a given container image. Note that this does not create a container, @@ -353,7 +353,7 @@ class RestClient: raise ResponseCodeError(f'Failed to create container: response code: {response.status_code} is not ' f'201 (CREATED): {response.text}') - def update_database_visibility(self, database_id: int, is_public: bool, is_schema_public: bool) -> Database: + def update_database_visibility(self, database_id: str, is_public: bool, is_schema_public: bool) -> Database: """ Updates the database visibility of a database with given database id. @@ -390,7 +390,7 @@ class RestClient: raise ResponseCodeError( f'Failed to update database visibility: response code: {response.status_code} is not 202 (ACCEPTED)') - def update_database_owner(self, database_id: int, user_id: str) -> Database: + def update_database_owner(self, database_id: str, user_id: str) -> Database: """ Updates the database owner of a database with given database id. @@ -426,7 +426,7 @@ class RestClient: raise ResponseCodeError( f'Failed to update database visibility: response code: {response.status_code} is not 202 (ACCEPTED)') - def update_database_schema(self, database_id: int) -> DatabaseBrief: + def update_database_schema(self, database_id: str) -> DatabaseBrief: """ Updates the database table and view metadata of a database with given database id. @@ -464,7 +464,7 @@ class RestClient: raise ResponseCodeError( f'Failed to update database schema: response code: {response.status_code} is not 200 (OK)') - def create_table(self, database_id: int, name: str, is_public: bool, is_schema_public: bool, + def create_table(self, database_id: str, name: str, is_public: bool, is_schema_public: bool, columns: List[CreateTableColumn], constraints: CreateTableConstraints, description: str = None) -> TableBrief: """ @@ -510,7 +510,7 @@ class RestClient: raise ResponseCodeError(f'Failed to create table: response code: {response.status_code} is not ' f'201 (CREATED): {response.text}') - def get_tables(self, database_id: int) -> List[TableBrief]: + def get_tables(self, database_id: str) -> List[TableBrief]: """ Get all tables. @@ -534,7 +534,7 @@ class RestClient: raise ResponseCodeError(f'Failed to get tables: response code: {response.status_code} is not ' f'200 (OK): {response.text}') - def get_table(self, database_id: int, table_id: int) -> Table: + def get_table(self, database_id: str, table_id: str) -> Table: """ Get a table with given database id and table id. @@ -559,7 +559,7 @@ class RestClient: raise ResponseCodeError(f'Failed to find table: response code: {response.status_code} is not ' f'200 (OK): {response.text}') - def delete_table(self, database_id: int, table_id: int) -> None: + def delete_table(self, database_id: str, table_id: str) -> None: """ Delete a table with given database id and table id. @@ -590,7 +590,7 @@ class RestClient: raise ResponseCodeError(f'Failed to delete table: response code: {response.status_code} is not ' f'202 (ACCEPTED): {response.text}') - def delete_container(self, container_id: int) -> None: + def delete_container(self, container_id: str) -> None: """ Deletes a container with given id. Note that this does not delete the container, but deletes the entry in the metadata database. The container still needs to be removed, e.g. `docker container stop hash` and then @@ -616,7 +616,7 @@ class RestClient: raise ResponseCodeError(f'Failed to delete container: response code: {response.status_code} is not ' f'202 (ACCEPTED): {response.text}') - def get_table_history(self, database_id: int, table_id: int, size: int = 100) -> [History]: + def get_table_history(self, database_id: str, table_id: str, size: int = 100) -> [History]: """ Get the table history of insert/delete operations. @@ -646,7 +646,7 @@ class RestClient: raise ResponseCodeError(f'Failed to get table history: response code: {response.status_code} is not ' f'200 (OK): {response.text}') - def get_views(self, database_id: int) -> List[ViewBrief]: + def get_views(self, database_id: str) -> List[ViewBrief]: """ Gets views of a database with given database id. @@ -667,7 +667,7 @@ class RestClient: raise ResponseCodeError(f'Failed to find views: response code: {response.status_code} is not ' f'200 (OK): {response.text}') - def get_view(self, database_id: int, view_id: int) -> View: + def get_view(self, database_id: str, view_id: str) -> View: """ Get a view of a database with given database id and view id. @@ -692,7 +692,7 @@ class RestClient: raise ResponseCodeError(f'Failed to find view: response code: {response.status_code} is not ' f'200 (OK): {response.text}') - def update_view(self, database_id: int, view_id: int, is_public: bool, is_schema_public: bool) -> ViewBrief: + def update_view(self, database_id: str, view_id: str, is_public: bool, is_schema_public: bool) -> ViewBrief: """ Get a view of a database with given database id and view id. @@ -720,7 +720,7 @@ class RestClient: raise ResponseCodeError(f'Failed to update view: response code: {response.status_code} is not ' f'202 (ACCEPTED): {response.text}') - def create_view(self, database_id: int, name: str, query: str, is_public: bool, is_schema_public: bool) -> View: + def create_view(self, database_id: str, name: str, query: str, is_public: bool, is_schema_public: bool) -> View: """ Create a view in a database with given database id. @@ -762,7 +762,7 @@ class RestClient: raise ResponseCodeError(f'Failed to create view: response code: {response.status_code} is not ' f'201 (CREATED): {response.text}') - def delete_view(self, database_id: int, view_id: int) -> None: + def delete_view(self, database_id: str, view_id: str) -> None: """ Deletes a view in a database with given database id and view id. @@ -796,7 +796,7 @@ class RestClient: raise ResponseCodeError(f'Failed to delete view: response code: {response.status_code} is not ' f'202 (ACCEPTED): {response.text}') - def get_view_data(self, database_id: int, view_id: int, page: int = 0, size: int = 10) -> DataFrame: + def get_view_data(self, database_id: str, view_id: str, page: int = 0, size: int = 10) -> DataFrame: """ Get data of a view in a database with given database id and view id. @@ -836,7 +836,7 @@ class RestClient: raise ResponseCodeError(f'Failed to get view data: response code: {response.status_code} is not ' f'200 (OK):{response.text}') - def get_table_data(self, database_id: int, table_id: int, page: int = 0, size: int = 10, + def get_table_data(self, database_id: str, table_id: str, page: int = 0, size: int = 10, timestamp: datetime.datetime = None) -> DataFrame: """ Get data of a table in a database with given database id and table id. @@ -877,7 +877,7 @@ class RestClient: raise ResponseCodeError(f'Failed to get table data: response code: {response.status_code} is not ' f'200 (OK): {response.text}') - def create_table_data(self, database_id: int, table_id: int, data: dict) -> None: + def create_table_data(self, database_id: str, table_id: str, data: dict) -> None: """ Insert data into a table in a database with given database id and table id. @@ -907,7 +907,7 @@ class RestClient: raise ResponseCodeError(f'Failed to insert table data: response code: {response.status_code} is not ' f'201 (CREATED): {response.text}') - def import_table_data(self, database_id: int, table_id: int, dataframe: DataFrame) -> None: + def import_table_data(self, database_id: str, table_id: str, dataframe: DataFrame) -> None: """ Import a csv dataset from a file into a table in a database with given database id and table id. ATTENTION: the import is column-ordering sensitive! The csv dataset must have the same columns in the same order as the @@ -1007,7 +1007,7 @@ class RestClient: raise ResponseCodeError(f'Failed to analyse data types: response code: {response.status_code} is not ' f'202 (ACCEPTED): {response.text}') - def analyse_table_statistics(self, database_id: int, table_id: int) -> TableStatistics: + def analyse_table_statistics(self, database_id: str, table_id: str) -> TableStatistics: """ Analyses the numerical contents of a table in a database with given database id and table id. @@ -1039,7 +1039,7 @@ class RestClient: raise ResponseCodeError(f'Failed to analyse table statistics: response code: {response.status_code} is not ' f'202 (ACCEPTED): {response.text}') - def update_table_data(self, database_id: int, table_id: int, data: dict, keys: dict) -> None: + def update_table_data(self, database_id: str, table_id: str, data: dict, keys: dict) -> None: """ Update data in a table in a database with given database id and table id. @@ -1070,7 +1070,7 @@ class RestClient: raise ResponseCodeError(f'Failed to update table data: response code: {response.status_code} is not ' f'202 (ACCEPTED): {response.text}') - def delete_table_data(self, database_id: int, table_id: int, keys: dict) -> None: + def delete_table_data(self, database_id: str, table_id: str, keys: dict) -> None: """ Delete data in a table in a database with given database id and table id. @@ -1100,7 +1100,7 @@ class RestClient: raise ResponseCodeError(f'Failed to delete table data: response code: {response.status_code} is not ' f'202 (ACCEPTED): {response.text}') - def get_table_data_count(self, database_id: int, table_id: int, timestamp: datetime.datetime = None) -> int: + def get_table_data_count(self, database_id: str, table_id: str, timestamp: datetime.datetime = None) -> int: """ Get data count of a table in a database with given database id and table id. @@ -1138,7 +1138,7 @@ class RestClient: raise ResponseCodeError(f'Failed to count table data: response code: {response.status_code} is not ' f'200 (OK): {response.text}') - def get_view_data_count(self, database_id: int, view_id: int) -> int: + def get_view_data_count(self, database_id: str, view_id: str) -> int: """ Get data count of a view in a database with given database id and view id. @@ -1172,7 +1172,7 @@ class RestClient: raise ResponseCodeError(f'Failed to count view data: response code: {response.status_code} is not ' f'200 (OK): {response.text}') - def get_database_access(self, database_id: int) -> AccessType: + def get_database_access(self, database_id: str) -> AccessType: """ Get access of a view in a database with given database id and view id. @@ -1196,7 +1196,7 @@ class RestClient: raise ResponseCodeError(f'Failed to get database access: response code: {response.status_code} is not ' f'200 (OK): {response.text}') - def create_database_access(self, database_id: int, user_id: str, type: AccessType) -> AccessType: + def create_database_access(self, database_id: str, user_id: str, type: AccessType) -> AccessType: """ Create access to a database with given database id and user id. @@ -1232,7 +1232,7 @@ class RestClient: raise ResponseCodeError(f'Failed to create database access: response code: {response.status_code} is not ' f'202 (ACCEPTED): {response.text}') - def update_database_access(self, database_id: int, user_id: str, type: AccessType) -> AccessType: + def update_database_access(self, database_id: str, user_id: str, type: AccessType) -> AccessType: """ Updates the access for a user to a database with given database id and user id. @@ -1268,7 +1268,7 @@ class RestClient: raise ResponseCodeError(f'Failed to update database access: response code: {response.status_code} is not ' f'202 (ACCEPTED): {response.text}') - def delete_database_access(self, database_id: int, user_id: str) -> None: + def delete_database_access(self, database_id: str, user_id: str) -> None: """ Deletes the access for a user to a database with given database id and user id. @@ -1300,7 +1300,7 @@ class RestClient: raise ResponseCodeError(f'Failed to delete database access: response code: {response.status_code} is not ' f'201 (CREATED): {response.text}') - def create_subset(self, database_id: int, query: str, page: int = 0, size: int = 10, + def create_subset(self, database_id: str, query: str, page: int = 0, size: int = 10, timestamp: datetime.datetime = None) -> DataFrame: """ Executes a SQL query in a database where the current user has at least read access with given database id. The @@ -1350,7 +1350,7 @@ class RestClient: raise ResponseCodeError(f'Failed to create subset: response code: {response.status_code} is not ' f'201 (CREATED): {response.text}') - def get_subset_data(self, database_id: int, subset_id: int, page: int = 0, size: int = 10) -> DataFrame: + def get_subset_data(self, database_id: str, subset_id: str, page: int = 0, size: int = 10) -> DataFrame: """ Re-executes a query in a database with given database id and query id. @@ -1386,7 +1386,7 @@ class RestClient: raise ResponseCodeError(f'Failed to get query data: response code: {response.status_code} is not ' f'200 (OK): {response.text}') - def get_subset_data_count(self, database_id: int, subset_id: int) -> int: + def get_subset_data_count(self, database_id: str, subset_id: str) -> int: """ Re-executes a query in a database with given database id and query id and only counts the results. @@ -1416,7 +1416,7 @@ class RestClient: raise ResponseCodeError( f'Failed to get query count: response code: {response.status_code} is not 200 (OK)') - def get_subset(self, database_id: int, subset_id: int) -> Query: + def get_subset(self, database_id: str, subset_id: str) -> Query: """ Get query from a database with given database id and query id. @@ -1447,7 +1447,7 @@ class RestClient: raise ResponseCodeError(f'Failed to find subset: response code: {response.status_code} is not ' f'200 (OK): {response.text}') - def get_queries(self, database_id: int) -> List[Query]: + def get_queries(self, database_id: str) -> List[Query]: """ Get queries from a database with given database id. @@ -1474,7 +1474,7 @@ class RestClient: raise ResponseCodeError(f'Failed to find query: response code: {response.status_code} is not ' f'200 (OK): {response.text}') - def update_subset(self, database_id: int, subset_id: int, persist: bool) -> Query: + def update_subset(self, database_id: str, subset_id: str, persist: bool) -> Query: """ Save query or mark it for deletion (at a later time) in a database with given database id and query id. @@ -1510,11 +1510,11 @@ class RestClient: raise ResponseCodeError(f'Failed to update query: response code: {response.status_code} is not ' f'202 (ACCEPTED): {response.text}') - def create_identifier(self, database_id: int, type: IdentifierType, titles: List[CreateIdentifierTitle], + def create_identifier(self, database_id: str, type: IdentifierType, titles: List[CreateIdentifierTitle], publisher: str, creators: List[CreateIdentifierCreator], publication_year: int, descriptions: List[CreateIdentifierDescription] = None, funders: List[CreateIdentifierFunder] = None, licenses: List[License] = None, - language: Language = None, subset_id: int = None, view_id: int = None, table_id: int = None, + language: Language = None, subset_id: str = None, view_id: str = None, table_id: str = None, publication_day: int = None, publication_month: int = None, related_identifiers: List[CreateRelatedIdentifier] = None) -> Identifier: """ @@ -1570,11 +1570,11 @@ class RestClient: raise ResponseCodeError(f'Failed to create identifier: response code: {response.status_code} is not ' f'201 (CREATED): {response.text}') - def update_identifier(self, identifier_id: int, database_id: int, type: IdentifierType, + def update_identifier(self, identifier_id: str, database_id: str, type: IdentifierType, titles: List[SaveIdentifierTitle], publisher: str, creators: List[SaveIdentifierCreator], publication_year: int, descriptions: List[SaveIdentifierDescription] = None, funders: List[SaveIdentifierFunder] = None, licenses: List[License] = None, - language: Language = None, subset_id: int = None, view_id: int = None, table_id: int = None, + language: Language = None, subset_id: str = None, view_id: str = None, table_id: str = None, publication_day: int = None, publication_month: int = None, related_identifiers: List[SaveRelatedIdentifier] = None) -> Identifier: """ @@ -1632,7 +1632,7 @@ class RestClient: raise ResponseCodeError(f'Failed to save identifier: response code: {response.status_code} is not ' f'202 (ACCEPTED): {response.text}') - def publish_identifier(self, identifier_id: int) -> Identifier: + def publish_identifier(self, identifier_id: str) -> Identifier: """ Publish an identifier with given id. @@ -1694,8 +1694,8 @@ class RestClient: raise ResponseCodeError(f'Failed to get concepts: response code: {response.status_code} is not ' f'200 (OK): {response.text}') - def get_identifiers(self, database_id: int = None, subset_id: int = None, view_id: int = None, - table_id: int = None, type: IdentifierType = None, status: IdentifierStatusType = None) -> List[ + def get_identifiers(self, database_id: str = None, subset_id: str = None, view_id: str = None, + table_id: str = None, type: IdentifierType = None, status: IdentifierStatusType = None) -> List[ Identifier] | str: """ Get list of identifiers, filter by the remaining optional arguments. @@ -1745,7 +1745,7 @@ class RestClient: raise ResponseCodeError(f'Failed to get identifiers: response code: {response.status_code} is not ' f'200 (OK): {response.text}') - def update_table_column(self, database_id: int, table_id: int, column_id: int, concept_uri: str = None, + def update_table_column(self, database_id: str, table_id: str, column_id: str, concept_uri: str = None, unit_uri: str = None) -> Column: """ Update semantic information of a table column by given database id and table id and column id. diff --git a/lib/python/tests/test_unit_concept.py b/lib/python/tests/test_unit_concept.py index 54104dada8b1a69eb4ca61d8aede1ecd9a6a3956..75f8aa52387ee2de10d673fdd298135d8a0880b1 100644 --- a/lib/python/tests/test_unit_concept.py +++ b/lib/python/tests/test_unit_concept.py @@ -11,7 +11,7 @@ class ContainerUnitTest(unittest.TestCase): def test_get_concepts_succeeds(self): with requests_mock.Mocker() as mock: - exp = [ConceptBrief(id=1, + exp = [ConceptBrief(id="65586aef-f5b0-446f-b2e1-9dc2a3c0c359", uri="http://dbpedia.org/page/Category:Precipitation", name="Precipitation")] # mock diff --git a/lib/python/tests/test_unit_container.py b/lib/python/tests/test_unit_container.py index 2edc65bf1983aa836eae6475918a990ae19611a6..1faf4ec738ff689d56ec6fcf84932767ad68379c 100644 --- a/lib/python/tests/test_unit_container.py +++ b/lib/python/tests/test_unit_container.py @@ -12,12 +12,12 @@ class ContainerUnitTest(unittest.TestCase): def test_create_container_succeeds(self): with requests_mock.Mocker() as mock: - exp = Container(id=1, + exp = Container(id="44d811a8-4019-46ba-bd57-ea10a2eb0c74", name="MariaDB 10.11.3", internal_name="mariadb_10_11_3", host="data-db", port=12345, - image=Image(id=1, + image=Image(id="b104648b-54d2-4d72-9834-8e0e6d428b39", registry="docker.io", name="mariadb", version="10.11.3", @@ -33,7 +33,8 @@ class ContainerUnitTest(unittest.TestCase): mock.post('/api/container', json=exp.model_dump(), status_code=201) # test response = RestClient(username="foo", password="bar").create_container(name='MariaDB 10.11.3', - host='data-db2', image_id=1, + host='data-db2', + image_id="b104648b-54d2-4d72-9834-8e0e6d428b39", privileged_username='root', privileged_password='dbrepo', port=3306) @@ -42,7 +43,8 @@ class ContainerUnitTest(unittest.TestCase): def test_create_container_anonymous_fails(self): # test try: - response = RestClient().create_container(name='MariaDB 10.11.3', host='data-db2', image_id=1, + response = RestClient().create_container(name='MariaDB 10.11.3', host='data-db2', + image_id="b104648b-54d2-4d72-9834-8e0e6d428b39", privileged_username='root', privileged_password='dbrepo', port=3306) except AuthenticationError: @@ -55,7 +57,8 @@ class ContainerUnitTest(unittest.TestCase): # test try: response = RestClient(username="foo", password="bar").create_container(name='MariaDB 10.11.3', - host='data-db2', image_id=1, + host='data-db2', + image_id="b104648b-54d2-4d72-9834-8e0e6d428b39", privileged_username='root', privileged_password='dbrepo', port=3306) @@ -69,7 +72,8 @@ class ContainerUnitTest(unittest.TestCase): # test try: response = RestClient(username="foo", password="bar").create_container(name='MariaDB 10.11.3', - host='data-db2', image_id=1, + host='data-db2', + image_id="b104648b-54d2-4d72-9834-8e0e6d428b39", privileged_username='root', privileged_password='dbrepo', port=3306) @@ -83,7 +87,8 @@ class ContainerUnitTest(unittest.TestCase): # test try: response = RestClient(username="foo", password="bar").create_container(name='MariaDB 10.11.3', - host='data-db2', image_id=1, + host='data-db2', + image_id="b104648b-54d2-4d72-9834-8e0e6d428b39", privileged_username='root', privileged_password='dbrepo', port=3306) @@ -97,7 +102,8 @@ class ContainerUnitTest(unittest.TestCase): # test try: response = RestClient(username="foo", password="bar").create_container(name='MariaDB 10.11.3', - host='data-db2', image_id=1, + host='data-db2', + image_id="b104648b-54d2-4d72-9834-8e0e6d428b39", privileged_username='root', privileged_password='dbrepo', port=3306) @@ -111,7 +117,8 @@ class ContainerUnitTest(unittest.TestCase): # test try: response = RestClient(username="foo", password="bar").create_container(name='MariaDB 10.11.3', - host='data-db2', image_id=1, + host='data-db2', + image_id="b104648b-54d2-4d72-9834-8e0e6d428b39", privileged_username='root', privileged_password='dbrepo', port=3306) @@ -129,14 +136,13 @@ class ContainerUnitTest(unittest.TestCase): def test_get_containers_succeeds(self): with requests_mock.Mocker() as mock: exp = [ - ContainerBrief(id=1, + ContainerBrief(id="44d811a8-4019-46ba-bd57-ea10a2eb0c74", name="MariaDB 10.11.3", internal_name="mariadb_10_11_3", running=True, - image=ImageBrief(id=1, + image=ImageBrief(id="b104648b-54d2-4d72-9834-8e0e6d428b39", name="mariadb", - version="10.11.3", - jdbc_method="mariadb"), + version="10.11.3"), hash="f829dd8a884182d0da846f365dee1221fd16610a14c81b8f9f295ff162749e50") ] # mock @@ -157,12 +163,12 @@ class ContainerUnitTest(unittest.TestCase): def test_get_container_succeeds(self): with requests_mock.Mocker() as mock: - exp = Container(id=1, + exp = Container(id="", name="MariaDB 10.11.3", internal_name="mariadb_10_11_3", host="data-db", port=12345, - image=Image(id=1, + image=Image(id="b104648b-54d2-4d72-9834-8e0e6d428b39", registry="docker.io", name="mariadb", version="10.11.3", @@ -175,82 +181,87 @@ class ContainerUnitTest(unittest.TestCase): documentation="https://mariadb.com/kb/en/bigint/", is_quoted=False, is_buildable=True)])) # mock - mock.get('/api/container/1', json=exp.model_dump()) + mock.get('/api/container/44d811a8-4019-46ba-bd57-ea10a2eb0c74', json=exp.model_dump()) # test - response = RestClient().get_container(container_id=1) + response = RestClient().get_container(container_id="44d811a8-4019-46ba-bd57-ea10a2eb0c74") self.assertEqual(exp, response) def test_get_container_404_fails(self): with requests_mock.Mocker() as mock: # mock - mock.get('/api/container/1', status_code=404) + mock.get('/api/container/44d811a8-4019-46ba-bd57-ea10a2eb0c74', status_code=404) # test try: - response = RestClient().get_container(container_id=1) + response = RestClient().get_container(container_id="44d811a8-4019-46ba-bd57-ea10a2eb0c74") except NotExistsError: pass def test_get_container_unknown_fails(self): with requests_mock.Mocker() as mock: # mock - mock.get('/api/container/1', status_code=401) + mock.get('/api/container/44d811a8-4019-46ba-bd57-ea10a2eb0c74', status_code=401) # test try: - response = RestClient().get_container(container_id=1) + response = RestClient().get_container(container_id="44d811a8-4019-46ba-bd57-ea10a2eb0c74") except ResponseCodeError: pass def test_delete_container_succeeds(self): with requests_mock.Mocker() as mock: # mock - mock.delete('/api/container/1', status_code=202) + mock.delete('/api/container/44d811a8-4019-46ba-bd57-ea10a2eb0c74', status_code=202) # test - RestClient(username='foo', password='bar').delete_container(container_id=1) + RestClient(username='foo', password='bar').delete_container( + container_id="44d811a8-4019-46ba-bd57-ea10a2eb0c74") def test_delete_container_400_fails(self): with requests_mock.Mocker() as mock: # mock - mock.delete('/api/container/1', status_code=400) + mock.delete('/api/container/44d811a8-4019-46ba-bd57-ea10a2eb0c74', status_code=400) # test try: - RestClient(username='foo', password='bar').delete_container(container_id=1) + RestClient(username='foo', password='bar').delete_container( + container_id="44d811a8-4019-46ba-bd57-ea10a2eb0c74") except MalformedError: pass def test_delete_container_403_fails(self): with requests_mock.Mocker() as mock: # mock - mock.delete('/api/container/1', status_code=403) + mock.delete('/api/container/44d811a8-4019-46ba-bd57-ea10a2eb0c74', status_code=403) # test try: - RestClient(username='foo', password='bar').delete_container(container_id=1) + RestClient(username='foo', password='bar').delete_container( + container_id="44d811a8-4019-46ba-bd57-ea10a2eb0c74") except ForbiddenError: pass def test_delete_container_404_fails(self): with requests_mock.Mocker() as mock: # mock - mock.delete('/api/container/1', status_code=404) + mock.delete('/api/container/44d811a8-4019-46ba-bd57-ea10a2eb0c74', status_code=404) # test try: - RestClient(username='foo', password='bar').delete_container(container_id=1) + RestClient(username='foo', password='bar').delete_container( + container_id="44d811a8-4019-46ba-bd57-ea10a2eb0c74") except NotExistsError: pass def test_delete_container_unknown_fails(self): with requests_mock.Mocker() as mock: # mock - mock.delete('/api/container/1', status_code=200) + mock.delete('/api/container/44d811a8-4019-46ba-bd57-ea10a2eb0c74', status_code=200) # test try: - RestClient(username='foo', password='bar').delete_container(container_id=1) + RestClient(username='foo', password='bar').delete_container( + container_id="44d811a8-4019-46ba-bd57-ea10a2eb0c74") except ResponseCodeError: pass def test_delete_container_anonymous_fails(self): # test try: - RestClient().delete_container(container_id=1) + RestClient().delete_container(container_id="44d811a8-4019-46ba-bd57-ea10a2eb0c74") except AuthenticationError: pass diff --git a/lib/python/tests/test_unit_database.py b/lib/python/tests/test_unit_database.py index 952b27c61f844e52df9249d386fe900c5099fbc1..3fd7ddcd60a7c78db0bfdacdef471db19361d53e 100644 --- a/lib/python/tests/test_unit_database.py +++ b/lib/python/tests/test_unit_database.py @@ -22,7 +22,7 @@ class DatabaseUnitTest(unittest.TestCase): def test_get_databases_succeeds(self): exp = [ DatabaseBrief( - id=1, + id="6bd39359-b154-456d-b9c2-caa516a45732", name='test', owner_id='8638c043-5145-4be8-a3e4-4b79991b0a16', contact=UserBrief(id='8638c043-5145-4be8-a3e4-4b79991b0a16', username='mweise'), @@ -68,7 +68,7 @@ class DatabaseUnitTest(unittest.TestCase): def test_get_database_succeeds(self): exp = Database( - id=1, + id="6bd39359-b154-456d-b9c2-caa516a45732", name='test', owner=UserBrief(id='8638c043-5145-4be8-a3e4-4b79991b0a16', username='mweise'), contact=UserBrief(id='8638c043-5145-4be8-a3e4-4b79991b0a16', username='mweise'), @@ -77,57 +77,56 @@ class DatabaseUnitTest(unittest.TestCase): is_public=True, is_schema_public=True, container=ContainerBrief( - id=1, + id="44d811a8-4019-46ba-bd57-ea10a2eb0c74", name='MariaDB Galera 11.1.3', internal_name='mariadb', image=ImageBrief( - id=1, + id="b104648b-54d2-4d72-9834-8e0e6d428b39", name='mariadb', - version='11.2.2', - jdbc_method='mariadb' + version='11.2.2' ) ) ) with requests_mock.Mocker() as mock: # mock - mock.get('/api/database/1', json=exp.model_dump()) + mock.get('/api/database/6bd39359-b154-456d-b9c2-caa516a45732', json=exp.model_dump()) # test - response = RestClient().get_database(1) + response = RestClient().get_database(database_id="6bd39359-b154-456d-b9c2-caa516a45732") self.assertEqual(exp, response) def test_get_database_403_fails(self): with requests_mock.Mocker() as mock: # mock - mock.get('/api/database/1', status_code=403) + mock.get('/api/database/6bd39359-b154-456d-b9c2-caa516a45732', status_code=403) # test try: - response = RestClient().get_database(1) + response = RestClient().get_database(database_id="6bd39359-b154-456d-b9c2-caa516a45732") except ForbiddenError as e: pass def test_get_database_404_fails(self): with requests_mock.Mocker() as mock: # mock - mock.get('/api/database/1', status_code=404) + mock.get('/api/database/6bd39359-b154-456d-b9c2-caa516a45732', status_code=404) # test try: - response = RestClient().get_database(1) + response = RestClient().get_database(database_id="6bd39359-b154-456d-b9c2-caa516a45732") except NotExistsError as e: pass def test_get_database_unknown_fails(self): with requests_mock.Mocker() as mock: # mock - mock.get('/api/database/1', status_code=202) + mock.get('/api/database/6bd39359-b154-456d-b9c2-caa516a45732', status_code=202) # test try: - response = RestClient().get_database(1) + response = RestClient().get_database(database_id="6bd39359-b154-456d-b9c2-caa516a45732") except ResponseCodeError as e: pass def test_create_database_succeeds(self): exp = Database( - id=1, + id="6bd39359-b154-456d-b9c2-caa516a45732", name='test', owner=UserBrief(id='8638c043-5145-4be8-a3e4-4b79991b0a16', username='mweise'), contact=UserBrief(id='8638c043-5145-4be8-a3e4-4b79991b0a16', username='mweise'), @@ -136,14 +135,13 @@ class DatabaseUnitTest(unittest.TestCase): is_public=True, is_schema_public=True, container=ContainerBrief( - id=1, + id="44d811a8-4019-46ba-bd57-ea10a2eb0c74", name='MariaDB Galera 11.1.3', internal_name='mariadb', image=ImageBrief( - id=1, + id="b104648b-54d2-4d72-9834-8e0e6d428b39", name='mariadb', - version='11.2.2', - jdbc_method='mariadb' + version='11.2.2' ) ) ) @@ -152,7 +150,8 @@ class DatabaseUnitTest(unittest.TestCase): mock.post('/api/database', json=exp.model_dump(), status_code=201) # test client = RestClient(username="a", password="b") - response = RestClient(username="a", password="b").create_database(name='test', container_id=1, + response = RestClient(username="a", password="b").create_database(name='test', + container_id="44d811a8-4019-46ba-bd57-ea10a2eb0c74", is_public=True) self.assertEqual(response.name, 'test') @@ -162,7 +161,8 @@ class DatabaseUnitTest(unittest.TestCase): mock.post('/api/database', status_code=400) # test try: - response = RestClient(username="a", password="b").create_database(name='test', container_id=1, + response = RestClient(username="a", password="b").create_database(name='test', + container_id="44d811a8-4019-46ba-bd57-ea10a2eb0c74", is_public=True) except MalformedError as e: pass @@ -173,7 +173,8 @@ class DatabaseUnitTest(unittest.TestCase): mock.post('/api/database', status_code=403) # test try: - response = RestClient(username="a", password="b").create_database(name='test', container_id=1, + response = RestClient(username="a", password="b").create_database(name='test', + container_id="44d811a8-4019-46ba-bd57-ea10a2eb0c74", is_public=True) except ForbiddenError as e: pass @@ -184,7 +185,8 @@ class DatabaseUnitTest(unittest.TestCase): mock.post('/api/database', status_code=404) # test try: - response = RestClient(username="a", password="b").create_database(name='test', container_id=1, + response = RestClient(username="a", password="b").create_database(name='test', + container_id="44d811a8-4019-46ba-bd57-ea10a2eb0c74", is_public=True) except NotExistsError as e: pass @@ -195,7 +197,8 @@ class DatabaseUnitTest(unittest.TestCase): mock.post('/api/database', status_code=409) # test try: - response = RestClient(username="a", password="b").create_database(name='test', container_id=1, + response = RestClient(username="a", password="b").create_database(name='test', + container_id="44d811a8-4019-46ba-bd57-ea10a2eb0c74", is_public=True) except QueryStoreError as e: pass @@ -206,7 +209,8 @@ class DatabaseUnitTest(unittest.TestCase): mock.post('/api/database', status_code=502) # test try: - response = RestClient(username="a", password="b").create_database(name='test', container_id=1, + response = RestClient(username="a", password="b").create_database(name='test', + container_id="44d811a8-4019-46ba-bd57-ea10a2eb0c74", is_public=True) except ServiceConnectionError as e: pass @@ -217,7 +221,8 @@ class DatabaseUnitTest(unittest.TestCase): mock.post('/api/database', status_code=503) # test try: - response = RestClient(username="a", password="b").create_database(name='test', container_id=1, + response = RestClient(username="a", password="b").create_database(name='test', + container_id="44d811a8-4019-46ba-bd57-ea10a2eb0c74", is_public=True) except ServiceError as e: pass @@ -228,7 +233,8 @@ class DatabaseUnitTest(unittest.TestCase): mock.post('/api/database', status_code=202) # test try: - response = RestClient(username="a", password="b").create_database(name='test', container_id=1, + response = RestClient(username="a", password="b").create_database(name='test', + container_id="44d811a8-4019-46ba-bd57-ea10a2eb0c74", is_public=True) except ResponseCodeError as e: pass @@ -239,13 +245,15 @@ class DatabaseUnitTest(unittest.TestCase): mock.post('/api/database', status_code=404) # test try: - response = RestClient().create_database(name='test', container_id=1, is_public=True) + response = RestClient().create_database(name='test', + container_id="44d811a8-4019-46ba-bd57-ea10a2eb0c74", + is_public=True) except AuthenticationError as e: pass def test_update_database_visibility_succeeds(self): exp = Database( - id=1, + id="6bd39359-b154-456d-b9c2-caa516a45732", name='test', owner=UserBrief(id='8638c043-5145-4be8-a3e4-4b79991b0a16', username='mweise'), contact=UserBrief(id='8638c043-5145-4be8-a3e4-4b79991b0a16', username='mweise'), @@ -254,33 +262,34 @@ class DatabaseUnitTest(unittest.TestCase): is_public=True, is_schema_public=True, container=ContainerBrief( - id=1, + id="44d811a8-4019-46ba-bd57-ea10a2eb0c74", name='MariaDB Galera 11.1.3', internal_name='mariadb', image=ImageBrief( - id=1, + id="b104648b-54d2-4d72-9834-8e0e6d428b39", name='mariadb', - version='11.2.2', - jdbc_method='mariadb' + version='11.2.2' ) ) ) with requests_mock.Mocker() as mock: # mock - mock.put('/api/database/1/visibility', json=exp.model_dump(), status_code=202) + mock.put('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/visibility', json=exp.model_dump(), + status_code=202) # test client = RestClient(username="a", password="b") - response = RestClient(username="a", password="b").update_database_visibility(database_id=1, is_public=True, + response = RestClient(username="a", password="b").update_database_visibility(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + is_public=True, is_schema_public=True) self.assertEqual(response.is_public, True) def test_update_database_visibility_400_fails(self): with requests_mock.Mocker() as mock: # mock - mock.put('/api/database/1/visibility', status_code=400) + mock.put('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/visibility', status_code=400) # test try: - response = RestClient(username="a", password="b").update_database_visibility(database_id=1, + response = RestClient(username="a", password="b").update_database_visibility(database_id="6bd39359-b154-456d-b9c2-caa516a45732", is_public=True, is_schema_public=True) except MalformedError: @@ -289,10 +298,10 @@ class DatabaseUnitTest(unittest.TestCase): def test_update_database_visibility_403_fails(self): with requests_mock.Mocker() as mock: # mock - mock.put('/api/database/1/visibility', status_code=403) + mock.put('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/visibility', status_code=403) # test try: - response = RestClient(username="a", password="b").update_database_visibility(database_id=1, + response = RestClient(username="a", password="b").update_database_visibility(database_id="6bd39359-b154-456d-b9c2-caa516a45732", is_public=True, is_schema_public=True) except ForbiddenError: @@ -301,10 +310,10 @@ class DatabaseUnitTest(unittest.TestCase): def test_update_database_visibility_404_fails(self): with requests_mock.Mocker() as mock: # mock - mock.put('/api/database/1/visibility', status_code=404) + mock.put('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/visibility', status_code=404) # test try: - response = RestClient(username="a", password="b").update_database_visibility(database_id=1, + response = RestClient(username="a", password="b").update_database_visibility(database_id="6bd39359-b154-456d-b9c2-caa516a45732", is_public=True, is_schema_public=True) except NotExistsError: @@ -313,10 +322,10 @@ class DatabaseUnitTest(unittest.TestCase): def test_update_database_visibility_502_fails(self): with requests_mock.Mocker() as mock: # mock - mock.put('/api/database/1/visibility', status_code=502) + mock.put('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/visibility', status_code=502) # test try: - response = RestClient(username="a", password="b").update_database_visibility(database_id=1, + response = RestClient(username="a", password="b").update_database_visibility(database_id="6bd39359-b154-456d-b9c2-caa516a45732", is_public=True, is_schema_public=True) except ServiceConnectionError: @@ -325,10 +334,10 @@ class DatabaseUnitTest(unittest.TestCase): def test_update_database_visibility_503_fails(self): with requests_mock.Mocker() as mock: # mock - mock.put('/api/database/1/visibility', status_code=503) + mock.put('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/visibility', status_code=503) # test try: - response = RestClient(username="a", password="b").update_database_visibility(database_id=1, + response = RestClient(username="a", password="b").update_database_visibility(database_id="6bd39359-b154-456d-b9c2-caa516a45732", is_public=True, is_schema_public=True) except ServiceError: @@ -337,10 +346,10 @@ class DatabaseUnitTest(unittest.TestCase): def test_update_database_visibility_unknown_fails(self): with requests_mock.Mocker() as mock: # mock - mock.put('/api/database/1/visibility', status_code=200) + mock.put('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/visibility', status_code=200) # test try: - response = RestClient(username="a", password="b").update_database_visibility(database_id=1, + response = RestClient(username="a", password="b").update_database_visibility(database_id="6bd39359-b154-456d-b9c2-caa516a45732", is_public=True, is_schema_public=True) except ResponseCodeError: @@ -349,13 +358,13 @@ class DatabaseUnitTest(unittest.TestCase): def test_update_database_visibility_anonymous_fails(self): # test try: - response = RestClient().update_database_visibility(database_id=1, is_public=True, is_schema_public=True) + response = RestClient().update_database_visibility(database_id="6bd39359-b154-456d-b9c2-caa516a45732", is_public=True, is_schema_public=True) except AuthenticationError: pass def test_update_database_owner_succeeds(self): exp = Database( - id=1, + id="6bd39359-b154-456d-b9c2-caa516a45732", name='test', owner=UserBrief(id='abdbf897-e599-4e5a-a3f0-7529884ea011', username='mweise'), contact=UserBrief(id='8638c043-5145-4be8-a3e4-4b79991b0a16', username='mweise'), @@ -364,33 +373,32 @@ class DatabaseUnitTest(unittest.TestCase): is_public=True, is_schema_public=True, container=ContainerBrief( - id=1, + id="44d811a8-4019-46ba-bd57-ea10a2eb0c74", name='MariaDB Galera 11.1.3', internal_name='mariadb', image=ImageBrief( - id=1, + id="b104648b-54d2-4d72-9834-8e0e6d428b39", name='mariadb', - version='11.2.2', - jdbc_method='mariadb' + version='11.2.2' ) ) ) with requests_mock.Mocker() as mock: # mock - mock.put('/api/database/1/owner', json=exp.model_dump(), status_code=202) + mock.put('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/owner', json=exp.model_dump(), status_code=202) # test client = RestClient(username="a", password="b") - response = RestClient(username="a", password="b").update_database_owner(database_id=1, + response = RestClient(username="a", password="b").update_database_owner(database_id="6bd39359-b154-456d-b9c2-caa516a45732", user_id='abdbf897-e599-4e5a-a3f0-7529884ea011') self.assertEqual(response.owner.id, 'abdbf897-e599-4e5a-a3f0-7529884ea011') def test_update_database_owner_400_fails(self): with requests_mock.Mocker() as mock: # mock - mock.put('/api/database/1/owner', status_code=400) + mock.put('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/owner', status_code=400) # test try: - response = RestClient(username="a", password="b").update_database_owner(database_id=1, + response = RestClient(username="a", password="b").update_database_owner(database_id="6bd39359-b154-456d-b9c2-caa516a45732", user_id='abdbf897-e599-4e5a-a3f0-7529884ea011') except MalformedError: pass @@ -398,10 +406,10 @@ class DatabaseUnitTest(unittest.TestCase): def test_update_database_owner_403_fails(self): with requests_mock.Mocker() as mock: # mock - mock.put('/api/database/1/owner', status_code=403) + mock.put('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/owner', status_code=403) # test try: - response = RestClient(username="a", password="b").update_database_owner(database_id=1, + response = RestClient(username="a", password="b").update_database_owner(database_id="6bd39359-b154-456d-b9c2-caa516a45732", user_id='abdbf897-e599-4e5a-a3f0-7529884ea011') except ForbiddenError: pass @@ -409,10 +417,10 @@ class DatabaseUnitTest(unittest.TestCase): def test_update_database_owner_404_fails(self): with requests_mock.Mocker() as mock: # mock - mock.put('/api/database/1/owner', status_code=404) + mock.put('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/owner', status_code=404) # test try: - response = RestClient(username="a", password="b").update_database_owner(database_id=1, + response = RestClient(username="a", password="b").update_database_owner(database_id="6bd39359-b154-456d-b9c2-caa516a45732", user_id='abdbf897-e599-4e5a-a3f0-7529884ea011') except NotExistsError: pass @@ -420,10 +428,10 @@ class DatabaseUnitTest(unittest.TestCase): def test_update_database_owner_502_fails(self): with requests_mock.Mocker() as mock: # mock - mock.put('/api/database/1/owner', status_code=502) + mock.put('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/owner', status_code=502) # test try: - response = RestClient(username="a", password="b").update_database_owner(database_id=1, + response = RestClient(username="a", password="b").update_database_owner(database_id="6bd39359-b154-456d-b9c2-caa516a45732", user_id='abdbf897-e599-4e5a-a3f0-7529884ea011') except ServiceConnectionError: pass @@ -431,10 +439,10 @@ class DatabaseUnitTest(unittest.TestCase): def test_update_database_owner_503_fails(self): with requests_mock.Mocker() as mock: # mock - mock.put('/api/database/1/owner', status_code=503) + mock.put('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/owner', status_code=503) # test try: - response = RestClient(username="a", password="b").update_database_owner(database_id=1, + response = RestClient(username="a", password="b").update_database_owner(database_id="6bd39359-b154-456d-b9c2-caa516a45732", user_id='abdbf897-e599-4e5a-a3f0-7529884ea011') except ServiceError: pass @@ -442,10 +450,10 @@ class DatabaseUnitTest(unittest.TestCase): def test_update_database_owner_unknown_fails(self): with requests_mock.Mocker() as mock: # mock - mock.put('/api/database/1/owner', status_code=200) + mock.put('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/owner', status_code=200) # test try: - response = RestClient(username="a", password="b").update_database_owner(database_id=1, + response = RestClient(username="a", password="b").update_database_owner(database_id="6bd39359-b154-456d-b9c2-caa516a45732", user_id='abdbf897-e599-4e5a-a3f0-7529884ea011') except ResponseCodeError: pass @@ -453,17 +461,17 @@ class DatabaseUnitTest(unittest.TestCase): def test_update_database_owner_anonymous_fails(self): with requests_mock.Mocker() as mock: # mock - mock.put('/api/database/1/owner', status_code=404) + mock.put('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/owner', status_code=404) # test try: - response = RestClient().update_database_owner(database_id=1, + response = RestClient().update_database_owner(database_id="6bd39359-b154-456d-b9c2-caa516a45732", user_id='abdbf897-e599-4e5a-a3f0-7529884ea011') except AuthenticationError: pass def test_update_database_schema_succeeds(self): exp = DatabaseBrief( - id=1, + id="6bd39359-b154-456d-b9c2-caa516a45732", name='test', owner_id='8638c043-5145-4be8-a3e4-4b79991b0a16', contact=UserBrief(id='8638c043-5145-4be8-a3e4-4b79991b0a16', username='mweise'), @@ -473,142 +481,142 @@ class DatabaseUnitTest(unittest.TestCase): ) with requests_mock.Mocker() as mock: # mock - mock.put('/api/database/1/metadata/table', json=exp.model_dump()) - mock.put('/api/database/1/metadata/view', json=exp.model_dump()) + mock.put('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/metadata/table', json=exp.model_dump()) + mock.put('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/metadata/view', json=exp.model_dump()) # test - response = RestClient(username='foo', password='bar').update_database_schema(database_id=1) + response = RestClient(username='foo', password='bar').update_database_schema(database_id="6bd39359-b154-456d-b9c2-caa516a45732") self.assertEqual(exp, response) def test_update_database_schema_400_fails(self): with requests_mock.Mocker() as mock: # mock - mock.put('/api/database/1/metadata/table', status_code=400) + mock.put('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/metadata/table', status_code=400) # test try: - RestClient(username='foo', password='bar').update_database_schema(database_id=1) + RestClient(username='foo', password='bar').update_database_schema(database_id="6bd39359-b154-456d-b9c2-caa516a45732") except MalformedError: pass def test_update_database_schema_view_400_fails(self): with requests_mock.Mocker() as mock: # mock - mock.put('/api/database/1/metadata/table', json={}, status_code=200) - mock.put('/api/database/1/metadata/view', status_code=400) + mock.put('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/metadata/table', json={}, status_code=200) + mock.put('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/metadata/view', status_code=400) # test try: - RestClient(username='foo', password='bar').update_database_schema(database_id=1) + RestClient(username='foo', password='bar').update_database_schema(database_id="6bd39359-b154-456d-b9c2-caa516a45732") except MalformedError: pass def test_update_database_schema_403_fails(self): with requests_mock.Mocker() as mock: # mock - mock.put('/api/database/1/metadata/table', status_code=403) + mock.put('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/metadata/table', status_code=403) # test try: - RestClient(username='foo', password='bar').update_database_schema(database_id=1) + RestClient(username='foo', password='bar').update_database_schema(database_id="6bd39359-b154-456d-b9c2-caa516a45732") except ForbiddenError: pass def test_update_database_schema_view_403_fails(self): with requests_mock.Mocker() as mock: # mock - mock.put('/api/database/1/metadata/table', json={}, status_code=200) - mock.put('/api/database/1/metadata/view', status_code=403) + mock.put('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/metadata/table', json={}, status_code=200) + mock.put('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/metadata/view', status_code=403) # test try: - RestClient(username='foo', password='bar').update_database_schema(database_id=1) + RestClient(username='foo', password='bar').update_database_schema(database_id="6bd39359-b154-456d-b9c2-caa516a45732") except ForbiddenError: pass def test_update_database_schema_404_fails(self): with requests_mock.Mocker() as mock: # mock - mock.put('/api/database/1/metadata/table', status_code=404) + mock.put('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/metadata/table', status_code=404) # test try: - RestClient(username='foo', password='bar').update_database_schema(database_id=1) + RestClient(username='foo', password='bar').update_database_schema(database_id="6bd39359-b154-456d-b9c2-caa516a45732") except NotExistsError: pass def test_update_database_schema_view_404_fails(self): with requests_mock.Mocker() as mock: # mock - mock.put('/api/database/1/metadata/table', json={}, status_code=200) - mock.put('/api/database/1/metadata/view', status_code=404) + mock.put('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/metadata/table', json={}, status_code=200) + mock.put('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/metadata/view', status_code=404) # test try: - RestClient(username='foo', password='bar').update_database_schema(database_id=1) + RestClient(username='foo', password='bar').update_database_schema(database_id="6bd39359-b154-456d-b9c2-caa516a45732") except NotExistsError: pass def test_update_database_schema_502_fails(self): with requests_mock.Mocker() as mock: # mock - mock.put('/api/database/1/metadata/table', status_code=502) + mock.put('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/metadata/table', status_code=502) # test try: - RestClient(username='foo', password='bar').update_database_schema(database_id=1) + RestClient(username='foo', password='bar').update_database_schema(database_id="6bd39359-b154-456d-b9c2-caa516a45732") except ServiceConnectionError: pass def test_update_database_schema_view_502_fails(self): with requests_mock.Mocker() as mock: # mock - mock.put('/api/database/1/metadata/table', json={}, status_code=200) - mock.put('/api/database/1/metadata/view', status_code=502) + mock.put('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/metadata/table', json={}, status_code=200) + mock.put('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/metadata/view', status_code=502) # test try: - RestClient(username='foo', password='bar').update_database_schema(database_id=1) + RestClient(username='foo', password='bar').update_database_schema(database_id="6bd39359-b154-456d-b9c2-caa516a45732") except ServiceConnectionError: pass def test_update_database_schema_503_fails(self): with requests_mock.Mocker() as mock: # mock - mock.put('/api/database/1/metadata/table', status_code=503) + mock.put('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/metadata/table', status_code=503) # test try: - RestClient(username='foo', password='bar').update_database_schema(database_id=1) + RestClient(username='foo', password='bar').update_database_schema(database_id="6bd39359-b154-456d-b9c2-caa516a45732") except ServiceError: pass def test_update_database_schema_view_503_fails(self): with requests_mock.Mocker() as mock: # mock - mock.put('/api/database/1/metadata/table', json={}, status_code=200) - mock.put('/api/database/1/metadata/view', status_code=503) + mock.put('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/metadata/table', json={}, status_code=200) + mock.put('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/metadata/view', status_code=503) # test try: - RestClient(username='foo', password='bar').update_database_schema(database_id=1) + RestClient(username='foo', password='bar').update_database_schema(database_id="6bd39359-b154-456d-b9c2-caa516a45732") except ServiceError: pass def test_update_database_schema_unknown_fails(self): with requests_mock.Mocker() as mock: # mock - mock.put('/api/database/1/metadata/table', status_code=202) + mock.put('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/metadata/table', status_code=202) # test try: - RestClient(username='foo', password='bar').update_database_schema(database_id=1) + RestClient(username='foo', password='bar').update_database_schema(database_id="6bd39359-b154-456d-b9c2-caa516a45732") except ResponseCodeError: pass def test_update_database_schema_view_unknown_fails(self): with requests_mock.Mocker() as mock: # mock - mock.put('/api/database/1/metadata/table', json={}, status_code=200) - mock.put('/api/database/1/metadata/view', status_code=202) + mock.put('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/metadata/table', json={}, status_code=200) + mock.put('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/metadata/view', status_code=202) # test try: - RestClient(username='foo', password='bar').update_database_schema(database_id=1) + RestClient(username='foo', password='bar').update_database_schema(database_id="6bd39359-b154-456d-b9c2-caa516a45732") except ResponseCodeError: pass def test_update_database_schema_anonymous_fails(self): # test try: - RestClient().update_database_schema(database_id=1) + RestClient().update_database_schema(database_id="6bd39359-b154-456d-b9c2-caa516a45732") except AuthenticationError: pass @@ -617,38 +625,38 @@ class DatabaseUnitTest(unittest.TestCase): user=UserBrief(id='abdbf897-e599-4e5a-a3f0-7529884ea011', username='other')) with requests_mock.Mocker() as mock: # mock - mock.get('/api/database/1/access', json=exp.model_dump()) + mock.get('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/access', json=exp.model_dump()) # test - response = RestClient().get_database_access(database_id=1) + response = RestClient().get_database_access(database_id="6bd39359-b154-456d-b9c2-caa516a45732") self.assertEqual(response, AccessType.READ) def test_get_database_access_403_fails(self): with requests_mock.Mocker() as mock: # mock - mock.get('/api/database/1/access', status_code=403) + mock.get('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/access', status_code=403) # test try: - response = RestClient().get_database_access(database_id=1) + response = RestClient().get_database_access(database_id="6bd39359-b154-456d-b9c2-caa516a45732") except ForbiddenError: pass def test_get_database_access_404_fails(self): with requests_mock.Mocker() as mock: # mock - mock.get('/api/database/1/access', status_code=404) + mock.get('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/access', status_code=404) # test try: - response = RestClient().get_database_access(database_id=1) + response = RestClient().get_database_access(database_id="6bd39359-b154-456d-b9c2-caa516a45732") except NotExistsError: pass def test_get_database_access_unknown_fails(self): with requests_mock.Mocker() as mock: # mock - mock.get('/api/database/1/access', status_code=202) + mock.get('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/access', status_code=202) # test try: - response = RestClient().get_database_access(database_id=1) + response = RestClient().get_database_access(database_id="6bd39359-b154-456d-b9c2-caa516a45732") except ResponseCodeError: pass @@ -657,10 +665,11 @@ class DatabaseUnitTest(unittest.TestCase): user=UserBrief(id='abdbf897-e599-4e5a-a3f0-7529884ea011', username='other')) with requests_mock.Mocker() as mock: # mock - mock.post('/api/database/1/access/abdbf897-e599-4e5a-a3f0-7529884ea011', json=exp.model_dump(), + mock.post('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/access/abdbf897-e599-4e5a-a3f0-7529884ea011', + json=exp.model_dump(), status_code=202) # test - response = RestClient(username="a", password="b").create_database_access(database_id=1, + response = RestClient(username="a", password="b").create_database_access(database_id="6bd39359-b154-456d-b9c2-caa516a45732", type=AccessType.READ, user_id='abdbf897-e599-4e5a-a3f0-7529884ea011') self.assertEqual(response, exp.type) @@ -668,10 +677,11 @@ class DatabaseUnitTest(unittest.TestCase): def test_create_database_access_400_fails(self): with requests_mock.Mocker() as mock: # mock - mock.post('/api/database/1/access/abdbf897-e599-4e5a-a3f0-7529884ea011', status_code=400) + mock.post('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/access/abdbf897-e599-4e5a-a3f0-7529884ea011', + status_code=400) # test try: - response = RestClient(username="a", password="b").create_database_access(database_id=1, + response = RestClient(username="a", password="b").create_database_access(database_id="6bd39359-b154-456d-b9c2-caa516a45732", type=AccessType.READ, user_id='abdbf897-e599-4e5a-a3f0-7529884ea011') except MalformedError: @@ -680,10 +690,11 @@ class DatabaseUnitTest(unittest.TestCase): def test_create_database_access_anonymous_fails(self): with requests_mock.Mocker() as mock: # mock - mock.post('/api/database/1/access/abdbf897-e599-4e5a-a3f0-7529884ea011', status_code=400) + mock.post('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/access/abdbf897-e599-4e5a-a3f0-7529884ea011', + status_code=400) # test try: - response = RestClient().create_database_access(database_id=1, type=AccessType.READ, + response = RestClient().create_database_access(database_id="6bd39359-b154-456d-b9c2-caa516a45732", type=AccessType.READ, user_id='abdbf897-e599-4e5a-a3f0-7529884ea011') except AuthenticationError: pass @@ -691,10 +702,11 @@ class DatabaseUnitTest(unittest.TestCase): def test_create_database_access_403_fails(self): with requests_mock.Mocker() as mock: # mock - mock.post('/api/database/1/access/abdbf897-e599-4e5a-a3f0-7529884ea011', status_code=403) + mock.post('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/access/abdbf897-e599-4e5a-a3f0-7529884ea011', + status_code=403) # test try: - response = RestClient(username="a", password="b").create_database_access(database_id=1, + response = RestClient(username="a", password="b").create_database_access(database_id="6bd39359-b154-456d-b9c2-caa516a45732", type=AccessType.READ, user_id='abdbf897-e599-4e5a-a3f0-7529884ea011') except ForbiddenError: @@ -703,10 +715,11 @@ class DatabaseUnitTest(unittest.TestCase): def test_create_database_access_404_fails(self): with requests_mock.Mocker() as mock: # mock - mock.post('/api/database/1/access/abdbf897-e599-4e5a-a3f0-7529884ea011', status_code=404) + mock.post('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/access/abdbf897-e599-4e5a-a3f0-7529884ea011', + status_code=404) # test try: - response = RestClient(username="a", password="b").create_database_access(database_id=1, + response = RestClient(username="a", password="b").create_database_access(database_id="6bd39359-b154-456d-b9c2-caa516a45732", type=AccessType.READ, user_id='abdbf897-e599-4e5a-a3f0-7529884ea011') except NotExistsError: @@ -715,10 +728,11 @@ class DatabaseUnitTest(unittest.TestCase): def test_create_database_access_502_fails(self): with requests_mock.Mocker() as mock: # mock - mock.post('/api/database/1/access/abdbf897-e599-4e5a-a3f0-7529884ea011', status_code=502) + mock.post('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/access/abdbf897-e599-4e5a-a3f0-7529884ea011', + status_code=502) # test try: - response = RestClient(username="a", password="b").create_database_access(database_id=1, + response = RestClient(username="a", password="b").create_database_access(database_id="6bd39359-b154-456d-b9c2-caa516a45732", type=AccessType.READ, user_id='abdbf897-e599-4e5a-a3f0-7529884ea011') except ServiceConnectionError: @@ -727,10 +741,11 @@ class DatabaseUnitTest(unittest.TestCase): def test_create_database_access_503_fails(self): with requests_mock.Mocker() as mock: # mock - mock.post('/api/database/1/access/abdbf897-e599-4e5a-a3f0-7529884ea011', status_code=503) + mock.post('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/access/abdbf897-e599-4e5a-a3f0-7529884ea011', + status_code=503) # test try: - response = RestClient(username="a", password="b").create_database_access(database_id=1, + response = RestClient(username="a", password="b").create_database_access(database_id="6bd39359-b154-456d-b9c2-caa516a45732", type=AccessType.READ, user_id='abdbf897-e599-4e5a-a3f0-7529884ea011') except ServiceError: @@ -739,10 +754,11 @@ class DatabaseUnitTest(unittest.TestCase): def test_create_database_access_unknown_fails(self): with requests_mock.Mocker() as mock: # mock - mock.post('/api/database/1/access/abdbf897-e599-4e5a-a3f0-7529884ea011', status_code=200) + mock.post('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/access/abdbf897-e599-4e5a-a3f0-7529884ea011', + status_code=200) # test try: - response = RestClient(username="a", password="b").create_database_access(database_id=1, + response = RestClient(username="a", password="b").create_database_access(database_id="6bd39359-b154-456d-b9c2-caa516a45732", type=AccessType.READ, user_id='abdbf897-e599-4e5a-a3f0-7529884ea011') except ResponseCodeError: @@ -753,10 +769,11 @@ class DatabaseUnitTest(unittest.TestCase): user=UserBrief(id='abdbf897-e599-4e5a-a3f0-7529884ea011', username='other')) with requests_mock.Mocker() as mock: # mock - mock.put('/api/database/1/access/abdbf897-e599-4e5a-a3f0-7529884ea011', json=exp.model_dump(), + mock.put('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/access/abdbf897-e599-4e5a-a3f0-7529884ea011', + json=exp.model_dump(), status_code=202) # test - response = RestClient(username="a", password="b").update_database_access(database_id=1, + response = RestClient(username="a", password="b").update_database_access(database_id="6bd39359-b154-456d-b9c2-caa516a45732", type=AccessType.READ, user_id='abdbf897-e599-4e5a-a3f0-7529884ea011') self.assertEqual(response, exp.type) @@ -764,10 +781,11 @@ class DatabaseUnitTest(unittest.TestCase): def test_update_database_access_400_fails(self): with requests_mock.Mocker() as mock: # mock - mock.put('/api/database/1/access/abdbf897-e599-4e5a-a3f0-7529884ea011', status_code=400) + mock.put('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/access/abdbf897-e599-4e5a-a3f0-7529884ea011', + status_code=400) # test try: - response = RestClient(username="a", password="b").update_database_access(database_id=1, + response = RestClient(username="a", password="b").update_database_access(database_id="6bd39359-b154-456d-b9c2-caa516a45732", type=AccessType.READ, user_id='abdbf897-e599-4e5a-a3f0-7529884ea011') except MalformedError: @@ -776,10 +794,11 @@ class DatabaseUnitTest(unittest.TestCase): def test_update_database_access_403_fails(self): with requests_mock.Mocker() as mock: # mock - mock.put('/api/database/1/access/abdbf897-e599-4e5a-a3f0-7529884ea011', status_code=403) + mock.put('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/access/abdbf897-e599-4e5a-a3f0-7529884ea011', + status_code=403) # test try: - response = RestClient(username="a", password="b").update_database_access(database_id=1, + response = RestClient(username="a", password="b").update_database_access(database_id="6bd39359-b154-456d-b9c2-caa516a45732", type=AccessType.READ, user_id='abdbf897-e599-4e5a-a3f0-7529884ea011') except ForbiddenError: @@ -788,10 +807,11 @@ class DatabaseUnitTest(unittest.TestCase): def test_update_database_access_404_fails(self): with requests_mock.Mocker() as mock: # mock - mock.put('/api/database/1/access/abdbf897-e599-4e5a-a3f0-7529884ea011', status_code=404) + mock.put('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/access/abdbf897-e599-4e5a-a3f0-7529884ea011', + status_code=404) # test try: - response = RestClient(username="a", password="b").update_database_access(database_id=1, + response = RestClient(username="a", password="b").update_database_access(database_id="6bd39359-b154-456d-b9c2-caa516a45732", type=AccessType.READ, user_id='abdbf897-e599-4e5a-a3f0-7529884ea011') except NotExistsError: @@ -800,10 +820,11 @@ class DatabaseUnitTest(unittest.TestCase): def test_update_database_access_502_fails(self): with requests_mock.Mocker() as mock: # mock - mock.put('/api/database/1/access/abdbf897-e599-4e5a-a3f0-7529884ea011', status_code=502) + mock.put('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/access/abdbf897-e599-4e5a-a3f0-7529884ea011', + status_code=502) # test try: - response = RestClient(username="a", password="b").update_database_access(database_id=1, + response = RestClient(username="a", password="b").update_database_access(database_id="6bd39359-b154-456d-b9c2-caa516a45732", type=AccessType.READ, user_id='abdbf897-e599-4e5a-a3f0-7529884ea011') except ServiceConnectionError: @@ -812,10 +833,11 @@ class DatabaseUnitTest(unittest.TestCase): def test_update_database_access_503_fails(self): with requests_mock.Mocker() as mock: # mock - mock.put('/api/database/1/access/abdbf897-e599-4e5a-a3f0-7529884ea011', status_code=503) + mock.put('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/access/abdbf897-e599-4e5a-a3f0-7529884ea011', + status_code=503) # test try: - response = RestClient(username="a", password="b").update_database_access(database_id=1, + response = RestClient(username="a", password="b").update_database_access(database_id="6bd39359-b154-456d-b9c2-caa516a45732", type=AccessType.READ, user_id='abdbf897-e599-4e5a-a3f0-7529884ea011') except ServiceError: @@ -824,10 +846,11 @@ class DatabaseUnitTest(unittest.TestCase): def test_update_database_access_unknown_fails(self): with requests_mock.Mocker() as mock: # mock - mock.put('/api/database/1/access/abdbf897-e599-4e5a-a3f0-7529884ea011', status_code=200) + mock.put('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/access/abdbf897-e599-4e5a-a3f0-7529884ea011', + status_code=200) # test try: - response = RestClient(username="a", password="b").update_database_access(database_id=1, + response = RestClient(username="a", password="b").update_database_access(database_id="6bd39359-b154-456d-b9c2-caa516a45732", type=AccessType.READ, user_id='abdbf897-e599-4e5a-a3f0-7529884ea011') except ResponseCodeError: @@ -836,10 +859,11 @@ class DatabaseUnitTest(unittest.TestCase): def test_update_database_access_anonymous_fails(self): with requests_mock.Mocker() as mock: # mock - mock.put('/api/database/1/access/abdbf897-e599-4e5a-a3f0-7529884ea011', status_code=404) + mock.put('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/access/abdbf897-e599-4e5a-a3f0-7529884ea011', + status_code=404) # test try: - response = RestClient().update_database_access(database_id=1, type=AccessType.READ, + response = RestClient().update_database_access(database_id="6bd39359-b154-456d-b9c2-caa516a45732", type=AccessType.READ, user_id='abdbf897-e599-4e5a-a3f0-7529884ea011') except AuthenticationError: pass @@ -847,19 +871,23 @@ class DatabaseUnitTest(unittest.TestCase): def test_delete_database_access_succeeds(self): with requests_mock.Mocker() as mock: # mock - mock.delete('/api/database/1/access/abdbf897-e599-4e5a-a3f0-7529884ea011', status_code=202) + mock.delete( + '/api/database/6bd39359-b154-456d-b9c2-caa516a45732/access/abdbf897-e599-4e5a-a3f0-7529884ea011', + status_code=202) # test client = RestClient(username="a", password="b") - RestClient(username="a", password="b").delete_database_access(database_id=1, + RestClient(username="a", password="b").delete_database_access(database_id="6bd39359-b154-456d-b9c2-caa516a45732", user_id='abdbf897-e599-4e5a-a3f0-7529884ea011') def test_delete_database_access_400_fails(self): with requests_mock.Mocker() as mock: # mock - mock.delete('/api/database/1/access/abdbf897-e599-4e5a-a3f0-7529884ea011', status_code=400) + mock.delete( + '/api/database/6bd39359-b154-456d-b9c2-caa516a45732/access/abdbf897-e599-4e5a-a3f0-7529884ea011', + status_code=400) # test try: - RestClient(username="a", password="b").delete_database_access(database_id=1, + RestClient(username="a", password="b").delete_database_access(database_id="6bd39359-b154-456d-b9c2-caa516a45732", user_id='abdbf897-e599-4e5a-a3f0-7529884ea011') except MalformedError: pass @@ -867,10 +895,12 @@ class DatabaseUnitTest(unittest.TestCase): def test_delete_database_access_403_fails(self): with requests_mock.Mocker() as mock: # mock - mock.delete('/api/database/1/access/abdbf897-e599-4e5a-a3f0-7529884ea011', status_code=403) + mock.delete( + '/api/database/6bd39359-b154-456d-b9c2-caa516a45732/access/abdbf897-e599-4e5a-a3f0-7529884ea011', + status_code=403) # test try: - RestClient(username="a", password="b").delete_database_access(database_id=1, + RestClient(username="a", password="b").delete_database_access(database_id="6bd39359-b154-456d-b9c2-caa516a45732", user_id='abdbf897-e599-4e5a-a3f0-7529884ea011') except ForbiddenError: pass @@ -878,10 +908,12 @@ class DatabaseUnitTest(unittest.TestCase): def test_delete_database_access_404_fails(self): with requests_mock.Mocker() as mock: # mock - mock.delete('/api/database/1/access/abdbf897-e599-4e5a-a3f0-7529884ea011', status_code=404) + mock.delete( + '/api/database/6bd39359-b154-456d-b9c2-caa516a45732/access/abdbf897-e599-4e5a-a3f0-7529884ea011', + status_code=404) # test try: - RestClient(username="a", password="b").delete_database_access(database_id=1, + RestClient(username="a", password="b").delete_database_access(database_id="6bd39359-b154-456d-b9c2-caa516a45732", user_id='abdbf897-e599-4e5a-a3f0-7529884ea011') except NotExistsError: pass @@ -889,10 +921,12 @@ class DatabaseUnitTest(unittest.TestCase): def test_delete_database_access_502_fails(self): with requests_mock.Mocker() as mock: # mock - mock.delete('/api/database/1/access/abdbf897-e599-4e5a-a3f0-7529884ea011', status_code=502) + mock.delete( + '/api/database/6bd39359-b154-456d-b9c2-caa516a45732/access/abdbf897-e599-4e5a-a3f0-7529884ea011', + status_code=502) # test try: - RestClient(username="a", password="b").delete_database_access(database_id=1, + RestClient(username="a", password="b").delete_database_access(database_id="6bd39359-b154-456d-b9c2-caa516a45732", user_id='abdbf897-e599-4e5a-a3f0-7529884ea011') except ServiceConnectionError: pass @@ -900,10 +934,12 @@ class DatabaseUnitTest(unittest.TestCase): def test_delete_database_access_503_fails(self): with requests_mock.Mocker() as mock: # mock - mock.delete('/api/database/1/access/abdbf897-e599-4e5a-a3f0-7529884ea011', status_code=503) + mock.delete( + '/api/database/6bd39359-b154-456d-b9c2-caa516a45732/access/abdbf897-e599-4e5a-a3f0-7529884ea011', + status_code=503) # test try: - RestClient(username="a", password="b").delete_database_access(database_id=1, + RestClient(username="a", password="b").delete_database_access(database_id="6bd39359-b154-456d-b9c2-caa516a45732", user_id='abdbf897-e599-4e5a-a3f0-7529884ea011') except ServiceError: pass @@ -911,10 +947,12 @@ class DatabaseUnitTest(unittest.TestCase): def test_delete_database_access_unknown_fails(self): with requests_mock.Mocker() as mock: # mock - mock.delete('/api/database/1/access/abdbf897-e599-4e5a-a3f0-7529884ea011', status_code=200) + mock.delete( + '/api/database/6bd39359-b154-456d-b9c2-caa516a45732/access/abdbf897-e599-4e5a-a3f0-7529884ea011', + status_code=200) # test try: - RestClient(username="a", password="b").delete_database_access(database_id=1, + RestClient(username="a", password="b").delete_database_access(database_id="6bd39359-b154-456d-b9c2-caa516a45732", user_id='abdbf897-e599-4e5a-a3f0-7529884ea011') except ResponseCodeError: pass @@ -922,10 +960,12 @@ class DatabaseUnitTest(unittest.TestCase): def test_delete_database_access_anonymous_fails(self): with requests_mock.Mocker() as mock: # mock - mock.delete('/api/database/1/access/abdbf897-e599-4e5a-a3f0-7529884ea011', status_code=404) + mock.delete( + '/api/database/6bd39359-b154-456d-b9c2-caa516a45732/access/abdbf897-e599-4e5a-a3f0-7529884ea011', + status_code=404) # test try: - RestClient().delete_database_access(database_id=1, user_id='abdbf897-e599-4e5a-a3f0-7529884ea011') + RestClient().delete_database_access(database_id="6bd39359-b154-456d-b9c2-caa516a45732", user_id='abdbf897-e599-4e5a-a3f0-7529884ea011') except AuthenticationError: pass diff --git a/lib/python/tests/test_unit_identifier.py b/lib/python/tests/test_unit_identifier.py index 36630e3df00559aea6a5ac43bd0c18fe10e6b648..6509bcac5a3e9e20a13bf25f67c86b2196712517 100644 --- a/lib/python/tests/test_unit_identifier.py +++ b/lib/python/tests/test_unit_identifier.py @@ -16,20 +16,26 @@ class IdentifierUnitTest(unittest.TestCase): def test_create_identifier_succeeds(self): with requests_mock.Mocker() as mock: - exp = Identifier(id=10, - database_id=1, - view_id=32, + exp = Identifier(id="f6171539-a479-4829-9b9b-a6b474e1c7d3", + database_id="6bd39359-b154-456d-b9c2-caa516a45732", + view_id="e5229d24-584a-43e8-b9f6-d349c3053f9c", publication_year=2024, publisher='TU Wien', type=IdentifierType.VIEW, language=Language.EN, - descriptions=[IdentifierDescription(id=2, description='Test Description')], - titles=[IdentifierTitle(id=3, title='Test Title')], - funders=[IdentifierFunder(id=4, funder_name='FWF')], + descriptions=[IdentifierDescription(id="d8bdc933-655c-46bd-9903-ede3928a304b", + description='Test Description')], + titles=[IdentifierTitle(id="ffaf9e0c-c37d-4655-bd68-80cd991cf24c", + title='Test Title')], + funders=[IdentifierFunder(id="d0dc801d-cfb7-4b07-9b20-2d7af39c913c", + funder_name='FWF')], related_identifiers=[ - RelatedIdentifier(id=7, value='10.12345/abc', relation=RelatedIdentifierRelation.CITES, + RelatedIdentifier(id="6655eba7-b0ac-4bc4-9f09-6355fec8d815", + value='10.12345/abc', + relation=RelatedIdentifierRelation.CITES, type=RelatedIdentifierType.DOI)], - creators=[Creator(id=5, creator_name='Carberry, Josiah')], + creators=[Creator(id="70539dff-c549-4c95-8257-9c750decf232", + creator_name='Carberry, Josiah')], status=IdentifierStatusType.PUBLISHED, owner=UserBrief(id='8638c043-5145-4be8-a3e4-4b79991b0a16', username='mweise')) # mock @@ -37,7 +43,7 @@ class IdentifierUnitTest(unittest.TestCase): # test client = RestClient(username="a", password="b") response = client.create_identifier( - database_id=1, type=IdentifierType.VIEW, + database_id="6bd39359-b154-456d-b9c2-caa516a45732", type=IdentifierType.VIEW, titles=[CreateIdentifierTitle(title='Test Title')], publisher='TU Wien', publication_year=2024, language=Language.EN, @@ -57,7 +63,7 @@ class IdentifierUnitTest(unittest.TestCase): try: client = RestClient(username="a", password="b") client.create_identifier( - database_id=1, type=IdentifierType.VIEW, + database_id="6bd39359-b154-456d-b9c2-caa516a45732", type=IdentifierType.VIEW, titles=[CreateIdentifierTitle(title='Test Title')], descriptions=[CreateIdentifierDescription(description='Test')], publisher='TU Wien', publication_year=2024, @@ -73,7 +79,7 @@ class IdentifierUnitTest(unittest.TestCase): try: client = RestClient(username="a", password="b") client.create_identifier( - database_id=1, type=IdentifierType.VIEW, + database_id="6bd39359-b154-456d-b9c2-caa516a45732", type=IdentifierType.VIEW, titles=[CreateIdentifierTitle(title='Test Title')], descriptions=[CreateIdentifierDescription(description='Test')], publisher='TU Wien', publication_year=2024, @@ -89,7 +95,7 @@ class IdentifierUnitTest(unittest.TestCase): try: client = RestClient(username="a", password="b") client.create_identifier( - database_id=1, type=IdentifierType.VIEW, + database_id="6bd39359-b154-456d-b9c2-caa516a45732", type=IdentifierType.VIEW, titles=[CreateIdentifierTitle(title='Test Title')], descriptions=[CreateIdentifierDescription(description='Test')], publisher='TU Wien', publication_year=2024, @@ -105,7 +111,7 @@ class IdentifierUnitTest(unittest.TestCase): try: client = RestClient(username="a", password="b") client.create_identifier( - database_id=1, type=IdentifierType.VIEW, + database_id="6bd39359-b154-456d-b9c2-caa516a45732", type=IdentifierType.VIEW, titles=[CreateIdentifierTitle(title='Test Title')], descriptions=[CreateIdentifierDescription(description='Test')], publisher='TU Wien', publication_year=2024, @@ -121,7 +127,7 @@ class IdentifierUnitTest(unittest.TestCase): try: client = RestClient(username="a", password="b") client.create_identifier( - database_id=1, type=IdentifierType.VIEW, + database_id="6bd39359-b154-456d-b9c2-caa516a45732", type=IdentifierType.VIEW, titles=[CreateIdentifierTitle(title='Test Title')], descriptions=[CreateIdentifierDescription(description='Test')], publisher='TU Wien', publication_year=2024, @@ -137,7 +143,7 @@ class IdentifierUnitTest(unittest.TestCase): try: client = RestClient(username="a", password="b") client.create_identifier( - database_id=1, type=IdentifierType.VIEW, + database_id="6bd39359-b154-456d-b9c2-caa516a45732", type=IdentifierType.VIEW, titles=[CreateIdentifierTitle(title='Test Title')], descriptions=[CreateIdentifierDescription(description='Test')], publisher='TU Wien', publication_year=2024, @@ -149,7 +155,7 @@ class IdentifierUnitTest(unittest.TestCase): # test try: RestClient().create_identifier( - database_id=1, type=IdentifierType.VIEW, + database_id="6bd39359-b154-456d-b9c2-caa516a45732", type=IdentifierType.VIEW, titles=[CreateIdentifierTitle(title='Test Title')], descriptions=[CreateIdentifierDescription(description='Test')], publisher='TU Wien', publication_year=2024, @@ -159,26 +165,33 @@ class IdentifierUnitTest(unittest.TestCase): def test_get_identifiers_view_succeeds(self): with requests_mock.Mocker() as mock: - exp = [Identifier(id=10, - database_id=1, - view_id=32, + exp = [Identifier(id="f6171539-a479-4829-9b9b-a6b474e1c7d3", + database_id="6bd39359-b154-456d-b9c2-caa516a45732", + view_id="e5229d24-584a-43e8-b9f6-d349c3053f9c", publication_year=2024, publisher='TU Wien', type=IdentifierType.VIEW, language=Language.EN, - descriptions=[IdentifierDescription(id=2, description='Test Description')], - titles=[IdentifierTitle(id=3, title='Test Title')], - funders=[IdentifierFunder(id=4, funder_name='FWF')], - related_identifiers=[RelatedIdentifier(id=7, value='10.12345/abc', - relation=RelatedIdentifierRelation.CITES, - type=RelatedIdentifierType.DOI)], - creators=[Creator(id=5, creator_name='Carberry, Josiah')], + descriptions=[IdentifierDescription(id="d8bdc933-655c-46bd-9903-ede3928a304b", + description='Test Description')], + titles=[IdentifierTitle(id="f6171539-a479-4829-9b9b-a6b474e1c7d3", + title='Test Title')], + funders=[IdentifierFunder(id="d0dc801d-cfb7-4b07-9b20-2d7af39c913c", + funder_name='FWF')], + related_identifiers=[ + RelatedIdentifier(id="6655eba7-b0ac-4bc4-9f09-6355fec8d815", value='10.12345/abc', + relation=RelatedIdentifierRelation.CITES, + type=RelatedIdentifierType.DOI)], + creators=[Creator(id="70539dff-c549-4c95-8257-9c750decf232", + creator_name='Carberry, Josiah')], status=IdentifierStatusType.PUBLISHED, owner=UserBrief(id='8638c043-5145-4be8-a3e4-4b79991b0a16', username='mweise'))] # mock mock.get('/api/identifiers', json=[exp[0].model_dump()], headers={"Accept": "application/json"}) # test - response = RestClient().get_identifiers(database_id=1, view_id=32, type=IdentifierType.VIEW, + response = RestClient().get_identifiers(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + view_id="e5229d24-584a-43e8-b9f6-d349c3053f9c", + type=IdentifierType.VIEW, status=IdentifierStatusType.PUBLISHED) self.assertEqual(exp, response) @@ -188,7 +201,8 @@ class IdentifierUnitTest(unittest.TestCase): # mock mock.get('/api/identifiers', json=[], headers={"Accept": "application/json"}) # test - response = RestClient().get_identifiers(database_id=1, subset_id=2) + response = RestClient().get_identifiers(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + subset_id="0831bf54-9dd9-46fe-8c2c-c539332ea177") self.assertEqual(exp, response) def test_get_identifiers_table_succeeds(self): @@ -197,27 +211,28 @@ class IdentifierUnitTest(unittest.TestCase): # mock mock.get('/api/identifiers', json=[], headers={"Accept": "application/json"}) # test - response = RestClient().get_identifiers(database_id=1, table_id=3) + response = RestClient().get_identifiers(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + table_id="b3230b86-4743-498d-9015-3fad58049692") self.assertEqual(exp, response) def test_get_identifiers_view_param_database_fails(self): # test try: - RestClient().get_identifiers(view_id=1) + RestClient().get_identifiers(view_id="e5229d24-584a-43e8-b9f6-d349c3053f9c") except RequestError: pass def test_get_identifiers_subset_param_database_fails(self): # test try: - RestClient().get_identifiers(subset_id=1) + RestClient().get_identifiers(subset_id="0831bf54-9dd9-46fe-8c2c-c539332ea177") except RequestError: pass def test_get_identifiers_table_param_database_fails(self): # test try: - RestClient().get_identifiers(table_id=1) + RestClient().get_identifiers(table_id="b3230b86-4743-498d-9015-3fad58049692") except RequestError: pass @@ -253,62 +268,78 @@ class IdentifierUnitTest(unittest.TestCase): def test_update_identifier_succeeds(self): with requests_mock.Mocker() as mock: - exp = Identifier(id=10, - database_id=1, - view_id=32, + exp = Identifier(id="f6171539-a479-4829-9b9b-a6b474e1c7d3", + database_id="6bd39359-b154-456d-b9c2-caa516a45732", + view_id="e5229d24-584a-43e8-b9f6-d349c3053f9c", publication_year=2024, publisher='TU Wien', type=IdentifierType.VIEW, language=Language.EN, - descriptions=[IdentifierDescription(id=2, description='Test Description')], - titles=[IdentifierTitle(id=3, title='Test Title')], - funders=[IdentifierFunder(id=4, funder_name='FWF')], + descriptions=[IdentifierDescription(id="d8bdc933-655c-46bd-9903-ede3928a304b", + description='Test Description')], + titles=[IdentifierTitle(id="f6171539-a479-4829-9b9b-a6b474e1c7d3", + title='Test Title')], + funders=[IdentifierFunder(id="d0dc801d-cfb7-4b07-9b20-2d7af39c913c", + funder_name='FWF')], related_identifiers=[ - RelatedIdentifier(id=7, value='10.12345/abc', relation=RelatedIdentifierRelation.CITES, + RelatedIdentifier(id="6655eba7-b0ac-4bc4-9f09-6355fec8d815", + value='10.12345/abc', + relation=RelatedIdentifierRelation.CITES, type=RelatedIdentifierType.DOI)], - creators=[Creator(id=5, creator_name='Carberry, Josiah')], + creators=[Creator(id="70539dff-c549-4c95-8257-9c750decf232", + creator_name='Carberry, Josiah')], status=IdentifierStatusType.PUBLISHED, owner=UserBrief(id='8638c043-5145-4be8-a3e4-4b79991b0a16', username='mweise')) # mock - mock.put('/api/identifier/10', json=exp.model_dump(), status_code=202) + mock.put('/api/identifier/f6171539-a479-4829-9b9b-a6b474e1c7d3', json=exp.model_dump(), status_code=202) # test client = RestClient(username="a", password="b") - response = client.update_identifier(identifier_id=10, - database_id=1, type=IdentifierType.VIEW, - titles=[SaveIdentifierTitle(id=10, title='Test Title')], + response = client.update_identifier(identifier_id="f6171539-a479-4829-9b9b-a6b474e1c7d3", + database_id="6bd39359-b154-456d-b9c2-caa516a45732", + type=IdentifierType.VIEW, + titles=[SaveIdentifierTitle(id="f6171539-a479-4829-9b9b-a6b474e1c7d3", + title='Test Title')], publisher='TU Wien', publication_year=2024, language=Language.EN, - funders=[SaveIdentifierFunder(id=2, funder_name='FWF')], - related_identifiers=[SaveRelatedIdentifier(id=2, - value='10.12345/abc', - relation=RelatedIdentifierRelation.CITES, - type=RelatedIdentifierType.DOI)], - descriptions=[SaveIdentifierDescription(id=2, - description='Test Description')], - creators=[SaveIdentifierCreator(id=30, - creator_name='Carberry, Josiah')]) + funders=[SaveIdentifierFunder(id="d0dc801d-cfb7-4b07-9b20-2d7af39c913c", + funder_name='FWF')], + related_identifiers=[ + SaveRelatedIdentifier(id="6655eba7-b0ac-4bc4-9f09-6355fec8d815", + value='10.12345/abc', + relation=RelatedIdentifierRelation.CITES, + type=RelatedIdentifierType.DOI)], + descriptions=[ + SaveIdentifierDescription(id="d8bdc933-655c-46bd-9903-ede3928a304b", + description='Test Description')], + creators=[ + SaveIdentifierCreator(id="6bf894bc-8f55-4b5d-83cf-198b29253260", + creator_name='Carberry, Josiah')]) self.assertEqual(exp, response) def test_update_identifier_400_fails(self): with requests_mock.Mocker() as mock: # mock - mock.put('/api/identifier/10', status_code=400) + mock.put('/api/identifier/f6171539-a479-4829-9b9b-a6b474e1c7d3', status_code=400) # test client = RestClient(username="a", password="b") try: - client.update_identifier(identifier_id=10, - database_id=1, type=IdentifierType.VIEW, - titles=[SaveIdentifierTitle(id=10, title='Test Title')], + client.update_identifier(identifier_id="f6171539-a479-4829-9b9b-a6b474e1c7d3", + database_id="6bd39359-b154-456d-b9c2-caa516a45732", type=IdentifierType.VIEW, + titles=[SaveIdentifierTitle(id="f6171539-a479-4829-9b9b-a6b474e1c7d3", + title='Test Title')], publisher='TU Wien', publication_year=2024, language=Language.EN, - funders=[SaveIdentifierFunder(id=2, funder_name='FWF')], - related_identifiers=[SaveRelatedIdentifier(id=2, - value='10.12345/abc', - relation=RelatedIdentifierRelation.CITES, - type=RelatedIdentifierType.DOI)], - descriptions=[SaveIdentifierDescription(id=2, - description='Test Description')], - creators=[SaveIdentifierCreator(id=30, + funders=[SaveIdentifierFunder(id="d0dc801d-cfb7-4b07-9b20-2d7af39c913c", + funder_name='FWF')], + related_identifiers=[ + SaveRelatedIdentifier(id="6655eba7-b0ac-4bc4-9f09-6355fec8d815", + value='10.12345/abc', + relation=RelatedIdentifierRelation.CITES, + type=RelatedIdentifierType.DOI)], + descriptions=[ + SaveIdentifierDescription(id="d8bdc933-655c-46bd-9903-ede3928a304b", + description='Test Description')], + creators=[SaveIdentifierCreator(id="6bf894bc-8f55-4b5d-83cf-198b29253260", creator_name='Carberry, Josiah')]) except MalformedError: pass @@ -316,23 +347,27 @@ class IdentifierUnitTest(unittest.TestCase): def test_update_identifier_403_fails(self): with requests_mock.Mocker() as mock: # mock - mock.put('/api/identifier/10', status_code=403) + mock.put('/api/identifier/f6171539-a479-4829-9b9b-a6b474e1c7d3', status_code=403) # test client = RestClient(username="a", password="b") try: - client.update_identifier(identifier_id=10, - database_id=1, type=IdentifierType.VIEW, - titles=[SaveIdentifierTitle(id=10, title='Test Title')], + client.update_identifier(identifier_id="f6171539-a479-4829-9b9b-a6b474e1c7d3", + database_id="6bd39359-b154-456d-b9c2-caa516a45732", type=IdentifierType.VIEW, + titles=[SaveIdentifierTitle(id="f6171539-a479-4829-9b9b-a6b474e1c7d3", + title='Test Title')], publisher='TU Wien', publication_year=2024, language=Language.EN, - funders=[SaveIdentifierFunder(id=2, funder_name='FWF')], - related_identifiers=[SaveRelatedIdentifier(id=2, - value='10.12345/abc', - relation=RelatedIdentifierRelation.CITES, - type=RelatedIdentifierType.DOI)], - descriptions=[SaveIdentifierDescription(id=2, - description='Test Description')], - creators=[SaveIdentifierCreator(id=30, + funders=[SaveIdentifierFunder(id="d0dc801d-cfb7-4b07-9b20-2d7af39c913c", + funder_name='FWF')], + related_identifiers=[ + SaveRelatedIdentifier(id="6655eba7-b0ac-4bc4-9f09-6355fec8d815", + value='10.12345/abc', + relation=RelatedIdentifierRelation.CITES, + type=RelatedIdentifierType.DOI)], + descriptions=[ + SaveIdentifierDescription(id="d8bdc933-655c-46bd-9903-ede3928a304b", + description='Test Description')], + creators=[SaveIdentifierCreator(id="6bf894bc-8f55-4b5d-83cf-198b29253260", creator_name='Carberry, Josiah')]) except ForbiddenError: pass @@ -340,23 +375,27 @@ class IdentifierUnitTest(unittest.TestCase): def test_update_identifier_404_fails(self): with requests_mock.Mocker() as mock: # mock - mock.put('/api/identifier/10', status_code=404) + mock.put('/api/identifier/f6171539-a479-4829-9b9b-a6b474e1c7d3', status_code=404) # test client = RestClient(username="a", password="b") try: - client.update_identifier(identifier_id=10, - database_id=1, type=IdentifierType.VIEW, - titles=[SaveIdentifierTitle(id=10, title='Test Title')], + client.update_identifier(identifier_id="f6171539-a479-4829-9b9b-a6b474e1c7d3", + database_id="6bd39359-b154-456d-b9c2-caa516a45732", type=IdentifierType.VIEW, + titles=[SaveIdentifierTitle(id="f6171539-a479-4829-9b9b-a6b474e1c7d3", + title='Test Title')], publisher='TU Wien', publication_year=2024, language=Language.EN, - funders=[SaveIdentifierFunder(id=2, funder_name='FWF')], - related_identifiers=[SaveRelatedIdentifier(id=2, - value='10.12345/abc', - relation=RelatedIdentifierRelation.CITES, - type=RelatedIdentifierType.DOI)], - descriptions=[SaveIdentifierDescription(id=2, - description='Test Description')], - creators=[SaveIdentifierCreator(id=30, + funders=[SaveIdentifierFunder(id="d0dc801d-cfb7-4b07-9b20-2d7af39c913c", + funder_name='FWF')], + related_identifiers=[ + SaveRelatedIdentifier(id="6655eba7-b0ac-4bc4-9f09-6355fec8d815", + value='10.12345/abc', + relation=RelatedIdentifierRelation.CITES, + type=RelatedIdentifierType.DOI)], + descriptions=[ + SaveIdentifierDescription(id="d8bdc933-655c-46bd-9903-ede3928a304b", + description='Test Description')], + creators=[SaveIdentifierCreator(id="6bf894bc-8f55-4b5d-83cf-198b29253260", creator_name='Carberry, Josiah')]) except NotExistsError: pass @@ -364,23 +403,27 @@ class IdentifierUnitTest(unittest.TestCase): def test_update_identifier_502_fails(self): with requests_mock.Mocker() as mock: # mock - mock.put('/api/identifier/10', status_code=502) + mock.put('/api/identifier/f6171539-a479-4829-9b9b-a6b474e1c7d3', status_code=502) # test client = RestClient(username="a", password="b") try: - client.update_identifier(identifier_id=10, - database_id=1, type=IdentifierType.VIEW, - titles=[SaveIdentifierTitle(id=10, title='Test Title')], + client.update_identifier(identifier_id="f6171539-a479-4829-9b9b-a6b474e1c7d3", + database_id="6bd39359-b154-456d-b9c2-caa516a45732", type=IdentifierType.VIEW, + titles=[SaveIdentifierTitle(id="f6171539-a479-4829-9b9b-a6b474e1c7d3", + title='Test Title')], publisher='TU Wien', publication_year=2024, language=Language.EN, - funders=[SaveIdentifierFunder(id=2, funder_name='FWF')], - related_identifiers=[SaveRelatedIdentifier(id=2, - value='10.12345/abc', - relation=RelatedIdentifierRelation.CITES, - type=RelatedIdentifierType.DOI)], - descriptions=[SaveIdentifierDescription(id=2, - description='Test Description')], - creators=[SaveIdentifierCreator(id=30, + funders=[SaveIdentifierFunder(id="d0dc801d-cfb7-4b07-9b20-2d7af39c913c", + funder_name='FWF')], + related_identifiers=[ + SaveRelatedIdentifier(id="6655eba7-b0ac-4bc4-9f09-6355fec8d815", + value='10.12345/abc', + relation=RelatedIdentifierRelation.CITES, + type=RelatedIdentifierType.DOI)], + descriptions=[ + SaveIdentifierDescription(id="d8bdc933-655c-46bd-9903-ede3928a304b", + description='Test Description')], + creators=[SaveIdentifierCreator(id="6bf894bc-8f55-4b5d-83cf-198b29253260", creator_name='Carberry, Josiah')]) except ServiceConnectionError: pass @@ -388,23 +431,27 @@ class IdentifierUnitTest(unittest.TestCase): def test_update_identifier_503_fails(self): with requests_mock.Mocker() as mock: # mock - mock.put('/api/identifier/10', status_code=503) + mock.put('/api/identifier/f6171539-a479-4829-9b9b-a6b474e1c7d3', status_code=503) # test client = RestClient(username="a", password="b") try: - client.update_identifier(identifier_id=10, - database_id=1, type=IdentifierType.VIEW, - titles=[SaveIdentifierTitle(id=10, title='Test Title')], + client.update_identifier(identifier_id="f6171539-a479-4829-9b9b-a6b474e1c7d3", + database_id="6bd39359-b154-456d-b9c2-caa516a45732", type=IdentifierType.VIEW, + titles=[SaveIdentifierTitle(id="f6171539-a479-4829-9b9b-a6b474e1c7d3", + title='Test Title')], publisher='TU Wien', publication_year=2024, language=Language.EN, - funders=[SaveIdentifierFunder(id=2, funder_name='FWF')], - related_identifiers=[SaveRelatedIdentifier(id=2, - value='10.12345/abc', - relation=RelatedIdentifierRelation.CITES, - type=RelatedIdentifierType.DOI)], - descriptions=[SaveIdentifierDescription(id=2, - description='Test Description')], - creators=[SaveIdentifierCreator(id=30, + funders=[SaveIdentifierFunder(id="d0dc801d-cfb7-4b07-9b20-2d7af39c913c", + funder_name='FWF')], + related_identifiers=[ + SaveRelatedIdentifier(id="6655eba7-b0ac-4bc4-9f09-6355fec8d815", + value='10.12345/abc', + relation=RelatedIdentifierRelation.CITES, + type=RelatedIdentifierType.DOI)], + descriptions=[ + SaveIdentifierDescription(id="d8bdc933-655c-46bd-9903-ede3928a304b", + description='Test Description')], + creators=[SaveIdentifierCreator(id="6bf894bc-8f55-4b5d-83cf-198b29253260", creator_name='Carberry, Josiah')]) except ServiceError: pass @@ -412,23 +459,27 @@ class IdentifierUnitTest(unittest.TestCase): def test_update_identifier_unknown_fails(self): with requests_mock.Mocker() as mock: # mock - mock.put('/api/identifier/10', status_code=200) + mock.put('/api/identifier/f6171539-a479-4829-9b9b-a6b474e1c7d3', status_code=200) # test client = RestClient(username="a", password="b") try: - client.update_identifier(identifier_id=10, - database_id=1, type=IdentifierType.VIEW, - titles=[SaveIdentifierTitle(id=10, title='Test Title')], + client.update_identifier(identifier_id="f6171539-a479-4829-9b9b-a6b474e1c7d3", + database_id="6bd39359-b154-456d-b9c2-caa516a45732", type=IdentifierType.VIEW, + titles=[SaveIdentifierTitle(id="f6171539-a479-4829-9b9b-a6b474e1c7d3", + title='Test Title')], publisher='TU Wien', publication_year=2024, language=Language.EN, - funders=[SaveIdentifierFunder(id=2, funder_name='FWF')], - related_identifiers=[SaveRelatedIdentifier(id=2, - value='10.12345/abc', - relation=RelatedIdentifierRelation.CITES, - type=RelatedIdentifierType.DOI)], - descriptions=[SaveIdentifierDescription(id=2, - description='Test Description')], - creators=[SaveIdentifierCreator(id=30, + funders=[SaveIdentifierFunder(id="d0dc801d-cfb7-4b07-9b20-2d7af39c913c", + funder_name='FWF')], + related_identifiers=[ + SaveRelatedIdentifier(id="6655eba7-b0ac-4bc4-9f09-6355fec8d815", + value='10.12345/abc', + relation=RelatedIdentifierRelation.CITES, + type=RelatedIdentifierType.DOI)], + descriptions=[ + SaveIdentifierDescription(id="d8bdc933-655c-46bd-9903-ede3928a304b", + description='Test Description')], + creators=[SaveIdentifierCreator(id="6bf894bc-8f55-4b5d-83cf-198b29253260", creator_name='Carberry, Josiah')]) except ResponseCodeError: pass @@ -436,208 +487,239 @@ class IdentifierUnitTest(unittest.TestCase): def test_update_identifier_anonymous_fails(self): # test try: - RestClient().update_identifier(identifier_id=10, - database_id=1, type=IdentifierType.VIEW, - titles=[SaveIdentifierTitle(id=10, title='Test Title')], + RestClient().update_identifier(identifier_id="f6171539-a479-4829-9b9b-a6b474e1c7d3", + database_id="6bd39359-b154-456d-b9c2-caa516a45732", type=IdentifierType.VIEW, + titles=[SaveIdentifierTitle(id="f6171539-a479-4829-9b9b-a6b474e1c7d3", + title='Test Title')], publisher='TU Wien', publication_year=2024, language=Language.EN, - funders=[SaveIdentifierFunder(id=2, funder_name='FWF')], - related_identifiers=[SaveRelatedIdentifier(id=2, - value='10.12345/abc', - relation=RelatedIdentifierRelation.CITES, - type=RelatedIdentifierType.DOI)], - descriptions=[SaveIdentifierDescription(id=2, - description='Test Description')], - creators=[SaveIdentifierCreator(id=30, + funders=[SaveIdentifierFunder(id="d0dc801d-cfb7-4b07-9b20-2d7af39c913c", + funder_name='FWF')], + related_identifiers=[ + SaveRelatedIdentifier(id="6655eba7-b0ac-4bc4-9f09-6355fec8d815", + value='10.12345/abc', + relation=RelatedIdentifierRelation.CITES, + type=RelatedIdentifierType.DOI)], + descriptions=[ + SaveIdentifierDescription(id="d8bdc933-655c-46bd-9903-ede3928a304b", + description='Test Description')], + creators=[SaveIdentifierCreator(id="6bf894bc-8f55-4b5d-83cf-198b29253260", creator_name='Carberry, Josiah')]) except AuthenticationError: pass def test_publish_identifier_succeeds(self): with requests_mock.Mocker() as mock: - exp = Identifier(id=10, - database_id=1, - view_id=32, + exp = Identifier(id="f6171539-a479-4829-9b9b-a6b474e1c7d3", + database_id="6bd39359-b154-456d-b9c2-caa516a45732", + view_id="e5229d24-584a-43e8-b9f6-d349c3053f9c", publication_year=2024, publisher='TU Wien', type=IdentifierType.VIEW, language=Language.EN, - descriptions=[IdentifierDescription(id=2, description='Test Description')], - titles=[IdentifierTitle(id=3, title='Test Title')], - funders=[IdentifierFunder(id=4, funder_name='FWF')], + descriptions=[IdentifierDescription(id="d8bdc933-655c-46bd-9903-ede3928a304b", + description='Test Description')], + titles=[IdentifierTitle(id="f6171539-a479-4829-9b9b-a6b474e1c7d3", title='Test Title')], + funders=[IdentifierFunder(id="d0dc801d-cfb7-4b07-9b20-2d7af39c913c", funder_name='FWF')], related_identifiers=[ - RelatedIdentifier(id=7, value='10.12345/abc', relation=RelatedIdentifierRelation.CITES, + RelatedIdentifier(id="6655eba7-b0ac-4bc4-9f09-6355fec8d815", value='10.12345/abc', + relation=RelatedIdentifierRelation.CITES, type=RelatedIdentifierType.DOI)], - creators=[Creator(id=5, creator_name='Carberry, Josiah')], + creators=[ + Creator(id="70539dff-c549-4c95-8257-9c750decf232", creator_name='Carberry, Josiah')], status=IdentifierStatusType.PUBLISHED, owner=UserBrief(id='8638c043-5145-4be8-a3e4-4b79991b0a16', username='mweise')) # mock - mock.put('/api/identifier/10/publish', json=exp.model_dump(), status_code=202) + mock.put('/api/identifier/f6171539-a479-4829-9b9b-a6b474e1c7d3/publish', json=exp.model_dump(), status_code=202) # test client = RestClient(username="a", password="b") - response = client.publish_identifier(identifier_id=10) + response = client.publish_identifier(identifier_id="f6171539-a479-4829-9b9b-a6b474e1c7d3") self.assertEqual(exp, response) def test_publish_identifier_400_fails(self): with requests_mock.Mocker() as mock: - exp = Identifier(id=10, - database_id=1, - view_id=32, + exp = Identifier(id="f6171539-a479-4829-9b9b-a6b474e1c7d3", + database_id="6bd39359-b154-456d-b9c2-caa516a45732", + view_id="e5229d24-584a-43e8-b9f6-d349c3053f9c", publication_year=2024, publisher='TU Wien', type=IdentifierType.VIEW, language=Language.EN, - descriptions=[IdentifierDescription(id=2, description='Test Description')], - titles=[IdentifierTitle(id=3, title='Test Title')], - funders=[IdentifierFunder(id=4, funder_name='FWF')], + descriptions=[IdentifierDescription(id="d8bdc933-655c-46bd-9903-ede3928a304b", + description='Test Description')], + titles=[IdentifierTitle(id="f6171539-a479-4829-9b9b-a6b474e1c7d3", title='Test Title')], + funders=[IdentifierFunder(id="d0dc801d-cfb7-4b07-9b20-2d7af39c913c", funder_name='FWF')], related_identifiers=[ - RelatedIdentifier(id=7, value='10.12345/abc', relation=RelatedIdentifierRelation.CITES, + RelatedIdentifier(id="6655eba7-b0ac-4bc4-9f09-6355fec8d815", value='10.12345/abc', + relation=RelatedIdentifierRelation.CITES, type=RelatedIdentifierType.DOI)], - creators=[Creator(id=5, creator_name='Carberry, Josiah')], + creators=[ + Creator(id="70539dff-c549-4c95-8257-9c750decf232", creator_name='Carberry, Josiah')], status=IdentifierStatusType.PUBLISHED, owner=UserBrief(id='8638c043-5145-4be8-a3e4-4b79991b0a16', username='mweise')) # mock - mock.put('/api/identifier/10/publish', json=exp.model_dump(), status_code=400) + mock.put('/api/identifier/f6171539-a479-4829-9b9b-a6b474e1c7d3/publish', json=exp.model_dump(), status_code=400) # test try: - RestClient(username="a", password="b").publish_identifier(identifier_id=10) + RestClient(username="a", password="b").publish_identifier( + identifier_id="f6171539-a479-4829-9b9b-a6b474e1c7d3") except MalformedError: pass def test_publish_identifier_403_fails(self): with requests_mock.Mocker() as mock: - exp = Identifier(id=10, - database_id=1, - view_id=32, + exp = Identifier(id="f6171539-a479-4829-9b9b-a6b474e1c7d3", + database_id="6bd39359-b154-456d-b9c2-caa516a45732", + view_id="e5229d24-584a-43e8-b9f6-d349c3053f9c", publication_year=2024, publisher='TU Wien', type=IdentifierType.VIEW, language=Language.EN, - descriptions=[IdentifierDescription(id=2, description='Test Description')], - titles=[IdentifierTitle(id=3, title='Test Title')], - funders=[IdentifierFunder(id=4, funder_name='FWF')], + descriptions=[IdentifierDescription(id="d8bdc933-655c-46bd-9903-ede3928a304b", + description='Test Description')], + titles=[IdentifierTitle(id="f6171539-a479-4829-9b9b-a6b474e1c7d3", title='Test Title')], + funders=[IdentifierFunder(id="d0dc801d-cfb7-4b07-9b20-2d7af39c913c", funder_name='FWF')], related_identifiers=[ - RelatedIdentifier(id=7, value='10.12345/abc', relation=RelatedIdentifierRelation.CITES, + RelatedIdentifier(id="6655eba7-b0ac-4bc4-9f09-6355fec8d815", value='10.12345/abc', + relation=RelatedIdentifierRelation.CITES, type=RelatedIdentifierType.DOI)], - creators=[Creator(id=5, creator_name='Carberry, Josiah')], + creators=[ + Creator(id="70539dff-c549-4c95-8257-9c750decf232", creator_name='Carberry, Josiah')], status=IdentifierStatusType.PUBLISHED, owner=UserBrief(id='8638c043-5145-4be8-a3e4-4b79991b0a16', username='mweise')) # mock - mock.put('/api/identifier/10/publish', json=exp.model_dump(), status_code=403) + mock.put('/api/identifier/f6171539-a479-4829-9b9b-a6b474e1c7d3/publish', json=exp.model_dump(), status_code=403) # test try: - RestClient(username="a", password="b").publish_identifier(identifier_id=10) + RestClient(username="a", password="b").publish_identifier( + identifier_id="f6171539-a479-4829-9b9b-a6b474e1c7d3") except ForbiddenError: pass def test_publish_identifier_404_fails(self): with requests_mock.Mocker() as mock: - exp = Identifier(id=10, - database_id=1, - view_id=32, + exp = Identifier(id="f6171539-a479-4829-9b9b-a6b474e1c7d3", + database_id="6bd39359-b154-456d-b9c2-caa516a45732", + view_id="e5229d24-584a-43e8-b9f6-d349c3053f9c", publication_year=2024, publisher='TU Wien', type=IdentifierType.VIEW, language=Language.EN, - descriptions=[IdentifierDescription(id=2, description='Test Description')], - titles=[IdentifierTitle(id=3, title='Test Title')], - funders=[IdentifierFunder(id=4, funder_name='FWF')], + descriptions=[IdentifierDescription(id="d8bdc933-655c-46bd-9903-ede3928a304b", + description='Test Description')], + titles=[IdentifierTitle(id="f6171539-a479-4829-9b9b-a6b474e1c7d3", title='Test Title')], + funders=[IdentifierFunder(id="d0dc801d-cfb7-4b07-9b20-2d7af39c913c", funder_name='FWF')], related_identifiers=[ - RelatedIdentifier(id=7, value='10.12345/abc', relation=RelatedIdentifierRelation.CITES, + RelatedIdentifier(id="6655eba7-b0ac-4bc4-9f09-6355fec8d815", value='10.12345/abc', + relation=RelatedIdentifierRelation.CITES, type=RelatedIdentifierType.DOI)], - creators=[Creator(id=5, creator_name='Carberry, Josiah')], + creators=[ + Creator(id="70539dff-c549-4c95-8257-9c750decf232", creator_name='Carberry, Josiah')], status=IdentifierStatusType.PUBLISHED, owner=UserBrief(id='8638c043-5145-4be8-a3e4-4b79991b0a16', username='mweise')) # mock - mock.put('/api/identifier/10/publish', json=exp.model_dump(), status_code=404) + mock.put('/api/identifier/f6171539-a479-4829-9b9b-a6b474e1c7d3/publish', json=exp.model_dump(), status_code=404) # test try: - RestClient(username="a", password="b").publish_identifier(identifier_id=10) + RestClient(username="a", password="b").publish_identifier( + identifier_id="f6171539-a479-4829-9b9b-a6b474e1c7d3") except NotExistsError: pass def test_publish_identifier_502_fails(self): with requests_mock.Mocker() as mock: - exp = Identifier(id=10, - database_id=1, - view_id=32, + exp = Identifier(id="f6171539-a479-4829-9b9b-a6b474e1c7d3", + database_id="6bd39359-b154-456d-b9c2-caa516a45732", + view_id="e5229d24-584a-43e8-b9f6-d349c3053f9c", publication_year=2024, publisher='TU Wien', type=IdentifierType.VIEW, language=Language.EN, - descriptions=[IdentifierDescription(id=2, description='Test Description')], - titles=[IdentifierTitle(id=3, title='Test Title')], - funders=[IdentifierFunder(id=4, funder_name='FWF')], + descriptions=[IdentifierDescription(id="d8bdc933-655c-46bd-9903-ede3928a304b", + description='Test Description')], + titles=[IdentifierTitle(id="f6171539-a479-4829-9b9b-a6b474e1c7d3", title='Test Title')], + funders=[IdentifierFunder(id="d0dc801d-cfb7-4b07-9b20-2d7af39c913c", funder_name='FWF')], related_identifiers=[ - RelatedIdentifier(id=7, value='10.12345/abc', relation=RelatedIdentifierRelation.CITES, + RelatedIdentifier(id="6655eba7-b0ac-4bc4-9f09-6355fec8d815", value='10.12345/abc', + relation=RelatedIdentifierRelation.CITES, type=RelatedIdentifierType.DOI)], - creators=[Creator(id=5, creator_name='Carberry, Josiah')], + creators=[ + Creator(id="70539dff-c549-4c95-8257-9c750decf232", creator_name='Carberry, Josiah')], status=IdentifierStatusType.PUBLISHED, owner=UserBrief(id='8638c043-5145-4be8-a3e4-4b79991b0a16', username='mweise')) # mock - mock.put('/api/identifier/10/publish', json=exp.model_dump(), status_code=502) + mock.put('/api/identifier/f6171539-a479-4829-9b9b-a6b474e1c7d3/publish', json=exp.model_dump(), status_code=502) # test try: - RestClient(username="a", password="b").publish_identifier(identifier_id=10) + RestClient(username="a", password="b").publish_identifier( + identifier_id="f6171539-a479-4829-9b9b-a6b474e1c7d3") except ServiceConnectionError: pass def test_publish_identifier_503_fails(self): with requests_mock.Mocker() as mock: - exp = Identifier(id=10, - database_id=1, - view_id=32, + exp = Identifier(id="f6171539-a479-4829-9b9b-a6b474e1c7d3", + database_id="6bd39359-b154-456d-b9c2-caa516a45732", + view_id="e5229d24-584a-43e8-b9f6-d349c3053f9c", publication_year=2024, publisher='TU Wien', type=IdentifierType.VIEW, language=Language.EN, - descriptions=[IdentifierDescription(id=2, description='Test Description')], - titles=[IdentifierTitle(id=3, title='Test Title')], - funders=[IdentifierFunder(id=4, funder_name='FWF')], + descriptions=[IdentifierDescription(id="d8bdc933-655c-46bd-9903-ede3928a304b", + description='Test Description')], + titles=[IdentifierTitle(id="f6171539-a479-4829-9b9b-a6b474e1c7d3", title='Test Title')], + funders=[IdentifierFunder(id="d0dc801d-cfb7-4b07-9b20-2d7af39c913c", funder_name='FWF')], related_identifiers=[ - RelatedIdentifier(id=7, value='10.12345/abc', relation=RelatedIdentifierRelation.CITES, + RelatedIdentifier(id="6655eba7-b0ac-4bc4-9f09-6355fec8d815", value='10.12345/abc', + relation=RelatedIdentifierRelation.CITES, type=RelatedIdentifierType.DOI)], - creators=[Creator(id=5, creator_name='Carberry, Josiah')], + creators=[ + Creator(id="70539dff-c549-4c95-8257-9c750decf232", creator_name='Carberry, Josiah')], status=IdentifierStatusType.PUBLISHED, owner=UserBrief(id='8638c043-5145-4be8-a3e4-4b79991b0a16', username='mweise')) # mock - mock.put('/api/identifier/10/publish', json=exp.model_dump(), status_code=503) + mock.put('/api/identifier/f6171539-a479-4829-9b9b-a6b474e1c7d3/publish', json=exp.model_dump(), status_code=503) # test try: - RestClient(username="a", password="b").publish_identifier(identifier_id=10) + RestClient(username="a", password="b").publish_identifier( + identifier_id="f6171539-a479-4829-9b9b-a6b474e1c7d3") except ServiceError: pass def test_publish_identifier_unknown_fails(self): with requests_mock.Mocker() as mock: - exp = Identifier(id=10, - database_id=1, - view_id=32, + exp = Identifier(id="f6171539-a479-4829-9b9b-a6b474e1c7d3", + database_id="6bd39359-b154-456d-b9c2-caa516a45732", + view_id="e5229d24-584a-43e8-b9f6-d349c3053f9c", publication_year=2024, publisher='TU Wien', type=IdentifierType.VIEW, language=Language.EN, - descriptions=[IdentifierDescription(id=2, description='Test Description')], - titles=[IdentifierTitle(id=3, title='Test Title')], - funders=[IdentifierFunder(id=4, funder_name='FWF')], + descriptions=[IdentifierDescription(id="d8bdc933-655c-46bd-9903-ede3928a304b", + description='Test Description')], + titles=[IdentifierTitle(id="f6171539-a479-4829-9b9b-a6b474e1c7d3", title='Test Title')], + funders=[IdentifierFunder(id="d0dc801d-cfb7-4b07-9b20-2d7af39c913c", funder_name='FWF')], related_identifiers=[ - RelatedIdentifier(id=7, value='10.12345/abc', relation=RelatedIdentifierRelation.CITES, + RelatedIdentifier(id="6655eba7-b0ac-4bc4-9f09-6355fec8d815", value='10.12345/abc', + relation=RelatedIdentifierRelation.CITES, type=RelatedIdentifierType.DOI)], - creators=[Creator(id=5, creator_name='Carberry, Josiah')], + creators=[ + Creator(id="70539dff-c549-4c95-8257-9c750decf232", creator_name='Carberry, Josiah')], status=IdentifierStatusType.PUBLISHED, owner=UserBrief(id='8638c043-5145-4be8-a3e4-4b79991b0a16', username='mweise')) # mock - mock.put('/api/identifier/10/publish', json=exp.model_dump(), status_code=200) + mock.put('/api/identifier/f6171539-a479-4829-9b9b-a6b474e1c7d3/publish', json=exp.model_dump(), status_code=200) # test try: - RestClient(username="a", password="b").publish_identifier(identifier_id=10) + RestClient(username="a", password="b").publish_identifier( + identifier_id="f6171539-a479-4829-9b9b-a6b474e1c7d3") except ResponseCodeError: pass def test_publish_identifier_anonymous_fails(self): # test try: - RestClient().publish_identifier(identifier_id=10) + RestClient().publish_identifier(identifier_id="f6171539-a479-4829-9b9b-a6b474e1c7d3") except AuthenticationError: pass diff --git a/lib/python/tests/test_unit_query.py b/lib/python/tests/test_unit_query.py index 415a35b86ce3f2e44d517506cf0fe70644ad5659..fb23a3c9491305e6be650c81c1566a985d6c9f04 100644 --- a/lib/python/tests/test_unit_query.py +++ b/lib/python/tests/test_unit_query.py @@ -18,10 +18,11 @@ class QueryUnitTest(unittest.TestCase): exp = [{'id': 1, 'username': 'foo'}, {'id': 2, 'username': 'bar'}] df = DataFrame.from_records(json.dumps(exp)) # mock - mock.post('/api/database/1/subset', json=json.dumps(exp), headers={'X-Id': '1'}, status_code=201) + mock.post('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/subset', json=json.dumps(exp), + headers={'X-Id': '1'}, status_code=201) # test client = RestClient(username="a", password="b") - response = client.create_subset(database_id=1, page=0, size=10, + response = client.create_subset(database_id="6bd39359-b154-456d-b9c2-caa516a45732", page=0, size=10, timestamp=datetime.datetime(2024, 1, 1, 0, 0, 0, 0, datetime.timezone.utc), query="SELECT id, username FROM some_table WHERE id IN (1,2)") self.assertTrue(DataFrame.equals(df, response)) @@ -29,11 +30,11 @@ class QueryUnitTest(unittest.TestCase): def test_create_subset_400_fails(self): with requests_mock.Mocker() as mock: # mock - mock.post('/api/database/1/subset', status_code=400) + mock.post('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/subset', status_code=400) # test try: client = RestClient(username="a", password="b") - client.create_subset(database_id=1, + client.create_subset(database_id="6bd39359-b154-456d-b9c2-caa516a45732", query="SELECT id, username FROM some_table WHERE id IN (1,2)") except MalformedError: pass @@ -41,11 +42,11 @@ class QueryUnitTest(unittest.TestCase): def test_create_subset_403_fails(self): with requests_mock.Mocker() as mock: # mock - mock.post('/api/database/1/subset', status_code=403) + mock.post('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/subset', status_code=403) # test try: client = RestClient(username="a", password="b") - client.create_subset(database_id=1, + client.create_subset(database_id="6bd39359-b154-456d-b9c2-caa516a45732", query="SELECT id, username FROM some_table WHERE id IN (1,2)") except ForbiddenError: pass @@ -53,11 +54,11 @@ class QueryUnitTest(unittest.TestCase): def test_create_subset_404_fails(self): with requests_mock.Mocker() as mock: # mock - mock.post('/api/database/1/subset', status_code=404) + mock.post('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/subset', status_code=404) # test try: client = RestClient(username="a", password="b") - client.create_subset(database_id=1, + client.create_subset(database_id="6bd39359-b154-456d-b9c2-caa516a45732", query="SELECT id, username FROM some_table WHERE id IN (1,2)") except NotExistsError: pass @@ -65,11 +66,11 @@ class QueryUnitTest(unittest.TestCase): def test_create_subset_417_fails(self): with requests_mock.Mocker() as mock: # mock - mock.post('/api/database/1/subset', status_code=417) + mock.post('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/subset', status_code=417) # test try: client = RestClient(username="a", password="b") - client.create_subset(database_id=1, + client.create_subset(database_id="6bd39359-b154-456d-b9c2-caa516a45732", query="SELECT id, username FROM some_table WHERE id IN (1,2)") except QueryStoreError: pass @@ -77,11 +78,11 @@ class QueryUnitTest(unittest.TestCase): def test_create_subset_501_fails(self): with requests_mock.Mocker() as mock: # mock - mock.post('/api/database/1/subset', status_code=501) + mock.post('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/subset', status_code=501) # test try: client = RestClient(username="a", password="b") - client.create_subset(database_id=1, + client.create_subset(database_id="6bd39359-b154-456d-b9c2-caa516a45732", query="SELECT id, username FROM some_table WHERE id IN (1,2)") except FormatNotAvailable: pass @@ -89,11 +90,11 @@ class QueryUnitTest(unittest.TestCase): def test_create_subset_503_fails(self): with requests_mock.Mocker() as mock: # mock - mock.post('/api/database/1/subset', status_code=503) + mock.post('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/subset', status_code=503) # test try: client = RestClient(username="a", password="b") - client.create_subset(database_id=1, + client.create_subset(database_id="6bd39359-b154-456d-b9c2-caa516a45732", query="SELECT id, username FROM some_table WHERE id IN (1,2)") except ServiceError: pass @@ -101,11 +102,11 @@ class QueryUnitTest(unittest.TestCase): def test_create_subset_unknown_fails(self): with requests_mock.Mocker() as mock: # mock - mock.post('/api/database/1/subset', status_code=200) + mock.post('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/subset', status_code=200) # test try: client = RestClient(username="a", password="b") - client.create_subset(database_id=1, + client.create_subset(database_id="6bd39359-b154-456d-b9c2-caa516a45732", query="SELECT id, username FROM some_table WHERE id IN (1,2)") except ResponseCodeError: pass @@ -115,81 +116,94 @@ class QueryUnitTest(unittest.TestCase): exp = [{'id': 1, 'username': 'foo'}, {'id': 2, 'username': 'bar'}] df = DataFrame.from_records(json.dumps(exp)) # mock - mock.post('/api/database/1/subset', json=json.dumps(exp), headers={'X-Id': '1'}, status_code=201) + mock.post('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/subset', json=json.dumps(exp), + headers={'X-Id': '1'}, status_code=201) # test client = RestClient() - response = client.create_subset(database_id=1, page=0, size=10, + response = client.create_subset(database_id="6bd39359-b154-456d-b9c2-caa516a45732", page=0, size=10, query="SELECT id, username FROM some_table WHERE id IN (1,2)") self.assertTrue(DataFrame.equals(df, response)) def test_get_subset_succeeds(self): with requests_mock.Mocker() as mock: - exp = Query(id=6, + exp = Query(id="e1df2bb8-1f12-494a-ade5-2c4aecdab939", owner=UserBrief(id='8638c043-5145-4be8-a3e4-4b79991b0a16', username='mweise'), execution=datetime.datetime(2024, 1, 1, 0, 0, 0, 0, datetime.timezone.utc), query='SELECT id, username FROM some_table WHERE id IN (1,2)', query_normalized='SELECT id, username FROM some_table WHERE id IN (1,2)', type=QueryType.QUERY, - database_id=1, + database_id="6bd39359-b154-456d-b9c2-caa516a45732", query_hash='da5ff66c4a57683171e2ffcec25298ee684680d1e03633cd286f9067d6924ad8', result_hash='464740ba612225913bb15b26f13377707949b55e65288e89c3f8b4c6469aecb4', is_persisted=False, result_number=None, identifiers=[]) # mock - mock.get('/api/database/1/subset/6', json=exp.model_dump()) + mock.get('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/subset/e1df2bb8-1f12-494a-ade5-2c4aecdab939', + json=exp.model_dump()) # test - response = RestClient().get_subset(database_id=1, subset_id=6) + response = RestClient().get_subset(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + subset_id="e1df2bb8-1f12-494a-ade5-2c4aecdab939") self.assertEqual(exp, response) def test_get_subset_403_fails(self): with requests_mock.Mocker() as mock: # mock - mock.get('/api/database/1/subset/6', status_code=403) + mock.get('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/subset/e1df2bb8-1f12-494a-ade5-2c4aecdab939', + status_code=403) # test try: - RestClient().get_subset(database_id=1, subset_id=6) + RestClient().get_subset(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + subset_id="e1df2bb8-1f12-494a-ade5-2c4aecdab939") except ForbiddenError: pass def test_get_subset_404_fails(self): with requests_mock.Mocker() as mock: # mock - mock.get('/api/database/1/subset/6', status_code=404) + mock.get('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/subset/e1df2bb8-1f12-494a-ade5-2c4aecdab939', + status_code=404) # test try: - RestClient().get_subset(database_id=1, subset_id=6) + RestClient().get_subset(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + subset_id="e1df2bb8-1f12-494a-ade5-2c4aecdab939") except NotExistsError: pass def test_get_subset_406_fails(self): with requests_mock.Mocker() as mock: # mock - mock.get('/api/database/1/subset/6', status_code=406) + mock.get('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/subset/e1df2bb8-1f12-494a-ade5-2c4aecdab939', + status_code=406) # test try: - RestClient().get_subset(database_id=1, subset_id=6) + RestClient().get_subset(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + subset_id="e1df2bb8-1f12-494a-ade5-2c4aecdab939") except FormatNotAvailable: pass def test_get_subset_503_fails(self): with requests_mock.Mocker() as mock: # mock - mock.get('/api/database/1/subset/6', status_code=503) + mock.get('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/subset/e1df2bb8-1f12-494a-ade5-2c4aecdab939', + status_code=503) # test try: - RestClient().get_subset(database_id=1, subset_id=6) + RestClient().get_subset(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + subset_id="e1df2bb8-1f12-494a-ade5-2c4aecdab939") except ServiceError: pass def test_get_subset_unknown_fails(self): with requests_mock.Mocker() as mock: # mock - mock.get('/api/database/1/subset/6', status_code=202) + mock.get('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/subset/e1df2bb8-1f12-494a-ade5-2c4aecdab939', + status_code=202) # test try: - RestClient().get_subset(database_id=1, subset_id=6) + RestClient().get_subset(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + subset_id="e1df2bb8-1f12-494a-ade5-2c4aecdab939") except ResponseCodeError: pass @@ -197,156 +211,180 @@ class QueryUnitTest(unittest.TestCase): with requests_mock.Mocker() as mock: exp = [] # mock - mock.get('/api/database/1/subset', json=[]) + mock.get('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/subset', json=[]) # test - response = RestClient().get_queries(database_id=1) + response = RestClient().get_queries(database_id="6bd39359-b154-456d-b9c2-caa516a45732") self.assertEqual(exp, response) def test_update_subset_succeeds(self): with requests_mock.Mocker() as mock: - exp = Query(id=6, + exp = Query(id="e1df2bb8-1f12-494a-ade5-2c4aecdab939", owner=UserBrief(id='8638c043-5145-4be8-a3e4-4b79991b0a16', username='mweise'), execution=datetime.datetime(2024, 1, 1, 0, 0, 0, 0, datetime.timezone.utc), query='SELECT id, username FROM some_table WHERE id IN (1,2)', query_normalized='SELECT id, username FROM some_table WHERE id IN (1,2)', type=QueryType.QUERY, - database_id=1, + database_id="6bd39359-b154-456d-b9c2-caa516a45732", query_hash='da5ff66c4a57683171e2ffcec25298ee684680d1e03633cd286f9067d6924ad8', result_hash='464740ba612225913bb15b26f13377707949b55e65288e89c3f8b4c6469aecb4', is_persisted=True, result_number=None, identifiers=[]) # mock - mock.put('/api/database/1/subset/6', json=exp.model_dump(), status_code=202) + mock.put('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/subset/e1df2bb8-1f12-494a-ade5-2c4aecdab939', + json=exp.model_dump(), + status_code=202) # test - response = RestClient(username='foo', password='bar').update_subset(database_id=1, subset_id=6, - persist=True) + response = RestClient(username='foo', password='bar').update_subset( + database_id="6bd39359-b154-456d-b9c2-caa516a45732", subset_id="e1df2bb8-1f12-494a-ade5-2c4aecdab939", + persist=True) self.assertEqual(exp, response) def test_update_subset_400_fails(self): with requests_mock.Mocker() as mock: # mock - mock.put('/api/database/1/subset/6', status_code=400) + mock.put('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/subset/e1df2bb8-1f12-494a-ade5-2c4aecdab939', + status_code=400) # test try: - RestClient(username='foo', password='bar').update_subset(database_id=1, subset_id=6, persist=True) + RestClient(username='foo', password='bar').update_subset( + database_id="6bd39359-b154-456d-b9c2-caa516a45732", + subset_id="e1df2bb8-1f12-494a-ade5-2c4aecdab939", persist=True) except MalformedError: pass def test_update_subset_403_fails(self): with requests_mock.Mocker() as mock: # mock - mock.put('/api/database/1/subset/6', status_code=403) + mock.put('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/subset/e1df2bb8-1f12-494a-ade5-2c4aecdab939', + status_code=403) # test try: - RestClient(username='foo', password='bar').update_subset(database_id=1, subset_id=6, persist=True) + RestClient(username='foo', password='bar').update_subset( + database_id="6bd39359-b154-456d-b9c2-caa516a45732", + subset_id="e1df2bb8-1f12-494a-ade5-2c4aecdab939", persist=True) except ForbiddenError: pass def test_update_subset_404_fails(self): with requests_mock.Mocker() as mock: # mock - mock.put('/api/database/1/subset/6', status_code=404) + mock.put('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/subset/e1df2bb8-1f12-494a-ade5-2c4aecdab939', + status_code=404) # test try: - RestClient(username='foo', password='bar').update_subset(database_id=1, subset_id=6, persist=True) + RestClient(username='foo', password='bar').update_subset( + database_id="6bd39359-b154-456d-b9c2-caa516a45732", + subset_id="e1df2bb8-1f12-494a-ade5-2c4aecdab939", persist=True) except NotExistsError: pass def test_update_subset_417_fails(self): with requests_mock.Mocker() as mock: # mock - mock.put('/api/database/1/subset/6', status_code=417) + mock.put('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/subset/e1df2bb8-1f12-494a-ade5-2c4aecdab939', + status_code=417) # test try: - RestClient(username='foo', password='bar').update_subset(database_id=1, subset_id=6, persist=True) + RestClient(username='foo', password='bar').update_subset( + database_id="6bd39359-b154-456d-b9c2-caa516a45732", + subset_id="e1df2bb8-1f12-494a-ade5-2c4aecdab939", persist=True) except QueryStoreError: pass def test_update_subset_503_fails(self): with requests_mock.Mocker() as mock: # mock - mock.put('/api/database/1/subset/6', status_code=503) + mock.put('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/subset/e1df2bb8-1f12-494a-ade5-2c4aecdab939', + status_code=503) # test try: - RestClient(username='foo', password='bar').update_subset(database_id=1, subset_id=6, persist=True) + RestClient(username='foo', password='bar').update_subset( + database_id="6bd39359-b154-456d-b9c2-caa516a45732", + subset_id="e1df2bb8-1f12-494a-ade5-2c4aecdab939", persist=True) except ServiceError: pass def test_update_subset_unknown_fails(self): with requests_mock.Mocker() as mock: # mock - mock.put('/api/database/1/subset/6', status_code=200) + mock.put('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/subset/e1df2bb8-1f12-494a-ade5-2c4aecdab939', + status_code=200) # test try: - RestClient(username='foo', password='bar').update_subset(database_id=1, subset_id=6, persist=True) + RestClient(username='foo', password='bar').update_subset( + database_id="6bd39359-b154-456d-b9c2-caa516a45732", + subset_id="e1df2bb8-1f12-494a-ade5-2c4aecdab939", + persist=True) except ResponseCodeError: pass def test_update_subset_anonymous_fails(self): # test try: - RestClient().update_subset(database_id=1, subset_id=6, persist=True) + RestClient().update_subset(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + subset_id="e1df2bb8-1f12-494a-ade5-2c4aecdab939", + persist=True) except AuthenticationError: pass def test_get_queries_succeeds(self): with requests_mock.Mocker() as mock: - exp = [Query(id=6, + exp = [Query(id="e1df2bb8-1f12-494a-ade5-2c4aecdab939", owner=UserBrief(id='8638c043-5145-4be8-a3e4-4b79991b0a16', username='mweise'), execution=datetime.datetime(2024, 1, 1, 0, 0, 0, 0, datetime.timezone.utc), query='SELECT id, username FROM some_table WHERE id IN (1,2)', query_normalized='SELECT id, username FROM some_table WHERE id IN (1,2)', type=QueryType.QUERY, - database_id=1, + database_id="6bd39359-b154-456d-b9c2-caa516a45732", query_hash='da5ff66c4a57683171e2ffcec25298ee684680d1e03633cd286f9067d6924ad8', result_hash='464740ba612225913bb15b26f13377707949b55e65288e89c3f8b4c6469aecb4', is_persisted=False, result_number=None, identifiers=[])] # mock - mock.get('/api/database/1/subset', json=[exp[0].model_dump()]) + mock.get('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/subset', json=[exp[0].model_dump()]) # test - response = RestClient().get_queries(database_id=1) + response = RestClient().get_queries(database_id="6bd39359-b154-456d-b9c2-caa516a45732") self.assertEqual(exp, response) def test_get_queries_403_fails(self): with requests_mock.Mocker() as mock: # mock - mock.get('/api/database/1/subset', status_code=403) + mock.get('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/subset', status_code=403) # test try: - RestClient().get_queries(database_id=1) + RestClient().get_queries(database_id="6bd39359-b154-456d-b9c2-caa516a45732") except ForbiddenError: pass def test_get_queries_404_fails(self): with requests_mock.Mocker() as mock: # mock - mock.get('/api/database/1/subset', status_code=404) + mock.get('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/subset', status_code=404) # test try: - RestClient().get_queries(database_id=1) + RestClient().get_queries(database_id="6bd39359-b154-456d-b9c2-caa516a45732") except NotExistsError: pass def test_get_queries_503_fails(self): with requests_mock.Mocker() as mock: # mock - mock.get('/api/database/1/subset', status_code=503) + mock.get('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/subset', status_code=503) # test try: - RestClient().get_queries(database_id=1) + RestClient().get_queries(database_id="6bd39359-b154-456d-b9c2-caa516a45732") except ServiceError: pass def test_get_queries_unknown_fails(self): with requests_mock.Mocker() as mock: # mock - mock.get('/api/database/1/subset', status_code=202) + mock.get('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/subset', status_code=202) # test try: - RestClient().get_queries(database_id=1) + RestClient().get_queries(database_id="6bd39359-b154-456d-b9c2-caa516a45732") except ResponseCodeError: pass @@ -355,9 +393,12 @@ class QueryUnitTest(unittest.TestCase): exp = [{'id': 1, 'username': 'foo'}, {'id': 2, 'username': 'bar'}] df = DataFrame.from_records(json.dumps(exp)) # mock - mock.get('/api/database/1/subset/6/data', json=json.dumps(exp)) + mock.get( + '/api/database/6bd39359-b154-456d-b9c2-caa516a45732/subset/e1df2bb8-1f12-494a-ade5-2c4aecdab939/data', + json=json.dumps(exp)) # test - response = RestClient().get_subset_data(database_id=1, subset_id=6) + response = RestClient().get_subset_data(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + subset_id="e1df2bb8-1f12-494a-ade5-2c4aecdab939") self.assertTrue(DataFrame.equals(df, response)) def test_get_subset_data_dataframe_succeeds(self): @@ -365,59 +406,77 @@ class QueryUnitTest(unittest.TestCase): exp = [{'id': 1, 'username': 'foo'}, {'id': 2, 'username': 'bar'}] df = DataFrame.from_records(json.dumps(exp)) # mock - mock.get('/api/database/1/subset/6/data', json=json.dumps(exp)) + mock.get( + '/api/database/6bd39359-b154-456d-b9c2-caa516a45732/subset/e1df2bb8-1f12-494a-ade5-2c4aecdab939/data', + json=json.dumps(exp)) # test - response = RestClient().get_subset_data(database_id=1, subset_id=6) + response = RestClient().get_subset_data(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + subset_id="e1df2bb8-1f12-494a-ade5-2c4aecdab939") self.assertEqual(df.shape, response.shape) self.assertTrue(DataFrame.equals(df, response)) def test_get_subset_data_400_fails(self): with requests_mock.Mocker() as mock: # mock - mock.get('/api/database/1/subset/6/data', status_code=400) + mock.get( + '/api/database/6bd39359-b154-456d-b9c2-caa516a45732/subset/e1df2bb8-1f12-494a-ade5-2c4aecdab939/data', + status_code=400) # test try: - RestClient().get_subset_data(database_id=1, subset_id=6) + RestClient().get_subset_data(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + subset_id="e1df2bb8-1f12-494a-ade5-2c4aecdab939") except MalformedError: pass def test_get_subset_data_403_fails(self): with requests_mock.Mocker() as mock: # mock - mock.get('/api/database/1/subset/6/data', status_code=403) + mock.get( + '/api/database/6bd39359-b154-456d-b9c2-caa516a45732/subset/e1df2bb8-1f12-494a-ade5-2c4aecdab939/data', + status_code=403) # test try: - RestClient().get_subset_data(database_id=1, subset_id=6) + RestClient().get_subset_data(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + subset_id="e1df2bb8-1f12-494a-ade5-2c4aecdab939") except ForbiddenError: pass def test_get_subset_data_404_fails(self): with requests_mock.Mocker() as mock: # mock - mock.get('/api/database/1/subset/6/data', status_code=404) + mock.get( + '/api/database/6bd39359-b154-456d-b9c2-caa516a45732/subset/e1df2bb8-1f12-494a-ade5-2c4aecdab939/data', + status_code=404) # test try: - RestClient().get_subset_data(database_id=1, subset_id=6) + RestClient().get_subset_data(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + subset_id="e1df2bb8-1f12-494a-ade5-2c4aecdab939") except NotExistsError: pass def test_get_subset_data_503_fails(self): with requests_mock.Mocker() as mock: # mock - mock.get('/api/database/1/subset/6/data', status_code=503) + mock.get( + '/api/database/6bd39359-b154-456d-b9c2-caa516a45732/subset/e1df2bb8-1f12-494a-ade5-2c4aecdab939/data', + status_code=503) # test try: - RestClient().get_subset_data(database_id=1, subset_id=6) + RestClient().get_subset_data(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + subset_id="e1df2bb8-1f12-494a-ade5-2c4aecdab939") except ServiceError: pass def test_get_subset_data_unknown_fails(self): with requests_mock.Mocker() as mock: # mock - mock.get('/api/database/1/subset/6/data', status_code=202) + mock.get( + '/api/database/6bd39359-b154-456d-b9c2-caa516a45732/subset/e1df2bb8-1f12-494a-ade5-2c4aecdab939/data', + status_code=202) # test try: - RestClient().get_subset_data(database_id=1, subset_id=6) + RestClient().get_subset_data(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + subset_id="e1df2bb8-1f12-494a-ade5-2c4aecdab939") except ResponseCodeError: pass @@ -425,58 +484,76 @@ class QueryUnitTest(unittest.TestCase): with requests_mock.Mocker() as mock: exp = 2 # mock - mock.head('/api/database/1/subset/6/data', headers={'X-Count': str(exp)}) + mock.head( + '/api/database/6bd39359-b154-456d-b9c2-caa516a45732/subset/e1df2bb8-1f12-494a-ade5-2c4aecdab939/data', + headers={'X-Count': str(exp)}) # test - response = RestClient().get_subset_data_count(database_id=1, subset_id=6) + response = RestClient().get_subset_data_count(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + subset_id="e1df2bb8-1f12-494a-ade5-2c4aecdab939") self.assertEqual(exp, response) def test_get_subset_data_count_400_fails(self): with requests_mock.Mocker() as mock: # mock - mock.head('/api/database/1/subset/6/data', status_code=400) + mock.head( + '/api/database/6bd39359-b154-456d-b9c2-caa516a45732/subset/e1df2bb8-1f12-494a-ade5-2c4aecdab939/data', + status_code=400) # test try: - RestClient().get_subset_data_count(database_id=1, subset_id=6) + RestClient().get_subset_data_count(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + subset_id="e1df2bb8-1f12-494a-ade5-2c4aecdab939") except MalformedError: pass def test_get_subset_data_count_403_fails(self): with requests_mock.Mocker() as mock: # mock - mock.head('/api/database/1/subset/6/data', status_code=403) + mock.head( + '/api/database/6bd39359-b154-456d-b9c2-caa516a45732/subset/e1df2bb8-1f12-494a-ade5-2c4aecdab939/data', + status_code=403) # test try: - RestClient().get_subset_data_count(database_id=1, subset_id=6) + RestClient().get_subset_data_count(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + subset_id="e1df2bb8-1f12-494a-ade5-2c4aecdab939") except ForbiddenError: pass def test_get_subset_data_count_404_fails(self): with requests_mock.Mocker() as mock: # mock - mock.head('/api/database/1/subset/6/data', status_code=404) + mock.head( + '/api/database/6bd39359-b154-456d-b9c2-caa516a45732/subset/e1df2bb8-1f12-494a-ade5-2c4aecdab939/data', + status_code=404) # test try: - RestClient().get_subset_data_count(database_id=1, subset_id=6) + RestClient().get_subset_data_count(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + subset_id="e1df2bb8-1f12-494a-ade5-2c4aecdab939") except NotExistsError: pass def test_get_subset_data_count_503_fails(self): with requests_mock.Mocker() as mock: # mock - mock.head('/api/database/1/subset/6/data', status_code=503) + mock.head( + '/api/database/6bd39359-b154-456d-b9c2-caa516a45732/subset/e1df2bb8-1f12-494a-ade5-2c4aecdab939/data', + status_code=503) # test try: - RestClient().get_subset_data_count(database_id=1, subset_id=6) + RestClient().get_subset_data_count(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + subset_id="e1df2bb8-1f12-494a-ade5-2c4aecdab939") except ServiceError: pass def test_get_subset_data_count_unknown_fails(self): with requests_mock.Mocker() as mock: # mock - mock.head('/api/database/1/subset/6/data', status_code=202) + mock.head( + '/api/database/6bd39359-b154-456d-b9c2-caa516a45732/subset/e1df2bb8-1f12-494a-ade5-2c4aecdab939/data', + status_code=202) # test try: - RestClient().get_subset_data_count(database_id=1, subset_id=6) + RestClient().get_subset_data_count(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + subset_id="e1df2bb8-1f12-494a-ade5-2c4aecdab939") except ResponseCodeError: pass diff --git a/lib/python/tests/test_unit_table.py b/lib/python/tests/test_unit_table.py index 3518439b8c4166d9fe2b891b095ca7086ddef7c2..a5632f4237f2ab9a34b111e5168cebe7fc084ef6 100644 --- a/lib/python/tests/test_unit_table.py +++ b/lib/python/tests/test_unit_table.py @@ -15,8 +15,8 @@ from dbrepo.api.exceptions import MalformedError, ForbiddenError, NotExistsError class TableUnitTest(unittest.TestCase): def test_create_table_succeeds(self): - exp = TableBrief(id=2, - database_id=1, + exp = TableBrief(id="029d773f-f98b-40c0-ab22-b8b1635d4fbc", + database_id="6bd39359-b154-456d-b9c2-caa516a45732", name="Test", description="Test Table", internal_name="test", @@ -26,10 +26,12 @@ class TableUnitTest(unittest.TestCase): is_schema_public=True) with requests_mock.Mocker() as mock: # mock - mock.post('/api/database/1/table', json=exp.model_dump(), status_code=201) + mock.post('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/table', json=exp.model_dump(), + status_code=201) # test client = RestClient(username="a", password="b") - response = client.create_table(database_id=1, name="Test", description="Test Table", columns=[], + response = client.create_table(database_id="6bd39359-b154-456d-b9c2-caa516a45732", name="Test", + description="Test Table", columns=[], is_public=True, is_schema_public=True, constraints=CreateTableConstraints()) self.assertEqual(exp, response) @@ -37,11 +39,12 @@ class TableUnitTest(unittest.TestCase): def test_create_table_400_fails(self): with requests_mock.Mocker() as mock: # mock - mock.post('/api/database/1/table', status_code=400) + mock.post('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/table', status_code=400) # test try: client = RestClient(username="a", password="b") - response = client.create_table(database_id=1, name="Test", description="Test Table", columns=[], + response = client.create_table(database_id="6bd39359-b154-456d-b9c2-caa516a45732", name="Test", + description="Test Table", columns=[], is_public=True, is_schema_public=True, constraints=CreateTableConstraints()) except MalformedError: @@ -50,10 +53,11 @@ class TableUnitTest(unittest.TestCase): def test_create_table_403_fails(self): with requests_mock.Mocker() as mock: # mock - mock.post('/api/database/1/table', status_code=403) + mock.post('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/table', status_code=403) # test try: - RestClient(username="a", password="b").create_table(database_id=1, name="Test", + RestClient(username="a", password="b").create_table(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + name="Test", description="Test Table", columns=[], is_public=True, is_schema_public=True, constraints=CreateTableConstraints()) @@ -63,11 +67,12 @@ class TableUnitTest(unittest.TestCase): def test_create_table_404_fails(self): with requests_mock.Mocker() as mock: # mock - mock.post('/api/database/1/table', status_code=404) + mock.post('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/table', status_code=404) # test try: client = RestClient(username="a", password="b") - response = client.create_table(database_id=1, name="Test", description="Test Table", columns=[], + response = client.create_table(database_id="6bd39359-b154-456d-b9c2-caa516a45732", name="Test", + description="Test Table", columns=[], is_public=True, is_schema_public=True, constraints=CreateTableConstraints()) except NotExistsError: @@ -76,11 +81,12 @@ class TableUnitTest(unittest.TestCase): def test_create_table_409_fails(self): with requests_mock.Mocker() as mock: # mock - mock.post('/api/database/1/table', status_code=409) + mock.post('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/table', status_code=409) # test try: client = RestClient(username="a", password="b") - response = client.create_table(database_id=1, name="Test", description="Test Table", columns=[], + response = client.create_table(database_id="6bd39359-b154-456d-b9c2-caa516a45732", name="Test", + description="Test Table", columns=[], is_public=True, is_schema_public=True, constraints=CreateTableConstraints()) except NameExistsError: @@ -89,11 +95,12 @@ class TableUnitTest(unittest.TestCase): def test_create_table_502_fails(self): with requests_mock.Mocker() as mock: # mock - mock.post('/api/database/1/table', status_code=502) + mock.post('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/table', status_code=502) # test try: client = RestClient(username="a", password="b") - response = client.create_table(database_id=1, name="Test", description="Test Table", columns=[], + response = client.create_table(database_id="6bd39359-b154-456d-b9c2-caa516a45732", name="Test", + description="Test Table", columns=[], is_public=True, is_schema_public=True, constraints=CreateTableConstraints()) except ServiceConnectionError: @@ -102,11 +109,12 @@ class TableUnitTest(unittest.TestCase): def test_create_table_503_fails(self): with requests_mock.Mocker() as mock: # mock - mock.post('/api/database/1/table', status_code=503) + mock.post('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/table', status_code=503) # test try: client = RestClient(username="a", password="b") - response = client.create_table(database_id=1, name="Test", description="Test Table", columns=[], + response = client.create_table(database_id="6bd39359-b154-456d-b9c2-caa516a45732", name="Test", + description="Test Table", columns=[], is_public=True, is_schema_public=True, constraints=CreateTableConstraints()) except ServiceError: @@ -115,11 +123,12 @@ class TableUnitTest(unittest.TestCase): def test_create_table_unknown_fails(self): with requests_mock.Mocker() as mock: # mock - mock.post('/api/database/1/table', status_code=200) + mock.post('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/table', status_code=200) # test try: client = RestClient(username="a", password="b") - response = client.create_table(database_id=1, name="Test", description="Test Table", columns=[], + response = client.create_table(database_id="6bd39359-b154-456d-b9c2-caa516a45732", name="Test", + description="Test Table", columns=[], is_public=True, is_schema_public=True, constraints=CreateTableConstraints()) except ResponseCodeError: @@ -128,10 +137,11 @@ class TableUnitTest(unittest.TestCase): def test_create_table_anonymous_fails(self): with requests_mock.Mocker() as mock: # mock - mock.post('/api/database/1/table', status_code=409) + mock.post('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/table', status_code=409) # test try: - response = RestClient().create_table(database_id=1, name="Test", description="Test Table", columns=[], + response = RestClient().create_table(database_id="6bd39359-b154-456d-b9c2-caa516a45732", name="Test", + description="Test Table", columns=[], is_public=True, is_schema_public=True, constraints=CreateTableConstraints()) except AuthenticationError: @@ -140,64 +150,64 @@ class TableUnitTest(unittest.TestCase): def test_get_tables_empty_succeeds(self): with requests_mock.Mocker() as mock: # mock - mock.get('/api/database/1/table', json=[]) + mock.get('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/table', json=[]) # test - response = RestClient().get_tables(database_id=1) + response = RestClient().get_tables(database_id="6bd39359-b154-456d-b9c2-caa516a45732") self.assertEqual([], response) def test_get_tables_succeeds(self): with requests_mock.Mocker() as mock: - exp = [TableBrief(id=2, + exp = [TableBrief(id="029d773f-f98b-40c0-ab22-b8b1635d4fbc", name="Test", description="Test Table", - database_id=1, + database_id="6bd39359-b154-456d-b9c2-caa516a45732", internal_name="test", is_public=True, is_schema_public=True, owned_by='8638c043-5145-4be8-a3e4-4b79991b0a16', is_versioned=True)] # mock - mock.get('/api/database/1/table', json=[exp[0].model_dump()]) + mock.get('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/table', json=[exp[0].model_dump()]) # test - response = RestClient().get_tables(database_id=1) + response = RestClient().get_tables(database_id="6bd39359-b154-456d-b9c2-caa516a45732") self.assertEqual(exp, response) def test_get_tables_403_fails(self): with requests_mock.Mocker() as mock: # mock - mock.get('/api/database/1/table', status_code=403) + mock.get('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/table', status_code=403) # test try: - RestClient().get_tables(database_id=1) + RestClient().get_tables(database_id="6bd39359-b154-456d-b9c2-caa516a45732") except ForbiddenError: pass def test_get_tables_404_fails(self): with requests_mock.Mocker() as mock: # mock - mock.get('/api/database/1/table', status_code=404) + mock.get('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/table', status_code=404) # test try: - RestClient().get_tables(database_id=1) + RestClient().get_tables(database_id="6bd39359-b154-456d-b9c2-caa516a45732") except NotExistsError: pass def test_get_tables_unknown_fails(self): with requests_mock.Mocker() as mock: # mock - mock.get('/api/database/1/table', status_code=202) + mock.get('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/table', status_code=202) # test try: - RestClient().get_tables(database_id=1) + RestClient().get_tables(database_id="6bd39359-b154-456d-b9c2-caa516a45732") except ResponseCodeError: pass def test_get_table_succeeds(self): with requests_mock.Mocker() as mock: - exp = Table(id=2, + exp = Table(id="029d773f-f98b-40c0-ab22-b8b1635d4fbc", name="Test", description="Test Table", - database_id=1, + database_id="6bd39359-b154-456d-b9c2-caa516a45732", internal_name="test", owner=UserBrief(id='8638c043-5145-4be8-a3e4-4b79991b0a16', username='mweise'), is_versioned=True, @@ -208,146 +218,174 @@ class TableUnitTest(unittest.TestCase): constraints=Constraints(uniques=[], foreign_keys=[], checks=[], - primary_key=[PrimaryKey(id=1, - table=TableBrief(id=2, database_id=1, - name='Other', - internal_name='other', - description=None, - is_versioned=True, - is_public=True, - is_schema_public=True, - owned_by='8638c043-5145-4be8-a3e4-4b79991b0a16'), - column=ColumnBrief(id=1, table_id=2, - database_id=1, - name='id', - alias=None, - internal_name='id', - type=ColumnType.BIGINT))]), - columns=[Column(id=1, + primary_key=[PrimaryKey(id="1516310f-ecb5-4614-abe2-3b96114e1484", + table=TableBrief( + id="029d773f-f98b-40c0-ab22-b8b1635d4fbc", + database_id="6bd39359-b154-456d-b9c2-caa516a45732", + name='Other', + internal_name='other', + description=None, + is_versioned=True, + is_public=True, + is_schema_public=True, + owned_by='8638c043-5145-4be8-a3e4-4b79991b0a16'), + column=ColumnBrief( + id="31a533b6-8ddf-43d6-ac6a-b9da597cb976", + table_id="", + database_id="6bd39359-b154-456d-b9c2-caa516a45732", + name='id', + alias=None, + internal_name='id', + type=ColumnType.BIGINT))]), + columns=[Column(id="31a533b6-8ddf-43d6-ac6a-b9da597cb976", name="ID", ord=0, - database_id=1, - table_id=2, + database_id="6bd39359-b154-456d-b9c2-caa516a45732", + table_id="029d773f-f98b-40c0-ab22-b8b1635d4fbc", internal_name="id", type=ColumnType.BIGINT, is_null_allowed=False)]) # mock - mock.get('/api/database/1/table/2', json=exp.model_dump()) + mock.get('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/table/b3230b86-4743-498d-9015-3fad58049692', + json=exp.model_dump()) # test - response = RestClient().get_table(database_id=1, table_id=2) + response = RestClient().get_table(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + table_id="b3230b86-4743-498d-9015-3fad58049692") self.assertEqual(exp, response) def test_get_table_403_fails(self): with requests_mock.Mocker() as mock: # mock - mock.get('/api/database/1/table/2', status_code=403) + mock.get('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/table/b3230b86-4743-498d-9015-3fad58049692', + status_code=403) # test try: - response = RestClient().get_table(database_id=1, table_id=2) + response = RestClient().get_table(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + table_id="b3230b86-4743-498d-9015-3fad58049692") except ForbiddenError: pass def test_get_table_404_fails(self): with requests_mock.Mocker() as mock: # mock - mock.get('/api/database/1/table/2', status_code=404) + mock.get('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/table/b3230b86-4743-498d-9015-3fad58049692', + status_code=404) # test try: - response = RestClient().get_table(database_id=1, table_id=2) + response = RestClient().get_table(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + table_id="b3230b86-4743-498d-9015-3fad58049692") except NotExistsError: pass def test_get_table_unknown_fails(self): with requests_mock.Mocker() as mock: # mock - mock.get('/api/database/1/table/2', status_code=202) + mock.get('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/table/b3230b86-4743-498d-9015-3fad58049692', + status_code=202) # test try: - response = RestClient().get_table(database_id=1, table_id=2) + response = RestClient().get_table(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + table_id="b3230b86-4743-498d-9015-3fad58049692") except ResponseCodeError: pass def test_delete_table_succeeds(self): with requests_mock.Mocker() as mock: # mock - mock.delete('/api/database/1/table/2', status_code=202) + mock.delete('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/table/b3230b86-4743-498d-9015-3fad58049692', + status_code=202) # test client = RestClient(username="a", password="b") - client.delete_table(database_id=1, table_id=2) + client.delete_table(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + table_id="b3230b86-4743-498d-9015-3fad58049692") def test_delete_table_400_fails(self): with requests_mock.Mocker() as mock: # mock - mock.delete('/api/database/1/table/2', status_code=400) + mock.delete('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/table/b3230b86-4743-498d-9015-3fad58049692', + status_code=400) # test try: client = RestClient(username="a", password="b") - client.delete_table(database_id=1, table_id=2) + client.delete_table(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + table_id="b3230b86-4743-498d-9015-3fad58049692") except MalformedError: pass def test_delete_table_403_fails(self): with requests_mock.Mocker() as mock: # mock - mock.delete('/api/database/1/table/2', status_code=403) + mock.delete('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/table/b3230b86-4743-498d-9015-3fad58049692', + status_code=403) # test try: client = RestClient(username="a", password="b") - client.delete_table(database_id=1, table_id=2) + client.delete_table(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + table_id="b3230b86-4743-498d-9015-3fad58049692") except ForbiddenError: pass def test_delete_table_404_fails(self): with requests_mock.Mocker() as mock: # mock - mock.delete('/api/database/1/table/2', status_code=404) + mock.delete('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/table/b3230b86-4743-498d-9015-3fad58049692', + status_code=404) # test try: client = RestClient(username="a", password="b") - client.delete_table(database_id=1, table_id=2) + client.delete_table(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + table_id="b3230b86-4743-498d-9015-3fad58049692") except NotExistsError: pass def test_delete_table_502_fails(self): with requests_mock.Mocker() as mock: # mock - mock.delete('/api/database/1/table/2', status_code=502) + mock.delete('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/table/b3230b86-4743-498d-9015-3fad58049692', + status_code=502) # test try: client = RestClient(username="a", password="b") - client.delete_table(database_id=1, table_id=2) + client.delete_table(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + table_id="b3230b86-4743-498d-9015-3fad58049692") except ServiceConnectionError: pass def test_delete_table_503_fails(self): with requests_mock.Mocker() as mock: # mock - mock.delete('/api/database/1/table/2', status_code=503) + mock.delete('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/table/b3230b86-4743-498d-9015-3fad58049692', + status_code=503) # test try: client = RestClient(username="a", password="b") - client.delete_table(database_id=1, table_id=2) + client.delete_table(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + table_id="b3230b86-4743-498d-9015-3fad58049692") except ServiceError: pass def test_delete_table_unknown_fails(self): with requests_mock.Mocker() as mock: # mock - mock.delete('/api/database/1/table/2', status_code=200) + mock.delete('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/table/b3230b86-4743-498d-9015-3fad58049692', + status_code=200) # test try: client = RestClient(username="a", password="b") - client.delete_table(database_id=1, table_id=2) + client.delete_table(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + table_id="b3230b86-4743-498d-9015-3fad58049692") except ResponseCodeError: pass def test_delete_table_anonymous_fails(self): with requests_mock.Mocker() as mock: # mock - mock.delete('/api/database/1/table/2', status_code=404) + mock.delete('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/table/b3230b86-4743-498d-9015-3fad58049692', + status_code=404) # test try: - RestClient().delete_table(database_id=1, table_id=2) + RestClient().delete_table(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + table_id="b3230b86-4743-498d-9015-3fad58049692") except AuthenticationError: pass @@ -357,58 +395,76 @@ class TableUnitTest(unittest.TestCase): total=2, timestamp=datetime.datetime(2024, 1, 1, 0, 0, 0, 0, datetime.timezone.utc))] # mock - mock.get('/api/database/1/table/9/history?size=100', json=[exp[0].model_dump()]) + mock.get( + '/api/database/6bd39359-b154-456d-b9c2-caa516a45732/table/b3230b86-4743-498d-9015-3fad58049692/history?size=100', + json=[exp[0].model_dump()]) # test - response = RestClient().get_table_history(database_id=1, table_id=9) + response = RestClient().get_table_history(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + table_id="b3230b86-4743-498d-9015-3fad58049692") self.assertEqual(exp, response) def test_get_table_history_400_fails(self): with requests_mock.Mocker() as mock: # mock - mock.get('/api/database/1/table/9/history?size=100', status_code=400) + mock.get( + '/api/database/6bd39359-b154-456d-b9c2-caa516a45732/table/b3230b86-4743-498d-9015-3fad58049692/history?size=100', + status_code=400) # test try: - RestClient().get_table_history(database_id=1, table_id=9) + RestClient().get_table_history(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + table_id="b3230b86-4743-498d-9015-3fad58049692") except MalformedError: pass def test_get_table_history_403_fails(self): with requests_mock.Mocker() as mock: # mock - mock.get('/api/database/1/table/9/history?size=100', status_code=403) + mock.get( + '/api/database/6bd39359-b154-456d-b9c2-caa516a45732/table/b3230b86-4743-498d-9015-3fad58049692/history?size=100', + status_code=403) # test try: - RestClient().get_table_history(database_id=1, table_id=9) + RestClient().get_table_history(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + table_id="b3230b86-4743-498d-9015-3fad58049692") except ForbiddenError: pass def test_get_table_history_404_fails(self): with requests_mock.Mocker() as mock: # mock - mock.get('/api/database/1/table/9/history?size=100', status_code=404) + mock.get( + '/api/database/6bd39359-b154-456d-b9c2-caa516a45732/table/b3230b86-4743-498d-9015-3fad58049692/history?size=100', + status_code=404) # test try: - RestClient().get_table_history(database_id=1, table_id=9) + RestClient().get_table_history(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + table_id="b3230b86-4743-498d-9015-3fad58049692") except NotExistsError: pass def test_get_table_history_503_fails(self): with requests_mock.Mocker() as mock: # mock - mock.get('/api/database/1/table/9/history?size=100', status_code=503) + mock.get( + '/api/database/6bd39359-b154-456d-b9c2-caa516a45732/table/b3230b86-4743-498d-9015-3fad58049692/history?size=100', + status_code=503) # test try: - RestClient().get_table_history(database_id=1, table_id=9) + RestClient().get_table_history(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + table_id="b3230b86-4743-498d-9015-3fad58049692") except ServiceError: pass def test_get_table_history_unknown_fails(self): with requests_mock.Mocker() as mock: # mock - mock.get('/api/database/1/table/9/history?size=100', status_code=202) + mock.get( + '/api/database/6bd39359-b154-456d-b9c2-caa516a45732/table/b3230b86-4743-498d-9015-3fad58049692/history?size=100', + status_code=202) # test try: - RestClient().get_table_history(database_id=1, table_id=9) + RestClient().get_table_history(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + table_id="b3230b86-4743-498d-9015-3fad58049692") except ResponseCodeError: pass @@ -417,9 +473,12 @@ class TableUnitTest(unittest.TestCase): exp = [{'id': 1, 'username': 'foo'}, {'id': 2, 'username': 'bar'}] df = DataFrame.from_records(json.dumps(exp)) # mock - mock.get('/api/database/1/table/9/data', json=json.dumps(exp)) + mock.get( + '/api/database/6bd39359-b154-456d-b9c2-caa516a45732/table/b3230b86-4743-498d-9015-3fad58049692/data', + json=json.dumps(exp)) # test - response = RestClient().get_table_data(database_id=1, table_id=9, + response = RestClient().get_table_data(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + table_id="b3230b86-4743-498d-9015-3fad58049692", timestamp=datetime.datetime(2024, 1, 1, 0, 0, 0, 0, datetime.timezone.utc)) self.assertTrue(DataFrame.equals(df, response)) @@ -429,59 +488,77 @@ class TableUnitTest(unittest.TestCase): exp = [{'id': 1, 'username': 'foo'}, {'id': 2, 'username': 'bar'}] df = DataFrame.from_records(json.dumps(exp)) # mock - mock.get('/api/database/1/table/9/data', json=json.dumps(exp)) + mock.get( + '/api/database/6bd39359-b154-456d-b9c2-caa516a45732/table/b3230b86-4743-498d-9015-3fad58049692/data', + json=json.dumps(exp)) # test - response = RestClient().get_table_data(database_id=1, table_id=9) + response = RestClient().get_table_data(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + table_id="b3230b86-4743-498d-9015-3fad58049692") self.assertEqual(df.shape, response.shape) self.assertTrue(DataFrame.equals(df, response)) def test_get_table_data_400_fails(self): with requests_mock.Mocker() as mock: # mock - mock.get('/api/database/1/table/9/data', status_code=400) + mock.get( + '/api/database/6bd39359-b154-456d-b9c2-caa516a45732/table/b3230b86-4743-498d-9015-3fad58049692/data', + status_code=400) # test try: - response = RestClient().get_table_data(database_id=1, table_id=9) + response = RestClient().get_table_data(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + table_id="b3230b86-4743-498d-9015-3fad58049692") except MalformedError: pass def test_get_table_data_403_fails(self): with requests_mock.Mocker() as mock: # mock - mock.get('/api/database/1/table/9/data', status_code=403) + mock.get( + '/api/database/6bd39359-b154-456d-b9c2-caa516a45732/table/b3230b86-4743-498d-9015-3fad58049692/data', + status_code=403) # test try: - response = RestClient().get_table_data(database_id=1, table_id=9) + response = RestClient().get_table_data(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + table_id="b3230b86-4743-498d-9015-3fad58049692") except ForbiddenError: pass def test_get_table_data_404_fails(self): with requests_mock.Mocker() as mock: # mock - mock.get('/api/database/1/table/9/data', status_code=404) + mock.get( + '/api/database/6bd39359-b154-456d-b9c2-caa516a45732/table/b3230b86-4743-498d-9015-3fad58049692/data', + status_code=404) # test try: - response = RestClient().get_table_data(database_id=1, table_id=9) + response = RestClient().get_table_data(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + table_id="b3230b86-4743-498d-9015-3fad58049692") except NotExistsError: pass def test_get_table_data_503_fails(self): with requests_mock.Mocker() as mock: # mock - mock.get('/api/database/1/table/9/data', status_code=503) + mock.get( + '/api/database/6bd39359-b154-456d-b9c2-caa516a45732/table/b3230b86-4743-498d-9015-3fad58049692/data', + status_code=503) # test try: - response = RestClient().get_table_data(database_id=1, table_id=9) + response = RestClient().get_table_data(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + table_id="b3230b86-4743-498d-9015-3fad58049692") except ServiceError: pass def test_get_table_data_unknown_fails(self): with requests_mock.Mocker() as mock: # mock - mock.get('/api/database/1/table/9/data', status_code=202) + mock.get( + '/api/database/6bd39359-b154-456d-b9c2-caa516a45732/table/b3230b86-4743-498d-9015-3fad58049692/data', + status_code=202) # test try: - response = RestClient().get_table_data(database_id=1, table_id=9) + response = RestClient().get_table_data(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + table_id="b3230b86-4743-498d-9015-3fad58049692") except ResponseCodeError: pass @@ -489,89 +566,116 @@ class TableUnitTest(unittest.TestCase): with requests_mock.Mocker() as mock: exp = 2 # mock - mock.head('/api/database/1/table/9/data', headers={'X-Count': str(exp)}) + mock.head( + '/api/database/6bd39359-b154-456d-b9c2-caa516a45732/table/b3230b86-4743-498d-9015-3fad58049692/data', + headers={'X-Count': str(exp)}) # test - response = RestClient().get_table_data_count(database_id=1, table_id=9, + response = RestClient().get_table_data_count(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + table_id="b3230b86-4743-498d-9015-3fad58049692", timestamp=datetime.datetime(2024, 1, 1, 0, 0, 0, 0)) self.assertEqual(exp, response) def test_get_table_data_count_400_fails(self): with requests_mock.Mocker() as mock: # mock - mock.head('/api/database/1/table/9/data', status_code=400) + mock.head( + '/api/database/6bd39359-b154-456d-b9c2-caa516a45732/table/b3230b86-4743-498d-9015-3fad58049692/data', + status_code=400) # test try: - response = RestClient().get_table_data_count(database_id=1, table_id=9) + response = RestClient().get_table_data_count(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + table_id="b3230b86-4743-498d-9015-3fad58049692") except MalformedError: pass def test_get_table_data_count_403_fails(self): with requests_mock.Mocker() as mock: # mock - mock.head('/api/database/1/table/9/data', status_code=403) + mock.head( + '/api/database/6bd39359-b154-456d-b9c2-caa516a45732/table/b3230b86-4743-498d-9015-3fad58049692/data', + status_code=403) # test try: - response = RestClient().get_table_data_count(database_id=1, table_id=9) + response = RestClient().get_table_data_count(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + table_id="b3230b86-4743-498d-9015-3fad58049692") except ForbiddenError: pass def test_get_table_data_count_404_fails(self): with requests_mock.Mocker() as mock: # mock - mock.head('/api/database/1/table/9/data', status_code=404) + mock.head( + '/api/database/6bd39359-b154-456d-b9c2-caa516a45732/table/b3230b86-4743-498d-9015-3fad58049692/data', + status_code=404) # test try: - response = RestClient().get_table_data_count(database_id=1, table_id=9) + response = RestClient().get_table_data_count(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + table_id="b3230b86-4743-498d-9015-3fad58049692") except NotExistsError: pass def test_get_table_data_count_503_fails(self): with requests_mock.Mocker() as mock: # mock - mock.head('/api/database/1/table/9/data', status_code=503) + mock.head( + '/api/database/6bd39359-b154-456d-b9c2-caa516a45732/table/b3230b86-4743-498d-9015-3fad58049692/data', + status_code=503) # test try: - response = RestClient().get_table_data_count(database_id=1, table_id=9) + response = RestClient().get_table_data_count(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + table_id="b3230b86-4743-498d-9015-3fad58049692") except ServiceError: pass def test_get_table_data_count_unknown_fails(self): with requests_mock.Mocker() as mock: # mock - mock.head('/api/database/1/table/9/data', status_code=202) + mock.head( + '/api/database/6bd39359-b154-456d-b9c2-caa516a45732/table/b3230b86-4743-498d-9015-3fad58049692/data', + status_code=202) # test try: - response = RestClient().get_table_data_count(database_id=1, table_id=9) + response = RestClient().get_table_data_count(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + table_id="b3230b86-4743-498d-9015-3fad58049692") except ResponseCodeError: pass def test_get_table_data_count_not_countable_fails(self): with requests_mock.Mocker() as mock: # mock - mock.head('/api/database/1/table/9/data', status_code=409) + mock.head( + '/api/database/6bd39359-b154-456d-b9c2-caa516a45732/table/b3230b86-4743-498d-9015-3fad58049692/data', + status_code=409) # test try: - response = RestClient().get_table_data_count(database_id=1, table_id=9) + response = RestClient().get_table_data_count(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + table_id="b3230b86-4743-498d-9015-3fad58049692") except ExternalSystemError: pass def test_create_table_data_succeeds(self): with requests_mock.Mocker() as mock: # mock - mock.post('/api/database/1/table/9/data', status_code=201) + mock.post( + '/api/database/6bd39359-b154-456d-b9c2-caa516a45732/table/b3230b86-4743-498d-9015-3fad58049692/data', + status_code=201) # test client = RestClient(username="a", password="b") - client.create_table_data(database_id=1, table_id=9, + client.create_table_data(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + table_id="b3230b86-4743-498d-9015-3fad58049692", data={'name': 'Josiah', 'age': 45, 'gender': 'male'}) def test_create_table_data_400_fails(self): with requests_mock.Mocker() as mock: # mock - mock.post('/api/database/1/table/9/data', status_code=400) + mock.post( + '/api/database/6bd39359-b154-456d-b9c2-caa516a45732/table/b3230b86-4743-498d-9015-3fad58049692/data', + status_code=400) # test try: client = RestClient(username="a", password="b") - client.create_table_data(database_id=1, table_id=9, + client.create_table_data(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + table_id="b3230b86-4743-498d-9015-3fad58049692", data={'name': 'Josiah', 'age': 45, 'gender': 'male'}) except MalformedError: pass @@ -579,11 +683,14 @@ class TableUnitTest(unittest.TestCase): def test_create_table_data_403_fails(self): with requests_mock.Mocker() as mock: # mock - mock.post('/api/database/1/table/9/data', status_code=403) + mock.post( + '/api/database/6bd39359-b154-456d-b9c2-caa516a45732/table/b3230b86-4743-498d-9015-3fad58049692/data', + status_code=403) # test try: client = RestClient(username="a", password="b") - client.create_table_data(database_id=1, table_id=9, + client.create_table_data(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + table_id="b3230b86-4743-498d-9015-3fad58049692", data={'name': 'Josiah', 'age': 45, 'gender': 'male'}) except ForbiddenError: pass @@ -591,11 +698,14 @@ class TableUnitTest(unittest.TestCase): def test_create_table_data_404_fails(self): with requests_mock.Mocker() as mock: # mock - mock.post('/api/database/1/table/9/data', status_code=404) + mock.post( + '/api/database/6bd39359-b154-456d-b9c2-caa516a45732/table/b3230b86-4743-498d-9015-3fad58049692/data', + status_code=404) # test try: client = RestClient(username="a", password="b") - client.create_table_data(database_id=1, table_id=9, + client.create_table_data(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + table_id="b3230b86-4743-498d-9015-3fad58049692", data={'name': 'Josiah', 'age': 45, 'gender': 'male'}) except NotExistsError: pass @@ -603,11 +713,14 @@ class TableUnitTest(unittest.TestCase): def test_create_table_data_503_fails(self): with requests_mock.Mocker() as mock: # mock - mock.post('/api/database/1/table/9/data', status_code=503) + mock.post( + '/api/database/6bd39359-b154-456d-b9c2-caa516a45732/table/b3230b86-4743-498d-9015-3fad58049692/data', + status_code=503) # test try: client = RestClient(username="a", password="b") - client.create_table_data(database_id=1, table_id=9, + client.create_table_data(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + table_id="b3230b86-4743-498d-9015-3fad58049692", data={'name': 'Josiah', 'age': 45, 'gender': 'male'}) except ServiceError: pass @@ -615,11 +728,14 @@ class TableUnitTest(unittest.TestCase): def test_create_table_data_unknown_fails(self): with requests_mock.Mocker() as mock: # mock - mock.post('/api/database/1/table/9/data', status_code=200) + mock.post( + '/api/database/6bd39359-b154-456d-b9c2-caa516a45732/table/b3230b86-4743-498d-9015-3fad58049692/data', + status_code=200) # test try: client = RestClient(username="a", password="b") - client.create_table_data(database_id=1, table_id=9, + client.create_table_data(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + table_id="b3230b86-4743-498d-9015-3fad58049692", data={'name': 'Josiah', 'age': 45, 'gender': 'male'}) except ResponseCodeError: pass @@ -627,10 +743,13 @@ class TableUnitTest(unittest.TestCase): def test_create_table_data_anonymous_fails(self): with requests_mock.Mocker() as mock: # mock - mock.post('/api/database/1/table/9/data', status_code=503) + mock.post( + '/api/database/6bd39359-b154-456d-b9c2-caa516a45732/table/b3230b86-4743-498d-9015-3fad58049692/data', + status_code=503) # test try: - RestClient().create_table_data(database_id=1, table_id=9, + RestClient().create_table_data(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + table_id="b3230b86-4743-498d-9015-3fad58049692", data={'name': 'Josiah', 'age': 45, 'gender': 'male'}) except AuthenticationError: pass @@ -638,21 +757,27 @@ class TableUnitTest(unittest.TestCase): def test_update_table_data_succeeds(self): with requests_mock.Mocker() as mock: # mock - mock.put('/api/database/1/table/9/data', status_code=202) + mock.put( + '/api/database/6bd39359-b154-456d-b9c2-caa516a45732/table/b3230b86-4743-498d-9015-3fad58049692/data', + status_code=202) # test client = RestClient(username="a", password="b") - client.update_table_data(database_id=1, table_id=9, + client.update_table_data(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + table_id="b3230b86-4743-498d-9015-3fad58049692", data={'name': 'Josiah', 'age': 45, 'gender': 'male'}, keys={'id': 1}) def test_update_table_data_400_fails(self): with requests_mock.Mocker() as mock: # mock - mock.put('/api/database/1/table/9/data', status_code=400) + mock.put( + '/api/database/6bd39359-b154-456d-b9c2-caa516a45732/table/b3230b86-4743-498d-9015-3fad58049692/data', + status_code=400) # test try: client = RestClient(username="a", password="b") - client.update_table_data(database_id=1, table_id=9, + client.update_table_data(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + table_id="b3230b86-4743-498d-9015-3fad58049692", data={'name': 'Josiah', 'age': 45, 'gender': 'male'}, keys={'id': 1}) except MalformedError: @@ -661,11 +786,14 @@ class TableUnitTest(unittest.TestCase): def test_update_table_data_403_fails(self): with requests_mock.Mocker() as mock: # mock - mock.put('/api/database/1/table/9/data', status_code=403) + mock.put( + '/api/database/6bd39359-b154-456d-b9c2-caa516a45732/table/b3230b86-4743-498d-9015-3fad58049692/data', + status_code=403) # test try: client = RestClient(username="a", password="b") - client.update_table_data(database_id=1, table_id=9, + client.update_table_data(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + table_id="b3230b86-4743-498d-9015-3fad58049692", data={'name': 'Josiah', 'age': 45, 'gender': 'male'}, keys={'id': 1}) except ForbiddenError: @@ -674,11 +802,14 @@ class TableUnitTest(unittest.TestCase): def test_update_table_data_404_fails(self): with requests_mock.Mocker() as mock: # mock - mock.put('/api/database/1/table/9/data', status_code=404) + mock.put( + '/api/database/6bd39359-b154-456d-b9c2-caa516a45732/table/b3230b86-4743-498d-9015-3fad58049692/data', + status_code=404) # test try: client = RestClient(username="a", password="b") - client.update_table_data(database_id=1, table_id=9, + client.update_table_data(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + table_id="b3230b86-4743-498d-9015-3fad58049692", data={'name': 'Josiah', 'age': 45, 'gender': 'male'}, keys={'id': 1}) except NotExistsError: @@ -687,11 +818,14 @@ class TableUnitTest(unittest.TestCase): def test_update_table_data_503_fails(self): with requests_mock.Mocker() as mock: # mock - mock.put('/api/database/1/table/9/data', status_code=503) + mock.put( + '/api/database/6bd39359-b154-456d-b9c2-caa516a45732/table/b3230b86-4743-498d-9015-3fad58049692/data', + status_code=503) # test try: client = RestClient(username="a", password="b") - client.update_table_data(database_id=1, table_id=9, + client.update_table_data(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + table_id="b3230b86-4743-498d-9015-3fad58049692", data={'name': 'Josiah', 'age': 45, 'gender': 'male'}, keys={'id': 1}) except ServiceError: @@ -700,11 +834,14 @@ class TableUnitTest(unittest.TestCase): def test_update_table_data_unknown_fails(self): with requests_mock.Mocker() as mock: # mock - mock.put('/api/database/1/table/9/data', status_code=200) + mock.put( + '/api/database/6bd39359-b154-456d-b9c2-caa516a45732/table/b3230b86-4743-498d-9015-3fad58049692/data', + status_code=200) # test try: client = RestClient(username="a", password="b") - client.update_table_data(database_id=1, table_id=9, + client.update_table_data(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + table_id="b3230b86-4743-498d-9015-3fad58049692", data={'name': 'Josiah', 'age': 45, 'gender': 'male'}, keys={'id': 1}) except ResponseCodeError: @@ -713,97 +850,124 @@ class TableUnitTest(unittest.TestCase): def test_delete_table_data_succeeds(self): with requests_mock.Mocker() as mock: # mock - mock.delete('/api/database/1/table/9/data', status_code=202) + mock.delete( + '/api/database/6bd39359-b154-456d-b9c2-caa516a45732/table/b3230b86-4743-498d-9015-3fad58049692/data', + status_code=202) # test client = RestClient(username="a", password="b") - client.delete_table_data(database_id=1, table_id=9, keys={'id': 1}) + client.delete_table_data(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + table_id="b3230b86-4743-498d-9015-3fad58049692", keys={'id': 1}) def test_delete_table_data_400_fails(self): with requests_mock.Mocker() as mock: # mock - mock.delete('/api/database/1/table/9/data', status_code=400) + mock.delete( + '/api/database/6bd39359-b154-456d-b9c2-caa516a45732/table/b3230b86-4743-498d-9015-3fad58049692/data', + status_code=400) # test try: client = RestClient(username="a", password="b") - client.delete_table_data(database_id=1, table_id=9, keys={'id': 1}) + client.delete_table_data(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + table_id="b3230b86-4743-498d-9015-3fad58049692", keys={'id': 1}) except MalformedError: pass def test_delete_table_data_403_fails(self): with requests_mock.Mocker() as mock: # mock - mock.delete('/api/database/1/table/9/data', status_code=403) + mock.delete( + '/api/database/6bd39359-b154-456d-b9c2-caa516a45732/table/b3230b86-4743-498d-9015-3fad58049692/data', + status_code=403) # test try: client = RestClient(username="a", password="b") - client.delete_table_data(database_id=1, table_id=9, keys={'id': 1}) + client.delete_table_data(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + table_id="b3230b86-4743-498d-9015-3fad58049692", keys={'id': 1}) except ForbiddenError: pass def test_delete_table_data_404_fails(self): with requests_mock.Mocker() as mock: # mock - mock.delete('/api/database/1/table/9/data', status_code=404) + mock.delete( + '/api/database/6bd39359-b154-456d-b9c2-caa516a45732/table/b3230b86-4743-498d-9015-3fad58049692/data', + status_code=404) # test try: client = RestClient(username="a", password="b") - client.delete_table_data(database_id=1, table_id=9, keys={'id': 1}) + client.delete_table_data(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + table_id="b3230b86-4743-498d-9015-3fad58049692", keys={'id': 1}) except NotExistsError: pass def test_delete_table_data_503_fails(self): with requests_mock.Mocker() as mock: # mock - mock.delete('/api/database/1/table/9/data', status_code=503) + mock.delete( + '/api/database/6bd39359-b154-456d-b9c2-caa516a45732/table/b3230b86-4743-498d-9015-3fad58049692/data', + status_code=503) # test try: client = RestClient(username="a", password="b") - client.delete_table_data(database_id=1, table_id=9, keys={'id': 1}) + client.delete_table_data(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + table_id="b3230b86-4743-498d-9015-3fad58049692", keys={'id': 1}) except ServiceError: pass def test_delete_table_data_unknown_fails(self): with requests_mock.Mocker() as mock: # mock - mock.delete('/api/database/1/table/9/data', status_code=200) + mock.delete( + '/api/database/6bd39359-b154-456d-b9c2-caa516a45732/table/b3230b86-4743-498d-9015-3fad58049692/data', + status_code=200) # test try: client = RestClient(username="a", password="b") - client.delete_table_data(database_id=1, table_id=9, keys={'id': 1}) + client.delete_table_data(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + table_id="b3230b86-4743-498d-9015-3fad58049692", keys={'id': 1}) except ResponseCodeError: pass def test_delete_table_data_anonymous_fails(self): with requests_mock.Mocker() as mock: # mock - mock.delete('/api/database/1/table/9/data', status_code=404) + mock.delete( + '/api/database/6bd39359-b154-456d-b9c2-caa516a45732/table/b3230b86-4743-498d-9015-3fad58049692/data', + status_code=404) # test try: - RestClient().delete_table_data(database_id=1, table_id=9, keys={'id': 1}) + RestClient().delete_table_data(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + table_id="b3230b86-4743-498d-9015-3fad58049692", + keys={'id': 1}) except AuthenticationError: pass def test_update_table_column_succeeds(self): with requests_mock.Mocker() as mock: - exp = Column(id=1, + exp = Column(id="2f30858d-b47b-4068-9028-fb0524ddf6cb", ord=0, name="ID", - database_id=1, - table_id=2, + database_id="6bd39359-b154-456d-b9c2-caa516a45732", + table_id="b3230b86-4743-498d-9015-3fad58049692", internal_name="id", type=ColumnType.BIGINT, - concept=ConceptBrief(id=2, + concept=ConceptBrief(id="029d773f-f98b-40c0-ab22-b8b1635d4fbc", uri="http://dbpedia.org/page/Category:Precipitation", name="Precipitation"), - unit=UnitBrief(id=2, + unit=UnitBrief(id="029d773f-f98b-40c0-ab22-b8b1635d4fbc", uri="http://www.wikidata.org/entity/Q119856947", name="liters per square meter"), is_null_allowed=False) # mock - mock.put('/api/database/1/table/2/column/1', json=exp.model_dump(), status_code=202) + mock.put( + '/api/database/6bd39359-b154-456d-b9c2-caa516a45732/table/b3230b86-4743-498d-9015-3fad58049692/column/758da021-f809-4d87-a866-9d4664a039dc', + json=exp.model_dump(), + status_code=202) # test client = RestClient(username="a", password="b") - response = client.update_table_column(database_id=1, table_id=2, column_id=1, + response = client.update_table_column(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + table_id="b3230b86-4743-498d-9015-3fad58049692", + column_id="758da021-f809-4d87-a866-9d4664a039dc", unit_uri="http://www.wikidata.org/entity/Q119856947", concept_uri="http://dbpedia.org/page/Category:Precipitation") self.assertEqual(exp, response) @@ -811,11 +975,15 @@ class TableUnitTest(unittest.TestCase): def test_update_table_column_400_fails(self): with requests_mock.Mocker() as mock: # mock - mock.put('/api/database/1/table/2/column/1', status_code=400) + mock.put( + '/api/database/6bd39359-b154-456d-b9c2-caa516a45732/table/b3230b86-4743-498d-9015-3fad58049692/column/758da021-f809-4d87-a866-9d4664a039dc', + status_code=400) # test try: client = RestClient(username="a", password="b") - client.update_table_column(database_id=1, table_id=2, column_id=1, + client.update_table_column(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + table_id="b3230b86-4743-498d-9015-3fad58049692", + column_id="758da021-f809-4d87-a866-9d4664a039dc", unit_uri="http://www.wikidata.org/entity/Q119856947", concept_uri="http://dbpedia.org/page/Category:Precipitation") except MalformedError: @@ -824,11 +992,15 @@ class TableUnitTest(unittest.TestCase): def test_update_table_column_403_fails(self): with requests_mock.Mocker() as mock: # mock - mock.put('/api/database/1/table/2/column/1', status_code=403) + mock.put( + '/api/database/6bd39359-b154-456d-b9c2-caa516a45732/table/b3230b86-4743-498d-9015-3fad58049692/column/758da021-f809-4d87-a866-9d4664a039dc', + status_code=403) # test try: client = RestClient(username="a", password="b") - client.update_table_column(database_id=1, table_id=2, column_id=1, + client.update_table_column(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + table_id="b3230b86-4743-498d-9015-3fad58049692", + column_id="758da021-f809-4d87-a866-9d4664a039dc", unit_uri="http://www.wikidata.org/entity/Q119856947", concept_uri="http://dbpedia.org/page/Category:Precipitation") except ForbiddenError: @@ -837,11 +1009,15 @@ class TableUnitTest(unittest.TestCase): def test_update_table_column_404_fails(self): with requests_mock.Mocker() as mock: # mock - mock.put('/api/database/1/table/2/column/1', status_code=404) + mock.put( + '/api/database/6bd39359-b154-456d-b9c2-caa516a45732/table/b3230b86-4743-498d-9015-3fad58049692/column/758da021-f809-4d87-a866-9d4664a039dc', + status_code=404) # test try: client = RestClient(username="a", password="b") - client.update_table_column(database_id=1, table_id=2, column_id=1, + client.update_table_column(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + table_id="b3230b86-4743-498d-9015-3fad58049692", + column_id="758da021-f809-4d87-a866-9d4664a039dc", unit_uri="http://www.wikidata.org/entity/Q119856947", concept_uri="http://dbpedia.org/page/Category:Precipitation") except NotExistsError: @@ -850,11 +1026,15 @@ class TableUnitTest(unittest.TestCase): def test_update_table_column_502_fails(self): with requests_mock.Mocker() as mock: # mock - mock.put('/api/database/1/table/2/column/1', status_code=502) + mock.put( + '/api/database/6bd39359-b154-456d-b9c2-caa516a45732/table/b3230b86-4743-498d-9015-3fad58049692/column/758da021-f809-4d87-a866-9d4664a039dc', + status_code=502) # test try: client = RestClient(username="a", password="b") - client.update_table_column(database_id=1, table_id=2, column_id=1, + client.update_table_column(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + table_id="b3230b86-4743-498d-9015-3fad58049692", + column_id="758da021-f809-4d87-a866-9d4664a039dc", unit_uri="http://www.wikidata.org/entity/Q119856947", concept_uri="http://dbpedia.org/page/Category:Precipitation") except ServiceConnectionError: @@ -863,11 +1043,15 @@ class TableUnitTest(unittest.TestCase): def test_update_table_column_503_fails(self): with requests_mock.Mocker() as mock: # mock - mock.put('/api/database/1/table/2/column/1', status_code=503) + mock.put( + '/api/database/6bd39359-b154-456d-b9c2-caa516a45732/table/b3230b86-4743-498d-9015-3fad58049692/column/758da021-f809-4d87-a866-9d4664a039dc', + status_code=503) # test try: client = RestClient(username="a", password="b") - client.update_table_column(database_id=1, table_id=2, column_id=1, + client.update_table_column(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + table_id="b3230b86-4743-498d-9015-3fad58049692", + column_id="758da021-f809-4d87-a866-9d4664a039dc", unit_uri="http://www.wikidata.org/entity/Q119856947", concept_uri="http://dbpedia.org/page/Category:Precipitation") except ServiceError: @@ -876,11 +1060,15 @@ class TableUnitTest(unittest.TestCase): def test_update_table_column_unknown_fails(self): with requests_mock.Mocker() as mock: # mock - mock.put('/api/database/1/table/2/column/1', status_code=200) + mock.put( + '/api/database/6bd39359-b154-456d-b9c2-caa516a45732/table/b3230b86-4743-498d-9015-3fad58049692/column/758da021-f809-4d87-a866-9d4664a039dc', + status_code=200) # test try: client = RestClient(username="a", password="b") - client.update_table_column(database_id=1, table_id=2, column_id=1, + client.update_table_column(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + table_id="b3230b86-4743-498d-9015-3fad58049692", + column_id="758da021-f809-4d87-a866-9d4664a039dc", unit_uri="http://www.wikidata.org/entity/Q119856947", concept_uri="http://dbpedia.org/page/Category:Precipitation") except ResponseCodeError: @@ -889,10 +1077,14 @@ class TableUnitTest(unittest.TestCase): def test_update_table_column_anonymous_fails(self): with requests_mock.Mocker() as mock: # mock - mock.put('/api/database/1/table/2/column/1', status_code=404) + mock.put( + '/api/database/6bd39359-b154-456d-b9c2-caa516a45732/table/b3230b86-4743-498d-9015-3fad58049692/column/758da021-f809-4d87-a866-9d4664a039dc', + status_code=404) # test try: - RestClient().update_table_column(database_id=1, table_id=2, column_id=1, + RestClient().update_table_column(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + table_id="b3230b86-4743-498d-9015-3fad58049692", + column_id="758da021-f809-4d87-a866-9d4664a039dc", unit_uri="http://www.wikidata.org/entity/Q119856947", concept_uri="http://dbpedia.org/page/Category:Precipitation") except AuthenticationError: @@ -903,58 +1095,76 @@ class TableUnitTest(unittest.TestCase): exp = TableStatistics( columns={"id": ColumnStatistic(val_min=1.0, val_max=9.0, mean=5.0, median=5.0, std_dev=2.73)}) # mock - mock.get('/api/analyse/database/1/table/2/statistics', json=exp.model_dump(), status_code=202) + mock.get( + '/api/analyse/database/6bd39359-b154-456d-b9c2-caa516a45732/table/b3230b86-4743-498d-9015-3fad58049692/statistics', + json=exp.model_dump(), status_code=202) # test - response = RestClient().analyse_table_statistics(database_id=1, table_id=2) + response = RestClient().analyse_table_statistics(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + table_id="b3230b86-4743-498d-9015-3fad58049692") self.assertEqual(exp, response) def test_analyse_table_statistics_400_fails(self): with requests_mock.Mocker() as mock: # mock - mock.get('/api/analyse/database/1/table/2/statistics', status_code=400) + mock.get( + '/api/analyse/database/6bd39359-b154-456d-b9c2-caa516a45732/table/b3230b86-4743-498d-9015-3fad58049692/statistics', + status_code=400) # test try: - RestClient().analyse_table_statistics(database_id=1, table_id=2) + RestClient().analyse_table_statistics(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + table_id="b3230b86-4743-498d-9015-3fad58049692") except MalformedError: pass def test_analyse_table_statistics_404_fails(self): with requests_mock.Mocker() as mock: # mock - mock.get('/api/analyse/database/1/table/2/statistics', status_code=404) + mock.get( + '/api/analyse/database/6bd39359-b154-456d-b9c2-caa516a45732/table/b3230b86-4743-498d-9015-3fad58049692/statistics', + status_code=404) # test try: - RestClient().analyse_table_statistics(database_id=1, table_id=2) + RestClient().analyse_table_statistics(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + table_id="b3230b86-4743-498d-9015-3fad58049692") except NotExistsError: pass def test_analyse_table_statistics_502_fails(self): with requests_mock.Mocker() as mock: # mock - mock.get('/api/analyse/database/1/table/2/statistics', status_code=502) + mock.get( + '/api/analyse/database/6bd39359-b154-456d-b9c2-caa516a45732/table/b3230b86-4743-498d-9015-3fad58049692/statistics', + status_code=502) # test try: - RestClient().analyse_table_statistics(database_id=1, table_id=2) + RestClient().analyse_table_statistics(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + table_id="b3230b86-4743-498d-9015-3fad58049692") except ServiceConnectionError: pass def test_analyse_table_statistics_503_fails(self): with requests_mock.Mocker() as mock: # mock - mock.get('/api/analyse/database/1/table/2/statistics', status_code=503) + mock.get( + '/api/analyse/database/6bd39359-b154-456d-b9c2-caa516a45732/table/b3230b86-4743-498d-9015-3fad58049692/statistics', + status_code=503) # test try: - RestClient().analyse_table_statistics(database_id=1, table_id=2) + RestClient().analyse_table_statistics(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + table_id="b3230b86-4743-498d-9015-3fad58049692") except ServiceError: pass def test_analyse_table_statistics_unknown_fails(self): with requests_mock.Mocker() as mock: # mock - mock.get('/api/analyse/database/1/table/2/statistics', status_code=200) + mock.get( + '/api/analyse/database/6bd39359-b154-456d-b9c2-caa516a45732/table/b3230b86-4743-498d-9015-3fad58049692/statistics', + status_code=200) # test try: - RestClient().analyse_table_statistics(database_id=1, table_id=2) + RestClient().analyse_table_statistics(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + table_id="b3230b86-4743-498d-9015-3fad58049692") except ResponseCodeError: pass diff --git a/lib/python/tests/test_unit_unit.py b/lib/python/tests/test_unit_unit.py index efea8b69bb335cf4618216e7822dd5a7d2a1e467..3af429b74ebcb84767105d3b4da23540fd3fdf31 100644 --- a/lib/python/tests/test_unit_unit.py +++ b/lib/python/tests/test_unit_unit.py @@ -11,7 +11,7 @@ class UserUnitTest(unittest.TestCase): def test_get_units_succeeds(self): with requests_mock.Mocker() as mock: - exp = [UnitBrief(id=1, + exp = [UnitBrief(id="d8eec1ab-7b37-4eb3-bdf7-b44a8b384c0b", uri='http://www.ontology-of-units-of-measure.org/resource/om-2/CelsiusTemperature', name='Celsius Temperature')] # mock diff --git a/lib/python/tests/test_unit_view.py b/lib/python/tests/test_unit_view.py index 7a8bebe4e01fc538a004d87b30493c6bfbe913aa..5792d028b37726d1c3e1f29a941387c12306cfc2 100644 --- a/lib/python/tests/test_unit_view.py +++ b/lib/python/tests/test_unit_view.py @@ -15,17 +15,17 @@ class ViewUnitTest(unittest.TestCase): def test_get_views_empty_succeeds(self): with requests_mock.Mocker() as mock: # mock - mock.get('/api/database/1/view', json=[]) + mock.get('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/view', json=[]) # test - response = RestClient().get_views(database_id=1) + response = RestClient().get_views(database_id="6bd39359-b154-456d-b9c2-caa516a45732") self.assertEqual([], response) def test_get_views_succeeds(self): with requests_mock.Mocker() as mock: - exp = [ViewBrief(id=1, + exp = [ViewBrief(id="1b3449d2-780e-4683-9af0-8733e608a4aa", name="Data", internal_name="data", - database_id=1, + database_id="6bd39359-b154-456d-b9c2-caa516a45732", initial_view=False, query="SELECT id FROM mytable WHERE deg > 0", query_hash="94c74728b11a690e51d64719868824735f0817b7", @@ -33,93 +33,101 @@ class ViewUnitTest(unittest.TestCase): is_public=True, is_schema_public=True)] # mock - mock.get('/api/database/1/view', json=[exp[0].model_dump()]) + mock.get('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/view', json=[exp[0].model_dump()]) # test - response = RestClient().get_views(database_id=1) + response = RestClient().get_views(database_id="6bd39359-b154-456d-b9c2-caa516a45732") self.assertEqual(exp, response) def test_get_views_404_fails(self): with requests_mock.Mocker() as mock: # mock - mock.get('/api/database/1/view', status_code=404) + mock.get('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/view', status_code=404) # test try: - response = RestClient().get_views(database_id=1) + response = RestClient().get_views(database_id="6bd39359-b154-456d-b9c2-caa516a45732") except NotExistsError: pass def test_get_views_unknown_fails(self): with requests_mock.Mocker() as mock: # mock - mock.get('/api/database/1/view', status_code=202) + mock.get('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/view', status_code=202) # test try: - response = RestClient().get_views(database_id=1) + response = RestClient().get_views(database_id="6bd39359-b154-456d-b9c2-caa516a45732") except ResponseCodeError: pass def test_get_view_succeeds(self): with requests_mock.Mocker() as mock: - exp = View(id=3, + exp = View(id="1b3449d2-780e-4683-9af0-8733e608a4aa", name="Data", internal_name="data", - database_id=1, + database_id="6bd39359-b154-456d-b9c2-caa516a45732", initial_view=False, query="SELECT id FROM mytable WHERE deg > 0", query_hash="94c74728b11a690e51d64719868824735f0817b7", owner=UserBrief(id='8638c043-5145-4be8-a3e4-4b79991b0a16', username='mweise'), is_public=True, is_schema_public=True, - columns=[ViewColumn(id=1, + columns=[ViewColumn(id="1b3449d2-780e-4683-9af0-8733e608a4aa", ord=0, name="id", internal_name="id", - database_id=1, + database_id="6bd39359-b154-456d-b9c2-caa516a45732", type=ColumnType.BIGINT, is_null_allowed=False)], identifiers=[]) # mock - mock.get('/api/database/1/view/3', json=exp.model_dump()) + mock.get('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/view/1b3449d2-780e-4683-9af0-8733e608a4aa', + json=exp.model_dump()) # test - response = RestClient().get_view(database_id=1, view_id=3) + response = RestClient().get_view(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + view_id="1b3449d2-780e-4683-9af0-8733e608a4aa") self.assertEqual(exp, response) def test_get_view_403_fails(self): with requests_mock.Mocker() as mock: # mock - mock.get('/api/database/1/view/3', status_code=403) + mock.get('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/view/1b3449d2-780e-4683-9af0-8733e608a4aa', + status_code=403) # test try: - response = RestClient().get_view(database_id=1, view_id=3) + response = RestClient().get_view(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + view_id="1b3449d2-780e-4683-9af0-8733e608a4aa") except ForbiddenError: pass def test_get_view_404_fails(self): with requests_mock.Mocker() as mock: # mock - mock.get('/api/database/1/view/3', status_code=404) + mock.get('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/view/1b3449d2-780e-4683-9af0-8733e608a4aa', + status_code=404) # test try: - response = RestClient().get_view(database_id=1, view_id=3) + response = RestClient().get_view(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + view_id="1b3449d2-780e-4683-9af0-8733e608a4aa") except NotExistsError: pass def test_get_view_unknown_fails(self): with requests_mock.Mocker() as mock: # mock - mock.get('/api/database/1/view/3', status_code=202) + mock.get('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/view/1b3449d2-780e-4683-9af0-8733e608a4aa', + status_code=202) # test try: - response = RestClient().get_view(database_id=1, view_id=3) + response = RestClient().get_view(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + view_id="1b3449d2-780e-4683-9af0-8733e608a4aa") except ResponseCodeError: pass def test_update_view_succeeds(self): with requests_mock.Mocker() as mock: - exp = ViewBrief(id=1, + exp = ViewBrief(id="1b3449d2-780e-4683-9af0-8733e608a4aa", name="Data", internal_name="data", - database_id=1, + database_id="6bd39359-b154-456d-b9c2-caa516a45732", initial_view=False, query="SELECT id FROM mytable WHERE deg > 0", query_hash="94c74728b11a690e51d64719868824735f0817b7", @@ -127,91 +135,99 @@ class ViewUnitTest(unittest.TestCase): is_public=False, is_schema_public=False) # mock - mock.put('/api/database/1/view/1', json=exp.model_dump(), status_code=202) + mock.put('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/view/1', json=exp.model_dump(), + status_code=202) # test - response = RestClient(username='foo', password='bar').update_view(database_id=1, view_id=1, - is_public=False, is_schema_public=False) + response = RestClient(username='foo', password='bar').update_view( + database_id="6bd39359-b154-456d-b9c2-caa516a45732", view_id=1, + is_public=False, is_schema_public=False) self.assertEqual(exp, response) def test_update_view_403_fails(self): with requests_mock.Mocker() as mock: # mock - mock.put('/api/database/1/view/1', status_code=403) + mock.put('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/view/1', status_code=403) # test try: - RestClient(username='foo', password='bar').update_view(database_id=1, view_id=1, is_public=False, - is_schema_public=False) + RestClient(username='foo', password='bar').update_view( + database_id="6bd39359-b154-456d-b9c2-caa516a45732", view_id=1, is_public=False, + is_schema_public=False) except ForbiddenError: pass def test_update_view_404_fails(self): with requests_mock.Mocker() as mock: # mock - mock.put('/api/database/1/view/1', status_code=404) + mock.put('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/view/1', status_code=404) # test try: - RestClient(username='foo', password='bar').update_view(database_id=1, view_id=1, is_public=False, - is_schema_public=False) + RestClient(username='foo', password='bar').update_view( + database_id="6bd39359-b154-456d-b9c2-caa516a45732", view_id=1, is_public=False, + is_schema_public=False) except NotExistsError: pass def test_update_view_unknown_fails(self): with requests_mock.Mocker() as mock: # mock - mock.put('/api/database/1/view/1', status_code=200) + mock.put('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/view/1', status_code=200) # test try: - RestClient(username='foo', password='bar').update_view(database_id=1, view_id=1, is_public=False, - is_schema_public=False) + RestClient(username='foo', password='bar').update_view( + database_id="6bd39359-b154-456d-b9c2-caa516a45732", view_id=1, is_public=False, + is_schema_public=False) except ResponseCodeError: pass def test_update_view_anonymous_fails(self): with requests_mock.Mocker() as mock: # mock - mock.put('/api/database/1/view/1', status_code=403) + mock.put('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/view/1', status_code=403) # test try: - RestClient().update_view(database_id=1, view_id=1, is_public=False, is_schema_public=False) + RestClient().update_view(database_id="6bd39359-b154-456d-b9c2-caa516a45732", view_id=1, is_public=False, + is_schema_public=False) except AuthenticationError: pass def test_create_view_succeeds(self): with requests_mock.Mocker() as mock: - exp = View(id=3, + exp = View(id="1b3449d2-780e-4683-9af0-8733e608a4aa", name="Data", internal_name="data", - database_id=1, + database_id="6bd39359-b154-456d-b9c2-caa516a45732", initial_view=False, query="SELECT id FROM mytable WHERE deg > 0", query_hash="94c74728b11a690e51d64719868824735f0817b7", owner=UserBrief(id='8638c043-5145-4be8-a3e4-4b79991b0a16', username='mweise'), is_public=True, is_schema_public=True, - columns=[ViewColumn(id=1, + columns=[ViewColumn(id="1b3449d2-780e-4683-9af0-8733e608a4aa", ord=0, name="id", internal_name="id", - database_id=1, + database_id="6bd39359-b154-456d-b9c2-caa516a45732", type=ColumnType.BIGINT, is_null_allowed=False)], identifiers=[]) # mock - mock.post('/api/database/1/view', json=exp.model_dump(), status_code=201) + mock.post('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/view', json=exp.model_dump(), status_code=201) # test client = RestClient(username="a", password="b") - response = client.create_view(database_id=1, name="Data", is_public=True, is_schema_public=True, + response = client.create_view(database_id="6bd39359-b154-456d-b9c2-caa516a45732", name="Data", + is_public=True, is_schema_public=True, query="SELECT id FROM mytable WHERE deg > 0") self.assertEqual(exp, response) def test_create_view_400_fails(self): with requests_mock.Mocker() as mock: # mock - mock.post('/api/database/1/view', status_code=400) + mock.post('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/view', status_code=400) # test try: client = RestClient(username="a", password="b") - response = client.create_view(database_id=1, name="Data", is_public=True, is_schema_public=True, + response = client.create_view(database_id="6bd39359-b154-456d-b9c2-caa516a45732", name="Data", + is_public=True, is_schema_public=True, query="SELECT id FROM mytable WHERE deg > 0") except MalformedError: pass @@ -219,11 +235,12 @@ class ViewUnitTest(unittest.TestCase): def test_create_view_403_fails(self): with requests_mock.Mocker() as mock: # mock - mock.post('/api/database/1/view', status_code=403) + mock.post('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/view', status_code=403) # test try: client = RestClient(username="a", password="b") - response = client.create_view(database_id=1, name="Data", is_public=True, is_schema_public=True, + response = client.create_view(database_id="6bd39359-b154-456d-b9c2-caa516a45732", name="Data", + is_public=True, is_schema_public=True, query="SELECT id FROM mytable WHERE deg > 0") except ForbiddenError: pass @@ -231,11 +248,12 @@ class ViewUnitTest(unittest.TestCase): def test_create_view_404_fails(self): with requests_mock.Mocker() as mock: # mock - mock.post('/api/database/1/view', status_code=404) + mock.post('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/view', status_code=404) # test try: client = RestClient(username="a", password="b") - response = client.create_view(database_id=1, name="Data", is_public=True, is_schema_public=True, + response = client.create_view(database_id="6bd39359-b154-456d-b9c2-caa516a45732", name="Data", + is_public=True, is_schema_public=True, query="SELECT id FROM mytable WHERE deg > 0") except NotExistsError: pass @@ -243,11 +261,12 @@ class ViewUnitTest(unittest.TestCase): def test_create_view_423_fails(self): with requests_mock.Mocker() as mock: # mock - mock.post('/api/database/1/view', status_code=423) + mock.post('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/view', status_code=423) # test try: client = RestClient(username="a", password="b") - response = client.create_view(database_id=1, name="Data", is_public=True, is_schema_public=True, + response = client.create_view(database_id="6bd39359-b154-456d-b9c2-caa516a45732", name="Data", + is_public=True, is_schema_public=True, query="SELECT id FROM mytable WHERE deg > 0") except ExternalSystemError: pass @@ -255,11 +274,12 @@ class ViewUnitTest(unittest.TestCase): def test_create_view_502_fails(self): with requests_mock.Mocker() as mock: # mock - mock.post('/api/database/1/view', status_code=502) + mock.post('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/view', status_code=502) # test try: client = RestClient(username="a", password="b") - response = client.create_view(database_id=1, name="Data", is_public=True, is_schema_public=True, + response = client.create_view(database_id="6bd39359-b154-456d-b9c2-caa516a45732", name="Data", + is_public=True, is_schema_public=True, query="SELECT id FROM mytable WHERE deg > 0") except ServiceConnectionError: pass @@ -267,11 +287,12 @@ class ViewUnitTest(unittest.TestCase): def test_create_view_503_fails(self): with requests_mock.Mocker() as mock: # mock - mock.post('/api/database/1/view', status_code=503) + mock.post('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/view', status_code=503) # test try: client = RestClient(username="a", password="b") - response = client.create_view(database_id=1, name="Data", is_public=True, is_schema_public=True, + response = client.create_view(database_id="6bd39359-b154-456d-b9c2-caa516a45732", name="Data", + is_public=True, is_schema_public=True, query="SELECT id FROM mytable WHERE deg > 0") except ServiceError: pass @@ -279,11 +300,12 @@ class ViewUnitTest(unittest.TestCase): def test_create_view_unknown_fails(self): with requests_mock.Mocker() as mock: # mock - mock.post('/api/database/1/view', status_code=200) + mock.post('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/view', status_code=200) # test try: client = RestClient(username="a", password="b") - response = client.create_view(database_id=1, name="Data", is_public=True, is_schema_public=True, + response = client.create_view(database_id="6bd39359-b154-456d-b9c2-caa516a45732", name="Data", + is_public=True, is_schema_public=True, query="SELECT id FROM mytable WHERE deg > 0") except ResponseCodeError: pass @@ -291,10 +313,11 @@ class ViewUnitTest(unittest.TestCase): def test_create_view_anonymous_fails(self): with requests_mock.Mocker() as mock: # mock - mock.post('/api/database/1/view', status_code=404) + mock.post('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/view', status_code=404) # test try: - response = RestClient().create_view(database_id=1, name="Data", is_public=True, is_schema_public=True, + response = RestClient().create_view(database_id="6bd39359-b154-456d-b9c2-caa516a45732", name="Data", + is_public=True, is_schema_public=True, query="SELECT id FROM mytable WHERE deg > 0") except AuthenticationError: pass @@ -302,95 +325,113 @@ class ViewUnitTest(unittest.TestCase): def test_delete_view_succeeds(self): with requests_mock.Mocker() as mock: # mock - mock.delete('/api/database/1/view/3', status_code=202) + mock.delete('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/view/1b3449d2-780e-4683-9af0-8733e608a4aa', + status_code=202) # test client = RestClient(username="a", password="b") - client.delete_view(database_id=1, view_id=3) + client.delete_view(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + view_id="1b3449d2-780e-4683-9af0-8733e608a4aa") def test_delete_view_400_fails(self): with requests_mock.Mocker() as mock: # mock - mock.delete('/api/database/1/view/3', status_code=400) + mock.delete('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/view/1b3449d2-780e-4683-9af0-8733e608a4aa', + status_code=400) # test try: client = RestClient(username="a", password="b") - client.delete_view(database_id=1, view_id=3) + client.delete_view(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + view_id="1b3449d2-780e-4683-9af0-8733e608a4aa") except MalformedError: pass def test_delete_view_403_fails(self): with requests_mock.Mocker() as mock: # mock - mock.delete('/api/database/1/view/3', status_code=403) + mock.delete('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/view/1b3449d2-780e-4683-9af0-8733e608a4aa', + status_code=403) # test try: client = RestClient(username="a", password="b") - client.delete_view(database_id=1, view_id=3) + client.delete_view(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + view_id="1b3449d2-780e-4683-9af0-8733e608a4aa") except ForbiddenError: pass def test_delete_view_404_fails(self): with requests_mock.Mocker() as mock: # mock - mock.delete('/api/database/1/view/3', status_code=404) + mock.delete('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/view/1b3449d2-780e-4683-9af0-8733e608a4aa', + status_code=404) # test try: client = RestClient(username="a", password="b") - client.delete_view(database_id=1, view_id=3) + client.delete_view(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + view_id="1b3449d2-780e-4683-9af0-8733e608a4aa") except NotExistsError: pass def test_delete_view_423_fails(self): with requests_mock.Mocker() as mock: # mock - mock.delete('/api/database/1/view/3', status_code=423) + mock.delete('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/view/1b3449d2-780e-4683-9af0-8733e608a4aa', + status_code=423) # test try: client = RestClient(username="a", password="b") - client.delete_view(database_id=1, view_id=3) + client.delete_view(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + view_id="1b3449d2-780e-4683-9af0-8733e608a4aa") except ExternalSystemError: pass def test_delete_view_502_fails(self): with requests_mock.Mocker() as mock: # mock - mock.delete('/api/database/1/view/3', status_code=502) + mock.delete('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/view/1b3449d2-780e-4683-9af0-8733e608a4aa', + status_code=502) # test try: client = RestClient(username="a", password="b") - client.delete_view(database_id=1, view_id=3) + client.delete_view(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + view_id="1b3449d2-780e-4683-9af0-8733e608a4aa") except ServiceConnectionError: pass def test_delete_view_503_fails(self): with requests_mock.Mocker() as mock: # mock - mock.delete('/api/database/1/view/3', status_code=503) + mock.delete('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/view/1b3449d2-780e-4683-9af0-8733e608a4aa', + status_code=503) # test try: client = RestClient(username="a", password="b") - client.delete_view(database_id=1, view_id=3) + client.delete_view(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + view_id="1b3449d2-780e-4683-9af0-8733e608a4aa") except ServiceError: pass def test_delete_view_unknown_fails(self): with requests_mock.Mocker() as mock: # mock - mock.delete('/api/database/1/view/3', status_code=200) + mock.delete('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/view/1b3449d2-780e-4683-9af0-8733e608a4aa', + status_code=200) # test try: client = RestClient(username="a", password="b") - client.delete_view(database_id=1, view_id=3) + client.delete_view(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + view_id="1b3449d2-780e-4683-9af0-8733e608a4aa") except ResponseCodeError: pass def test_delete_view_anonymous_fails(self): with requests_mock.Mocker() as mock: # mock - mock.delete('/api/database/1/view/3', status_code=403) + mock.delete('/api/database/6bd39359-b154-456d-b9c2-caa516a45732/view/1b3449d2-780e-4683-9af0-8733e608a4aa', + status_code=403) # test try: - RestClient().delete_view(database_id=1, view_id=3) + RestClient().delete_view(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + view_id="1b3449d2-780e-4683-9af0-8733e608a4aa") except AuthenticationError: pass @@ -399,9 +440,12 @@ class ViewUnitTest(unittest.TestCase): exp = [{'id': 1, 'username': 'foo'}, {'id': 2, 'username': 'bar'}] df = DataFrame.from_records(json.dumps(exp)) # mock - mock.get('/api/database/1/view/3/data', json=json.dumps(exp)) + mock.get( + '/api/database/6bd39359-b154-456d-b9c2-caa516a45732/view/1b3449d2-780e-4683-9af0-8733e608a4aa/data', + json=json.dumps(exp)) # test - response = RestClient().get_view_data(database_id=1, view_id=3) + response = RestClient().get_view_data(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + view_id="1b3449d2-780e-4683-9af0-8733e608a4aa") self.assertTrue(DataFrame.equals(df, response)) def test_get_view_data_dataframe_succeeds(self): @@ -409,69 +453,90 @@ class ViewUnitTest(unittest.TestCase): exp = [{'id': 1, 'username': 'foo'}, {'id': 2, 'username': 'bar'}] df = DataFrame.from_records(json.dumps(exp)) # mock - mock.get('/api/database/1/view/3/data', json=json.dumps(exp)) + mock.get( + '/api/database/6bd39359-b154-456d-b9c2-caa516a45732/view/1b3449d2-780e-4683-9af0-8733e608a4aa/data', + json=json.dumps(exp)) # test - response: DataFrame = RestClient().get_view_data(database_id=1, view_id=3) + response: DataFrame = RestClient().get_view_data(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + view_id="1b3449d2-780e-4683-9af0-8733e608a4aa") self.assertEqual(df.shape, response.shape) self.assertTrue(DataFrame.equals(df, response)) def test_get_view_data_400_fails(self): with requests_mock.Mocker() as mock: # mock - mock.get('/api/database/1/view/3/data', status_code=400) + mock.get( + '/api/database/6bd39359-b154-456d-b9c2-caa516a45732/view/1b3449d2-780e-4683-9af0-8733e608a4aa/data', + status_code=400) # test try: - response = RestClient().get_view_data(database_id=1, view_id=3) + response = RestClient().get_view_data(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + view_id="1b3449d2-780e-4683-9af0-8733e608a4aa") except MalformedError: pass def test_get_view_data_403_fails(self): with requests_mock.Mocker() as mock: # mock - mock.get('/api/database/1/view/3/data', status_code=403) + mock.get( + '/api/database/6bd39359-b154-456d-b9c2-caa516a45732/view/1b3449d2-780e-4683-9af0-8733e608a4aa/data', + status_code=403) # test try: - response = RestClient().get_view_data(database_id=1, view_id=3) + response = RestClient().get_view_data(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + view_id="1b3449d2-780e-4683-9af0-8733e608a4aa") except ForbiddenError: pass def test_get_view_data_404_fails(self): with requests_mock.Mocker() as mock: # mock - mock.get('/api/database/1/view/3/data', status_code=404) + mock.get( + '/api/database/6bd39359-b154-456d-b9c2-caa516a45732/view/1b3449d2-780e-4683-9af0-8733e608a4aa/data', + status_code=404) # test try: - response = RestClient().get_view_data(database_id=1, view_id=3) + response = RestClient().get_view_data(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + view_id="1b3449d2-780e-4683-9af0-8733e608a4aa") except NotExistsError: pass def test_get_view_data_409_fails(self): with requests_mock.Mocker() as mock: # mock - mock.get('/api/database/1/view/3/data', status_code=409) + mock.get( + '/api/database/6bd39359-b154-456d-b9c2-caa516a45732/view/1b3449d2-780e-4683-9af0-8733e608a4aa/data', + status_code=409) # test try: - response = RestClient().get_view_data(database_id=1, view_id=3) + response = RestClient().get_view_data(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + view_id="1b3449d2-780e-4683-9af0-8733e608a4aa") except ExternalSystemError: pass def test_get_view_data_503_fails(self): with requests_mock.Mocker() as mock: # mock - mock.get('/api/database/1/view/3/data', status_code=503) + mock.get( + '/api/database/6bd39359-b154-456d-b9c2-caa516a45732/view/1b3449d2-780e-4683-9af0-8733e608a4aa/data', + status_code=503) # test try: - response = RestClient().get_view_data(database_id=1, view_id=3) + response = RestClient().get_view_data(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + view_id="1b3449d2-780e-4683-9af0-8733e608a4aa") except ServiceError: pass def test_get_view_data_unknown_fails(self): with requests_mock.Mocker() as mock: # mock - mock.get('/api/database/1/view/3/data', status_code=202) + mock.get( + '/api/database/6bd39359-b154-456d-b9c2-caa516a45732/view/1b3449d2-780e-4683-9af0-8733e608a4aa/data', + status_code=202) # test try: - response = RestClient().get_view_data(database_id=1, view_id=3) + response = RestClient().get_view_data(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + view_id="1b3449d2-780e-4683-9af0-8733e608a4aa") except ResponseCodeError: pass @@ -479,68 +544,89 @@ class ViewUnitTest(unittest.TestCase): with requests_mock.Mocker() as mock: exp = 844737 # mock - mock.head('/api/database/1/view/3/data', headers={'X-Count': str(exp)}) + mock.head( + '/api/database/6bd39359-b154-456d-b9c2-caa516a45732/view/1b3449d2-780e-4683-9af0-8733e608a4aa/data', + headers={'X-Count': str(exp)}) # test - response = RestClient().get_view_data_count(database_id=1, view_id=3) + response = RestClient().get_view_data_count(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + view_id="1b3449d2-780e-4683-9af0-8733e608a4aa") self.assertEqual(exp, response) def test_get_view_data_count_400_fails(self): with requests_mock.Mocker() as mock: # mock - mock.head('/api/database/1/view/3/data', status_code=400) + mock.head( + '/api/database/6bd39359-b154-456d-b9c2-caa516a45732/view/1b3449d2-780e-4683-9af0-8733e608a4aa/data', + status_code=400) # test try: - response = RestClient().get_view_data_count(database_id=1, view_id=3) + response = RestClient().get_view_data_count(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + view_id="1b3449d2-780e-4683-9af0-8733e608a4aa") except MalformedError: pass def test_get_view_data_count_403_fails(self): with requests_mock.Mocker() as mock: # mock - mock.head('/api/database/1/view/3/data', status_code=403) + mock.head( + '/api/database/6bd39359-b154-456d-b9c2-caa516a45732/view/1b3449d2-780e-4683-9af0-8733e608a4aa/data', + status_code=403) # test try: - response = RestClient().get_view_data_count(database_id=1, view_id=3) + response = RestClient().get_view_data_count(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + view_id="1b3449d2-780e-4683-9af0-8733e608a4aa") except ForbiddenError: pass def test_get_view_data_count_404_fails(self): with requests_mock.Mocker() as mock: # mock - mock.head('/api/database/1/view/3/data', status_code=404) + mock.head( + '/api/database/6bd39359-b154-456d-b9c2-caa516a45732/view/1b3449d2-780e-4683-9af0-8733e608a4aa/data', + status_code=404) # test try: - response = RestClient().get_view_data_count(database_id=1, view_id=3) + response = RestClient().get_view_data_count(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + view_id="1b3449d2-780e-4683-9af0-8733e608a4aa") except NotExistsError: pass def test_get_view_data_count_409_fails(self): with requests_mock.Mocker() as mock: # mock - mock.head('/api/database/1/view/3/data', status_code=409) + mock.head( + '/api/database/6bd39359-b154-456d-b9c2-caa516a45732/view/1b3449d2-780e-4683-9af0-8733e608a4aa/data', + status_code=409) # test try: - response = RestClient().get_view_data_count(database_id=1, view_id=3) + response = RestClient().get_view_data_count(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + view_id="1b3449d2-780e-4683-9af0-8733e608a4aa") except ExternalSystemError: pass def test_get_view_data_count_503_fails(self): with requests_mock.Mocker() as mock: # mock - mock.head('/api/database/1/view/3/data', status_code=503) + mock.head( + '/api/database/6bd39359-b154-456d-b9c2-caa516a45732/view/1b3449d2-780e-4683-9af0-8733e608a4aa/data', + status_code=503) # test try: - response = RestClient().get_view_data_count(database_id=1, view_id=3) + response = RestClient().get_view_data_count(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + view_id="1b3449d2-780e-4683-9af0-8733e608a4aa") except ServiceError: pass def test_get_view_data_count_unknown_fails(self): with requests_mock.Mocker() as mock: # mock - mock.head('/api/database/1/view/3/data', status_code=202) + mock.head( + '/api/database/6bd39359-b154-456d-b9c2-caa516a45732/view/1b3449d2-780e-4683-9af0-8733e608a4aa/data', + status_code=202) # test try: - response = RestClient().get_view_data_count(database_id=1, view_id=3) + response = RestClient().get_view_data_count(database_id="6bd39359-b154-456d-b9c2-caa516a45732", + view_id="1b3449d2-780e-4683-9af0-8733e608a4aa") except ResponseCodeError: pass