Skip to content

Commit 776356e

Browse files
committed
added go test for new param
1 parent e6215c0 commit 776356e

File tree

2 files changed

+24
-1
lines changed

2 files changed

+24
-1
lines changed

coderd/experiments_test.go

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,4 +116,26 @@ func Test_Experiments(t *testing.T) {
116116
require.Error(t, err)
117117
require.ErrorContains(t, err, httpmw.SignedOutErrorMessage)
118118
})
119+
120+
t.Run("include_all query param", func(t *testing.T) {
121+
t.Parallel()
122+
cfg := coderdtest.DeploymentValues(t)
123+
cfg.Experiments = []string{"foo", "BAR"}
124+
codersdk.ExperimentsAll = []codersdk.Experiment{"bat", "fizz", "foo", "BAR"}
125+
client := coderdtest.New(t, &coderdtest.Options{
126+
DeploymentValues: cfg,
127+
})
128+
_ = coderdtest.CreateFirstUser(t, client)
129+
130+
ctx, cancel := context.WithTimeout(context.Background(), testutil.WaitLong)
131+
defer cancel()
132+
133+
experiments, err := client.Experiments(ctx, codersdk.ExperimentOptions{IncludeAll: true})
134+
require.NoError(t, err)
135+
require.NotNil(t, experiments)
136+
require.ElementsMatch(t, []codersdk.Experiment{"bat", "fizz", "foo", "BAR"}, experiments)
137+
138+
require.True(t, codersdk.Experiments{"foo", "BAR"}.Enabled("foo"))
139+
require.True(t, codersdk.Experiments{"foo", "BAR"}.Enabled("BAR"))
140+
})
119141
}

codersdk/deployment.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2013,12 +2013,13 @@ var ExperimentsAll = Experiments{
20132013
ExperimentSingleTailnet,
20142014
}
20152015

2016-
// Experiments is a list of experiments that are enabled for the deployment.
2016+
// Experiments is a list of experiments.
20172017
// Multiple experiments may be enabled at the same time.
20182018
// Experiments are not safe for production use, and are not guaranteed to
20192019
// be backwards compatible. They may be removed or renamed at any time.
20202020
type Experiments []Experiment
20212021

2022+
// Returns a list of experiments that are enabled for the deployment.
20222023
func (e Experiments) Enabled(ex Experiment) bool {
20232024
for _, v := range e {
20242025
if v == ex {

0 commit comments

Comments
 (0)