예제 #1
0
파일: auth_test.go 프로젝트: chancez/mantle
func TestAllRoles(t *testing.T) {
	d := &testDoer{
		get: []etcdserver.Response{
			{
				Event: &store.Event{
					Action: store.Get,
					Node: &store.NodeExtern{
						Nodes: store.NodeExterns([]*store.NodeExtern{
							&store.NodeExtern{
								Key: StorePermsPrefix + "/roles/animal",
							},
							&store.NodeExtern{
								Key: StorePermsPrefix + "/roles/human",
							},
						}),
					},
				},
			},
		},
		explicitlyEnabled: true,
	}
	expected := []string{"animal", "human", "root"}

	s := Store{d, testTimeout, 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)
	}
}
예제 #2
0
파일: auth_test.go 프로젝트: chancez/mantle
func TestAllUsers(t *testing.T) {
	d := &testDoer{
		get: []etcdserver.Response{
			{
				Event: &store.Event{
					Action: store.Get,
					Node: &store.NodeExtern{
						Nodes: store.NodeExterns([]*store.NodeExtern{
							&store.NodeExtern{
								Key: StorePermsPrefix + "/users/cat",
							},
							&store.NodeExtern{
								Key: StorePermsPrefix + "/users/dog",
							},
						}),
					},
				},
			},
		},
	}
	expected := []string{"cat", "dog"}

	s := Store{d, testTimeout, 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)
	}
}