33 lines
1.1 KiB
Python
33 lines
1.1 KiB
Python
# tests/tlib_web.py
|
|
|
|
"""Test implementation for the `scopes.web` package."""
|
|
|
|
import json
|
|
import logging
|
|
from zope.publisher.browser import TestRequest
|
|
from zope.publisher.publish import publish
|
|
|
|
from scopes.web.app import Publication
|
|
from scopes.storage.folder import Root
|
|
|
|
|
|
def publishRequest(config, storage, path):
|
|
appRoot = Root(storage)
|
|
request = TestRequest(environ=dict(PATH_INFO=path))
|
|
request.setPublication(Publication(appRoot))
|
|
request = publish(request, False)
|
|
return request.response
|
|
|
|
|
|
def test_app(self, config):
|
|
logger = logging.getLogger('tlib_web')
|
|
storage = config.storageFactory(config.dbschema)
|
|
response = publishRequest(config, storage, '/top')
|
|
logger.info('test_app: response %s %s', response.getStatus(), response.getHeaders())
|
|
result = json.loads(response.consumeBody())
|
|
self.assertEqual(result['items'][0]['head']['name'], 'level2-item1')
|
|
|
|
def test_auth(self, config):
|
|
from scopes.web.auth import oidc
|
|
oidc.startup() # todo: use generic app.startServices()
|
|
self.assertEqual(len(config.oidc_params['op_uris']), 8)
|