fix(ci): BaseModel test literals for go test/vet

This commit is contained in:
風雪 committed 2026-08-17 16:25:26 +08:00
1 parent c4b185f91b
commit d9fcbae4e2
3 files changed
+33 -12

No files matched your search

@@ -6,7 +6,7 @@ import (
)
func TestListenerJSONUsesLowercaseID(t *testing.T) {
listener := Listener{ID: 42, Name: "test-listener"}
listener := Listener{BaseModel: BaseModel{ID: 42}, Name: "test-listener"}
data, err := json.Marshal(listener)
if err != nil {
+18 -5
View File
@@ -7,15 +7,28 @@ import (
)
func TestListenerTemplateModel(t *testing.T) {
t := &models.ListenerTemplate{Name: "vless-default", Protocol: "vless", Config: `{"flow":"xtls-rprx-vision"}`}
if t.Name == "" || t.Protocol == "" { t.Fatal("template fields unexpectedly empty") }
tpl := &models.ListenerTemplate{Name: "vless-default", Protocol: "vless", Config: `{"flow":"xtls-rprx-vision"}`}
if tpl.Name == "" || tpl.Protocol == "" {
t.Fatal("template fields unexpectedly empty")
}
}
func TestListenerVersionSnapshotIsJSON(t *testing.T) {
l := &models.Listener{ID: 1, Name: "demo", Protocol: "vless", Port: "443", BindAddress: "0.0.0.0", Config: `{}`}
if err := ValidateModel(l); err != nil { t.Fatalf("valid listener rejected: %v", err) }
l := &models.Listener{
BaseModel: models.BaseModel{ID: 1},
Name: "demo",
Protocol: "vless",
Port: "443",
BindAddress: "0.0.0.0",
Config: `{}`,
}
if err := ValidateModel(l); err != nil {
t.Fatalf("valid listener rejected: %v", err)
}
}
func TestBatchIDsRequireNonEmpty(t *testing.T) {
if len([]uint{}) != 0 { t.Fatal("unexpected non-empty ids") }
if len([]uint{}) != 0 {
t.Fatal("unexpected non-empty ids")
}
}
@@ -7,15 +7,23 @@ import (
)
func TestGenerateListenersUsesModelTLS(t *testing.T) {
listeners := []models.Listener{{ID: 1, Name: "vless", Protocol: "vless", Port: "443", TLS: true, Enabled: true}}
listeners := []models.Listener{{BaseModel: models.BaseModel{ID: 1}, Name: "vless", Protocol: "vless", Port: "443", TLS: true, Enabled: true}}
got, err := generateListeners(listeners, nil)
if err != nil { t.Fatal(err) }
if len(got) != 1 || got[0]["tls"] != true { t.Fatalf("expected tls=true, got %#v", got) }
if err != nil {
t.Fatal(err)
}
if len(got) != 1 || got[0]["tls"] != true {
t.Fatalf("expected tls=true, got %#v", got)
}
}
func TestGenerateListenersDoesNotFallbackWhenCredentialStateIsExplicitlyEmpty(t *testing.T) {
listeners := []models.Listener{{ID: 1, Name: "vless", Protocol: "vless", Port: "443", Enabled: true, Config: `{"users":[{"uuid":"legacy"}]}`}}
listeners := []models.Listener{{BaseModel: models.BaseModel{ID: 1}, Name: "vless", Protocol: "vless", Port: "443", Enabled: true, Config: `{"users":[{"uuid":"legacy"}]}`}}
got, err := generateListeners(listeners, map[uint][]Credential{1: {}})
if err != nil { t.Fatal(err) }
if _, ok := got[0]["users"]; ok { t.Fatalf("legacy users leaked into explicitly empty credential state: %#v", got[0]["users"]) }
if err != nil {
t.Fatal(err)
}
if _, ok := got[0]["users"]; ok {
t.Fatalf("legacy users leaked into explicitly empty credential state: %#v", got[0]["users"])
}
}