auth

Paddy 2015-01-19 Parent:dcd2125c4f57 Child:23c1a07c8a61

127:b714af0578dc Go to Latest

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.

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