[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,