Skip to content

Commit d28162a

Browse files
committed
Merge branch 'develop'
2 parents 6491505 + 71cd538 commit d28162a

11 files changed

+546
-0
lines changed

.codacy.yaml

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
---
2+
exclude_paths:
3+
- 'tests/**'
4+
- '*.md'

client/api/bridgechains.py

+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
from client.resource import Resource
2+
3+
4+
class Bridgechains(Resource):
5+
6+
def all(self, page=None, limit=100, **kwargs):
7+
extra_params = {name: kwargs[name] for name in kwargs if kwargs[name] is not None}
8+
params = {
9+
'page': page,
10+
'limit': limit,
11+
**extra_params
12+
}
13+
return self.request_get('bridgechains', params)
14+
15+
def get(self, bridgechain_id):
16+
return self.request_get('bridgechains/{}'.format(bridgechain_id))
17+
18+
def search(self, criteria, page=None, limit=100):
19+
params = {
20+
'page': page,
21+
'limit': limit,
22+
}
23+
return self.request_post('bridgechains/search', data=criteria, params=params)

client/api/businesses.py

+30
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
from client.resource import Resource
2+
3+
4+
class Businesses(Resource):
5+
6+
def all(self, page=None, limit=100, **kwargs):
7+
extra_params = {name: kwargs[name] for name in kwargs if kwargs[name] is not None}
8+
params = {
9+
'page': page,
10+
'limit': limit,
11+
**extra_params
12+
}
13+
return self.request_get('businesses', params)
14+
15+
def get(self, business_id):
16+
return self.request_get('businesses/{}'.format(business_id))
17+
18+
def bridgechains(self, business_id, page=None, limit=100):
19+
params = {
20+
'page': page,
21+
'limit': limit
22+
}
23+
return self.request_get('businesses/{}/bridgechains'.format(business_id), params)
24+
25+
def search(self, criteria, page=None, limit=100):
26+
params = {
27+
'page': page,
28+
'limit': limit,
29+
}
30+
return self.request_post('businesses/search', data=criteria, params=params)

client/api/locks.py

+30
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
from client.resource import Resource
2+
3+
4+
class Locks(Resource):
5+
6+
def all(self, page=None, limit=100, **kwargs):
7+
extra_params = {name: kwargs[name] for name in kwargs if kwargs[name] is not None}
8+
params = {
9+
'page': page,
10+
'limit': limit,
11+
**extra_params
12+
}
13+
return self.request_get('locks', params)
14+
15+
def get(self, lock_id):
16+
return self.request_get('locks/{}'.format(lock_id))
17+
18+
def search(self, criteria, page=None, limit=100):
19+
params = {
20+
'page': page,
21+
'limit': limit,
22+
}
23+
return self.request_post('locks/search', data=criteria, params=params)
24+
25+
def unlocked(self, criteria, page=None, limit=100):
26+
params = {
27+
'page': page,
28+
'limit': limit,
29+
}
30+
return self.request_post('locks/unlocked', data=criteria, params=params)

client/api/rounds.py

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
from client.resource import Resource
2+
3+
4+
class Rounds(Resource):
5+
6+
def delegates(self, round_id):
7+
return self.request_get('rounds/{}/delegates'.format(round_id))

client/api/wallets.py

+9
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,15 @@ def top(self, page=None, limit=100):
2020
def get(self, wallet_id):
2121
return self.request_get('wallets/{}'.format(wallet_id))
2222

