@@ -43,7 +43,6 @@ const backupsResponse = `{
4343 },
4444 {
4545 "backup_label": "'START WAL LOCATION: 0/8000028 (file 000000010000000000000008)\\nCHECKPOINT LOCATION: 0/8000098\\nBACKUP METHOD: streamed\\nBACKUP FROM: primary\\nSTART TIME: 2024-06-25 19:44:13 UTC\\nLABEL: Barman backup cloud 20240625T194412\\nSTART TIMELINE: 1\\n'",
46- "backup_name": "test-backup-2",
4746 "begin_offset": 40,
4847 "begin_time": "Tue Jun 25 19:44:12 2024",
4948 "begin_wal": "000000010000000000000008",
@@ -87,6 +86,7 @@ const backupsResponse = `{
8786 "timeline": 1,
8887 "version": 150006,
8988 "xlog_segment_size": 16777216,
89+ "backup_name": "test-backup-1",
9090 "backup_id": "20240625T194412"
9191 },
9292 {
@@ -212,6 +212,19 @@ func TestNewBarmanRestore(t *testing.T) {
212212 }
213213 })
214214
215+ t .Run ("target-name-with-alias" , func (t * testing.T ) {
216+ t .Setenv ("S3_ARCHIVE_REMOTE_RESTORE_CONFIG" , "https://my-key:my-secret@fly.storage.tigris.dev/my-bucket/my-directory?targetName=test-backup-1" )
217+
218+ restore , err := NewBarmanRestore (os .Getenv ("S3_ARCHIVE_REMOTE_RESTORE_CONFIG" ))
219+ if err != nil {
220+ t .Fatalf ("NewBarmanRestore failed with: %v" , err )
221+ }
222+
223+ if restore .recoveryTargetName != "test-backup-1" {
224+ t .Fatalf ("expected recovery target name to be test-backup-1, got %s" , restore .recoveryTargetName )
225+ }
226+ })
227+
215228 t .Run ("target-name-with-options" , func (t * testing.T ) {
216229 t .Setenv ("S3_ARCHIVE_REMOTE_RESTORE_CONFIG" , "https://my-key:my-secret@fly.storage.tigris.dev/my-bucket/my-directory?targetName=20240705T051010&targetAction=shutdown&targetTimeline=2&targetInclusive=false" )
217230
@@ -277,36 +290,57 @@ func TestParseBackups(t *testing.T) {
277290 t .Fatalf ("expected 2 backups, got %d" , len (list .Backups ))
278291 }
279292
280- firstBackup := list .Backups [0 ]
281- if firstBackup .ID != "20240702T210544" {
282- t .Fatalf ("expected backup ID to be 20240625T194412, got %s" , firstBackup .ID )
283- }
293+ t .Run ("first-backup" , func (t * testing.T ) {
294+ backup := list .Backups [0 ]
295+ if backup .ID != "20240702T210544" {
296+ t .Fatalf ("expected backup ID to be 20240625T194412, got %s" , backup .ID )
297+ }
284298
285- if firstBackup .StartTime != "Tue Jun 24 19:44:20 2024" {
286- t .Fatalf ("expected start time to be Tue Jun 24 19:44:20 2024, got %s" , firstBackup .StartTime )
287- }
299+ if backup .StartTime != "Tue Jun 24 19:44:20 2024" {
300+ t .Fatalf ("expected start time to be Tue Jun 24 19:44:20 2024, got %s" , backup .StartTime )
301+ }
288302
289- if firstBackup .EndTime != "" {
290- t .Fatalf ("expected end time to be empty, but got %s" , firstBackup .EndTime )
291- }
303+ if backup .EndTime != "" {
304+ t .Fatalf ("expected end time to be empty, but got %s" , backup .EndTime )
305+ }
292306
293- if firstBackup .Status != "FAILED" {
294- t .Fatalf ("expected status to be FAILED, got %s" , firstBackup .Status )
295- }
307+ if backup .Status != "FAILED" {
308+ t .Fatalf ("expected status to be FAILED, got %s" , backup .Status )
309+ }
296310
297- secondBackup := list .Backups [2 ]
311+ if backup .Name != "" {
312+ t .Fatalf ("expected name to be empty, but got %s" , backup .Name )
313+ }
298314
299- if secondBackup .ID != "20240626T172443" {
300- t .Fatalf ("expected backup ID to be 20240626T172443, got %s" , secondBackup .ID )
301- }
315+ })
302316
303- if secondBackup .StartTime != "Wed Jun 26 17:24:43 2024" {
304- t .Fatalf ("expected start time to be Wed Jun 26 17:24:43 2024, got %s" , secondBackup .StartTime )
305- }
317+ t .Run ("second-backup" , func (t * testing.T ) {
318+ backup := list .Backups [1 ]
319+ if backup .Status != "DONE" {
320+ t .Fatalf ("expected status to be DONE, got %s" , backup .Status )
321+ }
306322
307- if secondBackup .EndTime != "Wed Jun 26 17:27:02 2024" {
308- t .Fatalf ("expected end time to be Wed Jun 26 17:27:02 2024, got %s" , secondBackup .EndTime )
309- }
323+ if backup .Name != "test-backup-1" {
324+ t .Fatalf ("expected name to be test-backup-1, got %s" , backup .Name )
325+ }
326+ })
327+
328+ t .Run ("third-backup" , func (t * testing.T ) {
329+ backup := list .Backups [2 ]
330+
331+ if backup .ID != "20240626T172443" {
332+ t .Fatalf ("expected backup ID to be 20240626T172443, got %s" , backup .ID )
333+ }
334+
335+ if backup .StartTime != "Wed Jun 26 17:24:43 2024" {
336+ t .Fatalf ("expected start time to be Wed Jun 26 17:24:43 2024, got %s" , backup .StartTime )
337+ }
338+
339+ if backup .EndTime != "Wed Jun 26 17:27:02 2024" {
340+ t .Fatalf ("expected end time to be Wed Jun 26 17:27:02 2024, got %s" , backup .EndTime )
341+ }
342+
343+ })
310344 })
311345}
312346
@@ -360,6 +394,29 @@ func TestResolveBackupTarget(t *testing.T) {
360394 t .Fatalf ("expected backup ID to be 20240626T172443, got %s" , backupID )
361395 }
362396 })
397+
398+ t .Run ("resolve-backup-by-name" , func (t * testing.T ) {
399+ backupID , err := restore .resolveBackupFromName (list , "20240625T194412" )
400+ if err != nil {
401+ t .Fatalf ("unexpected error: %v" , err )
402+ }
403+
404+ if backupID != "20240625T194412" {
405+ t .Fatalf ("expected backup ID to be 20240625T194412, got %s" , backupID )
406+ }
407+ })
408+
409+ t .Run ("resolve-backup-by-name-with-alias" , func (t * testing.T ) {
410+ // resolve backup by alias
411+ backupID , err := restore .resolveBackupFromName (list , "test-backup-1" )
412+ if err != nil {
413+ t .Fatalf ("unexpected error: %v" , err )
414+ }
415+
416+ if backupID != "20240625T194412" {
417+ t .Fatalf ("expected backup ID to be 20240625T194412, got %s" , backupID )
418+ }
419+ })
363420}
364421
365422func setRestoreDefaultEnv (t * testing.T ) {
0 commit comments