mocks

package
v0.3.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 12, 2023 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ErrorMounter

type ErrorMounter struct {
	ErrorOnMount   bool
	ErrorOnUnmount bool
	FakeMounter    mount.Interface
}

ErrorMounter is a fake mounter for tests that can error out.

func NewErrorMounter

func NewErrorMounter() *ErrorMounter

NewErrorMounter returns an ErrorMounter with an instance of FakeMounter inside so we can use its functions

func (ErrorMounter) GetMountRefs

func (e ErrorMounter) GetMountRefs(_ string) ([]string, error)

func (ErrorMounter) IsLikelyNotMountPoint

func (e ErrorMounter) IsLikelyNotMountPoint(file string) (bool, error)

func (ErrorMounter) List

func (e ErrorMounter) List() ([]mount.MountPoint, error)

func (ErrorMounter) Mount

func (e ErrorMounter) Mount(source string, target string, fstype string, options []string) error

Mount will return an error if ErrorOnMount is true

func (ErrorMounter) MountSensitive

func (e ErrorMounter) MountSensitive(_, _, _ string, _, _ []string) error

func (ErrorMounter) MountSensitiveWithoutSystemd

func (e ErrorMounter) MountSensitiveWithoutSystemd(_, _, _ string, _, _ []string) error

func (ErrorMounter) MountSensitiveWithoutSystemdWithMountFlags

func (e ErrorMounter) MountSensitiveWithoutSystemdWithMountFlags(_, _, _ string, _, _, _ []string) error

func (ErrorMounter) Unmount

func (e ErrorMounter) Unmount(target string) error

Unmount will return an error if ErrorOnUnmount is true

type FakeCloudInitRunner

type FakeCloudInitRunner struct {
	ExecStages []string
	Error      bool
	// contains filtered or unexported fields
}

func (*FakeCloudInitRunner) GetStageArgs added in v0.2.1

func (ci *FakeCloudInitRunner) GetStageArgs(stage string) []string

func (*FakeCloudInitRunner) Run

func (ci *FakeCloudInitRunner) Run(stage string, args ...string) error

func (*FakeCloudInitRunner) SetModifier

func (ci *FakeCloudInitRunner) SetModifier(_ schema.Modifier)

type FakeHTTPClient

type FakeHTTPClient struct {
	ClientCalls []string
	Error       bool
}

FakeHTTPClient is an implementation of HTTPClient interface used for testing It stores Get calls into ClientCalls for easy checking of what was called

func (*FakeHTTPClient) GetURL

func (m *FakeHTTPClient) GetURL(_ v1.Logger, url string, _ string) error

GetURL will return a FakeHttpBody and store the url call into ClientCalls

func (*FakeHTTPClient) WasGetCalledWith

func (m *FakeHTTPClient) WasGetCalledWith(url string) bool

WasGetCalledWith is a helper method to confirm that the client wazs called with the give url

type FakeImageExtractor added in v0.3.0

type FakeImageExtractor struct {
	Logger     v1.Logger
	SideEffect func(imageRef, destination, platformRef string, local bool) error
}

func NewFakeImageExtractor added in v0.3.0

func NewFakeImageExtractor(logger v1.Logger) *FakeImageExtractor

func (FakeImageExtractor) ExtractImage added in v0.3.0

func (f FakeImageExtractor) ExtractImage(imageRef, destination, platformRef string, local bool) error

type FakeRunner

type FakeRunner struct {
	ReturnValue []byte
	SideEffect  func(command string, args ...string) ([]byte, error)
	ReturnError error
	Logger      v1.Logger
	CmdNotFound string
	// contains filtered or unexported fields
}

func NewFakeRunner

func NewFakeRunner() *FakeRunner

func (*FakeRunner) ClearCmds

func (r *FakeRunner) ClearCmds()

func (FakeRunner) CmdsMatch

func (r FakeRunner) CmdsMatch(cmdList [][]string) error

CmdsMatch matches the commands list in order. Note HasPrefix is being used to evaluate the match, so expecting initial part of the command is enough to get a match. It facilitates testing commands with dynamic arguments (aka temporary files)

func (*FakeRunner) CommandExists added in v0.2.1

func (r *FakeRunner) CommandExists(command string) bool

