Пример #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.");
        }
Пример #2
0
        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);
        }
Пример #3
0
        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"));
        }
Пример #4
0
        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);
        }
Пример #5
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);
            }
                );
        }