| 
									
										
										
										
											2025-01-05 14:41:07 +01:00
										 |  |  | """Test Module for logging Module.""" | 
					
						
							| 
									
										
										
										
											2024-11-10 23:49:10 +01:00
										 |  |  | import logging | 
					
						
							| 
									
										
										
										
											2025-06-10 22:00:28 +02:00
										 |  |  | import os | 
					
						
							|  |  |  | import sys | 
					
						
							| 
									
										
										
										
											2025-02-12 21:35:51 +01:00
										 |  |  | from pathlib import Path | 
					
						
							| 
									
										
										
										
											2025-06-10 22:00:28 +02:00
										 |  |  | from unittest.mock import patch | 
					
						
							| 
									
										
										
										
											2024-11-10 23:49:10 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | import pytest | 
					
						
							| 
									
										
										
										
											2025-06-10 22:00:28 +02:00
										 |  |  | from loguru import logger | 
					
						
							| 
									
										
										
										
											2024-11-10 23:49:10 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-06-10 22:00:28 +02:00
										 |  |  | from akkudoktoreos.core.logging import track_logging_config | 
					
						
							| 
									
										
										
										
											2024-11-10 23:49:10 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | # ----------------------------- | 
					
						
							| 
									
										
										
										
											2025-06-10 22:00:28 +02:00
										 |  |  | # logsettings | 
					
						
							| 
									
										
										
										
											2024-11-10 23:49:10 +01:00
										 |  |  | # ----------------------------- | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-06-10 22:00:28 +02:00
										 |  |  | class TestLoggingCommonSettings: | 
					
						
							|  |  |  |     def teardown_method(self): | 
					
						
							|  |  |  |         """Reset Loguru after each test to avoid handler contamination.""" | 
					
						
							|  |  |  |         logger.remove() | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     def test_valid_console_level_sets_logging(self, config_eos, caplog): | 
					
						
							|  |  |  |         config_eos.track_nested_value("/logging", track_logging_config) | 
					
						
							|  |  |  |         config_eos.set_nested_value("/logging/console_level", "INFO") | 
					
						
							|  |  |  |         assert config_eos.get_nested_value("/logging/console_level") == "INFO" | 
					
						
							|  |  |  |         assert config_eos.logging.console_level == "INFO" | 
					
						
							|  |  |  |         assert any("console: INFO" in message for message in caplog.messages) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     def test_valid_console_level_calls_tracking_callback(self, config_eos): | 
					
						
							|  |  |  |         with patch("akkudoktoreos.core.logging.track_logging_config") as mock_setup: | 
					
						
							|  |  |  |             config_eos.track_nested_value("/logging", mock_setup) | 
					
						
							|  |  |  |             config_eos.set_nested_value("/logging/console_level", "INFO") | 
					
						
							|  |  |  |             assert config_eos.get_nested_value("/logging/console_level") == "INFO" | 
					
						
							|  |  |  |             assert config_eos.logging.console_level == "INFO" | 
					
						
							|  |  |  |             mock_setup.assert_called_once() |