コード例 #1
0
ファイル: testMigrate.py プロジェクト: zenoss/zenoss-prodbin
    def afterSetUp(self):
        super(TestMigrate, self).afterSetUp()

        self.version = Version(9, 9, 9)
        self.migration = Migration()
        self.oldCurrentVersion = self.migration._currentVersion
        self.migration._currentVersion = self.getTestVersion
コード例 #2
0
 def testDetermineSteps(self):
     m = Migration(noopts=True)
     m.allSteps = [  MyTestStep(1, 0, 0),
                     MyTestStep(1, 1, 0),
                     MyTestStep(1, 2, 0),
                     ]
     m.options.level='1.1.0'
     self.assertEquals(m.determineSteps(), m.allSteps[1:])
     m.options.level = None
     m.options.steps = ['MyTestStep_1.1.0']
     self.assertEquals(m.determineSteps(), m.allSteps[1:2])
コード例 #3
0
ファイル: testMigrate.py プロジェクト: zenoss/zenoss-prodbin
 def testDetermineSteps(self):
     m = Migration(noopts=True)
     m.allSteps = [
         MyTestStep(1, 0, 0),
         MyTestStep(1, 1, 0),
         MyTestStep(1, 2, 0),
     ]
     m.options.level = '1.1.0'
     self.assertEquals(m.determineSteps(), m.allSteps[1:])
     m.options.level = None
     m.options.steps = ['MyTestStep_1.1.0']
     self.assertEquals(m.determineSteps(), m.allSteps[1:2])
コード例 #4
0
    def afterSetUp(self):
        super(TestMigrate, self).afterSetUp()

        self.version = Version(9,9,9)
        self.migration = Migration()
        self.oldCurrentVersion = self.migration._currentVersion
        self.migration._currentVersion = self.getTestVersion
コード例 #5
0
 def testGetEarliestAppropriateStepVersion(self):
     m = Migration(noopts=True)
     self.assertEquals(Version(1, 0, 70),
         m.getEarliestAppropriateStepVersion(codeVers=Version(1, 1, 50)))
     self.assertEquals(Version(1, 1, 70),
         m.getEarliestAppropriateStepVersion(codeVers=Version(1, 1, 70)))
     self.assertEquals(Version(1, 1, 70),
         m.getEarliestAppropriateStepVersion(codeVers=Version(1, 1, 99)))
     self.assertEquals(Version(1, 1, 70),
         m.getEarliestAppropriateStepVersion(codeVers=Version(1, 2, 0)))
     m.allSteps.append(MyTestStep(98, 3, 71))
     self.assertEquals(Version(98, 3, 70),
         m.getEarliestAppropriateStepVersion(codeVers=Version(99, 0, 1)))
コード例 #6
0
ファイル: testMigrate.py プロジェクト: zenoss/zenoss-prodbin
 def testGetEarliestAppropriateStepVersion(self):
     m = Migration(noopts=True)
     self.assertEquals(
         Version(1, 0, 70),
         m.getEarliestAppropriateStepVersion(codeVers=Version(1, 1, 50)))
     self.assertEquals(
         Version(1, 1, 70),
         m.getEarliestAppropriateStepVersion(codeVers=Version(1, 1, 70)))
     self.assertEquals(
         Version(1, 1, 70),
         m.getEarliestAppropriateStepVersion(codeVers=Version(1, 1, 99)))
     self.assertEquals(
         Version(1, 1, 70),
         m.getEarliestAppropriateStepVersion(codeVers=Version(1, 2, 0)))
     m.allSteps.append(MyTestStep(98, 3, 71))
     self.assertEquals(
         Version(98, 3, 70),
         m.getEarliestAppropriateStepVersion(codeVers=Version(99, 0, 1)))
