@@ -129,4 +129,51 @@ func Test_Refresh_Cleanup(t *testing.T) {
129
129
require .NoError (t , err )
130
130
require .Len (t , backups .Items , 0 )
131
131
})
132
+
133
+ t .Run ("Do not refresh if backup is creating" , func (t * testing.T ) {
134
+ // Arrange
135
+ fakeId := driver .BackupID (uuid .NewUUID ())
136
+ createBackup := backupApi.ArangoBackup {
137
+
138
+ ObjectMeta : meta.ObjectMeta {
139
+ Name : "backup" ,
140
+ },
141
+ Status : backupApi.ArangoBackupStatus {
142
+ ArangoBackupState : backupApi.ArangoBackupState {
143
+ State : backupApi .ArangoBackupStateCreating ,
144
+ },
145
+ Backup : & backupApi.ArangoBackupDetails {
146
+ ID : string (fakeId ),
147
+ },
148
+ },
149
+ }
150
+ b , err := handler .client .BackupV1 ().ArangoBackups (tests .FakeNamespace ).Create (context .Background (), & createBackup , meta.CreateOptions {})
151
+ require .NoError (t , err )
152
+ require .NotNil (t , b )
153
+ require .Equal (t , backupApi .ArangoBackupStateCreating , b .Status .State )
154
+
155
+ t .Run ("Refresh should not happen if there is Backup in creation state" , func (t * testing.T ) {
156
+ require .NoError (t , handler .refreshDeployment (arangoDeployment ))
157
+
158
+ backups , err := handler .client .BackupV1 ().ArangoBackups (tests .FakeNamespace ).List (context .Background (), meta.ListOptions {})
159
+ require .NoError (t , err )
160
+ require .Len (t , backups .Items , 1 )
161
+ require .NotNil (t , backups .Items [0 ].Status .Backup )
162
+ require .EqualValues (t , fakeId , backups .Items [0 ].Status .Backup .ID )
163
+ })
164
+
165
+ createBackup .Status .State = backupApi .ArangoBackupStateReady
166
+ b , err = handler .client .BackupV1 ().ArangoBackups (tests .FakeNamespace ).UpdateStatus (context .Background (), & createBackup , meta.UpdateOptions {})
167
+ require .NoError (t , err )
168
+ require .NotNil (t , b )
169
+ require .Equal (t , backupApi .ArangoBackupStateReady , b .Status .State )
170
+
171
+ t .Run ("Refresh should happen if there is Backup in ready state" , func (t * testing.T ) {
172
+ require .NoError (t , handler .refreshDeployment (arangoDeployment ))
173
+
174
+ backups , err := handler .client .BackupV1 ().ArangoBackups (tests .FakeNamespace ).List (context .Background (), meta.ListOptions {})
175
+ require .NoError (t , err )
176
+ require .Len (t , backups .Items , 2 )
177
+ })
178
+ })
132
179
}
0 commit comments