Added testing for weather and todoist modules
This commit is contained in:
		
							
								
								
									
										48
									
								
								inkycal/tests/inkycal_todoist_test.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										48
									
								
								inkycal/tests/inkycal_todoist_test.py
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,48 @@
 | 
				
			|||||||
 | 
					import unittest
 | 
				
			||||||
 | 
					from inkycal.modules import Todoist 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
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					api_key = ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					tests = [
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  "name": "Todoist",
 | 
				
			||||||
 | 
					  "config": {
 | 
				
			||||||
 | 
					      "size": [500 ,200],
 | 
				
			||||||
 | 
					      "api_key": api_key,
 | 
				
			||||||
 | 
					      "project_filter": None,
 | 
				
			||||||
 | 
					      "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 api_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 api key given, omitting test')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if __name__ == '__main__':
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  logger = logging.getLogger()
 | 
				
			||||||
 | 
					  logger.level = logging.DEBUG
 | 
				
			||||||
 | 
					  logger.addHandler(logging.StreamHandler(sys.stdout))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  unittest.main()
 | 
				
			||||||
							
								
								
									
										193
									
								
								inkycal/tests/inkycal_weather_test.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										193
									
								
								inkycal/tests/inkycal_weather_test.py
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,193 @@
 | 
				
			|||||||
 | 
					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()
 | 
				
			||||||
		Reference in New Issue
	
	Block a user