From df1d9e30119d6dd5fe4037af1a88435808da586f Mon Sep 17 00:00:00 2001 From: stefanprodan Date: Wed, 13 Feb 2019 15:56:40 +0200 Subject: [PATCH] Add skip analysis test --- pkg/controller/scheduler_test.go | 41 ++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/pkg/controller/scheduler_test.go b/pkg/controller/scheduler_test.go index 900ddebf..0ab633d0 100644 --- a/pkg/controller/scheduler_test.go +++ b/pkg/controller/scheduler_test.go @@ -64,6 +64,47 @@ func TestScheduler_Rollback(t *testing.T) { } } +func TestScheduler_SkipAnalysis(t *testing.T) { + mocks := SetupMocks() + // init + mocks.ctrl.advanceCanary("podinfo", "default", false) + + // enable skip + cd, err := mocks.flaggerClient.FlaggerV1alpha3().Canaries("default").Get("podinfo", metav1.GetOptions{}) + if err != nil { + t.Fatal(err.Error()) + } + cd.Spec.SkipAnalysis = true + _, err = mocks.flaggerClient.FlaggerV1alpha3().Canaries("default").Update(cd) + if err != nil { + t.Fatal(err.Error()) + } + + // update + dep2 := newTestDeploymentV2() + _, err = mocks.kubeClient.AppsV1().Deployments("default").Update(dep2) + if err != nil { + t.Fatal(err.Error()) + } + + // detect changes + mocks.ctrl.advanceCanary("podinfo", "default", true) + // advance + 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.Spec.SkipAnalysis { + t.Errorf("Got skip analysis %v wanted %v", c.Spec.SkipAnalysis, true) + } + + if c.Status.Phase != v1alpha3.CanarySucceeded { + t.Errorf("Got canary state %v wanted %v", c.Status.Phase, v1alpha3.CanarySucceeded) + } +} + func TestScheduler_NewRevisionReset(t *testing.T) { mocks := SetupMocks() // init