@@ -11,6 +11,9 @@ import (
11
11
12
12
"github.com/coder/coder/v2/coderd/httpmw"
13
13
"github.com/coder/coder/v2/codersdk"
14
+ "github.com/coder/coder/v2/enterprise/coderd/coderdenttest"
15
+ "github.com/coder/coder/v2/enterprise/coderd/license"
16
+ "github.com/coder/coder/v2/testutil"
14
17
)
15
18
16
19
func TestExtractProvisionerDaemonAuthenticated (t * testing.T ) {
@@ -146,74 +149,74 @@ func TestExtractProvisionerDaemonAuthenticated(t *testing.T) {
146
149
})
147
150
}
148
151
149
- // t.Run("ProvisionerKey", func(t *testing.T) {
150
- // t.Parallel()
151
-
152
- // ctx, cancel := context.WithTimeout(context.Background(), testutil.WaitShort)
153
- // defer cancel()
154
- // client, db, user := coderdenttest.NewWithDatabase(t, &coderdenttest.Options{
155
- // LicenseOptions: &coderdenttest.LicenseOptions{
156
- // Features: license.Features{
157
- // codersdk.FeatureExternalProvisionerDaemons: 1,
158
- // },
159
- // },
160
- // })
161
- // // nolint:gocritic // test
162
- // key, err := client.CreateProvisionerKey(ctx, user.OrganizationID, codersdk.CreateProvisionerKeyRequest{
163
- // Name: "dont-TEST-me",
164
- // })
165
- // require.NoError(t, err)
166
-
167
- // routeCtx := chi.NewRouteContext()
168
- // r := httptest.NewRequest(http.MethodGet, "/", nil)
169
- // r = r.WithContext(context.WithValue(r.Context(), chi.RouteCtxKey, routeCtx))
170
- // res := httptest.NewRecorder()
171
-
172
- // r.Header.Set(codersdk.ProvisionerDaemonKey, key.Key)
173
-
174
- // httpmw.ExtractProvisionerDaemonAuthenticated(httpmw.ExtractProvisionerAuthConfig{
175
- // DB: db,
176
- // Optional: false,
177
- // })(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
178
- // w.WriteHeader(http.StatusOK)
179
- // })).ServeHTTP(res, r)
180
-
181
- // require.Equal(t, http.StatusOK, res.Result().StatusCode)
182
- // })
183
-
184
- // t.Run("ProvisionerKey_NotFound", func(t *testing.T) {
185
- // t.Parallel()
186
-
187
- // ctx, cancel := context.WithTimeout(context.Background(), testutil.WaitShort)
188
- // defer cancel()
189
- // client, db, user := coderdenttest.NewWithDatabase(t, &coderdenttest.Options{
190
- // LicenseOptions: &coderdenttest.LicenseOptions{
191
- // Features: license.Features{
192
- // codersdk.FeatureExternalProvisionerDaemons: 1,
193
- // },
194
- // },
195
- // })
196
- // // nolint:gocritic // test
197
- // _, err := client.CreateProvisionerKey(ctx, user.OrganizationID, codersdk.CreateProvisionerKeyRequest{
198
- // Name: "dont-TEST-me",
199
- // })
200
- // require.NoError(t, err)
201
-
202
- // routeCtx := chi.NewRouteContext()
203
- // r := httptest.NewRequest(http.MethodGet, "/", nil)
204
- // r = r.WithContext(context.WithValue(r.Context(), chi.RouteCtxKey, routeCtx))
205
- // res := httptest.NewRecorder()
206
-
207
- // r.Header.Set(codersdk.ProvisionerDaemonKey, "5Hl2Qw9kX3nM7vB4jR8pY6tA1cF0eD5uI2oL9gN3mZ4")
208
-
209
- // httpmw.ExtractProvisionerDaemonAuthenticated(httpmw.ExtractProvisionerAuthConfig{
210
- // DB: db,
211
- // Optional: false,
212
- // })(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
213
- // w.WriteHeader(http.StatusOK)
214
- // })).ServeHTTP(res, r)
215
-
216
- // require.Equal(t, http.StatusUnauthorized, res.Result().StatusCode)
217
- // require.Contains(t, res.Body.String(), "provisioner daemon key invalid")
218
- // })
152
+ t .Run ("ProvisionerKey" , func (t * testing.T ) {
153
+ t .Parallel ()
154
+
155
+ ctx , cancel := context .WithTimeout (context .Background (), testutil .WaitShort )
156
+ defer cancel ()
157
+ client , db , user := coderdenttest .NewWithDatabase (t , & coderdenttest.Options {
158
+ LicenseOptions : & coderdenttest.LicenseOptions {
159
+ Features : license.Features {
160
+ codersdk .FeatureExternalProvisionerDaemons : 1 ,
161
+ },
162
+ },
163
+ })
164
+ // nolint:gocritic // test
165
+ key , err := client .CreateProvisionerKey (ctx , user .OrganizationID , codersdk.CreateProvisionerKeyRequest {
166
+ Name : "dont-TEST-me" ,
167
+ })
168
+ require .NoError (t , err )
169
+
170
+ routeCtx := chi .NewRouteContext ()
171
+ r := httptest .NewRequest (http .MethodGet , "/" , nil )
172
+ r = r .WithContext (context .WithValue (r .Context (), chi .RouteCtxKey , routeCtx ))
173
+ res := httptest .NewRecorder ()
174
+
175
+ r .Header .Set (codersdk .ProvisionerDaemonKey , key .Key )
176
+
177
+ httpmw .ExtractProvisionerDaemonAuthenticated (httpmw.ExtractProvisionerAuthConfig {
178
+ DB : db ,
179
+ Optional : false ,
180
+ })(http .HandlerFunc (func (w http.ResponseWriter , r * http.Request ) {
181
+ w .WriteHeader (http .StatusOK )
182
+ })).ServeHTTP (res , r )
183
+
184
+ require .Equal (t , http .StatusOK , res .Result ().StatusCode )
185
+ })
186
+
187
+ t .Run ("ProvisionerKey_NotFound" , func (t * testing.T ) {
188
+ t .Parallel ()
189
+
190
+ ctx , cancel := context .WithTimeout (context .Background (), testutil .WaitShort )
191
+ defer cancel ()
192
+ client , db , user := coderdenttest .NewWithDatabase (t , & coderdenttest.Options {
193
+ LicenseOptions : & coderdenttest.LicenseOptions {
194
+ Features : license.Features {
195
+ codersdk .FeatureExternalProvisionerDaemons : 1 ,
196
+ },
197
+ },
198
+ })
199
+ // nolint:gocritic // test
200
+ _ , err := client .CreateProvisionerKey (ctx , user .OrganizationID , codersdk.CreateProvisionerKeyRequest {
201
+ Name : "dont-TEST-me" ,
202
+ })
203
+ require .NoError (t , err )
204
+
205
+ routeCtx := chi .NewRouteContext ()
206
+ r := httptest .NewRequest (http .MethodGet , "/" , nil )
207
+ r = r .WithContext (context .WithValue (r .Context (), chi .RouteCtxKey , routeCtx ))
208
+ res := httptest .NewRecorder ()
209
+
210
+ r .Header .Set (codersdk .ProvisionerDaemonKey , "5Hl2Qw9kX3nM7vB4jR8pY6tA1cF0eD5uI2oL9gN3mZ4" )
211
+
212
+ httpmw .ExtractProvisionerDaemonAuthenticated (httpmw.ExtractProvisionerAuthConfig {
213
+ DB : db ,
214
+ Optional : false ,
215
+ })(http .HandlerFunc (func (w http.ResponseWriter , r * http.Request ) {
216
+ w .WriteHeader (http .StatusOK )
217
+ })).ServeHTTP (res , r )
218
+
219
+ require .Equal (t , http .StatusUnauthorized , res .Result ().StatusCode )
220
+ require .Contains (t , res .Body .String (), "provisioner daemon key invalid" )
221
+ })
219
222
}
0 commit comments