Skip to content

Commit da94e76

Browse files
author
Andrew
committed
updated tests
1 parent 2b76fd1 commit da94e76

File tree

1 file changed

+25
-21
lines changed

1 file changed

+25
-21
lines changed

dsc/tests/dsc_settings.tests.ps1

Lines changed: 25 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -7,56 +7,60 @@ Describe 'tests for dsc settings' {
77
$script:policyFilePath = if ($IsWindows) {
88
Join-Path $env:ProgramData "dsc" "dsc.settings.json"
99
} else {
10-
"/etc/dsc/settings.dsc.json"
10+
"/etc/dsc/dsc.settings.json"
1111
}
1212

1313
$script:dscHome = (Get-Command dsc).Path | Split-Path
1414
$script:dscSettingsFilePath = Join-Path $script:dscHome "dsc.settings.json"
15-
$script:dscDefaultv1SettingsFilePath = Join-Path $script:dscHome "dsc_default.settings.json"
16-
$script:dscDefaultv1SettingsJson = Get-Content -Raw -Path $script:dscDefaultv1SettingsFilePath
15+
$script:dscDefaultSettingsFilePath = Join-Path $script:dscHome "dsc_default.settings.json"
1716

1817
if ($IsWindows) { #"Setting policy on Linux requires sudo"
1918
$script:policyDirPath = $script:policyFilePath | Split-Path
2019
New-Item -ItemType Directory -Path $script:policyDirPath | Out-Null
2120
}
2221

2322
#create backups of settings files
24-
$script:dscSettingsFilePath_backup = Join-Path $script:dscHome "settings.dsc.json.backup"
25-
$script:dscDefaultv1SettingsFilePath_backup = Join-Path $script:dscHome "dsc_default.settings.json.backup"
23+
$script:dscSettingsFilePath_backup = Join-Path $script:dscHome "dsc.settings.json.backup"
24+
$script:dscDefaultSettingsFilePath_backup = Join-Path $script:dscHome "dsc_default.settings.json.backup"
2625
Copy-Item -Force -Path $script:dscSettingsFilePath -Destination $script:dscSettingsFilePath_backup
27-
Copy-Item -Force -Path $script:dscDefaultv1SettingsFilePath -Destination $script:dscDefaultv1SettingsFilePath_backup
26+
Copy-Item -Force -Path $script:dscDefaultSettingsFilePath -Destination $script:dscDefaultSettingsFilePath_backup
2827
}
2928

3029
AfterAll {
3130
Remove-Item -Force -Path $script:dscSettingsFilePath_backup
32-
Remove-Item -Force -Path $script:dscDefaultv1SettingsFilePath_backup
31+
Remove-Item -Force -Path $script:dscDefaultSettingsFilePath_backup
3332
if ($IsWindows) { #"Setting policy on Linux requires sudo"
3433
Remove-Item -Recurse -Force -Path $script:policyDirPath
3534
}
3635
}
3736

37+
BeforeEach {
38+
$script:dscDefaultSettings = Get-Content -Raw -Path $script:dscDefaultSettingsFilePath_backup | ConvertFrom-Json
39+
$script:dscDefaultv1Settings = (Get-Content -Raw -Path $script:dscDefaultSettingsFilePath_backup | ConvertFrom-Json)."1"
40+
}
41+
3842
AfterEach {
3943
Copy-Item -Force -Path $script:dscSettingsFilePath_backup -Destination $script:dscSettingsFilePath
40-
Copy-Item -Force -Path $script:dscDefaultv1SettingsFilePath_backup -Destination $script:dscDefaultv1SettingsFilePath
44+
Copy-Item -Force -Path $script:dscDefaultSettingsFilePath_backup -Destination $script:dscDefaultSettingsFilePath
4145
if ($IsWindows) { #"Setting policy on Linux requires sudo"
4246
Remove-Item -Path $script:policyFilePath -ErrorAction SilentlyContinue
4347
}
4448
}
4549

