194 lines
		
	
	
		
			4.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
		
		
			
		
	
	
			194 lines
		
	
	
		
			4.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
|   | import unittest | ||
|  | from inkycal.modules import Weather as Module | ||
|  | from helper_functions import * | ||
|  | environment = get_environment() | ||
|  | 
 | ||
|  | 
 | ||
|  | # Set to True to preview images. Only works on Raspberry Pi OS with Desktop | ||
|  | use_preview = False | ||
|  | 
 | ||
|  | secret_key = "" | ||
|  | location = 'Stuttgart, DE' | ||
|  | 
 | ||
|  | 
 | ||
|  | tests = [ | ||
|  | { | ||
|  |   "position": 1, | ||
|  |   "name": "Weather", | ||
|  |   "config": { | ||
|  |       "size": [500, 100], | ||
|  |       "api_key": secret_key, | ||
|  |       "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], | ||
|  |       "api_key": secret_key, | ||
|  |       "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], | ||
|  |       "api_key": secret_key, | ||
|  |       "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], | ||
|  |       "api_key": secret_key, | ||
|  |       "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], | ||
|  |       "api_key": secret_key, | ||
|  |       "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], | ||
|  |       "api_key": secret_key, | ||
|  |       "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], | ||
|  |       "api_key": secret_key, | ||
|  |       "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], | ||
|  |       "api_key": secret_key, | ||
|  |       "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" | ||
|  |   } | ||
|  | }, | ||
|  | ] | ||
|  | 
 | ||
|  | class module_test(unittest.TestCase): | ||
|  |   def test_get_config(self): | ||
|  |     print('getting data for web-ui...', end = "") | ||
|  |     Module.get_config() | ||
|  |     print('OK') | ||
|  | 
 | ||
|  |   def test_generate_image(self): | ||
|  |     if secret_key: | ||
|  |       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 use_preview == True and environment == 'Raspberry': | ||
|  |           preview(merge(im_black, im_colour)) | ||
|  |     else: | ||
|  |       print('No key given, omitted testing') | ||
|  | 
 | ||
|  | if __name__ == '__main__': | ||
|  |    | ||
|  |   logger = logging.getLogger() | ||
|  |   logger.level = logging.DEBUG | ||
|  |   logger.addHandler(logging.StreamHandler(sys.stdout)) | ||
|  | 
 | ||
|  |   unittest.main() |