tests/validate.py
branchdevel
changeset 194 0dad11389eec
parent 178 ee4a6eb5a34b
child 196 ee2c051fbe3f
equal deleted inserted replaced
193:e5ec4bfa4929 194:0dad11389eec
     1 import unittest
     1 from twisted.trial import unittest
     2 
     2 
     3 from iro.validate import vBool, vInteger, vHash
     3 from iro.validate import vBool, vInteger, vHash
     4 from iro.error import ValidateException
     4 from iro.error import ValidateException
     5 
     5 
     6 class testValidators(unittest.TestCase):
     6 class testValidators(unittest.TestCase):
    17         self.assertEqual(vBool(0,None),False)
    17         self.assertEqual(vBool(0,None),False)
    18         self.assertEqual(vBool("false",None),False)
    18         self.assertEqual(vBool("false",None),False)
    19         self.assertEqual(vBool("False",None),False)
    19         self.assertEqual(vBool("False",None),False)
    20         self.assertEqual(vBool("FALSE",None),False)
    20         self.assertEqual(vBool("FALSE",None),False)
    21 
    21 
    22         with self.assertRaises(ValidateException) as e:
    22         e = self.assertRaises(ValidateException, vBool, "TRue","test")
    23             vBool("TRue","test")
    23         self.assertEqual(e.msg,"test is not boolean")
    24         self.assertEqual(e.exception.msg,"test is not boolean")
       
    25 
    24 
    26     def testInteger(self):
    25     def testInteger(self):
    27         self.assertEqual(vInteger(123,None),123)
    26         self.assertEqual(vInteger(123,None),123)
    28         self.assertEqual(vInteger("123",None),123)
    27         self.assertEqual(vInteger("123",None),123)
    29         self.assertEqual(vInteger("-123",None),-123)
    28         self.assertEqual(vInteger("-123",None),-123)
    30 
    29 
    31         with self.assertRaises(ValidateException):
    30         self.assertRaises(ValidateException, vInteger, "a123",None)
    32             vInteger("a123",None)
       
    33 
    31 
    34     def testIntegerLimits(self):
    32     def testIntegerLimits(self):
    35         self.assertEqual(vInteger(10,None,maxv=10),10)
    33         self.assertEqual(vInteger(10,None,maxv=10),10)
    36         with self.assertRaises(ValidateException):
    34         self.assertRaises(ValidateException, vInteger, 11, None, maxv=10)
    37             vInteger(11,None,maxv=10)
       
    38 
    35 
    39         self.assertEqual(vInteger(4,None,minv=4),4)
    36         self.assertEqual(vInteger(4,None,minv=4),4)
    40         with self.assertRaises(ValidateException):
    37         self.assertRaises(ValidateException, vInteger, 3, None, minv=4)
    41             vInteger(3,None,minv=4)
       
    42 
    38 
    43         with self.assertRaises(ValidateException):
    39         self.assertRaises(ValidateException, vInteger, -1, None, minv=0)
    44             vInteger(-1,None, minv=0)
    40         self.assertRaises(ValidateException, vInteger, 1, None, maxv=0)
    45 
       
    46         with self.assertRaises(ValidateException):
       
    47             vInteger(1,None, maxv=0)
       
    48 
    41 
    49     def testIntegerNoneAllowed(self):
    42     def testIntegerNoneAllowed(self):
    50         self.assertEqual(vInteger(None,None,none_allowed=True),None)
    43         self.assertEqual(vInteger(None,None,none_allowed=True),None)
    51         self.assertEqual(vInteger('',None,none_allowed=True),None)
    44         self.assertEqual(vInteger('',None,none_allowed=True),None)
    52 
    45 
    53         with self.assertRaises(ValidateException):
    46         self.assertRaises(ValidateException, vInteger, "", None)
    54             vInteger("",None)
    47         self.assertRaises(ValidateException, vInteger, None, None)
    55 
       
    56         with self.assertRaises(ValidateException):
       
    57             vInteger(None,None)
       
    58 
    48 
    59     def testHash(self):
    49     def testHash(self):
    60         self.assertEqual(vHash("0123456789abcdef",None),"0123456789abcdef")
    50         self.assertEqual(vHash("0123456789abcdef",None),"0123456789abcdef")
    61         self.assertEqual(vHash("0123456789ABCDEF",None),"0123456789abcdef")
    51         self.assertEqual(vHash("0123456789ABCDEF",None),"0123456789abcdef")
    62         self.assertEqual(vHash("F",None),"f")
    52         self.assertEqual(vHash("F",None),"f")
    63         self.assertEqual(vHash("",None),'')
    53         self.assertEqual(vHash("",None),'')
    64 
    54 
    65         with self.assertRaises(ValidateException):
    55         self.assertRaises(ValidateException, vHash, "GHIJKL", None)
    66             vHash("GHIJKL",None)
       
    67         
    56         
    68     def testHashLimits(self):
    57     def testHashLimits(self):
    69         self.assertEqual(vHash("F",None,minlength=1),"f")
    58         self.assertEqual(vHash("F",None,minlength=1),"f")
    70         with self.assertRaises(ValidateException):
    59         self.assertRaises(ValidateException, vHash, "", None, minlength=1)
    71             vHash("",None, minlength=1)
       
    72 
    60 
    73         self.assertEqual(vHash("Fa",None,maxlength=2),"fa")
    61         self.assertEqual(vHash("Fa",None,maxlength=2),"fa")
    74         with self.assertRaises(ValidateException):
    62         self.assertRaises(ValidateException, vHash, "123", None, maxlength=1)
    75             vHash("123",None, maxlength=1)