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

Function moduleArchiveFS

provisioner/terraform/modules_internal_test.go:249–285  ·  view source on GitHub ↗
(t *testing.T, defs map[string]moduleDef)

Source from the content-addressed store, hash-verified

247}
248
249func moduleArchiveFS(t *testing.T, defs map[string]moduleDef) fs.FS {
250 memFS := afero.NewMemMapFs()
251 modRoot := ".terraform/modules"
252 err := memFS.MkdirAll(modRoot, 0o755)
253 require.NoError(t, err)
254
255 mods := []*module{}
256 for name, def := range defs {
257 modDir := filepath.Join(modRoot, name)
258 err = memFS.Mkdir(modDir, 0o755)
259 require.NoError(t, err)
260
261 f, err := memFS.Create(filepath.Join(modDir, "payload"))
262 require.NoError(t, err)
263 _, err = f.Write(def.payload)
264 require.NoError(t, err)
265 f.Close()
266
267 mods = append(mods, &module{
268 Source: name,
269 Version: "v0.1.0",
270 Key: name,
271 Dir: modDir,
272 })
273 }
274
275 data, _ := json.Marshal(modulesFile{
276 Modules: mods,
277 })
278 jm, err := memFS.Create(filepath.Join(modRoot, "modules.json"))
279 require.NoError(t, err)
280 _, err = jm.Write(data)
281 require.NoError(t, err)
282 jm.Close()
283
284 return afero.NewIOFS(memFS)
285}

Callers 1

TestGetModulesArchiveFunction · 0.85

Calls 5

MkdirAllMethod · 0.80
CreateMethod · 0.65
WriteMethod · 0.65
CloseMethod · 0.65
MarshalMethod · 0.45

Tested by

no test coverage detected