fix migration tests. do not use transactions during unit testing.
svn path=/plone.app.discussion/trunk/; revision=32805
This commit is contained in:
parent
c0bb88f44c
commit
dc2e5232f7
@ -35,6 +35,13 @@ class View(BrowserView):
|
||||
self.total_comments_migrated = 0
|
||||
self.total_comments_deleted = 0
|
||||
|
||||
dry_run = self.request.has_key("dry_run")
|
||||
|
||||
# This is for testing only.
|
||||
# Do not use transactions during a test.
|
||||
test = self.request.has_key("test")
|
||||
|
||||
if not test:
|
||||
transaction.begin()
|
||||
|
||||
catalog = getToolByName(context, 'portal_catalog')
|
||||
@ -137,6 +144,7 @@ class View(BrowserView):
|
||||
log("Something went wrong during migration. The number of migrated comments (%s)\
|
||||
differs from the number of deleted comments (%s)."
|
||||
% (self.total_comments_migrated, self.total_comments_deleted))
|
||||
if not test:
|
||||
transaction.abort()
|
||||
log("Abort transaction")
|
||||
|
||||
@ -151,10 +159,10 @@ class View(BrowserView):
|
||||
log("%s comments could not be migrated." % (count_comments_old - self.total_comments_migrated))
|
||||
log("Please make sure your portal catalog is up-to-date.")
|
||||
|
||||
if self.request.has_key("dry_run"):
|
||||
if dry_run and not test:
|
||||
transaction.abort()
|
||||
log("Dry run")
|
||||
log("Abort transaction")
|
||||
|
||||
if not test:
|
||||
transaction.commit()
|
||||
return '\n'.join(out)
|
||||
|
@ -29,6 +29,7 @@ class MigrationTest(PloneTestCase):
|
||||
self.workflow.doActionFor(self.portal.doc, 'publish')
|
||||
|
||||
request = self.app.REQUEST
|
||||
request.set("test", True)
|
||||
context = getattr(self.portal, 'doc')
|
||||
self.view = View(context, request)
|
||||
self.workflow.setChainForPortalTypes(('Discussion Item',), 'comment_review_workflow')
|
||||
|
Loading…
Reference in New Issue
Block a user