integrate/app/test_main.py

40 lines
1.1 KiB
Python

from fastapi.testclient import TestClient
from app.wekan.api import Wekan
from .main import app
client = TestClient(app)
def test_read_main():
response = client.get("/")
assert response.status_code == 200
assert response.json() == {"message": "Hello World"}
def test_hook():
d = """{
"body": "Test Notification from transport hook",
"severity": "notice",
"user_email": "root@localhost",
"user_username": "akadmin"
}"""
response = client.post("/authentik/hook/", data=d)
assert response.status_code == 422
def test_hook_model_created(mocker):
mock = mocker.patch('app.wekan.api.Wekan.create_user',
return_value='fake user')
print(mock.mock_calls)
d = """
{"model": {"pk": 5, "app": "authentik_core", "name": "asd", "model_name": "user"}, "http_request": {"args": {}, "path": "/api/v3/core/users/", "method": "POST"}}
"""
response = client.post("/authentik/hook/", data=d, )
assert response.status_code == 200
# assert len(mock.mock_calls) > 0
# kall = mock.call_args
# assert kall.args[0] == "18"
# assert str(response.text) == 'fake user'