更新代码
This commit is contained in:
1 parent
eda7e8bc96
commit
6ff632e0b0
19 files changed
+2033
-197
No files matched your search
@@ -12,9 +12,10 @@ import (
|
||||
func TestDefaultIsUsable(t *testing.T) {
|
||||
cfg := Default()
|
||||
cfg.Normalize()
|
||||
cfg.ensureModel()
|
||||
|
||||
if len(cfg.Models) == 0 {
|
||||
t.Fatal("Normalize 后应至少有一份接入点")
|
||||
t.Fatal("首次运行应有一份空白接入点")
|
||||
}
|
||||
if _, ok := cfg.ActiveModel(); !ok {
|
||||
t.Fatal("Normalize 后应有生效接入点")
|
||||
@@ -33,9 +34,10 @@ func TestDefaultIsUsable(t *testing.T) {
|
||||
func TestNormalizeFillsZeroValues(t *testing.T) {
|
||||
cfg := &Config{}
|
||||
cfg.Normalize()
|
||||
cfg.ensureModel()
|
||||
|
||||
if len(cfg.Models) == 0 {
|
||||
t.Fatal("Normalize 应补全接入点列表")
|
||||
t.Fatal("首次运行应补上一份接入点")
|
||||
}
|
||||
if cfg.Models[0].Format != llm.FormatOpenAI {
|
||||
t.Fatalf("默认接入点应为 OpenAI 兼容格式,实际 %s", cfg.Models[0].Format)
|
||||
@@ -105,6 +107,7 @@ func TestNormalizeTheme(t *testing.T) {
|
||||
func TestCloneIsIndependent(t *testing.T) {
|
||||
cfg := Default()
|
||||
cfg.Normalize()
|
||||
cfg.ensureModel()
|
||||
|
||||
cp := cfg.Clone()
|
||||
cp.Models[0].Model = "changed"
|
||||
@@ -173,6 +176,53 @@ func TestRemoveModelClearsActive(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestRemoveModelStaysRemoved(t *testing.T) {
|
||||
cfg := Default()
|
||||
cfg.Models = []Profile{
|
||||
{Name: "a", Model: "m-a"},
|
||||
{Name: "b", Model: "m-b"},
|
||||
{Name: "c", Model: "m-c"},
|
||||
}
|
||||
cfg.Active = "b"
|
||||
cfg.Normalize()
|
||||
|
||||
if !cfg.RemoveModel("b") {
|
||||
t.Fatal("应能删除接入点")
|
||||
}
|
||||
// 再归一化一次,模拟落盘后重新加载:被删的接入点不该复活。
|
||||
cfg.Normalize()
|
||||
|
||||
if len(cfg.Models) != 2 {
|
||||
t.Fatalf("删除后应只剩 2 个接入点,实际 %d: %+v", len(cfg.Models), cfg.Models)
|
||||
}
|
||||
for _, m := range cfg.Models {
|
||||
if m.Name == "b" {
|
||||
t.Fatalf("被删的接入点不该被补回来: %+v", cfg.Models)
|
||||
}
|
||||
}
|
||||
active, ok := cfg.ActiveModel()
|
||||
if !ok {
|
||||
t.Fatal("应自动选中一个剩余接入点")
|
||||
}
|
||||
if active.Name != "a" && active.Name != "c" {
|
||||
t.Fatalf("生效项应指向剩余的接入点,实际 %s", active.Name)
|
||||
}
|
||||
}
|
||||
|
||||
func TestNormalizeKeepsEmptyModelList(t *testing.T) {
|
||||
// 用户把接入点删光后,Normalize 不该再偷偷补一个回来,
|
||||
// 否则"删除"看起来完全没生效。
|
||||
cfg := Default()
|
||||
cfg.Normalize()
|
||||
|
||||
if len(cfg.Models) != 0 {
|
||||
t.Fatalf("Normalize 不应凭空补接入点: %+v", cfg.Models)
|
||||
}
|
||||
if cfg.Active != "" {
|
||||
t.Fatalf("没有接入点时 Active 应为空,实际 %s", cfg.Active)
|
||||
}
|
||||
}
|
||||
|
||||
func TestMigrateLegacyProfiles(t *testing.T) {
|
||||
cfg := Default()
|
||||
cfg.migrateLegacy(legacyConfig{
|
||||
|
||||
Reference in new issue
Block a user