58 lines
1.6 KiB
Python
58 lines
1.6 KiB
Python
import os
|
|
import pytest
|
|
from schema import SchemaError
|
|
from halfapi.lib.router import read_router
|
|
from halfapi.lib.constants import ROUTER_SCHEMA, ROUTER_ACLS_SCHEMA
|
|
|
|
def test_read_router_routers():
|
|
from .dummy_domain import routers
|
|
|
|
router_d = read_router(routers)
|
|
assert '' in router_d
|
|
assert 'SUBROUTES' in router_d['']
|
|
assert isinstance(router_d['']['SUBROUTES'], list)
|
|
|
|
for elt in os.scandir(routers.__path__[0]):
|
|
if elt.is_dir():
|
|
assert elt.name in router_d['']['SUBROUTES']
|
|
|
|
def test_read_router_abc():
|
|
from .dummy_domain.routers import abc
|
|
router_d = read_router(abc)
|
|
|
|
assert '' in router_d
|
|
assert 'SUBROUTES' in router_d['']
|
|
assert isinstance(router_d['']['SUBROUTES'], list)
|
|
|
|
def test_read_router_alphabet():
|
|
from .dummy_domain.routers.abc import alphabet
|
|
router_d = read_router(alphabet)
|
|
|
|
assert '' in router_d
|
|
assert 'SUBROUTES' in router_d['']
|
|
assert isinstance(router_d['']['SUBROUTES'], list)
|
|
|
|
ROUTER_SCHEMA.validate(router_d)
|
|
|
|
with pytest.raises(SchemaError):
|
|
""" Test that we cannot specify wrong method in ROUTES or ACLS
|
|
|
|
TODO: Write more errors
|
|
"""
|
|
router_d['']['TEG'] = {}
|
|
ROUTER_SCHEMA.validate(router_d)
|
|
|
|
def test_read_router_TEST():
|
|
from .dummy_domain.routers.abc.alphabet import TEST_uuid
|
|
router_d = read_router(TEST_uuid)
|
|
|
|
print(router_d)
|
|
assert '' in router_d
|
|
assert 'SUBROUTES' in router_d['']
|
|
assert isinstance(router_d['']['GET'], list)
|
|
assert isinstance(router_d['']['POST'], list)
|
|
assert isinstance(router_d['']['PATCH'], list)
|
|
assert isinstance(router_d['']['PUT'], list)
|
|
|
|
|