Пример #1
0
def test_invalid_email_field(value):
    field = api.EmailField(required=True, nullable=False)
    try:
        field.clean(value)
        pytest.fail("ValidationError expected")
    except api.ValidationError:
        assert True
Пример #2
0
 class FieldTester(api.Structure):
     charfield = api.CharField(nullable=True) #
     emailfield = api.EmailField(nullable=True)
     phonefield = api.PhoneField(nullable=True)
     birthdayfield = api.BirthDayField(nullable=True)
     genderfield = api.GenderField(nullable=True)
     datefield = api.DateField(nullable=True)
     client_ids = api.ClientIDsField(required=True)
Пример #3
0
def test_email_field_ok_cases(required, nullable, field_value):
    _field = api.EmailField(required=required, nullable=nullable)
    _field.field_name = "test_field"

    MockRequest.test_field = _field
    mock_obj = MockRequest(test_field=field_value)
    mock_obj.fields["test_field"] = _field
    MockRequest.__dict__["test_field"].__set__(mock_obj, field_value)
    assert getattr(mock_obj, "test_field") == field_value
Пример #4
0
def test_email_field_bad_cases(required, nullable, field_value):
    _field = api.EmailField(required=required, nullable=nullable)
    _field.field_name = "test_field"

    MockRequest.test_field = _field
    mock_obj = MockRequest(test_field=field_value)
    mock_obj.fields["test_field"] = _field
    with pytest.raises(api.ValidationError):
        MockRequest.__dict__["test_field"].__set__(mock_obj, field_value)
Пример #5
0
class FieldsSet:
    arguments_field = api.ArgumentsField()
    char_field = api.CharField()
    email_field = api.EmailField()
    phone_field = api.PhoneField()
    date_field = api.DateField()
    birthday_field = api.BirthDayField()
    gender_field = api.GenderField()
    client_ids_field = api.ClientIDsField()
Пример #6
0
 class FieldContainer(object):
     char_field = api.CharField(nullable=False)
     int_field = api.IntField(nullable=False)
     arg_field = api.ArgumentsField(nullable=False)
     email_field = api.EmailField(nullable=False)
     phone_field = api.PhoneField(nullable=False)
     date_field = api.DateField(nullable=False)
     birthday_field = api.BirthDayField(nullable=False)
     gender_field = api.GenderField(nullable=False)
     ids_field = api.ClientIDsField(nullable=False)
Пример #7
0
    def test_email_field(self):
        field = api.EmailField()
        field.field_name = 'field'

        field.validate_value('test@test')

        self.assertRaises(api.ValidationError, field.validate_value, '@test')
        self.assertRaises(api.ValidationError, field.validate_value, 'test@')
        self.assertRaises(api.ValidationError, field.validate_value, 'test')

        self.assertTrue(field.is_null_value(''))
        self.assertTrue(field.is_null_value(None))
        self.assertFalse(field.is_null_value('test@test'))
Пример #8
0
class TestEmailField(TestCase):
    field = api.EmailField()
    @cases([
        '*****@*****.**',
        '*****@*****.**',
        '*****@*****.**',
    ])
    def test_good_field(self, val):
        api.EmailField.name = '_field'

        self.field = val
        self.assertEqual(self.field, val)


    @cases([
        'plainaddress',
        '#@%^%#$@#$@#.com',
        '@example.com',
        'Joe Smith <*****@*****.**>',
        'email.example.com',
        'email@[email protected]',
        '*****@*****.**',
        '*****@*****.**',
        '*****@*****.**',
        'email@example',
        '*****@*****.**',
        '*****@*****.**',
        '*****@*****.**',
    ])
    def test_bad_field(self, val):
        api.EmailField.name = '_field'

        def assign():
            self.field = val

        self.assertRaises(Exception, assign)
Пример #9
0
 def test_emailfield_valid(self, value):
     self.assertEqual(value, api.EmailField().run_validators(value))
Пример #10
0
 def test_email_field(self, email):
     f = api.EmailField()
     self.assertEqual(f.parse_validate(email), email)
