supabase-cli/internal/testing/fstest/open.go

29 lines
532 B
Go

package fstest
import (
"io/fs"
"os"
"strings"
"github.com/spf13/afero"
)
type OpenErrorFs struct {
afero.MemMapFs
DenyPath string
}
func (m *OpenErrorFs) OpenFile(name string, flag int, perm os.FileMode) (afero.File, error) {
if strings.HasPrefix(name, m.DenyPath) {
return nil, fs.ErrPermission
}
return m.MemMapFs.OpenFile(name, flag, perm)
}
func (m *OpenErrorFs) Open(name string) (afero.File, error) {
if strings.HasPrefix(name, m.DenyPath) {
return nil, fs.ErrPermission
}
return m.MemMapFs.Open(name)
}