Skip to content

Commit

Permalink
Drop munging of 's~' prefix onto keys.
Browse files Browse the repository at this point in the history
Fixes #121.

Note:  may conflict with PR #257 and #258.
  • Loading branch information
tseaver committed Oct 17, 2014
1 parent 906700b commit 538084d
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 31 deletions.
5 changes: 0 additions & 5 deletions gcloud/datastore/key.py
Original file line number Diff line number Diff line change
Expand Up @@ -95,13 +95,8 @@ def to_protobuf(self):
# but we shouldn't throw a cryptic error if one isn't provided
# in the initializer.
if self.dataset():
# Apparently 's~' is a prefix for High-Replication and is necessary
# here. Another valid preflix is 'e~' indicating EU datacenters.
dataset_id = self.dataset().id()
if dataset_id:
if dataset_id[:2] not in ['s~', 'e~']:
dataset_id = 's~' + dataset_id

key.partition_id.dataset_id = dataset_id

if self._namespace:
Expand Down
18 changes: 9 additions & 9 deletions gcloud/datastore/test_connection.py
Original file line number Diff line number Diff line change
Expand Up @@ -406,7 +406,7 @@ def test_lookup_single_key_empty_response(self):
self.assertEqual(cw['method'], 'POST')
self.assertEqual(cw['headers'],
{'Content-Type': 'application/x-protobuf',
'Content-Length': '26',
'Content-Length': '24',
'User-Agent': conn.USER_AGENT,
})
rq_class = datastore_pb.LookupRequest
Expand Down Expand Up @@ -445,7 +445,7 @@ def test_lookup_single_key_nonempty_response(self):
self.assertEqual(cw['method'], 'POST')
self.assertEqual(cw['headers'],
{'Content-Type': 'application/x-protobuf',
'Content-Length': '26',
'Content-Length': '24',
'User-Agent': conn.USER_AGENT,
})
rq_class = datastore_pb.LookupRequest
Expand Down Expand Up @@ -481,7 +481,7 @@ def test_lookup_multiple_keys_empty_response(self):
self.assertEqual(cw['method'], 'POST')
self.assertEqual(cw['headers'],
{'Content-Type': 'application/x-protobuf',
'Content-Length': '52',
'Content-Length': '48',
'User-Agent': conn.USER_AGENT,
})
rq_class = datastore_pb.LookupRequest
Expand Down Expand Up @@ -524,7 +524,7 @@ def test_commit_wo_transaction(self):
self.assertEqual(cw['method'], 'POST')
self.assertEqual(cw['headers'],
{'Content-Type': 'application/x-protobuf',
'Content-Length': '47',
'Content-Length': '45',
'User-Agent': conn.USER_AGENT,
})
rq_class = datastore_pb.CommitRequest
Expand Down Expand Up @@ -570,7 +570,7 @@ def id(self):
self.assertEqual(cw['method'], 'POST')
self.assertEqual(cw['headers'],
{'Content-Type': 'application/x-protobuf',
'Content-Length': '53',
'Content-Length': '51',
'User-Agent': conn.USER_AGENT,
})
rq_class = datastore_pb.CommitRequest
Expand Down Expand Up @@ -605,7 +605,7 @@ def test_save_entity_wo_transaction_w_upsert(self):
self.assertEqual(cw['method'], 'POST')
self.assertEqual(cw['headers'],
{'Content-Type': 'application/x-protobuf',
'Content-Length': '47',
'Content-Length': '45',
'User-Agent': conn.USER_AGENT,
})
rq_class = datastore_pb.CommitRequest
Expand Down Expand Up @@ -656,7 +656,7 @@ def test_save_entity_wo_transaction_w_auto_id(self):
self.assertEqual(cw['method'], 'POST')
self.assertEqual(cw['headers'],
{'Content-Type': 'application/x-protobuf',
'Content-Length': '44',
'Content-Length': '42',
'User-Agent': conn.USER_AGENT,
})
rq_class = datastore_pb.CommitRequest
Expand Down Expand Up @@ -751,7 +751,7 @@ def test_delete_entities_wo_transaction(self):
self.assertEqual(cw['method'], 'POST')
self.assertEqual(cw['headers'],
{'Content-Type': 'application/x-protobuf',
'Content-Length': '30',
'Content-Length': '28',
'User-Agent': conn.USER_AGENT,
})
rq_class = datastore_pb.CommitRequest
Expand Down Expand Up @@ -816,7 +816,7 @@ def test_delete_entity_wo_transaction(self):
self.assertEqual(cw['method'], 'POST')
self.assertEqual(cw['headers'],
{'Content-Type': 'application/x-protobuf',
'Content-Length': '30',
'Content-Length': '28',
'User-Agent': conn.USER_AGENT,
})
rq_class = datastore_pb.CommitRequest
Expand Down
18 changes: 1 addition & 17 deletions gcloud/datastore/test_key.py
Original file line number Diff line number Diff line change
Expand Up @@ -133,28 +133,12 @@ def test_to_protobuf_w_explicit_dataset_empty_id(self):
pb = key.to_protobuf()
self.assertEqual(pb.partition_id.dataset_id, '')

def test_to_protobuf_w_explicit_dataset_no_prefix(self):
def test_to_protobuf_w_explicit_dataset(self):
from gcloud.datastore.dataset import Dataset
_DATASET = 'DATASET'
dataset = Dataset(_DATASET)
key = self._makeOne(dataset)
pb = key.to_protobuf()
self.assertEqual(pb.partition_id.dataset_id, 's~%s' % _DATASET)

def test_to_protobuf_w_explicit_dataset_w_s_prefix(self):
from gcloud.datastore.dataset import Dataset
_DATASET = 's~DATASET'
dataset = Dataset(_DATASET)
key = self._makeOne(dataset)
pb = key.to_protobuf()
self.assertEqual(pb.partition_id.dataset_id, _DATASET)

def test_to_protobuf_w_explicit_dataset_w_e_prefix(self):
from gcloud.datastore.dataset import Dataset
_DATASET = 'e~DATASET'
dataset = Dataset(_DATASET)
key = self._makeOne(dataset)
pb = key.to_protobuf()
self.assertEqual(pb.partition_id.dataset_id, _DATASET)

def test_to_protobuf_w_explicit_namespace(self):
Expand Down

0 comments on commit 538084d

Please sign in to comment.