added tests for check_env function

This commit is contained in:
brian
2024-10-20 18:30:12 +00:00
parent 5a1de4f2b2
commit bdc0535ea4
+53
View File
@@ -0,0 +1,53 @@
"""Definition of tests for check_env function."""
import os
import unittest
from shared.utils import check_env
class TestFunctionCheckEnv(unittest.TestCase):
"""Testing function check_env."""
def setUp(self):
"""Prepare for tests."""
# define variables for test
self.not_set_env_var = 'NOT_SET_ENV_VAR'
self.set_env_var_map = {
'ENV_VAR_UPPER': 'ENV_VAR_UPPER',
'ENV_VAR_LOWER': 'env_var_lower',
}
# set env vars
for key, val in self.set_env_var_map.items():
os.environ[key] = val
def tearDown(self):
"""Clean up after tests."""
# remove env vars
for key in self.set_env_var_map:
_ = os.environ.pop(key, default=None)
def test_input_type(self):
"""Test that function fails on wrong input types."""
with self.assertRaises(AssertionError):
check_env('not_a_list')
with self.assertRaises(AssertionError):
check_env({1, 2, 3})
def test_env_var_not_set(self):
"""Test that function raises AssertionError when checking environment
variable that is not set."""
var_list = {self.not_set_env_var}
msg = f'environment variable not set: {self.not_set_env_var}'
with self.assertRaises(AssertionError, msg=msg):
check_env(var_list)
def test_env_vars_set(self):
"""Test that function does not raise any errors when environment
variables are set."""
var_list = set(self.set_env_var_map.keys())
check_env(var_list)
if __name__ == '__main__':
unittest.main()