예제 #1
0
 def testValidate_007(self):
     """
     Test validate on a non-empty mysql section, all=False, empty databases.
     """
     config = LocalConfig()
     config.mysql = MysqlConfig("user", "password", "bzip2", False, [])
     self.assertRaises(ValueError, config.validate)
예제 #2
0
 def testValidate_002(self):
     """
     Test validate on an empty mysql section.
     """
     config = LocalConfig()
     config.mysql = MysqlConfig()
     self.assertRaises(ValueError, config.validate)
예제 #3
0
 def testConstructor_004(self):
     """
     Test assignment of mysql attribute, None value.
     """
     config = LocalConfig()
     config.mysql = None
     self.assertEqual(None, config.mysql)
예제 #4
0
 def testConstructor_005(self):
     """
     Test assignment of mysql attribute, valid value.
     """
     config = LocalConfig()
     config.mysql = MysqlConfig()
     self.assertEqual(MysqlConfig(), config.mysql)
예제 #5
0
 def testValidate_011(self):
     """
     Test validate on a non-empty mysql section, with user=None and password=None.
     """
     config = LocalConfig()
     config.mysql = MysqlConfig(None, None, "gzip", True, None)
     config.validate()
예제 #6
0
 def testValidate_006(self):
     """
     Test validate on a non-empty mysql section, all=False, databases=None.
     """
     config = LocalConfig()
     config.mysql = MysqlConfig("user", "password", "gzip", False, None)
     self.assertRaises(ValueError, config.validate)
예제 #7
0
 def testAddConfig_004(self):
     """
     Test with no databases, all other values filled in, all=False.
     """
     config = LocalConfig()
     config.mysql = MysqlConfig("user", "password", "gzip", False, None)
     self.validateAddConfig(config)
예제 #8
0
 def testValidate_003(self):
     """
     Test validate on a non-empty mysql section, all=True, databases=None.
     """
     config = LocalConfig()
     config.mysql = MysqlConfig("user", "password", "gzip", True, None)
     config.validate()
예제 #9
0
 def testAddConfig_003(self):
     """
     Test with no databases, all other values filled in, all=True.
     """
     config = LocalConfig()
     config.mysql = MysqlConfig("user", "password", "none", True, None)
     self.validateAddConfig(config)
예제 #10
0
 def testValidate_001(self):
     """
     Test validate on a None mysql section.
     """
     config = LocalConfig()
     config.mysql = None
     self.assertRaises(ValueError, config.validate)
예제 #11
0
 def testValidate_004(self):
     """
     Test validate on a non-empty mysql section, all=True, empty databases.
     """
     config = LocalConfig()
     config.mysql = MysqlConfig("user", "password", "none", True, [])
     config.validate()
예제 #12
0
 def testAddConfig_011(self):
     """
     Test with multiple databases, user=None and password=None but all other values filled in, all=False.
     """
     config = LocalConfig()
     config.mysql = MysqlConfig(None, None, "gzip", True,
                                ["database1", "database2"])
     self.validateAddConfig(config)
예제 #13
0
 def testAddConfig_008(self):
     """
     Test with multiple databases, all other values filled in, all=False.
     """
     config = LocalConfig()
     config.mysql = MysqlConfig("user", "password", "gzip", True,
                                ["database1", "database2"])
     self.validateAddConfig(config)
예제 #14
0
 def testAddConfig_006(self):
     """
     Test with single database, all other values filled in, all=False.
     """
     config = LocalConfig()
     config.mysql = MysqlConfig("user", "password", "none", False,
                                ["database"])
     self.validateAddConfig(config)
예제 #15
0
 def testAddConfig_005(self):
     """
     Test with single database, all other values filled in, all=True.
     """
     config = LocalConfig()
     config.mysql = MysqlConfig("user", "password", "bzip2", True,
                                ["database"])
     self.validateAddConfig(config)
예제 #16
0
 def testValidate_008(self):
     """
     Test validate on a non-empty mysql section, all=False, non-empty databases.
     """
     config = LocalConfig()
     config.mysql = MysqlConfig("user", "password", "gzip", False,
                                ["whatever"])
     config.validate()
예제 #17
0
 def testComparison_001(self):
     """
     Test comparison of two identical objects, all attributes None.
     """
     config1 = LocalConfig()
     config2 = LocalConfig()
     self.assertEqual(config1, config2)
     self.assertTrue(config1 == config2)
     self.assertTrue(not config1 < config2)
     self.assertTrue(config1 <= config2)
     self.assertTrue(not config1 > config2)
     self.assertTrue(config1 >= config2)
     self.assertTrue(not config1 != config2)
