Ejemplo n.º 1
0
    def test_between_malformed_non_integer(self):
        v = Validator()

        try:
            v.make(fields = {'test': '5char'}, rules = {'test': 'between:omagad,omagaaaad'})
        except ValueError as e:
            self.assertRaisesRegexp(e, 'constraint is not a valid integer')
Ejemplo n.º 2
0
    def test_method_failed_validation_pass(self):
        fields = {'myField': 'itsa me, mario !'}
        rules = {'myField': 'required'}

        v = Validator(fields = fields, rules = rules)

        self.assertFalse(v.failed())
Ejemplo n.º 3
0
    def test_between_malformed(self):
        v = Validator()

        try:
            v.make(fields = {'test': '5char'}, rules = {'test': 'between'})
        except ValueError as e:
            self.assertRaisesRegexp(e, 'constraints are missing from the validation rule')
Ejemplo n.º 4
0
    def test_malformed_dict_extend(self):

        new_rule = 'somegibberish'
        v = Validator()
        
        try:
            v.extend(new_rule)
        except TypeError as e:
            self.assertRaisesRegexp(e, 'custom rule must be a dict')
Ejemplo n.º 5
0
    def test_method_failed_validation_fail(self):
        fields = {'myField': ''}
        rules = {'myField': 'required|email'}

        v = Validator(fields = fields, rules = rules)

        ### v.failed contains a list of failed validations, and their respective fields
        ### should print : [{u'myField': u'required'}, {u'myField': u'email'}]
        self.assertTrue(v.failed())
Ejemplo n.º 6
0
    def test_wellformed_all_validation_pass_message_reset_pass(self):

        fields = {'myField': 'itsa me, mario !'}
        rules = {'myField': 'required'}

        messages = {'required': '{} is required'}

        v = Validator(fields = fields, rules = rules, messages = messages)

        self.assertFalse(v.fails())
        self.assertFalse(v.errors())
Ejemplo n.º 7
0
    def test_email_locale_fr_fail(self):
        
        i18n.switch_language('fr')

        v = Validator(fields = {'test': 'bademail.com'}, rules = {'test': 'email'})

        self.assertTrue(v.fails())

        self.assertTrue('test doit être un email valide' in v.errors())

        ### Switching back locale to English to avoid that other tests fail ! ###
        i18n.switch_language('en')
Ejemplo n.º 8
0
    def test_email_locale_jp_fail(self):
        
        i18n.switch_language('ja')

        v = Validator(fields = {'test': 'bademail.com'}, rules = {'test': 'email'})

        self.assertTrue(v.fails())

        self.assertTrue('testに正しい形式をご指定ください。' in v.errors())

        ### Switching back locale to English to avoid that other tests fail ! ###
        i18n.switch_language('en')
Ejemplo n.º 9
0
    def test_malformed_method_extend(self):

        self.falsemethod = ''

        new_rule = {'new_rule': self.falsemethod}

        v = Validator()

        try:
            v.extend(new_rule)
        except TypeError as e:
            self.assertRaisesRegexp(e, 'custom rule is not a callable')
Ejemplo n.º 10
0
    def test_wellformed_all_validation_pass(self):

        fields = {'myField': 'itsa me, mario !'}
        rules = {'myField': 'required'}

        """ Error message is the opposite of the "rule" on purpose """
        messages = {'required': '{} is never required'}

        v = Validator(fields = fields, rules = rules, messages = messages)

        self.assertFalse(v.fails())
        self.assertFalse(v.errors())
Ejemplo n.º 11
0
    def test_wellformed_all_validation_fail(self):

        fields = {'myField': ''}
        rules = {'myField': 'required'}

        """ Error message is the opposite of the "rule" on purpose """
        messages = {'required': '{} is never required'}

        v = Validator(fields = fields, rules = rules, messages = messages)

        self.assertTrue(v.fails())
        self.assertTrue('myField is never required' in v.errors())
Ejemplo n.º 12
0
    def test_custom_rule_fail(self):
        v = Validator()
        v.extend({'myrule': self.customRule})

        v.make(fields = {'test': 5}, rules = {'test': 'myrule'}, messages = {'myrule' : '{0} is not equal to 1'})

        self.assertTrue(v.fails())
        self.assertTrue('test is not equal to 1' in v.errors())
Ejemplo n.º 13
0
    def test_malformed_field_argument_constructor(self):
        wrongfields = ''
        rules = {'myField': 'required'}

        try :
            v = Validator(fields = wrongfields, rules = rules)
        except TypeError as e:
            self.assertRaisesRegexp(e, 'field data must be a dict')
Ejemplo n.º 14
0
    def test_malformed_rules_argument_constructor(self):
        fields = {'myField': 'some data'}
        wrongrules = None

        try :
            v = Validator(fields = fields, rules = wrongrules)
        except TypeError as e:
            self.assertRaisesRegexp(e, 'rules data must be a dict')
Ejemplo n.º 15
0
    def test_wellformed_field_no_corresponding_rule(self):
        fields = {'myField': 'some data'}
        rules = {'myField2': 'required'}

        try :
            v = Validator(fields = fields, rules = rules)
        except ValueError as e:
            self.assertRaisesRegexp(e, 'fields do not correspond to rules')
Ejemplo n.º 16
0
    def test_wellformed_field_no_corresponding_message(self):
        fields = {'myField': 'some data'}
        rules = {'myField': 'required'}
        messages = {'requiredd': '{} is not required'}

        try :
            v = Validator(fields = fields, rules = rules, messages = messages)
        except ValueError as e:
            self.assertRaisesRegexp(e, 'custom validation messages do not correspond to rule list')
