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

Function TestOrganizationParam

coderd/httpmw/organizationparam_test.go:25–241  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

23)
24
25func TestOrganizationParam(t *testing.T) {
26 t.Parallel()
27
28 setupAuthentication := func(db database.Store) (*http.Request, database.User) {
29 r := httptest.NewRequest("GET", "/", nil)
30
31 user := dbgen.User(t, db, database.User{
32 ID: uuid.New(),
33 })
34 _, token := dbgen.APIKey(t, db, database.APIKey{
35 UserID: user.ID,
36 })
37 r.Header.Set(codersdk.SessionTokenHeader, token)
38 r = r.WithContext(context.WithValue(r.Context(), chi.RouteCtxKey, chi.NewRouteContext()))
39 return r, user
40 }
41
42 t.Run("None", func(t *testing.T) {
43 t.Parallel()
44 var (
45 db, _ = dbtestutil.NewDB(t)
46 rw = httptest.NewRecorder()
47 r, _ = setupAuthentication(db)
48 rtr = chi.NewRouter()
49 )
50 rtr.Use(
51 httpmw.ExtractAPIKeyMW(httpmw.ExtractAPIKeyConfig{
52 DB: db,
53 RedirectToLogin: false,
54 }),
55 httpmw.ExtractOrganizationParam(db),
56 )
57 rtr.Get("/", nil)
58 rtr.ServeHTTP(rw, r)
59 res := rw.Result()
60 defer res.Body.Close()
61 require.Equal(t, http.StatusBadRequest, res.StatusCode)
62 })
63
64 t.Run("NotFound", func(t *testing.T) {
65 t.Parallel()
66 var (
67 db, _ = dbtestutil.NewDB(t)
68 rw = httptest.NewRecorder()
69 r, _ = setupAuthentication(db)
70 rtr = chi.NewRouter()
71 )
72 chi.RouteContext(r.Context()).URLParams.Add("organization", uuid.NewString())
73 rtr.Use(
74 httpmw.ExtractAPIKeyMW(httpmw.ExtractAPIKeyConfig{
75 DB: db,
76 RedirectToLogin: false,
77 }),
78 httpmw.ExtractOrganizationParam(db),
79 )
80 rtr.Get("/", nil)
81 rtr.ServeHTTP(rw, r)
82 res := rw.Result()

Callers

nothing calls this directly

Calls 15

UserFunction · 0.92
APIKeyFunction · 0.92
NewDBFunction · 0.92
ExtractAPIKeyMWFunction · 0.92
ExtractOrganizationParamFunction · 0.92
NowFunction · 0.92
ExtractUserParamFunction · 0.92
ContextFunction · 0.92
OrganizationFunction · 0.92
OrganizationMemberFunction · 0.92

Tested by

no test coverage detected