Browse Source

Re-added prefiltering of available AddIn NuGet packages using IsLatestVersion, adapted unit tests.

pull/48/head
Andreas Weizel 12 years ago
parent
commit
64035be9fd
  1. 70
      src/AddIns/Misc/AddInManager2/AddInManager2.Tests/AvailableAddInsViewModelTests.cs
  2. 5
      src/AddIns/Misc/AddInManager2/Project/Src/ViewModel/AvailableAddInsViewModel.cs

70
src/AddIns/Misc/AddInManager2/AddInManager2.Tests/AvailableAddInsViewModelTests.cs

@ -88,19 +88,22 @@ namespace ICSharpCode.AddInManager2.Tests
{ {
Id = _addIn1.Manifest.PrimaryIdentity, Id = _addIn1.Manifest.PrimaryIdentity,
Version = new SemanticVersion(_addIn1.Version), Version = new SemanticVersion(_addIn1.Version),
Tags = SharpDevelopAddInTag Tags = SharpDevelopAddInTag,
IsLatestVersion = false
}; };
FakePackage fakePackage1_new = new FakePackage() FakePackage fakePackage1_new = new FakePackage()
{ {
Id = _addIn1_new.Manifest.PrimaryIdentity, Id = _addIn1_new.Manifest.PrimaryIdentity,
Version = new SemanticVersion(_addIn1_new.Version), Version = new SemanticVersion(_addIn1_new.Version),
Tags = SharpDevelopAddInTag Tags = SharpDevelopAddInTag,
IsLatestVersion = true
}; };
FakePackage fakePackage2 = new FakePackage() FakePackage fakePackage2 = new FakePackage()
{ {
Id = _addIn2.Manifest.PrimaryIdentity, Id = _addIn2.Manifest.PrimaryIdentity,
Version = new SemanticVersion(_addIn2.Version), Version = new SemanticVersion(_addIn2.Version),
Tags = SharpDevelopAddInTag Tags = SharpDevelopAddInTag,
IsLatestVersion = true
}; };
// List of NuGet repositories // List of NuGet repositories
@ -155,13 +158,15 @@ namespace ICSharpCode.AddInManager2.Tests
{ {
Id = _addIn1.Manifest.PrimaryIdentity, Id = _addIn1.Manifest.PrimaryIdentity,
Version = new SemanticVersion(_addIn1.Version), Version = new SemanticVersion(_addIn1.Version),
Tags = SharpDevelopAddInTag Tags = SharpDevelopAddInTag,
IsLatestVersion = true
}; };
FakePackage fakePackage2 = new FakePackage() FakePackage fakePackage2 = new FakePackage()
{ {
Id = _addIn2.Manifest.PrimaryIdentity, Id = _addIn2.Manifest.PrimaryIdentity,
Version = new SemanticVersion(_addIn2.Version), Version = new SemanticVersion(_addIn2.Version),
Tags = SharpDevelopAddInTag Tags = SharpDevelopAddInTag,
IsLatestVersion = true
}; };
// List of NuGet repositories // List of NuGet repositories
@ -230,13 +235,15 @@ namespace ICSharpCode.AddInManager2.Tests
{ {
Id = _addIn1.Manifest.PrimaryIdentity, Id = _addIn1.Manifest.PrimaryIdentity,
Version = new SemanticVersion(_addIn1.Version), Version = new SemanticVersion(_addIn1.Version),
Tags = SharpDevelopAddInTag Tags = SharpDevelopAddInTag,
IsLatestVersion = true
}; };
FakePackage fakePackage2 = new FakePackage() FakePackage fakePackage2 = new FakePackage()
{ {
Id = _addIn2.Manifest.PrimaryIdentity, Id = _addIn2.Manifest.PrimaryIdentity,
Version = new SemanticVersion(_addIn2.Version), Version = new SemanticVersion(_addIn2.Version),
Tags = SharpDevelopAddInTag Tags = SharpDevelopAddInTag,
IsLatestVersion = true
}; };
// List of NuGet repositories // List of NuGet repositories
@ -285,20 +292,23 @@ namespace ICSharpCode.AddInManager2.Tests
Id = _addIn2_new.Manifest.PrimaryIdentity, Id = _addIn2_new.Manifest.PrimaryIdentity,
Version = new SemanticVersion(_addIn2_new.Version), Version = new SemanticVersion(_addIn2_new.Version),
Tags = SharpDevelopAddInTag, Tags = SharpDevelopAddInTag,
DownloadCount = 30 DownloadCount = 30,
IsLatestVersion = true
}; };
FakePackage fakePackage1 = new FakePackage() FakePackage fakePackage1 = new FakePackage()
{ {
Id = _addIn1.Manifest.PrimaryIdentity, Id = _addIn1.Manifest.PrimaryIdentity,
Version = new SemanticVersion(_addIn1.Version), Version = new SemanticVersion(_addIn1.Version),
Tags = SharpDevelopAddInTag, Tags = SharpDevelopAddInTag,
DownloadCount = 10 DownloadCount = 10,
IsLatestVersion = true
}; };
FakePackage fakePackage2 = new FakePackage() FakePackage fakePackage2 = new FakePackage()
{ {
Id = _addIn2.Manifest.PrimaryIdentity, Id = _addIn2.Manifest.PrimaryIdentity,
Version = new SemanticVersion(_addIn2.Version), Version = new SemanticVersion(_addIn2.Version),
Tags = SharpDevelopAddInTag Tags = SharpDevelopAddInTag,
IsLatestVersion = false
}; };
// List of NuGet repositories // List of NuGet repositories
@ -340,7 +350,7 @@ namespace ICSharpCode.AddInManager2.Tests
// { // {
// CreateAddIns(); // CreateAddIns();
// _addIn1.Enabled = true; // _addIn1.Enabled = true;
// //
// // Package to be shown in repository // // Package to be shown in repository
// FakePackage fakePackage1 = new FakePackage() // FakePackage fakePackage1 = new FakePackage()
// { // {
@ -353,33 +363,33 @@ namespace ICSharpCode.AddInManager2.Tests
// Version = new SemanticVersion(_addIn2.Version), // Version = new SemanticVersion(_addIn2.Version),
// Tags = SharpDevelopAddInTag // Tags = SharpDevelopAddInTag
// }; // };
// //
// // List of NuGet repositories // // List of NuGet repositories
// List<PackageSource> registeredPackageSources = new List<PackageSource>(); // List<PackageSource> registeredPackageSources = new List<PackageSource>();
// registeredPackageSources.Add(new PackageSource("", "Test Repository")); // registeredPackageSources.Add(new PackageSource("", "Test Repository"));
// _services.FakeRepositories.RegisteredPackageSources = registeredPackageSources; // _services.FakeRepositories.RegisteredPackageSources = registeredPackageSources;
// //
// List<IPackageRepository> registeredPackageRepositories = new List<IPackageRepository>(); // List<IPackageRepository> registeredPackageRepositories = new List<IPackageRepository>();
// FakeCorePackageRepository remoteRepository = new FakeCorePackageRepository(); // FakeCorePackageRepository remoteRepository = new FakeCorePackageRepository();
// remoteRepository.Source = registeredPackageSources[0].Source; // remoteRepository.Source = registeredPackageSources[0].Source;
// remoteRepository.ReturnedPackages = (new IPackage[] { fakePackage1, fakePackage2 }).AsQueryable(); // remoteRepository.ReturnedPackages = (new IPackage[] { fakePackage1, fakePackage2 }).AsQueryable();
// _services.FakeRepositories.RegisteredPackageRepositories = registeredPackageRepositories; // _services.FakeRepositories.RegisteredPackageRepositories = registeredPackageRepositories;
// //
// // PackageRepository service should return remoteRepository instance // // PackageRepository service should return remoteRepository instance
// _services.FakeRepositories.GetRepositoryFromSourceCallback = delegate(PackageSource packageSource) // _services.FakeRepositories.GetRepositoryFromSourceCallback = delegate(PackageSource packageSource)
// { // {
// return remoteRepository; // return remoteRepository;
// }; // };
// //
// FakeCorePackageRepository localRepository = new FakeCorePackageRepository(); // FakeCorePackageRepository localRepository = new FakeCorePackageRepository();
// _services.FakeNuGet.FakeCorePackageManager.LocalRepository = localRepository; // _services.FakeNuGet.FakeCorePackageManager.LocalRepository = localRepository;
// localRepository.ReturnedPackages = (new IPackage[] { }).AsQueryable(); // localRepository.ReturnedPackages = (new IPackage[] { }).AsQueryable();
// //
// var viewModel = new AvailableAddInsViewModel(_services); // var viewModel = new AvailableAddInsViewModel(_services);
// viewModel.ReadPackagesAndWaitForUpdate(); // viewModel.ReadPackagesAndWaitForUpdate();
// //
// Assert.That(viewModel.AddInPackages.Count, Is.EqualTo(1), "AddIn list must contain 1 item."); // Assert.That(viewModel.AddInPackages.Count, Is.EqualTo(1), "AddIn list must contain 1 item.");
// //
// AddInPackageViewModelBase firstAddIn = viewModel.AddInPackages[0]; // AddInPackageViewModelBase firstAddIn = viewModel.AddInPackages[0];
// Assert.That(firstAddIn.Id, Is.EqualTo(_addIn2.Manifest.PrimaryIdentity), "Primary identity of 1st AddIn"); // Assert.That(firstAddIn.Id, Is.EqualTo(_addIn2.Manifest.PrimaryIdentity), "Primary identity of 1st AddIn");
// Assert.That(firstAddIn.Name, Is.EqualTo(_addIn2.Manifest.PrimaryIdentity), "Name of 1st AddIn"); // Assert.That(firstAddIn.Name, Is.EqualTo(_addIn2.Manifest.PrimaryIdentity), "Name of 1st AddIn");
@ -400,7 +410,8 @@ namespace ICSharpCode.AddInManager2.Tests
{ {
Id = _addIn1.Manifest.PrimaryIdentity + i.ToString("00"), Id = _addIn1.Manifest.PrimaryIdentity + i.ToString("00"),
Version = new SemanticVersion(_addIn1.Version), Version = new SemanticVersion(_addIn1.Version),
Tags = SharpDevelopAddInTag Tags = SharpDevelopAddInTag,
IsLatestVersion = true
}; };
} }
@ -478,13 +489,15 @@ namespace ICSharpCode.AddInManager2.Tests
{ {
Id = _addIn1.Manifest.PrimaryIdentity, Id = _addIn1.Manifest.PrimaryIdentity,
Version = new SemanticVersion(_addIn1.Version), Version = new SemanticVersion(_addIn1.Version),
Tags = SharpDevelopAddInTag Tags = SharpDevelopAddInTag,
IsLatestVersion = true
}; };
FakePackage fakePackage2 = new FakePackage() FakePackage fakePackage2 = new FakePackage()
{ {
Id = _addIn2.Manifest.PrimaryIdentity, Id = _addIn2.Manifest.PrimaryIdentity,
Version = new SemanticVersion(_addIn2.Version), Version = new SemanticVersion(_addIn2.Version),
Tags = SharpDevelopAddInTag Tags = SharpDevelopAddInTag,
IsLatestVersion = true
}; };
_addIn1.Properties.Set(ManagedAddIn.NuGetPackageIDManifestAttribute, fakePackage1.Id); _addIn1.Properties.Set(ManagedAddIn.NuGetPackageIDManifestAttribute, fakePackage1.Id);
@ -575,13 +588,15 @@ namespace ICSharpCode.AddInManager2.Tests
{ {
Id = _addIn_noVersion.Manifest.PrimaryIdentity, Id = _addIn_noVersion.Manifest.PrimaryIdentity,
Version = new SemanticVersion("1.0.2.0"), Version = new SemanticVersion("1.0.2.0"),
Tags = SharpDevelopAddInTag Tags = SharpDevelopAddInTag,
IsLatestVersion = true
}; };
FakePackage fakePackage2 = new FakePackage() FakePackage fakePackage2 = new FakePackage()
{ {
Id = _addIn2.Manifest.PrimaryIdentity, Id = _addIn2.Manifest.PrimaryIdentity,
Version = new SemanticVersion(_addIn2.Version), Version = new SemanticVersion(_addIn2.Version),
Tags = SharpDevelopAddInTag Tags = SharpDevelopAddInTag,
IsLatestVersion = true
}; };
_addIn_noVersion.Properties.Set(ManagedAddIn.NuGetPackageIDManifestAttribute, fakePackage1.Id); _addIn_noVersion.Properties.Set(ManagedAddIn.NuGetPackageIDManifestAttribute, fakePackage1.Id);
@ -672,19 +687,22 @@ namespace ICSharpCode.AddInManager2.Tests
{ {
Id = _addIn1.Manifest.PrimaryIdentity, Id = _addIn1.Manifest.PrimaryIdentity,
Version = new SemanticVersion(_addIn1.Version), Version = new SemanticVersion(_addIn1.Version),
Tags = SharpDevelopAddInTag Tags = SharpDevelopAddInTag,
IsLatestVersion = false
}; };
FakePackage fakePackage1_new = new FakePackage() FakePackage fakePackage1_new = new FakePackage()
{ {
Id = _addIn1_new.Manifest.PrimaryIdentity, Id = _addIn1_new.Manifest.PrimaryIdentity,
Version = new SemanticVersion(_addIn1_new.Version), Version = new SemanticVersion(_addIn1_new.Version),
Tags = SharpDevelopAddInTag Tags = SharpDevelopAddInTag,
IsLatestVersion = true
}; };
FakePackage fakePackage2 = new FakePackage() FakePackage fakePackage2 = new FakePackage()
{ {
Id = _addIn2.Manifest.PrimaryIdentity, Id = _addIn2.Manifest.PrimaryIdentity,
Version = new SemanticVersion(_addIn2.Version), Version = new SemanticVersion(_addIn2.Version),
Tags = SharpDevelopAddInTag Tags = SharpDevelopAddInTag,
IsLatestVersion = true
}; };
_addIn1.Properties.Set(ManagedAddIn.NuGetPackageIDManifestAttribute, fakePackage1_old.Id); _addIn1.Properties.Set(ManagedAddIn.NuGetPackageIDManifestAttribute, fakePackage1_old.Id);

