public void RecentPackageRepositoryDoesNotReturnPackagesFromSourcesThatAreRemoved() { // Arrange var sources = new List <PackageSource> { new PackageSource("Source1"), new PackageSource("Source2") }; var factory = new Mock <IPackageRepositoryFactory>(); factory.Setup(c => c.CreateRepository(It.IsAny <string>())).Returns <string>(c => { switch (c) { case "Source1": var repo1 = new MockPackageRepository(); repo1.AddRange(new[] { PackageUtility.CreatePackage("Pack1") }); return(repo1); case "Source2": var repo2 = new MockPackageRepository(); repo2.AddRange(new[] { PackageUtility.CreatePackage("Pack2", "1.1") }); return(repo2); } return(null); }); var settingsManager = new MockSettingsManager(); settingsManager.SavePackageMetadata(new[] { new PersistencePackageMetadata("Pack1", "1.0", new DateTime(2011, 01, 01)), new PersistencePackageMetadata("Pack2", "1.1", new DateTime(2011, 01, 01)), new PersistencePackageMetadata("Pack3", "1.0", new DateTime(2011, 01, 01)), }); var sourceProvider = new Mock <IPackageSourceProvider>(); sourceProvider.Setup(c => c.LoadPackageSources()).Returns(sources); var repository = new RecentPackageRepository( null, factory.Object, sourceProvider.Object, settingsManager, new MockPackageRepository()); // Act - 1, Scene - 1 var packages = repository.GetPackages(); // Assert Assert.Equal(2, packages.Count()); AssertPackage(packages.First(), "Pack1", "1.0"); AssertPackage(packages.Last(), "Pack2", "1.1"); // Act - 1, Scene - 2 sources.Remove(sources.Last()); packages = repository.GetPackages(); Assert.Equal(1, packages.Count()); AssertPackage(packages.First(), "Pack1", "1.0"); // Fin }
private RecentPackageRepository CreateRecentPackageRepository( IEnumerable <IPackage> packagesList = null, IEnumerable <IPersistencePackageMetadata> settingsMetadata = null, IPackageRepository cacheRepository = null) { if (packagesList == null) { var packageA = PackageUtility.CreatePackage("A", "1.0"); var packageC = PackageUtility.CreatePackage("C", "2.0"); packagesList = new[] { packageA, packageC }; } var mockRepository = new Mock <IPackageRepository>(); mockRepository.Setup(p => p.GetPackages()).Returns(packagesList.AsQueryable()); var mockRepositoryFactory = new Mock <IPackageRepositoryFactory>(); mockRepositoryFactory.Setup(f => f.CreateRepository(It.IsAny <string>())).Returns(mockRepository.Object); var mockSettingsManager = new MockSettingsManager(); if (settingsMetadata == null) { var A = new PersistencePackageMetadata("A", "1.0", new DateTime(2010, 8, 12)); var B = new PersistencePackageMetadata("B", "2.0", new DateTime(2011, 3, 2)); settingsMetadata = new[] { A, B }; } mockSettingsManager.SavePackageMetadata(settingsMetadata); var mockPackageSourceProvider = new MockPackageSourceProvider(); mockPackageSourceProvider.SavePackageSources(new[] { new PackageSource("source") }); if (cacheRepository == null) { cacheRepository = new MockPackageRepository(); } return(new RecentPackageRepository( /* dte */ null, mockRepositoryFactory.Object, mockPackageSourceProvider, mockSettingsManager, cacheRepository)); }
private RecentPackagesRepository CreateRecentPackageRepository(IPackage[] packagesList = null, IPersistencePackageMetadata[] settingsMetadata = null) { if (packagesList == null) { var packageA = PackageUtility.CreatePackage("A", "1.0"); var packageC = PackageUtility.CreatePackage("C", "2.0"); packagesList = new[] { packageA, packageC }; } var mockRepository = new Mock <IPackageRepository>(); mockRepository.Setup(p => p.GetPackages()).Returns(packagesList.AsQueryable()); var mockRepositoryFactory = new Mock <IPackageRepositoryFactory>(); mockRepositoryFactory.Setup(f => f.CreateRepository(It.IsAny <PackageSource>())).Returns(mockRepository.Object); var mockSettingsManager = new MockSettingsManager(); if (settingsMetadata == null) { var A = new PersistencePackageMetadata("A", "1.0", new DateTime(2010, 8, 12)); var B = new PersistencePackageMetadata("B", "2.0", new DateTime(2011, 3, 2)); settingsMetadata = new[] { A, B }; } mockSettingsManager.SavePackageMetadata(settingsMetadata); var mockPackageSourceProvider = new Mock <IPackageSourceProvider>(); mockPackageSourceProvider.Setup(p => p.AggregateSource).Returns(new PackageSource("All") { IsAggregate = true }); return(new RecentPackagesRepository(null, mockRepositoryFactory.Object, mockPackageSourceProvider.Object, mockSettingsManager)); }
private RecentPackageRepository CreateRecentPackageRepository( IEnumerable<IPackage> packagesList = null, IEnumerable<IPersistencePackageMetadata> settingsMetadata = null, IPackageRepository cacheRepository = null) { if (packagesList == null) { var packageA = PackageUtility.CreatePackage("A", "1.0"); var packageC = PackageUtility.CreatePackage("C", "2.0"); packagesList = new[] { packageA, packageC }; } var mockRepository = new Mock<IPackageRepository>(); mockRepository.Setup(p => p.GetPackages()).Returns(packagesList.AsQueryable()); var mockRepositoryFactory = new Mock<IPackageRepositoryFactory>(); mockRepositoryFactory.Setup(f => f.CreateRepository(It.IsAny<string>())).Returns(mockRepository.Object); var mockSettingsManager = new MockSettingsManager(); if (settingsMetadata == null) { var A = new PersistencePackageMetadata("A", "1.0", new DateTime(2010, 8, 12)); var B = new PersistencePackageMetadata("B", "2.0", new DateTime(2011, 3, 2)); settingsMetadata = new[] { A, B }; } mockSettingsManager.SavePackageMetadata(settingsMetadata); var mockPackageSourceProvider = new MockPackageSourceProvider(); mockPackageSourceProvider.SavePackageSources(new[] { new PackageSource("source") }); if (cacheRepository == null) { cacheRepository = new MockPackageRepository(); } return new RecentPackageRepository( /* dte */ null, mockRepositoryFactory.Object, mockPackageSourceProvider, mockSettingsManager, cacheRepository); }
public void RecentPackageRepositoryDoesNotReturnPackagesFromSourcesThatAreDisabled() { // Arrange var sources = new List<PackageSource> { new PackageSource("Source1"), new PackageSource("Source2", "Source2", isEnabled: false) }; var factory = new Mock<IPackageRepositoryFactory>(); factory.Setup(c => c.CreateRepository(It.IsAny<string>())).Returns<string>(c => { switch (c) { case "Source1": var repo1 = new MockPackageRepository(); repo1.AddRange(new[] { PackageUtility.CreatePackage("Pack1") }); return repo1; case "Source2": var repo2 = new MockPackageRepository(); repo2.AddRange(new[] { PackageUtility.CreatePackage("Pack2", "1.1") }); return repo2; } return null; }); var settingsManager = new MockSettingsManager(); settingsManager.SavePackageMetadata(new[] { new PersistencePackageMetadata("Pack1", "1.0", new DateTime(2011, 01, 01)), new PersistencePackageMetadata("Pack2", "1.1", new DateTime(2011, 01, 01)), new PersistencePackageMetadata("Pack3", "1.0", new DateTime(2011, 01, 01)), }); var sourceProvider = new Mock<IPackageSourceProvider>(); sourceProvider.Setup(c => c.LoadPackageSources()).Returns(sources); var repository = new RecentPackageRepository( null, factory.Object, sourceProvider.Object, settingsManager, new MockPackageRepository()); // Act var packages = repository.GetPackages(); // Assert Assert.Equal(1, packages.Count()); AssertPackage(packages.First(), "Pack1", "1.0"); //AssertPackage(packages.Last(), "Pack2", "1.1"); }
private RecentPackagesRepository CreateRecentPackageRepository(IPackage[] packagesList = null, IPersistencePackageMetadata[] settingsMetadata = null) { if (packagesList == null) { var packageA = PackageUtility.CreatePackage("A", "1.0"); var packageC = PackageUtility.CreatePackage("C", "2.0"); packagesList = new[] { packageA, packageC }; } var mockRepository = new Mock<IPackageRepository>(); mockRepository.Setup(p => p.GetPackages()).Returns(packagesList.AsQueryable()); var mockRepositoryFactory = new Mock<IPackageRepositoryFactory>(); mockRepositoryFactory.Setup(f => f.CreateRepository(It.IsAny<PackageSource>())).Returns(mockRepository.Object); var mockSettingsManager = new MockSettingsManager(); if (settingsMetadata == null) { var A = new PersistencePackageMetadata("A", "1.0", new DateTime(2010, 8, 12)); var B = new PersistencePackageMetadata("B", "2.0", new DateTime(2011, 3, 2)); settingsMetadata = new[] { A, B }; } mockSettingsManager.SavePackageMetadata(settingsMetadata); var mockPackageSourceProvider = new Mock<IPackageSourceProvider>(); mockPackageSourceProvider.Setup(p => p.AggregateSource).Returns(new PackageSource("All") { IsAggregate = true }); return new RecentPackagesRepository(null, mockRepositoryFactory.Object, mockPackageSourceProvider.Object, mockSettingsManager); }