github.com/hugorut/terraform@v1.1.3/src/command/workdir/plugin_dirs_test.go (about) 1 package workdir 2 3 import ( 4 "os" 5 "path/filepath" 6 "testing" 7 8 "github.com/google/go-cmp/cmp" 9 ) 10 11 func TestDirForcedPluginDirs(t *testing.T) { 12 tmpDir, err := os.MkdirTemp("", "terraform-workdir-") 13 if err != nil { 14 t.Fatal(err) 15 } 16 defer os.RemoveAll(tmpDir) 17 18 dir := NewDir(tmpDir) 19 // We'll use the default convention of a data dir nested inside the 20 // working directory, so we don't need to override anything on "dir". 21 22 want := []string(nil) 23 got, err := dir.ForcedPluginDirs() 24 if err != nil { 25 t.Fatal(err) 26 } 27 if diff := cmp.Diff(want, got); diff != "" { 28 t.Errorf("wrong initial settings\n%s", diff) 29 } 30 31 fakeDir1 := filepath.Join(tmpDir, "boop1") 32 fakeDir2 := filepath.Join(tmpDir, "boop2") 33 err = dir.SetForcedPluginDirs([]string{fakeDir1, fakeDir2}) 34 if err != nil { 35 t.Fatal(err) 36 } 37 38 want = []string{fakeDir1, fakeDir2} 39 got, err = dir.ForcedPluginDirs() 40 if err != nil { 41 t.Fatal(err) 42 } 43 if diff := cmp.Diff(want, got); diff != "" { 44 t.Errorf("wrong updated settings\n%s", diff) 45 } 46 47 err = dir.SetForcedPluginDirs(nil) 48 if err != nil { 49 t.Fatal(err) 50 } 51 52 want = nil 53 got, err = dir.ForcedPluginDirs() 54 if err != nil { 55 t.Fatal(err) 56 } 57 if diff := cmp.Diff(want, got); diff != "" { 58 t.Errorf("wrong final settings, after reverting back to defaults\n%s", diff) 59 } 60 }