From d97cbd710aa3acb6597fcab76fcc1cb8ef3741ff Mon Sep 17 00:00:00 2001
From: David Trattnig <david@subsquare.at>
Date: Mon, 27 Nov 2023 18:02:24 +0100
Subject: [PATCH] test: update config retrieval

---
 tests/test_app.py                     |  2 +-
 tests/test_clock_handler.py           |  4 ++--
 tests/test_config.py                  |  4 ++--
 tests/test_domain.py                  |  2 +-
 tests/test_engine_event_dispatcher.py |  2 +-
 tests/test_engine_resources.py        |  4 ++--
 tests/test_logger.py                  |  2 +-
 tests/test_monitor.py                 |  2 +-
 tests/test_scheduling_api_fetcher.py  |  2 +-
 tests/test_scheduling_api_steering.py |  2 +-
 tests/test_scheduling_api_tank.py     |  2 +-
 tests/test_scheduling_scheduler.py    |  6 +++---
 tests/test_scheduling_timetable.py    |  8 ++++----
 tests/test_scheduling_utils.py        |  4 ++--
 tests/test_simple_api.py              |  8 +-------
 tests/test_simple_api_cached.py       | 14 +++++---------
 16 files changed, 29 insertions(+), 39 deletions(-)

diff --git a/tests/test_app.py b/tests/test_app.py
index a864216d..0ac5cc3f 100644
--- a/tests/test_app.py
+++ b/tests/test_app.py
@@ -45,7 +45,7 @@ class TestApp(unittest.TestCase):
     #
 
     def setUp(self):
-        self.config = AuraConfig()
+        self.config = AuraConfig.instance.config
 
     #
     # Test Cases
diff --git a/tests/test_clock_handler.py b/tests/test_clock_handler.py
index 591d18cc..a8dd0de5 100644
--- a/tests/test_clock_handler.py
+++ b/tests/test_clock_handler.py
@@ -41,8 +41,8 @@ class TestClockHandler(unittest.TestCase):
     #
 
     def setUp(self):
-        self.config = AuraConfig()
-        cache_location = self.config.get("cache_dir")
+        self.config = AuraConfig.instance.config
+        cache_location = self.config.general.cache_dir
         self.timetable = TimetableService(cache_location)
         f = self.timetable.timetable_file
         self.timetable.timetable_file = f.replace("timetable.json", "timetable-test.json")
diff --git a/tests/test_config.py b/tests/test_config.py
index f5fc8651..dfae16c5 100644
--- a/tests/test_config.py
+++ b/tests/test_config.py
@@ -33,13 +33,13 @@ class TestConfig(unittest.TestCase):
     config = None
 
     def setUp(self):
-        self.config = AuraConfig()
+        self.config = AuraConfig.instance
 
     def test_config(self):
         print(self._testMethodName)
 
         # Check if config is available
-        self.assertIsNotNone(self.config.yaml_path)
+        self.assertIsNotNone(AuraConfig.instance.yaml_path)
 
         # Check if "install_dir" is a valid directory (is evaluated at runtime)
         self.assertTrue(os.path.isdir(self.config.confuse_config["install_dir"].get()))
diff --git a/tests/test_domain.py b/tests/test_domain.py
index 2e80e83c..6fa5ca63 100644
--- a/tests/test_domain.py
+++ b/tests/test_domain.py
@@ -40,7 +40,7 @@ class TestDomain(unittest.TestCase):
     aura_logger = None
 
     def setUp(self):
-        self.config = AuraConfig()
+        self.config = AuraConfig.instance.config
         self.aura_logger = AuraLogger(self.config)
 
     def test_timeslot_init(self):
diff --git a/tests/test_engine_event_dispatcher.py b/tests/test_engine_event_dispatcher.py
index 776c22cc..81d1b9d6 100644
--- a/tests/test_engine_event_dispatcher.py
+++ b/tests/test_engine_event_dispatcher.py
@@ -185,7 +185,7 @@ class TestEventDispatcher(unittest.TestCase):
     config = None
 
     def setUp(self):
-        self.config = AuraConfig()
+        self.config = AuraConfig.instance.config
 
     def test_event_dispatcher_init(self):
         print(self._testMethodName)
diff --git a/tests/test_engine_resources.py b/tests/test_engine_resources.py
index 8a4bb295..f37e845d 100644
--- a/tests/test_engine_resources.py
+++ b/tests/test_engine_resources.py
@@ -45,7 +45,7 @@ class TestEngineResources(unittest.TestCase):
     config = None
 
     def setUp(self):
