Skip to content

Commit b40ec25

Browse files
test: improve TestUserSecrets test
1 parent b580b5d commit b40ec25

File tree

3 files changed

+35
-4
lines changed

3 files changed

+35
-4
lines changed

coderd/coderd.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1248,6 +1248,7 @@ func New(options *Options) *API {
12481248
//GET /api/v2/users/secrets/{secretID}/value // Get secret value
12491249

12501250
r.Post("/", api.createUserSecret)
1251+
r.Get("/", api.listUserSecrets)
12511252
})
12521253
r.Route("/{user}", func(r chi.Router) {
12531254
r.Group(func(r chi.Router) {

coderd/user_secrets_test.go

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ func TestUserSecrets(t *testing.T) {
1818

1919
ctx := testutil.Context(t, testutil.WaitShort)
2020

21-
db, ps := dbtestutil.NewDB(t, dbtestutil.WithDumpOnFailure())
21+
db, ps := dbtestutil.NewDB(t)
2222
client := coderdtest.New(t, &coderdtest.Options{
2323
IncludeProvisionerDaemon: true,
2424
Database: db,
@@ -45,7 +45,19 @@ func TestUserSecrets(t *testing.T) {
4545
fmt.Printf("userSecretInJSON: %s\n", userSecretInJSON)
4646

4747
require.NotNil(t, userSecret.ID)
48-
require.Equal(t, userSecret.UserID, templateAdmin.ID)
49-
require.Equal(t, userSecret.Name, userSecretName)
50-
require.Equal(t, userSecret.Description, userSecretDescription)
48+
require.Equal(t, templateAdmin.ID, userSecret.UserID)
49+
require.Equal(t, userSecretName, userSecret.Name)
50+
require.Equal(t, userSecretDescription, userSecret.Description)
51+
52+
userSecretList, err := templateAdminClient.ListUserSecrets(ctx)
53+
require.NoError(t, err)
54+
require.Len(t, userSecretList.Secrets, 1)
55+
userSecretListInJSON, err := json.Marshal(userSecretList)
56+
require.NoError(t, err)
57+
fmt.Printf("userSecretListInJSON: %s\n", userSecretListInJSON)
58+
59+
require.NotNil(t, userSecretList.Secrets[0].ID)
60+
require.Equal(t, templateAdmin.ID, userSecretList.Secrets[0].UserID)
61+
require.Equal(t, userSecretName, userSecretList.Secrets[0].Name)
62+
require.Equal(t, userSecretDescription, userSecretList.Secrets[0].Description)
5163
}

codersdk/user_secrets.go

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,3 +60,21 @@ func (c *Client) CreateUserSecret(ctx context.Context, req CreateUserSecretReque
6060
var userSecret UserSecret
6161
return userSecret, json.NewDecoder(res.Body).Decode(&userSecret)
6262
}
63+
64+
func (c *Client) ListUserSecrets(ctx context.Context) (ListUserSecretsResponse, error) {
65+
res, err := c.Request(ctx, http.MethodGet,
66+
fmt.Sprintf("/api/v2/users/secrets"),
67+
nil,
68+
)
69+
if err != nil {
70+
return ListUserSecretsResponse{}, xerrors.Errorf("execute request: %w", err)
71+
}
72+
defer res.Body.Close()
73+
74+
if res.StatusCode != http.StatusOK {
75+
return ListUserSecretsResponse{}, ReadBodyAsError(res)
76+
}
77+
78+
var userSecrets ListUserSecretsResponse
79+
return userSecrets, json.NewDecoder(res.Body).Decode(&userSecrets)
80+
}

0 commit comments

Comments
 (0)