Inkycal/tests/test_inkycal_vikunja.py

67 lines
2.4 KiB
Python
Raw Permalink Normal View History

2024-08-24 10:00:10 +02:00
import requests
import json
2024-08-24 11:26:52 +02:00
from inkycal.modules.inkycal_vikunja import LoginVikunja
from inkycal.modules.inkycal_vikunja import ApiVikunja
2024-08-24 15:03:43 +02:00
from inkycal.modules.inkycal_vikunja import Vikunja
from inkycal.modules.inky_image import Inkyimage
2024-08-24 11:26:52 +02:00
import unittest
2024-08-24 15:03:43 +02:00
from tests import Config
preview = Inkyimage.preview
merge = Inkyimage.merge
2024-08-24 10:00:10 +02:00
2024-08-24 11:26:52 +02:00
class TestLoginVikunja(unittest.TestCase):
def setUp(self) -> None:
self.api_url = 'http://192.168.50.10:3456/api/v1/'
self.username = 'iicd'
self.password = '9297519Mhz.'
self.totp_passcode = None
def test_post_login_request(self):
login = LoginVikunja(self.username, self.password, self.totp_passcode, self.api_url)
token_json = login._post_login_request(self.username, self.password, self.totp_passcode)
self.assertTrue(token_json.status_code == 200)
2024-08-24 10:00:10 +02:00
2024-08-24 11:26:52 +02:00
class TestApiVikunja(unittest.TestCase):
def setUp(self) -> None:
self.api_url = 'http://192.168.50.10:3456/api/v1/'
self.username = 'iicd'
self.password = '9297519Mhz.'
self.totp_passcode = None
self.api = ApiVikunja(self.username, self.password, self.totp_passcode, None, self.api_url)
def test_get_projects(self):
json_projects = self.api.get_projects()
2024-08-24 15:03:43 +02:00
# print(json.dumps(json_projects, indent=4))
2024-08-24 11:26:52 +02:00
self.assertTrue(json_projects)
def test_get_tasks(self):
json_tasks = self.api.get_tasks(exclude_completed=True)
2024-08-24 15:03:43 +02:00
print(json.dumps(json_tasks, indent=4))
2024-08-24 11:26:52 +02:00
self.assertTrue(json_tasks)
2024-08-24 15:03:43 +02:00
tests = [
{
"name": "Vikunja",
"config": {
"size": [400, 1000],
"url-frontend": "http://ff.mhrooz.xyz:8077/",
"url-backend": "http://192.168.50.10:3456/api/v1/",
"username": "iicd",
"password": "9297519Mhz.",
"project_filter": ["LMU", "Master Thesis"],
"padding_x": 10,
"padding_y": 10,
"fontsize": 12,
"language": "en"
}
},
]
class TestVikunja(unittest.TestCase):
def test_generate_image(self):
for test in tests:
print(f'test {tests.index(test) + 1} generating image..')
module = Vikunja(test)
im_black, im_colour = module.generate_image()
print('OK')
if Config.USE_PREVIEW:
preview(merge(im_black, im_colour))