halfapi/tests/test_lib_responses.py
Maxime Alves LIRMM@home c99e636d6e [0.5.13]
Squashed commit of the following:

commit 4552d85cc49fda572e54aa9c8054031554bfcb3a
Author: Maxime Alves LIRMM@home <maxime.alves@lirmm.fr>
Date:   Thu Oct 7 13:57:37 2021 +0200

    [0.5.13]

commit 38032acfac559155b31c12cf12673c81b7cfdf20
Author: Maxime Alves LIRMM@home <maxime.alves@lirmm.fr>
Date:   Thu Oct 7 13:57:12 2021 +0200

    add 503 error code

commit 6f516e844b0f3786aa571d1ac8d575247ff7b7fe
Author: Maxime Alves LIRMM@home <maxime.alves@lirmm.fr>
Date:   Thu Oct 7 13:26:15 2021 +0200

    [ci] add run halfapi --version
2021-10-07 13:58:03 +02:00

63 lines
1.7 KiB
Python

import json
import decimal
import datetime
from starlette.responses import Response
from halfapi.lib.responses import *
def test_orjson():
test_obj = {
"ok": "ko",
"dec": decimal.Decimal(42),
"set": {0, 4, 2},
"date": datetime.date(1,1,1),
"datetime": datetime.datetime(1,1,1),
}
resp = ORJSONResponse(test_obj)
body = resp.body.decode()
test_obj_dec = json.loads(body)
print(test_obj_dec)
assert 'ok' in test_obj_dec.keys()
assert isinstance(test_obj_dec['ok'], str)
assert isinstance(test_obj_dec['dec'], str)
assert isinstance(test_obj_dec['set'], list)
assert isinstance(test_obj_dec['date'], str)
assert test_obj_dec['date'] == '0001-01-01'
assert test_obj_dec['datetime'] == '0001-01-01T00:00:00'
def test_responses():
resp = HJSONResponse('')
assert isinstance(resp, Response)
assert resp.status_code == 200
resp = ORJSONResponse('')
assert isinstance(resp, Response)
assert resp.status_code == 200
resp = PlainTextResponse()
assert isinstance(resp, Response)
assert resp.status_code == 200
def test_errors():
resp = ServiceUnavailableResponse()
assert isinstance(resp, Response)
assert resp.status_code == 503
resp = UnauthorizedResponse()
assert isinstance(resp, Response)
assert resp.status_code == 401
resp = InternalServerErrorResponse()
assert isinstance(resp, Response)
assert resp.status_code == 500
resp = NotFoundResponse()
assert isinstance(resp, Response)
assert resp.status_code == 404
resp = NotImplementedResponse()
assert isinstance(resp, Response)
assert resp.status_code == 501