54 lines
1.6 KiB
Python
54 lines
1.6 KiB
Python
"""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()
|