private void VerifyCommand(Action <string, Mock <IListPackageCommandRunner>, CommandLineApplication, Func <LogLevel> > verify) { // Arrange using (var testDirectory = TestDirectory.Create()) { var projectPath = Path.Combine(testDirectory, "project.csproj"); File.WriteAllText(projectPath, string.Empty); var logLevel = LogLevel.Information; var logger = new TestCommandOutputLogger(); var testApp = new CommandLineApplication(); var mockCommandRunner = new Mock <IListPackageCommandRunner>(); mockCommandRunner .Setup(m => m.ExecuteCommandAsync(It.IsAny <ListPackageArgs>())) .Returns(Task.CompletedTask); testApp.Name = "dotnet nuget_test"; ListPackageCommand.Register(testApp, () => logger, ll => logLevel = ll, () => mockCommandRunner.Object); // Act & Assert try { verify(projectPath, mockCommandRunner, testApp, () => logLevel); } finally { XPlatTestUtils.DisposeTemporaryFile(projectPath); } } }
public void BasicListPackageParsing_InteractiveTakesNoArguments() { // Arrange var projectPath = Path.Combine(Path.GetTempPath(), "project.csproj"); File.Create(projectPath).Dispose(); var argList = new List <string>() { "list", "--interactive", "no", projectPath }; var logger = new TestCommandOutputLogger(); var testApp = new CommandLineApplication(); var mockCommandRunner = new Mock <IListPackageCommandRunner>(); mockCommandRunner .Setup(m => m.ExecuteCommandAsync(It.IsAny <ListPackageArgs>())) .Returns(Task.CompletedTask); testApp.Name = "dotnet nuget_test"; ListPackageCommand.Register(testApp, () => logger, () => mockCommandRunner.Object); // Act Assert.Throws <CommandParsingException>(() => testApp.Execute(argList.ToArray())); }
public void BasicListPackageParsing_Interactive() { // Arrange using (var testDirectory = TestDirectory.Create()) { var projectPath = Path.Combine(testDirectory, "project.csproj"); File.WriteAllText(projectPath, string.Empty); var argList = new List <string>() { "list", "--interactive", projectPath }; var logger = new TestCommandOutputLogger(); var testApp = new CommandLineApplication(); var mockCommandRunner = new Mock <IListPackageCommandRunner>(); mockCommandRunner .Setup(m => m.ExecuteCommandAsync(It.IsAny <ListPackageArgs>())) .Returns(Task.CompletedTask); testApp.Name = "dotnet nuget_test"; ListPackageCommand.Register(testApp, () => logger, () => mockCommandRunner.Object); // Act var result = testApp.Execute(argList.ToArray()); XPlatTestUtils.DisposeTemporaryFile(projectPath); // Assert mockCommandRunner.Verify(); Assert.NotNull(HttpHandlerResourceV3.CredentialService); Assert.Equal(0, result); } }