39 lines
1.0 KiB
Go
39 lines
1.0 KiB
Go
package main
|
|
|
|
import "testing"
|
|
|
|
func TestParseLabelsFromLines(t *testing.T) {
|
|
labels, err := parseLabels(`
|
|
traefik.http.routers.{router}.priority=100
|
|
# comment
|
|
traefik.http.routers.{router}.middlewares=tunnel-{tunKey}-headers
|
|
`)
|
|
if err != nil {
|
|
t.Fatalf("parseLabels: %v", err)
|
|
}
|
|
|
|
if labels["traefik.http.routers.{router}.priority"] != "100" {
|
|
t.Fatalf("expected priority label, got %#v", labels)
|
|
}
|
|
if labels["traefik.http.routers.{router}.middlewares"] != "tunnel-{tunKey}-headers" {
|
|
t.Fatalf("expected middlewares label, got %#v", labels)
|
|
}
|
|
}
|
|
|
|
func TestParseLabelsFromJSON(t *testing.T) {
|
|
labels, err := parseLabels(`{" traefik.http.routers.{router}.priority ":" 100 "}`)
|
|
if err != nil {
|
|
t.Fatalf("parseLabels: %v", err)
|
|
}
|
|
|
|
if labels["traefik.http.routers.{router}.priority"] != "100" {
|
|
t.Fatalf("expected trimmed JSON label, got %#v", labels)
|
|
}
|
|
}
|
|
|
|
func TestParseLabelsRejectsInvalidLine(t *testing.T) {
|
|
if _, err := parseLabels("not-a-label"); err == nil {
|
|
t.Fatalf("expected invalid label line to fail")
|
|
}
|
|
}
|