Files
geo/server/internal/tenant/app/knowledge_url_parser_test.go
T
root c16a684add
Deployment Config CI / Deployment Config (push) Successful in 1m35s
Backend CI / Backend (push) Successful in 17m20s
fix(browser-fetch): allow baidu source fallback
2026-05-11 14:30:58 +08:00

40 lines
1.1 KiB
Go

package app
import (
"fmt"
"net/http"
"strings"
"testing"
)
func TestBrowserFetchDomainAllowedMatchesSubdomain(t *testing.T) {
t.Parallel()
if !browserFetchDomainAllowed("https://mbd.baidu.com/bh/m/detail/ar_10234112381636647949", []string{"baidu.com"}) {
t.Fatalf("expected baidu.com to allow mbd.baidu.com")
}
if browserFetchDomainAllowed("https://notbaidu.com/article", []string{"baidu.com"}) {
t.Fatalf("expected baidu.com not to allow notbaidu.com")
}
}
func TestClassifiedSourceFetchErrorIncludesBrowserFallbackFailure(t *testing.T) {
t.Parallel()
err := classifySourceFetchError("https://mbd.baidu.com/article", fmt.Errorf(
"webpage parser failed: status=%d body=invalid link; browser fetch fallback failed: domain is not allowed",
http.StatusInternalServerError,
))
message := err.Error()
for _, expected := range []string{
"source website fetch restricted status=500",
"webpage parser failed",
"browser fetch fallback failed: domain is not allowed",
} {
if !strings.Contains(message, expected) {
t.Fatalf("classified error = %q, want %q", message, expected)
}
}
}