package seoser import ( "net/http/httptest" "testing" "videoweb/app/service/configser" "github.com/gin-gonic/gin" ) func TestResolveSiteURLUsesForeverURLAddr(t *testing.T) { cfg := configser.AppConfigVM{ ForeverURLAddr: "https://forever.prod.com/path", } c, _ := gin.CreateTestContext(httptest.NewRecorder()) c.Request = httptest.NewRequest("GET", "https://temp.example.com/", nil) got := ResolveSiteURL(c, cfg) want := "https://forever.prod.com" if got != want { t.Fatalf("ResolveSiteURL() = %q, want %q", got, want) } } func TestResolveSiteURLFallbackRequestHost(t *testing.T) { cfg := configser.AppConfigVM{} c, _ := gin.CreateTestContext(httptest.NewRecorder()) c.Request = httptest.NewRequest("GET", "https://temp.example.com/", nil) got := ResolveSiteURL(c, cfg) want := "https://temp.example.com" if got != want { t.Fatalf("ResolveSiteURL() = %q, want %q", got, want) } } func TestPageCanonicalURLHomepageUsesSiteURL(t *testing.T) { c, _ := gin.CreateTestContext(httptest.NewRecorder()) c.Request = httptest.NewRequest("GET", "https://mirror.example.com/", nil) got := PageCanonicalURL("https://www.prod.com", "", c) want := "https://www.prod.com/" if got != want { t.Fatalf("PageCanonicalURL() = %q, want %q", got, want) } } func TestPageCanonicalURLSubpageUsesSiteURLAndPath(t *testing.T) { c, _ := gin.CreateTestContext(httptest.NewRecorder()) c.Request = httptest.NewRequest("GET", "https://mirror.example.com/list?theme=1&page=2", nil) got := PageCanonicalURL("https://www.prod.com", "", c) want := "https://www.prod.com/list?theme=1&page=2" if got != want { t.Fatalf("PageCanonicalURL() = %q, want %q", got, want) } } func TestPageCanonicalURLFallbackForeverURLAddr(t *testing.T) { c, _ := gin.CreateTestContext(httptest.NewRecorder()) c.Request = httptest.NewRequest("GET", "/detail/example-show", nil) got := PageCanonicalURL("", "https://forever.prod.com/app", c) want := "https://forever.prod.com/detail/example-show" if got != want { t.Fatalf("PageCanonicalURL() = %q, want %q", got, want) } }