Пример #11
0
 def test_non_email_field(self, param):
     f = api.EmailField()
     with self.assertRaises(ValueError):
         f.parse_validate(param)
Пример #12
0
 def test_valid_email_field(self, value):
     self.assertEqual(value, api.EmailField().validate(value))
Пример #13
0
 def test_email_valid_value(self, value):
     self.assertEqual(value, api.EmailField().valid_value(value))
     self.assertIsInstance(api.EmailField().valid_value(value), basestring)
Пример #14
0
 def test_bad_email_attribute(self, value):
     attr = api.EmailField(required=False, nullable=True)
     self.assertFalse(attr.validate(value))
Пример #15
0
 def test_invalid_type_value(self, value):
     with self.assertRaises(TypeError):
         api.EmailField(nullable=True).validate(value)
Пример #16
0
 def setUp(self):
     self.field = api.EmailField()
     self.field.field_name = 'email_field'
Пример #17
0
 def test_invalid_email_field(self, value):
     field = api.EmailField()
     self.assertInvalid(field, value)
Пример #18
0
 def test_invalid_value(self, val):
     """ Test EmailField INVALID values """
     with self.assertRaises(ValidationError):
         api.EmailField(required=False, nullable=True, value=val).validate()
Пример #19
0
 def test_valid_value(self, val):
     """ Test EmailField VALID values """
     api.EmailField(required=False, nullable=True, value=val).validate()
Пример #20
0
 def test_invalid_type_email(self, value):
     with self.assertRaises(api.ValidationError):
         api.EmailField().valid_value(value)
Пример #21
0
 def test_emailfield_invalid(self, value):
     self.assertRaises(ValueError, api.EmailField().run_validators, value)
Пример #22
0
 def test_bad_email_field(self, value):
     field = api.EmailField(required=False, nullable=True)
     with self.assertRaises(Exception):
         field.clean(value)
Пример #23
0
 def test_valid_email_address(self, value):
     self.assertEqual(value, api.EmailField(nullable=True).validate(value))
