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 AddPackage() { BasicPackage package = new BasicPackage("mypackageNew1") { Description = "mydescription", Url = "http://myurl.test/", IsMaster = true, SelectedVersion = new PackageVersion("2.4") }; package.Versions.Add(new PackageVersion("1.0")); package.Versions.Add(new PackageVersion("2.3")); package.Versions.Add(new PackageVersion("2.4")); package.Dependencies.Add(new Dependency("mypackage2.myfeature1")); package.Dependencies.Add(new Dependency("mypackage2.myfeature2")); package.Dependencies.Add(new Dependency("mypackage3.myfeature1")); package.Features.Add(new Feature("myfeature1")); package.Features.Add(new Feature("myfeature2")); string pkgdir = IO.Path.Combine("Testdata", "newpackagefiles"); string repdir = IO.Path.Combine("Testdata", "packagerepository"); IPackageRepository rep = new DirectoryPackageRepository("myrep", repdir); rep.AddPackage(package, pkgdir); rep.Refresh(); Assert.IsTrue(IO.Directory.Exists(IO.Path.Combine(repdir, "mypackageNew1")), "Package dir does not exist."); Assert.IsTrue(IO.File.Exists(IO.Path.Combine(repdir, "mypackageNew1", "mytemplate.cshtml")), "Package files do not exist."); Assert.IsTrue(IO.File.Exists(IO.Path.Combine(repdir, "mypackageNew1", "package.wpdef")), "Package definition file does not exist."); Assert.IsNotNull(rep.GetPackage("mypackageNew1"), "New package not found in repository."); }
public void GetPackage() { IPackageRepository rep = new DirectoryPackageRepository("myrep", IO.Path.Combine("Testdata", "packagerepository")); IPackage package = rep.GetPackage("package1"); Assert.IsNotNull(package); Assert.AreEqual("package1", package.Name); Assert.IsTrue(package.Versions.Contains("1.2")); }
public void Refresh() { BasicPackage package = new BasicPackage("mypackageNew1"); string pkgdir = IO.Path.Combine("Testdata", "newpackagefiles"); string repdir = IO.Path.Combine("Testdata", "packagerepository"); IPackageRepository rep = new DirectoryPackageRepository("myrep", repdir); Assert.IsNull(rep.GetPackage("mypackageNew1")); rep.AddPackage(package, pkgdir); rep.Refresh(); Assert.IsNotNull(rep.GetPackage("mypackageNew1")); }
public void SerializeDirectoryPackageRepository() { // just make shure test works on different platforms string reppath = Path.GetTempPath(); string reppathuri = (new Uri(reppath)).AbsoluteUri; // here comes the test DirectoryPackageRepository repository = new DirectoryPackageRepository("myrep", reppath); string repositorystring = WaldiSerializer.Serialize(repository); string expected = "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<DirectoryPackageRepository xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\">\r\n <Name>myrep</Name>\r\n <PackageDir>" + reppathuri + "</PackageDir>\r\n</DirectoryPackageRepository>"; Assert.AreEqual(expected, repositorystring); }
public void DeserializeDirectoryPackageRepositoryLocalUri() { string repositorystring = "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<DirectoryPackageRepository xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\">\r\n <Name>myrep</Name>\r\n <PackageDir>file://~/packages/</PackageDir>\r\n</DirectoryPackageRepository>"; string packagedir = Path.Combine(Directory.GetCurrentDirectory(), "packages"); if (!Directory.Exists(packagedir)) { Directory.CreateDirectory(packagedir); } DirectoryPackageRepository repository = WaldiSerializer.DeserializePackageRepository(repositorystring) as DirectoryPackageRepository; DirectoryPackageRepository expected = new DirectoryPackageRepository("myrep", packagedir); Assert.AreEqual(expected, repository); }
public void DeserializeMultiPackageRepository() { // just make shure test works on different platforms string reppath = Path.GetTempPath(); string reppathuri = (new Uri(reppath)).AbsoluteUri; // here comes the test string repositorystring = "<?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>"; MultiPackageRepository repository = WaldiSerializer.DeserializePackageRepository(repositorystring) as MultiPackageRepository; DirectoryPackageRepository expected1 = new DirectoryPackageRepository("myrep1", reppath); DirectoryPackageRepository expected2 = new DirectoryPackageRepository("myrep2", reppath); MultiPackageRepository expected = new MultiPackageRepository("myrep", expected1, expected2); Assert.AreEqual(expected, repository); }
public void GetPackages() { IPackageRepository rep = new DirectoryPackageRepository("myrep", IO.Path.Combine("Testdata", "packagerepository")); PackageList packages = rep.GetPackages(); Assert.IsNotNull(packages); Assert.AreEqual(4, 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["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); } ); }