From 1410daa1aae80441079b0550f495b60e0852d8ba Mon Sep 17 00:00:00 2001 From: inovindasari Date: Wed, 27 Nov 2024 16:20:27 +0100 Subject: [PATCH] unittest with non default label --- pkg/cluster/cluster_test.go | 31 ++++++++++++++------------- pkg/cluster/connection_pooler_test.go | 2 +- pkg/cluster/k8sres_test.go | 16 +++++++------- pkg/cluster/sync_test.go | 2 +- 4 files changed, 26 insertions(+), 25 deletions(-) diff --git a/pkg/cluster/cluster_test.go b/pkg/cluster/cluster_test.go index efdcc1ece..ff0e1a830 100644 --- a/pkg/cluster/cluster_test.go +++ b/pkg/cluster/cluster_test.go @@ -35,6 +35,7 @@ const ( adminUserName = "admin" exampleSpiloConfig = `{"postgresql":{"bin_dir":"/usr/lib/postgresql/12/bin","parameters":{"autovacuum_analyze_scale_factor":"0.1"},"pg_hba":["hostssl all all 0.0.0.0/0 md5","host all all 0.0.0.0/0 md5"]},"bootstrap":{"initdb":[{"auth-host":"md5"},{"auth-local":"trust"},"data-checksums",{"encoding":"UTF8"},{"locale":"en_US.UTF-8"}],"dcs":{"ttl":30,"loop_wait":10,"retry_timeout":10,"maximum_lag_on_failover":33554432,"postgresql":{"parameters":{"max_connections":"100","max_locks_per_transaction":"64","max_worker_processes":"4"}}}}}` spiloConfigDiff = `{"postgresql":{"bin_dir":"/usr/lib/postgresql/12/bin","parameters":{"autovacuum_analyze_scale_factor":"0.1"},"pg_hba":["hostssl all all 0.0.0.0/0 md5","host all all 0.0.0.0/0 md5"]},"bootstrap":{"initdb":[{"auth-host":"md5"},{"auth-local":"trust"},"data-checksums",{"encoding":"UTF8"},{"locale":"en_US.UTF-8"}],"dcs":{"loop_wait":10,"retry_timeout":10,"maximum_lag_on_failover":33554432,"postgresql":{"parameters":{"max_locks_per_transaction":"64","max_worker_processes":"4"}}}}}` + leaderLabelValue = "primary" ) var logger = logrus.New().WithField("test", "cluster") @@ -55,7 +56,7 @@ var cl = New( }, Resources: config.Resources{ DownscalerAnnotations: []string{"downscaler/*"}, - PodLeaderLabelValue: "master", + PodLeaderLabelValue: leaderLabelValue, }, ConnectionPooler: config.ConnectionPooler{ User: poolerUserName, @@ -127,7 +128,7 @@ func TestCreate(t *testing.T) { Labels: map[string]string{ "application": "spilo", "cluster-name": clusterName, - "spilo-role": "master", + "spilo-role": leaderLabelValue, }, }, } @@ -148,7 +149,7 @@ func TestCreate(t *testing.T) { DefaultMemoryRequest: "300Mi", DefaultMemoryLimit: "300Mi", PodRoleLabel: "spilo-role", - PodLeaderLabelValue: "master", + PodLeaderLabelValue: leaderLabelValue, ResourceCheckInterval: time.Duration(3), ResourceCheckTimeout: time.Duration(10), }, @@ -665,7 +666,7 @@ func TestServiceAnnotations(t *testing.T) { //MASTER { about: "Master with no annotations and EnableMasterLoadBalancer disabled on spec and OperatorConfig", - role: "master", + role: leaderLabelValue, enableMasterLoadBalancerSpec: &disabled, enableMasterLoadBalancerOC: false, enableTeamIdClusterPrefix: false, @@ -675,7 +676,7 @@ func TestServiceAnnotations(t *testing.T) { }, { about: "Master with no annotations and EnableMasterLoadBalancer enabled on spec", - role: "master", + role: leaderLabelValue, enableMasterLoadBalancerSpec: &enabled, enableMasterLoadBalancerOC: false, enableTeamIdClusterPrefix: false, @@ -688,7 +689,7 @@ func TestServiceAnnotations(t *testing.T) { }, { about: "Master with no annotations and EnableMasterLoadBalancer enabled only on operator config", - role: "master", + role: leaderLabelValue, enableMasterLoadBalancerSpec: &disabled, enableMasterLoadBalancerOC: true, enableTeamIdClusterPrefix: false, @@ -698,7 +699,7 @@ func TestServiceAnnotations(t *testing.T) { }, { about: "Master with no annotations and EnableMasterLoadBalancer defined only on operator config", - role: "master", + role: leaderLabelValue, enableMasterLoadBalancerOC: true, enableTeamIdClusterPrefix: false, operatorAnnotations: make(map[string]string), @@ -710,7 +711,7 @@ func TestServiceAnnotations(t *testing.T) { }, { about: "Master with cluster annotations and load balancer enabled", - role: "master", + role: leaderLabelValue, enableMasterLoadBalancerOC: true, enableTeamIdClusterPrefix: false, operatorAnnotations: make(map[string]string), @@ -723,7 +724,7 @@ func TestServiceAnnotations(t *testing.T) { }, { about: "Master with cluster annotations and load balancer disabled", - role: "master", + role: leaderLabelValue, enableMasterLoadBalancerSpec: &disabled, enableMasterLoadBalancerOC: true, enableTeamIdClusterPrefix: false, @@ -733,7 +734,7 @@ func TestServiceAnnotations(t *testing.T) { }, { about: "Master with operator annotations and load balancer enabled", - role: "master", + role: leaderLabelValue, enableMasterLoadBalancerOC: true, enableTeamIdClusterPrefix: false, operatorAnnotations: map[string]string{"foo": "bar"}, @@ -746,7 +747,7 @@ func TestServiceAnnotations(t *testing.T) { }, { about: "Master with operator annotations override default annotations", - role: "master", + role: leaderLabelValue, enableMasterLoadBalancerOC: true, enableTeamIdClusterPrefix: false, operatorAnnotations: map[string]string{ @@ -760,7 +761,7 @@ func TestServiceAnnotations(t *testing.T) { }, { about: "Master with cluster annotations override default annotations", - role: "master", + role: leaderLabelValue, enableMasterLoadBalancerOC: true, enableTeamIdClusterPrefix: false, operatorAnnotations: make(map[string]string), @@ -774,7 +775,7 @@ func TestServiceAnnotations(t *testing.T) { }, { about: "Master with cluster annotations do not override external-dns annotations", - role: "master", + role: leaderLabelValue, enableMasterLoadBalancerOC: true, enableTeamIdClusterPrefix: false, operatorAnnotations: make(map[string]string), @@ -788,7 +789,7 @@ func TestServiceAnnotations(t *testing.T) { }, { about: "Master with cluster name teamId prefix enabled", - role: "master", + role: leaderLabelValue, enableMasterLoadBalancerOC: true, enableTeamIdClusterPrefix: true, serviceAnnotations: make(map[string]string), @@ -800,7 +801,7 @@ func TestServiceAnnotations(t *testing.T) { }, { about: "Master with master service annotations override service annotations", - role: "master", + role: leaderLabelValue, enableMasterLoadBalancerOC: true, enableTeamIdClusterPrefix: false, operatorAnnotations: make(map[string]string), diff --git a/pkg/cluster/connection_pooler_test.go b/pkg/cluster/connection_pooler_test.go index db80749ac..8ef1d94ae 100644 --- a/pkg/cluster/connection_pooler_test.go +++ b/pkg/cluster/connection_pooler_test.go @@ -424,7 +424,7 @@ func TestConnectionPoolerSync(t *testing.T) { DefaultMemoryRequest: "300Mi", DefaultMemoryLimit: "300Mi", PodRoleLabel: "spilo-role", - PodLeaderLabelValue: "master", + PodLeaderLabelValue: leaderLabelValue, }, }, }, client, pg, logger, eventRecorder) diff --git a/pkg/cluster/k8sres_test.go b/pkg/cluster/k8sres_test.go index 8505b0095..2e5a2973d 100644 --- a/pkg/cluster/k8sres_test.go +++ b/pkg/cluster/k8sres_test.go @@ -2359,7 +2359,7 @@ func TestGeneratePodDisruptionBudget(t *testing.T) { } if !masterLabelSelectorDisabled && !reflect.DeepEqual(podDisruptionBudget.Spec.Selector, &metav1.LabelSelector{ - MatchLabels: map[string]string{"spilo-role": "master", "cluster-name": "myapp-database"}}) { + MatchLabels: map[string]string{"spilo-role": leaderLabelValue, "cluster-name": "myapp-database"}}) { return fmt.Errorf("MatchLabels incorrect.") } @@ -2389,7 +2389,7 @@ func TestGeneratePodDisruptionBudget(t *testing.T) { { scenario: "With multiple instances", spec: New( - Config{OpConfig: config.Config{Resources: config.Resources{ClusterNameLabel: "cluster-name", PodRoleLabel: "spilo-role", PodLeaderLabelValue: "master"}, PDBNameFormat: "postgres-{cluster}-pdb"}}, + Config{OpConfig: config.Config{Resources: config.Resources{ClusterNameLabel: "cluster-name", PodRoleLabel: "spilo-role", PodLeaderLabelValue: leaderLabelValue}, PDBNameFormat: "postgres-{cluster}-pdb"}}, k8sutil.KubernetesClient{}, acidv1.Postgresql{ ObjectMeta: metav1.ObjectMeta{Name: "myapp-database", Namespace: "myapp"}, @@ -2406,7 +2406,7 @@ func TestGeneratePodDisruptionBudget(t *testing.T) { { scenario: "With zero instances", spec: New( - Config{OpConfig: config.Config{Resources: config.Resources{ClusterNameLabel: "cluster-name", PodRoleLabel: "spilo-role", PodLeaderLabelValue: "master"}, PDBNameFormat: "postgres-{cluster}-pdb"}}, + Config{OpConfig: config.Config{Resources: config.Resources{ClusterNameLabel: "cluster-name", PodRoleLabel: "spilo-role", PodLeaderLabelValue: leaderLabelValue}, PDBNameFormat: "postgres-{cluster}-pdb"}}, k8sutil.KubernetesClient{}, acidv1.Postgresql{ ObjectMeta: metav1.ObjectMeta{Name: "myapp-database", Namespace: "myapp"}, @@ -2423,7 +2423,7 @@ func TestGeneratePodDisruptionBudget(t *testing.T) { { scenario: "With PodDisruptionBudget disabled", spec: New( - Config{OpConfig: config.Config{Resources: config.Resources{ClusterNameLabel: "cluster-name", PodRoleLabel: "spilo-role", PodLeaderLabelValue: "master"}, PDBNameFormat: "postgres-{cluster}-pdb", EnablePodDisruptionBudget: util.False()}}, + Config{OpConfig: config.Config{Resources: config.Resources{ClusterNameLabel: "cluster-name", PodRoleLabel: "spilo-role", PodLeaderLabelValue: leaderLabelValue}, PDBNameFormat: "postgres-{cluster}-pdb", EnablePodDisruptionBudget: util.False()}}, k8sutil.KubernetesClient{}, acidv1.Postgresql{ ObjectMeta: metav1.ObjectMeta{Name: "myapp-database", Namespace: "myapp"}, @@ -2440,7 +2440,7 @@ func TestGeneratePodDisruptionBudget(t *testing.T) { { scenario: "With non-default PDBNameFormat and PodDisruptionBudget explicitly enabled", spec: New( - Config{OpConfig: config.Config{Resources: config.Resources{ClusterNameLabel: "cluster-name", PodRoleLabel: "spilo-role", PodLeaderLabelValue: "master"}, PDBNameFormat: "postgres-{cluster}-databass-budget", EnablePodDisruptionBudget: util.True()}}, + Config{OpConfig: config.Config{Resources: config.Resources{ClusterNameLabel: "cluster-name", PodRoleLabel: "spilo-role", PodLeaderLabelValue: leaderLabelValue}, PDBNameFormat: "postgres-{cluster}-databass-budget", EnablePodDisruptionBudget: util.True()}}, k8sutil.KubernetesClient{}, acidv1.Postgresql{ ObjectMeta: metav1.ObjectMeta{Name: "myapp-database", Namespace: "myapp"}, @@ -2457,7 +2457,7 @@ func TestGeneratePodDisruptionBudget(t *testing.T) { { scenario: "With PDBMasterLabelSelector disabled", spec: New( - Config{OpConfig: config.Config{Resources: config.Resources{ClusterNameLabel: "cluster-name", PodRoleLabel: "spilo-role", PodLeaderLabelValue: "master"}, PDBNameFormat: "postgres-{cluster}-pdb", EnablePodDisruptionBudget: util.True(), PDBMasterLabelSelector: util.False()}}, + Config{OpConfig: config.Config{Resources: config.Resources{ClusterNameLabel: "cluster-name", PodRoleLabel: "spilo-role", PodLeaderLabelValue: leaderLabelValue}, PDBNameFormat: "postgres-{cluster}-pdb", EnablePodDisruptionBudget: util.True(), PDBMasterLabelSelector: util.False()}}, k8sutil.KubernetesClient{}, acidv1.Postgresql{ ObjectMeta: metav1.ObjectMeta{Name: "myapp-database", Namespace: "myapp"}, @@ -2474,7 +2474,7 @@ func TestGeneratePodDisruptionBudget(t *testing.T) { { scenario: "With OwnerReference enabled", spec: New( - Config{OpConfig: config.Config{Resources: config.Resources{ClusterNameLabel: "cluster-name", PodRoleLabel: "spilo-role", PodLeaderLabelValue: "master", EnableOwnerReferences: util.True()}, PDBNameFormat: "postgres-{cluster}-pdb", EnablePodDisruptionBudget: util.True()}}, + Config{OpConfig: config.Config{Resources: config.Resources{ClusterNameLabel: "cluster-name", PodRoleLabel: "spilo-role", PodLeaderLabelValue: leaderLabelValue, EnableOwnerReferences: util.True()}, PDBNameFormat: "postgres-{cluster}-pdb", EnablePodDisruptionBudget: util.True()}}, k8sutil.KubernetesClient{}, acidv1.Postgresql{ ObjectMeta: metav1.ObjectMeta{Name: "myapp-database", Namespace: "myapp"}, @@ -2550,7 +2550,7 @@ func TestGenerateService(t *testing.T) { DefaultMemoryRequest: "0.7Gi", MaxMemoryRequest: "1.0Gi", DefaultMemoryLimit: "1.3Gi", - PodLeaderLabelValue: "master", + PodLeaderLabelValue: leaderLabelValue, }, SidecarImages: map[string]string{ "deprecated-global-sidecar": "image:123", diff --git a/pkg/cluster/sync_test.go b/pkg/cluster/sync_test.go index d45a193cb..5e86c8a39 100644 --- a/pkg/cluster/sync_test.go +++ b/pkg/cluster/sync_test.go @@ -556,7 +556,7 @@ func TestSyncStandbyClusterConfiguration(t *testing.T) { podLabels := map[string]string{ "cluster-name": clusterName, "application": applicationLabel, - "spilo-role": "master", + "spilo-role": leaderLabelValue, } mockPod.Labels = podLabels client.PodsGetter.Pods(namespace).Create(context.TODO(), mockPod, metav1.CreateOptions{})