예제 #1
0
        public void GetModifications_EmptyLocal()
        {
            tempRoot.CreateDirectory();
            tempSubRoot.CreateDirectory();
            string file1 = tempRoot.CreateTextFile("file1.txt", "foo").ToString();
            string file2 = tempRoot.CreateTextFile("file2.txt", "bar").ToString();
            string file3 = tempSubRoot.CreateTextFile("file3.txt", "bat").ToString();

            Modification[] mods = sc.GetModifications(IntegrationResult(DateTime.MinValue), IntegrationResult(DateTime.MaxValue));

            Assert.AreEqual(4, mods.Length);
            Assert.AreEqual("file1.txt", mods[0].FileName);
            Assert.AreEqual("file2.txt", mods[1].FileName);
            Assert.AreEqual(Path.GetFileName(tempSubRoot.ToString()), mods[2].FileName);
            Assert.AreEqual("file3.txt", mods[3].FileName);
            Assert.AreEqual(Path.GetDirectoryName(file1), mods[0].FolderName);
            Assert.AreEqual(Path.GetDirectoryName(file2), mods[1].FolderName);
            Assert.AreEqual(Path.GetFileName(tempSubRoot.ToString()), mods[2].FolderName);
            Assert.AreEqual(Path.GetDirectoryName(file3), mods[3].FolderName);

            Assert.AreEqual(new FileInfo(file1).LastWriteTime, mods[0].ModifiedTime);
            Assert.AreEqual(new FileInfo(file2).LastWriteTime, mods[1].ModifiedTime);
            Assert.AreEqual(new FileInfo(tempSubRoot.ToString()).LastWriteTime, mods[2].ModifiedTime);
            Assert.AreEqual(new FileInfo(file3).LastWriteTime, mods[3].ModifiedTime);

            mods = sc.GetModifications(IntegrationResult(DateTime.Now.AddHours(1)), IntegrationResult(DateTime.MaxValue));
            Assert.AreEqual(0, mods.Length);
        }
        public void GetModifications_EmptyLocal()
        {
            tempRoot.CreateDirectory();
            tempSubRoot.CreateDirectory();
            string file1 = tempRoot.CreateTextFile("file1.txt", "foo").ToString();
            string file2 = tempRoot.CreateTextFile("file2.txt", "bar").ToString();
            string file3 = tempSubRoot.CreateTextFile("file3.txt", "bat").ToString();

            Modification[] mods = sc.GetModifications(IntegrationResult(DateTime.MinValue), IntegrationResult(DateTime.MaxValue));

            using (new AssertionScope())
            {
                mods.Length.Should().Be(4);
                mods[0].FileName.Should().Be("file1.txt");
                mods[1].FileName.Should().Be("file2.txt");
                mods[2].FileName.Should().Be(Path.GetFileName(tempSubRoot.ToString()));
                mods[3].FileName.Should().Be("file3.txt");

                mods[0].FolderName.Should().Be(Path.GetDirectoryName(file1));
                mods[1].FolderName.Should().Be(Path.GetDirectoryName(file2));
                mods[2].FolderName.Should().Be(Path.GetFileName(tempSubRoot.ToString()));
                mods[3].FolderName.Should().Be(Path.GetDirectoryName(file3));

                new FileInfo(file1).LastWriteTime.Should().BeCloseTo(mods[0].ModifiedTime, 100);
                new FileInfo(file2).LastWriteTime.Should().BeCloseTo(mods[1].ModifiedTime, 100);
                new FileInfo(tempSubRoot.ToString()).LastWriteTime.Should().BeCloseTo(mods[2].ModifiedTime, 100);
                new FileInfo(file3).LastWriteTime.Should().BeCloseTo(mods[3].ModifiedTime, 100);
            }

            mods = sc.GetModifications(IntegrationResult(DateTime.Now.AddHours(1)), IntegrationResult(DateTime.MaxValue));

            mods.Length.Should().Be(0);
        }
        public void ReadSingleLineFromLogFile()
        {
            string              content  = @"SampleLine";
            SystemPath          filename = tempDir.CreateTextFile("ReadSingleLineFromLogFile.log", content);
            ServerLogFileReader reader   = new ServerLogFileReader(filename.ToString(), 10);

            Assert.AreEqual(content, reader.Read());
        }
        public void GetModifications_EmptyLocal()
        {
            tempRoot.CreateDirectory();
            tempSubRoot.CreateDirectory();
            string file1 = tempRoot.CreateTextFile("file1.txt", "foo").ToString();
            string file2 = tempRoot.CreateTextFile("file2.txt", "bar").ToString();
            string file3 = tempSubRoot.CreateTextFile("file3.txt", "bat").ToString();

            Modification[] mods = sc.GetModifications(IntegrationResult(DateTime.MinValue), IntegrationResult(DateTime.MaxValue));
            Array.Sort(
                mods,
                (left, right) =>
            {
                int result = left.FolderName.CompareTo(right.FolderName);
                if (result == 0)
                {
                    result = left.FileName.CompareTo(right.FileName);
                }

                return(result);
            }
                );

            using (new AssertionScope())
            {
                mods.Length.Should().Be(4);
                mods[0].FileName.Should().Be("file1.txt", "FileName[0]");
                mods[1].FileName.Should().Be("file2.txt", "FileName[1]");
                mods[2].FileName.Should().Be("file3.txt", "FileName[2]");
                mods[3].FileName.Should().Be(Path.GetFileName(tempSubRoot.ToString()), "FileName[3]");

                mods[0].FolderName.Should().Be(Path.GetDirectoryName(file1), "FolderName[0]");
                mods[1].FolderName.Should().Be(Path.GetDirectoryName(file2), "FolderName[1]");
                mods[2].FolderName.Should().Be(Path.GetDirectoryName(file3), "FolderName[2]");
                mods[3].FolderName.Should().Be(Path.GetFileName(tempSubRoot.ToString()), "FolderName[3]");

                new FileInfo(file1).LastWriteTime.Should().BeCloseTo(mods[0].ModifiedTime, 100, "LastWriteTime[0]");
                new FileInfo(file2).LastWriteTime.Should().BeCloseTo(mods[1].ModifiedTime, 100, "LastWriteTime[1]");
                new FileInfo(file3).LastWriteTime.Should().BeCloseTo(mods[2].ModifiedTime, 100, "LastWriteTime[2]");
                new FileInfo(tempSubRoot.ToString()).LastWriteTime.Should().BeCloseTo(mods[3].ModifiedTime, 100, "LastWriteTime[3]");
            }

            mods = sc.GetModifications(IntegrationResult(DateTime.Now.AddHours(1)), IntegrationResult(DateTime.MaxValue));

            mods.Length.Should().Be(0);
        }
        public void CopyFiles()
        {
            SystemPath subRoot    = srcRoot.CreateSubDirectory("SubDir");
            SystemPath subSubRoot = subRoot.CreateSubDirectory("SubSubDir");

            srcRoot.CreateTextFile(fileName, fileContents);
            subRoot.CreateTextFile(fileName, fileContents);
            subSubRoot.CreateTextFile(fileName, fileContents);

            publisher.Run(result);

            Assert.IsTrue(labelPubDir.Combine(fileName).Exists(), "File not found in build number directory");
            SystemPath subPubDir = labelPubDir.Combine("SubDir");

            Assert.IsTrue(subPubDir.Combine(fileName).Exists(), "File not found in sub directory");
            Assert.IsTrue(subPubDir.Combine("SubSubDir").Combine(fileName).Exists(), "File not found in sub sub directory");
        }
