provide simple test for processing request using folder structure

This commit is contained in:
Helmut Merz 2024-03-13 12:14:54 +01:00
parent 3d10c45222
commit a16c1dd469
5 changed files with 34 additions and 3 deletions

View file

@ -1,11 +1,9 @@
# scopes.server.app
import json
from zope.publisher.base import DefaultPublication
from zope.publisher.browser import BrowserRequest
from zope.publisher.interfaces import NotFound
from zope.publisher.publish import publish
from zope.traversing.publicationtraverse import PublicationTraverser
from scopes.interfaces import ITraversable, IView
from scopes.server.browser import getView

View file

@ -27,6 +27,7 @@ def getView(request, ob, name):
@register(None, 'index.html')
@register(None, 'index.json')
@implementer(IView)
class DefaultView:
@ -39,5 +40,6 @@ class DefaultView:
result = dict(head=ob.head, data=ob.data)
if IContainer.providedBy(ob):
result['items'] = list(ob.keys())
print('***', result)
return json.dumps(result)

View file

@ -3,7 +3,7 @@
"""Tests for the 'scopes.storage' package."""
import unittest
import tlib_storage
import tlib_server, tlib_storage
from scopes.storage.common import StorageFactory
import config
@ -21,6 +21,10 @@ class Test(unittest.TestCase):
def test_002_folder(self):
tlib_storage.test_folder(self, config)
def test_003_server(self):
tlib_server.test_app(self, config)
def suite():
return unittest.TestSuite((
unittest.TestLoader().loadTestsFromTestCase(Test),

26
tests/tlib_server.py Normal file
View file

@ -0,0 +1,26 @@
# tests/tlib_server.py
"""Test implementation for the `scopes.server` package."""
import json
from zope.publisher.browser import TestRequest
from zope.publisher.publish import publish
from scopes.server.app import Publication
from scopes.storage.folder import Root
def publishRequest(config, storage, path):
appRoot = Root(storage, config)
request = TestRequest(environ=dict(PATH_INFO=path))
request.setPublication(Publication(appRoot))
request = publish(request, False)
return request.response
def test_app(self, config):
storage = config.storageFactory(config.dbschema)
response = publishRequest(config, storage, '/top')
result = json.loads(response.consumeBody())
self.assertEqual(result['items'], ['child1'])

View file

@ -1,4 +1,5 @@
# tests/tlib_storage.py
"""Test implementation for the `scopes.storage` package."""
from datetime import datetime