github.com/supabase/cli@v1.168.1/internal/testing/fstest/open.go (about)

     1  package fstest
     2  
     3  import (
     4  	"io/fs"
     5  	"os"
     6  	"strings"
     7  
     8  	"github.com/spf13/afero"
     9  )
    10  
    11  type OpenErrorFs struct {
    12  	afero.MemMapFs
    13  	DenyPath string
    14  }
    15  
    16  func (m *OpenErrorFs) OpenFile(name string, flag int, perm os.FileMode) (afero.File, error) {
    17  	if strings.HasPrefix(name, m.DenyPath) {
    18  		return nil, fs.ErrPermission
    19  	}
    20  	return m.MemMapFs.OpenFile(name, flag, perm)
    21  }
    22  
    23  func (m *OpenErrorFs) Open(name string) (afero.File, error) {
    24  	if strings.HasPrefix(name, m.DenyPath) {
    25  		return nil, fs.ErrPermission
    26  	}
    27  	return m.MemMapFs.Open(name)
    28  }