Update auth context keys to use constant

Prevent using strings throughout the code to reference a string key defined in the auth package.

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
This commit is contained in:
Derek McGowan 2016-01-28 17:02:09 -08:00
parent 6c135e03ce
commit badd8c49b6
6 changed files with 18 additions and 7 deletions

View file

@ -39,6 +39,16 @@ import (
"github.com/docker/distribution/context"
)
const (
// UserKey is used to get the user object from
// a user context
UserKey = "auth.user"
// UserNameKey is used to get the user name from
// a user context
UserNameKey = "auth.user.name"
)
// UserInfo carries information about
// an autenticated/authorized client.
type UserInfo struct {
@ -102,9 +112,9 @@ type userInfoContext struct {
func (uic userInfoContext) Value(key interface{}) interface{} {
switch key {
case "auth.user":
case UserKey:
return uic.user
case "auth.user.name":
case UserNameKey:
return uic.user.Name
}

View file

@ -56,7 +56,7 @@ func TestBasicAccessController(t *testing.T) {
}
}
userInfo, ok := authCtx.Value("auth.user").(auth.UserInfo)
userInfo, ok := authCtx.Value(auth.UserKey).(auth.UserInfo)
if !ok {
t.Fatal("basic accessController did not set auth.user context")
}

View file

@ -29,7 +29,7 @@ func TestSillyAccessController(t *testing.T) {
}
}
userInfo, ok := authCtx.Value("auth.user").(auth.UserInfo)
userInfo, ok := authCtx.Value(auth.UserKey).(auth.UserInfo)
if !ok {
t.Fatal("silly accessController did not set auth.user context")
}

View file

@ -375,7 +375,7 @@ func TestAccessController(t *testing.T) {
t.Fatalf("accessController returned unexpected error: %s", err)
}
userInfo, ok := authCtx.Value("auth.user").(auth.UserInfo)
userInfo, ok := authCtx.Value(auth.UserKey).(auth.UserInfo)
if !ok {
t.Fatal("token accessController did not set auth.user context")
}