class TestAerospikeQueryMock(unittest.TestCase): def setUp(self): self.asm = AerospikeClientMock() self.asm.put(("a", "b", 1), {"a": 1, "b": 1}) self.asm.put(("a", "b", 2), {"a": 2, "b": 2}) self.asm.put(("a", "b", 3), {"a": 3, "b": 3}) self.asm.put(("a", "c", 4), {"a": 4, "b": 4}) def test_query(self): query = self.asm.query('a', 'b') query.select('a', 'c') self.assertEqual([ (('a', 'b', 1), { 'gen': 1, 'ttl': 0 }, { 'a': 1, 'c': None }), (('a', 'b', 2), { 'gen': 1, 'ttl': 0 }, { 'a': 2, 'c': None }), (('a', 'b', 3), { 'gen': 1, 'ttl': 0 }, { 'a': 3, 'c': None }), ], query.results()) def test_query_namespace(self): query = self.asm.query('a') query.select('a', 'b') self.assertEqual([ (('a', 'b', 1), { 'gen': 1, 'ttl': 0 }, { 'a': 1, 'b': 1 }), (('a', 'b', 2), { 'gen': 1, 'ttl': 0 }, { 'a': 2, 'b': 2 }), (('a', 'b', 3), { 'gen': 1, 'ttl': 0 }, { 'a': 3, 'b': 3 }), (('a', 'c', 4), { 'gen': 1, 'ttl': 0 }, { 'a': 4, 'b': 4 }), ], query.results()) def test_query_callback(self): result = [] def callback(data): (key, meta, bins) = data result.append((key, meta, bins)) query = self.asm.query('a', 'b') query.select('a', 'c') query.foreach(callback) self.assertEqual([( (('a', 'b', 1), { 'gen': 1, 'ttl': 0 }, { 'a': 1, 'c': None }), (('a', 'b', 2), { 'gen': 1, 'ttl': 0 }, { 'a': 2, 'c': None }), (('a', 'b', 3), { 'gen': 1, 'ttl': 0 }, { 'a': 3, 'c': None }), )], result) def test_query_equals(self): query = self.asm.query('a', 'b') query.select('a', 'c') query.where(AerospikePredicatesMock().equals("a", 1)) self.assertEqual([(('a', 'b', 1), { 'gen': 1, 'ttl': 0 }, { 'a': 1, 'c': None })], query.results()) def test_query_between(self): query = self.asm.query('a', 'b') query.select('a', 'c') query.where(AerospikePredicatesMock().between("a", 1, 4)) self.assertEqual([(('a', 'b', 2), { 'gen': 1, 'ttl': 0 }, { 'a': 2, 'c': None }), (('a', 'b', 3), { 'gen': 1, 'ttl': 0 }, { 'a': 3, 'c': None })], query.results()) def test_query_contains(self): self.asm.put(("a", "l", 1), {"list": [1, 2, 3, 4, 5]}) self.asm.put(("a", "l", 2), {"list": [1, 3, 4, 5]}) query = self.asm.query('a', 'l') query.select('list') query.where(AerospikePredicatesMock().contains("list", list, 2)) self.assertEqual([(('a', 'l', 1), { 'gen': 1, 'ttl': 0 }, { 'list': [1, 2, 3, 4, 5] })], query.results()) def test_query_range(self): self.asm.put(("a", "l", 1), {"list": [1, 2, 3, 4, 5]}) self.asm.put(("a", "l", 2), {"list": [4, 5]}) query = self.asm.query('a', 'l') query.select('list') query.where(AerospikePredicatesMock().range("list", list, 1, 3)) self.assertEqual([(('a', 'l', 1), { 'gen': 1, 'ttl': 0 }, { 'list': [1, 2, 3, 4, 5] })], query.results())
class TestAerospikeQueryMock(unittest.TestCase): def setUp(self): self.asm = AerospikeClientMock() self.asm.put(("a", "b", 1), {"a": 1, "b": 1}) self.asm.put(("a", "b", 2), {"a": 2, "b": 2}) self.asm.put(("a", "b", 3), {"a": 3, "b": 3}) self.asm.put(("a", "c", 4), {"a": 4, "b": 4}) def test_query(self): query = self.asm.query('a', 'b') query.select('a', 'c') self.assertEqual( [ (('a', 'b', 1), {'gen': 1, 'ttl': 0}, {'a': 1, 'c': None}), (('a', 'b', 2), {'gen': 1, 'ttl': 0}, {'a': 2, 'c': None}), (('a', 'b', 3), {'gen': 1, 'ttl': 0}, {'a': 3, 'c': None}), ], query.results()) def test_query_namespace(self): query = self.asm.query('a') query.select('a', 'b') self.assertEqual( [ (('a', 'b', 1), {'gen': 1, 'ttl': 0}, {'a': 1, 'b': 1}), (('a', 'b', 2), {'gen': 1, 'ttl': 0}, {'a': 2, 'b': 2}), (('a', 'b', 3), {'gen': 1, 'ttl': 0}, {'a': 3, 'b': 3}), (('a', 'c', 4), {'gen': 1, 'ttl': 0}, {'a': 4, 'b': 4}), ], query.results()) def test_query_callback(self): result = [] def callback(data): (key, meta, bins) = data result.append((key, meta, bins)) query = self.asm.query('a', 'b') query.select('a', 'c') query.foreach(callback) self.assertEqual( [ ( (('a', 'b', 1), {'gen': 1, 'ttl': 0}, {'a': 1, 'c': None}), (('a', 'b', 2), {'gen': 1, 'ttl': 0}, {'a': 2, 'c': None}), (('a', 'b', 3), {'gen': 1, 'ttl': 0}, {'a': 3, 'c': None}), ) ], result) def test_query_equals(self): query = self.asm.query('a', 'b') query.select('a', 'c') query.where(AerospikePredicatesMock().equals("a", 1)) self.assertEqual( [(('a', 'b', 1), {'gen': 1, 'ttl': 0}, {'a': 1, 'c': None})], query.results()) def test_query_between(self): query = self.asm.query('a', 'b') query.select('a', 'c') query.where(AerospikePredicatesMock().between("a", 1, 4)) self.assertEqual( [(('a', 'b', 2), {'gen': 1, 'ttl': 0}, {'a': 2, 'c': None}), (('a', 'b', 3), {'gen': 1, 'ttl': 0}, {'a': 3, 'c': None})], query.results()) def test_query_contains(self): self.asm.put(("a", "l", 1), {"list": [1, 2, 3, 4, 5]}) self.asm.put(("a", "l", 2), {"list": [1, 3, 4, 5]}) query = self.asm.query('a', 'l') query.select('list') query.where(AerospikePredicatesMock().contains("list", list, 2)) self.assertEqual( [(('a', 'l', 1), {'gen': 1, 'ttl': 0}, {'list': [1, 2, 3, 4, 5]})], query.results()) def test_query_range(self): self.asm.put(("a", "l", 1), {"list": [1, 2, 3, 4, 5]}) self.asm.put(("a", "l", 2), {"list": [4, 5]}) query = self.asm.query('a', 'l') query.select('list') query.where(AerospikePredicatesMock().range("list", list, 1, 3)) self.assertEqual( [(('a', 'l', 1), {'gen': 1, 'ttl': 0}, {'list': [1, 2, 3, 4, 5]})], query.results())