diff --git a/news/+0ae076a4.feature.rst b/news/+0ae076a4.feature.rst new file mode 100644 index 0000000..bcd417d --- /dev/null +++ b/news/+0ae076a4.feature.rst @@ -0,0 +1,4 @@ +Explicitly enable XML-RPC in the ``WSGIServer`` layer. +Zope 6.2 by default disables this. +But this is used in the ``WSGI_SERVER_FIXTURE`` that most robot tests (and acceptance tests) use. +[maurits] diff --git a/src/plone/testing/zope.py b/src/plone/testing/zope.py index 96c4f69..cff3a5f 100644 --- a/src/plone/testing/zope.py +++ b/src/plone/testing/zope.py @@ -961,6 +961,14 @@ def _get_zope_conf(self, dir): fd, path = tempfile.mkstemp(dir=dir) with os.fdopen(fd, "w") as zope_conf: zope_conf.write(f"instancehome {os.path.dirname(dir)}\n") + # Plone 6.2 disables xml-rpc by default. + # But the robot tests need this. For example, robot tests call + # this method from plone.app.robotframework.remote: + # http://nohost:55001/plone/RemoteLibrary/get_keyword_names + # See + # https://github.com/plone/buildout.coredev/pull/1108#issuecomment-5194533758 + # and further. So enable XML-RPC. + zope_conf.write("enable-xmlrpc on\n") return path def _handle_entry_points_39(self, app, global_config):