public ToolInstallGlobalOrToolPathCommandTests() { _reporter = new BufferedReporter(); _fileSystem = new FileSystemMockBuilder().UseCurrentSystemTemporaryDirectory().Build(); _temporaryDirectory = _fileSystem.Directory.CreateTemporaryDirectory().DirectoryPath; _pathToPlaceShim = Path.Combine(_temporaryDirectory, "pathToPlace"); _fileSystem.Directory.CreateDirectory(_pathToPlaceShim); _pathToPlacePackages = _pathToPlaceShim + "Packages"; var toolPackageStoreMock = new ToolPackageStoreMock(new DirectoryPath(_pathToPlacePackages), _fileSystem); _toolPackageStore = toolPackageStoreMock; _toolPackageStoreQuery = toolPackageStoreMock; _createShellShimRepository = (_, nonGlobalLocation) => new ShellShimRepository( new DirectoryPath(_pathToPlaceShim), string.Empty, fileSystem: _fileSystem, appHostShellShimMaker: new AppHostShellShimMakerMock(_fileSystem), filePermissionSetter: new NoOpFilePermissionSetter()); _environmentPathInstructionMock = new EnvironmentPathInstructionMock(_reporter, _pathToPlaceShim); _createToolPackageStoreAndInstaller = (location, forwardArguments) => (_toolPackageStore, _toolPackageStoreQuery, CreateToolPackageInstaller()); _parseResult = Parser.Instance.Parse($"dotnet tool install -g {PackageId}"); }
public ToolInstallCommandTests() { _reporter = new BufferedReporter(); _fileSystem = new FileSystemMockBuilder().UseCurrentSystemTemporaryDirectory().Build(); _temporaryDirectory = _fileSystem.Directory.CreateTemporaryDirectory().DirectoryPath; _pathToPlaceShim = Path.Combine(_temporaryDirectory, "pathToPlace"); _pathToPlacePackages = _pathToPlaceShim + "Packages"; var toolPackageStoreMock = new ToolPackageStoreMock(new DirectoryPath(_pathToPlacePackages), _fileSystem); _toolPackageStore = toolPackageStoreMock; _toolPackageStoreQuery = toolPackageStoreMock; _createShellShimRepository = (nonGlobalLocation) => new ShellShimRepository( new DirectoryPath(_pathToPlaceShim), fileSystem: _fileSystem, appHostShellShimMaker: new AppHostShellShimMakerMock(_fileSystem), filePermissionSetter: new NoOpFilePermissionSetter()); _environmentPathInstructionMock = new EnvironmentPathInstructionMock(_reporter, _pathToPlaceShim); _createToolPackageStoreAndInstaller = (_) => (_toolPackageStore, _toolPackageStoreQuery, CreateToolPackageInstaller()); ParseResult result = Parser.Instance.Parse($"dotnet tool install -g {PackageId}"); _appliedCommand = result["dotnet"]["tool"]["install"]; var parser = Parser.Instance; _parseResult = parser.ParseFrom("dotnet tool", new[] { "install", "-g", PackageId }); }
public ToolInstallCommand( AppliedOption appliedCommand, ParseResult parseResult, CreateToolPackageStoreAndInstaller createToolPackageStoreAndInstaller = null, CreateShellShimRepository createShellShimRepository = null, IEnvironmentPathInstruction environmentPathInstruction = null, IReporter reporter = null) : base(parseResult) { if (appliedCommand == null) { throw new ArgumentNullException(nameof(appliedCommand)); } _packageId = new PackageId(appliedCommand.Arguments.Single()); _packageVersion = appliedCommand.ValueOrDefault <string>("version"); _configFilePath = appliedCommand.ValueOrDefault <string>("configfile"); _framework = appliedCommand.ValueOrDefault <string>("framework"); _source = appliedCommand.ValueOrDefault <string[]>("add-source"); _global = appliedCommand.ValueOrDefault <bool>("global"); _verbosity = appliedCommand.SingleArgumentOrDefault("verbosity"); _toolPath = appliedCommand.SingleArgumentOrDefault("tool-path"); _createToolPackageStoreAndInstaller = createToolPackageStoreAndInstaller ?? ToolPackageFactory.CreateToolPackageStoreAndInstaller; _environmentPathInstruction = environmentPathInstruction ?? EnvironmentPathFactory.CreateEnvironmentPathInstruction(); _createShellShimRepository = createShellShimRepository ?? ShellShimRepositoryFactory.CreateShellShimRepository; _reporter = (reporter ?? Reporter.Output); _errorReporter = (reporter ?? Reporter.Error); }
public ToolUpdateGlobalOrToolPathCommand(ParseResult parseResult, CreateToolPackageStoresAndInstallerAndUninstaller createToolPackageStoreInstallerUninstaller = null, CreateShellShimRepository createShellShimRepository = null, IReporter reporter = null) : base(parseResult) { _packageId = new PackageId(parseResult.ValueForArgument <string>(ToolUninstallCommandParser.PackageIdArgument)); _configFilePath = parseResult.ValueForOption <string>(ToolUpdateCommandParser.ConfigOption); _framework = parseResult.ValueForOption <string>(ToolUpdateCommandParser.FrameworkOption); _additionalFeeds = parseResult.ValueForOption <string[]>(ToolUpdateCommandParser.AddSourceOption); _packageVersion = parseResult.ValueForOption <string>(ToolUpdateCommandParser.VersionOption); _global = parseResult.ValueForOption <bool>(ToolUpdateCommandParser.GlobalOption); _verbosity = Enum.GetName(parseResult.ValueForOption <VerbosityOptions>(ToolUpdateCommandParser.VerbosityOption)); _toolPath = parseResult.ValueForOption <string>(ToolUpdateCommandParser.ToolPathOption); _forwardRestoreArguments = parseResult.OptionValuesToBeForwarded(ToolUpdateCommandParser.GetCommand()); _createToolPackageStoreInstallerUninstaller = createToolPackageStoreInstallerUninstaller ?? ToolPackageFactory.CreateToolPackageStoresAndInstallerAndUninstaller; _createShellShimRepository = createShellShimRepository ?? ShellShimRepositoryFactory.CreateShellShimRepository; _reporter = (reporter ?? Reporter.Output); _errorReporter = (reporter ?? Reporter.Error); }
public ToolUpdateCommand(AppliedOption appliedCommand, ParseResult parseResult, CreateToolPackageStoresAndInstallerAndUninstaller createToolPackageStoreInstallerUninstaller = null, CreateShellShimRepository createShellShimRepository = null, IReporter reporter = null) : base(parseResult) { if (appliedCommand == null) { throw new ArgumentNullException(nameof(appliedCommand)); } _packageId = new PackageId(appliedCommand.Arguments.Single()); _configFilePath = appliedCommand.ValueOrDefault <string>("configfile"); _framework = appliedCommand.ValueOrDefault <string>("framework"); _additionalFeeds = appliedCommand.ValueOrDefault <string[]>("add-source"); _global = appliedCommand.ValueOrDefault <bool>("global"); _verbosity = appliedCommand.SingleArgumentOrDefault("verbosity"); _toolPath = appliedCommand.SingleArgumentOrDefault("tool-path"); _forwardRestoreArguments = appliedCommand.OptionValuesToBeForwarded(); _createToolPackageStoreInstallerUninstaller = createToolPackageStoreInstallerUninstaller ?? ToolPackageFactory.CreateToolPackageStoresAndInstallerAndUninstaller; _createShellShimRepository = createShellShimRepository ?? ShellShimRepositoryFactory.CreateShellShimRepository; _reporter = (reporter ?? Reporter.Output); _errorReporter = (reporter ?? Reporter.Error); }
public ToolInstallGlobalOrToolPathCommand( ParseResult parseResult, CreateToolPackageStoresAndInstaller createToolPackageStoreAndInstaller = null, CreateShellShimRepository createShellShimRepository = null, IEnvironmentPathInstruction environmentPathInstruction = null, IReporter reporter = null) : base(parseResult) { _packageId = new PackageId(parseResult.ValueForArgument <string>(ToolInstallCommandParser.PackageIdArgument)); _packageVersion = parseResult.ValueForOption <string>(ToolInstallCommandParser.VersionOption); _configFilePath = parseResult.ValueForOption <string>(ToolInstallCommandParser.ConfigOption); _framework = parseResult.ValueForOption <string>(ToolInstallCommandParser.FrameworkOption); _source = parseResult.ValueForOption <string[]>(ToolInstallCommandParser.AddSourceOption); _global = parseResult.ValueForOption <bool>(ToolAppliedOption.GlobalOptionAliases.First()); _verbosity = Enum.GetName(parseResult.ValueForOption <VerbosityOptions>(ToolInstallCommandParser.VerbosityOption)); _toolPath = parseResult.ValueForOption <string>(ToolAppliedOption.ToolPathOptionAlias); _createToolPackageStoresAndInstaller = createToolPackageStoreAndInstaller ?? ToolPackageFactory.CreateToolPackageStoresAndInstaller; _forwardRestoreArguments = parseResult.OptionValuesToBeForwarded(ToolInstallCommandParser.GetCommand()); _environmentPathInstruction = environmentPathInstruction ?? EnvironmentPathFactory.CreateEnvironmentPathInstruction(); _createShellShimRepository = createShellShimRepository ?? ShellShimRepositoryFactory.CreateShellShimRepository; _reporter = (reporter ?? Reporter.Output); _errorReporter = (reporter ?? Reporter.Error); }
public ToolUninstallGlobalOrToolPathCommand( ParseResult result, CreateToolPackageStoresAndUninstaller createToolPackageStoreAndUninstaller = null, CreateShellShimRepository createShellShimRepository = null, IReporter reporter = null) : base(result) { _reporter = reporter ?? Reporter.Output; _errorReporter = reporter ?? Reporter.Error; _createShellShimRepository = createShellShimRepository ?? ShellShimRepositoryFactory.CreateShellShimRepository; _createToolPackageStoresAndUninstaller = createToolPackageStoreAndUninstaller ?? ToolPackageFactory.CreateToolPackageStoresAndUninstaller; }
public ToolUninstallCommand( AppliedOption options, ParseResult result, CreateToolPackageStore createToolPackageStore = null, CreateShellShimRepository createShellShimRepository = null, IReporter reporter = null) : base(result) { _options = options ?? throw new ArgumentNullException(nameof(options)); _reporter = reporter ?? Reporter.Output; _errorReporter = reporter ?? Reporter.Error; _createShellShimRepository = createShellShimRepository ?? ShellShimRepositoryFactory.CreateShellShimRepository; _createToolPackageStore = createToolPackageStore ?? ToolPackageFactory.CreateToolPackageStore; }
public UninstallToolCommand( AppliedOption options, ParseResult result, CreateToolPackageStore createToolPackageStoreAndInstaller = null, CreateShellShimRepository createShellShimRepository = null, IReporter reporter = null) : base(result) { var pathCalculator = new CliFolderPathCalculator(); _options = options ?? throw new ArgumentNullException(nameof(options)); _reporter = reporter ?? Reporter.Output; _errorReporter = reporter ?? Reporter.Error; _createShellShimRepository = createShellShimRepository ?? ShellShimRepositoryFactory.CreateShellShimRepository; _createToolPackageStoreAndInstaller = createToolPackageStoreAndInstaller ?? ToolPackageFactory.CreateToolPackageStore; }
public InstallToolCommandTests() { _reporter = new BufferedReporter(); _fileSystem = new FileSystemMockBuilder().Build(); _toolPackageStore = new ToolPackageStoreMock(new DirectoryPath(PathToPlacePackages), _fileSystem); _createShellShimRepository = (nonGlobalLocation) => new ShellShimRepositoryMock(new DirectoryPath(PathToPlaceShim), _fileSystem); _environmentPathInstructionMock = new EnvironmentPathInstructionMock(_reporter, PathToPlaceShim); _createToolPackageStoreAndInstaller = (_) => (_toolPackageStore, CreateToolPackageInstaller()); ParseResult result = Parser.Instance.Parse($"dotnet install tool -g {PackageId}"); _appliedCommand = result["dotnet"]["install"]["tool"]; var parser = Parser.Instance; _parseResult = parser.ParseFrom("dotnet install", new[] { "tool", PackageId }); }
public ToolInstallGlobalOrToolPathCommand( ParseResult parseResult, CreateToolPackageStoresAndInstaller createToolPackageStoreAndInstaller = null, CreateShellShimRepository createShellShimRepository = null, IEnvironmentPathInstruction environmentPathInstruction = null, IReporter reporter = null, INuGetPackageDownloader nugetPackageDownloader = null) : base(parseResult) { _packageId = new PackageId(parseResult.ValueForArgument <string>(ToolInstallCommandParser.PackageIdArgument)); _packageVersion = parseResult.ValueForOption <string>(ToolInstallCommandParser.VersionOption); _configFilePath = parseResult.ValueForOption <string>(ToolInstallCommandParser.ConfigOption); _framework = parseResult.ValueForOption <string>(ToolInstallCommandParser.FrameworkOption); _source = parseResult.ValueForOption <string[]>(ToolInstallCommandParser.AddSourceOption); _global = parseResult.ValueForOption <bool>(ToolAppliedOption.GlobalOptionAliases.First()); _verbosity = Enum.GetName(parseResult.ValueForOption <VerbosityOptions>(ToolInstallCommandParser.VerbosityOption)); _toolPath = parseResult.ValueForOption <string>(ToolAppliedOption.ToolPathOptionAlias); _architectureOption = parseResult.ValueForOption <string>(ToolInstallCommandParser.ArchitectureOption); _createToolPackageStoresAndInstaller = createToolPackageStoreAndInstaller ?? ToolPackageFactory.CreateToolPackageStoresAndInstaller; _forwardRestoreArguments = parseResult.OptionValuesToBeForwarded(ToolInstallCommandParser.GetCommand()); _environmentPathInstruction = environmentPathInstruction ?? EnvironmentPathFactory.CreateEnvironmentPathInstruction(); _createShellShimRepository = createShellShimRepository ?? ShellShimRepositoryFactory.CreateShellShimRepository; var tempDir = new DirectoryPath(Path.Combine(Path.GetTempPath(), "dotnet-tool-install")); var configOption = parseResult.ValueForOption(ToolInstallCommandParser.ConfigOption); var sourceOption = parseResult.ValueForOption(ToolInstallCommandParser.AddSourceOption); var packageSourceLocation = new PackageSourceLocation(string.IsNullOrEmpty(configOption) ? null : new FilePath(configOption), additionalSourceFeeds: sourceOption); var restoreAction = new RestoreActionConfig(DisableParallel: parseResult.ValueForOption(ToolCommandRestorePassThroughOptions.DisableParallelOption), NoCache: parseResult.ValueForOption(ToolCommandRestorePassThroughOptions.NoCacheOption), IgnoreFailedSources: parseResult.ValueForOption(ToolCommandRestorePassThroughOptions.IgnoreFailedSourcesOption), Interactive: parseResult.ValueForOption(ToolCommandRestorePassThroughOptions.InteractiveRestoreOption)); nugetPackageDownloader ??= new NuGetPackageDownloader(tempDir, verboseLogger: new NullLogger(), restoreActionConfig: restoreAction); _shellShimTemplateFinder = new ShellShimTemplateFinder(nugetPackageDownloader, tempDir, packageSourceLocation); _reporter = (reporter ?? Reporter.Output); _errorReporter = (reporter ?? Reporter.Error); }