def test_kv_store_decode_restores_encoded_event(): event = MetricsEvent(gen_next_timestamp(), gen_metrics_name(), 4.2) k, v = KvStoreMetricsFormat.encode(event) decoded_event = KvStoreMetricsFormat.decode(k, v) assert event == decoded_event
def test_kv_store_encode_generate_different_keys_for_different_seq_no(): event = MetricsEvent(gen_next_timestamp(), gen_metrics_name(), 4.2) k1, v1 = KvStoreMetricsFormat.encode(event, 1) k2, v2 = KvStoreMetricsFormat.encode(event, 2) assert k1 != k2 assert v1 == v2
def test_kv_store_metrics_collector_stores_properly_encoded_data(storage: KeyValueStorage, value): ts = MockTimestamp(gen_next_timestamp()) metrics = KvStoreMetricsCollector(storage, ts) assert len([(k, v) for k, v in storage.iterator()]) == 0 id = gen_metrics_name() event = MetricsEvent(ts.value, id, value) encoded_key, encoded_value = KvStoreMetricsFormat.encode(event) metrics.add_event(id, value) stored_events = [(k, v) for k, v in storage.iterator()] assert len(stored_events) == 1 assert stored_events[0][0] == encoded_key assert stored_events[0][1] == encoded_value