fix:恢复旧配置迁移逻辑
恢复 planner/replyer 旧字段到新 schema 的迁移逻辑。 补充回归测试,确保旧版 bot 配置仍可正常加载。
This commit is contained in:
@@ -33,3 +33,47 @@ def test_legacy_learning_list_with_numeric_fourth_column_is_migrated():
|
||||
"enable_jargon_learning": False,
|
||||
},
|
||||
]
|
||||
|
||||
|
||||
def test_visual_multimodal_planner_is_migrated_to_planner_mode():
|
||||
payload = {"visual": {"multimodal_planner": True}}
|
||||
|
||||
result = try_migrate_legacy_bot_config_dict(payload)
|
||||
|
||||
assert result.migrated is True
|
||||
assert "visual.multimodal_planner_moved_to_visual.planner_mode" in result.reason
|
||||
assert result.data["visual"]["planner_mode"] == "multimodal"
|
||||
assert "multimodal_planner" not in result.data["visual"]
|
||||
|
||||
|
||||
def test_chat_multimodal_planner_is_migrated_to_visual_planner_mode():
|
||||
payload = {"chat": {"multimodal_planner": True}}
|
||||
|
||||
result = try_migrate_legacy_bot_config_dict(payload)
|
||||
|
||||
assert result.migrated is True
|
||||
assert "chat.multimodal_planner_moved_to_visual.planner_mode" in result.reason
|
||||
assert result.data["visual"]["planner_mode"] == "multimodal"
|
||||
assert "multimodal_planner" not in result.data["chat"]
|
||||
|
||||
|
||||
def test_visual_multimodal_replyer_is_migrated_to_replyer_mode():
|
||||
payload = {"visual": {"multimodal_replyer": True}}
|
||||
|
||||
result = try_migrate_legacy_bot_config_dict(payload)
|
||||
|
||||
assert result.migrated is True
|
||||
assert "visual.multimodal_replyer_moved_to_visual.replyer_mode" in result.reason
|
||||
assert result.data["visual"]["replyer_mode"] == "multimodal"
|
||||
assert "multimodal_replyer" not in result.data["visual"]
|
||||
|
||||
|
||||
def test_chat_replyer_generator_type_is_migrated_to_replyer_mode():
|
||||
payload = {"chat": {"replyer_generator_type": "legacy"}}
|
||||
|
||||
result = try_migrate_legacy_bot_config_dict(payload)
|
||||
|
||||
assert result.migrated is True
|
||||
assert "chat.replyer_generator_type_moved_to_visual.replyer_mode" in result.reason
|
||||
assert result.data["visual"]["replyer_mode"] == "text"
|
||||
assert "replyer_generator_type" not in result.data["chat"]
|
||||
|
||||
Reference in New Issue
Block a user