MCPcopy
hub / github.com/lima-vm/lima / TestValidateProvisionMode

Function TestValidateProvisionMode

pkg/limayaml/validate_test.go:117–147  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

115}
116
117func TestValidateProvisionMode(t *testing.T) {
118 images := `images: [{location: /}]`
119 provisionBoot := `provision: [{mode: boot, script: "touch /tmp/param-$PARAM_BOOT"}]`
120 y, err := Load(t.Context(), []byte(provisionBoot+"\n"+images), "lima.yaml")
121 assert.NilError(t, err)
122
123 err = Validate(y, false)
124 assert.NilError(t, err)
125
126 provisionUser := `provision: [{mode: user, script: "touch /tmp/param-$PARAM_USER"}]`
127 y, err = Load(t.Context(), []byte(provisionUser+"\n"+images), "lima.yaml")
128 assert.NilError(t, err)
129
130 err = Validate(y, false)
131 assert.NilError(t, err)
132
133 provisionDependency := `provision: [{mode: ansible, script: "touch /tmp/param-$PARAM_DEPENDENCY"}]`
134 y, err = Load(t.Context(), []byte(provisionDependency+"\n"+images), "lima.yaml")
135 assert.NilError(t, err)
136
137 err = Validate(y, false)
138 assert.NilError(t, err)
139
140 provisionInvalid := `provision: [{mode: invalid}]`
141 y, err = Load(t.Context(), []byte(provisionInvalid+"\n"+images), "lima.yaml")
142 assert.NilError(t, err)
143
144 err = Validate(y, false)
145 assert.Error(t, err, "field `provision[0].mode` must one of `system`, `user`, `boot`, `data`, `dependency`, `ansible`, or `yq`\n"+
146 "field `provision[0].script` must not be empty")
147}
148
149func TestValidateProvisionData(t *testing.T) {
150 images := `images: [{location: /}]`

Callers

nothing calls this directly

Calls 3

LoadFunction · 0.70
ValidateFunction · 0.70
ErrorMethod · 0.45

Tested by

no test coverage detected