auth
auth/token_test.go
Drop RemoveToken, test RevokeToken for refresh tokens. The RemoveToken function was never actually used, and there's no reason to use it. Tokens are revoked, not removed. So I deleted it. And while I was updating the tests, I finally inserted the test for revoking a refresh token, mainly to get rid of that damn TODO.
1.1 --- a/token_test.go Mon Jan 19 04:24:22 2015 -0500 1.2 +++ b/token_test.go Mon Jan 19 06:01:51 2015 -0500 1.3 @@ -53,7 +53,27 @@ 1.4 } 1.5 for _, store := range tokenStores { 1.6 context := Context{tokens: store} 1.7 - err := context.SaveToken(token) 1.8 + retrievedAccess, err := context.GetToken(token.AccessToken, false) 1.9 + if err == nil { 1.10 + t.Errorf("Expected ErrTokenNotFound from %T, got %+v", store, retrievedAccess) 1.11 + } else if err != ErrTokenNotFound { 1.12 + t.Errorf("Expected ErrTokenNotFound from %T, got %s", store, err) 1.13 + } 1.14 + retrievedRefresh, err := context.GetToken(token.RefreshToken, true) 1.15 + if err == nil { 1.16 + t.Errorf("Expected ErrTokenNotFound from %T, got %+v", store, retrievedRefresh) 1.17 + } else if err != ErrTokenNotFound { 1.18 + t.Errorf("Expected ErrTokenNotFound from %T, got %s", store, err) 1.19 + } 1.20 + err = context.RevokeToken(token.AccessToken, false) 1.21 + if err != ErrTokenNotFound { 1.22 + t.Errorf("Expected ErrTokenNotFound from %T, got %s", store, err) 1.23 + } 1.24 + err = context.RevokeToken(token.RefreshToken, true) 1.25 + if err != ErrTokenNotFound { 1.26 + t.Errorf("Expected ErrTokenNotFound from %T, got %s", store, err) 1.27 + } 1.28 + err = context.SaveToken(token) 1.29 if err != nil { 1.30 t.Errorf("Error saving token to %T: %s", store, err) 1.31 } 1.32 @@ -61,7 +81,7 @@ 1.33 if err != ErrTokenAlreadyExists { 1.34 t.Errorf("Expected ErrTokenAlreadyExists from %T, got %s", store, err) 1.35 } 1.36 - retrievedAccess, err := context.GetToken(token.AccessToken, false) 1.37 + retrievedAccess, err = context.GetToken(token.AccessToken, false) 1.38 if err != nil { 1.39 t.Errorf("Error retrieving token from %T: %s", store, err) 1.40 } 1.41 @@ -69,7 +89,7 @@ 1.42 if !success { 1.43 t.Errorf("Expected field %s to be %v, but got %v from %T", field, expectation, result, store) 1.44 } 1.45 - retrievedRefresh, err := context.GetToken(token.RefreshToken, true) 1.46 + retrievedRefresh, err = context.GetToken(token.RefreshToken, true) 1.47 if err != nil { 1.48 t.Errorf("Error retrieving refresh token from %T: %s", store, err) 1.49 } 1.50 @@ -101,37 +121,18 @@ 1.51 if !success { 1.52 t.Errorf("Expected field %s to be %v, but got %v from %T", field, expectation, result, store) 1.53 } 1.54 - // TODO(paddy): test revoking by refresh token. 1.55 - err = context.RemoveToken(token.AccessToken) 1.56 + err = context.RevokeToken(token.RefreshToken, true) 1.57 if err != nil { 1.58 - t.Errorf("Error removing token from %T: %s", store, err) 1.59 + t.Errorf("Error revoking token in %T: %s", store, err) 1.60 } 1.61 - _, err = context.GetToken(token.AccessToken, false) 1.62 - if err != ErrTokenNotFound { 1.63 - t.Errorf("Expected ErrTokenNotFound from %T, got %s", store, err) 1.64 + retrievedRevoked, err = context.GetToken(token.RefreshToken, true) 1.65 + if err != nil { 1.66 + t.Errorf("Error retrieving token from %T: %s", store, err) 1.67 } 1.68 - _, err = context.GetToken(token.RefreshToken, true) 1.69 - if err != ErrTokenNotFound { 1.70 - t.Errorf("Expected ErrTokenNotFound from %T, got %s", store, err) 1.71 - } 1.72 - retrievedProfile, err = context.GetTokensByProfileID(token.ProfileID, 25, 0) 1.73 - if err != nil { 1.74 - t.Errorf("Error retrieving token by profile from %T: %s", store, err) 1.75 - } 1.76 - if len(retrievedProfile) != 0 { 1.77 - t.Errorf("Expected list of 0 tokens from %T, got %+v", store, retrievedProfile) 1.78 - } 1.79 - err = context.RemoveToken(token.AccessToken) 1.80 - if err != ErrTokenNotFound { 1.81 - t.Errorf("Expected ErrTokenNotFound from %T, got %s", store, err) 1.82 - } 1.83 - err = context.RevokeToken(token.AccessToken, false) 1.84 - if err != ErrTokenNotFound { 1.85 - t.Errorf("Expected ErrTokenNotFound from %T, got %s", store, err) 1.86 - } 1.87 - err = context.RevokeToken(token.RefreshToken, true) 1.88 - if err != ErrTokenNotFound { 1.89 - t.Errorf("Expected ErrTokenNotFound from %T, got %s", store, err) 1.90 + token.RefreshRevoked = true 1.91 + success, field, expectation, result = compareTokens(token, retrievedRevoked) 1.92 + if !success { 1.93 + t.Errorf("Expected field %s to be %v, but got %v from %T", field, expectation, result, store) 1.94 } 1.95 } 1.96 }