11//
22// DISCLAIMER
33//
4- // Copyright 2016-2023 ArangoDB GmbH, Cologne, Germany
4+ // Copyright 2016-2024 ArangoDB GmbH, Cologne, Germany
55//
66// Licensed under the Apache License, Version 2.0 (the "License");
77// you may not use this file except in compliance with the License.
@@ -27,6 +27,7 @@ import (
2727 "time"
2828
2929 "github.com/stretchr/testify/require"
30+ apiErrors "k8s.io/apimachinery/pkg/api/errors"
3031 meta "k8s.io/apimachinery/pkg/apis/meta/v1"
3132 "k8s.io/apimachinery/pkg/util/uuid"
3233
@@ -317,6 +318,38 @@ func Test_State_Ready_Upload(t *testing.T) {
317318 compareBackupMeta (t , backupMeta , newObj )
318319}
319320
321+ func Test_State_Ready_Upload_AutoDelete (t * testing.T ) {
322+ // Arrange
323+ handler , mock := newErrorsFakeHandler (mockErrorsArangoClientBackup {})
324+
325+ obj , deployment := newObjectSet (t , backupApi .ArangoBackupStateReady )
326+ obj .Spec .Upload = & backupApi.ArangoBackupSpecOperation {
327+ RepositoryURL : "Any" ,
328+ AutoDelete : util.NewType [bool ](true ),
329+ }
330+
331+ createResponse , err := mock .Create ()
332+ require .NoError (t , err )
333+
334+ backupMeta , err := mock .Get (createResponse .ID )
335+ require .NoError (t , err )
336+
337+ obj .Status .Backup = createBackupFromMeta (backupMeta , & backupApi.ArangoBackupDetails {
338+ Uploaded : util.NewType [bool ](true ),
339+ })
340+
341+ // Act
342+ createArangoDeployment (t , handler , deployment )
343+ createArangoBackup (t , handler , obj )
344+
345+ require .NoError (t , handler .Handle (context .Background (), tests .NewItem (t , operation .Update , obj )))
346+
347+ // Assert
348+ _ , err = handler .client .BackupV1 ().ArangoBackups (obj .Namespace ).Get (context .Background (), obj .Name , meta.GetOptions {})
349+ require .Error (t , err )
350+ require .True (t , apiErrors .IsNotFound (err ))
351+ }
352+
320353func Test_State_Ready_DownloadDoNothing (t * testing.T ) {
321354 // Arrange
322355 handler , mock := newErrorsFakeHandler (mockErrorsArangoClientBackup {})
0 commit comments