auth
auth/token_test.go
Expunge the old stuff. Let's remove every trace of osin from this repo, and update the LICENSE accordingly, as we're now the full copyright holders.
| paddy@28 | 1 package auth |
| paddy@28 | 2 |
| paddy@28 | 3 import ( |
| paddy@28 | 4 "testing" |
| paddy@28 | 5 "time" |
| paddy@28 | 6 |
| paddy@28 | 7 "secondbit.org/uuid" |
| paddy@28 | 8 ) |
| paddy@28 | 9 |
| paddy@28 | 10 var tokenStores = []TokenStore{NewMemstore()} |
| paddy@28 | 11 |
| paddy@28 | 12 func TestTokenStoreSuccess(t *testing.T) { |
| paddy@28 | 13 token := Token{ |
| paddy@28 | 14 AccessToken: "access", |
| paddy@28 | 15 RefreshToken: "refresh", |
| paddy@28 | 16 Created: time.Now(), |
| paddy@28 | 17 ExpiresIn: 3600, |
| paddy@28 | 18 TokenType: "bearer", |
| paddy@28 | 19 Scope: "scope", |
| paddy@28 | 20 ProfileID: uuid.NewID(), |
| paddy@28 | 21 } |
| paddy@28 | 22 for pos, store := range tokenStores { |
| paddy@28 | 23 err := store.SaveToken(token) |
| paddy@28 | 24 if err != nil { |
| paddy@28 | 25 t.Errorf("Error saving token in TokenStore #%d: %s", pos, err) |
| paddy@28 | 26 } |
| paddy@28 | 27 retrievedAccess, err := store.GetToken(token.AccessToken, false) |
| paddy@28 | 28 if err != nil { |
| paddy@28 | 29 t.Errorf("Error retrieving token in TokenStore #%d: %s", pos, err) |
| paddy@28 | 30 } |
| paddy@28 | 31 t.Log(retrievedAccess) |
| paddy@28 | 32 // TODO: compare retrievedAccess to token |
| paddy@28 | 33 retrievedRefresh, err := store.GetToken(token.RefreshToken, true) |
| paddy@28 | 34 if err != nil { |
| paddy@28 | 35 t.Errorf("Error retrieving refresh token in TokenStore #%d: %s", pos, err) |
| paddy@28 | 36 } |
| paddy@28 | 37 t.Log(retrievedRefresh) |
| paddy@28 | 38 // TODO: compare retrievedRefresh to token |
| paddy@28 | 39 retrievedProfile, err := store.GetTokensByProfileID(token.ProfileID, 25, 0) |
| paddy@28 | 40 if err != nil { |
| paddy@28 | 41 t.Errorf("Error retrieving token by profile in TokenStore #%d: %s", pos, err) |
| paddy@28 | 42 } |
| paddy@28 | 43 if len(retrievedProfile) != 1 { |
| paddy@28 | 44 t.Errorf("Expected 1 token retrieved by profile ID from TokenStore #%d, got %+v", pos, retrievedProfile) |
| paddy@28 | 45 } |
| paddy@28 | 46 // TODO: compare retrievedProfile to token |
| paddy@28 | 47 err = store.RemoveToken(token.AccessToken) |
| paddy@28 | 48 if err != nil { |
| paddy@28 | 49 t.Errorf("Error removing token in TokenStore #%d: %s", pos, err) |
| paddy@28 | 50 } |
| paddy@28 | 51 _, err = store.GetToken(token.AccessToken, false) |
| paddy@28 | 52 if err != ErrTokenNotFound { |
| paddy@28 | 53 t.Errorf("Expected ErrTokenNotFound from TokenStore #%d, got %s", pos, err) |
| paddy@28 | 54 } |
| paddy@28 | 55 _, err = store.GetToken(token.RefreshToken, true) |
| paddy@28 | 56 if err != ErrTokenNotFound { |
| paddy@28 | 57 t.Errorf("Expected ErrTokenNotFound from TokenStore #%d, got %s", pos, err) |
| paddy@28 | 58 } |
| paddy@28 | 59 retrievedProfile, err = store.GetTokensByProfileID(token.ProfileID, 25, 0) |
| paddy@28 | 60 if err != nil { |
| paddy@28 | 61 t.Errorf("Error retrieving token by profile in TokenStore #%d: %s", pos, err) |
| paddy@28 | 62 } |
| paddy@28 | 63 if len(retrievedProfile) != 0 { |
| paddy@28 | 64 t.Errorf("Expected list of 0 tokens from TokenStore #%d, got %+v", pos, retrievedProfile) |
| paddy@28 | 65 } |
| paddy@28 | 66 } |
| paddy@28 | 67 } |