aboutsummaryrefslogtreecommitdiffstats
path: root/packages/meshbay-node/tests/test_transfer_slots.py
diff options
context:
space:
mode:
Diffstat (limited to 'packages/meshbay-node/tests/test_transfer_slots.py')
-rw-r--r--packages/meshbay-node/tests/test_transfer_slots.py23
1 files changed, 23 insertions, 0 deletions
diff --git a/packages/meshbay-node/tests/test_transfer_slots.py b/packages/meshbay-node/tests/test_transfer_slots.py
index 08e7e70..68d8858 100644
--- a/packages/meshbay-node/tests/test_transfer_slots.py
+++ b/packages/meshbay-node/tests/test_transfer_slots.py
@@ -369,3 +369,26 @@ def test_using_a_lease_forgives_its_earlier_misses(_=None):
assert s.leases["slow"].missed_grants == 2
s.touch("slow", now=2 * GRANT_DEADLINE_SECS + 3)
assert s.leases["slow"].missed_grants == 0
+
+
+# ── what the end-of-transfer line is built from ─────────────────────────────
+
+def test_a_lease_counts_what_moved_and_for_how_long():
+ slots = TransferSlots()
+ slots.open(tr="t1", kind=DOWNLOAD, session_key="s1", user_id="alice",
+ group_id="g1", now=0.0)
+ slots.touch("t1", now=10.0)
+ slots.account("t1", 1_000_000, now=10.5)
+ slots.touch("t1", now=11.0)
+ slots.account("t1", 500_000, now=12.0)
+ lease = slots.leases["t1"]
+ assert lease.moved == 1_500_000
+ assert lease.elapsed == 2.0
+
+
+def test_a_lease_nothing_moved_under_has_no_duration():
+ slots = TransferSlots()
+ lease, _ = slots.open(tr="t1", kind=DOWNLOAD, session_key="s1",
+ user_id="alice", group_id="g1", now=0.0)
+ assert (lease.moved, lease.elapsed) == (0, 0.0)
+ slots.account("unknown", 10)