Documentation
¶
Index ¶
- func NewFileStateDB(t *testing.T) *sql.DB
- func NewMeteringDB(t *testing.T) *sql.DB
- func NewNotFoundError(containerID string) error
- func NewStateDB(t *testing.T) *sql.DB
- type MockDockerClient
- func (m *MockDockerClient) ConnectNetwork(ctx context.Context, networkID, containerID string) error
- func (m *MockDockerClient) ConnectNetworkAlias(ctx context.Context, networkID, containerID, alias string) error
- func (m *MockDockerClient) ContainerStats(ctx context.Context, containerID string) (*docker.ContainerStats, error)
- func (m *MockDockerClient) CopyToContainer(ctx context.Context, containerID string, dstPath string, content io.Reader) error
- func (m *MockDockerClient) CreateVolume(ctx context.Context, name string) error
- func (m *MockDockerClient) DiskUsage(ctx context.Context) (*docker.StorageUsage, error)
- func (m *MockDockerClient) EnsureIngressNetwork(ctx context.Context, name string) (string, error)
- func (m *MockDockerClient) EnsureNetwork(ctx context.Context, name string) (string, error)
- func (m *MockDockerClient) ExecCreate(ctx context.Context, containerID string, cmd []string, workDir string) (string, error)
- func (m *MockDockerClient) ExecRun(ctx context.Context, execID string, timeout time.Duration) ([]byte, []byte, int, error)
- func (m *MockDockerClient) GetContainerLabels(ctx context.Context, containerID string) map[string]string
- func (m *MockDockerClient) GetContainerName(ctx context.Context, containerID string) string
- func (m *MockDockerClient) ImageExists(ctx context.Context, img string) (bool, error)
- func (m *MockDockerClient) InspectContainer(ctx context.Context, containerID string) (*docker.ContainerInfo, error)
- func (m *MockDockerClient) ListContainerImages(ctx context.Context) ([]string, error)
- func (m *MockDockerClient) ListContainersByLabel(ctx context.Context, label, value string) ([]string, error)
- func (m *MockDockerClient) ListImages(ctx context.Context) ([]docker.ImageInfo, error)
- func (m *MockDockerClient) ListNetworkContainers(ctx context.Context, networkName string) ([]string, error)
- func (m *MockDockerClient) ListVolumes(ctx context.Context, prefix string) ([]string, error)
- func (m *MockDockerClient) LogsContainer(ctx context.Context, containerID string, follow bool, tail int) (io.ReadCloser, error)
- func (m *MockDockerClient) NetworkDisconnect(ctx context.Context, networkID, containerID string) error
- func (m *MockDockerClient) NetworkInspect(ctx context.Context, networkID string) (docker.NetworkInfo, error)
- func (m *MockDockerClient) NetworkList(ctx context.Context) ([]docker.NetworkInfo, error)
- func (m *MockDockerClient) PruneAnonymousVolumes(ctx context.Context) (int, error)
- func (m *MockDockerClient) PruneDanglingImages(ctx context.Context) (int, error)
- func (m *MockDockerClient) PullImage(ctx context.Context, img string) error
- func (m *MockDockerClient) RemoveContainer(ctx context.Context, containerID string) error
- func (m *MockDockerClient) RemoveImage(ctx context.Context, imageRef string) error
- func (m *MockDockerClient) RemoveNetwork(ctx context.Context, networkID string) error
- func (m *MockDockerClient) RemoveVolume(ctx context.Context, name string) error
- func (m *MockDockerClient) RemoveVolumeSafe(ctx context.Context, name string) error
- func (m *MockDockerClient) RenameContainer(ctx context.Context, containerID, newName string) error
- func (m *MockDockerClient) RestartContainer(ctx context.Context, containerID string) error
- func (m *MockDockerClient) RunContainer(ctx context.Context, tenantID, serviceID, img string, port int, ...) (string, error)
- func (m *MockDockerClient) RunDatabase(ctx context.Context, cfg docker.RunDatabaseConfig) (string, error)
- func (m *MockDockerClient) RunEnvironment(ctx context.Context, cfg docker.RunEnvironmentConfig) (string, error)
- func (m *MockDockerClient) StartContainer(ctx context.Context, containerID string) error
- func (m *MockDockerClient) StopAndRemoveByName(ctx context.Context, name string) error
- func (m *MockDockerClient) StopContainer(ctx context.Context, containerID string) error
- func (m *MockDockerClient) TagImage(ctx context.Context, source, target string) error
- func (m *MockDockerClient) VerifyGVisorRuntime(ctx context.Context) error
- func (m *MockDockerClient) WipeVolume(ctx context.Context, name string) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewFileStateDB ¶
NewFileStateDB creates a file-backed state DB opened like production (WAL, busy timeout, multiple connections) with migrations applied. Use it for tests that need real write-lock contention.
func NewMeteringDB ¶
NewMeteringDB creates a fresh in-memory SQLite database with all metering migrations applied. The returned *sql.DB is closed automatically when the test ends. Uses a unique database name to avoid shared-cache collisions with NewStateDB when both are used in the same test.
func NewNotFoundError ¶
NewNotFoundError returns an error shaped like the real Docker client's missing-container error: wrapped with %w around an errdefs NotFound.
Types ¶
type MockDockerClient ¶
type MockDockerClient struct {
// EnsureNetwork
EnsureNetworkFn func(ctx context.Context, name string) (string, error)
EnsureNetworkCalls []string // network names passed
EnsureIngressNetworkFn func(ctx context.Context, name string) (string, error)
EnsureIngressNetworkCalls []string // dedicated routed-workload network names
// ConnectNetwork
ConnectNetworkFn func(ctx context.Context, networkID, containerID string) error
ConnectNetworkCalls [][2]string // [networkID, containerID] pairs
ConnectNetworkAliasFn func(ctx context.Context, networkID, containerID, alias string) error
ConnectNetworkAliasCalls [][3]string // [networkID, containerID, alias]
// NetworkDisconnect
NetworkDisconnectFn func(ctx context.Context, networkID, containerID string) error
NetworkDisconnectCalls [][2]string // [networkID, containerID] pairs
// NetworkList
NetworkListFn func(ctx context.Context) ([]docker.NetworkInfo, error)
NetworkListCalls int
NetworkInspectFn func(ctx context.Context, networkID string) (docker.NetworkInfo, error)
NetworkInspectCalls []string
// RemoveNetwork
RemoveNetworkFn func(ctx context.Context, networkID string) error
RemoveNetworkCalls []string // network IDs removed
// RunContainer
RunContainerFn func(ctx context.Context, tenantID, serviceID, img string, port int, envVars map[string]string, extraLabels map[string]string, limits *docker.ResourceLimits) (string, error)
RunContainerCalls int
// StopContainer
StopContainerFn func(ctx context.Context, containerID string) error
StopContainerCalls []string // containerIDs stopped
// StartContainer
StartContainerFn func(ctx context.Context, containerID string) error
StartContainerCalls []string // containerIDs started
// RestartContainer
RestartContainerFn func(ctx context.Context, containerID string) error
RestartContainerCalls []string // containerIDs restarted
// RemoveContainer
RemoveContainerFn func(ctx context.Context, containerID string) error
RemoveContainerCalls []string // containerIDs removed
// LogsContainer
LogsContainerFn func(ctx context.Context, containerID string, follow bool, tail int) (io.ReadCloser, error)
LogsContainerCalls []string // containerIDs whose logs were requested
// InspectContainer
InspectContainerFn func(ctx context.Context, containerID string) (*docker.ContainerInfo, error)
InspectContainerCalls []string // containerIDs inspected
// PullImage
PullImageFn func(ctx context.Context, img string) error
PullImageCalls []string // images pulled
// ImageExists (default: false, so deploys pull)
ImageExistsFn func(ctx context.Context, img string) (bool, error)
// TagImage
TagImageFn func(ctx context.Context, source, target string) error
TagImageCalls [][2]string // [source, target] pairs
// RemoveImage
RemoveImageFn func(ctx context.Context, imageRef string) error
RemoveImageCalls []string
// ListContainersByLabel
ListContainersByLabelFn func(ctx context.Context, label, value string) ([]string, error)
ListContainersByLabelCalls int
// GetContainerLabels
GetContainerLabelsFn func(ctx context.Context, containerID string) map[string]string
GetContainerLabelsCalls []string // containerIDs queried
// GetContainerName
GetContainerNameFn func(ctx context.Context, containerID string) string
GetContainerNameCalls []string // containerIDs queried
// VerifyGVisorRuntime
VerifyGVisorRuntimeFn func(ctx context.Context) error
VerifyGVisorRuntimeCalls int
// CreateVolume
CreateVolumeFn func(ctx context.Context, name string) error
CreateVolumeCalls []string // volume names created
// RemoveVolume
RemoveVolumeFn func(ctx context.Context, name string) error
RemoveVolumeCalls []string // volume names removed
// RemoveVolumeSafe
RemoveVolumeSafeFn func(ctx context.Context, name string) error
RemoveVolumeSafeCalls []string // volume names removed
// WipeVolume
WipeVolumeFn func(ctx context.Context, name string) error
WipeVolumeCalls []string // volume names wiped
// RunDatabase
RunDatabaseFn func(ctx context.Context, cfg docker.RunDatabaseConfig) (string, error)
RunDatabaseCalls int
// StopAndRemoveByName
StopAndRemoveByNameFn func(ctx context.Context, name string) error
StopAndRemoveByNameCalls []string // container names
// PruneDanglingImages
PruneDanglingImagesFn func(ctx context.Context) (int, error)
PruneDanglingImagesCalls int
PruneAnonymousVolumesFn func(ctx context.Context) (int, error)
PruneAnonymousVolumesCalls int
ListImagesFn func(ctx context.Context) ([]docker.ImageInfo, error)
ListContainerImagesFn func(ctx context.Context) ([]string, error)
// ListNetworkContainersFn returns the names of containers on a network.
ListNetworkContainersFn func(ctx context.Context, networkName string) ([]string, error)
// ListVolumes
ListVolumesFn func(ctx context.Context, prefix string) ([]string, error)
ListVolumesCalls []string // prefixes queried
// DiskUsage
DiskUsageFn func(ctx context.Context) (*docker.StorageUsage, error)
DiskUsageCalls int
// RunEnvironment
RunEnvironmentFn func(ctx context.Context, cfg docker.RunEnvironmentConfig) (string, error)
RunEnvironmentCalls int
// ExecCreate
ExecCreateFn func(ctx context.Context, containerID string, cmd []string, workDir string) (string, error)
ExecCreateCalls []string // containerIDs
// ExecRun
ExecRunFn func(ctx context.Context, execID string, timeout time.Duration) ([]byte, []byte, int, error)
ExecRunCalls []string // exec IDs
// RenameContainer
RenameContainerFn func(ctx context.Context, containerID, newName string) error
RenameContainerCalls int
RenameContainerArgs [][2]string // [containerID, newName]
// CopyToContainer
CopyToContainerFn func(ctx context.Context, containerID string, dstPath string, content io.Reader) error
CopyToContainerCalls []string // containerIDs
// ContainerStats
ContainerStatsFn func(ctx context.Context, containerID string) (*docker.ContainerStats, error)
// contains filtered or unexported fields
}
MockDockerClient is a test double for docker.Client. Set the function fields to control return values; inspect the recorded fields to verify calls.
func (*MockDockerClient) ConnectNetwork ¶
func (m *MockDockerClient) ConnectNetwork(ctx context.Context, networkID, containerID string) error
func (*MockDockerClient) ConnectNetworkAlias ¶
func (m *MockDockerClient) ConnectNetworkAlias(ctx context.Context, networkID, containerID, alias string) error
func (*MockDockerClient) ContainerStats ¶
func (m *MockDockerClient) ContainerStats(ctx context.Context, containerID string) (*docker.ContainerStats, error)
func (*MockDockerClient) CopyToContainer ¶
func (*MockDockerClient) CreateVolume ¶
func (m *MockDockerClient) CreateVolume(ctx context.Context, name string) error
func (*MockDockerClient) DiskUsage ¶
func (m *MockDockerClient) DiskUsage(ctx context.Context) (*docker.StorageUsage, error)
func (*MockDockerClient) EnsureIngressNetwork ¶
func (*MockDockerClient) EnsureNetwork ¶
func (*MockDockerClient) ExecCreate ¶
func (*MockDockerClient) GetContainerLabels ¶
func (*MockDockerClient) GetContainerName ¶
func (m *MockDockerClient) GetContainerName(ctx context.Context, containerID string) string
func (*MockDockerClient) ImageExists ¶
func (*MockDockerClient) InspectContainer ¶
func (m *MockDockerClient) InspectContainer(ctx context.Context, containerID string) (*docker.ContainerInfo, error)
func (*MockDockerClient) ListContainerImages ¶
func (m *MockDockerClient) ListContainerImages(ctx context.Context) ([]string, error)
func (*MockDockerClient) ListContainersByLabel ¶
func (*MockDockerClient) ListImages ¶
func (*MockDockerClient) ListNetworkContainers ¶
func (*MockDockerClient) ListVolumes ¶
func (*MockDockerClient) LogsContainer ¶
func (m *MockDockerClient) LogsContainer(ctx context.Context, containerID string, follow bool, tail int) (io.ReadCloser, error)
func (*MockDockerClient) NetworkDisconnect ¶
func (m *MockDockerClient) NetworkDisconnect(ctx context.Context, networkID, containerID string) error
func (*MockDockerClient) NetworkInspect ¶
func (m *MockDockerClient) NetworkInspect(ctx context.Context, networkID string) (docker.NetworkInfo, error)
func (*MockDockerClient) NetworkList ¶
func (m *MockDockerClient) NetworkList(ctx context.Context) ([]docker.NetworkInfo, error)
func (*MockDockerClient) PruneAnonymousVolumes ¶
func (m *MockDockerClient) PruneAnonymousVolumes(ctx context.Context) (int, error)
func (*MockDockerClient) PruneDanglingImages ¶
func (m *MockDockerClient) PruneDanglingImages(ctx context.Context) (int, error)
func (*MockDockerClient) PullImage ¶
func (m *MockDockerClient) PullImage(ctx context.Context, img string) error
func (*MockDockerClient) RemoveContainer ¶
func (m *MockDockerClient) RemoveContainer(ctx context.Context, containerID string) error
func (*MockDockerClient) RemoveImage ¶
func (m *MockDockerClient) RemoveImage(ctx context.Context, imageRef string) error
func (*MockDockerClient) RemoveNetwork ¶
func (m *MockDockerClient) RemoveNetwork(ctx context.Context, networkID string) error
func (*MockDockerClient) RemoveVolume ¶
func (m *MockDockerClient) RemoveVolume(ctx context.Context, name string) error
func (*MockDockerClient) RemoveVolumeSafe ¶
func (m *MockDockerClient) RemoveVolumeSafe(ctx context.Context, name string) error
func (*MockDockerClient) RenameContainer ¶
func (m *MockDockerClient) RenameContainer(ctx context.Context, containerID, newName string) error
func (*MockDockerClient) RestartContainer ¶
func (m *MockDockerClient) RestartContainer(ctx context.Context, containerID string) error
func (*MockDockerClient) RunContainer ¶
func (*MockDockerClient) RunDatabase ¶
func (m *MockDockerClient) RunDatabase(ctx context.Context, cfg docker.RunDatabaseConfig) (string, error)
func (*MockDockerClient) RunEnvironment ¶
func (m *MockDockerClient) RunEnvironment(ctx context.Context, cfg docker.RunEnvironmentConfig) (string, error)
func (*MockDockerClient) StartContainer ¶
func (m *MockDockerClient) StartContainer(ctx context.Context, containerID string) error
func (*MockDockerClient) StopAndRemoveByName ¶
func (m *MockDockerClient) StopAndRemoveByName(ctx context.Context, name string) error
func (*MockDockerClient) StopContainer ¶
func (m *MockDockerClient) StopContainer(ctx context.Context, containerID string) error
func (*MockDockerClient) TagImage ¶
func (m *MockDockerClient) TagImage(ctx context.Context, source, target string) error
func (*MockDockerClient) VerifyGVisorRuntime ¶
func (m *MockDockerClient) VerifyGVisorRuntime(ctx context.Context) error
func (*MockDockerClient) WipeVolume ¶
func (m *MockDockerClient) WipeVolume(ctx context.Context, name string) error