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