/// <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; }
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"); }
public static IEnumerable <Lazy <INuGetResourceProvider> > GetMonoDevelop(this Repository.ProviderFactory factory) { foreach (Lazy <INuGetResourceProvider> item in Repository.Provider.GetMonoDevelopCoreV3()) { yield return(item); } }
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; }
public static IEnumerable <Lazy <INuGetResourceProvider> > GetCoreV3(this Repository.ProviderFactory factory) { if (factory == null) { throw new ArgumentNullException(nameof(factory)); } return(factory.GetCoreV3()); }
/// <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; }
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); }
/// <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; }
/// <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; }
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; }
public void Provider_WhenGetting_ReturnsDefault() { Repository.ProviderFactory provider = Repository.Provider; Assert.Equal(typeof(Repository.ProviderFactory).FullName, provider.GetType().FullName); }