Documentation
¶
Overview ¶
SPDX-License-Identifier: Apache-2.0
Copyright Contributors to the Submariner project.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
SPDX-License-Identifier: Apache-2.0
Copyright Contributors to the Submariner project.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
SPDX-License-Identifier: Apache-2.0
Copyright Contributors to the Submariner project.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
SPDX-License-Identifier: Apache-2.0
Copyright Contributors to the Submariner project.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
SPDX-License-Identifier: Apache-2.0
Copyright Contributors to the Submariner project.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
SPDX-License-Identifier: Apache-2.0
Copyright Contributors to the Submariner project.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
SPDX-License-Identifier: Apache-2.0
Copyright Contributors to the Submariner project.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
SPDX-License-Identifier: Apache-2.0
Copyright Contributors to the Submariner project.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
SPDX-License-Identifier: Apache-2.0
Copyright Contributors to the Submariner project.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
SPDX-License-Identifier: Apache-2.0
Copyright Contributors to the Submariner project.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
SPDX-License-Identifier: Apache-2.0
Copyright Contributors to the Submariner project.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
SPDX-License-Identifier: Apache-2.0
Copyright Contributors to the Submariner project.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
SPDX-License-Identifier: Apache-2.0
Copyright Contributors to the Submariner project.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
SPDX-License-Identifier: Apache-2.0
Copyright Contributors to the Submariner project.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
SPDX-License-Identifier: Apache-2.0
Copyright Contributors to the Submariner project.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Index ¶
- Constants
- Variables
- func AddBeforeSuite(beforeSuite func())
- func AwaitResultOrError(opMsg string, doOperation DoOperationFunc, checkResult CheckResultFunc) (interface{}, string, error)
- func AwaitUntil(opMsg string, doOperation DoOperationFunc, checkResult CheckResultFunc) interface{}
- func BeforeSuite()
- func DetectGlobalnet()
- func Errorf(format string, args ...interface{})
- func ExpectNoError(err error, explain ...interface{})
- func ExpectNoErrorWithOffset(offset int, err error, explain ...interface{})
- func Failf(format string, args ...interface{})
- func FailfWithOffset(offset int, format string, args ...interface{})
- func IsTransientError(err error, opMsg string) bool
- func Logf(format string, args ...interface{})
- func NestedString(obj map[string]interface{}, fields ...string) string
- func NoopCheckResult(interface{}) (bool, string, error)
- func PatchInt(path string, value uint32, patchFunc PatchFunc)
- func PatchString(path string, value string, patchFunc PatchFunc)
- func RemoveCleanupAction(p CleanupActionHandle)
- func RunCleanupActions()
- func SetFailFunction(fail func(string))
- func SetStatusFunction(by func(string))
- func SetUserAgentFunction(uaf func() string)
- func Skipf(format string, args ...interface{})
- func ValidateFlags(t *TestContextType)
- type CheckResultFunc
- type CleanupActionHandle
- type ClusterIndex
- type DoOperationFunc
- type Docker
- type ExecOptions
- type Framework
- func (f *Framework) AddNamespacesToDelete(namespaces ...*v1.Namespace)
- func (f *Framework) AfterEach()
- func (f *Framework) AwaitGatewayFullyConnected(cluster ClusterIndex, name string) *unstructured.Unstructured
- func (f *Framework) AwaitGatewayRemoved(cluster ClusterIndex, name string)
- func (f *Framework) AwaitGatewayWithStatus(cluster ClusterIndex, name, status string) *unstructured.Unstructured
- func (f *Framework) AwaitGatewaysWithStatus(cluster ClusterIndex, status string) []unstructured.Unstructured
- func (f *Framework) AwaitPodsByAppLabel(cluster ClusterIndex, appName string, namespace string, expectedCount int) *v1.PodList
- func (f *Framework) AwaitRouteAgentPodOnNode(cluster ClusterIndex, nodeName string, prevPodUID types.UID) *v1.Pod
- func (f *Framework) AwaitSubmarinerGatewayPod(cluster ClusterIndex) *v1.Pod
- func (f *Framework) AwaitUntilAnnotationOnPod(cluster ClusterIndex, annotation string, podName string, namespace string) *v1.Pod
- func (f *Framework) AwaitUntilAnnotationOnService(cluster ClusterIndex, annotation string, svcName string, namespace string) *v1.Service
- func (f *Framework) BeforeEach()
- func (f *Framework) CreateNamespace(clientSet *kubeclientset.Clientset, baseName string, labels map[string]string) *v1.Namespace
- func (f *Framework) CreateServiceExport(cluster ClusterIndex, name string)
- func (f *Framework) CreateTCPService(cluster ClusterIndex, selectorName string, port int) *corev1.Service
- func (f *Framework) DeleteGateway(cluster ClusterIndex, name string)
- func (f *Framework) DeletePod(cluster ClusterIndex, podName string, namespace string)
- func (f *Framework) DeleteService(cluster ClusterIndex, serviceName string)
- func (f *Framework) DeleteServiceExport(cluster ClusterIndex, name string)
- func (f *Framework) ExecWithOptions(options ExecOptions, index ClusterIndex) (string, string, error)
- func (f *Framework) FindDeployment(cluster ClusterIndex, appName string, namespace string) *appsv1.Deployment
- func (f *Framework) FindNodesByGatewayLabel(cluster ClusterIndex, isGateway bool) []*v1.Node
- func (f *Framework) GatewayCleanup()
- func (f *Framework) GetGatewaysWithHAStatus(cluster ClusterIndex, status string) []unstructured.Unstructured
- func (f *Framework) NewNetShootDeployment(cluster ClusterIndex) *corev1.PodList
- func (f *Framework) NewNetworkPod(config *NetworkPodConfig) *NetworkPod
- func (f *Framework) NewNginxDeployment(cluster ClusterIndex) *corev1.PodList
- func (f *Framework) NewNginxService(cluster ClusterIndex) *corev1.Service
- func (f *Framework) SetGatewayLabelOnNode(cluster ClusterIndex, nodeName string, isGateway bool)
- type NetworkPod
- func (np *NetworkPod) AwaitFinish()
- func (np *NetworkPod) AwaitFinishVerbose(verbose bool)
- func (np *NetworkPod) AwaitReady()
- func (np *NetworkPod) CheckSuccessfulFinish()
- func (np *NetworkPod) CreateService() *v1.Service
- func (np *NetworkPod) GetLog() string
- func (np *NetworkPod) RunCommand(cmd []string) (string, string)
- type NetworkPodConfig
- type NetworkPodScheduling
- type NetworkPodType
- type NetworkingType
- type PatchFunc
- type PatchStringValue
- type PatchUInt32Value
- type TestContextType
Constants ¶
const ( SubmarinerGateway = "submariner-gateway" RouteAgent = "submariner-routeagent" GatewayLabel = "submariner.io/gateway" )
const ( // Polling interval while trying to create objects PollInterval = 100 * time.Millisecond )
const (
TestAppLabel = "test-app"
)
const (
TestPort = 1234
)
Variables ¶
var ( RestConfigs []*rest.Config KubeClients []*kubeclientset.Clientset DynClients []dynamic.Interface )
var By func(string)
var Fail func(string)
Functions ¶
func AddBeforeSuite ¶
func AddBeforeSuite(beforeSuite func())
func AwaitResultOrError ¶
func AwaitResultOrError(opMsg string, doOperation DoOperationFunc, checkResult CheckResultFunc) (interface{}, string, error)
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 BeforeSuite ¶
func BeforeSuite()
func DetectGlobalnet ¶ added in v0.7.2
func DetectGlobalnet()
func ExpectNoError ¶
func ExpectNoError(err error, explain ...interface{})
func ExpectNoErrorWithOffset ¶
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 FailfWithOffset ¶
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 ¶
identify API errors which could be considered transient/recoverable due to server state.
func NestedString ¶ added in v0.9.0
func NoopCheckResult ¶
func PatchString ¶
PatchString performs a REST patch operation for the given path and string value.
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 SetFailFunction ¶ added in v0.7.0
func SetFailFunction(fail func(string))
func SetStatusFunction ¶ added in v0.7.0
func SetStatusFunction(by func(string))
func SetUserAgentFunction ¶ added in v0.7.0
func SetUserAgentFunction(uaf func() string)
func ValidateFlags ¶
func ValidateFlags(t *TestContextType)
Types ¶
type CheckResultFunc ¶
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 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 SkipNamespaceCreation bool // Whether to skip creating a namespace Namespace string // Every test has a namespace at least unless creation is skipped NamespaceDeletionTimeout time.Duration // 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 NewBareFramework ¶ added in v0.7.0
NewBareFramework creates a test framework, without ginkgo dependencies
func NewFramework ¶
NewFramework creates a test framework, under ginkgo
func (*Framework) AddNamespacesToDelete ¶
func (*Framework) AfterEach ¶
func (f *Framework) AfterEach()
AfterEach deletes the namespace, after reading its events.
func (*Framework) AwaitGatewayFullyConnected ¶ added in v0.9.0
func (f *Framework) AwaitGatewayFullyConnected(cluster ClusterIndex, name string) *unstructured.Unstructured
func (*Framework) AwaitGatewayRemoved ¶ added in v0.9.0
func (f *Framework) AwaitGatewayRemoved(cluster ClusterIndex, name string)
func (*Framework) AwaitGatewayWithStatus ¶ added in v0.9.0
func (f *Framework) AwaitGatewayWithStatus(cluster ClusterIndex, name, status string) *unstructured.Unstructured
func (*Framework) AwaitGatewaysWithStatus ¶ added in v0.9.0
func (f *Framework) AwaitGatewaysWithStatus(cluster ClusterIndex, status string) []unstructured.Unstructured
func (*Framework) AwaitPodsByAppLabel ¶
func (f *Framework) AwaitPodsByAppLabel(cluster ClusterIndex, appName string, namespace string, expectedCount int) *v1.PodList
AwaitPodsByAppLabel finds pods in a given cluster whose 'app' label value matches a specified value. If the specified expectedCount >= 0, the function waits until the number of pods equals the expectedCount.
func (*Framework) AwaitRouteAgentPodOnNode ¶ added in v0.9.0
func (f *Framework) AwaitRouteAgentPodOnNode(cluster ClusterIndex, nodeName string, prevPodUID types.UID) *v1.Pod
AwaitRouteAgentPodOnNode finds the route agent pod on a given node in a cluster, waiting if necessary for a period of time for the pod to materialize. If prevPodUID is non-empty, the found pod's UID must not match it.
func (*Framework) AwaitSubmarinerGatewayPod ¶ added in v0.9.0
func (f *Framework) AwaitSubmarinerGatewayPod(cluster ClusterIndex) *v1.Pod
AwaitSubmarinerGatewayPod finds the submariner gateway pod in a given cluster, waiting if necessary for a period of time for the pod to materialize.
func (*Framework) AwaitUntilAnnotationOnPod ¶ added in v0.4.0
func (f *Framework) AwaitUntilAnnotationOnPod(cluster ClusterIndex, annotation string, podName string, namespace string) *v1.Pod
AwaitUntilAnnotationOnPod queries the Pod and looks for the presence of annotation.
func (*Framework) AwaitUntilAnnotationOnService ¶ added in v0.4.0
func (f *Framework) AwaitUntilAnnotationOnService(cluster ClusterIndex, annotation string, svcName string, namespace string) *v1.Service
AwaitUntilAnnotationOnService queries the service and looks for the presence of annotation.
func (*Framework) BeforeEach ¶
func (f *Framework) BeforeEach()
func (*Framework) CreateNamespace ¶
func (f *Framework) CreateNamespace(clientSet *kubeclientset.Clientset, baseName string, labels map[string]string) *v1.Namespace
CreateNamespace creates a namespace for e2e testing.
func (*Framework) CreateServiceExport ¶ added in v0.9.0
func (f *Framework) CreateServiceExport(cluster ClusterIndex, name string)
func (*Framework) CreateTCPService ¶
func (*Framework) DeleteGateway ¶ added in v0.9.0
func (f *Framework) DeleteGateway(cluster ClusterIndex, name string)
func (*Framework) DeletePod ¶
func (f *Framework) DeletePod(cluster ClusterIndex, podName string, namespace string)
DeletePod deletes the pod for the given name and namespace.
func (*Framework) DeleteService ¶
func (f *Framework) DeleteService(cluster ClusterIndex, serviceName string)
func (*Framework) DeleteServiceExport ¶ added in v0.9.0
func (f *Framework) DeleteServiceExport(cluster ClusterIndex, name 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.
func (*Framework) FindDeployment ¶
func (f *Framework) FindDeployment(cluster ClusterIndex, appName string, namespace string) *appsv1.Deployment
func (*Framework) FindNodesByGatewayLabel ¶
func (f *Framework) FindNodesByGatewayLabel(cluster ClusterIndex, isGateway bool) []*v1.Node
FindNodesByGatewayLabel finds the nodes in a given cluster by matching 'submariner.io/gateway' value. A missing label is treated as false. Note the control plane node labeled as master is ignored.
func (*Framework) GatewayCleanup ¶ added in v0.9.0
func (f *Framework) GatewayCleanup()
GatewayCleanup ensures that only the active gateway node is flagged as gateway node which could not be after a failed
test which left the system on an unexpected state.
func (*Framework) GetGatewaysWithHAStatus ¶ added in v0.9.0
func (f *Framework) GetGatewaysWithHAStatus( cluster ClusterIndex, status string) []unstructured.Unstructured
func (*Framework) NewNetShootDeployment ¶
func (f *Framework) NewNetShootDeployment(cluster ClusterIndex) *corev1.PodList
func (*Framework) NewNetworkPod ¶
func (f *Framework) NewNetworkPod(config *NetworkPodConfig) *NetworkPod
func (*Framework) NewNginxDeployment ¶
func (f *Framework) NewNginxDeployment(cluster ClusterIndex) *corev1.PodList
func (*Framework) NewNginxService ¶
func (f *Framework) NewNginxService(cluster ClusterIndex) *corev1.Service
func (*Framework) SetGatewayLabelOnNode ¶
func (f *Framework) SetGatewayLabelOnNode(cluster ClusterIndex, nodeName string, isGateway bool)
SetGatewayLabelOnNode sets the 'submariner.io/gateway' value for a node to the specified value.
type NetworkPod ¶
type NetworkPod struct { Pod *v1.Pod Config *NetworkPodConfig TerminationError error TerminationErrorMsg string TerminationCode int32 TerminationMessage string // contains filtered or unexported fields }
func (*NetworkPod) AwaitFinish ¶
func (np *NetworkPod) AwaitFinish()
func (*NetworkPod) AwaitFinishVerbose ¶ added in v0.7.2
func (np *NetworkPod) AwaitFinishVerbose(verbose bool)
func (*NetworkPod) AwaitReady ¶
func (np *NetworkPod) AwaitReady()
func (*NetworkPod) CheckSuccessfulFinish ¶
func (np *NetworkPod) CheckSuccessfulFinish()
func (*NetworkPod) CreateService ¶
func (np *NetworkPod) CreateService() *v1.Service
func (*NetworkPod) GetLog ¶ added in v0.9.0
func (np *NetworkPod) GetLog() string
GetLog returns container log from this NetworkPod
func (*NetworkPod) RunCommand ¶ added in v0.9.0
func (np *NetworkPod) RunCommand(cmd []string) (string, string)
RunCommand run the specified command in this NetworkPod
type NetworkPodConfig ¶
type NetworkPodConfig struct { Type NetworkPodType Cluster ClusterIndex Scheduling NetworkPodScheduling Port int Data string RemoteIP string ConnectionTimeout uint ConnectionAttempts uint Networking NetworkingType ContainerName string ImageName string Command []string }
type NetworkPodScheduling ¶
type NetworkPodScheduling int
const ( InvalidScheduling NetworkPodScheduling = iota GatewayNode NonGatewayNode )
type NetworkPodType ¶
type NetworkPodType int
const ( InvalidPodType NetworkPodType = iota ListenerPod ConnectorPod ThroughputClientPod ThroughputServerPod LatencyClientPod LatencyServerPod CustomPod )
type NetworkingType ¶
type NetworkingType bool
const ( HostNetworking NetworkingType = true PodNetworking NetworkingType = false )
type PatchStringValue ¶
type PatchUInt32Value ¶
type TestContextType ¶
type TestContextType struct { KubeConfigs []string // KubeConfigs provides an alternative to KubeConfig + KubeContexts KubeConfig string KubeContexts contextArray ClusterIDs []string ReportDir string ReportPrefix string SubmarinerNamespace string ConnectionTimeout uint ConnectionAttempts uint OperationTimeout uint GlobalnetEnabled bool ClientQPS float32 ClientBurst int GroupVersion *schema.GroupVersion }
var TestContext *TestContextType = &TestContextType{
ClientQPS: 20,
ClientBurst: 50,
}
Source Files
¶
Directories
¶
Path | Synopsis |
---|---|
Package ginkgowrapper wraps Ginkgo Fail and Skip functions to panic with structured data instead of a constant string.
|
Package ginkgowrapper wraps Ginkgo Fail and Skip functions to panic with structured data instead of a constant string. |