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
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)
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
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)
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()
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)
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'))
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)
def test_emailfield_valid(self, value): self.assertEqual(value, api.EmailField().run_validators(value))
def test_email_field(self, email): f = api.EmailField() self.assertEqual(f.parse_validate(email), email)
def test_non_email_field(self, param): f = api.EmailField() with self.assertRaises(ValueError): f.parse_validate(param)
def test_valid_email_field(self, value): self.assertEqual(value, api.EmailField().validate(value))
def test_email_valid_value(self, value): self.assertEqual(value, api.EmailField().valid_value(value)) self.assertIsInstance(api.EmailField().valid_value(value), basestring)
def test_bad_email_attribute(self, value): attr = api.EmailField(required=False, nullable=True) self.assertFalse(attr.validate(value))
def test_invalid_type_value(self, value): with self.assertRaises(TypeError): api.EmailField(nullable=True).validate(value)
def setUp(self): self.field = api.EmailField() self.field.field_name = 'email_field'
def test_invalid_email_field(self, value): field = api.EmailField() self.assertInvalid(field, value)
def test_invalid_value(self, val): """ Test EmailField INVALID values """ with self.assertRaises(ValidationError): api.EmailField(required=False, nullable=True, value=val).validate()
def test_valid_value(self, val): """ Test EmailField VALID values """ api.EmailField(required=False, nullable=True, value=val).validate()
def test_invalid_type_email(self, value): with self.assertRaises(api.ValidationError): api.EmailField().valid_value(value)
def test_emailfield_invalid(self, value): self.assertRaises(ValueError, api.EmailField().run_validators, value)
def test_bad_email_field(self, value): field = api.EmailField(required=False, nullable=True) with self.assertRaises(Exception): field.clean(value)
def test_valid_email_address(self, value): self.assertEqual(value, api.EmailField(nullable=True).validate(value))
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)
def test_invalid_value(self, value): with self.assertRaises(ValueError): api.EmailField(nullable=False).validate(value)
def setUpClass(cls): cls.field = api.EmailField()
def test_invalid_email_field(self, value): with self.assertRaises(ValueError): api.EmailField().validate(value)
def setUp(self): self.ef = api.EmailField(required=False, nullable=True)
def test_email_field(self): field = api.EmailField(required=False, nullable=True) self.assertEqual(field.clean('edasdas@asdasd'), 'edasdas@asdasd') self.assertEqual(field.clean(''), '')
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])