micro/registry/etcd/etcd_test.go
Asim Aslam aefd052dd7
Etcd router bug fixing etcd path prefix matching name (#1899)
* add logging and don't get nodes where they exist in router

* add more logging

* Fix the etcd bug for name matching of keys and prefixes matching names
2020-08-06 12:42:14 +01:00

54 lines
789 B
Go

package etcd
import (
"testing"
)
// test whether the name matches
func TestEtcdHasName(t *testing.T) {
testCases := []struct {
key string
prefix string
name string
expect bool
}{
{
"/micro/registry/micro/registry",
"/micro/registry",
"registry",
true,
},
{
"/micro/registry/micro/store",
"/micro/registry",
"registry",
false,
},
{
"/prefix/baz/*/registry",
"/prefix/baz",
"registry",
true,
},
{
"/prefix/baz/micro/registry",
"/prefix/baz",
"store",
false,
},
{
"/prefix/baz/micro/registry",
"/prefix/baz",
"registry",
true,
},
}
for _, c := range testCases {
v := hasName(c.key, c.prefix, c.name)
if v != c.expect {
t.Fatalf("Expected %t for %v got: %t", c.expect, c, v)
}
}
}