@@ -31,6 +31,162 @@ def _make_entity_pb(dataset_id, kind, integer_id, name=None, str_val=None):
31
31
return entity_pb
32
32
33
33
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
+
34
190
class TestClient (unittest2 .TestCase ):
35
191
36
192
DATASET_ID = 'DATASET'
0 commit comments