[silva.app.document][Sylvain Viollon] Fix tests.
[email protected] Fri, 30 Aug 2013 12:25:54 +0200
| Newsgroups | gmane.comp.web.zope.silva.cvs |
|---|---|
| Message-ID | <[email protected]> |
author: Sylvain Viollon
date: Fri Aug 30 12:25:51 2013 +0200
revision: 101:c65a0ef9acd3 in silva.app.document
branch:
details: https://hg.infrae.com/silva.app.document?cmd=changeset;node=c65a0ef9acd3
modified: src/silva/app/document/tests/data/test_export_multiple.silvaxml src/silva/app/document/tests/data/test_export_reference.silvaxml src/silva/app/document/tests/data/test_export_reference_broken.silvaxml src/silva/app/document/tests/data/test_export_reference_external.silvaxml src/silva/app/document/tests/test_document.py src/silva/app/document/tests/test_transform.py src/silva/app/document/tests/test_xml_export.py
added:
removed:
log: Fix tests.
diffstat:
src/silva/app/document/tests/data/test_export_multiple.silvaxml | 8 +-
src/silva/app/document/tests/data/test_export_reference.silvaxml | 12 +-
src/silva/app/document/tests/data/test_export_reference_broken.silvaxml | 8 +-
src/silva/app/document/tests/data/test_export_reference_external.silvaxml | 8 +-
src/silva/app/document/tests/test_document.py | 142 +++++----
src/silva/app/document/tests/test_transform.py | 9 +-
src/silva/app/document/tests/test_xml_export.py | 108 ++++---
7 files changed, 157 insertions(+), 138 deletions(-)
diffs (578 lines):
diff -r e5b47083e166 -r c65a0ef9acd3 src/silva/app/document/tests/data/test_export_multiple.silvaxml
--- a/src/silva/app/document/tests/data/test_export_multiple.silvaxml Mon Aug 26 18:35:13 2013 +0200
+++ b/src/silva/app/document/tests/data/test_export_multiple.silvaxml Fri Aug 30 12:25:51 2013 +0200
@@ -23,14 +23,14 @@
YYYY-MM-DDTHH:MM:SS
</silva-extra:creationtime>
<silva-extra:creator>
- manager
+ author
</silva-extra:creator>
<silva-extra:keywords>
</silva-extra:keywords>
<silva-extra:language>
</silva-extra:language>
<silva-extra:lastauthor>
- unknown
+ author
</silva-extra:lastauthor>
<silva-extra:modificationtime>
YYYY-MM-DDTHH:MM:SS
@@ -79,14 +79,14 @@
YYYY-MM-DDTHH:MM:SS
</silva-extra:creationtime>
<silva-extra:creator>
- manager
+ author
</silva-extra:creator>
<silva-extra:keywords>
</silva-extra:keywords>
<silva-extra:language>
</silva-extra:language>
<silva-extra:lastauthor>
- unknown
+ author
</silva-extra:lastauthor>
<silva-extra:modificationtime>
YYYY-MM-DDTHH:MM:SS
diff -r e5b47083e166 -r c65a0ef9acd3 src/silva/app/document/tests/data/test_export_reference.silvaxml
--- a/src/silva/app/document/tests/data/test_export_reference.silvaxml Mon Aug 26 18:35:13 2013 +0200
+++ b/src/silva/app/document/tests/data/test_export_reference.silvaxml Fri Aug 30 12:25:51 2013 +0200
@@ -23,14 +23,14 @@
YYYY-MM-DDTHH:MM:SS
</silva-extra:creationtime>
<silva-extra:creator>
- manager
+ author
</silva-extra:creator>
<silva-extra:keywords>
</silva-extra:keywords>
<silva-extra:language>
</silva-extra:language>
<silva-extra:lastauthor>
- unknown
+ author
</silva-extra:lastauthor>
<silva-extra:modificationtime>
YYYY-MM-DDTHH:MM:SS
@@ -79,14 +79,14 @@
YYYY-MM-DDTHH:MM:SS
</silva-extra:creationtime>
<silva-extra:creator>
- manager
+ author
</silva-extra:creator>
<silva-extra:keywords>
</silva-extra:keywords>
<silva-extra:language>
</silva-extra:language>
<silva-extra:lastauthor>
- unknown
+ author
</silva-extra:lastauthor>
<silva-extra:modificationtime>
YYYY-MM-DDTHH:MM:SS
@@ -161,14 +161,14 @@
YYYY-MM-DDTHH:MM:SS
</silva-extra:creationtime>
<silva-extra:creator>
- manager
+ author
</silva-extra:creator>
<silva-extra:keywords>
</silva-extra:keywords>
<silva-extra:language>
</silva-extra:language>
<silva-extra:lastauthor>
- unknown
+ author
</silva-extra:lastauthor>
<silva-extra:modificationtime>
YYYY-MM-DDTHH:MM:SS
diff -r e5b47083e166 -r c65a0ef9acd3 src/silva/app/document/tests/data/test_export_reference_broken.silvaxml
--- a/src/silva/app/document/tests/data/test_export_reference_broken.silvaxml Mon Aug 26 18:35:13 2013 +0200
+++ b/src/silva/app/document/tests/data/test_export_reference_broken.silvaxml Fri Aug 30 12:25:51 2013 +0200
@@ -23,14 +23,14 @@
YYYY-MM-DDTHH:MM:SS
</silva-extra:creationtime>
<silva-extra:creator>
- manager
+ author
</silva-extra:creator>
<silva-extra:keywords>
</silva-extra:keywords>
<silva-extra:language>
</silva-extra:language>
<silva-extra:lastauthor>
- unknown
+ author
</silva-extra:lastauthor>
<silva-extra:modificationtime>
YYYY-MM-DDTHH:MM:SS
@@ -79,14 +79,14 @@
YYYY-MM-DDTHH:MM:SS
</silva-extra:creationtime>
<silva-extra:creator>
- manager
+ author
</silva-extra:creator>
<silva-extra:keywords>
</silva-extra:keywords>
<silva-extra:language>
</silva-extra:language>
<silva-extra:lastauthor>
- unknown
+ author
</silva-extra:lastauthor>
<silva-extra:modificationtime>
YYYY-MM-DDTHH:MM:SS
diff -r e5b47083e166 -r c65a0ef9acd3 src/silva/app/document/tests/data/test_export_reference_external.silvaxml
--- a/src/silva/app/document/tests/data/test_export_reference_external.silvaxml Mon Aug 26 18:35:13 2013 +0200
+++ b/src/silva/app/document/tests/data/test_export_reference_external.silvaxml Fri Aug 30 12:25:51 2013 +0200
@@ -23,14 +23,14 @@
YYYY-MM-DDTHH:MM:SS
</silva-extra:creationtime>
<silva-extra:creator>
- manager
+ author
</silva-extra:creator>
<silva-extra:keywords>
</silva-extra:keywords>
<silva-extra:language>
</silva-extra:language>
<silva-extra:lastauthor>
- unknown
+ author
</silva-extra:lastauthor>
<silva-extra:modificationtime>
YYYY-MM-DDTHH:MM:SS
@@ -79,14 +79,14 @@
YYYY-MM-DDTHH:MM:SS
</silva-extra:creationtime>
<silva-extra:creator>
- manager
+ author
</silva-extra:creator>
<silva-extra:keywords>
</silva-extra:keywords>
<silva-extra:language>
</silva-extra:language>
<silva-extra:lastauthor>
- unknown
+ author
</silva-extra:lastauthor>
<silva-extra:modificationtime>
YYYY-MM-DDTHH:MM:SS
diff -r e5b47083e166 -r c65a0ef9acd3 src/silva/app/document/tests/test_document.py
--- a/src/silva/app/document/tests/test_document.py Mon Aug 26 18:35:13 2013 +0200
+++ b/src/silva/app/document/tests/test_document.py Fri Aug 30 12:25:51 2013 +0200
@@ -20,7 +20,7 @@
from silva.core.services.interfaces import ICatalogService
from silva.core.services.interfaces import IMetadataService
-from Products.Silva.testing import CatalogTransaction, TestRequest, TestCase
+from Products.Silva.testing import Transaction, TestRequest, TestCase
HTML_CATALOG = """
<div>
@@ -56,8 +56,9 @@
def test_document(self):
"""Test document factory.
"""
- factory = self.root.manage_addProduct['silva.app.document']
- factory.manage_addDocument('document', 'Test Document')
+ with Transaction():
+ factory = self.root.manage_addProduct['silva.app.document']
+ factory.manage_addDocument('document', 'Test Document')
self.assertTrue('document' in self.root.objectIds())
document = self.root.document
@@ -75,14 +76,16 @@
def test_fulltext(self):
"""Test document fulltext.
"""
- factory = self.root.manage_addProduct['silva.app.document']
- factory.manage_addDocument('document', 'Test Document')
- return
+ with Transaction():
+ factory = self.root.manage_addProduct['silva.app.document']
+ factory.manage_addDocument('document', 'Test Document')
+
version = self.root.document.get_editable()
self.assertItemsEqual(
version.fulltext(),
- ['Test document'])
+ ['Test Document'])
version.body.save(version, TestRequest(), """
+<h1>Test Document</h1>
<p>
This is some text, with <a href="#">link to the internet</a>.
</p>
@@ -90,13 +93,14 @@
self.assertItemsEqual(
version.fulltext(),
['This is some text, with', 'link to the internet',
- '.', 'Test document'])
+ '.', 'Test Document'])
def test_catalog(self):
"""Test that the content of the document is in the catalog.
"""
- factory = self.root.manage_addProduct['silva.app.document']
- factory.manage_addDocument('document', 'Test Document')
+ with Transaction():
+ factory = self.root.manage_addProduct['silva.app.document']
+ factory.manage_addDocument('document', 'Test Document')
version = self.root.document.get_editable()
save_editor_text(version.body, HTML_CATALOG, content=version)
@@ -114,7 +118,7 @@
def test_catalog_transaction(self):
"""Test that the content of the document is in the catalog.
"""
- with CatalogTransaction():
+ with Transaction(catalog=True):
factory = self.root.manage_addProduct['silva.app.document']
factory.manage_addDocument('document', 'Test Document')
@@ -134,17 +138,18 @@
def test_indexes(self):
"""Test Indexer indexes.
"""
- factory = self.root.manage_addProduct['silva.app.document']
- factory.manage_addDocument('document', 'Test Document')
- version = self.root.document.get_editable()
- version.body.save(version, TestRequest(), """
-<p>
- <h1>Test Document</h1>
- <a class="anchor" name="first" title="First anchor">First anchor</a>
- Some text.
- <a class="anchor" name="second" title="Second anchor">First anchor</a>
-</p>
-""")
+ with Transaction():
+ factory = self.root.manage_addProduct['silva.app.document']
+ factory.manage_addDocument('document', 'Test Document')
+ version = self.root.document.get_editable()
+ version.body.save(version, TestRequest(), """
+ <p>
+ <h1>Test Document</h1>
+ <a class="anchor" name="first" title="First anchor">First anchor</a>
+ Some text.
+ <a class="anchor" name="second" title="Second anchor">First anchor</a>
+ </p>
+ """)
# There are no entries by default, and not published.
indexes = queryAdapter(self.root.document, IIndexEntries)
@@ -163,21 +168,22 @@
def test_feeds(self):
"""When you have published document, you can have feeds out of them.
"""
- factory = self.root.manage_addProduct['silva.app.document']
- factory.manage_addDocument('document', 'Test Document')
- factory.manage_addDocument('work', 'Work in progress')
- version = self.root.document.get_editable()
- version.body.save(version, TestRequest(), """
-<h1>Test Document</h1>
-<h3>Sub title</h3>
-<p>This is the first story.</p>
-<p>And that is the second story of the day.</p>
-""")
- binding = getUtility(IMetadataService).getMetadata(version)
- binding.setValues('silva-extra', {
- 'content_description': 'Test content',
- 'keywords': 'test'})
- IPublicationWorkflow(self.root.document).publish()
+ with Transaction():
+ factory = self.root.manage_addProduct['silva.app.document']
+ factory.manage_addDocument('document', 'Test Document')
+ factory.manage_addDocument('work', 'Work in progress')
+ version = self.root.document.get_editable()
+ version.body.save(version, TestRequest(), """
+ <h1>Test Document</h1>
+ <h3>Sub title</h3>
+ <p>This is the first story.</p>
+ <p>And that is the second story of the day.</p>
+ """)
+ binding = getUtility(IMetadataService).getMetadata(version)
+ binding.setValues('silva-extra', {
+ 'content_description': 'Test content',
+ 'keywords': 'test'})
+ IPublicationWorkflow(self.root.document).publish()
feed = queryMultiAdapter(
(self.root, TestRequest()),
@@ -208,15 +214,16 @@
def test_details_document_without_image(self):
"""Test details, retrieve the introduction, and no thumbnail.
"""
- factory = self.root.manage_addProduct['silva.app.document']
- factory.manage_addDocument('document', 'Test Document')
- version = self.root.document.get_editable()
- version.body.save(version, TestRequest(), """
-<h1>Test Document</h1>
-<h3>Sub title</h3>
-<p>This is the first story.</p>
-<p>And that is the second story of the day.</p>
-""")
+ with Transaction():
+ factory = self.root.manage_addProduct['silva.app.document']
+ factory.manage_addDocument('document', 'Test Document')
+ version = self.root.document.get_editable()
+ version.body.save(version, TestRequest(), """
+ <h1>Test Document</h1>
+ <h3>Sub title</h3>
+ <p>This is the first story.</p>
+ <p>And that is the second story of the day.</p>
+ """)
# Query the adapter with an interface (API)
details = queryMultiAdapter((version, TestRequest()), IDocumentDetails)
@@ -267,23 +274,24 @@
def test_details_document_with_image(self):
"""Test document details with a thumbnail and no introduction.
"""
- factory = self.root.manage_addProduct['silva.app.document']
- factory.manage_addDocument('document', 'Test Document')
- factory = self.root.manage_addProduct['Silva']
- with self.layer.open_fixture('content-listing.png') as image:
- factory.manage_addImage('listing', 'Content Listing', image)
+ with Transaction():
+ factory = self.root.manage_addProduct['silva.app.document']
+ factory.manage_addDocument('document', 'Test Document')
+ factory = self.root.manage_addProduct['Silva']
+ with self.layer.open_fixture('content-listing.png') as image:
+ factory.manage_addImage('listing', 'Content Listing', image)
- version = self.root.document.get_editable()
- version.body.save(version, TestRequest(), """
-<h3>Sub title</h3>
-<ul>
- <li>This is a list.</li>
- <li>This is an item actually.</li>
-</ul>
-<div class="image">
- <img alt="logo" data-silva-reference="new" data-silva-target="%s" />
-</div>
-""" % get_content_id(self.root.listing))
+ version = self.root.document.get_editable()
+ version.body.save(version, TestRequest(), """
+ <h3>Sub title</h3>
+ <ul>
+ <li>This is a list.</li>
+ <li>This is an item actually.</li>
+ </ul>
+ <div class="image">
+ <img alt="logo" data-silva-reference="new" data-silva-target="%s" />
+ </div>
+ """ % get_content_id(self.root.listing))
# Query the adapter with an interface (API)
details = queryMultiAdapter((version, TestRequest()), IDocumentDetails)
@@ -346,10 +354,12 @@
def test_details_empty_document(self):
"""Test details on a document that doesn't have any text at all.
"""
- factory = self.root.manage_addProduct['silva.app.document']
- factory.manage_addDocument('document', 'Test Document')
- version = self.root.document.get_editable()
- version.body.save(version, TestRequest(), "")
+ with Transaction():
+ factory = self.root.manage_addProduct['silva.app.document']
+ factory.manage_addDocument('document', 'Test Document')
+ version = self.root.document.get_editable()
+ version.body.save(version, TestRequest(), "")
+
# Query the adapter with an interface (API)
details = queryMultiAdapter((version, TestRequest()), IDocumentDetails)
self.assertTrue(verifyObject(IDocumentDetails, details))
diff -r e5b47083e166 -r c65a0ef9acd3 src/silva/app/document/tests/test_transform.py
--- a/src/silva/app/document/tests/test_transform.py Mon Aug 26 18:35:13 2013 +0200
+++ b/src/silva/app/document/tests/test_transform.py Fri Aug 30 12:25:51 2013 +0200
@@ -5,7 +5,7 @@
import unittest
-from Products.Silva.testing import TestRequest, TestCase
+from Products.Silva.testing import TestRequest, TestCase, Transaction
from zope.component import getMultiAdapter
@@ -21,9 +21,10 @@
def setUp(self):
self.root = self.layer.get_application()
- self.layer.login('author')
- factory = self.root.manage_addProduct['silva.app.document']
- factory.manage_addDocument('document', 'Document title')
+ with Transaction():
+ self.layer.login('author')
+ factory = self.root.manage_addProduct['silva.app.document']
+ factory.manage_addDocument('document', 'Document title')
def test_render_editor(self):
"""Transform a document text for the editor. The title will be
diff -r e5b47083e166 -r c65a0ef9acd3 src/silva/app/document/tests/test_xml_export.py
--- a/src/silva/app/document/tests/test_xml_export.py Mon Aug 26 18:35:13 2013 +0200
+++ b/src/silva/app/document/tests/test_xml_export.py Fri Aug 30 12:25:51 2013 +0200
@@ -4,6 +4,7 @@
import unittest
+from Products.Silva.testing import Transaction
from Products.Silva.tests.test_xml_export import SilvaXMLTestCase
from silva.app.document.testing import FunctionalLayer
from silva.core.editor.testing import save_editor_text
@@ -39,28 +40,31 @@
def setUp(self):
self.root = self.layer.get_application()
- factory = self.root.manage_addProduct['Silva']
- factory.manage_addFolder('folder', 'Folder')
- factory = self.root.folder.manage_addProduct['silva.app.document']
- factory.manage_addDocument('example', 'Example')
+ self.layer.login('author')
+ with Transaction():
+ factory = self.root.manage_addProduct['Silva']
+ factory.manage_addFolder('folder', 'Folder')
+ factory = self.root.folder.manage_addProduct['silva.app.document']
+ factory.manage_addDocument('example', 'Example')
def test_export_reference(self):
"""Test export of mutiple references in one document.
"""
- factory = self.root.folder.manage_addProduct['Silva']
- factory.manage_addMockupVersionedContent('other', 'Other')
+ with Transaction():
+ factory = self.root.folder.manage_addProduct['Silva']
+ factory.manage_addMockupVersionedContent('other', 'Other')
- with self.layer.open_fixture('content-listing.png') as image:
- factory.manage_addImage('image', 'Image', image)
+ with self.layer.open_fixture('content-listing.png') as image:
+ factory.manage_addImage('image', 'Image', image)
- version = self.root.folder.example.get_editable()
- save_editor_text(
- version.body, HTML_REFERENCE,
- content=version,
- image_content=self.root.folder.image,
- image_name=u'document image',
- link_content=self.root.folder.other,
- link_name=u'document link')
+ version = self.root.folder.example.get_editable()
+ save_editor_text(
+ version.body, HTML_REFERENCE,
+ content=version,
+ image_content=self.root.folder.image,
+ image_name=u'document image',
+ link_content=self.root.folder.other,
+ link_name=u'document link')
exporter = self.assertExportEqual(
self.root.folder,
@@ -79,20 +83,21 @@
"""Test export of references that have targets not in the
export tree. This should fail.
"""
- factory = self.root.manage_addProduct['Silva']
- factory.manage_addMockupVersionedContent('other', 'Other')
+ with Transaction():
+ factory = self.root.manage_addProduct['Silva']
+ factory.manage_addMockupVersionedContent('other', 'Other')
- with self.layer.open_fixture('content-listing.png') as image:
- factory.manage_addImage('image', 'Image', image)
+ with self.layer.open_fixture('content-listing.png') as image:
+ factory.manage_addImage('image', 'Image', image)
- version = self.root.folder.example.get_editable()
- save_editor_text(
- version.body, HTML_REFERENCE,
- content=version,
- image_content=self.root.image,
- image_name=u'document image',
- link_content=self.root.other,
- link_name=u'document link')
+ version = self.root.folder.example.get_editable()
+ save_editor_text(
+ version.body, HTML_REFERENCE,
+ content=version,
+ image_content=self.root.image,
+ image_name=u'document image',
+ link_content=self.root.other,
+ link_name=u'document link')
self.assertExportFail(self.root.folder)
@@ -100,20 +105,21 @@
"""Test export of references that have targets not in the
export tree, with the option external_references set to True.
"""
- factory = self.root.manage_addProduct['Silva']
- factory.manage_addMockupVersionedContent('other', 'Other')
+ with Transaction():
+ factory = self.root.manage_addProduct['Silva']
+ factory.manage_addMockupVersionedContent('other', 'Other')
- with self.layer.open_fixture('content-listing.png') as image:
- factory.manage_addImage('image', 'Image', image)
+ with self.layer.open_fixture('content-listing.png') as image:
+ factory.manage_addImage('image', 'Image', image)
- version = self.root.folder.example.get_editable()
- save_editor_text(
- version.body, HTML_REFERENCE,
- content=version,
- image_content=self.root.image,
- image_name=u'document image',
- link_content=self.root.other,
- link_name=u'document link')
+ version = self.root.folder.example.get_editable()
+ save_editor_text(
+ version.body, HTML_REFERENCE,
+ content=version,
+ image_content=self.root.image,
+ image_name=u'document image',
+ link_content=self.root.other,
+ link_name=u'document link')
exporter = self.assertExportEqual(
self.root.folder,
@@ -133,14 +139,15 @@
def test_export_reference_broken(self):
"""Test export of broken and missing references.
"""
- version = self.root.folder.example.get_editable()
- save_editor_text(
- version.body, HTML_REFERENCE,
- content=version,
- image_content=None,
- image_name=u'document image',
- link_content=None,
- link_name=u'document link')
+ with Transaction():
+ version = self.root.folder.example.get_editable()
+ save_editor_text(
+ version.body, HTML_REFERENCE,
+ content=version,
+ image_content=None,
+ image_name=u'document image',
+ link_content=None,
+ link_name=u'document link')
exporter = self.assertExportEqual(
self.root.folder,
@@ -159,8 +166,9 @@
def test_export_multiple_root(self):
"""Test export of an HTML tag that have multiple root elements.
"""
- version = self.root.folder.example.get_editable()
- save_editor_text(version.body, HTML_MULTIPLE)
+ with Transaction():
+ version = self.root.folder.example.get_editable()
+ save_editor_text(version.body, HTML_MULTIPLE)
exporter = self.assertExportEqual(
self.root.folder,