def testAdd(self): """Test Version : Addition""" ver1 = version.Version('1.2.3') ver2 = ver1 + 1 self.failUnlessEqual(version.Version('1.2.3'), ver1) self.failUnlessEqual(version.Version('1.2.4'), ver2)
def testUpgradeChainValid(self): """Test Version : Upgrade chain with valid inputs""" ver_valid = ['upgrade-3.2.1-3.2.2','grade-3.2.2-3.2.3'] ver = version.Version('3.2.1') self.failUnlessEqual(ver.upgradeChain('3.2.3',ver_valid),ver_valid) ver_valid = ['upgrade-3.2.2-3.2.3', 'upgrade-3.2.2-3.2.3'] ver = version.Version('3.2.1') self.failUnlessEqual(ver.upgradeChain('3.2.3',ver_valid), ['upgrade-3.2.2-3.2.3']) ver_valid = ['upgrade-3.2.1-3.2.6', 'upgrade-3.2.1-3.2.3'] ver = version.Version('3.2.1') self.failUnlessEqual(ver.upgradeChain('3.2.7',ver_valid), ['upgrade-3.2.1-3.2.6'])
def testConfigCheckVersionUpgrade(self): """Test Poker Engine : Check file version upgrade""" pokerengineconfig.Config.upgrade_dry_run = True pokerengineconfig.Config.upgrades_repository = None ver = version.Version(version_number) if not self.ModifyXMLFile(self.ConfigTempFile, '/bet', None, { 'poker_engine_version': str(ver), 'upgrade': 'ToUpgrade' }): self.fail('Error during modification of configuration file ' + self.ConfigTempFile) self.failUnless( self.Config.load( PokerEngineConfigTestCase.TestConfigTemporaryFile)) self.failIf( self.Config.checkVersion('poker_engine_version', str(ver + 1), None)) upgrade_file = 'upgrade' + str(ver) + '-' + str(ver + 1) + '.xsl' upgrade_file = path.join(tempfile.gettempdir(), upgrade_file) if not self.CopyFile(self.UpgradeTmplFile, upgrade_file): self.fail('Error during creation of upgrade file ' + upgrade_file) pokerengineconfig.Config.upgrade_dry_run = False self.failIf( self.Config.checkVersion('poker_engine_version', str(ver + 1), tempfile.gettempdir())) self.failUnlessEqual(self.Config.headerGet('/bet/@upgrade'), 'Upgraded') self.DeleteFile(upgrade_file)
def testConfigCheckVersionInvalidUpgrade(self): """Test Poker Engine : Check file version invalid upgrade""" pokerengineconfig.Config.upgrade_dry_run = False pokerengineconfig.Config.upgrades_repository = None ver = version.Version(version_number) if not self.ModifyXMLFile(self.ConfigTempFile, '/bet', None, { 'poker_engine_version': str(ver), 'upgrade': 'ToUpgrade' }): self.fail('Error during modification of configuration file ' + self.ConfigTempFile) self.failUnless( self.Config.load( PokerEngineConfigTestCase.TestConfigTemporaryFile)) upgrade_file = 'upgrade' + str(ver) + '-' + str(ver + 1) + '.xsl' upgrade_file = path.join(tempfile.gettempdir(), upgrade_file) if not self.CopyFile(self.UpgradeInvalidFile, upgrade_file): self.fail('Error during creation of upgrade file ' + upgrade_file) self.failUnlessRaises(libxml2.parserError, self.Config.checkVersion, 'poker_engine_version', str(ver + 1), tempfile.gettempdir()) self.DeleteFile(upgrade_file)
def testUpgradeChainFailed(self): """Test Version : Upgrade chain with invalid inputs""" ver_invalid = ['upgrade-3.2.1-3.2.1', 'upgrade-3.2.1-3.2.0'] ver = version.Version('3.2.1') self.failUnlessEqual(ver.upgradeChain('3.2.2', ver_invalid), [])
def testParseError(self): """Test Version : Parsing error with invalid version string""" ver = version.Version() self.failUnlessRaises(ValueError, ver.parse, '') self.failUnlessRaises(ValueError, ver.parse, '1') self.failUnlessRaises(ValueError, ver.parse, '1.2') self.failUnlessRaises(ValueError, ver.parse, '1-2-3') self.failUnlessRaises(ValueError, ver.parse, 'A.B.C') self.failUnlessRaises(ValueError, ver.parse, '1.2.3.') self.failUnlessRaises(ValueError, ver.parse, '1.2.3.4')
def testConfigCheckVersionWithInvalidVersion(self): """Test Poker Engine : Check file version with invalid version attribute""" pokerengineconfig.Config.upgrades_repository = None ver = version.Version(version_number) if not self.ModifyXMLFile(self.ConfigTempFile, '/bet', None, {'poker_engine_version' : str(ver + 1)}): self.fail('Error during modification of configuration file ' + self.ConfigTempFile) self.failUnless(self.Config.load(PokerEngineConfigTestCase.TestConfigTemporaryFile)) self.failUnlessRaises(Exception,self.Config.checkVersion,'poker_engine_version',str(ver), None)
def testParseSuccess(self): """Test Version : Parsing success with valid version string""" ver = version.Version() try: ver.parse('1.2.3') major, medium, minor = ver.version except: self.fail('Exception generated version parsing') self.failUnlessEqual(major, 1) self.failUnlessEqual(medium, 2) self.failUnlessEqual(minor, 3)
def testUpgradeChainInvalid(self): """Test Version : Upgrade chain with invalid input formats""" ver_invalid = ['', '1.2', '1-2-3', 'A.B.C', '1.2.3.', '1.2.3.4'] chain_invalid = [] for ver1 in ver_invalid: for ver2 in ver_invalid: chain_invalid.append('upgrade-' + ver1 + '-' + ver2) chain_invalid.append('upgrade-1.2.3-1.2.') chain_invalid.append('upgrade-1.2.-1.2.3') chain_invalid.append('upgrade-1.2.3,1.2.4') ver = version.Version('3.2.1') self.failUnlessEqual(ver.upgradeChain('4.3.2', chain_invalid), [])
def testSub(self): """Test Version : Substraction""" ver1 = version.Version('3.2.1') ver2 = ver1 - 1 self.failUnlessEqual(version.Version('3.2.1'), ver1) self.failUnlessEqual(version.Version('3.2.0'), ver2) ver2 = ver1 - 2 self.failUnlessEqual(version.Version('3.2.1'), ver1) self.failUnlessEqual(version.Version('3.0.1'), ver2) ver2 = ver1 - 3 self.failUnlessEqual(version.Version('3.2.1'), ver1) self.failUnlessEqual(version.Version('0.2.1'), ver2) self.failUnlessRaises(UserWarning, ver1.__sub__, 4)
def testISub(self): """Test Version : Self substraction""" ver1 = version.Version('3.2.1') ver1 -= 1 self.failUnlessEqual(version.Version('3.2.0'), ver1) ver1 = version.Version('3.2.1') ver1 -= 2 self.failUnlessEqual(version.Version('3.0.1'), ver1) ver1 = version.Version('3.2.1') ver1 -= 3 self.failUnlessEqual(version.Version('0.2.1'), ver1) ver1 = version.Version('3.2.1') self.failUnlessRaises(UserWarning, ver1.__sub__, 4)
def testMinor(self): """Test Version : Minor version number accessor""" ver = version.Version('1.2.3') self.failUnlessEqual(ver.minor(), 3)
def testMedium(self): """Test Version : Medium version number accessor""" ver = version.Version('1.2.3') self.failUnlessEqual(ver.medium(), 2)
def testStr(self): """Test Version : String representation""" sver = '1.2.3' ver = version.Version('1.2.3') self.failUnlessEqual(sver, str(ver))
def testIAdd(self): """Test Version : Self addition""" ver1 = version.Version('1.2.3') ver1 += 1 self.failUnlessEqual(version.Version('1.2.4'), ver1)
def testStringRepresentation(self): """Test Version : String representation of the version object""" ver = version.Version('1.2.3') self.failUnlessEqual( repr(ver), ver.__class__.__name__ + ' (\'' + str(ver) + '\')')
def testUpgradeChainIgnored(self): """Test Version : Upgrade chain with ignored inputs""" ver_ignored = ['upgrade-0.9.0-1.0.0', 'upgrade-3.0.0-3.1.0'] ver = version.Version('3.2.1') self.failUnlessEqual(ver.upgradeChain('3.2.3', ver_ignored), [])