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))
|