From bd8352eb50b0fc1df6be09ed37ade79fcc8196d6 Mon Sep 17 00:00:00 2001 From: Pradhvan Date: Sat, 25 Jul 2020 20:27:53 +0530 Subject: [PATCH 1/5] test/test_connectionConfig.py:Adds test to for connectionConfig * Added test for set_remote_auth() method --- .../tests/test_connectionConfig.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/terminusdb_client/tests/test_connectionConfig.py b/terminusdb_client/tests/test_connectionConfig.py index bfdb491a..e6d2659f 100644 --- a/terminusdb_client/tests/test_connectionConfig.py +++ b/terminusdb_client/tests/test_connectionConfig.py @@ -1,3 +1,5 @@ +import random +import string from terminusdb_client.woqlclient.connectionConfig import ConnectionConfig @@ -38,3 +40,18 @@ def test_change_server(self): def test_check_basic_auth(self): assert self.connection_config.basic_auth == "admin:mykey" + + def test_set_remote_auth(self): + auth_dict = {type: "jwt", "key": "eyJhbGciOiJIUzI1NiIsInR5c"} + self.connection_config.set_remote_auth(auth_dict) + assert self.connection_config.remote_auth == auth_dict + auth_dict = {type: "basic", "user": self.local_user, + "key": "admin_testDB_Password"} + self.connection_config.update(remote_auth=auth_dict) + assert self.connection_config.remote_auth == auth_dict + + def test_update(self): + """ + Use hypothesis here to test the values. + """ + pass From a5a3792963a8670182fdb461a97e6b641ae884a2 Mon Sep 17 00:00:00 2001 From: Pradhvan Date: Sat, 25 Jul 2020 22:59:17 +0530 Subject: [PATCH 2/5] test_connectionConfig.py: Adds test for update and clear_cursor --- .../tests/test_connectionConfig.py | 36 ++++++++++++++++--- 1 file changed, 32 insertions(+), 4 deletions(-) diff --git a/terminusdb_client/tests/test_connectionConfig.py b/terminusdb_client/tests/test_connectionConfig.py index e6d2659f..809bdc7e 100644 --- a/terminusdb_client/tests/test_connectionConfig.py +++ b/terminusdb_client/tests/test_connectionConfig.py @@ -1,5 +1,6 @@ import random import string +import pytest from terminusdb_client.woqlclient.connectionConfig import ConnectionConfig @@ -51,7 +52,34 @@ def test_set_remote_auth(self): assert self.connection_config.remote_auth == auth_dict def test_update(self): - """ - Use hypothesis here to test the values. - """ - pass + id_value = ''.join(random.choice( + string.ascii_uppercase + string.ascii_lowercase + ) for _ in range(16)) + self.connection_config.update(db=id_value) + self.connection_config.update(account=id_value) + self.connection_config.update(repo=id_value) + self.connection_config.update(branch=id_value) + self.connection_config.update(ref=id_value) + self.connection_config.update(repo=id_value) + assert self.connection_config.db == id_value + assert self.connection_config.account == id_value + assert self.connection_config.repo == id_value + assert self.connection_config.branch == id_value + assert self.connection_config.ref == id_value + assert self.connection_config.repo == id_value + + def test_clear_cursor(self): + id_value = ''.join(random.choice( + string.ascii_uppercase + string.ascii_lowercase + ) for _ in range(16)) + self.connection_config.update(branch=id_value) + self.connection_config.update(repo=id_value) + self.connection_config.update(account=id_value) + self.connection_config.update(db=id_value) + self.connection_config.update(ref=id_value) + self.connection_config.clear_cursor() + assert self.connection_config.branch != id_value + assert self.connection_config.repo != id_value + assert self.connection_config.account is False + assert self.connection_config.db is False + assert self.connection_config.ref is False From 49e0ff5deed96cebfe3d7bf66beef15e99e7fc6b Mon Sep 17 00:00:00 2001 From: Pradhvan Date: Sun, 26 Jul 2020 02:22:18 +0530 Subject: [PATCH 3/5] test_connectionConfig: Updated coverage to 75% * Added `id_value` to store dummy string values * Added test for user * Added test for set_basic_auth * Added test for db_url_fragement * Added test for repo_base --- .../tests/test_connectionConfig.py | 88 +++++++++++++------ 1 file changed, 62 insertions(+), 26 deletions(-) diff --git a/terminusdb_client/tests/test_connectionConfig.py b/terminusdb_client/tests/test_connectionConfig.py index 809bdc7e..1917eca3 100644 --- a/terminusdb_client/tests/test_connectionConfig.py +++ b/terminusdb_client/tests/test_connectionConfig.py @@ -1,6 +1,5 @@ import random import string -import pytest from terminusdb_client.woqlclient.connectionConfig import ConnectionConfig @@ -8,6 +7,11 @@ class TestConnectionConfig: start_server_url = "http://localhost:6363/" start_dbid = "testDB" local_user = "admin" + # Set of random string values that can as replacements for dummy id valuess + # i.e accountid,branchid,refid etc + id_value = ''.join(random.choice( + string.ascii_uppercase + string.ascii_lowercase + ) for _ in range(16)) # to be review !!!!! connection_config = ConnectionConfig( start_server_url, @@ -52,34 +56,66 @@ def test_set_remote_auth(self): assert self.connection_config.remote_auth == auth_dict def test_update(self): - id_value = ''.join(random.choice( - string.ascii_uppercase + string.ascii_lowercase - ) for _ in range(16)) - self.connection_config.update(db=id_value) - self.connection_config.update(account=id_value) - self.connection_config.update(repo=id_value) - self.connection_config.update(branch=id_value) - self.connection_config.update(ref=id_value) - self.connection_config.update(repo=id_value) - assert self.connection_config.db == id_value - assert self.connection_config.account == id_value - assert self.connection_config.repo == id_value - assert self.connection_config.branch == id_value - assert self.connection_config.ref == id_value - assert self.connection_config.repo == id_value + self.connection_config.update(db=self.id_value) + self.connection_config.update(account=self.id_value) + self.connection_config.update(repo=self.id_value) + self.connection_config.update(branch=self.id_value) + self.connection_config.update(ref=self.id_value) + self.connection_config.update(repo=self.id_value) + assert self.connection_config.db == self.id_value + assert self.connection_config.account == self.id_value + assert self.connection_config.repo == self.id_value + assert self.connection_config.branch == self.id_value + assert self.connection_config.ref == self.id_value + assert self.connection_config.repo == self.id_value def test_clear_cursor(self): - id_value = ''.join(random.choice( - string.ascii_uppercase + string.ascii_lowercase - ) for _ in range(16)) - self.connection_config.update(branch=id_value) - self.connection_config.update(repo=id_value) - self.connection_config.update(account=id_value) - self.connection_config.update(db=id_value) - self.connection_config.update(ref=id_value) + self.connection_config.update(branch=self.id_value) + self.connection_config.update(repo=self.id_value) + self.connection_config.update(account=self.id_value) + self.connection_config.update(db=self.id_value) + self.connection_config.update(ref=self.id_value) self.connection_config.clear_cursor() - assert self.connection_config.branch != id_value - assert self.connection_config.repo != id_value + assert self.connection_config.branch != self.id_value + assert self.connection_config.repo != self.id_value assert self.connection_config.account is False assert self.connection_config.db is False assert self.connection_config.ref is False + + def test_user(self): + assert self.connection_config.user() == self.local_user + auth_dict = {type: "jwt", "key": "eyJhbGciOiJIUzI1NiIsInR5c"} + self.connection_config.update(remote=auth_dict) + assert self.connection_config.user() == self.local_user + + def test_set_basic_auth(self): + assert self.connection_config.set_basic_auth() is None + self.connection_config.set_basic_auth(api_key="admin_testDB_Password") + basic_auth = self.connection_config.basic_auth + assert basic_auth == "admin:admin_testDB_Password" + + def test_db_url_fragmen(self): + self.connection_config.update(db=self.id_value) + self.connection_config.update(account=self.id_value) + db_url_fragment = self.connection_config.db_url_fragment() + assert db_url_fragment == f'{self.id_value}/{self.id_value}' + + def test_db_base(self): + self.connection_config.update(db=self.id_value) + self.connection_config.update(account=self.id_value) + db_base = self.connection_config.db_base('push') + assert ( + db_base + == f"http://localhost:6363/push/{self.id_value}/{self.id_value}" + ) + + def test_repo_base(self): + self.connection_config.update(db=self.id_value) + self.connection_config.update(account=self.id_value) + db_base = self.connection_config.db_base('pull') + default_base = self.connection_config.repo_base('pull') + assert default_base == f"http://localhost:6363/pull/{self.id_value}/{self.id_value}/local" + self.connection_config.update(repo=self.id_value) + updated_base = self.connection_config.db_base('pull') + assert updated_base == f"http://localhost:6363/pull/{self.id_value}/{self.id_value}" + From 5a6b8092e448c938d7a947271b2ad2c888482e1f Mon Sep 17 00:00:00 2001 From: Pradhvan Date: Sun, 26 Jul 2020 13:33:12 +0530 Subject: [PATCH 4/5] Added connectionConfig tests for setters * Added test for test_account() * Added test for db() * Added test for repo() * Added test for branch() * Added test for ref() --- .../tests/test_connectionConfig.py | 59 ++++++++++++++----- 1 file changed, 43 insertions(+), 16 deletions(-) diff --git a/terminusdb_client/tests/test_connectionConfig.py b/terminusdb_client/tests/test_connectionConfig.py index 1917eca3..b75fd8ad 100644 --- a/terminusdb_client/tests/test_connectionConfig.py +++ b/terminusdb_client/tests/test_connectionConfig.py @@ -1,5 +1,6 @@ import random import string + from terminusdb_client.woqlclient.connectionConfig import ConnectionConfig @@ -9,9 +10,10 @@ class TestConnectionConfig: local_user = "admin" # Set of random string values that can as replacements for dummy id valuess # i.e accountid,branchid,refid etc - id_value = ''.join(random.choice( - string.ascii_uppercase + string.ascii_lowercase - ) for _ in range(16)) + id_value = "".join( + random.choice(string.ascii_uppercase + string.ascii_lowercase) + for _ in range(16) + ) # to be review !!!!! connection_config = ConnectionConfig( start_server_url, @@ -50,8 +52,11 @@ def test_set_remote_auth(self): auth_dict = {type: "jwt", "key": "eyJhbGciOiJIUzI1NiIsInR5c"} self.connection_config.set_remote_auth(auth_dict) assert self.connection_config.remote_auth == auth_dict - auth_dict = {type: "basic", "user": self.local_user, - "key": "admin_testDB_Password"} + auth_dict = { + type: "basic", + "user": self.local_user, + "key": "admin_testDB_Password", + } self.connection_config.update(remote_auth=auth_dict) assert self.connection_config.remote_auth == auth_dict @@ -98,24 +103,46 @@ def test_db_url_fragmen(self): self.connection_config.update(db=self.id_value) self.connection_config.update(account=self.id_value) db_url_fragment = self.connection_config.db_url_fragment() - assert db_url_fragment == f'{self.id_value}/{self.id_value}' + assert db_url_fragment == f"{self.id_value}/{self.id_value}" def test_db_base(self): self.connection_config.update(db=self.id_value) self.connection_config.update(account=self.id_value) - db_base = self.connection_config.db_base('push') - assert ( - db_base - == f"http://localhost:6363/push/{self.id_value}/{self.id_value}" - ) + db_base = self.connection_config.db_base("push") + assert db_base == f"http://localhost:6363/push/{self.id_value}/{self.id_value}" def test_repo_base(self): self.connection_config.update(db=self.id_value) self.connection_config.update(account=self.id_value) - db_base = self.connection_config.db_base('pull') - default_base = self.connection_config.repo_base('pull') - assert default_base == f"http://localhost:6363/pull/{self.id_value}/{self.id_value}/local" + self.connection_config.db_base("pull") + default_base = self.connection_config.repo_base("pull") + assert ( + default_base + == f"http://localhost:6363/pull/{self.id_value}/{self.id_value}/local" + ) self.connection_config.update(repo=self.id_value) - updated_base = self.connection_config.db_base('pull') - assert updated_base == f"http://localhost:6363/pull/{self.id_value}/{self.id_value}" + updated_base = self.connection_config.db_base("pull") + assert ( + updated_base + == f"http://localhost:6363/pull/{self.id_value}/{self.id_value}" + ) + def test_account(self): + self.connection_config.account = self.id_value + assert self.connection_config.account == self.id_value + + def test_db(self): + self.connection_config.db = self.id_value + assert self.connection_config.db == self.id_value + + def test_repo(self): + self.connection_config.repo = self.id_value + assert self.connection_config.repo == self.id_value + + def branch(self): + self.connection_config.branch = self.id_value + assert self.connection_config.branch == self.id_value + + def ref(self): + self.connection_config.ref = self.id_value + assert self.connection_config.ref == self.id_value From 6d86a4b91124f413401bd281552626db9c8f2069 Mon Sep 17 00:00:00 2001 From: Pradhvan Date: Sun, 26 Jul 2020 16:47:09 +0530 Subject: [PATCH 5/5] Fixes flake8 errors * Used secrets instead of random to generate random values. --- terminusdb_client/tests/test_connectionConfig.py | 5 +++-- terminusdb_client/woqldataframe/woqlDataframe.py | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/terminusdb_client/tests/test_connectionConfig.py b/terminusdb_client/tests/test_connectionConfig.py index b75fd8ad..4025a6ce 100644 --- a/terminusdb_client/tests/test_connectionConfig.py +++ b/terminusdb_client/tests/test_connectionConfig.py @@ -1,4 +1,4 @@ -import random +import secrets import string from terminusdb_client.woqlclient.connectionConfig import ConnectionConfig @@ -11,7 +11,7 @@ class TestConnectionConfig: # Set of random string values that can as replacements for dummy id valuess # i.e accountid,branchid,refid etc id_value = "".join( - random.choice(string.ascii_uppercase + string.ascii_lowercase) + secrets.choice(string.ascii_uppercase + string.ascii_lowercase) for _ in range(16) ) # to be review !!!!! @@ -120,6 +120,7 @@ def test_repo_base(self): default_base == f"http://localhost:6363/pull/{self.id_value}/{self.id_value}/local" ) + self.connection_config.update(repo=self.id_value) updated_base = self.connection_config.db_base("pull") assert ( diff --git a/terminusdb_client/woqldataframe/woqlDataframe.py b/terminusdb_client/woqldataframe/woqlDataframe.py index 79d74220..5ba4f4a7 100644 --- a/terminusdb_client/woqldataframe/woqlDataframe.py +++ b/terminusdb_client/woqldataframe/woqlDataframe.py @@ -28,7 +28,6 @@ class EmptyException(Exception): If the result table of the query is empty """ - pass def _is_empty(query):