github.com/weaveworks/common@v0.0.0-20230728070032-dd9e68f319d5/middleware/instrument_test.go (about)

     1  package middleware_test
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/weaveworks/common/middleware"
     7  )
     8  
     9  func TestMakeLabelValue(t *testing.T) {
    10  	for input, want := range map[string]string{
    11  		"/":                      "root", // special case
    12  		"//":                     "root", // unintended consequence of special case
    13  		"a":                      "a",
    14  		"/foo":                   "foo",
    15  		"foo/":                   "foo",
    16  		"/foo/":                  "foo",
    17  		"/foo/bar":               "foo_bar",
    18  		"foo/bar/":               "foo_bar",
    19  		"/foo/bar/":              "foo_bar",
    20  		"/foo/{orgName}/Bar":     "foo_orgname_bar",
    21  		"/foo/{org_name}/Bar":    "foo_org_name_bar",
    22  		"/foo/{org__name}/Bar":   "foo_org_name_bar",
    23  		"/foo/{org___name}/_Bar": "foo_org_name_bar",
    24  		"/foo.bar/baz.qux/":      "foo_bar_baz_qux",
    25  	} {
    26  		if have := middleware.MakeLabelValue(input); want != have {
    27  			t.Errorf("%q: want %q, have %q", input, want, have)
    28  		}
    29  	}
    30  }