flatten the module, decided to have one module for Sync and Service

This commit is contained in:
cmarttest2 2019-03-09 10:48:22 -08:00
Родитель 02e34a5bf4
Коммит e333f42742
75 изменённых файлов: 580 добавлений и 578 удалений

Просмотреть файл

@ -13,8 +13,8 @@ function Convert-MimSyncConfigToDsc {
[CmdletBinding()] [CmdletBinding()]
Param Param
( (
# Folder with the Sync Service configuration XML files (defaults to $env:ProgramData\MimSyncDsc\Svrexport) # Folder with the Sync Service configuration XML files (defaults to $env:ProgramData\MimDsc\Svrexport)
$Path = "$env:ProgramData\MimSyncDsc\Svrexport" $Path = "$env:ProgramData\MimDsc\Svrexport"
) )
Write-Verbose "Using Path: $Path" Write-Verbose "Using Path: $Path"
@ -220,7 +220,7 @@ function Convert-MimSyncConfigToDsc {
#endregion IAF rules #endregion IAF rules
#region Join rules #region Join rules
$joinRules = Get-MimSyncJoinRule -ServerConfigurationFolder "$env:ProgramData\MimSyncDsc\Svrexport\" $joinRules = Get-MimSyncJoinRule -ServerConfigurationFolder "$env:ProgramData\MimDsc\Svrexport\"
foreach ($joinRule in $joinRules) { foreach ($joinRule in $joinRules) {
$joinCriteriaStrings = @() $joinCriteriaStrings = @()
@ -285,7 +285,7 @@ function Convert-MimSyncConfigToDsc {
#endregion Join rules #endregion Join rules
#region Projection rules #region Projection rules
$projectionRules = Get-MimSyncProjectionRule -ServerConfigurationFolder "$env:ProgramData\MimSyncDsc\Svrexport\" $projectionRules = Get-MimSyncProjectionRule -ServerConfigurationFolder "$env:ProgramData\MimDsc\Svrexport\"
foreach ($projectionRule in $projectionRules) { foreach ($projectionRule in $projectionRules) {
$dscConfigScriptItems += @' $dscConfigScriptItems += @'
ProjectionRule {1} ProjectionRule {1}

Просмотреть файл

Просмотреть файл

@ -7,8 +7,8 @@ function Get-MimSyncConfigCache
Get-FimSyncConfigCache Get-FimSyncConfigCache
#> #>
# Cache Folder (defaults to $env:ProgramData\MimSyncDsc\BoundAttributesCache) # Cache Folder (defaults to $env:ProgramData\MimDsc\BoundAttributesCache)
$CacheLocation = "$env:ProgramData\MimSyncDsc\Svrexport" $CacheLocation = "$env:ProgramData\MimDsc\Svrexport"
Write-Verbose "Using CacheLocation: $CacheLocation" Write-Verbose "Using CacheLocation: $CacheLocation"

Просмотреть файл

Просмотреть файл

@ -16,8 +16,8 @@ function Write-MimSyncConfigCache
[CmdletBinding()] [CmdletBinding()]
Param Param
( (
# Cache Folder (defaults to $env:ProgramData\MimSyncDsc\Svrexport) # Cache Folder (defaults to $env:ProgramData\MimDsc\Svrexport)
$CacheLocation = "$env:ProgramData\MimSyncDsc\Svrexport", $CacheLocation = "$env:ProgramData\MimDsc\Svrexport",
# Cache Age (defaults to one day) # Cache Age (defaults to one day)
[TimeSpan] [TimeSpan]

Просмотреть файл

@ -2,7 +2,7 @@
@{ @{
# Script module or binary module file associated with this manifest. # Script module or binary module file associated with this manifest.
RootModule = 'MimSyncDsc.psm1' RootModule = 'MimDsc.psm1'
# Version number of this module. # Version number of this module.
ModuleVersion = '0.0.1' ModuleVersion = '0.0.1'
@ -23,7 +23,7 @@ CompanyName = 'Microsoft Corporation'
Copyright = '(c) Microsoft Corporation. All rights reserved.' Copyright = '(c) Microsoft Corporation. All rights reserved.'
# Description of the functionality provided by this module # Description of the functionality provided by this module
Description = 'Desired State Configuration resources for Microsoft Identity Manager Synchronization Service' Description = 'Desired State Configuration resources for Microsoft Identity Manager'
# Minimum version of the Windows PowerShell engine required by this module # Minimum version of the Windows PowerShell engine required by this module
PowerShellVersion = '5.0' PowerShellVersion = '5.0'

Просмотреть файл

Просмотреть файл

@ -1,27 +0,0 @@
### Build script called by Azure Pipelines
Write-Host "I'm the build script"
# Install Pester module if it is not already installed
if (-not (Get-Module -Name Pester -ListAvailable))
{
Write-Host "Installing Pester"
Install-Module -Name Pester -Scope CurrentUser -Force -Confirm:$false
}
### Find out what version of Pester we have
Get-Module Pester -ListAvailable
Write-Host 'Copy MimSyncDsc module files to Program Files'
Copy-Item .\MimSyncDsc "$env:ProgramFiles\WindowsPowerShell\Modules" -Container -Recurse -Verbose -Force
Write-Host 'Copy Sync Configuration Files'
New-Item -ItemType Directory -Path "$env:ProgramData\MimSyncDsc\Svrexport" -Verbose -Force | Out-Null
Copy-Item -Path .\MimSyncDsc\Tests\MimSyncServerConfiguration\* "$env:ProgramData\MimSyncDsc\Svrexport\" -Force -Verbose
### Run Tests
$TestResults = Invoke-Pester -Script .\MimSyncDsc\Tests\*.tests.ps1 -Tag Build -ExcludeTag RunsInLocalConfigurationManager -OutputFile MimSyncDsc.testresults.xml -OutputFormat NUnitXML
if($TestResults.FailedCount -gt 0)
{
Write-Error -Message "Test pass failed: `n`t$($TestResults.PassedCount) passed`n`t$($TestResults.FailedCount) failed "
}

Просмотреть файл

@ -3,7 +3,7 @@ if (-not (Get-Module xDSCResourceDesigner -ListAvailable))
Install-Module xDSCResourceDesigner -Scope CurrentUser -Force -Confirm:$false Install-Module xDSCResourceDesigner -Scope CurrentUser -Force -Confirm:$false
} }
Get-DscResource -Module MimSyncDsc | ForEach-Object { Get-DscResource -Module MimDsc | ForEach-Object {
$dscResource = $PSItem $dscResource = $PSItem
Describe -Tag 'Build' "DscResource Designer Validation for $($dscResource.ResourceType)"{ Describe -Tag 'Build' "DscResource Designer Validation for $($dscResource.ResourceType)"{
It 'Test-xDscResource Should Pass'{ It 'Test-xDscResource Should Pass'{

Просмотреть файл

@ -1,4 +1,4 @@
Import-Module -Name MimSyncDsc Import-Module -Name MimDsc
Describe Get-MimRegistryKey{ Describe Get-MimRegistryKey{
It 'Does Not Throw' { It 'Does Not Throw' {

Просмотреть файл

@ -1,10 +1,10 @@
Import-Module -Name MimSyncDsc Import-Module -Name MimDsc
Describe Get-MimSyncConfigCache{ Describe Get-MimSyncConfigCache{
<# <#
It 'Does Throw When Cache is Missing' { It 'Does Throw When Cache is Missing' {
#Arrange #Arrange
Remove-Item -Path "$env:ProgramData\MimSyncDsc\Svrexport" -ErrorAction SilentlyContinue Remove-Item -Path "$env:ProgramData\MimDsc\Svrexport" -ErrorAction SilentlyContinue
(Get-MimSyncConfigCache -eq $null) | Should Be True (Get-MimSyncConfigCache -eq $null) | Should Be True
} }
@ -12,10 +12,10 @@ Describe Get-MimSyncConfigCache{
It 'Does Not Throw When Cache folder is present' { It 'Does Not Throw When Cache folder is present' {
# Arrange # Arrange
mkdir "$env:ProgramData\MimSyncDsc\Svrexport" mkdir "$env:ProgramData\MimDsc\Svrexport"
# Act # Act
$actualValue = Get-ChildItem "$env:ProgramData\MimSyncDsc\Svrexport" $actualValue = Get-ChildItem "$env:ProgramData\MimDsc\Svrexport"
# Assert # Assert
{Get-MimSyncConfigCache } | Should Not Throw {Get-MimSyncConfigCache } | Should Not Throw

Просмотреть файл

@ -1,7 +1,7 @@
#Get-MimSyncServerXml -Path (Get-MimSyncConfigCache) -Force #Get-MimSyncServerXml -Path (Get-MimSyncConfigCache) -Force
$dscResource = Get-DscResource -Module MimSyncDsc -Name MimSyncExportAttributeFlowRule $dscResource = Get-DscResource -Module MimDsc -Name MimSyncExportAttributeFlowRule
Import-Module -Name $dscResource.Path -Force Import-Module -Name $dscResource.Path -Force
@ -89,7 +89,7 @@ Describe -Tag 'RunsInLocalConfigurationManager' 'MimSyncExportAttributeFlowRule
It 'Direct EAF Rule - desired state' { It 'Direct EAF Rule - desired state' {
Configuration TestMimSyncExportAttributeFlowRule Configuration TestMimSyncExportAttributeFlowRule
{ {
Import-DscResource -ModuleName MimSyncDsc Import-DscResource -ModuleName MimDsc
Node (hostname) Node (hostname)
{ {
@ -118,7 +118,7 @@ Describe -Tag 'RunsInLocalConfigurationManager' 'MimSyncExportAttributeFlowRule
It 'Scripted EAF Rule - desired state' { It 'Scripted EAF Rule - desired state' {
Configuration TestMimSyncExportAttributeFlowRule Configuration TestMimSyncExportAttributeFlowRule
{ {
Import-DscResource -ModuleName MimSyncDsc Import-DscResource -ModuleName MimDsc
Node (hostname) Node (hostname)
{ {
@ -148,7 +148,7 @@ Describe -Tag 'RunsInLocalConfigurationManager' 'MimSyncExportAttributeFlowRule
It 'Scripted EAF Rule - multiple source attributes - desired state' { It 'Scripted EAF Rule - multiple source attributes - desired state' {
Configuration TestMimSyncExportAttributeFlowRule Configuration TestMimSyncExportAttributeFlowRule
{ {
Import-DscResource -ModuleName MimSyncDsc Import-DscResource -ModuleName MimDsc
Node (hostname) Node (hostname)
{ {
@ -178,7 +178,7 @@ Describe -Tag 'RunsInLocalConfigurationManager' 'MimSyncExportAttributeFlowRule
It 'Constant EAF Rule - desired state' { It 'Constant EAF Rule - desired state' {
Configuration TestMimSyncExportAttributeFlowRule Configuration TestMimSyncExportAttributeFlowRule
{ {
Import-DscResource -ModuleName MimSyncDsc Import-DscResource -ModuleName MimDsc
Node (hostname) Node (hostname)
{ {

Просмотреть файл

@ -1,5 +1,5 @@
 
$dscResource = Get-DscResource -Module MimSyncDsc -Name MimSyncFilterRule $dscResource = Get-DscResource -Module MimDsc -Name MimSyncFilterRule
ipmo $dscResource.Path -Force ipmo $dscResource.Path -Force
@ -107,7 +107,7 @@ Describe -Tag 'RunsInLocalConfigurationManager' 'MimSyncFilterRule - using the L
It 'Scripted Filter Rule - desired state' { It 'Scripted Filter Rule - desired state' {
Configuration TestMimSyncFilterRule Configuration TestMimSyncFilterRule
{ {
Import-DscResource -ModuleName MimSyncDsc Import-DscResource -ModuleName MimDsc
Node (hostname) Node (hostname)
{ {
@ -133,7 +133,7 @@ Describe -Tag 'RunsInLocalConfigurationManager' 'MimSyncFilterRule - using the L
It 'Scripted Filter Rule - desired state' { It 'Scripted Filter Rule - desired state' {
Configuration TestMimSyncFilterRule Configuration TestMimSyncFilterRule
{ {
Import-DscResource -ModuleName MimSyncDsc Import-DscResource -ModuleName MimDsc
Node (hostname) Node (hostname)
{ {
@ -159,7 +159,7 @@ Describe -Tag 'RunsInLocalConfigurationManager' 'MimSyncFilterRule - using the L
It 'Declared Filter Rule - desired state' { It 'Declared Filter Rule - desired state' {
Configuration TestMimSyncFilterRule Configuration TestMimSyncFilterRule
{ {
Import-DscResource -ModuleName MimSyncDsc Import-DscResource -ModuleName MimDsc
Node (hostname) Node (hostname)
{ {

Просмотреть файл

@ -1,5 +1,5 @@
$dscResource = Get-DscResource -Module MimSyncDsc -Name MimSyncImportAttributeFlowRule $dscResource = Get-DscResource -Module MimDsc -Name MimSyncImportAttributeFlowRule
Import-Module -Name $dscResource.Path -Force Import-Module -Name $dscResource.Path -Force
@ -114,7 +114,7 @@ Describe -Tag 'RunsInLocalConfigurationManager' 'MimSyncImportAttributeFlowRule
It 'Direct IAF Rule - desired state' { It 'Direct IAF Rule - desired state' {
Configuration TestMimSyncImportAttributeFlowRule Configuration TestMimSyncImportAttributeFlowRule
{ {
Import-DscResource -ModuleName MimSyncDsc Import-DscResource -ModuleName MimDsc
Node (hostname) Node (hostname)
{ {
@ -143,7 +143,7 @@ Describe -Tag 'RunsInLocalConfigurationManager' 'MimSyncImportAttributeFlowRule
It 'Direct IAF Rule - dn-mapping - desired state' { It 'Direct IAF Rule - dn-mapping - desired state' {
Configuration TestMimSyncImportAttributeFlowRule Configuration TestMimSyncImportAttributeFlowRule
{ {
Import-DscResource -ModuleName MimSyncDsc Import-DscResource -ModuleName MimDsc
Node (hostname) Node (hostname)
{ {
@ -172,7 +172,7 @@ Describe -Tag 'RunsInLocalConfigurationManager' 'MimSyncImportAttributeFlowRule
It 'DN-Part-Mapping IAF Rule - desired state' { It 'DN-Part-Mapping IAF Rule - desired state' {
Configuration TestMimSyncImportAttributeFlowRule Configuration TestMimSyncImportAttributeFlowRule
{ {
Import-DscResource -ModuleName MimSyncDsc Import-DscResource -ModuleName MimDsc
Node (hostname) Node (hostname)
{ {
@ -201,7 +201,7 @@ Describe -Tag 'RunsInLocalConfigurationManager' 'MimSyncImportAttributeFlowRule
It 'Scripted IAF Rule - multiple source attributes - desired state' { It 'Scripted IAF Rule - multiple source attributes - desired state' {
Configuration TestMimSyncImportAttributeFlowRule Configuration TestMimSyncImportAttributeFlowRule
{ {
Import-DscResource -ModuleName MimSyncDsc Import-DscResource -ModuleName MimDsc
Node (hostname) Node (hostname)
{ {
@ -231,7 +231,7 @@ Describe -Tag 'RunsInLocalConfigurationManager' 'MimSyncImportAttributeFlowRule
It 'Constant IAF Rule - desired state' { It 'Constant IAF Rule - desired state' {
Configuration TestMimSyncImportAttributeFlowRule Configuration TestMimSyncImportAttributeFlowRule
{ {
Import-DscResource -ModuleName MimSyncDsc Import-DscResource -ModuleName MimDsc
Node (hostname) Node (hostname)
{ {
@ -258,37 +258,37 @@ Describe -Tag 'RunsInLocalConfigurationManager' 'MimSyncImportAttributeFlowRule
} }
It 'Issue: IAF Rules with identical key properties' { It 'Issue: IAF Rules with identical key properties' {
Configuration TestMimSyncConfig Configuration TestMimSyncConfig
{ {
Import-DscResource -ModuleName MimSyncDsc Import-DscResource -ModuleName MimDsc
Node (hostname) Node (hostname)
{ {
ImportAttributeFlowRule af5ca310-1d8c-4669-95c2-1f7d0482cb8f ImportAttributeFlowRule af5ca310-1d8c-4669-95c2-1f7d0482cb8f
{ {
FakeIdentifier = 'foo' FakeIdentifier = 'foo'
ManagementAgentName = 'TinyHR' ManagementAgentName = 'TinyHR'
MVObjectType = 'Contact' MVObjectType = 'Contact'
MVAttribute = 'DisplayName' MVAttribute = 'DisplayName'
CDObjectType = 'person' CDObjectType = 'person'
Type = 'direct-mapping' Type = 'direct-mapping'
SrcAttribute = 'LastName' SrcAttribute = 'LastName'
Ensure = 'Present' Ensure = 'Present'
} }
ImportAttributeFlowRule e1261aaa-de1a-4af0-8373-2c6c6fb76713 ImportAttributeFlowRule e1261aaa-de1a-4af0-8373-2c6c6fb76713
{ {
FakeIdentifier = 'bar' FakeIdentifier = 'bar'
ManagementAgentName = 'TinyHR' ManagementAgentName = 'TinyHR'
MVObjectType = 'Contact' MVObjectType = 'Contact'
MVAttribute = 'DisplayName' MVAttribute = 'DisplayName'
CDObjectType = 'person' CDObjectType = 'person'
Type = 'direct-mapping' Type = 'direct-mapping'
SrcAttribute = 'FirstName' SrcAttribute = 'FirstName'
Ensure = 'Present' Ensure = 'Present'
} }
} }
} }
{TestMimSyncConfig -OutputPath "$env:TEMP\TestMimSyncConfig" } | Should Not Throw {TestMimSyncConfig -OutputPath "$env:TEMP\TestMimSyncConfig" } | Should Not Throw
} }
} }

Просмотреть файл

@ -1,16 +1,16 @@
$dscResource = Get-DscResource -Module MimSyncDsc -Name MimSyncImportAttributePrecedence $dscResource = Get-DscResource -Module MimDsc -Name MimSyncImportAttributePrecedence
Import-Module -Name $dscResource.Path -Force Import-Module -Name $dscResource.Path -Force
Describe -Tag 'Build' 'MimSyncImportAttributePrecedence - calling Test-TargetResource Directly'{ Describe -Tag 'Build' 'MimSyncImportAttributePrecedence - calling Test-TargetResource Directly'{
It 'MimSyncImportAttributePrecedence - desired state' { It 'MimSyncImportAttributePrecedence - desired state' {
$RankedPrecedenceOrder = @( $RankedPrecedenceOrder = @(
New-CimInstance -ClassName MimSyncRankedPrecedenceOrder -Property @{Order = 0; ManagementAgentName='GrandHR'; CDObjectType='robot'; ID='{86E75ABE-B15D-4CFF-A785-BC968965A361}'} -ClientOnly -Namespace root/microsoft/windows/desiredstateconfiguration New-CimInstance -ClassName MimSyncRankedPrecedenceOrder -Property @{Order = 0; ManagementAgentName='GrandHR'; CDObjectType='robot'; ID='{86E75ABE-B15D-4CFF-A785-BC968965A361}'} -ClientOnly -Namespace root/microsoft/windows/desiredstateconfiguration
New-CimInstance -ClassName MimSyncRankedPrecedenceOrder -Property @{Order = 1; ManagementAgentName='TinyHR'; CDObjectType='person'; ID='{385176D8-4EB8-4900-B627-DBAF137C8FF3}'} -ClientOnly -Namespace root/microsoft/windows/desiredstateconfiguration New-CimInstance -ClassName MimSyncRankedPrecedenceOrder -Property @{Order = 1; ManagementAgentName='TinyHR'; CDObjectType='person'; ID='{385176D8-4EB8-4900-B627-DBAF137C8FF3}'} -ClientOnly -Namespace root/microsoft/windows/desiredstateconfiguration
New-CimInstance -ClassName MimSyncRankedPrecedenceOrder -Property @{Order = 2; ManagementAgentName='TinyHR'; CDObjectType='person'; ID='{AF5CA310-1D8C-4669-95C2-1F7D0482CB8F}'} -ClientOnly -Namespace root/microsoft/windows/desiredstateconfiguration New-CimInstance -ClassName MimSyncRankedPrecedenceOrder -Property @{Order = 2; ManagementAgentName='TinyHR'; CDObjectType='person'; ID='{AF5CA310-1D8C-4669-95C2-1F7D0482CB8F}'} -ClientOnly -Namespace root/microsoft/windows/desiredstateconfiguration
New-CimInstance -ClassName MimSyncRankedPrecedenceOrder -Property @{Order = 3; ManagementAgentName='TinyHR'; CDObjectType='person'; ID='{E1261AAA-DE1A-4AF0-8373-2C6C6FB76713}'} -ClientOnly -Namespace root/microsoft/windows/desiredstateconfiguration New-CimInstance -ClassName MimSyncRankedPrecedenceOrder -Property @{Order = 3; ManagementAgentName='TinyHR'; CDObjectType='person'; ID='{E1261AAA-DE1A-4AF0-8373-2C6C6FB76713}'} -ClientOnly -Namespace root/microsoft/windows/desiredstateconfiguration
) -as [CimInstance[]] ) -as [CimInstance[]]
$dscResult = Test-TargetResource -MVObjectType Contact -MVAttribute DisplayName -Type ranked -RankedPrecedenceOrder $RankedPrecedenceOrder -Verbose $dscResult = Test-TargetResource -MVObjectType Contact -MVAttribute DisplayName -Type ranked -RankedPrecedenceOrder $RankedPrecedenceOrder -Verbose
@ -19,12 +19,12 @@ Describe -Tag 'Build' 'MimSyncImportAttributePrecedence - calling Test-TargetRes
} }
It 'MimSyncImportAttributePrecedence - incorrect order' { It 'MimSyncImportAttributePrecedence - incorrect order' {
$RankedPrecedenceOrder = @( $RankedPrecedenceOrder = @(
New-CimInstance -ClassName MimSyncRankedPrecedenceOrder -Property @{Order = 0; ManagementAgentName='GrandHR'; CDObjectType='robot'; ID='{86E75ABE-B15D-4CFF-A785-BC968965A361}'} -ClientOnly -Namespace root/microsoft/windows/desiredstateconfiguration New-CimInstance -ClassName MimSyncRankedPrecedenceOrder -Property @{Order = 0; ManagementAgentName='GrandHR'; CDObjectType='robot'; ID='{86E75ABE-B15D-4CFF-A785-BC968965A361}'} -ClientOnly -Namespace root/microsoft/windows/desiredstateconfiguration
New-CimInstance -ClassName MimSyncRankedPrecedenceOrder -Property @{Order = 3; ManagementAgentName='TinyHR'; CDObjectType='person'; ID='{385176D8-4EB8-4900-B627-DBAF137C8FF3}'} -ClientOnly -Namespace root/microsoft/windows/desiredstateconfiguration New-CimInstance -ClassName MimSyncRankedPrecedenceOrder -Property @{Order = 3; ManagementAgentName='TinyHR'; CDObjectType='person'; ID='{385176D8-4EB8-4900-B627-DBAF137C8FF3}'} -ClientOnly -Namespace root/microsoft/windows/desiredstateconfiguration
New-CimInstance -ClassName MimSyncRankedPrecedenceOrder -Property @{Order = 2; ManagementAgentName='TinyHR'; CDObjectType='person'; ID='{AF5CA310-1D8C-4669-95C2-1F7D0482CB8F}'} -ClientOnly -Namespace root/microsoft/windows/desiredstateconfiguration New-CimInstance -ClassName MimSyncRankedPrecedenceOrder -Property @{Order = 2; ManagementAgentName='TinyHR'; CDObjectType='person'; ID='{AF5CA310-1D8C-4669-95C2-1F7D0482CB8F}'} -ClientOnly -Namespace root/microsoft/windows/desiredstateconfiguration
New-CimInstance -ClassName MimSyncRankedPrecedenceOrder -Property @{Order = 1; ManagementAgentName='TinyHR'; CDObjectType='person'; ID='{E1261AAA-DE1A-4AF0-8373-2C6C6FB76713}'} -ClientOnly -Namespace root/microsoft/windows/desiredstateconfiguration New-CimInstance -ClassName MimSyncRankedPrecedenceOrder -Property @{Order = 1; ManagementAgentName='TinyHR'; CDObjectType='person'; ID='{E1261AAA-DE1A-4AF0-8373-2C6C6FB76713}'} -ClientOnly -Namespace root/microsoft/windows/desiredstateconfiguration
) -as [CimInstance[]] ) -as [CimInstance[]]
$dscResult = Test-TargetResource -MVObjectType Contact -MVAttribute DisplayName -Type ranked -RankedPrecedenceOrder $RankedPrecedenceOrder -Verbose $dscResult = Test-TargetResource -MVObjectType Contact -MVAttribute DisplayName -Type ranked -RankedPrecedenceOrder $RankedPrecedenceOrder -Verbose
@ -33,12 +33,12 @@ Describe -Tag 'Build' 'MimSyncImportAttributePrecedence - calling Test-TargetRes
} }
It 'MimSyncImportAttributePrecedence - incorrect type' { It 'MimSyncImportAttributePrecedence - incorrect type' {
$RankedPrecedenceOrder = @( $RankedPrecedenceOrder = @(
New-CimInstance -ClassName MimSyncRankedPrecedenceOrder -Property @{Order = 0; ManagementAgentName='GrandHR'; CDObjectType='robot'; ID='{86E75ABE-B15D-4CFF-A785-BC968965A361}'} -ClientOnly -Namespace root/microsoft/windows/desiredstateconfiguration New-CimInstance -ClassName MimSyncRankedPrecedenceOrder -Property @{Order = 0; ManagementAgentName='GrandHR'; CDObjectType='robot'; ID='{86E75ABE-B15D-4CFF-A785-BC968965A361}'} -ClientOnly -Namespace root/microsoft/windows/desiredstateconfiguration
New-CimInstance -ClassName MimSyncRankedPrecedenceOrder -Property @{Order = 3; ManagementAgentName='TinyHR'; CDObjectType='person'; ID='{385176D8-4EB8-4900-B627-DBAF137C8FF3}'} -ClientOnly -Namespace root/microsoft/windows/desiredstateconfiguration New-CimInstance -ClassName MimSyncRankedPrecedenceOrder -Property @{Order = 3; ManagementAgentName='TinyHR'; CDObjectType='person'; ID='{385176D8-4EB8-4900-B627-DBAF137C8FF3}'} -ClientOnly -Namespace root/microsoft/windows/desiredstateconfiguration
New-CimInstance -ClassName MimSyncRankedPrecedenceOrder -Property @{Order = 2; ManagementAgentName='TinyHR'; CDObjectType='person'; ID='{AF5CA310-1D8C-4669-95C2-1F7D0482CB8F}'} -ClientOnly -Namespace root/microsoft/windows/desiredstateconfiguration New-CimInstance -ClassName MimSyncRankedPrecedenceOrder -Property @{Order = 2; ManagementAgentName='TinyHR'; CDObjectType='person'; ID='{AF5CA310-1D8C-4669-95C2-1F7D0482CB8F}'} -ClientOnly -Namespace root/microsoft/windows/desiredstateconfiguration
New-CimInstance -ClassName MimSyncRankedPrecedenceOrder -Property @{Order = 1; ManagementAgentName='TinyHR'; CDObjectType='person'; ID='{E1261AAA-DE1A-4AF0-8373-2C6C6FB76713}'} -ClientOnly -Namespace root/microsoft/windows/desiredstateconfiguration New-CimInstance -ClassName MimSyncRankedPrecedenceOrder -Property @{Order = 1; ManagementAgentName='TinyHR'; CDObjectType='person'; ID='{E1261AAA-DE1A-4AF0-8373-2C6C6FB76713}'} -ClientOnly -Namespace root/microsoft/windows/desiredstateconfiguration
) -as [CimInstance[]] ) -as [CimInstance[]]
$dscResult = Test-TargetResource -MVObjectType Contact -MVAttribute DisplayName -Type equal -RankedPrecedenceOrder $RankedPrecedenceOrder -Verbose $dscResult = Test-TargetResource -MVObjectType Contact -MVAttribute DisplayName -Type equal -RankedPrecedenceOrder $RankedPrecedenceOrder -Verbose
@ -75,21 +75,21 @@ Describe -Tag 'RunsInLocalConfigurationManager' 'MimSyncRunProfile - using the L
It 'MimSyncRunProfile - desired state' { It 'MimSyncRunProfile - desired state' {
Configuration TestMimSyncImportAttributePrecedenceConfig Configuration TestMimSyncImportAttributePrecedenceConfig
{ {
Import-DscResource -ModuleName MimSyncDsc Import-DscResource -ModuleName MimDsc
Node (hostname) Node (hostname)
{ {
ImportAttributePrecedence 'Contact-DisplayName' ImportAttributePrecedence 'Contact-DisplayName'
{ {
MVObjectType = 'Contact' MVObjectType = 'Contact'
MVAttribute = 'DisplayName' MVAttribute = 'DisplayName'
Type = 'ranked' Type = 'ranked'
RankedPrecedenceOrder = @( RankedPrecedenceOrder = @(
RankedPrecedenceOrder{Order = 0; ManagementAgentName='GrandHR'; CDObjectType='robot'; ID='{86E75ABE-B15D-4CFF-A785-BC968965A361}'} RankedPrecedenceOrder{Order = 0; ManagementAgentName='GrandHR'; CDObjectType='robot'; ID='{86E75ABE-B15D-4CFF-A785-BC968965A361}'}
RankedPrecedenceOrder{Order = 1; ManagementAgentName='TinyHR'; CDObjectType='person'; ID='{385176D8-4EB8-4900-B627-DBAF137C8FF3}'} RankedPrecedenceOrder{Order = 1; ManagementAgentName='TinyHR'; CDObjectType='person'; ID='{385176D8-4EB8-4900-B627-DBAF137C8FF3}'}
RankedPrecedenceOrder{Order = 2; ManagementAgentName='TinyHR'; CDObjectType='person'; ID='{AF5CA310-1D8C-4669-95C2-1F7D0482CB8F}'} RankedPrecedenceOrder{Order = 2; ManagementAgentName='TinyHR'; CDObjectType='person'; ID='{AF5CA310-1D8C-4669-95C2-1F7D0482CB8F}'}
RankedPrecedenceOrder{Order = 3; ManagementAgentName='TinyHR'; CDObjectType='person'; ID='{E1261AAA-DE1A-4AF0-8373-2C6C6FB76713}'} RankedPrecedenceOrder{Order = 3; ManagementAgentName='TinyHR'; CDObjectType='person'; ID='{E1261AAA-DE1A-4AF0-8373-2C6C6FB76713}'}
) )
} }
} }
} }

Просмотреть файл

@ -1,9 +1,9 @@
$dscResource = Get-DscResource -Module MimSyncDsc -Name MimSyncJoinRule $dscResource = Get-DscResource -Module MimDsc -Name MimSyncJoinRule
Import-Module -Name $dscResource.Path -Force Import-Module -Name $dscResource.Path -Force
Describe -Tag 'Build' 'MimSyncJoinRule - calling Test-TargetResource Directly'{ Describe -Tag 'Build' 'MimSyncJoinRule - calling Test-TargetResource Directly'{
It 'Mega Join Rule - desired state' { It 'Mega Join Rule - desired state' {
$joinCriteria = @( $joinCriteria = @(
New-CimInstance -ClassName MimSyncJoinCriterion -ClientOnly -Namespace root/microsoft/windows/desiredstateconfiguration -Property @{ New-CimInstance -ClassName MimSyncJoinCriterion -ClientOnly -Namespace root/microsoft/windows/desiredstateconfiguration -Property @{
MVObjectType = 'Contact' MVObjectType = 'Contact'
@ -24,7 +24,7 @@ Describe -Tag 'Build' 'MimSyncJoinRule - calling Test-TargetResource Directly'{
ScriptContext = '' ScriptContext = ''
} }
) -as [CimInstance[]] ) -as [CimInstance[]]
} }
New-CimInstance -ClassName MimSyncJoinCriterion -ClientOnly -Namespace root/microsoft/windows/desiredstateconfiguration -Property @{ New-CimInstance -ClassName MimSyncJoinCriterion -ClientOnly -Namespace root/microsoft/windows/desiredstateconfiguration -Property @{
MVObjectType = 'Contact' MVObjectType = 'Contact'
ResolutionType = 'scripted' ResolutionType = 'scripted'
@ -38,7 +38,7 @@ Describe -Tag 'Build' 'MimSyncJoinRule - calling Test-TargetResource Directly'{
ScriptContext = 'cd.contact#2:FirstName,LastName->Alias' ScriptContext = 'cd.contact#2:FirstName,LastName->Alias'
} }
) -as [CimInstance[]] ) -as [CimInstance[]]
} }
New-CimInstance -ClassName MimSyncJoinCriterion -ClientOnly -Namespace root/microsoft/windows/desiredstateconfiguration -Property @{ New-CimInstance -ClassName MimSyncJoinCriterion -ClientOnly -Namespace root/microsoft/windows/desiredstateconfiguration -Property @{
MVObjectType = '' MVObjectType = ''
ResolutionType = 'none' ResolutionType = 'none'
@ -52,15 +52,15 @@ Describe -Tag 'Build' 'MimSyncJoinRule - calling Test-TargetResource Directly'{
ScriptContext = '' ScriptContext = ''
} }
) -as [CimInstance[]] ) -as [CimInstance[]]
} }
) )
$dscResult = Test-TargetResource -ManagementAgentName TinyHR -CDObjectType contact -JoinCriterion $joinCriteria -Ensure Present -Verbose $dscResult = Test-TargetResource -ManagementAgentName TinyHR -CDObjectType contact -JoinCriterion $joinCriteria -Ensure Present -Verbose
$dscResult | Should be True $dscResult | Should be True
} }
It 'Mega Join Rule - incorrect join rule order' { It 'Mega Join Rule - incorrect join rule order' {
$joinCriteria = @( $joinCriteria = @(
New-CimInstance -ClassName MimSyncJoinCriterion -ClientOnly -Namespace root/microsoft/windows/desiredstateconfiguration -Property @{ New-CimInstance -ClassName MimSyncJoinCriterion -ClientOnly -Namespace root/microsoft/windows/desiredstateconfiguration -Property @{
MVObjectType = 'Contact' MVObjectType = 'Contact'
@ -81,7 +81,7 @@ Describe -Tag 'Build' 'MimSyncJoinRule - calling Test-TargetResource Directly'{
ScriptContext = '' ScriptContext = ''
} }
) -as [CimInstance[]] ) -as [CimInstance[]]
} }
New-CimInstance -ClassName MimSyncJoinCriterion -ClientOnly -Namespace root/microsoft/windows/desiredstateconfiguration -Property @{ New-CimInstance -ClassName MimSyncJoinCriterion -ClientOnly -Namespace root/microsoft/windows/desiredstateconfiguration -Property @{
MVObjectType = 'Contact' MVObjectType = 'Contact'
ResolutionType = 'scripted' ResolutionType = 'scripted'
@ -95,7 +95,7 @@ Describe -Tag 'Build' 'MimSyncJoinRule - calling Test-TargetResource Directly'{
ScriptContext = 'cd.contact#2:FirstName,LastName->Alias' ScriptContext = 'cd.contact#2:FirstName,LastName->Alias'
} }
) -as [CimInstance[]] ) -as [CimInstance[]]
} }
New-CimInstance -ClassName MimSyncJoinCriterion -ClientOnly -Namespace root/microsoft/windows/desiredstateconfiguration -Property @{ New-CimInstance -ClassName MimSyncJoinCriterion -ClientOnly -Namespace root/microsoft/windows/desiredstateconfiguration -Property @{
MVObjectType = '' MVObjectType = ''
ResolutionType = 'none' ResolutionType = 'none'
@ -109,45 +109,45 @@ Describe -Tag 'Build' 'MimSyncJoinRule - calling Test-TargetResource Directly'{
ScriptContext = '' ScriptContext = ''
} }
) -as [CimInstance[]] ) -as [CimInstance[]]
} }
) )
$dscResult = Test-TargetResource -ManagementAgentName TinyHR -CDObjectType contact -JoinCriterion $joinCriteria -Ensure Present -Verbose $dscResult = Test-TargetResource -ManagementAgentName TinyHR -CDObjectType contact -JoinCriterion $joinCriteria -Ensure Present -Verbose
$dscResult | Should be False $dscResult | Should be False
} }
} }
Describe -Tag 'Build' 'MimSyncJoinRule - calling Get-TargetResource Directly'{ Describe -Tag 'Build' 'MimSyncJoinRule - calling Get-TargetResource Directly'{
It 'Missing Join Rule' { It 'Missing Join Rule' {
$dscResult = Get-TargetResource -ManagementAgentName TINYHR -CDObjectType faketype -Verbose $dscResult = Get-TargetResource -ManagementAgentName TINYHR -CDObjectType faketype -Verbose
(-not $dscResult) | Should Be True (-not $dscResult) | Should Be True
} }
It 'Expected Join Rule' { It 'Expected Join Rule' {
$dscResult = Get-TargetResource -ManagementAgentName TinyHR -CDObjectType contact -Verbose $dscResult = Get-TargetResource -ManagementAgentName TinyHR -CDObjectType contact -Verbose
$dscResult['JoinCriterion'].Count | Should be 3 $dscResult['JoinCriterion'].Count | Should be 3
} }
} }
Describe -Tag 'RunsInLocalConfigurationManager' 'MimSyncJoinRule - using the Local Configuration Manager'{ Describe -Tag 'RunsInLocalConfigurationManager' 'MimSyncJoinRule - using the Local Configuration Manager'{
It 'Join Rule - desired state' { It 'Join Rule - desired state' {
Configuration TestMimSyncJoinRule Configuration TestMimSyncJoinRule
{ {
Import-DscResource -ModuleName MimSyncDsc Import-DscResource -ModuleName MimDsc
Node (hostname) Node (hostname)
{ {
JoinRule TestMimSyncJoinRule JoinRule TestMimSyncJoinRule
{ {
ManagementAgentName = 'TinyHR' ManagementAgentName = 'TinyHR'
CDObjectType = 'contact' CDObjectType = 'contact'
Ensure = 'Present' Ensure = 'Present'
JoinCriterion = @( JoinCriterion = @(
JoinCriterion{ JoinCriterion{
ID = [Guid]::NewGuid().Guid ID = [Guid]::NewGuid().Guid
MVObjectType = 'Contact' MVObjectType = 'Contact'
@ -168,7 +168,7 @@ Describe -Tag 'RunsInLocalConfigurationManager' 'MimSyncJoinRule - using the Loc
ScriptContext = '' ScriptContext = ''
} }
) )
} }
JoinCriterion{ JoinCriterion{
ID = [Guid]::NewGuid().Guid ID = [Guid]::NewGuid().Guid
MVObjectType = 'Contact' MVObjectType = 'Contact'
@ -183,7 +183,7 @@ Describe -Tag 'RunsInLocalConfigurationManager' 'MimSyncJoinRule - using the Loc
ScriptContext = 'cd.contact#2:FirstName,LastName->Alias' ScriptContext = 'cd.contact#2:FirstName,LastName->Alias'
} }
) )
} }
JoinCriterion{ JoinCriterion{
ID = [Guid]::NewGuid().Guid ID = [Guid]::NewGuid().Guid
MVObjectType = '' MVObjectType = ''
@ -198,31 +198,31 @@ Describe -Tag 'RunsInLocalConfigurationManager' 'MimSyncJoinRule - using the Loc
ScriptContext = '' ScriptContext = ''
} }
) )
} }
) )
} }
} }
} }
TestMimSyncJoinRule -OutputPath "$env:TEMP\TestMimSyncJoinRule" TestMimSyncJoinRule -OutputPath "$env:TEMP\TestMimSyncJoinRule"
Start-DscConfiguration -Path "$env:TEMP\TestMimSyncJoinRule" -Force -Wait -Verbose Start-DscConfiguration -Path "$env:TEMP\TestMimSyncJoinRule" -Force -Wait -Verbose
Test-DscConfiguration | Should Be True Test-DscConfiguration | Should Be True
} }
It 'Join Rule - incorrect order' { It 'Join Rule - incorrect order' {
Configuration TestMimSyncJoinRule Configuration TestMimSyncJoinRule
{ {
Import-DscResource -ModuleName MimSyncDsc Import-DscResource -ModuleName MimDsc
Node (hostname) Node (hostname)
{ {
JoinRule TestMimSyncJoinRule JoinRule TestMimSyncJoinRule
{ {
ManagementAgentName = 'TinyHR' ManagementAgentName = 'TinyHR'
CDObjectType = 'contact' CDObjectType = 'contact'
Ensure = 'Present' Ensure = 'Present'
JoinCriterion = @( JoinCriterion = @(
JoinCriterion{ JoinCriterion{
ID = [Guid]::NewGuid().Guid ID = [Guid]::NewGuid().Guid
MVObjectType = 'Contacts'## MVObjectType = 'Contacts'##
@ -243,7 +243,7 @@ Describe -Tag 'RunsInLocalConfigurationManager' 'MimSyncJoinRule - using the Loc
ScriptContext = '' ScriptContext = ''
} }
) )
} }
JoinCriterion{ JoinCriterion{
ID = [Guid]::NewGuid().Guid ID = [Guid]::NewGuid().Guid
MVObjectType = 'Contact' MVObjectType = 'Contact'
@ -258,7 +258,7 @@ Describe -Tag 'RunsInLocalConfigurationManager' 'MimSyncJoinRule - using the Loc
ScriptContext = 'cd.contact#2:FirstName,LastName->Alias' ScriptContext = 'cd.contact#2:FirstName,LastName->Alias'
} }
) )
} }
JoinCriterion{ JoinCriterion{
ID = [Guid]::NewGuid().Guid ID = [Guid]::NewGuid().Guid
MVObjectType = '' MVObjectType = ''
@ -273,15 +273,15 @@ Describe -Tag 'RunsInLocalConfigurationManager' 'MimSyncJoinRule - using the Loc
ScriptContext = '' ScriptContext = ''
} }
) )
} }
) )
} }
} }
} }
TestMimSyncJoinRule -OutputPath "$env:TEMP\TestMimSyncJoinRule" TestMimSyncJoinRule -OutputPath "$env:TEMP\TestMimSyncJoinRule"
Start-DscConfiguration -Path "$env:TEMP\TestMimSyncJoinRule" -Force -Wait -Verbose Start-DscConfiguration -Path "$env:TEMP\TestMimSyncJoinRule" -Force -Wait -Verbose
Test-DscConfiguration | Should Be False Test-DscConfiguration | Should Be False
} }
} }

Просмотреть файл

@ -1,23 +1,23 @@
$dscResource = Get-DscResource -Module MimSyncDsc -Name MimSyncMAPartitionData $dscResource = Get-DscResource -Module MimDsc -Name MimSyncMAPartitionData
Import-Module -Name $dscResource.Path -Force Import-Module -Name $dscResource.Path -Force
Describe -Tag 'Build' 'MimSyncMAPartitionData - calling Test-TargetResource Directly'{ Describe -Tag 'Build' 'MimSyncMAPartitionData - calling Test-TargetResource Directly'{
It 'MimSyncMAPartitionData - desired state' { It 'MimSyncMAPartitionData - desired state' {
$testResourceProperties = @{ $testResourceProperties = @{
ManagementAgentName = 'TinyHR' ManagementAgentName = 'TinyHR'
Name = 'default' Name = 'default'
Selected = $true Selected = $true
ObjectClassInclusions = @( ObjectClassInclusions = @(
'person' 'person'
'contact' 'contact'
'robot' 'robot'
'hybrid' 'hybrid'
) )
ContainerExclusions = @() ContainerExclusions = @()
ContainerInclusions = @() ContainerInclusions = @()
Ensure = 'Present' Ensure = 'Present'
} }
$dscResult = Test-TargetResource @testResourceProperties -Verbose $dscResult = Test-TargetResource @testResourceProperties -Verbose
@ -26,19 +26,19 @@ Describe -Tag 'Build' 'MimSyncMAPartitionData - calling Test-TargetResource Dire
} }
It 'MimSyncMAPartitionData - incorrect ObjectClassInclusions' { It 'MimSyncMAPartitionData - incorrect ObjectClassInclusions' {
$testResourceProperties = @{ $testResourceProperties = @{
ManagementAgentName = 'TinyHR' ManagementAgentName = 'TinyHR'
Name = 'default' Name = 'default'
Selected = $true Selected = $true
ObjectClassInclusions = @( ObjectClassInclusions = @(
'person' 'person'
'contact' 'contact'
'robot' 'robot'
'hybird' 'hybird'
) )
ContainerExclusions = @() ContainerExclusions = @()
ContainerInclusions = @() ContainerInclusions = @()
Ensure = 'Present' Ensure = 'Present'
} }
$dscResult = Test-TargetResource @testResourceProperties -Verbose $dscResult = Test-TargetResource @testResourceProperties -Verbose
@ -80,24 +80,24 @@ Describe -Tag 'RunsInLocalConfigurationManager' 'MimSyncMAPartitionData - using
It 'MimSyncMAPartitionData - desired state' { It 'MimSyncMAPartitionData - desired state' {
Configuration TestMimSyncMAPartitionDataConfig Configuration TestMimSyncMAPartitionDataConfig
{ {
Import-DscResource -ModuleName MimSyncDsc Import-DscResource -ModuleName MimDsc
Node (hostname) Node (hostname)
{ {
MimSyncMAPartitionData '[TinyHR]default' MimSyncMAPartitionData '[TinyHR]default'
{ {
ManagementAgentName = 'TinyHR' ManagementAgentName = 'TinyHR'
Name = 'default' Name = 'default'
Selected = $true Selected = $true
ObjectClassInclusions = @( ObjectClassInclusions = @(
'person' 'person'
'contact' 'contact'
'robot' 'robot'
'hybrid' 'hybrid'
) )
ContainerExclusions = @() ContainerExclusions = @()
ContainerInclusions = @() ContainerInclusions = @()
Ensure = 'Present' Ensure = 'Present'
} }
} }
} }

Просмотреть файл

@ -1,4 +1,4 @@
$dscResource = Get-DscResource -Module MimSyncDsc -Name MimSyncMAPrivateConfiguration $dscResource = Get-DscResource -Module MimDsc -Name MimSyncMAPrivateConfiguration
Import-Module -Name $dscResource.Path -Force Import-Module -Name $dscResource.Path -Force
@ -74,21 +74,21 @@ Describe -Tag 'RunsInLocalConfigurationManager' 'MimSyncMAPartitionData - using
It 'MimSyncMAPartitionData - desired state' { It 'MimSyncMAPartitionData - desired state' {
Configuration TestMimSyncMAPrivateConfigurationConfig Configuration TestMimSyncMAPrivateConfigurationConfig
{ {
Import-DscResource -ModuleName MimSyncDsc Import-DscResource -ModuleName MimDsc
Node (hostname) Node (hostname)
{ {
MimSyncMAPrivateConfiguration Litware MimSyncMAPrivateConfiguration Litware
{ {
ManagementAgentName = 'Litware' ManagementAgentName = 'Litware'
ForestName = 'cmlitware.selfhost.corp.microsoft.com' ForestName = 'cmlitware.selfhost.corp.microsoft.com'
ForestLoginDomain = 'cmlitware' ForestLoginDomain = 'cmlitware'
ForestLoginUser = 'administrator' ForestLoginUser = 'administrator'
SignAndSeal = $true SignAndSeal = $true
SslBind = $false SslBind = $false
SslBindCrlCheck = $false SslBindCrlCheck = $false
SimpleBind = $false SimpleBind = $false
Ensure = 'Present' Ensure = 'Present'
} }
} }
} }

Просмотреть файл

@ -1,4 +1,4 @@
$dscResource = Get-DscResource -Module MimSyncDsc -Name MimSyncMVAttributeType $dscResource = Get-DscResource -Module MimDsc -Name MimSyncMVAttributeType
Import-Module -Name $dscResource.Path -Force Import-Module -Name $dscResource.Path -Force
@ -50,17 +50,17 @@ Describe -Tag 'RunsInLocalConfigurationManager' 'MimSyncMVAttributeType - using
It 'MimSyncMVAttributeType - desired state' { It 'MimSyncMVAttributeType - desired state' {
Configuration TestMimSyncMVAttributeType Configuration TestMimSyncMVAttributeType
{ {
Import-DscResource -ModuleName MimSyncDsc Import-DscResource -ModuleName MimDsc
Node (hostname) Node (hostname)
{ {
MVAttributeType TestMimSyncMVAttributeTypeItem MVAttributeType TestMimSyncMVAttributeTypeItem
{ {
ID = 'Alias' ID = 'Alias'
SingleValue = $true SingleValue = $true
Indexable = $true Indexable = $true
Indexed = $false Indexed = $false
Syntax = '1.3.6.1.4.1.1466.115.121.1.15' Syntax = '1.3.6.1.4.1.1466.115.121.1.15'
Ensure = 'present' Ensure = 'present'
} }
} }
@ -75,17 +75,17 @@ Describe -Tag 'RunsInLocalConfigurationManager' 'MimSyncMVAttributeType - using
It 'MimSyncMVAttributeType - incorrect indexed state' { It 'MimSyncMVAttributeType - incorrect indexed state' {
Configuration TestMimSyncMVAttributeType Configuration TestMimSyncMVAttributeType
{ {
Import-DscResource -ModuleName MimSyncDsc Import-DscResource -ModuleName MimDsc
Node (hostname) Node (hostname)
{ {
MVAttributeType TestMimSyncMVAttributeTypeItem MVAttributeType TestMimSyncMVAttributeTypeItem
{ {
ID = 'Alias' ID = 'Alias'
SingleValue = $true SingleValue = $true
Indexable = $true Indexable = $true
Indexed = $true Indexed = $true
Syntax = '1.3.6.1.4.1.1466.115.121.1.15' Syntax = '1.3.6.1.4.1.1466.115.121.1.15'
Ensure = 'present' Ensure = 'present'
} }
} }
@ -100,17 +100,17 @@ Describe -Tag 'RunsInLocalConfigurationManager' 'MimSyncMVAttributeType - using
It 'MimSyncMVAttributeType - missing attribute type' { It 'MimSyncMVAttributeType - missing attribute type' {
Configuration TestMimSyncMVAttributeType Configuration TestMimSyncMVAttributeType
{ {
Import-DscResource -ModuleName MimSyncDsc Import-DscResource -ModuleName MimDsc
Node (hostname) Node (hostname)
{ {
MVAttributeType TestMimSyncMVAttributeTypeItem MVAttributeType TestMimSyncMVAttributeTypeItem
{ {
ID = 'Gone' ID = 'Gone'
SingleValue = $true SingleValue = $true
Indexable = $true Indexable = $true
Indexed = $true Indexed = $true
Syntax = '1.3.6.1.4.1.1466.115.121.1.15' Syntax = '1.3.6.1.4.1.1466.115.121.1.15'
Ensure = 'present' Ensure = 'present'
} }
} }

Просмотреть файл

@ -1,4 +1,4 @@
$dscResource = Get-DscResource -Module MimSyncDsc -Name MimSyncMVDeletionRule $dscResource = Get-DscResource -Module MimDsc -Name MimSyncMVDeletionRule
Import-Module -Name $dscResource.Path -Force Import-Module -Name $dscResource.Path -Force
@ -38,14 +38,14 @@ Describe -Tag 'RunsInLocalConfigurationManager' 'MimSyncMVDeletionRule - using t
It 'MimSyncMVDeletionRule - desired state' { It 'MimSyncMVDeletionRule - desired state' {
Configuration TestMimSyncMVDeletionRule Configuration TestMimSyncMVDeletionRule
{ {
Import-DscResource -ModuleName MimSyncDsc Import-DscResource -ModuleName MimDsc
Node (hostname) Node (hostname)
{ {
MVDeletionRule TestMimSyncMVDeletionRule MVDeletionRule TestMimSyncMVDeletionRule
{ {
MVObjectType = 'SyncObject' MVObjectType = 'SyncObject'
Type = 'scripted' Type = 'scripted'
} }
} }
} }
@ -59,14 +59,14 @@ Describe -Tag 'RunsInLocalConfigurationManager' 'MimSyncMVDeletionRule - using t
It 'MimSyncMVDeletionRule - desired state' { It 'MimSyncMVDeletionRule - desired state' {
Configuration TestMimSyncMVDeletionRule Configuration TestMimSyncMVDeletionRule
{ {
Import-DscResource -ModuleName MimSyncDsc Import-DscResource -ModuleName MimDsc
Node (hostname) Node (hostname)
{ {
MVDeletionRule TestMimSyncMVDeletionRule MVDeletionRule TestMimSyncMVDeletionRule
{ {
MVObjectType = 'SyncObject' MVObjectType = 'SyncObject'
Type = 'declared' Type = 'declared'
} }
} }
} }
@ -80,22 +80,22 @@ Describe -Tag 'RunsInLocalConfigurationManager' 'MimSyncMVDeletionRule - using t
<# <#
#TODO - more tests for other deletion rule types, such as #TODO - more tests for other deletion rule types, such as
Configuration TestMimSyncMVDeletionRule Configuration TestMimSyncMVDeletionRule
{ {
Import-DscResource -ModuleName MimSyncDsc Import-DscResource -ModuleName MimDsc
Node (hostname) Node (hostname)
{ {
MVDeletionRule TestMimSyncMVDeletionRule MVDeletionRule TestMimSyncMVDeletionRule
{ {
MVObjectType = 'Contact' MVObjectType = 'Contact'
Type = 'declared-any' Type = 'declared-any'
ManagementAgentName = @( ManagementAgentName = @(
'TinyHR' 'TinyHR'
'GiantHR' 'GiantHR'
'OnPremiseAD' 'OnPremiseAD'
) )
} }
} }
} }
#> #>

Просмотреть файл

@ -1,11 +1,11 @@
$dscResource = Get-DscResource -Module MimSyncDsc -Name MimSyncMVObjectType $dscResource = Get-DscResource -Module MimDsc -Name MimSyncMVObjectType
Import-Module -Name $dscResource.Path -Force Import-Module -Name $dscResource.Path -Force
Describe -Tag 'Build' 'MimSyncMVObjectType - calling Test-TargetResource Directly'{ Describe -Tag 'Build' 'MimSyncMVObjectType - calling Test-TargetResource Directly'{
It 'MimSyncMVObjectType - desired state' { It 'MimSyncMVObjectType - desired state' {
$attributes = @( $attributes = @(
'#Alias' '#Alias'
'#AssistantName' '#AssistantName'
'#City' '#City'
@ -60,18 +60,18 @@ Describe -Tag 'Build' 'MimSyncMVObjectType - calling Test-TargetResource Directl
'#TelephoneAssistant' '#TelephoneAssistant'
'#Title' '#Title'
'#UserPrincipalName' '#UserPrincipalName'
'#WindowsEmailAddress' '#WindowsEmailAddress'
) | ForEach-Object { ) | ForEach-Object {
New-CimInstance -ClassName MimSyncMVAttributeBinding -Property @{ID=$PSItem; Required=$false} -ClientOnly -Namespace root/microsoft/windows/desiredstateconfiguration New-CimInstance -ClassName MimSyncMVAttributeBinding -Property @{ID=$PSItem; Required=$false} -ClientOnly -Namespace root/microsoft/windows/desiredstateconfiguration
} }
$dscResult = Test-TargetResource -ID SyncObject -Type structural -Attributes $attributes -Ensure Present -Verbose $dscResult = Test-TargetResource -ID SyncObject -Type structural -Attributes $attributes -Ensure Present -Verbose
$dscResult | Should be True $dscResult | Should be True
} }
It 'MimSyncMVObjectType - missing attributes' { It 'MimSyncMVObjectType - missing attributes' {
$attributes = @( $attributes = @(
'#Alias' '#Alias'
'#AssistantName' '#AssistantName'
'#City' '#City'
@ -126,18 +126,18 @@ Describe -Tag 'Build' 'MimSyncMVObjectType - calling Test-TargetResource Directl
'#TelephoneAssistant' '#TelephoneAssistant'
'#Title' '#Title'
'#UserPrincipalName' '#UserPrincipalName'
'#WindowsEmailAddress' '#WindowsEmailAddress'
) | ForEach-Object { ) | ForEach-Object {
New-CimInstance -ClassName MimSyncMVAttributeBinding -Property @{ID=$PSItem; Required=$false} -ClientOnly -Namespace root/microsoft/windows/desiredstateconfiguration New-CimInstance -ClassName MimSyncMVAttributeBinding -Property @{ID=$PSItem; Required=$false} -ClientOnly -Namespace root/microsoft/windows/desiredstateconfiguration
} }
$dscResult = Test-TargetResource -ID SyncObject -Type structural -Attributes $attributes -Ensure Present -Verbose $dscResult = Test-TargetResource -ID SyncObject -Type structural -Attributes $attributes -Ensure Present -Verbose
$dscResult | Should be False $dscResult | Should be False
} }
It 'MimSyncMVObjectType - one attribute required set to true' { It 'MimSyncMVObjectType - one attribute required set to true' {
$attributes = @( $attributes = @(
'#Alias' '#Alias'
'#AssistantName' '#AssistantName'
'#City' '#City'
@ -192,55 +192,55 @@ Describe -Tag 'Build' 'MimSyncMVObjectType - calling Test-TargetResource Directl
'#TelephoneAssistant' '#TelephoneAssistant'
'#Title' '#Title'
'#UserPrincipalName' '#UserPrincipalName'
'#WindowsEmailAddress' '#WindowsEmailAddress'
) | ForEach-Object { ) | ForEach-Object {
New-CimInstance -ClassName MimSyncMVAttributeBinding -Property @{ID=$PSItem; Required=$false} -ClientOnly -Namespace root/microsoft/windows/desiredstateconfiguration New-CimInstance -ClassName MimSyncMVAttributeBinding -Property @{ID=$PSItem; Required=$false} -ClientOnly -Namespace root/microsoft/windows/desiredstateconfiguration
} }
($attributes | Where-Object ID -EQ '#Alias').Required = $true ($attributes | Where-Object ID -EQ '#Alias').Required = $true
$dscResult = Test-TargetResource -ID SyncObject -Type structural -Attributes $attributes -Ensure Present -Verbose $dscResult = Test-TargetResource -ID SyncObject -Type structural -Attributes $attributes -Ensure Present -Verbose
$dscResult | Should be False $dscResult | Should be False
} }
} }
Describe -Tag 'Build' 'MimSyncMVObjectType - calling Get-TargetResource Directly'{ Describe -Tag 'Build' 'MimSyncMVObjectType - calling Get-TargetResource Directly'{
It 'Existing MV Object Type' { It 'Existing MV Object Type' {
$dscResult = Get-TargetResource -ID SyncObject -Verbose $dscResult = Get-TargetResource -ID SyncObject -Verbose
$dscResult | Should Not Be Null $dscResult | Should Not Be Null
} }
It 'Existing MV Object Type - Type' { It 'Existing MV Object Type - Type' {
$dscResult = Get-TargetResource -ID SyncObject -Verbose $dscResult = Get-TargetResource -ID SyncObject -Verbose
$dscResult['Type'] | Should be 'structural' $dscResult['Type'] | Should be 'structural'
} }
It 'Missing MV Object Type' { It 'Missing MV Object Type' {
$dscResult = Get-TargetResource -ID DivideByObject -Verbose $dscResult = Get-TargetResource -ID DivideByObject -Verbose
(-not $dscResult) | Should Be True (-not $dscResult) | Should Be True
} }
} }
Describe -Tag 'RunsInLocalConfigurationManager' 'MimSyncMVObjectType - using the Local Configuration Manager'{ Describe -Tag 'RunsInLocalConfigurationManager' 'MimSyncMVObjectType - using the Local Configuration Manager'{
It 'MimSyncMVObjectType - desired state' { It 'MimSyncMVObjectType - desired state' {
Configuration TestMimSyncMVObjectType Configuration TestMimSyncMVObjectType
{ {
Import-DscResource -ModuleName MimSyncDsc Import-DscResource -ModuleName MimDsc
Node (hostname) Node (hostname)
{ {
MVObjectType TestMimSyncMVObjectType MVObjectType TestMimSyncMVObjectType
{ {
ID = 'SyncObject' ID = 'SyncObject'
Type = 'structural' Type = 'structural'
Attributes = @( Attributes = @(
MVAttributeBinding {ID='#Alias'; Required=$false} MVAttributeBinding {ID='#Alias'; Required=$false}
MVAttributeBinding {ID='#AssistantName'; Required=$false} MVAttributeBinding {ID='#AssistantName'; Required=$false}
MVAttributeBinding {ID='#City'; Required=$false} MVAttributeBinding {ID='#City'; Required=$false}
@ -295,31 +295,31 @@ Describe -Tag 'RunsInLocalConfigurationManager' 'MimSyncMVObjectType - using the
MVAttributeBinding {ID='#TelephoneAssistant'; Required=$false} MVAttributeBinding {ID='#TelephoneAssistant'; Required=$false}
MVAttributeBinding {ID='#Title'; Required=$false} MVAttributeBinding {ID='#Title'; Required=$false}
MVAttributeBinding {ID='#UserPrincipalName'; Required=$false} MVAttributeBinding {ID='#UserPrincipalName'; Required=$false}
MVAttributeBinding {ID='#WindowsEmailAddress'; Required=$false} MVAttributeBinding {ID='#WindowsEmailAddress'; Required=$false}
) )
Ensure = 'Present' Ensure = 'Present'
} }
} }
} }
TestMimSyncMVObjectType -OutputPath "$env:TEMP\TestMimSyncMVObjectType" TestMimSyncMVObjectType -OutputPath "$env:TEMP\TestMimSyncMVObjectType"
Start-DscConfiguration -Path "$env:TEMP\TestMimSyncMVObjectType" -Force -Wait -Verbose Start-DscConfiguration -Path "$env:TEMP\TestMimSyncMVObjectType" -Force -Wait -Verbose
Test-DscConfiguration | Should Be True Test-DscConfiguration | Should Be True
} }
It 'MimSyncMVObjectType - missing attributes' { It 'MimSyncMVObjectType - missing attributes' {
Configuration TestMimSyncMaData Configuration TestMimSyncMaData
{ {
Import-DscResource -ModuleName MimSyncDsc Import-DscResource -ModuleName MimDsc
Node (hostname) Node (hostname)
{ {
MVObjectType TestMimSyncMVObjectType MVObjectType TestMimSyncMVObjectType
{ {
ID = 'SyncObject' ID = 'SyncObject'
Type = 'structural' Type = 'structural'
Attributes = @( Attributes = @(
MVAttributeBinding {ID='#Alias'; Required=$false} MVAttributeBinding {ID='#Alias'; Required=$false}
MVAttributeBinding {ID='#AssistantName'; Required=$false} MVAttributeBinding {ID='#AssistantName'; Required=$false}
MVAttributeBinding {ID='#City'; Required=$false} MVAttributeBinding {ID='#City'; Required=$false}
@ -330,16 +330,16 @@ Describe -Tag 'RunsInLocalConfigurationManager' 'MimSyncMVObjectType - using the
MVAttributeBinding {ID='#CustomAttribute12'; Required=$false} MVAttributeBinding {ID='#CustomAttribute12'; Required=$false}
MVAttributeBinding {ID='#CustomAttribute13'; Required=$false} MVAttributeBinding {ID='#CustomAttribute13'; Required=$false}
MVAttributeBinding {ID='#CustomAttribute14'; Required=$false} MVAttributeBinding {ID='#CustomAttribute14'; Required=$false}
MVAttributeBinding {ID='#CustomAttribute15'; Required=$false} MVAttributeBinding {ID='#CustomAttribute15'; Required=$false}
) )
Ensure = 'Present' Ensure = 'Present'
} }
} }
} }
TestMimSyncMVObjectType -OutputPath "$env:TEMP\TestMimSyncMVObjectType" TestMimSyncMVObjectType -OutputPath "$env:TEMP\TestMimSyncMVObjectType"
Start-DscConfiguration -Path "$env:TEMP\TestMimSyncMVObjectType" -Force -Wait -Verbose Start-DscConfiguration -Path "$env:TEMP\TestMimSyncMVObjectType" -Force -Wait -Verbose
Test-DscConfiguration | Should Be False Test-DscConfiguration | Should Be False
} }
} }

Просмотреть файл

@ -1,4 +1,4 @@
$dscResource = Get-DscResource -Module MimSyncDsc -Name MimSyncMVOptions $dscResource = Get-DscResource -Module MimDsc -Name MimSyncMVOptions
Import-Module -Name $dscResource.Path -Force Import-Module -Name $dscResource.Path -Force
@ -38,16 +38,16 @@ Describe -Tag 'RunsInLocalConfigurationManager' 'MimSyncProjectionRule - using t
It 'MVOptions - desired state' { It 'MVOptions - desired state' {
Configuration TestMimSyncMVOptions Configuration TestMimSyncMVOptions
{ {
Import-DscResource -ModuleName MimSyncDsc Import-DscResource -ModuleName MimDsc
Node (hostname) Node (hostname)
{ {
MVOptions TestcFimSyncMVOptions MVOptions TestcFimSyncMVOptions
{ {
FakeIdentifier = 'foo' FakeIdentifier = 'foo'
ProvisioningType = 'scripted' ProvisioningType = 'scripted'
ExtensionAssemblyName = 'ELMA-MV-Sample.dll' ExtensionAssemblyName = 'ELMA-MV-Sample.dll'
ExtensionApplicationProtection = 'low' ExtensionApplicationProtection = 'low'
} }
} }
} }
@ -61,16 +61,16 @@ Describe -Tag 'RunsInLocalConfigurationManager' 'MimSyncProjectionRule - using t
It 'MVOptions - incorrect state' { It 'MVOptions - incorrect state' {
Configuration TestMimSyncMVOptions Configuration TestMimSyncMVOptions
{ {
Import-DscResource -ModuleName MimSyncDsc Import-DscResource -ModuleName MimDsc
Node (hostname) Node (hostname)
{ {
MVOptions TestcFimSyncMVOptions MVOptions TestcFimSyncMVOptions
{ {
FakeIdentifier = 'foo' FakeIdentifier = 'foo'
ProvisioningType = 'scripted' ProvisioningType = 'scripted'
ExtensionAssemblyName = 'foo.dll' ExtensionAssemblyName = 'foo.dll'
ExtensionApplicationProtection = 'low' ExtensionApplicationProtection = 'low'
} }
} }
} }

Просмотреть файл

@ -1,33 +1,33 @@
$dscResource = Get-DscResource -Module MimSyncDsc -Name MimSyncMaData $dscResource = Get-DscResource -Module MimDsc -Name MimSyncMaData
Import-Module -Name $dscResource.Path -Force Import-Module -Name $dscResource.Path -Force
Describe -Tag 'Build' 'MimSyncMaData - calling Test-TargetResource Directly'{ Describe -Tag 'Build' 'MimSyncMaData - calling Test-TargetResource Directly'{
$attributeInclusion = @( $attributeInclusion = @(
'UserID' 'UserID'
'FirstName' 'FirstName'
'Initial' 'Initial'
'LastName' 'LastName'
'Title' 'Title'
'JobTitle' 'JobTitle'
'HireDate' 'HireDate'
'Status' 'Status'
) )
$controllerConfiguration = New-CimInstance -ClassName MimSyncControllerConfiguration -ClientOnly -Namespace root/microsoft/windows/desiredstateconfiguration -Property @{ $controllerConfiguration = New-CimInstance -ClassName MimSyncControllerConfiguration -ClientOnly -Namespace root/microsoft/windows/desiredstateconfiguration -Property @{
ApplicationArchitecture = 'process' ApplicationArchitecture = 'process'
ApplicationProtection = 'low' ApplicationProtection = 'low'
} }
$extension = New-CimInstance -ClassName MimSyncExtension -ClientOnly -Namespace root/microsoft/windows/desiredstateconfiguration -Property @{ $extension = New-CimInstance -ClassName MimSyncExtension -ClientOnly -Namespace root/microsoft/windows/desiredstateconfiguration -Property @{
AssemblyName = 'TinyHRExtension.dll' AssemblyName = 'TinyHRExtension.dll'
ApplicationProtection = 'low' ApplicationProtection = 'low'
} }
$passwordSync = New-CimInstance -ClassName MimSyncPasswordSync -ClientOnly -Namespace root/microsoft/windows/desiredstateconfiguration -Property @{ $passwordSync = New-CimInstance -ClassName MimSyncPasswordSync -ClientOnly -Namespace root/microsoft/windows/desiredstateconfiguration -Property @{
AllowLowSecurity = $false AllowLowSecurity = $false
MaximumRetryCount = 10 MaximumRetryCount = 10
RetryInterval = 60 RetryInterval = 60
} }
$provisioningCleanup = New-CimInstance -ClassName MimSyncProvisioningCleanup -ClientOnly -Namespace root/microsoft/windows/desiredstateconfiguration -Property @{ $provisioningCleanup = New-CimInstance -ClassName MimSyncProvisioningCleanup -ClientOnly -Namespace root/microsoft/windows/desiredstateconfiguration -Property @{
Type = 'declared' Type = 'declared'
Action = 'make-normal-disconnector' Action = 'make-normal-disconnector'
} }
@ -62,13 +62,13 @@ Describe -Tag 'Build' 'MimSyncMaData - calling Test-TargetResource Directly'{
} }
$attributeInclusion = @( $attributeInclusion = @(
'UserID' 'UserID'
#'FirstName' #'FirstName'
'Initial' 'Initial'
#'LastName' #'LastName'
'Title' 'Title'
'JobTitle' 'JobTitle'
'HireDate' 'HireDate'
'Status' 'Status'
) )
$dscResult = Test-TargetResource -AttributeInclusion $attributeInclusion @testTargetResource -Verbose $dscResult = Test-TargetResource -AttributeInclusion $attributeInclusion @testTargetResource -Verbose
@ -104,7 +104,7 @@ Describe -Tag 'RunsInLocalConfigurationManager' 'MimSyncMaData - using the Local
It 'MaData - desired state' { It 'MaData - desired state' {
Configuration TestMimSyncMaData Configuration TestMimSyncMaData
{ {
Import-DscResource -ModuleName MimSyncDsc Import-DscResource -ModuleName MimDsc
Node (hostname) Node (hostname)
{ {
@ -112,32 +112,32 @@ Describe -Tag 'RunsInLocalConfigurationManager' 'MimSyncMaData - using the Local
{ {
Name = 'TinyHR' Name = 'TinyHR'
AttributeInclusion = @( AttributeInclusion = @(
'UserID' 'UserID'
'FirstName' 'FirstName'
'Initial' 'Initial'
'LastName' 'LastName'
'Title' 'Title'
'JobTitle' 'JobTitle'
'HireDate' 'HireDate'
'Status' 'Status'
) )
Category = 'Delimited' Category = 'Delimited'
ControllerConfiguration = ControllerConfiguration{ ControllerConfiguration = ControllerConfiguration{
ApplicationArchitecture = 'process' ApplicationArchitecture = 'process'
ApplicationProtection = 'low' ApplicationProtection = 'low'
} }
Extension = Extension{ Extension = Extension{
AssemblyName = 'TinyHRExtension.dll' AssemblyName = 'TinyHRExtension.dll'
ApplicationProtection = 'low' ApplicationProtection = 'low'
} }
PasswordSync = PasswordSync{ PasswordSync = PasswordSync{
AllowLowSecurity = $false AllowLowSecurity = $false
MaximumRetryCount = 10 MaximumRetryCount = 10
RetryInterval = 60 RetryInterval = 60
} }
PasswordSyncAllowed = $false PasswordSyncAllowed = $false
ProvisioningCleanup = ProvisioningCleanup{ ProvisioningCleanup = ProvisioningCleanup{
Type = 'declared' Type = 'declared'
Action = 'make-normal-disconnector' Action = 'make-normal-disconnector'
} }
Ensure = 'Present' Ensure = 'Present'
@ -154,7 +154,7 @@ Describe -Tag 'RunsInLocalConfigurationManager' 'MimSyncMaData - using the Local
It 'MaData - incorrect Attribute Inclusion' { It 'MaData - incorrect Attribute Inclusion' {
Configuration TestMimSyncMaData Configuration TestMimSyncMaData
{ {
Import-DscResource -ModuleName MimSyncDsc Import-DscResource -ModuleName MimDsc
Node (hostname) Node (hostname)
{ {
@ -162,32 +162,32 @@ Describe -Tag 'RunsInLocalConfigurationManager' 'MimSyncMaData - using the Local
{ {
Name = 'TinyHR' Name = 'TinyHR'
AttributeInclusion = @( AttributeInclusion = @(
'UserID' 'UserID'
#'FirstName' #'FirstName'
'Initial' 'Initial'
#'LastName' #'LastName'
'Title' 'Title'
'JobTitle' 'JobTitle'
'HireDate' 'HireDate'
'Status' 'Status'
) )
Category = 'Delimited' Category = 'Delimited'
ControllerConfiguration = ControllerConfiguration{ ControllerConfiguration = ControllerConfiguration{
ApplicationArchitecture = 'process' ApplicationArchitecture = 'process'
ApplicationProtection = 'low' ApplicationProtection = 'low'
} }
Extension = Extension{ Extension = Extension{
AssemblyName = 'TinyHRExtension.dll' AssemblyName = 'TinyHRExtension.dll'
ApplicationProtection = 'low' ApplicationProtection = 'low'
} }
PasswordSync = PasswordSync{ PasswordSync = PasswordSync{
AllowLowSecurity = $true AllowLowSecurity = $true
MaximumRetryCount = 10 MaximumRetryCount = 10
RetryInterval = 60 RetryInterval = 60
} }
PasswordSyncAllowed = $false PasswordSyncAllowed = $false
ProvisioningCleanup = ProvisioningCleanup{ ProvisioningCleanup = ProvisioningCleanup{
Type = 'declared' Type = 'declared'
Action = 'make-normal-disconnector' Action = 'make-normal-disconnector'
} }
Ensure = 'Present' Ensure = 'Present'
@ -204,7 +204,7 @@ Describe -Tag 'RunsInLocalConfigurationManager' 'MimSyncMaData - using the Local
It 'MaData - incorrect Assembly Name' { It 'MaData - incorrect Assembly Name' {
Configuration TestMimSyncMaData Configuration TestMimSyncMaData
{ {
Import-DscResource -ModuleName MimSyncDsc Import-DscResource -ModuleName MimDsc
Node (hostname) Node (hostname)
{ {
@ -212,32 +212,32 @@ Describe -Tag 'RunsInLocalConfigurationManager' 'MimSyncMaData - using the Local
{ {
Name = 'TinyHR' Name = 'TinyHR'
AttributeInclusion = @( AttributeInclusion = @(
'UserID' 'UserID'
'FirstName' 'FirstName'
'Initial' 'Initial'
'LastName' 'LastName'
'Title' 'Title'
'JobTitle' 'JobTitle'
'HireDate' 'HireDate'
'Status' 'Status'
) )
Category = 'Delimited' Category = 'Delimited'
ControllerConfiguration = ControllerConfiguration{ ControllerConfiguration = ControllerConfiguration{
ApplicationArchitecture = 'process' ApplicationArchitecture = 'process'
ApplicationProtection = 'low' ApplicationProtection = 'low'
} }
Extension = Extension{ Extension = Extension{
AssemblyName = 'GiantHRExtension.dll' AssemblyName = 'GiantHRExtension.dll'
ApplicationProtection = 'low' ApplicationProtection = 'low'
} }
PasswordSync = PasswordSync{ PasswordSync = PasswordSync{
AllowLowSecurity = $true AllowLowSecurity = $true
MaximumRetryCount = 10 MaximumRetryCount = 10
RetryInterval = 60 RetryInterval = 60
} }
PasswordSyncAllowed = $false PasswordSyncAllowed = $false
ProvisioningCleanup = ProvisioningCleanup{ ProvisioningCleanup = ProvisioningCleanup{
Type = 'declared' Type = 'declared'
Action = 'make-normal-disconnector' Action = 'make-normal-disconnector'
} }
Ensure = 'Present' Ensure = 'Present'

Просмотреть файл

@ -1,4 +1,4 @@
$dscResource = Get-DscResource -Module MimSyncDsc -Name MimSyncProjectionRule $dscResource = Get-DscResource -Module MimDsc -Name MimSyncProjectionRule
Import-Module -Name $dscResource.Path -Force Import-Module -Name $dscResource.Path -Force
@ -52,7 +52,7 @@ Describe -Tag 'RunsInLocalConfigurationManager' 'MimSyncProjectionRule - using t
It 'Projection Rule - desired state' { It 'Projection Rule - desired state' {
Configuration TestMimSyncProjectionRule Configuration TestMimSyncProjectionRule
{ {
Import-DscResource -ModuleName MimSyncDsc Import-DscResource -ModuleName MimDsc
Node (hostname) Node (hostname)
{ {
@ -75,7 +75,7 @@ Describe -Tag 'RunsInLocalConfigurationManager' 'MimSyncProjectionRule - using t
It 'Projection Rule - incorrect type' { It 'Projection Rule - incorrect type' {
Configuration TestMimSyncProjectionRule Configuration TestMimSyncProjectionRule
{ {
Import-DscResource -ModuleName MimSyncDsc Import-DscResource -ModuleName MimDsc
Node (hostname) Node (hostname)
{ {

Просмотреть файл

@ -1,23 +1,23 @@
$dscResource = Get-DscResource -Module MimSyncDsc -Name MimSyncRunProfile $dscResource = Get-DscResource -Module MimDsc -Name MimSyncRunProfile
Import-Module -Name $dscResource.Path -Force Import-Module -Name $dscResource.Path -Force
Describe -Tag 'Build' 'MimSyncRunProfile - calling Test-TargetResource Directly'{ Describe -Tag 'Build' 'MimSyncRunProfile - calling Test-TargetResource Directly'{
It 'MimSyncRunProfile - desired state' { It 'MimSyncRunProfile - desired state' {
$RunSteps = @( $RunSteps = @(
New-CimInstance -ClassName MimSyncRunStep -ClientOnly -Namespace root/microsoft/windows/desiredstateconfiguration -Property @{ New-CimInstance -ClassName MimSyncRunStep -ClientOnly -Namespace root/microsoft/windows/desiredstateconfiguration -Property @{
StepType = 'full-import' StepType = 'full-import'
StepSubType = @('to-cs') StepSubType = @('to-cs')
PartitionIdentifier = '{08F64D3F-B82C-44E2-AC6F-9F680DECFEBE}' PartitionIdentifier = '{08F64D3F-B82C-44E2-AC6F-9F680DECFEBE}'
InputFile = 'tinyhr.txt' InputFile = 'tinyhr.txt'
PageSize = 0 PageSize = 0
Timeout = 0 Timeout = 0
ObjectDeleteLimit = 0 ObjectDeleteLimit = 0
ObjectProcessLimit = 0 ObjectProcessLimit = 0
LogFilePath = '' LogFilePath = ''
DropFileName = '' DropFileName = ''
} }
) )
$dscResult = Test-TargetResource -ManagementAgentName TinyHR -Name FISO -RunSteps $RunSteps -Ensure Present -Verbose $dscResult = Test-TargetResource -ManagementAgentName TinyHR -Name FISO -RunSteps $RunSteps -Ensure Present -Verbose
@ -26,19 +26,19 @@ Describe -Tag 'Build' 'MimSyncRunProfile - calling Test-TargetResource Directly'
} }
It 'MimSyncRunProfile - incorrect step type' { It 'MimSyncRunProfile - incorrect step type' {
$RunSteps = @( $RunSteps = @(
New-CimInstance -ClassName MimSyncRunStep -ClientOnly -Namespace root/microsoft/windows/desiredstateconfiguration -Property @{ New-CimInstance -ClassName MimSyncRunStep -ClientOnly -Namespace root/microsoft/windows/desiredstateconfiguration -Property @{
StepType = 'apply-rules' StepType = 'apply-rules'
StepSubType = @('reevaluate-flow-connectors') StepSubType = @('reevaluate-flow-connectors')
PartitionIdentifier = '{08F64D3F-B82C-44E2-AC6F-9F680DECFEBE}' PartitionIdentifier = '{08F64D3F-B82C-44E2-AC6F-9F680DECFEBE}'
InputFile = 'tinyhr.txt' InputFile = 'tinyhr.txt'
PageSize = 0 PageSize = 0
Timeout = 0 Timeout = 0
ObjectDeleteLimit = 0 ObjectDeleteLimit = 0
ObjectProcessLimit = 0 ObjectProcessLimit = 0
LogFilePath = '' LogFilePath = ''
DropFileName = '' DropFileName = ''
} }
) )
$dscResult = Test-TargetResource -ManagementAgentName TinyHR -Name FISO -RunSteps $RunSteps -Ensure Present -Verbose $dscResult = Test-TargetResource -ManagementAgentName TinyHR -Name FISO -RunSteps $RunSteps -Ensure Present -Verbose
@ -47,19 +47,19 @@ Describe -Tag 'Build' 'MimSyncRunProfile - calling Test-TargetResource Directly'
} }
It 'MimSyncRunProfile - incorrect input file' { It 'MimSyncRunProfile - incorrect input file' {
$RunSteps = @( $RunSteps = @(
New-CimInstance -ClassName MimSyncRunStep -ClientOnly -Namespace root/microsoft/windows/desiredstateconfiguration -Property @{ New-CimInstance -ClassName MimSyncRunStep -ClientOnly -Namespace root/microsoft/windows/desiredstateconfiguration -Property @{
StepType = 'full-import' StepType = 'full-import'
StepSubType = @('to-cs') StepSubType = @('to-cs')
PartitionIdentifier = '{08F64D3F-B82C-44E2-AC6F-9F680DECFEBE}' PartitionIdentifier = '{08F64D3F-B82C-44E2-AC6F-9F680DECFEBE}'
InputFile = 'HumongousHR.txt' InputFile = 'HumongousHR.txt'
PageSize = 0 PageSize = 0
Timeout = 0 Timeout = 0
ObjectDeleteLimit = 0 ObjectDeleteLimit = 0
ObjectProcessLimit = 0 ObjectProcessLimit = 0
LogFilePath = '' LogFilePath = ''
DropFileName = '' DropFileName = ''
} }
) )
$dscResult = Test-TargetResource -ManagementAgentName TinyHR -Name FISO -RunSteps $RunSteps -Ensure Present -Verbose $dscResult = Test-TargetResource -ManagementAgentName TinyHR -Name FISO -RunSteps $RunSteps -Ensure Present -Verbose
@ -101,30 +101,30 @@ Describe -Tag 'RunsInLocalConfigurationManager' 'MimSyncRunProfile - using the L
It 'MimSyncRunProfile - desired state' { It 'MimSyncRunProfile - desired state' {
Configuration TestMimSyncRunProfile Configuration TestMimSyncRunProfile
{ {
Import-DscResource -ModuleName MimSyncDsc Import-DscResource -ModuleName MimDsc
Node (hostname) Node (hostname)
{ {
RunProfile '[TinyHR]FISO' RunProfile '[TinyHR]FISO'
{ {
ManagementAgentName = 'TinyHR' ManagementAgentName = 'TinyHR'
Name = 'FISO' Name = 'FISO'
RunSteps = @( RunSteps = @(
RunStep{ RunStep{
StepType = 'full-import' StepType = 'full-import'
StepSubType = @('to-cs') StepSubType = @('to-cs')
PartitionIdentifier = '{08F64D3F-B82C-44E2-AC6F-9F680DECFEBE}' PartitionIdentifier = '{08F64D3F-B82C-44E2-AC6F-9F680DECFEBE}'
InputFile = 'tinyhr.txt' InputFile = 'tinyhr.txt'
PageSize = 0 PageSize = 0
Timeout = 0 Timeout = 0
ObjectDeleteLimit = 0 ObjectDeleteLimit = 0
ObjectProcessLimit = 0 ObjectProcessLimit = 0
LogFilePath = '' LogFilePath = ''
DropFileName = '' DropFileName = ''
FakeIdentifier = [Guid]::Empty FakeIdentifier = [Guid]::Empty
} }
) )
Ensure = 'Present' Ensure = 'Present'
} }
} }
} }

29
build.ps1 Normal file
Просмотреть файл

@ -0,0 +1,29 @@
### Build script called by Azure Pipelines
Write-Host "I'm the build script"
# Install Pester module if it is not already installed
if (-not (Get-Module -Name Pester -ListAvailable))
{
Write-Host "Installing Pester"
Install-Module -Name Pester -Scope CurrentUser -Force -Confirm:$false
}
### Find out what version of Pester we have
Get-Module Pester -ListAvailable
Write-Host 'Copy MimDsc module files to Program Files'
Remove-Item "$env:ProgramFiles\WindowsPowerShell\Modules\MimDsc" -Force -Verbose -ErrorAction SilentlyContinue
New-Item -ItemType Directory -Path "$env:ProgramFiles\WindowsPowerShell\Modules\MimDsc" -Verbose -Force | Out-Null
Copy-Item * "$env:ProgramFiles\WindowsPowerShell\Modules\MimDsc" -Recurse -Verbose -Force -Exclude .git
Write-Host 'Copy Sync Configuration Files'
New-Item -ItemType Directory -Path "$env:ProgramData\MimDsc\Svrexport" -Verbose -Force | Out-Null
Copy-Item -Path .\Tests\MimSyncServerConfiguration\* "$env:ProgramData\MimDsc\Svrexport\" -Force -Verbose
### Run Tests
$TestResults = Invoke-Pester -Script .\Tests\*.tests.ps1 -Tag Build -ExcludeTag RunsInLocalConfigurationManager -OutputFile MimSyncDsc.testresults.xml -OutputFormat NUnitXML
if($TestResults.FailedCount -gt 0)
{
Write-Error -Message "Test pass failed: `n`t$($TestResults.PassedCount) passed`n`t$($TestResults.FailedCount) failed "
}

Просмотреть файл