From c463b6b231f2b8db48b8d25e3755755d93c35588 Mon Sep 17 00:00:00 2001 From: stefanprodan Date: Mon, 29 Jul 2019 14:02:16 +0300 Subject: [PATCH] Add finalising state tests --- pkg/controller/scheduler_test.go | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/pkg/controller/scheduler_test.go b/pkg/controller/scheduler_test.go index bd88e8e4..c2838cc9 100644 --- a/pkg/controller/scheduler_test.go +++ b/pkg/controller/scheduler_test.go @@ -250,11 +250,20 @@ func TestScheduler_Promotion(t *testing.T) { t.Errorf("Got primary secret %s wanted %s", secretPrimary.Data["apiKey"], secret2.Data["apiKey"]) } + // check finalising status c, err := mocks.flaggerClient.FlaggerV1alpha3().Canaries("default").Get("podinfo", metav1.GetOptions{}) if err != nil { t.Fatal(err.Error()) } + // scale canary to zero + mocks.ctrl.advanceCanary("podinfo", "default", true) + + c, err = mocks.flaggerClient.FlaggerV1alpha3().Canaries("default").Get("podinfo", metav1.GetOptions{}) + if err != nil { + t.Fatal(err.Error()) + } + if c.Status.Phase != v1alpha3.CanaryPhaseSucceeded { t.Errorf("Got canary state %v wanted %v", c.Status.Phase, v1alpha3.CanaryPhaseSucceeded) } @@ -302,9 +311,22 @@ func TestScheduler_ABTesting(t *testing.T) { t.Fatal(err.Error()) } - // promote + // advance mocks.ctrl.advanceCanary("podinfo", "default", true) + // finalising + mocks.ctrl.advanceCanary("podinfo", "default", true) + + // check finalising status + c, err := mocks.flaggerClient.FlaggerV1alpha3().Canaries("default").Get("podinfo", metav1.GetOptions{}) + if err != nil { + t.Fatal(err.Error()) + } + + if c.Status.Phase != v1alpha3.CanaryPhaseFinalising { + t.Errorf("Got canary state %v wanted %v", c.Status.Phase, v1alpha3.CanaryPhaseFinalising) + } + // check if the container image tag was updated primaryDep, err := mocks.kubeClient.AppsV1().Deployments("default").Get("podinfo-primary", metav1.GetOptions{}) if err != nil { @@ -321,7 +343,7 @@ func TestScheduler_ABTesting(t *testing.T) { mocks.ctrl.advanceCanary("podinfo", "default", true) // check rollout status - c, err := mocks.flaggerClient.FlaggerV1alpha3().Canaries("default").Get("podinfo", metav1.GetOptions{}) + c, err = mocks.flaggerClient.FlaggerV1alpha3().Canaries("default").Get("podinfo", metav1.GetOptions{}) if err != nil { t.Fatal(err.Error()) }