Commit 5b8b51cb authored by Jérome Perrin's avatar Jérome Perrin

Revert "ERP5Type: xxx wip on publish"

This reverts commit 8f2261cca56643f1909f1b7fda2b4cd326c277da.
parent fd033a70
...@@ -601,77 +601,61 @@ class ERP5TypeTestCaseMixin(ProcessingNodeTestCase, PortalTestCase): ...@@ -601,77 +601,61 @@ class ERP5TypeTestCaseMixin(ProcessingNodeTestCase, PortalTestCase):
def publish(self, path, basic=None, env=None, extra=None, def publish(self, path, basic=None, env=None, extra=None,
request_method='GET', stdin=None, handle_errors=True): request_method='GET', stdin=None, handle_errors=True):
'''Publishes the object at 'path' returning a response object. '''Publishes the object at 'path' returning a response object.'''
This was copied from Zope.Testing.ZopeTestCase.functional and adjusted to:
* fix a problem with some passwords ( d8e87e7ab922cab4486a715e0a8ed2530c696cae )
* set HTTP_ACCEPT_CHARSET
* support live tests hacks
'''
from ZPublisher.Response import Response from ZPublisher.Response import Response
from ZPublisher.Test import publish_module from ZPublisher.Test import publish_module
from AccessControl.SecurityManagement import getSecurityManager from AccessControl.SecurityManagement import getSecurityManager
from AccessControl.SecurityManagement import setSecurityManager from AccessControl.SecurityManagement import setSecurityManager
from zope.security.management import endInteraction
from zope.security.management import restoreInteraction
request = self.app.REQUEST
# Save current security manager # Save current security manager
sm = getSecurityManager() sm = getSecurityManager()
#endInteraction()
_module_cache_set = getattr(request, '_module_cache_set', None)
try: # Commit the sandbox for good measure
# Commit the sandbox for good measure self.commit()
self.commit()
if env is None: if env is None:
env = {} env = {}
if extra is None: if extra is None:
extra = {} extra = {}
env['SERVER_NAME'] = request['SERVER_NAME'] request = self.app.REQUEST
env['SERVER_PORT'] = request['SERVER_PORT']
env['HTTP_ACCEPT_CHARSET'] = request['HTTP_ACCEPT_CHARSET']
env['REQUEST_METHOD'] = request_method
p = path.split('?') env['SERVER_NAME'] = request['SERVER_NAME']
if len(p) == 1: env['SERVER_PORT'] = request['SERVER_PORT']
env['HTTP_ACCEPT_CHARSET'] = request['HTTP_ACCEPT_CHARSET']
env['REQUEST_METHOD'] = request_method
p = path.split('?')
if len(p) == 1:
env['PATH_INFO'] = p[0] env['PATH_INFO'] = p[0]
elif len(p) == 2: elif len(p) == 2:
[env['PATH_INFO'], env['QUERY_STRING']] = p [env['PATH_INFO'], env['QUERY_STRING']] = p
else: else:
raise TypeError, '' raise TypeError, ''
if basic: if basic:
env['HTTP_AUTHORIZATION'] = "Basic %s" % base64.encodestring(basic).replace('\012', '') env['HTTP_AUTHORIZATION'] = "Basic %s" % base64.encodestring(basic).replace('\012', '')
if stdin is None: if stdin is None:
stdin = StringIO() stdin = StringIO()
outstream = StringIO() outstream = StringIO()
response = Response(stdout=outstream, stderr=sys.stderr) response = Response(stdout=outstream, stderr=sys.stderr)
publish_module('Zope2', publish_module('Zope2',
response=response, response=response,
stdin=stdin, stdin=stdin,
environ=env, environ=env,
extra=extra, extra=extra,
debug=not handle_errors, debug=not handle_errors,
) )
return ResponseWrapper(response, outstream, path) # Restore security manager
finally: setSecurityManager(sm)
# Restore security manager
setSecurityManager(sm)
#restoreInteraction()
if _module_cache_set is not None:
print "bah ouais", _module_cache_set
request._module_cache_set = _module_cache_set
return ResponseWrapper(response, outstream, path)
def getConsistencyMessageList(self, obj): def getConsistencyMessageList(self, obj):
return sorted([ str(message.getMessage()) return sorted([ str(message.getMessage())
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment