Documentation ¶
Index ¶
- func GetEnvVarValue(envs []corev1.EnvVar, name string, defaultValue string) string
- type ConditionGetterFunc
- type TestHelper
- func (tc *TestHelper) AssertConfigMapDoesNotExist(name types.NamespacedName)
- func (tc *TestHelper) AssertDeploymentDoesNotExist(name types.NamespacedName)
- func (tc *TestHelper) AssertJobDoesNotExist(name types.NamespacedName)
- func (tc *TestHelper) AssertRoleBindingDoesNotExist(name types.NamespacedName)
- func (tc *TestHelper) AssertRouteDoesNotExist(name types.NamespacedName)
- func (tc *TestHelper) AssertRouteExists(name types.NamespacedName) *routev1.Route
- func (tc *TestHelper) AssertRouteNotExists(name types.NamespacedName) *routev1.Route
- func (tc *TestHelper) AssertSecretDoesNotExist(name types.NamespacedName)
- func (tc *TestHelper) AssertServiceDoesNotExist(name types.NamespacedName)
- func (tc *TestHelper) AssertServiceExists(name types.NamespacedName) *corev1.Service
- func (tc *TestHelper) AssertStatefulSetDoesNotExist(name types.NamespacedName)
- func (tc *TestHelper) AssertVolumeExists(name string, volumes []corev1.Volume)
- func (tc *TestHelper) AssertVolumeMountExists(name string, subPath string, volumeMounts []corev1.VolumeMount) bool
- func (tc *TestHelper) CreateCABundleSecret(name types.NamespacedName) *corev1.Secret
- func (tc *TestHelper) CreateCertSecret(name types.NamespacedName) *corev1.Secret
- func (tc *TestHelper) CreateClusterNetworkConfig() client.Object
- func (tc *TestHelper) CreateConfigMap(name types.NamespacedName, data map[string]interface{}) client.Object
- func (tc *TestHelper) CreateEmptySecret(name types.NamespacedName) *corev1.Secret
- func (tc *TestHelper) CreateNamespace(name string) *corev1.Namespace
- func (tc *TestHelper) CreateNetworkAttachmentDefinition(name types.NamespacedName) client.Object
- func (tc *TestHelper) CreateSSHSecret(name types.NamespacedName) *corev1.Secret
- func (tc *TestHelper) CreateSecret(name types.NamespacedName, data map[string][]byte) *corev1.Secret
- func (tc *TestHelper) CreateService(name types.NamespacedName, labels map[string]string, ...) *corev1.Service
- func (tc *TestHelper) CreateUnstructured(rawObj map[string]interface{}) *unstructured.Unstructured
- func (tc *TestHelper) DeleteConfigMap(name types.NamespacedName)
- func (tc *TestHelper) DeleteInstance(instance client.Object, opts ...client.DeleteOption)
- func (tc *TestHelper) DeleteNamespace(name string)
- func (tc *TestHelper) DeleteSecret(name types.NamespacedName)
- func (tc *TestHelper) DeleteService(name types.NamespacedName)
- func (tc *TestHelper) ExpectCondition(name types.NamespacedName, getter conditionsGetter, ...)
- func (tc *TestHelper) ExpectConditionWithDetails(name types.NamespacedName, getter conditionsGetter, ...)
- func (tc *TestHelper) GetConfigMap(name types.NamespacedName) *corev1.ConfigMap
- func (tc *TestHelper) GetDeployment(name types.NamespacedName) *appsv1.Deployment
- func (tc *TestHelper) GetJob(name types.NamespacedName) *batchv1.Job
- func (tc *TestHelper) GetName(obj client.Object) types.NamespacedName
- func (tc *TestHelper) GetPod(name types.NamespacedName) *corev1.Pod
- func (tc *TestHelper) GetRole(name types.NamespacedName) *rbacv1.Role
- func (tc *TestHelper) GetRoleBinding(name types.NamespacedName) *rbacv1.RoleBinding
- func (tc *TestHelper) GetSecret(name types.NamespacedName) corev1.Secret
- func (tc *TestHelper) GetService(name types.NamespacedName) *corev1.Service
- func (tc *TestHelper) GetServiceAccount(name types.NamespacedName) *corev1.ServiceAccount
- func (tc *TestHelper) GetStatefulSet(name types.NamespacedName) *appsv1.StatefulSet
- func (tc *TestHelper) ListConfigMaps(namespace string) *corev1.ConfigMapList
- func (tc *TestHelper) ListJobs(namespace string) *batchv1.JobList
- func (tc *TestHelper) SimulateDeploymentAnyNumberReplicaReady(name types.NamespacedName, replica int32)
- func (tc *TestHelper) SimulateDeploymentReadyWithPods(name types.NamespacedName, networkIPs map[string][]string)
- func (tc *TestHelper) SimulateDeploymentReplicaReady(name types.NamespacedName)
- func (tc *TestHelper) SimulateJobFailure(name types.NamespacedName)
- func (tc *TestHelper) SimulateJobSuccess(name types.NamespacedName)
- func (tc *TestHelper) SimulateLoadBalancerServiceIP(name types.NamespacedName)
- func (tc *TestHelper) SimulatePodPhaseRunning(name types.NamespacedName)
- func (tc *TestHelper) SimulatePodReady(name types.NamespacedName)
- func (tc *TestHelper) SimulateStatefulSetReplicaReady(name types.NamespacedName)
- func (tc *TestHelper) SimulateStatefulSetReplicaReadyWithPods(name types.NamespacedName, networkIPs map[string][]string)
- func (tc *TestHelper) UpdateSecret(secretName types.NamespacedName, key string, newValue []byte)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type ConditionGetterFunc ¶
type ConditionGetterFunc func(name types.NamespacedName) condition.Conditions
ConditionGetterFunc recieves custom condition getters for operators specific needs
func (ConditionGetterFunc) GetConditions ¶
func (f ConditionGetterFunc) GetConditions(name types.NamespacedName) condition.Conditions
GetConditions implements conditions getter for operators specific needs
type TestHelper ¶
type TestHelper struct { K8sClient client.Client Ctx context.Context Timeout time.Duration Interval time.Duration Logger logr.Logger }
TestHelper is a collection EnvTest helpers writing test to code that interacts with the k8s resource. If you need to handle openstack-k8s-operators specific resource then you should use the extended TestHelper from modules/test-operator
func NewTestHelper ¶
func NewTestHelper( ctx context.Context, k8sClient client.Client, timeout time.Duration, interval time.Duration, logger logr.Logger, ) *TestHelper
NewTestHelper returns a TestHelper
func (*TestHelper) AssertConfigMapDoesNotExist ¶
func (tc *TestHelper) AssertConfigMapDoesNotExist(name types.NamespacedName)
AssertConfigMapDoesNotExist ensures the ConfigMap resource does not exist in a k8s cluster.
func (*TestHelper) AssertDeploymentDoesNotExist ¶
func (tc *TestHelper) AssertDeploymentDoesNotExist(name types.NamespacedName)
AssertDeploymentDoesNotExist ensures the Deployment resource does not exist in a k8s cluster.
func (*TestHelper) AssertJobDoesNotExist ¶
func (tc *TestHelper) AssertJobDoesNotExist(name types.NamespacedName)
AssertJobDoesNotExist ensures the Job resource does not exist in a k8s cluster.
func (*TestHelper) AssertRoleBindingDoesNotExist ¶
func (tc *TestHelper) AssertRoleBindingDoesNotExist(name types.NamespacedName)
AssertRoleBindingDoesNotExist ensures the RoleBinding resource does not exist in a k8s cluster.
func (*TestHelper) AssertRouteDoesNotExist ¶
func (tc *TestHelper) AssertRouteDoesNotExist(name types.NamespacedName)
AssertRouteDoesNotExist ensures the Route resource does not exist in a k8s cluster.
func (*TestHelper) AssertRouteExists ¶
func (tc *TestHelper) AssertRouteExists(name types.NamespacedName) *routev1.Route
AssertRouteExists fetches a Route resource and asserts that the operation is successful.
Example usage:
th.AssertRouteExists(types.NamespacedName{Namespace: novaNames.APIName.Namespace, Name: "nova-public"})
func (*TestHelper) AssertRouteNotExists ¶
func (tc *TestHelper) AssertRouteNotExists(name types.NamespacedName) *routev1.Route
AssertRouteNotExists fetch a Route resource and asserts that the resource does not exist.
Example usage:
th.AssertRouteNotExists(types.NamespacedName{Name: "test-route", Namespace: "test-namespace"})
func (*TestHelper) AssertSecretDoesNotExist ¶
func (tc *TestHelper) AssertSecretDoesNotExist(name types.NamespacedName)
AssertSecretDoesNotExist ensures the Secret resource does not exist in a k8s cluster.
func (*TestHelper) AssertServiceDoesNotExist ¶
func (tc *TestHelper) AssertServiceDoesNotExist(name types.NamespacedName)
AssertServiceDoesNotExist ensures the Service resource does not exist in a k8s cluster.
func (*TestHelper) AssertServiceExists ¶
func (tc *TestHelper) AssertServiceExists(name types.NamespacedName) *corev1.Service
AssertServiceExists - asserts the existence of a Service resource in the Kubernetes cluster.
Example usage:
th.AssertServiceExists(types.NamespacedName{Name: "neutron-public, Namespace: namespace})
func (*TestHelper) AssertStatefulSetDoesNotExist ¶
func (tc *TestHelper) AssertStatefulSetDoesNotExist(name types.NamespacedName)
AssertStatefulSetDoesNotExist ensures the StatefulSet resource does not exist in a k8s cluster.
func (*TestHelper) AssertVolumeExists ¶ added in v0.4.0
func (tc *TestHelper) AssertVolumeExists(name string, volumes []corev1.Volume)
AssertVolumeExists - asserts the existence of a named volume in a []corev1.Volume.
Example usage:
th.AssertVolumeExists("name", []corev1.Volume{...})
func (*TestHelper) AssertVolumeMountExists ¶ added in v0.4.0
func (tc *TestHelper) AssertVolumeMountExists(name string, subPath string, volumeMounts []corev1.VolumeMount) bool
AssertVolumeMountExists - asserts the existence of a named volumeMount with a subPath (if provided) in a []corev1.VolumeMount.
Example usage:
th.AssertVolumeMountExists("name", "subPath", []corev1.VolumeMount{...})
func (*TestHelper) CreateCABundleSecret ¶ added in v0.4.0
func (tc *TestHelper) CreateCABundleSecret(name types.NamespacedName) *corev1.Secret
CreateCABundleSecret creates a new secret holding the tls-ca-bundle.pem with fake data.
Example usage:
caBundleSecretName = types.NamespacedName{Name: "bundlename", Namespace: namespace} s := th.CreateCABundleSecret(caBundleSecretName)
func (*TestHelper) CreateCertSecret ¶ added in v0.4.0
func (tc *TestHelper) CreateCertSecret(name types.NamespacedName) *corev1.Secret
CreateCertSecret creates a new secret with entries for the cert, key and a ca using fake data.
Example usage:
certSecretName = types.NamespacedName{Name: "secretname", Namespace: namespace} s := th.CreateCertSecret(certSecretName)
func (*TestHelper) CreateClusterNetworkConfig ¶ added in v0.5.0
func (tc *TestHelper) CreateClusterNetworkConfig() client.Object
CreateClusterNetworkConfig creates a fake cluster network config CR
func (*TestHelper) CreateConfigMap ¶
func (tc *TestHelper) CreateConfigMap(name types.NamespacedName, data map[string]interface{}) client.Object
CreateConfigMap creates a new ConfigMap resource with the provided data.
Example usage:
data := map[string]interface{}{"key": "value"} cm := th.CreateConfigMap(types.NamespacedName{Namespace: "default", Name: "example-configmap"}, data)
func (*TestHelper) CreateEmptySecret ¶
func (tc *TestHelper) CreateEmptySecret(name types.NamespacedName) *corev1.Secret
CreateEmptySecret creates a new empty Secret resource .
Example usage:
secret := th.CreateSecret(types.NamespacedName{Name: "test-secret", Namespace: "test-namespace"})
func (*TestHelper) CreateNamespace ¶
func (tc *TestHelper) CreateNamespace(name string) *corev1.Namespace
CreateNamespace creates a Kubernetes Namespace resource.
Example usage:
th.CreateNamespace("test-namespace")
Note: the namespace should be unique and not be already present in the cluster, otherwise, the function will fail.
func (*TestHelper) CreateNetworkAttachmentDefinition ¶
func (tc *TestHelper) CreateNetworkAttachmentDefinition(name types.NamespacedName) client.Object
CreateNetworkAttachmentDefinition creates a new NetworkAttachmentDefinition resource.
Example usage:
internalAPINADName := types.NamespacedName{Namespace: "testname", Name: "internalapi"} nad := th.CreateNetworkAttachmentDefinition(internalAPINADName)
func (*TestHelper) CreateSSHSecret ¶ added in v0.4.0
func (tc *TestHelper) CreateSSHSecret(name types.NamespacedName) *corev1.Secret
CreateSSHSecret creates new secret containing mock "ssh-privatekey"
Example usage:
sshSecret := th.CreateSSHSecret(types.NamespacedName{Name: "test-ssh-secret", Namespace: "test-namespace"})
func (*TestHelper) CreateSecret ¶
func (tc *TestHelper) CreateSecret(name types.NamespacedName, data map[string][]byte) *corev1.Secret
CreateSecret creates a new Secret resource with provided data.
Example usage:
secret := th.CreateSecret(types.NamespacedName{Name: "test-secret", Namespace: "test-namespace"}, map[string][]byte{"key": []byte("value")})
func (*TestHelper) CreateService ¶ added in v0.4.0
func (tc *TestHelper) CreateService(name types.NamespacedName, labels map[string]string, svcSpec corev1.ServiceSpec) *corev1.Service
CreateService creates a new k8s service resource with provided data.
Example usage:
secret := th.CreateService(types.NamespacedName{Name: "test-secret", Namespace: "test-namespace"}, map[string]string{}, corev1.ServiceSpec{...})
func (*TestHelper) CreateUnstructured ¶
func (tc *TestHelper) CreateUnstructured(rawObj map[string]interface{}) *unstructured.Unstructured
CreateUnstructured creates an unstructured Kubernetes object from a map of key-value pairs.
Example usage:
rawObj := map[string]interface{}{ "apiVersion": "nova.openstack.org/v1beta1", "kind": "NovaAPI", "metadata": map[string]interface{}{ "name": name.Name, "namespace": name.Namespace, }, "spec": spec, }, ... } unstructuredObj := tc.CreateUnstructured(rawObj)
func (*TestHelper) DeleteConfigMap ¶
func (tc *TestHelper) DeleteConfigMap(name types.NamespacedName)
DeleteConfigMap deletes a ConfigMap resource from a Kubernetes cluster.
Example usage:
th.DeleteConfigMap(types.NamespacedName{Namespace: "default", Name: "example-configmap"})
or
DeferCleanup(th.DeleteConfigMap, inventoryName)
func (*TestHelper) DeleteInstance ¶
func (tc *TestHelper) DeleteInstance(instance client.Object, opts ...client.DeleteOption)
DeleteInstance deletes a specified resource and waits until it's fully removed from the cluster.
Example usage:
DeferCleanup(th.DeleteInstance, metadata_instance)
func (*TestHelper) DeleteNamespace ¶
func (tc *TestHelper) DeleteNamespace(name string)
DeleteNamespace deletes a Kubernetes Namespace resource.
Example usage:
th.DeleteNamespace("test-namespace")
or
DeferCleanup(th.DeleteNamespace, namespace)
Note: the namespace should exist in the cluster, otherwise, the function will fail.
func (*TestHelper) DeleteSecret ¶
func (tc *TestHelper) DeleteSecret(name types.NamespacedName)
DeleteSecret deletes a Secret resource
Example usage:
CreateNovaExternalComputeSSHSecret(sshSecretName) DeferCleanup(th.DeleteSecret, sshSecretName)
func (*TestHelper) DeleteService ¶
func (tc *TestHelper) DeleteService(name types.NamespacedName)
DeleteService - deletes a Service resource from the Kubernetes cluster.
Example usage:
th.DeleteService(types.NamespacedName{Name: "test-service", Namespace: "test-namespace"})
func (*TestHelper) ExpectCondition ¶
func (tc *TestHelper) ExpectCondition( name types.NamespacedName, getter conditionsGetter, conditionType condition.Type, expectedStatus corev1.ConditionStatus, )
ExpectCondition - used to assert that a specific condition on a k8s resource matches an expected status.
Example usage:
th.ExpectCondition( novaNames.NovaName, ConditionGetterFunc(NovaConditionGetter), condition.ReadyCondition, corev1.ConditionFalse, )
func (*TestHelper) ExpectConditionWithDetails ¶
func (tc *TestHelper) ExpectConditionWithDetails( name types.NamespacedName, getter conditionsGetter, conditionType condition.Type, expectedStatus corev1.ConditionStatus, expectedReason condition.Reason, expecteMessage string, )
ExpectConditionWithDetails used to assert that a specific condition on a k8s resource matches an expected status, reason, and message.
Example usage:
th.ExpectConditionWithDetails( novaNames.NovaName, ConditionGetterFunc(NovaConditionGetter), novav1.NovaAllCellsReadyCondition, corev1.ConditionFalse, condition.ErrorReason, "NovaCell creation failed for cell0(missing cell0 specification from Spec.CellTemplates)", )
func (*TestHelper) GetConfigMap ¶
func (tc *TestHelper) GetConfigMap(name types.NamespacedName) *corev1.ConfigMap
GetConfigMap retrieves a ConfigMap resource from a k8s cluster.
Example usage: cm := th.GetConfigMap(types.NamespacedName{Namespace: "default", Name: "example-configmap"})
func (*TestHelper) GetDeployment ¶
func (tc *TestHelper) GetDeployment(name types.NamespacedName) *appsv1.Deployment
GetDeployment - retrieves a Deployment resource from cluster. The function uses the Gomega library's Eventually function to repeatedly attempt to get the Deployment until it is successful or the test's timeout is reached.
The function returns a pointer to the retrieved Deployment. If the function cannot find the Deployment within the timeout, it will cause the test to fail.
Example usage:
deployment := th.GetDeployment( types.NamespacedName{ Namespace: neutronAPIName.Namespace, Name: "neutron", }, )
func (*TestHelper) GetJob ¶
func (tc *TestHelper) GetJob(name types.NamespacedName) *batchv1.Job
GetJob retrieves a specified Job resource from the cluster.
Example usage:
job := th.GetJob(types.NamespacedName{Name: "cell-name", Namespace: "default"})
func (*TestHelper) GetName ¶
func (tc *TestHelper) GetName(obj client.Object) types.NamespacedName
GetName function is used only in lib-common
func (*TestHelper) GetPod ¶ added in v0.4.0
func (tc *TestHelper) GetPod(name types.NamespacedName) *corev1.Pod
GetPod - retrieves a Pod resource.
example usage:
th.Pod(types.NamespacedName{Name: "test-pod", Namespace: "test-namespace"})
func (*TestHelper) GetRole ¶
func (tc *TestHelper) GetRole(name types.NamespacedName) *rbacv1.Role
GetRole fetches a Role resource.
Example usage:
th.GetRole(types.NamespacedName{Name: "test-role", Namespace: "test-namespace"})
func (*TestHelper) GetRoleBinding ¶
func (tc *TestHelper) GetRoleBinding(name types.NamespacedName) *rbacv1.RoleBinding
GetRoleBinding - fetches a RoleBinding resource
Example usage:
th.GetRoleBinding(types.NamespacedName{Name: "test-rolebinding", Namespace: "test-namespace"})
func (*TestHelper) GetSecret ¶
func (tc *TestHelper) GetSecret(name types.NamespacedName) corev1.Secret
GetSecret fetches a Secret resource
Example usage:
secret := th.GetSecret(types.NamespacedName{Name: "test-secret", Namespace: "test-namespace"})
func (*TestHelper) GetService ¶
func (tc *TestHelper) GetService(name types.NamespacedName) *corev1.Service
GetService retrieves a Service resource.
Example usage:
th.GetService(types.NamespacedName{Name: "test-service", Namespace: "test-namespace"})
func (*TestHelper) GetServiceAccount ¶
func (tc *TestHelper) GetServiceAccount(name types.NamespacedName) *corev1.ServiceAccount
GetServiceAccount fetches a ServiceAccount resource
Example usage:
th.GetServiceAccount(types.NamespacedName{Name: "test-service-account", Namespace: "test-namespace"})
func (*TestHelper) GetStatefulSet ¶
func (tc *TestHelper) GetStatefulSet(name types.NamespacedName) *appsv1.StatefulSet
GetStatefulSet - retrieves a StatefulSet resource.
example usage:
th.GetStatefulSet(types.NamespacedName{Name: "test-statefulset", Namespace: "test-namespace"})
func (*TestHelper) ListConfigMaps ¶
func (tc *TestHelper) ListConfigMaps(namespace string) *corev1.ConfigMapList
ListConfigMaps retrieves a list of ConfigMap resources from a specific namespace
Example usage:
cms := th.ListConfigMaps(novaNames.MetadataName.Name)
func (*TestHelper) ListJobs ¶
func (tc *TestHelper) ListJobs(namespace string) *batchv1.JobList
ListJobs retrieves a list of all job resources within a specified namespace.
Example usage:
jobs := th.ListJobs("some-name").Items
func (*TestHelper) SimulateDeploymentAnyNumberReplicaReady ¶ added in v0.4.0
func (tc *TestHelper) SimulateDeploymentAnyNumberReplicaReady(name types.NamespacedName, replica int32)
SimulateDeploymentAnyNumberReplicaReady function retrieves the Deployment resource and simulate that replicas are ready Example usage:
th.SimulateDeploymentAnyNumberReplicaReady(ironicNames.INAName, 0)
func (*TestHelper) SimulateDeploymentReadyWithPods ¶
func (tc *TestHelper) SimulateDeploymentReadyWithPods(name types.NamespacedName, networkIPs map[string][]string)
SimulateDeploymentReadyWithPods simulates a Deployment with ready replicas by creating and updating the corresponding Pods.
Example:
th.SimulateDeploymentReadyWithPods( manilaTest.Instance, map[string][]string{manilaName.Namespace + "/internalapi": {"10.0.0.1"}}, )
func (*TestHelper) SimulateDeploymentReplicaReady ¶
func (tc *TestHelper) SimulateDeploymentReplicaReady(name types.NamespacedName)
SimulateDeploymentReplicaReady function retrieves the Deployment resource and simulate that replicas are ready Example usage:
th.SimulateDeploymentReplicaReady(ironicNames.INAName)
func (*TestHelper) SimulateJobFailure ¶
func (tc *TestHelper) SimulateJobFailure(name types.NamespacedName)
SimulateJobFailure function retrieves the Job and simulates the failure of a Kubernetes Job resource.
Example usage:
th.SimulateJobFailure(types.NamespacedName{Name: "test-job", Namespace: "default"})
func (*TestHelper) SimulateJobSuccess ¶
func (tc *TestHelper) SimulateJobSuccess(name types.NamespacedName)
SimulateJobSuccess retrieves the Job and simulates the success of a Kubernetes Job resource.
Note: In a real environment where the mariadb-operator is deployed, this function may not be necessary as the Job could automatically run successfully if the database user is manually registered in the DB service.
Example usage:
th.SimulateJobSuccess(types.NamespacedName{Name: "test-job", Namespace: "default"})
func (*TestHelper) SimulateLoadBalancerServiceIP ¶ added in v0.4.0
func (tc *TestHelper) SimulateLoadBalancerServiceIP(name types.NamespacedName)
SimulateLoadBalancerServiceIP retrieves the k8s service and simulates that it got a LoadBalancer IP assigned.
example usage:
th.SimulateLoadBalancerServiceIP(types.NamespacedName{Name: "test-svc", Namespace: "test-namespace"})
func (*TestHelper) SimulatePodPhaseRunning ¶ added in v0.4.0
func (tc *TestHelper) SimulatePodPhaseRunning(name types.NamespacedName)
SimulatePodPhaseRunning retrieves the Pod and simulates a running phase for the Pod in a Kubernetes cluster.
example usage:
th.SimulatePodPhaseRunning(types.NamespacedName{Name: "test-pod", Namespace: "test-namespace"})
func (*TestHelper) SimulatePodReady ¶ added in v0.4.0
func (tc *TestHelper) SimulatePodReady(name types.NamespacedName)
SimulatePodReady retrieves the Pod and simulates a Ready condition for the Pod in a Kubernetes cluster.
example usage:
th.SimulatePodReady(types.NamespacedName{Name: "test-pod", Namespace: "test-namespace"})
func (*TestHelper) SimulateStatefulSetReplicaReady ¶
func (tc *TestHelper) SimulateStatefulSetReplicaReady(name types.NamespacedName)
SimulateStatefulSetReplicaReady retrieves the StatefulSet and simulates a ready state for a StatefulSet's replica in a Kubernetes cluster.
example usage:
th.SimulateStatefulSetReplicaReady(types.NamespacedName{Name: "test-statefulset", Namespace: "test-namespace"})
func (*TestHelper) SimulateStatefulSetReplicaReadyWithPods ¶
func (tc *TestHelper) SimulateStatefulSetReplicaReadyWithPods(name types.NamespacedName, networkIPs map[string][]string)
SimulateStatefulSetReplicaReadyWithPods simulates a StatefulSet with ready replicas by creating and updating the corresponding Pods.
example usage:
th.SimulateStatefulSetReplicaReadyWithPods( cell0.ConductorStatefulSetName, map[string][]string{cell0.CellName.Namespace + "/internalapi": {"10.0.0.1"}}, )
func (*TestHelper) UpdateSecret ¶ added in v0.2.0
func (tc *TestHelper) UpdateSecret(secretName types.NamespacedName, key string, newValue []byte)
UpdateSecret adds a new key or updates an existing key in the given Secret with a new value