Exemple #1
0
        /// <summary>
        /// Core V2 + Core V3 + VS
        /// </summary>
        public static IEnumerable <Lazy <INuGetResourceProvider> > GetVisualStudio(this Repository.ProviderFactory factory)
        {
            yield return(new Lazy <INuGetResourceProvider>(() => new PowerShellAutoCompleteResourceV2Provider()));

            yield return(new Lazy <INuGetResourceProvider>(() => new PSSearchResourceV2Provider()));

            yield return(new Lazy <INuGetResourceProvider>(() => new PSSearchResourceV3Provider()));

            yield return(new Lazy <INuGetResourceProvider>(() => new PSAutoCompleteResourceV3Provider()));

            yield return(new Lazy <INuGetResourceProvider>(() => new UIMetadataResourceV2Provider()));

            yield return(new Lazy <INuGetResourceProvider>(() => new UIMetadataResourceV3Provider()));

            yield return(new Lazy <INuGetResourceProvider>(() => new UISearchResourceV2Provider()));

            yield return(new Lazy <INuGetResourceProvider>(() => new UISearchResourceV3Provider()));

            foreach (var provider in Repository.Provider.GetCoreV2())
            {
                yield return(provider);
            }

            foreach (var provider in Repository.Provider.GetCoreV3())
            {
                yield return(provider);
            }

            yield break;
        }
        public static IEnumerable <Lazy <INuGetResourceProvider> > GetCoreV3(this Repository.ProviderFactory factory)
        {
            yield return(new Lazy <INuGetResourceProvider>(() => new DependencyInfoResourceV3Provider()));

            yield return(new Lazy <INuGetResourceProvider>(() => new DownloadResourceV3Provider()));

            yield return(new Lazy <INuGetResourceProvider>(() => new HttpHandlerResourceV3Provider()));

            yield return(new Lazy <INuGetResourceProvider>(() => new MetadataResourceV3Provider()));

            yield return(new Lazy <INuGetResourceProvider>(() => new RawSearchResourceV3Provider()));

            yield return(new Lazy <INuGetResourceProvider>(() => new RegistrationResourceV3Provider()));

            yield return(new Lazy <INuGetResourceProvider>(() => new ReportAbuseResourceV3Provider()));

            yield return(new Lazy <INuGetResourceProvider>(() => new SearchLatestResourceV3Provider()));

            yield return(new Lazy <INuGetResourceProvider>(() => new ServiceIndexResourceV3Provider()));

            yield return(new Lazy <INuGetResourceProvider>(() => new SimpleSearchResourceV3Provider()));

            yield return(new Lazy <INuGetResourceProvider>(() => new HttpFileSystemBasedFindPackageByIdResourceProvider()));

            yield return(new Lazy <INuGetResourceProvider>(() => new RemoteV3FindPackagePackageByIdResourceProvider()));

            yield return(new Lazy <INuGetResourceProvider>(() => new RemoteV2FindPackageByIdResourceProvider()));

            yield return(new Lazy <INuGetResourceProvider>(() => new LocalV3FindPackageByIdResourceProvider()));

            yield return(new Lazy <INuGetResourceProvider>(() => new LocalV2FindPackageByIdResourceProvider()));

            yield break;
        }
Exemple #3
0
        public void CustomProviderFactory_HasSameProvidersAsDefault_ExceptHttpHandlerResourceProvider()
        {
            bool customHttpHandlerResourceV3Provider = false;
            var  customProviderItems  = new List <string> ();
            var  defaultProviderItems = new List <string> ();

            // Touch the MonoDevelopNuGetResourceProviderFactory so it initializes the NuGet Respository.Provider.
            // The NuGet addin uses MonoDevelopNuGetResourceProviderFactory directly some parts of NuGet create
            // new SourceRepository instances using Repository.Provider directory.
            var _ = MonoDevelopNuGetResourceProviderFactory.GetProviders();

            foreach (Lazy <INuGetResourceProvider> item in Repository.Provider.GetCoreV3())
            {
                Type type = item.Value.GetType();
                if (type == typeof(MonoDevelopHttpHandlerResourceV3Provider))
                {
                    type = typeof(HttpHandlerResourceV3Provider);
                    customHttpHandlerResourceV3Provider = true;
                }
                customProviderItems.Add(type.Name);
            }

            var defaultProviderFactory = new Repository.ProviderFactory();

            foreach (Lazy <INuGetResourceProvider> item in defaultProviderFactory.GetCoreV3())
            {
                Type type = item.Value.GetType();
                defaultProviderItems.Add(type.Name);
            }

            Assert.AreEqual(defaultProviderItems, customProviderItems);
            Assert.IsTrue(customHttpHandlerResourceV3Provider, "Custom MonoDevelopHttpHandlerResourceV3Provider not used");
        }
