public void FindPackageCallsFindPackageFromActiveSource() { // Arrange var mockRepositoryFactory = new Mock <IPackageRepositoryFactory>(); var mockSourceProvider = new Mock <IVsPackageSourceProvider>(); var mockRepository = new Mock <IPackageRepository>(MockBehavior.Strict); var source = new PackageSource("bar", "foo"); mockRepository.As <IPackageLookup>() .Setup(p => p.FindPackage("A", new SemanticVersion("1.0"))) .Returns(PackageUtility.CreatePackage("A", "1.0")) .Verifiable(); mockSourceProvider.Setup(m => m.ActivePackageSource).Returns(source); mockRepositoryFactory.Setup(m => m.CreateRepository(source.Source)).Returns(mockRepository.Object); var repository = new VsPackageSourceRepository(mockRepositoryFactory.Object, mockSourceProvider.Object); // Act IPackage package = repository.FindPackage("A", new SemanticVersion("1.0")); // Assert mockRepository.VerifyAll(); Assert.Equal("A", package.Id); Assert.Equal(new SemanticVersion("1.0"), package.Version); }
public void NullActivePackageSourceThrowsForAddPackageAndRemovePackage() { // Arrange var mockRepositoryFactory = new Mock<IPackageRepositoryFactory>(); var mockSourceProvider = new Mock<IVsPackageSourceProvider>(); mockSourceProvider.Setup(m => m.ActivePackageSource).Returns((PackageSource)null); mockRepositoryFactory.Setup(m => m.CreateRepository(It.IsAny<string>())).Returns(new MockPackageRepository()); var repository = new VsPackageSourceRepository(mockRepositoryFactory.Object, mockSourceProvider.Object); // Act & Assert ExceptionAssert.Throws<InvalidOperationException>(() => repository.AddPackage(null), "Unable to retrieve package list because no source was specified."); ExceptionAssert.Throws<InvalidOperationException>(() => repository.RemovePackage(null), "Unable to retrieve package list because no source was specified."); }
public void NullActivePackageSourceThrowsForAddPackageAndRemovePackage() { // Arrange var mockRepositoryFactory = new Mock <IPackageRepositoryFactory>(); var mockSourceProvider = new Mock <IVsPackageSourceProvider>(); mockSourceProvider.Setup(m => m.ActivePackageSource).Returns((PackageSource)null); mockRepositoryFactory.Setup(m => m.CreateRepository(It.IsAny <string>())).Returns(new MockPackageRepository()); var repository = new VsPackageSourceRepository(mockRepositoryFactory.Object, mockSourceProvider.Object); // Act & Assert ExceptionAssert.Throws <InvalidOperationException>(() => repository.AddPackage(null), "Unable to retrieve package list because no source was specified."); ExceptionAssert.Throws <InvalidOperationException>(() => repository.RemovePackage(null), "Unable to retrieve package list because no source was specified."); }
public void NullActivePackageSourceDoesNotThrowForOtherMethods() { // Arrange var mockRepositoryFactory = new Mock<IPackageRepositoryFactory>(); var mockSourceProvider = new Mock<IVsPackageSourceProvider>(); mockSourceProvider.Setup(m => m.ActivePackageSource).Returns((PackageSource)null); mockRepositoryFactory.Setup(m => m.CreateRepository(It.IsAny<string>())).Returns(new MockPackageRepository()); var repository = new VsPackageSourceRepository(mockRepositoryFactory.Object, mockSourceProvider.Object); // Act & Assert Assert.NotNull(repository.Clone()); Assert.Empty(repository.GetPackages()); Assert.False(repository.SupportsPrereleasePackages); Assert.Empty(repository.FindPackagesById("A")); Assert.Null(repository.FindPackage("A", new SemanticVersion("1.0"))); Assert.Empty(repository.Search("web", new string[] { "net40" }, true)); }
public void NullActivePackageSourceDoesNotThrowForOtherMethods() { // Arrange var mockRepositoryFactory = new Mock <IPackageRepositoryFactory>(); var mockSourceProvider = new Mock <IVsPackageSourceProvider>(); mockSourceProvider.Setup(m => m.ActivePackageSource).Returns((PackageSource)null); mockRepositoryFactory.Setup(m => m.CreateRepository(It.IsAny <string>())).Returns(new MockPackageRepository()); var repository = new VsPackageSourceRepository(mockRepositoryFactory.Object, mockSourceProvider.Object); // Act & Assert Assert.NotNull(repository.Clone()); Assert.Empty(repository.GetPackages()); Assert.False(repository.SupportsPrereleasePackages); Assert.Empty(repository.FindPackagesById("A")); Assert.Null(repository.FindPackage("A", new SemanticVersion("1.0"))); Assert.Empty(repository.Search("web", new string[] { "net40" }, true)); }
public void GetPackagesReturnsPackagesFromActiveSource() { // Arrange var mockRepositoryFactory = new Mock<IPackageRepositoryFactory>(); var mockSourceProvider = new Mock<IVsPackageSourceProvider>(); var mockRepository = new MockPackageRepository(); var source = new PackageSource("bar", "foo"); mockRepository.AddPackage(PackageUtility.CreatePackage("A", "1.0")); mockSourceProvider.Setup(m => m.ActivePackageSource).Returns(source); mockRepositoryFactory.Setup(m => m.CreateRepository(source.Source)).Returns(mockRepository); var repository = new VsPackageSourceRepository(mockRepositoryFactory.Object, mockSourceProvider.Object); // Act List<IPackage> packages = repository.GetPackages().ToList(); // Assert Assert.Equal(1, packages.Count); Assert.Equal("A", packages[0].Id); Assert.Equal(new SemanticVersion("1.0"), packages[0].Version); }
public void GetPackagesReturnsPackagesFromActiveSource() { // Arrange var mockRepositoryFactory = new Mock <IPackageRepositoryFactory>(); var mockSourceProvider = new Mock <IVsPackageSourceProvider>(); var mockRepository = new MockPackageRepository(); var source = new PackageSource("bar", "foo"); mockRepository.AddPackage(PackageUtility.CreatePackage("A", "1.0")); mockSourceProvider.Setup(m => m.ActivePackageSource).Returns(source); mockRepositoryFactory.Setup(m => m.CreateRepository(source.Source)).Returns(mockRepository); var repository = new VsPackageSourceRepository(mockRepositoryFactory.Object, mockSourceProvider.Object); // Act List <IPackage> packages = repository.GetPackages().ToList(); // Assert Assert.Equal(1, packages.Count); Assert.Equal("A", packages[0].Id); Assert.Equal(new SemanticVersion("1.0"), packages[0].Version); }
// name parameter is to make it easier to identify failing tests when debugging. public void MethodsPassCurrentOperationAlong(string name, Action <VsPackageSourceRepository> method) { // Arrange var mockRepositoryFactory = new Mock <IPackageRepositoryFactory>(); var mockSourceProvider = new Mock <IVsPackageSourceProvider>(); var mockRepository = new Mock <IPackageRepository>(); var mockOperationAware = mockRepository.As <IOperationAwareRepository>(); var source = new PackageSource("bar", "foo"); mockSourceProvider.Setup(m => m.ActivePackageSource).Returns(source); mockRepositoryFactory.Setup(m => m.CreateRepository(source.Source)).Returns(mockRepository.Object); mockRepository.SetupGet(r => r.Source).Returns("Bar"); var repository = new VsPackageSourceRepository(mockRepositoryFactory.Object, mockSourceProvider.Object); // Act using (repository.StartOperation("Foo")) { method(repository); } // Assert mockOperationAware.Verify(o => o.StartOperation("Foo")); }
public void FindPackageCallsFindPackageFromActiveSource() { // Arrange var mockRepositoryFactory = new Mock<IPackageRepositoryFactory>(); var mockSourceProvider = new Mock<IVsPackageSourceProvider>(); var mockRepository = new Mock<IPackageRepository>(MockBehavior.Strict); var source = new PackageSource("bar", "foo"); mockRepository.As<IPackageLookup>() .Setup(p => p.FindPackage("A", new SemanticVersion("1.0"))) .Returns(PackageUtility.CreatePackage("A", "1.0")) .Verifiable(); mockSourceProvider.Setup(m => m.ActivePackageSource).Returns(source); mockRepositoryFactory.Setup(m => m.CreateRepository(source.Source)).Returns(mockRepository.Object); var repository = new VsPackageSourceRepository(mockRepositoryFactory.Object, mockSourceProvider.Object); // Act IPackage package = repository.FindPackage("A", new SemanticVersion("1.0")); // Assert mockRepository.VerifyAll(); Assert.Equal("A", package.Id); Assert.Equal(new SemanticVersion("1.0"), package.Version); }
// name parameter is to make it easier to identify failing tests when debugging. public void MethodsPassCurrentOperationAlong(string name, Action<VsPackageSourceRepository> method) { // Arrange var mockRepositoryFactory = new Mock<IPackageRepositoryFactory>(); var mockSourceProvider = new Mock<IVsPackageSourceProvider>(); var mockRepository = new Mock<IPackageRepository>(); var mockOperationAware = mockRepository.As<IOperationAwareRepository>(); var source = new PackageSource("bar", "foo"); mockSourceProvider.Setup(m => m.ActivePackageSource).Returns(source); mockRepositoryFactory.Setup(m => m.CreateRepository(source.Source)).Returns(mockRepository.Object); mockRepository.SetupGet(r => r.Source).Returns("Bar"); var repository = new VsPackageSourceRepository(mockRepositoryFactory.Object, mockSourceProvider.Object); // Act using (repository.StartOperation("Foo")) { method(repository); } // Assert mockOperationAware.Verify(o => o.StartOperation("Foo")); }