Example #1
0
    def test_features_call(self):
        url = 'https://host_of_bragi'
        kwargs = {
            'params': {
                u'pt_dataset': 'main_autocomplete_test',
            },
            'timeout': 10
        }

        from urllib import urlencode
        url += "/features/1234?{}".format(
            urlencode(kwargs.get('params'), doseq=True))

        mock_requests = MockRequests({url: (BRAGI_MOCK_RESPONSE, 200)})
        with mock.patch('requests.get', mock_requests.get):
            response = self.query_region(
                "places/1234?&pt_dataset=main_autocomplete_test")

            is_valid_global_autocomplete(response, depth=1)
            r = response.get('places')
            assert len(r) == 1
            assert r[0]['name'] == '20 Rue Bob (Bobtown)'
            assert r[0]['embedded_type'] == 'address'
            assert r[0]['address']['name'] == 'Rue Bob'
            assert r[0]['address']['label'] == '20 Rue Bob (Bobtown)'
Example #2
0
    def test_autocomplete_call(self):
        url = 'https://host_of_bragi/autocomplete'
        kwargs = {
            'params': {
                u'q':
                u'bob',
                u'type[]': [
                    u'public_transport:stop_area', u'street', u'house', u'poi',
                    u'city'
                ],
                u'limit':
                10,
                u'pt_dataset':
                'main_autocomplete_test',
            },
            'timeout': 10
        }

        from urllib import urlencode
        url += "?{}".format(urlencode(kwargs.get('params'), doseq=True))
        mock_requests = MockRequests({url: (BRAGI_MOCK_RESPONSE, 200)})
        with mock.patch('requests.get', mock_requests.get):
            response = self.query_region(
                "places?q=bob&pt_dataset=main_autocomplete_test&type[]=stop_area"
                "&type[]=address&type[]=poi&type[]=administrative_region")

            is_valid_global_autocomplete(response, depth=1)
            r = response.get('places')
            assert len(r) == 1
            assert r[0]['name'] == '20 Rue Bob (Bobtown)'
            assert r[0]['embedded_type'] == 'address'
            assert r[0]['address']['name'] == 'Rue Bob'
            assert r[0]['address']['label'] == '20 Rue Bob (Bobtown)'
    def test_autocomplete_call_override(self):
        """"
        test that the _autocomplete param switch the right autocomplete service
        """
        url = 'https://host_of_bragi'
        params = {
            'q': u'bob',
            'type[]': [u'public_transport:stop_area', u'street', u'house', u'poi', u'city'],
            'limit': 10,
            'pt_dataset': 'main_routing_test'
        }

        url += "/autocomplete?{}".format(urlencode(params, doseq=True))

        mock_requests = MockRequests({
            url: (BRAGI_MOCK_RESPONSE, 200)
        })
        with mock.patch('requests.get', mock_requests.get):
            response = self.query_region("places?q=bob&type[]=stop_area&type[]=address&type[]=poi"
                                         "&type[]=administrative_region")

            is_valid_global_autocomplete(response, depth=1)
            r = response.get('places')
            assert len(r) == 1
            assert r[0]['name'] == '20 Rue Bob (Bobtown)'
            assert r[0]['embedded_type'] == 'address'
            assert r[0]['address']['name'] == 'Rue Bob'
            assert r[0]['address']['label'] == '20 Rue Bob (Bobtown)'

            # with a query on kraken, the results should be different
            response = self.query_region("places?q=Park&_autocomplete=kraken")
            r = response.get('places')
            assert len(r) >= 1
            assert r[0]['name'] == 'first parking (Condom)'
    def test_autocomplete_call(self):
        url = 'https://host_of_bragi/autocomplete'
        params = {
            'q': u'bob',
            'type[]': [u'public_transport:stop_area', u'street', u'house', u'poi', u'city'],
            'limit': 10,
            'pt_dataset': 'main_routing_test'
        }

        url += "?{}".format(urlencode(params, doseq=True))
        mock_requests = MockRequests({
            url: (BRAGI_MOCK_RESPONSE, 200)
        })
        with mock.patch('requests.get', mock_requests.get):
            response = self.query_region("places?q=bob&pt_dataset=main_routing_test&type[]=stop_area"
                                         "&type[]=address&type[]=poi&type[]=administrative_region")

            is_valid_global_autocomplete(response, depth=1)
            r = response.get('places')
            assert len(r) == 1
            assert r[0]['name'] == '20 Rue Bob (Bobtown)'
            assert r[0]['embedded_type'] == 'address'
            assert r[0]['address']['name'] == 'Rue Bob'
            assert r[0]['address']['label'] == '20 Rue Bob (Bobtown)'
            fbs = response['feed_publishers']
            assert {fb['id'] for fb in fbs} >= {u'osm', u'bano'}
