func TestAllRoles(t *testing.T) { d := &testDoer{ get: []etcdserver.Response{ { Event: &etcdstore.Event{ Action: etcdstore.Get, Node: &etcdstore.NodeExtern{ Nodes: etcdstore.NodeExterns([]*etcdstore.NodeExtern{ { Key: StorePermsPrefix + "/roles/animal", }, { Key: StorePermsPrefix + "/roles/human", }, }), }, }, }, }, explicitlyEnabled: true, } expected := []string{"animal", "human", "root"} s := store{server: d, timeout: testTimeout, ensuredOnce: false} out, err := s.AllRoles() if err != nil { t.Error("Unexpected error", err) } if !reflect.DeepEqual(out, expected) { t.Error("AllRoles doesn't match given store. Got", out, "expected", expected) } }
func TestAllUsers(t *testing.T) { d := &testDoer{ get: []etcdserver.Response{ { Event: &etcdstore.Event{ Action: etcdstore.Get, Node: &etcdstore.NodeExtern{ Nodes: etcdstore.NodeExterns([]*etcdstore.NodeExtern{ { Key: StorePermsPrefix + "/users/cat", }, { Key: StorePermsPrefix + "/users/dog", }, }), }, }, }, }, } expected := []string{"cat", "dog"} s := store{server: d, timeout: testTimeout, ensuredOnce: false} users, err := s.AllUsers() if err != nil { t.Error("Unexpected error", err) } if !reflect.DeepEqual(users, expected) { t.Error("AllUsers doesn't match given store. Got", users, "expected", expected) } }