Metrics: added tests

This commit is contained in:
lla-dane
2025-06-18 17:05:38 +05:30
parent 3d369bc142
commit 4e53327079
2 changed files with 33 additions and 1 deletions

View File

@ -186,7 +186,7 @@ class PeerData(IPeerData):
if s > 1 or s < 0:
s = 0.1
if self.latmap is None:
if self.latmap == 0:
self.latmap = new_latency
else:
prev = self.latmap

View File

@ -157,3 +157,35 @@ def test_get_privkey_not_found():
peer_data = PeerData()
with pytest.raises(PeerDataError):
peer_data.get_privkey()
# Test case for recording latency for the first time
def test_record_latency_initial():
peer_data = PeerData()
assert peer_data.latency_EWMA() == 0
peer_data.record_latency(100.0)
assert peer_data.latency_EWMA() == 100.0
# Test case for updating latency
def test_record_latency_updates_ewma():
peer_data = PeerData()
peer_data.record_latency(100.0) # first measurement
first = peer_data.latency_EWMA()
peer_data.record_latency(50.0) # second measurement
second = peer_data.latency_EWMA()
assert second < first # EWMA should have smoothed downward
assert second > 50.0 # Not as low as the new latency
assert second != first
def test_clear_metrics():
peer_data = PeerData()
peer_data.record_latency(200.0)
assert peer_data.latency_EWMA() == 200.0
peer_data.clear_metrics()
assert peer_data.latency_EWMA() == 0