public void NoMatchingFileHandlers_DoesNothing() { using (var bob = new RepositorySetup("bob")) { using(var cop = new CommitCop(bob.Repository , ChorusFileTypeHandlerCollection.CreateWithTestHandlerOnly(), bob.Progress)) { bob.AddAndCheckinFile("test.abc", "hello"); } bob.AssertLocalRevisionNumber(0); } }
public void HasFileHandlers_Validates_DoesNothing() { using (var bob = new RepositorySetup("bob")) { using (var cop = new CommitCop(bob.Repository, ChorusFileTypeHandlerCollection.CreateWithTestHandlerOnly(), bob.Progress)) { bob.AddAndCheckinFile("test.chorusTest", "hello"); // SUT Assert.IsNullOrEmpty(cop.ValidationResult); } bob.AssertLocalRevisionNumber(0); } }
public void SecondCheckin_Invalid_BacksOut() { using (var bob = new RepositorySetup("bob")) { bob.AddAndCheckinFile("test.chorusTest", "hello"); bob.ChangeFile("test.chorusTest",ChorusTestFileHandler.GetInvalidContents()); using (var cop = new CommitCop(bob.Repository, ChorusFileTypeHandlerCollection.CreateWithTestHandlerOnly(), bob.Progress)) { Assert.IsFalse(string.IsNullOrEmpty(cop.ValidationResult)); bob.Repository.Commit(false, "bad data"); } Debug.WriteLine(bob.Repository.GetLog(-1)); bob.AssertHeadCount(1); bob.AssertLocalRevisionNumber(2); bob.AssertFileContents("test.chorusTest", "hello"); } }
public void InitialFileCommit_Invalid_BacksOut() { using(var bob = new RepositorySetup("bob")) { bob.AddAndCheckinFile("validfile.chorustest", "valid contents"); bob.ChangeFile("test.chorusTest", ChorusTestFileHandler.GetInvalidContents()); using(var cop = new CommitCop(bob.Repository, ChorusFileTypeHandlerCollection.CreateWithTestHandlerOnly(), bob.Progress)) { bob.Repository.AddAndCheckinFile("test.chorusTest"); Assert.That(cop.ValidationResult, Is.StringContaining("Failed")); } Debug.WriteLine(bob.Repository.GetLog(-1)); bob.AssertHeadCount(1); bob.AssertLocalRevisionNumber(2); bob.AssertFileDoesNotExistInRepository("test.chorusTest"); bob.AssertFileExistsInRepository("validfile.chorustest"); } }
public void HasFileHandlers_ValidCommit_Validates_DoesNothing() { using(var bob = new RepositorySetup("bob")) { bob.AddAndCheckinFile("test.chorusTest", "hello"); using(var cop = new CommitCop(bob.Repository, ChorusFileTypeHandlerCollection.CreateWithTestHandlerOnly(), bob.Progress)) { bob.ChangeFile("test.chorusTest", "aloha"); bob.AddAndCheckinFile("test2.chorusTest", "hi"); Assert.IsNullOrEmpty(cop.ValidationResult); } bob.AssertHeadCount(1); bob.AssertLocalRevisionNumber(1); bob.AssertFileExistsInRepository("test2.chorusTest"); bob.AssertFileContents("test.chorusTest", "aloha"); bob.AssertFileContents("test2.chorusTest", "hi"); } }
public void Sync_ModifiedFileIsInvalid_CheckedInButThenBackedOut() { /* @ changeset: 2 | summary: [Backout due to validation Failure] | o changeset: 1 | summary: missing checkin description | o changeset: 0 summary: Add test.chorusTest */ using (var bob = new RepositorySetup("bob")) { bob.AddAndCheckinFile("test.chorusTest", "original"); bob.AssertLocalRevisionNumber(0); bob.ChangeFile("test.chorusTest", ChorusTestFileHandler.GetInvalidContents()); bob.CheckinAndPullAndMerge(); bob.AssertLocalRevisionNumber(2); bob.AssertHeadCount(1); bob.AssertLocalRevisionNumber(int.Parse(bob.Repository.GetTip().Number.LocalRevisionNumber)); Debug.WriteLine(bob.Repository.GetLog(-1)); } }
public void Sync_ExistingRejectChangeSet_NotMergedIn() { using (var bob = new RepositorySetup("bob")) { bob.AddAndCheckinFile("test.txt", "original"); bob.CreateRejectForkAndComeBack(); bob.ChangeFileAndCommit("test.txt", "ok", "goodGuy"); //move on so we have two distinct branches bob.AssertHeadCount(2); bob.CheckinAndPullAndMerge(null); Assert.AreEqual("goodGuy", bob.Repository.GetRevisionWorkingSetIsBasedOn().Summary); bob.AssertLocalRevisionNumber(3); bob.AssertHeadCount(2); } }
public void LongModifiedFileIsfilteredOut() { // File is in repo in its shorter version, but now it has grown too large. using (var bob = new RepositorySetup("bob")) { const string fileName = "test.chorusTest"; bob.ChangeFile(fileName, _goodData); var fullPathname = Path.Combine(bob.ProjectFolderConfig.FolderPath, fileName); var pathToRepo = bob.Repository.PathToRepo + Path.DirectorySeparatorChar; bob.Repository.AddAndCheckinFile(fullPathname); bob.AssertLocalRevisionNumber(0); bob.AssertFileContents(fullPathname, _goodData); bob.ChangeFile(fileName, _longData); var config = bob.ProjectFolderConfig; config.ExcludePatterns.Clear(); config.IncludePatterns.Clear(); config.IncludePatterns.Add("**.chorusTest"); var result = LargeFileFilter.FilterFiles( bob.Repository, config, _handlersColl); bob.Repository.Commit(false, "test"); bob.AssertLocalRevisionNumber(1); // 'forget' marks it as deleted in the repo. bob.AssertFileContents(fullPathname, _longData); Assert.IsFalse(string.IsNullOrEmpty(result)); var shortpath = fullPathname.Replace(pathToRepo, ""); Assert.IsTrue(config.ExcludePatterns.Contains(shortpath)); Assert.IsFalse(config.IncludePatterns.Contains(shortpath)); } }