aefd052dd7
* 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
54 lines
789 B
Go
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)
|
|
}
|
|
}
|
|
}
|