Exemple #4
0
 public static IEnumerable <Lazy <INuGetResourceProvider> > GetMonoDevelop(this Repository.ProviderFactory factory)
 {
     foreach (Lazy <INuGetResourceProvider> item in Repository.Provider.GetMonoDevelopCoreV3())
     {
         yield return(item);
     }
 }
Exemple #5
0
        public void Provider_Always_ReturnsSameInstance()
        {
            Repository.ProviderFactory instance0 = Repository.Provider;
            Repository.ProviderFactory instance1 = Repository.Provider;

            Assert.Same(instance0, instance1);
        }
        public static IEnumerable <Lazy <INuGetResourceProvider> > GetCoreV2(this Repository.ProviderFactory factory)
        {
            yield return(new Lazy <INuGetResourceProvider>(() => new PackageRepositoryResourceV2Provider()));

            yield return(new Lazy <INuGetResourceProvider>(() => new ListCommandResourceV2Provider()));

            yield break;
        }
Exemple #7
0
        public static IEnumerable <Lazy <INuGetResourceProvider> > GetCoreV3(this Repository.ProviderFactory factory)
        {
            if (factory == null)
            {
                throw new ArgumentNullException(nameof(factory));
            }

            return(factory.GetCoreV3());
        }
Exemple #8
0
        /// <summary>
        /// Creates an instance of the requested <see cref="INuGetResource"/>.
        /// </summary>
        /// <typeparam name="TResource">Type of <see cref="INuGetResource"/> to be instantiated.</typeparam>
        /// <param name="factory">Instance of <see cref="Repository.ProviderFactory"/>.</param>
        /// <returns>Instance of <typeparam name="TResource"></typeparam>.</returns>
        public static async Task <TResource> GetResourceAsync <TResource>(this Repository.ProviderFactory factory)
            where TResource : class, INuGetResource
        {
            var providers        = factory.GetPageableCoreV3();
            var packageSource    = new PackageSource(Settings.NugetPackageUri);
            var sourceRepository = new SourceRepository(packageSource, providers);

            return(await sourceRepository.GetResourceAsync <TResource>());
        }
        /// <summary>
        /// Core V2 + Core V3 + VS
        /// </summary>
        public static IEnumerable <Lazy <INuGetResourceProvider> > GetVisualStudio(this Repository.ProviderFactory factory)
        {
            foreach (var provider in Repository.Provider.GetCoreV3())
            {
                yield return(provider);
            }

            yield break;
        }
Exemple #10
0
        public void Provider_WhenSetting_SetsFactory()
        {
            // It's important to test robustness that we use the same type as the default.
            var newProviderFactory = new Repository.ProviderFactory();

            Repository.Provider = newProviderFactory;

            Assert.Same(newProviderFactory, Repository.Provider);
        }
