Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFrédéric Cilia2018-07-25 13:59:03 +0000
committerThomas Wolf2018-12-14 21:02:53 +0000
commit6be10360ff6ad2173696c08a2ccaf8d304426747 (patch)
treec7a3cc77173356022fd02e97700b02d21ee0e114 /org.eclipse.egit.github.core.tests
parent03f87a38a842acf0f2958ef41d5dc34936eff074 (diff)
downloadegit-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')
-rw-r--r--org.eclipse.egit.github.core.tests/src/org/eclipse/egit/github/core/tests/RepositoryMergingResponseTest.java69
-rw-r--r--org.eclipse.egit.github.core.tests/src/org/eclipse/egit/github/core/tests/RepositoryMergingTest.java48
-rw-r--r--org.eclipse.egit.github.core.tests/src/org/eclipse/egit/github/core/tests/RepositoryServiceTest.java18
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);
+ }
}

Back to the top