MCPcopy
hub / github.com/benbjohnson/litestream / TestVFSFile_NewDatabase_FileSize

Function TestVFSFile_NewDatabase_FileSize

vfs_write_test.go:841–883  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

839}
840
841func TestVFSFile_NewDatabase_FileSize(t *testing.T) {
842 // Test that FileSize returns 0 for a new empty database
843 client := newWriteTestReplicaClient()
844
845 tmpDir := t.TempDir()
846 bufferPath := tmpDir + "/.litestream-write-buffer"
847
848 logger := slog.Default()
849 f := NewVFSFile(client, "new.db", logger)
850 f.writeEnabled = true
851 f.dirty = make(map[uint32]int64)
852 f.syncInterval = 0
853 f.bufferPath = bufferPath
854
855 if err := f.Open(); err != nil {
856 t.Fatal(err)
857 }
858 defer f.Close()
859
860 // FileSize should be 0 for empty database
861 size, err := f.FileSize()
862 if err != nil {
863 t.Fatal(err)
864 }
865 if size != 0 {
866 t.Errorf("expected size 0 for new database, got %d", size)
867 }
868
869 // Write a page
870 data := make([]byte, DefaultPageSize)
871 if _, err := f.WriteAt(data, 0); err != nil {
872 t.Fatal(err)
873 }
874
875 // FileSize should now reflect the dirty page
876 size, err = f.FileSize()
877 if err != nil {
878 t.Fatal(err)
879 }
880 if size != int64(DefaultPageSize) {
881 t.Errorf("expected size %d after write, got %d", DefaultPageSize, size)
882 }
883}
884
885func TestSetWriteEnabled_ReadValue(t *testing.T) {
886 client := newWriteTestReplicaClient()

Callers

nothing calls this directly

Calls 6

OpenMethod · 0.95
CloseMethod · 0.95
FileSizeMethod · 0.95
WriteAtMethod · 0.95
NewVFSFileFunction · 0.85

Tested by

no test coverage detected