Beispiel #1
0
    def test___init__(self):
        self.assertTrue(issubclass(errors.Error, Exception))

        err = errors.Error()
        self.assertEqual(-1, err.errno)
        self.assertEqual("Unknown error", err.msg)
        self.assertEqual(None, err.sqlstate)

        msg = "Ham"
        err = errors.Error(msg, errno=1)
        self.assertEqual(1, err.errno)
        self.assertEqual("1: {0}".format(msg), err._full_msg)
        self.assertEqual(msg, err.msg)

        err = errors.Error("Ham", errno=1, sqlstate="SPAM")
        self.assertEqual(1, err.errno)
        self.assertEqual("1 (SPAM): Ham", err._full_msg)
        self.assertEqual("1 (SPAM): Ham", str(err))

        err = errors.Error(errno=2000)
        self.assertEqual("Unknown MySQL error", err.msg)
        self.assertEqual("2000: Unknown MySQL error", err._full_msg)

        err = errors.Error(errno=2003, values=("/path/to/ham", 2))
        self.assertEqual(
            "2003: Can't connect to MySQL server on '/path/to/ham' (2)",
            err._full_msg)
        self.assertEqual("Can't connect to MySQL server on '/path/to/ham' (2)",
                         err.msg)

        err = errors.Error(errno=2001, values=("ham", ))
        if "(Warning:" in str(err):
            self.fail("Found %d in error message.")

        err = errors.Error(errno=2003, values=("ham", ))
        self.assertEqual(
            "2003: Can't connect to MySQL server on '%-.100s' (%s) "
            "(Warning: not enough arguments for format string)", err._full_msg)
Beispiel #2
0
 def test___str__(self):
     msg = "Spam"
     self.assertEqual("Spam", str(errors.Error(msg)))
     self.assertEqual("1: Spam", str(errors.Error(msg, 1)))
     self.assertEqual("1 (XYZ): Spam",
                      str(errors.Error(msg, 1, sqlstate="XYZ")))