Merge pull request #816 from ericchiang/cherry-pick-k8s-storage-fix

storage/kubernetes: fix kubernetes storage conformance test failures
This commit is contained in:
Eric Chiang 2017-02-23 19:42:42 -08:00 committed by GitHub
commit f8aec4c1c5
3 changed files with 10 additions and 2 deletions

View file

@ -135,6 +135,9 @@ func checkHTTPErr(r *http.Response, validStatusCodes ...int) error {
if r.StatusCode == http.StatusNotFound { if r.StatusCode == http.StatusNotFound {
return storage.ErrNotFound return storage.ErrNotFound
} }
if r.Request.Method == "POST" && r.StatusCode == http.StatusConflict {
return storage.ErrAlreadyExists
}
var url, method string var url, method string
if r.Request != nil { if r.Request != nil {

View file

@ -31,7 +31,7 @@ const (
resourceRefreshToken = "refreshtokens" resourceRefreshToken = "refreshtokens"
resourceKeys = "signingkeies" // Kubernetes attempts to pluralize. resourceKeys = "signingkeies" // Kubernetes attempts to pluralize.
resourcePassword = "passwords" resourcePassword = "passwords"
resourceOfflineSessions = "offlinesessions" resourceOfflineSessions = "offlinesessionses" // Again attempts to pluralize.
) )
// Config values for the Kubernetes storage type. // Config values for the Kubernetes storage type.

View file

@ -502,9 +502,14 @@ func (cli *client) fromStorageOfflineSessions(o storage.OfflineSessions) Offline
} }
func toStorageOfflineSessions(o OfflineSessions) storage.OfflineSessions { func toStorageOfflineSessions(o OfflineSessions) storage.OfflineSessions {
return storage.OfflineSessions{ s := storage.OfflineSessions{
UserID: o.UserID, UserID: o.UserID,
ConnID: o.ConnID, ConnID: o.ConnID,
Refresh: o.Refresh, Refresh: o.Refresh,
} }
if s.Refresh == nil {
// Server code assumes this will be non-nil.
s.Refresh = make(map[string]*storage.RefreshTokenRef)
}
return s
} }