mirror of
https://github.com/VictoriaMetrics/VictoriaMetrics.git
synced 2024-12-01 14:47:38 +00:00
26 lines
797 B
Go
26 lines
797 B
Go
package main
|
|
|
|
import (
|
|
"net/url"
|
|
"testing"
|
|
)
|
|
|
|
func TestCreateTargetURL(t *testing.T) {
|
|
f := func(prefix, requestURI, expectedTarget string) {
|
|
t.Helper()
|
|
u, err := url.Parse(requestURI)
|
|
if err != nil {
|
|
t.Fatalf("cannot parse %q: %s", requestURI, err)
|
|
}
|
|
target := createTargetURL(prefix, u)
|
|
if target != expectedTarget {
|
|
t.Fatalf("unexpected target; got %q; want %q", target, expectedTarget)
|
|
}
|
|
}
|
|
f("http://foo.bar", "", "http://foo.bar/.")
|
|
f("http://foo.bar", "/", "http://foo.bar/")
|
|
f("http://foo.bar", "a/b?c=d", "http://foo.bar/a/b?c=d")
|
|
f("https://sss:3894/x/y", "/z", "https://sss:3894/x/y/z")
|
|
f("https://sss:3894/x/y", "/../../aaa", "https://sss:3894/x/y/aaa")
|
|
f("https://sss:3894/x/y", "/./asd/../../aaa?a=d&s=s/../d", "https://sss:3894/x/y/aaa?a=d&s=s/../d")
|
|
}
|