class GeocodeUnittestGoogle(TestCase):
    def setUp(self):
        self._provider = GeocodeProviderGoogle(CredentialStore())

    def test_working(self):
        result = self._provider.resolve("858 Beatty street, Vancouver, BC")

        self.assertAlmostEqual(result.lat, 49.276851)
        self.assertAlmostEqual(result.lng, -123.1147964)

    def test_failed(self):
        self._provider = GeocodeProviderHere(CredentialStore(), api_url="https://maps.googleapis.com/maps/api/geocodes")

        with self.assertRaises(GeocodeException):
            result = self._provider.resolve("a")

    def test_timeout(self):
        self._provider = GeocodeProviderHere(CredentialStore(), api_url="https://1.2.3.4")

        with self.assertRaises(GeocodeException):
            result = self._provider.resolve("a")

    def test_not_found(self):
        with self.assertRaises(GeocodeNotFoundException):
            result = self._provider.resolve("sdfasfjfsafksjk")
class GeocodeUnittestHere(TestCase):
    def setUp(self):
        self._provider = GeocodeProviderHere(CredentialStore())

    def test_working(self):
        result = self._provider.resolve("858 Beatty street, Vancouver, BC")

        self.assertAlmostEqual(result.lat, 49.2767302)
        self.assertAlmostEqual(result.lng, -123.1150056)

    def test_failed(self):
        self._provider = GeocodeProviderHere(CredentialStore(), api_url="https://geocoder.cit.api.here.com/xyz")

        with self.assertRaises(GeocodeException):
            result = self._provider.resolve("a")

    def test_timeout(self):
        self._provider = GeocodeProviderHere(CredentialStore(), api_url="https://1.2.3.4")

        with self.assertRaises(GeocodeException):
            result = self._provider.resolve("a")

    def test_not_found(self):
        with self.assertRaises(GeocodeNotFoundException):
            result = self._provider.resolve("sdfasfjfsafksjk")
    def test_failover(self):
        self._provider = GeocodeProviderReliable(
            GeocodeProviderHere(CredentialStore(), api_url="https://1.2.3.4"),
            GeocodeProviderGoogle(CredentialStore()))

        result = self._provider.resolve("858 Beatty street, Vancouver, BC")

        self.assertAlmostEqual(result.lat, 49.276851)
        self.assertAlmostEqual(result.lng, -123.1147964)
Example #4
0
def run_server(host, port, debug):
    app = Flask(__name__)
    api = Api(app)

    # setup the provider we are going to use for resolving requests
    geocode_provider = GeocodeProviderReliable(
        GeocodeProviderHere(CredentialStore()),
        GeocodeProviderGoogle(CredentialStore()))

    # create and register the resource
    api.add_resource(GeocodeResource, '/geocode', resource_class_kwargs={'geocode_provider': geocode_provider})

    # start the server
    app.run(host=host, port=port, debug=debug)
 def test_both_failed(self):
     self._provider = GeocodeProviderReliable(
         GeocodeProviderHere(CredentialStore(), api_url="https://1.2.3.4"),
         GeocodeProviderGoogle(CredentialStore(), api_url="https://1.2.3.4"))
     with self.assertRaises(GeocodeException):
         result = self._provider.resolve("a")
 def setUp(self):
     self._provider = GeocodeProviderReliable(
         GeocodeProviderHere(CredentialStore()),
         GeocodeProviderGoogle(CredentialStore()))
    def test_timeout(self):
        self._provider = GeocodeProviderHere(CredentialStore(), api_url="https://1.2.3.4")

        with self.assertRaises(GeocodeException):
            result = self._provider.resolve("a")
    def test_failed(self):
        self._provider = GeocodeProviderHere(CredentialStore(), api_url="https://maps.googleapis.com/maps/api/geocodes")

        with self.assertRaises(GeocodeException):
            result = self._provider.resolve("a")
 def setUp(self):
     self._provider = GeocodeProviderGoogle(CredentialStore())
Example #10
0
    def test_failed(self):
        self._provider = GeocodeProviderHere(CredentialStore(), api_url="https://geocoder.cit.api.here.com/xyz")

        with self.assertRaises(GeocodeException):
            result = self._provider.resolve("a")