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))
Ejemplo n.º 2
0
 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())
Ejemplo n.º 3
0
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))
Ejemplo n.º 5
0
 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"])
Ejemplo n.º 6
0
 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)
Ejemplo n.º 8
0
 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)
Ejemplo n.º 10
0
 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)
Ejemplo n.º 11
0
 def test_ok_token_field(self, case):
     method = api.MethodRequest()
     method.token.set(case['token'])
     self.assertEqual(case['token'], method.token.value)
Ejemplo n.º 12
0
 def test_ok_arguments_field(self, case):
     method = api.MethodRequest()
     method.arguments.set(case['arguments'])
     self.assertEqual(case['arguments'], method.arguments.value)
Ejemplo n.º 13
0
 def test_auth_admin_valid(self, args):
     set_valid_auth(args)
     request = api.MethodRequest(args)
     self.assertTrue(api.check_auth(request))
Ejemplo n.º 14
0
 def test_auth_admin_not_valid(self, args):
     request = api.MethodRequest(args)
     self.assertFalse(api.check_auth(request))
Ejemplo n.º 15
0
 def test_ok_account_field(self, case):
     method = api.MethodRequest()
     method.account.set(case['account'])
     self.assertEqual(case['account'], method.account.value)
Ejemplo n.º 16
0
 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')
Ejemplo n.º 17
0
 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')
Ejemplo n.º 18
0
 def test_ok_method_field(self, case):
     method = api.MethodRequest()
     method.method.set(case['method'])
     self.assertEqual(case['method'], method.method.value)
Ejemplo n.º 19
0
 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')
Ejemplo n.º 20
0
 def test_ok_login_field(self, case):
     method = api.MethodRequest()
     method.login.set(case['login'])
     self.assertEqual(case['login'], method.login.value)