Test CreateMergePatchSet when there is a merge conflict

Signed-off-by: Edwin Kempin <ekempin@google.com>
Change-Id: Ic39097d60264e6099bb8cbf22420fe2bcdf75d17
This commit is contained in:
Edwin Kempin
2020-01-29 13:37:49 +01:00
committed by David Pursehouse
parent b9cf6d896e
commit 1b87b36052

View File

@@ -3199,6 +3199,41 @@ public class ChangeIT extends AbstractDaemonTest {
.isEqualTo(parent);
}
@Test
public void createMergePatchSet_Conflict() throws Exception {
RevCommit initialHead = projectOperations.project(project).getHead("master");
createBranch("dev");
// create a change for master
String changeId = createChange().getChangeId();
String fileName = "shared.txt";
testRepo.reset(initialHead);
PushOneCommit.Result currentMaster =
pushFactory
.create(admin.newIdent(), testRepo, "change 1", fileName, "content 1")
.to("refs/heads/master");
currentMaster.assertOkStatus();
// push a commit into dev branch
testRepo.reset(initialHead);
PushOneCommit.Result changeA =
pushFactory
.create(user.newIdent(), testRepo, "change 2", fileName, "content 2")
.to("refs/heads/dev");
changeA.assertOkStatus();
MergeInput mergeInput = new MergeInput();
mergeInput.source = "dev";
MergePatchSetInput in = new MergePatchSetInput();
in.merge = mergeInput;
in.subject = "update change by merge ps2";
ResourceConflictException thrown =
assertThrows(
ResourceConflictException.class,
() -> gApi.changes().id(changeId).createMergePatchSet(in));
assertThat(thrown).hasMessageThat().isEqualTo("merge conflict(s)\n" + fileName);
}
@Test
public void createMergePatchSetInheritParent() throws Exception {
RevCommit initialHead = projectOperations.project(project).getHead("master");