зеркало из https://github.com/microsoft/MIMDSC.git
flatten the module, decided to have one module for Sync and Service
This commit is contained in:
Родитель
02e34a5bf4
Коммит
e333f42742
|
@ -13,8 +13,8 @@ function Convert-MimSyncConfigToDsc {
|
|||
[CmdletBinding()]
|
||||
Param
|
||||
(
|
||||
# Folder with the Sync Service configuration XML files (defaults to $env:ProgramData\MimSyncDsc\Svrexport)
|
||||
$Path = "$env:ProgramData\MimSyncDsc\Svrexport"
|
||||
# Folder with the Sync Service configuration XML files (defaults to $env:ProgramData\MimDsc\Svrexport)
|
||||
$Path = "$env:ProgramData\MimDsc\Svrexport"
|
||||
)
|
||||
Write-Verbose "Using Path: $Path"
|
||||
|
||||
|
@ -220,7 +220,7 @@ function Convert-MimSyncConfigToDsc {
|
|||
#endregion IAF rules
|
||||
|
||||
#region Join rules
|
||||
$joinRules = Get-MimSyncJoinRule -ServerConfigurationFolder "$env:ProgramData\MimSyncDsc\Svrexport\"
|
||||
$joinRules = Get-MimSyncJoinRule -ServerConfigurationFolder "$env:ProgramData\MimDsc\Svrexport\"
|
||||
|
||||
foreach ($joinRule in $joinRules) {
|
||||
$joinCriteriaStrings = @()
|
||||
|
@ -285,7 +285,7 @@ function Convert-MimSyncConfigToDsc {
|
|||
#endregion Join rules
|
||||
|
||||
#region Projection rules
|
||||
$projectionRules = Get-MimSyncProjectionRule -ServerConfigurationFolder "$env:ProgramData\MimSyncDsc\Svrexport\"
|
||||
$projectionRules = Get-MimSyncProjectionRule -ServerConfigurationFolder "$env:ProgramData\MimDsc\Svrexport\"
|
||||
foreach ($projectionRule in $projectionRules) {
|
||||
$dscConfigScriptItems += @'
|
||||
ProjectionRule {1}
|
|
@ -7,8 +7,8 @@ function Get-MimSyncConfigCache
|
|||
Get-FimSyncConfigCache
|
||||
#>
|
||||
|
||||
# Cache Folder (defaults to $env:ProgramData\MimSyncDsc\BoundAttributesCache)
|
||||
$CacheLocation = "$env:ProgramData\MimSyncDsc\Svrexport"
|
||||
# Cache Folder (defaults to $env:ProgramData\MimDsc\BoundAttributesCache)
|
||||
$CacheLocation = "$env:ProgramData\MimDsc\Svrexport"
|
||||
|
||||
Write-Verbose "Using CacheLocation: $CacheLocation"
|
||||
|
|
@ -16,8 +16,8 @@ function Write-MimSyncConfigCache
|
|||
[CmdletBinding()]
|
||||
Param
|
||||
(
|
||||
# Cache Folder (defaults to $env:ProgramData\MimSyncDsc\Svrexport)
|
||||
$CacheLocation = "$env:ProgramData\MimSyncDsc\Svrexport",
|
||||
# Cache Folder (defaults to $env:ProgramData\MimDsc\Svrexport)
|
||||
$CacheLocation = "$env:ProgramData\MimDsc\Svrexport",
|
||||
|
||||
# Cache Age (defaults to one day)
|
||||
[TimeSpan]
|
|
@ -2,7 +2,7 @@
|
|||
@{
|
||||
|
||||
# Script module or binary module file associated with this manifest.
|
||||
RootModule = 'MimSyncDsc.psm1'
|
||||
RootModule = 'MimDsc.psm1'
|
||||
|
||||
# Version number of this module.
|
||||
ModuleVersion = '0.0.1'
|
||||
|
@ -23,7 +23,7 @@ CompanyName = 'Microsoft Corporation'
|
|||
Copyright = '(c) Microsoft Corporation. All rights reserved.'
|
||||
|
||||
# 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
|
||||
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
|
||||
}
|
||||
|
||||
Get-DscResource -Module MimSyncDsc | ForEach-Object {
|
||||
Get-DscResource -Module MimDsc | ForEach-Object {
|
||||
$dscResource = $PSItem
|
||||
Describe -Tag 'Build' "DscResource Designer Validation for $($dscResource.ResourceType)"{
|
||||
It 'Test-xDscResource Should Pass'{
|
|
@ -1,4 +1,4 @@
|
|||
Import-Module -Name MimSyncDsc
|
||||
Import-Module -Name MimDsc
|
||||
|
||||
Describe Get-MimRegistryKey{
|
||||
It 'Does Not Throw' {
|
|
@ -1,10 +1,10 @@
|
|||
Import-Module -Name MimSyncDsc
|
||||
Import-Module -Name MimDsc
|
||||
|
||||
Describe Get-MimSyncConfigCache{
|
||||
<#
|
||||
It 'Does Throw When Cache is Missing' {
|
||||
#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
|
||||
}
|
||||
|
@ -12,10 +12,10 @@ Describe Get-MimSyncConfigCache{
|
|||
|
||||
It 'Does Not Throw When Cache folder is present' {
|
||||
# Arrange
|
||||
mkdir "$env:ProgramData\MimSyncDsc\Svrexport"
|
||||
mkdir "$env:ProgramData\MimDsc\Svrexport"
|
||||
|
||||
# Act
|
||||
$actualValue = Get-ChildItem "$env:ProgramData\MimSyncDsc\Svrexport"
|
||||
$actualValue = Get-ChildItem "$env:ProgramData\MimDsc\Svrexport"
|
||||
|
||||
# Assert
|
||||
{Get-MimSyncConfigCache } | Should Not Throw
|
|
@ -1,7 +1,7 @@
|
|||
|
||||
#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
|
||||
|
||||
|
@ -89,7 +89,7 @@ Describe -Tag 'RunsInLocalConfigurationManager' 'MimSyncExportAttributeFlowRule
|
|||
It 'Direct EAF Rule - desired state' {
|
||||
Configuration TestMimSyncExportAttributeFlowRule
|
||||
{
|
||||
Import-DscResource -ModuleName MimSyncDsc
|
||||
Import-DscResource -ModuleName MimDsc
|
||||
|
||||
Node (hostname)
|
||||
{
|
||||
|
@ -118,7 +118,7 @@ Describe -Tag 'RunsInLocalConfigurationManager' 'MimSyncExportAttributeFlowRule
|
|||
It 'Scripted EAF Rule - desired state' {
|
||||
Configuration TestMimSyncExportAttributeFlowRule
|
||||
{
|
||||
Import-DscResource -ModuleName MimSyncDsc
|
||||
Import-DscResource -ModuleName MimDsc
|
||||
|
||||
Node (hostname)
|
||||
{
|
||||
|
@ -148,7 +148,7 @@ Describe -Tag 'RunsInLocalConfigurationManager' 'MimSyncExportAttributeFlowRule
|
|||
It 'Scripted EAF Rule - multiple source attributes - desired state' {
|
||||
Configuration TestMimSyncExportAttributeFlowRule
|
||||
{
|
||||
Import-DscResource -ModuleName MimSyncDsc
|
||||
Import-DscResource -ModuleName MimDsc
|
||||
|
||||
Node (hostname)
|
||||
{
|
||||
|
@ -178,7 +178,7 @@ Describe -Tag 'RunsInLocalConfigurationManager' 'MimSyncExportAttributeFlowRule
|
|||
It 'Constant EAF Rule - desired state' {
|
||||
Configuration TestMimSyncExportAttributeFlowRule
|
||||
{
|
||||
Import-DscResource -ModuleName MimSyncDsc
|
||||
Import-DscResource -ModuleName MimDsc
|
||||
|
||||
Node (hostname)
|
||||
{
|
|
@ -1,5 +1,5 @@
|
|||
|
||||
$dscResource = Get-DscResource -Module MimSyncDsc -Name MimSyncFilterRule
|
||||
$dscResource = Get-DscResource -Module MimDsc -Name MimSyncFilterRule
|
||||
|
||||
ipmo $dscResource.Path -Force
|
||||
|
||||
|
@ -107,7 +107,7 @@ Describe -Tag 'RunsInLocalConfigurationManager' 'MimSyncFilterRule - using the L
|
|||
It 'Scripted Filter Rule - desired state' {
|
||||
Configuration TestMimSyncFilterRule
|
||||
{
|
||||
Import-DscResource -ModuleName MimSyncDsc
|
||||
Import-DscResource -ModuleName MimDsc
|
||||
|
||||
Node (hostname)
|
||||
{
|
||||
|
@ -133,7 +133,7 @@ Describe -Tag 'RunsInLocalConfigurationManager' 'MimSyncFilterRule - using the L
|
|||
It 'Scripted Filter Rule - desired state' {
|
||||
Configuration TestMimSyncFilterRule
|
||||
{
|
||||
Import-DscResource -ModuleName MimSyncDsc
|
||||
Import-DscResource -ModuleName MimDsc
|
||||
|
||||
Node (hostname)
|
||||
{
|
||||
|
@ -159,7 +159,7 @@ Describe -Tag 'RunsInLocalConfigurationManager' 'MimSyncFilterRule - using the L
|
|||
It 'Declared Filter Rule - desired state' {
|
||||
Configuration TestMimSyncFilterRule
|
||||
{
|
||||
Import-DscResource -ModuleName MimSyncDsc
|
||||
Import-DscResource -ModuleName MimDsc
|
||||
|
||||
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
|
||||
|
||||
|
@ -114,7 +114,7 @@ Describe -Tag 'RunsInLocalConfigurationManager' 'MimSyncImportAttributeFlowRule
|
|||
It 'Direct IAF Rule - desired state' {
|
||||
Configuration TestMimSyncImportAttributeFlowRule
|
||||
{
|
||||
Import-DscResource -ModuleName MimSyncDsc
|
||||
Import-DscResource -ModuleName MimDsc
|
||||
|
||||
Node (hostname)
|
||||
{
|
||||
|
@ -143,7 +143,7 @@ Describe -Tag 'RunsInLocalConfigurationManager' 'MimSyncImportAttributeFlowRule
|
|||
It 'Direct IAF Rule - dn-mapping - desired state' {
|
||||
Configuration TestMimSyncImportAttributeFlowRule
|
||||
{
|
||||
Import-DscResource -ModuleName MimSyncDsc
|
||||
Import-DscResource -ModuleName MimDsc
|
||||
|
||||
Node (hostname)
|
||||
{
|
||||
|
@ -172,7 +172,7 @@ Describe -Tag 'RunsInLocalConfigurationManager' 'MimSyncImportAttributeFlowRule
|
|||
It 'DN-Part-Mapping IAF Rule - desired state' {
|
||||
Configuration TestMimSyncImportAttributeFlowRule
|
||||
{
|
||||
Import-DscResource -ModuleName MimSyncDsc
|
||||
Import-DscResource -ModuleName MimDsc
|
||||
|
||||
Node (hostname)
|
||||
{
|
||||
|
@ -201,7 +201,7 @@ Describe -Tag 'RunsInLocalConfigurationManager' 'MimSyncImportAttributeFlowRule
|
|||
It 'Scripted IAF Rule - multiple source attributes - desired state' {
|
||||
Configuration TestMimSyncImportAttributeFlowRule
|
||||
{
|
||||
Import-DscResource -ModuleName MimSyncDsc
|
||||
Import-DscResource -ModuleName MimDsc
|
||||
|
||||
Node (hostname)
|
||||
{
|
||||
|
@ -231,7 +231,7 @@ Describe -Tag 'RunsInLocalConfigurationManager' 'MimSyncImportAttributeFlowRule
|
|||
It 'Constant IAF Rule - desired state' {
|
||||
Configuration TestMimSyncImportAttributeFlowRule
|
||||
{
|
||||
Import-DscResource -ModuleName MimSyncDsc
|
||||
Import-DscResource -ModuleName MimDsc
|
||||
|
||||
Node (hostname)
|
||||
{
|
||||
|
@ -258,37 +258,37 @@ Describe -Tag 'RunsInLocalConfigurationManager' 'MimSyncImportAttributeFlowRule
|
|||
}
|
||||
|
||||
It 'Issue: IAF Rules with identical key properties' {
|
||||
Configuration TestMimSyncConfig
|
||||
{
|
||||
Import-DscResource -ModuleName MimSyncDsc
|
||||
|
||||
Node (hostname)
|
||||
{
|
||||
ImportAttributeFlowRule af5ca310-1d8c-4669-95c2-1f7d0482cb8f
|
||||
{
|
||||
FakeIdentifier = 'foo'
|
||||
ManagementAgentName = 'TinyHR'
|
||||
MVObjectType = 'Contact'
|
||||
MVAttribute = 'DisplayName'
|
||||
CDObjectType = 'person'
|
||||
Type = 'direct-mapping'
|
||||
SrcAttribute = 'LastName'
|
||||
Ensure = 'Present'
|
||||
}
|
||||
|
||||
ImportAttributeFlowRule e1261aaa-de1a-4af0-8373-2c6c6fb76713
|
||||
{
|
||||
FakeIdentifier = 'bar'
|
||||
ManagementAgentName = 'TinyHR'
|
||||
MVObjectType = 'Contact'
|
||||
MVAttribute = 'DisplayName'
|
||||
CDObjectType = 'person'
|
||||
Type = 'direct-mapping'
|
||||
SrcAttribute = 'FirstName'
|
||||
Ensure = 'Present'
|
||||
}
|
||||
}
|
||||
}
|
||||
Configuration TestMimSyncConfig
|
||||
{
|
||||
Import-DscResource -ModuleName MimDsc
|
||||
|
||||
Node (hostname)
|
||||
{
|
||||
ImportAttributeFlowRule af5ca310-1d8c-4669-95c2-1f7d0482cb8f
|
||||
{
|
||||
FakeIdentifier = 'foo'
|
||||
ManagementAgentName = 'TinyHR'
|
||||
MVObjectType = 'Contact'
|
||||
MVAttribute = 'DisplayName'
|
||||
CDObjectType = 'person'
|
||||
Type = 'direct-mapping'
|
||||
SrcAttribute = 'LastName'
|
||||
Ensure = 'Present'
|
||||
}
|
||||
|
||||
ImportAttributeFlowRule e1261aaa-de1a-4af0-8373-2c6c6fb76713
|
||||
{
|
||||
FakeIdentifier = 'bar'
|
||||
ManagementAgentName = 'TinyHR'
|
||||
MVObjectType = 'Contact'
|
||||
MVAttribute = 'DisplayName'
|
||||
CDObjectType = 'person'
|
||||
Type = 'direct-mapping'
|
||||
SrcAttribute = 'FirstName'
|
||||
Ensure = 'Present'
|
||||
}
|
||||
}
|
||||
}
|
||||
{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
|
||||
|
||||
Describe -Tag 'Build' 'MimSyncImportAttributePrecedence - calling Test-TargetResource Directly'{
|
||||
|
||||
It 'MimSyncImportAttributePrecedence - desired state' {
|
||||
$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 = 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 = 3; ManagementAgentName='TinyHR'; CDObjectType='person'; ID='{E1261AAA-DE1A-4AF0-8373-2C6C6FB76713}'} -ClientOnly -Namespace root/microsoft/windows/desiredstateconfiguration
|
||||
|
||||
$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 = 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 = 3; ManagementAgentName='TinyHR'; CDObjectType='person'; ID='{E1261AAA-DE1A-4AF0-8373-2C6C6FB76713}'} -ClientOnly -Namespace root/microsoft/windows/desiredstateconfiguration
|
||||
|
||||
) -as [CimInstance[]]
|
||||
|
||||
$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' {
|
||||
$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 = 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 = 1; ManagementAgentName='TinyHR'; CDObjectType='person'; ID='{E1261AAA-DE1A-4AF0-8373-2C6C6FB76713}'} -ClientOnly -Namespace root/microsoft/windows/desiredstateconfiguration
|
||||
|
||||
$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 = 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 = 1; ManagementAgentName='TinyHR'; CDObjectType='person'; ID='{E1261AAA-DE1A-4AF0-8373-2C6C6FB76713}'} -ClientOnly -Namespace root/microsoft/windows/desiredstateconfiguration
|
||||
|
||||
) -as [CimInstance[]]
|
||||
|
||||
$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' {
|
||||
$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 = 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 = 1; ManagementAgentName='TinyHR'; CDObjectType='person'; ID='{E1261AAA-DE1A-4AF0-8373-2C6C6FB76713}'} -ClientOnly -Namespace root/microsoft/windows/desiredstateconfiguration
|
||||
|
||||
$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 = 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 = 1; ManagementAgentName='TinyHR'; CDObjectType='person'; ID='{E1261AAA-DE1A-4AF0-8373-2C6C6FB76713}'} -ClientOnly -Namespace root/microsoft/windows/desiredstateconfiguration
|
||||
|
||||
) -as [CimInstance[]]
|
||||
|
||||
$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' {
|
||||
Configuration TestMimSyncImportAttributePrecedenceConfig
|
||||
{
|
||||
Import-DscResource -ModuleName MimSyncDsc
|
||||
Import-DscResource -ModuleName MimDsc
|
||||
|
||||
Node (hostname)
|
||||
{
|
||||
ImportAttributePrecedence 'Contact-DisplayName'
|
||||
{
|
||||
MVObjectType = 'Contact'
|
||||
MVAttribute = 'DisplayName'
|
||||
Type = 'ranked'
|
||||
RankedPrecedenceOrder = @(
|
||||
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 = 2; ManagementAgentName='TinyHR'; CDObjectType='person'; ID='{AF5CA310-1D8C-4669-95C2-1F7D0482CB8F}'}
|
||||
RankedPrecedenceOrder{Order = 3; ManagementAgentName='TinyHR'; CDObjectType='person'; ID='{E1261AAA-DE1A-4AF0-8373-2C6C6FB76713}'}
|
||||
)
|
||||
ImportAttributePrecedence 'Contact-DisplayName'
|
||||
{
|
||||
MVObjectType = 'Contact'
|
||||
MVAttribute = 'DisplayName'
|
||||
Type = 'ranked'
|
||||
RankedPrecedenceOrder = @(
|
||||
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 = 2; ManagementAgentName='TinyHR'; CDObjectType='person'; ID='{AF5CA310-1D8C-4669-95C2-1F7D0482CB8F}'}
|
||||
RankedPrecedenceOrder{Order = 3; ManagementAgentName='TinyHR'; CDObjectType='person'; ID='{E1261AAA-DE1A-4AF0-8373-2C6C6FB76713}'}
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,9 +1,9 @@
|
|||
$dscResource = Get-DscResource -Module MimSyncDsc -Name MimSyncJoinRule
|
||||
|
||||
Import-Module -Name $dscResource.Path -Force
|
||||
|
||||
Describe -Tag 'Build' 'MimSyncJoinRule - calling Test-TargetResource Directly'{
|
||||
It 'Mega Join Rule - desired state' {
|
||||
$dscResource = Get-DscResource -Module MimDsc -Name MimSyncJoinRule
|
||||
|
||||
Import-Module -Name $dscResource.Path -Force
|
||||
|
||||
Describe -Tag 'Build' 'MimSyncJoinRule - calling Test-TargetResource Directly'{
|
||||
It 'Mega Join Rule - desired state' {
|
||||
$joinCriteria = @(
|
||||
New-CimInstance -ClassName MimSyncJoinCriterion -ClientOnly -Namespace root/microsoft/windows/desiredstateconfiguration -Property @{
|
||||
MVObjectType = 'Contact'
|
||||
|
@ -24,7 +24,7 @@ Describe -Tag 'Build' 'MimSyncJoinRule - calling Test-TargetResource Directly'{
|
|||
ScriptContext = ''
|
||||
}
|
||||
) -as [CimInstance[]]
|
||||
}
|
||||
}
|
||||
New-CimInstance -ClassName MimSyncJoinCriterion -ClientOnly -Namespace root/microsoft/windows/desiredstateconfiguration -Property @{
|
||||
MVObjectType = 'Contact'
|
||||
ResolutionType = 'scripted'
|
||||
|
@ -38,7 +38,7 @@ Describe -Tag 'Build' 'MimSyncJoinRule - calling Test-TargetResource Directly'{
|
|||
ScriptContext = 'cd.contact#2:FirstName,LastName->Alias'
|
||||
}
|
||||
) -as [CimInstance[]]
|
||||
}
|
||||
}
|
||||
New-CimInstance -ClassName MimSyncJoinCriterion -ClientOnly -Namespace root/microsoft/windows/desiredstateconfiguration -Property @{
|
||||
MVObjectType = ''
|
||||
ResolutionType = 'none'
|
||||
|
@ -52,15 +52,15 @@ Describe -Tag 'Build' 'MimSyncJoinRule - calling Test-TargetResource Directly'{
|
|||
ScriptContext = ''
|
||||
}
|
||||
) -as [CimInstance[]]
|
||||
}
|
||||
)
|
||||
|
||||
$dscResult = Test-TargetResource -ManagementAgentName TinyHR -CDObjectType contact -JoinCriterion $joinCriteria -Ensure Present -Verbose
|
||||
|
||||
$dscResult | Should be True
|
||||
}
|
||||
|
||||
It 'Mega Join Rule - incorrect join rule order' {
|
||||
}
|
||||
)
|
||||
|
||||
$dscResult = Test-TargetResource -ManagementAgentName TinyHR -CDObjectType contact -JoinCriterion $joinCriteria -Ensure Present -Verbose
|
||||
|
||||
$dscResult | Should be True
|
||||
}
|
||||
|
||||
It 'Mega Join Rule - incorrect join rule order' {
|
||||
$joinCriteria = @(
|
||||
New-CimInstance -ClassName MimSyncJoinCriterion -ClientOnly -Namespace root/microsoft/windows/desiredstateconfiguration -Property @{
|
||||
MVObjectType = 'Contact'
|
||||
|
@ -81,7 +81,7 @@ Describe -Tag 'Build' 'MimSyncJoinRule - calling Test-TargetResource Directly'{
|
|||
ScriptContext = ''
|
||||
}
|
||||
) -as [CimInstance[]]
|
||||
}
|
||||
}
|
||||
New-CimInstance -ClassName MimSyncJoinCriterion -ClientOnly -Namespace root/microsoft/windows/desiredstateconfiguration -Property @{
|
||||
MVObjectType = 'Contact'
|
||||
ResolutionType = 'scripted'
|
||||
|
@ -95,7 +95,7 @@ Describe -Tag 'Build' 'MimSyncJoinRule - calling Test-TargetResource Directly'{
|
|||
ScriptContext = 'cd.contact#2:FirstName,LastName->Alias'
|
||||
}
|
||||
) -as [CimInstance[]]
|
||||
}
|
||||
}
|
||||
New-CimInstance -ClassName MimSyncJoinCriterion -ClientOnly -Namespace root/microsoft/windows/desiredstateconfiguration -Property @{
|
||||
MVObjectType = ''
|
||||
ResolutionType = 'none'
|
||||
|
@ -109,45 +109,45 @@ Describe -Tag 'Build' 'MimSyncJoinRule - calling Test-TargetResource Directly'{
|
|||
ScriptContext = ''
|
||||
}
|
||||
) -as [CimInstance[]]
|
||||
}
|
||||
)
|
||||
|
||||
$dscResult = Test-TargetResource -ManagementAgentName TinyHR -CDObjectType contact -JoinCriterion $joinCriteria -Ensure Present -Verbose
|
||||
|
||||
$dscResult | Should be False
|
||||
}
|
||||
}
|
||||
|
||||
Describe -Tag 'Build' 'MimSyncJoinRule - calling Get-TargetResource Directly'{
|
||||
It 'Missing Join Rule' {
|
||||
|
||||
$dscResult = Get-TargetResource -ManagementAgentName TINYHR -CDObjectType faketype -Verbose
|
||||
|
||||
(-not $dscResult) | Should Be True
|
||||
}
|
||||
|
||||
It 'Expected Join Rule' {
|
||||
|
||||
$dscResult = Get-TargetResource -ManagementAgentName TinyHR -CDObjectType contact -Verbose
|
||||
|
||||
$dscResult['JoinCriterion'].Count | Should be 3
|
||||
}
|
||||
}
|
||||
|
||||
Describe -Tag 'RunsInLocalConfigurationManager' 'MimSyncJoinRule - using the Local Configuration Manager'{
|
||||
It 'Join Rule - desired state' {
|
||||
Configuration TestMimSyncJoinRule
|
||||
{
|
||||
Import-DscResource -ModuleName MimSyncDsc
|
||||
|
||||
Node (hostname)
|
||||
{
|
||||
JoinRule TestMimSyncJoinRule
|
||||
{
|
||||
ManagementAgentName = 'TinyHR'
|
||||
CDObjectType = 'contact'
|
||||
Ensure = 'Present'
|
||||
JoinCriterion = @(
|
||||
}
|
||||
)
|
||||
|
||||
$dscResult = Test-TargetResource -ManagementAgentName TinyHR -CDObjectType contact -JoinCriterion $joinCriteria -Ensure Present -Verbose
|
||||
|
||||
$dscResult | Should be False
|
||||
}
|
||||
}
|
||||
|
||||
Describe -Tag 'Build' 'MimSyncJoinRule - calling Get-TargetResource Directly'{
|
||||
It 'Missing Join Rule' {
|
||||
|
||||
$dscResult = Get-TargetResource -ManagementAgentName TINYHR -CDObjectType faketype -Verbose
|
||||
|
||||
(-not $dscResult) | Should Be True
|
||||
}
|
||||
|
||||
It 'Expected Join Rule' {
|
||||
|
||||
$dscResult = Get-TargetResource -ManagementAgentName TinyHR -CDObjectType contact -Verbose
|
||||
|
||||
$dscResult['JoinCriterion'].Count | Should be 3
|
||||
}
|
||||
}
|
||||
|
||||
Describe -Tag 'RunsInLocalConfigurationManager' 'MimSyncJoinRule - using the Local Configuration Manager'{
|
||||
It 'Join Rule - desired state' {
|
||||
Configuration TestMimSyncJoinRule
|
||||
{
|
||||
Import-DscResource -ModuleName MimDsc
|
||||
|
||||
Node (hostname)
|
||||
{
|
||||
JoinRule TestMimSyncJoinRule
|
||||
{
|
||||
ManagementAgentName = 'TinyHR'
|
||||
CDObjectType = 'contact'
|
||||
Ensure = 'Present'
|
||||
JoinCriterion = @(
|
||||
JoinCriterion{
|
||||
ID = [Guid]::NewGuid().Guid
|
||||
MVObjectType = 'Contact'
|
||||
|
@ -168,7 +168,7 @@ Describe -Tag 'RunsInLocalConfigurationManager' 'MimSyncJoinRule - using the Loc
|
|||
ScriptContext = ''
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
JoinCriterion{
|
||||
ID = [Guid]::NewGuid().Guid
|
||||
MVObjectType = 'Contact'
|
||||
|
@ -183,7 +183,7 @@ Describe -Tag 'RunsInLocalConfigurationManager' 'MimSyncJoinRule - using the Loc
|
|||
ScriptContext = 'cd.contact#2:FirstName,LastName->Alias'
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
JoinCriterion{
|
||||
ID = [Guid]::NewGuid().Guid
|
||||
MVObjectType = ''
|
||||
|
@ -198,31 +198,31 @@ Describe -Tag 'RunsInLocalConfigurationManager' 'MimSyncJoinRule - using the Loc
|
|||
ScriptContext = ''
|
||||
}
|
||||
)
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
TestMimSyncJoinRule -OutputPath "$env:TEMP\TestMimSyncJoinRule"
|
||||
Start-DscConfiguration -Path "$env:TEMP\TestMimSyncJoinRule" -Force -Wait -Verbose
|
||||
|
||||
Test-DscConfiguration | Should Be True
|
||||
}
|
||||
|
||||
It 'Join Rule - incorrect order' {
|
||||
Configuration TestMimSyncJoinRule
|
||||
{
|
||||
Import-DscResource -ModuleName MimSyncDsc
|
||||
|
||||
Node (hostname)
|
||||
{
|
||||
JoinRule TestMimSyncJoinRule
|
||||
{
|
||||
ManagementAgentName = 'TinyHR'
|
||||
CDObjectType = 'contact'
|
||||
Ensure = 'Present'
|
||||
JoinCriterion = @(
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
TestMimSyncJoinRule -OutputPath "$env:TEMP\TestMimSyncJoinRule"
|
||||
Start-DscConfiguration -Path "$env:TEMP\TestMimSyncJoinRule" -Force -Wait -Verbose
|
||||
|
||||
Test-DscConfiguration | Should Be True
|
||||
}
|
||||
|
||||
It 'Join Rule - incorrect order' {
|
||||
Configuration TestMimSyncJoinRule
|
||||
{
|
||||
Import-DscResource -ModuleName MimDsc
|
||||
|
||||
Node (hostname)
|
||||
{
|
||||
JoinRule TestMimSyncJoinRule
|
||||
{
|
||||
ManagementAgentName = 'TinyHR'
|
||||
CDObjectType = 'contact'
|
||||
Ensure = 'Present'
|
||||
JoinCriterion = @(
|
||||
JoinCriterion{
|
||||
ID = [Guid]::NewGuid().Guid
|
||||
MVObjectType = 'Contacts'##
|
||||
|
@ -243,7 +243,7 @@ Describe -Tag 'RunsInLocalConfigurationManager' 'MimSyncJoinRule - using the Loc
|
|||
ScriptContext = ''
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
JoinCriterion{
|
||||
ID = [Guid]::NewGuid().Guid
|
||||
MVObjectType = 'Contact'
|
||||
|
@ -258,7 +258,7 @@ Describe -Tag 'RunsInLocalConfigurationManager' 'MimSyncJoinRule - using the Loc
|
|||
ScriptContext = 'cd.contact#2:FirstName,LastName->Alias'
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
JoinCriterion{
|
||||
ID = [Guid]::NewGuid().Guid
|
||||
MVObjectType = ''
|
||||
|
@ -273,15 +273,15 @@ Describe -Tag 'RunsInLocalConfigurationManager' 'MimSyncJoinRule - using the Loc
|
|||
ScriptContext = ''
|
||||
}
|
||||
)
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
TestMimSyncJoinRule -OutputPath "$env:TEMP\TestMimSyncJoinRule"
|
||||
Start-DscConfiguration -Path "$env:TEMP\TestMimSyncJoinRule" -Force -Wait -Verbose
|
||||
|
||||
Test-DscConfiguration | Should Be False
|
||||
}
|
||||
}
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
TestMimSyncJoinRule -OutputPath "$env:TEMP\TestMimSyncJoinRule"
|
||||
Start-DscConfiguration -Path "$env:TEMP\TestMimSyncJoinRule" -Force -Wait -Verbose
|
||||
|
||||
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
|
||||
|
||||
Describe -Tag 'Build' 'MimSyncMAPartitionData - calling Test-TargetResource Directly'{
|
||||
|
||||
It 'MimSyncMAPartitionData - desired state' {
|
||||
$testResourceProperties = @{
|
||||
ManagementAgentName = 'TinyHR'
|
||||
Name = 'default'
|
||||
Selected = $true
|
||||
ObjectClassInclusions = @(
|
||||
'person'
|
||||
'contact'
|
||||
'robot'
|
||||
'hybrid'
|
||||
)
|
||||
ContainerExclusions = @()
|
||||
ContainerInclusions = @()
|
||||
Ensure = 'Present'
|
||||
$testResourceProperties = @{
|
||||
ManagementAgentName = 'TinyHR'
|
||||
Name = 'default'
|
||||
Selected = $true
|
||||
ObjectClassInclusions = @(
|
||||
'person'
|
||||
'contact'
|
||||
'robot'
|
||||
'hybrid'
|
||||
)
|
||||
ContainerExclusions = @()
|
||||
ContainerInclusions = @()
|
||||
Ensure = 'Present'
|
||||
}
|
||||
|
||||
$dscResult = Test-TargetResource @testResourceProperties -Verbose
|
||||
|
@ -26,19 +26,19 @@ Describe -Tag 'Build' 'MimSyncMAPartitionData - calling Test-TargetResource Dire
|
|||
}
|
||||
|
||||
It 'MimSyncMAPartitionData - incorrect ObjectClassInclusions' {
|
||||
$testResourceProperties = @{
|
||||
ManagementAgentName = 'TinyHR'
|
||||
Name = 'default'
|
||||
Selected = $true
|
||||
ObjectClassInclusions = @(
|
||||
'person'
|
||||
'contact'
|
||||
'robot'
|
||||
'hybird'
|
||||
)
|
||||
ContainerExclusions = @()
|
||||
ContainerInclusions = @()
|
||||
Ensure = 'Present'
|
||||
$testResourceProperties = @{
|
||||
ManagementAgentName = 'TinyHR'
|
||||
Name = 'default'
|
||||
Selected = $true
|
||||
ObjectClassInclusions = @(
|
||||
'person'
|
||||
'contact'
|
||||
'robot'
|
||||
'hybird'
|
||||
)
|
||||
ContainerExclusions = @()
|
||||
ContainerInclusions = @()
|
||||
Ensure = 'Present'
|
||||
}
|
||||
|
||||
$dscResult = Test-TargetResource @testResourceProperties -Verbose
|
||||
|
@ -80,24 +80,24 @@ Describe -Tag 'RunsInLocalConfigurationManager' 'MimSyncMAPartitionData - using
|
|||
It 'MimSyncMAPartitionData - desired state' {
|
||||
Configuration TestMimSyncMAPartitionDataConfig
|
||||
{
|
||||
Import-DscResource -ModuleName MimSyncDsc
|
||||
Import-DscResource -ModuleName MimDsc
|
||||
|
||||
Node (hostname)
|
||||
{
|
||||
MimSyncMAPartitionData '[TinyHR]default'
|
||||
{
|
||||
ManagementAgentName = 'TinyHR'
|
||||
Name = 'default'
|
||||
Selected = $true
|
||||
ObjectClassInclusions = @(
|
||||
'person'
|
||||
'contact'
|
||||
'robot'
|
||||
'hybrid'
|
||||
)
|
||||
ContainerExclusions = @()
|
||||
ContainerInclusions = @()
|
||||
Ensure = 'Present'
|
||||
MimSyncMAPartitionData '[TinyHR]default'
|
||||
{
|
||||
ManagementAgentName = 'TinyHR'
|
||||
Name = 'default'
|
||||
Selected = $true
|
||||
ObjectClassInclusions = @(
|
||||
'person'
|
||||
'contact'
|
||||
'robot'
|
||||
'hybrid'
|
||||
)
|
||||
ContainerExclusions = @()
|
||||
ContainerInclusions = @()
|
||||
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
|
||||
|
||||
|
@ -74,21 +74,21 @@ Describe -Tag 'RunsInLocalConfigurationManager' 'MimSyncMAPartitionData - using
|
|||
It 'MimSyncMAPartitionData - desired state' {
|
||||
Configuration TestMimSyncMAPrivateConfigurationConfig
|
||||
{
|
||||
Import-DscResource -ModuleName MimSyncDsc
|
||||
Import-DscResource -ModuleName MimDsc
|
||||
|
||||
Node (hostname)
|
||||
{
|
||||
MimSyncMAPrivateConfiguration Litware
|
||||
{
|
||||
ManagementAgentName = 'Litware'
|
||||
ForestName = 'cmlitware.selfhost.corp.microsoft.com'
|
||||
ForestLoginDomain = 'cmlitware'
|
||||
ForestLoginUser = 'administrator'
|
||||
SignAndSeal = $true
|
||||
SslBind = $false
|
||||
SslBindCrlCheck = $false
|
||||
SimpleBind = $false
|
||||
Ensure = 'Present'
|
||||
MimSyncMAPrivateConfiguration Litware
|
||||
{
|
||||
ManagementAgentName = 'Litware'
|
||||
ForestName = 'cmlitware.selfhost.corp.microsoft.com'
|
||||
ForestLoginDomain = 'cmlitware'
|
||||
ForestLoginUser = 'administrator'
|
||||
SignAndSeal = $true
|
||||
SslBind = $false
|
||||
SslBindCrlCheck = $false
|
||||
SimpleBind = $false
|
||||
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
|
||||
|
||||
|
@ -50,17 +50,17 @@ Describe -Tag 'RunsInLocalConfigurationManager' 'MimSyncMVAttributeType - using
|
|||
It 'MimSyncMVAttributeType - desired state' {
|
||||
Configuration TestMimSyncMVAttributeType
|
||||
{
|
||||
Import-DscResource -ModuleName MimSyncDsc
|
||||
Import-DscResource -ModuleName MimDsc
|
||||
|
||||
Node (hostname)
|
||||
{
|
||||
MVAttributeType TestMimSyncMVAttributeTypeItem
|
||||
{
|
||||
ID = 'Alias'
|
||||
SingleValue = $true
|
||||
Indexable = $true
|
||||
Indexed = $false
|
||||
Syntax = '1.3.6.1.4.1.1466.115.121.1.15'
|
||||
ID = 'Alias'
|
||||
SingleValue = $true
|
||||
Indexable = $true
|
||||
Indexed = $false
|
||||
Syntax = '1.3.6.1.4.1.1466.115.121.1.15'
|
||||
Ensure = 'present'
|
||||
}
|
||||
}
|
||||
|
@ -75,17 +75,17 @@ Describe -Tag 'RunsInLocalConfigurationManager' 'MimSyncMVAttributeType - using
|
|||
It 'MimSyncMVAttributeType - incorrect indexed state' {
|
||||
Configuration TestMimSyncMVAttributeType
|
||||
{
|
||||
Import-DscResource -ModuleName MimSyncDsc
|
||||
Import-DscResource -ModuleName MimDsc
|
||||
|
||||
Node (hostname)
|
||||
{
|
||||
MVAttributeType TestMimSyncMVAttributeTypeItem
|
||||
{
|
||||
ID = 'Alias'
|
||||
SingleValue = $true
|
||||
Indexable = $true
|
||||
Indexed = $true
|
||||
Syntax = '1.3.6.1.4.1.1466.115.121.1.15'
|
||||
ID = 'Alias'
|
||||
SingleValue = $true
|
||||
Indexable = $true
|
||||
Indexed = $true
|
||||
Syntax = '1.3.6.1.4.1.1466.115.121.1.15'
|
||||
Ensure = 'present'
|
||||
}
|
||||
}
|
||||
|
@ -100,17 +100,17 @@ Describe -Tag 'RunsInLocalConfigurationManager' 'MimSyncMVAttributeType - using
|
|||
It 'MimSyncMVAttributeType - missing attribute type' {
|
||||
Configuration TestMimSyncMVAttributeType
|
||||
{
|
||||
Import-DscResource -ModuleName MimSyncDsc
|
||||
Import-DscResource -ModuleName MimDsc
|
||||
|
||||
Node (hostname)
|
||||
{
|
||||
MVAttributeType TestMimSyncMVAttributeTypeItem
|
||||
{
|
||||
ID = 'Gone'
|
||||
SingleValue = $true
|
||||
Indexable = $true
|
||||
Indexed = $true
|
||||
Syntax = '1.3.6.1.4.1.1466.115.121.1.15'
|
||||
ID = 'Gone'
|
||||
SingleValue = $true
|
||||
Indexable = $true
|
||||
Indexed = $true
|
||||
Syntax = '1.3.6.1.4.1.1466.115.121.1.15'
|
||||
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
|
||||
|
||||
|
@ -38,14 +38,14 @@ Describe -Tag 'RunsInLocalConfigurationManager' 'MimSyncMVDeletionRule - using t
|
|||
It 'MimSyncMVDeletionRule - desired state' {
|
||||
Configuration TestMimSyncMVDeletionRule
|
||||
{
|
||||
Import-DscResource -ModuleName MimSyncDsc
|
||||
Import-DscResource -ModuleName MimDsc
|
||||
|
||||
Node (hostname)
|
||||
{
|
||||
MVDeletionRule TestMimSyncMVDeletionRule
|
||||
{
|
||||
MVObjectType = 'SyncObject'
|
||||
Type = 'scripted'
|
||||
MVDeletionRule TestMimSyncMVDeletionRule
|
||||
{
|
||||
MVObjectType = 'SyncObject'
|
||||
Type = 'scripted'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -59,14 +59,14 @@ Describe -Tag 'RunsInLocalConfigurationManager' 'MimSyncMVDeletionRule - using t
|
|||
It 'MimSyncMVDeletionRule - desired state' {
|
||||
Configuration TestMimSyncMVDeletionRule
|
||||
{
|
||||
Import-DscResource -ModuleName MimSyncDsc
|
||||
Import-DscResource -ModuleName MimDsc
|
||||
|
||||
Node (hostname)
|
||||
{
|
||||
MVDeletionRule TestMimSyncMVDeletionRule
|
||||
{
|
||||
MVObjectType = 'SyncObject'
|
||||
Type = 'declared'
|
||||
MVDeletionRule TestMimSyncMVDeletionRule
|
||||
{
|
||||
MVObjectType = 'SyncObject'
|
||||
Type = 'declared'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -80,22 +80,22 @@ Describe -Tag 'RunsInLocalConfigurationManager' 'MimSyncMVDeletionRule - using t
|
|||
|
||||
<#
|
||||
#TODO - more tests for other deletion rule types, such as
|
||||
Configuration TestMimSyncMVDeletionRule
|
||||
{
|
||||
Import-DscResource -ModuleName MimSyncDsc
|
||||
|
||||
Node (hostname)
|
||||
{
|
||||
MVDeletionRule TestMimSyncMVDeletionRule
|
||||
{
|
||||
MVObjectType = 'Contact'
|
||||
Type = 'declared-any'
|
||||
ManagementAgentName = @(
|
||||
'TinyHR'
|
||||
'GiantHR'
|
||||
'OnPremiseAD'
|
||||
)
|
||||
}
|
||||
}
|
||||
Configuration TestMimSyncMVDeletionRule
|
||||
{
|
||||
Import-DscResource -ModuleName MimDsc
|
||||
|
||||
Node (hostname)
|
||||
{
|
||||
MVDeletionRule TestMimSyncMVDeletionRule
|
||||
{
|
||||
MVObjectType = 'Contact'
|
||||
Type = 'declared-any'
|
||||
ManagementAgentName = @(
|
||||
'TinyHR'
|
||||
'GiantHR'
|
||||
'OnPremiseAD'
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
#>
|
|
@ -1,11 +1,11 @@
|
|||
$dscResource = Get-DscResource -Module MimSyncDsc -Name MimSyncMVObjectType
|
||||
|
||||
Import-Module -Name $dscResource.Path -Force
|
||||
|
||||
Describe -Tag 'Build' 'MimSyncMVObjectType - calling Test-TargetResource Directly'{
|
||||
|
||||
It 'MimSyncMVObjectType - desired state' {
|
||||
$attributes = @(
|
||||
$dscResource = Get-DscResource -Module MimDsc -Name MimSyncMVObjectType
|
||||
|
||||
Import-Module -Name $dscResource.Path -Force
|
||||
|
||||
Describe -Tag 'Build' 'MimSyncMVObjectType - calling Test-TargetResource Directly'{
|
||||
|
||||
It 'MimSyncMVObjectType - desired state' {
|
||||
$attributes = @(
|
||||
'#Alias'
|
||||
'#AssistantName'
|
||||
'#City'
|
||||
|
@ -60,18 +60,18 @@ Describe -Tag 'Build' 'MimSyncMVObjectType - calling Test-TargetResource Directl
|
|||
'#TelephoneAssistant'
|
||||
'#Title'
|
||||
'#UserPrincipalName'
|
||||
'#WindowsEmailAddress'
|
||||
) | ForEach-Object {
|
||||
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 | Should be True
|
||||
}
|
||||
|
||||
It 'MimSyncMVObjectType - missing attributes' {
|
||||
$attributes = @(
|
||||
'#WindowsEmailAddress'
|
||||
) | ForEach-Object {
|
||||
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 | Should be True
|
||||
}
|
||||
|
||||
It 'MimSyncMVObjectType - missing attributes' {
|
||||
$attributes = @(
|
||||
'#Alias'
|
||||
'#AssistantName'
|
||||
'#City'
|
||||
|
@ -126,18 +126,18 @@ Describe -Tag 'Build' 'MimSyncMVObjectType - calling Test-TargetResource Directl
|
|||
'#TelephoneAssistant'
|
||||
'#Title'
|
||||
'#UserPrincipalName'
|
||||
'#WindowsEmailAddress'
|
||||
) | ForEach-Object {
|
||||
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 | Should be False
|
||||
}
|
||||
|
||||
It 'MimSyncMVObjectType - one attribute required set to true' {
|
||||
$attributes = @(
|
||||
'#WindowsEmailAddress'
|
||||
) | ForEach-Object {
|
||||
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 | Should be False
|
||||
}
|
||||
|
||||
It 'MimSyncMVObjectType - one attribute required set to true' {
|
||||
$attributes = @(
|
||||
'#Alias'
|
||||
'#AssistantName'
|
||||
'#City'
|
||||
|
@ -192,55 +192,55 @@ Describe -Tag 'Build' 'MimSyncMVObjectType - calling Test-TargetResource Directl
|
|||
'#TelephoneAssistant'
|
||||
'#Title'
|
||||
'#UserPrincipalName'
|
||||
'#WindowsEmailAddress'
|
||||
) | ForEach-Object {
|
||||
New-CimInstance -ClassName MimSyncMVAttributeBinding -Property @{ID=$PSItem; Required=$false} -ClientOnly -Namespace root/microsoft/windows/desiredstateconfiguration
|
||||
}
|
||||
|
||||
($attributes | Where-Object ID -EQ '#Alias').Required = $true
|
||||
|
||||
$dscResult = Test-TargetResource -ID SyncObject -Type structural -Attributes $attributes -Ensure Present -Verbose
|
||||
|
||||
$dscResult | Should be False
|
||||
}
|
||||
}
|
||||
|
||||
Describe -Tag 'Build' 'MimSyncMVObjectType - calling Get-TargetResource Directly'{
|
||||
It 'Existing MV Object Type' {
|
||||
|
||||
$dscResult = Get-TargetResource -ID SyncObject -Verbose
|
||||
|
||||
$dscResult | Should Not Be Null
|
||||
}
|
||||
|
||||
It 'Existing MV Object Type - Type' {
|
||||
|
||||
$dscResult = Get-TargetResource -ID SyncObject -Verbose
|
||||
|
||||
$dscResult['Type'] | Should be 'structural'
|
||||
}
|
||||
|
||||
It 'Missing MV Object Type' {
|
||||
|
||||
$dscResult = Get-TargetResource -ID DivideByObject -Verbose
|
||||
|
||||
(-not $dscResult) | Should Be True
|
||||
}
|
||||
}
|
||||
|
||||
Describe -Tag 'RunsInLocalConfigurationManager' 'MimSyncMVObjectType - using the Local Configuration Manager'{
|
||||
It 'MimSyncMVObjectType - desired state' {
|
||||
Configuration TestMimSyncMVObjectType
|
||||
{
|
||||
Import-DscResource -ModuleName MimSyncDsc
|
||||
|
||||
Node (hostname)
|
||||
{
|
||||
MVObjectType TestMimSyncMVObjectType
|
||||
{
|
||||
ID = 'SyncObject'
|
||||
Type = 'structural'
|
||||
Attributes = @(
|
||||
'#WindowsEmailAddress'
|
||||
) | ForEach-Object {
|
||||
New-CimInstance -ClassName MimSyncMVAttributeBinding -Property @{ID=$PSItem; Required=$false} -ClientOnly -Namespace root/microsoft/windows/desiredstateconfiguration
|
||||
}
|
||||
|
||||
($attributes | Where-Object ID -EQ '#Alias').Required = $true
|
||||
|
||||
$dscResult = Test-TargetResource -ID SyncObject -Type structural -Attributes $attributes -Ensure Present -Verbose
|
||||
|
||||
$dscResult | Should be False
|
||||
}
|
||||
}
|
||||
|
||||
Describe -Tag 'Build' 'MimSyncMVObjectType - calling Get-TargetResource Directly'{
|
||||
It 'Existing MV Object Type' {
|
||||
|
||||
$dscResult = Get-TargetResource -ID SyncObject -Verbose
|
||||
|
||||
$dscResult | Should Not Be Null
|
||||
}
|
||||
|
||||
It 'Existing MV Object Type - Type' {
|
||||
|
||||
$dscResult = Get-TargetResource -ID SyncObject -Verbose
|
||||
|
||||
$dscResult['Type'] | Should be 'structural'
|
||||
}
|
||||
|
||||
It 'Missing MV Object Type' {
|
||||
|
||||
$dscResult = Get-TargetResource -ID DivideByObject -Verbose
|
||||
|
||||
(-not $dscResult) | Should Be True
|
||||
}
|
||||
}
|
||||
|
||||
Describe -Tag 'RunsInLocalConfigurationManager' 'MimSyncMVObjectType - using the Local Configuration Manager'{
|
||||
It 'MimSyncMVObjectType - desired state' {
|
||||
Configuration TestMimSyncMVObjectType
|
||||
{
|
||||
Import-DscResource -ModuleName MimDsc
|
||||
|
||||
Node (hostname)
|
||||
{
|
||||
MVObjectType TestMimSyncMVObjectType
|
||||
{
|
||||
ID = 'SyncObject'
|
||||
Type = 'structural'
|
||||
Attributes = @(
|
||||
MVAttributeBinding {ID='#Alias'; Required=$false}
|
||||
MVAttributeBinding {ID='#AssistantName'; Required=$false}
|
||||
MVAttributeBinding {ID='#City'; Required=$false}
|
||||
|
@ -295,31 +295,31 @@ Describe -Tag 'RunsInLocalConfigurationManager' 'MimSyncMVObjectType - using the
|
|||
MVAttributeBinding {ID='#TelephoneAssistant'; Required=$false}
|
||||
MVAttributeBinding {ID='#Title'; Required=$false}
|
||||
MVAttributeBinding {ID='#UserPrincipalName'; Required=$false}
|
||||
MVAttributeBinding {ID='#WindowsEmailAddress'; Required=$false}
|
||||
)
|
||||
Ensure = 'Present'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
TestMimSyncMVObjectType -OutputPath "$env:TEMP\TestMimSyncMVObjectType"
|
||||
Start-DscConfiguration -Path "$env:TEMP\TestMimSyncMVObjectType" -Force -Wait -Verbose
|
||||
|
||||
Test-DscConfiguration | Should Be True
|
||||
}
|
||||
|
||||
It 'MimSyncMVObjectType - missing attributes' {
|
||||
Configuration TestMimSyncMaData
|
||||
{
|
||||
Import-DscResource -ModuleName MimSyncDsc
|
||||
|
||||
Node (hostname)
|
||||
{
|
||||
MVObjectType TestMimSyncMVObjectType
|
||||
{
|
||||
ID = 'SyncObject'
|
||||
Type = 'structural'
|
||||
Attributes = @(
|
||||
MVAttributeBinding {ID='#WindowsEmailAddress'; Required=$false}
|
||||
)
|
||||
Ensure = 'Present'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
TestMimSyncMVObjectType -OutputPath "$env:TEMP\TestMimSyncMVObjectType"
|
||||
Start-DscConfiguration -Path "$env:TEMP\TestMimSyncMVObjectType" -Force -Wait -Verbose
|
||||
|
||||
Test-DscConfiguration | Should Be True
|
||||
}
|
||||
|
||||
It 'MimSyncMVObjectType - missing attributes' {
|
||||
Configuration TestMimSyncMaData
|
||||
{
|
||||
Import-DscResource -ModuleName MimDsc
|
||||
|
||||
Node (hostname)
|
||||
{
|
||||
MVObjectType TestMimSyncMVObjectType
|
||||
{
|
||||
ID = 'SyncObject'
|
||||
Type = 'structural'
|
||||
Attributes = @(
|
||||
MVAttributeBinding {ID='#Alias'; Required=$false}
|
||||
MVAttributeBinding {ID='#AssistantName'; Required=$false}
|
||||
MVAttributeBinding {ID='#City'; Required=$false}
|
||||
|
@ -330,16 +330,16 @@ Describe -Tag 'RunsInLocalConfigurationManager' 'MimSyncMVObjectType - using the
|
|||
MVAttributeBinding {ID='#CustomAttribute12'; Required=$false}
|
||||
MVAttributeBinding {ID='#CustomAttribute13'; Required=$false}
|
||||
MVAttributeBinding {ID='#CustomAttribute14'; Required=$false}
|
||||
MVAttributeBinding {ID='#CustomAttribute15'; Required=$false}
|
||||
)
|
||||
Ensure = 'Present'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
TestMimSyncMVObjectType -OutputPath "$env:TEMP\TestMimSyncMVObjectType"
|
||||
Start-DscConfiguration -Path "$env:TEMP\TestMimSyncMVObjectType" -Force -Wait -Verbose
|
||||
|
||||
Test-DscConfiguration | Should Be False
|
||||
}
|
||||
}
|
||||
MVAttributeBinding {ID='#CustomAttribute15'; Required=$false}
|
||||
)
|
||||
Ensure = 'Present'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
TestMimSyncMVObjectType -OutputPath "$env:TEMP\TestMimSyncMVObjectType"
|
||||
Start-DscConfiguration -Path "$env:TEMP\TestMimSyncMVObjectType" -Force -Wait -Verbose
|
||||
|
||||
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
|
||||
|
||||
|
@ -38,16 +38,16 @@ Describe -Tag 'RunsInLocalConfigurationManager' 'MimSyncProjectionRule - using t
|
|||
It 'MVOptions - desired state' {
|
||||
Configuration TestMimSyncMVOptions
|
||||
{
|
||||
Import-DscResource -ModuleName MimSyncDsc
|
||||
Import-DscResource -ModuleName MimDsc
|
||||
|
||||
Node (hostname)
|
||||
{
|
||||
MVOptions TestcFimSyncMVOptions
|
||||
{
|
||||
FakeIdentifier = 'foo'
|
||||
ProvisioningType = 'scripted'
|
||||
ExtensionAssemblyName = 'ELMA-MV-Sample.dll'
|
||||
ExtensionApplicationProtection = 'low'
|
||||
MVOptions TestcFimSyncMVOptions
|
||||
{
|
||||
FakeIdentifier = 'foo'
|
||||
ProvisioningType = 'scripted'
|
||||
ExtensionAssemblyName = 'ELMA-MV-Sample.dll'
|
||||
ExtensionApplicationProtection = 'low'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -61,16 +61,16 @@ Describe -Tag 'RunsInLocalConfigurationManager' 'MimSyncProjectionRule - using t
|
|||
It 'MVOptions - incorrect state' {
|
||||
Configuration TestMimSyncMVOptions
|
||||
{
|
||||
Import-DscResource -ModuleName MimSyncDsc
|
||||
Import-DscResource -ModuleName MimDsc
|
||||
|
||||
Node (hostname)
|
||||
{
|
||||
MVOptions TestcFimSyncMVOptions
|
||||
{
|
||||
FakeIdentifier = 'foo'
|
||||
ProvisioningType = 'scripted'
|
||||
ExtensionAssemblyName = 'foo.dll'
|
||||
ExtensionApplicationProtection = 'low'
|
||||
MVOptions TestcFimSyncMVOptions
|
||||
{
|
||||
FakeIdentifier = 'foo'
|
||||
ProvisioningType = 'scripted'
|
||||
ExtensionAssemblyName = 'foo.dll'
|
||||
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
|
||||
|
||||
Describe -Tag 'Build' 'MimSyncMaData - calling Test-TargetResource Directly'{
|
||||
$attributeInclusion = @(
|
||||
'UserID'
|
||||
'FirstName'
|
||||
'Initial'
|
||||
'LastName'
|
||||
'Title'
|
||||
'JobTitle'
|
||||
'HireDate'
|
||||
'UserID'
|
||||
'FirstName'
|
||||
'Initial'
|
||||
'LastName'
|
||||
'Title'
|
||||
'JobTitle'
|
||||
'HireDate'
|
||||
'Status'
|
||||
)
|
||||
$controllerConfiguration = New-CimInstance -ClassName MimSyncControllerConfiguration -ClientOnly -Namespace root/microsoft/windows/desiredstateconfiguration -Property @{
|
||||
ApplicationArchitecture = 'process'
|
||||
$controllerConfiguration = New-CimInstance -ClassName MimSyncControllerConfiguration -ClientOnly -Namespace root/microsoft/windows/desiredstateconfiguration -Property @{
|
||||
ApplicationArchitecture = 'process'
|
||||
ApplicationProtection = 'low'
|
||||
}
|
||||
$extension = New-CimInstance -ClassName MimSyncExtension -ClientOnly -Namespace root/microsoft/windows/desiredstateconfiguration -Property @{
|
||||
AssemblyName = 'TinyHRExtension.dll'
|
||||
$extension = New-CimInstance -ClassName MimSyncExtension -ClientOnly -Namespace root/microsoft/windows/desiredstateconfiguration -Property @{
|
||||
AssemblyName = 'TinyHRExtension.dll'
|
||||
ApplicationProtection = 'low'
|
||||
}
|
||||
$passwordSync = New-CimInstance -ClassName MimSyncPasswordSync -ClientOnly -Namespace root/microsoft/windows/desiredstateconfiguration -Property @{
|
||||
AllowLowSecurity = $false
|
||||
$passwordSync = New-CimInstance -ClassName MimSyncPasswordSync -ClientOnly -Namespace root/microsoft/windows/desiredstateconfiguration -Property @{
|
||||
AllowLowSecurity = $false
|
||||
MaximumRetryCount = 10
|
||||
RetryInterval = 60
|
||||
}
|
||||
$provisioningCleanup = New-CimInstance -ClassName MimSyncProvisioningCleanup -ClientOnly -Namespace root/microsoft/windows/desiredstateconfiguration -Property @{
|
||||
Type = 'declared'
|
||||
$provisioningCleanup = New-CimInstance -ClassName MimSyncProvisioningCleanup -ClientOnly -Namespace root/microsoft/windows/desiredstateconfiguration -Property @{
|
||||
Type = 'declared'
|
||||
Action = 'make-normal-disconnector'
|
||||
}
|
||||
|
||||
|
@ -62,13 +62,13 @@ Describe -Tag 'Build' 'MimSyncMaData - calling Test-TargetResource Directly'{
|
|||
}
|
||||
|
||||
$attributeInclusion = @(
|
||||
'UserID'
|
||||
#'FirstName'
|
||||
'Initial'
|
||||
#'LastName'
|
||||
'Title'
|
||||
'JobTitle'
|
||||
'HireDate'
|
||||
'UserID'
|
||||
#'FirstName'
|
||||
'Initial'
|
||||
#'LastName'
|
||||
'Title'
|
||||
'JobTitle'
|
||||
'HireDate'
|
||||
'Status'
|
||||
)
|
||||
$dscResult = Test-TargetResource -AttributeInclusion $attributeInclusion @testTargetResource -Verbose
|
||||
|
@ -104,7 +104,7 @@ Describe -Tag 'RunsInLocalConfigurationManager' 'MimSyncMaData - using the Local
|
|||
It 'MaData - desired state' {
|
||||
Configuration TestMimSyncMaData
|
||||
{
|
||||
Import-DscResource -ModuleName MimSyncDsc
|
||||
Import-DscResource -ModuleName MimDsc
|
||||
|
||||
Node (hostname)
|
||||
{
|
||||
|
@ -112,32 +112,32 @@ Describe -Tag 'RunsInLocalConfigurationManager' 'MimSyncMaData - using the Local
|
|||
{
|
||||
Name = 'TinyHR'
|
||||
AttributeInclusion = @(
|
||||
'UserID'
|
||||
'FirstName'
|
||||
'Initial'
|
||||
'LastName'
|
||||
'Title'
|
||||
'JobTitle'
|
||||
'HireDate'
|
||||
'UserID'
|
||||
'FirstName'
|
||||
'Initial'
|
||||
'LastName'
|
||||
'Title'
|
||||
'JobTitle'
|
||||
'HireDate'
|
||||
'Status'
|
||||
)
|
||||
Category = 'Delimited'
|
||||
ControllerConfiguration = ControllerConfiguration{
|
||||
ApplicationArchitecture = 'process'
|
||||
ApplicationArchitecture = 'process'
|
||||
ApplicationProtection = 'low'
|
||||
}
|
||||
Extension = Extension{
|
||||
AssemblyName = 'TinyHRExtension.dll'
|
||||
AssemblyName = 'TinyHRExtension.dll'
|
||||
ApplicationProtection = 'low'
|
||||
}
|
||||
PasswordSync = PasswordSync{
|
||||
AllowLowSecurity = $false
|
||||
AllowLowSecurity = $false
|
||||
MaximumRetryCount = 10
|
||||
RetryInterval = 60
|
||||
}
|
||||
PasswordSyncAllowed = $false
|
||||
ProvisioningCleanup = ProvisioningCleanup{
|
||||
Type = 'declared'
|
||||
Type = 'declared'
|
||||
Action = 'make-normal-disconnector'
|
||||
}
|
||||
Ensure = 'Present'
|
||||
|
@ -154,7 +154,7 @@ Describe -Tag 'RunsInLocalConfigurationManager' 'MimSyncMaData - using the Local
|
|||
It 'MaData - incorrect Attribute Inclusion' {
|
||||
Configuration TestMimSyncMaData
|
||||
{
|
||||
Import-DscResource -ModuleName MimSyncDsc
|
||||
Import-DscResource -ModuleName MimDsc
|
||||
|
||||
Node (hostname)
|
||||
{
|
||||
|
@ -162,32 +162,32 @@ Describe -Tag 'RunsInLocalConfigurationManager' 'MimSyncMaData - using the Local
|
|||
{
|
||||
Name = 'TinyHR'
|
||||
AttributeInclusion = @(
|
||||
'UserID'
|
||||
#'FirstName'
|
||||
'Initial'
|
||||
#'LastName'
|
||||
'Title'
|
||||
'JobTitle'
|
||||
'HireDate'
|
||||
'UserID'
|
||||
#'FirstName'
|
||||
'Initial'
|
||||
#'LastName'
|
||||
'Title'
|
||||
'JobTitle'
|
||||
'HireDate'
|
||||
'Status'
|
||||
)
|
||||
Category = 'Delimited'
|
||||
ControllerConfiguration = ControllerConfiguration{
|
||||
ApplicationArchitecture = 'process'
|
||||
ApplicationArchitecture = 'process'
|
||||
ApplicationProtection = 'low'
|
||||
}
|
||||
Extension = Extension{
|
||||
AssemblyName = 'TinyHRExtension.dll'
|
||||
AssemblyName = 'TinyHRExtension.dll'
|
||||
ApplicationProtection = 'low'
|
||||
}
|
||||
PasswordSync = PasswordSync{
|
||||
AllowLowSecurity = $true
|
||||
AllowLowSecurity = $true
|
||||
MaximumRetryCount = 10
|
||||
RetryInterval = 60
|
||||
}
|
||||
PasswordSyncAllowed = $false
|
||||
ProvisioningCleanup = ProvisioningCleanup{
|
||||
Type = 'declared'
|
||||
Type = 'declared'
|
||||
Action = 'make-normal-disconnector'
|
||||
}
|
||||
Ensure = 'Present'
|
||||
|
@ -204,7 +204,7 @@ Describe -Tag 'RunsInLocalConfigurationManager' 'MimSyncMaData - using the Local
|
|||
It 'MaData - incorrect Assembly Name' {
|
||||
Configuration TestMimSyncMaData
|
||||
{
|
||||
Import-DscResource -ModuleName MimSyncDsc
|
||||
Import-DscResource -ModuleName MimDsc
|
||||
|
||||
Node (hostname)
|
||||
{
|
||||
|
@ -212,32 +212,32 @@ Describe -Tag 'RunsInLocalConfigurationManager' 'MimSyncMaData - using the Local
|
|||
{
|
||||
Name = 'TinyHR'
|
||||
AttributeInclusion = @(
|
||||
'UserID'
|
||||
'FirstName'
|
||||
'Initial'
|
||||
'LastName'
|
||||
'Title'
|
||||
'JobTitle'
|
||||
'HireDate'
|
||||
'UserID'
|
||||
'FirstName'
|
||||
'Initial'
|
||||
'LastName'
|
||||
'Title'
|
||||
'JobTitle'
|
||||
'HireDate'
|
||||
'Status'
|
||||
)
|
||||
Category = 'Delimited'
|
||||
ControllerConfiguration = ControllerConfiguration{
|
||||
ApplicationArchitecture = 'process'
|
||||
ApplicationArchitecture = 'process'
|
||||
ApplicationProtection = 'low'
|
||||
}
|
||||
Extension = Extension{
|
||||
AssemblyName = 'GiantHRExtension.dll'
|
||||
AssemblyName = 'GiantHRExtension.dll'
|
||||
ApplicationProtection = 'low'
|
||||
}
|
||||
PasswordSync = PasswordSync{
|
||||
AllowLowSecurity = $true
|
||||
AllowLowSecurity = $true
|
||||
MaximumRetryCount = 10
|
||||
RetryInterval = 60
|
||||
}
|
||||
PasswordSyncAllowed = $false
|
||||
ProvisioningCleanup = ProvisioningCleanup{
|
||||
Type = 'declared'
|
||||
Type = 'declared'
|
||||
Action = 'make-normal-disconnector'
|
||||
}
|
||||
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
|
||||
|
||||
|
@ -52,7 +52,7 @@ Describe -Tag 'RunsInLocalConfigurationManager' 'MimSyncProjectionRule - using t
|
|||
It 'Projection Rule - desired state' {
|
||||
Configuration TestMimSyncProjectionRule
|
||||
{
|
||||
Import-DscResource -ModuleName MimSyncDsc
|
||||
Import-DscResource -ModuleName MimDsc
|
||||
|
||||
Node (hostname)
|
||||
{
|
||||
|
@ -75,7 +75,7 @@ Describe -Tag 'RunsInLocalConfigurationManager' 'MimSyncProjectionRule - using t
|
|||
It 'Projection Rule - incorrect type' {
|
||||
Configuration TestMimSyncProjectionRule
|
||||
{
|
||||
Import-DscResource -ModuleName MimSyncDsc
|
||||
Import-DscResource -ModuleName MimDsc
|
||||
|
||||
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
|
||||
|
||||
Describe -Tag 'Build' 'MimSyncRunProfile - calling Test-TargetResource Directly'{
|
||||
|
||||
It 'MimSyncRunProfile - desired state' {
|
||||
$RunSteps = @(
|
||||
New-CimInstance -ClassName MimSyncRunStep -ClientOnly -Namespace root/microsoft/windows/desiredstateconfiguration -Property @{
|
||||
StepType = 'full-import'
|
||||
StepSubType = @('to-cs')
|
||||
PartitionIdentifier = '{08F64D3F-B82C-44E2-AC6F-9F680DECFEBE}'
|
||||
InputFile = 'tinyhr.txt'
|
||||
PageSize = 0
|
||||
Timeout = 0
|
||||
ObjectDeleteLimit = 0
|
||||
ObjectProcessLimit = 0
|
||||
LogFilePath = ''
|
||||
DropFileName = ''
|
||||
}
|
||||
$RunSteps = @(
|
||||
New-CimInstance -ClassName MimSyncRunStep -ClientOnly -Namespace root/microsoft/windows/desiredstateconfiguration -Property @{
|
||||
StepType = 'full-import'
|
||||
StepSubType = @('to-cs')
|
||||
PartitionIdentifier = '{08F64D3F-B82C-44E2-AC6F-9F680DECFEBE}'
|
||||
InputFile = 'tinyhr.txt'
|
||||
PageSize = 0
|
||||
Timeout = 0
|
||||
ObjectDeleteLimit = 0
|
||||
ObjectProcessLimit = 0
|
||||
LogFilePath = ''
|
||||
DropFileName = ''
|
||||
}
|
||||
)
|
||||
|
||||
$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' {
|
||||
$RunSteps = @(
|
||||
New-CimInstance -ClassName MimSyncRunStep -ClientOnly -Namespace root/microsoft/windows/desiredstateconfiguration -Property @{
|
||||
StepType = 'apply-rules'
|
||||
StepSubType = @('reevaluate-flow-connectors')
|
||||
PartitionIdentifier = '{08F64D3F-B82C-44E2-AC6F-9F680DECFEBE}'
|
||||
InputFile = 'tinyhr.txt'
|
||||
PageSize = 0
|
||||
Timeout = 0
|
||||
ObjectDeleteLimit = 0
|
||||
ObjectProcessLimit = 0
|
||||
LogFilePath = ''
|
||||
DropFileName = ''
|
||||
}
|
||||
$RunSteps = @(
|
||||
New-CimInstance -ClassName MimSyncRunStep -ClientOnly -Namespace root/microsoft/windows/desiredstateconfiguration -Property @{
|
||||
StepType = 'apply-rules'
|
||||
StepSubType = @('reevaluate-flow-connectors')
|
||||
PartitionIdentifier = '{08F64D3F-B82C-44E2-AC6F-9F680DECFEBE}'
|
||||
InputFile = 'tinyhr.txt'
|
||||
PageSize = 0
|
||||
Timeout = 0
|
||||
ObjectDeleteLimit = 0
|
||||
ObjectProcessLimit = 0
|
||||
LogFilePath = ''
|
||||
DropFileName = ''
|
||||
}
|
||||
)
|
||||
|
||||
$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' {
|
||||
$RunSteps = @(
|
||||
New-CimInstance -ClassName MimSyncRunStep -ClientOnly -Namespace root/microsoft/windows/desiredstateconfiguration -Property @{
|
||||
StepType = 'full-import'
|
||||
StepSubType = @('to-cs')
|
||||
PartitionIdentifier = '{08F64D3F-B82C-44E2-AC6F-9F680DECFEBE}'
|
||||
InputFile = 'HumongousHR.txt'
|
||||
PageSize = 0
|
||||
Timeout = 0
|
||||
ObjectDeleteLimit = 0
|
||||
ObjectProcessLimit = 0
|
||||
LogFilePath = ''
|
||||
DropFileName = ''
|
||||
}
|
||||
$RunSteps = @(
|
||||
New-CimInstance -ClassName MimSyncRunStep -ClientOnly -Namespace root/microsoft/windows/desiredstateconfiguration -Property @{
|
||||
StepType = 'full-import'
|
||||
StepSubType = @('to-cs')
|
||||
PartitionIdentifier = '{08F64D3F-B82C-44E2-AC6F-9F680DECFEBE}'
|
||||
InputFile = 'HumongousHR.txt'
|
||||
PageSize = 0
|
||||
Timeout = 0
|
||||
ObjectDeleteLimit = 0
|
||||
ObjectProcessLimit = 0
|
||||
LogFilePath = ''
|
||||
DropFileName = ''
|
||||
}
|
||||
)
|
||||
|
||||
$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' {
|
||||
Configuration TestMimSyncRunProfile
|
||||
{
|
||||
Import-DscResource -ModuleName MimSyncDsc
|
||||
Import-DscResource -ModuleName MimDsc
|
||||
|
||||
Node (hostname)
|
||||
{
|
||||
RunProfile '[TinyHR]FISO'
|
||||
{
|
||||
ManagementAgentName = 'TinyHR'
|
||||
Name = 'FISO'
|
||||
RunSteps = @(
|
||||
RunStep{
|
||||
StepType = 'full-import'
|
||||
StepSubType = @('to-cs')
|
||||
PartitionIdentifier = '{08F64D3F-B82C-44E2-AC6F-9F680DECFEBE}'
|
||||
InputFile = 'tinyhr.txt'
|
||||
PageSize = 0
|
||||
Timeout = 0
|
||||
ObjectDeleteLimit = 0
|
||||
ObjectProcessLimit = 0
|
||||
LogFilePath = ''
|
||||
DropFileName = ''
|
||||
FakeIdentifier = [Guid]::Empty
|
||||
}
|
||||
)
|
||||
Ensure = 'Present'
|
||||
RunProfile '[TinyHR]FISO'
|
||||
{
|
||||
ManagementAgentName = 'TinyHR'
|
||||
Name = 'FISO'
|
||||
RunSteps = @(
|
||||
RunStep{
|
||||
StepType = 'full-import'
|
||||
StepSubType = @('to-cs')
|
||||
PartitionIdentifier = '{08F64D3F-B82C-44E2-AC6F-9F680DECFEBE}'
|
||||
InputFile = 'tinyhr.txt'
|
||||
PageSize = 0
|
||||
Timeout = 0
|
||||
ObjectDeleteLimit = 0
|
||||
ObjectProcessLimit = 0
|
||||
LogFilePath = ''
|
||||
DropFileName = ''
|
||||
FakeIdentifier = [Guid]::Empty
|
||||
}
|
||||
)
|
||||
Ensure = 'Present'
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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 "
|
||||
}
|
Загрузка…
Ссылка в новой задаче