@@ -47,45 +47,50 @@ def _verifyProtobufCall(self, called_with, URI, conn):
47
47
conn .USER_AGENT )
48
48
49
49
def test_default_url (self ):
50
- from gcloud .connection import Connection
50
+ from gcloud .connection import API_BASE_URL
51
51
52
- klass = self ._getTargetClass ()
53
- self .assertEqual (klass . API_BASE_URL , Connection . API_BASE_URL )
52
+ conn = self ._makeOne ()
53
+ self .assertEqual (conn . api_base_url , API_BASE_URL )
54
54
55
- def test_custom_url (self ):
55
+ def test_custom_url_from_env (self ):
56
56
import os
57
- import sys
58
57
from gcloud ._testing import _Monkey
59
- from gcloud .connection import Connection as BaseConnection
58
+ from gcloud .connection import API_BASE_URL
60
59
from gcloud .datastore .connection import _GCD_HOST_ENV_VAR_NAME
61
60
62
61
HOST = object ()
63
62
fake_environ = {_GCD_HOST_ENV_VAR_NAME : HOST }
64
63
65
- def fake_getenv ( key , default_val = None ):
66
- return fake_environ . get ( key , default_val )
64
+ with _Monkey ( os , getenv = fake_environ . get ):
65
+ conn = self . _makeOne ( )
67
66
68
- # We want to temporarily all the gcloud.datastore modules except for
69
- # the gcloud.datastore package itself. Then re-import.
70
- gcloud_keys = [key for key in sys .modules
71
- if 'gcloud.datastore.' in key ]
72
- modules_as_is = sys .modules .copy ()
73
- try :
74
- for key in gcloud_keys :
75
- sys .modules .pop (key )
67
+ self .assertNotEqual (conn .api_base_url , API_BASE_URL )
68
+ self .assertEqual (conn .api_base_url , HOST )
76
69
77
- with _Monkey (os , getenv = fake_getenv ):
78
- from gcloud .datastore .connection import Connection
79
- finally :
80
- sys .modules .update (modules_as_is )
70
+ def test_custom_url_from_constructor (self ):
71
+ from gcloud .connection import API_BASE_URL
81
72
82
- self .assertNotEqual (Connection .API_BASE_URL ,
83
- BaseConnection .API_BASE_URL )
84
- self .assertEqual (Connection .API_BASE_URL , HOST )
73
+ HOST = object ()
74
+ conn = self ._makeOne (api_base_url = HOST )
75
+ self .assertNotEqual (conn .api_base_url , API_BASE_URL )
76
+ self .assertEqual (conn .api_base_url , HOST )
85
77
86
- # Make sure the restored import.
87
- from gcloud .datastore .connection import Connection
88
- self .assertEqual (Connection .API_BASE_URL , BaseConnection .API_BASE_URL )
78
+ def test_custom_url_constructor_and_env (self ):
79
+ import os
80
+ from gcloud ._testing import _Monkey
81
+ from gcloud .connection import API_BASE_URL
82
+ from gcloud .datastore .connection import _GCD_HOST_ENV_VAR_NAME
83
+
84
+ HOST1 = object ()
85
+ HOST2 = object ()
86
+ fake_environ = {_GCD_HOST_ENV_VAR_NAME : HOST1 }
87
+
88
+ with _Monkey (os , getenv = fake_environ .get ):
89
+ conn = self ._makeOne (api_base_url = HOST2 )
90
+
91
+ self .assertNotEqual (conn .api_base_url , API_BASE_URL )
92
+ self .assertNotEqual (conn .api_base_url , HOST1 )
93
+ self .assertEqual (conn .api_base_url , HOST2 )
89
94
90
95
def test_ctor_defaults (self ):
91
96
conn = self ._makeOne ()
@@ -128,7 +133,7 @@ def test__request_w_200(self):
128
133
DATA = b'DATA'
129
134
conn = self ._makeOne ()
130
135
URI = '/' .join ([
131
- conn .API_BASE_URL ,
136
+ conn .api_base_url ,
132
137
'datastore' ,
133
138
conn .API_VERSION ,
134
139
'datasets' ,
@@ -174,7 +179,7 @@ def FromString(cls, pb):
174
179
METHOD = 'METHOD'
175
180
conn = self ._makeOne ()
176
181
URI = '/' .join ([
177
- conn .API_BASE_URL ,
182
+ conn .api_base_url ,
178
183
'datastore' ,
179
184
conn .API_VERSION ,
180
185
'datasets' ,
@@ -191,23 +196,23 @@ def FromString(cls, pb):
191
196
def test_build_api_url_w_default_base_version (self ):
192
197
DATASET_ID = 'DATASET'
193
198
METHOD = 'METHOD'
194
- klass = self ._getTargetClass ()
199
+ conn = self ._makeOne ()
195
200
URI = '/' .join ([
196
- klass . API_BASE_URL ,
201
+ conn . api_base_url ,
197
202
'datastore' ,
198
- klass .API_VERSION ,
203
+ conn .API_VERSION ,
199
204
'datasets' ,
200
205
DATASET_ID ,
201
206
METHOD ,
202
207
])
203
- self .assertEqual (klass .build_api_url (DATASET_ID , METHOD ), URI )
208
+ self .assertEqual (conn .build_api_url (DATASET_ID , METHOD ), URI )
204
209
205
210
def test_build_api_url_w_explicit_base_version (self ):
206
211
BASE = 'http://example.com/'
207
212
VER = '3.1415926'
208
213
DATASET_ID = 'DATASET'
209
214
METHOD = 'METHOD'
210
- klass = self ._getTargetClass ()
215
+ conn = self ._makeOne ()
211
216
URI = '/' .join ([
212
217
BASE ,
213
218
'datastore' ,
@@ -216,7 +221,7 @@ def test_build_api_url_w_explicit_base_version(self):
216
221
DATASET_ID ,
217
222
METHOD ,
218
223
])
219
- self .assertEqual (klass .build_api_url (DATASET_ID , METHOD , BASE , VER ),
224
+ self .assertEqual (conn .build_api_url (DATASET_ID , METHOD , BASE , VER ),
220
225
URI )
221
226
222
227
def test_lookup_single_key_empty_response (self ):
@@ -227,7 +232,7 @@ def test_lookup_single_key_empty_response(self):
227
232
rsp_pb = datastore_pb .LookupResponse ()
228
233
conn = self ._makeOne ()
229
234
URI = '/' .join ([
230
- conn .API_BASE_URL ,
235
+ conn .api_base_url ,
231
236
'datastore' ,
232
237
conn .API_VERSION ,
233
238
'datasets' ,
@@ -256,7 +261,7 @@ def test_lookup_single_key_empty_response_w_eventual(self):
256
261
rsp_pb = datastore_pb .LookupResponse ()
257
262
conn = self ._makeOne ()
258
263
URI = '/' .join ([
259
- conn .API_BASE_URL ,
264
+ conn .api_base_url ,
260
265
'datastore' ,
261
266
conn .API_VERSION ,
262
267
'datasets' ,
@@ -298,7 +303,7 @@ def test_lookup_single_key_empty_response_w_transaction(self):
298
303
rsp_pb = datastore_pb .LookupResponse ()
299
304
conn = self ._makeOne ()
300
305
URI = '/' .join ([
301
- conn .API_BASE_URL ,
306
+ conn .api_base_url ,
302
307
'datastore' ,
303
308
conn .API_VERSION ,
304
309
'datasets' ,
@@ -332,7 +337,7 @@ def test_lookup_single_key_nonempty_response(self):
332
337
rsp_pb .found .add (entity = entity )
333
338
conn = self ._makeOne ()
334
339
URI = '/' .join ([
335
- conn .API_BASE_URL ,
340
+ conn .api_base_url ,
336
341
'datastore' ,
337
342
conn .API_VERSION ,
338
343
'datasets' ,
@@ -363,7 +368,7 @@ def test_lookup_multiple_keys_empty_response(self):
363
368
rsp_pb = datastore_pb .LookupResponse ()
364
369
conn = self ._makeOne ()
365
370
URI = '/' .join ([
366
- conn .API_BASE_URL ,
371
+ conn .api_base_url ,
367
372
'datastore' ,
368
373
conn .API_VERSION ,
369
374
'datasets' ,
@@ -398,7 +403,7 @@ def test_lookup_multiple_keys_w_missing(self):
398
403
er_2 .entity .key .CopyFrom (key_pb2 )
399
404
conn = self ._makeOne ()
400
405
URI = '/' .join ([
401
- conn .API_BASE_URL ,
406
+ conn .api_base_url ,
402
407
'datastore' ,
403
408
conn .API_VERSION ,
404
409
'datasets' ,
@@ -432,7 +437,7 @@ def test_lookup_multiple_keys_w_deferred(self):
432
437
rsp_pb .deferred .add ().CopyFrom (key_pb2 )
433
438
conn = self ._makeOne ()
434
439
URI = '/' .join ([
435
- conn .API_BASE_URL ,
440
+ conn .api_base_url ,
436
441
'datastore' ,
437
442
conn .API_VERSION ,
438
443
'datasets' ,
@@ -473,7 +478,7 @@ def test_run_query_w_eventual_no_transaction(self):
473
478
rsp_pb .batch .entity_result_type = datastore_pb .EntityResult .FULL
474
479
conn = self ._makeOne ()
475
480
URI = '/' .join ([
476
- conn .API_BASE_URL ,
481
+ conn .api_base_url ,
477
482
'datastore' ,
478
483
conn .API_VERSION ,
479
484
'datasets' ,
@@ -513,7 +518,7 @@ def test_run_query_wo_eventual_w_transaction(self):
513
518
rsp_pb .batch .entity_result_type = datastore_pb .EntityResult .FULL
514
519
conn = self ._makeOne ()
515
520
URI = '/' .join ([
516
- conn .API_BASE_URL ,
521
+ conn .api_base_url ,
517
522
'datastore' ,
518
523
conn .API_VERSION ,
519
524
'datasets' ,
@@ -569,7 +574,7 @@ def test_run_query_wo_namespace_empty_result(self):
569
574
rsp_pb .batch .entity_result_type = datastore_pb .EntityResult .FULL
570
575
conn = self ._makeOne ()
571
576
URI = '/' .join ([
572
- conn .API_BASE_URL ,
577
+ conn .api_base_url ,
573
578
'datastore' ,
574
579
conn .API_VERSION ,
575
580
'datasets' ,
@@ -603,7 +608,7 @@ def test_run_query_w_namespace_nonempty_result(self):
603
608
rsp_pb .batch .more_results = 3 # NO_MORE_RESULTS
604
609
conn = self ._makeOne ()
605
610
URI = '/' .join ([
606
- conn .API_BASE_URL ,
611
+ conn .api_base_url ,
607
612
'datastore' ,
608
613
conn .API_VERSION ,
609
614
'datasets' ,
@@ -630,7 +635,7 @@ def test_begin_transaction_default_serialize(self):
630
635
rsp_pb .transaction = TRANSACTION
631
636
conn = self ._makeOne ()
632
637
URI = '/' .join ([
633
- conn .API_BASE_URL ,
638
+ conn .api_base_url ,
634
639
'datastore' ,
635
640
conn .API_VERSION ,
636
641
'datasets' ,
@@ -655,7 +660,7 @@ def test_begin_transaction_explicit_serialize(self):
655
660
rsp_pb .transaction = TRANSACTION
656
661
conn = self ._makeOne ()
657
662
URI = '/' .join ([
658
- conn .API_BASE_URL ,
663
+ conn .api_base_url ,
659
664
'datastore' ,
660
665
conn .API_VERSION ,
661
666
'datasets' ,
@@ -685,7 +690,7 @@ def test_commit_wo_transaction(self):
685
690
prop .value .string_value = u'Foo'
686
691
conn = self ._makeOne ()
687
692
URI = '/' .join ([
688
- conn .API_BASE_URL ,
693
+ conn .api_base_url ,
689
694
'datastore' ,
690
695
conn .API_VERSION ,
691
696
'datasets' ,
@@ -719,7 +724,7 @@ def test_commit_w_transaction(self):
719
724
prop .value .string_value = u'Foo'
720
725
conn = self ._makeOne ()
721
726
URI = '/' .join ([
722
- conn .API_BASE_URL ,
727
+ conn .api_base_url ,
723
728
'datastore' ,
724
729
conn .API_VERSION ,
725
730
'datasets' ,
@@ -747,7 +752,7 @@ def test_rollback_ok(self):
747
752
rsp_pb = datastore_pb .RollbackResponse ()
748
753
conn = self ._makeOne ()
749
754
URI = '/' .join ([
750
- conn .API_BASE_URL ,
755
+ conn .api_base_url ,
751
756
'datastore' ,
752
757
conn .API_VERSION ,
753
758
'datasets' ,
@@ -770,7 +775,7 @@ def test_allocate_ids_empty(self):
770
775
rsp_pb = datastore_pb .AllocateIdsResponse ()
771
776
conn = self ._makeOne ()
772
777
URI = '/' .join ([
773
- conn .API_BASE_URL ,
778
+ conn .api_base_url ,
774
779
'datastore' ,
775
780
conn .API_VERSION ,
776
781
'datasets' ,
@@ -803,7 +808,7 @@ def test_allocate_ids_non_empty(self):
803
808
rsp_pb .key .add ().CopyFrom (after_key_pbs [1 ])
804
809
conn = self ._makeOne ()
805
810
URI = '/' .join ([
806
- conn .API_BASE_URL ,
811
+ conn .api_base_url ,
807
812
'datastore' ,
808
813
conn .API_VERSION ,
809
814
'datasets' ,
0 commit comments