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); }
public NuGetPackageInstallerTests(ITestOutputHelper log) : base(log) { _tempDirectory = GetUniqueTempProjectPathEachTest(); _logger = new NuGetTestLogger(); _installer = new NuGetPackageDownloader(_tempDirectory, null, _logger); }