[Products.SilvaDocument][Sylvain Viollon] Fix tests.

[email protected] Fri, 30 Aug 2013 14:24:01 +0200
Newsgroups gmane.comp.web.zope.silva.cvs
Message-ID <[email protected]>
author:    Sylvain Viollon
date:      Fri Aug 30 14:23:59 2013 +0200
revision:  1854:8968f469d7ff in Products.SilvaDocument
branch:    2.4
details:   https://hg.infrae.com/Products.SilvaDocument?cmd=changeset;node=8968f469d7ff
modified:  Products/SilvaDocument/tests/test_xml_export.py
added:     
removed:   
log:       Fix tests.


diffstat:

 Products/SilvaDocument/tests/test_xml_export.py |  140 ++++++++++++-----------
 1 files changed, 73 insertions(+), 67 deletions(-)

diffs (184 lines):

diff -r f6437a22fb3f -r 8968f469d7ff Products/SilvaDocument/tests/test_xml_export.py
--- a/Products/SilvaDocument/tests/test_xml_export.py	Mon Aug 26 17:32:56 2013 +0200
+++ b/Products/SilvaDocument/tests/test_xml_export.py	Fri Aug 30 14:23:59 2013 +0200
@@ -7,6 +7,7 @@
 from Products.ParsedXML.ParsedXML import ParsedXML
 from Products.Silva.tests.test_xml_export import SilvaXMLTestCase
 from Products.SilvaDocument.testing import FunctionalLayer
+from Products.Silva.testing import Transaction
 
 from silva.core.references.interfaces import IReferenceService
 from zope import component
@@ -19,21 +20,23 @@
 
     def setUp(self):
         self.root = self.layer.get_application()
-        self.layer.login('author')
-        factory = self.root.manage_addProduct['Silva']
-        factory.manage_addFolder('folder', 'Test <boo>Folder</boo>')
-        factory = self.root.folder.manage_addProduct['SilvaDocument']
-        factory.manage_addDocument('document', 'Test document')
+        with Transaction():
+            self.layer.login('author')
+            factory = self.root.manage_addProduct['Silva']
+            factory.manage_addFolder('folder', 'Test <boo>Folder</boo>')
+            factory = self.root.folder.manage_addProduct['SilvaDocument']
+            factory.manage_addDocument('document', 'Test document')
 
     def test_document(self):