23+
def locks(self, wallet_id, page=None, limit=100, **kwargs):
24+
extra_params = {name: kwargs[name] for name in kwargs if kwargs[name] is not None}
25+
params = {
26+
'page': page,
27+
'limit': limit,
28+
**extra_params
29+
}
30+
return self.request_get('wallets/{}/locks'.format(wallet_id), params)
31+
2332
def transactions(self, wallet_id, page=None, limit=100, **kwargs):
2433
extra_params = {name: kwargs[name] for name in kwargs if kwargs[name] is not None}
2534
params = {

tests/api/test_bridgechains.py

+100
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
1+
import json
2+
3+
import responses
4+
5+
from client import ArkClient
6+
7+
8+
def test_all_calls_correct_url_with_default_params():
9+
responses.add(
10+
responses.GET,
11+
'http://127.0.0.1:4002/bridgechains',
12+
json={'success': True},
13+
status=200
14+
)
15+
16+
client = ArkClient('http://127.0.0.1:4002')
17+
client.bridgechains.all()
18+
assert len(responses.calls) == 1
19+
assert responses.calls[0].request.url == 'http://127.0.0.1:4002/bridgechains?limit=100'
20+
21+
22+
def test_all_calls_correct_url_with_passed_in_params():
23+
responses.add(
24+
responses.GET,
25+
'http://127.0.0.1:4002/bridgechains',
26+
json={'success': True},
27+
status=200
28+
)
29+
30+
client = ArkClient('http://127.0.0.1:4002')
31+
client.bridgechains.all(page=5, limit=69)
32+
assert len(responses.calls) == 1
33+
assert responses.calls[0].request.url.startswith('http://127.0.0.1:4002/bridgechains?')
34+
assert 'page=5' in responses.calls[0].request.url
35+
assert 'limit=69' in responses.calls[0].request.url
36+
37+
38+
def test_all_calls_correct_url_with_additional_params():
39+
responses.add(
40+
responses.GET,
41+
'http://127.0.0.1:4002/bridgechains',
42+
json={'success': True},
43+
status=200
44+
)
45+
46+
client = ArkClient('http://127.0.0.1:4002')
47+
client.bridgechains.all(page=5, limit=69, orderBy="id")
48+
assert len(responses.calls) == 1
49+
assert responses.calls[0].request.url.startswith('http://127.0.0.1:4002/bridgechains?')
50+
assert 'page=5' in responses.calls[0].request.url
51+
assert 'limit=69' in responses.calls[0].request.url
52+
assert 'orderBy=id' in responses.calls[0].request.url
53+
54+
55+
def test_get_calls_correct_url():
56+
bridgechain_id = '12345'
57+
responses.add(
58+
responses.GET,
59+
'http://127.0.0.1:4002/bridgechains/{}'.format(bridgechain_id),
60+
json={'success': True},
61+
status=200
62+
)
63+
64+
client = ArkClient('http://127.0.0.1:4002')
65+
client.bridgechains.get(bridgechain_id)
66+
67+
assert len(responses.calls) == 1
68+
assert responses.calls[0].request.url == 'http://127.0.0.1:4002/bridgechains/12345'
69+
70+
71+
def test_search_calls_correct_url_with_default_params():
72+
responses.add(
73+
responses.POST,
74+
'http://127.0.0.1:4002/bridgechains/search',
75+
json={'success': True},
76+
status=200
77+
)
78+
79+
client = ArkClient('http://127.0.0.1:4002')
80+
client.bridgechains.search({'id': '1337'})
81+
assert len(responses.calls) == 1
82+
assert responses.calls[0].request.url == 'http://127.0.0.1:4002/bridgechains/search?limit=100'
83+
assert json.loads(responses.calls[0].request.body.decode()) == {'id': '1337'}
84+
85+
86+
def test_search_calls_correct_url_with_passed_in_params():
87+
responses.add(
88+
responses.POST,
89+
'http://127.0.0.1:4002/bridgechains/search',
90+
json={'success': True},
91+
status=200
92+
)
93+
94+
client = ArkClient('http://127.0.0.1:4002')
95+
client.bridgechains.search({'id': '1337'}, page=5, limit=69)
96+
assert len(responses.calls) == 1
97+
assert responses.calls[0].request.url.startswith('http://127.0.0.1:4002/bridgechains/search?')
98+
assert 'page=5' in responses.calls[0].request.url
99+
assert 'limit=69' in responses.calls[0].request.url
100+
assert json.loads(responses.calls[0].request.body.decode()) == {'id': '1337'}

tests/api/test_businesses.py

+136
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,136 @@
1+
import json
2+
3+
import responses
4+
5+
from client import ArkClient
6+
7+
8+
def test_all_calls_correct_url_with_default_params():
9+
responses.add(
10+
responses.GET,
11+
'http://127.0.0.1:4002/businesses',
12+
json={'success': True},
13+
status=200
14+
)
15+
16+
client = ArkClient('http://127.0.0.1:4002')
17+
client.businesses.all()
18+
assert len(responses.calls) == 1
19+
assert responses.calls[0].request.url == 'http://127.0.0.1:4002/businesses?limit=100'
20+
21+
22+
def test_all_calls_correct_url_with_passed_in_params():
23+
responses.add(
24+
responses.GET,
25+
'http://127.0.0.1:4002/businesses',
26+
json={'success': True},
27+
status=200
28+
)
29+
30+
client = ArkClient('http://127.0.0.1:4002')
31+
client.businesses.all(page=5, limit=69)
32+
assert len(responses.calls) == 1
33+
assert responses.calls[0].request.url.startswith('http://127.0.0.1:4002/businesses?')
34+
assert 'page=5' in responses.calls[0].request.url
35+
assert 'limit=69' in responses.calls[0].request.url
36+
37+
38+
def test_all_calls_correct_url_with_additional_params():
39+
responses.add(
40+
responses.GET,
41+
'http://127.0.0.1:4002/businesses',
42+
json={'success': True},
43+
status=200
44+
)
45+
46+
client = ArkClient('http://127.0.0.1:4002')
47+
client.businesses.all(page=5, limit=69, orderBy="id")
48+
assert len(responses.calls) == 1
49+
assert responses.calls[0].request.url.startswith('http://127.0.0.1:4002/businesses?')
50+
assert 'page=5' in responses.calls[0].request.url
51+
assert 'limit=69' in responses.calls[0].request.url
52+
assert 'orderBy=id' in responses.calls[0].request.url
53+
54+
55+
def test_get_calls_correct_url():
56+
business_id = '12345'
57+
responses.add(
58+
responses.GET,
59+
'http://127.0.0.1:4002/businesses/{}'.format(business_id),
60+
json={'success': True},
61+
status=200
62+
)
63+
64+
client = ArkClient('http://127.0.0.1:4002')
65+
client.businesses.get(business_id)
66+
67+
assert len(responses.calls) == 1
68+
assert responses.calls[0].request.url == 'http://127.0.0.1:4002/businesses/12345'
69+
70+
71+
def test_bridgechains_calls_correct_url_with_default_params():
72+
business_id = '12345'
73+
responses.add(
74+
responses.GET,
75+
'http://127.0.0.1:4002/businesses/{}/bridgechains'.format(business_id),
76+
json={'success': True},
77+
status=200
78+
)
79+
80+
client = ArkClient('http://127.0.0.1:4002')
81+
client.businesses.bridgechains(business_id)
82+
assert len(responses.calls) == 1
83+
assert responses.calls[0].request.url == (
84+
'http://127.0.0.1:4002/businesses/12345/bridgechains?limit=100'
85+
)
86+
87+
88+
def test_bridgechains_calls_correct_url_with_passed_in_params():
89+
business_id = '12345'
90+
responses.add(
91+
responses.GET,
92+
'http://127.0.0.1:4002/businesses/{}/bridgechains'.format(business_id),
93+
json={'success': True},
94+
status=200
95+
)
96+
97+
client = ArkClient('http://127.0.0.1:4002')
98+
client.businesses.bridgechains(business_id, page=5, limit=69)
99+
assert len(responses.calls) == 1
100+
assert responses.calls[0].request.url.startswith(
101+
'http://127.0.0.1:4002/businesses/12345/bridgechains?'
102+
)
103+
assert 'page=5' in responses.calls[0].request.url
104+
assert 'limit=69' in responses.calls[0].request.url
105+
106+
107+
def test_search_calls_correct_url_with_default_params():
108+
responses.add(
109+
responses.POST,
110+
'http://127.0.0.1:4002/businesses/search',
111+
json={'success': True},
112+
status=200
113+
)
114+
115+
client = ArkClient('http://127.0.0.1:4002')
116+
client.businesses.search({'id': '1337'})
117+
assert len(responses.calls) == 1
118+
assert responses.calls[0].request.url == 'http://127.0.0.1:4002/businesses/search?limit=100'
119+
assert json.loads(responses.calls[0].request.body.decode()) == {'id': '1337'}
120+
121+
122+
def test_search_calls_correct_url_with_passed_in_params():
123+
responses.add(
124+
responses.POST,
125+
'http://127.0.0.1:4002/businesses/search',
126+
json={'success': True},
127+
status=200
128+
)
129+
130+
client = ArkClient('http://127.0.0.1:4002')
131+
client.businesses.search({'id': '1337'}, page=5, limit=69)
132+
assert len(responses.calls) == 1
133+
assert responses.calls[0].request.url.startswith('http://127.0.0.1:4002/businesses/search?')
134+
assert 'page=5' in responses.calls[0].request.url
135+
assert 'limit=69' in responses.calls[0].request.url
136+
assert json.loads(responses.calls[0].request.body.decode()) == {'id': '1337'}

0 commit comments

Comments
 (0)