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

Function TestOverlayFS

coderd/files/overlay_test.go:13–43  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

11)
12
13func TestOverlayFS(t *testing.T) {
14 t.Parallel()
15
16 a := afero.NewMemMapFs()
17 afero.WriteFile(a, "main.tf", []byte("terraform {}"), 0o644)
18 afero.WriteFile(a, ".terraform/modules/example_module/main.tf", []byte("inaccessible"), 0o644)
19 afero.WriteFile(a, ".terraform/modules/other_module/main.tf", []byte("inaccessible"), 0o644)
20 b := afero.NewMemMapFs()
21 afero.WriteFile(b, ".terraform/modules/modules.json", []byte("{}"), 0o644)
22 afero.WriteFile(b, ".terraform/modules/example_module/main.tf", []byte("terraform {}"), 0o644)
23
24 it := files.NewOverlayFS(afero.NewIOFS(a), []files.Overlay{{
25 Path: ".terraform/modules",
26 FS: afero.NewIOFS(b),
27 }})
28
29 content, err := fs.ReadFile(it, "main.tf")
30 require.NoError(t, err)
31 require.Equal(t, "terraform {}", string(content))
32
33 _, err = fs.ReadFile(it, ".terraform/modules/other_module/main.tf")
34 require.Error(t, err)
35
36 content, err = fs.ReadFile(it, ".terraform/modules/modules.json")
37 require.NoError(t, err)
38 require.Equal(t, "{}", string(content))
39
40 content, err = fs.ReadFile(it, ".terraform/modules/example_module/main.tf")
41 require.NoError(t, err)
42 require.Equal(t, "terraform {}", string(content))
43}

Callers

nothing calls this directly

Calls 5

NewOverlayFSFunction · 0.92
WriteFileMethod · 0.65
ReadFileMethod · 0.65
EqualMethod · 0.45
ErrorMethod · 0.45

Tested by

no test coverage detected