예제 #1
0
    def test_validate_fields_list_plain_fail(self):
        self.SomeTestClass.__fields__ = {"hello": [Field.optional(int)]}

        d = self.SomeTestClass()
        d.hello = ["42", "42"]
        d.validate_fields()
        self.assertListEqual(d.hello, [42, 42])
예제 #2
0
    def test_validate_fields_nested_optional(self):
        self.SomeTestClass.__fields__ = {"hello": {"c": Field.optional(int)}}

        d = self.SomeTestClass()
        d.validate_fields()

        self.assertNotIn("hello", d)
예제 #3
0
    def test_missing_optional_field(self):
        self.SomeTestClass.__fields__ = {
            'hello': Field.optional(str)
        }

        d = self.SomeTestClass()
        d.save()
        self.assertIn('_id', d)
예제 #4
0
    def test_validate_fields_type(self):
        self.SomeTestClass.__fields__ = {"hello": Field.optional(str)}

        d = self.SomeTestClass()
        d.hello = 3
        d.validate_fields()

        self.assertEqual(d.hello, "3")
예제 #5
0
    def test_validate_fields_nested(self):
        self.SomeTestClass.__fields__ = {
            "hello": {"a": Field.required(str), "b": Field.required(int, 2), "c": Field.optional(int)}
        }

        d = self.SomeTestClass()
        d.hello = DotDict({"a": "s"})
        d.validate_fields()

        self.assertEquals(d.hello.b, 2)
예제 #6
0
    def test_validate_fields_nested_optional(self):
        self.SomeTestClass.__fields__ = {
            'hello': {
                'c': Field.optional(int)
            }
        }

        d = self.SomeTestClass()
        d.validate_fields()

        self.assertNotIn('hello', d)
예제 #7
0
    def test_validate_fields_type(self):
        self.SomeTestClass.__fields__ = {
            'hello': Field.optional(str)
        }

        d = self.SomeTestClass()
        d.hello = 3

        self.assertRaises(TypeError, d.save)

        d.hello = 'world'
        d.save()
예제 #8
0
    def test_validate_fields_nested(self):
        self.SomeTestClass.__fields__ = {
            'hello': {
                'a': Field.required(str),
                'b': Field.required(int, 2),
                'c': Field.optional(int)
            }
        }

        d = self.SomeTestClass()
        d.hello = DotDict({'a': 's'})
        d.validate_fields()

        self.assertEquals(d.hello.b, 2)