diff --git a/controllers/disruption_controller_test.go b/controllers/disruption_controller_test.go index 866b32667..de063e2a7 100644 --- a/controllers/disruption_controller_test.go +++ b/controllers/disruption_controller_test.go @@ -41,12 +41,11 @@ func listChaosPods(instance *chaosv1beta1.Disruption) (corev1.PodList, error) { ls := labels.NewSelector() // create requirements - targetPodRequirement, _ := labels.NewRequirement(chaostypes.TargetLabel, selection.In, []string{"foo", "bar", "minikube"}) disruptionNameRequirement, _ := labels.NewRequirement(chaostypes.DisruptionNameLabel, selection.Equals, []string{instance.Name}) disruptionNamespaceRequirement, _ := labels.NewRequirement(chaostypes.DisruptionNamespaceLabel, selection.Equals, []string{instance.Namespace}) // add requirements to label selector - ls = ls.Add(*targetPodRequirement, *disruptionNamespaceRequirement, *disruptionNameRequirement) + ls = ls.Add(*disruptionNamespaceRequirement, *disruptionNameRequirement) // get matching pods if err := k8sClient.List(context.Background(), &l, &client.ListOptions{ @@ -134,7 +133,7 @@ var _ = Describe("Disruption Controller", func() { disruption = &chaosv1beta1.Disruption{ ObjectMeta: metav1.ObjectMeta{ Name: "foo", - Namespace: "default", + Namespace: namespace, }, Spec: chaosv1beta1.DisruptionSpec{ DryRun: true, @@ -224,7 +223,7 @@ var _ = Describe("Disruption Controller", func() { disruption = &chaosv1beta1.Disruption{ ObjectMeta: metav1.ObjectMeta{ Name: "foo", - Namespace: "default", + Namespace: namespace, }, Spec: chaosv1beta1.DisruptionSpec{ DryRun: false, diff --git a/controllers/suite_test.go b/controllers/suite_test.go index f1cda2f98..75bf396d3 100644 --- a/controllers/suite_test.go +++ b/controllers/suite_test.go @@ -45,7 +45,8 @@ import ( // http://onsi.github.io/ginkgo/ to learn more about Ginkgo. const ( - timeout = time.Second * 45 + timeout = time.Second * 45 + hostTopologyKey = "kubernetes.io/hostname" ) var ( @@ -56,6 +57,9 @@ var ( instanceKey types.NamespacedName targetPodA *corev1.Pod targetPodB *corev1.Pod + namespace string + nodeLabel map[string]string + testPodImage string ) func TestAPIs(t *testing.T) { @@ -99,11 +103,17 @@ var _ = BeforeSuite(func(done Done) { Expect(err).ToNot(HaveOccurred()) }() - instanceKey = types.NamespacedName{Name: "foo", Namespace: "default"} + // wait for the cache to sync + Expect(k8sManager.GetCache().WaitForCacheSync(context.Background())).To(BeTrue()) + + // set up enviroment-specific properties + setupEnvironment() + + instanceKey = types.NamespacedName{Name: "foo", Namespace: namespace} targetPodA = &corev1.Pod{ ObjectMeta: metav1.ObjectMeta{ Name: "foo", - Namespace: "default", + Namespace: namespace, Labels: map[string]string{ "foo": "bar", }, @@ -111,7 +121,7 @@ var _ = BeforeSuite(func(done Done) { Spec: corev1.PodSpec{ Containers: []corev1.Container{ { - Image: "k8s.gcr.io/pause:3.4.1", + Image: testPodImage, Name: "ctn1", VolumeMounts: []corev1.VolumeMount{ { @@ -121,7 +131,7 @@ var _ = BeforeSuite(func(done Done) { }, }, { - Image: "k8s.gcr.io/pause:3.4.1", + Image: testPodImage, Name: "ctn2", VolumeMounts: []corev1.VolumeMount{ { @@ -150,7 +160,7 @@ var _ = BeforeSuite(func(done Done) { targetPodB = &corev1.Pod{ ObjectMeta: metav1.ObjectMeta{ Name: "bar", - Namespace: "default", + Namespace: namespace, Labels: map[string]string{ "foo": "bar", }, @@ -158,7 +168,7 @@ var _ = BeforeSuite(func(done Done) { Spec: corev1.PodSpec{ Containers: []corev1.Container{ { - Image: "k8s.gcr.io/pause:3.4.1", + Image: testPodImage, Name: "ctn1", VolumeMounts: []corev1.VolumeMount{ { @@ -209,6 +219,13 @@ var _ = AfterSuite(func() { Expect(testEnv.Stop()).To(BeNil()) }) +// setupEnvironment sets up environment-specific properties +func setupEnvironment() { + namespace = "chaos-engineering" + testPodImage = "k8s.gcr.io/pause:3.4.1" + nodeLabel = map[string]string{hostTopologyKey: "minikube"} +} + // podsAreRunning returns true when all the given pods have all their containers running func podsAreRunning(pods ...*corev1.Pod) (bool, error) { for _, pod := range pods {