Example #5
0
    def test_global_place_uri(self):
        mock_requests = MockRequests(
            {'https://host_of_bragi/features/bob': (BRAGI_MOCK_RESPONSE, 200)})
        with mock.patch('requests.get', mock_requests.get):
            response = self.query("/v1/places/bob")

            is_valid_global_autocomplete(response, depth=1)
            r = response.get('places')
            assert len(r) == 1
            assert r[0]['name'] == '20 Rue Bob (Bobtown)'
            assert r[0]['embedded_type'] == 'address'
            assert r[0]['address']['name'] == 'Rue Bob'
            assert r[0]['address']['label'] == '20 Rue Bob (Bobtown)'
Example #6
0
    def test_global_place_uri(self):
        mock_requests = MockRequests({
            # there is no authentication so all the known pt_dataset are added as parameters
            'https://host_of_bragi/features/bob?pt_dataset=main_routing_test': (BRAGI_MOCK_RESPONSE, 200)
        })
        with mock.patch('requests.get', mock_requests.get):
            response = self.query("/v1/places/bob")

            is_valid_global_autocomplete(response, depth=1)
            r = response.get('places')
            assert len(r) == 1
            assert r[0]['name'] == '20 Rue Bob (Bobtown)'
            assert r[0]['embedded_type'] == 'address'
            assert r[0]['address']['name'] == 'Rue Bob'
            assert r[0]['address']['label'] == '20 Rue Bob (Bobtown)'
Example #7
0
    def test_autocomplete_call(self):
        url = 'https://host_of_bragi/autocomplete'
        kwargs = {
            'params': {
                u'q': u'bob',
                u'type[]': [u'stop_area', u'address', u'poi', u'city'],
                u'limit': 10,
                u'pt_dataset': 'main_autocomplete_test',
            },
            'timeout': 10
        }

        from urllib import urlencode
        url += "?{}".format(urlencode(kwargs.get('params'), doseq=True))
        mock_requests = MockRequests({
            url: ({
                "features": [{
                    "geometry": {
                        "coordinates": [3.282103, 49.847586],
                        "type": "Point"
                    },
                    "properties": {
                        "geocoding": {
                            "city":
                            "Bobtown",
                            "housenumber":
                            "20",
                            "id":
                            "49.847586;3.282103",
                            "label":
                            "20 Rue Bob (Bobtown)",
                            "name":
                            "Rue Bob",
                            "postcode":
                            "02100",
                            "street":
                            "Rue Bob",
                            "type":
                            "house",
                            "citycode":
                            "02000",
                            "administrative_regions": [{
                                "id": "admin:fr:02000",
                                "insee": "02000",
                                "level": 8,
                                "label": "Bobtown (02000)",
                                "zip_codes": ["02000"],
                                "weight": 1,
                                "coord": {
                                    "lat": 48.8396154,
                                    "lon": 2.3957517
                                }
                            }],
                        }
                    },
                    "type": "Feature"
                }]
            }, 200)
        })
        with mock.patch('requests.get', mock_requests.get):
            response = self.query_region(
                "places?q=bob&pt_dataset=main_autocomplete_test&type[]=stop_area"
                "&type[]=address&type[]=poi&type[]=administrative_region")

            is_valid_global_autocomplete(response, depth=1)
            r = response.get('places')
            assert len(r) == 1
            assert r[0]['name'] == '20 Rue Bob (Bobtown)'
            assert r[0]['embedded_type'] == 'address'
            assert r[0]['address']['name'] == 'Rue Bob'
            assert r[0]['address']['label'] == '20 Rue Bob (Bobtown)'