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

Function TestUserSecretsCRUDOperations

coderd/database/querier_test.go:8094–8246  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

8092}
8093
8094func TestUserSecretsCRUDOperations(t *testing.T) {
8095 t.Parallel()
8096
8097 // Use raw database without dbauthz wrapper for this test
8098 db, _ := dbtestutil.NewDB(t)
8099
8100 t.Run("FullCRUDWorkflow", func(t *testing.T) {
8101 t.Parallel()
8102 ctx := testutil.Context(t, testutil.WaitMedium)
8103
8104 // Create a new user for this test
8105 testUser := dbgen.User(t, db, database.User{})
8106
8107 // 1. CREATE
8108 secretID := uuid.New()
8109 createParams := database.CreateUserSecretParams{
8110 ID: secretID,
8111 UserID: testUser.ID,
8112 Name: "workflow-secret",
8113 Description: "Secret for full CRUD workflow",
8114 Value: "workflow-value",
8115 EnvName: "WORKFLOW_ENV",
8116 FilePath: "/workflow/path",
8117 }
8118
8119 createdSecret, err := db.CreateUserSecret(ctx, createParams)
8120 require.NoError(t, err)
8121 assert.Equal(t, secretID, createdSecret.ID)
8122
8123 // 2. READ by UserID and Name
8124 readByNameParams := database.GetUserSecretByUserIDAndNameParams{
8125 UserID: testUser.ID,
8126 Name: "workflow-secret",
8127 }
8128 readByNameSecret, err := db.GetUserSecretByUserIDAndName(ctx, readByNameParams)
8129 require.NoError(t, err)
8130 assert.Equal(t, createdSecret.ID, readByNameSecret.ID)
8131 assert.Equal(t, "workflow-secret", readByNameSecret.Name)
8132
8133 // 3. LIST (metadata only)
8134 secrets, err := db.ListUserSecrets(ctx, testUser.ID)
8135 require.NoError(t, err)
8136 require.Len(t, secrets, 1)
8137 assert.Equal(t, createdSecret.ID, secrets[0].ID)
8138
8139 // 4. LIST with values
8140 secretsWithValues, err := db.ListUserSecretsWithValues(ctx, testUser.ID)
8141 require.NoError(t, err)
8142 require.Len(t, secretsWithValues, 1)
8143 assert.Equal(t, "workflow-value", secretsWithValues[0].Value)
8144
8145 // 5. UPDATE (partial - only description)
8146 updateParams := database.UpdateUserSecretByUserIDAndNameParams{
8147 UserID: testUser.ID,
8148 Name: "workflow-secret",
8149 UpdateDescription: true,
8150 Description: "Updated workflow description",
8151 }

Callers

nothing calls this directly

Calls 15

NewDBFunction · 0.92
ContextFunction · 0.92
UserFunction · 0.92
UserSecretFunction · 0.92
RunMethod · 0.65
NewMethod · 0.65
CreateUserSecretMethod · 0.65
ListUserSecretsMethod · 0.65

Tested by

no test coverage detected