Exemple #11
0
        /// <summary>
        /// Core V3 + PowerShell
        /// </summary>
        public static IEnumerable <Lazy <INuGetResourceProvider> > GetPowerShell(this Repository.ProviderFactory factory)
        {
            yield return(new Lazy <INuGetResourceProvider>(() => new PowerShellSearchResourceProvider()));

            foreach (Lazy <INuGetResourceProvider> provider in Repository.Provider.GetCoreV3())
            {
                yield return(provider);
            }

            yield break;
        }
        /// <summary>
        /// Core V3 + ApiApps
        /// </summary>
        public static IEnumerable <Lazy <INuGetResourceProvider> > GetApiApps(this Repository.ProviderFactory factory)
        {
            yield return(new Lazy <INuGetResourceProvider>(() => new ApiAppSearchResourceProvider()));

            yield return(new Lazy <INuGetResourceProvider>(() => new ServiceIndexResourceV3Provider()));

            yield return(new Lazy <INuGetResourceProvider>(() => new MetadataResourceV3Provider()));

            yield return(new Lazy <INuGetResourceProvider>(() => new MetadataResourceV3Provider()));

            yield break;
        }
Exemple #13
0
        /// <summary>
        /// Provides standard V3 core provides except that it overrides the default <see cref="PackageSearchResourceV3Provider"/>
        /// with <see cref="PackageSearchResourceEnhancedV3Provider"/> that includes that top level result details such as
        /// the total number of results, last reopen date and time, and the name of the index used for the search.
        /// </summary>
        /// <param name="factory">Instance of <see cref="Repository.ProviderFactory"/>.</param>
        /// <returns>Instance of <see cref="IEnumerable{INuGetResourceProvider}"/> containing the provider instance.</returns>
        public static IEnumerable <INuGetResourceProvider> GetPageableCoreV3(this Repository.ProviderFactory factory)
        {
            // Return each of the standard core providers, but we are going to replace the standard PackageSearchResourceV3Provider
            // with our own custom implementation that will surface the statistics for each package search request. So return all
            // providers except that default PackageSearchResourceV3Provider because we'll return it seperately.
            foreach (var provider in Repository.Provider.GetCoreV3().Where(p => p.Value.ResourceType != typeof(PackageSearchResourceV3Provider)).Select(p => p.Value))
            {
                yield return(provider);
            }

            yield return(new PackageSearchResourceEnhancedV3Provider());
        }
        public static IEnumerable <Lazy <INuGetResourceProvider> > GetCoreV2(this Repository.ProviderFactory factory)
        {
            yield return(new Lazy <INuGetResourceProvider>(() => new DependencyInfoResourceV2Provider()));

            yield return(new Lazy <INuGetResourceProvider>(() => new DownloadResourceV2Provider()));

            yield return(new Lazy <INuGetResourceProvider>(() => new MetadataResourceV2Provider()));

            yield return(new Lazy <INuGetResourceProvider>(() => new PackageRepositoryResourceV2Provider()));

            yield return(new Lazy <INuGetResourceProvider>(() => new SearchLatestResourceV2Provider()));

            yield return(new Lazy <INuGetResourceProvider>(() => new SimpleSearchResourceV2Provider()));

            yield break;
        }