-        self.config = AuraConfig()
+        self.config = AuraConfig.instance.config
 
     def test_resource_mapping(self):
         print(self._testMethodName)
@@ -157,7 +157,7 @@ class TestEngineResources(unittest.TestCase):
         pl.add(e3)
 
         file_path: str = "./.cache/test.m3u"
-        ResourceUtil.generate_m3u_file(file_path, pl.items, self.config)
+        ResourceUtil.generate_m3u_file(file_path, pl.items)
         print("created M3U file:" + file_path)
 
         self.assertTrue(pathlib.Path(file_path).is_file())
diff --git a/tests/test_logger.py b/tests/test_logger.py
index 4344b55c..afd23b5c 100644
--- a/tests/test_logger.py
+++ b/tests/test_logger.py
@@ -31,7 +31,7 @@ class TestLogger(unittest.TestCase):
     aura_logger = None
 
     def setUp(self):
-        self.config = AuraConfig().config
+        self.config = AuraConfig.instance.config
         self.aura_logger = AuraLogger(self.config)
 
     def test_logger(self):
diff --git a/tests/test_monitor.py b/tests/test_monitor.py
index 15018ce3..857d7bca 100644
--- a/tests/test_monitor.py
+++ b/tests/test_monitor.py
@@ -52,7 +52,7 @@ class TestLogger(unittest.TestCase):
         return MockResponse(None, 404)
 
     def setUp(self):
-        self.config = AuraConfig()
+        self.config = AuraConfig.instance.config
         self.monitor = AuraMonitor(None)
 
     @mock.patch("aura_engine.base.api.requests.get", side_effect=mocked_requests_get)
diff --git a/tests/test_scheduling_api_fetcher.py b/tests/test_scheduling_api_fetcher.py
index 240ec19a..d5c831dc 100644
--- a/tests/test_scheduling_api_fetcher.py
+++ b/tests/test_scheduling_api_fetcher.py
@@ -102,7 +102,7 @@ class TestSchedulingApiFetcher(unittest.TestCase):
     #
 
     def setUp(self):
-        self.config = AuraConfig()
+        self.config = AuraConfig.instance
         self.api_fetcher = ApiFetcher()
 
         self.api_fetcher.m3u_processor.playlist_folder = "./tests/m3u/"
diff --git a/tests/test_scheduling_api_steering.py b/tests/test_scheduling_api_steering.py
index 7f97ef82..68317098 100644
--- a/tests/test_scheduling_api_steering.py
+++ b/tests/test_scheduling_api_steering.py
@@ -35,7 +35,7 @@ class TestApiSteering(unittest.TestCase):
     mocked_steering_json = None
 
     def setUp(self):
-        self.config = AuraConfig()
+        self.config = AuraConfig.instance.config
         with open("./tests/json/steering-api-v1-playout.json", "r") as file:
             self.mocked_steering_json = json.load(file)
 
diff --git a/tests/test_scheduling_api_tank.py b/tests/test_scheduling_api_tank.py
index 06749ef6..9d89d5c4 100644
--- a/tests/test_scheduling_api_tank.py
+++ b/tests/test_scheduling_api_tank.py
@@ -37,7 +37,7 @@ class TestApiTank(unittest.TestCase):
     mocked_tank_json = None
 
     def setUp(self):
-        self.config = AuraConfig()
+        self.config = AuraConfig.instance.config
         with open("./tests/json/tank-api-v1-playlists-1.json", "r") as file:
             self.mocked_tank_json = json.load(file)
 
diff --git a/tests/test_scheduling_scheduler.py b/tests/test_scheduling_scheduler.py
index 526346af..8ddf4643 100644
--- a/tests/test_scheduling_scheduler.py
+++ b/tests/test_scheduling_scheduler.py
@@ -102,7 +102,7 @@ class MockedTimeslotCommand:
             engine (Engine): The engine
             timeslot (Timeslot): The timeslot which is starting at this time
         """
-        self.config = AuraConfig()
+        self.config = AuraConfig.instance.config
         self.engine = engine
         caller = inspect.stack()[2].function
         CommandRegistry.register(caller, self)
@@ -151,7 +151,7 @@ class MockedPlayCommand:
             engine (Engine): The engine
             items ([PlaylistItem]): One or more playlist items to be started
         """
-        self.config = AuraConfig()
+        self.config = AuraConfig.instance.config
         self.engine = engine
         caller = inspect.stack()[2].function
         CommandRegistry.register(caller, self)
