@@ -23,42 +23,30 @@ Describe 'Discover extension tests' {
23
23
It ' Discover extensions' {
24
24
$out = dsc extension list | ConvertFrom-Json
25
25
$LASTEXITCODE | Should - Be 0
26
- if ($IsWindows ) {
27
- $out.Count | Should - Be 5 - Because ($out | Out-String )
28
- $out [0 ].type | Should - Be ' Microsoft.DSC.Extension/Bicep'
29
- $out [0 ].version | Should - Be ' 0.1.0'
30
- $out [0 ].capabilities | Should - BeExactly @ (' import' )
31
- $out [0 ].manifest | Should -Not - BeNullOrEmpty
32
- $out [1 ].type | Should - Be ' Microsoft.DSC.Extension/PowerShell'
33
- $out [1 ].version | Should - Be ' 0.1.0'
34
- $out [1 ].capabilities | Should - BeExactly @ (' import' )
35
- $out [1 ].manifest | Should -Not - BeNullOrEmpty
36
- $out [2 ].type | Should - Be ' Microsoft.DSC.Extension/WindowsPowerShell'
37
- $out [2 ].version | Should - Be ' 0.1.0'
38
- $out [2 ].capabilities | Should - BeExactly @ (' import' )
39
- $out [2 ].manifest | Should -Not - BeNullOrEmpty
40
- $out [3 ].type | Should - Be ' Microsoft.Windows.Appx/Discover'
41
- $out [3 ].version | Should - Be ' 0.1.0'
42
- $out [3 ].capabilities | Should - BeExactly @ (' discover' )
43
- $out [3 ].manifest | Should -Not - BeNullOrEmpty
44
- $out [4 ].type | Should - BeExactly ' Test/Discover'
45
- $out [4 ].version | Should - BeExactly ' 0.1.0'
46
- $out [4 ].capabilities | Should - BeExactly @ (' discover' )
47
- $out [4 ].manifest | Should -Not - BeNullOrEmpty
26
+ $expectedExtensions = if ($IsWindows ) {
27
+ @ (
28
+ @ { type = ' Microsoft.DSC.Extension/Bicep' ; version = ' 0.1.0' ; capabilities = @ (' import' ) }
29
+ @ { type = ' Microsoft.DSC.Extension/PowerShell' ; version = ' 0.1.0' ; capabilities = @ (' import' ) }
30
+ @ { type = ' Microsoft.DSC.Extension/WindowsPowerShell' ; version = ' 0.1.0' ; capabilities = @ (' import' ) }
31
+ @ { type = ' Microsoft.Windows.Appx/Discover' ; version = ' 0.1.0' ; capabilities = @ (' discover' ) }
32
+ @ { type = ' Test/Discover' ; version = ' 0.1.0' ; capabilities = @ (' discover' ) }
33
+ )
48
34
} else {
49
- $out.Count | Should - Be 3 - Because ($out | Out-String )
50
- $out [0 ].type | Should - Be ' Microsoft.DSC.Extension/Bicep'
51
- $out [0 ].version | Should - Be ' 0.1.0'
52
- $out [0 ].capabilities | Should - BeExactly @ (' import' )
53
- $out [0 ].manifest | Should -Not - BeNullOrEmpty
54
- $out [1 ].type | Should - Be ' Microsoft.DSC.Extension/PowerShell'
55
- $out [1 ].version | Should - Be ' 0.1.0'
56
- $out [1 ].capabilities | Should - BeExactly @ (' import' )
57
- $out [1 ].manifest | Should -Not - BeNullOrEmpty
58
- $out [2 ].type | Should - BeExactly ' Test/Discover'
59
- $out [2 ].version | Should - BeExactly ' 0.1.0'
60
- $out [2 ].capabilities | Should - BeExactly @ (' discover' )
61
- $out [2 ].manifest | Should -Not - BeNullOrEmpty
35
+ @ (
36
+ @ { type = ' Microsoft.DSC.Extension/Bicep' ; version = ' 0.1.0' ; capabilities = @ (' import' ) }
37
+ @ { type = ' Microsoft.DSC.Extension/PowerShell' ; version = ' 0.1.0' ; capabilities = @ (' import' ) }
38
+ @ { type = ' Test/Discover' ; version = ' 0.1.0' ; capabilities = @ (' discover' ) }
39
+ )
40
+ }
41
+
42
+ $out.Count | Should - Be $expectedExtensions.Count - Because ($out | Out-String )
43
+
44
+ foreach ($expected in $expectedExtensions ) {
45
+ $extension = $out | Where-Object { $_.type -eq $expected.type }
46
+ $extension | Should -Not - BeNullOrEmpty - Because " Extension $ ( $expected.type ) should exist"
47
+ $extension.version | Should - BeExactly $expected.version
48
+ $extension.capabilities | Should - BeExactly $expected.capabilities
49
+ $extension.manifest | Should -Not - BeNullOrEmpty
62
50
}
63
51
}
64
52
0 commit comments