From 91bd475461fdd27f0caa6209c02688e80c4dde81 Mon Sep 17 00:00:00 2001 From: Danny Hermes Date: Fri, 8 Apr 2016 11:23:04 -0700 Subject: [PATCH] Add /datastore/ in emulator URI path. Fixes #1707. --- gcloud/datastore/connection.py | 8 ++++++-- gcloud/datastore/test_connection.py | 8 ++++---- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/gcloud/datastore/connection.py b/gcloud/datastore/connection.py index 0810d3303b26..d949b696b88d 100644 --- a/gcloud/datastore/connection.py +++ b/gcloud/datastore/connection.py @@ -56,8 +56,12 @@ class Connection(connection.Connection): def __init__(self, credentials=None, http=None, api_base_url=None): super(Connection, self).__init__(credentials=credentials, http=http) if api_base_url is None: - api_base_url = os.getenv(GCD_HOST, - self.__class__.API_BASE_URL) + try: + # gcd.sh has /datastore/ in the path still since it supports + # v1beta2 and v1beta3 simultaneously. + api_base_url = '%s/datastore' % (os.environ[GCD_HOST],) + except KeyError: + api_base_url = self.__class__.API_BASE_URL self.api_base_url = api_base_url def _request(self, project, method, data): diff --git a/gcloud/datastore/test_connection.py b/gcloud/datastore/test_connection.py index ab8beacc24e9..f7a036bd4796 100644 --- a/gcloud/datastore/test_connection.py +++ b/gcloud/datastore/test_connection.py @@ -57,14 +57,14 @@ def test_custom_url_from_env(self): from gcloud.connection import API_BASE_URL from gcloud.environment_vars import GCD_HOST - HOST = object() + HOST = 'CURR_HOST' fake_environ = {GCD_HOST: HOST} - with _Monkey(os, getenv=fake_environ.get): + with _Monkey(os, environ=fake_environ): conn = self._makeOne() self.assertNotEqual(conn.api_base_url, API_BASE_URL) - self.assertEqual(conn.api_base_url, HOST) + self.assertEqual(conn.api_base_url, HOST + '/datastore') def test_custom_url_from_constructor(self): from gcloud.connection import API_BASE_URL @@ -84,7 +84,7 @@ def test_custom_url_constructor_and_env(self): HOST2 = object() fake_environ = {GCD_HOST: HOST1} - with _Monkey(os, getenv=fake_environ.get): + with _Monkey(os, environ=fake_environ): conn = self._makeOne(api_base_url=HOST2) self.assertNotEqual(conn.api_base_url, API_BASE_URL)