mirror of
https://github.com/rcourtman/Pulse.git
synced 2026-05-07 00:37:36 +00:00
65 lines
2 KiB
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)
|
|
}
|
|
})
|
|
}
|
|
}
|