plone / plone.app.testing

Testing tools for Plone-the-application
http://pypi.python.org/pypi/plone.app.testing
2 stars 7 forks source link

add new bbb layer for Archetypes #51

Closed pbauer closed 5 years ago

pbauer commented 5 years ago

This is in preparation to changes in https://github.com/plone/plone.app.testing/pull/49.

For Plone 5.2 the bbb.PloneTestCase will use Dexterity instead of Arcetypes which makes it much easier to fix all the failing tests in CMFPlone but also breaks most tests in Archetypes and related packages. This change allows to keep the AT tests working and allowing CMFPlone test to always use Dexterity even before https://github.com/plone/plone.app.testing/pull/49 is merged.

pbauer commented 5 years ago

When combining all these PRs thes tests all pass except for a weird issue in archetypes.schemaextender: https://jenkins.plone.org/job/pull-request-5.2/1258/testReport/:

Here is the traceback:

Running plone.app.testing.bbb_at.PloneTestCase:Functional tests:
  Tear down plone.app.testing.bbb.PloneTestCase:Functional in 0.000 seconds.
  Tear down plone.app.testing.bbb.PloneTestCaseFixture in 0.010 seconds.
  Set up plone.app.testing.bbb_at.PloneTestCaseFixture in 0.896 seconds.
  Set up plone.app.testing.bbb_at.PloneTestCase:Functional in 0.000 seconds.

Failure in test /home/jenkins/workspace/pull-request-5.2/src/archetypes.schemaextender/archetypes/schemaextender/usage.txt
Failed doctest test for usage.txt
  File "/home/jenkins/workspace/pull-request-5.2/src/archetypes.schemaextender/archetypes/schemaextender/usage.txt", line 0

----------------------------------------------------------------------
File "/home/jenkins/workspace/pull-request-5.2/src/archetypes.schemaextender/archetypes/schemaextender/usage.txt", line 257, in usage.txt
Failed example:
    browser.open(folder_url)
