[Checkins] SVN: Products.GenericSetup/trunk/ Remove testing dependency on zope.app.testing.ztapi.
Tres Seaver
tseaver at palladion.com
Sat Dec 26 23:39:58 EST 2009
Log message for revision 107137:
Remove testing dependency on zope.app.testing.ztapi.
Clean out module-scope imports.
Changed:
U Products.GenericSetup/trunk/Products/GenericSetup/CHANGES.txt
U Products.GenericSetup/trunk/Products/GenericSetup/tests/test_content.py
U Products.GenericSetup/trunk/setup.py
-=-
Modified: Products.GenericSetup/trunk/Products/GenericSetup/CHANGES.txt
===================================================================
--- Products.GenericSetup/trunk/Products/GenericSetup/CHANGES.txt 2009-12-26 23:28:16 UTC (rev 107136)
+++ Products.GenericSetup/trunk/Products/GenericSetup/CHANGES.txt 2009-12-27 04:39:57 UTC (rev 107137)
@@ -4,6 +4,8 @@
1.5.0 (unreleased)
------------------
+- Removed testing dependency on zope.app.testing.ztapi.
+
- tarball contexts: Fixed export and import of directory structures.
Modified: Products.GenericSetup/trunk/Products/GenericSetup/tests/test_content.py
===================================================================
--- Products.GenericSetup/trunk/Products/GenericSetup/tests/test_content.py 2009-12-26 23:28:16 UTC (rev 107136)
+++ Products.GenericSetup/trunk/Products/GenericSetup/tests/test_content.py 2009-12-27 04:39:57 UTC (rev 107137)
@@ -16,19 +16,7 @@
"""
import unittest
-import Testing
-from csv import reader
-from ConfigParser import ConfigParser
-from StringIO import StringIO
-
-from OFS.interfaces import IObjectManager
-from OFS.interfaces import ISimpleItem
-from OFS.interfaces import IPropertyManager
-from Products.GenericSetup.tests.common import DummyExportContext
-from Products.GenericSetup.tests.common import DummyImportContext
-from zope.testing.cleanup import cleanUp
-
from conformance import ConformsToIINIAware
from conformance import ConformsToIFilesystemExporter
from conformance import ConformsToIFilesystemImporter
@@ -45,8 +33,7 @@
context._properties = ()
adapter = self._getTargetClass()(context)
text = adapter.as_ini()
- parser = ConfigParser()
- parser.readfp(StringIO(text))
+ parser = _parseINI(text)
self.failIf(parser.sections())
default_options = parser.defaults()
self.assertEqual(len(default_options), 0)
@@ -59,8 +46,7 @@
context._setProperty('description', DESCR)
adapter = self._getTargetClass()(context)
text = adapter.as_ini()
- parser = ConfigParser()
- parser.readfp(StringIO(text))
+ parser = _parseINI(text)
self.failIf(parser.sections())
default_options = parser.defaults()
self.assertEqual(len(default_options), 2)
@@ -79,8 +65,7 @@
context._setProperty('date_prop', DateTime(DATESTR), 'date')
adapter = self._getTargetClass()(context)
text = adapter.as_ini()
- parser = ConfigParser()
- parser.readfp(StringIO(text))
+ parser = _parseINI(text)
self.failIf(parser.sections())
default_options = parser.defaults()
self.assertEqual(len(default_options), 3)
@@ -132,8 +117,13 @@
class FolderishExporterImporterTests(unittest.TestCase):
+ def setUp(self):
+ from zope.component.testing import setUp
+ setUp()
+
def tearDown(self):
- cleanUp()
+ from zope.component.testing import tearDown
+ tearDown()
def _getExporter(self):
from Products.GenericSetup.content import exportSiteStructure
@@ -148,10 +138,11 @@
return SetupTool('portal_setup')
def _setUpAdapters(self):
- from OFS.Folder import Folder
- from zope.app.testing import ztapi
- #from OFS.Image import File
+ from zope.component import getSiteManager
+ from OFS.interfaces import IObjectManager
+ from OFS.interfaces import IPropertyManager
+
from Products.GenericSetup.interfaces import IFilesystemExporter
from Products.GenericSetup.interfaces import IFilesystemImporter
from Products.GenericSetup.interfaces import ICSVAware
@@ -169,53 +160,56 @@
from Products.GenericSetup.content import \
DAVAwareFileAdapter
- ztapi.provideAdapter(IObjectManager,
- IFilesystemExporter,
- FolderishExporterImporter,
- )
+ sm = getSiteManager()
- ztapi.provideAdapter(IObjectManager,
- IFilesystemImporter,
- FolderishExporterImporter,
- )
+ sm.registerAdapter(FolderishExporterImporter,
+ (IObjectManager,),
+ IFilesystemExporter,
+ )
- ztapi.provideAdapter(IPropertyManager,
- IINIAware,
- SimpleINIAware,
- )
+ sm.registerAdapter(FolderishExporterImporter,
+ (IObjectManager,),
+ IFilesystemImporter,
+ )
- ztapi.provideAdapter(ICSVAware,
- IFilesystemExporter,
- CSVAwareFileAdapter,
- )
+ sm.registerAdapter(SimpleINIAware,
+ (IPropertyManager,),
+ IINIAware,
+ )
- ztapi.provideAdapter(ICSVAware,
- IFilesystemImporter,
- CSVAwareFileAdapter,
- )
+ sm.registerAdapter(CSVAwareFileAdapter,
+ (ICSVAware,),
+ IFilesystemExporter,
+ )
- ztapi.provideAdapter(IINIAware,
- IFilesystemExporter,
- INIAwareFileAdapter,
- )
+ sm.registerAdapter(CSVAwareFileAdapter,
+ (ICSVAware,),
+ IFilesystemImporter,
+ )
- ztapi.provideAdapter(IINIAware,
- IFilesystemImporter,
- INIAwareFileAdapter,
- )
+ sm.registerAdapter(INIAwareFileAdapter,
+ (IINIAware,),
+ IFilesystemExporter,
+ )
- ztapi.provideAdapter(IDAVAware,
- IFilesystemExporter,
- DAVAwareFileAdapter,
- )
+ sm.registerAdapter(INIAwareFileAdapter,
+ (IINIAware,),
+ IFilesystemImporter,
+ )
- ztapi.provideAdapter(IDAVAware,
- IFilesystemImporter,
- DAVAwareFileAdapter,
- )
+ sm.registerAdapter(DAVAwareFileAdapter,
+ (IDAVAware,),
+ IFilesystemExporter,
+ )
+ sm.registerAdapter(DAVAwareFileAdapter,
+ (IDAVAware,),
+ IFilesystemImporter,
+ )
+
def test_export_empty_site(self):
+ from Products.GenericSetup.tests.common import DummyExportContext
self._setUpAdapters()
site = _makeFolder('site')
site.title = 'test_export_empty_site'
@@ -229,21 +223,21 @@
self.assertEqual(filename, 'structure/.objects')
self.assertEqual(content_type, 'text/comma-separated-values')
- objects = [x for x in reader(StringIO(text))]
+ objects = _parseCSV(text)
self.assertEqual(len(objects), 0)
filename, text, content_type = context._wrote[1]
self.assertEqual(filename, 'structure/.properties')
self.assertEqual(content_type, 'text/plain')
- parser = ConfigParser()
- parser.readfp(StringIO(text))
+ parser = _parseINI(text)
defaults = parser.defaults()
self.assertEqual(len(defaults), 1)
self.assertEqual(defaults['title'], site.title)
def test_export_empty_site_with_setup_tool(self):
+ from Products.GenericSetup.tests.common import DummyExportContext
self._setUpAdapters()
site = _makeFolder('site')
site._setObject('setup_tool', self._makeSetupTool())
@@ -259,15 +253,14 @@
self.assertEqual(filename, 'structure/.objects')
self.assertEqual(content_type, 'text/comma-separated-values')
- objects = [x for x in reader(StringIO(text))]
+ objects = _parseCSV(text)
self.assertEqual(len(objects), 0)
filename, text, content_type = context._wrote[1]
self.assertEqual(filename, 'structure/.properties')
self.assertEqual(content_type, 'text/plain')
- parser = ConfigParser()
- parser.readfp(StringIO(text))
+ parser = _parseINI(text)
defaults = parser.defaults()
self.assertEqual(len(defaults), 2)
@@ -275,6 +268,7 @@
self.assertEqual(defaults['description'], site.description)
def test_export_site_with_non_exportable_simple_items(self):
+ from Products.GenericSetup.tests.common import DummyExportContext
from Products.GenericSetup.utils import _getDottedName
self._setUpAdapters()
ITEM_IDS = ('foo', 'bar', 'baz')
@@ -296,7 +290,7 @@
self.assertEqual(filename, 'structure/.objects')
self.assertEqual(content_type, 'text/comma-separated-values')
- objects = [x for x in reader(StringIO(text))]
+ objects = _parseCSV(text)
self.assertEqual(len(objects), 3)
for index in range(len(ITEM_IDS)):
self.assertEqual(objects[index][0], ITEM_IDS[index])
@@ -305,8 +299,7 @@
filename, text, content_type = context._wrote[1]
self.assertEqual(filename, 'structure/.properties')
self.assertEqual(content_type, 'text/plain')
- parser = ConfigParser()
- parser.readfp(StringIO(text))
+ parser = _parseINI(text)
defaults = parser.defaults()
self.assertEqual(len(defaults), 2)
@@ -314,6 +307,7 @@
self.assertEqual(defaults['description'], 'CCC')
def test_export_site_with_exportable_simple_items(self):
+ from Products.GenericSetup.tests.common import DummyExportContext
from Products.GenericSetup.utils import _getDottedName
self._setUpAdapters()
ITEM_IDS = ('foo', 'bar', 'baz')
@@ -335,7 +329,7 @@
self.assertEqual(filename, 'structure/.objects')
self.assertEqual(content_type, 'text/comma-separated-values')
- objects = [x for x in reader(StringIO(text))]
+ objects = _parseCSV(text)
self.assertEqual(len(objects), 3)
for index in range(len(ITEM_IDS)):
self.assertEqual(objects[index][0], ITEM_IDS[index])
@@ -351,8 +345,7 @@
filename, text, content_type = context._wrote[1]
self.assertEqual(filename, 'structure/.properties')
self.assertEqual(content_type, 'text/plain')
- parser = ConfigParser()
- parser.readfp(StringIO(text))
+ parser = _parseINI(text)
defaults = parser.defaults()
self.assertEqual(len(defaults), 2)
@@ -360,6 +353,7 @@
self.assertEqual(defaults['description'], 'CCC')
def test_export_site_with_subfolders(self):
+ from Products.GenericSetup.tests.common import DummyExportContext
from Products.GenericSetup.utils import _getDottedName
self._setUpAdapters()
FOLDER_IDS = ('foo', 'bar', 'baz')
@@ -383,7 +377,7 @@
self.assertEqual(filename, 'structure/.objects')
self.assertEqual(content_type, 'text/comma-separated-values')
- objects = [x for x in reader(StringIO(text))]
+ objects = _parseCSV(text)
self.assertEqual(len(objects), 3)
for index in range(len(FOLDER_IDS)):
@@ -394,15 +388,14 @@
filename, text, content_type = context._wrote[2 + (2 * index)]
self.assertEqual(filename, '/'.join(('structure', id, '.objects')))
self.assertEqual(content_type, 'text/comma-separated-values')
- subobjects = [x for x in reader(StringIO(text))]
+ subobjects = _parseCSV(text)
self.assertEqual(len(subobjects), 0)
filename, text, content_type = context._wrote[2 + (2 * index) + 1]
self.assertEqual(filename,
'/'.join(('structure', id, '.properties')))
self.assertEqual(content_type, 'text/plain')
- parser = ConfigParser()
- parser.readfp(StringIO(text))
+ parser = _parseINI(text)
defaults = parser.defaults()
self.assertEqual(len(defaults), 1)
@@ -412,8 +405,7 @@
self.assertEqual(filename, 'structure/.properties')
self.assertEqual(content_type, 'text/plain')
- parser = ConfigParser()
- parser.readfp(StringIO(text))
+ parser = _parseINI(text)
defaults = parser.defaults()
self.assertEqual(len(defaults), 2)
@@ -421,6 +413,7 @@
self.assertEqual(defaults['description'], 'CCC')
def test_export_site_with_csvaware(self):
+ from Products.GenericSetup.tests.common import DummyExportContext
from Products.GenericSetup.utils import _getDottedName
self._setUpAdapters()
@@ -441,7 +434,7 @@
self.assertEqual(filename, 'structure/.objects')
self.assertEqual(content_type, 'text/comma-separated-values')
- objects = [x for x in reader(StringIO(text))]
+ objects = _parseCSV(text)
self.assertEqual(len(objects), 1)
self.assertEqual(objects[0][0], 'aware')
self.assertEqual(objects[0][1], _getDottedName(aware.__class__))
@@ -450,8 +443,7 @@
self.assertEqual(filename, 'structure/.properties')
self.assertEqual(content_type, 'text/plain')
- parser = ConfigParser()
- parser.readfp(StringIO(text))
+ parser = _parseINI(text)
defaults = parser.defaults()
self.assertEqual(len(defaults), 2)
@@ -461,7 +453,7 @@
filename, text, content_type = context._wrote[2]
self.assertEqual(filename, 'structure/aware.csv')
self.assertEqual(content_type, 'text/comma-separated-values')
- rows = [x for x in reader(StringIO(text))]
+ rows = _parseCSV(text)
self.assertEqual(len(rows), 2)
self.assertEqual(rows[0][0], 'one')
self.assertEqual(rows[0][1], 'two')
@@ -471,6 +463,7 @@
self.assertEqual(rows[1][2], 'six')
def test_import_empty_site(self):
+ from Products.GenericSetup.tests.common import DummyImportContext
self._setUpAdapters()
site = _makeFolder('site')
context = DummyImportContext(site)
@@ -481,6 +474,7 @@
self.assertEqual(len(site.objectIds()), 0)
def test_import_empty_site_with_setup_tool(self):
+ from Products.GenericSetup.tests.common import DummyImportContext
self._setUpAdapters()
site = _makeFolder('site')
site._setObject('setup_tool', self._makeSetupTool())
@@ -494,6 +488,7 @@
self.assertEqual(site.objectIds()[0], 'setup_tool')
def test_import_site_with_subfolders(self):
+ from Products.GenericSetup.tests.common import DummyImportContext
from Products.GenericSetup.utils import _getDottedName
self._setUpAdapters()
FOLDER_IDS = ('foo', 'bar', 'baz')
@@ -522,9 +517,10 @@
self.assertEqual(len(content), len(FOLDER_IDS))
def test_import_site_with_subitems(self):
+ from Products.GenericSetup.tests.common import DummyImportContext
from Products.GenericSetup.utils import _getDottedName
- from faux_objects import KNOWN_INI
- from faux_objects import TestINIAware
+ from Products.GenericSetup.tests.faux_objects import KNOWN_INI
+ from Products.GenericSetup.tests.faux_objects import TestINIAware
dotted = _getDottedName(TestINIAware)
self._setUpAdapters()
ITEM_IDS = ('foo', 'bar', 'baz')
@@ -550,6 +546,7 @@
self.assertEqual(found_id, expected_id)
def test_import_site_with_subitems_wo_adapter(self):
+ from Products.GenericSetup.tests.common import DummyImportContext
from Products.GenericSetup.utils import _getDottedName
item = _makeItem('no_adapter')
dotted = _getDottedName(item.__class__)
@@ -569,9 +566,10 @@
self.assertEqual(after[0], 'no_adapter')
def test_import_site_with_subitems_and_blanklines_dotobjects(self):
+ from Products.GenericSetup.tests.common import DummyImportContext
from Products.GenericSetup.utils import _getDottedName
- from faux_objects import KNOWN_INI
- from faux_objects import TestINIAware
+ from Products.GenericSetup.tests.faux_objects import KNOWN_INI
+ from Products.GenericSetup.tests.faux_objects import TestINIAware
dotted = _getDottedName(TestINIAware)
self._setUpAdapters()
ITEM_IDS = ('foo', 'bar', 'baz')
@@ -598,7 +596,8 @@
self.assertEqual(found_id, expected_id)
def test_import_site_with_subitem_unknown_portal_type(self):
- from faux_objects import KNOWN_INI
+ from Products.GenericSetup.tests.common import DummyImportContext
+ from Products.GenericSetup.tests.faux_objects import KNOWN_INI
self._setUpAdapters()
ITEM_IDS = ('foo', 'bar', 'baz')
@@ -626,6 +625,7 @@
self.failUnless(message.startswith("Couldn't make"))
def test_import_site_with_subitems_and_no_preserve(self):
+ from Products.GenericSetup.tests.common import DummyImportContext
self._setUpAdapters()
ITEM_IDS = ('foo', 'bar', 'baz')
@@ -643,6 +643,7 @@
self.assertEqual(len(site.objectIds()), 0)
def test_import_site_with_subitemss_and_preserve(self):
+ from Products.GenericSetup.tests.common import DummyImportContext
self._setUpAdapters()
ITEM_IDS = ('foo', 'bar', 'baz')
@@ -664,6 +665,7 @@
self.assertEqual(after[i], ITEM_IDS[i])
def test_import_site_with_subitemss_and_preserve_partial(self):
+ from Products.GenericSetup.tests.common import DummyImportContext
self._setUpAdapters()
ITEM_IDS = ('foo', 'bar', 'baz')
@@ -685,6 +687,7 @@
self.assertEqual(after[1], 'baz')
def test_import_site_with_subfolders_and_preserve(self):
+ from Products.GenericSetup.tests.common import DummyImportContext
from Products.GenericSetup.utils import _getDottedName
self._setUpAdapters()
@@ -752,7 +755,8 @@
return self._getTargetClass()(context, *args, **kw)
def test_export_with_known_CSV(self):
- from faux_objects import KNOWN_CSV
+ from Products.GenericSetup.tests.common import DummyExportContext
+ from Products.GenericSetup.tests.faux_objects import KNOWN_CSV
sheet = _makeCSVAware('config')
adapter = self._makeOne(sheet)
@@ -767,6 +771,7 @@
self.assertEqual(text.strip(), KNOWN_CSV.strip())
def test_import_with_known_CSV(self):
+ from Products.GenericSetup.tests.common import DummyImportContext
ORIG_CSV = """\
one,two,three
four,five,six
@@ -804,6 +809,7 @@
return self._getTargetClass()(context, *args, **kw)
def test_export_ini_file(self):
+ from Products.GenericSetup.tests.common import DummyExportContext
ini_file = _makeINIAware('ini_file.html')
adapter = self._makeOne(ini_file)
context = DummyExportContext(None)
@@ -817,7 +823,8 @@
self.assertEqual(text.strip(), ini_file.as_ini().strip())
def test_import_ini_file(self):
- from faux_objects import KNOWN_INI
+ from Products.GenericSetup.tests.common import DummyImportContext
+ from Products.GenericSetup.tests.faux_objects import KNOWN_INI
ini_file = _makeINIAware('ini_file.html')
adapter = self._makeOne(ini_file)
context = DummyImportContext(None)
@@ -826,8 +833,7 @@
adapter.import_(context, 'subpath/to')
text = ini_file._was_put
- parser = ConfigParser()
- parser.readfp(StringIO(text))
+ parser = _parseINI(text)
self.assertEqual(parser.get('DEFAULT', 'title'), 'Title: ini_file')
self.assertEqual(parser.get('DEFAULT', 'description'), 'abc')
@@ -845,6 +851,7 @@
return self._getTargetClass()(context, *args, **kw)
def test_export_dav_file(self):
+ from Products.GenericSetup.tests.common import DummyExportContext
dav_file = _makeDAVAware('dav_file.html')
adapter = self._makeOne(dav_file)
context = DummyExportContext(None)
@@ -857,7 +864,8 @@
self.assertEqual(text.strip(), dav_file.manage_FTPget().strip())
def test_import_dav_file(self):
- from faux_objects import KNOWN_DAV
+ from Products.GenericSetup.tests.common import DummyImportContext
+ from Products.GenericSetup.tests.faux_objects import KNOWN_DAV
VALUES = ('Title: dav_file', 'Description: abc', 'body goes here')
dav_file = _makeDAVAware('dav_file.html')
adapter = self._makeOne(dav_file)
@@ -869,7 +877,8 @@
def _makePropertied(id):
- from faux_objects import TestSimpleItemWithProperties
+ from Products.GenericSetup.tests.faux_objects \
+ import TestSimpleItemWithProperties
propertied = TestSimpleItemWithProperties()
propertied._setId(id)
@@ -877,7 +886,7 @@
return propertied
def _makeCSVAware(id, csv=None):
- from faux_objects import TestCSVAware
+ from Products.GenericSetup.tests.faux_objects import TestCSVAware
aware = TestCSVAware()
aware._setId(id)
@@ -888,7 +897,7 @@
def _makeINIAware(id):
- from faux_objects import TestINIAware
+ from Products.GenericSetup.tests.faux_objects import TestINIAware
aware = TestINIAware()
aware._setId(id)
@@ -897,7 +906,7 @@
def _makeDAVAware(id):
- from faux_objects import TestDAVAware
+ from Products.GenericSetup.tests.faux_objects import TestDAVAware
aware = TestDAVAware()
aware._setId(id)
@@ -906,7 +915,7 @@
def _makeItem(id):
- from faux_objects import TestSimpleItem
+ from Products.GenericSetup.tests.faux_objects import TestSimpleItem
aware = TestSimpleItem()
aware._setId(id)
@@ -916,6 +925,8 @@
def _makeFolder(id):
from OFS.Folder import Folder
+ from OFS.interfaces import IObjectManager
+ from OFS.interfaces import IPropertyManager
from zope.interface import directlyProvides
from zope.interface import providedBy
@@ -926,6 +937,19 @@
return folder
+def _parseCSV(text):
+ from csv import reader
+ from StringIO import StringIO
+ return [x for x in reader(StringIO(text))]
+
+def _parseINI(text):
+ from ConfigParser import ConfigParser
+ from StringIO import StringIO
+ parser = ConfigParser()
+ parser.readfp(StringIO(text))
+ return parser
+
+
def test_suite():
suite = unittest.TestSuite()
suite.addTest(unittest.makeSuite(SimpleINIAwareTests))
Modified: Products.GenericSetup/trunk/setup.py
===================================================================
--- Products.GenericSetup/trunk/setup.py 2009-12-26 23:28:16 UTC (rev 107136)
+++ Products.GenericSetup/trunk/setup.py 2009-12-27 04:39:57 UTC (rev 107137)
@@ -57,7 +57,6 @@
],
tests_require=[
'zope.testing >= 3.7.0',
- 'zope.app.testing',
],
extras_require=dict(
test=[
More information about the checkins
mailing list