Skip to content

Commit 68f2114

Browse files
committed
Fix tests
1 parent 18be261 commit 68f2114

File tree

4 files changed

+21
-29
lines changed

4 files changed

+21
-29
lines changed

src/Tests/Microsoft.NET.Sdk.WorkloadManifestReader.Tests/SdkDirectoryWorkloadManifestProviderTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -480,7 +480,7 @@ public void ItThrowsExceptionIfWorkloadSetJsonFilesHaveDuplicateManifests()
480480
}
481481
""");
482482

483-
Assert.Throws<ArgumentException>(() =>
483+
Assert.Throws<InvalidOperationException>(() =>
484484
new SdkDirectoryWorkloadManifestProvider(sdkRootPath: _fakeDotnetRootDirectory, sdkVersion: "8.0.200", userProfileDir: null, globalJsonPath: null));
485485
}
486486

src/Tests/dotnet-workload-install.Tests/MockPackWorkloadInstaller.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ internal class MockPackWorkloadInstaller : IInstaller
2020
new List<(ManifestVersionUpdate manifestUpdate, DirectoryPath?)>();
2121
public string CachePath;
2222
public bool GarbageCollectionCalled = false;
23+
public bool InstallWorkloadSetCalled = false;
2324
public MockInstallationRecordRepository InstallationRecordRepository;
2425
public bool FailingRollback;
2526
public bool FailingGarbageCollection;
@@ -107,6 +108,7 @@ public void InstallWorkloads(IEnumerable<WorkloadId> workloadIds, SdkFeatureBand
107108

108109
public WorkloadSet InstallWorkloadSet(ITransactionContext context, string workloadSetVersion, DirectoryPath? offlineCache = null)
109110
{
111+
InstallWorkloadSetCalled = true;
110112
var workloadSet = WorkloadSet.FromJson(workloadSetContents, new SdkFeatureBand("6.0.100"));
111113
workloadSet.Version = workloadSetVersion;
112114
return workloadSet;

src/Tests/dotnet-workload-install.Tests/MockWorkloadManifestUpdater.cs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,13 @@ internal class MockWorkloadManifestUpdater : IWorkloadManifestUpdater
1414
public int GetManifestPackageDownloadsCallCount = 0;
1515
private readonly IEnumerable<ManifestUpdateWithWorkloads> _manifestUpdates;
1616
private bool _fromWorkloadSet;
17+
private string _workloadSetVersion;
1718

18-
public MockWorkloadManifestUpdater(IEnumerable<ManifestUpdateWithWorkloads> manifestUpdates = null, bool fromWorkloadSet = false)
19+
public MockWorkloadManifestUpdater(IEnumerable<ManifestUpdateWithWorkloads> manifestUpdates = null, bool fromWorkloadSet = false, string workloadSetVersion = null)
1920
{
2021
_manifestUpdates = manifestUpdates ?? new List<ManifestUpdateWithWorkloads>();
2122
_fromWorkloadSet = fromWorkloadSet;
23+
_workloadSetVersion = workloadSetVersion;
2224
}
2325

2426
public Task UpdateAdvertisingManifestsAsync(bool includePreview, bool useWorkloadSets = false, DirectoryPath? cachePath = null)
@@ -58,7 +60,7 @@ public void DeleteUpdatableWorkloadsFile() { }
5860

5961
public IEnumerable<ManifestVersionUpdate> CalculateManifestUpdatesForWorkloadSet(WorkloadSet workloadSet) => _manifestUpdates.Select(t => t.ManifestUpdate);
6062

61-
public string GetAdvertisedWorkloadSetVersion() => throw new NotImplementedException();
63+
public string GetAdvertisedWorkloadSetVersion() => _workloadSetVersion;
6264

6365
}
6466
}

src/Tests/dotnet-workload-update.Tests/GivenDotnetWorkloadUpdate.cs

Lines changed: 14 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -196,7 +196,12 @@ public void GivenWorkloadUpdateItUpdatesOutOfDatePacks()
196196
[InlineData(false)]
197197
public void UpdateViaWorkloadSet(bool upgrade)
198198
{
199-
var versionNumber = "8.0.0";
199+
var testDir = _testAssetsManager.CreateTestDirectory(identifier: upgrade.ToString());
200+
string dotnetDir = Path.Combine(testDir.Path, "dotnet");
201+
string userProfileDir = Path.Combine(testDir.Path, "userProfileDir");
202+
203+
var sdkVersion = "8.0.300";
204+
var workloadSetVersion = "8.0.302";
200205
var workloadSetContents = @"
201206
{
202207
""android"": ""2.3.4/8.0.200""
@@ -205,7 +210,7 @@ public void UpdateViaWorkloadSet(bool upgrade)
205210
var nugetPackageDownloader = new MockNuGetPackageDownloader();
206211
var workloadResolver = new MockWorkloadResolver(new WorkloadInfo[] { new WorkloadInfo(new WorkloadId("android"), string.Empty) });
207212
var workloadInstaller = new MockPackWorkloadInstaller(
208-
Path.Combine(Path.GetTempPath(), "dotnetTestPat", "userProfileDir"),
213+
dotnetDir,
209214
installedWorkloads: new List<WorkloadId>() { new WorkloadId("android")},
210215
workloadSetContents: workloadSetContents)
211216
{
@@ -216,34 +221,17 @@ public void UpdateViaWorkloadSet(bool upgrade)
216221
manifestUpdates: new ManifestUpdateWithWorkloads[] {
217222
new ManifestUpdateWithWorkloads(new ManifestVersionUpdate(new ManifestId("android"), new ManifestVersion(oldVersion), "8.0.200", new ManifestVersion("2.3.4"), "8.0.200"), Enumerable.Empty<KeyValuePair<WorkloadId, WorkloadDefinition>>().ToDictionary())
218223
},
219-
fromWorkloadSet: true);
220-
var resolverFactory = new MockWorkloadResolverFactory(Path.Combine(Path.GetTempPath(), "dotnetTestPath"), versionNumber, workloadResolver, "userProfileDir");
224+
fromWorkloadSet: true, workloadSetVersion: workloadSetVersion);
225+
var resolverFactory = new MockWorkloadResolverFactory(dotnetDir, sdkVersion, workloadResolver, userProfileDir);
221226
var updateCommand = new WorkloadUpdateCommand(Parser.Instance.Parse("dotnet workload update"), Reporter.Output, resolverFactory, workloadInstaller, nugetPackageDownloader, workloadManifestUpdater);
222227

223-
var installStatePath = Path.Combine(Path.GetTempPath(), "dotnetTestPath", "metadata", "workloads", versionNumber, "InstallState", "default.json");
228+
var installStatePath = Path.Combine(dotnetDir, "metadata", "workloads", sdkVersion, "InstallState", "default.json");
224229
var contents = new InstallStateContents();
225230
contents.UseWorkloadSets = true;
226-
var versionFile = Path.Combine("userProfileDir", "sdk-advertising", "8.0.0", "microsoft.net.workloads", Constants.workloadSetVersionFileName);
227-
try
228-
{
229-
Directory.CreateDirectory(Path.GetDirectoryName(installStatePath));
230-
File.WriteAllText(installStatePath, contents.ToString());
231-
updateCommand.Execute();
232-
File.Exists(versionFile).Should().BeTrue();
233-
File.ReadAllText(versionFile).Should().Be("8.0.0");
234-
}
235-
finally
236-
{
237-
if (File.Exists(versionFile))
238-
{
239-
File.Delete(versionFile);
240-
}
241-
242-
if (File.Exists(installStatePath))
243-
{
244-
File.Delete(installStatePath);
245-
}
246-
}
231+
232+
Directory.CreateDirectory(Path.GetDirectoryName(installStatePath));
233+
File.WriteAllText(installStatePath, contents.ToString());
234+
updateCommand.Execute();
247235

248236
workloadInstaller.InstalledManifests.Count.Should().Be(1);
249237
workloadInstaller.InstalledManifests[0].manifestUpdate.NewVersion.ToString().Should().Be("2.3.4");

0 commit comments

Comments
 (0)