Skip to content
Original file line number Diff line number Diff line change
Expand Up @@ -170,12 +170,16 @@ public override int Execute()
_environmentPathInstruction.PrintAddPathInstructionIfPathDoesNotExist();
}

_reporter.WriteLine(
string.Format(
LocalizableStrings.InstallationSucceeded,
string.Join(", ", package.Commands.Select(c => c.Name)),
package.Id,
package.Version.ToNormalizedString()).Green());
if (!_verbosity.IsQuiet())
{
_reporter.WriteLine(
string.Format(
LocalizableStrings.InstallationSucceeded,
string.Join(", ", package.Commands.Select(c => c.Name)),
package.Id,
package.Version.ToNormalizedString()).Green());
}

return 0;
}
catch (Exception ex) when (InstallToolCommandLowLevelErrorConverter.ShouldConvertToUserFacingError(ex))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -120,8 +120,10 @@ public override int Execute()
{
shellShimRepository.CreateShim(command.Executable, command.Name, newInstalledPackage.PackagedShims);
}

PrintSuccessMessage(oldPackageNullable, newInstalledPackage);
if (!_verbosity.IsQuiet())
{
PrintSuccessMessage(oldPackageNullable, newInstalledPackage);
}
});

scope.Complete();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ public ToolInstallGlobalOrToolPathCommandTests(ITestOutputHelper log): base(log)
_createToolPackageStoresAndDownloader = (location, forwardArguments) => (_toolPackageStore, _toolPackageStoreQuery, CreateToolPackageDownloader());


_parseResult = Parser.Instance.Parse($"dotnet tool install -g {PackageId}");
_parseResult = Parser.Instance.Parse($"dotnet tool install -g {PackageId} --verbosity minimal");
}

[Fact]
Expand Down Expand Up @@ -282,6 +282,29 @@ public void WhenRunWithPackageIdItShouldShowSuccessMessage()
PackageVersion).Green());
}

[Fact]
public void WhenRunWithPackageIdWithQuietItShouldShowNoSuccessMessage()
{
var parseResultQuiet = Parser.Instance.Parse($"dotnet tool install -g {PackageId} --verbosity quiet");
var toolInstallGlobalOrToolPathCommand = new ToolInstallGlobalOrToolPathCommand(
parseResultQuiet,
_createToolPackageStoresAndDownloader,
_createShellShimRepository,
new EnvironmentPathInstructionMock(_reporter, _pathToPlaceShim, true),
_reporter);

toolInstallGlobalOrToolPathCommand.Execute().Should().Be(0);

_reporter
.Lines
.Should()
.NotContain(string.Format(
LocalizableStrings.InstallationSucceeded,
ToolCommandName,
PackageId,
PackageVersion).Green());
}

