MCPcopy Create free account
hub / github.com/auth0/auth0-cli / TestSecrets

Function TestSecrets

internal/keyring/keyring_test.go:15–151  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

13const testTenantName = "auth0-cli-test.us.auth0.com"
14
15func 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

Callers

nothing calls this directly

Calls 8

GetClientSecretFunction · 0.85
StoreClientSecretFunction · 0.85
randomStringOfLengthFunction · 0.85
StoreAccessTokenFunction · 0.85
GetAccessTokenFunction · 0.85
DeleteSecretsForTenantFunction · 0.85
GetMethod · 0.80
ErrorMethod · 0.45

Tested by

no test coverage detected