Exemplo n.º 1
0
Arquivo: test.py Projeto: ildarkit/hw3
 def test_bad_gender_attribute(self, value):
     attr = api.GenderField(required=False, nullable=True)
     self.assertFalse(attr.validate(value))
Exemplo n.º 2
0
 def test_valid_gender(self, value):
     self.assertEqual(api.GENDERS[value],
                      api.GenderField().valid_value(value))
     self.assertTrue(api.GenderField().valid_value(value))
Exemplo n.º 3
0
 def test_invalid_value_(self, case):
     value, error = case
     field = api.GenderField(required=True, nullable=False)
     field.value = value
     field.validate()
     self.assertEquals(field.errors, [error])
Exemplo n.º 4
0
Arquivo: test.py Projeto: ildarkit/hw3
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)
Exemplo n.º 5
0
def test_api_gender_type_field(arguments, load_warm_store, context):
    field = api.GenderField()
    with pytest.raises(Exception) as e:
        val = field.validate(arguments)
    assert 'Gender must be equal to 0, 1 or 2' == str(e.value)
    assert 'ValueError' in str(e)
Exemplo n.º 6
0
 def test_valid_value(self, case):
     field = api.GenderField(required=True, nullable=False)
     field.value = case
     field.validate()
     self.assertFalse(field.errors)
Exemplo n.º 7
0
def test_ok_date_field(input_value, output_value):
    field = api.GenderField(required=True, nullable=False)
    try:
        assert field.clean(input_value) == output_value
    except api.ValidationError:
        pytest.fail("Unexpected error")
 def test_GenderField_fail(self, val):
     gender = api.GenderField(required=False, nullable=True)
     self.assertFalse(is_value_valid(gender, val))
Exemplo n.º 9
0
 def test_valid_gender(self, value):
     with self.assertRaises(ValueError):
         api.GenderField().run_validator(value)
Exemplo n.º 10
0
    def test__validate_success(self, mock__check_type, gender):
        f = api.GenderField()

        assert f._validate(gender) == gender
        mock__check_type.assert_called_once_with(f, gender, int)
Exemplo n.º 11
0
 def test_valid_gender(self, value):
     self.assertIsNone(api.GenderField().run_validator(value))
Exemplo n.º 12
0
 def test_invalid_value(self, value):
     with self.assertRaises(TypeError):
         api.GenderField().to_python(value)
Exemplo n.º 13
0
 def test_valid_value(self, value):
     self.assertEqual(value, api.GenderField().to_python(value))
     self.assertEqual(value, api.GenderField(nullable=True).clean(value))
Exemplo n.º 14
0
 def test_gender_field_is_not_valid(self, args):
     field = api.GenderField()
     with self.assertRaises(ValueError):
         field.validate(args)
Exemplo n.º 15
0
 def test_gender_field_is_valid(self, args):
     field = api.GenderField()
     self.assert_not_raises(ValueError, field.validate, args)