Skip to content

Conversation

@Tschuppi81
Copy link
Contributor

An attempt to switch from using directive to dispatch method.

So far no success, currently not even the fallback layout works

@linear
Copy link

linear bot commented Jan 16, 2026

@codecov
Copy link

codecov bot commented Jan 16, 2026

❌ 10 Tests Failed:

Tests completed Failed Passed Skipped
2261 10 2251 17
View the top 3 failed test(s) by shortest run time
tests/onegov/town6/test_views_search.py::test_search_for_page_with_member_access
Stack Traces | 3.21s run time
client_with_fts = <tests.onegov.town6.conftest.Client object at 0x7f7d0bb4fb10>

    def test_search_for_page_with_member_access(client_with_fts: Client) -> None:
        client = client_with_fts
        client.login_admin()
        anom = client.spawn()
        member = client.spawn()
        member.login_member()
    
        new_page = client.get('/topics/organisation').click('Thema')
        new_page.form['title'] = "Test"
        new_page.form['lead'] = "Memberius testius"
        new_page.form['access'] = 'member'
        new_page.form.submit().follow()
    
>       assert 'Test' in client.get('/search?q=Memberius')
                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

.../onegov/town6/test_views_search.py:182: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
............................................./app/lib/python3.11....../site-packages/webtest/app.py:328: in get
    return self.do_request(req, status=status,
tests/shared/client.py:167: in do_request
    return self.extend_response(super().do_request(*args, **kwargs))
                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
............................................./app/lib/python3.11....../site-packages/webtest/app.py:627: in do_request
    res = req.get_response(app, catch_exc_info=True)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
............................................./app/lib/python3.11....../site-packages/webob/request.py:1309: in send
    status, headers, app_iter, exc_info = self.call_application(
............................................./app/lib/python3.11....../site-packages/webob/request.py:1278: in call_application
    app_iter = application(self.environ, start_response)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
............................................./app/lib/python3.11.../site-packages/webtest/lint.py:196: in lint_app
    iterator = application(environ, start_response_wrapper)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../onegov/core/framework.py:222: in with_request_cache_wrapper
    return fn(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^
.../onegov/core/framework.py:237: in with_print_exceptions_wrapper
    return fn(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^
............................................./app/lib/python3.11.../site-packages/morepath/app.py:138: in __call__
    response = self.publish(request)
               ^^^^^^^^^^^^^^^^^^^^^
............................................./app/lib/python3.11....../site-packages/morepath/core.py:201: in poisoned_host_header_protection_tween
    return handler(request)
           ^^^^^^^^^^^^^^^^
.../onegov/core/framework.py:1751: in http_conflict_tween
    return handler(request)
           ^^^^^^^^^^^^^^^^
.../onegov/core/framework.py:1776: in activate_session_manager
    return handler(request)
           ^^^^^^^^^^^^^^^^
.../onegov/core/framework.py:1794: in close_session_after_request
    return handler(request)
           ^^^^^^^^^^^^^^^^
.../onegov/file/integration.py:448: in configure_depot_tween
    return handler(request)
           ^^^^^^^^^^^^^^^^
............................................./app/lib/python3.11.../more/transaction/main.py:67: in transaction_tween
    response = handler(request)
               ^^^^^^^^^^^^^^^^
.../onegov/core/framework.py:1618: in fix_webassets_url
    response = handler(request)
               ^^^^^^^^^^^^^^^^
.../onegov/user/integration.py:312: in auto_login_tween
    return handler(request)
           ^^^^^^^^^^^^^^^^
............................................./app/lib/python3.11.../more/webassets/tweens.py:132: in __call__
    return self.handler(request)
           ^^^^^^^^^^^^^^^^^^^^^
............................................./app/lib/python3.11.../more/webassets/tweens.py:84: in __call__
    response = self.handler(request)
               ^^^^^^^^^^^^^^^^^^^^^
............................................./app/lib/python3.11....../site-packages/morepath/core.py:157: in excview_tween
    response = handler(request)
               ^^^^^^^^^^^^^^^^
............................................./app/lib/python3.11.../more/content_security/core.py:99: in content_security_policy_tween
    response = handler(request)
               ^^^^^^^^^^^^^^^^
.../onegov/core/framework.py:1819: in current_language_tween
    return handler(request)
           ^^^^^^^^^^^^^^^^
.../onegov/core/framework.py:1861: in set_cache_control_header_tween
    response = handler(request)
               ^^^^^^^^^^^^^^^^
.../onegov/gis/integration.py:139: in inject_mapbox_api_token_tween
    response = handler(request)
               ^^^^^^^^^^^^^^^^
.../onegov/websockets/integration.py:151: in websocket_csp_tween
    result = handler(request)
             ^^^^^^^^^^^^^^^^
.../onegov/org/app.py:712: in enable_iframes_tween
    result = handler(request)
             ^^^^^^^^^^^^^^^^
............................................./app/lib/python3.11....../site-packages/morepath/publish.py:38: in publish
    return resolve_response(obj, request)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
............................................./app/lib/python3.11....../site-packages/morepath/publish.py:93: in resolve_response
    return request.app.get_view(obj, request)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
<generated code: def call(self, obj, request):
    _key = _registry_key(self=self, obj=obj, request=request)
    return (_component_lookup(_key) or
            _fallback_lookup(_key) or
            _fallback)(self, obj, request)
>:3: in call
    ???
.../onegov/org/app.py:951: in wrapped
    response = func(self, obj, request)
               ^^^^^^^^^^^^^^^^^^^^^^^^
............................................./app/lib/python3.11.../site-packages/morepath/view.py:82: in __call__
    content = self.func(obj, request)
              ^^^^^^^^^^^^^^^^^^^^^^^
.../town6/views/search.py:21: in town_search
    return search(self, request, DefaultLayout(self, request))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../org/views/search.py:76: in search
    results_html = self.highlight_results(render_macro(
.../onegov/core/templates.py:294: in render_macro
    macro.include(stream, Scope(variables), {})
macros_beb1f6aa674d96fef4cc15ac212cbc98.py:29797: in render_search_results
    ???
macros_beb1f6aa674d96fef4cc15ac212cbc98.py:32056: in render_search_result_default
    ???
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <OrgRequest at 0x7f7d0b63f410 GET http:.../localhost/search?q=Memberius>
model = Topic(name='test', id=6, parent_id=1)

    def get_layout(self, model: object) -> Layout | DefaultLayout:
        """
        Get the registered layout for a model instance.
        """
        layout_class = self.app.get_layout_class(model)
>       assert layout_class is not None
               ^^^^^^^^^^^^^^^^^^^^^^^^
E       AssertionError

.../onegov/org/request.py:293: AssertionError
tests/onegov/town6/test_views_search.py::test_search_hashtags
Stack Traces | 3.46s run time
client_with_fts = <tests.onegov.town6.conftest.Client object at 0x7f4ebf7c4310>

    def test_search_hashtags(client_with_fts: Client) -> None:
    
        client = client_with_fts
        client.login_admin()
    
        page = client.get('/news').click("Nachricht")
        page.form['title'] = "We have a new homepage"
        page.form['lead'] = "It is very good"
        page.form['text'] = "It is lots of fun #newhomepage"
    
        assert page.form.submit().follow().status_code == 200
    
>       assert 'We have a new homepage' in client.get(
            '/search?q=%23newhomepage')

.../onegov/town6/test_views_search.py:237: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
............................................./app/lib/python3.11....../site-packages/webtest/app.py:328: in get
    return self.do_request(req, status=status,
tests/shared/client.py:167: in do_request
    return self.extend_response(super().do_request(*args, **kwargs))
                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
............................................./app/lib/python3.11....../site-packages/webtest/app.py:627: in do_request
    res = req.get_response(app, catch_exc_info=True)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
............................................./app/lib/python3.11....../site-packages/webob/request.py:1309: in send
    status, headers, app_iter, exc_info = self.call_application(
............................................./app/lib/python3.11....../site-packages/webob/request.py:1278: in call_application
    app_iter = application(self.environ, start_response)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
............................................./app/lib/python3.11.../site-packages/webtest/lint.py:196: in lint_app
    iterator = application(environ, start_response_wrapper)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../onegov/core/framework.py:222: in with_request_cache_wrapper
    return fn(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^
.../onegov/core/framework.py:237: in with_print_exceptions_wrapper
    return fn(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^
............................................./app/lib/python3.11.../site-packages/morepath/app.py:138: in __call__
    response = self.publish(request)
               ^^^^^^^^^^^^^^^^^^^^^
............................................./app/lib/python3.11....../site-packages/morepath/core.py:201: in poisoned_host_header_protection_tween
    return handler(request)
           ^^^^^^^^^^^^^^^^
.../onegov/core/framework.py:1751: in http_conflict_tween
    return handler(request)
           ^^^^^^^^^^^^^^^^
.../onegov/core/framework.py:1776: in activate_session_manager
    return handler(request)
           ^^^^^^^^^^^^^^^^
.../onegov/core/framework.py:1794: in close_session_after_request
    return handler(request)
           ^^^^^^^^^^^^^^^^
.../onegov/file/integration.py:448: in configure_depot_tween
    return handler(request)
           ^^^^^^^^^^^^^^^^
............................................./app/lib/python3.11.../more/transaction/main.py:67: in transaction_tween
    response = handler(request)
               ^^^^^^^^^^^^^^^^
.../onegov/core/framework.py:1618: in fix_webassets_url
    response = handler(request)
               ^^^^^^^^^^^^^^^^
.../onegov/user/integration.py:312: in auto_login_tween
    return handler(request)
           ^^^^^^^^^^^^^^^^
............................................./app/lib/python3.11.../more/webassets/tweens.py:132: in __call__
    return self.handler(request)
           ^^^^^^^^^^^^^^^^^^^^^
............................................./app/lib/python3.11.../more/webassets/tweens.py:84: in __call__
    response = self.handler(request)
               ^^^^^^^^^^^^^^^^^^^^^
............................................./app/lib/python3.11....../site-packages/morepath/core.py:157: in excview_tween
    response = handler(request)
               ^^^^^^^^^^^^^^^^
............................................./app/lib/python3.11.../more/content_security/core.py:99: in content_security_policy_tween
    response = handler(request)
               ^^^^^^^^^^^^^^^^
.../onegov/core/framework.py:1819: in current_language_tween
    return handler(request)
           ^^^^^^^^^^^^^^^^
.../onegov/core/framework.py:1861: in set_cache_control_header_tween
    response = handler(request)
               ^^^^^^^^^^^^^^^^
.../onegov/gis/integration.py:139: in inject_mapbox_api_token_tween
    response = handler(request)
               ^^^^^^^^^^^^^^^^
.../onegov/websockets/integration.py:151: in websocket_csp_tween
    result = handler(request)
             ^^^^^^^^^^^^^^^^
.../onegov/org/app.py:712: in enable_iframes_tween
    result = handler(request)
             ^^^^^^^^^^^^^^^^
............................................./app/lib/python3.11....../site-packages/morepath/publish.py:38: in publish
    return resolve_response(obj, request)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
............................................./app/lib/python3.11....../site-packages/morepath/publish.py:93: in resolve_response
    return request.app.get_view(obj, request)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
<generated code: def call(self, obj, request):
    _key = _registry_key(self=self, obj=obj, request=request)
    return (_component_lookup(_key) or
            _fallback_lookup(_key) or
            _fallback)(self, obj, request)
>:3: in call
    ???
.../onegov/org/app.py:951: in wrapped
    response = func(self, obj, request)
               ^^^^^^^^^^^^^^^^^^^^^^^^
............................................./app/lib/python3.11.../site-packages/morepath/view.py:82: in __call__
    content = self.func(obj, request)
              ^^^^^^^^^^^^^^^^^^^^^^^
.../town6/views/search.py:21: in town_search
    return search(self, request, DefaultLayout(self, request))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../org/views/search.py:76: in search
    results_html = self.highlight_results(render_macro(
.../onegov/core/templates.py:294: in render_macro
    macro.include(stream, Scope(variables), {})
macros_beb1f6aa674d96fef4cc15ac212cbc98.py:29797: in render_search_results
    ???
macros_beb1f6aa674d96fef4cc15ac212cbc98.py:32056: in render_search_result_default
    ???
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <OrgRequest at 0x7f4eb6491f90 GET http:.../localhost/search?q=%23newhomepage>
model = News(name='we-have-a-new-homepage', id=6, parent_id=4)

    def get_layout(self, model: object) -> Layout | DefaultLayout:
        """
        Get the registered layout for a model instance.
        """
        layout_class = self.app.get_layout_class(model)
>       assert layout_class is not None
               ^^^^^^^^^^^^^^^^^^^^^^^^
E       AssertionError

.../onegov/org/request.py:293: AssertionError
tests/onegov/town6/test_views_search.py::test_search_publication_files
Stack Traces | 3.51s run time
client_with_fts = <tests.onegov.town6.conftest.Client object at 0x7f5d4cb2e4d0>

    def test_search_publication_files(client_with_fts: Client) -> None:
        client = client_with_fts
        client.login_admin()
    
        path = module_path('tests.onegov.org', 'fixtures/sample.pdf')
        with (open(path, 'rb') as f):
            page = client.get('/files')
            page.form['file'] = [Upload(
                'Sample.pdf', f.read(), 'application/pdf')]
            page.form.submit()
    
>       assert 'Sample' in client.get('/search?q=Adobe')
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

.../onegov/town6/test_views_search.py:213: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
............................................./app/lib/python3.11....../site-packages/webtest/app.py:328: in get
    return self.do_request(req, status=status,
tests/shared/client.py:167: in do_request
    return self.extend_response(super().do_request(*args, **kwargs))
                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
............................................./app/lib/python3.11....../site-packages/webtest/app.py:627: in do_request
    res = req.get_response(app, catch_exc_info=True)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
............................................./app/lib/python3.11....../site-packages/webob/request.py:1309: in send
    status, headers, app_iter, exc_info = self.call_application(
............................................./app/lib/python3.11....../site-packages/webob/request.py:1278: in call_application
    app_iter = application(self.environ, start_response)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
............................................./app/lib/python3.11.../site-packages/webtest/lint.py:196: in lint_app
    iterator = application(environ, start_response_wrapper)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../onegov/core/framework.py:222: in with_request_cache_wrapper
    return fn(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^
.../onegov/core/framework.py:237: in with_print_exceptions_wrapper
    return fn(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^
............................................./app/lib/python3.11.../site-packages/morepath/app.py:138: in __call__
    response = self.publish(request)
               ^^^^^^^^^^^^^^^^^^^^^
............................................./app/lib/python3.11....../site-packages/morepath/core.py:201: in poisoned_host_header_protection_tween
    return handler(request)
           ^^^^^^^^^^^^^^^^
.../onegov/core/framework.py:1751: in http_conflict_tween
    return handler(request)
           ^^^^^^^^^^^^^^^^
.../onegov/core/framework.py:1776: in activate_session_manager
    return handler(request)
           ^^^^^^^^^^^^^^^^
.../onegov/core/framework.py:1794: in close_session_after_request
    return handler(request)
           ^^^^^^^^^^^^^^^^
.../onegov/file/integration.py:448: in configure_depot_tween
    return handler(request)
           ^^^^^^^^^^^^^^^^
............................................./app/lib/python3.11.../more/transaction/main.py:67: in transaction_tween
    response = handler(request)
               ^^^^^^^^^^^^^^^^
.../onegov/core/framework.py:1618: in fix_webassets_url
    response = handler(request)
               ^^^^^^^^^^^^^^^^
.../onegov/user/integration.py:312: in auto_login_tween
    return handler(request)
           ^^^^^^^^^^^^^^^^
............................................./app/lib/python3.11.../more/webassets/tweens.py:132: in __call__
    return self.handler(request)
           ^^^^^^^^^^^^^^^^^^^^^
............................................./app/lib/python3.11.../more/webassets/tweens.py:84: in __call__
    response = self.handler(request)
               ^^^^^^^^^^^^^^^^^^^^^
............................................./app/lib/python3.11....../site-packages/morepath/core.py:157: in excview_tween
    response = handler(request)
               ^^^^^^^^^^^^^^^^
............................................./app/lib/python3.11.../more/content_security/core.py:99: in content_security_policy_tween
    response = handler(request)
               ^^^^^^^^^^^^^^^^
.../onegov/core/framework.py:1819: in current_language_tween
    return handler(request)
           ^^^^^^^^^^^^^^^^
.../onegov/core/framework.py:1861: in set_cache_control_header_tween
    response = handler(request)
               ^^^^^^^^^^^^^^^^
.../onegov/gis/integration.py:139: in inject_mapbox_api_token_tween
    response = handler(request)
               ^^^^^^^^^^^^^^^^
.../onegov/websockets/integration.py:151: in websocket_csp_tween
    result = handler(request)
             ^^^^^^^^^^^^^^^^
.../onegov/org/app.py:712: in enable_iframes_tween
    result = handler(request)
             ^^^^^^^^^^^^^^^^
............................................./app/lib/python3.11....../site-packages/morepath/publish.py:38: in publish
    return resolve_response(obj, request)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
............................................./app/lib/python3.11....../site-packages/morepath/publish.py:93: in resolve_response
    return request.app.get_view(obj, request)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
<generated code: def call(self, obj, request):
    _key = _registry_key(self=self, obj=obj, request=request)
    return (_component_lookup(_key) or
            _fallback_lookup(_key) or
            _fallback)(self, obj, request)
>:3: in call
    ???
.../onegov/org/app.py:951: in wrapped
    response = func(self, obj, request)
               ^^^^^^^^^^^^^^^^^^^^^^^^
............................................./app/lib/python3.11.../site-packages/morepath/view.py:82: in __call__
    content = self.func(obj, request)
              ^^^^^^^^^^^^^^^^^^^^^^^
.../town6/views/search.py:21: in town_search
    return search(self, request, DefaultLayout(self, request))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../org/views/search.py:76: in search
    results_html = self.highlight_results(render_macro(
.../onegov/core/templates.py:294: in render_macro
    macro.include(stream, Scope(variables), {})
macros_beb1f6aa674d96fef4cc15ac212cbc98.py:29797: in render_search_results
    ???
macros_beb1f6aa674d96fef4cc15ac212cbc98.py:30514: in render_search_result_files
    ???
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <OrgRequest at 0x7f5d4af3aed0 GET http:.../localhost/search?q=Adobe>
model = <onegov.org.models.file.GeneralFile object at 0x7f5d4b5c5010>

    def get_layout(self, model: object) -> Layout | DefaultLayout:
        """
        Get the registered layout for a model instance.
        """
        layout_class = self.app.get_layout_class(model)
>       assert layout_class is not None
               ^^^^^^^^^^^^^^^^^^^^^^^^
E       AssertionError

.../onegov/org/request.py:293: AssertionError
tests/onegov/town6/test_views.py::test_search_in_header
Stack Traces | 3.75s run time
client_with_fts = <tests.onegov.town6.conftest.Client object at 0x7f7d15a4ad50>

    def test_search_in_header(client_with_fts: Client) -> None:
        page = client_with_fts.get("/")
        assert "Suchbegriff" in page
        page.form['q'] = 'aktuell'
>       page = page.form.submit()
               ^^^^^^^^^^^^^^^^^^

.../onegov/town6/test_views.py:159: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.................................................../app/lib/python3.11.../site-packages/webtest/forms.py:633: in submit
    return self.response.goto(self.action, method=self.method,
.................................................../app/lib/python3.11.../site-packages/webtest/response.py:275: in goto
    return method(href, **args)
           ^^^^^^^^^^^^^^^^^^^^
.................................................../app/lib/python3.11....../site-packages/webtest/app.py:328: in get
    return self.do_request(req, status=status,
tests/shared/client.py:167: in do_request
    return self.extend_response(super().do_request(*args, **kwargs))
                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.................................................../app/lib/python3.11....../site-packages/webtest/app.py:627: in do_request
    res = req.get_response(app, catch_exc_info=True)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.................................................../app/lib/python3.11....../site-packages/webob/request.py:1309: in send
    status, headers, app_iter, exc_info = self.call_application(
.................................................../app/lib/python3.11....../site-packages/webob/request.py:1278: in call_application
    app_iter = application(self.environ, start_response)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.................................................../app/lib/python3.11.../site-packages/webtest/lint.py:196: in lint_app
    iterator = application(environ, start_response_wrapper)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../onegov/core/framework.py:222: in with_request_cache_wrapper
    return fn(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^
.../onegov/core/framework.py:237: in with_print_exceptions_wrapper
    return fn(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^
.................................................../app/lib/python3.11.../site-packages/morepath/app.py:138: in __call__
    response = self.publish(request)
               ^^^^^^^^^^^^^^^^^^^^^
.................................................../app/lib/python3.11....../site-packages/morepath/core.py:201: in poisoned_host_header_protection_tween
    return handler(request)
           ^^^^^^^^^^^^^^^^
.../onegov/core/framework.py:1751: in http_conflict_tween
    return handler(request)
           ^^^^^^^^^^^^^^^^
.../onegov/core/framework.py:1776: in activate_session_manager
    return handler(request)
           ^^^^^^^^^^^^^^^^
.../onegov/core/framework.py:1794: in close_session_after_request
    return handler(request)
           ^^^^^^^^^^^^^^^^
.../onegov/file/integration.py:448: in configure_depot_tween
    return handler(request)
           ^^^^^^^^^^^^^^^^
.................................................../app/lib/python3.11.../more/transaction/main.py:67: in transaction_tween
    response = handler(request)
               ^^^^^^^^^^^^^^^^
.../onegov/core/framework.py:1618: in fix_webassets_url
    response = handler(request)
               ^^^^^^^^^^^^^^^^
.../onegov/user/integration.py:312: in auto_login_tween
    return handler(request)
           ^^^^^^^^^^^^^^^^
.................................................../app/lib/python3.11.../more/webassets/tweens.py:132: in __call__
    return self.handler(request)
           ^^^^^^^^^^^^^^^^^^^^^
.................................................../app/lib/python3.11.../more/webassets/tweens.py:84: in __call__
    response = self.handler(request)
               ^^^^^^^^^^^^^^^^^^^^^
.................................................../app/lib/python3.11....../site-packages/morepath/core.py:157: in excview_tween
    response = handler(request)
               ^^^^^^^^^^^^^^^^
.................................................../app/lib/python3.11.../more/content_security/core.py:99: in content_security_policy_tween
    response = handler(request)
               ^^^^^^^^^^^^^^^^
.../onegov/core/framework.py:1819: in current_language_tween
    return handler(request)
           ^^^^^^^^^^^^^^^^
.../onegov/core/framework.py:1861: in set_cache_control_header_tween
    response = handler(request)
               ^^^^^^^^^^^^^^^^
.../onegov/gis/integration.py:139: in inject_mapbox_api_token_tween
    response = handler(request)
               ^^^^^^^^^^^^^^^^
.../onegov/websockets/integration.py:151: in websocket_csp_tween
    result = handler(request)
             ^^^^^^^^^^^^^^^^
.../onegov/org/app.py:712: in enable_iframes_tween
    result = handler(request)
             ^^^^^^^^^^^^^^^^
.................................................../app/lib/python3.11....../site-packages/morepath/publish.py:38: in publish
    return resolve_response(obj, request)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.................................................../app/lib/python3.11....../site-packages/morepath/publish.py:93: in resolve_response
    return request.app.get_view(obj, request)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
<generated code: def call(self, obj, request):
    _key = _registry_key(self=self, obj=obj, request=request)
    return (_component_lookup(_key) or
            _fallback_lookup(_key) or
            _fallback)(self, obj, request)
>:3: in call
    ???
.../onegov/org/app.py:951: in wrapped
    response = func(self, obj, request)
               ^^^^^^^^^^^^^^^^^^^^^^^^
.................................................../app/lib/python3.11.../site-packages/morepath/view.py:82: in __call__
    content = self.func(obj, request)
              ^^^^^^^^^^^^^^^^^^^^^^^
.../town6/views/search.py:21: in town_search
    return search(self, request, DefaultLayout(self, request))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../org/views/search.py:76: in search
    results_html = self.highlight_results(render_macro(
.../onegov/core/templates.py:294: in render_macro
    macro.include(stream, Scope(variables), {})
macros_beb1f6aa674d96fef4cc15ac212cbc98.py:29797: in render_search_results
    ???
macros_beb1f6aa674d96fef4cc15ac212cbc98.py:32056: in render_search_result_default
    ???
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <OrgRequest at 0x7f7d18d52610 GET http:.../localhost/search?q=aktuell>
model = News(name='news', id=4, parent_id=None)

    def get_layout(self, model: object) -> Layout | DefaultLayout:
        """
        Get the registered layout for a model instance.
        """
        layout_class = self.app.get_layout_class(model)
>       assert layout_class is not None
               ^^^^^^^^^^^^^^^^^^^^^^^^
E       AssertionError

.../onegov/org/request.py:293: AssertionError
tests/onegov/town6/test_views_search.py::test_ticket_chat_search
Stack Traces | 3.91s run time
client_with_fts = <tests.onegov.town6.conftest.Client object at 0x7f7d0be79690>

    def test_ticket_chat_search(client_with_fts: Client) -> None:
        client = client_with_fts
    
        collection = FormCollection(client.app.session())
        collection.definitions.add('Profile', definition=textwrap.dedent("""
            First name * = ___
            Last name * = ___
            E-Mail * = @@@
        """), type='custom')
    
        transaction.commit()
    
        # submit a form
        client.login_admin()
    
        page = client.get('/forms').click('Profile')
        page.form['first_name'] = 'Foo'
        page.form['last_name'] = 'Bar'
        page.form['e_mail'] = 'foo@bar.baz'
        page = page.form.submit().follow().form.submit().follow()
    
        # send a message that should be findable through the search
        page.form['text'] = "I spelt my name wrong: it's deadbeef"
        assert page.form.submit().follow().status_code == 200
    
        # at this point logged in users should find the ticket by 'deadbeef'
>       page = client.get('/search?q=deadbeef')
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

.../onegov/town6/test_views_search.py:269: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
............................................./app/lib/python3.11....../site-packages/webtest/app.py:328: in get
    return self.do_request(req, status=status,
tests/shared/client.py:167: in do_request
    return self.extend_response(super().do_request(*args, **kwargs))
                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
............................................./app/lib/python3.11....../site-packages/webtest/app.py:627: in do_request
    res = req.get_response(app, catch_exc_info=True)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
............................................./app/lib/python3.11....../site-packages/webob/request.py:1309: in send
    status, headers, app_iter, exc_info = self.call_application(
............................................./app/lib/python3.11....../site-packages/webob/request.py:1278: in call_application
    app_iter = application(self.environ, start_response)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
............................................./app/lib/python3.11.../site-packages/webtest/lint.py:196: in lint_app
    iterator = application(environ, start_response_wrapper)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../onegov/core/framework.py:222: in with_request_cache_wrapper
    return fn(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^
.../onegov/core/framework.py:237: in with_print_exceptions_wrapper
    return fn(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^
............................................./app/lib/python3.11.../site-packages/morepath/app.py:138: in __call__
    response = self.publish(request)
               ^^^^^^^^^^^^^^^^^^^^^
............................................./app/lib/python3.11....../site-packages/morepath/core.py:201: in poisoned_host_header_protection_tween
    return handler(request)
           ^^^^^^^^^^^^^^^^
.../onegov/core/framework.py:1751: in http_conflict_tween
    return handler(request)
           ^^^^^^^^^^^^^^^^
.../onegov/core/framework.py:1776: in activate_session_manager
    return handler(request)
           ^^^^^^^^^^^^^^^^
.../onegov/core/framework.py:1794: in close_session_after_request
    return handler(request)
           ^^^^^^^^^^^^^^^^
.../onegov/file/integration.py:448: in configure_depot_tween
    return handler(request)
           ^^^^^^^^^^^^^^^^
............................................./app/lib/python3.11.../more/transaction/main.py:67: in transaction_tween
    response = handler(request)
               ^^^^^^^^^^^^^^^^
.../onegov/core/framework.py:1618: in fix_webassets_url
    response = handler(request)
               ^^^^^^^^^^^^^^^^
.../onegov/user/integration.py:312: in auto_login_tween
    return handler(request)
           ^^^^^^^^^^^^^^^^
............................................./app/lib/python3.11.../more/webassets/tweens.py:132: in __call__
    return self.handler(request)
           ^^^^^^^^^^^^^^^^^^^^^
............................................./app/lib/python3.11.../more/webassets/tweens.py:84: in __call__
    response = self.handler(request)
               ^^^^^^^^^^^^^^^^^^^^^
............................................./app/lib/python3.11....../site-packages/morepath/core.py:157: in excview_tween
    response = handler(request)
               ^^^^^^^^^^^^^^^^
............................................./app/lib/python3.11.../more/content_security/core.py:99: in content_security_policy_tween
    response = handler(request)
               ^^^^^^^^^^^^^^^^
.../onegov/core/framework.py:1819: in current_language_tween
    return handler(request)
           ^^^^^^^^^^^^^^^^
.../onegov/core/framework.py:1861: in set_cache_control_header_tween
    response = handler(request)
               ^^^^^^^^^^^^^^^^
.../onegov/gis/integration.py:139: in inject_mapbox_api_token_tween
    response = handler(request)
               ^^^^^^^^^^^^^^^^
.../onegov/websockets/integration.py:151: in websocket_csp_tween
    result = handler(request)
             ^^^^^^^^^^^^^^^^
.../onegov/org/app.py:712: in enable_iframes_tween
    result = handler(request)
             ^^^^^^^^^^^^^^^^
............................................./app/lib/python3.11....../site-packages/morepath/publish.py:38: in publish
    return resolve_response(obj, request)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
............................................./app/lib/python3.11....../site-packages/morepath/publish.py:93: in resolve_response
    return request.app.get_view(obj, request)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
<generated code: def call(self, obj, request):
    _key = _registry_key(self=self, obj=obj, request=request)
    return (_component_lookup(_key) or
            _fallback_lookup(_key) or
            _fallback)(self, obj, request)
>:3: in call
    ???
.../onegov/org/app.py:951: in wrapped
    response = func(self, obj, request)
               ^^^^^^^^^^^^^^^^^^^^^^^^
............................................./app/lib/python3.11.../site-packages/morepath/view.py:82: in __call__
    content = self.func(obj, request)
              ^^^^^^^^^^^^^^^^^^^^^^^
.../town6/views/search.py:21: in town_search
    return search(self, request, DefaultLayout(self, request))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../org/views/search.py:76: in search
    results_html = self.highlight_results(render_macro(
.../onegov/core/templates.py:294: in render_macro
    macro.include(stream, Scope(variables), {})
macros_beb1f6aa674d96fef4cc15ac212cbc98.py:29797: in render_search_results
    ???
macros_beb1f6aa674d96fef4cc15ac212cbc98.py:30815: in render_search_result_tickets
    ???
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <OrgRequest at 0x7f7d10484810 GET http:.../localhost/search?q=deadbeef>
model = <onegov.org.models.ticket.FormSubmissionTicket object at 0x7f7d10659dd0>

    def get_layout(self, model: object) -> Layout | DefaultLayout:
        """
        Get the registered layout for a model instance.
        """
        layout_class = self.app.get_layout_class(model)
>       assert layout_class is not None
               ^^^^^^^^^^^^^^^^^^^^^^^^
E       AssertionError

.../onegov/org/request.py:293: AssertionError
tests/onegov/town6/test_views_search.py::test_search_recently_published_object
Stack Traces | 3.92s run time
client_with_fts = <tests.onegov.town6.conftest.Client object at 0x7f4ec25f8b10>

    def test_search_recently_published_object(client_with_fts: Client) -> None:
        client = client_with_fts
        client.login_admin()
        anom = client.spawn()
        session = client.app.session()
    
        # Create objects, not yet published
        start = datetime.now() + timedelta(days=1)
    
        add_news = client.get('/news').click('Nachricht')
        add_news.form['title'] = "Now supporting fulltext search"
        add_news.form['lead'] = "It is pretty awesome"
        add_news.form['text'] = "Much <em>wow</em>"
        add_news.form['publication_start'] = start.isoformat()
        add_news.form.submit()
    
        page = session.query(Page).filter(
            Page.title == "Now supporting fulltext search"
        ).one()
        assert isinstance(page, News)
        assert page.access == 'public'
        assert page.published == False
    
>       assert 'fulltext' in client.get('/search?q=wow')
                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^

.../onegov/town6/test_views_search.py:121: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
............................................./app/lib/python3.11....../site-packages/webtest/app.py:328: in get
    return self.do_request(req, status=status,
tests/shared/client.py:167: in do_request
    return self.extend_response(super().do_request(*args, **kwargs))
                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
............................................./app/lib/python3.11....../site-packages/webtest/app.py:627: in do_request
    res = req.get_response(app, catch_exc_info=True)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
............................................./app/lib/python3.11....../site-packages/webob/request.py:1309: in send
    status, headers, app_iter, exc_info = self.call_application(
............................................./app/lib/python3.11....../site-packages/webob/request.py:1278: in call_application
    app_iter = application(self.environ, start_response)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
............................................./app/lib/python3.11.../site-packages/webtest/lint.py:196: in lint_app
    iterator = application(environ, start_response_wrapper)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../onegov/core/framework.py:222: in with_request_cache_wrapper
    return fn(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^
.../onegov/core/framework.py:237: in with_print_exceptions_wrapper
    return fn(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^
............................................./app/lib/python3.11.../site-packages/morepath/app.py:138: in __call__
    response = self.publish(request)
               ^^^^^^^^^^^^^^^^^^^^^
............................................./app/lib/python3.11....../site-packages/morepath/core.py:201: in poisoned_host_header_protection_tween
    return handler(request)
           ^^^^^^^^^^^^^^^^
.../onegov/core/framework.py:1751: in http_conflict_tween
    return handler(request)
           ^^^^^^^^^^^^^^^^
.../onegov/core/framework.py:1776: in activate_session_manager
    return handler(request)
           ^^^^^^^^^^^^^^^^
.../onegov/core/framework.py:1794: in close_session_after_request
    return handler(request)
           ^^^^^^^^^^^^^^^^
.../onegov/file/integration.py:448: in configure_depot_tween
    return handler(request)
           ^^^^^^^^^^^^^^^^
............................................./app/lib/python3.11.../more/transaction/main.py:67: in transaction_tween
    response = handler(request)
               ^^^^^^^^^^^^^^^^
.../onegov/core/framework.py:1618: in fix_webassets_url
    response = handler(request)
               ^^^^^^^^^^^^^^^^
.../onegov/user/integration.py:312: in auto_login_tween
    return handler(request)
           ^^^^^^^^^^^^^^^^
............................................./app/lib/python3.11.../more/webassets/tweens.py:132: in __call__
    return self.handler(request)
           ^^^^^^^^^^^^^^^^^^^^^
............................................./app/lib/python3.11.../more/webassets/tweens.py:84: in __call__
    response = self.handler(request)
               ^^^^^^^^^^^^^^^^^^^^^
............................................./app/lib/python3.11....../site-packages/morepath/core.py:157: in excview_tween
    response = handler(request)
               ^^^^^^^^^^^^^^^^
............................................./app/lib/python3.11.../more/content_security/core.py:99: in content_security_policy_tween
    response = handler(request)
               ^^^^^^^^^^^^^^^^
.../onegov/core/framework.py:1819: in current_language_tween
    return handler(request)
           ^^^^^^^^^^^^^^^^
.../onegov/core/framework.py:1861: in set_cache_control_header_tween
    response = handler(request)
               ^^^^^^^^^^^^^^^^
.../onegov/gis/integration.py:139: in inject_mapbox_api_token_tween
    response = handler(request)
               ^^^^^^^^^^^^^^^^
.../onegov/websockets/integration.py:151: in websocket_csp_tween
    result = handler(request)
             ^^^^^^^^^^^^^^^^
.../onegov/org/app.py:712: in enable_iframes_tween
    result = handler(request)
             ^^^^^^^^^^^^^^^^
............................................./app/lib/python3.11....../site-packages/morepath/publish.py:38: in publish
    return resolve_response(obj, request)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
............................................./app/lib/python3.11....../site-packages/morepath/publish.py:93: in resolve_response
    return request.app.get_view(obj, request)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
<generated code: def call(self, obj, request):
    _key = _registry_key(self=self, obj=obj, request=request)
    return (_component_lookup(_key) or
            _fallback_lookup(_key) or
            _fallback)(self, obj, request)
>:3: in call
    ???
.../onegov/org/app.py:951: in wrapped
    response = func(self, obj, request)
               ^^^^^^^^^^^^^^^^^^^^^^^^
............................................./app/lib/python3.11.../site-packages/morepath/view.py:82: in __call__
    content = self.func(obj, request)
              ^^^^^^^^^^^^^^^^^^^^^^^
.../town6/views/search.py:21: in town_search
    return search(self, request, DefaultLayout(self, request))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../org/views/search.py:76: in search
    results_html = self.highlight_results(render_macro(
.../onegov/core/templates.py:294: in render_macro
    macro.include(stream, Scope(variables), {})
macros_beb1f6aa674d96fef4cc15ac212cbc98.py:29797: in render_search_results
    ???
macros_beb1f6aa674d96fef4cc15ac212cbc98.py:32056: in render_search_result_default
    ???
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <OrgRequest at 0x7f4ec2e53810 GET http:.../localhost/search?q=wow>
model = News(name='now-supporting-fulltext-search', id=6, parent_id=4)

    def get_layout(self, model: object) -> Layout | DefaultLayout:
        """
        Get the registered layout for a model instance.
        """
        layout_class = self.app.get_layout_class(model)
>       assert layout_class is not None
               ^^^^^^^^^^^^^^^^^^^^^^^^
E       AssertionError

.../onegov/org/request.py:293: AssertionError
tests/onegov/town6/test_views_search.py::test_basic_search
Stack Traces | 4.14s run time
client_with_fts = <tests.onegov.town6.conftest.Client object at 0x7f5d5148ec50>

    def test_basic_search(client_with_fts: Client) -> None:
        client = client_with_fts
        client.login_admin()
        anom = client.spawn()
    
        add_news = client.get('/news').click('Nachricht')
        add_news.form['title'] = "Now supporting fulltext search"
        add_news.form['lead'] = "It is pretty awesome"
        add_news.form['text'] = "Much <em>wow</em>"
        news = add_news.form.submit().follow()
    
        root_page = client.get('/')
        root_page.form['q'] = "fulltext"
    
>       search_page = root_page.form.submit()
                      ^^^^^^^^^^^^^^^^^^^^^^^

.../onegov/town6/test_views_search.py:36: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.................................................../app/lib/python3.11.../site-packages/webtest/forms.py:633: in submit
    return self.response.goto(self.action, method=self.method,
.................................................../app/lib/python3.11.../site-packages/webtest/response.py:275: in goto
    return method(href, **args)
           ^^^^^^^^^^^^^^^^^^^^
.................................................../app/lib/python3.11....../site-packages/webtest/app.py:328: in get
    return self.do_request(req, status=status,
tests/shared/client.py:167: in do_request
    return self.extend_response(super().do_request(*args, **kwargs))
                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.................................................../app/lib/python3.11....../site-packages/webtest/app.py:627: in do_request
    res = req.get_response(app, catch_exc_info=True)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.................................................../app/lib/python3.11....../site-packages/webob/request.py:1309: in send
    status, headers, app_iter, exc_info = self.call_application(
.................................................../app/lib/python3.11....../site-packages/webob/request.py:1278: in call_application
    app_iter = application(self.environ, start_response)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.................................................../app/lib/python3.11.../site-packages/webtest/lint.py:196: in lint_app
    iterator = application(environ, start_response_wrapper)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../onegov/core/framework.py:222: in with_request_cache_wrapper
    return fn(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^
.../onegov/core/framework.py:237: in with_print_exceptions_wrapper
    return fn(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^
.................................................../app/lib/python3.11.../site-packages/morepath/app.py:138: in __call__
    response = self.publish(request)
               ^^^^^^^^^^^^^^^^^^^^^
.................................................../app/lib/python3.11....../site-packages/morepath/core.py:201: in poisoned_host_header_protection_tween
    return handler(request)
           ^^^^^^^^^^^^^^^^
.../onegov/core/framework.py:1751: in http_conflict_tween
    return handler(request)
           ^^^^^^^^^^^^^^^^
.../onegov/core/framework.py:1776: in activate_session_manager
    return handler(request)
           ^^^^^^^^^^^^^^^^
.../onegov/core/framework.py:1794: in close_session_after_request
    return handler(request)
           ^^^^^^^^^^^^^^^^
.../onegov/file/integration.py:448: in configure_depot_tween
    return handler(request)
           ^^^^^^^^^^^^^^^^
.................................................../app/lib/python3.11.../more/transaction/main.py:67: in transaction_tween
    response = handler(request)
               ^^^^^^^^^^^^^^^^
.../onegov/core/framework.py:1618: in fix_webassets_url
    response = handler(request)
               ^^^^^^^^^^^^^^^^
.../onegov/user/integration.py:312: in auto_login_tween
    return handler(request)
           ^^^^^^^^^^^^^^^^
.................................................../app/lib/python3.11.../more/webassets/tweens.py:132: in __call__
    return self.handler(request)
           ^^^^^^^^^^^^^^^^^^^^^
.................................................../app/lib/python3.11.../more/webassets/tweens.py:84: in __call__
    response = self.handler(request)
               ^^^^^^^^^^^^^^^^^^^^^
.................................................../app/lib/python3.11....../site-packages/morepath/core.py:157: in excview_tween
    response = handler(request)
               ^^^^^^^^^^^^^^^^
.................................................../app/lib/python3.11.../more/content_security/core.py:99: in content_security_policy_tween
    response = handler(request)
               ^^^^^^^^^^^^^^^^
.../onegov/core/framework.py:1819: in current_language_tween
    return handler(request)
           ^^^^^^^^^^^^^^^^
.../onegov/core/framework.py:1861: in set_cache_control_header_tween
    response = handler(request)
               ^^^^^^^^^^^^^^^^
.../onegov/gis/integration.py:139: in inject_mapbox_api_token_tween
    response = handler(request)
               ^^^^^^^^^^^^^^^^
.../onegov/websockets/integration.py:151: in websocket_csp_tween
    result = handler(request)
             ^^^^^^^^^^^^^^^^
.../onegov/org/app.py:712: in enable_iframes_tween
    result = handler(request)
             ^^^^^^^^^^^^^^^^
.................................................../app/lib/python3.11....../site-packages/morepath/publish.py:38: in publish
    return resolve_response(obj, request)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.................................................../app/lib/python3.11....../site-packages/morepath/publish.py:93: in resolve_response
    return request.app.get_view(obj, request)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
<generated code: def call(self, obj, request):
    _key = _registry_key(self=self, obj=obj, request=request)
    return (_component_lookup(_key) or
            _fallback_lookup(_key) or
            _fallback)(self, obj, request)
>:3: in call
    ???
.../onegov/org/app.py:951: in wrapped
    response = func(self, obj, request)
               ^^^^^^^^^^^^^^^^^^^^^^^^
.................................................../app/lib/python3.11.../site-packages/morepath/view.py:82: in __call__
    content = self.func(obj, request)
              ^^^^^^^^^^^^^^^^^^^^^^^
.../town6/views/search.py:21: in town_search
    return search(self, request, DefaultLayout(self, request))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../org/views/search.py:76: in search
    results_html = self.highlight_results(render_macro(
.../onegov/core/templates.py:294: in render_macro
    macro.include(stream, Scope(variables), {})
macros_beb1f6aa674d96fef4cc15ac212cbc98.py:29797: in render_search_results
    ???
macros_beb1f6aa674d96fef4cc15ac212cbc98.py:32056: in render_search_result_default
    ???
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <OrgRequest at 0x7f5d436cc610 GET http:.../localhost/search?q=fulltext>
model = News(name='now-supporting-fulltext-search', id=6, parent_id=4)

    def get_layout(self, model: object) -> Layout | DefaultLayout:
        """
        Get the registered layout for a model instance.
        """
        layout_class = self.app.get_layout_class(model)
>       assert layout_class is not None
               ^^^^^^^^^^^^^^^^^^^^^^^^
E       AssertionError

.../onegov/org/request.py:293: AssertionError
tests/onegov/town6/test_views_search.py::test_view_search_is_limiting
Stack Traces | 5.01s run time
client_with_fts = <tests.onegov.town6.conftest.Client object at 0x7f5d437294d0>

    def test_view_search_is_limiting(client_with_fts: Client) -> None:
        # ensures that the search doesn't just return all results
        # a regression that occurred for anonymous uses only
    
        client = client_with_fts
        client.login_admin()
    
        add_news = client.get('/news').click('Nachricht')
        add_news.form['title'] = "Foobar"
        add_news.form['lead'] = "Foobar"
        add_news.form.submit()
    
        add_news = client.get('/news').click('Nachricht')
        add_news.form['title'] = "Deadbeef"
        add_news.form['lead'] = "Deadbeef"
        add_news.form.submit()
    
        root_page = client.get('/')
        root_page.form['q'] = "Foobar"
>       search_page = root_page.form.submit()
                      ^^^^^^^^^^^^^^^^^^^^^^^

.../onegov/town6/test_views_search.py:85: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.................................................../app/lib/python3.11.../site-packages/webtest/forms.py:633: in submit
    return self.response.goto(self.action, method=self.method,
.................................................../app/lib/python3.11.../site-packages/webtest/response.py:275: in goto
    return method(href, **args)
           ^^^^^^^^^^^^^^^^^^^^
.................................................../app/lib/python3.11....../site-packages/webtest/app.py:328: in get
    return self.do_request(req, status=status,
tests/shared/client.py:167: in do_request
    return self.extend_response(super().do_request(*args, **kwargs))
                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.................................................../app/lib/python3.11....../site-packages/webtest/app.py:627: in do_request
    res = req.get_response(app, catch_exc_info=True)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.................................................../app/lib/python3.11....../site-packages/webob/request.py:1309: in send
    status, headers, app_iter, exc_info = self.call_application(
.................................................../app/lib/python3.11....../site-packages/webob/request.py:1278: in call_application
    app_iter = application(self.environ, start_response)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.................................................../app/lib/python3.11.../site-packages/webtest/lint.py:196: in lint_app
    iterator = application(environ, start_response_wrapper)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../onegov/core/framework.py:222: in with_request_cache_wrapper
    return fn(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^
.../onegov/core/framework.py:237: in with_print_exceptions_wrapper
    return fn(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^
.................................................../app/lib/python3.11.../site-packages/morepath/app.py:138: in __call__
    response = self.publish(request)
               ^^^^^^^^^^^^^^^^^^^^^
.................................................../app/lib/python3.11....../site-packages/morepath/core.py:201: in poisoned_host_header_protection_tween
    return handler(request)
           ^^^^^^^^^^^^^^^^
.../onegov/core/framework.py:1751: in http_conflict_tween
    return handler(request)
           ^^^^^^^^^^^^^^^^
.../onegov/core/framework.py:1776: in activate_session_manager
    return handler(request)
           ^^^^^^^^^^^^^^^^
.../onegov/core/framework.py:1794: in close_session_after_request
    return handler(request)
           ^^^^^^^^^^^^^^^^
.../onegov/file/integration.py:448: in configure_depot_tween
    return handler(request)
           ^^^^^^^^^^^^^^^^
.................................................../app/lib/python3.11.../more/transaction/main.py:67: in transaction_tween
    response = handler(request)
               ^^^^^^^^^^^^^^^^
.../onegov/core/framework.py:1618: in fix_webassets_url
    response = handler(request)
               ^^^^^^^^^^^^^^^^
.../onegov/user/integration.py:312: in auto_login_tween
    return handler(request)
           ^^^^^^^^^^^^^^^^
.................................................../app/lib/python3.11.../more/webassets/tweens.py:132: in __call__
    return self.handler(request)
           ^^^^^^^^^^^^^^^^^^^^^
.................................................../app/lib/python3.11.../more/webassets/tweens.py:84: in __call__
    response = self.handler(request)
               ^^^^^^^^^^^^^^^^^^^^^
.................................................../app/lib/python3.11....../site-packages/morepath/core.py:157: in excview_tween
    response = handler(request)
               ^^^^^^^^^^^^^^^^
.................................................../app/lib/python3.11.../more/content_security/core.py:99: in content_security_policy_tween
    response = handler(request)
               ^^^^^^^^^^^^^^^^
.../onegov/core/framework.py:1819: in current_language_tween
    return handler(request)
           ^^^^^^^^^^^^^^^^
.../onegov/core/framework.py:1861: in set_cache_control_header_tween
    response = handler(request)
               ^^^^^^^^^^^^^^^^
.../onegov/gis/integration.py:139: in inject_mapbox_api_token_tween
    response = handler(request)
               ^^^^^^^^^^^^^^^^
.../onegov/websockets/integration.py:151: in websocket_csp_tween
    result = handler(request)
             ^^^^^^^^^^^^^^^^
.../onegov/org/app.py:712: in enable_iframes_tween
    result = handler(request)
             ^^^^^^^^^^^^^^^^
.................................................../app/lib/python3.11....../site-packages/morepath/publish.py:38: in publish
    return resolve_response(obj, request)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.................................................../app/lib/python3.11....../site-packages/morepath/publish.py:93: in resolve_response
    return request.app.get_view(obj, request)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
<generated code: def call(self, obj, request):
    _key = _registry_key(self=self, obj=obj, request=request)
    return (_component_lookup(_key) or
            _fallback_lookup(_key) or
            _fallback)(self, obj, request)
>:3: in call
    ???
.../onegov/org/app.py:951: in wrapped
    response = func(self, obj, request)
               ^^^^^^^^^^^^^^^^^^^^^^^^
.................................................../app/lib/python3.11.../site-packages/morepath/view.py:82: in __call__
    content = self.func(obj, request)
              ^^^^^^^^^^^^^^^^^^^^^^^
.../town6/views/search.py:21: in town_search
    return search(self, request, DefaultLayout(self, request))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../org/views/search.py:76: in search
    results_html = self.highlight_results(render_macro(
.../onegov/core/templates.py:294: in render_macro
    macro.include(stream, Scope(variables), {})
macros_beb1f6aa674d96fef4cc15ac212cbc98.py:29797: in render_search_results
    ???
macros_beb1f6aa674d96fef4cc15ac212cbc98.py:32056: in render_search_result_default
    ???
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <OrgRequest at 0x7f5d48e77290 GET http:.../localhost/search?q=Foobar>
model = News(name='foobar', id=6, parent_id=4)

    def get_layout(self, model: object) -> Layout | DefaultLayout:
        """
        Get the registered layout for a model instance.
        """
        layout_class = self.app.get_layout_class(model)
>       assert layout_class is not None
               ^^^^^^^^^^^^^^^^^^^^^^^^
E       AssertionError

.../onegov/org/request.py:293: AssertionError
tests/onegov/town6/test_views_search.py::test_search_future_events_are_sorted_by_occurrence_date
Stack Traces | 5.32s run time
client_with_fts = <tests.onegov.town6.conftest.Client object at 0x7f715b572e50>

    def test_search_future_events_are_sorted_by_occurrence_date(
        client_with_fts: Client
    ) -> None:
    
        client = client_with_fts
        client.login_admin()
        anom = client.spawn()
        member = client.spawn()
        member.login_member()
    
        event_data: list[dict[str, Any]] = [
            {
                "email": "test@example.org",
                "title": "Not sorted Concert",
                "location": "Location0",
                "organizer": "Organizer0",
                "start_date": date.today() - timedelta(days=10),
            },
            {
                "email": "test2@example.org",
                "title": "Second Concert",
                "location": "Location2",
                "organizer": "Organizer2",
                "start_date": date.today() + timedelta(days=20),
            },
            {
                "email": "test1@example.org",
                "title": "First Concert",
                "location": "Location1",
                "organizer": "Organizer1",
                "start_date": date.today() + timedelta(days=1),
            },
            {
                "email": "test4@example.org",
                "title": "Fourth Concert",
                "location": "Location4",
                "organizer": "Organizer4",
                "start_date": date.today() + timedelta(days=111),
            },
            {
                "email": "test3@example.org",
                "title": "Third Concert",
                "location": "Location3",
                "organizer": "Organizer3",
                "start_date": date.today() + timedelta(days=35),
            },
    
        ]
    
        # Create a couple of events
        for data in event_data:
            form_page = client.get('/events/enter-event')
            form_page.form['email'] = data['email']
            form_page.form['title'] = data['title']
            form_page.form['location'] = data['location']
            form_page.form['organizer'] = data['organizer']
            form_page.form['start_date'] = data['start_date'].isoformat()
            form_page.form['start_time'] = "18:00"
            form_page.form['end_time'] = "22:00"
            form_page.form['repeat'] = 'without'
    
            events_redirect = form_page.form.submit().follow().follow()
            assert "erfolgreich erstellt" in events_redirect
    
        for current_client in (client, member, anom):
>           results = current_client.get('/search?q=Concert')
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

.../onegov/town6/test_views_search.py:342: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
............................................./app/lib/python3.11....../site-packages/webtest/app.py:328: in get
    return self.do_request(req, status=status,
tests/shared/client.py:167: in do_request
    return self.extend_response(super().do_request(*args, **kwargs))
                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
............................................./app/lib/python3.11....../site-packages/webtest/app.py:627: in do_request
    res = req.get_response(app, catch_exc_info=True)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
............................................./app/lib/python3.11....../site-packages/webob/request.py:1309: in send
    status, headers, app_iter, exc_info = self.call_application(
............................................./app/lib/python3.11....../site-packages/webob/request.py:1278: in call_application
    app_iter = application(self.environ, start_response)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
............................................./app/lib/python3.11.../site-packages/webtest/lint.py:196: in lint_app
    iterator = application(environ, start_response_wrapper)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../onegov/core/framework.py:222: in with_request_cache_wrapper
    return fn(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^
.../onegov/core/framework.py:237: in with_print_exceptions_wrapper
    return fn(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^
............................................./app/lib/python3.11.../site-packages/morepath/app.py:138: in __call__
    response = self.publish(request)
               ^^^^^^^^^^^^^^^^^^^^^
............................................./app/lib/python3.11....../site-packages/morepath/core.py:201: in poisoned_host_header_protection_tween
    return handler(request)
           ^^^^^^^^^^^^^^^^
.../onegov/core/framework.py:1751: in http_conflict_tween
    return handler(request)
           ^^^^^^^^^^^^^^^^
.../onegov/core/framework.py:1776: in activate_session_manager
    return handler(request)
           ^^^^^^^^^^^^^^^^
.../onegov/core/framework.py:1794: in close_session_after_request
    return handler(request)
           ^^^^^^^^^^^^^^^^
.../onegov/file/integration.py:448: in configure_depot_tween
    return handler(request)
           ^^^^^^^^^^^^^^^^
............................................./app/lib/python3.11.../more/transaction/main.py:67: in transaction_tween
    response = handler(request)
               ^^^^^^^^^^^^^^^^
.../onegov/core/framework.py:1618: in fix_webassets_url
    response = handler(request)
               ^^^^^^^^^^^^^^^^
.../onegov/user/integration.py:312: in auto_login_tween
    return handler(request)
           ^^^^^^^^^^^^^^^^
............................................./app/lib/python3.11.../more/webassets/tweens.py:132: in __call__
    return self.handler(request)
           ^^^^^^^^^^^^^^^^^^^^^
............................................./app/lib/python3.11.../more/webassets/tweens.py:84: in __call__
    response = self.handler(request)
               ^^^^^^^^^^^^^^^^^^^^^
............................................./app/lib/python3.11....../site-packages/morepath/core.py:157: in excview_tween
    response = handler(request)
               ^^^^^^^^^^^^^^^^
............................................./app/lib/python3.11.../more/content_security/core.py:99: in content_security_policy_tween
    response = handler(request)
               ^^^^^^^^^^^^^^^^
.../onegov/core/framework.py:1819: in current_language_tween
    return handler(request)
           ^^^^^^^^^^^^^^^^
.../onegov/core/framework.py:1861: in set_cache_control_header_tween
    response = handler(request)
               ^^^^^^^^^^^^^^^^
.../onegov/gis/integration.py:139: in inject_mapbox_api_token_tween
    response = handler(request)
               ^^^^^^^^^^^^^^^^
.../onegov/websockets/integration.py:151: in websocket_csp_tween
    result = handler(request)
             ^^^^^^^^^^^^^^^^
.../onegov/org/app.py:712: in enable_iframes_tween
    result = handler(request)
             ^^^^^^^^^^^^^^^^
............................................./app/lib/python3.11....../site-packages/morepath/publish.py:38: in publish
    return resolve_response(obj, request)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
............................................./app/lib/python3.11....../site-packages/morepath/publish.py:93: in resolve_response
    return request.app.get_view(obj, request)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
<generated code: def call(self, obj, request):
    _key = _registry_key(self=self, obj=obj, request=request)
    return (_component_lookup(_key) or
            _fallback_lookup(_key) or
            _fallback)(self, obj, request)
>:3: in call
    ???
.../onegov/org/app.py:951: in wrapped
    response = func(self, obj, request)
               ^^^^^^^^^^^^^^^^^^^^^^^^
............................................./app/lib/python3.11.../site-packages/morepath/view.py:82: in __call__
    content = self.func(obj, request)
              ^^^^^^^^^^^^^^^^^^^^^^^
.../town6/views/search.py:21: in town_search
    return search(self, request, DefaultLayout(self, request))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../org/views/search.py:76: in search
    results_html = self.highlight_results(render_macro(
.../onegov/core/templates.py:294: in render_macro
    macro.include(stream, Scope(variables), {})
macros_beb1f6aa674d96fef4cc15ac212cbc98.py:29797: in render_search_results
    ???
macros_beb1f6aa674d96fef4cc15ac212cbc98.py:31232: in render_search_result_events
    ???
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <OrgRequest at 0x7f7156b18550 GET http:.../localhost/search?q=Concert>
model = <onegov.event.models.occurrence.Occurrence object at 0x7f7156b3cd90>

    def get_layout(self, model: object) -> Layout | DefaultLayout:
        """
        Get the registered layout for a model instance.
        """
        layout_class = self.app.get_layout_class(model)
>       assert layout_class is not None
               ^^^^^^^^^^^^^^^^^^^^^^^^
E       AssertionError

.../onegov/org/request.py:293: AssertionError
tests/onegov/feriennet/test_views.py::test_activity_search
Stack Traces | 7.16s run time
client_with_fts = <tests.onegov.feriennet.conftest.Client object at 0x7fa05ce79710>
scenario = <tests.onegov.activity.conftest.Scenario object at 0x7fa05af64850>

    def test_activity_search(client_with_fts: Client, scenario: Scenario) -> None:
        client = client_with_fts
    
        scenario.add_period()
        scenario.add_activity(
            title="Learn How to Program",
            lead="Using a Raspberry Pi we will learn Python",
            username='editor@example.org'
        )
        scenario.add_occasion()
        scenario.commit()
    
        admin = client.spawn()
        admin.login_admin()
    
        editor = client.spawn()
        editor.login_editor()
    
        # in preview, activities can't be found
        assert 'search-result-activities' not in admin.get('/search?q=Learn')
        assert 'search-result-activities' not in editor.get('/search?q=Learn')
        assert 'search-result-activities' not in client.get('/search?q=Learn')
    
        url = '/activity/learn-how-to-program'
        editor.get(url).click("Publikation beantragen")
    
        # once proposed, activities can be found by the admin only
>       assert 'search-result-activities' in admin.get('/search?q=Learn')
                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^

.../onegov/feriennet/test_views.py:324: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
............................................./app/lib/python3.11....../site-packages/webtest/app.py:328: in get
    return self.do_request(req, status=status,
tests/shared/client.py:167: in do_request
    return self.extend_response(super().do_request(*args, **kwargs))
                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
............................................./app/lib/python3.11....../site-packages/webtest/app.py:627: in do_request
    res = req.get_response(app, catch_exc_info=True)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
............................................./app/lib/python3.11....../site-packages/webob/request.py:1309: in send
    status, headers, app_iter, exc_info = self.call_application(
............................................./app/lib/python3.11....../site-packages/webob/request.py:1278: in call_application
    app_iter = application(self.environ, start_response)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
............................................./app/lib/python3.11.../site-packages/webtest/lint.py:196: in lint_app
    iterator = application(environ, start_response_wrapper)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../onegov/core/framework.py:222: in with_request_cache_wrapper
    return fn(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^
.../onegov/core/framework.py:237: in with_print_exceptions_wrapper
    return fn(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^
............................................./app/lib/python3.11.../site-packages/morepath/app.py:138: in __call__
    response = self.publish(request)
               ^^^^^^^^^^^^^^^^^^^^^
............................................./app/lib/python3.11....../site-packages/morepath/core.py:201: in poisoned_host_header_protection_tween
    return handler(request)
           ^^^^^^^^^^^^^^^^
.../onegov/core/framework.py:1751: in http_conflict_tween
    return handler(request)
           ^^^^^^^^^^^^^^^^
.../onegov/core/framework.py:1776: in activate_session_manager
    return handler(request)
           ^^^^^^^^^^^^^^^^
.../onegov/core/framework.py:1794: in close_session_after_request
    return handler(request)
           ^^^^^^^^^^^^^^^^
.../onegov/file/integration.py:448: in configure_depot_tween
    return handler(request)
           ^^^^^^^^^^^^^^^^
............................................./app/lib/python3.11.../more/transaction/main.py:67: in transaction_tween
    response = handler(request)
               ^^^^^^^^^^^^^^^^
.../onegov/core/framework.py:1618: in fix_webassets_url
    response = handler(request)
               ^^^^^^^^^^^^^^^^
.../onegov/user/integration.py:312: in auto_login_tween
    return handler(request)
           ^^^^^^^^^^^^^^^^
............................................./app/lib/python3.11.../more/webassets/tweens.py:132: in __call__
    return self.handler(request)
           ^^^^^^^^^^^^^^^^^^^^^
............................................./app/lib/python3.11.../more/webassets/tweens.py:84: in __call__
    response = self.handler(request)
               ^^^^^^^^^^^^^^^^^^^^^
............................................./app/lib/python3.11....../site-packages/morepath/core.py:157: in excview_tween
    response = handler(request)
               ^^^^^^^^^^^^^^^^
............................................./app/lib/python3.11.../more/content_security/core.py:99: in content_security_policy_tween
    response = handler(request)
               ^^^^^^^^^^^^^^^^
.../onegov/core/framework.py:1819: in current_language_tween
    return handler(request)
           ^^^^^^^^^^^^^^^^
.../onegov/core/framework.py:1861: in set_cache_control_header_tween
    response = handler(request)
               ^^^^^^^^^^^^^^^^
.../onegov/gis/integration.py:139: in inject_mapbox_api_token_tween
    response = handler(request)
               ^^^^^^^^^^^^^^^^
.../onegov/websockets/integration.py:151: in websocket_csp_tween
    result = handler(request)
             ^^^^^^^^^^^^^^^^
.../onegov/org/app.py:712: in enable_iframes_tween
    result = handler(request)
             ^^^^^^^^^^^^^^^^
............................................./app/lib/python3.11....../site-packages/morepath/publish.py:38: in publish
    return resolve_response(obj, request)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
............................................./app/lib/python3.11....../site-packages/morepath/publish.py:93: in resolve_response
    return request.app.get_view(obj, request)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
<generated code: def call(self, obj, request):
    _key = _registry_key(self=self, obj=obj, request=request)
    return (_component_lookup(_key) or
            _fallback_lookup(_key) or
            _fallback)(self, obj, request)
>:3: in call
    ???
.../onegov/org/app.py:951: in wrapped
    response = func(self, obj, request)
               ^^^^^^^^^^^^^^^^^^^^^^^^
............................................./app/lib/python3.11.../site-packages/morepath/view.py:82: in __call__
    content = self.func(obj, request)
              ^^^^^^^^^^^^^^^^^^^^^^^
.../town6/views/search.py:21: in town_search
    return search(self, request, DefaultLayout(self, request))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.../org/views/search.py:76: in search
    results_html = self.highlight_results(render_macro(
.../onegov/core/templates.py:294: in render_macro
    macro.include(stream, Scope(variables), {})
macros_beb1f6aa674d96fef4cc15ac212cbc98.py:29797: in render_search_results
    ???
macros_beb1f6aa674d96fef4cc15ac212cbc98.py:32056: in render_search_result_default
    ???
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <FeriennetRequest at 0x7fa05d0a6390 GET http:.../localhost/search?q=Learn>
model = <onegov.feriennet.models.activity.VacationActivity object at 0x7fa059554d10>

    def get_layout(self, model: object) -> Layout | DefaultLayout:
        """
        Get the registered layout for a model instance.
        """
        layout_class = self.app.get_layout_class(model)
>       assert layout_class is not None
               ^^^^^^^^^^^^^^^^^^^^^^^^
E       AssertionError

.../onegov/org/request.py:293: AssertionError

To view more test analytics, go to the Test Analytics Dashboard
📋 Got 3 mins? Take this short survey to help us improve Test Analytics.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants