Skip to content

Commit

Permalink
Merge pull request #1194 from jensotto/fix-driftedparameters-duplicat…
Browse files Browse the repository at this point in the history
…e-keys

SharePointDSC General: Fixed duplicate key issue when testing resources
  • Loading branch information
ykuijs authored May 5, 2020
2 parents 3fcef47 + 8aab58a commit c39203d
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 7 deletions.
7 changes: 7 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]

### Fixed

- SharePointDsc generic
- Fixed an issue where Test-SPDscParameterState would throw an error due to duplicate
keys when a desired value is of type CimInstance[] and multiple values
are specified.

## [4.0.0] - 2020-04-28

### Added
Expand Down
22 changes: 15 additions & 7 deletions SharePointDsc/Modules/SharePointDsc.Util/SharePointDsc.Util.psm1
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@ function Compare-PSCustomObjectArrays
Desired = $DesiredEntry.$KeyProperty
Current = $null
}
$DriftedProperties += $DesiredEntry
$DriftedProperties += $result
}
else
{
Expand Down Expand Up @@ -1004,9 +1004,13 @@ function Test-SPDscParameterState
{
foreach ($item in $arrayCompare)
{
$EventValue = "<CurrentValue>[$($item.PropertyName)]$($item.CurrentValue)</CurrentValue>"
$EventValue += "<DesiredValue>[$($item.PropertyName)]$($item.DesiredValue)</DesiredValue>"
$DriftedParameters.Add($fieldName, $EventValue)
$EventValue = "<CurrentValue>[$($item.PropertyName)]$($item.Current)</CurrentValue>"
$EventValue += "<DesiredValue>[$($item.PropertyName)]$($item.Desired)</DesiredValue>"
if (-not $DriftedParameters.ContainsKey($fieldName))
{
$DriftedParameters.Add($fieldName, @())
}
$DriftedParameters[$fieldName] = $DriftedParameters[$fieldName] += $EventValue
}
$returnValue = $false
}
Expand Down Expand Up @@ -1179,9 +1183,13 @@ function Test-SPDscParameterState
{
foreach ($item in $arrayCompare)
{
$EventValue = "<CurrentValue>[$($item.PropertyName)]$($item.CurrentValue)</CurrentValue>"
$EventValue += "<DesiredValue>[$($item.PropertyName)]$($item.DesiredValue)</DesiredValue>"
$DriftedParameters.Add($fieldName, $EventValue)
$EventValue = "<CurrentValue>[$($item.PropertyName)]$($item.Current)</CurrentValue>"
$EventValue += "<DesiredValue>[$($item.PropertyName)]$($item.Desired)</DesiredValue>"
if (-not $DriftedParameters.ContainsKey($fieldName))
{
$DriftedParameters.Add($fieldName, @())
}
$DriftedParameters[$fieldName] = $DriftedParameters[$fieldName] += $EventValue
}
$returnValue = $false
}
Expand Down

0 comments on commit c39203d

Please sign in to comment.