Pulse/pkg/licensing/upgrade_test.go

65 lines
2 KiB
Go

package licensing
import "testing"
func TestResolveProTrialSignupURL_DefaultWhenUnset(t *testing.T) {
if got := ResolveProTrialSignupURL(""); got != DefaultProTrialSignupURL {
t.Fatalf("ResolveProTrialSignupURL(\"\") = %q, want %q", got, DefaultProTrialSignupURL)
}
}
func TestResolveProTrialSignupURL_UsesValidOverride(t *testing.T) {
const override = "https://example.com/start-pro-trial?src=test"
if got := ResolveProTrialSignupURL(override); got != override {
t.Fatalf("ResolveProTrialSignupURL() = %q, want %q", got, override)
}
}
func TestResolveProTrialSignupURL_RejectsInvalidOverrides(t *testing.T) {
testCases := []string{
"relative/path",
"javascript:alert(1)",
"https://",
"ftp://example.com/start-pro-trial",
}
for _, tc := range testCases {
t.Run(tc, func(t *testing.T) {
if got := ResolveProTrialSignupURL(tc); got != DefaultProTrialSignupURL {
t.Fatalf("ResolveProTrialSignupURL() = %q, want default %q", got, DefaultProTrialSignupURL)
}
})
}
}
func TestResolvePulseAccountPortalURL_DefaultWhenUnset(t *testing.T) {
if got := ResolvePulseAccountPortalURL(""); got != DefaultPulseAccountPortalURL {
t.Fatalf("ResolvePulseAccountPortalURL(\"\") = %q, want %q", got, DefaultPulseAccountPortalURL)
}
}
func TestResolvePulseAccountPortalURL_UsesValidOverride(t *testing.T) {
const override = "https://example.com/portal?src=test"
if got := ResolvePulseAccountPortalURL(override); got != override {
t.Fatalf("ResolvePulseAccountPortalURL() = %q, want %q", got, override)
}
}
func TestResolvePulseAccountPortalURL_RejectsInvalidOverrides(t *testing.T) {
testCases := []string{
"relative/path",
"javascript:alert(1)",
"https://",
"ftp://example.com/portal",
}
for _, tc := range testCases {
t.Run(tc, func(t *testing.T) {
if got := ResolvePulseAccountPortalURL(tc); got != DefaultPulseAccountPortalURL {
t.Fatalf("ResolvePulseAccountPortalURL() = %q, want default %q", got, DefaultPulseAccountPortalURL)
}
})
}
}