Skip to content

Commit

Permalink
Replace all instances of GetWorkloadInstance with Instance
Browse files Browse the repository at this point in the history
  • Loading branch information
William Li committed Jul 14, 2021
1 parent efd9c34 commit 9c80ba9
Show file tree
Hide file tree
Showing 8 changed files with 45 additions and 55 deletions.
10 changes: 0 additions & 10 deletions src/Cli/dotnet/Parser.cs
Original file line number Diff line number Diff line change
Expand Up @@ -111,16 +111,6 @@ private static CommandLineBuilder DisablePosixBinding(this CommandLineBuilder bu
.DisablePosixBinding()
.Build();

public static System.CommandLine.Parsing.Parser GetWorkloadsInstance { get; } = new CommandLineBuilder(ConfigureCommandLine(new RootCommand()))
.UseExceptionHandler(ExceptionHandler)
.UseHelp()
.UseHelpBuilder(context => new DotnetHelpBuilder(context.Console))
.UseResources(new CommandLineValidationMessages())
.UseParseDirective()
.UseSuggestDirective()
.DisablePosixBinding()
.Build();

private static void ExceptionHandler(Exception exception, InvocationContext context)
{
if (exception is TargetInvocationException)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ public void GivenWorkloadInstallItErrorsOnFakeWorkloadName()
public void GivenWorkloadInstallItCanInstallPacks()
{
var mockWorkloadIds = new WorkloadId[] { new WorkloadId("xamarin-android") };
var parseResult = Parser.GetWorkloadsInstance.Parse(new string[] { "dotnet", "workload", "install", "xamarin-android", "--skip-manifest-update" });
var parseResult = Parser.Instance.Parse(new string[] { "dotnet", "workload", "install", "xamarin-android", "--skip-manifest-update" });
(_, var installManager, var installer, _, _, _) = GetTestInstallers(parseResult);

installManager.InstallWorkloads(mockWorkloadIds, true);
Expand All @@ -69,7 +69,7 @@ public void GivenWorkloadInstallItCanInstallPacks()
public void GivenWorkloadInstallItCanRollBackPackInstallation()
{
var mockWorkloadIds = new WorkloadId[] { new WorkloadId("xamarin-android"), new WorkloadId("xamarin-android-build") };
var parseResult = Parser.GetWorkloadsInstance.Parse(new string[] { "dotnet", "workload", "install", "xamarin-android", "xamarin-android-build", "--skip-manifest-update" });
var parseResult = Parser.Instance.Parse(new string[] { "dotnet", "workload", "install", "xamarin-android", "xamarin-android-build", "--skip-manifest-update" });
(_, var installManager, var installer, var workloadResolver, _, _) = GetTestInstallers(parseResult, failingWorkload: "xamarin-android-build");

var exceptionThrown = Assert.Throws<Exception>(() => installManager.InstallWorkloads(mockWorkloadIds, true));
Expand All @@ -91,19 +91,19 @@ public void GivenWorkloadInstallOnFailingRollbackItDisplaysTopLevelError()
var dotnetRoot = Path.Combine(testDirectory, "dotnet");
var installer = new MockPackWorkloadInstaller(failingWorkload: "xamarin-android-build", failingRollback: true);
var workloadResolver = WorkloadResolver.CreateForTests(new MockManifestProvider(new[] { _manifestPath }), new string[] { dotnetRoot });
var parseResult = Parser.GetWorkloadsInstance.Parse(new string[] { "dotnet", "workload", "install", "xamarin-android", "xamarin-android-build", "--skip-manifest-update" });
var parseResult = Parser.Instance.Parse(new string[] { "dotnet", "workload", "install", "xamarin-android", "xamarin-android-build", "--skip-manifest-update" });
var installManager = new WorkloadInstallCommand(parseResult, reporter: _reporter, workloadResolver: workloadResolver, workloadInstaller: installer, version: "6.0.100");

var exceptionThrown = Assert.Throws<Exception>(() => installManager.InstallWorkloads(mockWorkloadIds, true));
exceptionThrown.Message.Should().Be("Failing workload: xamarin-android-build");
string.Join(" ", _reporter.Lines).Should().Contain("Rollback failure");

}

[Fact]
public void GivenWorkloadInstallItCanUpdateAdvertisingManifests()
{
var parseResult = Parser.GetWorkloadsInstance.Parse(new string[] { "dotnet", "workload", "install", "xamarin-android" });
var parseResult = Parser.Instance.Parse(new string[] { "dotnet", "workload", "install", "xamarin-android" });
(_, var installManager, var installer, _, var manifestUpdater, _) = GetTestInstallers(parseResult);

installManager.InstallWorkloads(new List<WorkloadId>(), false); // Don't actually do any installs, just update manifests
Expand All @@ -117,7 +117,7 @@ public void GivenWorkloadInstallItCanUpdateAdvertisingManifests()
public void GivenWorkloadInstallItCanUpdateInstalledManifests()
{
var parseResult =
Parser.GetWorkloadsInstance.Parse(new string[] {"dotnet", "workload", "install", "xamarin-android"});
Parser.Instance.Parse(new string[] {"dotnet", "workload", "install", "xamarin-android"});
var manifestsToUpdate =
new (ManifestId, ManifestVersion, ManifestVersion, Dictionary<WorkloadId, WorkloadDefinition>
Workloads)[]
Expand Down Expand Up @@ -148,7 +148,7 @@ public void GivenWorkloadInstallFromCacheItInstallsCachedManifest()
};
var cachePath = Path.Combine(_testAssetsManager.CreateTestDirectory(identifier: "mockCache").Path,
"mockCachePath");
var parseResult = Parser.GetWorkloadsInstance.Parse(new string[]
var parseResult = Parser.Instance.Parse(new string[]
{
"dotnet", "workload", "install", "xamarin-android", "--from-cache", cachePath
});
Expand All @@ -167,7 +167,7 @@ public void GivenWorkloadInstallFromCacheItInstallsCachedManifest()
public void GivenWorkloadInstallItCanDownloadToOfflineCache()
{
var cachePath = Path.Combine(_testAssetsManager.CreateTestDirectory(identifier: "mockCache").Path, "mockCachePath");
var parseResult = Parser.GetWorkloadsInstance.Parse(new string[] { "dotnet", "workload", "install", "xamarin-android", "--download-to-cache", cachePath });
var parseResult = Parser.Instance.Parse(new string[] { "dotnet", "workload", "install", "xamarin-android", "--download-to-cache", cachePath });
(_, var installManager, var installer, _, var manifestUpdater, _) = GetTestInstallers(parseResult, tempDirManifestPath: _manifestPath);

installManager.Execute();
Expand All @@ -185,7 +185,7 @@ public void GivenWorkloadInstallItCanInstallFromOfflineCache()
{
var mockWorkloadIds = new WorkloadId[] { new WorkloadId("xamarin-android") };
var cachePath = "mockCachePath";
var parseResult = Parser.GetWorkloadsInstance.Parse(new string[] { "dotnet", "workload", "install", "xamarin-android", "--from-cache", cachePath });
var parseResult = Parser.Instance.Parse(new string[] { "dotnet", "workload", "install", "xamarin-android", "--from-cache", cachePath });
(_, var installManager, var installer, _, _, var nugetDownloader) = GetTestInstallers(parseResult);

installManager.Execute();
Expand All @@ -197,11 +197,11 @@ public void GivenWorkloadInstallItCanInstallFromOfflineCache()
installer.InstalledPacks.Where(pack => pack.Id.Contains("Android")).Count().Should().Be(8);
nugetDownloader.DownloadCallParams.Count().Should().Be(0);
}

[Fact]
public void GivenWorkloadInstallItPrintsDownloadUrls()
{
var parseResult = Parser.GetWorkloadsInstance.Parse(new string[] { "dotnet", "workload", "install", "xamarin-android", "--print-download-link-only" });
var parseResult = Parser.Instance.Parse(new string[] { "dotnet", "workload", "install", "xamarin-android", "--print-download-link-only" });
(_, var installManager, _, _, _, _) = GetTestInstallers(parseResult, tempDirManifestPath: _manifestPath);

installManager.Execute();
Expand All @@ -222,7 +222,7 @@ public void GivenWorkloadInstallItErrorsOnUnsupportedPlatform()
var workloadResolver = WorkloadResolver.CreateForTests(new MockManifestProvider(new[] { manifestPath }), new string[] { dotnetRoot });
var nugetDownloader = new MockNuGetPackageDownloader(dotnetRoot);
var manifestUpdater = new MockWorkloadManifestUpdater();
var parseResult = Parser.GetWorkloadsInstance.Parse(new string[] { "dotnet", "workload", "install", mockWorkloadId });
var parseResult = Parser.Instance.Parse(new string[] { "dotnet", "workload", "install", mockWorkloadId });

var exceptionThrown = Assert.Throws<GracefulException>(() => new WorkloadInstallCommand(parseResult, reporter: _reporter, workloadResolver: workloadResolver, workloadInstaller: installer,
nugetPackageDownloader: nugetDownloader, workloadManifestUpdater: manifestUpdater, userHome: testDirectory, dotnetDir: dotnetRoot, version: "6.0.100"));
Expand All @@ -243,13 +243,13 @@ public void GivenWorkloadInstallItDoesNotRemoveOldInstallsOnRollback()
var installingWorkload = "mock-2";

// Successfully install a workload
var installParseResult = Parser.GetWorkloadsInstance.Parse(new string[] { "dotnet", "workload", "install", existingWorkload });
var installParseResult = Parser.Instance.Parse(new string[] { "dotnet", "workload", "install", existingWorkload });
var installCommand = new WorkloadInstallCommand(installParseResult, reporter: _reporter, workloadResolver: workloadResolver, nugetPackageDownloader: new MockNuGetPackageDownloader(dotnetRoot),
workloadManifestUpdater: manifestUpdater, userHome: testDirectory, version: sdkFeatureVersion, dotnetDir: dotnetRoot, tempDirPath: testDirectory);
installCommand.Execute();

// Install a workload with a mocked nuget failure
installParseResult = Parser.GetWorkloadsInstance.Parse(new string[] { "dotnet", "workload", "install", installingWorkload });
installParseResult = Parser.Instance.Parse(new string[] { "dotnet", "workload", "install", installingWorkload });
installCommand = new WorkloadInstallCommand(installParseResult, reporter: _reporter, workloadResolver: workloadResolver, nugetPackageDownloader: nugetDownloader,
workloadManifestUpdater: manifestUpdater, userHome: testDirectory, version: sdkFeatureVersion, dotnetDir: dotnetRoot, tempDirPath: testDirectory);
var exceptionThrown = Assert.Throws<GracefulException>(() => installCommand.Execute());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@ public class GivenDotnetWorkloadList : SdkTest
public GivenDotnetWorkloadList(ITestOutputHelper log) : base(log)
{
_reporter = new BufferedReporter();
_machineReadableParseResult = Parser.GetWorkloadsInstance.Parse("dotnet workload list --machine-readable");
_parseResult = Parser.GetWorkloadsInstance.Parse("dotnet workload list");
_machineReadableParseResult = Parser.Instance.Parse("dotnet workload list --machine-readable");
_parseResult = Parser.Instance.Parse("dotnet workload list");
}

[Fact]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ private void Setup(string identifier)
})
};

ParseResult listParseResult = Parser.GetWorkloadsInstance.Parse(new[]
ParseResult listParseResult = Parser.Instance.Parse(new[]
{
"dotnet", "workload", "list", "--machine-readable", WorkloadInstallCommandParser.VersionOption.Aliases.First(), "7.0.100"
});
Expand Down Expand Up @@ -128,7 +128,7 @@ public void ItShouldGetListOfWorkloadWithCurrentSdkVersionBand()
public void GivenLowerTargetVersionItShouldThrow()
{
_workloadListCommand = new WorkloadListCommand(
Parser.GetWorkloadsInstance.Parse(new[]
Parser.Instance.Parse(new[]
{
"dotnet", "workload", "list", "--machine-readable", WorkloadInstallCommandParser.VersionOption.Aliases.First(), "5.0.306"
}),
Expand All @@ -148,7 +148,7 @@ public void GivenLowerTargetVersionItShouldThrow()
public void GivenSameLowerTargetVersionBandItShouldNotThrow()
{
_workloadListCommand = new WorkloadListCommand(
Parser.GetWorkloadsInstance.Parse(new[]
Parser.Instance.Parse(new[]
{
"dotnet", "workload", "list", "--machine-readable", WorkloadInstallCommandParser.VersionOption.Aliases.First(), "6.0.100"
}),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ public class GivenDotnetWorkloadRepair : SdkTest
public GivenDotnetWorkloadRepair(ITestOutputHelper log) : base(log)
{
_reporter = new BufferedReporter();
_parseResult = Parser.GetWorkloadsInstance.Parse("dotnet workload repair");
_parseResult = Parser.Instance.Parse("dotnet workload repair");
_manifestPath = Path.Combine(_testAssetsManager.GetAndValidateTestProjectDirectory("SampleManifest"), "Sample.json");
}

Expand Down Expand Up @@ -61,7 +61,7 @@ public void GivenExtraPacksInstalledRepairGarbageCollects()
var installingWorkload = "xamarin-android";

// Install a workload
var installParseResult = Parser.GetWorkloadsInstance.Parse(new string[] { "dotnet", "workload", "install", installingWorkload });
var installParseResult = Parser.Instance.Parse(new string[] { "dotnet", "workload", "install", installingWorkload });
var installCommand = new WorkloadInstallCommand(installParseResult, reporter: _reporter, workloadResolver: workloadResolver, nugetPackageDownloader: nugetDownloader,
workloadManifestUpdater: manifestUpdater, userHome: testDirectory, version: sdkFeatureVersion, dotnetDir: dotnetRoot, tempDirPath: testDirectory);
installCommand.Execute();
Expand Down Expand Up @@ -99,7 +99,7 @@ public void GivenMissingPacksRepairFixesInstall()
var installingWorkload = "xamarin-android";

// Install a workload
var installParseResult = Parser.GetWorkloadsInstance.Parse(new string[] { "dotnet", "workload", "install", installingWorkload });
var installParseResult = Parser.Instance.Parse(new string[] { "dotnet", "workload", "install", installingWorkload });
var installCommand = new WorkloadInstallCommand(installParseResult, reporter: _reporter, workloadResolver: workloadResolver, nugetPackageDownloader: nugetDownloader,
workloadManifestUpdater: manifestUpdater, userHome: testDirectory, version: sdkFeatureVersion, dotnetDir: dotnetRoot, tempDirPath: testDirectory);
installCommand.Execute();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,15 +21,15 @@ public class GivenDotnetWorkloadSearch : SdkTest
private readonly IEnumerable<WorkloadDefinition> _avaliableWorkloads =
new List<WorkloadDefinition>()
{
new WorkloadDefinition(new WorkloadId("mock-workload-1"), false, null, WorkloadDefinitionKind.Dev, new List<WorkloadId>(),
new WorkloadDefinition(new WorkloadId("mock-workload-1"), false, null, WorkloadDefinitionKind.Dev, new List<WorkloadId>(),
new List<WorkloadPackId>(), new List<string>()),
new WorkloadDefinition(new WorkloadId("mock-workload-2"), false, string.Empty, WorkloadDefinitionKind.Build, null,
new WorkloadDefinition(new WorkloadId("mock-workload-2"), false, string.Empty, WorkloadDefinitionKind.Build, null,
new List<WorkloadPackId>(), new List<string>() { "platform1", "platform2" }),
new WorkloadDefinition(new WorkloadId("mock-workload-3"), true, "Fake description 1", WorkloadDefinitionKind.Dev,
new WorkloadDefinition(new WorkloadId("mock-workload-3"), true, "Fake description 1", WorkloadDefinitionKind.Dev,
new List<WorkloadId>() { new WorkloadId("mock-workload-2") }, new List<WorkloadPackId>(), new List<string>()),
new WorkloadDefinition(new WorkloadId("fake-workload-1"), true, null, WorkloadDefinitionKind.Build,
new WorkloadDefinition(new WorkloadId("fake-workload-1"), true, null, WorkloadDefinitionKind.Build,
new List<WorkloadId>(), new List<WorkloadPackId>(), null),
new WorkloadDefinition(new WorkloadId("fake-workload-2"), false, "Fake description 2", WorkloadDefinitionKind.Dev, null,
new WorkloadDefinition(new WorkloadId("fake-workload-2"), false, "Fake description 2", WorkloadDefinitionKind.Dev, null,
new List<WorkloadPackId>(), new List<string>())
};

Expand All @@ -42,7 +42,7 @@ public GivenDotnetWorkloadSearch(ITestOutputHelper log) : base(log)
public void GivenNoWorkloadsAreInstalledSearchIsEmpty()
{
_reporter.Clear();
var parseResult = Parser.GetWorkloadsInstance.Parse("dotnet workload search");
var parseResult = Parser.Instance.Parse("dotnet workload search");
var workloadResolver = new MockWorkloadResolver(new List<WorkloadDefinition>());
var command = new WorkloadSearchCommand(parseResult, _reporter, workloadResolver, "6.0.100");
command.Execute();
Expand All @@ -54,7 +54,7 @@ public void GivenNoWorkloadsAreInstalledSearchIsEmpty()
public void GivenNoStubIsProvidedSearchShowsAllWorkloads()
{
_reporter.Clear();
var parseResult = Parser.GetWorkloadsInstance.Parse("dotnet workload search");
var parseResult = Parser.Instance.Parse("dotnet workload search");
var workloadResolver = new MockWorkloadResolver(_avaliableWorkloads);
var command = new WorkloadSearchCommand(parseResult, _reporter, workloadResolver, "6.0.100");
command.Execute();
Expand All @@ -78,7 +78,7 @@ public void GivenNoStubIsProvidedSearchShowsAllWorkloads()
public void GivenDetailedVerbositySearchShowsAllColumns()
{
_reporter.Clear();
var parseResult = Parser.GetWorkloadsInstance.Parse("dotnet workload search -v d");
var parseResult = Parser.Instance.Parse("dotnet workload search -v d");
var workloadResolver = new MockWorkloadResolver(_avaliableWorkloads);
var command = new WorkloadSearchCommand(parseResult, _reporter, workloadResolver, "6.0.100");
command.Execute();
Expand All @@ -102,7 +102,7 @@ public void GivenDetailedVerbositySearchShowsAllColumns()
public void GivenStubIsProvidedSearchShowsAllMatchingWorkloads()
{
_reporter.Clear();
var parseResult = Parser.GetWorkloadsInstance.Parse("dotnet workload search mock");
var parseResult = Parser.Instance.Parse("dotnet workload search mock");
var workloadResolver = new MockWorkloadResolver(_avaliableWorkloads);
var command = new WorkloadSearchCommand(parseResult, _reporter, workloadResolver, "6.0.100");
command.Execute();
Expand Down
Loading

0 comments on commit 9c80ba9

Please sign in to comment.