test

package
v0.0.0-...-27d5cd9 Latest Latest
Warning

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

Go to latest
Published: Apr 26, 2024 License: Apache-2.0 Imports: 27 Imported by: 1

Documentation

Overview

OutputCapture allows to capture any text written to standard out or standard error which is especially useful during testing.

Call it like:

capture := CaptureOutput(t) doSomeActionThatWritesToStdOutAndStdErr() stdOut, stdErr := capture.Close()

CaptureOutput() and capture.Close() should always come in pairs as Close() also restores the old streams

Index

Constants

View Source
const (
	MaxRetries         int           = 10
	RetrySleepDuration time.Duration = 5 * time.Second
)
View Source
const (
	FileModeReadWrite  = 0666
	FileModeExecutable = 0777
)

Variables

Flags holds the command line flags or defaults for settings in the user's environment. See ClientFlags for the list of supported fields.

Functions

func BuildConfigurationSpec

func BuildConfigurationSpec(co ...servingtest.ConfigOption) *servingv1.ConfigurationSpec

BuildConfigurationSpec builds servingv1.ConfigurationSpec with the options provided

func BuildKNExportWithOptions

func BuildKNExportWithOptions(options ...ExpectedKNExportOption) *clientv1alpha1.Export

BuildKNExportWithOptions returns Export object with the options provided

func BuildRevision

func BuildRevision(name string, options ...servingtest.RevisionOption) *servingv1.Revision

BuildRevision returns Revision object with the options provided

func BuildRevisionListWithOptions

func BuildRevisionListWithOptions(options ...ExpectedRevisionListOption) *servingv1.RevisionList

BuildRevisionListWithOptions returns RevisionList with options provided

func BuildRevisionSpec

func BuildRevisionSpec(image string) *servingv1.RevisionSpec

BuildRevisionSpec for provided image

func BuildServiceListWithOptions

func BuildServiceListWithOptions(options ...ExpectedServiceListOption) *servingv1.ServiceList

BuildServiceListWithOptions returns ServiceList with options provided

func BuildServiceWithOptions

func BuildServiceWithOptions(name string, so ...servingtest.ServiceOption) *servingv1.Service

BuildServiceWithOptions returns ksvc with options provided

func CreateFile

func CreateFile(fileName, fileContent, filePath string, fileMode os.FileMode) (string, error)

CreateFile creates a file with given name, content, path, fileMode and returns absolute filepath and error if any

func CreateNamespace

func CreateNamespace(namespace string) error

CreateNamespace creates and tests a namespace creation invoking kubectl

func CurrentDir

func CurrentDir(t *testing.T) string

func DeleteNamespace

func DeleteNamespace(namespace string) error

DeleteNamespace deletes and tests a namespace deletion invoking kubectl

func GetNextNamespaceId

func GetNextNamespaceId() int

GetNextNamespaceId return the next unique ID for the next namespace

func GetNextServiceName

func GetNextServiceName(base string) string

GetNextServiceName return the name for the next namespace

func GetResourceFieldsWithJSONPath

func GetResourceFieldsWithJSONPath(t *testing.T, it *KnTest, resource, name, jsonpath string) (string, error)

GetResourceFieldsWithJSONPath returns output of given JSON path for given resource using kubectl and error if any

func GetServiceFromKNServiceDescribe

func GetServiceFromKNServiceDescribe(r *KnRunResultCollector, serviceName string) servingv1.Service

GetServiceFromKNServiceDescribe runs the kn service describe command decodes it into a ksvc and returns it.

func NextNamespace

func NextNamespace() string

NextNamespace return the next unique namespace

func RunKubectl

func RunKubectl(namespace string, args ...string) (string, error)

RunKubectl runs "kubectl" in a given namespace

func ServiceCreate

func ServiceCreate(r *KnRunResultCollector, serviceName string)

ServiceCreate verifies given service creation in sync mode and also verifies output

func ServiceDelete

func ServiceDelete(r *KnRunResultCollector, serviceName string)

ServiceDelete verifies service deletion in sync mode

func ServiceDescribe

func ServiceDescribe(r *KnRunResultCollector, serviceName string)

ServiceDescribe describes given service and verifies the keys in the output

func ServiceDescribeWithJSONPath

func ServiceDescribeWithJSONPath(r *KnRunResultCollector, serviceName, jsonpath string) string

ServiceDescribeWithJSONPath returns output of given JSON path by describing the service

func ServiceList

func ServiceList(r *KnRunResultCollector, serviceName string)

ServiceList verifies if given service exists

func ServiceListEmpty

func ServiceListEmpty(r *KnRunResultCollector)

ServiceListEmpty verifies that there are no services present

func ServiceListOutput

func ServiceListOutput(r *KnRunResultCollector, serviceName string)

ServiceListOutput verifies listing given service using '--output name' flag

func ServiceUpdate

func ServiceUpdate(r *KnRunResultCollector, serviceName string, args ...string)

ServiceUpdate verifies service update operation with given arguments in sync mode

func ServiceUpdateWithError

func ServiceUpdateWithError(r *KnRunResultCollector, serviceName string, args ...string)

ServiceUpdateWithError verifies service update operation with given arguments in sync mode when expecting an error

func ValidateServiceResources

func ValidateServiceResources(r *KnRunResultCollector, serviceName string, requestsMemory, requestsCPU, limitsMemory, limitsCPU string)

ValidateServiceResources validates cpu and mem resources

func WaitForNamespaceCreated

func WaitForNamespaceCreated(namespace string) error

