mirror of
https://github.com/vmware-tanzu/velero.git
synced 2026-09-30 19:55:36 +00:00
Merge branch 'main' into issue-fix-9077
This commit is contained in:
@@ -18,7 +18,6 @@ package controller
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"context"
|
||||
"fmt"
|
||||
"io"
|
||||
"reflect"
|
||||
@@ -136,11 +135,11 @@ func TestProcessBackupNonProcessedItems(t *testing.T) {
|
||||
kbClient: velerotest.NewFakeControllerRuntimeClient(t),
|
||||
formatFlag: formatFlag,
|
||||
logger: logger,
|
||||
workerPool: pkgbackup.StartItemBlockWorkerPool(context.Background(), 1, logger),
|
||||
workerPool: pkgbackup.StartItemBlockWorkerPool(t.Context(), 1, logger),
|
||||
}
|
||||
defer c.workerPool.Stop()
|
||||
if test.backup != nil {
|
||||
require.NoError(t, c.kbClient.Create(context.Background(), test.backup))
|
||||
require.NoError(t, c.kbClient.Create(t.Context(), test.backup))
|
||||
}
|
||||
actualResult, err := c.Reconcile(ctx, ctrl.Request{NamespacedName: types.NamespacedName{Namespace: test.backup.Namespace, Name: test.backup.Name}})
|
||||
assert.Equal(t, ctrl.Result{}, actualResult)
|
||||
@@ -235,18 +234,18 @@ func TestProcessBackupValidationFailures(t *testing.T) {
|
||||
clock: &clock.RealClock{},
|
||||
formatFlag: formatFlag,
|
||||
metrics: metrics.NewServerMetrics(),
|
||||
workerPool: pkgbackup.StartItemBlockWorkerPool(context.Background(), 1, logger),
|
||||
workerPool: pkgbackup.StartItemBlockWorkerPool(t.Context(), 1, logger),
|
||||
}
|
||||
defer c.workerPool.Stop()
|
||||
|
||||
require.NotNil(t, test.backup)
|
||||
require.NoError(t, c.kbClient.Create(context.Background(), test.backup))
|
||||
require.NoError(t, c.kbClient.Create(t.Context(), test.backup))
|
||||
|
||||
actualResult, err := c.Reconcile(ctx, ctrl.Request{NamespacedName: types.NamespacedName{Namespace: test.backup.Namespace, Name: test.backup.Name}})
|
||||
assert.Equal(t, ctrl.Result{}, actualResult)
|
||||
require.NoError(t, err)
|
||||
res := &velerov1api.Backup{}
|
||||
err = c.kbClient.Get(context.Background(), kbclient.ObjectKey{Namespace: test.backup.Namespace, Name: test.backup.Name}, res)
|
||||
err = c.kbClient.Get(t.Context(), kbclient.ObjectKey{Namespace: test.backup.Namespace, Name: test.backup.Name}, res)
|
||||
require.NoError(t, err)
|
||||
|
||||
assert.Equal(t, velerov1api.BackupPhaseFailedValidation, res.Status.Phase)
|
||||
@@ -300,7 +299,7 @@ func TestBackupLocationLabel(t *testing.T) {
|
||||
defaultBackupLocation: test.backupLocation.Name,
|
||||
clock: &clock.RealClock{},
|
||||
formatFlag: formatFlag,
|
||||
workerPool: pkgbackup.StartItemBlockWorkerPool(context.Background(), 1, logger),
|
||||
workerPool: pkgbackup.StartItemBlockWorkerPool(t.Context(), 1, logger),
|
||||
}
|
||||
defer c.workerPool.Stop()
|
||||
|
||||
@@ -397,7 +396,7 @@ func Test_prepareBackupRequest_BackupStorageLocation(t *testing.T) {
|
||||
defaultBackupTTL: defaultBackupTTL.Duration,
|
||||
clock: testclocks.NewFakeClock(now),
|
||||
formatFlag: formatFlag,
|
||||
workerPool: pkgbackup.StartItemBlockWorkerPool(context.Background(), 1, logger),
|
||||
workerPool: pkgbackup.StartItemBlockWorkerPool(t.Context(), 1, logger),
|
||||
}
|
||||
defer c.workerPool.Stop()
|
||||
|
||||
@@ -473,7 +472,7 @@ func TestDefaultBackupTTL(t *testing.T) {
|
||||
defaultBackupTTL: defaultBackupTTL.Duration,
|
||||
clock: testclocks.NewFakeClock(now),
|
||||
formatFlag: formatFlag,
|
||||
workerPool: pkgbackup.StartItemBlockWorkerPool(context.Background(), 1, logger),
|
||||
workerPool: pkgbackup.StartItemBlockWorkerPool(t.Context(), 1, logger),
|
||||
}
|
||||
defer c.workerPool.Stop()
|
||||
|
||||
@@ -534,7 +533,7 @@ func TestPrepareBackupRequest_SetsVGSLabelKey(t *testing.T) {
|
||||
defaultVGSLabelKey: test.serverFlagKey,
|
||||
discoveryHelper: discoveryHelper,
|
||||
clock: testclocks.NewFakeClock(now),
|
||||
workerPool: pkgbackup.StartItemBlockWorkerPool(context.Background(), 1, logger),
|
||||
workerPool: pkgbackup.StartItemBlockWorkerPool(t.Context(), 1, logger),
|
||||
}
|
||||
defer c.workerPool.Stop()
|
||||
|
||||
@@ -636,7 +635,7 @@ func TestDefaultVolumesToResticDeprecation(t *testing.T) {
|
||||
clock: &clock.RealClock{},
|
||||
formatFlag: formatFlag,
|
||||
defaultVolumesToFsBackup: test.globalVal,
|
||||
workerPool: pkgbackup.StartItemBlockWorkerPool(context.Background(), 1, logger),
|
||||
workerPool: pkgbackup.StartItemBlockWorkerPool(t.Context(), 1, logger),
|
||||
}
|
||||
defer c.workerPool.Stop()
|
||||
|
||||
@@ -1504,7 +1503,7 @@ func TestProcessBackupCompletions(t *testing.T) {
|
||||
}
|
||||
|
||||
if test.volumeSnapshot != nil {
|
||||
require.NoError(t, fakeGlobalClient.Create(context.TODO(), test.volumeSnapshot))
|
||||
require.NoError(t, fakeGlobalClient.Create(t.Context(), test.volumeSnapshot))
|
||||
}
|
||||
|
||||
apiServer := velerotest.NewAPIServer(t)
|
||||
@@ -1539,7 +1538,7 @@ func TestProcessBackupCompletions(t *testing.T) {
|
||||
backupper: backupper,
|
||||
formatFlag: formatFlag,
|
||||
globalCRClient: fakeGlobalClient,
|
||||
workerPool: pkgbackup.StartItemBlockWorkerPool(context.Background(), 1, logger),
|
||||
workerPool: pkgbackup.StartItemBlockWorkerPool(t.Context(), 1, logger),
|
||||
}
|
||||
defer c.workerPool.Stop()
|
||||
|
||||
@@ -1566,10 +1565,10 @@ func TestProcessBackupCompletions(t *testing.T) {
|
||||
// add the test's backup to the informer/lister store
|
||||
require.NotNil(t, test.backup)
|
||||
|
||||
require.NoError(t, c.kbClient.Create(context.Background(), test.backup))
|
||||
require.NoError(t, c.kbClient.Create(t.Context(), test.backup))
|
||||
|
||||
// add the default backup storage location to the clientset and the informer/lister store
|
||||
require.NoError(t, fakeClient.Create(context.Background(), defaultBackupLocation))
|
||||
require.NoError(t, fakeClient.Create(t.Context(), defaultBackupLocation))
|
||||
|
||||
// Enable CSI feature flag for SnapshotDataMovement test.
|
||||
if test.enableCSI {
|
||||
@@ -1586,7 +1585,7 @@ func TestProcessBackupCompletions(t *testing.T) {
|
||||
}
|
||||
|
||||
res := &velerov1api.Backup{}
|
||||
err = c.kbClient.Get(context.Background(), kbclient.ObjectKey{Namespace: test.backup.Namespace, Name: test.backup.Name}, res)
|
||||
err = c.kbClient.Get(t.Context(), kbclient.ObjectKey{Namespace: test.backup.Namespace, Name: test.backup.Name}, res)
|
||||
require.NoError(t, err)
|
||||
res.ResourceVersion = ""
|
||||
assert.Equal(t, test.expectedResult, res)
|
||||
@@ -1747,7 +1746,7 @@ func TestValidateAndGetSnapshotLocations(t *testing.T) {
|
||||
logger: logger,
|
||||
defaultSnapshotLocations: test.defaultLocations,
|
||||
kbClient: velerotest.NewFakeControllerRuntimeClient(t),
|
||||
workerPool: pkgbackup.StartItemBlockWorkerPool(context.Background(), 1, logger),
|
||||
workerPool: pkgbackup.StartItemBlockWorkerPool(t.Context(), 1, logger),
|
||||
}
|
||||
defer c.workerPool.Stop()
|
||||
|
||||
@@ -1755,7 +1754,7 @@ func TestValidateAndGetSnapshotLocations(t *testing.T) {
|
||||
backup := test.backup.DeepCopy()
|
||||
backup.Spec.VolumeSnapshotLocations = test.backup.Spec.VolumeSnapshotLocations
|
||||
for _, location := range test.locations {
|
||||
require.NoError(t, c.kbClient.Create(context.Background(), location))
|
||||
require.NoError(t, c.kbClient.Create(t.Context(), location))
|
||||
}
|
||||
|
||||
providerLocations, errs := c.validateAndGetSnapshotLocations(backup)
|
||||
@@ -1933,7 +1932,7 @@ func TestPatchResourceWorksWithStatus(t *testing.T) {
|
||||
},
|
||||
}
|
||||
// check original exists
|
||||
if err := fakeClient.Get(context.Background(), kbclient.ObjectKeyFromObject(tt.args.updated), fromCluster); err != nil {
|
||||
if err := fakeClient.Get(t.Context(), kbclient.ObjectKeyFromObject(tt.args.updated), fromCluster); err != nil {
|
||||
t.Errorf("PatchResource() error = %v", err)
|
||||
}
|
||||
// ignore resourceVersion
|
||||
@@ -1943,7 +1942,7 @@ func TestPatchResourceWorksWithStatus(t *testing.T) {
|
||||
t.Errorf("PatchResource() error = %v, wantErr %v", err, tt.wantErr)
|
||||
}
|
||||
// check updated exists
|
||||
if err := fakeClient.Get(context.Background(), kbclient.ObjectKeyFromObject(tt.args.updated), fromCluster); err != nil {
|
||||
if err := fakeClient.Get(t.Context(), kbclient.ObjectKeyFromObject(tt.args.updated), fromCluster); err != nil {
|
||||
t.Errorf("PatchResource() error = %v", err)
|
||||
}
|
||||
|
||||
|
||||
@@ -177,7 +177,7 @@ func TestBackupDeletionControllerReconcile(t *testing.T) {
|
||||
BackupName: input.Spec.BackupName,
|
||||
},
|
||||
}
|
||||
err := td.fakeClient.Create(context.TODO(), existing)
|
||||
err := td.fakeClient.Create(t.Context(), existing)
|
||||
require.NoError(t, err)
|
||||
existing2 :=
|
||||
&velerov1api.DeleteBackupRequest{
|
||||
@@ -192,12 +192,12 @@ func TestBackupDeletionControllerReconcile(t *testing.T) {
|
||||
BackupName: "some-other-backup",
|
||||
},
|
||||
}
|
||||
err = td.fakeClient.Create(context.TODO(), existing2)
|
||||
err = td.fakeClient.Create(t.Context(), existing2)
|
||||
require.NoError(t, err)
|
||||
_, err = td.controller.Reconcile(context.TODO(), td.req)
|
||||
_, err = td.controller.Reconcile(t.Context(), td.req)
|
||||
require.NoError(t, err)
|
||||
// verify "existing" is deleted
|
||||
err = td.fakeClient.Get(context.TODO(), types.NamespacedName{
|
||||
err = td.fakeClient.Get(t.Context(), types.NamespacedName{
|
||||
Namespace: existing.Namespace,
|
||||
Name: existing.Name,
|
||||
}, &velerov1api.DeleteBackupRequest{})
|
||||
@@ -205,7 +205,7 @@ func TestBackupDeletionControllerReconcile(t *testing.T) {
|
||||
assert.True(t, apierrors.IsNotFound(err), "Expected not found error, but actual value of error: %v", err)
|
||||
|
||||
// verify "existing2" remains
|
||||
assert.NoError(t, td.fakeClient.Get(context.TODO(), types.NamespacedName{
|
||||
assert.NoError(t, td.fakeClient.Get(t.Context(), types.NamespacedName{
|
||||
Namespace: existing2.Namespace,
|
||||
Name: existing2.Name,
|
||||
}, &velerov1api.DeleteBackupRequest{}))
|
||||
@@ -215,7 +215,7 @@ func TestBackupDeletionControllerReconcile(t *testing.T) {
|
||||
td := setupBackupDeletionControllerTest(t, dbr)
|
||||
|
||||
td.controller.backupTracker.Add(td.req.Namespace, dbr.Spec.BackupName)
|
||||
_, err := td.controller.Reconcile(context.TODO(), td.req)
|
||||
_, err := td.controller.Reconcile(t.Context(), td.req)
|
||||
require.NoError(t, err)
|
||||
|
||||
res := &velerov1api.DeleteBackupRequest{}
|
||||
@@ -229,7 +229,7 @@ func TestBackupDeletionControllerReconcile(t *testing.T) {
|
||||
t.Run("unable to find backup", func(t *testing.T) {
|
||||
td := setupBackupDeletionControllerTest(t, defaultTestDbr())
|
||||
|
||||
_, err := td.controller.Reconcile(context.TODO(), td.req)
|
||||
_, err := td.controller.Reconcile(t.Context(), td.req)
|
||||
require.NoError(t, err)
|
||||
|
||||
res := &velerov1api.DeleteBackupRequest{}
|
||||
@@ -244,7 +244,7 @@ func TestBackupDeletionControllerReconcile(t *testing.T) {
|
||||
|
||||
td := setupBackupDeletionControllerTest(t, defaultTestDbr(), backup)
|
||||
|
||||
_, err := td.controller.Reconcile(context.TODO(), td.req)
|
||||
_, err := td.controller.Reconcile(t.Context(), td.req)
|
||||
require.NoError(t, err)
|
||||
|
||||
res := &velerov1api.DeleteBackupRequest{}
|
||||
@@ -261,7 +261,7 @@ func TestBackupDeletionControllerReconcile(t *testing.T) {
|
||||
|
||||
td := setupBackupDeletionControllerTest(t, defaultTestDbr(), location, backup)
|
||||
|
||||
_, err := td.controller.Reconcile(context.TODO(), td.req)
|
||||
_, err := td.controller.Reconcile(t.Context(), td.req)
|
||||
require.NoError(t, err)
|
||||
|
||||
res := &velerov1api.DeleteBackupRequest{}
|
||||
@@ -278,7 +278,7 @@ func TestBackupDeletionControllerReconcile(t *testing.T) {
|
||||
|
||||
td := setupBackupDeletionControllerTest(t, defaultTestDbr(), location, backup)
|
||||
|
||||
_, err := td.controller.Reconcile(context.TODO(), td.req)
|
||||
_, err := td.controller.Reconcile(t.Context(), td.req)
|
||||
require.NoError(t, err)
|
||||
|
||||
res := &velerov1api.DeleteBackupRequest{}
|
||||
@@ -357,7 +357,7 @@ func TestBackupDeletionControllerReconcile(t *testing.T) {
|
||||
td.backupStore.On("GetBackupContents", input.Spec.BackupName).Return(io.NopCloser(bytes.NewReader([]byte("hello world"))), nil)
|
||||
td.backupStore.On("DeleteBackup", input.Spec.BackupName).Return(nil)
|
||||
|
||||
_, err := td.controller.Reconcile(context.TODO(), td.req)
|
||||
_, err := td.controller.Reconcile(t.Context(), td.req)
|
||||
require.NoError(t, err)
|
||||
|
||||
// the dbr should be deleted
|
||||
@@ -369,26 +369,26 @@ func TestBackupDeletionControllerReconcile(t *testing.T) {
|
||||
}
|
||||
|
||||
// backup CR, restore CR restore-1 and restore-2 should be deleted
|
||||
err = td.fakeClient.Get(context.TODO(), types.NamespacedName{
|
||||
err = td.fakeClient.Get(t.Context(), types.NamespacedName{
|
||||
Namespace: velerov1api.DefaultNamespace,
|
||||
Name: backup.Name,
|
||||
}, &velerov1api.Backup{})
|
||||
assert.True(t, apierrors.IsNotFound(err), "Expected not found error, but actual value of error: %v", err)
|
||||
|
||||
err = td.fakeClient.Get(context.TODO(), types.NamespacedName{
|
||||
err = td.fakeClient.Get(t.Context(), types.NamespacedName{
|
||||
Namespace: velerov1api.DefaultNamespace,
|
||||
Name: "restore-1",
|
||||
}, &velerov1api.Restore{})
|
||||
assert.True(t, apierrors.IsNotFound(err), "Expected not found error, but actual value of error: %v", err)
|
||||
|
||||
err = td.fakeClient.Get(context.TODO(), types.NamespacedName{
|
||||
err = td.fakeClient.Get(t.Context(), types.NamespacedName{
|
||||
Namespace: velerov1api.DefaultNamespace,
|
||||
Name: "restore-2",
|
||||
}, &velerov1api.Restore{})
|
||||
assert.True(t, apierrors.IsNotFound(err), "Expected not found error, but actual value of error: %v", err)
|
||||
|
||||
// restore-3 should remain
|
||||
err = td.fakeClient.Get(context.TODO(), types.NamespacedName{
|
||||
err = td.fakeClient.Get(t.Context(), types.NamespacedName{
|
||||
Namespace: velerov1api.DefaultNamespace,
|
||||
Name: "restore-3",
|
||||
}, &velerov1api.Restore{})
|
||||
@@ -481,7 +481,7 @@ func TestBackupDeletionControllerReconcile(t *testing.T) {
|
||||
|
||||
td.volumeSnapshotter.SnapshotsTaken.Insert("snap-1")
|
||||
|
||||
_, err := td.controller.Reconcile(context.TODO(), td.req)
|
||||
_, err := td.controller.Reconcile(t.Context(), td.req)
|
||||
require.NoError(t, err)
|
||||
|
||||
// the dbr should be deleted
|
||||
@@ -493,26 +493,26 @@ func TestBackupDeletionControllerReconcile(t *testing.T) {
|
||||
}
|
||||
|
||||
// backup CR, restore CR restore-1 and restore-2 should be deleted
|
||||
err = td.fakeClient.Get(context.TODO(), types.NamespacedName{
|
||||
err = td.fakeClient.Get(t.Context(), types.NamespacedName{
|
||||
Namespace: velerov1api.DefaultNamespace,
|
||||
Name: backup.Name,
|
||||
}, &velerov1api.Backup{})
|
||||
assert.True(t, apierrors.IsNotFound(err), "Expected not found error, but actual value of error: %v", err)
|
||||
|
||||
err = td.fakeClient.Get(context.TODO(), types.NamespacedName{
|
||||
err = td.fakeClient.Get(t.Context(), types.NamespacedName{
|
||||
Namespace: velerov1api.DefaultNamespace,
|
||||
Name: "restore-1",
|
||||
}, &velerov1api.Restore{})
|
||||
assert.True(t, apierrors.IsNotFound(err), "Expected not found error, but actual value of error: %v", err)
|
||||
|
||||
err = td.fakeClient.Get(context.TODO(), types.NamespacedName{
|
||||
err = td.fakeClient.Get(t.Context(), types.NamespacedName{
|
||||
Namespace: velerov1api.DefaultNamespace,
|
||||
Name: "restore-2",
|
||||
}, &velerov1api.Restore{})
|
||||
assert.True(t, apierrors.IsNotFound(err), "Expected not found error, but actual value of error: %v", err)
|
||||
|
||||
// restore-3 should remain
|
||||
err = td.fakeClient.Get(context.TODO(), types.NamespacedName{
|
||||
err = td.fakeClient.Get(t.Context(), types.NamespacedName{
|
||||
Namespace: velerov1api.DefaultNamespace,
|
||||
Name: "restore-3",
|
||||
}, &velerov1api.Restore{})
|
||||
@@ -582,7 +582,7 @@ func TestBackupDeletionControllerReconcile(t *testing.T) {
|
||||
td.backupStore.On("GetBackupVolumeSnapshots", input.Spec.BackupName).Return(snapshots, nil)
|
||||
td.backupStore.On("DeleteBackup", input.Spec.BackupName).Return(nil)
|
||||
|
||||
_, err := td.controller.Reconcile(context.TODO(), td.req)
|
||||
_, err := td.controller.Reconcile(t.Context(), td.req)
|
||||
require.NoError(t, err)
|
||||
|
||||
td.backupStore.AssertNotCalled(t, "GetBackupContents", mock.Anything)
|
||||
@@ -597,7 +597,7 @@ func TestBackupDeletionControllerReconcile(t *testing.T) {
|
||||
}
|
||||
|
||||
// backup CR should be deleted
|
||||
err = td.fakeClient.Get(context.TODO(), types.NamespacedName{
|
||||
err = td.fakeClient.Get(t.Context(), types.NamespacedName{
|
||||
Namespace: velerov1api.DefaultNamespace,
|
||||
Name: backup.Name,
|
||||
}, &velerov1api.Backup{})
|
||||
@@ -674,7 +674,7 @@ func TestBackupDeletionControllerReconcile(t *testing.T) {
|
||||
td.backupStore.On("GetBackupContents", input.Spec.BackupName).Return(nil, fmt.Errorf("error downloading tarball"))
|
||||
td.backupStore.On("DeleteBackup", input.Spec.BackupName).Return(nil)
|
||||
|
||||
_, err := td.controller.Reconcile(context.TODO(), td.req)
|
||||
_, err := td.controller.Reconcile(t.Context(), td.req)
|
||||
require.NoError(t, err)
|
||||
|
||||
td.backupStore.AssertCalled(t, "GetBackupContents", input.Spec.BackupName)
|
||||
@@ -689,14 +689,14 @@ func TestBackupDeletionControllerReconcile(t *testing.T) {
|
||||
}
|
||||
|
||||
// backup CR should be deleted
|
||||
err = td.fakeClient.Get(context.TODO(), types.NamespacedName{
|
||||
err = td.fakeClient.Get(t.Context(), types.NamespacedName{
|
||||
Namespace: velerov1api.DefaultNamespace,
|
||||
Name: backup.Name,
|
||||
}, &velerov1api.Backup{})
|
||||
assert.True(t, apierrors.IsNotFound(err), "Expected not found error, but actual value of error: %v", err)
|
||||
|
||||
// leaked CSI snapshot should be deleted
|
||||
err = td.fakeClient.Get(context.TODO(), types.NamespacedName{
|
||||
err = td.fakeClient.Get(t.Context(), types.NamespacedName{
|
||||
Namespace: "user-ns",
|
||||
Name: "vs-1",
|
||||
}, &snapshotv1api.VolumeSnapshot{})
|
||||
@@ -714,7 +714,7 @@ func TestBackupDeletionControllerReconcile(t *testing.T) {
|
||||
input.Status.Phase = velerov1api.DeleteBackupRequestPhaseProcessed
|
||||
td := setupBackupDeletionControllerTest(t, input)
|
||||
td.backupStore.On("DeleteBackup", mock.Anything).Return(nil)
|
||||
_, err := td.controller.Reconcile(context.TODO(), td.req)
|
||||
_, err := td.controller.Reconcile(t.Context(), td.req)
|
||||
require.NoError(t, err)
|
||||
|
||||
res := &velerov1api.DeleteBackupRequest{}
|
||||
@@ -733,7 +733,7 @@ func TestBackupDeletionControllerReconcile(t *testing.T) {
|
||||
td := setupBackupDeletionControllerTest(t, input)
|
||||
td.backupStore.On("DeleteBackup", mock.Anything).Return(nil)
|
||||
|
||||
_, err := td.controller.Reconcile(context.TODO(), td.req)
|
||||
_, err := td.controller.Reconcile(t.Context(), td.req)
|
||||
require.NoError(t, err)
|
||||
|
||||
res := &velerov1api.DeleteBackupRequest{}
|
||||
@@ -899,7 +899,7 @@ func TestGetSnapshotsInBackup(t *testing.T) {
|
||||
Items: test.podVolumeBackups,
|
||||
})
|
||||
|
||||
res, err := getSnapshotsInBackup(context.TODO(), veleroBackup, clientBuilder.Build())
|
||||
res, err := getSnapshotsInBackup(t.Context(), veleroBackup, clientBuilder.Build())
|
||||
require.NoError(t, err)
|
||||
|
||||
assert.True(t, reflect.DeepEqual(res, test.expected))
|
||||
@@ -1066,7 +1066,7 @@ func TestDeleteMovedSnapshots(t *testing.T) {
|
||||
batchDeleteSnapshotFunc = batchDeleteFail
|
||||
}
|
||||
|
||||
errs := controller.deleteMovedSnapshots(context.Background(), veleroBackup)
|
||||
errs := controller.deleteMovedSnapshots(t.Context(), veleroBackup)
|
||||
if test.expected == nil {
|
||||
assert.Nil(t, errs)
|
||||
} else {
|
||||
|
||||
@@ -18,7 +18,6 @@ package controller
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"context"
|
||||
"io"
|
||||
"testing"
|
||||
"time"
|
||||
@@ -227,12 +226,12 @@ func TestBackupFinalizerReconcile(t *testing.T) {
|
||||
backupStore.On("PutBackupVolumeInfos", mock.Anything, mock.Anything).Return(nil)
|
||||
pluginManager.On("GetBackupItemActionsV2").Return(nil, nil)
|
||||
backupper.On("FinalizeBackup", mock.Anything, mock.Anything, mock.Anything, mock.Anything, framework.BackupItemActionResolverV2{}, mock.Anything, mock.Anything).Return(nil)
|
||||
_, err := reconciler.Reconcile(context.TODO(), ctrl.Request{NamespacedName: types.NamespacedName{Namespace: test.backup.Namespace, Name: test.backup.Name}})
|
||||
_, err := reconciler.Reconcile(t.Context(), ctrl.Request{NamespacedName: types.NamespacedName{Namespace: test.backup.Namespace, Name: test.backup.Name}})
|
||||
gotErr := err != nil
|
||||
assert.Equal(t, test.expectError, gotErr)
|
||||
|
||||
backupAfter := velerov1api.Backup{}
|
||||
err = fakeClient.Get(context.TODO(), types.NamespacedName{
|
||||
err = fakeClient.Get(t.Context(), types.NamespacedName{
|
||||
Namespace: test.backup.Namespace,
|
||||
Name: test.backup.Name,
|
||||
}, &backupAfter)
|
||||
|
||||
@@ -17,7 +17,6 @@ limitations under the License.
|
||||
package controller
|
||||
|
||||
import (
|
||||
"context"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
@@ -296,12 +295,12 @@ func TestBackupOperationsReconcile(t *testing.T) {
|
||||
}, nil)
|
||||
pluginManager.On("GetBackupItemActionV2", operation.Spec.BackupItemAction).Return(bia, nil)
|
||||
}
|
||||
_, err := reconciler.Reconcile(context.TODO(), ctrl.Request{NamespacedName: types.NamespacedName{Namespace: test.backup.Namespace, Name: test.backup.Name}})
|
||||
_, err := reconciler.Reconcile(t.Context(), ctrl.Request{NamespacedName: types.NamespacedName{Namespace: test.backup.Namespace, Name: test.backup.Name}})
|
||||
gotErr := err != nil
|
||||
assert.Equal(t, test.expectError, gotErr)
|
||||
|
||||
backupAfter := velerov1api.Backup{}
|
||||
err = fakeClient.Get(context.TODO(), types.NamespacedName{
|
||||
err = fakeClient.Get(t.Context(), types.NamespacedName{
|
||||
Namespace: test.backup.Namespace,
|
||||
Name: test.backup.Name,
|
||||
}, &backupAfter)
|
||||
|
||||
@@ -86,12 +86,12 @@ func mockBackupRepositoryCR() *velerov1api.BackupRepository {
|
||||
func TestPatchBackupRepository(t *testing.T) {
|
||||
rr := mockBackupRepositoryCR()
|
||||
reconciler := mockBackupRepoReconciler(t, "", nil, nil)
|
||||
err := reconciler.Client.Create(context.TODO(), rr)
|
||||
err := reconciler.Client.Create(t.Context(), rr)
|
||||
require.NoError(t, err)
|
||||
err = reconciler.patchBackupRepository(context.Background(), rr, repoReady())
|
||||
err = reconciler.patchBackupRepository(t.Context(), rr, repoReady())
|
||||
require.NoError(t, err)
|
||||
assert.Equal(t, velerov1api.BackupRepositoryPhaseReady, rr.Status.Phase)
|
||||
err = reconciler.patchBackupRepository(context.Background(), rr, repoNotReady("not ready"))
|
||||
err = reconciler.patchBackupRepository(t.Context(), rr, repoNotReady("not ready"))
|
||||
require.NoError(t, err)
|
||||
assert.NotEqual(t, velerov1api.BackupRepositoryPhaseReady, rr.Status.Phase)
|
||||
}
|
||||
@@ -102,7 +102,7 @@ func TestCheckNotReadyRepo(t *testing.T) {
|
||||
rr.Spec.ResticIdentifier = "fake-identifier"
|
||||
rr.Spec.VolumeNamespace = "volume-ns-1"
|
||||
reconciler := mockBackupRepoReconciler(t, "PrepareRepo", rr, nil)
|
||||
err := reconciler.Client.Create(context.TODO(), rr)
|
||||
err := reconciler.Client.Create(t.Context(), rr)
|
||||
require.NoError(t, err)
|
||||
location := velerov1api.BackupStorageLocation{
|
||||
Spec: velerov1api.BackupStorageLocationSpec{
|
||||
@@ -114,7 +114,7 @@ func TestCheckNotReadyRepo(t *testing.T) {
|
||||
},
|
||||
}
|
||||
|
||||
_, err = reconciler.checkNotReadyRepo(context.TODO(), rr, &location, reconciler.logger)
|
||||
_, err = reconciler.checkNotReadyRepo(t.Context(), rr, &location, reconciler.logger)
|
||||
require.NoError(t, err)
|
||||
assert.Equal(t, velerov1api.BackupRepositoryPhaseReady, rr.Status.Phase)
|
||||
assert.Equal(t, "s3:test.amazonaws.com/bucket/restic/volume-ns-1", rr.Spec.ResticIdentifier)
|
||||
@@ -371,13 +371,13 @@ func TestRunMaintenanceIfDue(t *testing.T) {
|
||||
t.Run(test.name, func(t *testing.T) {
|
||||
reconciler := mockBackupRepoReconciler(t, "", test.repo, nil)
|
||||
reconciler.clock = &fakeClock{now}
|
||||
err := reconciler.Client.Create(context.TODO(), test.repo)
|
||||
err := reconciler.Client.Create(t.Context(), test.repo)
|
||||
require.NoError(t, err)
|
||||
|
||||
funcStartMaintenanceJob = test.startJobFunc
|
||||
funcWaitMaintenanceJobComplete = test.waitJobFunc
|
||||
|
||||
err = reconciler.runMaintenanceIfDue(context.TODO(), test.repo, velerotest.NewLogger())
|
||||
err = reconciler.runMaintenanceIfDue(t.Context(), test.repo, velerotest.NewLogger())
|
||||
if test.expectedErr == "" {
|
||||
require.NoError(t, err)
|
||||
}
|
||||
@@ -404,7 +404,7 @@ func TestInitializeRepo(t *testing.T) {
|
||||
rr := mockBackupRepositoryCR()
|
||||
rr.Spec.BackupStorageLocation = "default"
|
||||
reconciler := mockBackupRepoReconciler(t, "PrepareRepo", rr, nil)
|
||||
err := reconciler.Client.Create(context.TODO(), rr)
|
||||
err := reconciler.Client.Create(t.Context(), rr)
|
||||
require.NoError(t, err)
|
||||
location := velerov1api.BackupStorageLocation{
|
||||
Spec: velerov1api.BackupStorageLocationSpec{
|
||||
@@ -416,7 +416,7 @@ func TestInitializeRepo(t *testing.T) {
|
||||
},
|
||||
}
|
||||
|
||||
err = reconciler.initializeRepo(context.TODO(), rr, &location, reconciler.logger)
|
||||
err = reconciler.initializeRepo(t.Context(), rr, &location, reconciler.logger)
|
||||
require.NoError(t, err)
|
||||
assert.Equal(t, velerov1api.BackupRepositoryPhaseReady, rr.Status.Phase)
|
||||
}
|
||||
@@ -473,9 +473,9 @@ func TestBackupRepoReconcile(t *testing.T) {
|
||||
for _, test := range tests {
|
||||
t.Run(test.name, func(t *testing.T) {
|
||||
reconciler := mockBackupRepoReconciler(t, "", test.repo, nil)
|
||||
err := reconciler.Client.Create(context.TODO(), test.repo)
|
||||
err := reconciler.Client.Create(t.Context(), test.repo)
|
||||
require.NoError(t, err)
|
||||
_, err = reconciler.Reconcile(context.TODO(), ctrl.Request{NamespacedName: types.NamespacedName{Namespace: test.repo.Namespace, Name: "repo"}})
|
||||
_, err = reconciler.Reconcile(t.Context(), ctrl.Request{NamespacedName: types.NamespacedName{Namespace: test.repo.Namespace, Name: "repo"}})
|
||||
if test.expectNil {
|
||||
assert.NoError(t, err)
|
||||
} else {
|
||||
@@ -765,7 +765,7 @@ func TestGetBackupRepositoryConfig(t *testing.T) {
|
||||
|
||||
fakeClient := fakeClientBuilder.WithRuntimeObjects(test.kubeClientObj...).Build()
|
||||
|
||||
result, err := getBackupRepositoryConfig(context.Background(), fakeClient, test.congiName, velerov1api.DefaultNamespace, test.repoName, test.repoType, velerotest.NewLogger())
|
||||
result, err := getBackupRepositoryConfig(t.Context(), fakeClient, test.congiName, velerov1api.DefaultNamespace, test.repoName, test.repoType, velerotest.NewLogger())
|
||||
|
||||
if test.expectedErr != "" {
|
||||
assert.EqualError(t, err, test.expectedErr)
|
||||
@@ -1053,7 +1053,7 @@ func TestRecallMaintenance(t *testing.T) {
|
||||
|
||||
lastTm := backupRepo.Status.LastMaintenanceTime
|
||||
|
||||
err := r.recallMaintenance(context.TODO(), backupRepo, velerotest.NewLogger())
|
||||
err := r.recallMaintenance(t.Context(), backupRepo, velerotest.NewLogger())
|
||||
if test.expectedErr != "" {
|
||||
assert.EqualError(t, err, test.expectedErr)
|
||||
} else {
|
||||
@@ -1467,7 +1467,7 @@ func TestDeleteOldMaintenanceJob(t *testing.T) {
|
||||
t.Run(test.name, func(t *testing.T) {
|
||||
crClient := velerotest.NewFakeControllerRuntimeClient(t, test.repo, test.bsl)
|
||||
for _, job := range test.maintenanceJobs {
|
||||
require.NoError(t, crClient.Create(context.TODO(), &job))
|
||||
require.NoError(t, crClient.Create(t.Context(), &job))
|
||||
}
|
||||
|
||||
repoLocker := repository.NewRepoLocker()
|
||||
@@ -1487,7 +1487,7 @@ func TestDeleteOldMaintenanceJob(t *testing.T) {
|
||||
nil,
|
||||
)
|
||||
|
||||
_, err := reconciler.Reconcile(context.TODO(), ctrl.Request{NamespacedName: types.NamespacedName{Namespace: test.repo.Namespace, Name: "repo"}})
|
||||
_, err := reconciler.Reconcile(t.Context(), ctrl.Request{NamespacedName: types.NamespacedName{Namespace: test.repo.Namespace, Name: "repo"}})
|
||||
if test.expectNil {
|
||||
require.NoError(t, err)
|
||||
} else {
|
||||
@@ -1496,7 +1496,7 @@ func TestDeleteOldMaintenanceJob(t *testing.T) {
|
||||
|
||||
if len(test.maintenanceJobs) > 0 {
|
||||
jobList := new(batchv1api.JobList)
|
||||
require.NoError(t, reconciler.Client.List(context.TODO(), jobList, &client.ListOptions{Namespace: "velero"}))
|
||||
require.NoError(t, reconciler.Client.List(t.Context(), jobList, &client.ListOptions{Namespace: "velero"}))
|
||||
assert.Len(t, jobList.Items, 1)
|
||||
}
|
||||
})
|
||||
|
||||
@@ -17,7 +17,6 @@ limitations under the License.
|
||||
package controller
|
||||
|
||||
import (
|
||||
"context"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
@@ -246,7 +245,7 @@ func TestEnsureSingleDefaultBSL(t *testing.T) {
|
||||
require.NoError(t, velerov1api.AddToScheme(scheme.Scheme))
|
||||
t.Run(test.name, func(t *testing.T) {
|
||||
r := &backupStorageLocationReconciler{
|
||||
ctx: context.Background(),
|
||||
ctx: t.Context(),
|
||||
client: fake.NewClientBuilder().WithScheme(scheme.Scheme).WithRuntimeObjects(&test.locations).Build(),
|
||||
defaultBackupLocationInfo: test.defaultBackupInfo,
|
||||
metrics: metrics.NewServerMetrics(),
|
||||
@@ -291,14 +290,14 @@ func TestBSLReconcile(t *testing.T) {
|
||||
require.NoError(t, velerov1api.AddToScheme(scheme.Scheme))
|
||||
t.Run(test.name, func(t *testing.T) {
|
||||
r := &backupStorageLocationReconciler{
|
||||
ctx: context.Background(),
|
||||
ctx: t.Context(),
|
||||
client: fake.NewClientBuilder().WithScheme(scheme.Scheme).WithRuntimeObjects(&test.locationList).Build(),
|
||||
newPluginManager: func(logrus.FieldLogger) clientmgmt.Manager { return pluginManager },
|
||||
metrics: metrics.NewServerMetrics(),
|
||||
log: velerotest.NewLogger(),
|
||||
}
|
||||
|
||||
result, err := r.Reconcile(context.TODO(), ctrl.Request{NamespacedName: types.NamespacedName{Namespace: velerov1api.DefaultNamespace, Name: "location-1"}})
|
||||
result, err := r.Reconcile(t.Context(), ctrl.Request{NamespacedName: types.NamespacedName{Namespace: velerov1api.DefaultNamespace, Name: "location-1"}})
|
||||
assert.Equal(t, test.expectedError, err)
|
||||
assert.Equal(t, ctrl.Result{}, result)
|
||||
})
|
||||
|
||||
@@ -479,12 +479,12 @@ func TestDataDownloadReconcile(t *testing.T) {
|
||||
require.NoError(t, err)
|
||||
|
||||
if !test.notCreateDD {
|
||||
err = r.client.Create(context.Background(), test.dd)
|
||||
err = r.client.Create(t.Context(), test.dd)
|
||||
require.NoError(t, err)
|
||||
}
|
||||
|
||||
if test.needDelete {
|
||||
err = r.client.Delete(context.Background(), test.dd)
|
||||
err = r.client.Delete(t.Context(), test.dd)
|
||||
require.NoError(t, err)
|
||||
}
|
||||
|
||||
@@ -627,7 +627,7 @@ func TestDataDownloadReconcile(t *testing.T) {
|
||||
|
||||
func TestOnDataDownloadFailed(t *testing.T) {
|
||||
for _, getErr := range []bool{true, false} {
|
||||
ctx := context.TODO()
|
||||
ctx := t.Context()
|
||||
needErrs := []bool{getErr, false, false, false}
|
||||
r, err := initDataDownloadReconciler(t, nil, needErrs...)
|
||||
require.NoError(t, err)
|
||||
@@ -653,7 +653,7 @@ func TestOnDataDownloadFailed(t *testing.T) {
|
||||
|
||||
func TestOnDataDownloadCancelled(t *testing.T) {
|
||||
for _, getErr := range []bool{true, false} {
|
||||
ctx := context.TODO()
|
||||
ctx := t.Context()
|
||||
needErrs := []bool{getErr, false, false, false}
|
||||
r, err := initDataDownloadReconciler(t, nil, needErrs...)
|
||||
require.NoError(t, err)
|
||||
@@ -695,7 +695,7 @@ func TestOnDataDownloadCompleted(t *testing.T) {
|
||||
|
||||
for _, test := range tests {
|
||||
t.Run(test.name, func(t *testing.T) {
|
||||
ctx := context.TODO()
|
||||
ctx := t.Context()
|
||||
needErrs := []bool{test.isGetErr, false, false, false}
|
||||
r, err := initDataDownloadReconciler(t, nil, needErrs...)
|
||||
r.restoreExposer = func() exposer.GenericRestoreExposer {
|
||||
@@ -760,7 +760,7 @@ func TestOnDataDownloadProgress(t *testing.T) {
|
||||
}
|
||||
for _, test := range tests {
|
||||
t.Run(test.name, func(t *testing.T) {
|
||||
ctx := context.TODO()
|
||||
ctx := t.Context()
|
||||
|
||||
r, err := initDataDownloadReconciler(t, nil, test.needErrs...)
|
||||
require.NoError(t, err)
|
||||
@@ -772,7 +772,7 @@ func TestOnDataDownloadProgress(t *testing.T) {
|
||||
namespace := dd.Namespace
|
||||
duName := dd.Name
|
||||
// Add the DataDownload object to the fake client
|
||||
require.NoError(t, r.client.Create(context.Background(), dd))
|
||||
require.NoError(t, r.client.Create(t.Context(), dd))
|
||||
|
||||
// Create a Progress object
|
||||
progress := &uploader.Progress{
|
||||
@@ -841,11 +841,11 @@ func TestFindDataDownloadForPod(t *testing.T) {
|
||||
},
|
||||
}
|
||||
for _, test := range tests {
|
||||
ctx := context.Background()
|
||||
ctx := t.Context()
|
||||
assert.NoError(t, r.client.Create(ctx, test.pod))
|
||||
assert.NoError(t, r.client.Create(ctx, test.du))
|
||||
// Call the findSnapshotRestoreForPod function
|
||||
requests := r.findSnapshotRestoreForPod(context.Background(), test.pod)
|
||||
requests := r.findSnapshotRestoreForPod(t.Context(), test.pod)
|
||||
test.checkFunc(test.du, requests)
|
||||
r.client.Delete(ctx, test.du, &kbclient.DeleteOptions{})
|
||||
if test.pod != nil {
|
||||
@@ -881,7 +881,7 @@ func TestAcceptDataDownload(t *testing.T) {
|
||||
},
|
||||
}
|
||||
for _, test := range tests {
|
||||
ctx := context.Background()
|
||||
ctx := t.Context()
|
||||
r, err := initDataDownloadReconcilerWithError(t, nil, test.needErrs...)
|
||||
require.NoError(t, err)
|
||||
|
||||
@@ -925,7 +925,7 @@ func TestOnDdPrepareTimeout(t *testing.T) {
|
||||
},
|
||||
}
|
||||
for _, test := range tests {
|
||||
ctx := context.Background()
|
||||
ctx := t.Context()
|
||||
r, err := initDataDownloadReconcilerWithError(t, nil, test.needErrs...)
|
||||
require.NoError(t, err)
|
||||
|
||||
@@ -970,7 +970,7 @@ func TestTryCancelDataDownload(t *testing.T) {
|
||||
},
|
||||
}
|
||||
for _, test := range tests {
|
||||
ctx := context.Background()
|
||||
ctx := t.Context()
|
||||
r, err := initDataDownloadReconcilerWithError(t, nil, test.needErrs...)
|
||||
require.NoError(t, err)
|
||||
|
||||
@@ -1027,7 +1027,7 @@ func TestUpdateDataDownloadWithRetry(t *testing.T) {
|
||||
|
||||
for _, tc := range testCases {
|
||||
t.Run(tc.Name, func(t *testing.T) {
|
||||
ctx, cancelFunc := context.WithTimeout(context.TODO(), time.Second*5)
|
||||
ctx, cancelFunc := context.WithTimeout(t.Context(), time.Second*5)
|
||||
defer cancelFunc()
|
||||
r, err := initDataDownloadReconciler(t, nil, tc.needErrs...)
|
||||
require.NoError(t, err)
|
||||
@@ -1145,7 +1145,7 @@ func TestAttemptDataDownloadResume(t *testing.T) {
|
||||
|
||||
for _, test := range tests {
|
||||
t.Run(test.name, func(t *testing.T) {
|
||||
ctx := context.TODO()
|
||||
ctx := t.Context()
|
||||
r, err := initDataDownloadReconciler(t, nil, test.needErrs...)
|
||||
r.nodeName = "node-1"
|
||||
require.NoError(t, err)
|
||||
@@ -1172,21 +1172,21 @@ func TestAttemptDataDownloadResume(t *testing.T) {
|
||||
// Verify DataDownload marked as Canceled
|
||||
for _, duName := range test.cancelledDataDownloads {
|
||||
dataDownload := &velerov2alpha1api.DataDownload{}
|
||||
err := r.client.Get(context.Background(), types.NamespacedName{Namespace: "velero", Name: duName}, dataDownload)
|
||||
err := r.client.Get(t.Context(), types.NamespacedName{Namespace: "velero", Name: duName}, dataDownload)
|
||||
require.NoError(t, err)
|
||||
assert.True(t, dataDownload.Spec.Cancel)
|
||||
}
|
||||
// Verify DataDownload marked as Accepted
|
||||
for _, duName := range test.acceptedDataDownloads {
|
||||
dataUpload := &velerov2alpha1api.DataDownload{}
|
||||
err := r.client.Get(context.Background(), types.NamespacedName{Namespace: "velero", Name: duName}, dataUpload)
|
||||
err := r.client.Get(t.Context(), types.NamespacedName{Namespace: "velero", Name: duName}, dataUpload)
|
||||
require.NoError(t, err)
|
||||
assert.Equal(t, velerov2alpha1api.DataDownloadPhaseAccepted, dataUpload.Status.Phase)
|
||||
}
|
||||
// Verify DataDownload marked as Prepared
|
||||
for _, duName := range test.prepareddDataDownloads {
|
||||
dataUpload := &velerov2alpha1api.DataDownload{}
|
||||
err := r.client.Get(context.Background(), types.NamespacedName{Namespace: "velero", Name: duName}, dataUpload)
|
||||
err := r.client.Get(t.Context(), types.NamespacedName{Namespace: "velero", Name: duName}, dataUpload)
|
||||
require.NoError(t, err)
|
||||
assert.Equal(t, velerov2alpha1api.DataDownloadPhasePrepared, dataUpload.Status.Phase)
|
||||
}
|
||||
@@ -1263,7 +1263,7 @@ func TestResumeCancellableRestore(t *testing.T) {
|
||||
|
||||
for _, test := range tests {
|
||||
t.Run(test.name, func(t *testing.T) {
|
||||
ctx := context.TODO()
|
||||
ctx := t.Context()
|
||||
r, err := initDataDownloadReconciler(t, nil, false)
|
||||
r.nodeName = "node-1"
|
||||
require.NoError(t, err)
|
||||
|
||||
@@ -616,12 +616,12 @@ func TestReconcile(t *testing.T) {
|
||||
require.NoError(t, err)
|
||||
|
||||
if !test.notCreateDU {
|
||||
err = r.client.Create(context.Background(), test.du)
|
||||
err = r.client.Create(t.Context(), test.du)
|
||||
require.NoError(t, err)
|
||||
}
|
||||
|
||||
if test.needDelete {
|
||||
err = r.client.Delete(context.Background(), test.du)
|
||||
err = r.client.Delete(t.Context(), test.du)
|
||||
require.NoError(t, err)
|
||||
}
|
||||
|
||||
@@ -737,7 +737,7 @@ func TestReconcile(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestOnDataUploadCancelled(t *testing.T) {
|
||||
ctx := context.TODO()
|
||||
ctx := t.Context()
|
||||
r, err := initDataUploaderReconciler()
|
||||
require.NoError(t, err)
|
||||
// Create a DataUpload object
|
||||
@@ -785,7 +785,7 @@ func TestOnDataUploadProgress(t *testing.T) {
|
||||
}
|
||||
for _, test := range tests {
|
||||
t.Run(test.name, func(t *testing.T) {
|
||||
ctx := context.TODO()
|
||||
ctx := t.Context()
|
||||
|
||||
r, err := initDataUploaderReconciler(test.needErrs...)
|
||||
require.NoError(t, err)
|
||||
@@ -797,7 +797,7 @@ func TestOnDataUploadProgress(t *testing.T) {
|
||||
namespace := du.Namespace
|
||||
duName := du.Name
|
||||
// Add the DataUpload object to the fake client
|
||||
require.NoError(t, r.client.Create(context.Background(), du))
|
||||
require.NoError(t, r.client.Create(t.Context(), du))
|
||||
|
||||
// Create a Progress object
|
||||
progress := &uploader.Progress{
|
||||
@@ -820,7 +820,7 @@ func TestOnDataUploadProgress(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestOnDataUploadFailed(t *testing.T) {
|
||||
ctx := context.TODO()
|
||||
ctx := t.Context()
|
||||
r, err := initDataUploaderReconciler()
|
||||
require.NoError(t, err)
|
||||
|
||||
@@ -840,7 +840,7 @@ func TestOnDataUploadFailed(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestOnDataUploadCompleted(t *testing.T) {
|
||||
ctx := context.TODO()
|
||||
ctx := t.Context()
|
||||
r, err := initDataUploaderReconciler()
|
||||
require.NoError(t, err)
|
||||
// Create a DataUpload object
|
||||
@@ -903,11 +903,11 @@ func TestFindDataUploadForPod(t *testing.T) {
|
||||
},
|
||||
}
|
||||
for _, test := range tests {
|
||||
ctx := context.Background()
|
||||
ctx := t.Context()
|
||||
assert.NoError(t, r.client.Create(ctx, test.pod))
|
||||
assert.NoError(t, r.client.Create(ctx, test.du))
|
||||
// Call the findDataUploadForPod function
|
||||
requests := r.findDataUploadForPod(context.Background(), test.pod)
|
||||
requests := r.findDataUploadForPod(t.Context(), test.pod)
|
||||
test.checkFunc(test.du, requests)
|
||||
r.client.Delete(ctx, test.du, &kbclient.DeleteOptions{})
|
||||
if test.pod != nil {
|
||||
@@ -957,7 +957,7 @@ func TestAcceptDataUpload(t *testing.T) {
|
||||
},
|
||||
}
|
||||
for _, test := range tests {
|
||||
ctx := context.Background()
|
||||
ctx := t.Context()
|
||||
r, err := initDataUploaderReconcilerWithError(test.needErrs...)
|
||||
require.NoError(t, err)
|
||||
|
||||
@@ -1001,7 +1001,7 @@ func TestOnDuPrepareTimeout(t *testing.T) {
|
||||
},
|
||||
}
|
||||
for _, test := range tests {
|
||||
ctx := context.Background()
|
||||
ctx := t.Context()
|
||||
r, err := initDataUploaderReconcilerWithError(test.needErrs...)
|
||||
require.NoError(t, err)
|
||||
|
||||
@@ -1046,7 +1046,7 @@ func TestTryCancelDataUpload(t *testing.T) {
|
||||
},
|
||||
}
|
||||
for _, test := range tests {
|
||||
ctx := context.Background()
|
||||
ctx := t.Context()
|
||||
r, err := initDataUploaderReconcilerWithError(test.needErrs...)
|
||||
require.NoError(t, err)
|
||||
|
||||
@@ -1103,7 +1103,7 @@ func TestUpdateDataUploadWithRetry(t *testing.T) {
|
||||
|
||||
for _, tc := range testCases {
|
||||
t.Run(tc.Name, func(t *testing.T) {
|
||||
ctx, cancelFunc := context.WithTimeout(context.TODO(), time.Second*5)
|
||||
ctx, cancelFunc := context.WithTimeout(t.Context(), time.Second*5)
|
||||
defer cancelFunc()
|
||||
r, err := initDataUploaderReconciler(tc.needErrs...)
|
||||
require.NoError(t, err)
|
||||
@@ -1212,7 +1212,7 @@ func TestAttemptDataUploadResume(t *testing.T) {
|
||||
|
||||
for _, test := range tests {
|
||||
t.Run(test.name, func(t *testing.T) {
|
||||
ctx := context.TODO()
|
||||
ctx := t.Context()
|
||||
r, err := initDataUploaderReconciler(test.needErrs...)
|
||||
r.nodeName = "node-1"
|
||||
require.NoError(t, err)
|
||||
@@ -1236,28 +1236,28 @@ func TestAttemptDataUploadResume(t *testing.T) {
|
||||
// Verify DataUploads marked as Canceled
|
||||
for _, duName := range test.cancelledDataUploads {
|
||||
dataUpload := &velerov2alpha1api.DataUpload{}
|
||||
err := r.client.Get(context.Background(), types.NamespacedName{Namespace: "velero", Name: duName}, dataUpload)
|
||||
err := r.client.Get(t.Context(), types.NamespacedName{Namespace: "velero", Name: duName}, dataUpload)
|
||||
require.NoError(t, err)
|
||||
assert.True(t, dataUpload.Spec.Cancel)
|
||||
}
|
||||
// Verify DataUploads marked as Accepted
|
||||
for _, duName := range test.acceptedDataUploads {
|
||||
dataUpload := &velerov2alpha1api.DataUpload{}
|
||||
err := r.client.Get(context.Background(), types.NamespacedName{Namespace: "velero", Name: duName}, dataUpload)
|
||||
err := r.client.Get(t.Context(), types.NamespacedName{Namespace: "velero", Name: duName}, dataUpload)
|
||||
require.NoError(t, err)
|
||||
assert.Equal(t, velerov2alpha1api.DataUploadPhaseAccepted, dataUpload.Status.Phase)
|
||||
}
|
||||
// Verify DataUploads marked as Prepared
|
||||
for _, duName := range test.prepareddDataUploads {
|
||||
dataUpload := &velerov2alpha1api.DataUpload{}
|
||||
err := r.client.Get(context.Background(), types.NamespacedName{Namespace: "velero", Name: duName}, dataUpload)
|
||||
err := r.client.Get(t.Context(), types.NamespacedName{Namespace: "velero", Name: duName}, dataUpload)
|
||||
require.NoError(t, err)
|
||||
assert.Equal(t, velerov2alpha1api.DataUploadPhasePrepared, dataUpload.Status.Phase)
|
||||
}
|
||||
// Verify DataUploads marked as InProgress
|
||||
for _, duName := range test.inProgressDataUploads {
|
||||
dataUpload := &velerov2alpha1api.DataUpload{}
|
||||
err := r.client.Get(context.Background(), types.NamespacedName{Namespace: "velero", Name: duName}, dataUpload)
|
||||
err := r.client.Get(t.Context(), types.NamespacedName{Namespace: "velero", Name: duName}, dataUpload)
|
||||
require.NoError(t, err)
|
||||
assert.Equal(t, velerov2alpha1api.DataUploadPhaseInProgress, dataUpload.Status.Phase)
|
||||
}
|
||||
@@ -1339,7 +1339,7 @@ func TestResumeCancellableBackup(t *testing.T) {
|
||||
|
||||
for _, test := range tests {
|
||||
t.Run(test.name, func(t *testing.T) {
|
||||
ctx := context.TODO()
|
||||
ctx := t.Context()
|
||||
r, err := initDataUploaderReconciler()
|
||||
r.nodeName = "node-1"
|
||||
require.NoError(t, err)
|
||||
|
||||
@@ -17,7 +17,6 @@ limitations under the License.
|
||||
package controller
|
||||
|
||||
import (
|
||||
"context"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
@@ -145,7 +144,7 @@ func TestGCReconcile(t *testing.T) {
|
||||
|
||||
fakeClient := velerotest.NewFakeControllerRuntimeClient(t, initObjs...)
|
||||
reconciler := mockGCReconciler(fakeClient, fakeClock, defaultGCFrequency)
|
||||
_, err := reconciler.Reconcile(context.TODO(), ctrl.Request{NamespacedName: types.NamespacedName{Namespace: test.backup.Namespace, Name: test.backup.Name}})
|
||||
_, err := reconciler.Reconcile(t.Context(), ctrl.Request{NamespacedName: types.NamespacedName{Namespace: test.backup.Namespace, Name: test.backup.Name}})
|
||||
gotErr := err != nil
|
||||
assert.Equal(t, test.expectError, gotErr)
|
||||
})
|
||||
|
||||
@@ -465,12 +465,12 @@ func TestPVBReconcile(t *testing.T) {
|
||||
require.NoError(t, err)
|
||||
|
||||
if !test.notCreatePvb {
|
||||
err = r.client.Create(context.Background(), test.pvb)
|
||||
err = r.client.Create(t.Context(), test.pvb)
|
||||
require.NoError(t, err)
|
||||
}
|
||||
|
||||
if test.needDelete {
|
||||
err = r.client.Delete(context.Background(), test.pvb)
|
||||
err = r.client.Delete(t.Context(), test.pvb)
|
||||
require.NoError(t, err)
|
||||
}
|
||||
|
||||
@@ -579,7 +579,7 @@ func TestPVBReconcile(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestOnPVBCancelled(t *testing.T) {
|
||||
ctx := context.TODO()
|
||||
ctx := t.Context()
|
||||
r, err := initPVBReconciler()
|
||||
require.NoError(t, err)
|
||||
pvb := pvbBuilder().Result()
|
||||
@@ -626,7 +626,7 @@ func TestOnPVBProgress(t *testing.T) {
|
||||
}
|
||||
for _, test := range tests {
|
||||
t.Run(test.name, func(t *testing.T) {
|
||||
ctx := context.TODO()
|
||||
ctx := t.Context()
|
||||
|
||||
r, err := initPVBReconciler(test.needErrs...)
|
||||
require.NoError(t, err)
|
||||
@@ -638,7 +638,7 @@ func TestOnPVBProgress(t *testing.T) {
|
||||
namespace := pvb.Namespace
|
||||
pvbName := pvb.Name
|
||||
|
||||
require.NoError(t, r.client.Create(context.Background(), pvb))
|
||||
require.NoError(t, r.client.Create(t.Context(), pvb))
|
||||
|
||||
// Create a Progress object
|
||||
progress := &uploader.Progress{
|
||||
@@ -658,7 +658,7 @@ func TestOnPVBProgress(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestOnPvbFailed(t *testing.T) {
|
||||
ctx := context.TODO()
|
||||
ctx := t.Context()
|
||||
r, err := initPVBReconciler()
|
||||
require.NoError(t, err)
|
||||
|
||||
@@ -677,7 +677,7 @@ func TestOnPvbFailed(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestOnPvbCompleted(t *testing.T) {
|
||||
ctx := context.TODO()
|
||||
ctx := t.Context()
|
||||
r, err := initPVBReconciler()
|
||||
require.NoError(t, err)
|
||||
|
||||
@@ -741,11 +741,11 @@ func TestFindPvbForPod(t *testing.T) {
|
||||
},
|
||||
}
|
||||
for _, test := range tests {
|
||||
ctx := context.Background()
|
||||
ctx := t.Context()
|
||||
assert.NoError(t, r.client.Create(ctx, test.pod))
|
||||
assert.NoError(t, r.client.Create(ctx, test.pvb))
|
||||
|
||||
requests := r.findPVBForPod(context.Background(), test.pod)
|
||||
requests := r.findPVBForPod(t.Context(), test.pod)
|
||||
test.checkFunc(test.pvb, requests)
|
||||
r.client.Delete(ctx, test.pvb, &client.DeleteOptions{})
|
||||
if test.pod != nil {
|
||||
@@ -774,7 +774,7 @@ func TestAcceptPvb(t *testing.T) {
|
||||
},
|
||||
}
|
||||
for _, test := range tests {
|
||||
ctx := context.Background()
|
||||
ctx := t.Context()
|
||||
r, err := initPVBReconcilerWithError(test.needErrs...)
|
||||
require.NoError(t, err)
|
||||
|
||||
@@ -817,7 +817,7 @@ func TestOnPvbPrepareTimeout(t *testing.T) {
|
||||
},
|
||||
}
|
||||
for _, test := range tests {
|
||||
ctx := context.Background()
|
||||
ctx := t.Context()
|
||||
r, err := initPVBReconcilerWithError(test.needErrs...)
|
||||
require.NoError(t, err)
|
||||
|
||||
@@ -862,7 +862,7 @@ func TestTryCancelPvb(t *testing.T) {
|
||||
},
|
||||
}
|
||||
for _, test := range tests {
|
||||
ctx := context.Background()
|
||||
ctx := t.Context()
|
||||
r, err := initPVBReconcilerWithError(test.needErrs...)
|
||||
require.NoError(t, err)
|
||||
|
||||
@@ -919,7 +919,7 @@ func TestUpdatePvbWithRetry(t *testing.T) {
|
||||
|
||||
for _, tc := range testCases {
|
||||
t.Run(tc.Name, func(t *testing.T) {
|
||||
ctx, cancelFunc := context.WithTimeout(context.TODO(), time.Second*5)
|
||||
ctx, cancelFunc := context.WithTimeout(t.Context(), time.Second*5)
|
||||
defer cancelFunc()
|
||||
r, err := initPVBReconciler(tc.needErrs...)
|
||||
require.NoError(t, err)
|
||||
@@ -1028,7 +1028,7 @@ func TestAttemptPVBResume(t *testing.T) {
|
||||
|
||||
for _, test := range tests {
|
||||
t.Run(test.name, func(t *testing.T) {
|
||||
ctx := context.TODO()
|
||||
ctx := t.Context()
|
||||
r, err := initPVBReconciler(test.needErrs...)
|
||||
r.nodeName = "node-1"
|
||||
require.NoError(t, err)
|
||||
@@ -1051,28 +1051,28 @@ func TestAttemptPVBResume(t *testing.T) {
|
||||
|
||||
for _, pvbName := range test.cancelledPvbs {
|
||||
pvb := &velerov1api.PodVolumeBackup{}
|
||||
err := r.client.Get(context.Background(), types.NamespacedName{Namespace: "velero", Name: pvbName}, pvb)
|
||||
err := r.client.Get(t.Context(), types.NamespacedName{Namespace: "velero", Name: pvbName}, pvb)
|
||||
require.NoError(t, err)
|
||||
assert.True(t, pvb.Spec.Cancel)
|
||||
}
|
||||
|
||||
for _, pvbName := range test.acceptedPvbs {
|
||||
pvb := &velerov1api.PodVolumeBackup{}
|
||||
err := r.client.Get(context.Background(), types.NamespacedName{Namespace: "velero", Name: pvbName}, pvb)
|
||||
err := r.client.Get(t.Context(), types.NamespacedName{Namespace: "velero", Name: pvbName}, pvb)
|
||||
require.NoError(t, err)
|
||||
assert.Equal(t, velerov1api.PodVolumeBackupPhaseAccepted, pvb.Status.Phase)
|
||||
}
|
||||
|
||||
for _, pvbName := range test.preparedPvbs {
|
||||
pvb := &velerov1api.PodVolumeBackup{}
|
||||
err := r.client.Get(context.Background(), types.NamespacedName{Namespace: "velero", Name: pvbName}, pvb)
|
||||
err := r.client.Get(t.Context(), types.NamespacedName{Namespace: "velero", Name: pvbName}, pvb)
|
||||
require.NoError(t, err)
|
||||
assert.Equal(t, velerov1api.PodVolumeBackupPhasePrepared, pvb.Status.Phase)
|
||||
}
|
||||
|
||||
for _, pvbName := range test.inProgressPvbs {
|
||||
pvb := &velerov1api.PodVolumeBackup{}
|
||||
err := r.client.Get(context.Background(), types.NamespacedName{Namespace: "velero", Name: pvbName}, pvb)
|
||||
err := r.client.Get(t.Context(), types.NamespacedName{Namespace: "velero", Name: pvbName}, pvb)
|
||||
require.NoError(t, err)
|
||||
assert.Equal(t, velerov1api.PodVolumeBackupPhaseInProgress, pvb.Status.Phase)
|
||||
}
|
||||
@@ -1149,7 +1149,7 @@ func TestResumeCancellablePodVolumeBackup(t *testing.T) {
|
||||
|
||||
for _, test := range tests {
|
||||
t.Run(test.name, func(t *testing.T) {
|
||||
ctx := context.TODO()
|
||||
ctx := t.Context()
|
||||
r, err := initPVBReconciler()
|
||||
r.nodeName = "node-1"
|
||||
require.NoError(t, err)
|
||||
|
||||
@@ -17,7 +17,6 @@ limitations under the License.
|
||||
package controller
|
||||
|
||||
import (
|
||||
"context"
|
||||
"testing"
|
||||
|
||||
"github.com/sirupsen/logrus"
|
||||
@@ -43,7 +42,7 @@ func TestFindVolumeRestoresForPodLegacy(t *testing.T) {
|
||||
Client: clientBuilder.Build(),
|
||||
logger: logrus.New(),
|
||||
}
|
||||
requests := reconciler.findVolumeRestoresForPod(context.Background(), pod)
|
||||
requests := reconciler.findVolumeRestoresForPod(t.Context(), pod)
|
||||
assert.Empty(t, requests)
|
||||
|
||||
// contain one matching PVR
|
||||
@@ -89,6 +88,6 @@ func TestFindVolumeRestoresForPodLegacy(t *testing.T) {
|
||||
},
|
||||
},
|
||||
}).Build()
|
||||
requests = reconciler.findVolumeRestoresForPod(context.Background(), pod)
|
||||
requests = reconciler.findVolumeRestoresForPod(t.Context(), pod)
|
||||
assert.Len(t, requests, 1)
|
||||
}
|
||||
|
||||
@@ -204,7 +204,7 @@ func TestShouldProcess(t *testing.T) {
|
||||
|
||||
for _, ts := range tests {
|
||||
t.Run(ts.name, func(t *testing.T) {
|
||||
ctx := context.Background()
|
||||
ctx := t.Context()
|
||||
|
||||
var objs []runtime.Object
|
||||
if ts.obj != nil {
|
||||
@@ -513,7 +513,7 @@ func TestFindPVRForTargetPod(t *testing.T) {
|
||||
client: clientBuilder.Build(),
|
||||
logger: logrus.New(),
|
||||
}
|
||||
requests := reconciler.findPVRForTargetPod(context.Background(), pod)
|
||||
requests := reconciler.findPVRForTargetPod(t.Context(), pod)
|
||||
assert.Empty(t, requests)
|
||||
|
||||
// contain one matching PVR
|
||||
@@ -537,7 +537,7 @@ func TestFindPVRForTargetPod(t *testing.T) {
|
||||
},
|
||||
},
|
||||
}).Build()
|
||||
requests = reconciler.findPVRForTargetPod(context.Background(), pod)
|
||||
requests = reconciler.findPVRForTargetPod(t.Context(), pod)
|
||||
assert.Len(t, requests, 1)
|
||||
}
|
||||
|
||||
@@ -932,12 +932,12 @@ func TestPodVolumeRestoreReconcile(t *testing.T) {
|
||||
require.NoError(t, err)
|
||||
|
||||
if !test.notCreatePVR {
|
||||
err = r.client.Create(context.Background(), test.pvr)
|
||||
err = r.client.Create(t.Context(), test.pvr)
|
||||
require.NoError(t, err)
|
||||
}
|
||||
|
||||
if test.needDelete {
|
||||
err = r.client.Delete(context.Background(), test.pvr)
|
||||
err = r.client.Delete(t.Context(), test.pvr)
|
||||
require.NoError(t, err)
|
||||
}
|
||||
|
||||
@@ -1084,7 +1084,7 @@ func TestPodVolumeRestoreReconcile(t *testing.T) {
|
||||
|
||||
func TestOnPodVolumeRestoreFailed(t *testing.T) {
|
||||
for _, getErr := range []bool{true, false} {
|
||||
ctx := context.TODO()
|
||||
ctx := t.Context()
|
||||
needErrs := []bool{getErr, false, false, false}
|
||||
r, err := initPodVolumeRestoreReconciler(nil, []client.Object{}, needErrs...)
|
||||
require.NoError(t, err)
|
||||
@@ -1110,7 +1110,7 @@ func TestOnPodVolumeRestoreFailed(t *testing.T) {
|
||||
|
||||
func TestOnPodVolumeRestoreCancelled(t *testing.T) {
|
||||
for _, getErr := range []bool{true, false} {
|
||||
ctx := context.TODO()
|
||||
ctx := t.Context()
|
||||
needErrs := []bool{getErr, false, false, false}
|
||||
r, err := initPodVolumeRestoreReconciler(nil, nil, needErrs...)
|
||||
require.NoError(t, err)
|
||||
@@ -1152,7 +1152,7 @@ func TestOnPodVolumeRestoreCompleted(t *testing.T) {
|
||||
|
||||
for _, test := range tests {
|
||||
t.Run(test.name, func(t *testing.T) {
|
||||
ctx := context.TODO()
|
||||
ctx := t.Context()
|
||||
needErrs := []bool{test.isGetErr, false, false, false}
|
||||
r, err := initPodVolumeRestoreReconciler(nil, []client.Object{}, needErrs...)
|
||||
r.exposer = func() exposer.PodVolumeExposer {
|
||||
@@ -1212,7 +1212,7 @@ func TestOnPodVolumeRestoreProgress(t *testing.T) {
|
||||
}
|
||||
for _, test := range tests {
|
||||
t.Run(test.name, func(t *testing.T) {
|
||||
ctx := context.TODO()
|
||||
ctx := t.Context()
|
||||
|
||||
r, err := initPodVolumeRestoreReconciler(nil, []client.Object{}, test.needErrs...)
|
||||
require.NoError(t, err)
|
||||
@@ -1224,7 +1224,7 @@ func TestOnPodVolumeRestoreProgress(t *testing.T) {
|
||||
namespace := pvr.Namespace
|
||||
pvrName := pvr.Name
|
||||
|
||||
require.NoError(t, r.client.Create(context.Background(), pvr))
|
||||
require.NoError(t, r.client.Create(t.Context(), pvr))
|
||||
|
||||
// Create a Progress object
|
||||
progress := &uploader.Progress{
|
||||
@@ -1290,11 +1290,11 @@ func TestFindPVBForRestorePod(t *testing.T) {
|
||||
},
|
||||
}
|
||||
for _, test := range tests {
|
||||
ctx := context.Background()
|
||||
ctx := t.Context()
|
||||
assert.NoError(t, r.client.Create(ctx, test.pod))
|
||||
assert.NoError(t, r.client.Create(ctx, test.pvr))
|
||||
// Call the findSnapshotRestoreForPod function
|
||||
requests := r.findPVRForRestorePod(context.Background(), test.pod)
|
||||
requests := r.findPVRForRestorePod(t.Context(), test.pod)
|
||||
test.checkFunc(test.pvr, requests)
|
||||
r.client.Delete(ctx, test.pvr, &kbclient.DeleteOptions{})
|
||||
if test.pod != nil {
|
||||
@@ -1330,7 +1330,7 @@ func TestOnPVRPrepareTimeout(t *testing.T) {
|
||||
},
|
||||
}
|
||||
for _, test := range tests {
|
||||
ctx := context.Background()
|
||||
ctx := t.Context()
|
||||
r, err := initPodVolumeRestoreReconcilerWithError(nil, []client.Object{}, test.needErrs...)
|
||||
require.NoError(t, err)
|
||||
|
||||
@@ -1375,7 +1375,7 @@ func TestTryCancelPVR(t *testing.T) {
|
||||
},
|
||||
}
|
||||
for _, test := range tests {
|
||||
ctx := context.Background()
|
||||
ctx := t.Context()
|
||||
r, err := initPodVolumeRestoreReconcilerWithError(nil, []client.Object{}, test.needErrs...)
|
||||
require.NoError(t, err)
|
||||
|
||||
@@ -1432,7 +1432,7 @@ func TestUpdatePVRWithRetry(t *testing.T) {
|
||||
|
||||
for _, tc := range testCases {
|
||||
t.Run(tc.Name, func(t *testing.T) {
|
||||
ctx, cancelFunc := context.WithTimeout(context.TODO(), time.Second*5)
|
||||
ctx, cancelFunc := context.WithTimeout(t.Context(), time.Second*5)
|
||||
defer cancelFunc()
|
||||
r, err := initPodVolumeRestoreReconciler(nil, []client.Object{}, tc.needErrs...)
|
||||
require.NoError(t, err)
|
||||
@@ -1512,7 +1512,7 @@ func TestAttemptPVRResume(t *testing.T) {
|
||||
|
||||
for _, test := range tests {
|
||||
t.Run(test.name, func(t *testing.T) {
|
||||
ctx := context.TODO()
|
||||
ctx := t.Context()
|
||||
r, err := initPodVolumeRestoreReconciler(nil, []client.Object{}, test.needErrs...)
|
||||
r.nodeName = "node-1"
|
||||
require.NoError(t, err)
|
||||
@@ -1538,21 +1538,21 @@ func TestAttemptPVRResume(t *testing.T) {
|
||||
|
||||
for _, pvrName := range test.cancelledPvrs {
|
||||
pvr := &velerov1api.PodVolumeRestore{}
|
||||
err := r.client.Get(context.Background(), types.NamespacedName{Namespace: "velero", Name: pvrName}, pvr)
|
||||
err := r.client.Get(t.Context(), types.NamespacedName{Namespace: "velero", Name: pvrName}, pvr)
|
||||
require.NoError(t, err)
|
||||
assert.True(t, pvr.Spec.Cancel)
|
||||
}
|
||||
|
||||
for _, pvrName := range test.acceptedPvrs {
|
||||
pvr := &velerov1api.PodVolumeRestore{}
|
||||
err := r.client.Get(context.Background(), types.NamespacedName{Namespace: "velero", Name: pvrName}, pvr)
|
||||
err := r.client.Get(t.Context(), types.NamespacedName{Namespace: "velero", Name: pvrName}, pvr)
|
||||
require.NoError(t, err)
|
||||
assert.Equal(t, velerov1api.PodVolumeRestorePhaseAccepted, pvr.Status.Phase)
|
||||
}
|
||||
|
||||
for _, pvrName := range test.preparedPvrs {
|
||||
pvr := &velerov1api.PodVolumeRestore{}
|
||||
err := r.client.Get(context.Background(), types.NamespacedName{Namespace: "velero", Name: pvrName}, pvr)
|
||||
err := r.client.Get(t.Context(), types.NamespacedName{Namespace: "velero", Name: pvrName}, pvr)
|
||||
require.NoError(t, err)
|
||||
assert.Equal(t, velerov1api.PodVolumeRestorePhasePrepared, pvr.Status.Phase)
|
||||
}
|
||||
@@ -1629,7 +1629,7 @@ func TestResumeCancellablePodVolumeRestore(t *testing.T) {
|
||||
|
||||
for _, test := range tests {
|
||||
t.Run(test.name, func(t *testing.T) {
|
||||
ctx := context.TODO()
|
||||
ctx := t.Context()
|
||||
r, err := initPodVolumeRestoreReconciler(nil, []client.Object{})
|
||||
r.nodeName = "node-1"
|
||||
require.NoError(t, err)
|
||||
|
||||
@@ -18,7 +18,6 @@ package controller
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"context"
|
||||
"io"
|
||||
"testing"
|
||||
"time"
|
||||
@@ -103,7 +102,7 @@ func TestFetchBackupInfo(t *testing.T) {
|
||||
defer backupStore.AssertExpectations(t)
|
||||
|
||||
r := NewRestoreReconciler(
|
||||
context.Background(),
|
||||
t.Context(),
|
||||
velerov1api.DefaultNamespace,
|
||||
restorer,
|
||||
fakeClient,
|
||||
@@ -121,11 +120,11 @@ func TestFetchBackupInfo(t *testing.T) {
|
||||
|
||||
if test.backupStoreError == nil {
|
||||
for _, itm := range test.informerLocations {
|
||||
require.NoError(t, r.kbClient.Create(context.Background(), itm))
|
||||
require.NoError(t, r.kbClient.Create(t.Context(), itm))
|
||||
}
|
||||
|
||||
for _, itm := range test.informerBackups {
|
||||
require.NoError(t, r.kbClient.Create(context.Background(), itm))
|
||||
require.NoError(t, r.kbClient.Create(t.Context(), itm))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -180,11 +179,11 @@ func TestProcessQueueItemSkips(t *testing.T) {
|
||||
)
|
||||
|
||||
if test.restore != nil {
|
||||
require.NoError(t, fakeClient.Create(context.Background(), test.restore))
|
||||
require.NoError(t, fakeClient.Create(t.Context(), test.restore))
|
||||
}
|
||||
|
||||
r := NewRestoreReconciler(
|
||||
context.Background(),
|
||||
t.Context(),
|
||||
velerov1api.DefaultNamespace,
|
||||
restorer,
|
||||
fakeClient,
|
||||
@@ -200,7 +199,7 @@ func TestProcessQueueItemSkips(t *testing.T) {
|
||||
10*time.Minute,
|
||||
)
|
||||
|
||||
_, err := r.Reconcile(context.Background(), ctrl.Request{NamespacedName: types.NamespacedName{
|
||||
_, err := r.Reconcile(t.Context(), ctrl.Request{NamespacedName: types.NamespacedName{
|
||||
Namespace: test.namespace,
|
||||
Name: test.restoreName,
|
||||
}})
|
||||
@@ -503,7 +502,7 @@ func TestRestoreReconcile(t *testing.T) {
|
||||
}()
|
||||
|
||||
r := NewRestoreReconciler(
|
||||
context.Background(),
|
||||
t.Context(),
|
||||
velerov1api.DefaultNamespace,
|
||||
restorer,
|
||||
fakeClient,
|
||||
@@ -521,15 +520,15 @@ func TestRestoreReconcile(t *testing.T) {
|
||||
|
||||
r.clock = clocktesting.NewFakeClock(now)
|
||||
if test.location != nil {
|
||||
require.NoError(t, r.kbClient.Create(context.Background(), test.location))
|
||||
require.NoError(t, r.kbClient.Create(t.Context(), test.location))
|
||||
}
|
||||
if test.backup != nil {
|
||||
require.NoError(t, r.kbClient.Create(context.Background(), test.backup))
|
||||
require.NoError(t, r.kbClient.Create(t.Context(), test.backup))
|
||||
}
|
||||
|
||||
if test.restore != nil {
|
||||
isDeletionTimestampSet := test.restore.DeletionTimestamp != nil
|
||||
require.NoError(t, r.kbClient.Create(context.Background(), test.restore))
|
||||
require.NoError(t, r.kbClient.Create(t.Context(), test.restore))
|
||||
// because of the changes introduced by https://github.com/kubernetes-sigs/controller-runtime/commit/7a66d580c0c53504f5b509b45e9300cc18a1cc30
|
||||
// the fake client ignores the DeletionTimestamp when calling the Create(),
|
||||
// so call Delete() here
|
||||
@@ -596,7 +595,7 @@ func TestRestoreReconcile(t *testing.T) {
|
||||
}
|
||||
|
||||
//err = r.processQueueItem(key)
|
||||
_, err = r.Reconcile(context.Background(), ctrl.Request{NamespacedName: types.NamespacedName{
|
||||
_, err = r.Reconcile(t.Context(), ctrl.Request{NamespacedName: types.NamespacedName{
|
||||
Namespace: test.restore.Namespace,
|
||||
Name: test.restore.Name,
|
||||
}})
|
||||
@@ -687,7 +686,7 @@ func TestValidateAndCompleteWhenScheduleNameSpecified(t *testing.T) {
|
||||
)
|
||||
|
||||
r := NewRestoreReconciler(
|
||||
context.Background(),
|
||||
t.Context(),
|
||||
velerov1api.DefaultNamespace,
|
||||
nil,
|
||||
fakeClient,
|
||||
@@ -714,7 +713,7 @@ func TestValidateAndCompleteWhenScheduleNameSpecified(t *testing.T) {
|
||||
}
|
||||
|
||||
// no backups created from the schedule: fail validation
|
||||
require.NoError(t, r.kbClient.Create(context.Background(), defaultBackup().
|
||||
require.NoError(t, r.kbClient.Create(t.Context(), defaultBackup().
|
||||
ObjectMeta(builder.WithLabels(velerov1api.ScheduleNameLabel, "non-matching-schedule")).
|
||||
Phase(velerov1api.BackupPhaseCompleted).
|
||||
Result()))
|
||||
@@ -725,7 +724,7 @@ func TestValidateAndCompleteWhenScheduleNameSpecified(t *testing.T) {
|
||||
|
||||
// no completed backups created from the schedule: fail validation
|
||||
require.NoError(t, r.kbClient.Create(
|
||||
context.Background(),
|
||||
t.Context(),
|
||||
defaultBackup().
|
||||
ObjectMeta(
|
||||
builder.WithName("backup-2"),
|
||||
@@ -742,7 +741,7 @@ func TestValidateAndCompleteWhenScheduleNameSpecified(t *testing.T) {
|
||||
// multiple completed backups created from the schedule: use most recent
|
||||
now := time.Now()
|
||||
|
||||
require.NoError(t, r.kbClient.Create(context.Background(),
|
||||
require.NoError(t, r.kbClient.Create(t.Context(),
|
||||
defaultBackup().
|
||||
ObjectMeta(
|
||||
builder.WithName("foo"),
|
||||
@@ -755,7 +754,7 @@ func TestValidateAndCompleteWhenScheduleNameSpecified(t *testing.T) {
|
||||
))
|
||||
|
||||
location := builder.ForBackupStorageLocation("velero", "default").Provider("myCloud").Bucket("bucket").Phase(velerov1api.BackupStorageLocationPhaseAvailable).Result()
|
||||
require.NoError(t, r.kbClient.Create(context.Background(), location))
|
||||
require.NoError(t, r.kbClient.Create(t.Context(), location))
|
||||
|
||||
restore = &velerov1api.Restore{
|
||||
ObjectMeta: metav1.ObjectMeta{
|
||||
@@ -783,7 +782,7 @@ func TestValidateAndCompleteWithResourceModifierSpecified(t *testing.T) {
|
||||
)
|
||||
|
||||
r := NewRestoreReconciler(
|
||||
context.Background(),
|
||||
t.Context(),
|
||||
velerov1api.DefaultNamespace,
|
||||
nil,
|
||||
fakeClient,
|
||||
@@ -814,10 +813,10 @@ func TestValidateAndCompleteWithResourceModifierSpecified(t *testing.T) {
|
||||
}
|
||||
|
||||
location := builder.ForBackupStorageLocation("velero", "default").Provider("myCloud").Bucket("bucket").Phase(velerov1api.BackupStorageLocationPhaseAvailable).Result()
|
||||
require.NoError(t, r.kbClient.Create(context.Background(), location))
|
||||
require.NoError(t, r.kbClient.Create(t.Context(), location))
|
||||
|
||||
require.NoError(t, r.kbClient.Create(
|
||||
context.Background(),
|
||||
t.Context(),
|
||||
defaultBackup().
|
||||
ObjectMeta(
|
||||
builder.WithName("backup-1"),
|
||||
@@ -852,7 +851,7 @@ func TestValidateAndCompleteWithResourceModifierSpecified(t *testing.T) {
|
||||
"sub.yml": "version: v1\nresourceModifierRules:\n- conditions:\n groupResource: persistentvolumeclaims\n resourceNameRegex: \".*\"\n namespaces:\n - bar\n - foo\n patches:\n - operation: replace\n path: \"/spec/storageClassName\"\n value: \"premium\"\n - operation: remove\n path: \"/metadata/labels/test\"\n\n\n",
|
||||
},
|
||||
}
|
||||
require.NoError(t, r.kbClient.Create(context.Background(), cm1))
|
||||
require.NoError(t, r.kbClient.Create(t.Context(), cm1))
|
||||
|
||||
r.validateAndComplete(restore1)
|
||||
assert.Nil(t, restore1.Status.ValidationErrors)
|
||||
@@ -881,7 +880,7 @@ func TestValidateAndCompleteWithResourceModifierSpecified(t *testing.T) {
|
||||
"sub.yml": "version1: v1\nresourceModifierRules:\n- conditions:\n groupResource: persistentvolumeclaims\n resourceNameRegex: \".*\"\n namespaces:\n - bar\n - foo\n patches:\n - operation: replace\n path: \"/spec/storageClassName\"\n value: \"premium\"\n - operation: remove\n path: \"/metadata/labels/test\"\n\n\n",
|
||||
},
|
||||
}
|
||||
require.NoError(t, r.kbClient.Create(context.Background(), invalidVersionCm))
|
||||
require.NoError(t, r.kbClient.Create(t.Context(), invalidVersionCm))
|
||||
|
||||
r.validateAndComplete(restore2)
|
||||
assert.Contains(t, restore2.Status.ValidationErrors[0], "Error in parsing resource modifiers provided in configmap")
|
||||
@@ -909,7 +908,7 @@ func TestValidateAndCompleteWithResourceModifierSpecified(t *testing.T) {
|
||||
"sub.yml": "version: v1\nresourceModifierRules:\n- conditions:\n groupResource: persistentvolumeclaims\n resourceNameRegex: \".*\"\n namespaces:\n - bar\n - foo\n patches:\n - operation: invalid\n path: \"/spec/storageClassName\"\n value: \"premium\"\n - operation: remove\n path: \"/metadata/labels/test\"\n\n\n",
|
||||
},
|
||||
}
|
||||
require.NoError(t, r.kbClient.Create(context.Background(), invalidOperatorCm))
|
||||
require.NoError(t, r.kbClient.Create(t.Context(), invalidOperatorCm))
|
||||
|
||||
r.validateAndComplete(restore3)
|
||||
assert.Contains(t, restore3.Status.ValidationErrors[0], "Validation error in resource modifiers provided in configmap")
|
||||
|
||||
@@ -17,7 +17,6 @@ limitations under the License.
|
||||
package controller
|
||||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"syscall"
|
||||
"testing"
|
||||
@@ -146,21 +145,21 @@ func TestRestoreFinalizerReconcile(t *testing.T) {
|
||||
r.clock = testclocks.NewFakeClock(now)
|
||||
|
||||
if test.restore != nil && test.restore.Namespace == velerov1api.DefaultNamespace {
|
||||
require.NoError(t, r.Client.Create(context.Background(), test.restore))
|
||||
require.NoError(t, r.Client.Create(t.Context(), test.restore))
|
||||
backupStore.On("GetRestoredResourceList", test.restore.Name).Return(map[string][]string{}, nil)
|
||||
backupStore.On("GetRestoreItemOperations", test.restore.Name).Return([]*itemoperation.RestoreOperation{}, nil)
|
||||
}
|
||||
if test.backup != nil {
|
||||
require.NoError(t, r.Client.Create(context.Background(), test.backup))
|
||||
require.NoError(t, r.Client.Create(t.Context(), test.backup))
|
||||
backupStore.On("GetBackupVolumeInfos", test.backup.Name).Return(nil, nil)
|
||||
pluginManager.On("GetRestoreItemActionsV2").Return(nil, nil)
|
||||
pluginManager.On("CleanupClients")
|
||||
}
|
||||
if test.location != nil {
|
||||
require.NoError(t, r.Client.Create(context.Background(), test.location))
|
||||
require.NoError(t, r.Client.Create(t.Context(), test.location))
|
||||
}
|
||||
|
||||
_, err = r.Reconcile(context.Background(), ctrl.Request{NamespacedName: types.NamespacedName{
|
||||
_, err = r.Reconcile(t.Context(), ctrl.Request{NamespacedName: types.NamespacedName{
|
||||
Namespace: test.restore.Namespace,
|
||||
Name: test.restore.Name,
|
||||
}})
|
||||
@@ -172,7 +171,7 @@ func TestRestoreFinalizerReconcile(t *testing.T) {
|
||||
|
||||
if test.statusCompare {
|
||||
restoreAfter := velerov1api.Restore{}
|
||||
err = fakeClient.Get(context.TODO(), types.NamespacedName{
|
||||
err = fakeClient.Get(t.Context(), types.NamespacedName{
|
||||
Namespace: test.restore.Namespace,
|
||||
Name: test.restore.Name,
|
||||
}, &restoreAfter)
|
||||
@@ -443,10 +442,10 @@ func TestPatchDynamicPVWithVolumeInfo(t *testing.T) {
|
||||
}
|
||||
|
||||
for _, pv := range tc.restoredPV {
|
||||
require.NoError(t, ctx.crClient.Create(context.Background(), pv))
|
||||
require.NoError(t, ctx.crClient.Create(t.Context(), pv))
|
||||
}
|
||||
for _, pvc := range tc.restoredPVC {
|
||||
require.NoError(t, ctx.crClient.Create(context.Background(), pvc))
|
||||
require.NoError(t, ctx.crClient.Create(t.Context(), pvc))
|
||||
}
|
||||
|
||||
errs := ctx.patchDynamicPVWithVolumeInfo()
|
||||
@@ -456,7 +455,7 @@ func TestPatchDynamicPVWithVolumeInfo(t *testing.T) {
|
||||
|
||||
for pvName, expectedPVInfo := range tc.expectedPatch {
|
||||
pv := &corev1api.PersistentVolume{}
|
||||
err := ctx.crClient.Get(context.Background(), crclient.ObjectKey{Name: pvName}, pv)
|
||||
err := ctx.crClient.Get(t.Context(), crclient.ObjectKey{Name: pvName}, pv)
|
||||
require.NoError(t, err)
|
||||
|
||||
assert.Equal(t, expectedPVInfo.ReclaimPolicy, string(pv.Spec.PersistentVolumeReclaimPolicy))
|
||||
@@ -541,7 +540,7 @@ func TestWaitRestoreExecHook(t *testing.T) {
|
||||
restore: tc.restore,
|
||||
multiHookTracker: tc.hookTracker,
|
||||
}
|
||||
require.NoError(t, ctx.crClient.Create(context.Background(), tc.restore))
|
||||
require.NoError(t, ctx.crClient.Create(t.Context(), tc.restore))
|
||||
|
||||
if tc.waitSec > 0 {
|
||||
go func() {
|
||||
@@ -554,7 +553,7 @@ func TestWaitRestoreExecHook(t *testing.T) {
|
||||
assert.Len(t, errs.Namespaces, tc.expectedHookErrs)
|
||||
|
||||
updated := &velerov1api.Restore{}
|
||||
err := ctx.crClient.Get(context.Background(), crclient.ObjectKey{Namespace: velerov1api.DefaultNamespace, Name: tc.restore.Name}, updated)
|
||||
err := ctx.crClient.Get(t.Context(), crclient.ObjectKey{Namespace: velerov1api.DefaultNamespace, Name: tc.restore.Name}, updated)
|
||||
require.NoError(t, err)
|
||||
assert.Equal(t, tc.expectedHooksAttempted, updated.Status.HookStatus.HooksAttempted)
|
||||
assert.Equal(t, tc.expectedHooksFailed, updated.Status.HookStatus.HooksFailed)
|
||||
|
||||
@@ -17,7 +17,6 @@ limitations under the License.
|
||||
package controller
|
||||
|
||||
import (
|
||||
"context"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
@@ -303,12 +302,12 @@ func TestRestoreOperationsReconcile(t *testing.T) {
|
||||
restorePluginManager.On("GetRestoreItemActionV2", operation.Spec.RestoreItemAction).Return(ria, nil)
|
||||
}
|
||||
|
||||
_, err := reconciler.Reconcile(context.TODO(), ctrl.Request{NamespacedName: types.NamespacedName{Namespace: test.restore.Namespace, Name: test.restore.Name}})
|
||||
_, err := reconciler.Reconcile(t.Context(), ctrl.Request{NamespacedName: types.NamespacedName{Namespace: test.restore.Namespace, Name: test.restore.Name}})
|
||||
gotErr := err != nil
|
||||
assert.Equal(t, test.expectError, gotErr)
|
||||
|
||||
restoreAfter := velerov1api.Restore{}
|
||||
err = fakeClient.Get(context.TODO(), types.NamespacedName{
|
||||
err = fakeClient.Get(t.Context(), types.NamespacedName{
|
||||
Namespace: test.restore.Namespace,
|
||||
Name: test.restore.Name,
|
||||
}, &restoreAfter)
|
||||
|
||||
Reference in New Issue
Block a user