From 3e950274b117335b46db0838b55f9017a6985f3a Mon Sep 17 00:00:00 2001 From: David Trattnig <david.trattnig@o94.at> Date: Wed, 16 Dec 2020 10:02:54 +0100 Subject: [PATCH] Some basic test case. #63 --- tests/test.py | 122 +++++++++----------------------------------------- 1 file changed, 22 insertions(+), 100 deletions(-) diff --git a/tests/test.py b/tests/test.py index 7fc24393..76a539b2 100644 --- a/tests/test.py +++ b/tests/test.py @@ -26,11 +26,9 @@ from datetime import datetime from src.base.logger import AuraLogger from src.base.config import AuraConfig -from src.scheduling.models import Timeslot -# src -from src.scheduling.scheduler import AuraScheduler + class TestLogger(unittest.TestCase): aura_logger = None @@ -44,117 +42,41 @@ class TestLogger(unittest.TestCase): class TestConfig(unittest.TestCase): - aura_config = None + + config = None def setUp(self): - self.aura_config = AuraConfig() + self.config = AuraConfig() + def test_config(self): - # is ini path correct set? - self.assertEqual(self.config.ini_path, "/etc/aura/engine.ini") + # Check if config is available + self.assertIsNotNone(self.config.ini_path) - # install_dir is set by runtime. is it a directory? + # Check if "install_dir" is a valid directory (is evaluated at runtime) self.assertTrue(os.path.isdir(self.config.get("install_dir"))) - # calendarurl and importerurl set and valid urls? - self.assertTrue(validators.url(self.config.get("calendarurl"))) - self.assertTrue(validators.url(self.config.get("importerurl"))) - - # is liquidsoap socketdir set and a directory? + # Check API Urls + self.assertTrue(validators.url(self.config.get("api_steering_status"))) + self.assertTrue(validators.url(self.config.get("api_steering_calendar"))) + self.assertTrue(validators.url(self.config.get("api_tank_status"))) + tank_playlist_url = self.config.get("api_tank_playlist").replace("${ID}", "1") + self.assertTrue(validators.url(tank_playlist_url)) + self.assertTrue(validators.url(self.config.get("api_engine_status"))) + self.assertTrue(validators.url(self.config.get("api_engine_store_playlog"))) + self.assertTrue(validators.url(self.config.get("api_engine_store_clock"))) + engine_health_url = self.config.get("api_engine_store_health").replace("${ENGINE_NUMBER}", "1") + self.assertTrue(validators.url(engine_health_url)) + + # Check if Liquidsoap "socketdir" is set and a directory self.assertTrue(os.path.isdir(self.config.get("socketdir"))) - # database settings set? + # Check if database settings are set self.assertIsNotNone(self.config.get("db_user")) self.assertIsNotNone(self.config.get("db_pass")) self.assertIsNotNone(self.config.get("db_name")) self.assertIsNotNone(self.config.get("db_host")) -class TestTimeslot(unittest.TestCase): - timeslot = None - - def setUp(self): - self.timeslot = Timeslot() - - def test_timeslot(self): - # select one and check if its not None and a Timeslot - entry = self.timeslot.select_by_id(1) - self.assertIsNotNone(entry) - self.assertIsInstance(entry, Timeslot) - - -class TestTimeslotEntry(unittest.TestCase): - timeslot_entry = None - - def setUp(self): - self.timeslot_entry = TimeslotEntry() - - def test_timeslot_entry(self): - # select one playlist and check if its not None, a TimeslotEntry - entry = self.timeslot_entry.select_playlist(2) - - self.assertIsNotNone(entry) - self.assertIsInstance(entry, list) - self.assertGreaterEqual(len(entry), 1) - - -class TestTrackService(unittest.TestCase): - track_service = None - - def setUp(self): - self.track_service = TrackService() - - def test_track_service(self): - day = datetime.strptime("19.03.2018", "%d.%m.%Y") - entry = self.track_service.select_by_day(day) - self.assertIsNotNone(entry) - self.assertIsInstance(entry, list) - - -class TestAuraUser(unittest.TestCase): - aura_user = None - - def setUp(self): - self.aura_user = AuraUser() - - def test_add_user(self): - username = "user" - password = "password" - role = "admin" - - login_cnt = len(self.aura_user.getLogins()) - - # insert user - key = self.aura_user.insertUser(username, password, role) - - self.assertGreaterEqual(len(self.aura_user.getLogins()), login_cnt) - - # selecting user and check data - user = self.aura_user.getUserByKey(key) - - self.assertEqual(user["username"], username) - # TODO: no encrypted storage.., but usermgm not really in use - self.assertEqual(user["password"], password) - self.assertEqual(user["role"], role) - - -class TestLQSComm(unittest.TestCase): - comm = None - - def setUp(self): - # wosn do passiert? - p = AuraConfig().config - - self.soundsystem = SoundSystem(p) - self.soundsystem.scheduler = AuraScheduler(p) - - self.soundsystem.init_player() - - - def test_get_active_channel(self): - active_channel = self.comm.get_active_channel() - - print(active_channel) - if __name__ == '__main__': -- GitLab