Ejemplo n.º 17
0
    def test_malformed_messages_argument_constructor(self):
        fields = {'myField': 'some data'}
        rules = {'myField': 'required'}
        wrongmessages = ''

        try :
            v = Validator(fields = fields, rules = rules, messages = wrongmessages)
        except TypeError as e:
            self.assertRaisesRegexp(e, 'custom error messages must be contained in a dict')
Ejemplo n.º 18
0
    def test_method_extend_pass_pass(self):
        messages = {'new_rule': '{} is less than 10 !!'}
        new_rule = {'new_rule': self.good_method}
        fields = {'cars': 12}
        rules = {'cars': 'new_rule'}

        v = Validator()
        v.extend(new_rule)

        v.make(fields = fields, rules = rules, messages = messages)

        self.assertFalse(v.fails())
        self.assertFalse(v.errors())
Ejemplo n.º 19
0
    def test_direct_validate_fail(self):
        v = Validator()

        v.validate('gibberish', 'url')

        self.assertTrue(v.fails())
        self.assertTrue('gibberish must be a valid url' in v.errors())
Ejemplo n.º 20
0
    def test_direct_validate_multiple_fail(self):
        v = Validator()

        v.validate(22, 'min:43')

        self.assertTrue(v.fails())
        self.assertTrue('22 must be higher than 43' in v.errors())
Ejemplo n.º 21
0
    def test_direct_validate_pass(self):
        v = Validator()

        v.validate('http://google.com', 'url')

        self.assertFalse(v.fails())
        self.assertFalse(v.errors())
Ejemplo n.º 22
0
    def test_verify_messages_fail(self):

        v = Validator()

        v.rules = {'myField': 'required'}
        v.fields = {'myField': 'Hello World'}
        v.messages_temp = {'requared': 'this thing is going to crash !!'}

        try:
            v.verify_fields()
        except ValueError as e:
            self.assertRaisesRegexp(e, 'custom validation messages do not correspond to rule list')
Ejemplo n.º 23
0
    def test_verify_rules_fields_fail(self):
        v = Validator()

        v.rules = {'myField': 'required'}
        v.fields = {'myfield': 'Hello World'}

        try:
            v.verify_fields()
        except ValueError as e:
            self.assertRaisesRegexp(e, 'fields do not correspond to rules')
Ejemplo n.º 24
0
    def test_multile_fields_rule_fail(self):
        v = Validator()

        to_test = {
            'name': 'Ken',
            'email': 'ken.fake-email.com',
        }

        rules = {
            'name': 'required',
            'email': 'required|email',
        }

        v.make(fields = to_test, rules = rules)

        self.assertTrue(v.fails())
        self.assertTrue('email must be a valid email' in v.errors())
Ejemplo n.º 25
0
    def test_multile_fields_rule_pass(self):
        v = Validator()

        to_test = {
            'name': 'Ken',
            'email': '*****@*****.**',
        }

        rules = {
            'name': 'required',
            'email': 'required|email',
        }

        v.make(fields = to_test, rules = rules)

        self.assertFalse(v.fails())
        self.assertFalse(v.errors())
Ejemplo n.º 26
0
    def test_date_rule_pass(self):
        v = Validator(fields = {'test': '2451-09-12'}, rules = {'test': 'date:%Y-%m-%d'})

        self.assertFalse(v.fails())
        self.assertFalse(v.errors())
Ejemplo n.º 27
0
    def test_between_string_fail(self):
        v = Validator(fields = {'test': '7charss'}, rules = {'test': 'between:8,10'})

        self.assertTrue(v.fails())
        self.assertTrue('test\'s length must be between 8 and 10 characters' in v.errors())
Ejemplo n.º 28
0
    def test_multiple_rule_pass(self):
        v = Validator(fields = {'test': '*****@*****.**'}, rules = {'test': 'required|email'})

        self.assertFalse(v.fails())
        self.assertFalse(v.errors())
Ejemplo n.º 29
0
    def test_integer_as_integer_pass(self):
        v = Validator(fields = {'test': 25}, rules = {'test': 'integer'})

        self.assertFalse(v.fails())
        self.assertFalse(v.errors())
Ejemplo n.º 30
0
    def test_integer_as_string_fail(self):
        v = Validator(fields = {'test': '-10a'}, rules = {'test': 'integer'})

        self.assertTrue(v.fails())
        self.assertTrue("test must be an integer" in v.errors())
Ejemplo n.º 31
0
    def test_between_integer_fail(self):
        v = Validator(fields = {'test': 5}, rules = {'test': 'between:8,10'})

        self.assertTrue(v.fails())
        self.assertTrue('test\'s value must be higher than 8 and lower than 10' in v.errors())
Ejemplo n.º 32
0
    def test_date_rule_fail(self):
        v = Validator(fields = {'test': '2451-df-1234'}, rules = {'test': 'date:%Y-%m-%d'})

        self.assertTrue(v.fails())
        self.assertTrue('test is not a valid date, the format must be %Y-%m-%d' in v.errors())
Ejemplo n.º 33
0
    def test_max_string_integer_pass(self):
        v = Validator(fields = {'test': '7'}, rules = {'test': 'max:8'})

        self.assertFalse(v.fails())
        self.assertFalse(v.errors())
Ejemplo n.º 34
0
    def test_multiple_rule_fail2(self):
        v = Validator(fields = {'test': 'myvalue'}, rules = {'test': 'required|email'})

        self.assertTrue(v.fails())
        self.assertTrue('test is required' not in v.errors())
        self.assertTrue('test must be a valid email' in v.errors())
Ejemplo n.º 35
0
    def test_between_string_integer_pass(self):
        v = Validator(fields = {'test': '9'}, rules = {'test': 'between:8,10'})

        self.assertFalse(v.fails())
        self.assertFalse(v.errors())