Release beta 2.0.1.1021
check / local-gate (push) Failing after 5m16s

This commit is contained in:
JWeBot Contributors
2026-10-21 17:38:47 +08:00
parent e4365841ed
commit 645a282b22
17 changed files with 778 additions and 124 deletions
+27 -27
View File
@@ -20,7 +20,8 @@ SPEC.loader.exec_module(MODULE)
class ReleaseUpdateTests(unittest.TestCase):
release = "beta 2.0.0.1021"
release = "beta 2.0.1.1021"
major_release = "beta 2.0.0.1021"
def setUp(self):
self.temporary = tempfile.TemporaryDirectory()
@@ -111,7 +112,8 @@ class ReleaseUpdateTests(unittest.TestCase):
self.assertEqual(summary, "第一行更新摘要, 同一条摘要可以换行。")
announcement = MODULE.build_announcement(self.release, summary)
self.assertIn(f"{self.release} 更新现已完成", announcement)
self.assertIn("更新补偿:摩拉 x400,原石 x2", announcement)
self.assertIn("更新补偿:摩拉 x200", announcement)
self.assertNotIn("原石 x", announcement)
self.assertNotIn("第二条", announcement)
def test_policy_release_announces_primogem(self):
@@ -126,9 +128,9 @@ class ReleaseUpdateTests(unittest.TestCase):
self.assertIn("更新补偿:摩拉 x200,原石 x1", announcement)
def test_major_release_announces_larger_compensation(self):
self.assertEqual(MODULE.mora_compensation_amount(self.release), 400)
self.assertEqual(MODULE.primogem_compensation_amount(self.release), 2)
announcement = MODULE.build_announcement(self.release, "架构更新完成。")
self.assertEqual(MODULE.mora_compensation_amount(self.major_release), 400)
self.assertEqual(MODULE.primogem_compensation_amount(self.major_release), 2)
announcement = MODULE.build_announcement(self.major_release, "架构更新完成。")
self.assertIn("更新补偿:摩拉 x400,原石 x2", announcement)
def test_patch_release_without_policy_does_not_announce_primogem(self):
@@ -157,14 +159,22 @@ class ReleaseUpdateTests(unittest.TestCase):
self.assertEqual(delivered[0][1], "group-a")
self.assertEqual(
delivered[0][2],
(
"Taffy 准备停机更新,本次更新是架构级大版本更新,"
f"预期版本{self.release},离线的时候保持耐心迎接Taffy的归来哦~"
),
f"Taffy 准备停机更新到 {self.release},会短暂离线一下;别慌,我很快回来喵",
)
self.assertIn("shutdown", delivered[0][3])
self.assertEqual([state["balance"] for state in self.account_states()], [1000, 50])
def test_major_release_shutdown_message_is_ceremonial(self):
message = MODULE.build_lifecycle_message(self.major_release, "shutdown")
self.assertEqual(
message,
(
"Taffy 准备停机更新,本次更新是架构级大版本更新,"
f"预期版本{self.major_release},离线的时候保持耐心迎接Taffy的归来哦~"
),
)
def test_release_update_grants_once_and_announces_once(self):
delivered = []
@@ -197,28 +207,18 @@ class ReleaseUpdateTests(unittest.TestCase):
self.assertEqual(len(delivered), 1)
self.assertEqual(delivered[0][1], "group-a")
self.assertIn("更新摩拉账户并修复重复回复问题", delivered[0][2])
self.assertEqual([state["balance"] for state in self.account_states()], [1400, 450])
self.assertEqual([state["balance"] for state in self.account_states()], [1200, 250])
for state in self.account_states():
self.assertEqual(state["primogems"], 2)
self.assertEqual(state["primogems"], 0)
matches = [
event
for event in state["coin_events"]
if event["delta"] == 400
if event["delta"] == 200
and event["reason"] == f"{self.release} 版本更新补偿"
]
self.assertEqual(len(matches), 1)
self.assertEqual(matches[0]["created_at"], applied_at.timestamp())
primogem_matches = [
event
for event in state["primogem_events"]
if event["reason"] == f"{self.release} 版本更新补偿"
]
self.assertEqual(len(primogem_matches), 1)
self.assertEqual(primogem_matches[0]["delta"], 2)
self.assertEqual(
primogem_matches[0]["created_at"],
applied_at.timestamp(),
)
self.assertEqual(state["primogem_events"], [])
self.assertEqual(self.announcement_marker()["state"], "delivered")
self.assertEqual(len(list(self.backups.glob("*.sqlite3"))), 1)
@@ -235,8 +235,8 @@ class ReleaseUpdateTests(unittest.TestCase):
delivery_helper=self.delivery_helper,
deliverer=uncertain,
)
self.assertEqual([state["balance"] for state in self.account_states()], [1400, 450])
self.assertEqual([state["primogems"] for state in self.account_states()], [2, 2])
self.assertEqual([state["balance"] for state in self.account_states()], [1200, 250])
self.assertEqual([state["primogems"] for state in self.account_states()], [0, 0])
self.assertEqual(self.announcement_marker()["state"], "uncertain")
called = []
@@ -266,8 +266,8 @@ class ReleaseUpdateTests(unittest.TestCase):
)
self.assertEqual(result["compensation"], "already_applied")
self.assertEqual(len(called), 1)
self.assertEqual([state["balance"] for state in self.account_states()], [1400, 450])
self.assertEqual([state["primogems"] for state in self.account_states()], [2, 2])
self.assertEqual([state["balance"] for state in self.account_states()], [1200, 250])
self.assertEqual([state["primogems"] for state in self.account_states()], [0, 0])
self.assertEqual(self.announcement_marker()["state"], "delivered")