@@ -135,40 +135,64 @@ 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
+ t .Run (tt .name , func (t * testing.T ) {
157
158
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" },
162
- })
163
- require .NoError (t , err )
159
+ t .Parallel ()
164
160
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" })
161
+ ctx := testutil .Context (t , testutil .WaitShort )
169
162
170
- erroneousPK , err := client .GetProvisionerKey (ctx , "abcdefghijklmnopqrstuvwxyz01234567890123456" )
171
- require .Empty (t , erroneousPK )
172
- require .Error (t , err )
173
- })
163
+ dv := coderdtest .DeploymentValues (t )
164
+ client , owner := coderdenttest .New (t , & coderdenttest.Options {
165
+ Options : & coderdtest.Options {
166
+ DeploymentValues : dv ,
167
+ },
168
+ LicenseOptions : & coderdenttest.LicenseOptions {
169
+ Features : license.Features {
170
+ codersdk .FeatureMultipleOrganizations : 1 ,
171
+ codersdk .FeatureExternalProvisionerDaemons : 1 ,
172
+ },
173
+ },
174
+ })
175
+
176
+ // nolint:gocritic - ruleguard: This client is operating as the owner user, which has unrestricted permissions.
177
+ key , err := client .CreateProvisionerKey (ctx , owner .OrganizationID , codersdk.CreateProvisionerKeyRequest {
178
+ Name : "my-test-key" ,
179
+ Tags : map [string ]string {"key1" : "value1" , "key2" : "value2" },
180
+ })
181
+ require .NoError (t , err )
182
+
183
+ pk := key .Key
184
+ if tt .useFakeKey {
185
+ pk = tt .fakeKey
186
+ }
187
+
188
+ fetchedKey , err := client .GetProvisionerKey (ctx , pk )
189
+ if ! tt .success {
190
+ require .ErrorContains (t , err , tt .expectedErr )
191
+ } else {
192
+ require .NoError (t , err )
193
+ require .Equal (t , fetchedKey .Name , "my-test-key" )
194
+ require .Equal (t , fetchedKey .Tags , codersdk.ProvisionerKeyTags {"key1" : "value1" , "key2" : "value2" })
195
+ }
196
+ })
197
+ }
174
198
}
0 commit comments