api_entreprise: add 'include_private' parameter (#41417)

This commit is contained in:
Emmanuel Cazenave 2020-04-07 14:24:59 +02:00
parent 2bda2bc7c9
commit e6c5ecaf73
2 changed files with 20 additions and 1 deletions

View File

@ -288,8 +288,14 @@ class APIEntreprise(BaseResource):
'object': OBJECT_PARAM,
'context': CONTEXT_PARAM,
'recipient': RECIPIENT_PARAM,
'include_private': {
'description': _('Include private informations'),
'example_value': 'true'
}
})
def entreprises(self, request, siren, **kwargs):
def entreprises(self, request, siren, include_private=False, **kwargs):
if include_private:
kwargs['non_diffusables'] = True
return self.get('entreprises/%s/' % siren, **kwargs)
@endpoint(perm='can_access',

View File

@ -382,6 +382,19 @@ def test_entreprises_endpoint(app, resource, mock_api_entreprise):
assert data['etablissement_siege']['date_mise_a_jour'] == '2015-12-03'
def test_entreprises_endpoint_include_private(app, resource, mock_api_entreprise, monkeypatch):
get = mock.Mock(return_value={})
monkeypatch.setattr(resource.__class__, 'get', get)
request_params = REQUEST_PARAMS.copy()
app.get('/api-entreprise/test/entreprises/443170139/', params=request_params)
assert 'non_diffusables' not in get.mock_calls[0].kwargs
request_params['include_private'] = True
app.get('/api-entreprise/test/entreprises/443170139/', params=request_params)
assert get.mock_calls[1].kwargs['non_diffusables'] is True
def test_etablissements_endpoint(app, resource, mock_api_entreprise):
response = app.get('/api-entreprise/test/etablissements/44317013900036/',
params=REQUEST_PARAMS)