mirror of
https://github.com/anten-ka/gotelegram_pro.git
synced 2026-05-19 11:26:03 +00:00
v2.5.0: use live IP counts in key cards
This commit is contained in:
@@ -129,6 +129,59 @@ class AdminFeatureTests(unittest.TestCase):
|
||||
self.assertNotIn("client = 3", text)
|
||||
self.assertNotIn("old = 4", text)
|
||||
|
||||
def test_key_card_traffic_uses_live_ip_counts_not_stale_history(self):
|
||||
with tempfile.TemporaryDirectory() as raw:
|
||||
server = load_server(Path(raw))
|
||||
stale_history = {
|
||||
"epoch": 1000,
|
||||
"total_octets": 100,
|
||||
"current_connections": 16,
|
||||
"active_unique_ips": 8,
|
||||
"recent_unique_ips": 5,
|
||||
}
|
||||
original = server.runtime_user_traffic
|
||||
server.runtime_user_traffic = lambda name, enabled=True: {
|
||||
"ok": True,
|
||||
"enabled": True,
|
||||
"total_octets": 200,
|
||||
"current_connections": 0,
|
||||
"active_unique_ips": 0,
|
||||
"recent_unique_ips": 0,
|
||||
}
|
||||
try:
|
||||
snapshot = server.current_user_traffic_snapshot("client", True, stale_history, now=2000)
|
||||
finally:
|
||||
server.runtime_user_traffic = original
|
||||
|
||||
self.assertEqual(snapshot["epoch"], 2000)
|
||||
self.assertEqual(snapshot["total_octets"], 200)
|
||||
self.assertEqual(snapshot["current_connections"], 0)
|
||||
self.assertEqual(snapshot["active_unique_ips"], 0)
|
||||
self.assertEqual(snapshot["recent_unique_ips"], 0)
|
||||
|
||||
def test_key_card_traffic_fallback_keeps_only_historical_total(self):
|
||||
with tempfile.TemporaryDirectory() as raw:
|
||||
server = load_server(Path(raw))
|
||||
stale_history = {
|
||||
"epoch": 1000,
|
||||
"total_octets": 100,
|
||||
"current_connections": 16,
|
||||
"active_unique_ips": 8,
|
||||
"recent_unique_ips": 5,
|
||||
}
|
||||
original = server.runtime_user_traffic
|
||||
server.runtime_user_traffic = lambda name, enabled=True: {"ok": False}
|
||||
try:
|
||||
snapshot = server.current_user_traffic_snapshot("client", True, stale_history, now=2000)
|
||||
finally:
|
||||
server.runtime_user_traffic = original
|
||||
|
||||
self.assertEqual(snapshot["epoch"], 1000)
|
||||
self.assertEqual(snapshot["total_octets"], 100)
|
||||
self.assertEqual(snapshot["current_connections"], 0)
|
||||
self.assertEqual(snapshot["active_unique_ips"], 0)
|
||||
self.assertEqual(snapshot["recent_unique_ips"], 0)
|
||||
|
||||
def test_keys_view_uses_card_layout_without_horizontal_table(self):
|
||||
app_js = (ROOT / "admin-web" / "static" / "app.js").read_text(encoding="utf-8")
|
||||
styles = (ROOT / "admin-web" / "static" / "styles.css").read_text(encoding="utf-8")
|
||||
|
||||
Reference in New Issue
Block a user