Beispiel #1
0
        public void Publish(string filePath)
        {
            NuGet.Packaging.Core.PackageIdentity packageIdentity;

            using (var stream = File.OpenRead(filePath))
                packageIdentity = new NuGet.Packaging.PackageArchiveReader(stream, false).NuspecReader.GetIdentity();

            var packageSearch = _sourceRepository.GetResource <FindPackageByIdResource>();
            var versions      = packageSearch.GetAllVersionsAsync(packageIdentity.Id, NullSourceCacheContext.Instance, NullLogger.Instance, CancellationToken.None).Result;

            var packageUpdate = _sourceRepository.GetResource <PackageUpdateResource>();

            var comparer = new VersionComparerExtended(VersionComparer.Pundit);

            foreach (var version in versions)
            {
                if (comparer.Equals(packageIdentity.Version, version))
                {
                    packageUpdate.Delete(packageIdentity.Id, version.ToString(),
                                         endpoint => GetApiKey(),
                                         confirm => true, true, NullLogger.Instance).Wait();
                }
            }

            packageUpdate.Push(filePath, null, (int)TimeOut.TotalSeconds, true,
                               endpoint => GetApiKey(),
                               symbolsEndpoint => null,
                               true, NullLogger.Instance).Wait();
        }
        public void Compare_VersionRelease_Test(string version1, string version2, int expected)
        {
            var v1 = NuGet.Versioning.NuGetVersion.Parse(version1);
            var v2 = NuGet.Versioning.NuGetVersion.Parse(version2);

            var comparer = new VersionComparerExtended(VersionComparer.VersionRelease);

            var result        = comparer.Compare(v1, v2);
            var resultInverse = comparer.Compare(v2, v1);

            if (expected == 0)
            {
                Assert.Equal(0, result);
                Assert.Equal(0, resultInverse);
            }
            else if (expected < 0)
            {
                Assert.InRange(result, int.MinValue, -1);
                Assert.InRange(resultInverse, 1, int.MaxValue);
            }
            else
            {
                Assert.InRange(result, 1, int.MaxValue);
                Assert.InRange(resultInverse, int.MinValue, -1);
            }
        }