diff --git a/src/test/java/net/rcarz/jiraclient/UserTest.java b/src/test/java/net/rcarz/jiraclient/UserTest.java index 4f4ca33..442e2b3 100644 --- a/src/test/java/net/rcarz/jiraclient/UserTest.java +++ b/src/test/java/net/rcarz/jiraclient/UserTest.java @@ -2,6 +2,7 @@ package net.rcarz.jiraclient; import net.sf.json.JSONObject; import org.junit.Test; +import org.powermock.api.mockito.PowerMockito; import java.io.IOException; import java.net.URI; @@ -10,6 +11,9 @@ import java.util.Map; import static junit.framework.Assert.assertEquals; import static junit.framework.Assert.assertTrue; +import static org.mockito.Matchers.anyMap; +import static org.mockito.Matchers.anyString; +import static org.powermock.api.mockito.PowerMockito.when; public class UserTest { @@ -64,4 +68,43 @@ public class UserTest { User user = new User(new RestClient(null, new URI("/123/asd")), getTestJSON()); assertEquals(username, user.toString()); } + + @Test(expected = JiraException.class) + public void testGetUserJSONError() throws Exception { + + final RestClient restClient = PowerMockito.mock(RestClient.class); + when(restClient.get(anyString(),anyMap())).thenReturn(null); + User.get(restClient, "username"); + + } + + @Test(expected = JiraException.class) + public void testGetUserRestError() throws Exception { + + final RestClient restClient = PowerMockito.mock(RestClient.class); + when(restClient.get(anyString(),anyMap())).thenThrow(Exception.class); + User.get(restClient, "username"); + } + + @Test + public void testGetUser() throws Exception { + + final RestClient restClient = PowerMockito.mock(RestClient.class); + when(restClient.get(anyString(),anyMap())).thenReturn(getTestJSON()); + final User user = User.get(restClient, "username"); + + assertEquals(user.getName(), username); + assertEquals(user.getDisplayName(), displayName); + assertEquals(user.getEmail(), email); + assertEquals(user.getId(), userID); + + Map avatars = user.getAvatarUrls(); + + assertEquals("https://secure.gravatar.com/avatar/a5a271f9eee8bbb3795f41f290274f8c?d=mm&s=16", avatars.get("16x16")); + assertEquals("https://secure.gravatar.com/avatar/a5a271f9eee8bbb3795f41f290274f8c?d=mm&s=24", avatars.get("24x24")); + assertEquals("https://secure.gravatar.com/avatar/a5a271f9eee8bbb3795f41f290274f8c?d=mm&s=32", avatars.get("32x32")); + assertEquals("https://secure.gravatar.com/avatar/a5a271f9eee8bbb3795f41f290274f8c?d=mm&s=48", avatars.get("48x48")); + + assertTrue(user.isActive()); + } }