def test_siren_search_with_periodic_list(): request = api.siren(q=Criteria.Periodic( Criteria.Field('activitePrincipaleUniteLegale', '84.23Z'), Criteria.Field('activitePrincipaleUniteLegale', '86.21Z'))) assert request.url == base_siren_url + '/?q=periode(activitePrincipaleUniteLegale:84.23Z AND activitePrincipaleUniteLegale:86.21Z)'
def test_siren_search_with_not_operator(): request = api.siren( q=(-(-Criteria.Field('codeCommuneEtablissement', 92046)), -Criteria.Field('unitePurgeeUniteLegale', True))) assert request.url == base_siren_url + '/?q=codeCommuneEtablissement:92046 AND -unitePurgeeUniteLegale:True'
def test_siren_search_with_operators(): request = api.siren(q=Criteria.Field('codeCommuneEtablissement', 92046) | Criteria.Field('unitePurgeeUniteLegale', True)) assert ( request.url == base_siren_url + '/?q=codeCommuneEtablissement:92046 OR unitePurgeeUniteLegale:True')
def test_siren_search_with_periodic_list_and_operators_excluding(): request = api.siren( q=Criteria.Periodic( Criteria.Field('activitePrincipaleUniteLegale', '84.23Z') | Criteria.Field('activitePrincipaleUniteLegale', '86.21Z')) & Criteria.PeriodicField('activitePrincipaleUniteLegale', '87.21Z')) assert request.url == base_siren_url + '/?q=periode(activitePrincipaleUniteLegale:84.23Z OR activitePrincipaleUniteLegale:86.21Z) AND periode(activitePrincipaleUniteLegale:87.21Z)'
def test_siret_search_with_2_criteria(execute_request): request = api.siret( q = (Criteria.Field('codeCommuneEtablissement', 92046), Criteria.Field('unitePurgeeUniteLegale', True)) ) assert request.url == base_siret_url + '?q=codeCommuneEtablissement:92046 AND unitePurgeeUniteLegale:True' execute_request(request)
def test_siret_search_with_periodic_list(execute_request): request = api.siret( q=Criteria.Periodic( Criteria.Field('activitePrincipaleEtablissement','84.23Z'), Criteria.Field('etatAdministratifEtablissement','A') ) ) assert request.url == base_siret_url + '?q=periode(activitePrincipaleEtablissement:84.23Z AND etatAdministratifEtablissement:A)' execute_request(request)
def test_siret_search_with_2_criteria_and_date(api, execute_request): request = api.siret( q = (Criteria.Field('codeCommuneEtablissement', 92046), Criteria.Field('unitePurgeeUniteLegale', True)), date='2018-01-01' ) assert request.url == base_siret_url + '?date=2018-01-01&q=codeCommuneEtablissement:92046 AND unitePurgeeUniteLegale:True' execute_request(request)
def test_siret_search_with_operators_or_and_parentheses(execute_request): request = api.siret(q=( (Criteria.Field('codeCommuneEtablissement', 92046) | Criteria.Field('unitePurgeeUniteLegale', True)) & Criteria.Field('codeCommuneEtablissement', 92046) )) assert ( request.url == base_siret_url + '?q=codeCommuneEtablissement:92046 OR unitePurgeeUniteLegale:True AND codeCommuneEtablissement:92046' ) execute_request(request)
def test_siret_search_with_periodic_list_and_operators_excluding(execute_request): request = api.siret( q= Criteria.Periodic( Criteria.Field('activitePrincipaleEtablissement','84.23Z') | Criteria.Field('activitePrincipaleEtablissement','86.21Z') ) & Criteria.PeriodicField('etatAdministratifEtablissement','A') ) assert request.url == base_siret_url + '?q=periode(activitePrincipaleEtablissement:84.23Z OR activitePrincipaleEtablissement:86.21Z) AND periode(etatAdministratifEtablissement:A)' execute_request(request)
def test_siret_search_with_periodic_list_with_or(execute_request): request = api.siret( q=Criteria.Periodic( Criteria.Field('activitePrincipaleEtablissement','84.23Z'), Criteria.Field('activitePrincipaleEtablissement','86.21Z'), Criteria.Field('activitePrincipaleEtablissement','87.21Z'), operator = 'OR' ) ) assert request.url == base_siret_url + '?q=periode(activitePrincipaleEtablissement:84.23Z OR activitePrincipaleEtablissement:86.21Z OR activitePrincipaleEtablissement:87.21Z)' execute_request(request)
def test_request_format_csv_in_get_parameters(execute_request): request = api.siret(q=(Criteria.Field('codeCommuneEtablissement', 92046), Criteria.Field('unitePurgeeUniteLegale', True))) data = request.get(format='csv') reader = csv.reader(data.split('\n'), delimiter=',') assert request.header['Accept'] == 'text/csv' lcount = 0 for row in reader: assert 'siren' in row lcount += 1 break assert lcount == 1
def test_siren_search_by_field(): criteria = Criteria.Field('unitePurgeeUniteLegale', True) request = api.siren(q=criteria) results = request.get() assert results['header']['statut'] == 200 assert request.url == base_siren_url + '/?q=unitePurgeeUniteLegale:True'
def set_url_params(self, name, value): if isinstance(value, dict): criteria = Criteria.List( * [Criteria.Field(key, value) for (key, value) in value.items()]).toURLParams() elif isinstance(value, list) or \ isinstance(value, tuple): criteria = Criteria.List(*value).toURLParams() elif isinstance(value, str) or \ isinstance(value, int) or \ isinstance(value, float): criteria = Criteria.Raw(str(value)).toURLParams() elif isinstance(value, Criteria.Base): criteria = value.toURLParams() else: raise Exception self._url_params[name] = criteria
def init_criteria_from_dictionnary(self, dictionnary): self.criteria = Criteria.List(*[ Criteria.Field(key, value) for (key, value) in dictionnary.items() ])