예제 #6
0
        public void ReadUnicodeFile()
        {
            SystemPath tempDirectory = SystemPath.UniqueTempPath().CreateDirectory();

            try
            {
                const string content     = "yooo ез";
                SystemPath   tempFile    = tempDirectory.CreateTextFile("test.txt", content);
                ProcessInfo  processInfo = new ProcessInfo("cmd.exe", "/C type \"" + tempFile + "\"");
                processInfo.StreamEncoding = Encoding.UTF8;
                ProcessResult result = executor.Execute(processInfo);
                Assert.IsTrue(!result.Failed);
                Assert.AreEqual(content + Environment.NewLine, result.StandardOutput);
            }
            finally
            {
                tempDirectory.DeleteDirectory();
            }
        }
        public void ShouldNotCopyFilesIfBuildBrokenAndAlwaysCopyIsSetToFalse()
        {
            SystemPath subRoot    = srcRoot.CreateSubDirectory("SubDir");
            SystemPath subSubRoot = subRoot.CreateSubDirectory("SubSubDir");

            srcRoot.CreateTextFile(fileName, fileContents);
            subRoot.CreateTextFile(fileName, fileContents);
            subSubRoot.CreateTextFile(fileName, fileContents);

            result = IntegrationResultMother.CreateFailed("99");

            publisher.Run(result);

            Assert.IsFalse(labelPubDir.Combine(fileName).Exists(), "File found in build number directory");
            SystemPath subPubDir = labelPubDir.Combine("SubDir");

            Assert.IsFalse(subPubDir.Combine(fileName).Exists(), "File found in sub directory");
            Assert.IsFalse(subPubDir.Combine("SubSubDir").Combine(fileName).Exists(), "File found in sub sub directory");
        }
예제 #8
0
        public void LoadReadsFileContentCorrectly()
        {
            SystemPath tempFile = tempRoot.CreateTextFile("foo.txt", "bar");

            Assert.AreEqual("bar", new SystemIoFileSystem().Load(tempFile.ToString()).ReadToEnd());
        }