@@ -7,56 +7,60 @@ Describe 'tests for dsc settings' {
7
7
$script :policyFilePath = if ($IsWindows ) {
8
8
Join-Path $env: ProgramData " dsc" " dsc.settings.json"
9
9
} else {
10
- " /etc/dsc/settings. dsc.json"
10
+ " /etc/dsc/dsc.settings .json"
11
11
}
12
12
13
13
$script :dscHome = (Get-Command dsc).Path | Split-Path
14
14
$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"
17
16
18
17
if ($IsWindows ) { # "Setting policy on Linux requires sudo"
19
18
$script :policyDirPath = $script :policyFilePath | Split-Path
20
19
New-Item - ItemType Directory - Path $script :policyDirPath | Out-Null
21
20
}
22
21
23
22
# 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"
26
25
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
28
27
}
29
28
30
29
AfterAll {
31
30
Remove-Item - Force - Path $script :dscSettingsFilePath_backup
32
- Remove-Item - Force - Path $script :dscDefaultv1SettingsFilePath_backup
31
+ Remove-Item - Force - Path $script :dscDefaultSettingsFilePath_backup
33
32
if ($IsWindows ) { # "Setting policy on Linux requires sudo"
34
33
Remove-Item - Recurse - Force - Path $script :policyDirPath
35
34
}
36
35
}
37
36
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
+
38
42
AfterEach {
39
43
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
41
45
if ($IsWindows ) { # "Setting policy on Linux requires sudo"
42
46
Remove-Item - Path $script :policyFilePath - ErrorAction SilentlyContinue
43
47
}
44
48
}
45
49
46
50
It ' ensure a new tracing value in settings has effect' {
47
51
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
49
54
50
55
dsc resource list 2> $TestDrive / tracing.txt
51
56
" $TestDrive /tracing.txt" | Should - FileContentMatchExactly " Trace-level is Trace"
52
57
}
53
58
54
59
It ' ensure a new resource_path value in settings has effect' {
55
60
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
58
63
dsc - l debug resource list 2> $TestDrive / tracing.txt
59
- copy-Item - Recurse - Force - Path $TestDrive / tracing.txt - Destination " C:\Temp\"
60
64
$expectedString = ' Using Resource Path: "TestDir1' + [System.IO.Path ]::PathSeparator+ ' TestDir2'
61
65
" $TestDrive /tracing.txt" | Should - FileContentMatchExactly $expectedString
62
66
}
@@ -68,17 +72,17 @@ Describe 'tests for dsc settings' {
68
72
return
69
73
}
70
74
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
74
78
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
78
82
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
82
86
83
87
# ensure policy overrides everything
84
88
dsc - l debug resource list 2> $TestDrive / tracing.txt
0 commit comments