Skip to content

Commit

Permalink
test with imagejob names
Browse files Browse the repository at this point in the history
Signed-off-by: ashnamehrotra <[email protected]>
  • Loading branch information
ashnamehrotra committed Sep 26, 2023
1 parent ec6433e commit 94e0f20
Showing 1 changed file with 29 additions and 22 deletions.
51 changes: 29 additions & 22 deletions test/e2e/tests/collector_delete_manager/eraser_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,57 +13,64 @@ import (
corev1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/labels"
"sigs.k8s.io/e2e-framework/klient/wait"
"sigs.k8s.io/e2e-framework/klient/wait/conditions"
"sigs.k8s.io/e2e-framework/pkg/envconf"
"sigs.k8s.io/e2e-framework/pkg/features"
)

func TestDeleteManager(t *testing.T) {
deleteManagerFeat := features.New("Deleting manager pod while current ImageJob is running should delete ImageJob").
deleteManagerFeat := features.New("Deleting manager pod while current ImageJob is running should delete ImageJob and restart").
Assess("Delete controller-manager pod", func(ctx context.Context, t *testing.T, cfg *envconf.Config) context.Context {
c, err := cfg.NewClient()
if err != nil {
t.Fatal("Failed to create new client", err)
}

var ls corev1.PodList
err = c.Resources().List(ctx, &ls, func(o *metav1.ListOptions) {
// get manager pod
var podList corev1.PodList
err = c.Resources().List(ctx, &podList, func(o *metav1.ListOptions) {
o.LabelSelector = labels.SelectorFromSet(map[string]string{util.ManagerLabelKey: util.ManagerLabelValue}).String()
})
if err != nil {
t.Errorf("could not list manager pods: %v", err)
}

if len(ls.Items) != 1 {
t.Error("incorrect number of manager pods: ", len(ls.Items))
if len(podList.Items) != 1 {
t.Error("incorrect number of manager pods: ", len(podList.Items))
}

if err := util.KubectlDelete(cfg.KubeconfigFile(), util.TestNamespace, []string{"pod", ls.Items[0].Name}); err != nil {
t.Error("unable to delete eraser-controller-manager pod")
// get current ImageJob
var jobList eraserv1alpha1.ImageJobList
err = c.Resources().List(ctx, &jobList)
if err != nil {
t.Errorf("could not list ImageJob: %v", err)
}

return ctx
}).
Assess("Check ImageJob is deleted", func(ctx context.Context, t *testing.T, cfg *envconf.Config) context.Context {
c, err := cfg.NewClient()
if err != nil {
t.Fatal("Failed to create new client", err)
if len(jobList.Items) != 1 {
t.Error("incorrect number of ImageJobs: ", len(jobList.Items))
}

// save name vars
imagejobName := jobList.Items[0].Name
managerPodName := podList.Items[0].Name

// delete manager pod
if err := util.KubectlDelete(cfg.KubeconfigFile(), util.TestNamespace, []string{"pod", managerPodName}); err != nil {
t.Error("unable to delete eraser-controller-manager pod")
}

var ls eraserv1alpha1.ImageJobList
err = c.Resources().List(ctx, &ls)
// get new ImageJob
var jobList2 eraserv1alpha1.ImageJobList
err = c.Resources().List(ctx, &jobList2)
if err != nil {
t.Errorf("could not list ImageJob: %v", err)
}

if len(ls.Items) != 1 {
t.Error("incorrect number of ImageJobs: ", len(ls.Items))
if len(jobList2.Items) != 1 {
t.Error("incorrect number of ImageJobs: ", len(jobList2.Items))
}

err = wait.For(conditions.New(c.Resources()).ResourcesDeleted(&ls), wait.WithTimeout(util.Timeout))
if err != nil {
t.Errorf("error waiting for pods to be deleted: %v", err)
if jobList2.Items[0].Name == imagejobName {
t.Error("new image job was not scheduled")
}

return ctx
Expand Down

0 comments on commit 94e0f20

Please sign in to comment.