diff --git a/pkg/canary/config_tracker_test.go b/pkg/canary/config_tracker_test.go index fb8423f8..423befc7 100644 --- a/pkg/canary/config_tracker_test.go +++ b/pkg/canary/config_tracker_test.go @@ -25,8 +25,8 @@ func TestConfigIsDisabled(t *testing.T) { func TestConfigTracker_ConfigMaps(t *testing.T) { t.Run("deployment", func(t *testing.T) { - depConfig := deploymentConfigs{name: "podinfo", label: "name", labelValue: "podinfo"} - mocks := newDeploymentFixture(depConfig) + dc := deploymentConfigs{name: "podinfo", label: "name", labelValue: "podinfo"} + mocks := newDeploymentFixture(dc) configMap := newDeploymentControllerTestConfigMap() configMapProjected := newDeploymentControllerTestConfigProjected() @@ -90,7 +90,8 @@ func TestConfigTracker_ConfigMaps(t *testing.T) { }) t.Run("daemonset", func(t *testing.T) { - mocks := newDaemonSetFixture() + dc := daemonsetConfigs{name: "podinfo", label: "name", labelValue: "podinfo"} + mocks := newDaemonSetFixture(dc) configMap := newDaemonSetControllerTestConfigMap() configMapProjected := newDaemonSetControllerTestConfigProjected() @@ -157,8 +158,8 @@ func TestConfigTracker_ConfigMaps(t *testing.T) { func TestConfigTracker_Secrets(t *testing.T) { t.Run("deployment", func(t *testing.T) { - depConfig := deploymentConfigs{name: "podinfo", label: "name", labelValue: "podinfo"} - mocks := newDeploymentFixture(depConfig) + dc := deploymentConfigs{name: "podinfo", label: "name", labelValue: "podinfo"} + mocks := newDeploymentFixture(dc) secret := newDeploymentControllerTestSecret() secretProjected := newDeploymentControllerTestSecretProjected() @@ -222,7 +223,8 @@ func TestConfigTracker_Secrets(t *testing.T) { }) t.Run("daemonset", func(t *testing.T) { - mocks := newDaemonSetFixture() + dc := daemonsetConfigs{name: "podinfo", label: "name", labelValue: "podinfo"} + mocks := newDaemonSetFixture(dc) secret := newDaemonSetControllerTestSecret() secretProjected := newDaemonSetControllerTestSecretProjected() diff --git a/pkg/canary/daemonset_controller_test.go b/pkg/canary/daemonset_controller_test.go index d7c67e88..581d4c3f 100644 --- a/pkg/canary/daemonset_controller_test.go +++ b/pkg/canary/daemonset_controller_test.go @@ -15,21 +15,23 @@ import ( ) func TestDaemonSetController_Sync(t *testing.T) { - mocks := newDaemonSetFixture() + dc := daemonsetConfigs{name: "podinfo", label: "name", labelValue: "podinfo"} + mocks := newDaemonSetFixture(dc) err := mocks.controller.Initialize(mocks.canary) require.NoError(t, err) daePrimary, err := mocks.kubeClient.AppsV1().DaemonSets("default").Get(context.TODO(), "podinfo-primary", metav1.GetOptions{}) require.NoError(t, err) - dae := newDaemonSetControllerTestPodInfo() + dae := newDaemonSetControllerTestPodInfo(dc) primaryImage := daePrimary.Spec.Template.Spec.Containers[0].Image sourceImage := dae.Spec.Template.Spec.Containers[0].Image assert.Equal(t, primaryImage, sourceImage) } func TestDaemonSetController_Promote(t *testing.T) { - mocks := newDaemonSetFixture() + dc := daemonsetConfigs{name: "podinfo", label: "name", labelValue: "podinfo"} + mocks := newDaemonSetFixture(dc) err := mocks.controller.Initialize(mocks.canary) require.NoError(t, err) @@ -58,7 +60,8 @@ func TestDaemonSetController_Promote(t *testing.T) { } func TestDaemonSetController_NoConfigTracking(t *testing.T) { - mocks := newDaemonSetFixture() + dc := daemonsetConfigs{name: "podinfo", label: "name", labelValue: "podinfo"} + mocks := newDaemonSetFixture(dc) mocks.controller.configTracker = &NopTracker{} err := mocks.controller.Initialize(mocks.canary) @@ -75,7 +78,8 @@ func TestDaemonSetController_NoConfigTracking(t *testing.T) { } func TestDaemonSetController_HasTargetChanged(t *testing.T) { - mocks := newDaemonSetFixture() + dc := daemonsetConfigs{name: "podinfo", label: "name", labelValue: "podinfo"} + mocks := newDaemonSetFixture(dc) err := mocks.controller.Initialize(mocks.canary) require.NoError(t, err) @@ -163,7 +167,8 @@ func TestDaemonSetController_HasTargetChanged(t *testing.T) { func TestDaemonSetController_Scale(t *testing.T) { t.Run("ScaleToZero", func(t *testing.T) { - mocks := newDaemonSetFixture() + dc := daemonsetConfigs{name: "podinfo", label: "name", labelValue: "podinfo"} + mocks := newDaemonSetFixture(dc) err := mocks.controller.Initialize(mocks.canary) require.NoError(t, err) @@ -179,7 +184,8 @@ func TestDaemonSetController_Scale(t *testing.T) { } }) t.Run("ScaleFromZeo", func(t *testing.T) { - mocks := newDaemonSetFixture() + dc := daemonsetConfigs{name: "podinfo", label: "name", labelValue: "podinfo"} + mocks := newDaemonSetFixture(dc) err := mocks.controller.Initialize(mocks.canary) require.NoError(t, err) @@ -197,7 +203,8 @@ func TestDaemonSetController_Scale(t *testing.T) { } func TestDaemonSetController_Finalize(t *testing.T) { - mocks := newDaemonSetFixture() + dc := daemonsetConfigs{name: "podinfo", label: "name", labelValue: "podinfo"} + mocks := newDaemonSetFixture(dc) err := mocks.controller.Initialize(mocks.canary) require.NoError(t, err) diff --git a/pkg/canary/daemonset_fixture_test.go b/pkg/canary/daemonset_fixture_test.go index 4d0e8291..db474126 100644 --- a/pkg/canary/daemonset_fixture_test.go +++ b/pkg/canary/daemonset_fixture_test.go @@ -23,14 +23,20 @@ type daemonSetControllerFixture struct { logger *zap.SugaredLogger } -func newDaemonSetFixture() daemonSetControllerFixture { +type daemonsetConfigs struct { + name string + labelValue string + label string +} + +func newDaemonSetFixture(dc daemonsetConfigs) daemonSetControllerFixture { // init canary canary := newDaemonSetControllerTestCanary() flaggerClient := fakeFlagger.NewSimpleClientset(canary) // init kube clientset and register mock objects kubeClient := fake.NewSimpleClientset( - newDaemonSetControllerTestPodInfo(), + newDaemonSetControllerTestPodInfo(dc), newDaemonSetControllerTestConfigMap(), newDaemonSetControllerTestConfigMapEnv(), newDaemonSetControllerTestConfigMapVol(), @@ -282,23 +288,23 @@ func newDaemonSetControllerTestCanary() *flaggerv1.Canary { return cd } -func newDaemonSetControllerTestPodInfo() *appsv1.DaemonSet { +func newDaemonSetControllerTestPodInfo(dc daemonsetConfigs) *appsv1.DaemonSet { d := &appsv1.DaemonSet{ TypeMeta: metav1.TypeMeta{APIVersion: appsv1.SchemeGroupVersion.String()}, ObjectMeta: metav1.ObjectMeta{ Namespace: "default", - Name: "podinfo", + Name: dc.name, }, Spec: appsv1.DaemonSetSpec{ Selector: &metav1.LabelSelector{ MatchLabels: map[string]string{ - "name": "podinfo", + dc.label: dc.labelValue, }, }, Template: corev1.PodTemplateSpec{ ObjectMeta: metav1.ObjectMeta{ Labels: map[string]string{ - "name": "podinfo", + dc.label: dc.labelValue, }, }, Spec: corev1.PodSpec{ diff --git a/pkg/canary/daemonset_ready_test.go b/pkg/canary/daemonset_ready_test.go index 99cbda2b..4638bed4 100644 --- a/pkg/canary/daemonset_ready_test.go +++ b/pkg/canary/daemonset_ready_test.go @@ -12,7 +12,8 @@ import ( ) func TestDaemonSetController_IsReady(t *testing.T) { - mocks := newDaemonSetFixture() + dc := daemonsetConfigs{name: "podinfo", label: "name", labelValue: "podinfo"} + mocks := newDaemonSetFixture(dc) err := mocks.controller.Initialize(mocks.canary) require.NoError(t, err) @@ -24,7 +25,8 @@ func TestDaemonSetController_IsReady(t *testing.T) { } func TestDaemonSetController_isDaemonSetReady(t *testing.T) { - mocks := newDaemonSetFixture() + dc := daemonsetConfigs{name: "podinfo", label: "name", labelValue: "podinfo"} + mocks := newDaemonSetFixture(dc) cd := &flaggerv1.Canary{} // observed generation is less than desired generation diff --git a/pkg/canary/daemonset_status_test.go b/pkg/canary/daemonset_status_test.go index 12f822d5..334f5c7b 100644 --- a/pkg/canary/daemonset_status_test.go +++ b/pkg/canary/daemonset_status_test.go @@ -12,7 +12,8 @@ import ( ) func TestDaemonSetController_SyncStatus(t *testing.T) { - mocks := newDaemonSetFixture() + dc := daemonsetConfigs{name: "podinfo", label: "name", labelValue: "podinfo"} + mocks := newDaemonSetFixture(dc) err := mocks.controller.Initialize(mocks.canary) require.NoError(t, err) @@ -36,7 +37,8 @@ func TestDaemonSetController_SyncStatus(t *testing.T) { } func TestDaemonSetController_SetFailedChecks(t *testing.T) { - mocks := newDaemonSetFixture() + dc := daemonsetConfigs{name: "podinfo", label: "name", labelValue: "podinfo"} + mocks := newDaemonSetFixture(dc) err := mocks.controller.Initialize(mocks.canary) require.NoError(t, err) @@ -49,7 +51,8 @@ func TestDaemonSetController_SetFailedChecks(t *testing.T) { } func TestDaemonSetController_SetState(t *testing.T) { - mocks := newDaemonSetFixture() + dc := daemonsetConfigs{name: "podinfo", label: "name", labelValue: "podinfo"} + mocks := newDaemonSetFixture(dc) err := mocks.controller.Initialize(mocks.canary) require.NoError(t, err) diff --git a/pkg/canary/deployment_controller_test.go b/pkg/canary/deployment_controller_test.go index ce0703f3..ec4b9b57 100644 --- a/pkg/canary/deployment_controller_test.go +++ b/pkg/canary/deployment_controller_test.go @@ -15,14 +15,14 @@ import ( ) func TestDeploymentController_Sync(t *testing.T) { - depConfig := deploymentConfigs{name: "podinfo", label: "name", labelValue: "podinfo"} - mocks := newDeploymentFixture(depConfig) + dc := deploymentConfigs{name: "podinfo", label: "name", labelValue: "podinfo"} + mocks := newDeploymentFixture(dc) mocks.initializeCanary(t) depPrimary, err := mocks.kubeClient.AppsV1().Deployments("default").Get(context.TODO(), "podinfo-primary", metav1.GetOptions{}) require.NoError(t, err) - dep := newDeploymentControllerTest(depConfig) + dep := newDeploymentControllerTest(dc) primaryImage := depPrimary.Spec.Template.Spec.Containers[0].Image sourceImage := dep.Spec.Template.Spec.Containers[0].Image assert.Equal(t, sourceImage, primaryImage) @@ -33,8 +33,8 @@ func TestDeploymentController_Sync(t *testing.T) { } func TestDeploymentController_Promote(t *testing.T) { - depConfig := deploymentConfigs{name: "podinfo", label: "name", labelValue: "podinfo"} - mocks := newDeploymentFixture(depConfig) + dc := deploymentConfigs{name: "podinfo", label: "name", labelValue: "podinfo"} + mocks := newDeploymentFixture(dc) mocks.initializeCanary(t) dep2 := newDeploymentControllerTestV2() @@ -74,8 +74,8 @@ func TestDeploymentController_Promote(t *testing.T) { } func TestDeploymentController_ScaleToZero(t *testing.T) { - depConfig := deploymentConfigs{name: "podinfo", label: "name", labelValue: "podinfo"} - mocks := newDeploymentFixture(depConfig) + dc := deploymentConfigs{name: "podinfo", label: "name", labelValue: "podinfo"} + mocks := newDeploymentFixture(dc) mocks.initializeCanary(t) err := mocks.controller.ScaleToZero(mocks.canary) @@ -87,8 +87,8 @@ func TestDeploymentController_ScaleToZero(t *testing.T) { } func TestDeploymentController_NoConfigTracking(t *testing.T) { - depConfig := deploymentConfigs{name: "podinfo", label: "name", labelValue: "podinfo"} - mocks := newDeploymentFixture(depConfig) + dc := deploymentConfigs{name: "podinfo", label: "name", labelValue: "podinfo"} + mocks := newDeploymentFixture(dc) mocks.controller.configTracker = &NopTracker{} mocks.initializeCanary(t) @@ -103,8 +103,8 @@ func TestDeploymentController_NoConfigTracking(t *testing.T) { } func TestDeploymentController_HasTargetChanged(t *testing.T) { - depConfig := deploymentConfigs{name: "podinfo", label: "name", labelValue: "podinfo"} - mocks := newDeploymentFixture(depConfig) + dc := deploymentConfigs{name: "podinfo", label: "name", labelValue: "podinfo"} + mocks := newDeploymentFixture(dc) mocks.initializeCanary(t) // save last applied hash @@ -190,8 +190,8 @@ func TestDeploymentController_HasTargetChanged(t *testing.T) { } func TestDeploymentController_Finalize(t *testing.T) { - depConfig := deploymentConfigs{name: "podinfo", label: "name", labelValue: "podinfo"} - mocks := newDeploymentFixture(depConfig) + dc := deploymentConfigs{name: "podinfo", label: "name", labelValue: "podinfo"} + mocks := newDeploymentFixture(dc) for _, tc := range []struct { mocks deploymentControllerFixture diff --git a/pkg/canary/deployment_ready_test.go b/pkg/canary/deployment_ready_test.go index 619a0378..48da6a47 100644 --- a/pkg/canary/deployment_ready_test.go +++ b/pkg/canary/deployment_ready_test.go @@ -12,8 +12,8 @@ import ( ) func TestDeploymentController_IsReady(t *testing.T) { - depConfig := deploymentConfigs{name: "podinfo", label: "name", labelValue: "podinfo"} - mocks := newDeploymentFixture(depConfig) + dc := deploymentConfigs{name: "podinfo", label: "name", labelValue: "podinfo"} + mocks := newDeploymentFixture(dc) mocks.controller.Initialize(mocks.canary) err := mocks.controller.IsPrimaryReady(mocks.canary) @@ -24,8 +24,8 @@ func TestDeploymentController_IsReady(t *testing.T) { } func TestDeploymentController_isDeploymentReady(t *testing.T) { - depConfig := deploymentConfigs{name: "podinfo", label: "name", labelValue: "podinfo"} - mocks := newDeploymentFixture(depConfig) + dc := deploymentConfigs{name: "podinfo", label: "name", labelValue: "podinfo"} + mocks := newDeploymentFixture(dc) // observed generation is less than desired generation dp := &appsv1.Deployment{Status: appsv1.DeploymentStatus{ObservedGeneration: -1}} diff --git a/pkg/canary/deployment_status_test.go b/pkg/canary/deployment_status_test.go index 99f172f6..c7364b57 100644 --- a/pkg/canary/deployment_status_test.go +++ b/pkg/canary/deployment_status_test.go @@ -12,8 +12,8 @@ import ( ) func TestDeploymentController_SyncStatus(t *testing.T) { - depConfig := deploymentConfigs{name: "podinfo", label: "name", labelValue: "podinfo"} - mocks := newDeploymentFixture(depConfig) + dc := deploymentConfigs{name: "podinfo", label: "name", labelValue: "podinfo"} + mocks := newDeploymentFixture(dc) mocks.initializeCanary(t) status := flaggerv1.CanaryStatus{ @@ -36,8 +36,8 @@ func TestDeploymentController_SyncStatus(t *testing.T) { } func TestDeploymentController_SetFailedChecks(t *testing.T) { - depConfig := deploymentConfigs{name: "podinfo", label: "name", labelValue: "podinfo"} - mocks := newDeploymentFixture(depConfig) + dc := deploymentConfigs{name: "podinfo", label: "name", labelValue: "podinfo"} + mocks := newDeploymentFixture(dc) mocks.initializeCanary(t) err := mocks.controller.SetStatusFailedChecks(mocks.canary, 1) @@ -49,8 +49,8 @@ func TestDeploymentController_SetFailedChecks(t *testing.T) { } func TestDeploymentController_SetState(t *testing.T) { - depConfig := deploymentConfigs{name: "podinfo", label: "name", labelValue: "podinfo"} - mocks := newDeploymentFixture(depConfig) + dc := deploymentConfigs{name: "podinfo", label: "name", labelValue: "podinfo"} + mocks := newDeploymentFixture(dc) mocks.initializeCanary(t) err := mocks.controller.SetStatusPhase(mocks.canary, flaggerv1.CanaryPhaseProgressing)