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  }