1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package com.atlassian.jira.rest.client.internal.json;
18
19 import com.atlassian.jira.rest.client.api.domain.OperationLink;
20 import org.codehaus.jettison.json.JSONException;
21 import org.hamcrest.Matcher;
22 import org.junit.Test;
23
24 import static org.hamcrest.Matchers.is;
25 import static org.junit.Assert.assertThat;
26
27 public class OperationLinkJsonParserTest {
28 @Test
29 public void testParseFull() throws Exception {
30 testParseResource("/json/operationLink/valid.json", is(new OperationLink("comment-issue",
31 "issueaction-comment-issue add-issue-comment", "Comment", "Comment on this issue",
32 "/secure/AddComment!default.jspa?id=10100", 10, "aui-icon aui-icon-small aui-iconfont-comment icon-comment")));
33 }
34
35 @Test
36 public void testParsePartial() throws Exception {
37 testParseResource("/json/operationLink/with-label-href-only.json", is(new OperationLink(null,
38 null, "Comment", null, "/secure/AddComment!default.jspa?id=10100", null, null)));
39 }
40
41 private void testParseResource(String resourcePath, Matcher<OperationLink> expected) throws JSONException {
42 OperationLinkJsonParser parser = new OperationLinkJsonParser();
43 OperationLink actual = parser.parse(ResourceUtil.getJsonObjectFromResource(resourcePath));
44 assertThat(actual, expected);
45 }
46 }