added tests for check_env function
This commit is contained in:
@@ -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()
|
||||
Reference in New Issue
Block a user