@@ -82,6 +82,17 @@ Describe 'Remove-SqlDscRole' -Tag @('Integration_SQL2016', 'Integration_SQL2017'
8282
8383 Context ' When removing a SQL Server role by name' {
8484 BeforeEach {
85+ # Clean up any existing test role first
86+ try {
87+ $existingRole = Get-SqlDscRole - ServerObject $script :serverObject - Name $script :testRoleName - ErrorAction ' SilentlyContinue'
88+ if ($existingRole ) {
89+ Remove-SqlDscRole - RoleObject $existingRole - Force
90+ }
91+ }
92+ catch {
93+ # Ignore cleanup errors
94+ }
95+
8596 # Create a test role for each test
8697 New-SqlDscRole - ServerObject $script :serverObject - Name $script :testRoleName - Force
8798 }
@@ -101,12 +112,12 @@ Describe 'Remove-SqlDscRole' -Tag @('Integration_SQL2016', 'Integration_SQL2017'
101112
102113 It ' Should throw an error when removing a non-existent role' {
103114 { Remove-SqlDscRole - ServerObject $script :serverObject - Name ' NonExistentRole' - Force - ErrorAction ' Stop' } |
104- Should - Throw - ExpectedMessage ' Server role '' NonExistentRole'' was not found.'
115+ Should - Throw - ExpectedMessage ' * Server role '' NonExistentRole'' was not found.* '
105116 }
106117
107118 It ' Should throw an error when trying to remove a fixed role' {
108119 { Remove-SqlDscRole - ServerObject $script :serverObject - Name ' sysadmin' - Force - ErrorAction ' Stop' } |
109- Should - Throw - ExpectedMessage ' The role '' sysadmin'' is a fixed role and cannot be removed. '
120+ Should - Throw - ExpectedMessage ' *Cannot remove built-in server role '' sysadmin'' * '
110121 }
111122 }
112123
@@ -135,6 +146,17 @@ Describe 'Remove-SqlDscRole' -Tag @('Integration_SQL2016', 'Integration_SQL2017'
135146
136147 Context ' When removing a SQL Server role by object' {
137148 BeforeEach {
149+ # Clean up any existing test role first
150+ try {
151+ $existingRole = Get-SqlDscRole - ServerObject $script :serverObject - Name $script :testRoleNameByObject - ErrorAction ' SilentlyContinue'
152+ if ($existingRole ) {
153+ Remove-SqlDscRole - RoleObject $existingRole - Force
154+ }
155+ }
156+ catch {
157+ # Ignore cleanup errors
158+ }
159+
138160 # Create a test role for each test
139161 New-SqlDscRole - ServerObject $script :serverObject - Name $script :testRoleNameByObject - Force
140162 }
@@ -156,12 +178,23 @@ Describe 'Remove-SqlDscRole' -Tag @('Integration_SQL2016', 'Integration_SQL2017'
156178 $fixedRoleObject = Get-SqlDscRole - ServerObject $script :serverObject - Name ' sysadmin'
157179
158180 { Remove-SqlDscRole - RoleObject $fixedRoleObject - Force - ErrorAction ' Stop' } |
159- Should - Throw - ExpectedMessage ' The role '' sysadmin'' is a fixed role and cannot be removed. '
181+ Should - Throw - ExpectedMessage ' *Cannot remove built-in server role '' sysadmin'' * '
160182 }
161183 }
162184
163185 Context ' When using pipeline input' {
164186 BeforeEach {
187+ # Clean up any existing test role first
188+ try {
189+ $existingRole = Get-SqlDscRole - ServerObject $script :serverObject - Name $script :testRoleName - ErrorAction ' SilentlyContinue'
190+ if ($existingRole ) {
191+ Remove-SqlDscRole - RoleObject $existingRole - Force
192+ }
193+ }
194+ catch {
195+ # Ignore cleanup errors
196+ }
197+
165198 # Create a test role for each test
166199 New-SqlDscRole - ServerObject $script :serverObject - Name $script :testRoleName - Force
167200 }
0 commit comments