@@ -135,40 +135,62 @@ func TestProvisionerKeys(t *testing.T) {
135
135
require .ErrorContains (t ,err ,"reserved" )
136
136
}
137
137
138
- func TestProvisionerKey (t * testing.T ) {
138
+ func TestGetProvisionerKey (t * testing.T ) {
139
139
t .Parallel ()
140
- t .Run ("GetKey" ,func (t * testing.T ) {
141
- t .Parallel ()
142
140
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
+ }
144
155
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 ()
157
160
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
+ }
162
194
})
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
+ }
174
196
}