@@ -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+
34190class TestClient (unittest2 .TestCase ):
35191
36192 DATASET_ID = 'DATASET'
0 commit comments