diff options
author | Frédéric Cilia | 2018-07-25 13:59:03 +0000 |
---|---|---|
committer | Thomas Wolf | 2018-12-14 21:02:53 +0000 |
commit | 6be10360ff6ad2173696c08a2ccaf8d304426747 (patch) | |
tree | c7a3cc77173356022fd02e97700b02d21ee0e114 /org.eclipse.egit.github.core.tests | |
parent | 03f87a38a842acf0f2958ef41d5dc34936eff074 (diff) | |
download | egit-github-6be10360ff6ad2173696c08a2ccaf8d304426747.tar.gz egit-github-6be10360ff6ad2173696c08a2ccaf8d304426747.tar.xz egit-github-6be10360ff6ad2173696c08a2ccaf8d304426747.zip |
Implement merging API for repository
Change-Id: I55862204ef71f69bc88c79fe2259f7cb8365799a
Signed-off-by: Frédéric Cilia <frederic.cilia@hardis.fr>
Diffstat (limited to 'org.eclipse.egit.github.core.tests')
3 files changed, 135 insertions, 0 deletions
diff --git a/org.eclipse.egit.github.core.tests/src/org/eclipse/egit/github/core/tests/RepositoryMergingResponseTest.java b/org.eclipse.egit.github.core.tests/src/org/eclipse/egit/github/core/tests/RepositoryMergingResponseTest.java new file mode 100644 index 00000000..bc92cc1c --- /dev/null +++ b/org.eclipse.egit.github.core.tests/src/org/eclipse/egit/github/core/tests/RepositoryMergingResponseTest.java @@ -0,0 +1,69 @@ +/****************************************************************************** + * Copyright (c) 2018 Frédéric Cilia + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License 2.0 + * which accompanies this distribution, and is available at + * https://www.eclipse.org/legal/epl-2.0/ + * + * SPDX-License-Identifier: EPL-2.0 + * + * Contributors: + * Frédéric Cilia - initial API and implementation + *****************************************************************************/ +package org.eclipse.egit.github.core.tests; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNull; + +import java.util.ArrayList; + +import org.eclipse.egit.github.core.Commit; +import org.eclipse.egit.github.core.RepositoryMergingResponse; +import org.eclipse.egit.github.core.User; +import org.junit.Test; + +/** + * Unit tests of {@link RepositoryMergingResponse} + */ +public class RepositoryMergingResponseTest { + + /** + * Test default state of response + */ + @Test + public void defaultState() { + RepositoryMergingResponse response = new RepositoryMergingResponse(); + assertNull(response.getSha()); + assertNull(response.getNodeId()); + assertNull(response.getCommit()); + assertNull(response.getUrl()); + assertNull(response.getHtmlUrl()); + assertNull(response.getCommentsUrl()); + assertNull(response.getAuthor()); + assertNull(response.getCommitter()); + assertNull(response.getParents()); + } + + /** + * Test updating response fields + */ + @Test + public void updateFields() { + RepositoryMergingResponse response = new RepositoryMergingResponse(); + assertEquals("sha", response.setSha("sha").getSha()); + assertEquals("nodeId", response.setNodeId("nodeId").getNodeId()); + User author = new User().setLogin("author"); + assertEquals(author, response.setAuthor(author).getAuthor()); + Commit gitCommit = new Commit().setSha("abc"); + assertEquals(gitCommit, response.setCommit(gitCommit).getCommit()); + User committer = new User().setLogin("committer"); + assertEquals(committer, response.setCommitter(committer).getCommitter()); + assertEquals("url", response.setUrl("url").getUrl()); + assertEquals("htmlUrl", response.setHtmlUrl("htmlUrl").getHtmlUrl()); + assertEquals("commentsUrl", + response.setCommentsUrl("commentsUrl").getCommentsUrl()); + assertEquals(new ArrayList<Commit>(), + response.setParents(new ArrayList<Commit>()).getParents()); + + } +} diff --git a/org.eclipse.egit.github.core.tests/src/org/eclipse/egit/github/core/tests/RepositoryMergingTest.java b/org.eclipse.egit.github.core.tests/src/org/eclipse/egit/github/core/tests/RepositoryMergingTest.java new file mode 100644 index 00000000..f5467b78 --- /dev/null +++ b/org.eclipse.egit.github.core.tests/src/org/eclipse/egit/github/core/tests/RepositoryMergingTest.java @@ -0,0 +1,48 @@ +/****************************************************************************** + * Copyright (c) 2018 Frédéric Cilia + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License 2.0 + * which accompanies this distribution, and is available at + * https://www.eclipse.org/legal/epl-2.0/ + * + * SPDX-License-Identifier: EPL-2.0 + * + * Contributors: + * Frédéric Cilia - initial API and implementation + *****************************************************************************/ +package org.eclipse.egit.github.core.tests; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNull; + +import org.eclipse.egit.github.core.RepositoryMerging; +import org.junit.Test; + +/** + * Unit test of {@link RepositoryMerging} + */ +public class RepositoryMergingTest { + + /** + * Test default state of merging + */ + @Test + public void defaultState() { + RepositoryMerging merging = new RepositoryMerging(); + assertNull(merging.getBase()); + assertNull(merging.getCommitMessage()); + assertNull(merging.getHead()); + } + + /** + * Test updating merging fields + */ + @Test + public void updateFields() { + RepositoryMerging merging = new RepositoryMerging(); + assertEquals("baseMerging", merging.setBase("baseMerging").getBase()); + assertEquals("headMerging", merging.setHead("headMerging").getHead()); + assertEquals("messageMerging", + merging.setCommitMessage("messageMerging").getCommitMessage()); + } +} diff --git a/org.eclipse.egit.github.core.tests/src/org/eclipse/egit/github/core/tests/RepositoryServiceTest.java b/org.eclipse.egit.github.core.tests/src/org/eclipse/egit/github/core/tests/RepositoryServiceTest.java index dbd39311..b623d09b 100644 --- a/org.eclipse.egit.github.core.tests/src/org/eclipse/egit/github/core/tests/RepositoryServiceTest.java +++ b/org.eclipse.egit.github.core.tests/src/org/eclipse/egit/github/core/tests/RepositoryServiceTest.java @@ -25,6 +25,8 @@ import java.util.Map; import org.eclipse.egit.github.core.Repository; import org.eclipse.egit.github.core.RepositoryHook; import org.eclipse.egit.github.core.RepositoryId; +import org.eclipse.egit.github.core.RepositoryMerging; +import org.eclipse.egit.github.core.RepositoryMergingResponse; import org.eclipse.egit.github.core.User; import org.eclipse.egit.github.core.client.GitHubClient; import org.eclipse.egit.github.core.client.GitHubRequest; @@ -625,4 +627,20 @@ public class RepositoryServiceTest { service.testHook(repo, 5609); verify(client).post("/repos/o/n/hooks/5609/test"); } + + /** + * Run merge in repository + * + * @throws IOException + */ + @Test + public void runMerge() throws IOException { + RepositoryMerging merge = new RepositoryMerging(); + merge.setBase("develop"); + merge.setHead("master"); + merge.setCommitMessage("Test Merge"); + service.mergingBranches(repo, merge); + verify(client).post("/repos/o/n/merges", merge, + RepositoryMergingResponse.class); + } } |