github.com/sudo-bmitch/version-bump@v0.0.0-20240503123857-70b0e3f646dd/internal/lockfile/lockfile_test.go (about) 1 package lockfile 2 3 import ( 4 "bytes" 5 "os" 6 "testing" 7 ) 8 9 func TestLockfile(t *testing.T) { 10 dir := t.TempDir() 11 inFile := "../../testdata/ex-lock.jsonl" 12 outFile := dir + "/ex-lock.jsonl" 13 // load test file 14 l, err := LoadFile(inFile) 15 if err != nil { 16 t.Errorf("failed to load lockfile: %v", err) 17 return 18 } 19 // verify content 20 entry, err := l.Get("Test", "X") 21 if err != nil { 22 t.Errorf("failed to get test/X entry: %v", err) 23 return 24 } 25 if entry.Version != "123" { 26 t.Errorf("version mismatch, expected 123, received %s", entry.Version) 27 } 28 // write file 29 err = SaveFile(outFile, l) 30 if err != nil { 31 t.Errorf("failed to save lockfile: %v", err) 32 return 33 } 34 // verify file contains the same content 35 bIn, err := os.ReadFile(inFile) 36 if err != nil { 37 t.Errorf("failed to read %s: %v", inFile, err) 38 return 39 } 40 bOut, err := os.ReadFile(outFile) 41 if err != nil { 42 t.Errorf("failed to read %s: %v", outFile, err) 43 return 44 } 45 if !bytes.Equal(bIn, bOut) { 46 t.Errorf("output does not match input file %s:\n%s", inFile, bOut) 47 } 48 }