opentofu/command/plugins_lock_test.go

41 lines
894 B
Go
Raw Normal View History

package command
import (
"io/ioutil"
"reflect"
"testing"
)
func TestPluginSHA256LockFile(t *testing.T) {
f, err := ioutil.TempFile(testingDir, "tf-pluginsha1lockfile-test-")
if err != nil {
t.Fatalf("failed to create temporary file: %s", err)
}
f.Close()
//defer os.Remove(f.Name())
t.Logf("working in %s", f.Name())
plf := &pluginSHA256LockFile{
Filename: f.Name(),
}
// Initially the file is invalid, so we should get an empty map.
digests := plf.Read()
if !reflect.DeepEqual(digests, map[string][]byte{}) {
t.Errorf("wrong initial content %#v; want empty map", digests)
}
digests = map[string][]byte{
"test": []byte("hello world"),
}
err = plf.Write(digests)
if err != nil {
t.Fatalf("failed to write lock file: %s", err)
}
got := plf.Read()
if !reflect.DeepEqual(got, digests) {
t.Errorf("wrong content %#v after write; want %#v", got, digests)
}
}