}
@Test
public void testGetIssue() throws Exception {
final Issue issue = client.getIssueClient().getIssue("TST-1", pm);
assertEquals("TST-1", issue.getKey());
assertTrue(issue.getSelf().toString().startsWith(jiraUri.toString()));
assertEqualsNoUri(IntegrationTestUtil.USER_ADMIN, issue.getReporter());
assertEqualsNoUri(IntegrationTestUtil.USER_ADMIN, issue.getAssignee());
assertThat(issue.getLabels(), containsInAnyOrder("a", "bcds"));
assertEquals(3, Iterables.size(issue.getComments()));
final Iterable<String> expectedExpandos = isJira5xOrNewer()
? ImmutableList.of("renderedFields", "names", "schema", "transitions", "operations", "editmeta", "changelog") : ImmutableList.of("html");
assertThat(ImmutableList.copyOf(issue.getExpandos()), containsInAnyOrder(toArray(expectedExpandos, String.class)));
assertEquals(new TimeTracking(null, 0, 190), issue.getTimeTracking());
assertTrue(Iterables.size(issue.getFields()) > 0);
assertEquals(IntegrationTestUtil.START_PROGRESS_TRANSITION_ID, Iterables.size(issue.getAttachments()));
final Iterable<Attachment> items = issue.getAttachments();
assertNotNull(items);
Attachment attachment1 = new Attachment(IntegrationTestUtil.concat(
IntegrationTestUtil.TESTING_JIRA_5_OR_NEWER ? UriBuilder.fromUri(jiraUri).path("/rest/api/2/").build()
: jiraRestRootUri, "/attachment/10040"),
"dla Paw\u0142a.txt", IntegrationTestUtil.USER_ADMIN, dateTime, 643, "text/plain",
IntegrationTestUtil.concat(jiraUri, "/secure/attachment/10040/dla+Paw%C5%82a.txt"), null);
assertEquals(attachment1, items.iterator().next());
// test for changelog
assertNull(issue.getChangelog());
final Issue issueWithChangelog = client.getIssueClient().getIssue("TST-2", EnumSet.of(IssueRestClient.Expandos.CHANGELOG), pm);
final Iterable<ChangelogGroup> changelog = issueWithChangelog.getChangelog();
if (isJira5xOrNewer()) {
assertNotNull(changelog);
final ChangelogGroup chg1 = Iterables.get(changelog, 18);
assertEquals("admin", chg1.getAuthor().getName());
assertEquals("Administrator", chg1.getAuthor().getDisplayName());