@@ -57,7 +57,7 @@ func Test_Experiments(t *testing.T) {
57
57
t .Run ("wildcard" , func (t * testing.T ) {
58
58
t .Parallel ()
59
59
cfg := coderdtest .DeploymentValues (t )
60
- cfg .Experiments = []string {codersdk . ExperimentsAllWildcard }
60
+ cfg .Experiments = []string {"*" }
61
61
client := coderdtest .New (t , & coderdtest.Options {
62
62
DeploymentValues : cfg ,
63
63
})
@@ -79,7 +79,7 @@ func Test_Experiments(t *testing.T) {
79
79
t .Run ("alternate wildcard with manual opt-in" , func (t * testing.T ) {
80
80
t .Parallel ()
81
81
cfg := coderdtest .DeploymentValues (t )
82
- cfg .Experiments = []string {codersdk . ExperimentsAllWildcard , "dAnGeR" }
82
+ cfg .Experiments = []string {"*" , "dAnGeR" }
83
83
client := coderdtest .New (t , & coderdtest.Options {
84
84
DeploymentValues : cfg ,
85
85
})
@@ -102,7 +102,7 @@ func Test_Experiments(t *testing.T) {
102
102
t .Run ("Unauthorized" , func (t * testing.T ) {
103
103
t .Parallel ()
104
104
cfg := coderdtest .DeploymentValues (t )
105
- cfg .Experiments = []string {codersdk . ExperimentsAllWildcard }
105
+ cfg .Experiments = []string {"*" }
106
106
client := coderdtest .New (t , & coderdtest.Options {
107
107
DeploymentValues : cfg ,
108
108
})
@@ -133,140 +133,4 @@ func Test_Experiments(t *testing.T) {
133
133
require .NotNil (t , experiments )
134
134
require .ElementsMatch (t , codersdk .ExperimentsAll , experiments .Safe )
135
135
})
136
-
137
- t .Run ("experiments detail" , func (t * testing.T ) {
138
- t .Parallel ()
139
-
140
- const (
141
- invalidExp = "bob"
142
- expiredExp = "auto-fill-parameters" // using a string here not a constant since this experiment has expired & will be deleted eventually
143
- )
144
-
145
- tests := []struct {
146
- name string
147
- enabledValid []codersdk.Experiment
148
- enabledInvalid []codersdk.Experiment
149
- expectedExtraCount int
150
- }{
151
- {
152
- name : "using defaults" ,
153
- },
154
- {
155
- name : "use all (*)" ,
156
- enabledValid : []codersdk.Experiment {codersdk .Experiment (codersdk .ExperimentsAllWildcard )},
157
- },
158
- {
159
- name : "only valid experiments" ,
160
- enabledValid : codersdk .ExperimentsAll ,
161
- },
162
- {
163
- name : "use all (*) + invalid" ,
164
- enabledValid : []codersdk.Experiment {codersdk .Experiment (codersdk .ExperimentsAllWildcard ), codersdk .Experiment (expiredExp )},
165
- expectedExtraCount : 1 ,
166
- },
167
- {
168
- name : "valid + expired experiments" ,
169
- enabledValid : codersdk .ExperimentsAll ,
170
- enabledInvalid : []codersdk.Experiment {codersdk .Experiment (expiredExp )},
171
- expectedExtraCount : 1 ,
172
- },
173
- {
174
- name : "valid + expired + invalid experiments" ,
175
- enabledValid : codersdk .ExperimentsAll ,
176
- enabledInvalid : []codersdk.Experiment {codersdk .Experiment (invalidExp ), codersdk .Experiment (expiredExp )},
177
- expectedExtraCount : 2 ,
178
- },
179
- {
180
- name : "only expired" ,
181
- enabledInvalid : []codersdk.Experiment {codersdk .Experiment (expiredExp )},
182
- expectedExtraCount : 1 ,
183
- },
184
- {
185
- name : "only invalid" ,
186
- enabledInvalid : []codersdk.Experiment {codersdk .Experiment (invalidExp )},
187
- expectedExtraCount : 1 ,
188
- },
189
- {
190
- name : "expired + invalid experiments" ,
191
- enabledInvalid : []codersdk.Experiment {codersdk .Experiment (invalidExp ), codersdk .Experiment (expiredExp )},
192
- expectedExtraCount : 2 ,
193
- },
194
- }
195
-
196
- for _ , tc := range tests {
197
- tc := tc
198
-
199
- t .Run (tc .name , func (t * testing.T ) {
200
- t .Parallel ()
201
-
202
- var exps []string
203
-
204
- // given
205
- for _ , e := range tc .enabledValid {
206
- exps = append (exps , string (e ))
207
- }
208
- for _ , e := range tc .enabledInvalid {
209
- exps = append (exps , string (e ))
210
- }
211
-
212
- cfg := coderdtest .DeploymentValues (t )
213
- cfg .Experiments = exps
214
- client := coderdtest .New (t , & coderdtest.Options {
215
- DeploymentValues : cfg ,
216
- })
217
- _ = coderdtest .CreateFirstUser (t , client )
218
-
219
- ctx , cancel := context .WithTimeout (context .Background (), testutil .WaitLong )
220
- defer cancel ()
221
-
222
- // when
223
- experiments , err := client .ExperimentDetails (ctx )
224
-
225
- // then
226
- require .NoError (t , err )
227
- require .Len (t , experiments , len (codersdk .ExperimentsAll )+ tc .expectedExtraCount )
228
- require .Conditionf (t , func () (success bool ) {
229
- var enabled []bool
230
-
231
- var validCount int
232
- for _ , exp := range tc .enabledValid {
233
- // don't count wildcard experiment itself as a single experiment
234
- if exp == codersdk .ExperimentsAllWildcard {
235
- validCount += len (codersdk .ExperimentsAll )
236
- } else {
237
- validCount ++
238
- }
239
- }
240
-
241
- for _ , exp := range append (tc .enabledValid , tc .enabledInvalid ... ) {
242
- for _ , e := range experiments {
243
- // * is special-cased to mean all experiments
244
- if (exp == codersdk .ExperimentsAllWildcard || e .Name == exp ) && e .Enabled {
245
- // codersdk.ExperimentsAllWildcard cannot include invalid experiments
246
- if exp == codersdk .ExperimentsAllWildcard && e .Invalid {
247
- continue
248
- }
249
-
250
- enabled = append (enabled , true )
251
- }
252
- }
253
- }
254
-
255
- return len (enabled ) == validCount + len (tc .enabledInvalid )
256
- }, "enabled experiment(s) were either not found or not marked as enabled" )
257
- require .Conditionf (t , func () (success bool ) {
258
- var invalid []bool
259
- for _ , exp := range tc .enabledInvalid {
260
- for _ , e := range experiments {
261
- if e .Name == exp && e .Invalid {
262
- invalid = append (invalid , true )
263
- }
264
- }
265
- }
266
-
267
- return len (invalid ) == len (tc .enabledInvalid )
268
- }, "invalid experiment(s) were either not found or not marked as invalid" )
269
- })
270
- }
271
- })
272
136
}
0 commit comments