Documentation
¶
Overview ¶
Package file is a generated GoMock package.
Index ¶
- Constants
- Variables
- func DefaultHistogramBuckets() []float64
- func GenerateCopyName(original string, count int) string
- func IsAlreadyExistsError(err error) bool
- func ObserveOperation(params *OperationObservability)
- func ValidateSeekOffset(whence int, offset, currentPos, length int64) (int64, error)
- type CommonFile
- func (f *CommonFile) Close() error
- func (f *CommonFile) IsDir() bool
- func (f *CommonFile) ModTime() time.Time
- func (f *CommonFile) Mode() os.FileMode
- func (f *CommonFile) Name() string
- func (f *CommonFile) Read(p []byte) (int, error)
- func (f *CommonFile) ReadAll() (RowReader, error)
- func (f *CommonFile) ReadAt(p []byte, off int64) (int, error)
- func (f *CommonFile) Seek(offset int64, whence int) (int64, error)
- func (f *CommonFile) Size() int64
- func (*CommonFile) Sys() any
- func (f *CommonFile) Write(p []byte) (int, error)
- func (f *CommonFile) WriteAt(p []byte, off int64) (int, error)
- type CommonFileSystem
- func (c *CommonFileSystem) ChDir(_ string) error
- func (c *CommonFileSystem) Connect(ctx context.Context) error
- func (c *CommonFileSystem) Create(name string) (File, error)
- func (c *CommonFileSystem) Getwd() (string, error)
- func (c *CommonFileSystem) IsConnected() bool
- func (c *CommonFileSystem) IsRetryDisabled() bool
- func (c *CommonFileSystem) Mkdir(name string, _ os.FileMode) error
- func (c *CommonFileSystem) MkdirAll(dirPath string, perm os.FileMode) error
- func (c *CommonFileSystem) Observe(operation string, startTime time.Time, status, message *string)
- func (c *CommonFileSystem) Open(name string) (File, error)
- func (c *CommonFileSystem) OpenFile(name string, flag int, perm os.FileMode) (File, error)
- func (c *CommonFileSystem) ReadDir(dir string) ([]FileInfo, error)
- func (c *CommonFileSystem) Remove(name string) error
- func (c *CommonFileSystem) RemoveAll(dirPath string) error
- func (c *CommonFileSystem) Rename(oldname, newname string) error
- func (c *CommonFileSystem) SetConnected(connected bool)
- func (c *CommonFileSystem) SetDisableRetry(disable bool)
- func (c *CommonFileSystem) Stat(name string) (FileInfo, error)
- func (c *CommonFileSystem) UseLogger(logger any)
- func (c *CommonFileSystem) UseMetrics(metrics any)
- type File
- type FileInfo
- type FileSystem
- type FileSystemProvider
- type MockFile
- func (m *MockFile) Close() error
- func (m *MockFile) EXPECT() *MockFileMockRecorder
- func (m *MockFile) IsDir() bool
- func (m *MockFile) ModTime() time.Time
- func (m *MockFile) Mode() os.FileMode
- func (m *MockFile) Name() string
- func (m *MockFile) Read(p []byte) (int, error)
- func (m *MockFile) ReadAll() (RowReader, error)
- func (m *MockFile) ReadAt(p []byte, off int64) (int, error)
- func (m *MockFile) Seek(offset int64, whence int) (int64, error)
- func (m *MockFile) Size() int64
- func (m *MockFile) Sys() any
- func (m *MockFile) Write(p []byte) (int, error)
- func (m *MockFile) WriteAt(p []byte, off int64) (int, error)
- type MockFileInfo
- type MockFileInfoMockRecorder
- type MockFileMockRecorder
- func (mr *MockFileMockRecorder) Close() *gomock.Call
- func (mr *MockFileMockRecorder) IsDir() *gomock.Call
- func (mr *MockFileMockRecorder) ModTime() *gomock.Call
- func (mr *MockFileMockRecorder) Mode() *gomock.Call
- func (mr *MockFileMockRecorder) Name() *gomock.Call
- func (mr *MockFileMockRecorder) Read(p any) *gomock.Call
- func (mr *MockFileMockRecorder) ReadAll() *gomock.Call
- func (mr *MockFileMockRecorder) ReadAt(p, off any) *gomock.Call
- func (mr *MockFileMockRecorder) Seek(offset, whence any) *gomock.Call
- func (mr *MockFileMockRecorder) Size() *gomock.Call
- func (mr *MockFileMockRecorder) Sys() *gomock.Call
- func (mr *MockFileMockRecorder) Write(p any) *gomock.Call
- func (mr *MockFileMockRecorder) WriteAt(p, off any) *gomock.Call
- type MockFileSystem
- func (m *MockFileSystem) ChDir(dirname string) error
- func (m *MockFileSystem) Create(name string) (File, error)
- func (m *MockFileSystem) EXPECT() *MockFileSystemMockRecorder
- func (m *MockFileSystem) Getwd() (string, error)
- func (m *MockFileSystem) Mkdir(name string, perm os.FileMode) error
- func (m *MockFileSystem) MkdirAll(path string, perm os.FileMode) error
- func (m *MockFileSystem) Open(name string) (File, error)
- func (m *MockFileSystem) OpenFile(name string, flag int, perm os.FileMode) (File, error)
- func (m *MockFileSystem) ReadDir(dir string) ([]FileInfo, error)
- func (m *MockFileSystem) Remove(name string) error
- func (m *MockFileSystem) RemoveAll(path string) error
- func (m *MockFileSystem) Rename(oldname, newname string) error
- func (m *MockFileSystem) Stat(name string) (FileInfo, error)
- type MockFileSystemMockRecorder
- func (mr *MockFileSystemMockRecorder) ChDir(dirname any) *gomock.Call
- func (mr *MockFileSystemMockRecorder) Create(name any) *gomock.Call
- func (mr *MockFileSystemMockRecorder) Getwd() *gomock.Call
- func (mr *MockFileSystemMockRecorder) Mkdir(name, perm any) *gomock.Call
- func (mr *MockFileSystemMockRecorder) MkdirAll(path, perm any) *gomock.Call
- func (mr *MockFileSystemMockRecorder) Open(name any) *gomock.Call
- func (mr *MockFileSystemMockRecorder) OpenFile(name, flag, perm any) *gomock.Call
- func (mr *MockFileSystemMockRecorder) ReadDir(dir any) *gomock.Call
- func (mr *MockFileSystemMockRecorder) Remove(name any) *gomock.Call
- func (mr *MockFileSystemMockRecorder) RemoveAll(path any) *gomock.Call
- func (mr *MockFileSystemMockRecorder) Rename(oldname, newname any) *gomock.Call
- func (mr *MockFileSystemMockRecorder) Stat(name any) *gomock.Call
- type MockFileSystemProvider
- func (m *MockFileSystemProvider) ChDir(dirname string) error
- func (m *MockFileSystemProvider) Connect()
- func (m *MockFileSystemProvider) Create(name string) (File, error)
- func (m *MockFileSystemProvider) EXPECT() *MockFileSystemProviderMockRecorder
- func (m *MockFileSystemProvider) Getwd() (string, error)
- func (m *MockFileSystemProvider) Mkdir(name string, perm os.FileMode) error
- func (m *MockFileSystemProvider) MkdirAll(path string, perm os.FileMode) error
- func (m *MockFileSystemProvider) Open(name string) (File, error)
- func (m *MockFileSystemProvider) OpenFile(name string, flag int, perm os.FileMode) (File, error)
- func (m *MockFileSystemProvider) ReadDir(dir string) ([]FileInfo, error)
- func (m *MockFileSystemProvider) Remove(name string) error
- func (m *MockFileSystemProvider) RemoveAll(path string) error
- func (m *MockFileSystemProvider) Rename(oldname, newname string) error
- func (m *MockFileSystemProvider) Stat(name string) (FileInfo, error)
- func (m *MockFileSystemProvider) UseLogger(logger any)
- func (m *MockFileSystemProvider) UseMetrics(metrics any)
- type MockFileSystemProviderMockRecorder
- func (mr *MockFileSystemProviderMockRecorder) ChDir(dirname any) *gomock.Call
- func (mr *MockFileSystemProviderMockRecorder) Connect() *gomock.Call
- func (mr *MockFileSystemProviderMockRecorder) Create(name any) *gomock.Call
- func (mr *MockFileSystemProviderMockRecorder) Getwd() *gomock.Call
- func (mr *MockFileSystemProviderMockRecorder) Mkdir(name, perm any) *gomock.Call
- func (mr *MockFileSystemProviderMockRecorder) MkdirAll(path, perm any) *gomock.Call
- func (mr *MockFileSystemProviderMockRecorder) Open(name any) *gomock.Call
- func (mr *MockFileSystemProviderMockRecorder) OpenFile(name, flag, perm any) *gomock.Call
- func (mr *MockFileSystemProviderMockRecorder) ReadDir(dir any) *gomock.Call
- func (mr *MockFileSystemProviderMockRecorder) Remove(name any) *gomock.Call
- func (mr *MockFileSystemProviderMockRecorder) RemoveAll(path any) *gomock.Call
- func (mr *MockFileSystemProviderMockRecorder) Rename(oldname, newname any) *gomock.Call
- func (mr *MockFileSystemProviderMockRecorder) Stat(name any) *gomock.Call
- func (mr *MockFileSystemProviderMockRecorder) UseLogger(logger any) *gomock.Call
- func (mr *MockFileSystemProviderMockRecorder) UseMetrics(metrics any) *gomock.Call
- type MockLogger
- func (m *MockLogger) Debug(args ...any)
- func (m *MockLogger) Debugf(format string, args ...any)
- func (m *MockLogger) EXPECT() *MockLoggerMockRecorder
- func (m *MockLogger) Error(args ...any)
- func (m *MockLogger) Errorf(format string, args ...any)
- func (m *MockLogger) Info(args ...any)
- func (m *MockLogger) Infof(format string, args ...any)
- func (m *MockLogger) Warn(args ...any)
- func (m *MockLogger) Warnf(format string, args ...any)
- type MockLoggerMockRecorder
- func (mr *MockLoggerMockRecorder) Debug(args ...any) *gomock.Call
- func (mr *MockLoggerMockRecorder) Debugf(format any, args ...any) *gomock.Call
- func (mr *MockLoggerMockRecorder) Error(args ...any) *gomock.Call
- func (mr *MockLoggerMockRecorder) Errorf(format any, args ...any) *gomock.Call
- func (mr *MockLoggerMockRecorder) Info(args ...any) *gomock.Call
- func (mr *MockLoggerMockRecorder) Infof(format any, args ...any) *gomock.Call
- func (mr *MockLoggerMockRecorder) Warn(args ...any) *gomock.Call
- func (mr *MockLoggerMockRecorder) Warnf(format any, args ...any) *gomock.Call
- type MockMetrics
- type MockMetricsMockRecorder
- type MockRowReader
- type MockRowReaderMockRecorder
- type MockStorageProvider
- func (m *MockStorageProvider) Connect(ctx context.Context) error
- func (m *MockStorageProvider) CopyObject(ctx context.Context, src, dst string) error
- func (m *MockStorageProvider) DeleteObject(ctx context.Context, name string) error
- func (m *MockStorageProvider) EXPECT() *MockStorageProviderMockRecorder
- func (m *MockStorageProvider) ListDir(ctx context.Context, prefix string) ([]ObjectInfo, []string, error)
- func (m *MockStorageProvider) ListObjects(ctx context.Context, prefix string) ([]string, error)
- func (m *MockStorageProvider) NewRangeReader(ctx context.Context, name string, offset, length int64) (io.ReadCloser, error)
- func (m *MockStorageProvider) NewReader(ctx context.Context, name string) (io.ReadCloser, error)
- func (m *MockStorageProvider) NewWriter(ctx context.Context, name string) io.WriteCloser
- func (m *MockStorageProvider) StatObject(ctx context.Context, name string) (*ObjectInfo, error)
- type MockStorageProviderMockRecorder
- func (mr *MockStorageProviderMockRecorder) Connect(ctx any) *gomock.Call
- func (mr *MockStorageProviderMockRecorder) CopyObject(ctx, src, dst any) *gomock.Call
- func (mr *MockStorageProviderMockRecorder) DeleteObject(ctx, name any) *gomock.Call
- func (mr *MockStorageProviderMockRecorder) ListDir(ctx, prefix any) *gomock.Call
- func (mr *MockStorageProviderMockRecorder) ListObjects(ctx, prefix any) *gomock.Call
- func (mr *MockStorageProviderMockRecorder) NewRangeReader(ctx, name, offset, length any) *gomock.Call
- func (mr *MockStorageProviderMockRecorder) NewReader(ctx, name any) *gomock.Call
- func (mr *MockStorageProviderMockRecorder) NewWriter(ctx, name any) *gomock.Call
- func (mr *MockStorageProviderMockRecorder) StatObject(ctx, name any) *gomock.Call
- type ObjectInfo
- type OperationLog
- type OperationObservability
- type RowReader
- type StorageMetrics
- type StorageProvider
Constants ¶
const ( // DefaultFileMode is the standard file permission (0644 = rw-r--r--). DefaultFileMode os.FileMode = 0644 // DefaultDirMode is the standard directory permission (0755 = rwxr-xr-x). DefaultDirMode os.FileMode = 0755 )
File permission constants.
const ( StatusSuccess = "SUCCESS" StatusError = "ERROR" MsgWriterClosed = "Writer closed successfully" MsgReaderClosed = "Reader closed successfully" )
const ( OpConnect = "CONNECT" OpCreate = "CREATE" OpOpen = "OPEN" OpOpenFile = "OPEN_FILE" OpRemove = "REMOVE" OpRename = "RENAME" OpMkdir = "MKDIR" OpMkdirAll = "MKDIR_ALL" OpRemoveAll = "REMOVE_ALL" OpReadDir = "READ_DIR" OpStat = "STAT" OpChDir = "CHDIR" OpGetwd = "GETWD" OpRead = "READ" OpReadAt = "READ_AT" OpWrite = "WRITE" OpWriteAt = "WRITE_AT" OpSeek = "SEEK" OpClose = "CLOSE" )
Operation constants for standardization across all file providers.
const (
// AppFileStats is the single metric name for all file operations across providers.
AppFileStats = "app_file_stats"
)
Variables ¶
var ( ErrOutOfRange = errors.New("out of range") ErrFileNotFound = os.ErrNotExist )
Functions ¶
func DefaultHistogramBuckets ¶
func DefaultHistogramBuckets() []float64
DefaultHistogramBuckets returns the standard bucket sizes for file operations.
func GenerateCopyName ¶
GenerateCopyName creates a new file name with " copy N" suffix. Example: "file.txt" -> "file copy 1.txt".
func IsAlreadyExistsError ¶
IsAlreadyExistsError checks if an error indicates an object already exists. Handles provider-specific error codes (e.g., GCS 409/412, S3 ResourceExists).
func ObserveOperation ¶
func ObserveOperation(params *OperationObservability)
ObserveOperation is a helper function that handles both logging and metrics recording.
Types ¶
type CommonFile ¶
type CommonFile struct {
// contains filtered or unexported fields
}
CommonFile implements FileInfo for all providers, eliminating redundant metadata getters. Providers instantiate this struct when returning file metadata.
func NewCommonFile ¶
func NewCommonFile( provider StorageProvider, name string, info *ObjectInfo, reader io.ReadCloser, logger datasource.Logger, metrics StorageMetrics, location string, ) *CommonFile
NewCommonFile creates a new file instance for reading.
func NewCommonFileWriter ¶
func NewCommonFileWriter( provider StorageProvider, name string, writer io.WriteCloser, logger datasource.Logger, metrics StorageMetrics, location string, ) *CommonFile
NewCommonFileWriter creates a new file instance for writing.
func (*CommonFile) IsDir ¶
func (f *CommonFile) IsDir() bool
IsDir returns true if the object is a directory. Checks both explicit isDir flag and content type for compatibility.
func (*CommonFile) ModTime ¶
func (f *CommonFile) ModTime() time.Time
ModTime returns the last modification time.
func (*CommonFile) Name ¶
func (f *CommonFile) Name() string
Name returns the base name of the file.
func (*CommonFile) Read ¶
func (f *CommonFile) Read(p []byte) (int, error)
Read implements io.Reader.
func (*CommonFile) ReadAll ¶
func (f *CommonFile) ReadAll() (RowReader, error)
ReadAll returns a reader for JSON/CSV files.
func (*CommonFile) ReadAt ¶
func (f *CommonFile) ReadAt(p []byte, off int64) (int, error)
ReadAt implements io.ReaderAt.
func (*CommonFile) Seek ¶
func (f *CommonFile) Seek(offset int64, whence int) (int64, error)
Seek implements io.Seeker.
func (*CommonFile) Size ¶
func (f *CommonFile) Size() int64
Size returns the file size in bytes. Returns 0 for directories.
func (*CommonFile) Sys ¶
func (*CommonFile) Sys() any
Sys returns nil (no underlying system-specific data for cloud storage).
type CommonFileSystem ¶
type CommonFileSystem struct {
Provider StorageProvider // Underlying storage implementation
Location string // Bucket name or connection identifier (e.g., "my-bucket", "ftp://host")
Logger datasource.Logger // Logger for operation tracking
Metrics StorageMetrics // Metrics for observability
ProviderName string // Provider name for observability (e.g., "Azure", "GCS", "S3")
// contains filtered or unexported fields
}
CommonFileSystem provides shared implementations of FileSystem operations. Providers (GCS, S3, FTP, SFTP) embed this struct to inherit common directory operations, metadata handling, and observability patterns.
Providers override only storage-specific methods like Create, Open, Remove, Rename.
Note: This works with StorageProvider interface for cloud operations. For reading JSON/CSV files from cloud storage, providers should use:
- file.NewTextReader(reader) for text/CSV files
- file.NewJSONReader(reader) for JSON files
These are separate from the local filesystem's ReadAll() implementation.
func (*CommonFileSystem) ChDir ¶
func (c *CommonFileSystem) ChDir(_ string) error
ChDir is not supported for cloud storage (no concept of "current directory").
func (*CommonFileSystem) Connect ¶
func (c *CommonFileSystem) Connect(ctx context.Context) error
Connect calls the provider's Connect and performs common bookkeeping (metrics / logs / observe).
func (*CommonFileSystem) Create ¶
func (c *CommonFileSystem) Create(name string) (File, error)
Create creates a new file for writing.
func (*CommonFileSystem) Getwd ¶
func (c *CommonFileSystem) Getwd() (string, error)
Getwd returns the configured location (bucket name or connection identifier).
func (*CommonFileSystem) IsConnected ¶
func (c *CommonFileSystem) IsConnected() bool
func (*CommonFileSystem) IsRetryDisabled ¶
func (c *CommonFileSystem) IsRetryDisabled() bool
IsRetryDisabled returns true if background retry is disabled.
func (*CommonFileSystem) Mkdir ¶
func (c *CommonFileSystem) Mkdir(name string, _ os.FileMode) error
Mkdir creates a directory in cloud storage by creating a zero-byte object with "/" suffix. This follows cloud storage conventions where directories are represented as special markers.
func (*CommonFileSystem) MkdirAll ¶
func (c *CommonFileSystem) MkdirAll(dirPath string, perm os.FileMode) error
MkdirAll creates nested directories by recursively calling Mkdir for each path component. Example: "a/b/c" creates "a/", "a/b/", and "a/b/c/". MkdirAll creates nested directories by recursively calling Mkdir for each path component.
func (*CommonFileSystem) Observe ¶
func (c *CommonFileSystem) Observe(operation string, startTime time.Time, status, message *string)
Observe is a helper method to centralize observability for all operations.
func (*CommonFileSystem) Open ¶
func (c *CommonFileSystem) Open(name string) (File, error)
Open opens a file for reading.
func (*CommonFileSystem) ReadDir ¶
func (c *CommonFileSystem) ReadDir(dir string) ([]FileInfo, error)
ReadDir lists the contents of a directory, returning both subdirectories (prefixes) and files (objects).
func (*CommonFileSystem) Remove ¶
func (c *CommonFileSystem) Remove(name string) error
Remove deletes a file.
func (*CommonFileSystem) RemoveAll ¶
func (c *CommonFileSystem) RemoveAll(dirPath string) error
RemoveAll deletes a directory and all its contents by listing all objects with the prefix and deleting them individually.
func (*CommonFileSystem) Rename ¶
func (c *CommonFileSystem) Rename(oldname, newname string) error
Rename renames a file (copy + delete).
func (*CommonFileSystem) SetConnected ¶
func (c *CommonFileSystem) SetConnected(connected bool)
SetConnected manually sets the connected state (for testing).
func (*CommonFileSystem) SetDisableRetry ¶
func (c *CommonFileSystem) SetDisableRetry(disable bool)
SetDisableRetry enables or disables background retry behavior.
func (*CommonFileSystem) Stat ¶
func (c *CommonFileSystem) Stat(name string) (FileInfo, error)
Stat returns file/directory metadata by querying the storage provider.
func (*CommonFileSystem) UseLogger ¶
func (c *CommonFileSystem) UseLogger(logger any)
UseLogger sets the logger for the CommonFileSystem.
func (*CommonFileSystem) UseMetrics ¶
func (c *CommonFileSystem) UseMetrics(metrics any)
UseMetrics sets the metrics interface for the CommonFileSystem.
type File ¶
type File interface {
io.Closer
io.Reader
io.ReaderAt
io.Seeker
io.Writer
io.WriterAt
ReadAll() (RowReader, error)
Name() string
Size() int64
ModTime() time.Time
IsDir() bool
Mode() os.FileMode
Sys() any
}
File represents a file in the filesystem.
type FileInfo ¶
type FileInfo interface {
Name() string // base name of the file
Size() int64 // length in bytes for regular files; system-dependent for others
ModTime() time.Time // modification time
Mode() os.FileMode // file mode bits
IsDir() bool // abbreviation for Mode().IsDir()
}
FileInfo : Any simulated or real file should implement this interface.
type FileSystem ¶
type FileSystem interface {
// Create creates a file in the filesystem, returning the file and an
// error, if any happens.
Create(name string) (File, error)
// TODO - Lets make bucket constant for MkdirAll as well, we might create buckets from migrations
// Mkdir creates a directory in the filesystem, return an error if any
// happens.
Mkdir(name string, perm os.FileMode) error
// MkdirAll creates a directory path and all parents that does not exist
// yet.
MkdirAll(path string, perm os.FileMode) error
// Open opens a file, returning it or an error, if any happens.
Open(name string) (File, error)
// OpenFile opens a file using the given flags and the given mode.
OpenFile(name string, flag int, perm os.FileMode) (File, error)
// Remove removes a file identified by name, returning an error, if any
// happens.
Remove(name string) error
// RemoveAll removes a directory path and any children it contains. It
// does not fail if the path does not exist (return nil).
RemoveAll(path string) error
// Rename renames a file.
Rename(oldname, newname string) error
// ReadDir returns a list of files/directories present in the directory.
ReadDir(dir string) ([]FileInfo, error)
// Stat returns the file/directory information in the directory.
Stat(name string) (FileInfo, error)
// ChDir changes the current directory.
ChDir(dirname string) error
// Getwd returns the path of the current directory.
Getwd() (string, error)
}
FileSystem : Any simulated or real filesystem should implement this interface.
func New ¶
func New(logger datasource.Logger) FileSystem
New initializes local filesystem with logger (backward compatible wrapper).
type FileSystemProvider ¶
type FileSystemProvider interface {
FileSystem
// UseLogger sets the logger for the FileSystem client.
UseLogger(logger any)
// UseMetrics sets the metrics for the FileSystem client.
UseMetrics(metrics any)
// Connect establishes a connection to FileSystem and registers metrics using the provided configuration when the client was Created.
Connect()
}
FileSystemProvider : Any simulated or real filesystem provider should implement this interface.
func NewLocalFileSystem ¶
func NewLocalFileSystem(logger datasource.Logger) FileSystemProvider
NewLocalFileSystem creates a FileSystemProvider for local filesystem operations.
type MockFile ¶
type MockFile struct {
// contains filtered or unexported fields
}
MockFile is a mock of File interface.
func NewMockFile ¶
func NewMockFile(ctrl *gomock.Controller) *MockFile
NewMockFile creates a new mock instance.
func (*MockFile) EXPECT ¶
func (m *MockFile) EXPECT() *MockFileMockRecorder
EXPECT returns an object that allows the caller to indicate expected use.
type MockFileInfo ¶
type MockFileInfo struct {
// contains filtered or unexported fields
}
MockFileInfo is a mock of FileInfo interface.
func NewMockFileInfo ¶
func NewMockFileInfo(ctrl *gomock.Controller) *MockFileInfo
NewMockFileInfo creates a new mock instance.
func (*MockFileInfo) EXPECT ¶
func (m *MockFileInfo) EXPECT() *MockFileInfoMockRecorder
EXPECT returns an object that allows the caller to indicate expected use.
func (*MockFileInfo) ModTime ¶
func (m *MockFileInfo) ModTime() time.Time
ModTime mocks base method.
type MockFileInfoMockRecorder ¶
type MockFileInfoMockRecorder struct {
// contains filtered or unexported fields
}
MockFileInfoMockRecorder is the mock recorder for MockFileInfo.
func (*MockFileInfoMockRecorder) IsDir ¶
func (mr *MockFileInfoMockRecorder) IsDir() *gomock.Call
IsDir indicates an expected call of IsDir.
func (*MockFileInfoMockRecorder) ModTime ¶
func (mr *MockFileInfoMockRecorder) ModTime() *gomock.Call
ModTime indicates an expected call of ModTime.
func (*MockFileInfoMockRecorder) Mode ¶
func (mr *MockFileInfoMockRecorder) Mode() *gomock.Call
Mode indicates an expected call of Mode.
func (*MockFileInfoMockRecorder) Name ¶
func (mr *MockFileInfoMockRecorder) Name() *gomock.Call
Name indicates an expected call of Name.
func (*MockFileInfoMockRecorder) Size ¶
func (mr *MockFileInfoMockRecorder) Size() *gomock.Call
Size indicates an expected call of Size.
type MockFileMockRecorder ¶
type MockFileMockRecorder struct {
// contains filtered or unexported fields
}
MockFileMockRecorder is the mock recorder for MockFile.
func (*MockFileMockRecorder) Close ¶
func (mr *MockFileMockRecorder) Close() *gomock.Call
Close indicates an expected call of Close.
func (*MockFileMockRecorder) IsDir ¶
func (mr *MockFileMockRecorder) IsDir() *gomock.Call
IsDir indicates an expected call of IsDir.
func (*MockFileMockRecorder) ModTime ¶
func (mr *MockFileMockRecorder) ModTime() *gomock.Call
ModTime indicates an expected call of ModTime.
func (*MockFileMockRecorder) Mode ¶
func (mr *MockFileMockRecorder) Mode() *gomock.Call
Mode indicates an expected call of Mode.
func (*MockFileMockRecorder) Name ¶
func (mr *MockFileMockRecorder) Name() *gomock.Call
Name indicates an expected call of Name.
func (*MockFileMockRecorder) Read ¶
func (mr *MockFileMockRecorder) Read(p any) *gomock.Call
Read indicates an expected call of Read.
func (*MockFileMockRecorder) ReadAll ¶
func (mr *MockFileMockRecorder) ReadAll() *gomock.Call
ReadAll indicates an expected call of ReadAll.
func (*MockFileMockRecorder) ReadAt ¶
func (mr *MockFileMockRecorder) ReadAt(p, off any) *gomock.Call
ReadAt indicates an expected call of ReadAt.
func (*MockFileMockRecorder) Seek ¶
func (mr *MockFileMockRecorder) Seek(offset, whence any) *gomock.Call
Seek indicates an expected call of Seek.
func (*MockFileMockRecorder) Size ¶
func (mr *MockFileMockRecorder) Size() *gomock.Call
Size indicates an expected call of Size.
func (*MockFileMockRecorder) Sys ¶
func (mr *MockFileMockRecorder) Sys() *gomock.Call
Sys indicates an expected call of Sys.
type MockFileSystem ¶
type MockFileSystem struct {
// contains filtered or unexported fields
}
MockFileSystem is a mock of FileSystem interface.
func NewMockFileSystem ¶
func NewMockFileSystem(ctrl *gomock.Controller) *MockFileSystem
NewMockFileSystem creates a new mock instance.
func (*MockFileSystem) ChDir ¶
func (m *MockFileSystem) ChDir(dirname string) error
ChDir mocks base method.
func (*MockFileSystem) Create ¶
func (m *MockFileSystem) Create(name string) (File, error)
Create mocks base method.
func (*MockFileSystem) EXPECT ¶
func (m *MockFileSystem) EXPECT() *MockFileSystemMockRecorder
EXPECT returns an object that allows the caller to indicate expected use.
func (*MockFileSystem) Getwd ¶
func (m *MockFileSystem) Getwd() (string, error)
Getwd mocks base method.
func (*MockFileSystem) Mkdir ¶
func (m *MockFileSystem) Mkdir(name string, perm os.FileMode) error
Mkdir mocks base method.
func (*MockFileSystem) MkdirAll ¶
func (m *MockFileSystem) MkdirAll(path string, perm os.FileMode) error
MkdirAll mocks base method.
func (*MockFileSystem) Open ¶
func (m *MockFileSystem) Open(name string) (File, error)
Open mocks base method.
func (*MockFileSystem) ReadDir ¶
func (m *MockFileSystem) ReadDir(dir string) ([]FileInfo, error)
ReadDir mocks base method.
func (*MockFileSystem) Remove ¶
func (m *MockFileSystem) Remove(name string) error
Remove mocks base method.
func (*MockFileSystem) RemoveAll ¶
func (m *MockFileSystem) RemoveAll(path string) error
RemoveAll mocks base method.
func (*MockFileSystem) Rename ¶
func (m *MockFileSystem) Rename(oldname, newname string) error
Rename mocks base method.
type MockFileSystemMockRecorder ¶
type MockFileSystemMockRecorder struct {
// contains filtered or unexported fields
}
MockFileSystemMockRecorder is the mock recorder for MockFileSystem.
func (*MockFileSystemMockRecorder) ChDir ¶
func (mr *MockFileSystemMockRecorder) ChDir(dirname any) *gomock.Call
ChDir indicates an expected call of ChDir.
func (*MockFileSystemMockRecorder) Create ¶
func (mr *MockFileSystemMockRecorder) Create(name any) *gomock.Call
Create indicates an expected call of Create.
func (*MockFileSystemMockRecorder) Getwd ¶
func (mr *MockFileSystemMockRecorder) Getwd() *gomock.Call
Getwd indicates an expected call of Getwd.
func (*MockFileSystemMockRecorder) Mkdir ¶
func (mr *MockFileSystemMockRecorder) Mkdir(name, perm any) *gomock.Call
Mkdir indicates an expected call of Mkdir.
func (*MockFileSystemMockRecorder) MkdirAll ¶
func (mr *MockFileSystemMockRecorder) MkdirAll(path, perm any) *gomock.Call
MkdirAll indicates an expected call of MkdirAll.
func (*MockFileSystemMockRecorder) Open ¶
func (mr *MockFileSystemMockRecorder) Open(name any) *gomock.Call
Open indicates an expected call of Open.
func (*MockFileSystemMockRecorder) OpenFile ¶
func (mr *MockFileSystemMockRecorder) OpenFile(name, flag, perm any) *gomock.Call
OpenFile indicates an expected call of OpenFile.
func (*MockFileSystemMockRecorder) ReadDir ¶
func (mr *MockFileSystemMockRecorder) ReadDir(dir any) *gomock.Call
ReadDir indicates an expected call of ReadDir.
func (*MockFileSystemMockRecorder) Remove ¶
func (mr *MockFileSystemMockRecorder) Remove(name any) *gomock.Call
Remove indicates an expected call of Remove.
func (*MockFileSystemMockRecorder) RemoveAll ¶
func (mr *MockFileSystemMockRecorder) RemoveAll(path any) *gomock.Call
RemoveAll indicates an expected call of RemoveAll.
type MockFileSystemProvider ¶
type MockFileSystemProvider struct {
// contains filtered or unexported fields
}
MockFileSystemProvider is a mock of FileSystemProvider interface.
func NewMockFileSystemProvider ¶
func NewMockFileSystemProvider(ctrl *gomock.Controller) *MockFileSystemProvider
NewMockFileSystemProvider creates a new mock instance.
func (*MockFileSystemProvider) ChDir ¶
func (m *MockFileSystemProvider) ChDir(dirname string) error
ChDir mocks base method.
func (*MockFileSystemProvider) Connect ¶
func (m *MockFileSystemProvider) Connect()
Connect mocks base method.
func (*MockFileSystemProvider) Create ¶
func (m *MockFileSystemProvider) Create(name string) (File, error)
Create mocks base method.
func (*MockFileSystemProvider) EXPECT ¶
func (m *MockFileSystemProvider) EXPECT() *MockFileSystemProviderMockRecorder
EXPECT returns an object that allows the caller to indicate expected use.
func (*MockFileSystemProvider) Getwd ¶
func (m *MockFileSystemProvider) Getwd() (string, error)
Getwd mocks base method.
func (*MockFileSystemProvider) Mkdir ¶
func (m *MockFileSystemProvider) Mkdir(name string, perm os.FileMode) error
Mkdir mocks base method.
func (*MockFileSystemProvider) MkdirAll ¶
func (m *MockFileSystemProvider) MkdirAll(path string, perm os.FileMode) error
MkdirAll mocks base method.
func (*MockFileSystemProvider) Open ¶
func (m *MockFileSystemProvider) Open(name string) (File, error)
Open mocks base method.
func (*MockFileSystemProvider) ReadDir ¶
func (m *MockFileSystemProvider) ReadDir(dir string) ([]FileInfo, error)
ReadDir mocks base method.
func (*MockFileSystemProvider) Remove ¶
func (m *MockFileSystemProvider) Remove(name string) error
Remove mocks base method.
func (*MockFileSystemProvider) RemoveAll ¶
func (m *MockFileSystemProvider) RemoveAll(path string) error
RemoveAll mocks base method.
func (*MockFileSystemProvider) Rename ¶
func (m *MockFileSystemProvider) Rename(oldname, newname string) error
Rename mocks base method.
func (*MockFileSystemProvider) Stat ¶
func (m *MockFileSystemProvider) Stat(name string) (FileInfo, error)
Stat mocks base method.
func (*MockFileSystemProvider) UseLogger ¶
func (m *MockFileSystemProvider) UseLogger(logger any)
UseLogger mocks base method.
func (*MockFileSystemProvider) UseMetrics ¶
func (m *MockFileSystemProvider) UseMetrics(metrics any)
UseMetrics mocks base method.
type MockFileSystemProviderMockRecorder ¶
type MockFileSystemProviderMockRecorder struct {
// contains filtered or unexported fields
}
MockFileSystemProviderMockRecorder is the mock recorder for MockFileSystemProvider.
func (*MockFileSystemProviderMockRecorder) ChDir ¶
func (mr *MockFileSystemProviderMockRecorder) ChDir(dirname any) *gomock.Call
ChDir indicates an expected call of ChDir.
func (*MockFileSystemProviderMockRecorder) Connect ¶
func (mr *MockFileSystemProviderMockRecorder) Connect() *gomock.Call
Connect indicates an expected call of Connect.
func (*MockFileSystemProviderMockRecorder) Create ¶
func (mr *MockFileSystemProviderMockRecorder) Create(name any) *gomock.Call
Create indicates an expected call of Create.
func (*MockFileSystemProviderMockRecorder) Getwd ¶
func (mr *MockFileSystemProviderMockRecorder) Getwd() *gomock.Call
Getwd indicates an expected call of Getwd.
func (*MockFileSystemProviderMockRecorder) Mkdir ¶
func (mr *MockFileSystemProviderMockRecorder) Mkdir(name, perm any) *gomock.Call
Mkdir indicates an expected call of Mkdir.
func (*MockFileSystemProviderMockRecorder) MkdirAll ¶
func (mr *MockFileSystemProviderMockRecorder) MkdirAll(path, perm any) *gomock.Call
MkdirAll indicates an expected call of MkdirAll.
func (*MockFileSystemProviderMockRecorder) Open ¶
func (mr *MockFileSystemProviderMockRecorder) Open(name any) *gomock.Call
Open indicates an expected call of Open.
func (*MockFileSystemProviderMockRecorder) OpenFile ¶
func (mr *MockFileSystemProviderMockRecorder) OpenFile(name, flag, perm any) *gomock.Call
OpenFile indicates an expected call of OpenFile.
func (*MockFileSystemProviderMockRecorder) ReadDir ¶
func (mr *MockFileSystemProviderMockRecorder) ReadDir(dir any) *gomock.Call
ReadDir indicates an expected call of ReadDir.
func (*MockFileSystemProviderMockRecorder) Remove ¶
func (mr *MockFileSystemProviderMockRecorder) Remove(name any) *gomock.Call
Remove indicates an expected call of Remove.
func (*MockFileSystemProviderMockRecorder) RemoveAll ¶
func (mr *MockFileSystemProviderMockRecorder) RemoveAll(path any) *gomock.Call
RemoveAll indicates an expected call of RemoveAll.
func (*MockFileSystemProviderMockRecorder) Rename ¶
func (mr *MockFileSystemProviderMockRecorder) Rename(oldname, newname any) *gomock.Call
Rename indicates an expected call of Rename.
func (*MockFileSystemProviderMockRecorder) Stat ¶
func (mr *MockFileSystemProviderMockRecorder) Stat(name any) *gomock.Call
Stat indicates an expected call of Stat.
func (*MockFileSystemProviderMockRecorder) UseLogger ¶
func (mr *MockFileSystemProviderMockRecorder) UseLogger(logger any) *gomock.Call
UseLogger indicates an expected call of UseLogger.
func (*MockFileSystemProviderMockRecorder) UseMetrics ¶
func (mr *MockFileSystemProviderMockRecorder) UseMetrics(metrics any) *gomock.Call
UseMetrics indicates an expected call of UseMetrics.
type MockLogger ¶
type MockLogger struct {
// contains filtered or unexported fields
}
MockLogger is a mock of Logger interface.
func NewMockLogger ¶
func NewMockLogger(ctrl *gomock.Controller) *MockLogger
NewMockLogger creates a new mock instance.
func (*MockLogger) Debugf ¶
func (m *MockLogger) Debugf(format string, args ...any)
Debugf mocks base method.
func (*MockLogger) EXPECT ¶
func (m *MockLogger) EXPECT() *MockLoggerMockRecorder
EXPECT returns an object that allows the caller to indicate expected use.
func (*MockLogger) Errorf ¶
func (m *MockLogger) Errorf(format string, args ...any)
Errorf mocks base method.
func (*MockLogger) Infof ¶
func (m *MockLogger) Infof(format string, args ...any)
Infof mocks base method.
func (*MockLogger) Warnf ¶
func (m *MockLogger) Warnf(format string, args ...any)
Warnf mocks base method.
type MockLoggerMockRecorder ¶
type MockLoggerMockRecorder struct {
// contains filtered or unexported fields
}
MockLoggerMockRecorder is the mock recorder for MockLogger.
func (*MockLoggerMockRecorder) Debug ¶
func (mr *MockLoggerMockRecorder) Debug(args ...any) *gomock.Call
Debug indicates an expected call of Debug.
func (*MockLoggerMockRecorder) Debugf ¶
func (mr *MockLoggerMockRecorder) Debugf(format any, args ...any) *gomock.Call
Debugf indicates an expected call of Debugf.
func (*MockLoggerMockRecorder) Error ¶
func (mr *MockLoggerMockRecorder) Error(args ...any) *gomock.Call
Error indicates an expected call of Error.
func (*MockLoggerMockRecorder) Errorf ¶
func (mr *MockLoggerMockRecorder) Errorf(format any, args ...any) *gomock.Call
Errorf indicates an expected call of Errorf.
func (*MockLoggerMockRecorder) Info ¶
func (mr *MockLoggerMockRecorder) Info(args ...any) *gomock.Call
Info indicates an expected call of Info.
func (*MockLoggerMockRecorder) Infof ¶
func (mr *MockLoggerMockRecorder) Infof(format any, args ...any) *gomock.Call
Infof indicates an expected call of Infof.
type MockMetrics ¶
type MockMetrics struct {
// contains filtered or unexported fields
}
MockMetrics is a mock of Metrics interface.
func NewMockMetrics ¶
func NewMockMetrics(ctrl *gomock.Controller) *MockMetrics
NewMockMetrics creates a new mock instance.
func (*MockMetrics) EXPECT ¶
func (m *MockMetrics) EXPECT() *MockMetricsMockRecorder
EXPECT returns an object that allows the caller to indicate expected use.
func (*MockMetrics) NewHistogram ¶
func (m *MockMetrics) NewHistogram(name, desc string, buckets ...float64)
NewHistogram mocks base method.
func (*MockMetrics) RecordHistogram ¶
func (m *MockMetrics) RecordHistogram(ctx context.Context, name string, value float64, labels ...string)
RecordHistogram mocks base method.
type MockMetricsMockRecorder ¶
type MockMetricsMockRecorder struct {
// contains filtered or unexported fields
}
MockMetricsMockRecorder is the mock recorder for MockMetrics.
func (*MockMetricsMockRecorder) NewHistogram ¶
func (mr *MockMetricsMockRecorder) NewHistogram(name, desc any, buckets ...any) *gomock.Call
NewHistogram indicates an expected call of NewHistogram.
func (*MockMetricsMockRecorder) RecordHistogram ¶
func (mr *MockMetricsMockRecorder) RecordHistogram(ctx, name, value any, labels ...any) *gomock.Call
RecordHistogram indicates an expected call of RecordHistogram.
type MockRowReader ¶
type MockRowReader struct {
// contains filtered or unexported fields
}
MockRowReader is a mock of RowReader interface.
func NewMockRowReader ¶
func NewMockRowReader(ctrl *gomock.Controller) *MockRowReader
NewMockRowReader creates a new mock instance.
func (*MockRowReader) EXPECT ¶
func (m *MockRowReader) EXPECT() *MockRowReaderMockRecorder
EXPECT returns an object that allows the caller to indicate expected use.
type MockRowReaderMockRecorder ¶
type MockRowReaderMockRecorder struct {
// contains filtered or unexported fields
}
MockRowReaderMockRecorder is the mock recorder for MockRowReader.
func (*MockRowReaderMockRecorder) Next ¶
func (mr *MockRowReaderMockRecorder) Next() *gomock.Call
Next indicates an expected call of Next.
type MockStorageProvider ¶
type MockStorageProvider struct {
// contains filtered or unexported fields
}
MockStorageProvider is a mock of StorageProvider interface.
func NewMockStorageProvider ¶
func NewMockStorageProvider(ctrl *gomock.Controller) *MockStorageProvider
NewMockStorageProvider creates a new mock instance.
func (*MockStorageProvider) Connect ¶
func (m *MockStorageProvider) Connect(ctx context.Context) error
Connect mocks base method.
func (*MockStorageProvider) CopyObject ¶
func (m *MockStorageProvider) CopyObject(ctx context.Context, src, dst string) error
CopyObject mocks base method.
func (*MockStorageProvider) DeleteObject ¶
func (m *MockStorageProvider) DeleteObject(ctx context.Context, name string) error
DeleteObject mocks base method.
func (*MockStorageProvider) EXPECT ¶
func (m *MockStorageProvider) EXPECT() *MockStorageProviderMockRecorder
EXPECT returns an object that allows the caller to indicate expected use.
func (*MockStorageProvider) ListDir ¶
func (m *MockStorageProvider) ListDir(ctx context.Context, prefix string) ([]ObjectInfo, []string, error)
ListDir mocks base method.
func (*MockStorageProvider) ListObjects ¶
ListObjects mocks base method.
func (*MockStorageProvider) NewRangeReader ¶
func (m *MockStorageProvider) NewRangeReader(ctx context.Context, name string, offset, length int64) (io.ReadCloser, error)
NewRangeReader mocks base method.
func (*MockStorageProvider) NewReader ¶
func (m *MockStorageProvider) NewReader(ctx context.Context, name string) (io.ReadCloser, error)
NewReader mocks base method.
func (*MockStorageProvider) NewWriter ¶
func (m *MockStorageProvider) NewWriter(ctx context.Context, name string) io.WriteCloser
NewWriter mocks base method.
func (*MockStorageProvider) StatObject ¶
func (m *MockStorageProvider) StatObject(ctx context.Context, name string) (*ObjectInfo, error)
StatObject mocks base method.
type MockStorageProviderMockRecorder ¶
type MockStorageProviderMockRecorder struct {
// contains filtered or unexported fields
}
MockStorageProviderMockRecorder is the mock recorder for MockStorageProvider.
func (*MockStorageProviderMockRecorder) Connect ¶
func (mr *MockStorageProviderMockRecorder) Connect(ctx any) *gomock.Call
Connect indicates an expected call of Connect.
func (*MockStorageProviderMockRecorder) CopyObject ¶
func (mr *MockStorageProviderMockRecorder) CopyObject(ctx, src, dst any) *gomock.Call
CopyObject indicates an expected call of CopyObject.
func (*MockStorageProviderMockRecorder) DeleteObject ¶
func (mr *MockStorageProviderMockRecorder) DeleteObject(ctx, name any) *gomock.Call
DeleteObject indicates an expected call of DeleteObject.
func (*MockStorageProviderMockRecorder) ListDir ¶
func (mr *MockStorageProviderMockRecorder) ListDir(ctx, prefix any) *gomock.Call
ListDir indicates an expected call of ListDir.
func (*MockStorageProviderMockRecorder) ListObjects ¶
func (mr *MockStorageProviderMockRecorder) ListObjects(ctx, prefix any) *gomock.Call
ListObjects indicates an expected call of ListObjects.
func (*MockStorageProviderMockRecorder) NewRangeReader ¶
func (mr *MockStorageProviderMockRecorder) NewRangeReader(ctx, name, offset, length any) *gomock.Call
NewRangeReader indicates an expected call of NewRangeReader.
func (*MockStorageProviderMockRecorder) NewReader ¶
func (mr *MockStorageProviderMockRecorder) NewReader(ctx, name any) *gomock.Call
NewReader indicates an expected call of NewReader.
func (*MockStorageProviderMockRecorder) NewWriter ¶
func (mr *MockStorageProviderMockRecorder) NewWriter(ctx, name any) *gomock.Call
NewWriter indicates an expected call of NewWriter.
func (*MockStorageProviderMockRecorder) StatObject ¶
func (mr *MockStorageProviderMockRecorder) StatObject(ctx, name any) *gomock.Call
StatObject indicates an expected call of StatObject.
type ObjectInfo ¶
type ObjectInfo struct {
Name string
Size int64
ContentType string
LastModified time.Time
IsDir bool
}
ObjectInfo represents cloud storage object metadata.
type OperationLog ¶
type OperationLog struct {
Operation string `json:"operation"`
Duration int64 `json:"duration"`
Status *string `json:"status"`
Location string `json:"location,omitempty"`
Message *string `json:"message,omitempty"`
Provider string `json:"provider"` // Identifies the storage provider
}
OperationLog represents a standardized log entry for file operations.
func (*OperationLog) PrettyPrint ¶
func (fl *OperationLog) PrettyPrint(writer io.Writer)
PrettyPrint formats and prints the log entry to the provided writer with proper column alignment.
type OperationObservability ¶
type OperationObservability struct {
Context context.Context
Logger datasource.Logger
Metrics StorageMetrics
Operation string
Location string
Provider string
StartTime time.Time
Status *string
Message *string
}
OperationObservability contains all parameters needed for logging and metrics collection.
type RowReader ¶
func NewJSONReader ¶
NewJSONReader creates a RowReader for JSON files (auto-detects array vs object).
func NewTextReader ¶
func NewTextReader(r io.Reader, logger datasource.Logger) RowReader
NewTextReader creates a RowReader for text/CSV files. Each call to Next() reads one line from the file. Scan() must receive a *string pointer to store the line content.
Example:
reader := file.NewTextReader(f, logger)
for reader.Next() {
var line string
reader.Scan(&line)
fmt.Println(line)
}
type StorageMetrics ¶
type StorageMetrics interface {
// NewHistogram creates a new histogram with the given name, description, and buckets.
NewHistogram(name, desc string, buckets ...float64)
// RecordHistogram records a value in the histogram with the given name and labels.
RecordHistogram(ctx context.Context, name string, value float64, labels ...string)
}
StorageMetrics interface that all storage providers should use.
type StorageProvider ¶
type StorageProvider interface {
Connect(ctx context.Context) error
NewReader(ctx context.Context, name string) (io.ReadCloser, error)
NewRangeReader(ctx context.Context, name string, offset, length int64) (io.ReadCloser, error)
NewWriter(ctx context.Context, name string) io.WriteCloser
DeleteObject(ctx context.Context, name string) error
CopyObject(ctx context.Context, src, dst string) error
StatObject(ctx context.Context, name string) (*ObjectInfo, error)
ListObjects(ctx context.Context, prefix string) ([]string, error)
ListDir(ctx context.Context, prefix string) (objects []ObjectInfo, prefixes []string, err error)
}
StorageProvider abstracts low-level storage operations (stateless). This is the interface that each provider (GCS, S3, FTP, SFTP) must implement.