0001-lille-urban-card-adapt-to-ATOS-webservices-not-match.patch
passerelle/contrib/lille_urban_card/models.py | ||
---|---|---|
203 | 203 |
@endpoint(perm='can_access', description=_('Code check'), methods=['post']) |
204 | 204 |
def code_check(self, request, *args, **kwargs): |
205 | 205 |
data = json_loads(request.body) |
206 |
response = self.requests.post( |
|
206 |
if 'password' in data: |
|
207 |
data['code_secret'] = data.pop('password') |
|
208 |
response = self.requests.get( |
|
207 | 209 |
urljoin(self.base_url, '/clu/ws/verifierMdp'), |
208 |
json=data,
|
|
210 |
data=data,
|
|
209 | 211 |
auth=HttpBearerAuth(self.get_token())) |
210 | 212 |
response_json = response.json() |
211 | 213 |
if not isinstance(response_json, dict): |
... | ... | |
223 | 225 |
@endpoint(perm='can_access', description=_('Get Card Info'), methods=['post']) |
224 | 226 |
def card_info(self, request, *args, **kwargs): |
225 | 227 |
data = json_loads(request.body) |
226 |
response = self.requests.post(
|
|
227 |
urljoin(self.base_url, '/clu/ws/consulterCarte'),
|
|
228 |
json=data,
|
|
228 |
numero_serie = data.get('numero_serie')
|
|
229 |
response = self.requests.get(
|
|
230 |
urljoin(self.base_url, '/clu/ws/consulterCarte?numero_serie=%s' % numero_serie),
|
|
229 | 231 |
auth=HttpBearerAuth(self.get_token())) |
230 | 232 |
response_json = response.json() |
231 | 233 |
if not isinstance(response_json, dict): |
tests/test_lille_urban_card.py | ||
---|---|---|
66 | 66 |
return {'content': json.dumps(error), 'status_code': 404} |
67 | 67 |
return {'content': json.dumps({}), 'status_code': 200} |
68 | 68 |
if url.path == '/clu/ws/verifierMdp': |
69 |
request_json = json_loads(request.body)
|
|
70 |
if request_json.get('simulate_error') == 'wrong num serie':
|
|
69 |
assert 'numero_serie=XXX&code_secret=1234' in request.body
|
|
70 |
if 'simulate_error=wrong+num+serie' in request.body:
|
|
71 | 71 |
error = {'statut': 'ERREUR_NUM_SERIE', 'erreur': 'Le numero de serie...'} |
72 | 72 |
return {'content': json.dumps(error), 'status_code': 404} |
73 | 73 |
return {'content': json.dumps({'message': 'Le mot de passe est valide'}), 'status_code': 200} |
... | ... | |
78 | 78 |
return {'content': json.dumps(error), 'status_code': 409} |
79 | 79 |
return {'content': json.dumps({'message': 'ok'}), 'status_code': 200} |
80 | 80 |
if url.path == '/clu/ws/consulterCarte': |
81 |
request_json = json_loads(request.body) |
|
82 |
if request_json.get('simulate_error') == 'wrong num serie': |
|
81 |
if url.query == 'numero_serie=ERROR': |
|
83 | 82 |
error = {'erreur': 'Pas de carte attribuee correspondante'} |
84 | 83 |
return {'content': json.dumps(error), 'status_code': 404} |
84 |
assert url.query == 'numero_serie=XXX' |
|
85 | 85 |
return {'content': json.dumps({ |
86 | 86 |
'numero_serie': 'XXX', |
87 | 87 |
'date_debut_abonnement': 'xx/xx/xxxx'}), |
... | ... | |
254 | 254 | |
255 | 255 |
# error handling |
256 | 256 |
resp = app.post_json(endpoint, params={ |
257 |
'simulate_error': 'wrong num serie',
|
|
257 |
'numero_serie': 'ERROR',
|
|
258 | 258 |
}, status=200) |
259 | 259 |
assert resp.json['err'] == 1 |
260 | 260 | |
261 |
- |