5
src/AddIns/Misc/AddInManager2/Project/Src/ViewModel/AvailableAddInsViewModel.cs

@ -9,7 +9,7 @@ using ICSharpCode.SharpDevelop;
using NuGet; using NuGet;
namespace ICSharpCode.AddInManager2.ViewModel namespace ICSharpCode.AddInManager2.ViewModel
{ {
public class AvailableAddInsViewModel : NuGetAddInsViewModelBase public class AvailableAddInsViewModel : NuGetAddInsViewModelBase
{ {
public AvailableAddInsViewModel() public AvailableAddInsViewModel()
@ -44,7 +44,8 @@ namespace ICSharpCode.AddInManager2.ViewModel
protected override IQueryable<IPackage> GetAllPackages() protected override IQueryable<IPackage> GetAllPackages()
{ {
return (ActiveRepository ?? AddInManager.Repositories.AllRegistered).GetPackages(); return (ActiveRepository ?? AddInManager.Repositories.AllRegistered).GetPackages()
.Where(package => package.IsLatestVersion);
} }
protected override IEnumerable<IPackage> GetFilteredPackagesBeforePagingResults(IQueryable<IPackage> allPackages) protected override IEnumerable<IPackage> GetFilteredPackagesBeforePagingResults(IQueryable<IPackage> allPackages)

Loading…
Cancel
Save