29 lines
617 B
Go
29 lines
617 B
Go
package shared
|
|
|
|
import (
|
|
"io"
|
|
"os"
|
|
"reflect"
|
|
"testing"
|
|
)
|
|
|
|
func TestFSWrapper_Open(t *testing.T) {
|
|
rootFs := os.DirFS("/")
|
|
wrapper := NewFSWrapper(rootFs, "etc/", false)
|
|
f, err := wrapper.Open("hostname")
|
|
if err != nil {
|
|
t.Fatalf("failed to open /etc/hostname: %v", err)
|
|
}
|
|
defer f.Close()
|
|
data, err := os.ReadFile("/etc/hostname")
|
|
if err != nil {
|
|
t.Fatalf("failed to read with full path: %v", err)
|
|
}
|
|
wrappedData, err := io.ReadAll(f)
|
|
if err != nil {
|
|
t.Fatalf("failed to read from wrapped file: %v", err)
|
|
}
|
|
if !reflect.DeepEqual(wrappedData, data) {
|
|
t.Fatal("file contents are different")
|
|
}
|
|
}
|