コード例 #7
0
ファイル: testMigrate.py プロジェクト: zenoss/zenoss-prodbin
class TestMigrate(ZenModelBaseTest):
    def afterSetUp(self):
        super(TestMigrate, self).afterSetUp()

        self.version = Version(9, 9, 9)
        self.migration = Migration()
        self.oldCurrentVersion = self.migration._currentVersion
        self.migration._currentVersion = self.getTestVersion

    def getTestVersion(self):
        return self.version

    def assertIncludesVersions(self, steps, versions):
        includedVersions = map(lambda x: x.version, steps)
        for version in versions:
            if version not in includedVersions:
                self.assert_(
                    False, "Version %s not included in steps: %s" %
                    (version.short(), map(lambda x: x.name, steps)))

    def testStepDeterminationUpgrades(self):

        self.migration.allSteps = allsteps

        self.version = Version(99, 99, 99)
        steps = self.migration.determineSteps()
        self.assertEqual(len(steps), 0)

        self.version = Version(0, 0, 0)
        steps = self.migration.determineSteps()
        self.assertEqual(len(steps), len(allsteps))

        self.version = Version(4, 1, 1)
        steps = self.migration.determineSteps()
        self.assertEqual(len(steps), 2)
        self.assertIncludesVersions(steps,
                                    [x.version for x in (step420, step41_70)])

        self.version = Version(4, 1, 0)
        steps = self.migration.determineSteps()
        self.assertEqual(len(steps), 3)
        self.assertIncludesVersions(
            steps, [x.version for x in (step420, step41_70, step411)])

        self.version = Version(4, 0, 2)
        steps = self.migration.determineSteps()
        self.assertEqual(len(steps), 5)
        self.assertIncludesVersions(steps, [
            x.version
            for x in (step420, step41_70, step411, step410, step40_70)
        ])

        self.version = Version(4, 0, 1)
        steps = self.migration.determineSteps()
        self.assertEqual(len(steps), 6)
        self.assertIncludesVersions(steps, [
            x.version
            for x in (step420, step41_70, step411, step410, step402, step40_70)
        ])

        self.version = Version(4, 0, 0)
        steps = self.migration.determineSteps()
        self.assertEqual(len(steps), 7)
        self.assertIncludesVersions(steps, [
            x.version for x in (step420, step41_70, step411, step410, step402,
                                step401, step40_70)
        ])

    def testStepDeterminationInPlace(self):

        self.migration.allSteps = realVersionSteps

        self.version = Version(4, 2, 0)
        steps = self.migration.determineSteps()
        self.assertEqual(len(steps), 1)
        self.assertIncludesVersions(steps, [step420.version])

    def testGetEarliestAppropriateStepVersion(self):
        m = Migration(noopts=True)
        self.assertEquals(
            Version(1, 0, 70),
            m.getEarliestAppropriateStepVersion(codeVers=Version(1, 1, 50)))
        self.assertEquals(
            Version(1, 1, 70),
            m.getEarliestAppropriateStepVersion(codeVers=Version(1, 1, 70)))
        self.assertEquals(
            Version(1, 1, 70),
            m.getEarliestAppropriateStepVersion(codeVers=Version(1, 1, 99)))
        self.assertEquals(
            Version(1, 1, 70),
            m.getEarliestAppropriateStepVersion(codeVers=Version(1, 2, 0)))
        m.allSteps.append(MyTestStep(98, 3, 71))
        self.assertEquals(
            Version(98, 3, 70),
            m.getEarliestAppropriateStepVersion(codeVers=Version(99, 0, 1)))

    def testDetermineSteps(self):
        m = Migration(noopts=True)
        m.allSteps = [
            MyTestStep(1, 0, 0),
            MyTestStep(1, 1, 0),
            MyTestStep(1, 2, 0),
        ]
        m.options.level = '1.1.0'
        self.assertEquals(m.determineSteps(), m.allSteps[1:])
        m.options.level = None
        m.options.steps = ['MyTestStep_1.1.0']
        self.assertEquals(m.determineSteps(), m.allSteps[1:2])
コード例 #8
0
class TestMigrate(ZenModelBaseTest):
    def afterSetUp(self):
        super(TestMigrate, self).afterSetUp()

        self.version = Version(9,9,9)
        self.migration = Migration()
        self.oldCurrentVersion = self.migration._currentVersion
        self.migration._currentVersion = self.getTestVersion

    def getTestVersion(self):
        return self.version

    def assertIncludesVersions(self, steps, versions):
        includedVersions = map(lambda x:x.version, steps)
        for version in versions:
            if version not in includedVersions:
                self.assert_(False, "Version %s not included in steps: %s" %
                                    (version.short(), map(lambda x:x.name, steps)))

    def testStepDeterminationUpgrades(self):

        self.migration.allSteps = allsteps

        self.version = Version(99,99,99)
        steps = self.migration.determineSteps()
        self.assertEqual(len(steps), 0)

        self.version = Version(0,0,0)
        steps = self.migration.determineSteps()
        self.assertEqual(len(steps), len(allsteps))

        self.version = Version(4,1,1)
        steps = self.migration.determineSteps()
        self.assertEqual(len(steps), 2)
        self.assertIncludesVersions(steps,
            [x.version for x in (step420, step41_70)])

        self.version = Version(4,1,0)
        steps = self.migration.determineSteps()
        self.assertEqual(len(steps), 3)
        self.assertIncludesVersions(steps,
            [x.version for x in (step420, step41_70, step411)])

        self.version = Version(4,0,2)
        steps = self.migration.determineSteps()
        self.assertEqual(len(steps), 5)
        self.assertIncludesVersions(steps,
            [x.version for x in (step420, step41_70, step411, step410, step40_70)])

        self.version = Version(4,0,1)
        steps = self.migration.determineSteps()
        self.assertEqual(len(steps), 6)
        self.assertIncludesVersions(steps,
            [x.version for x in (step420, step41_70, step411, step410, step402, step40_70)])

        self.version = Version(4,0,0)
        steps = self.migration.determineSteps()
        self.assertEqual(len(steps), 7)
        self.assertIncludesVersions(steps,
            [x.version for x in (step420, step41_70, step411, step410, step402, step401, step40_70)])

    def testStepDeterminationInPlace(self):

        self.migration.allSteps = realVersionSteps

        self.version = Version(4,2,0)
        steps = self.migration.determineSteps()
        self.assertEqual(len(steps), 1)
        self.assertIncludesVersions(steps, [step420.version])

    def testGetEarliestAppropriateStepVersion(self):
        m = Migration(noopts=True)
        self.assertEquals(Version(1, 0, 70),
            m.getEarliestAppropriateStepVersion(codeVers=Version(1, 1, 50)))
        self.assertEquals(Version(1, 1, 70),
            m.getEarliestAppropriateStepVersion(codeVers=Version(1, 1, 70)))
        self.assertEquals(Version(1, 1, 70),
            m.getEarliestAppropriateStepVersion(codeVers=Version(1, 1, 99)))
        self.assertEquals(Version(1, 1, 70),
            m.getEarliestAppropriateStepVersion(codeVers=Version(1, 2, 0)))
        m.allSteps.append(MyTestStep(98, 3, 71))
        self.assertEquals(Version(98, 3, 70),
            m.getEarliestAppropriateStepVersion(codeVers=Version(99, 0, 1)))


    def testDetermineSteps(self):
        m = Migration(noopts=True)
        m.allSteps = [  MyTestStep(1, 0, 0),
                        MyTestStep(1, 1, 0),
                        MyTestStep(1, 2, 0),
                        ]
        m.options.level='1.1.0'
        self.assertEquals(m.determineSteps(), m.allSteps[1:])
        m.options.level = None
        m.options.steps = ['MyTestStep_1.1.0']
        self.assertEquals(m.determineSteps(), m.allSteps[1:2])