diff options
author | Christian Trutz | 2011-04-19 22:13:07 +0000 |
---|---|---|
committer | Chris Aniszczyk | 2011-04-19 22:46:36 +0000 |
commit | 76aaa01c65e8067327500ef3642b1a031c15b959 (patch) | |
tree | b91e79d7956fefccdba01491c5a82e342e3b519c /org.eclipse.mylyn.github.tests | |
parent | d690df7fb5377a5760a62d7fd5a2ae6f2a65b6f9 (diff) | |
download | egit-github-76aaa01c65e8067327500ef3642b1a031c15b959.tar.gz egit-github-76aaa01c65e8067327500ef3642b1a031c15b959.tar.xz egit-github-76aaa01c65e8067327500ef3642b1a031c15b959.zip |
Unit tests for MilestoneService
Change-Id: Ida629fecce02698eabb983cbc70cc38ca183160d
Signed-off-by: Christian Trutz <christian.trutz@gmail.com>
Signed-off-by: Chris Aniszczyk <caniszczyk@gmail.com>
Diffstat (limited to 'org.eclipse.mylyn.github.tests')
2 files changed, 84 insertions, 1 deletions
diff --git a/org.eclipse.mylyn.github.tests/src/org/eclipse/mylyn/github/internal/MilestoneServiceTest.java b/org.eclipse.mylyn.github.tests/src/org/eclipse/mylyn/github/internal/MilestoneServiceTest.java new file mode 100644 index 00000000..d959a8ee --- /dev/null +++ b/org.eclipse.mylyn.github.tests/src/org/eclipse/mylyn/github/internal/MilestoneServiceTest.java @@ -0,0 +1,82 @@ +/******************************************************************************* + * Copyright (c) 2011 Christian Trutz + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Christian Trutz - initial API and implementation + *******************************************************************************/ +package org.eclipse.mylyn.github.internal; + +import static org.mockito.Mockito.verify; + +import java.io.IOException; +import java.util.Collections; +import java.util.List; + +import org.eclipse.core.runtime.AssertionFailedException; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.runners.MockitoJUnitRunner; + +import com.google.gson.reflect.TypeToken; + +/** + * Unit tests for {@link MilestoneService} + */ +@SuppressWarnings("restriction") +@RunWith(MockitoJUnitRunner.class) +public class MilestoneServiceTest { + + @Mock + private GitHubClient gitHubClient; + + private MilestoneService milestoneService; + + @Before + public void before() { + milestoneService = new MilestoneService(gitHubClient); + } + + @Test(expected = AssertionFailedException.class) + public void constructor_NullArgument() { + new MilestoneService(null); + } + + @Test(expected = AssertionFailedException.class) + public void getMilestones_NullUser() throws IOException { + milestoneService.getMilestones(null, "not null", "not null"); + } + + @Test(expected = AssertionFailedException.class) + public void getMilestones_NullRepository() throws IOException { + milestoneService.getMilestones("not null", null, "not null"); + } + + @Test + public void getMilestones_NullState() throws IOException { + milestoneService.getMilestones("test_user", "test_repository", null); + TypeToken<List<Milestone>> milestonesToken = new TypeToken<List<Milestone>>() { + }; + verify(gitHubClient).get( + "/repos/test_user/test_repository/milestones.json", null, + milestonesToken.getType()); + } + + @Test + public void getMilestones_OK() throws IOException { + milestoneService.getMilestones("test_user", "test_repository", + "test_state"); + TypeToken<List<Milestone>> milestonesToken = new TypeToken<List<Milestone>>() { + }; + verify(gitHubClient).get( + "/repos/test_user/test_repository/milestones.json", + Collections.singletonMap(IssueService.FILTER_STATE, + "test_state"), milestonesToken.getType()); + } + +} diff --git a/org.eclipse.mylyn.github.tests/src/org/eclipse/mylyn/github/tests/AllHeadlessTests.java b/org.eclipse.mylyn.github.tests/src/org/eclipse/mylyn/github/tests/AllHeadlessTests.java index f782f2f9..561b4e91 100644 --- a/org.eclipse.mylyn.github.tests/src/org/eclipse/mylyn/github/tests/AllHeadlessTests.java +++ b/org.eclipse.mylyn.github.tests/src/org/eclipse/mylyn/github/tests/AllHeadlessTests.java @@ -14,13 +14,14 @@ package org.eclipse.mylyn.github.tests; import org.eclipse.mylyn.github.internal.IssueServiceTest; import org.eclipse.mylyn.github.internal.LabelServiceTest; +import org.eclipse.mylyn.github.internal.MilestoneServiceTest; import org.junit.runner.RunWith; import org.junit.runners.Suite; import org.junit.runners.Suite.SuiteClasses; @RunWith(Suite.class) @SuiteClasses({ // -IssueServiceTest.class, LabelServiceTest.class }) +IssueServiceTest.class, LabelServiceTest.class, MilestoneServiceTest.class }) public class AllHeadlessTests { } |