@@ -60,6 +60,22 @@ public async Task BackupRestoreTest()
6060 await Connection . CloseAsync ( ) ;
6161 }
6262
63+ [ Test ]
64+ public async Task BackupRestoreZipTest ( )
65+ {
66+ if ( ! EnsureServerVersionAtLeast ( new Version ( 4 , 0 , 0 , 0 ) ) )
67+ return ;
68+
69+ var backupName = $ "{ Guid . NewGuid ( ) } .bak";
70+ var csb = BuildServicesConnectionStringBuilder ( ServerType , Compression , WireCrypt , true ) ;
71+ var connectionString = csb . ToString ( ) ;
72+ await BackupPartHelper ( backupName , connectionString , FbBackupFlags . Zip ) ;
73+ await RestorePartHelper ( backupName , connectionString ) ;
74+ // test the database was actually restored fine
75+ await Connection . OpenAsync ( ) ;
76+ await Connection . CloseAsync ( ) ;
77+ }
78+
6379 [ Test ]
6480 public async Task BackupRestoreParallelTest ( )
6581 {
@@ -453,11 +469,11 @@ public async Task NFixupTest()
453469 Assert . DoesNotThrowAsync ( ( ) => Connection . OpenAsync ( ) ) ;
454470 }
455471
456- static Task BackupPartHelper ( string backupName , string connectionString )
472+ static Task BackupPartHelper ( string backupName , string connectionString , FbBackupFlags backupFlags = FbBackupFlags . IgnoreLimbo )
457473 {
458474 var backupSvc = new FbBackup ( ) ;
459475 backupSvc . ConnectionString = connectionString ;
460- backupSvc . Options = FbBackupFlags . IgnoreLimbo ;
476+ backupSvc . Options = backupFlags ;
461477 backupSvc . BackupFiles . Add ( new FbBackupFile ( backupName , 2048 ) ) ;
462478 backupSvc . Verbose = true ;
463479 backupSvc . Statistics = FbBackupRestoreStatistics . TotalTime | FbBackupRestoreStatistics . TimeDelta ;
0 commit comments