Update module version to 1.1.0 and enhance Merge-DSCConfigurationData function to prevent modifications to sealed parameters
This commit is contained in:
@@ -347,4 +347,63 @@ Describe 'Merge-DSCConfigurationData Extends' {
|
||||
$Validation.IsStale | Should Be $true
|
||||
@($Validation.Issues | Where-Object { $_.Code -eq 'SourceChanged' }).Count | Should Be 1
|
||||
}
|
||||
|
||||
It 'prevents overriding a sealed parameter definition' {
|
||||
$Template = @{
|
||||
Parameters = @{
|
||||
DomainNetBIOS = @{
|
||||
Type = 'string'
|
||||
Value = 'CONTOSO'
|
||||
Sealed = $true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$Deployment = @{
|
||||
Parameters = @{
|
||||
DomainNetBIOS = @{
|
||||
Value = 'OTHER'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
{ Merge-DSCConfigurationData -Template $Template -Deployment $Deployment } | Should Throw
|
||||
}
|
||||
|
||||
It 'prevents adding values below a sealed resource tree' {
|
||||
$Template = @{
|
||||
Resources = @{
|
||||
NonNodeData = @{
|
||||
Services = @{
|
||||
SharePoint = @{
|
||||
Farm = @{
|
||||
ManagedAccounts = @{
|
||||
Sealed = $true
|
||||
FarmAccount = "[parameters('FarmCredential')]"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$Deployment = @{
|
||||
Resources = @{
|
||||
NonNodeData = @{
|
||||
Services = @{
|
||||
SharePoint = @{
|
||||
Farm = @{
|
||||
ManagedAccounts = @{
|
||||
SearchAccount = "[parameters('SearchCredential')]"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
{ Merge-DSCConfigurationData -Template $Template -Deployment $Deployment } | Should Throw
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user