Skip to content

Commit e212d9b

Browse files
committed
Fix coverage lapses induced by merge.
1 parent 1d9ca7d commit e212d9b

File tree

2 files changed

+160
-0
lines changed

2 files changed

+160
-0
lines changed

gcloud/datastore/test_client.py

Lines changed: 156 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,162 @@ def _make_entity_pb(dataset_id, kind, integer_id, name=None, str_val=None):
3131
return entity_pb
3232

3333

34+
class Test__get_production_dataset_id(unittest2.TestCase):
35+
36+
def _callFUT(self):
37+
from gcloud.datastore.client import _get_production_dataset_id
38+
return _get_production_dataset_id()
39+
40+
def test_no_value(self):
41+
import os
42+
from gcloud._testing import _Monkey
43+
44+
environ = {}
45+
with _Monkey(os, getenv=environ.get):
46+
dataset_id = self._callFUT()
47+
self.assertEqual(dataset_id, None)
48+
49+
def test_value_set(self):
50+
import os
51+
from gcloud._testing import _Monkey
52+
from gcloud.datastore.client import _DATASET_ENV_VAR_NAME
53+
54+
MOCK_DATASET_ID = object()
55+
environ = {_DATASET_ENV_VAR_NAME: MOCK_DATASET_ID}
56+
with _Monkey(os, getenv=environ.get):
57+
dataset_id = self._callFUT()
58+
self.assertEqual(dataset_id, MOCK_DATASET_ID)
59+
60+
61+
class Test__get_gcd_dataset_id(unittest2.TestCase):
62+
63+
def _callFUT(self):
64+
from gcloud.datastore.client import _get_gcd_dataset_id
65+
return _get_gcd_dataset_id()
66+
67+
def test_no_value(self):
68+
import os
69+
from gcloud._testing import _Monkey
70+
71+
environ = {}
72+
with _Monkey(os, getenv=environ.get):
73+
dataset_id = self._callFUT()
74+
self.assertEqual(dataset_id, None)
75+
76+
def test_value_set(self):
77+
import os
78+
from gcloud._testing import _Monkey
79+
from gcloud.datastore.client import _GCD_DATASET_ENV_VAR_NAME
80+
81+
MOCK_DATASET_ID = object()
82+
environ = {_GCD_DATASET_ENV_VAR_NAME: MOCK_DATASET_ID}
83+
with _Monkey(os, getenv=environ.get):
84+
dataset_id = self._callFUT()
85+
self.assertEqual(dataset_id, MOCK_DATASET_ID)
86+
87+
88+
class Test__determine_default_dataset_id(unittest2.TestCase):
89+
90+
def _callFUT(self, dataset_id=None):
91+
from gcloud.datastore.client import _determine_default_dataset_id
92+
return _determine_default_dataset_id(dataset_id=dataset_id)
93+
94+
def _determine_default_helper(self, prod=None, gcd=None, gae=None,
95+
gce=None, dataset_id=None):
96+
from gcloud._testing import _Monkey
97+
from gcloud.datastore import client
98+
99+
_callers = []
100+
101+
def prod_mock():
102+
_callers.append('prod_mock')
103+
return prod
104+
105+
def gcd_mock():
106+
_callers.append('gcd_mock')
107+
return gcd
108+
109+
def gae_mock():
110+
_callers.append('gae_mock')
111+
return gae
112+
113+
def gce_mock():
114+
_callers.append('gce_mock')
115+
return gce
116+
117+
patched_methods = {
118+
'_get_production_dataset_id': prod_mock,
119+
'_get_gcd_dataset_id': gcd_mock,
120+
'_app_engine_id': gae_mock,
121+
'_compute_engine_id': gce_mock,
122+
}
123+
124+
with _Monkey(client, **patched_methods):
125+
returned_dataset_id = self._callFUT(dataset_id)
126+
127+
return returned_dataset_id, _callers
128+
129+
def test_no_value(self):
130+
dataset_id, callers = self._determine_default_helper()
131+
self.assertEqual(dataset_id, None)
132+
self.assertEqual(callers,
133+
['prod_mock', 'gcd_mock', 'gae_mock', 'gce_mock'])
134+
135+
def test_explicit(self):
136+
DATASET_ID = object()
137+
dataset_id, callers = self._determine_default_helper(
138+
dataset_id=DATASET_ID)
139+
self.assertEqual(dataset_id, DATASET_ID)
140+
self.assertEqual(callers, [])
141+
142+
def test_prod(self):
143+
DATASET_ID = object()
144+
dataset_id, callers = self._determine_default_helper(prod=DATASET_ID)
145+
self.assertEqual(dataset_id, DATASET_ID)
146+
self.assertEqual(callers, ['prod_mock'])
147+
148+
def test_gcd(self):
149+
DATASET_ID = object()
150+
dataset_id, callers = self._determine_default_helper(gcd=DATASET_ID)
151+
self.assertEqual(dataset_id, DATASET_ID)
152+
self.assertEqual(callers, ['prod_mock', 'gcd_mock'])
153+
154+
def test_gae(self):
155+
DATASET_ID = object()
156+
dataset_id, callers = self._determine_default_helper(gae=DATASET_ID)
157+
self.assertEqual(dataset_id, DATASET_ID)
158+
self.assertEqual(callers, ['prod_mock', 'gcd_mock', 'gae_mock'])
159+
160+
def test_gce(self):
161+
DATASET_ID = object()
162+
dataset_id, callers = self._determine_default_helper(gce=DATASET_ID)
163+
self.assertEqual(dataset_id, DATASET_ID)
164+
self.assertEqual(callers,
165+
['prod_mock', 'gcd_mock', 'gae_mock', 'gce_mock'])
166+
167+
168+
class Test__get_connection(unittest2.TestCase):
169+
170+
def _callFUT(self):
171+
from gcloud.datastore.client import _get_connection
172+
return _get_connection()
173+
174+
def test_it(self):
175+
from gcloud import credentials
176+
from gcloud.datastore.connection import SCOPE
177+
from gcloud.datastore.connection import Connection
178+
from gcloud.test_credentials import _Client
179+
from gcloud._testing import _Monkey
180+
181+
client = _Client()
182+
with _Monkey(credentials, client=client):
183+
found = self._callFUT()
184+
self.assertTrue(isinstance(found, Connection))
185+
self.assertTrue(found._credentials is client._signed)
186+
self.assertEqual(found._credentials._scopes, SCOPE)
187+
self.assertTrue(client._get_app_default_called)
188+
189+
34190
class TestClient(unittest2.TestCase):
35191

36192
DATASET_ID = 'DATASET'

gcloud/datastore/test_transaction.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -217,3 +217,7 @@ def _push_batch(self, batch):
217217

218218
def _pop_batch(self):
219219
return self._batches.pop(0)
220+
221+
@property
222+
def current_batch(self):
223+
return self._batches and self._batches[0] or None

0 commit comments

Comments
 (0)