예제 #1
0
        public void GivenFirstPartyPackageItShouldReturnTrue()
        {
            var iosSamplePackage     = DownloadSamplePackage(new PackageId("Microsoft.iOS.Ref"));
            var androidSamplePackage = DownloadSamplePackage(new PackageId("Microsoft.Android.Ref"));

            var package = new FirstPartyNuGetPackageSigningVerifier();

            package.IsFirstParty(new FilePath(iosSamplePackage)).Should().BeTrue();
            package.IsFirstParty(new FilePath(androidSamplePackage)).Should().BeTrue();
        }
예제 #2
0
        // https://aka.ms/netsdkinternal-certificate-rotate
        public void ItShouldHaveUpdateToDateCertificateSha()
        {
            var samplePackage = DownloadSamplePackage(new PackageId("Microsoft.iOS.Ref"));

            var    firstPartyNuGetPackageSigningVerifier = new FirstPartyNuGetPackageSigningVerifier();
            string shaFromPackage = GetShaFromSamplePackage(samplePackage);

            firstPartyNuGetPackageSigningVerifier._firstPartyCertificateThumbprints.Contains(shaFromPackage).Should()
            .BeTrue(
                $"Add {shaFromPackage} to the _firstPartyCertificateThumbprints of FirstPartyNuGetPackageSigningVerifier class. More info https://aka.ms/netsdkinternal-certificate-rotate");
        }
예제 #3
0
        // https://aka.ms/netsdkinternal-certificate-rotate
        public void ItShouldHaveUpdateToDateCertificateSha()
        {
            NuGetPackageDownloader nuGetPackageDownloader = new NuGetPackageDownloader(_tempDirectory, null,
                                                                                       new MockFirstPartyNuGetPackageSigningVerifier(),
                                                                                       _logger, restoreActionConfig: new RestoreActionConfig(NoCache: true));

            var samplePackage = ExponentialRetry.ExecuteWithRetry <string>(
                action: DownloadMostRecentSamplePackageFromPublicFeed,
                shouldStopRetry: result => result != null,
                maxRetryCount: 3,
                timer: () => ExponentialRetry.Timer(ExponentialRetry.Intervals),
                taskDescription: "Run command while retry transient restore error")
                                .ConfigureAwait(false).GetAwaiter().GetResult();

            string DownloadMostRecentSamplePackageFromPublicFeed()
            {
                try
                {
                    return(nuGetPackageDownloader.DownloadPackageAsync(
                               new PackageId("Microsoft.iOS.Ref"), null, includePreview: true,
                               packageSourceLocation: new PackageSourceLocation(
                                   sourceFeedOverrides: new[] { "https://api.nuget.org/v3/index.json" })).GetAwaiter()
                           .GetResult());
                }
                catch (Exception)
                {
                    return(null);
                }
            }

            var    firstPartyNuGetPackageSigningVerifier = new FirstPartyNuGetPackageSigningVerifier();
            string shaFromPackage = GetShaFromSamplePackage(samplePackage);

            firstPartyNuGetPackageSigningVerifier._firstPartyCertificateThumbprints.Contains(shaFromPackage).Should()
            .BeTrue(
                $"Add {shaFromPackage} to the _firstPartyCertificateThumbprints of FirstPartyNuGetPackageSigningVerifier class. More info https://aka.ms/netsdkinternal-certificate-rotate");
        }