@@ -60,6 +60,22 @@ public async Task BackupRestoreTest()
60
60
await Connection . CloseAsync ( ) ;
61
61
}
62
62
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
+
63
79
[ Test ]
64
80
public async Task BackupRestoreParallelTest ( )
65
81
{
@@ -453,11 +469,11 @@ public async Task NFixupTest()
453
469
Assert . DoesNotThrowAsync ( ( ) => Connection . OpenAsync ( ) ) ;
454
470
}
455
471
456
- static Task BackupPartHelper ( string backupName , string connectionString )
472
+ static Task BackupPartHelper ( string backupName , string connectionString , FbBackupFlags backupFlags = FbBackupFlags . IgnoreLimbo )
457
473
{
458
474
var backupSvc = new FbBackup ( ) ;
459
475
backupSvc . ConnectionString = connectionString ;
460
- backupSvc . Options = FbBackupFlags . IgnoreLimbo ;
476
+ backupSvc . Options = backupFlags ;
461
477
backupSvc . BackupFiles . Add ( new FbBackupFile ( backupName , 2048 ) ) ;
462
478
backupSvc . Verbose = true ;
463
479
backupSvc . Statistics = FbBackupRestoreStatistics . TotalTime | FbBackupRestoreStatistics . TimeDelta ;
0 commit comments