public void GetPackages_SkipsPackagesWithoutHashFile() { // Arrange var barPackage = new PackageBuilder { Id = "Foo", Version = new SemanticVersion("1.0.0-beta1-345"), Description = "Some description", }; barPackage.Authors.Add("test author"); barPackage.Files.Add( PackageUtility.CreateMockedPackageFile(@"lib\net45", "Foo.dll", "lib contents").Object); var fileSystem = new MockFileSystem(); fileSystem.AddFile(Path.Combine(Path.Combine("Foo", "1.0.0", "Foo.1.0.0.nupkg"), "")); var barRoot = Path.Combine("Bar", "1.0.0-beta1-345"); fileSystem.AddFile(Path.Combine(barRoot, "Bar.nuspec"), @"<?xml version=""1.0""?><package><metadata><id>Bar</id><version>1.0.0.0-beta1-345</version><authors>None</authors><description>None</description></metadata></package>"); fileSystem.AddFile(Path.Combine(barRoot, "Bar.1.0.0-beta1-345.nupkg.sha512")); fileSystem.AddFile(Path.Combine(barRoot, "Bar.1.0.0-beta1-345.nupkg"), GetPackageStream(barPackage)); var repository = new ExpandedPackageRepository(fileSystem); // Act var packages = repository.GetPackages().ToList(); // Assert var package = Assert.Single(packages); Assert.Equal("Bar", package.Id); Assert.Equal(new SemanticVersion("1.0.0-beta1-345"), package.Version); }
private static IPackage GetPackage() { var packageBuilder = new PackageBuilder { Id = "MyPackage", Version = new SemanticVersion("1.0.0-beta2"), Description = "Test description", }; packageBuilder.Authors.Add("test"); packageBuilder.Files.Add( PackageUtility.CreateMockedPackageFile(@"lib\net40", "MyPackage.dll", "lib contents").Object); var memoryStream = new MemoryStream(); packageBuilder.Save(memoryStream); memoryStream.Seek(0, SeekOrigin.Begin); return(new ZipPackage(memoryStream.ToStreamFactory(), enableCaching: false)); }
private static IPackage GetPackage() { var packageBuilder = new PackageBuilder { Id = "MyPackage", Version = new SemanticVersion("1.0.0-beta2"), Description = "Test description", }; packageBuilder.Authors.Add("test"); packageBuilder.Files.Add( PackageUtility.CreateMockedPackageFile(@"content\net40\App_Code", "PreapplicationStartCode.cs", content: "Preapplication content").Object); packageBuilder.Files.Add( PackageUtility.CreateMockedPackageFile(@"tools\net40", "package.targets", "package.targets content").Object); packageBuilder.Files.Add( PackageUtility.CreateMockedPackageFile(@"lib\net40", "MyPackage.dll", "lib contents").Object); return(new ZipPackage(GetPackageStream(packageBuilder).ToStreamFactory(), enableCaching: false)); }
public void GetPackages_ReturnsAllPackagesInsideDirectory() { // Arrange var fooPackage = new PackageBuilder { Id = "Foo", Version = new SemanticVersion("1.0.0"), Description = "Some description", }; fooPackage.Authors.Add("test author"); fooPackage.Files.Add( PackageUtility.CreateMockedPackageFile(@"lib\net40", "Foo.dll", "lib contents").Object); var barPackage = new PackageBuilder { Id = "Bar", Version = new SemanticVersion("1.0.0-beta1"), Description = "Some description", }; barPackage.Authors.Add("test author"); barPackage.Files.Add( PackageUtility.CreateMockedPackageFile("", "README.md", "lib contents").Object); barPackage.Files.Add( PackageUtility.CreateMockedPackageFile(@"content", "qwerty.js", "bar contents").Object); barPackage.Files.Add( PackageUtility.CreateMockedPackageFile(@"lib\net451", "test.dll", "test-dll").Object); var fileSystem = new MockFileSystem(); var fooRoot = Path.Combine("Foo", "1.0.0"); fileSystem.AddFile(Path.Combine(fooRoot, "Foo.nuspec"), @"<?xml version=""1.0""?><package><metadata><id>Foo</id><version>1.0.0</version><authors>None</authors><description>None</description></metadata></package>"); fileSystem.AddFile(Path.Combine("Foo", "1.0.0", "Foo.1.0.0.nupkg.sha512"), "Foo-sha"); fileSystem.AddFile(Path.Combine("Foo", "1.0.0", "Foo.1.0.0.nupkg"), GetPackageStream(fooPackage)); var barRoot = Path.Combine("Bar", "1.0.0-beta1"); fileSystem.AddFile(Path.Combine(barRoot, "Bar.nuspec"), @"<?xml version=""1.0""?><package><metadata><id>Bar</id><version>1.0.0.0-beta1</version><authors>None</authors><description>None</description></metadata></package>"); fileSystem.AddFile(Path.Combine("Bar", "1.0.0-beta1", "Bar.1.0.0-beta1.nupkg.sha512"), "bar-sha"); fileSystem.AddFile(Path.Combine("Bar", "1.0.0-beta1", "Bar.1.0.0-beta1.nupkg"), GetPackageStream(barPackage)); var repository = new ExpandedPackageRepository(fileSystem); // Act var packages = repository.GetPackages().ToList(); // Assert Assert.Equal(2, packages.Count); var package = packages[0]; Assert.Equal("Foo", package.Id); Assert.Equal(new SemanticVersion("1.0.0"), package.Version); var packageFile = Assert.Single(package.GetFiles()); Assert.Equal(@"lib\net40\Foo.dll", packageFile.Path); Assert.Equal(".NETFramework,Version=v4.0", packageFile.TargetFramework.FullName); package = packages[1]; Assert.Equal("Bar", package.Id); Assert.Equal(new SemanticVersion("1.0.0-beta1"), package.Version); var files = package.GetFiles().OrderBy(p => p.Path.Length).ToList(); Assert.Equal(3, files.Count); Assert.Equal(@"README.md", files[0].Path); packageFile = files[1]; Assert.Equal(@"content\qwerty.js", packageFile.Path); Assert.Null(packageFile.TargetFramework); packageFile = files[2]; Assert.Equal(@"lib\net451\test.dll", packageFile.Path); Assert.Equal(".NETFramework,Version=v4.5.1", packageFile.TargetFramework.FullName); }