feat(ack): add Feishu bug intake
This commit is contained in:
@@ -148,6 +148,39 @@ class AckTaskValidationTests(unittest.TestCase):
|
||||
self.assertEqual(result.returncode, 0, result.stderr)
|
||||
self.assertIn("任务板校验通过", result.stdout)
|
||||
|
||||
def test_legacy_sources_remain_open_while_feishu_sources_are_strict(self) -> None:
|
||||
for legacy_source in (
|
||||
"manual",
|
||||
{"kind": "jira", "ref": "JIRA-123", "project": "OPS"},
|
||||
):
|
||||
with self.subTest(legacy_source=legacy_source):
|
||||
board = valid_knowledge_board()
|
||||
board["tasks"][0]["source"] = legacy_source
|
||||
self.assert_board_accepted_in_all_modes(board)
|
||||
|
||||
valid_ref = "feishu-base:sha256:" + "a" * 64
|
||||
valid = valid_knowledge_board()
|
||||
valid["tasks"][0]["source"] = {
|
||||
"kind": "feishu-base",
|
||||
"ref": valid_ref,
|
||||
"recordId": "recA",
|
||||
"updatedAt": "2026-08-01T12:00:00Z",
|
||||
}
|
||||
self.assert_board_accepted_in_all_modes(valid)
|
||||
|
||||
raw = copy.deepcopy(valid)
|
||||
raw["tasks"][0]["source"]["ref"] = "feishu-base:tenant:base-secret:recA"
|
||||
self.assert_board_rejected_in_all_modes(
|
||||
raw,
|
||||
"必须是不透明 feishu-base SHA-256 引用",
|
||||
)
|
||||
|
||||
duplicate = copy.deepcopy(valid)
|
||||
second = copy.deepcopy(duplicate["tasks"][0])
|
||||
second["id"] = "T-2"
|
||||
duplicate["tasks"].append(second)
|
||||
self.assert_board_rejected_in_all_modes(duplicate, "来源引用重复")
|
||||
|
||||
def test_v010_requires_structured_routing_but_v009_remains_readable(self) -> None:
|
||||
current = valid_knowledge_board()
|
||||
current["ackVersion"] = "0.10.0"
|
||||
|
||||
Reference in New Issue
Block a user