@@ -199,7 +199,7 @@ class TestSchedulingScheduler(unittest.TestCase):
     # Setup and teardown
 
     def setUp(self):
-        self.config = AuraConfig()
+        self.config = AuraConfig.instance.config
         self.engine = Engine.get_instance()
 
         # Init mocked command classes
diff --git a/tests/test_scheduling_timetable.py b/tests/test_scheduling_timetable.py
index ae49c55e..04c4c78f 100644
--- a/tests/test_scheduling_timetable.py
+++ b/tests/test_scheduling_timetable.py
@@ -71,8 +71,8 @@ class TestSchedulingTimetable(unittest.TestCase):
     #
 
     def setUp(self):
-        self.config = AuraConfig()
-        cache_location = self.config.get("cache_dir")
+        self.config = AuraConfig.instance.config
+        cache_location = self.config.general.cache_dir
         self.timetable = TimetableService(cache_location)
         f = self.timetable.timetable_file
         self.timetable.timetable_file = f.replace("timetable.json", "timetable-test.json")
@@ -152,8 +152,8 @@ class TestSchedulingTimetable(unittest.TestCase):
     def test_get_next_timeslots_in_window(self):
         print(self._testMethodName)
 
-        self.config.set("scheduling_window_start", 80)
-        self.config.set("scheduling_window_end", 10)
+        self.config.scheduler.scheduling_window_start = 80
+        self.config.scheduler.scheduling_window_end = 10
 
         now = SU.timestamp()
         ts1 = Timeslot(
diff --git a/tests/test_scheduling_utils.py b/tests/test_scheduling_utils.py
index 79673d05..08db4c7a 100644
--- a/tests/test_scheduling_utils.py
+++ b/tests/test_scheduling_utils.py
@@ -48,11 +48,11 @@ class TestSchedulingUtils(unittest.TestCase):
     # Setup and teardown
 
     def setUp(self):
-        self.config = AuraConfig()
+        self.config = AuraConfig.instance.config
         self.m3u = M3UPlaylistProcessor()
         self.m3u.playlist_folder = "./tests/m3u/"
 
-        cache_location = self.config.get("cache_dir")
+        cache_location = self.config.general.cache_dir
         self.timetable = TimetableService(cache_location)
 
     def tearDown(self):
diff --git a/tests/test_simple_api.py b/tests/test_simple_api.py
index 7097198f..b96d96e4 100644
--- a/tests/test_simple_api.py
+++ b/tests/test_simple_api.py
@@ -90,19 +90,13 @@ class TestApi(unittest.TestCase):
     #
 
     def setUp(self):
-        self.config = AuraConfig()
+        self.config = AuraConfig.instance.config
         self.api = SimpleRestApi()
 
     #
     # Tests
     #
 
-    def test_config(self):
-        print(self._testMethodName)
-
-        # Check if config is available
-        self.assertIsNotNone(self.config.yaml_path)
-
     def test_clean_dict(self):
         print(self._testMethodName)
 
diff --git a/tests/test_simple_api_cached.py b/tests/test_simple_api_cached.py
index 6c96c5c8..ecc1f2b6 100644
--- a/tests/test_simple_api_cached.py
+++ b/tests/test_simple_api_cached.py
@@ -21,6 +21,8 @@ import os
 import unittest
 from unittest import mock
 
+import confuse
+
 from aura_engine.base.api import SimpleCachedRestApi, SimpleRestApi
 from aura_engine.base.config import AuraConfig
 
@@ -30,7 +32,7 @@ class TestCachedApi(unittest.TestCase):
     Testing the Configuration.
     """
 
-    config = None
+    config: confuse.Configuration
     api = None
 
     #
@@ -62,20 +64,14 @@ class TestCachedApi(unittest.TestCase):
     #
 
     def setUp(self):
-        self.config = AuraConfig()
-        cache_location = self.config.config.general.cache_dir
+        self.config = AuraConfig.instance.config
+        cache_location = self.config.general.cache_dir
         self.api = SimpleCachedRestApi(SimpleRestApi(), cache_location)
 
     #
     # Test Cases
     #
 
-    def test_config(self):
-        print(self._testMethodName)
-
-        # Check if config is available
-        self.assertIsNotNone(self.config.yaml_path)
-
     def test_build_filename(self):
         url = "https://dashboard.aura.radio/steering/api/v1/playout"
         filename = self.api.build_filename(url)
-- 
GitLab