Browse Source

Fix disabled package sources being used in Manage Packages dialog.

Selecting All in the package source list was searching across all package
sources including disabled ones.
pull/33/head
Matt Ward 13 years ago
parent
commit
231cde5e9e
  1. 6
      src/AddIns/Misc/PackageManagement/Project/Src/PackageRepositoryCache.cs
  2. 7
      src/AddIns/Misc/PackageManagement/Project/Src/ProjectTemplatePackageRepositoryCache.cs
  3. 24
      src/AddIns/Misc/PackageManagement/Test/Src/PackageRepositoryCacheTests.cs
  4. 18
      src/AddIns/Misc/PackageManagement/Test/Src/ProjectTemplatePackageRepositoryCacheTests.cs

6
src/AddIns/Misc/PackageManagement/Project/Src/PackageRepositoryCache.cs

@ -69,13 +69,13 @@ namespace ICSharpCode.PackageManagement @@ -69,13 +69,13 @@ namespace ICSharpCode.PackageManagement
public IPackageRepository CreateAggregateRepository()
{
IEnumerable<IPackageRepository> allRepositories = CreateAllRepositories();
IEnumerable<IPackageRepository> allRepositories = CreateAllEnabledRepositories();
return CreateAggregateRepository(allRepositories);
}
IEnumerable<IPackageRepository> CreateAllRepositories()
IEnumerable<IPackageRepository> CreateAllEnabledRepositories()
{
foreach (PackageSource source in registeredPackageSources) {
foreach (PackageSource source in registeredPackageSources.GetEnabledPackageSources()) {
yield return CreateRepository(source.Source);
}
}

7
src/AddIns/Misc/PackageManagement/Project/Src/ProjectTemplatePackageRepositoryCache.cs

@ -41,11 +41,16 @@ namespace ICSharpCode.PackageManagement @@ -41,11 +41,16 @@ namespace ICSharpCode.PackageManagement
IEnumerable<IPackageRepository> GetRegisteredPackageRepositories()
{
foreach (PackageSource packageSource in registeredPackageSources.PackageSources) {
foreach (PackageSource packageSource in GetEnabledPackageSources()) {
yield return CreateRepository(packageSource.Source);
}
}
public IEnumerable<PackageSource> GetEnabledPackageSources()
{
return registeredPackageSources.PackageSources.GetEnabledPackageSources();
}
public ISharedPackageRepository CreateSharedRepository(IPackagePathResolver pathResolver, IFileSystem fileSystem, IFileSystem configSettingsFileSystem)
{
throw new NotImplementedException();

24
src/AddIns/Misc/PackageManagement/Test/Src/PackageRepositoryCacheTests.cs

@ -159,6 +159,30 @@ namespace PackageManagement.Tests @@ -159,6 +159,30 @@ namespace PackageManagement.Tests
Assert.AreEqual(expectedRepository, aggregateRepository);
}
[Test]
public void CreateAggregatePackageRepository_TwoRegisteredPackageSourcesButOneDisabled_ReturnsAggregateRepositoryCreatedWithOnlyEnabledPackageSource()
{
CreatePackageSources();
packageSourcesHelper.AddTwoPackageSources("Source1", "Source2");
packageSourcesHelper.RegisteredPackageSources[0].IsEnabled = false;
CreateCacheUsingPackageSources();
FakePackageRepository repository1 = AddFakePackageRepositoryForPackageSource("Source1");
FakePackageRepository repository2 = AddFakePackageRepositoryForPackageSource("Source2");
var expectedRepositories = new FakePackageRepository[] {
repository2
};
cache.CreateAggregateRepository();
IEnumerable<IPackageRepository> repositoriesUsedToCreateAggregateRepository =
fakePackageRepositoryFactory.RepositoriesPassedToCreateAggregateRepository;
var actualRepositoriesAsList = new List<IPackageRepository>(repositoriesUsedToCreateAggregateRepository);
IPackageRepository[] actualRepositories = actualRepositoriesAsList.ToArray();
CollectionAssert.AreEqual(expectedRepositories, actualRepositories);
}
[Test]
public void CreateAggregatePackageRepository_TwoRegisteredPackageRepositories_AllRegisteredRepositoriesUsedToCreateAggregateRepositoryFromFactory()
{

18
src/AddIns/Misc/PackageManagement/Test/Src/ProjectTemplatePackageRepositoryCacheTests.cs

@ -83,5 +83,23 @@ namespace PackageManagement.Tests @@ -83,5 +83,23 @@ namespace PackageManagement.Tests
Assert.AreEqual(expectedRepositories, repositories);
}
[Test]
public void CreateAggregatePackageRepository_TwoRegisteredPackageSourcesButOneDisabled_ReturnsAggregateRepositoryCreatedWithOnlyEnabledPackageSource()
{
CreateCache();
ClearRegisteredPackageSources();
FakePackageRepository fakeRepository1 = AddRegisteredPackageRepository("http://sharpdevelop.com", "Test");
FakePackageRepository fakeRepository2 = AddRegisteredPackageRepository("http://test", "Test2");
registeredPackageSources.PackageSources[0].IsEnabled = false;
IPackageRepository repository = cache.CreateAggregateRepository();
IEnumerable<IPackageRepository> repositories = fakeMainCache.RepositoriesPassedToCreateAggregateRepository;
var expectedRepositories = new List<IPackageRepository>();
expectedRepositories.Add(fakeRepository2);
Assert.AreEqual(expectedRepositories, repositories);
}
}
}

Loading…
Cancel
Save