Пример #24
0
class TestSuite(unittest.TestCase):
    def setUp(self):
        self.context = {'request_id': 0}
        self.headers = {}

    def get_response(self, request):
        return api.method_handler({
            "body": request,
            "headers": self.headers
        }, self.context)

    def test_empty_request(self):
        _, code = self.get_response({})
        self.assertEqual(api.INVALID_REQUEST, code)

    @cases([0, -1, []])
    def test_bad_char_attribute(self, value):
        attr = api.CharField(required=False, nullable=True)
        self.assertFalse(attr.validate(value))

    @cases([0, -1, {
        1,
    }, '0', '-1'])
    def test_bad_arguments_attribute(self, value):
        attr = api.ArgumentsField(required=True, nullable=True)
        self.assertFalse(attr.validate(value))

    @cases([0, -1, '0', 'iuejh339 dl93', []])
    def test_bad_email_attribute(self, value):
        attr = api.EmailField(required=False, nullable=True)
        self.assertFalse(attr.validate(value))

    @cases(['737473dh321', 0, -1, '790000323732'])
    def test_bad_phone_attribute(self, value):
        attr = api.PhoneField(required=False, nullable=True)
        self.assertFalse(attr.validate(value))

    @cases([
        '01.', 12122017, -1, '32.12.2017', '2017.12.31', '12.01.17',
        '10.01.200', '..', [], -0.0
    ])
    def test_bad_date_attribute(self, value):
        attr = api.DateField(required=False, nullable=True)
        self.assertFalse(attr.validate(value))

    @cases([
        '01.', 12122017, -1, '32.12.2017', '2017.12.31', '12.01.17',
        '10.01.200', '..', [], -0.0, '01.01.1917', '20.12.3018'
    ])
    def test_bad_birthday_attribute(self, value):
        attr = api.BirthDayField(required=False, nullable=True)
        self.assertFalse(attr.validate(value))

    @cases(['1', 1.0, -1, 7, -2.0, [], -0.0])
    def test_bad_gender_attribute(self, value):
        attr = api.GenderField(required=False, nullable=True)
        self.assertFalse(attr.validate(value))

    @cases([[0], [-1], -1, 0, ' ', '[1, -1, 0]', -1.0, [1.0, 2.0, 3.0]])
    def test_bad_clientids_attribute(self, value):
        attr = api.ClientIDsField(required=True)
        self.assertFalse(attr.validate(value))

    @cases([
        api.ClientIDsField(required=True),
        api.GenderField(required=True, nullable=True),
        api.BirthDayField(required=True, nullable=True),
        api.DateField(required=True, nullable=True),
        api.PhoneField(required=True, nullable=True),
        api.EmailField(required=True, nullable=True),
        api.ArgumentsField(required=True, nullable=True),
        api.CharField(required=True, nullable=True)
    ])
    def test_required_attributes(self, value):
        self.assertFalse(value.validate(None))

    @cases([
        api.ClientIDsField(required=True),
        api.GenderField(required=True, nullable=False),
        api.BirthDayField(required=True, nullable=False),
        api.DateField(required=True, nullable=False),
        api.PhoneField(required=True, nullable=False),
        api.EmailField(required=True, nullable=False),
        api.ArgumentsField(required=True, nullable=False),
        api.CharField(required=True, nullable=False)
    ])
    def test_nullable_attributes(self, value):
        self.assertFalse(value.validate(''))

    @cases([{
        "account": "horns&hoofs",
        "login": "******",
        "method": "online_score",
        "token": "",
        "arguments": {}
    }, {
        "account": "ой",
        "login": "******",
        "method": "online_score",
        "token": "sdd",
        "arguments": {}
    }, {
        "account": "horns&hoofs",
        "login": "******",
        "method": "online_score",
        "token": "ой",
        "arguments": {}
    }, {
        "account": "",
        "login": "******",
        "method": "online_score",
        "token": "",
        "arguments": {}
    }, {
        "account": "horns&hoofs",
        "login": "******",
        "method": "online_score",
        "token": "",
        "arguments": {}
    }, {
        "account": "horns&hoofs",
        "login": "******",
        "method": "online_score",
        "token": "",
        "arguments": {}
    }])
    def test_bad_auth(self, request):
        request = api.set_attributes(api.MethodRequest, request)
        self.assertFalse(api.check_auth(request))

    @cases([{
        'test_class': api.MethodRequest,
        'values': {
            "account": "Ой",
            "login": "",
            "method": "метод",
            "token": "что-то",
            "arguments": {
                'аргумент': 'значение'
            }
        }
    }, {
        'test_class': api.ClientsInterestsRequest,
        'values': {
            'date': '20.07.2017',
            'client_ids': [1, 2, 3, 4]
        }
    }, {
        'test_class': api.OnlineScoreRequest,
        'values': {
            'first_name': 'имя',
            'last_name': 'фамилия',
            'gender': 1,
            'phone': '79175002040',
            'birthday': '01.01.1990',
            'email': 'имя@domain.com'
        }
    }])
    def test_set_attributes(self, kwargs):

        filled_obj = api.set_attributes(kwargs['test_class'], kwargs['values'])
        for attr, value in kwargs['values'].items():
            self.assertEqual(filled_obj.__dict__[attr].__dict__['value'],
                             value)
Пример #25
0
 def test_invalid_value(self, value):
     with self.assertRaises(ValueError):
         api.EmailField(nullable=False).validate(value)
Пример #26
0
 def setUpClass(cls):
     cls.field = api.EmailField()
Пример #27
0
 def test_invalid_email_field(self, value):
     with self.assertRaises(ValueError):
         api.EmailField().validate(value)
Пример #28
0
 def setUp(self):
     self.ef = api.EmailField(required=False, nullable=True)
Пример #29
0
 def test_email_field(self):
     field = api.EmailField(required=False, nullable=True)
     self.assertEqual(field.clean('edasdas@asdasd'), 'edasdas@asdasd')
     self.assertEqual(field.clean(''), '')
Пример #30
0
 def test_invalid_value_(self, case):
     value, error = case
     field = api.EmailField(required=True, nullable=False)
     field.value = value
     field.validate()
     self.assertEquals(field.errors, [error])