0001-api_entreprise-add-include_private-parameter-41417.patch
passerelle/apps/api_entreprise/models.py | ||
---|---|---|
288 | 288 |
'object': OBJECT_PARAM, |
289 | 289 |
'context': CONTEXT_PARAM, |
290 | 290 |
'recipient': RECIPIENT_PARAM, |
291 |
'include_private': { |
|
292 |
'description': _('Include private informations'), |
|
293 |
'example_value': 'true' |
|
294 |
} |
|
291 | 295 |
}) |
292 |
def entreprises(self, request, siren, **kwargs): |
|
293 |
return self.get('entreprises/%s/' % siren, **kwargs) |
|
296 |
def entreprises(self, request, siren, include_private=False, **kwargs): |
|
297 |
kwargs['non_diffusables'] = True |
|
298 |
res = self.get('entreprises/%s/' % siren, **kwargs) |
|
299 |
if include_private: |
|
300 |
return res |
|
301 |
if not res.get('data', {}).get('entreprise', {}).get('diffusable_commercialement', True): |
|
302 |
res['data'] = {} |
|
303 |
return res |
|
294 | 304 | |
295 | 305 |
@endpoint(perm='can_access', |
296 | 306 |
methods=['get'], |
... | ... | |
303 | 313 |
'context': CONTEXT_PARAM, |
304 | 314 |
'recipient': RECIPIENT_PARAM, |
305 | 315 |
}) |
306 |
def etablissements(self, request, siret, **kwargs): |
|
316 |
def etablissements(self, request, siret, non_diffusable=False, **kwargs):
|
|
307 | 317 |
return self.get('etablissements/%s/' % siret, **kwargs) |
308 | 318 | |
309 | 319 |
@endpoint(perm='can_access', |
tests/test_api_entreprise.py | ||
---|---|---|
118 | 118 |
"etat_administratif": { |
119 | 119 |
"value": "C", # A (actif) ou C (cessé) |
120 | 120 |
"date_cessation": 1315173600 # null quand actif (A), un timestamp (un entier) quand cessé (C ) |
121 |
} |
|
121 |
}, |
|
122 |
"diffusable_commercialement": True, |
|
122 | 123 |
}, |
123 | 124 |
"etablissement_siege": { |
124 | 125 |
"siege_social": True, |
... | ... | |
410 | 411 |
assert data['etablissement_siege']['date_mise_a_jour'] == '2015-12-03' |
411 | 412 | |
412 | 413 | |
414 |
def test_entreprises_endpoint_include_private(app, resource, mock_api_entreprise, monkeypatch): |
|
415 |
monkeypatch.setitem(ENTREPRISES_RESPONSE['entreprise'], 'diffusable_commercialement', False) |
|
416 |
request_params = REQUEST_PARAMS.copy() |
|
417 | ||
418 |
response = app.get('/api-entreprise/test/entreprises/443170139/', params=request_params) |
|
419 |
assert response.json['data'] == {} |
|
420 | ||
421 |
request_params['include_private'] = True |
|
422 |
response = app.get('/api-entreprise/test/entreprises/443170139/', params=request_params) |
|
423 |
assert response.json['data']['entreprise']['categorie_entreprise'] == 'PME' |
|
424 | ||
425 | ||
413 | 426 |
def test_etablissements_endpoint(app, resource, mock_api_entreprise): |
414 | 427 |
response = app.get('/api-entreprise/test/etablissements/44317013900036/', |
415 | 428 |
params=REQUEST_PARAMS) |
416 |
- |