Пример #1
0
        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"));
        }
Пример #5
0
        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);
        }
Пример #6
0
        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);
        }
Пример #7
0
        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);
        }
Пример #9
0
        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);
            }
                );
        }