public void ProvidingNoArgumentListsPackages() { // Arrange var packageSourceProvider = new Mock<IPackageSourceProvider>(); packageSourceProvider.Setup(c => c.LoadPackageSources()).Returns(new[] { new PackageSource("FirstSource", "FirstName") }); var sourceCommand = new SourcesCommand(packageSourceProvider.Object); string expectedText = @"Registered Sources: 1. FirstName [Enabled] FirstSource "; var stringBuilder = new StringBuilder(); var console = new MockConsole(); var sourcesCommand = new SourcesCommand(packageSourceProvider.Object); sourceCommand.Console = console; // Act sourceCommand.Execute(); // Assert Assert.Equal(expectedText, console.Output); }
public void UpdateCommandStoresUsernameAndPassword() { // Arrange string userName = "******"; string password = "******"; var sources = new[] { new PackageSource("First"), new PackageSource("Abcd"), new PackageSource("http://test-source", "source") }; var expectedSources = new[] { new PackageSource("First"), new PackageSource("http://abcd-source", "Abcd"), new PackageSource("http://test-source", "source") }; var packageSourceProvider = new Mock<IPackageSourceProvider>(MockBehavior.Strict); packageSourceProvider.Setup(c => c.LoadPackageSources()).Returns(sources); packageSourceProvider.Setup(c => c.SavePackageSources(It.IsAny<IEnumerable<PackageSource>>())) .Callback((IEnumerable<PackageSource> actualSources) => { Assert.Equal(expectedSources, actualSources); var s = actualSources.ElementAt(1); Assert.Equal(userName, s.UserName); Assert.Equal(password, s.Password); }) .Verifiable(); var sourceCommand = new SourcesCommand(packageSourceProvider.Object) { Name = "Abcd", Source = "http://abcd-source", UserName = userName, Password = password }; sourceCommand.Arguments.Add("update"); sourceCommand.Console = new MockConsole(); // Act sourceCommand.Execute(); // Assert packageSourceProvider.Verify(); }
public void UpdateCommandPreservesOrder() { // Arrange var sources = new[] { new PackageSource("First"), new PackageSource("Abcd"), new PackageSource("http://test-source", "source") }; var expectedSources = new[] { new PackageSource("First"), new PackageSource("http://abcd-source", "Abcd"), new PackageSource("http://test-source", "source") }; var packageSourceProvider = new Mock<IPackageSourceProvider>(MockBehavior.Strict); packageSourceProvider.Setup(c => c.LoadPackageSources()).Returns(sources); packageSourceProvider.Setup(c => c.SavePackageSources(It.IsAny<IEnumerable<PackageSource>>())) .Callback((IEnumerable<PackageSource> actualSources) => Assert.Equal(expectedSources, actualSources)) .Verifiable(); var sourceCommand = new SourcesCommand(packageSourceProvider.Object) { Name = "Abcd", Source = "http://abcd-source" }; sourceCommand.Arguments.Add("update"); sourceCommand.Console = new MockConsole(); // Act sourceCommand.Execute(); // Assert packageSourceProvider.Verify(); }
public void RemoveCommandRemovesMatchingSources() { // Arrange var sources = new[] { new PackageSource("Abcd"), new PackageSource("EFgh"), new PackageSource("pqrs") }; var expectedSource = new[] { new PackageSource("Abcd"), new PackageSource("pqrs") }; var packageSourceProvider = new Mock<IPackageSourceProvider>(MockBehavior.Strict); packageSourceProvider.Setup(c => c.LoadPackageSources()).Returns(sources); packageSourceProvider.Setup(c => c.SavePackageSources(It.IsAny<IEnumerable<PackageSource>>())) .Callback((IEnumerable<PackageSource> src) => Assert.Equal(expectedSource, src)) .Verifiable(); var sourceCommand = new SourcesCommand(packageSourceProvider.Object) { Name = "efgh", }; sourceCommand.Arguments.Add("remove"); sourceCommand.Console = new MockConsole(); // Act sourceCommand.Execute(); // Assert packageSourceProvider.Verify(); }
public void AddCommandAddsSourceToSourceProvider() { // Arrange var expectedSources = new [] { new PackageSource("http://TestSource", "TestName"), new PackageSource("http://new-source", "new-source-name") }; var packageSourceProvider = new Mock<IPackageSourceProvider>(MockBehavior.Strict); packageSourceProvider.Setup(s => s.LoadPackageSources()) .Returns(new[] { new PackageSource("http://TestSource", "TestName") }); packageSourceProvider.Setup(s => s.SavePackageSources(It.IsAny<IEnumerable<PackageSource>>())) .Callback((IEnumerable<PackageSource> source) => Assert.Equal(expectedSources, source)); var sourceCommand = new SourcesCommand(packageSourceProvider.Object) { Name = "new-source-name", Source = "http://new-source" }; sourceCommand.Arguments.Add("add"); sourceCommand.Console = new MockConsole(); // Act sourceCommand.Execute(); // Assert packageSourceProvider.Verify(); }