[Fact]
public void WhenRunWithInvalidVersionItShouldThrow()
{
Expand All @@ -307,7 +330,7 @@ public void WhenRunWithInvalidVersionItShouldThrow()
[Fact]
public void WhenRunWithExactVersionItShouldSucceed()
{
ParseResult result = Parser.Instance.Parse($"dotnet tool install -g {PackageId} --version {PackageVersion}");
ParseResult result = Parser.Instance.Parse($"dotnet tool install -g {PackageId} --version {PackageVersion} --verbosity minimal");
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Having reverted the default, do you still need to explicitly set verbosity to minimal in all these tests?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes. Because by default verbosity is quiet (first element in the verbosity Enum), which has no output unless there is an error.


var toolInstallGlobalOrToolPathCommand = new ToolInstallGlobalOrToolPathCommand(
result,
Expand All @@ -331,7 +354,7 @@ public void WhenRunWithExactVersionItShouldSucceed()
[Fact]
public void WhenRunWithValidVersionRangeItShouldSucceed()
{
ParseResult result = Parser.Instance.Parse($"dotnet tool install -g {PackageId} --version [1.0,2.0]");
ParseResult result = Parser.Instance.Parse($"dotnet tool install -g {PackageId} --version [1.0,2.0] --verbosity minimal");

var toolInstallGlobalOrToolPathCommand = new ToolInstallGlobalOrToolPathCommand(
result,
Expand Down Expand Up @@ -387,7 +410,7 @@ public void WhenRunWithPrereleaseItShouldSucceed()
{
IToolPackageDownloader toolToolPackageDownloader = GetToolToolPackageDownloaderWithPreviewInFeed();

ParseResult result = Parser.Instance.Parse($"dotnet tool install -g {PackageId} --prerelease");
ParseResult result = Parser.Instance.Parse($"dotnet tool install -g {PackageId} --prerelease --verbosity minimal");

var toolInstallGlobalOrToolPathCommand = new ToolInstallGlobalOrToolPathCommand(
result,
Expand Down Expand Up @@ -479,7 +502,7 @@ public void WhenRunWithoutAMatchingRangeItShouldFail()
[Fact]
public void WhenRunWithValidVersionWildcardItShouldSucceed()
{
ParseResult result = Parser.Instance.Parse($"dotnet tool install -g {PackageId} --version 1.0.*");
ParseResult result = Parser.Instance.Parse($"dotnet tool install -g {PackageId} --version 1.0.* --verbosity minimal");

var toolInstallGlobalOrToolPathCommand = new ToolInstallGlobalOrToolPathCommand(
result,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ public void GivenANonExistentPackageItErrors()
[Fact]
public void GivenAPackageItUninstalls()
{
CreateInstallCommand($"-g {PackageId}").Execute().Should().Be(0);
CreateInstallCommand($"-g {PackageId} --verbosity minimal").Execute().Should().Be(0);

_reporter
.Lines
Expand Down Expand Up @@ -98,7 +98,7 @@ public void GivenAPackageItUninstalls()
[Fact]
public void GivenAPackageWhenCallFromUninstallRedirectCommandItUninstalls()
{
CreateInstallCommand($"-g {PackageId}").Execute().Should().Be(0);
CreateInstallCommand($"-g {PackageId} --verbosity minimal").Execute().Should().Be(0);

_reporter
.Lines
Expand Down Expand Up @@ -168,7 +168,7 @@ var uninstallCommand
[Fact]
public void GivenAFailureToUninstallItLeavesItInstalled()
{
CreateInstallCommand($"-g {PackageId}").Execute().Should().Be(0);
CreateInstallCommand($"-g {PackageId} --verbosity minimal").Execute().Should().Be(0);

_reporter
.Lines
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -143,7 +143,7 @@ public void GivenAnExistedLowerversionInstallationWhenCallItCanPrintSuccessMessa
CreateInstallCommand($"-g {_packageId} --version {LowerPackageVersion}").Execute();
_reporter.Lines.Clear();

var command = CreateUpdateCommand($"-g {_packageId}");
var command = CreateUpdateCommand($"-g {_packageId} --verbosity minimal");

command.Execute();

Expand All @@ -158,7 +158,7 @@ public void GivenAnExistedLowerversionInstallationWhenCallWithWildCardVersionItC
CreateInstallCommand($"-g {_packageId} --version {LowerPackageVersion}").Execute();
_reporter.Lines.Clear();

var command = CreateUpdateCommand($"-g {_packageId} --version 1.0.5-*");
var command = CreateUpdateCommand($"-g {_packageId} --version 1.0.5-* --verbosity minimal");

command.Execute();

Expand All @@ -173,7 +173,7 @@ public void GivenAnExistedLowerversionInstallationWhenCallWithPrereleaseVersionI
CreateInstallCommand($"-g {_packageId} --version {LowerPackageVersion}").Execute();
_reporter.Lines.Clear();

var command = CreateUpdateCommand($"-g {_packageId} --prerelease");
var command = CreateUpdateCommand($"-g {_packageId} --prerelease --verbosity minimal");

command.Execute();

Expand Down Expand Up @@ -208,7 +208,7 @@ public void GivenAnExistedSameVersionInstallationWhenCallItCanPrintSuccessMessag
CreateInstallCommand($"-g {_packageId} --version {HigherPackageVersion}").Execute();
_reporter.Lines.Clear();

var command = CreateUpdateCommand($"-g {_packageId}");
var command = CreateUpdateCommand($"-g {_packageId} --verbosity minimal");

command.Execute();

Expand All @@ -223,7 +223,7 @@ public void GivenAnExistedSameVersionInstallationWhenCallWithPrereleaseItUsesAPr
CreateInstallCommand($"-g {_packageId} --version {HigherPreviewPackageVersion}").Execute();
_reporter.Lines.Clear();

var command = CreateUpdateCommand($"-g {_packageId} --version {HigherPreviewPackageVersion}");
var command = CreateUpdateCommand($"-g {_packageId} --version {HigherPreviewPackageVersion} --verbosity minimal");

command.Execute();

Expand Down