func (FakeRunner) GetCmds added in v0.2.4

func (r FakeRunner) GetCmds() [][]string

GetCmds returns the list of commands recorded by this FakeRunner instance this is helpful to debug tests

func (FakeRunner) GetLogger

func (r FakeRunner) GetLogger() v1.Logger

func (FakeRunner) IncludesCmds

func (r FakeRunner) IncludesCmds(cmdList [][]string) error

IncludesCmds checks the given commands were executed in any order. Note it uses HasPrefix to match commands, see CmdsMatch.

func (*FakeRunner) InitCmd

func (r *FakeRunner) InitCmd(command string, args ...string) *exec.Cmd

func (FakeRunner) MatchMilestones

func (r FakeRunner) MatchMilestones(cmdList [][]string) error

MatchMilestones matches all the given commands were executed in the provided order. Note it uses HasPrefix to match commands, see CmdsMatch.

func (*FakeRunner) Run

func (r *FakeRunner) Run(command string, args ...string) ([]byte, error)

func (*FakeRunner) RunCmd

func (r *FakeRunner) RunCmd(_ *exec.Cmd) ([]byte, error)

func (*FakeRunner) SetLogger

func (r *FakeRunner) SetLogger(logger v1.Logger)

type FakeSyscall

type FakeSyscall struct {
	ErrorOnChroot bool
	// contains filtered or unexported fields
}

FakeSyscall is a test helper method to track calls to syscall It can also fail on Chroot command

func (*FakeSyscall) Chdir

func (f *FakeSyscall) Chdir(_ string) error

func (*FakeSyscall) Chroot

func (f *FakeSyscall) Chroot(path string) error

Chroot will store the chroot call It can return a failure if ErrorOnChroot is true

func (*FakeSyscall) WasChrootCalledWith

func (f *FakeSyscall) WasChrootCalledWith(path string) bool

WasChrootCalledWith is a helper method to check if Chroot was called with the given path

type GhwMock

type GhwMock struct {
	// contains filtered or unexported fields
}

GhwMock is used to construct a fake disk to present to ghw when scanning block devices The way this works is ghw will use the existing files in the system to determine the different disks, partitions and mountpoints. It uses /sys/block, /proc/self/mounts and /run/udev/data to gather everything It also has an entrypoint to overwrite the root dir from which the paths are constructed so that allows us to override it easily and make it read from a different location. This mock is used to construct a fake FS with all its needed files on a different chroot and just add a Disk with its partitions and let the struct do its thing creating files and mountpoints and such You can even just pass no disks to simulate a system in which there is no disk/no cos partitions

func (*GhwMock) AddDisk

func (g *GhwMock) AddDisk(disk block.Disk)

AddDisk adds a disk to GhwMock

func (*GhwMock) AddPartitionToDisk

func (g *GhwMock) AddPartitionToDisk(diskName string, partition *block.Partition)

AddPartitionToDisk will add a partition to the given disk and call Clean+CreateDevices, so we recreate all files It makes no effort checking if the disk exists

func (*GhwMock) Clean

func (g *GhwMock) Clean()

Clean will remove the chroot dir and unset the env var

func (*GhwMock) CreateDevices

func (g *GhwMock) CreateDevices()

CreateDevices will create a new context and paths for ghw using the Chroot value as base, then set the env var GHW_ROOT so the ghw library picks that up and then iterate over the disks and partitions and create the necessary files

func (*GhwMock) RemoveDisk

func (g *GhwMock) RemoveDisk(disk string)

RemoveDisk will remove the files for a disk. It makes no effort to check if the disk exists or not

func (*GhwMock) RemovePartitionFromDisk

func (g *GhwMock) RemovePartitionFromDisk(diskName string, partitionName string)

RemovePartitionFromDisk will remove the files for a partition It makes no effort checking if the disk/partition/files exist

type LiveBootLoaderMock

type LiveBootLoaderMock struct {
	ErrorEFI bool
	ErrorISO bool
}

func (*LiveBootLoaderMock) PrepareEFI

func (g *LiveBootLoaderMock) PrepareEFI(_, _ string) error

func (*LiveBootLoaderMock) PrepareISO

func (g *LiveBootLoaderMock) PrepareISO(_, _ string) error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL