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

Function TestWorkspaceParam

coderd/httpmw/workspaceparam_test.go:27–153  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

25)
26
27func TestWorkspaceParam(t *testing.T) {
28 t.Parallel()
29
30 setup := func(db database.Store) (*http.Request, database.User) {
31 id, secret, hashed := randomAPIKeyParts()
32 r := httptest.NewRequest("GET", "/", nil)
33 r.Header.Set(codersdk.SessionTokenHeader, fmt.Sprintf("%s-%s", id, secret))
34
35 userID := uuid.New()
36 username, err := cryptorand.String(8)
37 require.NoError(t, err)
38 user, err := db.InsertUser(r.Context(), database.InsertUserParams{
39 ID: userID,
40 Email: "testaccount@coder.com",
41 HashedPassword: hashed,
42 Username: username,
43 CreatedAt: dbtime.Now(),
44 UpdatedAt: dbtime.Now(),
45 LoginType: database.LoginTypePassword,
46 RBACRoles: []string{},
47 })
48 require.NoError(t, err)
49
50 user, err = db.UpdateUserStatus(context.Background(), database.UpdateUserStatusParams{
51 ID: user.ID,
52 Status: database.UserStatusActive,
53 UpdatedAt: dbtime.Now(),
54 })
55 require.NoError(t, err)
56
57 _, err = db.InsertAPIKey(r.Context(), database.InsertAPIKeyParams{
58 ID: id,
59 UserID: user.ID,
60 HashedSecret: hashed,
61 LastUsed: dbtime.Now(),
62 ExpiresAt: dbtime.Now().Add(time.Minute),
63 LoginType: database.LoginTypePassword,
64 Scopes: database.APIKeyScopes{database.ApiKeyScopeCoderAll},
65 AllowList: database.AllowList{
66 {Type: policy.WildcardSymbol, ID: policy.WildcardSymbol},
67 },
68 IPAddress: pqtype.Inet{
69 IPNet: net.IPNet{
70 IP: net.IPv4(127, 0, 0, 1),
71 Mask: net.IPv4Mask(255, 255, 255, 255),
72 },
73 Valid: true,
74 },
75 })
76 require.NoError(t, err)
77
78 ctx := chi.NewRouteContext()
79 ctx.URLParams.Add("user", "me")
80 r = r.WithContext(context.WithValue(r.Context(), chi.RouteCtxKey, ctx))
81 return r, user
82 }
83
84 t.Run("None", func(t *testing.T) {

Callers

nothing calls this directly

Calls 15

StringFunction · 0.92
NowFunction · 0.92
NewDBFunction · 0.92
ExtractWorkspaceParamFunction · 0.92
ExtractAPIKeyMWFunction · 0.92
WorkspaceParamFunction · 0.92
OrganizationFunction · 0.92
TemplateFunction · 0.92
randomAPIKeyPartsFunction · 0.85
WithContextMethod · 0.80
setupFunction · 0.70
SetMethod · 0.65

Tested by

no test coverage detected