public async Task GivenAMultipleSourcesVerifyInfosReturned()
        {
            var versions1 = new[]
            {
                NuGetVersion.Parse("1.0.0"),
                NuGetVersion.Parse("2.0.0"),
                NuGetVersion.Parse("3.0.0-beta"),
            };

            var versions2 = new[]
            {
                NuGetVersion.Parse("1.0.0")
            };

            var provider1 = GetProvider("http://nuget.org/a/", versions1);
            var provider2 = GetProvider("http://nuget.org/b/", versions2);

            var cacheContext      = new Mock <SourceCacheContext>();
            var remoteWalkContext = new RemoteWalkContext(cacheContext.Object, NullLogger.Instance);

            remoteWalkContext.RemoteLibraryProviders.Add(provider1.Object);
            remoteWalkContext.RemoteLibraryProviders.Add(provider2.Object);

            var infos = await UnresolvedMessages.GetSourceInfosForIdAsync("a", VersionRange.Parse("1.0.0"), remoteWalkContext, NullLogger.Instance, CancellationToken.None);

            infos.Count.Should().Be(2);
            infos[0].Value.ShouldBeEquivalentTo(versions1);
            infos[1].Value.ShouldBeEquivalentTo(versions2);
            infos[0].Key.Source.Should().Be("http://nuget.org/a/");
            infos[1].Key.Source.Should().Be("http://nuget.org/b/");
        }
예제 #2
0
        public async Task GivenAMultipleSourcesVerifyInfosReturned()
        {
            var versions1 = new[]
            {
                NuGetVersion.Parse("1.0.0"),
                NuGetVersion.Parse("2.0.0"),
                NuGetVersion.Parse("3.0.0-beta"),
            };

            var versions2 = new[]
            {
                NuGetVersion.Parse("1.0.0")
            };

            var provider1 = GetProvider("http://nuget.org/a/", versions1);
            var provider2 = GetProvider("http://nuget.org/b/", versions2);

            var cacheContext           = new Mock <SourceCacheContext>();
            var remoteLibraryProviders = new List <IRemoteDependencyProvider>()
            {
                provider1.Object, provider2.Object
            };

            List <KeyValuePair <PackageSource, SortedSet <NuGetVersion> > > infos = await UnresolvedMessages.GetSourceInfosForIdAsync(id : "a", remoteLibraryProviders : remoteLibraryProviders, sourceCacheContext : cacheContext.Object, logger : NullLogger.Instance, token : CancellationToken.None);

            infos.Count.Should().Be(2);
            infos[0].Value.Should().BeEquivalentTo(versions1);
            infos[1].Value.Should().BeEquivalentTo(versions2);
            infos[0].Key.Source.Should().Be("http://nuget.org/a/");
            infos[1].Key.Source.Should().Be("http://nuget.org/b/");
        }