blob: 19c6933dd083fcd1af91c6ec1207a1b536528a78 [file] [log] [blame]
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));
}
}