修复全量审查问题;设置接口PATCH化;回传指纹加固
CI / test (push) Successful in 32s

This commit is contained in:
2026-07-22 16:51:23 +08:00
parent 0614ef22af
commit f51fb6c722
66 changed files with 3997 additions and 687 deletions
+24
View File
@@ -324,3 +324,27 @@ func TestProxySetTenantsRebind(t *testing.T) {
}
}
}
// TestPersistGeoSkipsDeletedProxy 锁定探测落库防线:代理已删时零命中放弃,
// 不得经 Save 回退 Create 复活已删代理。
func TestPersistGeoSkipsDeletedProxy(t *testing.T) {
svc, db := newProxyEnv(t)
ctx := context.Background()
row := model.Proxy{Name: "p", Type: "socks5", Host: "h", Port: 1080}
if err := db.Create(&row).Error; err != nil {
t.Fatalf("seed proxy: %v", err)
}
svc.persistGeo(ctx, row.ID, geoResult{Country: "DE", City: "FRA"})
var fresh model.Proxy
if err := db.First(&fresh, row.ID).Error; err != nil || fresh.Country != "DE" || fresh.GeoAt == nil {
t.Fatalf("正常落库 = %+v, %v", fresh, err)
}
if err := db.Delete(&model.Proxy{}, row.ID).Error; err != nil {
t.Fatalf("delete proxy: %v", err)
}
svc.persistGeo(ctx, row.ID, geoResult{Country: "US"})
var n int64
if err := db.Model(&model.Proxy{}).Count(&n).Error; err != nil || n != 0 {
t.Fatalf("已删代理被复活: count=%d (%v), want 0", n, err)
}
}