@@ -139,34 +139,6 @@ Describe 'Backup-SqlDscDatabase' -Tag 'Public' {
139139 }
140140 }
141141
142- Context ' When backup operation fails' {
143- BeforeAll {
144- $mockDatabaseObject = New-Object - TypeName ' Microsoft.SqlServer.Management.Smo.Database'
145- $mockDatabaseObject | Add-Member - MemberType ' NoteProperty' - Name ' Name' - Value ' TestDatabase' - Force
146- $mockDatabaseObject | Add-Member - MemberType ' NoteProperty' - Name ' RecoveryModel' - Value ([Microsoft.SqlServer.Management.Smo.RecoveryModel ]::Full) - Force
147- $mockDatabaseObject | Add-Member - MemberType ' NoteProperty' - Name ' Status' - Value ([Microsoft.SqlServer.Management.Smo.DatabaseStatus ]::Normal) - Force
148-
149- $mockServerObject = New-Object - TypeName ' Microsoft.SqlServer.Management.Smo.Server'
150- $mockServerObject | Add-Member - MemberType ' NoteProperty' - Name ' InstanceName' - Value ' TestInstance' - Force
151-
152- $mockDatabaseObject | Add-Member - MemberType ' NoteProperty' - Name ' Parent' - Value $mockServerObject - Force
153- }
154-
155- It ' Should throw error when SqlBackup fails' {
156- # The stub Backup class has MockShouldThrowOnSqlBackup property
157- # Since we can't mock New-Object easily in the module scope,
158- # we test that the command properly handles exceptions by
159- # verifying the error behavior is correct
160- $expectedMessage = InModuleScope - ScriptBlock {
161- $script :localizedData.Database_Backup_Failed -f ' full' , ' TestDatabase' , ' TestInstance'
162- }
163-
164- # The stub's SqlBackup will run successfully unless MockShouldThrowOnSqlBackup is set
165- # For now, test that the command executes without error for a successful backup
166- { Backup-SqlDscDatabase - DatabaseObject $mockDatabaseObject - BackupFile ' C:\Backups\TestDatabase.bak' - Force } | Should -Not - Throw
167- }
168- }
169-
170142 Context ' When performing successful backups' {
171143 BeforeAll {
172144 $mockDatabaseObject = New-Object - TypeName ' Microsoft.SqlServer.Management.Smo.Database'
@@ -181,39 +153,57 @@ Describe 'Backup-SqlDscDatabase' -Tag 'Public' {
181153 }
182154
183155 It ' Should perform full backup successfully using database object' {
184- { Backup-SqlDscDatabase - DatabaseObject $mockDatabaseObject - BackupFile ' C:\Backups\TestDatabase.bak' - Force } | Should -Not - Throw
156+ $result = Backup-SqlDscDatabase - DatabaseObject $mockDatabaseObject - BackupFile ' C:\Backups\TestDatabase.bak' - Force
157+
158+ $result | Should - BeNullOrEmpty
185159 }
186160
187161 It ' Should perform differential backup successfully' {
188- { Backup-SqlDscDatabase - DatabaseObject $mockDatabaseObject - BackupFile ' C:\Backups\TestDatabase_Diff.bak' - BackupType ' Differential' - Force } | Should -Not - Throw
162+ $result = Backup-SqlDscDatabase - DatabaseObject $mockDatabaseObject - BackupFile ' C:\Backups\TestDatabase_Diff.bak' - BackupType ' Differential' - Force
163+
164+ $result | Should - BeNullOrEmpty
189165 }
190166
191167 It ' Should perform log backup successfully' {
192- { Backup-SqlDscDatabase - DatabaseObject $mockDatabaseObject - BackupFile ' C:\Backups\TestDatabase.trn' - BackupType ' Log' - Force } | Should -Not - Throw
168+ $result = Backup-SqlDscDatabase - DatabaseObject $mockDatabaseObject - BackupFile ' C:\Backups\TestDatabase.trn' - BackupType ' Log' - Force
169+
170+ $result | Should - BeNullOrEmpty
193171 }
194172
195173 It ' Should perform backup with CopyOnly option' {
196- { Backup-SqlDscDatabase - DatabaseObject $mockDatabaseObject - BackupFile ' C:\Backups\TestDatabase.bak' - CopyOnly - Force } | Should -Not - Throw
174+ $result = Backup-SqlDscDatabase - DatabaseObject $mockDatabaseObject - BackupFile ' C:\Backups\TestDatabase.bak' - CopyOnly - Force
175+
176+ $result | Should - BeNullOrEmpty
197177 }
198178
199179 It ' Should perform backup with Compress option' {
200- { Backup-SqlDscDatabase - DatabaseObject $mockDatabaseObject - BackupFile ' C:\Backups\TestDatabase.bak' - Compress - Force } | Should -Not - Throw
180+ $result = Backup-SqlDscDatabase - DatabaseObject $mockDatabaseObject - BackupFile ' C:\Backups\TestDatabase.bak' - Compress - Force
181+
182+ $result | Should - BeNullOrEmpty
201183 }
202184
203185 It ' Should perform backup with Checksum option' {
204- { Backup-SqlDscDatabase - DatabaseObject $mockDatabaseObject - BackupFile ' C:\Backups\TestDatabase.bak' - Checksum - Force } | Should -Not - Throw
186+ $result = Backup-SqlDscDatabase - DatabaseObject $mockDatabaseObject - BackupFile ' C:\Backups\TestDatabase.bak' - Checksum - Force
187+
188+ $result | Should - BeNullOrEmpty
205189 }
206190
207191 It ' Should perform backup with Description option' {
208- { Backup-SqlDscDatabase - DatabaseObject $mockDatabaseObject - BackupFile ' C:\Backups\TestDatabase.bak' - Description ' Test backup description' - Force } | Should -Not - Throw
192+ $result = Backup-SqlDscDatabase - DatabaseObject $mockDatabaseObject - BackupFile ' C:\Backups\TestDatabase.bak' - Description ' Test backup description' - Force
193+
194+ $result | Should - BeNullOrEmpty
209195 }
210196
211197 It ' Should perform backup with RetainDays option' {
212- { Backup-SqlDscDatabase - DatabaseObject $mockDatabaseObject - BackupFile ' C:\Backups\TestDatabase.bak' - RetainDays 30 - Force } | Should -Not - Throw
198+ $result = Backup-SqlDscDatabase - DatabaseObject $mockDatabaseObject - BackupFile ' C:\Backups\TestDatabase.bak' - RetainDays 30 - Force
199+
200+ $result | Should - BeNullOrEmpty
213201 }
214202
215203 It ' Should perform backup with Initialize option' {
216- { Backup-SqlDscDatabase - DatabaseObject $mockDatabaseObject - BackupFile ' C:\Backups\TestDatabase.bak' - Initialize - Force } | Should -Not - Throw
204+ $result = Backup-SqlDscDatabase - DatabaseObject $mockDatabaseObject - BackupFile ' C:\Backups\TestDatabase.bak' - Initialize - Force
205+
206+ $result | Should - BeNullOrEmpty
217207 }
218208 }
219209
@@ -245,8 +235,9 @@ Describe 'Backup-SqlDscDatabase' -Tag 'Public' {
245235 It ' Should call Refresh when -Refresh parameter is specified' {
246236 $script :refreshCalled = $false
247237
248- { Backup-SqlDscDatabase - ServerObject $mockServerObject - Name ' TestDatabase' - BackupFile ' C:\Backups\TestDatabase.bak' - Refresh - Force } | Should -Not - Throw
238+ $result = Backup-SqlDscDatabase - ServerObject $mockServerObject - Name ' TestDatabase' - BackupFile ' C:\Backups\TestDatabase.bak' - Refresh - Force
249239
240+ $result | Should - BeNullOrEmpty
250241 $script :refreshCalled | Should - BeTrue
251242 }
252243 }
0 commit comments