Browse Source

storage/kubernetes: fix kubernetes storage conformance test failures

pull/816/head
Eric Chiang 9 years ago
parent
commit
7968f283f2
  1. 3
      storage/kubernetes/client.go
  2. 2
      storage/kubernetes/storage.go
  3. 7
      storage/kubernetes/types.go

3
storage/kubernetes/client.go

@ -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 {

2
storage/kubernetes/storage.go

@ -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.

7
storage/kubernetes/types.go

@ -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
} }

Loading…
Cancel
Save