def test_check_invalid_auth_fail(self, val): value_set = deepcopy(val) value_set['method'] = '--' value_set['token'] = 'invalid_token' bad_request_object = api.MethodRequest(**value_set) self.assertFalse(api.check_auth(bad_request_object))
def test_invalid_without_method(self): data = { "account": "horns&hoofs", "login": "******", "token": "admin123", "arguments": {}, } request_validator = api.MethodRequest(data) self.assertFalse(request_validator.is_valid())
def test_invalid_auth(arguments): request_dict = { "account": "horns&hoofs", "login": "******", "method": "online_score", "arguments": arguments } request_dict['token'] = get_invalid_auth(request_dict) request = api.MethodRequest().from_dict(request_dict) assert not api.check_auth(request)
def test_check_valid_auth_pass(self, val): value_set = deepcopy(val) value_set['method'] = '--' if value_set['login'] == api.ADMIN_LOGIN: value_set['token'] = make_token(admin=True, salt=api.ADMIN_SALT) good_request_object = api.MethodRequest(**value_set) self.assertTrue(api.check_auth(good_request_object))
def test_correct_without_account(self): data = { "login": "******", "token": "admin123", "arguments": {}, "method": "some" } request_validator = api.MethodRequest(data) self.assertTrue(request_validator.is_valid()) self.assertEqual(request_validator.non_empty_fields(), ["login", "token", "method"])
def test_invalid_account(self): data = { "account": { "a": 12 }, "login": "******", "token": "admin123", "arguments": {}, "method": "some" } request_validator = api.MethodRequest(data) self.assertFalse(request_validator.is_valid())
def test_online_score_pass(self, val): value_set = deepcopy(val) value_set['method'] = 'online_score' if value_set['login'] == api.ADMIN_LOGIN: value_set['token'] = make_token(admin=True, salt=api.ADMIN_SALT) request_object = api.MethodRequest(**value_set) score, code = api.online_score(request_object, ctx=dict(), store=self.store) self.assertIsInstance(score, dict) self.assertTrue('score' in score.keys()) self.assertEquals(code, api.OK)
def test_correct_all_fields(self): data = { "account": "horns&hoofs", "login": "******", "token": "admin123", "arguments": {}, "method": "some" } request_validator = api.MethodRequest(data) self.assertTrue(request_validator.is_valid()) self.assertEqual(request_validator.account, data.get("account")) self.assertEqual(request_validator.login, data.get("login")) self.assertEqual(request_validator.token, data.get("token")) self.assertEqual(request_validator.arguments, data.get("arguments")) self.assertEqual(request_validator.method, data.get("method"))
def test_clients_interests_pass(self, val): value_set = deepcopy(val) value_set['method'] = "clients_interests" value_set['arguments'] = {'client_ids': [1, 2, 3], 'date': '01.02.2002'} if value_set['login'] == api.ADMIN_LOGIN: value_set['token'] = make_token(admin=True, salt=api.ADMIN_SALT) request_object = api.MethodRequest(**value_set) interests, code = api.clients_interests(request_object, ctx=dict(), store=self.store) self.assertIsInstance(interests, dict) # all client_ids are present in response self.assertTrue(all(cid in interests.keys() for cid in value_set['arguments']['client_ids'])) # all client interests are length 2 self.assertTrue(all(len(interests_set) == 2 for interests_set in interests.values())) # response code is OK self.assertEquals(code, api.OK)
def test_competitive_requests(self): request = {"account": "horns&hoofs"} method_request = api.MethodRequest(request) another_request = {"account": "gazprom"} another_method_request = api.MethodRequest(another_request) self.assertIsNot(method_request.account, another_method_request.account)
def test_ok_token_field(self, case): method = api.MethodRequest() method.token.set(case['token']) self.assertEqual(case['token'], method.token.value)
def test_ok_arguments_field(self, case): method = api.MethodRequest() method.arguments.set(case['arguments']) self.assertEqual(case['arguments'], method.arguments.value)
def test_auth_admin_valid(self, args): set_valid_auth(args) request = api.MethodRequest(args) self.assertTrue(api.check_auth(request))
def test_auth_admin_not_valid(self, args): request = api.MethodRequest(args) self.assertFalse(api.check_auth(request))
def test_ok_account_field(self, case): method = api.MethodRequest() method.account.set(case['account']) self.assertEqual(case['account'], method.account.value)
def test_bad_method_field(self, case): method = api.MethodRequest() try: method.method.set(case['method']) except api.ValidationError as err: self.assertEqual(err.args[0], 'method')
def test_bad_account_field(self, case): method = api.MethodRequest() try: method.account.set(case['account']) except api.ValidationError as err: self.assertEqual(err.args[0], 'account')
def test_ok_method_field(self, case): method = api.MethodRequest() method.method.set(case['method']) self.assertEqual(case['method'], method.method.value)
def test_bad_login_field(self, case): method = api.MethodRequest() try: method.login.set(case['login']) except api.ValidationError as err: self.assertEqual(err.args[0], 'login')
def test_ok_login_field(self, case): method = api.MethodRequest() method.login.set(case['login']) self.assertEqual(case['login'], method.login.value)