client.py
1.68 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
import string
import unittest
from random import choice
from floraconcierge import errors
from floraconcierge.client import ApiClient
class TestOne(unittest.TestCase):
def setUp(self):
self.__api_id = 9
self.__api_secret = '(hijnKE_u98hhj EA)UF78gyBUHE&hihjkn ALSD'
self.client = ApiClient(self.__api_id, self.__api_secret)
self.client.debug = True
self.client.api_endpoint = 'http://api.floraconcierge.loc/v1/'
def _test_data(self):
return dict(
user_id=10,
username='test',
password='password',
firstname="Steve",
lastname="Jobs"
), '7fe786c6335c17e4a73d6bbb7f5dcec55c929325'
def _random_string(self, len):
return "".join(choice(string.ascii_letters + string.digits) for _ in range(len))
def test_signature(self):
data, signature = self._test_data()
self.assertEqual(self.client.sign(**data), signature)
def test_signature_extra(self):
data, signature = self._test_data()
for i in range(0, 5):
data['_' + self._random_string(5)] = self._random_string(15)
self.assertEqual(self.client.sign(**data), signature)
def test_api_call_bad_get(self):
self.assertRaises(AssertionError, self.client.call, 'null', 'dict required')
def test_api_call_bad_post(self):
self.assertRaises(AssertionError, self.client.call, 'null', None, 'dict required')
def test_api_call_bad_func(self):
self.assertRaises(errors.ResultApiNotFoundError, self.client.call, 'bad/function/name')
def test_api_call_checkip(self):
self.assertEqual(self.client.call('geo/useripinfo').ip, '127.0.0.1')