Exemple #1
0
def get_used_coverages_test():
    with app.test_request_context('/v1/coverage/fr-idf'):
        assert get_used_coverages() == ['fr-idf']

    with app.test_request_context('/v1/journeys'):
        register_used_coverages(['fr-bre'])
        assert get_used_coverages() == ['fr-bre']

    with app.test_request_context('/v1/journeys'):
        register_used_coverages('fr-bre')
        assert get_used_coverages() == ['fr-bre']
Exemple #2
0
def get_instances_by_coord_test(manager, mocker):
    mock = mocker.patch.object(manager, '_all_keys_of_coord', return_value=['paris'])
    with app.test_request_context('/'):
        instances = manager.get_instances(lon=4, lat=3)
        assert len(instances) == 1
        assert 'paris' == instances[0].name
        assert mock.called
Exemple #3
0
def bragi_poi_reading_test():
    bragi_response = {"features": [bragi_poi_feature()]}
    with app.test_request_context():
        response = get_response(bragi_response)
        context_response_check(response)
        navitia_response = response.get('places', {})[0]
        assert navitia_response.get('embedded_type') == "poi"
        assert navitia_response.get('id') == 'poi:osm:3224270910'
        assert navitia_response.get('name') == 'Mairie de Pigna (Pigna)'
        assert navitia_response.get('quality') == 0
        poi = navitia_response.get('poi', {})
        assert poi.get('label') == 'Mairie de Pigna (Pigna)'
        assert poi.get('name') == 'Mairie de Pigna'
        assert poi.get('id') == 'poi:osm:3224270910'
        assert poi.get('poi_type').get('id') == 'poi_type:amenity:townhall'
        assert poi.get('poi_type').get('name') == 'Mairie'
        assert poi.get('coord').get('lat') == str(42.599235500000009)
        assert poi.get('coord').get('lon') == "8.9028068"
        assert len(poi.get('administrative_regions')) == 1
        administrative_region = poi.get('administrative_regions')[0]
        assert administrative_region.get('insee') == '2B231'
        assert administrative_region.get('name') == 'Pigna'
        assert administrative_region.get('label') == 'Pigna (20220)'
        assert administrative_region.get('level') == 8
        assert administrative_region.get('id') == 'admin:fr:2B231'
        assert administrative_region.get('coord').get('lat') == "42.5996043"
        assert administrative_region.get('coord').get('lon') == "8.9027334"
        assert administrative_region.get('zip_code') == "20220-20222"
Exemple #4
0
def bragi_street_reading_without_autocomplete_attribute_test():
    bragi_response = {"features": [bragi_street_feature()]}
    with app.test_request_context():
        response = get_response(bragi_response)
        context_response_check(response)
        navitia_response = response.get('places', {})
        bragi_street_response_check(navitia_response[0])
Exemple #5
0
def bragi_admin_reading_test():
    bragi_response = {"features": [bragi_admin_feature()]}
    with app.test_request_context():
        response = get_response(bragi_response)
        context_response_check(response)
        navitia_response = response.get('places', {})
        bragi_admin_response_check(navitia_response[0])
Exemple #6
0
def get_instances_by_object_id_test(manager, mocker):
    mock = mocker.patch.object(manager, '_all_keys_of_id', return_value=['pdl'])
    with app.test_request_context('/'):
        instances = manager.get_instances(object_id='sa:pdl')
        assert len(instances) == 1
        assert 'pdl' == instances[0].name
        assert mock.called
Exemple #7
0
def bragi_call_test():
    """
    test the whole autocomplete with a geocodejson service
    """
    bragi = GeocodeJson(host='http://bob.com')

    bragi_response = {
        "features": [
            bragi_house_jaures_feature(),
            bragi_house_lefebvre_feature(),
            bragi_street_feature(),
            bragi_admin_feature(),
        ]
    }

    with app.test_request_context():
        # we mock the http call to return the hard coded mock_response
        with requests_mock.Mocker() as m:
            m.get(
                'http://bob.com/autocomplete?limit=10&q=rue+bobette&timeout=2000&request_id=123',
                json=bragi_response,
            )
            raw_response = bragi.get(
                {
                    'q': 'rue bobette',
                    'count': 10,
                    'request_id': '123'
                },
                instances=[])
            places = raw_response.get('places')
            assert len(places) == 4
            context_response_check(raw_response)
            bragi_house_jaures_response_check(places[0])
            bragi_house_lefebvre_response_check(places[1])
            bragi_street_response_check(places[2])
            bragi_admin_response_check(places[3])
            assert m.called

        with requests_mock.Mocker() as m:
            m.post(
                'http://bob.com/autocomplete?limit=10&q=rue+bobette&timeout=2000&request_id=123',
                json=bragi_response,
            )
            raw_response = bragi.get(
                {
                    'q': 'rue bobette',
                    'count': 10,
                    "request_id": "123",
                    'shape': geojson()
                },
                instances=[])
            context_response_check(raw_response)
            places = raw_response.get('places')
            assert len(places) == 4
            bragi_house_jaures_response_check(places[0])
            bragi_house_lefebvre_response_check(places[1])
            bragi_street_response_check(places[2])
            bragi_admin_response_check(places[3])
            assert m.called