Exception raised:
    Traceback (most recent call last):
      File "/srv/python2.7/lib/python2.7/doctest.py", line 1315, in __run
        compileflags, 1) in test.globs
      File "<doctest usage.txt[65]>", line 1, in <module>
        browser.open(folder_url)
      File "/home/jenkins/.buildout/eggs/zope.testbrowser-5.2.4-py2.7.egg/zope/testbrowser/browser.py", line 256, in open
        self._processRequest(url, make_request)
      File "/home/jenkins/.buildout/eggs/zope.testbrowser-5.2.4-py2.7.egg/zope/testbrowser/browser.py", line 280, in _processRequest
        resp = make_request(reqargs)
      File "/home/jenkins/.buildout/eggs/zope.testbrowser-5.2.4-py2.7.egg/zope/testbrowser/browser.py", line 254, in make_request
        return self.testapp.get(url, **args)
      File "/home/jenkins/.buildout/eggs/WebTest-2.0.29-py2.7.egg/webtest/app.py", line 331, in get
        expect_errors=expect_errors)
      File "/home/jenkins/.buildout/eggs/zope.testbrowser-5.2.4-py2.7.egg/zope/testbrowser/browser.py", line 94, in do_request
        expect_errors)
      File "/home/jenkins/.buildout/eggs/WebTest-2.0.29-py2.7.egg/webtest/app.py", line 625, in do_request
        res = req.get_response(app, catch_exc_info=True)
      File "/home/jenkins/.buildout/eggs/WebOb-1.8.2-py2.7.egg/webob/request.py", line 1309, in send
        application, catch_exc_info=True)
      File "/home/jenkins/.buildout/eggs/WebOb-1.8.2-py2.7.egg/webob/request.py", line 1277, in call_application
        app_iter = application(self.environ, start_response)
      File "/home/jenkins/.buildout/eggs/WebTest-2.0.29-py2.7.egg/webtest/lint.py", line 200, in lint_app
        iterator = application(environ, start_response_wrapper)
      File "/home/jenkins/workspace/pull-request-5.2/src/plone.testing/src/plone/testing/_z2_testbrowser.py", line 38, in wrapped_func
        return func(*args, **kw)
      File "/home/jenkins/workspace/pull-request-5.2/src/plone.testing/src/plone/testing/_z2_testbrowser.py", line 65, in __call__
        wsgi_result = publish(environ, start_response)
      File "/home/jenkins/.buildout/eggs/Zope-4.0b5-py2.7.egg/ZPublisher/WSGIPublisher.py", line 270, in publish_module
        response = _publish(request, new_mod_info)
      File "/home/jenkins/.buildout/eggs/Zope-4.0b5-py2.7.egg/ZPublisher/WSGIPublisher.py", line 210, in publish
        bind=1)
      File "/home/jenkins/.buildout/eggs/Zope-4.0b5-py2.7.egg/ZPublisher/mapply.py", line 85, in mapply
        return debug(object, args, context)
      File "/home/jenkins/.buildout/eggs/Zope-4.0b5-py2.7.egg/ZPublisher/WSGIPublisher.py", line 57, in call_object
        return obj(*args)
      File "/home/jenkins/.buildout/eggs/Zope-4.0b5-py2.7.egg/Shared/DC/Scripts/Bindings.py", line 330, in __call__
        return self._bindAndExec(args, kw, None)
      File "/home/jenkins/.buildout/eggs/Zope-4.0b5-py2.7.egg/Shared/DC/Scripts/Bindings.py", line 367, in _bindAndExec
        return self._exec(bound_data, args, kw)
      File "/home/jenkins/.buildout/eggs/Products.CMFCore-2.4.0b3-py2.7.egg/Products/CMFCore/FSPageTemplate.py", line 241, in _exec
        result = self.pt_render(extra_context=bound_names)
      File "/home/jenkins/.buildout/eggs/Products.CMFCore-2.4.0b3-py2.7.egg/Products/CMFCore/FSPageTemplate.py", line 181, in pt_render
        self, source, extra_context
      File "/home/jenkins/.buildout/eggs/Zope-4.0b5-py2.7.egg/Products/PageTemplates/PageTemplate.py", line 83, in pt_render
        showtal=showtal)
      File "/home/jenkins/.buildout/eggs/zope.pagetemplate-4.3.0-py2.7.egg/zope/pagetemplate/pagetemplate.py", line 134, in pt_render
        strictinsert=0, sourceAnnotations=sourceAnnotations
      File "/home/jenkins/.buildout/eggs/Zope-4.0b5-py2.7.egg/Products/PageTemplates/engine.py", line 85, in __call__
        return self.template.render(**kwargs)
      File "/home/jenkins/.buildout/eggs/z3c.pt-3.1.0-py2.7.egg/z3c/pt/pagetemplate.py", line 158, in render
        return base_renderer(**context)
      File "/home/jenkins/.buildout/eggs/Chameleon-3.2-py2.7.egg/chameleon/zpt/template.py", line 297, in render
        return super(PageTemplate, self).render(**_kw)
      File "/home/jenkins/.buildout/eggs/Chameleon-3.2-py2.7.egg/chameleon/template.py", line 191, in render
        raise_with_traceback(exc, tb)
      File "/home/jenkins/.buildout/eggs/Chameleon-3.2-py2.7.egg/chameleon/template.py", line 171, in render
        self._render(stream, econtext, rcontext)
      File "54c22c39378079ae05c92ac01efd4a73.py", line 1977, in render
      File "cb05a690c2d93fc7e4e97b1d3e2dfccd.py", line 636, in render_master
      File "/home/jenkins/.buildout/eggs/Zope-4.0b5-py2.7.egg/Products/PageTemplates/expression.py", line 98, in __call__
        base = self.traverse(base, request, path_items)
      File "/home/jenkins/.buildout/eggs/Zope-4.0b5-py2.7.egg/Products/PageTemplates/expression.py", line 65, in traverse
        traverser = getattr(base, method)
      File "/home/jenkins/.buildout/eggs/ZODB-5.3.0-py2.7.egg/ZODB/Connection.py", line 790, in setstate
        raise ConnectionStateError(msg)
    ConnectionStateError: Shouldn't load state for Products.CMFPlone.PropertiesTool.PropertiesTool 0x208e85585898da42 when the connection is closed

     - Expression: "operties context/portal_properties/site_p"
     - Filename:   ... one/Products/CMFPlone/browser/templates/main_template.pt
     - Location:   (line 17: col 17)
     - Source:     site_properties context/portal_properties/site_properties;
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     - Expression: "context/main_template/macros/master"
     - Filename:   ... ts/ATContentTypes/skins/ATContentTypes/folder_listing.pt
     - Location:   (line 6: col 23)
     - Source:     ... etal:use-macro="context/main_template/macros/master"
                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     - Arguments:  repeat: {...} (0)
                   template: <ImplicitAcquisitionWrapper folder_listing at 0x7f4e3b405500>
                   modules: <_SecureModuleImporter - at 0x7f4e4755a6d0>
                   here: <ImplicitAcquisitionWrapper test_user_1_ at 0x7f4e3a0a8230>
                   user: <ImplicitAcquisitionWrapper - at 0x7f4e3a0a8be0>
                   nothing: <NoneType - at 0x5625c2859ae0>
                   container: <ImplicitAcquisitionWrapper plone at 0x7f4e3a575c30>
                   default: <object - at 0x7f4e4b920ab0>
                   root: <ImplicitAcquisitionWrapper  at 0x7f4e3a134910>
                   request: <HTTPRequest - at 0x7f4e2bbd5b50>
                   wrapped_repeat: <SafeMapping - at 0x7f4e36707b48>
                   traverse_subpath: <list - at 0x7f4e3aa0e758>
                   loop: {...} (0)
                   context: <ImplicitAcquisitionWrapper test_user_1_ at 0x7f4e3a0a8230>
                   translate: <function translate at 0x7f4e3689e320>
                   macroname: master
                   options: {...} (1)
                   target_language: <NoneType - at 0x5625c2859ae0>