MCPcopy Index your code
hub / github.com/coder/coder / TestFindMatchingPresetID

Function TestFindMatchingPresetID

coderd/prebuilds/parameters_test.go:17–197  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

15)
16
17func TestFindMatchingPresetID(t *testing.T) {
18 t.Parallel()
19
20 presetIDs := []uuid.UUID{
21 uuid.New(),
22 uuid.New(),
23 }
24 // Give each preset a meaningful name in alphabetical order
25 presetNames := map[uuid.UUID]string{
26 presetIDs[0]: "development",
27 presetIDs[1]: "production",
28 }
29 tests := []struct {
30 name string
31 parameterNames []string
32 parameterValues []string
33 presetParameters []database.TemplateVersionPresetParameter
34 expectedPresetID uuid.UUID
35 expectError bool
36 errorContains string
37 }{
38 {
39 name: "exact match",
40 parameterNames: []string{"region", "instance_type"},
41 parameterValues: []string{"us-west-2", "t3.medium"},
42 presetParameters: []database.TemplateVersionPresetParameter{
43 {TemplateVersionPresetID: presetIDs[0], Name: "region", Value: "us-west-2"},
44 {TemplateVersionPresetID: presetIDs[0], Name: "instance_type", Value: "t3.medium"},
45 // antagonist:
46 {TemplateVersionPresetID: presetIDs[1], Name: "region", Value: "us-west-2"},
47 {TemplateVersionPresetID: presetIDs[1], Name: "instance_type", Value: "t3.large"},
48 },
49 expectedPresetID: presetIDs[0],
50 expectError: false,
51 },
52 {
53 name: "no match - different values",
54 parameterNames: []string{"region", "instance_type"},
55 parameterValues: []string{"us-east-1", "t3.medium"},
56 presetParameters: []database.TemplateVersionPresetParameter{
57 {TemplateVersionPresetID: presetIDs[0], Name: "region", Value: "us-west-2"},
58 {TemplateVersionPresetID: presetIDs[0], Name: "instance_type", Value: "t3.medium"},
59 // antagonist:
60 {TemplateVersionPresetID: presetIDs[1], Name: "region", Value: "us-west-2"},
61 {TemplateVersionPresetID: presetIDs[1], Name: "instance_type", Value: "t3.large"},
62 },
63 expectedPresetID: uuid.Nil,
64 expectError: false,
65 },
66 {
67 name: "no match - fewer provided parameters",
68 parameterNames: []string{"region"},
69 parameterValues: []string{"us-west-2"},
70 presetParameters: []database.TemplateVersionPresetParameter{
71 {TemplateVersionPresetID: presetIDs[0], Name: "region", Value: "us-west-2"},
72 {TemplateVersionPresetID: presetIDs[0], Name: "instance_type", Value: "t3.medium"},
73 // antagonist:
74 {TemplateVersionPresetID: presetIDs[1], Name: "region", Value: "us-west-2"},

Callers

nothing calls this directly

Calls 14

ContextFunction · 0.92
NewDBFunction · 0.92
OrganizationFunction · 0.92
UserFunction · 0.92
TemplateVersionFunction · 0.92
NowInDefaultTimezoneFunction · 0.92
FindMatchingPresetIDFunction · 0.92
NewMethod · 0.65
RunMethod · 0.65
InsertPresetMethod · 0.65
ErrorMethod · 0.45

Tested by

no test coverage detected