diff --git a/wmigroup/Tests/test_wmi_config.dsc.yaml b/wmigroup/Tests/test_wmi_config.dsc.yaml index 39339116..3bac984f 100644 --- a/wmigroup/Tests/test_wmi_config.dsc.yaml +++ b/wmigroup/Tests/test_wmi_config.dsc.yaml @@ -6,8 +6,8 @@ resources: properties: resources: - name: Get OS Info - type: root\cimv2/Win32_OperatingSystem - - name: Get OS Info - type: root\cimv2/Win32_BIOS - - name: Get OS Info - type: root\cimv2/Win32_Processor + type: root.cimv2/Win32_OperatingSystem + - name: Get BIOS Info + type: root.cimv2/Win32_BIOS + - name: Get Processor Info + type: root.cimv2/Win32_Processor diff --git a/wmigroup/Tests/wmigroup.tests.ps1 b/wmigroup/Tests/wmigroup.tests.ps1 index 313f8fb2..aa940deb 100644 --- a/wmigroup/Tests/wmigroup.tests.ps1 +++ b/wmigroup/Tests/wmigroup.tests.ps1 @@ -4,13 +4,26 @@ Describe 'PowerShellGroup resource tests' { BeforeAll { - $OldPSModulePath = $env:PSModulePath - $env:PSModulePath += ";" + $PSScriptRoot - - $configPath = Join-path $PSScriptRoot "test_wmi_config.dsc.yaml" + if ($IsWindows) + { + $OldPSModulePath = $env:PSModulePath + $env:PSModulePath += ";" + $PSScriptRoot + + $configPath = Join-path $PSScriptRoot "test_wmi_config.dsc.yaml" + + $dscPath = (get-command dsc -CommandType Application).Path + $dscFolder = Split-Path -Path $dscPath + $wmiGroupOptoutFile = Join-Path $dscFolder "wmigroup.dsc.resource.json.optout" + $wmiGroupOptinFile = Join-Path $dscFolder "wmigroup.dsc.resource.json" + Rename-Item -Path $wmiGroupOptoutFile -NewName $wmiGroupOptinFile + } } AfterAll { - $env:PSModulePath = $OldPSModulePath + if ($IsWindows) + { + $env:PSModulePath = $OldPSModulePath + Rename-Item -Path $wmiGroupOptinFile -NewName $wmiGroupOptoutFile + } } It 'List shows WMI resources' -Skip:(!$IsWindows){ @@ -23,7 +36,7 @@ Describe 'PowerShellGroup resource tests' { It 'Get works on an individual WMI resource' -Skip:(!$IsWindows){ - $r = dsc resource get -r root\cimv2/Win32_OperatingSystem + $r = dsc resource get -r root.cimv2/Win32_OperatingSystem $LASTEXITCODE | Should -Be 0 $res = $r | ConvertFrom-Json $res.actualState.CreationClassName | Should -Be "Win32_OperatingSystem" diff --git a/wmigroup/copy_files.txt b/wmigroup/copy_files.txt index 7e31f745..b00f55c8 100644 --- a/wmigroup/copy_files.txt +++ b/wmigroup/copy_files.txt @@ -1 +1,2 @@ wmigroup.resource.ps1 +wmigroup.dsc.resource.json.optout \ No newline at end of file diff --git a/wmigroup/wmigroup.dsc.resource.json b/wmigroup/wmigroup.dsc.resource.json.optout similarity index 100% rename from wmigroup/wmigroup.dsc.resource.json rename to wmigroup/wmigroup.dsc.resource.json.optout diff --git a/wmigroup/wmigroup.resource.ps1 b/wmigroup/wmigroup.resource.ps1 index be780d92..50ce8414 100644 --- a/wmigroup/wmigroup.resource.ps1 +++ b/wmigroup/wmigroup.resource.ps1 @@ -32,7 +32,7 @@ if ($Operation -eq 'List') } } - $namespace = $r.CimSystemProperties.Namespace.ToLower().Replace('/','\') + $namespace = $r.CimSystemProperties.Namespace.ToLower().Replace('/','.') $classname = $r.CimSystemProperties.ClassName $fullResourceTypeName = "$namespace/$classname" $requiresString = "DSC/WMIGroup" @@ -66,7 +66,7 @@ elseif ($Operation -eq 'Get') foreach($r in $inputobj_pscustomobj.resources) { $type_fields = $r.type -split "/" - $wmi_namespace = $type_fields[0] + $wmi_namespace = $type_fields[0].Replace('.','\') $wmi_classname = $type_fields[1] #TODO: add filtering based on supplied properties of $r @@ -96,7 +96,7 @@ elseif ($Operation -eq 'Get') else # we are processing an individual resource call { $type_fields = $inputobj_pscustomobj.type -split "/" - $wmi_namespace = $type_fields[0] + $wmi_namespace = $type_fields[0].Replace('.','\') $wmi_classname = $type_fields[1] #TODO: add filtering based on supplied properties of $inputobj_pscustomobj