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

Function TestUserAIProviderKeys

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

Source from the content-addressed store, hash-verified

1307}
1308
1309func TestUserAIProviderKeys(t *testing.T) {
1310 t.Parallel()
1311 ctx := context.Background()
1312
1313 const (
1314 //nolint:gosec // test credentials
1315 initialAPIKey = "sk-initial-ai-provider-key-value"
1316 //nolint:gosec // test credentials
1317 updatedAPIKey = "sk-updated-ai-provider-key-value"
1318 //nolint:gosec // test credentials
1319 rotatedAPIKey = "sk-rotated-ai-provider-key-value"
1320 )
1321
1322 insertProviderAndKey := func(
1323 t *testing.T,
1324 crypt *dbCrypt,
1325 ciphers []Cipher,
1326 ) (database.AIProvider, database.UserAiProviderKey) {
1327 t.Helper()
1328 user := dbgen.User(t, crypt, database.User{})
1329 provider := dbgen.AIProvider(t, crypt, database.AIProvider{})
1330 now := dbtime.Now()
1331
1332 key, err := crypt.UpsertUserAIProviderKey(ctx, database.UpsertUserAIProviderKeyParams{
1333 ID: uuid.New(),
1334 UserID: user.ID,
1335 AIProviderID: provider.ID,
1336 APIKey: initialAPIKey,
1337 CreatedAt: now,
1338 UpdatedAt: now,
1339 })
1340 require.NoError(t, err)
1341 require.Equal(t, initialAPIKey, key.APIKey)
1342 require.Equal(t, ciphers[0].HexDigest(), key.ApiKeyKeyID.String)
1343 return provider, key
1344 }
1345
1346 getRawUserAIProviderKey := func(t *testing.T, store database.Store, userID uuid.UUID, providerID uuid.UUID) database.UserAiProviderKey {
1347 t.Helper()
1348 key, err := store.GetUserAIProviderKeyByProviderID(ctx, database.GetUserAIProviderKeyByProviderIDParams{
1349 UserID: userID,
1350 AIProviderID: providerID,
1351 })
1352 require.NoError(t, err)
1353 return key
1354 }
1355
1356 t.Run("UpsertUserAIProviderKeyCreatesValue", func(t *testing.T) {
1357 t.Parallel()
1358 db, crypt, ciphers := setup(t)
1359 provider, key := insertProviderAndKey(t, crypt, ciphers)
1360
1361 got, err := crypt.GetUserAIProviderKeyByProviderID(ctx, database.GetUserAIProviderKeyByProviderIDParams{
1362 UserID: key.UserID,
1363 AIProviderID: provider.ID,
1364 })
1365 require.NoError(t, err)
1366 require.Equal(t, key.ID, got.ID)

Callers

nothing calls this directly

Calls 15

UserFunction · 0.92
AIProviderFunction · 0.92
NowFunction · 0.92
setupFunction · 0.70
requireEncryptedEqualsFunction · 0.70
HelperMethod · 0.65
NewMethod · 0.65
HexDigestMethod · 0.65
RunMethod · 0.65

Tested by

no test coverage detected