github.com/operator-framework/operator-lifecycle-manager@v0.30.0/test/e2e/fbc_provider.go (about) 1 package e2e 2 3 import ( 4 "errors" 5 "fmt" 6 "os" 7 ) 8 9 type FileBasedCatalogProvider interface { 10 GetCatalog() string 11 } 12 13 type fileBasedFileBasedCatalogProvider struct { 14 fbc string 15 } 16 17 func NewFileBasedFiledBasedCatalogProvider(path string) (FileBasedCatalogProvider, error) { 18 data, err := os.ReadFile(path) 19 if errors.Is(err, os.ErrNotExist) { 20 return nil, fmt.Errorf("path %s does not exist: %w", path, err) 21 } 22 if err != nil { 23 return nil, err 24 } 25 26 return &fileBasedFileBasedCatalogProvider{ 27 fbc: string(data), 28 }, nil 29 } 30 31 func (f *fileBasedFileBasedCatalogProvider) GetCatalog() string { 32 return f.fbc 33 } 34 35 func NewRawFileBasedCatalogProvider(data string) (FileBasedCatalogProvider, error) { 36 return &fileBasedFileBasedCatalogProvider{ 37 fbc: string(data), 38 }, nil 39 }