package main import ( "net/http" "net/http/httptest" "os" "testing" "cmautobuy/admin/config" "cmautobuy/admin/repository" ) // TestAdmin_公网MySQLTLS页面冒烟走和 main 相同的数据库及路由组装路径。 // 只有显式开启时才连接线上 autobuy;测试只追加 schema migration,不清理业务表。 func TestAdmin_公网MySQLTLS页面冒烟(t *testing.T) { if os.Getenv("CMAUTOBUY_MYSQL_PUBLIC_TLS_TEST") != "1" { t.Skip("未启用公网 MySQL TLS 页面冒烟") } cfg, err := config.LoadDatabaseFromEnv() if err != nil { t.Fatal(err) } db, err := repository.OpenMySQL(cfg) if err != nil { t.Fatal(err) } defer db.Close() if err := repository.MigrateMySQL(db); err != nil { t.Fatal(err) } router, err := newRouter(db) if err != nil { t.Fatal(err) } request := httptest.NewRequest(http.MethodGet, "/", nil) response := httptest.NewRecorder() router.ServeHTTP(response, request) if response.Code < 200 || response.Code >= 400 { t.Fatalf("首页状态码=%d,期望成功或重定向", response.Code) } }