def test_upsert(): class FakeMTS(): def get_key(self): return 'rick-and-morty' redis_cli = MockRedis() kq = KQuery(redis_cli) kq.query = {'hello': 'some_query'} kq.add_mts(FakeMTS()) kq.upsert(datetime.datetime.fromtimestamp(1234567890), None) assert redis_cli.set_call_count == 1 assert redis_cli.get_call_count == 0 assert kq.query['mts_keys'] == ['rick-and-morty'] assert kq.query['last_add_data'] == time.time() assert kq.query['earliest_data'] == 1234567890 assert sorted(kq.query.keys()) == [ 'earliest_data', 'hello', 'last_add_data', 'mts_keys' ] kq.upsert(datetime.datetime.fromtimestamp(1234567890), datetime.datetime.fromtimestamp(1234569890)) assert redis_cli.set_call_count == 2 assert redis_cli.get_call_count == 0 assert kq.query['last_add_data'] == 1234569890 assert kq.query['earliest_data'] == 1234567890
def test_upsert(): class FakeMTS: def get_key(self): return "rick-and-morty" redis_cli = MockRedis() kq = KQuery(redis_cli) kq.query = {"hello": "some_query"} kq.add_mts(FakeMTS()) kq.upsert(datetime.datetime.fromtimestamp(1234567890), None) assert redis_cli.set_call_count == 1 assert redis_cli.get_call_count == 0 assert kq.query["mts_keys"] == ["rick-and-morty"] assert kq.query["last_add_data"] == time.time() assert kq.query["earliest_data"] == 1234567890 assert sorted(kq.query.keys()) == ["earliest_data", "hello", "last_add_data", "mts_keys"] kq.upsert(datetime.datetime.fromtimestamp(1234567890), datetime.datetime.fromtimestamp(1234569890)) assert redis_cli.set_call_count == 2 assert redis_cli.get_call_count == 0 assert kq.query["last_add_data"] == 1234569890 assert kq.query["earliest_data"] == 1234567890
def test__init__etc(): """ Test __init__, key_basis, add_mts. """ kq = KQuery(MockRedis()) kq.query = {'wubbalubba': 'dubdub'} assert kq.related_mts == set() kq.add_mts('hello') kq.add_mts('goodbye') kq.add_mts('hello') testset = set() testset.add('hello') testset.add('goodbye') assert kq.related_mts == testset assert kq.key_basis() == {'wubbalubba': 'dubdub'}
def test__init__etc(): """ Test __init__, key_basis, add_mts. """ kq = KQuery(MockRedis()) kq.query = {"wubbalubba": "dubdub"} assert kq.related_mts == set() kq.add_mts("hello") kq.add_mts("goodbye") kq.add_mts("hello") testset = set() testset.add("hello") testset.add("goodbye") assert kq.related_mts == testset assert kq.key_basis() == {"wubbalubba": "dubdub"}