Exemple #15
0
        public static IEnumerable <Lazy <INuGetResourceProvider> > GetCoreV3(this Repository.ProviderFactory factory)
        {
            yield return(new Lazy <INuGetResourceProvider>(() => new FeedTypeResourceProvider()));

            yield return(new Lazy <INuGetResourceProvider>(() => new DependencyInfoResourceV3Provider()));

            yield return(new Lazy <INuGetResourceProvider>(() => new DownloadResourcePluginProvider()));

            yield return(new Lazy <INuGetResourceProvider>(() => new DownloadResourceV3Provider()));

            yield return(new Lazy <INuGetResourceProvider>(() => new MetadataResourceV3Provider()));

            yield return(new Lazy <INuGetResourceProvider>(() => new RawSearchResourceV3Provider()));

            yield return(new Lazy <INuGetResourceProvider>(() => new RegistrationResourceV3Provider()));

            yield return(new Lazy <INuGetResourceProvider>(() => new ReportAbuseResourceV3Provider()));

            yield return(new Lazy <INuGetResourceProvider>(() => new ServiceIndexResourceV3Provider()));

            yield return(new Lazy <INuGetResourceProvider>(() => new ODataServiceDocumentResourceV2Provider()));

            yield return(new Lazy <INuGetResourceProvider>(() => new HttpHandlerResourceV3Provider()));

            yield return(new Lazy <INuGetResourceProvider>(() => new HttpSourceResourceProvider()));

            yield return(new Lazy <INuGetResourceProvider>(() => new PluginFindPackageByIdResourceProvider()));

            yield return(new Lazy <INuGetResourceProvider>(() => new HttpFileSystemBasedFindPackageByIdResourceProvider()));

            yield return(new Lazy <INuGetResourceProvider>(() => new RemoteV3FindPackageByIdResourceProvider()));

            yield return(new Lazy <INuGetResourceProvider>(() => new RemoteV2FindPackageByIdResourceProvider()));

            yield return(new Lazy <INuGetResourceProvider>(() => new LocalV3FindPackageByIdResourceProvider()));

            yield return(new Lazy <INuGetResourceProvider>(() => new LocalV2FindPackageByIdResourceProvider()));

            yield return(new Lazy <INuGetResourceProvider>(() => new PackageUpdateResourceV2Provider()));

            yield return(new Lazy <INuGetResourceProvider>(() => new PackageUpdateResourceV3Provider()));

            yield return(new Lazy <INuGetResourceProvider>(() => new DependencyInfoResourceV2FeedProvider()));

            yield return(new Lazy <INuGetResourceProvider>(() => new DownloadResourceV2FeedProvider()));

            yield return(new Lazy <INuGetResourceProvider>(() => new MetadataResourceV2FeedProvider()));

            yield return(new Lazy <INuGetResourceProvider>(() => new V3FeedListResourceProvider()));

            yield return(new Lazy <INuGetResourceProvider>(() => new V2FeedListResourceProvider()));

            yield return(new Lazy <INuGetResourceProvider>(() => new LocalPackageListResourceProvider()));

            yield return(new Lazy <INuGetResourceProvider>(() => new PackageSearchResourceV2FeedProvider()));

            yield return(new Lazy <INuGetResourceProvider>(() => new PackageSearchResourceV3Provider()));

            yield return(new Lazy <INuGetResourceProvider>(() => new PackageMetadataResourceV2FeedProvider()));

            yield return(new Lazy <INuGetResourceProvider>(() => new PackageMetadataResourceV3Provider()));

            yield return(new Lazy <INuGetResourceProvider>(() => new AutoCompleteResourceV2FeedProvider()));

            yield return(new Lazy <INuGetResourceProvider>(() => new AutoCompleteResourceV3Provider()));

            yield return(new Lazy <INuGetResourceProvider>(() => new PluginResourceProvider()));

            yield return(new Lazy <INuGetResourceProvider>(() => new RepositorySignatureResourceProvider()));

            // Local repository providers
            yield return(new Lazy <INuGetResourceProvider>(() => new FindLocalPackagesResourceUnzippedProvider()));

            yield return(new Lazy <INuGetResourceProvider>(() => new FindLocalPackagesResourceV2Provider()));

            yield return(new Lazy <INuGetResourceProvider>(() => new FindLocalPackagesResourceV3Provider()));

            yield return(new Lazy <INuGetResourceProvider>(() => new FindLocalPackagesResourcePackagesConfigProvider()));

            yield return(new Lazy <INuGetResourceProvider>(() => new LocalAutoCompleteResourceProvider()));

            yield return(new Lazy <INuGetResourceProvider>(() => new LocalDependencyInfoResourceProvider()));

            yield return(new Lazy <INuGetResourceProvider>(() => new LocalDownloadResourceProvider()));

            yield return(new Lazy <INuGetResourceProvider>(() => new LocalMetadataResourceProvider()));

            yield return(new Lazy <INuGetResourceProvider>(() => new LocalPackageMetadataResourceProvider()));

            yield return(new Lazy <INuGetResourceProvider>(() => new LocalPackageSearchResourceProvider()));

            yield break;
        }
Exemple #16
0
        public void Provider_WhenGetting_ReturnsDefault()
        {
            Repository.ProviderFactory provider = Repository.Provider;

            Assert.Equal(typeof(Repository.ProviderFactory).FullName, provider.GetType().FullName);
        }