integrate/app/test_main.py

46 lines
1.3 KiB
Python
Raw Normal View History

2022-03-02 16:10:17 +01:00
from fastapi.testclient import TestClient
2022-03-03 16:36:08 +01:00
from app.wekan.api import Wekan
2022-03-02 16:10:17 +01:00
from .main import app
client = TestClient(app)
def test_read_main():
response = client.get("/")
assert response.status_code == 200
2022-03-02 16:22:11 +01:00
assert response.json() == {"message": "Hello World"}
2022-03-03 16:36:08 +01:00
def test_hook():
d = """{
"body": "Test Notification from transport hook",
"severity": "notice",
"user_email": "root@localhost",
"user_username": "akadmin"
}"""
response = client.post("/hook", data=d)
assert response.status_code == 200
def test_hook_model_created(mocker):
mock = mocker.patch('app.wekan.api.Wekan.create_user',
return_value='fake user')
print(mock.mock_calls)
d = """
{
"body": "model_created: {'model': {'pk': 18, 'app': 'authentik_core', 'name': 'bernd', 'model_name': 'user'}, 'http_request': {'args': {}, 'path': '/api/v3/core/users/', 'method': 'POST'}}",
"severity": "alert",
"user_email": "flip@yksflip.de",
"user_username": "akadmin"
}
"""
response = client.post("/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'