예제 #18
0
 def testComparison_003(self):
     """
     Test comparison of two differing objects, mysql differs (one None).
     """
     config1 = LocalConfig()
     config2 = LocalConfig()
     config2.mysql = MysqlConfig()
     self.assertNotEqual(config1, config2)
     self.assertTrue(not config1 == config2)
     self.assertTrue(config1 < config2)
     self.assertTrue(config1 <= config2)
     self.assertTrue(not config1 > config2)
     self.assertTrue(not config1 >= config2)
     self.assertTrue(config1 != config2)
예제 #19
0
 def testParse_001(self):
     """
     Parse empty config document.
     """
     path = self.resources["mysql.conf.1"]
     with open(path) as f:
         contents = f.read()
     self.assertRaises(ValueError, LocalConfig, xmlPath=path, validate=True)
     self.assertRaises(ValueError,
                       LocalConfig,
                       xmlData=contents,
                       validate=True)
     config = LocalConfig(xmlPath=path, validate=False)
     self.assertEqual(None, config.mysql)
     config = LocalConfig(xmlData=contents, validate=False)
     self.assertEqual(None, config.mysql)
예제 #20
0
 def testParse_004(self):
     """
     Parse config document containing only a mysql section, single database, all=False.
     """
     path = self.resources["mysql.conf.3"]
     with open(path) as f:
         contents = f.read()
     config = LocalConfig(xmlPath=path, validate=False)
     self.assertNotEqual(None, config.mysql)
     self.assertEqual("user", config.mysql.user)
     self.assertEqual("password", config.mysql.password)
     self.assertEqual("gzip", config.mysql.compressMode)
     self.assertEqual(False, config.mysql.all)
     self.assertEqual(["database"], config.mysql.databases)
     config = LocalConfig(xmlData=contents, validate=False)
     self.assertNotEqual(None, config.mysql)
     self.assertEqual("user", config.mysql.user)
     self.assertEqual("password", config.mysql.password)
     self.assertEqual("gzip", config.mysql.compressMode)
     self.assertEqual(False, config.mysql.all)
     self.assertEqual(["database"], config.mysql.databases)
예제 #21
0
 def testParse_006(self):
     """
     Parse config document containing only a mysql section, no user or password, multiple databases, all=False.
     """
     path = self.resources["mysql.conf.5"]
     with open(path) as f:
         contents = f.read()
     config = LocalConfig(xmlPath=path, validate=False)
     self.assertNotEqual(None, config.mysql)
     self.assertEqual(None, config.mysql.user)
     self.assertEqual(None, config.mysql.password)
     self.assertEqual("bzip2", config.mysql.compressMode)
     self.assertEqual(False, config.mysql.all)
     self.assertEqual(["database1", "database2"], config.mysql.databases)
     config = LocalConfig(xmlData=contents, validate=False)
     self.assertNotEqual(None, config.mysql)
     self.assertEqual(None, config.mysql.user)
     self.assertEqual(None, config.mysql.password)
     self.assertEqual("bzip2", config.mysql.compressMode)
     self.assertEqual(False, config.mysql.all)
     self.assertEqual(["database1", "database2"], config.mysql.databases)
예제 #22
0
 def testStringFuncs_001(self):
     """
     Just make sure that the string functions don't have errors (i.e. bad variable names).
     """
     obj = LocalConfig()
     obj.__repr__()
     obj.__str__()
예제 #23
0
    def validateAddConfig(self, origConfig):
        """
        Validates that document dumped from ``LocalConfig.addConfig`` results in
        identical object.

        We dump a document containing just the mysql configuration, and then make
        sure that if we push that document back into the ``LocalConfig`` object,
        that the resulting object matches the original.

        The ``self.failUnlessEqual`` method is used for the validation, so if the
        method call returns normally, everything is OK.

        Args:
           origConfig: Original configuration
        """
        (xmlDom, parentNode) = createOutputDom()
        origConfig.addConfig(xmlDom, parentNode)
        xmlData = serializeDom(xmlDom)
        newConfig = LocalConfig(xmlData=xmlData, validate=False)
        self.assertEqual(origConfig, newConfig)
예제 #24
0
 def testConstructor_006(self):
     """
     Test assignment of mysql attribute, invalid value (not MysqlConfig).
     """
     config = LocalConfig()
     self.failUnlessAssignRaises(ValueError, config, "mysql", "STRING!")
예제 #25
0
 def testConstructor_002(self):
     """
     Test empty constructor, validate=True.
     """
     config = LocalConfig(validate=True)
     self.assertEqual(None, config.mysql)
예제 #26
0
 def testAddConfig_001(self):
     """
     Test with empty config document
     """
     config = LocalConfig()
     self.validateAddConfig(config)