Exemple #8
0
def bragi_house_reading_test():
    bragi_response = {"features": [bragi_house_jaures_feature()]}
    with app.test_request_context():
        response = get_response(bragi_response)
        context_response_check(response)
        assert len(response['warnings']) == 1
        assert response['warnings'][0]['id'] == 'beta_endpoint'
        navitia_response = response.get('places', {})
        bragi_house_jaures_response_check(navitia_response[0])
Exemple #9
0
 def get_token_basic_auth_unicode_test():
     """
     base64 doesn't seems to like unicode, it doesn't matter since our token are always in ascii (uuid).
     But we want a clean error, not a 500
     """
     key = base64.b64encode(u'maclé:'.encode('utf-8')).strip()
     with app.test_request_context('/', headers={'Authorization': 'BASIC {}'.format(key)}):
         with pytest.raises(Unauthorized):
             get_token()
Exemple #10
0
def get_instances_test(manager):
    with app.test_request_context('/'):
        instances = manager.get_instances()
        assert len(instances) == 2
        assert {'paris', 'pdl'} == {i.name for i in instances}

        instances = manager.get_instances('paris')
        assert len(instances) == 1
        assert 'paris' == instances[0].name

        assert manager.get_instances('foo') is None
Exemple #11
0
def bragi_good_geocodejson_response_without_autocomplete_attribute_test():
    bragi_response = {
        "features": [
            bragi_house_jaures_feature(),
            bragi_house_lefebvre_feature(),
            bragi_street_feature(),
            bragi_admin_feature(),
        ]
    }
    with app.test_request_context():
        response = get_response(bragi_response)
        context_response_check(response)
        navitia_response = response.get('places', {})
        assert len(navitia_response) == 4
        bragi_house_jaures_response_check(navitia_response[0])
        bragi_house_lefebvre_response_check(navitia_response[1])
        bragi_street_response_check(navitia_response[2])
        bragi_admin_response_check(navitia_response[3])
Exemple #12
0
def bragi_stop_area_reading_test():
    bragi_response = {"features": [bragi_stop_area_feature()]}
    with app.test_request_context():
        response = get_response(bragi_response)
        context_response_check(response)
        navitia_response = response.get('places', {})[0]
        assert navitia_response.get('embedded_type') == "stop_area"
        assert navitia_response.get('id') == 'stop_area:OIF:SA:59332'
        assert navitia_response.get('name') == 'BOTZARIS (Paris)'
        assert navitia_response.get('quality') == 0
        sa = navitia_response.get('stop_area', {})
        assert sa.get('label') == 'BOTZARIS (Paris)'
        assert sa.get('name') == 'BOTZARIS'
        assert sa.get('id') == 'stop_area:OIF:SA:59332'
        assert sa.get('timezone') == 'Europe/Paris'
        assert sa.get('coord').get('lat') == "48.87958"
        assert sa.get('coord').get('lon') == "2.389462"
        assert 'administrative_regions' not in sa
Exemple #13
0
def bragi_geocodejson_compatibility_test():
    bragi_response = {"features": [bragi_geocodejson_spec_feature()]}
    with app.test_request_context():
        response = get_response(bragi_response)
        context_response_check(response)
        navitia_response = response.get('places', {})[0]
        assert navitia_response.get('embedded_type') == "address"
        assert navitia_response.get('id') == '3.282103;49.847586'
        assert navitia_response.get(
            'name') == '20 Rue Jean Jaures (Saint-Quentin)'
        address = navitia_response.get('address', {})
        assert len(address.get('administrative_regions')) == 5
        region_list = {
            region['level']: region['name']
            for region in address.get('administrative_regions')
        }
        assert region_list.get(2) == 'France'
        assert region_list.get(4) == 'Nord-Pas-de-Calais-Picardie'
        assert region_list.get(7) == 'Saint-Quentin'
Exemple #14
0
def get_token_url_test():
    with app.test_request_context('/', query_string='key=mykey'):
        assert get_token() == 'mykey'
Exemple #15
0
def get_token_no_token_test():
    with app.test_request_context('/'):
        assert get_token() == None
Exemple #16
0
def get_token_basic_auth_test():
    key = base64.encodestring('mykey:').strip()
    with app.test_request_context(
            '/', headers={'Authorization': 'BASIC {}'.format(key)}):
        assert get_token() == 'mykey'
Exemple #17
0
def get_token_direct_test():
    with app.test_request_context('/', headers={'Authorization': 'mykey'}):
        assert get_token() == 'mykey'
Exemple #18
0
 def test_pagination(self, mock):
     response = ({"places_nearby": [], "pagination": None}, 200)
     # should not raise any exception
     with app.test_request_context('/v1/places'):
         stat_manager._manage_stat(time.time(), response)
     assert mock.called