Files
opencloud/pkg/x/io/fsx/fsx_test.go
Jörn Friedrich Dreyer b07b5a1149 use plain pkg module
Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>
2025-01-13 16:42:19 +01:00

77 lines
1.8 KiB
Go

package fsx_test
import (
"os"
"reflect"
"testing"
"github.com/onsi/gomega"
"github.com/opencloud-eu/opencloud/pkg/x/io/fsx"
)
func TestBase(t *testing.T) {
g := gomega.NewWithT(t)
wrapped := fsx.NewMemMapFs()
fs := fsx.BaseFS{Fs: wrapped.Fs}
g.Expect(wrapped.Fs).Should(gomega.BeIdenticalTo(fs.Fs))
}
func TestBase_IOFS(t *testing.T) {
g := gomega.NewWithT(t)
fs := fsx.BaseFS{Fs: fsx.NewMemMapFs()}
g.Expect(reflect.TypeOf(fs.IOFS()).Name()).Should(gomega.Equal("IOFS"))
}
func TestFromIOFS(t *testing.T) {
g := gomega.NewWithT(t)
fs := fsx.FromIOFS(os.DirFS("."))
g.Expect(reflect.TypeOf(fs.Fs).String()).Should(gomega.Equal("*afero.FromIOFS"))
}
func TestNewOsFs(t *testing.T) {
g := gomega.NewWithT(t)
fs := fsx.NewOsFs()
g.Expect(reflect.TypeOf(fs.Fs).String()).Should(gomega.Equal("*afero.OsFs"))
}
func TestNewBasePathFs(t *testing.T) {
g := gomega.NewWithT(t)
base := fsx.NewMemMapFs()
err := base.MkdirAll("first/foo/bar", 0755)
g.Expect(err).ToNot(gomega.HaveOccurred())
err = base.MkdirAll("second/foo/baz", 0755)
g.Expect(err).ToNot(gomega.HaveOccurred())
fs := fsx.NewBasePathFs(base, "first")
info, err := fs.Stat("/foo/bar")
g.Expect(err).ToNot(gomega.HaveOccurred())
g.Expect(info.IsDir()).To(gomega.BeTrue())
info, err = fs.Stat("/foo/baz")
g.Expect(err).To(gomega.HaveOccurred())
g.Expect(info).To(gomega.BeNil())
info, err = fs.Stat("../second/foo/baz")
g.Expect(err).To(gomega.HaveOccurred())
g.Expect(info).To(gomega.BeNil())
}
func TestNewReadOnlyFs(t *testing.T) {
g := gomega.NewWithT(t)
base := fsx.NewMemMapFs()
err := base.MkdirAll("first/foo/bar", 0755)
g.Expect(err).ToNot(gomega.HaveOccurred())
fs := fsx.NewReadOnlyFs(base)
err = fs.MkdirAll("first/foo/bay", 0755)
g.Expect(err).To(gomega.HaveOccurred())
}