dsfx/pkg/disk/default_test.go

58 lines
1.3 KiB
Go
Raw Normal View History

package disk_test
import (
"testing"
"koti.casa/numenor-labs/dsfx/pkg/disk"
)
func TestDefaultDisk(t *testing.T) {
// Create a new disk instance using the default implementation
d := disk.Default()
// Test creating a directory
dirName := "testdir"
if err := d.Mkdir(dirName, 0755); err != nil {
t.Fatalf("Failed to create directory: %v", err)
}
// Test creating a file
fileName := "testfile.txt"
file, err := d.Create(fileName)
if err != nil {
t.Fatalf("Failed to create file: %v", err)
}
defer file.Close()
// Test writing to the file
if _, err := file.Write([]byte("Hello, World!")); err != nil {
t.Fatalf("Failed to write to file: %v", err)
}
// Test statting the file
info, err := d.Stat(fileName)
if err != nil {
t.Fatalf("Failed to stat file: %v", err)
}
if info.Name() != fileName {
t.Errorf("Expected file name %s, got %s", fileName, info.Name())
}
// Test opening the file
openFile, err := d.Open(fileName)
if err != nil {
t.Fatalf("Failed to open file: %v", err)
}
defer openFile.Close()
// Test removing the file
if err := d.Remove(fileName); err != nil {
t.Fatalf("Failed to remove file: %v", err)
}
// Test removing the directory
if err := d.Remove(dirName); err != nil {
t.Fatalf("Failed to remove directory: %v", err)
}
}