[silva.app.news][Sylvain Viollon] Fix da tests as da fix yaself.

[email protected] Fri, 30 Aug 2013 14:12:17 +0200
Newsgroups gmane.comp.web.zope.silva.cvs
Message-ID <[email protected]>
author:    Sylvain Viollon
date:      Fri Aug 30 14:12:13 2013 +0200
revision:  2036:112838823470 in silva.app.news
branch:    2.4
details:   https://hg.infrae.com/silva.app.news?cmd=changeset;node=112838823470
modified:  src/silva/app/news/tests/test_feeds.py src/silva/app/news/tests/test_func_agenda_item.py src/silva/app/news/tests/test_news_publication.py src/silva/app/news/tests/test_xml_export.py
added:     
removed:   
log:       Fix da tests as da fix yaself.


diffstat:

 src/silva/app/news/tests/test_feeds.py            |   39 ++--
 src/silva/app/news/tests/test_func_agenda_item.py |    4 +-
 src/silva/app/news/tests/test_news_publication.py |   21 +-
 src/silva/app/news/tests/test_xml_export.py       |  181 +++++++++++----------
 4 files changed, 133 insertions(+), 112 deletions(-)

diffs (406 lines):

diff -r 20edea9d98f2 -r 112838823470 src/silva/app/news/tests/test_feeds.py
--- a/src/silva/app/news/tests/test_feeds.py	Fri Aug 23 13:38:55 2013 +0200
+++ b/src/silva/app/news/tests/test_feeds.py	Fri Aug 30 14:12:13 2013 +0200
@@ -7,7 +7,7 @@
 
 from zope.component import queryMultiAdapter
 from zope.interface.verify import verifyObject
-from Products.Silva.testing import TestRequest
+from Products.Silva.testing import TestRequest, Transaction
 
 from silva.app.news.interfaces import INewsItem, IAgendaItem
 from silva.app.news.datetimeutils import local_timezone
