1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package com.atlassian.jira.rest.client.internal.json;
17
18 import com.atlassian.jira.rest.client.api.domain.RoleActor;
19 import org.codehaus.jettison.json.JSONException;
20 import org.junit.Assert;
21 import org.junit.Rule;
22 import org.junit.Test;
23 import org.junit.rules.ExpectedException;
24
25 import java.net.URI;
26
27 import static com.atlassian.jira.rest.client.TestUtil.toUri;
28 import static com.atlassian.jira.rest.client.internal.json.ResourceUtil.getJsonObjectFromResource;
29
30 public class RoleActorJsonParserTest {
31
32 private URI baseJiraURI = toUri("http://localhost:2990");
33 private final RoleActorJsonParser roleActorJsonParser = new RoleActorJsonParser(baseJiraURI);
34
35 @Rule
36 public final ExpectedException exception = ExpectedException.none();
37
38 @Test
39 public void testParseValidActorWithOptionalParam() throws Exception {
40 final RoleActor actor = roleActorJsonParser.parse(getJsonObjectFromResource("/json/actor/valid-actor.json"));
41 Assert.assertEquals(10020l, actor.getId().longValue());
42 Assert.assertEquals("jira-users", actor.getName());
43 Assert.assertEquals("jira-users", actor.getDisplayName());
44 Assert.assertEquals("atlassian-group-role-actor", actor.getType());
45 Assert.assertEquals(toUri(baseJiraURI.toString() + "/jira/secure/useravatar?size=small&avatarId=10083"), actor
46 .getAvatarUri());
47 }
48
49 @Test
50 public void testParseValidActorWithoutOptionalParams() throws JSONException {
51 final RoleActor actor = roleActorJsonParser
52 .parse(getJsonObjectFromResource("/json/actor/valid-actor-without-avatar.json"));
53 Assert.assertEquals(10020l, actor.getId().longValue());
54 Assert.assertEquals("jira-users", actor.getName());
55 Assert.assertEquals("jira-users", actor.getDisplayName());
56 Assert.assertEquals("atlassian-group-role-actor", actor.getType());
57 Assert.assertNull(actor.getAvatarUri());
58 }
59
60 @Test
61 public void testParseInvalidActor() throws Exception {
62 exception.expect(JSONException.class);
63 exception.expectMessage("JSONObject[\"type\"] not found.");
64 roleActorJsonParser.parse(getJsonObjectFromResource("/json/actor/invalid-actor-without-required-fields.json"));
65 }
66 }