Skip to content

Commit 9ad2288

Browse files
authored
Add Get-Package support (#1)
1 parent d005d15 commit 9ad2288

File tree

3 files changed

+19
-9
lines changed

3 files changed

+19
-9
lines changed

src/code/MsuProvider.cs

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,30 @@
33
// terms of the MIT license.
44

55
using System;
6+
using System.Management;
67

78
namespace AnyPackage.Provider.Msu
89
{
910
[PackageProvider("Msu")]
10-
public sealed class MsuProvider : PackageProvider
11+
public sealed class MsuProvider : PackageProvider, IGetPackage
1112
{
1213
private readonly static Guid s_id = new Guid("314633fe-c7e9-4eeb-824b-382a8a4e92b8");
1314

1415
public MsuProvider() : base(s_id) { }
16+
17+
public void GetPackage(PackageRequest request)
18+
{
19+
var quickFix = new ManagementObjectSearcher(@"root\cimv2", "select * from Win32_QuickFixEngineering");
20+
21+
foreach (var hotFix in quickFix.Get())
22+
{
23+
if (request.IsMatch((string)hotFix["HotFixID"]))
24+
{
25+
request.WritePackage((string)hotFix["HotFixID"],
26+
new PackageVersion("0"),
27+
(string)hotFix["Description"]);
28+
}
29+
}
30+
}
1531
}
1632
}

src/code/MsuProvider.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
<ItemGroup>
1111
<PackageReference Include="AnyPackage" Version="0.4.2" />
1212
<PackageReference Include="PowerShellStandard.Library" Version="5.1.1" />
13+
<PackageReference Include="System.Management" Version="7.0.0" />
1314
</ItemGroup>
1415

1516
</Project>

test/Get-Package.Tests.ps1

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,9 @@
22

33
Describe Get-Package {
44
Context 'with no parameters' {
5-
It 'should return results' -Skip {
5+
It 'should return results' {
66
Get-Package |
77
Should -Not -BeNullOrEmpty
88
}
99
}
10-
11-
Context 'with -Name parameter' {
12-
It 'should return <_> package' -ForEach '' -Skip {
13-
Get-Package -Name $_ |
14-
Should -Not -BeNullOrEmpty
15-
}
16-
}
1710
}

0 commit comments

Comments
 (0)