Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 9 additions & 4 deletions AerospikeClientMock/AerospikeClientMock.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@
# -*- coding: utf-8 -*-
#
# aerospike mockserver

import copy
import hashlib

from .AerospikeData import AerospikeData
from .AerospikeQueryMock import AerospikeQueryMock
Expand All @@ -25,8 +26,8 @@ def close(self):

def get(self, key, policy=None):
exists = self.exists(key)[0]
return key, self.storage[key].meta if exists else None, \
self.storage[key] if exists else None
data = copy.deepcopy(self.storage[key]) if exists else None
return key, data.meta if exists else None, data if exists else None

def select(self, key, bins, policy=None):
result = self.get(key)
Expand Down Expand Up @@ -113,7 +114,11 @@ def operate(key, list, meta=None, policy=None):
def get_many(self, keys, policy=None):
result = []
for key in keys:
result.append(self.get(key))
_, meta, data = self.get(key)
joined = b'#'.join([str(x).encode('utf-8') for x in key])
digest = bytearray(hashlib.md5(joined).digest())
key = tuple(list(key) + [digest])
result.append((key, meta, data))
return result

def exists_many(self, keys, policy=None):
Expand Down
10 changes: 5 additions & 5 deletions tests/test_AerospikeClientMock.py
Original file line number Diff line number Diff line change
Expand Up @@ -166,11 +166,11 @@ def test_get_many(self):
]
self.assertEqual(
[
(('a', 'b', 1), {'gen': 1, 'ttl': 0}, {'a': 1}),
(('a', 'b', 2), {'gen': 1, 'ttl': 0}, {'a': 2}),
(('a', 'b', 3), {'gen': 1, 'ttl': 0}, {'a': 3}),
(('a', 'b', 4), {'gen': 1, 'ttl': 0}, {'a': 4}),
(('a', 'b', 5), None, None),
(('a', 'b', 1, bytearray(b'u\x98t\x11La\x84\x9d\x94\xe3\xcdcSbn\xd7')), {'gen': 1, 'ttl': 0}, {'a': 1}),
(('a', 'b', 2, bytearray(b'\xe7HY\x1f\x1f\xb8z\x8f\xf3\x0c\xf3\x04\xcc9\x14\xdc')), {'gen': 1, 'ttl': 0}, {'a': 2}),
(('a', 'b', 3, bytearray(b'\xeb\x1a\x99(V\xd49\x01\xeeQ[\x92\x06-O\x08')), {'gen': 1, 'ttl': 0}, {'a': 3}),
(('a', 'b', 4, bytearray(b'\xf3G\x1b\xba\xe2\xec\x11S\xc3\xc2\xab\x15\xb4\x1b\x96q')), {'gen': 1, 'ttl': 0}, {'a': 4}),
(('a', 'b', 5, bytearray(b'd\t}\xc6`\xee\xe2\xf0)\x1f7\x9c\xfa\x8d\xa6\xd6')), None, None),
]
, asm.get_many(keys))

Expand Down
10 changes: 5 additions & 5 deletions tests/test_AerospikeClientTtlMock.py
Original file line number Diff line number Diff line change
Expand Up @@ -215,26 +215,26 @@ def test_get_many(self):
self.assertEqual(
[
(
('a', 'b', 1),
('a', 'b', 1, bytearray(b'u\x98t\x11La\x84\x9d\x94\xe3\xcdcSbn\xd7')),
{'gen': 1, 'ttl': self.get_time(default_ttl)},
{'a': 1}
),
(
('a', 'b', 2),
('a', 'b', 2, bytearray(b'\xe7HY\x1f\x1f\xb8z\x8f\xf3\x0c\xf3\x04\xcc9\x14\xdc')),
{'gen': 1, 'ttl': self.get_time(default_ttl)},
{'a': 2}
), (
('a', 'b', 3),
('a', 'b', 3, bytearray(b'\xeb\x1a\x99(V\xd49\x01\xeeQ[\x92\x06-O\x08')),
{'gen': 1, 'ttl': self.get_time(default_ttl)},
{'a': 3}
),
(
('a', 'b', 4),
('a', 'b', 4, bytearray(b'\xf3G\x1b\xba\xe2\xec\x11S\xc3\xc2\xab\x15\xb4\x1b\x96q')),
{'gen': 1, 'ttl': self.get_time(default_ttl)},
{'a': 4}
),
(
('a', 'b', 5),
('a', 'b', 5, bytearray(b'd\t}\xc6`\xee\xe2\xf0)\x1f7\x9c\xfa\x8d\xa6\xd6')),
None,
None
),
Expand Down