tests

package
v0.4.1 Latest Latest
Warning

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

Go to latest
Published: Apr 12, 2018 License: Apache-2.0 Imports: 35 Imported by: 0

README

Integration tests

Integration tests require a running Kubevirt cluster. Once you have a running Kubevirt cluster, you can use the -master and the -kubeconfig flags to point the tests to the cluster.

Run them on an arbitrary KubeVirt installation

cd tests # from the git repo root folder
go test -kubeconfig=path/to/my/config

Run them on one of the core KubeVirt providers

There is a make target to run this with the config taken from hack/config.sh:

# from the git repo root folder
make functest

Documentation

Index

Constants

View Source
const (
	// tests.NamespaceTestDefault is the default namespace, to test non-infrastructure related KubeVirt objects.
	NamespaceTestDefault = "kubevirt-test-default"
	// NamespaceTestAlternative is used to test controller-namespace independency.
	NamespaceTestAlternative = "kubevirt-test-alternative"
)
View Source
const (
	DiskAlpineISCSI = "disk-alpine-iscsi"
	DiskWindows     = "disk-windows"
)
View Source
const SubresourceServiceAccountName = "kubevirt-subresource-test-sa"
View Source
const SubresourceTestLabel = "subresource-access-test-pod"
View Source
const VmResource = "virtualmachines"

Variables

View Source
var KubeVirtJunitOutput = ""
View Source
var KubeVirtKubectlPath = ""
View Source
var KubeVirtRepoPrefix = "kubevirt"
View Source
var KubeVirtVersionTag = "latest"
View Source
var Polarion = PolarionReporter{}

Functions

func AddEphemeralDisk added in v0.3.0

func AddEphemeralDisk(vm *v1.VirtualMachine, name string, bus string, image string) *v1.VirtualMachine

func AddEphemeralFloppy added in v0.3.0

func AddEphemeralFloppy(vm *v1.VirtualMachine, name string, image string) *v1.VirtualMachine

func AfterTestSuitCleanup

func AfterTestSuitCleanup()

func BeforeAll added in v0.4.1

func BeforeAll(fn func())

func BeforeTestCleanup

func BeforeTestCleanup()

func BeforeTestSuitSetup

func BeforeTestSuitSetup()

func ExecuteCommandOnPod added in v0.4.1

func ExecuteCommandOnPod(virtCli kubecli.KubevirtClient, pod *k8sv1.Pod, containerName string, command []string) (string, error)

func GenerateVmJson added in v0.4.1

func GenerateVmJson(vm *v1.VirtualMachine) (string, error)

func GetRunningPodByLabel added in v0.3.0

func GetRunningPodByLabel(label string, labelType string, namespace string) *k8sv1.Pod

func LoggedInCirrosExpecter added in v0.3.0

func LoggedInCirrosExpecter(vm *v1.VirtualMachine) (expect.Expecter, error)

func NewBool added in v0.3.0

func NewBool(x bool) *bool

func NewConsoleExpecter added in v0.0.4

func NewConsoleExpecter(virtCli kubecli.KubevirtClient, vm *v1.VirtualMachine, timeout time.Duration, opts ...expect.Option) (expect.Expecter, <-chan error, error)

func NewInt32 added in v0.0.3

func NewInt32(x int32) *int32

func NewKubeVirtJunitReporter added in v0.4.1

func NewKubeVirtJunitReporter() Reporter

func NewRandomReplicaSetFromVM added in v0.0.3

func NewRandomReplicaSetFromVM(vm *v1.VirtualMachine, replicas int32) *v1.VirtualMachineReplicaSet

func NewRandomVM

func NewRandomVM() *v1.VirtualMachine

func NewRandomVMWithEphemeralDisk

func NewRandomVMWithEphemeralDisk(containerImage string) *v1.VirtualMachine

func NewRandomVMWithEphemeralDiskAndUserdata added in v0.0.3

func NewRandomVMWithEphemeralDiskAndUserdata(containerImage string, userData string) *v1.VirtualMachine

func NewRandomVMWithEphemeralDiskAndUserdataHighMemory added in v0.3.0

func NewRandomVMWithEphemeralDiskAndUserdataHighMemory(containerImage string, userData string) *v1.VirtualMachine

func NewRandomVMWithEphemeralDiskHighMemory added in v0.3.0

func NewRandomVMWithEphemeralDiskHighMemory(containerImage string) *v1.VirtualMachine

func NewRandomVMWithEphemeralPVC added in v0.3.0

func NewRandomVMWithEphemeralPVC(claimName string) *v1.VirtualMachine

func NewRandomVMWithNS

func NewRandomVMWithNS(namespace string) *v1.VirtualMachine

func NewRandomVMWithPVC

func NewRandomVMWithPVC(claimName string) *v1.VirtualMachine

func NewRandomVMWithWatchdog added in v0.1.0

func NewRandomVMWithWatchdog() *v1.VirtualMachine

func NewRepeatableVirtctlCommand added in v0.4.0

func NewRepeatableVirtctlCommand(args ...string) func() error

func NewVirtctlCommand added in v0.4.0

func NewVirtctlCommand(args ...string) *cobra.Command

func PanicOnError

func PanicOnError(err error)

func RegistryDiskFor added in v0.3.0

func RegistryDiskFor(name RegistryDisk) string

RegistryDiskFor takes the name of an image and returns the full registry diks image path. Supported values are: cirros, fedora, alpine

func RenderJob added in v0.3.0

func RenderJob(name string, cmd []string, args []string) *k8sv1.Pod

func RunKubectlCommand added in v0.4.1

func RunKubectlCommand(args ...string) error

func SkipIfNoKubectl added in v0.4.1

func SkipIfNoKubectl()

func SkipIfNoWindowsImage added in v0.4.1

func SkipIfNoWindowsImage(virtClient kubecli.KubevirtClient)

func WaitForSuccessfulVMStart

func WaitForSuccessfulVMStart(vm runtime.Object) string

func WaitForSuccessfulVMStartIgnoreWarnings added in v0.3.0

func WaitForSuccessfulVMStartIgnoreWarnings(vm runtime.Object) string

func WaitForSuccessfulVMStartWithTimeout added in v0.0.3

func WaitForSuccessfulVMStartWithTimeout(vm runtime.Object, seconds int) (nodeName string)

Types

type Description added in v0.4.0

type Description struct {
	Content string `xml:",chardata"`
}

type EventType

type EventType string
const (
	NormalEvent  EventType = "Normal"
	WarningEvent EventType = "Warning"
)

type ObjectEventWatcher

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

func NewObjectEventWatcher

func NewObjectEventWatcher(object runtime.Object) *ObjectEventWatcher

func (*ObjectEventWatcher) FailOnWarnings

func (w *ObjectEventWatcher) FailOnWarnings() *ObjectEventWatcher

func (*ObjectEventWatcher) SinceNow

func (w *ObjectEventWatcher) SinceNow() *ObjectEventWatcher

SinceNow sets a watch starting point for events, from the moment on the connection to the apiserver was established.

func (*ObjectEventWatcher) SinceObjectResourceVersion

func (w *ObjectEventWatcher) SinceObjectResourceVersion(object runtime.Object) *ObjectEventWatcher

SinceObjectResourceVersion takes the resource version of the passed in runtime object and takes it as the starting point for all events to watch for.

func (*ObjectEventWatcher) SinceResourceVersion

func (w *ObjectEventWatcher) SinceResourceVersion(rv string) *ObjectEventWatcher

SinceResourceVersion sets the passed in resourceVersion as the starting point for all events to watch for.

func (*ObjectEventWatcher) SinceWatchedObjectResourceVersion

func (w *ObjectEventWatcher) SinceWatchedObjectResourceVersion() *ObjectEventWatcher

SinceWatchedObjectResourceVersion takes the resource version of the runtime object which is watched, and takes it as the starting point for all events to watch for.

func (*ObjectEventWatcher) Timeout

func (w *ObjectEventWatcher) Timeout(duration time.Duration) *ObjectEventWatcher

func (*ObjectEventWatcher) WaitFor

func (w *ObjectEventWatcher) WaitFor(eventType EventType, reason interface{}) (e *k8sv1.Event)

func (*ObjectEventWatcher) Watch

func (w *ObjectEventWatcher) Watch(processFunc ProcessFunc)

type PolarionReporter added in v0.4.0

type PolarionReporter struct {
	Run bool
	// contains filtered or unexported fields
}

func (*PolarionReporter) AfterSuiteDidRun added in v0.4.0

func (reporter *PolarionReporter) AfterSuiteDidRun(setupSummary *types.SetupSummary)

func (*PolarionReporter) BeforeSuiteDidRun added in v0.4.0

func (reporter *PolarionReporter) BeforeSuiteDidRun(setupSummary *types.SetupSummary)

func (*PolarionReporter) SpecDidComplete added in v0.4.0

func (reporter *PolarionReporter) SpecDidComplete(specSummary *types.SpecSummary)

func (*PolarionReporter) SpecSuiteDidEnd added in v0.4.0

func (reporter *PolarionReporter) SpecSuiteDidEnd(summary *types.SuiteSummary)

func (*PolarionReporter) SpecSuiteWillBegin added in v0.4.0

func (reporter *PolarionReporter) SpecSuiteWillBegin(config config.GinkgoConfigType, summary *types.SuiteSummary)

func (*PolarionReporter) SpecWillRun added in v0.4.0

func (reporter *PolarionReporter) SpecWillRun(specSummary *types.SpecSummary)

type PolarionTestCase added in v0.4.0

type PolarionTestCase struct {
	Title                Title                `xml:"title"`
	Description          Description          `xml:"description"`
	TestCaseCustomFields TestCaseCustomFields `xml:"custom-fields"`
}

type PolarionTestCases added in v0.4.0

type PolarionTestCases struct {
	XMLName   xml.Name           `xml:"testcases"`
	TestCases []PolarionTestCase `xml:"testcase"`
	ProjectID string             `xml:"project-id,attr"`
}

type ProcessFunc

type ProcessFunc func(event *k8sv1.Event) (done bool)

type RegistryDisk added in v0.3.0

type RegistryDisk string
const (
	RegistryDiskCirros RegistryDisk = "cirros"
	RegistryDiskAlpine RegistryDisk = "alpine"
	RegistryDiskFedora RegistryDisk = "fedora-cloud"
)

type TestCaseCustomField added in v0.4.0

type TestCaseCustomField struct {
	Content string `xml:"content,attr"`
	ID      string `xml:"id,attr"`
}

type TestCaseCustomFields added in v0.4.0

type TestCaseCustomFields struct {
	CustomFields []TestCaseCustomField `xml:"custom-field"`
}

type Title added in v0.4.0

type Title struct {
	Content string `xml:",chardata"`
}

Jump to

Keyboard shortcuts

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