Skip to content
Snippets Groups Projects
Commit 3b508686 authored by Chris Pastl's avatar Chris Pastl Committed by David Trattnig
Browse files
parent 0d145b2f
No related branches found
No related tags found
1 merge request!35ORM-less scheduling
...@@ -38,6 +38,9 @@ class TestConfig(unittest.TestCase): ...@@ -38,6 +38,9 @@ class TestConfig(unittest.TestCase):
def test_config(self): def test_config(self):
print(self._testMethodName) print(self._testMethodName)
# Regex for validating directory paths; including non-existing and prefixed "../"
directory_regex = r"^.*\/(?:\.?[^./]+)$"
# Check if config is available # Check if config is available
self.assertIsNotNone(AuraConfig.instance.config_file_path) self.assertIsNotNone(AuraConfig.instance.config_file_path)
...@@ -47,7 +50,24 @@ class TestConfig(unittest.TestCase): ...@@ -47,7 +50,24 @@ class TestConfig(unittest.TestCase):
# Reference to confuse config # Reference to confuse config
cfg = self.config.config cfg = self.config.config
# Check API Urls # general
self.assertRegex(cfg.general.socket_dir, directory_regex)
self.assertRegex(cfg.general.cache_dir, directory_regex)
self.assertIsInstance(cfg.general.fallback_show_name, str)
self.assertIsInstance(cfg.general.fallback_show_id, int)
# log
self.assertTrue(os.path.isdir(cfg.log.directory))
self.assertIn(cfg.log.level, ["debug", "info", "warning", "error", "critical"])
# monitoring
self.assertTrue(
cfg.monitoring.heartbeat.host == ""
or validators.domain(cfg.monitoring.heartbeat.host)
or validators.ipv4(cfg.monitoring.heartbeat.host)
)
# api
self.assertTrue(validators.url(cfg.api.steering.status)) self.assertTrue(validators.url(cfg.api.steering.status))
self.assertTrue(validators.url(cfg.api.steering.calendar)) self.assertTrue(validators.url(cfg.api.steering.calendar))
self.assertTrue(validators.url(cfg.api.tank.status)) self.assertTrue(validators.url(cfg.api.tank.status))
...@@ -59,6 +79,24 @@ class TestConfig(unittest.TestCase): ...@@ -59,6 +79,24 @@ class TestConfig(unittest.TestCase):
engine_health_url = cfg.api.engine.store_health.replace("${ENGINE_NUMBER}", "1") engine_health_url = cfg.api.engine.store_health.replace("${ENGINE_NUMBER}", "1")
self.assertTrue(validators.url(engine_health_url)) self.assertTrue(validators.url(engine_health_url))
# scheduler
self.assertRegex(cfg.scheduler.audio.source_folder, directory_regex)
self.assertRegex(cfg.scheduler.audio.source_extension, r"\.[a-zA-Z0-9]+$")
self.assertRegex(cfg.scheduler.audio.playlist_folder, directory_regex)
self.assertIsInstance(cfg.scheduler.audio.engine_latency_offset, float)
self.assertIsInstance(cfg.scheduler.fetching_frequency, int)
self.assertIsInstance(cfg.scheduler.scheduling_window_start, int)
self.assertIsInstance(cfg.scheduler.scheduling_window_end, int)
self.assertIsInstance(cfg.scheduler.preload_offset, int)
self.assertIsInstance(cfg.scheduler.input_stream.retry_delay, int)
self.assertIsInstance(cfg.scheduler.input_stream.max_retries, int)
self.assertIsInstance(cfg.scheduler.input_stream.buffer, float)
self.assertIsInstance(cfg.scheduler.fade_in_time, float)
self.assertIsInstance(cfg.scheduler.fade_out_time, float)
if __name__ == "__main__": if __name__ == "__main__":
unittest.main() unittest.main()
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment