Skip to content

Commit 1930433

Browse files
committed
Backup-SqlDscDatabase.Tests: Remove redundant failure context and update success checks to validate results
1 parent bb146b6 commit 1930433

File tree

1 file changed

+29
-38
lines changed

1 file changed

+29
-38
lines changed

tests/Unit/Public/Backup-SqlDscDatabase.Tests.ps1

Lines changed: 29 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)