PageRenderTime 25ms CodeModel.GetById 13ms RepoModel.GetById 0ms app.codeStats 0ms

/jira-project/jira-components/jira-tests-parent/jira-tests-unit/src/test/java/com/atlassian/jira/issue/index/TestBackgroundIndexListener.java

https://bitbucket.org/ahmed_bilal_360factors/jira7-core
Java | 193 lines | 168 code | 25 blank | 0 comment | 0 complexity | e9409fce13ca5e4154f5509250f7a2e8 MD5 | raw file
Possible License(s): Apache-2.0
  1. package com.atlassian.jira.issue.index;
  2. import com.atlassian.jira.event.issue.IssueEvent;
  3. import com.atlassian.jira.event.type.EventType;
  4. import com.atlassian.jira.issue.Issue;
  5. import com.atlassian.jira.matchers.IterableMatchers;
  6. import com.atlassian.jira.mock.issue.MockIssue;
  7. import org.junit.Before;
  8. import org.junit.Test;
  9. import static org.hamcrest.core.Is.is;
  10. import static org.junit.Assert.assertThat;
  11. public class TestBackgroundIndexListener {
  12. private BackgroundIndexListener listener;
  13. private Issue issue1 = new MockIssue(1, "HSP-1");
  14. private Issue issue2 = new MockIssue(2, "HSP-2");
  15. private Issue issue3 = new MockIssue(3, "HSP-3");
  16. private Issue issue4 = new MockIssue(4, "HSP-4");
  17. private Issue issue5 = new MockIssue(5, "HSP-5");
  18. private Issue issue6 = new MockIssue(6, "HSP-6");
  19. private Issue issue7 = new MockIssue(7, "HSP-7");
  20. @Before
  21. public void setup() {
  22. listener = new BackgroundIndexListener();
  23. }
  24. @Test
  25. public void testIssueUpdated() {
  26. IssueEvent event = new IssueEvent(issue1, null, null, EventType.ISSUE_UPDATED_ID);
  27. listener.issueUpdated(event);
  28. assertThat(listener.getTotalModifications(), is(1));
  29. assertThat(listener.getUpdatedIssues().size(), is(1));
  30. assertThat(listener.getUpdatedIssues(), IterableMatchers.hasItems(Long.class, Long.valueOf(1)));
  31. assertThat(listener.getDeletedIssues().size(), is(0));
  32. }
  33. @Test
  34. public void testIssueAssigned() throws Exception {
  35. IssueEvent event = new IssueEvent(issue1, null, null, EventType.ISSUE_ASSIGNED_ID);
  36. listener.issueAssigned(event);
  37. assertThat(listener.getTotalModifications(), is(1));
  38. assertThat(listener.getUpdatedIssues().size(), is(1));
  39. assertThat(listener.getUpdatedIssues(), IterableMatchers.hasItems(Long.class, Long.valueOf(1)));
  40. assertThat(listener.getDeletedIssues().size(), is(0));
  41. }
  42. @Test
  43. public void testIssueResolved() throws Exception {
  44. IssueEvent event = new IssueEvent(issue1, null, null, EventType.ISSUE_RESOLVED_ID);
  45. listener.issueResolved(event);
  46. assertThat(listener.getTotalModifications(), is(1));
  47. assertThat(listener.getUpdatedIssues().size(), is(1));
  48. assertThat(listener.getUpdatedIssues(), IterableMatchers.hasItems(Long.class, Long.valueOf(1)));
  49. assertThat(listener.getDeletedIssues().size(), is(0));
  50. }
  51. @Test
  52. public void testIssueClosed() throws Exception {
  53. IssueEvent event = new IssueEvent(issue1, null, null, EventType.ISSUE_CLOSED_ID);
  54. listener.issueClosed(event);
  55. assertThat(listener.getTotalModifications(), is(1));
  56. assertThat(listener.getUpdatedIssues().size(), is(1));
  57. assertThat(listener.getUpdatedIssues(), IterableMatchers.hasItems(Long.class, Long.valueOf(1)));
  58. assertThat(listener.getDeletedIssues().size(), is(0));
  59. }
  60. @Test
  61. public void testIssueCommented() throws Exception {
  62. IssueEvent event = new IssueEvent(issue1, null, null, EventType.ISSUE_COMMENTED_ID);
  63. listener.issueCommented(event);
  64. assertThat(listener.getTotalModifications(), is(1));
  65. assertThat(listener.getUpdatedIssues().size(), is(1));
  66. assertThat(listener.getUpdatedIssues(), IterableMatchers.hasItems(Long.class, Long.valueOf(1)));
  67. assertThat(listener.getDeletedIssues().size(), is(0));
  68. }
  69. @Test
  70. public void testIssueCommentEdited() throws Exception {
  71. IssueEvent event = new IssueEvent(issue1, null, null, EventType.ISSUE_COMMENT_EDITED_ID);
  72. listener.issueCommentEdited(event);
  73. assertThat(listener.getTotalModifications(), is(1));
  74. assertThat(listener.getUpdatedIssues().size(), is(1));
  75. assertThat(listener.getUpdatedIssues(), IterableMatchers.hasItems(Long.class, Long.valueOf(1)));
  76. assertThat(listener.getDeletedIssues().size(), is(0));
  77. }
  78. @Test
  79. public void testIssueCommentDeleted() throws Exception {
  80. IssueEvent event = new IssueEvent(issue1, null, null, EventType.ISSUE_COMMENT_DELETED_ID);
  81. listener.issueCommentDeleted(event);
  82. assertThat(listener.getTotalModifications(), is(1));
  83. assertThat(listener.getUpdatedIssues().size(), is(1));
  84. assertThat(listener.getUpdatedIssues(), IterableMatchers.hasItems(Long.class, Long.valueOf(1)));
  85. assertThat(listener.getDeletedIssues().size(), is(0));
  86. }
  87. @Test
  88. public void testIssueWorklogUpdated() throws Exception {
  89. IssueEvent event = new IssueEvent(issue1, null, null, EventType.ISSUE_WORKLOG_UPDATED_ID);
  90. listener.issueWorklogUpdated(event);
  91. assertThat(listener.getTotalModifications(), is(1));
  92. assertThat(listener.getUpdatedIssues().size(), is(1));
  93. assertThat(listener.getUpdatedIssues(), IterableMatchers.hasItems(Long.class, Long.valueOf(1)));
  94. assertThat(listener.getDeletedIssues().size(), is(0));
  95. }
  96. @Test
  97. public void testIssueWorklogDeleted() throws Exception {
  98. IssueEvent event = new IssueEvent(issue1, null, null, EventType.ISSUE_WORKLOG_DELETED_ID);
  99. listener.issueWorklogDeleted(event);
  100. assertThat(listener.getTotalModifications(), is(1));
  101. assertThat(listener.getUpdatedIssues().size(), is(1));
  102. assertThat(listener.getUpdatedIssues(), IterableMatchers.hasItems(Long.class, Long.valueOf(1)));
  103. assertThat(listener.getDeletedIssues().size(), is(0));
  104. }
  105. @Test
  106. public void testIssueReopened() throws Exception {
  107. IssueEvent event = new IssueEvent(issue1, null, null, EventType.ISSUE_REOPENED_ID);
  108. listener.issueReopened(event);
  109. assertThat(listener.getTotalModifications(), is(1));
  110. assertThat(listener.getUpdatedIssues().size(), is(1));
  111. assertThat(listener.getUpdatedIssues(), IterableMatchers.hasItems(Long.class, Long.valueOf(1)));
  112. assertThat(listener.getDeletedIssues().size(), is(0));
  113. }
  114. @Test
  115. public void testIssueDeleted() throws Exception {
  116. IssueEvent event = new IssueEvent(issue1, null, null, EventType.ISSUE_DELETED_ID);
  117. listener.issueDeleted(event);
  118. assertThat(listener.getTotalModifications(), is(1));
  119. assertThat(listener.getUpdatedIssues().size(), is(0));
  120. assertThat(listener.getDeletedIssues().size(), is(1));
  121. assertThat(listener.getDeletedIssues(), IterableMatchers.hasItems(Long.class, Long.valueOf(1)));
  122. }
  123. @Test
  124. public void testIssueWorkLogged() throws Exception {
  125. IssueEvent event = new IssueEvent(issue1, null, null, EventType.ISSUE_WORKLOGGED_ID);
  126. listener.issueWorkLogged(event);
  127. assertThat(listener.getTotalModifications(), is(1));
  128. assertThat(listener.getUpdatedIssues().size(), is(1));
  129. assertThat(listener.getUpdatedIssues(), IterableMatchers.hasItems(Long.class, Long.valueOf(1)));
  130. assertThat(listener.getDeletedIssues().size(), is(0));
  131. }
  132. @Test
  133. public void testIssueMoved() throws Exception {
  134. IssueEvent event = new IssueEvent(issue1, null, null, EventType.ISSUE_MOVED_ID);
  135. listener.issueMoved(event);
  136. assertThat(listener.getTotalModifications(), is(1));
  137. assertThat(listener.getUpdatedIssues().size(), is(1));
  138. assertThat(listener.getUpdatedIssues(), IterableMatchers.hasItems(Long.class, Long.valueOf(1)));
  139. assertThat(listener.getDeletedIssues().size(), is(0));
  140. }
  141. @Test
  142. public void testMultipleUpdates() throws Exception {
  143. listener.issueUpdated(new IssueEvent(issue1, null, null, EventType.ISSUE_UPDATED_ID));
  144. listener.issueUpdated(new IssueEvent(issue2, null, null, EventType.ISSUE_UPDATED_ID));
  145. listener.issueMoved(new IssueEvent(issue1, null, null, EventType.ISSUE_MOVED_ID));
  146. listener.issueAssigned(new IssueEvent(issue2, null, null, EventType.ISSUE_ASSIGNED_ID));
  147. listener.issueResolved(new IssueEvent(issue3, null, null, EventType.ISSUE_RESOLVED_ID));
  148. listener.issueDeleted(new IssueEvent(issue4, null, null, EventType.ISSUE_DELETED_ID));
  149. listener.issueDeleted(new IssueEvent(issue4, null, null, EventType.ISSUE_DELETED_ID));
  150. listener.issueDeleted(new IssueEvent(issue5, null, null, EventType.ISSUE_DELETED_ID));
  151. listener.issueUpdated(new IssueEvent(issue6, null, null, EventType.ISSUE_UPDATED_ID));
  152. assertThat(listener.getTotalModifications(), is(6));
  153. assertThat(listener.getUpdatedIssues().size(), is(4));
  154. assertThat(listener.getUpdatedIssues(), IterableMatchers.hasItems(Long.class, Long.valueOf(1), Long.valueOf(2), Long.valueOf(3), Long.valueOf(6)));
  155. assertThat(listener.getDeletedIssues().size(), is(2));
  156. assertThat(listener.getDeletedIssues(), IterableMatchers.hasItems(Long.class, Long.valueOf(4), Long.valueOf(5)));
  157. }
  158. @Test
  159. public void testDeleteAfterUpdate() {
  160. listener.issueUpdated(new IssueEvent(issue1, null, null, EventType.ISSUE_UPDATED_ID));
  161. listener.issueUpdated(new IssueEvent(issue2, null, null, EventType.ISSUE_UPDATED_ID));
  162. listener.issueDeleted(new IssueEvent(issue1, null, null, EventType.ISSUE_DELETED_ID));
  163. assertThat(listener.getUpdatedIssues().size(), is(1));
  164. assertThat(listener.getDeletedIssues().size(), is(1));
  165. assertThat(listener.getUpdatedIssues(), IterableMatchers.hasItems(Long.class, Long.valueOf(2)));
  166. assertThat(listener.getDeletedIssues(), IterableMatchers.hasItems(Long.class, Long.valueOf(1)));
  167. }
  168. }