4650
It 'ensure a new tracing value in settings has effect' {
4751

48-
$script:dscDefaultv1SettingsJson.Replace('"level": "WARN"', '"level": "TRACE"') | Set-Content -Force -Path $script:dscSettingsFilePath
52+
$script:dscDefaultv1Settings."tracing"."level" = "TRACE"
53+
$script:dscDefaultv1Settings | ConvertTo-Json -Depth 90 | Set-Content -Force -Path $script:dscSettingsFilePath
4954

5055
dsc resource list 2> $TestDrive/tracing.txt
5156
"$TestDrive/tracing.txt" | Should -FileContentMatchExactly "Trace-level is Trace"
5257
}
5358

5459
It 'ensure a new resource_path value in settings has effect' {
5560

56-
$script:dscDefaultv1SettingsJson.Replace('"directories": []', '"directories": ["TestDir1","TestDir2"]') | Set-Content -Force -Path $script:dscSettingsFilePath
57-
copy-Item -Recurse -Force -Path $script:dscSettingsFilePath -Destination "C:\Temp\"
61+
$script:dscDefaultv1Settings."resourcePath"."directories" = @("TestDir1","TestDir2")
62+
$script:dscDefaultv1Settings | ConvertTo-Json -Depth 90 | Set-Content -Force -Path $script:dscSettingsFilePath
5863
dsc -l debug resource list 2> $TestDrive/tracing.txt
59-
copy-Item -Recurse -Force -Path $TestDrive/tracing.txt -Destination "C:\Temp\"
6064
$expectedString = 'Using Resource Path: "TestDir1'+[System.IO.Path]::PathSeparator+'TestDir2'
6165
"$TestDrive/tracing.txt" | Should -FileContentMatchExactly $expectedString
6266
}
@@ -68,17 +72,17 @@ Describe 'tests for dsc settings' {
6872
return
6973
}
7074

71-
$v = $script:dscDefaultv1SettingsJson.Replace('"level": "WARN"', '"level": "TRACE"')
72-
$v = $v.Replace('"directories": []', '"directories": ["PolicyDir"]')
73-
$v | Set-Content -Force -Path $script:policyFilePath
75+
$script:dscDefaultv1Settings."tracing"."level" = "TRACE"
76+
$script:dscDefaultv1Settings."resourcePath"."directories" = @("PolicyDir")
77+
$script:dscDefaultv1Settings | ConvertTo-Json -Depth 90 | Set-Content -Force -Path $script:policyFilePath
7478

75-
$v = $script:dscDefaultv1SettingsJson.Replace('"level": "WARN"', '"level": "TRACE"')
76-
$v = $v.Replace('"directories": []', '"directories": ["SettingsDir"]')
77-
$v | Set-Content -Force -Path $script:dscSettingsFilePath
79+
$script:dscDefaultv1Settings."tracing"."level" = "TRACE"
80+
$script:dscDefaultv1Settings."resourcePath"."directories" = @("SettingsDir")
81+
$script:dscDefaultv1Settings | ConvertTo-Json -Depth 90 | Set-Content -Force -Path $script:dscSettingsFilePath
7882

79-
$v = $script:dscDefaultv1SettingsJson.Replace('"level": "WARN"', '"level": "TRACE"')
80-
$v = $v.Replace('"directories": []', '"directories": ["Defaultv1SettingsDir"]')
81-
$v | Set-Content -Force -Path $script:dscDefaultv1SettingsFilePath
83+
$script:dscDefaultSettings."1"."tracing"."level" = "TRACE"
84+
$script:dscDefaultSettings."1"."resourcePath"."directories" = @("Defaultv1SettingsDir")
85+
$script:dscDefaultSettings | ConvertTo-Json -Depth 90 | Set-Content -Force -Path $script:dscDefaultSettingsFilePath
8286

8387
# ensure policy overrides everything
8488
dsc -l debug resource list 2> $TestDrive/tracing.txt

0 commit comments

Comments
 (0)