diff --git a/backend/internal/database/models/listener_test.go b/backend/internal/database/models/listener_test.go index 6940584..ff09309 100644 --- a/backend/internal/database/models/listener_test.go +++ b/backend/internal/database/models/listener_test.go @@ -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 { diff --git a/backend/internal/listener/p2_test.go b/backend/internal/listener/p2_test.go index 1ec7736..0215072 100644 --- a/backend/internal/listener/p2_test.go +++ b/backend/internal/listener/p2_test.go @@ -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") + } } diff --git a/backend/internal/mihomo/config/generator_listener_auth_test.go b/backend/internal/mihomo/config/generator_listener_auth_test.go index 10a7221..974e6ba 100644 --- a/backend/internal/mihomo/config/generator_listener_auth_test.go +++ b/backend/internal/mihomo/config/generator_listener_auth_test.go @@ -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"]) + } }