(t *testing.T)
| 13 | const testTenantName = "auth0-cli-test.us.auth0.com" |
| 14 | |
| 15 | func TestSecrets(t *testing.T) { |
| 16 | t.Run("it fails to retrieve an nonexistent client secret", func(t *testing.T) { |
| 17 | keyring.MockInit() |
| 18 | |
| 19 | _, actualError := GetClientSecret(testTenantName) |
| 20 | assert.EqualError(t, actualError, keyring.ErrNotFound.Error()) |
| 21 | }) |
| 22 | |
| 23 | t.Run("it successfully retrieves an existent client secret", func(t *testing.T) { |
| 24 | keyring.MockInit() |
| 25 | |
| 26 | expectedRefreshToken := "fake-refresh-token" |
| 27 | err := keyring.Set(secretClientSecret, testTenantName, expectedRefreshToken) |
| 28 | assert.NoError(t, err) |
| 29 | |
| 30 | actualRefreshToken, err := GetClientSecret(testTenantName) |
| 31 | assert.NoError(t, err) |
| 32 | assert.Equal(t, expectedRefreshToken, actualRefreshToken) |
| 33 | }) |
| 34 | |
| 35 | t.Run("it successfully stores a client secret", func(t *testing.T) { |
| 36 | keyring.MockInit() |
| 37 | |
| 38 | expectedRefreshToken := "fake-refresh-token" |
| 39 | err := StoreClientSecret(testTenantName, expectedRefreshToken) |
| 40 | assert.NoError(t, err) |
| 41 | |
| 42 | actualRefreshToken, err := GetClientSecret(testTenantName) |
| 43 | assert.NoError(t, err) |
| 44 | assert.Equal(t, expectedRefreshToken, actualRefreshToken) |
| 45 | }) |
| 46 | |
| 47 | t.Run("it successfully stores an access token", func(t *testing.T) { |
| 48 | keyring.MockInit() |
| 49 | |
| 50 | expectedAccessToken := randomStringOfLength((2048 * 5) + 1) // Some arbitrarily long random string. |
| 51 | err := StoreAccessToken(testTenantName, expectedAccessToken) |
| 52 | assert.NoError(t, err) |
| 53 | |
| 54 | actualAccessToken, err := GetAccessToken(testTenantName) |
| 55 | assert.NoError(t, err) |
| 56 | assert.Equal(t, expectedAccessToken, actualAccessToken) |
| 57 | }) |
| 58 | |
| 59 | t.Run("it overwrites a previously stored token without leaving stale chunks", func(t *testing.T) { |
| 60 | keyring.MockInit() |
| 61 | |
| 62 | // Store a long token spanning several chunks. |
| 63 | longToken := randomStringOfLength((2048 * 5) + 1) |
| 64 | err := StoreAccessToken(testTenantName, longToken) |
| 65 | assert.NoError(t, err) |
| 66 | |
| 67 | // Overwrite with a token that fits in a single chunk. |
| 68 | shortToken := "short-token" |
| 69 | err = StoreAccessToken(testTenantName, shortToken) |
| 70 | assert.NoError(t, err) |
| 71 | |
| 72 | // Must return exactly the short token, with no trailing chunks |
nothing calls this directly
no test coverage detected