Skip to content
Snippets Groups Projects
Commit 8b3fc233 authored by Christian Boettcher's avatar Christian Boettcher
Browse files

basic testing completed

parent 9fe12872
No related branches found
No related tags found
No related merge requests found
Pipeline #87473 passed
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
dist/ dist/
__pycache__/ __pycache__/
*.egg-info/ *.egg-info/
coverage_html_report/
# generated files # generated files
.coverage .coverage
......
from unittest import TestCase from unittest import TestCase
import os import os, json
from dotenv import load_dotenv from dotenv import load_dotenv
from datacat_integration.secrets import DataCatConnectionWithSecrets, get_connection_with_secrets_from_entry, DatacatSecretsBackend from datacat_integration.secrets import DataCatConnectionWithSecrets, get_connection_with_secrets_from_entry, DatacatSecretsBackend
class TestSecretsBackenbd(TestCase): class TestSecretsBackend(TestCase):
def setUp(self): def setUp(self):
load_dotenv("tests/testing-authentication.env", verbose=False) # does nothing if file is not present load_dotenv("tests/testing-authentication.env", verbose=False) # does nothing if file is not present
self.backend = DatacatSecretsBackend() self.backend = DatacatSecretsBackend()
...@@ -25,3 +25,40 @@ class TestSecretsBackenbd(TestCase): ...@@ -25,3 +25,40 @@ class TestSecretsBackenbd(TestCase):
self.assertEqual(conn.extra_dejson['some_extra'], "secret_12345") self.assertEqual(conn.extra_dejson['some_extra'], "secret_12345")
self.assertEqual(conn.extra_dejson['some_public_extra'], "12345") self.assertEqual(conn.extra_dejson['some_public_extra'], "12345")
self.assertEqual(conn.extra_dejson['some_other_extra_to_be_overwritten_by_secret'], "secret_67890") self.assertEqual(conn.extra_dejson['some_other_extra_to_be_overwritten_by_secret'], "secret_67890")
class TestSecretsConnection(TestCase):
def setUp(self):
load_dotenv("tests/testing-authentication.env", verbose=False) # does nothing if file is not present
self.url = os.getenv('DATACAT_URL', "https://zam10036.zam.kfa-juelich.de")
self.user = os.getenv('DATACAT_LOGIN', "dls-testing")
self.password = os.getenv('DATACAT_PASSWORD')
self.assertIsNotNone(self.url)
self.assertIsNotNone(self.user)
self.assertIsNotNone(self.password)
self.connection = DataCatConnectionWithSecrets(self.url, self.user, self.password)
self.oid = "860355e9-975f-4253-9421-1815e20c879b"
self.conn_type = "airflow_connections"
self.keys = ["login", "password", "some_extra", "some_other_extra", "some_other_extra_to_be_overwritten_by_secret"]
self.key_value_map = { "login": "foo", "password": "bar", "some_extra": "secret_12345", "some_other_extra": "secret_67890",
"some_other_extra_to_be_overwritten_by_secret": "secret_67890" }
def test_get_keys(self):
keys = json.loads(self.connection.get_secrets_keys(self.conn_type, self.oid))
self.assertListEqual(keys, self.keys)
def test_get_key_value(self):
k_v_map = json.loads(self.connection.get_all_secret_key_value(self.conn_type, self.oid))
self.assertDictEqual(k_v_map, self.key_value_map)
def test_get_single_value(self):
for key in self.keys:
self.assertEqual(self.key_value_map[key], json.loads(self.connection.get_secret_value(self.conn_type, self.oid, key)))
def test_connection_errore(self):
self.assertRaises(ConnectionError, self.connection.get_secrets_keys, self.conn_type, "invalid_oid")
self.assertRaises(ConnectionError, self.connection.get_all_secret_key_value, self.conn_type, "invalid_oid")
self.assertRaises(ConnectionError, self.connection.get_secret_value, self.conn_type, "invalid_oid", "fake_key")
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment