From fa166f6735ca30122270046c623e9705a76cb066 Mon Sep 17 00:00:00 2001 From: Bernardo Dal Seno <bdalseno@google.com> Date: Thu, 11 Apr 2013 01:06:24 +0200 Subject: [PATCH] Split functions in cfupgrade unit tests This makes easier to test real configurations. Signed-off-by: Bernardo Dal Seno <bdalseno@google.com> Reviewed-by: Helga Velroyen <helgav@google.com> --- test/py/cfgupgrade_unittest.py | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/test/py/cfgupgrade_unittest.py b/test/py/cfgupgrade_unittest.py index 311a68f47..ae16eb555 100755 --- a/test/py/cfgupgrade_unittest.py +++ b/test/py/cfgupgrade_unittest.py @@ -156,6 +156,11 @@ class TestCfgupgrade(unittest.TestCase): "instances": {}, "nodegroups": {}, } + self._TestUpgradeFromData(cfg, dry_run) + + def _TestUpgradeFromData(self, cfg, dry_run): + assert "version" in cfg + from_version = cfg["version"] self._CreateValidConfigDir() utils.WriteFile(self.config_path, data=serializer.DumpJson(cfg)) @@ -350,22 +355,29 @@ class TestCfgupgrade(unittest.TestCase): def testUpgradeCurrent(self): self._TestSimpleUpgrade(constants.CONFIG_VERSION, False) - def testDowngrade(self): - self._TestSimpleUpgrade(constants.CONFIG_VERSION, False) + def _RunDowngradeUpgrade(self): oldconf = self._LoadConfig() _RunUpgrade(self.tmpdir, False, True, downgrade=True) _RunUpgrade(self.tmpdir, False, True) newconf = self._LoadConfig() self.assertEqual(oldconf, newconf) - def testDowngradeTwice(self): + def testDowngrade(self): self._TestSimpleUpgrade(constants.CONFIG_VERSION, False) + self._RunDowngradeUpgrade() + + def _RunDowngradeTwice(self): + """Make sure that downgrade is idempotent.""" _RunUpgrade(self.tmpdir, False, True, downgrade=True) oldconf = self._LoadConfig() _RunUpgrade(self.tmpdir, False, True, downgrade=True) newconf = self._LoadConfig() self.assertEqual(oldconf, newconf) + def testDowngradeTwice(self): + self._TestSimpleUpgrade(constants.CONFIG_VERSION, False) + self._RunDowngradeTwice() + def testUpgradeDryRunFrom_2_0(self): self._TestSimpleUpgrade(constants.BuildVersion(2, 0, 0), True) -- GitLab