public void LoadFromXml()
        {
            string xml = @"<buildpublisher useLabelSubDirectory=""false"" 
    alwaysPublish=""true"" 
    cleanPublishDirPriorToCopy=""true""
    cleanUpMethod=""KeepLastXBuilds""
    cleanUpValue=""10"">
	<sourceDir>c:\source</sourceDir>
	<publishDir>\\file\share\build</publishDir>
</buildpublisher>";

            publisher = (BuildPublisher)NetReflector.Read(xml);

            var expected = new BuildPublisher
            {
                AlwaysPublish = true,
                CleanPublishDirPriorToCopy = true,
                CleanUpMethod        = BuildPublisher.CleanupPolicy.KeepLastXBuilds,
                CleanUpValue         = 10,
                PublishDir           = @"\\file\share\build",
                SourceDir            = @"c:\source",
                UseLabelSubDirectory = false
            };

            this.AssertAreSame(expected, publisher);
        }
        public void SetUp()
        {
            srcRoot = SystemPath.UniqueTempPath();
            pubRoot = SystemPath.UniqueTempPath();

            publisher            = new BuildPublisher();
            publisher.PublishDir = pubRoot.ToString();
            publisher.SourceDir  = srcRoot.ToString();
            result      = IntegrationResultMother.CreateSuccessful("99");
            labelPubDir = pubRoot.Combine("99");
        }
        public void PublishWorksIfNoPropertiesAreSpecified()
        {
            srcRoot.CreateDirectory().CreateTextFile(fileName, fileContents);
            result.WorkingDirectory  = srcRoot.ToString();
            result.ArtifactDirectory = pubRoot.ToString();

            publisher = new BuildPublisher();
            publisher.Run(result);

            Assert.IsTrue(labelPubDir.Combine(fileName).Exists(), "File not found in pubRoot directory");
        }
 /// <summary>
 /// Checks that two <see cref="BuildPublisher"/> instances have the same properties.
 /// </summary>
 /// <param name="expected">The expected <see cref="BuildPublisher"/>.</param>
 /// <param name="actual">The actual <see cref="BuildPublisher"/>.</param>
 private void AssertAreSame(BuildPublisher expected, BuildPublisher actual)
 {
     InstanceAssert.PropertiesAreEqual(
         expected,
         actual,
         "PublishDir",
         "SourceDir",
         "UseLabelSubDirectory",
         "AlwaysPublish",
         "CleanPublishDirPriorToCopy",
         "CleanUpMethod",
         "CleanUpValue");
 }
Пример #5
0
        public void SetUp()
        {
            TempFileUtil.DeleteTempDir(FULL_CONFIGURED_LOG_DIR);
            TempFileUtil.DeleteTempDir(ARTIFACTS_DIR);

            TempFileUtil.CreateTempDir(FULL_CONFIGURED_LOG_DIR);
            TempFileUtil.CreateTempDir(ARTIFACTS_DIR);
            TempFileUtil.CreateTempDir(SOURCE_DIR);

            TempFileUtil.CreateTempFile(SOURCE_DIR_PATH, "myfile.txt", "some content");

            logPublisher    = new XmlLogPublisher();
            buildPublisher  = new BuildPublisher();
            artifactCleaner = new ArtifactCleanUpTask();

            buildPublisher.AlwaysPublish        = true;
            buildPublisher.UseLabelSubDirectory = true;
            buildPublisher.SourceDir            = SOURCE_DIR_PATH;
        }
        public void LoadMinimalXml()
        {
            string xml = @"<buildpublisher />";

            publisher = (BuildPublisher)NetReflector.Read(xml);
            Assert.IsNull(publisher.SourceDir);
            Assert.IsNull(publisher.PublishDir);

            var expected = new BuildPublisher
            {
                AlwaysPublish = false,
                CleanPublishDirPriorToCopy = false,
                CleanUpMethod        = BuildPublisher.CleanupPolicy.NoCleaning,
                CleanUpValue         = 5,
                PublishDir           = null,
                SourceDir            = null,
                UseLabelSubDirectory = true
            };

            this.AssertAreSame(expected, publisher);
        }