Skip to content

Commit 3d681b7

Browse files
committed
Add additional tests
1 parent 0b317f0 commit 3d681b7

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed

dsc/tests/dsc_expressions.tests.ps1

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,14 +126,18 @@ resources:
126126
@{ expression = "[lessOrEquals(5, 5)]"; expected = $true }
127127
@{ expression = "[greater('b', 'a')]"; expected = $true }
128128
@{ expression = "[greater('a', 'b')]"; expected = $false }
129+
@{ expression = "[greater('A', 'a')]"; expected = $false }
129130
@{ expression = "[greaterOrEquals('b', 'a')]"; expected = $true }
130131
@{ expression = "[greaterOrEquals('a', 'b')]"; expected = $false }
131132
@{ expression = "[greaterOrEquals('a', 'a')]"; expected = $true }
133+
@{ expression = "[greaterOrEquals('Aa', 'aa')]"; expected = $false }
132134
@{ expression = "[less('a', 'b')]"; expected = $true }
133135
@{ expression = "[less('b', 'a')]"; expected = $false }
136+
@{ expression = "[less('A', 'a')]"; expected = $true }
134137
@{ expression = "[lessOrEquals('a', 'b')]"; expected = $true }
135138
@{ expression = "[lessOrEquals('b', 'a')]"; expected = $false }
136139
@{ expression = "[lessOrEquals('a', 'a')]"; expected = $true }
140+
@{ expression = "[lessOrEquals('aa', 'Aa')]"; expected = $false }
137141
@{ expression = "[and(true, true)]"; expected = $true }
138142
@{ expression = "[and(true, false)]"; expected = $false }
139143
@{ expression = "[or(false, true)]"; expected = $true }
@@ -160,4 +164,26 @@ resources:
160164
$LASTEXITCODE | Should -Be 0 -Because (Get-Content $TestDrive/error.log -Raw | Out-String)
161165
$out.results[0].result.actualState.output | Should -Be $expected -Because ($out | ConvertTo-Json -Depth 10| Out-String)
162166
}
167+
168+
It 'Comparison functions handle type mismatches: <expression>' -TestCases @(
169+
@{ expression = "[greater('a', 1)]" }
170+
@{ expression = "[greaterOrEquals('5', 3)]" }
171+
@{ expression = "[less(1, 'b')]" }
172+
@{ expression = "[lessOrEquals(5, 'a')]" }
173+
) {
174+
param($expression)
175+
$yaml = @"
176+
`$schema: https://aka.ms/dsc/schemas/v3/bundled/config/document.json
177+
resources:
178+
- name: echo
179+
type: Microsoft.DSC.Debug/Echo
180+
properties:
181+
output: "$expression"
182+
"@
183+
$out = dsc config get -i $yaml 2>$TestDrive/error.log
184+
$LASTEXITCODE | Should -Be 2
185+
$log = Get-Content -Path $TestDrive/error.log -Raw
186+
$log | Should -BeLike "*ERROR* Arguments must be of the same type*"
187+
188+
}
163189
}

0 commit comments

Comments
 (0)