示例#1
0
    def test_fuzzy_string_typing(self):
        # fuzzy_string_typing is useless in python3
        if not is_python2:
            return

        template = {'name': str, 'age': int}

        test = {'name': u"Josef", 'age': 12}

        self.assertTrue(validate(template, test, fuzzy_string_typing=True))
        self.assertFalse(validate(template, test, quiet=True))
示例#2
0
    def test_good_dict(self):
        template = {
            'name': str,
            'age': int,
            'pets': [{
                'name': str,
                'kind': str
            }],
            'parents': ([{
                'name': str
            }], int, None)
        }

        kid = {
            'name':
            "Bart Simpson",
            'age':
            10,
            'pets': [{
                'name': "Santa's Little Helper",
                'kind': "Dog"
            }, {
                'name': "Snowball II",
                'kind': "Cat"
            }],
            'parents': [{
                'name': "Homer Simpson"
            }, {
                'name': "Marge Simpson"
            }]
        }

        self.assertTrue(validate(template, kid))
示例#3
0
 def test_good_dict(self):
     template = {
         'name': str,
         'age': int,
         'pets': [
             {
                 'name': str,
                 'kind': str
             }
         ],
         'parents': ([{'name': str}], int, None)
     }
     
     kid = {
         'name': "Bart Simpson",
         'age': 10,
         'pets': [
             {'name': "Santa's Little Helper", 'kind': "Dog"},
             {'name': "Snowball II", 'kind': "Cat"}
         ],
         'parents': [
             {'name': "Homer Simpson"},
             {'name': "Marge Simpson"}
         ]
     }
     
     self.assertTrue(validate(template, kid))
示例#4
0
    def test_bad_dict_loud(self):
        template = {
            'name': str,
            'age': int,
            'pets': [{
                'name': str,
                'kind': str
            }],
            'parents': ([{
                'name': str
            }], int, None)
        }

        bad_kid = {'name': "Nelson Muntz", 'age': 12}

        with self.assertRaises(FailedValidationError):
            validate(template, bad_kid)
示例#5
0
    def test_fuzzy_string_typing(self):
        # fuzzy_string_typing is useless in python3
        if not is_python2:
            return

        template = {
            'name': str,
            'age': int
        }

        test = {
            'name':  u"Josef",
            'age': 12
        }

        self.assertTrue(validate(template, test, fuzzy_string_typing=True))
        self.assertFalse(validate(template, test, quiet=True))
示例#6
0
    def test_optional_values(self):
        template = {
                'name': None,
                'age': int
                }

        valid = {'age': 2}

        self.assertTrue(validate(template, valid))
示例#7
0
    def test_bad_dict_loud(self):
        template = {
            'name': str,
            'age': int,
            'pets': [
                {
                    'name': str,
                    'kind': str
                }
            ],
            'parents': ([{'name': str}], int, None)
        }

        bad_kid = {
            'name': "Nelson Muntz",
            'age': 12
        }

        with self.assertRaises(FailedValidationError):
            validate(template, bad_kid)  
示例#8
0
    def test_bad_dict_quiet(self):
        template = {
            'name': str,
            'age': int,
            'pets': [{
                'name': str,
                'kind': str
            }],
            'parents': ([{
                'name': str
            }], int, None)
        }

        bad_kid = {'name': "Nelson Muntz", 'age': 12}

        self.assertFalse(validate(template, bad_kid, quiet=True))
示例#9
0
    def test_bad_dict_quiet(self):
        template = {
            'name': str,
            'age': int,
            'pets': [
                {
                    'name': str,
                    'kind': str
                }
            ],
            'parents': ([{'name': str}], int, None)
        }
 
        bad_kid = {
            'name': "Nelson Muntz",
            'age': 12
        }

        self.assertFalse(validate(template, bad_kid, quiet=True))
示例#10
0
    def test_optional_values(self):
        template = {'name': None, 'age': int}

        valid = {'age': 2}

        self.assertTrue(validate(template, valid))