github.com/paultyng/terraform@v0.6.11-0.20180227224804-66ff8f8bed40/command/plugins_lock_test.go (about) 1 package command 2 3 import ( 4 "io/ioutil" 5 "reflect" 6 "testing" 7 ) 8 9 func TestPluginSHA256LockFile(t *testing.T) { 10 f, err := ioutil.TempFile("", "tf-pluginsha1lockfile-test-") 11 if err != nil { 12 t.Fatalf("failed to create temporary file: %s", err) 13 } 14 f.Close() 15 //defer os.Remove(f.Name()) 16 t.Logf("working in %s", f.Name()) 17 18 plf := &pluginSHA256LockFile{ 19 Filename: f.Name(), 20 } 21 22 // Initially the file is invalid, so we should get an empty map. 23 digests := plf.Read() 24 if !reflect.DeepEqual(digests, map[string][]byte{}) { 25 t.Errorf("wrong initial content %#v; want empty map", digests) 26 } 27 28 digests = map[string][]byte{ 29 "test": []byte("hello world"), 30 } 31 err = plf.Write(digests) 32 if err != nil { 33 t.Fatalf("failed to write lock file: %s", err) 34 } 35 36 got := plf.Read() 37 if !reflect.DeepEqual(got, digests) { 38 t.Errorf("wrong content %#v after write; want %#v", got, digests) 39 } 40 }