diff --git a/d3b_api_client_cli/db/postgres/__init__.py b/d3b_api_client_cli/db/postgres/__init__.py index 361171e..e24d185 100644 --- a/d3b_api_client_cli/db/postgres/__init__.py +++ b/d3b_api_client_cli/db/postgres/__init__.py @@ -25,9 +25,7 @@ class DBConnectionParam: def __post_init__(self): if any( - value is None - for value in vars(self).values() - if not callable(value) + not value for value in vars(self).values() if not callable(value) ): display = {} for k, v in vars(self).items(): diff --git a/tests/unit/db/test_postgres.py b/tests/unit/db/test_postgres.py new file mode 100644 index 0000000..5671bd5 --- /dev/null +++ b/tests/unit/db/test_postgres.py @@ -0,0 +1,52 @@ +""" +Unit tests for interacting with postgres +""" + +import pytest + +from d3b_api_client_cli.db.postgres import DBConnectionParam + + +def test_db_connection_params(): + """ + Test DBConnectionParam + """ + username = "foo" + password = "bar" + hostname = "postgres.com" + port = "5432" + db_name = "postgres" + + params = DBConnectionParam( + username=username, + password=password, + hostname=hostname, + port=port, + db_name=db_name, + ) + + assert params.username == username + assert params.password == password + assert params.hostname == hostname + assert params.port == port + assert params.db_name == db_name + + +def test_db_connection_params_error(): + """ + Test DBConnectionParam errors + """ + username = "" + password = "" + hostname = None + port = None + db_name = "postgres" + + with pytest.raises(ValueError): + DBConnectionParam( + username=username, + password=password, + hostname=hostname, + port=port, + db_name=db_name, + )