framework

package
v0.2.0-rc0 Latest Latest
Warning

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

Go to latest
Published: Feb 7, 2020 License: Apache-2.0 Imports: 32 Imported by: 1

Documentation

Index

Constants

View Source
const (
	SubmarinerEngine = "submariner-engine"
	GatewayLabel     = "submariner.io/gateway"
)
View Source
const (
	// Polling interval while trying to create objects
	PollInterval = 100 * time.Millisecond
)

Variables

This section is empty.

Functions

func AwaitUntil

func AwaitUntil(opMsg string, doOperation DoOperationFunc, checkResult CheckResultFunc) interface{}

AwaitUntil periodically performs the given operation until the given CheckResultFunc returns true, an error, or a timeout is reached.

func Errorf

func Errorf(format string, args ...interface{})

func ExpectNoError

func ExpectNoError(err error, explain ...interface{})

func ExpectNoErrorWithOffset

func ExpectNoErrorWithOffset(offset int, err error, explain ...interface{})

ExpectNoErrorWithOffset checks if "err" is set, and if so, fails assertion while logging the error at "offset" levels above its caller (for example, for call chain f -> g -> ExpectNoErrorWithOffset(1, ...) error would be logged for "f").

func Failf

func Failf(format string, args ...interface{})

func FailfWithOffset

func FailfWithOffset(offset int, format string, args ...interface{})

FailfWithOffset calls "Fail" and logs the error at "offset" levels above its caller (for example, for call chain f -> g -> FailfWithOffset(1, ...) error would be logged for "f").

func IsTransientError

func IsTransientError(err error, opMsg string) bool

identify API errors which could be considered transient/recoverable due to server state.

func Logf

func Logf(format string, args ...interface{})

func NoopCheckResult

func NoopCheckResult(interface{}) (bool, error)

func ParseFlags

func ParseFlags()

func RemoveCleanupAction

func RemoveCleanupAction(p CleanupActionHandle)

RemoveCleanupAction removes a function that was installed by AddCleanupAction.

func RunCleanupActions

func RunCleanupActions()

RunCleanupActions runs all functions installed by AddCleanupAction. It does not remove them (see RemoveCleanupAction) but it does run unlocked, so they may remove themselves.

func Skipf

func Skipf(format string, args ...interface{})

Types

type CheckResultFunc

type CheckResultFunc func(result interface{}) (bool, error)

type CleanupActionHandle

type CleanupActionHandle *int

CleanupActionHandle is an integer pointer type for handling cleanup action

func AddCleanupAction

func AddCleanupAction(fn func()) CleanupActionHandle

AddCleanupAction installs a function that will be called in the event of the whole test being terminated. This allows arbitrary pieces of the overall test to hook into SynchronizedAfterSuite().

type ClusterIndex

type ClusterIndex int
const (
	ClusterA ClusterIndex = iota
	ClusterB
	ClusterC
)

type DoOperationFunc

type DoOperationFunc func() (interface{}, error)

type ExecOptions

type ExecOptions struct {
	Command []string

	Namespace     string
	PodName       string
	ContainerName string

	Stdin         io.Reader
	CaptureStdout bool
	CaptureStderr bool
	// If false, whitespace in std{err,out} will be removed.
	PreserveWhitespace bool
}

ExecOptions passed to ExecWithOptions

type Framework

type Framework struct {
	BaseName string

	// Set together with creating the ClientSet and the namespace.
	// Guaranteed to be unique in the cluster even when running the same
	// test multiple times in parallel.
	UniqueName string

	ClusterClients []*kubeclientset.Clientset

	SkipNamespaceCreation bool   // Whether to skip creating a namespace
	Namespace             string // Every test has a namespace at least unless creation is skipped

	// configuration for framework's client
	Options Options
	// contains filtered or unexported fields
}

Framework supports common operations used by e2e tests; it will keep a client & a namespace for you. Eventual goal is to merge this with integration test framework.

func NewDefaultFramework

func NewDefaultFramework(baseName string) *Framework

NewDefaultFramework makes a new framework and sets up a BeforeEach/AfterEach for you (you can write additional before/after each functions).

func NewFramework

func NewFramework(baseName string, options Options) *Framework

NewFramework creates a test framework.

func (*Framework) AddNamespacesToDelete

func (f *Framework) AddNamespacesToDelete(namespaces ...*v1.Namespace)

func (*Framework) AfterEach

func (f *Framework) AfterEach()

AfterEach deletes the namespace, after reading its events.

func (*Framework) BeforeEach

func (f *Framework) BeforeEach()

func (*Framework) DeleteService

func (f *Framework) DeleteService(cluster ClusterIndex, serviceName string)

func (*Framework) ExecWithOptions

func (f *Framework) ExecWithOptions(options ExecOptions, index ClusterIndex) (string, string, error)

ExecWithOptions executes a command in the specified container, returning stdout, stderr and error. `options` allowed for additional parameters to be passed. ExecWithOptions executes a command in the specified container, returning stdout, stderr and error. `options` allowed for additional parameters to be passed.

func (*Framework) NewNetShootDeployment

func (f *Framework) NewNetShootDeployment(cluster ClusterIndex) *v1.PodList

func (*Framework) NewNginxDeployment

func (f *Framework) NewNginxDeployment(cluster ClusterIndex) *v1.PodList

func (*Framework) NewNginxService

func (f *Framework) NewNginxService(cluster ClusterIndex) *corev1.Service

type Options

type Options struct {
	ClientQPS    float32
	ClientBurst  int
	GroupVersion *schema.GroupVersion
}

Options is a struct for managing test framework options.

type PatchFunc

type PatchFunc func(pt types.PatchType, payload []byte) error

type PatchStringValue

type PatchStringValue struct {
	Op    string `json:"op"`
	Path  string `json:"path"`
	Value string `json:"value"`
}

type ServiceType

type ServiceType int

type TestContextType

type TestContextType struct {
	KubeConfig          string
	KubeContexts        contextArray
	ReportDir           string
	ReportPrefix        string
	SubmarinerNamespace string
}
var TestContext *TestContextType = &TestContextType{}

Jump to

Keyboard shortcuts

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