Skip to content

Commit 1d9adde

Browse files
committed
Tests
1 parent b365e7a commit 1d9adde

1 file changed

Lines changed: 97 additions & 0 deletions

File tree

src/PowerShell/tests/Microsoft.WinGet.Configuration.Tests.ps1

Lines changed: 97 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -210,6 +210,15 @@ BeforeAll {
210210

211211
CleanupPsModulePath
212212
}
213+
214+
function EnsureDSCv3TestResourcePresence()
215+
{
216+
$resourcePath = Join-Path $env:LOCALAPPDATA "Microsoft\WindowsApps\test-file.dsc.resource.json"
217+
if (-not (Test-Path $resourcePath))
218+
{
219+
wingetdev dscv3 test-file --manifest -o $resourcePath
220+
}
221+
}
213222
}
214223

215224
Describe 'Test-GroupPolicies' {
@@ -283,6 +292,17 @@ Describe 'Get configuration' {
283292
$set | Should -Not -BeNullOrEmpty
284293
}
285294

295+
It 'Get configuration and details DSCv3' {
296+
EnsureDSCv3TestResourcePresence
297+
298+
$testFile = GetConfigTestDataFile "ShowDetails_DSCv3.yml"
299+
$set = Get-WinGetConfiguration -File $testFile
300+
$set | Should -Not -BeNullOrEmpty
301+
302+
$set = Get-WinGetConfigurationDetails -Set $set
303+
$set | Should -Not -BeNullOrEmpty
304+
}
305+
286306
It 'Get details piped' {
287307
EnsureModuleState $e2eTestModule $false
288308

@@ -441,6 +461,25 @@ Describe 'Invoke-WinGetConfiguration' {
441461
Test-Path $expectedModule | Should -Be $true
442462
}
443463

464+
It 'From DSCv3' {
465+
EnsureDSCv3TestResourcePresence
466+
467+
$testFile = GetConfigTestDataFile "ShowDetails_DSCv3.yml"
468+
$set = Get-WinGetConfiguration -File $testFile
469+
$set | Should -Not -BeNullOrEmpty
470+
471+
$result = Invoke-WinGetConfiguration -AcceptConfigurationAgreements -Set $set
472+
$result | Should -Not -BeNullOrEmpty
473+
$result.ResultCode | Should -Be 0
474+
$result.UnitResults.Count | Should -Be 1
475+
$result.UnitResults[0].State | Should -Be "Completed"
476+
$result.UnitResults[0].ResultCode | Should -Be 0
477+
478+
$expectedFile = Join-Path $(GetConfigTestDataPath) "ShowDetails_DSCv3.txt"
479+
Test-Path $expectedFile | Should -Be $true
480+
Get-Content $expectedFile -Raw | Should -Be "Contents!"
481+
}
482+
444483
It 'Piped' {
445484
$testFile = GetConfigTestDataFile "Configure_TestRepo.yml"
446485
$result = Get-WinGetConfiguration -File $testFile | Invoke-WinGetConfiguration -AcceptConfigurationAgreements
@@ -629,6 +668,31 @@ Describe 'Start|Complete-WinGetConfiguration' {
629668
Test-Path $expectedModule | Should -Be $true
630669
}
631670

671+
It 'From DSCv3' {
672+
EnsureDSCv3TestResourcePresence
673+
674+
$testFile = GetConfigTestDataFile "ShowDetails_DSCv3.yml"
675+
$set = Get-WinGetConfiguration -File $testFile
676+
$set | Should -Not -BeNullOrEmpty
677+
678+
$job = Start-WinGetConfiguration -AcceptConfigurationAgreements -Set $set
679+
$job | Should -Not -BeNullOrEmpty
680+
681+
$result = Complete-WinGetConfiguration -ConfigurationJob $job
682+
$result | Should -Not -BeNullOrEmpty
683+
$result.ResultCode | Should -Be 0
684+
$result.UnitResults.Count | Should -Be 1
685+
$result.UnitResults[0].State | Should -Be "Completed"
686+
$result.UnitResults[0].ResultCode | Should -Be 0
687+
688+
$expectedFile = Join-Path $(GetConfigTestDataPath) "ShowDetails_DSCv3.txt"
689+
Test-Path $expectedFile | Should -Be $true
690+
Get-Content $expectedFile -Raw | Should -Be "Contents!"
691+
692+
# Verify can't be used after.
693+
{ Start-WinGetConfiguration -AcceptConfigurationAgreements -Set $set } | Should -Throw "Operation is not valid due to the current state of the object."
694+
}
695+
632696
It 'Piped' {
633697
DeleteConfigTxtFiles
634698
$testFile = GetConfigTestDataFile "Configure_TestRepo.yml"
@@ -765,6 +829,39 @@ Describe 'Test-WinGetConfiguration' {
765829
$result.UnitResults[0].ResultCode | Should -Be 0
766830
}
767831

832+
It 'Negative DSCv3' {
833+
EnsureDSCv3TestResourcePresence
834+
835+
$testFile = GetConfigTestDataFile "ShowDetails_DSCv3.yml"
836+
$set = Get-WinGetConfiguration -File $testFile
837+
$set | Should -Not -BeNullOrEmpty
838+
839+
$result = Test-WinGetConfiguration -AcceptConfigurationAgreements -Set $set
840+
$result | Should -Not -BeNullOrEmpty
841+
$result.TestResult | Should -Be "Negative"
842+
$result.UnitResults.Count | Should -Be 1
843+
$result.UnitResults[0].TestResult | Should -Be "Negative"
844+
$result.UnitResults[0].ResultCode | Should -Be 0
845+
}
846+
847+
It 'Positive DSCv3' {
848+
EnsureDSCv3TestResourcePresence
849+
850+
$testFile = GetConfigTestDataFile "ShowDetails_DSCv3.yml"
851+
$set = Get-WinGetConfiguration -File $testFile
852+
$set | Should -Not -BeNullOrEmpty
853+
854+
$expectedFile = Join-Path $(GetConfigTestDataPath) "ShowDetails_DSCv3.txt"
855+
Set-Content -Path $expectedFile -Value "Contents!" -NoNewline
856+
857+
$result = Test-WinGetConfiguration -AcceptConfigurationAgreements -Set $set
858+
$result | Should -Not -BeNullOrEmpty
859+
$result.TestResult | Should -Be "Positive"
860+
$result.UnitResults.Count | Should -Be 1
861+
$result.UnitResults[0].TestResult | Should -Be "Positive"
862+
$result.UnitResults[0].ResultCode | Should -Be 0
863+
}
864+
768865
It 'Piped' {
769866
$testFile = GetConfigTestDataFile "Configure_TestRepo.yml"
770867
$result = Get-WinGetConfiguration -File $testFile | Test-WinGetConfiguration -AcceptConfigurationAgreements

0 commit comments

Comments
 (0)