public void PassThroughSerialisation()
        {
            TestHelpers.EnsureLanguageIsValid();
            var package = new PackageDetails();
            var theName = "the name";
            var theBuild = "buildLabel.x";
            var theDate = new DateTime(2010, 1, 1);
            var theSize = 123456;
            var theCount = 4;
            var theFile = "The Name of Some file";

            package.Name = theName;
            package.BuildLabel = theBuild;
            package.DateTime = theDate;
            package.Size = theSize;
            package.NumberOfFiles = theCount;
            package.FileName = theFile;
            var result = TestHelpers.RunSerialisationTest(package);

            Assert.IsNotNull(result);
            Assert.IsInstanceOf<PackageDetails>(result);
            var actualPackage = result as PackageDetails;
            Assert.AreEqual(theName, actualPackage.Name);
            Assert.AreEqual(theBuild, actualPackage.BuildLabel);
            Assert.AreEqual(theDate, actualPackage.DateTime);
            Assert.AreEqual(theSize, actualPackage.Size);
            Assert.AreEqual(theCount, actualPackage.NumberOfFiles);
            Assert.AreEqual(theFile, actualPackage.FileName);
        }
        public void AllPropertiesCanBeSetAndRetrieved()
        {
            var package = new PackageDetails();
            var theName = "the name";
            var theBuild = "buildLabel.x";
            var theDate = new DateTime(2010, 1, 1);
            var theSize = 123456;
            var theCount = 4;
            var theFile = "The Name of Some file";

            package.Name = theName;
            package.BuildLabel = theBuild;
            package.DateTime = theDate;
            package.Size = theSize;
            package.NumberOfFiles = theCount;
            package.FileName = theFile;

            Assert.AreEqual(theName, package.Name);
            Assert.AreEqual(theBuild, package.BuildLabel);
            Assert.AreEqual(theDate, package.DateTime);
            Assert.AreEqual(theSize, package.Size);
            Assert.AreEqual(theCount, package.NumberOfFiles);
            Assert.AreEqual(theFile, package.FileName);
        }
示例#3
0
 private List<PackageDetails> LoadPackageList(string fileName)
 {
     List<PackageDetails> packages = new List<PackageDetails>();
     if (File.Exists(fileName))
     {
         XmlDocument packageList = new XmlDocument();
         packageList.Load(fileName);
         foreach (XmlElement packageElement in packageList.SelectNodes("/packages/package"))
         {
             string packageFileName = packageElement.GetAttribute("file");
             packageFileName = packageFileName.Replace(ArtifactDirectory, string.Empty);
             if (packageFileName.StartsWith("\\")) packageFileName = packageFileName.Substring(1);
             PackageDetails details = new PackageDetails(packageFileName);
             details.Name = packageElement.GetAttribute("name");
             details.BuildLabel = packageElement.GetAttribute("label");
             details.DateTime = DateTime.Parse(packageElement.GetAttribute("time"), CultureInfo.CurrentCulture);
             details.NumberOfFiles = Convert.ToInt32(packageElement.GetAttribute("files"), CultureInfo.CurrentCulture);
             details.Size = Convert.ToInt64(packageElement.GetAttribute("size"), CultureInfo.CurrentCulture);
             packages.Add(details);
         }
     }
     return packages;
 }
 public void ConstructorSetsName()
 {
     var package = new PackageDetails("The name");
     Assert.AreEqual("The name", package.FileName);
 }
 /// <summary>
 /// Retrieves the current list of available packages.
 /// </summary>
 /// <returns></returns>
 public virtual PackageDetails[] RetrievePackageList()
 {
     PackageDetails[] list = new PackageDetails[0];
     return list;
 }
示例#6
0
 /// <summary>
 /// Wraps the specified package status.
 /// </summary>
 /// <param name="owningClient">The owning client.</param>
 /// <param name="packageStatus">The package status.</param>
 /// <param name="project">The project.</param>
 /// <returns>
 /// The new <see cref="CCPackage"/>.
 /// </returns>
 internal static CCPackage Wrap(CruiseServerClientBase owningClient, PackageDetails packageStatus, CCProject project)
 {
     var package = new CCPackage(
         owningClient,
         packageStatus.Name, 
         packageStatus.BuildLabel, 
         packageStatus.DateTime, 
         packageStatus.NumberOfFiles, 
         packageStatus.Size, 
         packageStatus.FileName) { Project = project };
     return package;
 }
        public void ExecuteGeneratesList()
        {
            var package1 = new PackageDetails
            {
                BuildLabel = "label1",
                DateTime = new DateTime(2010, 1, 2, 3, 4, 5),
                FileName = "somewhere\\thefile.type",
                Name = "theName",
                NumberOfFiles = 2,
                Size = 1
            };
            var package2 = new PackageDetails
            {
                BuildLabel = "label2",
                DateTime = new DateTime(2010, 10, 9, 8, 7, 6),
                FileName = "anotherfile.txt",
                Name = "secondName",
                NumberOfFiles = 5,
                Size = 9876
            };
            var package3 = new PackageDetails
            {
                BuildLabel = "label3",
                DateTime = new DateTime(2010, 1, 1, 2, 3, 5),
                FileName = "anotherfile.txt",
                Name = "secondName",
                NumberOfFiles = 5,
                Size = 1234567890
            };
            var packages = new PackageDetails[] { package1, package2, package3 };
            var projectName = "Test Project";
            var farmService = this.mocks.StrictMock<IFarmService>();
            var viewGenerator = this.mocks.StrictMock<IVelocityViewGenerator>();
            var cruiseRequest = this.mocks.StrictMock<ICruiseRequest>();
            var projectSpec = this.mocks.StrictMock<IProjectSpecifier>();
            SetupResult.For(cruiseRequest.ProjectName).Return(projectName);
            SetupResult.For(cruiseRequest.ProjectSpecifier).Return(projectSpec);
            SetupResult.For(cruiseRequest.RetrieveSessionToken()).Return(null);
            SetupResult.For(farmService.RetrievePackageList(projectSpec, null)).Return(packages);
            Expect.Call(viewGenerator.GenerateView(null, null))
                .Callback<string, Hashtable>((n, ht) =>
                {
                    Assert.AreEqual("PackageList.vm", n);
                    Assert.IsNotNull(ht);
                    Assert.IsTrue(ht.ContainsKey("projectName"));
                    Assert.AreEqual(projectName, ht["projectName"]);
                    Assert.IsTrue(ht.ContainsKey("packages"));
                    Assert.IsInstanceOf<List<PackageListAction.PackageDisplay>>(ht["packages"]);
                    return true;
                })
                .Return(new HtmlFragmentResponse("from nVelocity"));

            this.mocks.ReplayAll();
            var plugin = new PackageListAction(viewGenerator, farmService);
            var response = plugin.Execute(cruiseRequest);

            this.mocks.VerifyAll();
            Assert.IsInstanceOf<HtmlFragmentResponse>(response);
            var actual = response as HtmlFragmentResponse;
            var expected = "from nVelocity";
            Assert.AreEqual(expected, actual.ResponseFragment);
        }