package to.rtc.rtc2jira.exporter.github; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static to.rtc.rtc2jira.storage.TestWorkItemCreator.createWorkItem; import java.util.Optional; import org.eclipse.egit.github.core.Issue; import org.junit.Before; import org.junit.Rule; import org.junit.Test; import com.orientechnologies.orient.core.record.impl.ODocument; import to.rtc.rtc2jira.TestDatabaseRule; import to.rtc.rtc2jira.storage.FieldNames; import to.rtc.rtc2jira.storage.StorageEngine; /** * Test of {@link GitHubStorage} * * @author Manuel */ public class GitHubStorageTest { @Rule public TestDatabaseRule testDbRule = new TestDatabaseRule(); private GitHubStorage storage; private StorageEngine storageEngine; @Before public void setUp() throws Exception { storageEngine = testDbRule.getEngine(); storage = new GitHubStorage(storageEngine); } @Test public void testStoreIssue_IssueIsNull_ExpectNoExceptionAndNoStorage() { Issue issue = null; ODocument workItem = createWorkItem(1, storageEngine); storage.storeLinkToIssueInWorkItem(Optional.ofNullable(issue), workItem); boolean isStored = workItem.field(FieldNames.GITHUB_WORKITEM_LINK) != null; assertFalse(isStored); } @Test public void testStoreIssue_IssueIsGiven_ExpectLinkToIssueIsStored() { int expectedIssueNumber = 1337; Issue issue = new Issue().setNumber(expectedIssueNumber); ODocument workitem = createWorkItem(2, storageEngine); storage.storeLinkToIssueInWorkItem(Optional.ofNullable(issue), workitem); Object link = workitem.field(FieldNames.GITHUB_WORKITEM_LINK); assertEquals(1337, link); } }