20 lines
670 B
Go
20 lines
670 B
Go
package service
|
|
|
|
import "testing"
|
|
|
|
func TestValidateOutboundURLRejectsPrivateHosts(t *testing.T) {
|
|
t.Setenv("CANVAS_ALLOW_PRIVATE_UPSTREAMS", "false")
|
|
for _, rawURL := range []string{"http://127.0.0.1:8080", "http://localhost:8080", "http://169.254.169.254/latest/meta-data"} {
|
|
if _, err := ValidateOutboundURL(rawURL); err == nil {
|
|
t.Fatalf("ValidateOutboundURL(%q) should fail", rawURL)
|
|
}
|
|
}
|
|
}
|
|
|
|
func TestValidateOutboundURLAllowsExplicitPrivateUpstreamOverride(t *testing.T) {
|
|
t.Setenv("CANVAS_ALLOW_PRIVATE_UPSTREAMS", "true")
|
|
if _, err := ValidateOutboundURL("http://127.0.0.1:8080"); err != nil {
|
|
t.Fatalf("ValidateOutboundURL() error = %v", err)
|
|
}
|
|
}
|