@@ -2719,6 +2719,144 @@ volumes:
2719
2719
}
2720
2720
})
2721
2721
})
2722
+
2723
+ t.Run("InitialDelaySeconds", func(t *testing.T) {
2724
+ t.Run("<2.7.0", func(t *testing.T) {
2725
+ cluster := &v1beta1.PostgresCluster{
2726
+ ObjectMeta: metav1.ObjectMeta{
2727
+ Labels: map[string]string{
2728
+ naming.LabelVersion: "2.6.0",
2729
+ },
2730
+ },
2731
+ Spec: v1beta1.PostgresClusterSpec{
2732
+ Backups: v1beta1.Backups{
2733
+ PGBackRest: v1beta1.PGBackRestArchive{
2734
+ Manual: &v1beta1.PGBackRestManualBackup{
2735
+ InitialDelaySeconds: 30,
2736
+ },
2737
+ },
2738
+ },
2739
+ },
2740
+ }
2741
+ job := generateBackupJobSpecIntent(ctx,
2742
+ cluster, v1beta1.PGBackRestRepo{},
2743
+ "", "",
2744
+ nil, nil,
2745
+ )
2746
+
2747
+ container := job.Template.Spec.Containers[0]
2748
+
2749
+ var envVarFound bool
2750
+ for _, env := range container.Env {
2751
+ if env.Name == "INITIAL_DELAY_SECS" {
2752
+ envVarFound = true
2753
+ }
2754
+ }
2755
+
2756
+ assert.Check(t, envVarFound == false)
2757
+ })
2758
+
2759
+ t.Run(">=2.7.0", func(t *testing.T) {
2760
+ cluster := &v1beta1.PostgresCluster{
2761
+ ObjectMeta: metav1.ObjectMeta{
2762
+ Labels: map[string]string{
2763
+ naming.LabelVersion: "2.7.0",
2764
+ },
2765
+ },
2766
+ Spec: v1beta1.PostgresClusterSpec{
2767
+ Backups: v1beta1.Backups{
2768
+ PGBackRest: v1beta1.PGBackRestArchive{
2769
+ Manual: &v1beta1.PGBackRestManualBackup{
2770
+ InitialDelaySeconds: 30,
2771
+ },
2772
+ },
2773
+ },
2774
+ },
2775
+ }
2776
+ job := generateBackupJobSpecIntent(ctx,
2777
+ cluster, v1beta1.PGBackRestRepo{},
2778
+ "", "",
2779
+ nil, nil,
2780
+ )
2781
+
2782
+ container := job.Template.Spec.Containers[0]
2783
+
2784
+ var envVar corev1.EnvVar
2785
+ for _, env := range container.Env {
2786
+ if env.Name == "INITIAL_DELAY_SECS" {
2787
+ envVar = env
2788
+ }
2789
+ }
2790
+
2791
+ if assert.Check(t, envVar.Name == "INITIAL_DELAY_SECS") {
2792
+ assert.Equal(t, envVar.Value, "30")
2793
+ }
2794
+ })
2795
+
2796
+ t.Run("NoManual", func(t *testing.T) {
2797
+ cluster := &v1beta1.PostgresCluster{
2798
+ ObjectMeta: metav1.ObjectMeta{
2799
+ Labels: map[string]string{
2800
+ naming.LabelVersion: "2.7.0",
2801
+ },
2802
+ },
2803
+ Spec: v1beta1.PostgresClusterSpec{
2804
+ Backups: v1beta1.Backups{
2805
+ PGBackRest: v1beta1.PGBackRestArchive{},
2806
+ },
2807
+ },
2808
+ }
2809
+ job := generateBackupJobSpecIntent(ctx,
2810
+ cluster, v1beta1.PGBackRestRepo{},
2811
+ "", "",
2812
+ nil, nil,
2813
+ )
2814
+
2815
+ container := job.Template.Spec.Containers[0]
2816
+
2817
+ var envVarFound bool
2818
+ for _, env := range container.Env {
2819
+ if env.Name == "INITIAL_DELAY_SECS" {
2820
+ envVarFound = true
2821
+ }
2822
+ }
2823
+
2824
+ assert.Check(t, envVarFound == false)
2825
+ })
2826
+
2827
+ t.Run("EmptyValue", func(t *testing.T) {
2828
+ cluster := &v1beta1.PostgresCluster{
2829
+ ObjectMeta: metav1.ObjectMeta{
2830
+ Labels: map[string]string{
2831
+ naming.LabelVersion: "2.7.0",
2832
+ },
2833
+ },
2834
+ Spec: v1beta1.PostgresClusterSpec{
2835
+ Backups: v1beta1.Backups{
2836
+ PGBackRest: v1beta1.PGBackRestArchive{
2837
+ Manual: &v1beta1.PGBackRestManualBackup{},
2838
+ },
2839
+ },
2840
+ },
2841
+ }
2842
+ job := generateBackupJobSpecIntent(ctx,
2843
+ cluster, v1beta1.PGBackRestRepo{},
2844
+ "", "",
2845
+ nil, nil,
2846
+ )
2847
+
2848
+ container := job.Template.Spec.Containers[0]
2849
+
2850
+ var envVarFound bool
2851
+ for _, env := range container.Env {
2852
+ if env.Name == "INITIAL_DELAY_SECS" {
2853
+ envVarFound = true
2854
+ }
2855
+ }
2856
+
2857
+ assert.Check(t, envVarFound == false)
2858
+ })
2859
+ })
2722
2860
}
2723
2861
2724
2862
func TestGenerateRepoHostIntent(t *testing.T) {
0 commit comments