package helm import ( "path/filepath" "testing" ) func TestDirectoryStructure(t *testing.T) { chartsDir, err := Templates.ReadDir("linkerd/charts") if err != nil { t.Error(err) } if len(chartsDir) == 0 { t.Fatal("linkerd/charts/ directory empty in embedded filesystem") } if len(chartsDir) != 4 { t.Fatal("linkerd/charts/ directory should only contain directories") } if chartsDir[0].Name() != "linkerd-control-plane" { t.Fatal("linkerd/charts/linkerd-control-plane/ not present") } if chartsDir[1].Name() != "linkerd-crds" { t.Fatal("linkerd/charts/linkerd-crds/ not present") } if chartsDir[2].Name() != "partials" { t.Fatal("linkerd/charts/partials/ not present") } if chartsDir[3].Name() != "patch" { t.Fatal("linkerd/charts/patch/ not present") } // test partials are all present templates, err := Templates.ReadDir("linkerd/charts/partials/templates") if err != nil { t.Error(err) } if len(templates) == 0 { t.Fatal("linkerd/charts/partials/templates is empty") } for _, e := range chartsDir { t.Log(e.Name()) if !e.IsDir() { t.Fatal("not a directory", e.Name()) } _, err := Templates.ReadDir(filepath.Join("linkerd/charts", e.Name())) if err != nil { t.Error(err) } } }