auth

Paddy 2014-12-14 Parent:e45bfa2abc00 Child:c03b5eb3179e

97:a8b86f5fba78 Go to Latest

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.

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