import unittest import os import kosmorrolib.core as core from datetime import date from dateutil.relativedelta import relativedelta class CoreTestCase(unittest.TestCase): def test_flatten_list(self): self.assertEqual([0, 1, 2, 3, 4, 5, 6, 7, 8, 9], core.flatten_list([0, 1, 2, [3, 4, [5, 6], 7], 8, [9]])) def test_get_env(self): self.assertEqual(0, len(core.get_env())) os.environ['SOME_RANDOM_VAR'] = 'an awesome value' self.assertEqual(0, len(core.get_env())) os.environ['KOSMORRO_GREAT_VARIABLE'] = 'value' env = core.get_env() self.assertEqual(1, len(env)) self.assertEqual('value', env.great_variable) os.environ['KOSMORRO_ANOTHER_VARIABLE'] = 'another value' env = core.get_env() self.assertEqual(2, len(env)) self.assertEqual('value', env.great_variable) self.assertEqual('another value', env.another_variable) self.assertEqual("{'great_variable': 'value', 'another_variable': 'another value'}", str(env)) def test_date_arg_parsing(self): self.assertEqual(core.get_date("+1y 2m3d"), date.today() + relativedelta(years=1, months=2, days=3)) self.assertEqual(core.get_date("-1y2d"), date.today() - relativedelta(years=1, days=2)) self.assertEqual(core.get_date("1111-11-13"), date(1111, 11, 13)) if __name__ == '__main__': unittest.main()