MCPcopy Index your code
hub / github.com/coder/coder / TestCryptoKeys

Function TestCryptoKeys

enterprise/dbcrypt/dbcrypt_internal_test.go:406–556  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

404}
405
406func TestCryptoKeys(t *testing.T) {
407 t.Parallel()
408 ctx := context.Background()
409
410 t.Run("InsertCryptoKey", func(t *testing.T) {
411 t.Parallel()
412
413 db, crypt, ciphers := setup(t)
414 key := dbgen.CryptoKey(t, crypt, database.CryptoKey{
415 Secret: sql.NullString{String: "test", Valid: true},
416 })
417 require.Equal(t, "test", key.Secret.String)
418
419 key, err := db.GetCryptoKeyByFeatureAndSequence(ctx, database.GetCryptoKeyByFeatureAndSequenceParams{
420 Feature: key.Feature,
421 Sequence: key.Sequence,
422 })
423 require.NoError(t, err)
424 require.Equal(t, ciphers[0].HexDigest(), key.SecretKeyID.String)
425 requireEncryptedEquals(t, ciphers[0], key.Secret.String, "test")
426 })
427
428 t.Run("GetCryptoKeys", func(t *testing.T) {
429 t.Parallel()
430 db, crypt, ciphers := setup(t)
431 _ = dbgen.CryptoKey(t, crypt, database.CryptoKey{
432 Secret: sql.NullString{String: "test", Valid: true},
433 })
434 keys, err := crypt.GetCryptoKeys(ctx)
435 require.NoError(t, err)
436 require.Len(t, keys, 1)
437 require.Equal(t, "test", keys[0].Secret.String)
438 require.Equal(t, ciphers[0].HexDigest(), keys[0].SecretKeyID.String)
439
440 keys, err = db.GetCryptoKeys(ctx)
441 require.NoError(t, err)
442 require.Len(t, keys, 1)
443 requireEncryptedEquals(t, ciphers[0], keys[0].Secret.String, "test")
444 require.Equal(t, ciphers[0].HexDigest(), keys[0].SecretKeyID.String)
445 })
446
447 t.Run("GetLatestCryptoKeyByFeature", func(t *testing.T) {
448 t.Parallel()
449 db, crypt, ciphers := setup(t)
450 _ = dbgen.CryptoKey(t, crypt, database.CryptoKey{
451 Secret: sql.NullString{String: "test", Valid: true},
452 })
453 key, err := crypt.GetLatestCryptoKeyByFeature(ctx, database.CryptoKeyFeatureWorkspaceAppsAPIKey)
454 require.NoError(t, err)
455 require.Equal(t, "test", key.Secret.String)
456 require.Equal(t, ciphers[0].HexDigest(), key.SecretKeyID.String)
457
458 key, err = db.GetLatestCryptoKeyByFeature(ctx, database.CryptoKeyFeatureWorkspaceAppsAPIKey)
459 require.NoError(t, err)
460 requireEncryptedEquals(t, ciphers[0], key.Secret.String, "test")
461 require.Equal(t, ciphers[0].HexDigest(), key.SecretKeyID.String)
462 })
463

Callers

nothing calls this directly

Calls 15

CryptoKeyFunction · 0.92
fakeBase64RandomDataFunction · 0.85
setupFunction · 0.70
requireEncryptedEqualsFunction · 0.70
RunMethod · 0.65
HexDigestMethod · 0.65
GetCryptoKeysMethod · 0.65
AddMethod · 0.65

Tested by

no test coverage detected