Hi, so I've been trying to learn more about unit tests for my jira addon but I hit wall pretty early. I have simple Unit test which mocks IssueManager with one issue. That looks fine but the problem is when I try to get the issue specifically with issuekey
@RunWith(MockitoJUnitRunner.class)
public class JiraServiceUnitTest {
@Before
public void setUp() throws Exception {
MockIssueManager issueManager = new MockIssueManager();
MockIssue issue = new MockIssue(10000, "FD-1001");
issueManager.addIssue(issue);
MockComponentWorker componentWorker = new MockComponentWorker();
componentWorker.addMock(IssueManager.class, issueManager);
componentWorker.init();
}
@Test
// OK
public void testIssueManager() {
IssueManager issueManager = ComponentAccessor.getIssueManager();
assertNotNull(issueManager);
}
@Test
// OK
public void testIssueSearchById() {
IssueManager issueManager = ComponentAccessor.getIssueManager();
Issue issue = issueManager.getIssueObject(10000L);
assertNotNull(issue);
}
@Test
// ERROR
public void testIssueSearchByKey() {
IssueManager issueManager = ComponentAccessor.getIssueManager();
Issue issue = issueManager.getIssueObject("FD-1001");
assertNotNull(issue);
}
}
From research I did I learned that there might be a problem with jira java api loading for tests that has something to do with osgi and that it could be solved by adding
<bundle-instructions>
<Import-Package>com.atlassian.jira.issue;resolution:="optional"</Import-Package>
</bundle-instructions>
to atlassian-plugin.xml. But this didn't work for me. The question is what am I doing wrong?