|
|
|
''' Test package for ordr2.resources '''
|
|
|
|
|
|
|
|
import pytest
|
|
|
|
|
|
|
|
|
|
|
|
def test_base_resource_init():
|
|
|
|
''' test __init__ function of base resource '''
|
|
|
|
from ordr2.resources import BaseResource, RootResource
|
|
|
|
root = RootResource('request object')
|
|
|
|
|
|
|
|
resource = BaseResource('resource name', root, 'model instance')
|
|
|
|
|
|
|
|
assert resource.__name__ == 'resource name'
|
|
|
|
assert resource.__parent__ == root
|
|
|
|
assert resource.request == 'request object'
|
|
|
|
assert resource.model == 'model instance'
|
|
|
|
|
|
|
|
|
|
|
|
def test_base_resource_acl():
|
|
|
|
''' test __acl__ function of base resource '''
|
|
|
|
from ordr2.resources import BaseResource, RootResource
|
|
|
|
from pyramid.security import DENY_ALL
|
|
|
|
root = RootResource('request object')
|
|
|
|
|
|
|
|
resource = BaseResource('resource name', root, 'model instance')
|
|
|
|
|
|
|
|
assert resource.__acl__() == [ DENY_ALL ]
|
|
|
|
|
|
|
|
|
|
|
|
@pytest.mark.parametrize(
|
|
|
|
'segment', [
|
|
|
|
'known',
|
|
|
|
pytest.mark.xfail('unknown', raises=KeyError)
|
|
|
|
]
|
|
|
|
)
|
|
|
|
def test_base_resource_getitem(segment):
|
|
|
|
''' test the __getitem__ function of base resource '''
|
|
|
|
from ordr2.resources import BaseResource, RootResource
|
|
|
|
root = RootResource('request object')
|
|
|
|
root.nodes = {'known': BaseResource}
|
|
|
|
|
|
|
|
resource = root[segment]
|
|
|
|
|
|
|
|
assert resource.__name__ == segment
|
|
|
|
assert resource.__parent__ == root
|
|
|
|
assert resource.request == 'request object'
|
|
|
|
|
|
|
|
|
|
|
|
def test_root_resource_init():
|
|
|
|
''' test __init__ function of root resource '''
|
|
|
|
from ordr2.resources import RootResource
|
|
|
|
|
|
|
|
resource = RootResource('request object')
|
|
|
|
|
|
|
|
assert resource.__name__ is None
|
|
|
|
assert resource.__parent__ is None
|
|
|
|
assert resource.request == 'request object'
|
|
|
|
|
|
|
|
|
|
|
|
def test_root_resource_acl():
|
|
|
|
''' test __acl__ function of root resource '''
|
|
|
|
from ordr2.resources import RootResource
|
|
|
|
from pyramid.security import Allow, Everyone
|
|
|
|
|
|
|
|
root = RootResource('request object')
|
|
|
|
|
|
|
|
assert root.__acl__() == [ (Allow, Everyone, 'view') ]
|