claude-multiacc 2.0.21 → 2.0.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,43 @@
1
+ """Earned resets honor finished limits and ignore unrelated rolling windows."""
2
+ import time
3
+ import unittest
4
+
5
+ import test_codex_reset as fixtures
6
+
7
+
8
+ class ResetWindowsTest(fixtures.CodexPoolSandbox, unittest.TestCase):
9
+ run_limits = fixtures.CodexResetIntegrationTest.run_limits
10
+
11
+ def test_finished_limit_redeems_even_below_numeric_reset_threshold(self):
12
+ now = int(time.time())
13
+ self.server.state["usage"] = {"rate_limit": {"allowed": False, "limit_reached": True,
14
+ "primary_window": {"used_percent": 94, "limit_window_seconds": 604800, "reset_at": now + 86400}},
15
+ "rate_limit_reset_credits": {"available_count": 1}}
16
+ self.server.state["credits"] = {"available_count": 1, "credits": []}
17
+ self.server.state["responses"] = [(200, {"code": "reset", "windows_reset": 1})]
18
+ result = self.run_limits()
19
+ self.assertEqual(result.returncode, 0, result.stderr)
20
+ self.assertEqual(len(self.server.state["posts"]), 1)
21
+
22
+ def test_unused_model_windows_do_not_change_the_fleet_redemption_key(self):
23
+ now = int(time.time())
24
+ self.server.state["usage"] = {"rate_limit": {"allowed": True,
25
+ "primary_window": {"used_percent": 95, "limit_window_seconds": 604800, "reset_at": now + 86400}},
26
+ "additional_rate_limits": [{"limit_name": "Unused model", "rate_limit": {
27
+ "primary_window": {"used_percent": 0, "limit_window_seconds": 18000, "reset_at": now + 18000}}}],
28
+ "rate_limit_reset_credits": {"available_count": 2}}
29
+ self.server.state["credits"] = {"available_count": 2, "credits": []}
30
+ self.server.state["responses"] = [(200, {"code": "reset", "windows_reset": 1}),
31
+ (200, {"code": "already_redeemed", "windows_reset": 1})]
32
+ self.assertEqual(self.run_limits().returncode, 0)
33
+ # A fleet peer has no local receipt and sees a shifted idle-model window.
34
+ (self.pool / "acct-01/.usage-reset.json").unlink()
35
+ self.server.state["usage"]["additional_rate_limits"][0]["rate_limit"]["primary_window"]["reset_at"] += 30
36
+ self.assertEqual(self.run_limits().returncode, 0)
37
+ posts = self.server.state["posts"]
38
+ self.assertEqual(len(posts), 2)
39
+ self.assertEqual(posts[0]["redeem_request_id"], posts[1]["redeem_request_id"])
40
+
41
+
42
+ if __name__ == "__main__":
43
+ unittest.main()