public void GetPackagesReturnsAllValidPackages() { // Arrange var fileSystem = new MockFileSystem("c:\\"); AddPackage(fileSystem, "A", "1.0"); AddPackage(fileSystem, "B", "1.0-alpha"); AddPackage(fileSystem, "C", "2.0.1-RC"); AddPackage(fileSystem, "D", "3.0"); // these are invalid packages (missing corresponding directory) fileSystem.AddFile("AA.2.0.nupkg"); fileSystem.AddFile("BB.4.0.nupkg"); fileSystem.CreateDirectory("BB.3.0"); var pathResolver = new DefaultPackagePathResolver("c:\\"); var repository = new UnzippedPackageRepository(pathResolver, fileSystem); // Act var packages = repository.GetPackages().ToList(); // Assert Assert.Equal(4, packages.Count); AssertPackage(packages[0], "A", new SemanticVersion("1.0")); AssertPackage(packages[1], "B", new SemanticVersion("1.0.0-alpha")); AssertPackage(packages[2], "C", new SemanticVersion("2.0.1-RC")); AssertPackage(packages[3], "D", new SemanticVersion("3.0")); }
public void FindPackageFindTheRightPackage() { // Arrange var fileSystem = new MockFileSystem("c:\\"); AddPackage(fileSystem, "A", "1.0"); AddPackage(fileSystem, "B", "1.0-alpha"); AddPackage(fileSystem, "C", "2.0.1-RC"); AddPackage(fileSystem, "D", "3.0"); // these are invalid packages (missing corresponding directory) fileSystem.AddFile("AA.2.0.nupkg"); fileSystem.AddFile("BB.4.0.nupkg"); fileSystem.CreateDirectory("BB.3.0"); var pathResolver = new DefaultPackagePathResolver("c:\\"); var repository = new UnzippedPackageRepository(pathResolver, fileSystem); // Act var packageA = repository.FindPackage("A", new SemanticVersion("1.0")); var packageB = repository.FindPackage("B", new SemanticVersion("1.0-alpha")); // Assert AssertPackage(packageA, "A", new SemanticVersion("1.0")); AssertPackage(packageB, "B", new SemanticVersion("1.0.0-alpha")); }
public void FindPackageReturnsNullForNonExistingPackage() { // Arrange var fileSystem = new MockFileSystem("c:\\"); AddPackage(fileSystem, "A", "1.0"); AddPackage(fileSystem, "B", "1.0-alpha"); AddPackage(fileSystem, "C", "2.0.1-RC"); AddPackage(fileSystem, "D", "3.0"); // these are invalid packages (missing corresponding directory) fileSystem.AddFile("AA.2.0.nupkg"); fileSystem.AddFile("BB.4.0.nupkg"); fileSystem.CreateDirectory("BB.3.0"); var pathResolver = new DefaultPackagePathResolver("c:\\"); var repository = new UnzippedPackageRepository(pathResolver, fileSystem); // Act var packageA = repository.FindPackage("A", new SemanticVersion("2.0")); var packageB = repository.FindPackage("BBB", new SemanticVersion("1.0-alpha")); // Assert Assert.Null(packageA); Assert.Null(packageB); }
public void GetPackagesReturnsAllValidPackages() { // Arrange var fileSystem = new MockFileSystem("c:\\"); AddPackage(fileSystem, "A", "1.0"); AddPackage(fileSystem, "B", "1.0-alpha"); AddPackage(fileSystem, "C", "2.0.1-RC"); AddPackage(fileSystem, "D", "3.0"); // these are invalid packages (missing corresponding directory) fileSystem.AddFile("AA.2.0.nupkg"); fileSystem.AddFile("BB.4.0.nupkg"); fileSystem.CreateDirectory("BB.3.0"); var pathResolver = new DefaultPackagePathResolver("c:\\"); var repository = new UnzippedPackageRepository(pathResolver, fileSystem); // Act var packages = repository.GetPackages().ToList(); // Assert Assert.Equal(4, packages.Count); AssertPackage(packages[0], "A", new SemanticVersion("1.0")); AssertPackage(packages[1], "B", new SemanticVersion("1.0.0-alpha")); AssertPackage(packages[2], "C", new SemanticVersion("2.0.1-RC")); AssertPackage(packages[3], "D", new SemanticVersion("3.0")); }
public void SupportsPrereleasePackagesReturnsTrue() { // Arrange var fileSystem = new MockFileSystem("c:\\"); var pathResolver = new DefaultPackagePathResolver("c:\\"); // Act var repository = new UnzippedPackageRepository(pathResolver, fileSystem); // Assert Assert.True(repository.SupportsPrereleasePackages); }
public void SupportsPrereleasePackagesReturnsTrue() { // Arrange var fileSystem = new MockFileSystem("c:\\"); var pathResolver = new DefaultPackagePathResolver("c:\\"); // Act var repository = new UnzippedPackageRepository(pathResolver, fileSystem); // Assert Assert.True(repository.SupportsPrereleasePackages); }
public void GetPackagePublishedTime() { // Arrange var fileSystem = new MockFileSystem("c:\\"); AddPackage(fileSystem, "A", "1.0"); // Act var pathResolver = new DefaultPackagePathResolver("c:\\"); var repository = new UnzippedPackageRepository(pathResolver, fileSystem); var packages = repository.GetPackages().ToList(); // Assert var time = fileSystem.GetLastModified(@"A.1.0\A.1.0.nuspec"); Assert.Equal(time, packages[0].Published); }
public override async Task <bool> Exists(PackageIdentity identity, bool includeUnlisted, CancellationToken token) { token.ThrowIfCancellationRequested(); bool exists = false; SemanticVersion version = SemanticVersion.Parse(identity.Version.ToString()); if (V2Client is LocalPackageRepository) { LocalPackageRepository lrepo = V2Client as LocalPackageRepository; //Using Path resolver doesnt work. It doesnt consider the subfolders present inside the source directory. Hence using PackageLookupPaths. //return new Uri(Path.Combine(V2Client.Source, lrepo.PathResolver.GetPackageFileName(identity.Id, semVer))); //Using version.ToString() as version.Version gives the normalized string even if the nupkg has unnormalized version in its path. List <string> paths = lrepo.GetPackageLookupPaths(identity.Id, new SemanticVersion(identity.Version.ToString())).ToList(); exists = paths.Any(path => File.Exists(Path.Combine(V2Client.Source, path))); } else if (V2Client is UnzippedPackageRepository) { UnzippedPackageRepository repo = V2Client as UnzippedPackageRepository; // only works for exact version string matches if (repo.Exists(identity.Id, version)) { exists = true; } else { // check for non-exact version string matches exists = repo.FindPackagesById(identity.Id).Any(p => p.Version == version); } } else { // perform a normal exists check exists = V2Client.Exists(identity.Id, version); } return(exists); }
public void GetPackagePublishedTime() { // Arrange var fileSystem = new MockFileSystem("c:\\"); AddPackage(fileSystem, "A", "1.0"); // Act var pathResolver = new DefaultPackagePathResolver("c:\\"); var repository = new UnzippedPackageRepository(pathResolver, fileSystem); var packages = repository.GetPackages().ToList(); // Assert var time = fileSystem.GetLastModified(@"A.1.0\A.1.0.nuspec"); Assert.Equal(time, packages[0].Published); }