-
Notifications
You must be signed in to change notification settings - Fork 1
/
test.py
74 lines (57 loc) · 2.85 KB
/
test.py
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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import unittest
import responses
from lapostesdk.laposteapi import LaPosteApi
class TestBase(unittest.TestCase):
def setUp(self):
self.api = LaPosteApi('TheApiKey')
class TestSuiviApi(TestBase):
@responses.activate
def test_get(self):
responses.add(responses.GET,
'https://api.laposte.fr/suivi/v1/1111111111111',
json={'code': '1111111111111'}, status=200)
r = self.api.suivi.get('1111111111111')
self.assertEqual("1111111111111", r.code)
self.assertEquals(len(responses.calls), 1)
self.assertEquals(responses.calls[0].request.url, 'https://api.laposte.fr/suivi/v1/1111111111111')
self.assertEquals(responses.calls[0].request.headers['X-Okapi-Key'], 'TheApiKey')
@responses.activate
def test_bad_request(self):
responses.add(responses.GET,
'https://api.laposte.fr/suivi/v1/123',
json={'code': 'BAD_REQUEST', 'message': 'Mauvais format pour le paramètre code'}, status=200)
with self.assertRaises(Exception):
self.api.suivi.get('123')
@responses.activate
def test_resource_not_found(self):
responses.add(responses.GET,
'https://api.laposte.fr/suivi/v1/1111111111119',
json={'code': 'RESOURCE_NOT_FOUND', 'message': 'Aucun produit ne correspond à votre recherche'}, status=200)
with self.assertRaises(Exception):
self.api.suivi.get('1111111111119')
class TestControlAdresseApi(TestBase):
@responses.activate
def test_search(self):
responses.add(responses.GET,
'https://api.laposte.fr/controladresse/v1/adresses',
json=[{'foo': 'bar'}], status=200)
r = self.api.controladresse.search('116 avenue du Président Kennedy 75220 Paris Cedex 16')
self.assertEqual("bar", r[0]['foo'])
self.assertEquals(len(responses.calls), 1)
#self.assertEquals(responses.calls[0].request.url, 'https://api.laposte.fr/controladresse/v1/adresses')
#self.assertEquals(responses.calls[0].request.params, {'q': '116 avenue du Président Kennedy 75220 Paris Cedex 16'})
self.assertEquals(responses.calls[0].request.headers['X-Okapi-Key'], 'TheApiKey')
@responses.activate
def test_get(self):
responses.add(responses.GET,
'https://api.laposte.fr/controladresse/v1/plop',
json={'codePostal': 'bar'}, status=200)
r = self.api.controladresse.get('plop')
self.assertEqual("bar", r.codePostal)
self.assertEquals(len(responses.calls), 1)
self.assertEquals(responses.calls[0].request.url, 'https://api.laposte.fr/controladresse/v1/plop')
self.assertEquals(responses.calls[0].request.headers['X-Okapi-Key'], 'TheApiKey')
if __name__ == '__main__':
unittest.main()