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 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);
            Assert.IsTrue(publisher.UseLabelSubDirectory);
        }
        public void LoadFromXml()
        {
            string xml = @"<buildpublisher useLabelSubDirectory=""false"">
            <sourceDir>c:\source</sourceDir>
            <publishDir>\\file\share\build</publishDir>
            </buildpublisher>";

            publisher = (BuildPublisher) NetReflector.Read(xml);
            Assert.AreEqual(@"c:\source", publisher.SourceDir);
            Assert.AreEqual(@"\\file\share\build", publisher.PublishDir);
            Assert.AreEqual(false, publisher.UseLabelSubDirectory);
        }
        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");
 }
		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);
		}
		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);
		}