@@ -22,26 +22,27 @@
     """
 
     def setUp(self):
-        super(TestFeeds, self).setUp()
-        # Publication
-        factory = self.root.manage_addProduct['silva.app.news']
-        factory.manage_addNewsPublication('source', 'Publication')
-        factory.manage_addNewsFilter('filter', 'Filter')
-        factory.manage_addNewsViewer('viewer', 'Viewer')
+        with Transaction():
+            super(TestFeeds, self).setUp()
+            # Publication
+            factory = self.root.manage_addProduct['silva.app.news']
+            factory.manage_addNewsPublication('source', 'Publication')
+            factory.manage_addNewsFilter('filter', 'Filter')
+            factory.manage_addNewsViewer('viewer', 'Viewer')
 
-        self.root.filter.set_show_agenda_items(True)
-        self.root.filter.add_source(self.root.source)
-        self.root.viewer.add_filter(self.root.filter)
+            self.root.filter.set_show_agenda_items(True)
+            self.root.filter.add_source(self.root.source)
+            self.root.viewer.add_filter(self.root.filter)
 
-        # Items
-        self.add_published_news_item(
-            self.root.source, 'raining', 'The rain is coming')
-        self.add_published_news_item(
-            self.root.source, 'cows', 'Cows are moving in town')
-        start_event = datetime(2010, 10, 9, 8, 20, 00, tzinfo=local_timezone)
-        end_event = start_event + relativedelta(hours=+2)
-        self.add_published_agenda_item(
-            self.root.source, 'war', 'This is War', start_event, end_event)
+            # Items
+            self.add_published_news_item(
+                self.root.source, 'raining', 'The rain is coming')
+            self.add_published_news_item(
+                self.root.source, 'cows', 'Cows are moving in town')
+            start_event = datetime(2010, 10, 9, 8, 20, 00, tzinfo=local_timezone)
+            end_event = start_event + relativedelta(hours=+2)
+            self.add_published_agenda_item(
+                self.root.source, 'war', 'This is War', start_event, end_event)
 
     def test_feeds_agenda_item(self):
         entry = queryMultiAdapter(
diff -r 20edea9d98f2 -r 112838823470 src/silva/app/news/tests/test_func_agenda_item.py
--- a/src/silva/app/news/tests/test_func_agenda_item.py	Fri Aug 23 13:38:55 2013 +0200
+++ b/src/silva/app/news/tests/test_func_agenda_item.py	Fri Aug 30 14:12:13 2013 +0200
@@ -8,7 +8,7 @@
 from silva.app.news.datetimeutils import get_timezone
 from silva.app.news.testing import FunctionalLayer
 from Products.Silva.ftesting import smi_settings
-from Products.Silva.testing import CatalogTransaction
+from Products.Silva.testing import Transaction
 
 
 class TestAgendaItemAddTestCase(unittest.TestCase):
@@ -16,7 +16,7 @@
 
     def setUp(self):
         self.root = self.layer.get_application()
-        with CatalogTransaction():
+        with Transaction(catalog=True):
             factory = self.root.manage_addProduct['silva.app.news']
             factory.manage_addNewsPublication('news', 'News Publication')
 
diff -r 20edea9d98f2 -r 112838823470 src/silva/app/news/tests/test_news_publication.py
--- a/src/silva/app/news/tests/test_news_publication.py	Fri Aug 23 13:38:55 2013 +0200
+++ b/src/silva/app/news/tests/test_news_publication.py	Fri Aug 30 14:12:13 2013 +0200
@@ -6,7 +6,7 @@
 from zope.component import getUtility, queryAdapter
 from zope.interface.verify import verifyObject
 
-from Products.Silva.testing import tests, CatalogTransaction
+from Products.Silva.testing import tests, Transaction
 from silva.core.services.interfaces import IMetadataService
 
 from silva.core.interfaces import IAddableContents
@@ -28,9 +28,11 @@
         """Verify a news publication publication and its default
         metadata and contents.
         """
-        factory = self.root.manage_addProduct['silva.app.news']
-        with tests.assertTriggersEvents('ContentCreatedEvent'):
-            factory.manage_addNewsPublication('news', 'News')
+        with Transaction():
+            factory = self.root.manage_addProduct['silva.app.news']
+            with tests.assertTriggersEvents('ContentCreatedEvent'):
+                factory.manage_addNewsPublication('news', 'News')
+
         publication = self.root._getOb('news', None)
         self.assertTrue(verifyObject(INewsPublication, publication))
 
@@ -44,6 +46,8 @@
             'no')
 
         # Default content
+        self.assertNotEqual(publication.get_creation_datetime(), None)
+        self.assertNotEqual(publication.get_modification_datetime(), None)
         self.assertItemsEqual(publication.objectIds(), ['index', 'filter'])
         self.assertTrue(verifyObject(INewsViewer, publication.index))
         self.assertTrue(verifyObject(INewsFilter, publication.filter))
@@ -52,10 +56,11 @@
         """Verify that the addable content is restricted inside a news
         publication.
         """
-        factory = self.root.manage_addProduct['silva.app.news']
-        factory.manage_addNewsPublication('news', 'News')
+        with Transaction():
+            factory = self.root.manage_addProduct['silva.app.news']
+            factory.manage_addNewsPublication('news', 'News')
+
         publication = self.root._getOb('news', None)
-
         addables = queryAdapter(publication, IAddableContents)
         self.assertTrue(verifyObject(IAddableContents, addables))
         self.assertItemsEqual(
@@ -105,7 +110,7 @@
                     'snn-np-settingsis_private': 'no'}),
             [])
 
-        with CatalogTransaction():
+        with Transaction(catalog=True):
             factory = self.root.manage_addProduct['silva.app.news']
             factory.manage_addNewsPublication('news', 'News')
 
diff -r 20edea9d98f2 -r 112838823470 src/silva/app/news/tests/test_xml_export.py
--- a/src/silva/app/news/tests/test_xml_export.py	Fri Aug 23 13:38:55 2013 +0200
+++ b/src/silva/app/news/tests/test_xml_export.py	Fri Aug 30 14:12:13 2013 +0200
@@ -5,6 +5,7 @@
 import unittest
 from datetime import datetime
 
+from Products.Silva.testing import Transaction
 from Products.Silva.tests.test_xml_export import SilvaXMLTestCase
 
 from silva.core.interfaces import IPublicationWorkflow
@@ -16,18 +17,20 @@
     layer = FunctionalLayer
 
     def setUp(self):
-        super(XMLExportTestCase, self).setUp()
-        factory = self.root.manage_addProduct['Silva']
-        factory.manage_addFolder('export', 'Export Folder')
+        with Transaction():
+            super(XMLExportTestCase, self).setUp()
+            factory = self.root.manage_addProduct['Silva']
+            factory.manage_addFolder('export', 'Export Folder')
 
     def test_news_filter(self):
         """Add a filter and a news publication at root level and export
         the filter.
         """
-        factory = self.root.export.manage_addProduct['silva.app.news']
-        factory.manage_addNewsPublication('news', 'News Publication')
-        factory.manage_addNewsFilter('filter', 'News Filter')
-        self.root.export.filter.set_sources([self.root.export.news])
+        with Transaction():
+            factory = self.root.export.manage_addProduct['silva.app.news']
+            factory.manage_addNewsPublication('news', 'News Publication')
+            factory.manage_addNewsFilter('filter', 'News Filter')
+            self.root.export.filter.set_sources([self.root.export.news])
 
         exporter = self.assertExportEqual(
             self.root.export,
@@ -40,21 +43,24 @@
         """Add a filter and a news publication and export only the
         filter.
         """
-        factory = self.root.manage_addProduct['silva.app.news']
-        factory.manage_addNewsPublication('news', 'News Publication')
-        factory = self.root.export.manage_addProduct['silva.app.news']
-        factory.manage_addNewsFilter('filter', 'News Filter')
-        self.root.export.filter.set_sources([self.root.news])
+        with Transaction():
+            factory = self.root.manage_addProduct['silva.app.news']
+            factory.manage_addNewsPublication('news', 'News Publication')
+            factory = self.root.export.manage_addProduct['silva.app.news']
+            factory.manage_addNewsFilter('filter', 'News Filter')
+            self.root.export.filter.set_sources([self.root.news])
+
         self.assertExportFail(self.root.export)
 
     def test_agenda_filter(self):
         """Add a filter and a news publication at root level and export
         the filter.
         """
-        factory = self.root.export.manage_addProduct['silva.app.news']
-        factory.manage_addNewsPublication('news', 'News Publication')
-        factory.manage_addAgendaFilter('filter', 'Agenda Filter')
-        self.root.export.filter.add_source(self.root.export.news)
+        with Transaction():
+            factory = self.root.export.manage_addProduct['silva.app.news']
+            factory.manage_addNewsPublication('news', 'News Publication')
+            factory.manage_addAgendaFilter('filter', 'Agenda Filter')
+            self.root.export.filter.add_source(self.root.export.news)
 
         exporter = self.assertExportEqual(
             self.root.export,
@@ -66,14 +72,15 @@
     def test_news_viewer(self):
         """Export a news viewer.
         """
-        factory = self.root.export.manage_addProduct['silva.app.news']
-        factory.manage_addNewsPublication('news', 'News Publication')
-        factory.manage_addNewsFilter('filter', 'News Filter')
-        factory.manage_addNewsViewer('viewer', 'News Viewer')
-        self.root.export.filter.set_sources([self.root.export.news])
-        self.root.export.viewer.set_filters([self.root.export.filter])
-        self.root.export.viewer.set_number_is_days(True)
-        self.root.export.viewer.set_number_to_show(10)
+        with Transaction():
+            factory = self.root.export.manage_addProduct['silva.app.news']
+            factory.manage_addNewsPublication('news', 'News Publication')
+            factory.manage_addNewsFilter('filter', 'News Filter')
+            factory.manage_addNewsViewer('viewer', 'News Viewer')
+            self.root.export.filter.set_sources([self.root.export.news])
+            self.root.export.viewer.set_filters([self.root.export.filter])
+            self.root.export.viewer.set_number_is_days(True)
+            self.root.export.viewer.set_number_to_show(10)
 
         exporter = self.assertExportEqual(
             self.root.export,
@@ -86,16 +93,17 @@
         """Export a news viewer that refer a filter that is outside of
         the export folder.
         """
-        factory = self.root.manage_addProduct['silva.app.news']
-        factory.manage_addNewsFilter('filter', 'News Filter')
-        factory = self.root.export.manage_addProduct['silva.app.news']
-        factory.manage_addNewsPublication('news', 'News Publication')
-        factory.manage_addNewsFilter('filter', 'News Filter')
-        factory.manage_addNewsViewer('viewer', 'News Viewer')
-        self.root.export.filter.set_sources(
-            [self.root.export.news])
-        self.root.export.viewer.set_filters(
-            [self.root.export.filter, self.root.filter])
+        with Transaction():
+            factory = self.root.manage_addProduct['silva.app.news']
+            factory.manage_addNewsFilter('filter', 'News Filter')
+            factory = self.root.export.manage_addProduct['silva.app.news']
+            factory.manage_addNewsPublication('news', 'News Publication')
+            factory.manage_addNewsFilter('filter', 'News Filter')
+            factory.manage_addNewsViewer('viewer', 'News Viewer')
+            self.root.export.filter.set_sources(
+                [self.root.export.news])
+            self.root.export.viewer.set_filters(
+                [self.root.export.filter, self.root.filter])
 
         self.assertExportFail(self.root.export)
 
@@ -103,16 +111,17 @@
         """Export a news viewer that refer a filter that is outside of
         the export folder, with the option external_references set to True.
         """
-        factory = self.root.manage_addProduct['silva.app.news']
-        factory.manage_addNewsFilter('filter', 'News Filter')
-        factory = self.root.export.manage_addProduct['silva.app.news']
-        factory.manage_addNewsPublication('news', 'News Publication')
-        factory.manage_addNewsFilter('filter', 'News Filter')
-        factory.manage_addNewsViewer('viewer', 'News Viewer')
-        self.root.export.filter.set_sources(
-            [self.root.export.news])
-        self.root.export.viewer.set_filters(
-            [self.root.export.filter, self.root.filter])
+        with Transaction():
+            factory = self.root.manage_addProduct['silva.app.news']
+            factory.manage_addNewsFilter('filter', 'News Filter')
+            factory = self.root.export.manage_addProduct['silva.app.news']
+            factory.manage_addNewsPublication('news', 'News Publication')
+            factory.manage_addNewsFilter('filter', 'News Filter')
+            factory.manage_addNewsViewer('viewer', 'News Viewer')
+            self.root.export.filter.set_sources(
+                [self.root.export.news])
+            self.root.export.viewer.set_filters(
+                [self.root.export.filter, self.root.filter])
 
         exporter = self.assertExportEqual(
             self.root.export,
@@ -132,12 +141,13 @@
     def test_agenda_viewer(self):
         """Export an agenda viewer.
         """
-        factory = self.root.export.manage_addProduct['silva.app.news']
-        factory.manage_addNewsPublication('news', 'News Publication')
-        factory.manage_addAgendaFilter('filter', 'Agenda Filter')
-        factory.manage_addAgendaViewer('viewer', 'Agenda Viewer')
-        self.root.export.filter.set_sources([self.root.export.news])
-        self.root.export.viewer.set_filters([self.root.export.filter])
+        with Transaction():
+            factory = self.root.export.manage_addProduct['silva.app.news']
+            factory.manage_addNewsPublication('news', 'News Publication')
+            factory.manage_addAgendaFilter('filter', 'Agenda Filter')
+            factory.manage_addAgendaViewer('viewer', 'Agenda Viewer')
+            self.root.export.filter.set_sources([self.root.export.news])
+            self.root.export.viewer.set_filters([self.root.export.filter])
 
         exporter = self.assertExportEqual(
             self.root.export,
@@ -149,16 +159,17 @@
     def test_news_item(self):
         """Export a news item.
         """
-        factory = self.root.export.manage_addProduct['silva.app.news']
-        factory.manage_addNewsPublication('news', 'News Publication')
-        factory = self.root.export.news.manage_addProduct['silva.app.news']
-        factory.manage_addNewsItem('news', 'Some news')
+        with Transaction():
+            factory = self.root.export.manage_addProduct['silva.app.news']
+            factory.manage_addNewsPublication('news', 'News Publication')
+            factory = self.root.export.news.manage_addProduct['silva.app.news']
+            factory.manage_addNewsItem('news', 'Some news')
 
-        version = self.root.export.news.news.get_editable()
-        self.assertTrue(version)
-        version.set_subjects(['all'])
-        version.set_target_audiences(['generic'])
-        version.set_display_datetime(datetime(2010, 9, 30, 10, 0, 0))
+            version = self.root.export.news.news.get_editable()
+            self.assertTrue(version)
+            version.set_subjects(['all'])
+            version.set_target_audiences(['generic'])
+            version.set_display_datetime(datetime(2010, 9, 30, 10, 0, 0))
 
         exporter = self.assertExportEqual(
             self.root.export,
@@ -170,26 +181,29 @@
     def test_agenda_item(self):
         """Export an agenda item.
         """
-        factory = self.root.export.manage_addProduct['silva.app.news']
-        factory.manage_addNewsPublication('news', 'News Publication')
-        factory = self.root.export.news.manage_addProduct['silva.app.news']
-        factory.manage_addAgendaItem('event', 'Some event')
+        with Transaction():
+            factory = self.root.export.manage_addProduct['silva.app.news']
+            factory.manage_addNewsPublication('news', 'News Publication')
+            factory = self.root.export.news.manage_addProduct['silva.app.news']
+            factory.manage_addAgendaItem('event', 'Some event')
 
-        version = self.root.export.news.event.get_editable()
-        self.assertIsNot(version, None)
-        version.body.save_raw_text('<p>Good news!</p><p>I fixed the tests.</p>')
-        version.set_occurrences([
-                AgendaItemOccurrence(
-                    location='Rotterdam',
-                    recurrence='FREQ=DAILY;UNTIL=20100910T123212Z',
-                    timezone_name='Europe/Amsterdam',
-                    all_day=True,
-                    start_datetime=datetime(2010, 9, 1, 10, 0, 0))])
-        version.set_subjects(['all'])
-        version.set_target_audiences(['generic'])
-        version.set_display_datetime(datetime(2010, 9, 30, 10, 0, 0))
-        self.layer.login('editor')
-        IPublicationWorkflow(self.root.export.news.event).publish()
+            version = self.root.export.news.event.get_editable()
+            self.assertIsNot(version, None)
+            version.body.save_raw_text('<p>Good news!</p><p>I fixed the tests.</p>')
+            version.set_occurrences([
+                    AgendaItemOccurrence(
+                        location='Rotterdam',
+                        recurrence='FREQ=DAILY;UNTIL=20100910T123212Z',
+                        timezone_name='Europe/Amsterdam',
+                        all_day=True,
+                        start_datetime=datetime(2010, 9, 1, 10, 0, 0))])
+            version.set_subjects(['all'])
+            version.set_target_audiences(['generic'])
+            version.set_display_datetime(datetime(2010, 9, 30, 10, 0, 0))
+
+        with Transaction():
+            self.layer.login('editor')
+            IPublicationWorkflow(self.root.export.news.event).publish()
 
         exporter = self.assertExportEqual(
             self.root.export,
@@ -201,11 +215,12 @@
     def test_rss_aggregator(self):
         """Export an RSS agregator.
         """
-        factory = self.root.export.manage_addProduct['silva.app.news']
-        factory.manage_addRSSAggregator('rss', 'RSS Feeds')
-        self.root.export.rss.set_feeds([
-                'http://infrae.com/news/atom.xml',
-                'http://pypi.python.org/pypi?%3Aaction=rss'])
+        with Transaction():
+            factory = self.root.export.manage_addProduct['silva.app.news']
+            factory.manage_addRSSAggregator('rss', 'RSS Feeds')
+            self.root.export.rss.set_feeds([
+                    'http://infrae.com/news/atom.xml',
+                    'http://pypi.python.org/pypi?%3Aaction=rss'])
 
         exporter = self.assertExportEqual(
             self.root.export,