Beispiel #1
0
 public NuGetPackageInstallerTests(ITestOutputHelper log) : base(log)
 {
     _tempDirectory = GetUniqueTempProjectPathEachTest();
     _logger        = new NuGetTestLogger();
     _installer     =
         new NuGetPackageDownloader(_tempDirectory, null, new MockFirstPartyNuGetPackageSigningVerifier(),
                                    _logger, restoreActionConfig: new RestoreActionConfig(NoCache: true));
 }
        public void GivenPackageNotInAllowListItCannotGetAllFilesNeedToSetExecutablePermission()
        {
            NuGetTestLogger        logger    = new NuGetTestLogger(Log);
            NuGetPackageDownloader installer =
                new NuGetPackageDownloader(new DirectoryPath(Directory.GetCurrentDirectory()), null, logger);
            var allFiles = new List <string>()
            {
                "/ExtractedPackage/Not.In.Allow.List.nuspec",
                "/ExtractedPackage/LICENSE",
                "/ExtractedPackage/PreserveLists/Java.Interop.xml",
                "/ExtractedPackage/tools/javadoc-to-mdoc.dll",
                "/ExtractedPackage/tools/javadoc-to-mdoc.runtimeconfig.json",
                "/ExtractedPackage/tools/Darwin/mono",
            };
            var result = installer.FindAllFilesNeedExecutablePermission(allFiles, "/ExtractedPackage");

            result.Should().BeEmpty("Not in allow list package");
        }
        public async Task ItCanExtractNugetPackage()
        {
            string                 packageId      = "Newtonsoft.Json";
            string                 packageVersion = "12.0.3";
            NuGetTestLogger        logger         = new NuGetTestLogger();
            NuGetPackageDownloader installer      =
                new NuGetPackageDownloader(new DirectoryPath(Directory.GetCurrentDirectory()), logger);
            string packagePath =
                await installer.DownloadPackageAsync(new PackageId(packageId), new NuGetVersion(packageVersion));

            string targetPath           = Path.Combine(Directory.GetCurrentDirectory(), "ExtractedPackage");
            IEnumerable <string> result = await installer.ExtractPackageAsync(packagePath, targetPath);

            Directory.Exists(targetPath).Should().BeTrue();
            string[] extractedFiles = Directory.GetFiles(targetPath, "*", SearchOption.AllDirectories);
            extractedFiles.Should().Contain(Path.Combine(targetPath, $"{packageId}.nuspec"));
            extractedFiles.Should().BeEquivalentTo(result);
        }
        public void ItCanGetAllFilesNeedToSetExecutablePermission()
        {
            NuGetTestLogger        logger    = new NuGetTestLogger(Log);
            NuGetPackageDownloader installer =
                new NuGetPackageDownloader(new DirectoryPath(Directory.GetCurrentDirectory()), null, logger);
            var allFiles = new List <string>()
            {
                "/ExtractedPackage/Microsoft.Android.Sdk.Darwin.nuspec",
                "/ExtractedPackage/LICENSE",
                "/ExtractedPackage/PreserveLists/Java.Interop.xml",
                "/ExtractedPackage/tools/javadoc-to-mdoc.dll",
                "/ExtractedPackage/tools/javadoc-to-mdoc.runtimeconfig.json",
                "/ExtractedPackage/tools/Darwin/mono",
            };
            var result = installer.FindAllFilesNeedExecutablePermission(allFiles, "/ExtractedPackage");

            result.Should().HaveCount(1);
            result.First().Value.Should().Be("/ExtractedPackage/tools/Darwin/mono",
                                             "file without extension under tools folder");
        }
        public async Task ItCanExtractNugetPackage()
        {
            string                 packageId      = "Newtonsoft.Json";
            string                 packageVersion = "12.0.3";
            NuGetTestLogger        logger         = new NuGetTestLogger(Log);
            NuGetPackageDownloader installer      =
                new NuGetPackageDownloader(new DirectoryPath(Directory.GetCurrentDirectory()), null,
                                           new MockFirstPartyNuGetPackageSigningVerifier(), logger, restoreActionConfig: new RestoreActionConfig(NoCache: true));
            string packagePath =
                await installer.DownloadPackageAsync(new PackageId(packageId), new NuGetVersion(packageVersion));

            string targetPath = Path.Combine(Path.Combine(Path.GetTempPath(), Path.GetRandomFileName()),
                                             "ExtractedPackage");
            IEnumerable <string> result = await installer.ExtractPackageAsync(packagePath, new DirectoryPath(targetPath));

            Directory.Exists(targetPath).Should().BeTrue();
            string[] extractedFiles = Directory.GetFiles(targetPath, "*", SearchOption.AllDirectories);
            extractedFiles.Should().Contain(Path.Combine(targetPath, $"{packageId}.nuspec"));
            extractedFiles.Should().BeEquivalentTo(result);
        }
Beispiel #6
0
 public NuGetPackageInstallerTests(ITestOutputHelper log) : base(log)
 {
     _tempDirectory = GetUniqueTempProjectPathEachTest();
     _logger        = new NuGetTestLogger();
     _installer     = new NuGetPackageDownloader(_tempDirectory, null, _logger);
 }