-        document = self.root.folder.document
-        version = document.get_editable()
-        version.content = ParsedXML(
-            'document',
-            """<?xml version="1.0" encoding="utf-8"?>
-<doc>
-   <node foo="bar">承諾広告*既に、2億、3億、5億9千万円収入者が続出<node2>boo</node2>baz</node>
-</doc>""")
+        with Transaction():
+            document = self.root.folder.document
+            version = document.get_editable()
+            version.content = ParsedXML(
+                'document',
+                """<?xml version="1.0" encoding="utf-8"?>
+    <doc>
+       <node foo="bar">承諾広告*既に、2億、3億、5億9千万円収入者が続出<node2>boo</node2>baz</node>
+    </doc>""")
 
         exported = self.assertExportEqual(
             self.root.folder,
@@ -45,26 +48,27 @@
     def test_document_link(self):
         """Try to export a document that links to other resources.
         """
-        document = self.root.folder.document
-        version = document.get_editable()
-        version.content = ParsedXML(
-            'document',
-            """<?xml version="1.0" encoding="utf-8"?>
-<doc>
-   <p>
-      This is a reference to
-      <link target="_blank" reference="infrae-site" title="">Infrae</link>
-   </p>
-</doc>""")
+        with Transaction():
+            document = self.root.folder.document
+            version = document.get_editable()
+            version.content = ParsedXML(
+                'document',
+                """<?xml version="1.0" encoding="utf-8"?>
+    <doc>
+       <p>
+          This is a reference to
+          <link target="_blank" reference="infrae-site" title="">Infrae</link>
+       </p>
+    </doc>""")
 
-        # Create a link that will be the target of our reference in our document
-        factory = self.root.folder.manage_addProduct['Silva']
-        factory.manage_addLink(
-            'link', 'Link to Infrae', relative=False, url='http://infrae.com')
-        service = component.getUtility(IReferenceService)
-        reference = service.new_reference(version, name=u"document link")
-        reference.set_target(self.root.folder.link)
-        reference.add_tag(u"infrae-site")
+            # Create a link that will be the target of our reference in our document
+            factory = self.root.folder.manage_addProduct['Silva']
+            factory.manage_addLink(
+                'link', 'Link to Infrae', relative=False, url='http://infrae.com')
+            service = component.getUtility(IReferenceService)
+            reference = service.new_reference(version, name=u"document link")
+            reference.set_target(self.root.folder.link)
+            reference.add_tag(u"infrae-site")
 
         exported = self.assertExportEqual(
             self.root.folder,
@@ -76,23 +80,24 @@
     def test_document_image(self):
         """Try to export a document that use an image.
         """
-        document = self.root.folder.document
-        version = document.get_editable()
-        version.content = ParsedXML(
-            'document',
-            """<?xml version="1.0" encoding="utf-8"?>
-           <doc><p>Torvald last picture</p>
-           <image reference="torvald-pic" alignment="" title="Torvald"></image>
-           </doc>""")
+        with Transaction():
+            document = self.root.folder.document
+            version = document.get_editable()
+            version.content = ParsedXML(
+                'document',
+                """<?xml version="1.0" encoding="utf-8"?>
+               <doc><p>Torvald last picture</p>
+               <image reference="torvald-pic" alignment="" title="Torvald"></image>
+               </doc>""")
 
-        # Create a image to use in the document
-        factory = self.root.folder.manage_addProduct['Silva']
-        with self.layer.open_fixture('chocobo.jpg') as image:
-            factory.manage_addImage('torvald', 'Torvald', image)
-        service = component.getUtility(IReferenceService)
-        reference = service.new_reference(version, name=u"document link")
-        reference.set_target(self.root.folder.torvald)
-        reference.add_tag(u"torvald-pic")
+            # Create a image to use in the document
+            factory = self.root.folder.manage_addProduct['Silva']
+            with self.layer.open_fixture('chocobo.jpg') as image:
+                factory.manage_addImage('torvald', 'Torvald', image)
+            service = component.getUtility(IReferenceService)
+            reference = service.new_reference(version, name=u"document link")
+            reference.set_target(self.root.folder.torvald)
+            reference.add_tag(u"torvald-pic")
 
         exported = self.assertExportEqual(
             self.root.folder,
@@ -108,27 +113,28 @@
             [])
 
     def test_document_with_source_export(self):
-        self.layer.login('manager')
-        factory = self.root.folder.manage_addProduct['SilvaExternalSources']
-        factory.manage_addCodeSource(
-            'codesource', 'A Code Source', 'script')
+        with Transaction():
+            self.layer.login('manager')
+            factory = self.root.folder.manage_addProduct['SilvaExternalSources']
+            factory.manage_addCodeSource(
+                'codesource', 'A Code Source', 'script')
 
-        # add a script to the code source
-        factory = self.root.folder.codesource.manage_addProduct['PythonScripts']
-        factory.manage_addPythonScript('script')
-        script = self.root.folder.codesource.script
-        script.write('return "<ul><li>Item 1</li><li>Item 2</li></ul>"')
+            # add a script to the code source
+            factory = self.root.folder.codesource.manage_addProduct['PythonScripts']
+            factory.manage_addPythonScript('script')
+            script = self.root.folder.codesource.script
+            script.write('return "<ul><li>Item 1</li><li>Item 2</li></ul>"')
 
-        self.layer.login('author')
-
-        doc = self.root.folder.document
-        doc_edit = doc.get_editable()
-        doc_edit.content = ParsedXML(
-            'test_document',
-            """<?xml version="1.0" encoding="utf-8"?><doc>
-            <source id="codesource"></source>
-            <p type="normal">This is some text.</p>
-            </doc>""")
+        with Transaction():
+            self.layer.login('author')
+            doc = self.root.folder.document
+            doc_edit = doc.get_editable()
+            doc_edit.content = ParsedXML(
+                'test_document',
+                """<?xml version="1.0" encoding="utf-8"?><doc>
+                <source id="codesource"></source>
+                <p type="normal">This is some text.</p>
+                </doc>""")
 
         exported = self.assertExportEqual(
             self.root.folder, 'test_export_codesource.silvaxml')