From 5f8aeb878bfc2fd3494c87b8ac166be62b0bf2a2 Mon Sep 17 00:00:00 2001 From: LiZhenCheng9527 Date: Thu, 18 Jan 2024 18:14:44 +0800 Subject: [PATCH] add ut for function runMetricChecks Signed-off-by: LiZhenCheng9527 --- pkg/controller/scheduler_metrics_test.go | 32 ++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/pkg/controller/scheduler_metrics_test.go b/pkg/controller/scheduler_metrics_test.go index 0f70c17e..13ebcb59 100644 --- a/pkg/controller/scheduler_metrics_test.go +++ b/pkg/controller/scheduler_metrics_test.go @@ -107,4 +107,36 @@ func TestController_runMetricChecks(t *testing.T) { } assert.Equal(t, true, ctrl.runMetricChecks(canary)) }) + + t.Run("undefined metric", func(t *testing.T) { + ctrl := newDeploymentFixture(nil).ctrl + analysis := &flaggerv1.CanaryAnalysis{Metrics: []flaggerv1.CanaryMetric{{ + Name: "undefined metric", + ThresholdRange: &flaggerv1.CanaryThresholdRange{ + Min: toFloatPtr(0), + Max: toFloatPtr(100), + }, + }}} + canary := &flaggerv1.Canary{ + ObjectMeta: metav1.ObjectMeta{Namespace: "default"}, + Spec: flaggerv1.CanarySpec{Analysis: analysis}, + } + assert.Equal(t, false, ctrl.runMetricChecks(canary)) + }) + + t.Run("builtinMetric", func(t *testing.T) { + ctrl := newDeploymentFixture(nil).ctrl + analysis := &flaggerv1.CanaryAnalysis{Metrics: []flaggerv1.CanaryMetric{{ + Name: "request-success-rate", + ThresholdRange: &flaggerv1.CanaryThresholdRange{ + Min: toFloatPtr(0), + Max: toFloatPtr(100), + }, + }}} + canary := &flaggerv1.Canary{ + ObjectMeta: metav1.ObjectMeta{Namespace: "default"}, + Spec: flaggerv1.CanarySpec{Analysis: analysis}, + } + assert.Equal(t, true, ctrl.runMetricChecks(canary)) + }) }