69 lines
2.0 KiB
Go
69 lines
2.0 KiB
Go
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)
|
|
}
|
|
}
|