Documentation ¶
Index ¶
- Variables
- func Containerized() bool
- func CreateTempDirInTempDir() (string, error)
- func ExitCleanly() types.GomegaMatcher
- func HaveActiveService(name interface{}) OmegaMatcher
- func IsCommandAvailable(command string) bool
- func IsKernelNewerThan(version string) (bool, error)
- func RandomString(n int) string
- func StringInSlice(s string, sl []string) bool
- func VerifyService(name, uri, identity interface{}) OmegaMatcher
- func VerifyURL(uri interface{}) OmegaMatcher
- func WaitContainerReady(p PodmanTestCommon, id string, expStr string, timeout int, step int) bool
- func WaitForContainer(p PodmanTestCommon) bool
- func WriteJSONFile(data []byte, filePath string) error
- func WriteRSAKeyPair(fileName string, bitSize int) (string, string, error)
- type ExitMatcher
- func (matcher *ExitMatcher) FailureMessage(_ interface{}) (message string)
- func (matcher *ExitMatcher) Match(actual interface{}) (success bool, err error)
- func (matcher *ExitMatcher) MatchMayChangeInTheFuture(actual interface{}) bool
- func (matcher *ExitMatcher) NegatedFailureMessage(_ interface{}) (message string)
- type HostOS
- type NetworkBackend
- type PodmanSession
- func (s *PodmanSession) ErrorGrepString(term string) (bool, []string)
- func (s *PodmanSession) ErrorToString() string
- func (s *PodmanSession) ErrorToStringArray() []string
- func (s *PodmanSession) GrepString(term string) (bool, []string)
- func (s *PodmanSession) IsJSONOutputValid() bool
- func (s *PodmanSession) LineInOutputContains(term string) bool
- func (s *PodmanSession) LineInOutputContainsTag(repo, tag string) bool
- func (s *PodmanSession) LineInOutputStartsWith(term string) bool
- func (s *PodmanSession) OutputToString() string
- func (s *PodmanSession) OutputToStringArray() []string
- func (s *PodmanSession) WaitWithDefaultTimeout()
- func (s *PodmanSession) WaitWithTimeout(timeout int)
- type PodmanTest
- func (p *PodmanTest) GetContainerStatus() string
- func (p *PodmanTest) MakeOptions(args []string, noEvents, noCache bool) []string
- func (p *PodmanTest) NumberOfContainers() int
- func (p *PodmanTest) NumberOfContainersRunning() int
- func (p *PodmanTest) NumberOfPods() int
- func (p *PodmanTest) PodmanAsUserBase(args []string, uid, gid uint32, cwd string, env []string, ...) *PodmanSession
- func (p *PodmanTest) PodmanBase(args []string, noEvents, noCache bool) *PodmanSession
- func (p *PodmanTest) WaitContainerReady(id string, expStr string, timeout int, step int) bool
- func (p *PodmanTest) WaitForContainer() bool
- type PodmanTestCommon
- type ServiceMatcher
- type URLMatcher
- type ValidJSONMatcher
Constants ¶
This section is empty.
Variables ¶
var ( DefaultWaitTimeout = 90 OSReleasePath = "/etc/os-release" ProcessOneCgroupPath = "/proc/1/cgroup" )
Functions ¶
func Containerized ¶
func Containerized() bool
Containerized check the podman command run inside container
func CreateTempDirInTempDir ¶
CreateTempDirInTempDir create a temp dir with prefix podman_test
func ExitCleanly ¶ added in v4.7.0
func ExitCleanly() types.GomegaMatcher
ExitCleanly asserts that a PodmanSession exits 0 and with no stderr
func HaveActiveService ¶
func HaveActiveService(name interface{}) OmegaMatcher
HaveActiveService verifies the given service is the active service.
func IsCommandAvailable ¶
IsCommandAvailable check if command exist
func IsKernelNewerThan ¶
IsKernelNewerThan compares the current kernel version to one provided. If the kernel is equal to or greater, returns true
func RandomString ¶
RandomString returns a string of given length composed of random characters
func StringInSlice ¶
StringInSlice determines if a string is in a string slice, returns bool
func VerifyService ¶
func VerifyService(name, uri, identity interface{}) OmegaMatcher
func VerifyURL ¶
func VerifyURL(uri interface{}) OmegaMatcher
VerifyURL matches when actual is a valid URL and matches expected.
func WaitContainerReady ¶
WaitForContainerReady is a wrapper function for accept inheritance PodmanTest struct.
func WaitForContainer ¶
func WaitForContainer(p PodmanTestCommon) bool
WaitForContainer is a wrapper function for accept inheritance PodmanTest struct.
func WriteJSONFile ¶
WriteJSONFile write json format data to a json file
func WriteRSAKeyPair ¶ added in v4.4.0
Generate RSA key pair of specified bit size and write them to files. Adds appropriate extension to the fileName, and returns the complete fileName of the files storing the public and private key respectively.
Types ¶
type ExitMatcher ¶
type ExitMatcher struct { types.GomegaMatcher Expected int Actual int }
func ExitWithError ¶
func ExitWithError(optionalExitCode ...int) *ExitMatcher
ExitWithError matches when assertion is > argument. Default 0 Modeled after the gomega Exit() matcher and also operates on sessions.
func (*ExitMatcher) FailureMessage ¶
func (matcher *ExitMatcher) FailureMessage(_ interface{}) (message string)
func (*ExitMatcher) Match ¶
func (matcher *ExitMatcher) Match(actual interface{}) (success bool, err error)
Match follows gexec.Matcher interface.
func (*ExitMatcher) MatchMayChangeInTheFuture ¶
func (matcher *ExitMatcher) MatchMayChangeInTheFuture(actual interface{}) bool
func (*ExitMatcher) NegatedFailureMessage ¶
func (matcher *ExitMatcher) NegatedFailureMessage(_ interface{}) (message string)
type HostOS ¶
HostOS is a simple struct for the test os
func GetHostDistributionInfo ¶
func GetHostDistributionInfo() HostOS
GetHostDistributionInfo returns a struct with its distribution Name and version
type NetworkBackend ¶
type NetworkBackend int
const ( // Container Networking backend CNI NetworkBackend = iota // Netavark network backend Netavark NetworkBackend = iota // Env variable for creating time files. EnvTimeDir = "_PODMAN_TIME_DIR" )
func (NetworkBackend) ToString ¶
func (n NetworkBackend) ToString() string
type PodmanSession ¶
type PodmanSession struct {
*Session
}
PodmanSession wraps the gexec.session so we can extend it
func StartSystemExec ¶
func StartSystemExec(command string, args []string) *PodmanSession
StartSystemExec is used to start exec a system command
func SystemExec ¶
func SystemExec(command string, args []string) *PodmanSession
SystemExec is used to exec a system command to check its exit code or output
func (*PodmanSession) ErrorGrepString ¶
func (s *PodmanSession) ErrorGrepString(term string) (bool, []string)
ErrorGrepString takes session stderr output and behaves like grep. it returns a bool if successful and an array of strings on positive matches
func (*PodmanSession) ErrorToString ¶
func (s *PodmanSession) ErrorToString() string
ErrorToString formats session stderr to string
func (*PodmanSession) ErrorToStringArray ¶
func (s *PodmanSession) ErrorToStringArray() []string
ErrorToStringArray returns the stderr output as a []string where each array item is a line split by newline
func (*PodmanSession) GrepString ¶
func (s *PodmanSession) GrepString(term string) (bool, []string)
GrepString takes session output and behaves like grep. it returns a bool if successful and an array of strings on positive matches
func (*PodmanSession) IsJSONOutputValid ¶
func (s *PodmanSession) IsJSONOutputValid() bool
IsJSONOutputValid attempts to unmarshal the session buffer and if successful, returns true, else false
func (*PodmanSession) LineInOutputContains ¶
func (s *PodmanSession) LineInOutputContains(term string) bool
LineInOutputContains returns true if a line in a session output contains the supplied string
func (*PodmanSession) LineInOutputContainsTag ¶
func (s *PodmanSession) LineInOutputContainsTag(repo, tag string) bool
LineInOutputContainsTag returns true if a line in the session's output contains the repo-tag pair as returned by podman-images(1).
func (*PodmanSession) LineInOutputStartsWith ¶
func (s *PodmanSession) LineInOutputStartsWith(term string) bool
LineInOutputStartsWith returns true if a line in a session output starts with the supplied string
func (*PodmanSession) OutputToString ¶
func (s *PodmanSession) OutputToString() string
OutputToString formats session output to string
func (*PodmanSession) OutputToStringArray ¶
func (s *PodmanSession) OutputToStringArray() []string
OutputToStringArray returns the output as a []string where each array item is a line split by newline
func (*PodmanSession) WaitWithDefaultTimeout ¶
func (s *PodmanSession) WaitWithDefaultTimeout()
WaitWithDefaultTimeout waits for process finished with DefaultWaitTimeout
func (*PodmanSession) WaitWithTimeout ¶
func (s *PodmanSession) WaitWithTimeout(timeout int)
WaitWithTimeout waits for process finished with DefaultWaitTimeout
type PodmanTest ¶
type PodmanTest struct { ImageCacheDir string ImageCacheFS string NetworkBackend NetworkBackend DatabaseBackend string PodmanBinary string PodmanMakeOptions func(args []string, noEvents, noCache bool) []string RemoteCommand *exec.Cmd RemotePodmanBinary string RemoteSession *os.Process RemoteSocket string RemoteSocketLock string // If not "", should be removed _after_ RemoteSocket is removed RemoteTest bool TempDir string }
PodmanTest struct for command line options
func (*PodmanTest) GetContainerStatus ¶
func (p *PodmanTest) GetContainerStatus() string
GetContainerStatus returns the containers state. This function assumes only one container is active.
func (*PodmanTest) MakeOptions ¶
func (p *PodmanTest) MakeOptions(args []string, noEvents, noCache bool) []string
MakeOptions assembles all podman options
func (*PodmanTest) NumberOfContainers ¶
func (p *PodmanTest) NumberOfContainers() int
NumberOfContainers returns an int of how many containers are currently defined.
func (*PodmanTest) NumberOfContainersRunning ¶
func (p *PodmanTest) NumberOfContainersRunning() int
NumberOfContainersRunning returns an int of how many containers are currently running.
func (*PodmanTest) NumberOfPods ¶
func (p *PodmanTest) NumberOfPods() int
NumberOfPods returns an int of how many pods are currently defined.
func (*PodmanTest) PodmanAsUserBase ¶
func (p *PodmanTest) PodmanAsUserBase(args []string, uid, gid uint32, cwd string, env []string, noEvents, noCache bool, wrapper []string, extraFiles []*os.File) *PodmanSession
PodmanAsUserBase exec podman as user. uid and gid is set for credentials usage. env is used to record the env for debugging
func (*PodmanTest) PodmanBase ¶
func (p *PodmanTest) PodmanBase(args []string, noEvents, noCache bool) *PodmanSession
PodmanBase exec podman with default env.
func (*PodmanTest) WaitContainerReady ¶
WaitContainerReady waits process or service inside container start, and ready to be used.
func (*PodmanTest) WaitForContainer ¶
func (p *PodmanTest) WaitForContainer() bool
WaitForContainer waits on a started container
type PodmanTestCommon ¶
type PodmanTestCommon interface { MakeOptions(args []string, noEvents, noCache bool) []string WaitForContainer() bool WaitContainerReady(id string, expStr string, timeout int, step int) bool }
PodmanTestCommon contains common functions will be updated later in the inheritance structs
type ServiceMatcher ¶
type ServiceMatcher struct { types.GomegaMatcher Name interface{} URI interface{} Identity interface{} // contains filtered or unexported fields }
func (*ServiceMatcher) FailureMessage ¶
func (matcher *ServiceMatcher) FailureMessage(_ interface{}) string
func (*ServiceMatcher) Match ¶
func (matcher *ServiceMatcher) Match(actual interface{}) (success bool, err error)
func (*ServiceMatcher) NegatedFailureMessage ¶
func (matcher *ServiceMatcher) NegatedFailureMessage(_ interface{}) string
type URLMatcher ¶
type URLMatcher struct {
matchers.EqualMatcher
}
func (*URLMatcher) Match ¶
func (matcher *URLMatcher) Match(actual interface{}) (bool, error)
type ValidJSONMatcher ¶
type ValidJSONMatcher struct {
types.GomegaMatcher
}
func BeValidJSON ¶
func BeValidJSON() *ValidJSONMatcher
func (*ValidJSONMatcher) FailureMessage ¶
func (matcher *ValidJSONMatcher) FailureMessage(actual interface{}) (message string)
func (*ValidJSONMatcher) Match ¶
func (matcher *ValidJSONMatcher) Match(actual interface{}) (success bool, err error)
func (*ValidJSONMatcher) NegatedFailureMessage ¶
func (matcher *ValidJSONMatcher) NegatedFailureMessage(actual interface{}) (message string)