auth
auth/token_test.go
Update token test for revocation and new properties. Add the new properties of Token to the compareTokens helper so they're tested for equality. Add a test for revoking tokens. We still need a test that checks revoking tokens by their refresh token.
1.1 --- a/token_test.go Sun Dec 14 11:59:46 2014 -0500 1.2 +++ b/token_test.go Sun Dec 14 12:01:44 2014 -0500 1.3 @@ -19,9 +19,15 @@ 1.4 if !token1.Created.Equal(token2.Created) { 1.5 return false, "created", token1.Created, token2.Created 1.6 } 1.7 + if token1.CreatedFrom != token2.CreatedFrom { 1.8 + return false, "created from", token1.CreatedFrom, token2.CreatedFrom 1.9 + } 1.10 if token1.ExpiresIn != token2.ExpiresIn { 1.11 return false, "expires in", token1.ExpiresIn, token2.ExpiresIn 1.12 } 1.13 + if token1.RefreshExpiresIn != token2.RefreshExpiresIn { 1.14 + return false, "refresh expires in", token1.RefreshExpiresIn, token2.RefreshExpiresIn 1.15 + } 1.16 if token1.TokenType != token2.TokenType { 1.17 return false, "token type", token1.TokenType, token2.TokenType 1.18 } 1.19 @@ -31,6 +37,9 @@ 1.20 if !token1.ProfileID.Equal(token2.ProfileID) { 1.21 return false, "profile ID", token1.ProfileID, token2.ProfileID 1.22 } 1.23 + if token1.Revoked != token2.Revoked { 1.24 + return false, "revoked", token1.Revoked, token2.Revoked 1.25 + } 1.26 return true, "", nil, nil 1.27 } 1.28 1.29 @@ -81,6 +90,20 @@ 1.30 if !success { 1.31 t.Errorf("Expected field %s to be %v, but got %v from %T", field, expectation, result, store) 1.32 } 1.33 + err = store.revokeToken(token.AccessToken, false) 1.34 + if err != nil { 1.35 + t.Errorf("Error revoking token in %T: %s", store, err) 1.36 + } 1.37 + retrievedRevoked, err := store.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 + token.Revoked = true 1.42 + success, field, expectation, result = compareTokens(token, retrievedRevoked) 1.43 + if !success { 1.44 + t.Errorf("Expected field %s to be %v, but got %v from %T", field, expectation, result, store) 1.45 + } 1.46 + // TODO(paddy): test revoking by refresh token. 1.47 err = store.removeToken(token.AccessToken) 1.48 if err != nil { 1.49 t.Errorf("Error removing token from %T: %s", store, err) 1.50 @@ -104,5 +127,13 @@ 1.51 if err != ErrTokenNotFound { 1.52 t.Errorf("Expected ErrTokenNotFound from %T, got %s", store, err) 1.53 } 1.54 + err = store.revokeToken(token.AccessToken, false) 1.55 + if err != ErrTokenNotFound { 1.56 + t.Errorf("Expected ErrTokenNotFound from %T, got %s", store, err) 1.57 + } 1.58 + err = store.revokeToken(token.RefreshToken, true) 1.59 + if err != ErrTokenNotFound { 1.60 + t.Errorf("Expected ErrTokenNotFound from %T, got %s", store, err) 1.61 + } 1.62 } 1.63 }