@@ -135,40 +135,62 @@ func TestProvisionerKeys(t *testing.T) {
135135require .ErrorContains (t ,err ,"reserved" )
136136}
137137
138- func TestProvisionerKey (t * testing.T ) {
138+ func TestGetProvisionerKey (t * testing.T ) {
139139t .Parallel ()
140- t .Run ("GetKey" ,func (t * testing.T ) {
141- t .Parallel ()
142140
143- ctx := testutil .Context (t ,testutil .WaitShort )
141+ tests := []struct {
142+ name string
143+ useFakeKey bool
144+ fakeKey string
145+ success bool
146+ expectedErr string
147+ }{
148+ {
149+ name :"ok" ,
150+ useFakeKey :false ,
151+ success :true ,
152+ expectedErr :"" ,
153+ },
154+ }
144155
145- dv := coderdtest .DeploymentValues (t )
146- client ,owner := coderdenttest .New (t ,& coderdenttest.Options {
147- Options :& coderdtest.Options {
148- DeploymentValues :dv ,
149- },
150- LicenseOptions :& coderdenttest.LicenseOptions {
151- Features : license.Features {
152- codersdk .FeatureMultipleOrganizations :1 ,
153- codersdk .FeatureExternalProvisionerDaemons :1 ,
154- },
155- },
156- })
156+ for _ ,tt := range tests {
157+ tt := tt
158+ t .Run (tt .name ,func (t * testing.T ) {
159+ t .Parallel ()
157160
158- // nolint:gocritic
159- key ,err := client .CreateProvisionerKey (ctx ,owner .OrganizationID , codersdk.CreateProvisionerKeyRequest {
160- Name :"my-test-key" ,
161- Tags :map [string ]string {"key1" :"value1" ,"key2" :"value2" },
161+ ctx := testutil .Context (t ,testutil .WaitShort )
162+ dv := coderdtest .DeploymentValues (t )
163+ client ,owner := coderdenttest .New (t ,& coderdenttest.Options {
164+ Options :& coderdtest.Options {
165+ DeploymentValues :dv ,
166+ },
167+ LicenseOptions :& coderdenttest.LicenseOptions {
168+ Features : license.Features {
169+ codersdk .FeatureMultipleOrganizations :1 ,
170+ codersdk .FeatureExternalProvisionerDaemons :1 ,
171+ },
172+ },
173+ })
174+
175+ key ,err := client .CreateProvisionerKey (ctx ,owner .OrganizationID , codersdk.CreateProvisionerKeyRequest {
176+ Name :"my-test-key" ,
177+ Tags :map [string ]string {"key1" :"value1" ,"key2" :"value2" },
178+ })
179+ require .NoError (t ,err )
180+
181+ pk := key .Key
182+ if tt .useFakeKey {
183+ pk = tt .fakeKey
184+ }
185+
186+ fetchedKey ,err := client .GetProvisionerKey (ctx ,pk )
187+ if ! tt .success {
188+ require .ErrorContains (t ,err ,tt .expectedErr )
189+ }else {
190+ require .NoError (t ,err )
191+ require .Equal (t ,fetchedKey .Name ,"my-test-key" )
192+ require .Equal (t ,fetchedKey .Tags , codersdk.ProvisionerKeyTags {"key1" :"value1" ,"key2" :"value2" })
193+ }
162194})
163- require .NoError (t ,err )
164-
165- fetchedKey ,err := client .GetProvisionerKey (ctx ,key .Key )
166- require .NoError (t ,err )
167- require .Equal (t ,fetchedKey .Name ,"my-test-key" )
168- require .Equal (t ,fetchedKey .Tags , codersdk.ProvisionerKeyTags {"key1" :"value1" ,"key2" :"value2" })
169-
170- erroneousPK ,err := client .GetProvisionerKey (ctx ,"abcdefghijklmnopqrstuvwxyz01234567890123456" )
171- require .Empty (t ,erroneousPK )
172- require .Error (t ,err )
173- })
195+ }
174196}