@@ -23,8 +23,9 @@ def _getTargetClass(self):
2323 from gcloud .datastore .dataset import Dataset
2424 return Dataset
2525
26- def _makeOne (self , dataset_id = DATASET_ID , connection = None ):
27- return self ._getTargetClass ()(dataset_id , connection )
26+ def _makeOne (self , dataset_id = DATASET_ID , namespace = None , connection = None ):
27+ return self ._getTargetClass ()(dataset_id , namespace = namespace ,
28+ connection = connection )
2829
2930 def test_ctor_w_dataset_id_None (self ):
3031 self .assertRaises (ValueError , self ._makeOne , None )
@@ -33,11 +34,13 @@ def test_ctor_w_dataset_id_no_connection(self):
3334 dataset = self ._makeOne ()
3435 self .assertEqual (dataset .dataset_id , self .DATASET_ID )
3536
36- def test_ctor_w_dataset_id_w_connection (self ):
37+ def test_ctor_w_explicit_inputs (self ):
3738 conn = object ()
38- dataset = self ._makeOne (connection = conn )
39+ namespace = object ()
40+ dataset = self ._makeOne (namespace = namespace , connection = conn )
3941 self .assertEqual (dataset .dataset_id , self .DATASET_ID )
4042 self .assertTrue (dataset .connection is conn )
43+ self .assertTrue (dataset .namespace is namespace )
4144
4245 def test_get_defaults (self ):
4346 from gcloud .datastore import dataset as MUT
@@ -294,7 +297,48 @@ def test_key_wo_dataset_id(self):
294297
295298 self .assertTrue (isinstance (key , _Dummy ))
296299 self .assertEqual (key .args , (KIND , ID ))
297- self .assertEqual (key .kwargs , {'dataset_id' : self .DATASET_ID })
300+ expected_kwargs = {
301+ 'dataset_id' : self .DATASET_ID ,
302+ 'namespace' : None ,
303+ }
304+ self .assertEqual (key .kwargs , expected_kwargs )
305+
306+ def test_key_w_namespace (self ):
307+ from gcloud .datastore import dataset as MUT
308+ from gcloud ._testing import _Monkey
309+
310+ KIND = 'KIND'
311+ ID = 1234
312+ NAMESPACE = object ()
313+ dataset = self ._makeOne (namespace = NAMESPACE )
314+ with _Monkey (MUT , Key = _Dummy ):
315+ key = dataset .key (KIND , ID )
316+
317+ self .assertTrue (isinstance (key , _Dummy ))
318+ expected_kwargs = {
319+ 'dataset_id' : self .DATASET_ID ,
320+ 'namespace' : NAMESPACE ,
321+ }
322+ self .assertEqual (key .kwargs , expected_kwargs )
323+
324+ def test_key_w_namespace_collision (self ):
325+ from gcloud .datastore import dataset as MUT
326+ from gcloud ._testing import _Monkey
327+
328+ KIND = 'KIND'
329+ ID = 1234
330+ NAMESPACE1 = object ()
331+ NAMESPACE2 = object ()
332+ dataset = self ._makeOne (namespace = NAMESPACE1 )
333+ with _Monkey (MUT , Key = _Dummy ):
334+ key = dataset .key (KIND , ID , namespace = NAMESPACE2 )
335+
336+ self .assertTrue (isinstance (key , _Dummy ))
337+ expected_kwargs = {
338+ 'dataset_id' : self .DATASET_ID ,
339+ 'namespace' : NAMESPACE2 ,
340+ }
341+ self .assertEqual (key .kwargs , expected_kwargs )
298342
299343 def test_batch_wo_connection (self ):
300344 from gcloud .datastore import dataset as MUT
@@ -347,8 +391,11 @@ def test_transaction_w_connection(self):
347391
348392 self .assertTrue (isinstance (xact , _Dummy ))
349393 self .assertEqual (xact .args , ())
350- self .assertEqual (xact .kwargs ,
351- {'dataset_id' : self .DATASET_ID , 'connection' : conn })
394+ expected_kwargs = {
395+ 'dataset_id' : self .DATASET_ID ,
396+ 'connection' : conn ,
397+ }
398+ self .assertEqual (xact .kwargs , expected_kwargs )
352399
353400 def test_query_w_dataset_id (self ):
354401 KIND = 'KIND'
@@ -366,7 +413,11 @@ def test_query_w_defaults(self):
366413
367414 self .assertTrue (isinstance (query , _Dummy ))
368415 self .assertEqual (query .args , ())
369- self .assertEqual (query .kwargs , {'dataset_id' : self .DATASET_ID })
416+ expected_kwargs = {
417+ 'dataset_id' : self .DATASET_ID ,
418+ 'namespace' : None ,
419+ }
420+ self .assertEqual (query .kwargs , expected_kwargs )
370421
371422 def test_query_explicit (self ):
372423 from gcloud .datastore import dataset as MUT
@@ -405,6 +456,45 @@ def test_query_explicit(self):
405456 self .assertEqual (query .args , ())
406457 self .assertEqual (query .kwargs , kwargs )
407458
459+ def test_query_w_namespace (self ):
460+ from gcloud .datastore import dataset as MUT
461+ from gcloud ._testing import _Monkey
462+
463+ KIND = 'KIND'
464+ NAMESPACE = object ()
465+ dataset = self ._makeOne (namespace = NAMESPACE )
466+ with _Monkey (MUT , Query = _Dummy ):
467+ query = dataset .query (kind = KIND )
468+
469+ self .assertTrue (isinstance (query , _Dummy ))
470+ self .assertEqual (query .args , ())
471+ expected_kwargs = {
472+ 'dataset_id' : self .DATASET_ID ,
473+ 'namespace' : NAMESPACE ,
474+ 'kind' : KIND ,
475+ }
476+ self .assertEqual (query .kwargs , expected_kwargs )
477+
478+ def test_query_w_namespace_collision (self ):
479+ from gcloud .datastore import dataset as MUT
480+ from gcloud ._testing import _Monkey
481+
482+ KIND = 'KIND'
483+ NAMESPACE1 = object ()
484+ NAMESPACE2 = object ()
485+ dataset = self ._makeOne (namespace = NAMESPACE1 )
486+ with _Monkey (MUT , Query = _Dummy ):
487+ query = dataset .query (kind = KIND , namespace = NAMESPACE2 )
488+
489+ self .assertTrue (isinstance (query , _Dummy ))
490+ self .assertEqual (query .args , ())
491+ expected_kwargs = {
492+ 'dataset_id' : self .DATASET_ID ,
493+ 'namespace' : NAMESPACE2 ,
494+ 'kind' : KIND ,
495+ }
496+ self .assertEqual (query .kwargs , expected_kwargs )
497+
408498
409499class _Dummy (object ):
410500
0 commit comments