mirror of
https://github.com/prymitive/karma
synced 2026-05-07 03:26:52 +00:00
63 lines
1.4 KiB
Go
63 lines
1.4 KiB
Go
package alertmanager
|
|
|
|
import (
|
|
"testing"
|
|
)
|
|
|
|
type uriTest struct {
|
|
rawURI string
|
|
proxy bool
|
|
publicURI string
|
|
}
|
|
|
|
var uriTests = []uriTest{
|
|
{
|
|
rawURI: "http://alertmanager.example.com",
|
|
proxy: false,
|
|
publicURI: "http://alertmanager.example.com",
|
|
},
|
|
{
|
|
rawURI: "http://alertmanager.example.com/foo",
|
|
proxy: false,
|
|
publicURI: "http://alertmanager.example.com/foo",
|
|
},
|
|
{
|
|
rawURI: "http://alertmanager.example.com",
|
|
proxy: true,
|
|
publicURI: "/proxy/alertmanager/test",
|
|
},
|
|
{
|
|
rawURI: "http://alertmanager.example.com/foo",
|
|
proxy: true,
|
|
publicURI: "/proxy/alertmanager/test",
|
|
},
|
|
{
|
|
rawURI: "http://user:pass@alertmanager.example.com",
|
|
proxy: false,
|
|
publicURI: "http://user:pass@alertmanager.example.com",
|
|
},
|
|
{
|
|
rawURI: "https://user:pass@alertmanager.example.com/foo",
|
|
proxy: false,
|
|
publicURI: "https://user:pass@alertmanager.example.com/foo",
|
|
},
|
|
{
|
|
rawURI: "http://user:pass@alertmanager.example.com",
|
|
proxy: true,
|
|
publicURI: "/proxy/alertmanager/test",
|
|
},
|
|
}
|
|
|
|
func TestAlertmanagerURI(t *testing.T) {
|
|
for _, test := range uriTests {
|
|
am, err := NewAlertmanager("test", test.rawURI, WithProxy(test.proxy))
|
|
if err != nil {
|
|
t.Error(err)
|
|
}
|
|
if am.PublicURI() != test.publicURI {
|
|
t.Errorf("Public URI mismatch, expected '%s' => '%s', got '%s' (proxy: %v)",
|
|
test.rawURI, test.publicURI, am.PublicURI(), test.proxy)
|
|
}
|
|
}
|
|
}
|