Skip to content

Commit 4454815

Browse files
committed
Add required Status fields and conditions to Job objects in tests.
1 parent 9187409 commit 4454815

File tree

2 files changed

+50
-33
lines changed

2 files changed

+50
-33
lines changed

internal/controller/postgrescluster/pgbackrest_test.go

+16-2
Original file line numberDiff line numberDiff line change
@@ -2958,14 +2958,23 @@ func TestObserveRestoreEnv(t *testing.T) {
29582958
},
29592959
}
29602960

2961+
currentTime := metav1.Now()
2962+
startTime := metav1.NewTime(currentTime.AddDate(0, 0, -1))
2963+
restoreJob.Status.StartTime = &startTime
2964+
29612965
if completed != nil {
29622966
if *completed {
2967+
restoreJob.Status.CompletionTime = &currentTime
29632968
restoreJob.Status.Conditions = append(restoreJob.Status.Conditions, batchv1.JobCondition{
29642969
Type: batchv1.JobComplete,
29652970
Status: corev1.ConditionTrue,
29662971
Reason: "test",
29672972
Message: "test",
2968-
})
2973+
},
2974+
batchv1.JobCondition{
2975+
Type: batchv1.JobSuccessCriteriaMet,
2976+
Status: corev1.ConditionTrue,
2977+
})
29692978
} else {
29702979
restoreJob.Status.Conditions = append(restoreJob.Status.Conditions, batchv1.JobCondition{
29712980
Type: batchv1.JobComplete,
@@ -2981,7 +2990,12 @@ func TestObserveRestoreEnv(t *testing.T) {
29812990
Status: corev1.ConditionTrue,
29822991
Reason: "test",
29832992
Message: "test",
2984-
})
2993+
},
2994+
batchv1.JobCondition{
2995+
Type: batchv1.JobFailureTarget,
2996+
Status: corev1.ConditionTrue,
2997+
},
2998+
)
29852999
} else {
29863000
restoreJob.Status.Conditions = append(restoreJob.Status.Conditions, batchv1.JobCondition{
29873001
Type: batchv1.JobFailed,

internal/controller/postgrescluster/snapshots_test.go

+34-31
Original file line numberDiff line numberDiff line change
@@ -471,10 +471,8 @@ func TestReconcileDedicatedSnapshotVolume(t *testing.T) {
471471
assert.NilError(t, r.apply(ctx, backupJob))
472472

473473
currentTime := metav1.Now()
474-
backupJob.Status = batchv1.JobStatus{
475-
Succeeded: 1,
476-
CompletionTime: &currentTime,
477-
}
474+
startTime := metav1.NewTime(currentTime.AddDate(0, 0, -1))
475+
backupJob.Status = succeededJobStatus(startTime, currentTime)
478476
assert.NilError(t, r.Client.Status().Update(ctx, backupJob))
479477

480478
// Create instance set and volumes for reconcile
@@ -514,17 +512,16 @@ func TestReconcileDedicatedSnapshotVolume(t *testing.T) {
514512

515513
// Create times for jobs
516514
currentTime := metav1.Now()
515+
currentStartTime := metav1.NewTime(currentTime.AddDate(0, 0, -1))
517516
earlierTime := metav1.NewTime(currentTime.AddDate(-1, 0, 0))
517+
earlierStartTime := metav1.NewTime(earlierTime.AddDate(0, 0, -1))
518518

519519
// Create successful backup job
520520
backupJob := testBackupJob(cluster)
521521
assert.NilError(t, r.setControllerReference(cluster, backupJob))
522522
assert.NilError(t, r.apply(ctx, backupJob))
523523

524-
backupJob.Status = batchv1.JobStatus{
525-
Succeeded: 1,
526-
CompletionTime: &earlierTime,
527-
}
524+
backupJob.Status = succeededJobStatus(earlierStartTime, earlierTime)
528525
assert.NilError(t, r.Client.Status().Update(ctx, backupJob))
529526

530527
// Create successful restore job
@@ -535,10 +532,7 @@ func TestReconcileDedicatedSnapshotVolume(t *testing.T) {
535532
assert.NilError(t, r.setControllerReference(cluster, restoreJob))
536533
assert.NilError(t, r.apply(ctx, restoreJob))
537534

538-
restoreJob.Status = batchv1.JobStatus{
539-
Succeeded: 1,
540-
CompletionTime: &currentTime,
541-
}
535+
restoreJob.Status = succeededJobStatus(currentStartTime, currentTime)
542536
assert.NilError(t, r.Client.Status().Update(ctx, restoreJob))
543537

544538
// Create instance set and volumes for reconcile
@@ -581,16 +575,14 @@ func TestReconcileDedicatedSnapshotVolume(t *testing.T) {
581575
// Create times for jobs
582576
currentTime := metav1.Now()
583577
earlierTime := metav1.NewTime(currentTime.AddDate(-1, 0, 0))
578+
startTime := metav1.NewTime(earlierTime.AddDate(0, 0, -1))
584579

585580
// Create successful backup job
586581
backupJob := testBackupJob(cluster)
587582
assert.NilError(t, r.setControllerReference(cluster, backupJob))
588583
assert.NilError(t, r.apply(ctx, backupJob))
589584

590-
backupJob.Status = batchv1.JobStatus{
591-
Succeeded: 1,
592-
CompletionTime: &earlierTime,
593-
}
585+
backupJob.Status = succeededJobStatus(startTime, earlierTime)
594586
assert.NilError(t, r.Client.Status().Update(ctx, backupJob))
595587

596588
// Create failed restore job
@@ -602,9 +594,8 @@ func TestReconcileDedicatedSnapshotVolume(t *testing.T) {
602594
assert.NilError(t, r.apply(ctx, restoreJob))
603595

604596
restoreJob.Status = batchv1.JobStatus{
605-
Succeeded: 0,
606-
Failed: 1,
607-
CompletionTime: &currentTime,
597+
Succeeded: 0,
598+
Failed: 1,
608599
}
609600
assert.NilError(t, r.Client.Status().Update(ctx, restoreJob))
610601

@@ -847,6 +838,7 @@ func TestGetLatestCompleteBackupJob(t *testing.T) {
847838

848839
t.Run("OneCompleteBackupJob", func(t *testing.T) {
849840
currentTime := metav1.Now()
841+
currentStartTime := metav1.NewTime(currentTime.AddDate(0, 0, -1))
850842

851843
job1 := testBackupJob(cluster)
852844
job1.Namespace = ns.Name
@@ -863,10 +855,7 @@ func TestGetLatestCompleteBackupJob(t *testing.T) {
863855
// Get job1 and update Status.
864856
assert.NilError(t, r.Client.Get(ctx, client.ObjectKeyFromObject(job1), job1))
865857

866-
job1.Status = batchv1.JobStatus{
867-
Succeeded: 1,
868-
CompletionTime: &currentTime,
869-
}
858+
job1.Status = succeededJobStatus(currentStartTime, currentTime)
870859
assert.NilError(t, r.Client.Status().Update(ctx, job1))
871860

872861
latestCompleteBackupJob, err := r.getLatestCompleteBackupJob(ctx, cluster)
@@ -876,7 +865,9 @@ func TestGetLatestCompleteBackupJob(t *testing.T) {
876865

877866
t.Run("TwoCompleteBackupJobs", func(t *testing.T) {
878867
currentTime := metav1.Now()
868+
currentStartTime := metav1.NewTime(currentTime.AddDate(0, 0, -1))
879869
earlierTime := metav1.NewTime(currentTime.AddDate(-1, 0, 0))
870+
earlierStartTime := metav1.NewTime(earlierTime.AddDate(0, 0, -1))
880871
assert.Check(t, earlierTime.Before(&currentTime))
881872

882873
job1 := testBackupJob(cluster)
@@ -894,19 +885,13 @@ func TestGetLatestCompleteBackupJob(t *testing.T) {
894885
// Get job1 and update Status.
895886
assert.NilError(t, r.Client.Get(ctx, client.ObjectKeyFromObject(job1), job1))
896887

897-
job1.Status = batchv1.JobStatus{
898-
Succeeded: 1,
899-
CompletionTime: &currentTime,
900-
}
888+
job1.Status = succeededJobStatus(currentStartTime, currentTime)
901889
assert.NilError(t, r.Client.Status().Update(ctx, job1))
902890

903891
// Get job2 and update Status.
904892
assert.NilError(t, r.Client.Get(ctx, client.ObjectKeyFromObject(job2), job2))
905893

906-
job2.Status = batchv1.JobStatus{
907-
Succeeded: 1,
908-
CompletionTime: &earlierTime,
909-
}
894+
job2.Status = succeededJobStatus(earlierStartTime, earlierTime)
910895
assert.NilError(t, r.Client.Status().Update(ctx, job2))
911896

912897
latestCompleteBackupJob, err := r.getLatestCompleteBackupJob(ctx, cluster)
@@ -1382,3 +1367,21 @@ func TestClusterUsingTablespaces(t *testing.T) {
13821367
assert.Assert(t, clusterUsingTablespaces(ctx, cluster))
13831368
})
13841369
}
1370+
1371+
func succeededJobStatus(startTime, completionTime metav1.Time) batchv1.JobStatus {
1372+
return batchv1.JobStatus{
1373+
Succeeded: 1,
1374+
StartTime: &startTime,
1375+
CompletionTime: &completionTime,
1376+
Conditions: []batchv1.JobCondition{
1377+
{
1378+
Type: batchv1.JobSuccessCriteriaMet,
1379+
Status: corev1.ConditionTrue,
1380+
},
1381+
{
1382+
Type: batchv1.JobComplete,
1383+
Status: corev1.ConditionTrue,
1384+
},
1385+
},
1386+
}
1387+
}

0 commit comments

Comments
 (0)