WaitForNamespaceCreated wait until namespace is created

func WaitForNamespaceDeleted

func WaitForNamespaceDeleted(namespace string) error

WaitForNamespaceDeleted wait until namespace is deleted

func WaitForSa

func WaitForSa(serviceaccount string, namespace string) error

WaitForSa wait until service account is created

func WithRevisionAnnotations

func WithRevisionAnnotations(annotations map[string]string) servingtest.ServiceOption

WithRevisionAnnotations adds annotation to revision spec in ksvc

func WithRevisionEnv

func WithRevisionEnv(evs ...corev1.EnvVar) servingtest.RevisionOption

WithRevisionEnv adds env variable to Revision object

func WithRevisionImage

func WithRevisionImage(image string) servingtest.RevisionOption

WithRevisionImage adds revision image to Revision object

func WithTrafficSpec

func WithTrafficSpec(revisions []string, percentages []int, tags []string) servingtest.ServiceOption

WithTrafficSpec adds route to ksvc

Types

type ClientFlags

type ClientFlags struct {
	DockerConfigJSON string
	ReuseNamespace   bool
}

ClientFlags define the flags that are needed to run the e2e tests.

func InitializeFlags

func InitializeFlags() *ClientFlags

InitializeFlags initializes the client's flags

type ExpectedKNExportOption

type ExpectedKNExportOption func(*clientv1alpha1.Export)

ExpectedKNExportOption enables further configuration of a Export.

func WithKNRevision

func WithKNRevision(rev servingv1.Revision) ExpectedKNExportOption

WithKNRevision appends Revision object RevisionList to Kn Export

type ExpectedRevisionListOption

type ExpectedRevisionListOption func(*servingv1.RevisionList)

ExpectedRevisionListOption enables further configuration of a RevisionList.

func WithRevision

WithRevision appends Revision object to RevisionList

type ExpectedServiceListOption

type ExpectedServiceListOption func(*servingv1.ServiceList)

ExpectedServiceListOption enables further configuration of a ServiceList.

func WithService

WithService appends the given service to ServiceList

type Kn

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

Kn type

func NewKn

func NewKn() Kn

NewKn object

func (Kn) Namespace

func (k Kn) Namespace() string

Namespace that this Kn instance uses

func (Kn) Run

func (k Kn) Run(args ...string) KnRunResult

Run the 'kn' CLI with args

func (Kn) RunNoNamespace

func (k Kn) RunNoNamespace(args ...string) KnRunResult

RunNoNamespace the 'kn' CLI with args but no namespace

type KnRunResult

type KnRunResult struct {
	// Command line called
	CmdLine string
	// Standard output of command
	Stdout string
	// Standard error of command
	Stderr string
	// And extra dump informations in case of an unexpected error
	DumpInfo string
	// Error occurred during execution
	Error error
	// Was an error expected ?
	ErrorExpected bool
}

KnRunResult holds command and result artifacts of a "kn" call

func RunKn

func RunKn(namespace string, args []string) KnRunResult

RunKn runs "kn" in a given namespace

type KnRunResultCollector

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

KnRunResultCollector collects Kn run's results

func NewKnRunResultCollector

func NewKnRunResultCollector(t *testing.T, knTest *KnTest) *KnRunResultCollector

NewKnRunResultCollector returns a new KnRunResultCollector

func (*KnRunResultCollector) AddDump

func (c *KnRunResultCollector) AddDump(kind string, name string, namespace string)

AddDump adds extra dump information to the collector which is printed out if an error occurs

func (*KnRunResultCollector) AssertError

func (c *KnRunResultCollector) AssertError(result KnRunResult)

AssertError helper to assert error on result

func (*KnRunResultCollector) AssertNoError

func (c *KnRunResultCollector) AssertNoError(result KnRunResult)

AssertNoError helper to assert no error on result

func (*KnRunResultCollector) Dump

func (c *KnRunResultCollector) Dump()

Dump prints out the collected output and logs

func (*KnRunResultCollector) DumpIfFailed

func (c *KnRunResultCollector) DumpIfFailed()

DumpIfFailed logs if collector failed

func (*KnRunResultCollector) KnTest

func (c *KnRunResultCollector) KnTest() *KnTest

KnTest returns the KnTest object

func (*KnRunResultCollector) T

func (c *KnRunResultCollector) T() *testing.T

T returns the *testing.T object

type KnTest

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

KnTest type

func NewKnTest

func NewKnTest() (*KnTest, error)

NewKnTest creates a new KnTest object

func (*KnTest) Kn

func (test *KnTest) Kn() Kn

Kn object used by this KnTest

func (*KnTest) Namespace

func (test *KnTest) Namespace() string

Namespace used by the test

func (*KnTest) Teardown

func (test *KnTest) Teardown() error

Teardown clean up

type Kubectl

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

Kubectl type

func NewKubectl

func NewKubectl(namespace string) Kubectl

New Kubectl object

func (Kubectl) Namespace

func (k Kubectl) Namespace() string

Namespace that this Kubectl instance uses

func (Kubectl) Run

func (k Kubectl) Run(args ...string) (string, error)

Run the 'kubectl' CLI with args

type OutputCapture

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

func CaptureOutput

func CaptureOutput(t *testing.T) OutputCapture

CaptureOutput sets up standard our and standard error to capture any output which

func (OutputCapture) Close

func (c OutputCapture) Close() (string, string)

Close return the output collected and restores the original standard out and error streams (i.e. those that were present before the call to CaptureOutput).

Jump to

Keyboard shortcuts

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