| package org.eclipse.mylyn.bugzilla.rest.core.tests; |
| |
| import static org.hamcrest.Matchers.equalTo; |
| import static org.junit.Assert.assertNull; |
| import static org.junit.Assert.assertThat; |
| import static org.junit.Assert.assertTrue; |
| |
| import java.util.Date; |
| |
| import org.eclipse.mylyn.internal.bugzilla.rest.core.BugzillaRestConnector; |
| import org.eclipse.mylyn.internal.bugzilla.rest.core.BugzillaRestTaskSchema; |
| import org.eclipse.mylyn.internal.tasks.core.TaskTask; |
| import org.eclipse.mylyn.tasks.core.TaskRepository; |
| import org.eclipse.mylyn.tasks.core.data.TaskAttributeMapper; |
| import org.eclipse.mylyn.tasks.core.data.TaskData; |
| import org.junit.Before; |
| import org.junit.Test; |
| |
| public class BugzillaRestConnectorNoFixtureTest { |
| |
| private BugzillaRestConnector connector; |
| |
| private TaskRepository repository; |
| |
| @Before |
| public void setUp() { |
| connector = new BugzillaRestConnector(); |
| repository = new TaskRepository(connector.getConnectorKind(), "http://test.repository.url"); |
| } |
| |
| @Test |
| public void testGetRepositoryUrlFromTaskUrl() throws Exception { |
| assertNull(connector.getRepositoryUrlFromTaskUrl(repository.getRepositoryUrl() + "/rest/bug/1")); |
| assertThat(connector.getRepositoryUrlFromTaskUrl(repository.getRepositoryUrl() + "/rest.cgi/bug/1"), |
| equalTo(repository.getRepositoryUrl())); |
| } |
| |
| @Test |
| public void testGetTaskUrl() throws Exception { |
| assertThat(connector.getTaskUrl(repository.getRepositoryUrl(), "123"), |
| equalTo(repository.getRepositoryUrl() + "/rest.cgi/bug/123")); |
| assertThat(connector.getTaskUrl(repository.getRepositoryUrl(), "Test"), |
| equalTo(repository.getRepositoryUrl() + "/rest.cgi/bug/Test")); |
| } |
| |
| @Test |
| public void testHasTaskChanged() { |
| TaskData taskData = new TaskData(new TaskAttributeMapper(repository), connector.getConnectorKind(), |
| repository.getRepositoryUrl(), "123"); |
| TaskTask task = new TaskTask(repository.getConnectorKind(), repository.getRepositoryUrl(), "123"); |
| Date now = new Date(); |
| task.setAttribute(BugzillaRestTaskSchema.getDefault().DATE_MODIFICATION.getKey(), "" + now.getTime()); |
| taskData.getRoot().createAttribute(BugzillaRestTaskSchema.getDefault().DATE_MODIFICATION.getKey()).setValue( |
| "" + (now.getTime() + 1)); |
| assertTrue(connector.hasTaskChanged(repository, task, taskData)); |
| } |
| |
| @Test |
| public void testHasTaskChangedEmptyModificationDate() { |
| TaskData taskData = new TaskData(new TaskAttributeMapper(repository), connector.getConnectorKind(), |
| repository.getRepositoryUrl(), "123"); |
| TaskTask task = new TaskTask(repository.getConnectorKind(), repository.getRepositoryUrl(), "123"); |
| Date now = new Date(); |
| taskData.getRoot().createAttribute(BugzillaRestTaskSchema.getDefault().DATE_MODIFICATION.getKey()).setValue( |
| "" + (now.getTime())); |
| assertTrue(connector.hasTaskChanged(repository, task, taskData)); |
| } |
| |
| @Test |
| public void testHasNotTaskChanged() { |
| TaskData taskData = new TaskData(new TaskAttributeMapper(repository), connector.getConnectorKind(), |
| repository.getRepositoryUrl(), "123"); |
| TaskTask task = new TaskTask(repository.getConnectorKind(), repository.getRepositoryUrl(), "123"); |
| Date now = new Date(); |
| task.setAttribute(BugzillaRestTaskSchema.getDefault().DATE_MODIFICATION.getKey(), "" + now.getTime()); |
| taskData.getRoot().createAttribute(BugzillaRestTaskSchema.getDefault().DATE_MODIFICATION.getKey()).setValue( |
| "" + (now.getTime())); |
| assertTrue(!connector.hasTaskChanged(repository, task, taskData)); |
| } |
| |
| @Test |
| public void testHasNotTaskChangedEmptyModificationDate() { |
| TaskData taskData = new TaskData(new TaskAttributeMapper(repository), connector.getConnectorKind(), |
| repository.getRepositoryUrl(), "123"); |
| TaskTask task = new TaskTask(repository.getConnectorKind(), repository.getRepositoryUrl(), "123"); |
| assertTrue(!connector.hasTaskChanged(repository, task, taskData)); |
| } |
| |
| @Test |
| public void testTaskDataAndTaskWithodModdate() { |
| TaskData taskData = new TaskData(new TaskAttributeMapper(repository), connector.getConnectorKind(), |
| repository.getRepositoryUrl(), "123"); |
| TaskTask task = new TaskTask(repository.getConnectorKind(), repository.getRepositoryUrl(), "123"); |
| Date now = new Date(); |
| task.setAttribute(BugzillaRestTaskSchema.getDefault().DATE_MODIFICATION.getKey(), "" + now.getTime()); |
| assertTrue(connector.hasTaskChanged(repository, task, taskData)); |
| } |
| |
| } |