[Checkins] SVN: GenericSetup/branches/tseaver-bbq_sprint/tests/ test coverage for the profile version mechanism

Rob Miller ra at burningman.com
Tue Jun 19 04:26:47 EDT 2007


Log message for revision 76782:
  test coverage for the profile version mechanism
  

Changed:
  U   GenericSetup/branches/tseaver-bbq_sprint/tests/test_tool.py
  A   GenericSetup/branches/tseaver-bbq_sprint/tests/versioned_profile/
  A   GenericSetup/branches/tseaver-bbq_sprint/tests/versioned_profile/export_steps.xml
  A   GenericSetup/branches/tseaver-bbq_sprint/tests/versioned_profile/import_steps.xml
  A   GenericSetup/branches/tseaver-bbq_sprint/tests/versioned_profile/metadata.xml
  A   GenericSetup/branches/tseaver-bbq_sprint/tests/versioned_profile/toolset.xml

-=-
Modified: GenericSetup/branches/tseaver-bbq_sprint/tests/test_tool.py
===================================================================
--- GenericSetup/branches/tseaver-bbq_sprint/tests/test_tool.py	2007-06-19 07:44:30 UTC (rev 76781)
+++ GenericSetup/branches/tseaver-bbq_sprint/tests/test_tool.py	2007-06-19 08:26:45 UTC (rev 76782)
@@ -14,7 +14,7 @@
 
 $Id$
 """
-
+import os
 import unittest
 import Testing
 
@@ -23,7 +23,11 @@
 from Acquisition import aq_base
 from OFS.Folder import Folder
 
+from Products.Five import zcml
+
+import Products.GenericSetup
 from Products.GenericSetup import profile_registry
+from Products.GenericSetup.upgrade import listUpgradeSteps
 from Products.GenericSetup.testing import ExportImportZCMLLayer
 
 from common import BaseRegistryTests
@@ -692,8 +696,35 @@
         tool._setObject(filename, File(filename, '', ''))
         self.assertEqual(tool.getProfileImportDate('foo:bar'),
                          '2007-03-15T12:34:56Z')
- 
 
+    def test_lastVersionForProfile(self):
+        site = self._makeSite()
+        site.setup_tool = self._makeOne('setup_tool')
+        tool = site.setup_tool
+        profile_id = 'dummy_profile'
+        product_name = 'GenericSetup'
+        directory = os.path.split(__file__)[0]
+        path = os.path.join(directory, 'versioned_profile')
+        profile_registry.registerProfile(profile_id,
+                                         'Dummy Profile',
+                                         'This is a dummy profile',
+                                         path,
+                                         product=product_name)
+        zcml.load_config('meta.zcml', Products.GenericSetup)        
+        zcml.load_string(UPGRADE_ZCML)
+        
+        self.assertEqual(tool.getLastVersionForProfile(profile_id),
+                         'unknown')
+        request = site.REQUEST
+        profile_id = ':'.join((product_name, profile_id))
+        request.form['profile_id'] = profile_id
+        steps = listUpgradeSteps(tool, profile_id, '1.0')
+        step_id = steps[0]['id']
+        request.form['upgrades'] = [step_id]
+        tool.manage_doUpgrades()
+        self.assertEqual(tool.getLastVersionForProfile(profile_id),
+                         ('1', '1'))
+
 _DEFAULT_STEP_REGISTRIES_EXPORT_XML = """\
 <?xml version="1.0"?>
 <export-steps>
@@ -757,6 +788,22 @@
 Title=%s
 """
 
+UPGRADE_ZCML = '''
+<configure
+  xmlns:genericsetup="http://namespaces.zope.org/genericsetup"
+  i18n_domain="foo">
+    <genericsetup:upgradeStep
+      title="Upgrade Foo Product"
+      description="Upgrades Foo from 1.0 to 1.1."
+      source="1.0"
+      destination="1.1"
+      handler="Products.GenericSetup.tests.test_zcml.dummy_upgrade_handler"
+      sortkey="1"
+      profile="GenericSetup:dummy_profile"
+    />
+</configure>'''
+
+
 def _underscoreSiteTitle( context ):
 
     site = context.getSite()

Added: GenericSetup/branches/tseaver-bbq_sprint/tests/versioned_profile/export_steps.xml
===================================================================
--- GenericSetup/branches/tseaver-bbq_sprint/tests/versioned_profile/export_steps.xml	                        (rev 0)
+++ GenericSetup/branches/tseaver-bbq_sprint/tests/versioned_profile/export_steps.xml	2007-06-19 08:26:45 UTC (rev 76782)
@@ -0,0 +1,8 @@
+<?xml version="1.0"?>
+<export-steps>
+ <export-step id="one"
+                handler="Products.GenericSetup.tests.common.dummy_handler"
+                title="One Step">
+  One small step
+ </export-step>
+</export-steps>

Added: GenericSetup/branches/tseaver-bbq_sprint/tests/versioned_profile/import_steps.xml
===================================================================
--- GenericSetup/branches/tseaver-bbq_sprint/tests/versioned_profile/import_steps.xml	                        (rev 0)
+++ GenericSetup/branches/tseaver-bbq_sprint/tests/versioned_profile/import_steps.xml	2007-06-19 08:26:45 UTC (rev 76782)
@@ -0,0 +1,9 @@
+<?xml version="1.0"?>
+<import-steps>
+ <import-step id="one"
+             version="1"
+             handler="Products.GenericSetup.tests.common.dummy_handler"
+             title="One Step">
+  One small step
+ </import-step>
+</import-steps>

Added: GenericSetup/branches/tseaver-bbq_sprint/tests/versioned_profile/metadata.xml
===================================================================
--- GenericSetup/branches/tseaver-bbq_sprint/tests/versioned_profile/metadata.xml	                        (rev 0)
+++ GenericSetup/branches/tseaver-bbq_sprint/tests/versioned_profile/metadata.xml	2007-06-19 08:26:45 UTC (rev 76782)
@@ -0,0 +1,4 @@
+<?xml version="1.0"?>
+<metadata>
+  <version>1.1</version>
+</metadata>

Added: GenericSetup/branches/tseaver-bbq_sprint/tests/versioned_profile/toolset.xml
===================================================================
--- GenericSetup/branches/tseaver-bbq_sprint/tests/versioned_profile/toolset.xml	                        (rev 0)
+++ GenericSetup/branches/tseaver-bbq_sprint/tests/versioned_profile/toolset.xml	2007-06-19 08:26:45 UTC (rev 76782)
@@ -0,0 +1,6 @@
+<?xml version="1.0"?>
+<tool-setup>
+ <forbidden tool_id="doomed" />
+ <required tool_id="mandatory" class="path.to.one" />
+ <required tool_id="obligatory" class="path.to.another" />
+</tool-setup>



More information about the Checkins mailing list