| 
									
										
										
										
											2022-04-02 01:30:17 +02:00
										 |  |  | #!python3 | 
					
						
							| 
									
										
										
										
											2023-01-11 22:24:39 +01:00
										 |  |  | """
 | 
					
						
							|  |  |  | inkycal_weather unittest | 
					
						
							|  |  |  | """
 | 
					
						
							|  |  |  | import logging | 
					
						
							|  |  |  | import sys | 
					
						
							| 
									
										
										
										
											2020-12-05 00:14:07 +01:00
										 |  |  | import unittest | 
					
						
							|  |  |  | from inkycal.modules import Weather as Module | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-01-11 22:24:39 +01:00
										 |  |  | from inkycal.modules.inky_image import Inkyimage | 
					
						
							|  |  |  | from inkycal.tests import Config | 
					
						
							|  |  |  | preview = Inkyimage.preview | 
					
						
							|  |  |  | merge = Inkyimage.merge | 
					
						
							| 
									
										
										
										
											2020-12-05 00:14:07 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-01-11 22:24:39 +01:00
										 |  |  | owm_api_key = Config.OPENWEATHERMAP_API_KEY | 
					
						
							| 
									
										
										
										
											2020-12-05 00:14:07 +01:00
										 |  |  | location = 'Stuttgart, DE' | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | tests = [ | 
					
						
							| 
									
										
										
										
											2022-09-08 22:25:50 +02:00
										 |  |  |     { | 
					
						
							|  |  |  |         "position": 1, | 
					
						
							|  |  |  |         "name": "Weather", | 
					
						
							|  |  |  |         "config": { | 
					
						
							|  |  |  |             "size": [500, 100], | 
					
						
							| 
									
										
										
										
											2023-01-11 22:24:39 +01:00
										 |  |  |             "api_key": owm_api_key, | 
					
						
							| 
									
										
										
										
											2022-09-08 22:25:50 +02:00
										 |  |  |             "location": location, | 
					
						
							|  |  |  |             "round_temperature": True, | 
					
						
							|  |  |  |             "round_windspeed": True, | 
					
						
							|  |  |  |             "forecast_interval": "daily", | 
					
						
							|  |  |  |             "units": "metric", | 
					
						
							|  |  |  |             "hour_format": "12", | 
					
						
							|  |  |  |             "use_beaufort": True, | 
					
						
							|  |  |  |             "padding_x": 10, | 
					
						
							|  |  |  |             "padding_y": 10, | 
					
						
							|  |  |  |             "fontsize": 12, | 
					
						
							|  |  |  |             "language": "en" | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |     }, | 
					
						
							|  |  |  |     { | 
					
						
							|  |  |  |         "position": 1, | 
					
						
							|  |  |  |         "name": "Weather", | 
					
						
							|  |  |  |         "config": { | 
					
						
							|  |  |  |             "size": [500, 150], | 
					
						
							| 
									
										
										
										
											2023-01-11 22:24:39 +01:00
										 |  |  |             "api_key": owm_api_key, | 
					
						
							| 
									
										
										
										
											2022-09-08 22:25:50 +02:00
										 |  |  |             "location": "2643123", | 
					
						
							|  |  |  |             "round_temperature": True, | 
					
						
							|  |  |  |             "round_windspeed": True, | 
					
						
							|  |  |  |             "forecast_interval": "daily", | 
					
						
							|  |  |  |             "units": "metric", | 
					
						
							|  |  |  |             "hour_format": "12", | 
					
						
							|  |  |  |             "use_beaufort": True, | 
					
						
							|  |  |  |             "padding_x": 10, | 
					
						
							|  |  |  |             "padding_y": 10, | 
					
						
							|  |  |  |             "fontsize": 12, | 
					
						
							|  |  |  |             "language": "en" | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |     }, | 
					
						
							|  |  |  |     { | 
					
						
							|  |  |  |         "position": 1, | 
					
						
							|  |  |  |         "name": "Weather", | 
					
						
							|  |  |  |         "config": { | 
					
						
							|  |  |  |             "size": [500, 200], | 
					
						
							| 
									
										
										
										
											2023-01-11 22:24:39 +01:00
										 |  |  |             "api_key": owm_api_key, | 
					
						
							| 
									
										
										
										
											2022-09-08 22:25:50 +02:00
										 |  |  |             "location": location, | 
					
						
							|  |  |  |             "round_temperature": False, | 
					
						
							|  |  |  |             "round_windspeed": True, | 
					
						
							|  |  |  |             "forecast_interval": "daily", | 
					
						
							|  |  |  |             "units": "metric", | 
					
						
							|  |  |  |             "hour_format": "12", | 
					
						
							|  |  |  |             "use_beaufort": True, | 
					
						
							|  |  |  |             "padding_x": 10, | 
					
						
							|  |  |  |             "padding_y": 10, | 
					
						
							|  |  |  |             "fontsize": 12, | 
					
						
							|  |  |  |             "language": "en" | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |     }, | 
					
						
							|  |  |  |     { | 
					
						
							|  |  |  |         "position": 1, | 
					
						
							|  |  |  |         "name": "Weather", | 
					
						
							|  |  |  |         "config": { | 
					
						
							|  |  |  |             "size": [500, 100], | 
					
						
							| 
									
										
										
										
											2023-01-11 22:24:39 +01:00
										 |  |  |             "api_key": owm_api_key, | 
					
						
							| 
									
										
										
										
											2022-09-08 22:25:50 +02:00
										 |  |  |             "location": location, | 
					
						
							|  |  |  |             "round_temperature": True, | 
					
						
							|  |  |  |             "round_windspeed": False, | 
					
						
							|  |  |  |             "forecast_interval": "daily", | 
					
						
							|  |  |  |             "units": "metric", | 
					
						
							|  |  |  |             "hour_format": "12", | 
					
						
							|  |  |  |             "use_beaufort": True, | 
					
						
							|  |  |  |             "padding_x": 10, | 
					
						
							|  |  |  |             "padding_y": 10, | 
					
						
							|  |  |  |             "fontsize": 12, | 
					
						
							|  |  |  |             "language": "en" | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |     }, | 
					
						
							|  |  |  |     { | 
					
						
							|  |  |  |         "position": 1, | 
					
						
							|  |  |  |         "name": "Weather", | 
					
						
							|  |  |  |         "config": { | 
					
						
							|  |  |  |             "size": [500, 150], | 
					
						
							| 
									
										
										
										
											2023-01-11 22:24:39 +01:00
										 |  |  |             "api_key": owm_api_key, | 
					
						
							| 
									
										
										
										
											2022-09-08 22:25:50 +02:00
										 |  |  |             "location": location, | 
					
						
							|  |  |  |             "round_temperature": True, | 
					
						
							|  |  |  |             "round_windspeed": True, | 
					
						
							|  |  |  |             "forecast_interval": "hourly", | 
					
						
							|  |  |  |             "units": "metric", | 
					
						
							|  |  |  |             "hour_format": "12", | 
					
						
							|  |  |  |             "use_beaufort": True, | 
					
						
							|  |  |  |             "padding_x": 10, | 
					
						
							|  |  |  |             "padding_y": 10, | 
					
						
							|  |  |  |             "fontsize": 12, | 
					
						
							|  |  |  |             "language": "en" | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |     }, | 
					
						
							|  |  |  |     { | 
					
						
							|  |  |  |         "position": 1, | 
					
						
							|  |  |  |         "name": "Weather", | 
					
						
							|  |  |  |         "config": { | 
					
						
							|  |  |  |             "size": [500, 150], | 
					
						
							| 
									
										
										
										
											2023-01-11 22:24:39 +01:00
										 |  |  |             "api_key": owm_api_key, | 
					
						
							| 
									
										
										
										
											2022-09-08 22:25:50 +02:00
										 |  |  |             "location": location, | 
					
						
							|  |  |  |             "round_temperature": True, | 
					
						
							|  |  |  |             "round_windspeed": True, | 
					
						
							|  |  |  |             "forecast_interval": "daily", | 
					
						
							|  |  |  |             "units": "imperial", | 
					
						
							|  |  |  |             "hour_format": "12", | 
					
						
							|  |  |  |             "use_beaufort": True, | 
					
						
							|  |  |  |             "padding_x": 10, | 
					
						
							|  |  |  |             "padding_y": 10, | 
					
						
							|  |  |  |             "fontsize": 12, | 
					
						
							|  |  |  |             "language": "en" | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |     }, | 
					
						
							|  |  |  |     { | 
					
						
							|  |  |  |         "position": 1, | 
					
						
							|  |  |  |         "name": "Weather", | 
					
						
							|  |  |  |         "config": { | 
					
						
							|  |  |  |             "size": [500, 100], | 
					
						
							| 
									
										
										
										
											2023-01-11 22:24:39 +01:00
										 |  |  |             "api_key": owm_api_key, | 
					
						
							| 
									
										
										
										
											2022-09-08 22:25:50 +02:00
										 |  |  |             "location": location, | 
					
						
							|  |  |  |             "round_temperature": True, | 
					
						
							|  |  |  |             "round_windspeed": True, | 
					
						
							|  |  |  |             "forecast_interval": "daily", | 
					
						
							|  |  |  |             "units": "metric", | 
					
						
							|  |  |  |             "hour_format": "24", | 
					
						
							|  |  |  |             "use_beaufort": True, | 
					
						
							|  |  |  |             "padding_x": 10, | 
					
						
							|  |  |  |             "padding_y": 10, | 
					
						
							|  |  |  |             "fontsize": 12, | 
					
						
							|  |  |  |             "language": "en" | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |     }, | 
					
						
							|  |  |  |     { | 
					
						
							|  |  |  |         "position": 1, | 
					
						
							|  |  |  |         "name": "Weather", | 
					
						
							|  |  |  |         "config": { | 
					
						
							|  |  |  |             "size": [500, 100], | 
					
						
							| 
									
										
										
										
											2023-01-11 22:24:39 +01:00
										 |  |  |             "api_key": owm_api_key, | 
					
						
							| 
									
										
										
										
											2022-09-08 22:25:50 +02:00
										 |  |  |             "location": location, | 
					
						
							|  |  |  |             "round_temperature": True, | 
					
						
							|  |  |  |             "round_windspeed": True, | 
					
						
							|  |  |  |             "forecast_interval": "daily", | 
					
						
							|  |  |  |             "units": "metric", | 
					
						
							|  |  |  |             "hour_format": "12", | 
					
						
							|  |  |  |             "use_beaufort": False, | 
					
						
							|  |  |  |             "padding_x": 10, | 
					
						
							|  |  |  |             "padding_y": 10, | 
					
						
							|  |  |  |             "fontsize": 12, | 
					
						
							|  |  |  |             "language": "en" | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |     }, | 
					
						
							| 
									
										
										
										
											2020-12-05 00:14:07 +01:00
										 |  |  | ] | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-09-08 22:25:50 +02:00
										 |  |  | class module_test(unittest.TestCase): | 
					
						
							|  |  |  |     def test_get_config(self): | 
					
						
							|  |  |  |         print('getting data for web-ui...', end="") | 
					
						
							|  |  |  |         Module.get_config() | 
					
						
							| 
									
										
										
										
											2020-12-05 00:14:07 +01:00
										 |  |  |         print('OK') | 
					
						
							| 
									
										
										
										
											2022-09-08 22:25:50 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |     def test_generate_image(self): | 
					
						
							| 
									
										
										
										
											2023-01-11 22:24:39 +01:00
										 |  |  |         for test in tests: | 
					
						
							|  |  |  |             print(f'test {tests.index(test) + 1} generating image..') | 
					
						
							|  |  |  |             module = Module(test) | 
					
						
							|  |  |  |             im_black, im_colour = module.generate_image() | 
					
						
							|  |  |  |             print('OK') | 
					
						
							|  |  |  |             if Config.USE_PREVIEW: | 
					
						
							|  |  |  |                 preview(merge(im_black, im_colour)) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-09-08 22:25:50 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-12-05 00:14:07 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | if __name__ == '__main__': | 
					
						
							| 
									
										
										
										
											2022-09-08 22:25:50 +02:00
										 |  |  |     logger = logging.getLogger() | 
					
						
							|  |  |  |     logger.level = logging.DEBUG | 
					
						
							|  |  |  |     logger.addHandler(logging.StreamHandler(sys.stdout)) | 
					
						
							| 
									
										
										
										
											2020-12-05 00:14:07 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-09-08 22:25:50 +02:00
										 |  |  |     unittest.main() |