tests best practices
This commit is contained in:
186
tests/test_inkycal_weather.py
Executable file
186
tests/test_inkycal_weather.py
Executable file
@@ -0,0 +1,186 @@
|
||||
"""
|
||||
inkycal_weather unittest
|
||||
"""
|
||||
import logging
|
||||
import unittest
|
||||
|
||||
from inkycal.modules import Weather
|
||||
from inkycal.modules.inky_image import Inkyimage
|
||||
from tests import Config
|
||||
|
||||
preview = Inkyimage.preview
|
||||
merge = Inkyimage.merge
|
||||
|
||||
owm_api_key = Config.OPENWEATHERMAP_API_KEY
|
||||
location = '2825297'
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
logging.basicConfig(level=logging.DEBUG)
|
||||
|
||||
tests = [
|
||||
{
|
||||
"position": 1,
|
||||
"name": "Weather",
|
||||
"config": {
|
||||
"size": [500, 100],
|
||||
"api_key": owm_api_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": owm_api_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": owm_api_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": owm_api_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": owm_api_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": owm_api_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": owm_api_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": owm_api_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 TestWeather(unittest.TestCase):
|
||||
|
||||
def test_generate_image(self):
|
||||
for test in tests:
|
||||
logger.info(f'test {tests.index(test) + 1} generating image..')
|
||||
module = Weather(test)
|
||||
im_black, im_colour = module.generate_image()
|
||||
logger.info('OK')
|
||||
if Config.USE_PREVIEW:
|
||||
merged = merge(im_black, im_colour)
|
||||
preview(merged)
|
Reference in New Issue
Block a user