Skip to content

Commit fac054a

Browse files
committed
Refactor workspace apps test
1 parent d423ba2 commit fac054a

File tree

1 file changed

+17
-23
lines changed

1 file changed

+17
-23
lines changed

coderd/workspaceapps_internal_test.go

Lines changed: 17 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -16,36 +16,22 @@ import (
1616
func TestAPIKeyEncryption(t *testing.T) {
1717
t.Parallel()
1818

19-
generateAPIKey := func(t *testing.T, db database.Store) (keyID, keySecret string, hashedSecret []byte, data encryptedAPIKeyPayload) {
20-
keyID, keySecret, err := GenerateAPIKeyIDSecret()
21-
require.NoError(t, err)
19+
generateAPIKey := func(t *testing.T, db database.Store) (keyID, keyToken string, hashedSecret []byte, data encryptedAPIKeyPayload) {
20+
gen := databasefake.NewGenerator(t, db)
21+
key, token := gen.APIKey(context.Background(), database.APIKey{})
2222

23-
hashedSecretArray := sha256.Sum256([]byte(keySecret))
2423
data = encryptedAPIKeyPayload{
25-
APIKey: keyID + "-" + keySecret,
24+
APIKey: token,
2625
ExpiresAt: database.Now().Add(24 * time.Hour),
2726
}
2827

29-
return keyID, keySecret, hashedSecretArray[:], data
30-
}
31-
insertAPIKey := func(t *testing.T, db database.Store, keyID string, hashedSecret []byte) {
32-
ctx, cancel := context.WithTimeout(context.Background(), testutil.WaitLong)
33-
defer cancel()
34-
35-
_, err := db.InsertAPIKey(ctx, database.InsertAPIKeyParams{
36-
ID: keyID,
37-
HashedSecret: hashedSecret,
38-
LoginType: database.LoginTypePassword,
39-
Scope: database.APIKeyScopeAll,
40-
})
41-
require.NoError(t, err)
28+
return key.ID, token, key.HashedSecret[:], data
4229
}
4330

4431
t.Run("OK", func(t *testing.T) {
4532
t.Parallel()
4633
db := databasefake.New()
4734
keyID, _, hashedSecret, data := generateAPIKey(t, db)
48-
insertAPIKey(t, db, keyID, hashedSecret)
4935

5036
encrypted, err := encryptAPIKey(data)
5137
require.NoError(t, err)
@@ -66,8 +52,7 @@ func TestAPIKeyEncryption(t *testing.T) {
6652
t.Run("Expiry", func(t *testing.T) {
6753
t.Parallel()
6854
db := databasefake.New()
69-
keyID, _, hashedSecret, data := generateAPIKey(t, db)
70-
insertAPIKey(t, db, keyID, hashedSecret)
55+
_, _, _, data := generateAPIKey(t, db)
7156

7257
data.ExpiresAt = database.Now().Add(-1 * time.Hour)
7358
encrypted, err := encryptAPIKey(data)
@@ -84,9 +69,18 @@ func TestAPIKeyEncryption(t *testing.T) {
8469
t.Run("KeyMatches", func(t *testing.T) {
8570
t.Parallel()
8671
db := databasefake.New()
87-
keyID, _, _, data := generateAPIKey(t, db)
72+
73+
gen := databasefake.NewGenerator(t, db)
8874
hashedSecret := sha256.Sum256([]byte("wrong"))
89-
insertAPIKey(t, db, keyID, hashedSecret[:])
75+
// Insert a token with a mismatched hashed secret.
76+
_, token := gen.APIKey(context.Background(), database.APIKey{
77+
HashedSecret: hashedSecret[:],
78+
})
79+
80+
data := encryptedAPIKeyPayload{
81+
APIKey: token,
82+
ExpiresAt: database.Now().Add(24 * time.Hour),
83+
}
9084

9185
encrypted, err := encryptAPIKey(data)
9286
require.NoError(t, err)

0 commit comments

Comments
 (0)