public void CopyPackageFiles() { IPackageRepository rep1 = new DirectoryPackageRepository("myrep1", IO.Path.Combine("Testdata", "packagerepository")); IPackageRepository rep2 = new DirectoryPackageRepository("myrep2", IO.Path.Combine("Testdata", "packagerepository2")); IPackageRepository rep = new MultiPackageRepository("myrep", rep1, rep2); string tmpdir = null; if (!PathExtensions.GetTempPath(out tmpdir)) { throw new Exception("Could not get tmpdir."); } // rep1 string destdir = IO.Path.Combine(tmpdir, "new_packagerepository", "package3"); IO.Directory.CreateDirectory(destdir); rep.CopyPackageFiles("package3", destdir); Assert.IsTrue(IO.Directory.Exists(destdir), "Package dir does not exist."); Assert.IsTrue(IO.File.Exists(IO.Path.Combine(destdir, "package.wpdef")), "Not all package files copied."); // rep2 destdir = IO.Path.Combine(tmpdir, "new_packagerepository", "package22"); IO.Directory.CreateDirectory(destdir); rep.CopyPackageFiles("package22", destdir); Assert.IsTrue(IO.Directory.Exists(destdir), "Package dir does not exist."); Assert.IsTrue(IO.File.Exists(IO.Path.Combine(destdir, "package.wpdef")), "Not all package files copied."); }
public void SerializeMultiPackageRepository() { // just make shure test works on different platforms string reppath = Path.GetTempPath(); string reppathuri = (new Uri(reppath)).AbsoluteUri; // here comes the test DirectoryPackageRepository repository1 = new DirectoryPackageRepository("myrep1", reppath); DirectoryPackageRepository repository2 = new DirectoryPackageRepository("myrep2", reppath); MultiPackageRepository repository = new MultiPackageRepository("myrep", repository1, repository2); string repositorystring = WaldiSerializer.Serialize(repository); string expected = "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<MultiPackageRepository xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\">\r\n <Name>myrep</Name>\r\n <Repositories>\r\n <DirectoryPackageRepository>\r\n <Name>myrep1</Name>\r\n <PackageDir>" + reppathuri + "</PackageDir>\r\n </DirectoryPackageRepository>\r\n <DirectoryPackageRepository>\r\n <Name>myrep2</Name>\r\n <PackageDir>" + reppathuri + "</PackageDir>\r\n </DirectoryPackageRepository>\r\n </Repositories>\r\n</MultiPackageRepository>"; Assert.AreEqual(expected, repositorystring); }
public void GetPackage() { IPackageRepository rep1 = new DirectoryPackageRepository("myrep1", IO.Path.Combine("Testdata", "packagerepository")); IPackageRepository rep2 = new DirectoryPackageRepository("myrep2", IO.Path.Combine("Testdata", "packagerepository2")); IPackageRepository rep = new MultiPackageRepository("myrep", rep1, rep2); // rep1 IPackage package = rep.GetPackage("package1"); Assert.IsNotNull(package); Assert.AreEqual("package1", package.Name); Assert.IsTrue(package.Versions.Contains("1.2")); // rep2 package = rep.GetPackage("package22"); Assert.IsNotNull(package); Assert.AreEqual("package22", package.Name); Assert.IsTrue(package.Versions.Contains("2.2")); }
public void GetPackages() { IPackageRepository rep1 = new DirectoryPackageRepository("myrep1", IO.Path.Combine("Testdata", "packagerepository")); IPackageRepository rep2 = new DirectoryPackageRepository("myrep2", IO.Path.Combine("Testdata", "packagerepository2")); IPackageRepository rep = new MultiPackageRepository("myrep", rep1, rep2); PackageList packages = rep.GetPackages(); Assert.IsNotNull(packages); Assert.AreEqual(6, packages.Count()); Assert.IsTrue(packages.Contains("package1")); Assert.IsTrue(packages.Contains("package2")); Assert.IsTrue(packages.Contains("package3")); Assert.IsTrue(packages.Contains("package4")); Assert.IsTrue(packages.Contains("package21")); Assert.IsTrue(packages.Contains("package22")); Assert.IsTrue(packages["package1"].Versions.Contains("1.1")); Assert.IsTrue(packages["package2"].Versions.Contains("2.1")); Assert.IsTrue(packages ["package3"].Dependencies.Contains("package4.feature2")); Assert.AreEqual("4.4", packages ["package3"].Dependencies["package4.feature2"].Version.Name); }
public void AddPackage() { IPackageRepository rep1 = new DirectoryPackageRepository("myrep1", IO.Path.Combine("Testdata", "packagerepository")); IPackageRepository rep2 = new DirectoryPackageRepository("myrep2", IO.Path.Combine("Testdata", "packagerepository2")); IPackageRepository rep = new MultiPackageRepository("myrep", rep1, rep2); BasicPackage package = new BasicPackage("mypackageNew1"); string tmpdir = null; if (!PathExtensions.GetTempPath(out tmpdir)) { throw new Exception("Could not get tmpdir."); } Assert.Throws <NotImplementedException>( delegate { rep.AddPackage(package, tmpdir); } ); }