public void ReadRepositoriesWithDefaultFromConfiguration() { FakeAddInManagerSettings settings = new FakeAddInManagerSettings(); settings.PackageRepositories = new string[] { @"Repository1=C:\Repositories\Repository1", @"Repository2=C:\Repositories\Repository2", PackageRepositories.DefaultRepositoryName + "=" + PackageRepositories.DefaultRepositorySource }; AddInManagerEvents events = new AddInManagerEvents(); PackageRepositories packageRepositories = new PackageRepositories(events, settings); var packageSources = packageRepositories.RegisteredPackageSources; Assert.That(packageSources, Is.Not.Null); Assert.That(packageSources.Count(), Is.EqualTo(3)); Assert.That(packageSources.ElementAt(0).Name, Is.EqualTo("Repository1")); Assert.That(packageSources.ElementAt(0).Source, Is.EqualTo(@"C:\Repositories\Repository1")); Assert.That(packageSources.ElementAt(1).Name, Is.EqualTo("Repository2")); Assert.That(packageSources.ElementAt(1).Source, Is.EqualTo(@"C:\Repositories\Repository2")); Assert.That(packageSources.ElementAt(2).Name, Is.EqualTo(PackageRepositories.DefaultRepositoryName)); Assert.That(packageSources.ElementAt(2).Source, Is.EqualTo(PackageRepositories.DefaultRepositorySource)); }
public void ReadRepositoriesFromConfiguration() { FakeAddInManagerSettings settings = new FakeAddInManagerSettings(); settings.PackageRepositories = new string[] { @"Repository1=C:\Repositories\Repository1", @"Repository2=C:\Repositories\Repository2" }; AddInManagerEvents events = new AddInManagerEvents(); PackageRepositories packageRepositories = new PackageRepositories(events, settings); var packageSources = packageRepositories.RegisteredPackageSources; Assert.That(packageSources, Is.Not.Null); Assert.That(packageSources.Count(), Is.EqualTo(3)); // Default repository also must be present in first place Assert.That(packageSources.ElementAt(0).Name, Is.EqualTo(PackageRepositories.DefaultRepositoryName)); Assert.That(packageSources.ElementAt(0).Source, Is.EqualTo(PackageRepositories.DefaultRepositorySource)); // Then others are following Assert.That(packageSources.ElementAt(1).Name, Is.EqualTo("Repository1")); Assert.That(packageSources.ElementAt(1).Source, Is.EqualTo(@"C:\Repositories\Repository1")); Assert.That(packageSources.ElementAt(2).Name, Is.EqualTo("Repository2")); Assert.That(packageSources.ElementAt(2).Source, Is.EqualTo(@"C:\Repositories\Repository2")); }
public void SaveRepositoriesWithDefaultToConfiguration() { FakeAddInManagerSettings settings = new FakeAddInManagerSettings(); settings.PackageRepositories = new string[] { @"Repository1=C:\Repositories\Repository1", @"Repository2=C:\Repositories\Repository2", PackageRepositories.DefaultRepositoryName + "=" + PackageRepositories.DefaultRepositorySource }; AddInManagerEvents events = new AddInManagerEvents(); PackageRepositories packageRepositories = new PackageRepositories(events, settings); List <PackageSource> packageSources = new List <PackageSource>(); packageSources.Add(new PackageSource(@"C:\Repositories\Repository3", "Repository3")); packageSources.Add(new PackageSource(@"C:\Repositories\Repository4", "Repository4")); packageSources.Add(new PackageSource(PackageRepositories.DefaultRepositorySource, PackageRepositories.DefaultRepositoryName)); packageRepositories.RegisteredPackageSources = packageSources; var packageRepositoriesSetting = settings.PackageRepositories; Assert.That(packageRepositoriesSetting, Is.Not.Null); Assert.That(packageRepositoriesSetting.Count(), Is.EqualTo(3)); Assert.That(packageRepositoriesSetting.ElementAt(0), Is.EqualTo(@"Repository3=C:\Repositories\Repository3")); Assert.That(packageRepositoriesSetting.ElementAt(1), Is.EqualTo(@"Repository4=C:\Repositories\Repository4")); Assert.That(packageRepositoriesSetting.ElementAt(2), Is.EqualTo(PackageRepositories.DefaultRepositoryName + "=" + PackageRepositories.DefaultRepositorySource)); }
private static IPackageContainer <IModule> CreatePackageContainer() { // ReSharper disable once ConvertToConstant.Local var repo = PackageRepositories.For( @"..\..\..\feed" // see 'Sample.targets' , "https://nuget.org/api/v2/"); var packageManager = new NuPlugPackageManager(repo, "plugins") { Logger = new TraceLogger() }; packageManager.SkipPackages(); var version = #if NCRUNCH Assembly.GetEntryAssembly().GetName().Version.ToString(); #else GitVersionInformation.NuGetVersion; #endif var packagesConfig = new XDocument( new XElement("packages", new XElement("package", new XAttribute("id", "NuPlug.SamplePlugin"), new XAttribute("version", version)) , new XElement("package", new XAttribute("id", "NuPlug.RestPlugin"), new XAttribute("version", version)) )); Trace.TraceInformation($"Installing packages ({PrettySource(packageManager.SourceRepository)} --> {PrettySource(packageManager.LocalRepository)})..."); packageManager.InstallPackages(packagesConfig, false, true); Trace.TraceInformation("Removing duplicates..."); packageManager.RemoveDuplicates(); return(new NuGetPackageContainer <IModule>(packageManager)); }
private IQueryable <IPackage> GetUpdatedPackages() { IQueryable <IPackage> localPackages = installedPackages; localPackages = FilterPackages(localPackages); int allUpdatesCount = 0; IEnumerable <IPackage> updatedPackages = null; var allRepositories = AddInManager.Repositories.RegisteredPackageRepositories; if (allRepositories != null) { // Run through all repositories and collect counts of updated packages foreach (var repository in allRepositories) { var updatesForThisRepository = GetUpdatedPackages(repository, localPackages); if (ActiveRepository.Source == repository.Source) { // This is also the user-selected repository we need the package list from updatedPackages = updatesForThisRepository; } // Set update count for repository in list var packageRepositoryModel = PackageRepositories.Where(pr => pr.SourceUrl == repository.Source).FirstOrDefault(); if (packageRepositoryModel != null) { int updatesCount = updatesForThisRepository.Count(); packageRepositoryModel.HighlightCount = updatesCount; allUpdatesCount += updatesCount; } } } if (updatedPackages == null) { // Just as fallback, if something goes wrong in upper loop updatedPackages = GetUpdatedPackages(AddInManager.Repositories.AllRegistered, localPackages); allUpdatesCount = updatedPackages.Count(); } HighlightCount = allUpdatesCount; return(updatedPackages.AsQueryable()); }
public void ReadInvalidRepositoriesFromConfiguration() { FakeAddInManagerSettings settings = new FakeAddInManagerSettings(); settings.PackageRepositories = new string[] { @"Repository1|C:\Repositories\Repository1", "=", "" }; AddInManagerEvents events = new AddInManagerEvents(); PackageRepositories packageRepositories = new PackageRepositories(events, settings); var packageSources = packageRepositories.RegisteredPackageSources; Assert.That(packageSources, Is.Not.Null); // Must be 1, because DefaultRepository is always there... Assert.That(packageSources.Count(), Is.EqualTo(1)); }
public void SaveInvalidRepositoryListToConfiguration() { FakeAddInManagerSettings settings = new FakeAddInManagerSettings(); settings.PackageRepositories = new string[] { @"Repository1=C:\Repositories\Repository1", @"Repository2=C:\Repositories\Repository2" }; AddInManagerEvents events = new AddInManagerEvents(); PackageRepositories packageRepositories = new PackageRepositories(events, settings); // Setting invalid package source collection (null) packageRepositories.RegisteredPackageSources = null; var packageRepositoriesSetting = settings.PackageRepositories; Assert.That(packageRepositoriesSetting, Is.Not.Null); // Must be 1, because DefaultRepository is always there... Assert.That(packageRepositoriesSetting.Count(), Is.EqualTo(1)); }