Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'org.eclipse.mylyn.tasks.ui.tests/src/org/eclipse/mylyn/internal/tasks/ui/migrator/ConnectorMigratorTest.java')
-rw-r--r--org.eclipse.mylyn.tasks.ui.tests/src/org/eclipse/mylyn/internal/tasks/ui/migrator/ConnectorMigratorTest.java96
1 files changed, 89 insertions, 7 deletions
diff --git a/org.eclipse.mylyn.tasks.ui.tests/src/org/eclipse/mylyn/internal/tasks/ui/migrator/ConnectorMigratorTest.java b/org.eclipse.mylyn.tasks.ui.tests/src/org/eclipse/mylyn/internal/tasks/ui/migrator/ConnectorMigratorTest.java
index a49c07034..ea4052458 100644
--- a/org.eclipse.mylyn.tasks.ui.tests/src/org/eclipse/mylyn/internal/tasks/ui/migrator/ConnectorMigratorTest.java
+++ b/org.eclipse.mylyn.tasks.ui.tests/src/org/eclipse/mylyn/internal/tasks/ui/migrator/ConnectorMigratorTest.java
@@ -22,6 +22,7 @@ import static org.mockito.Matchers.any;
import static org.mockito.Matchers.argThat;
import static org.mockito.Matchers.eq;
import static org.mockito.Mockito.doNothing;
+import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.inOrder;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.never;
@@ -167,7 +168,7 @@ public class ConnectorMigratorTest {
@SuppressWarnings("unchecked")
@Before
public void setUp() {
- doNothing().when(migrationUi).warnOfValidationFailure((List<TaskRepository>) any(List.class));
+ doNothing().when(migrationUi).warnOfValidationFailure(any(List.class));
doNothing().when(migrationUi).notifyMigrationComplete();
}
@@ -393,8 +394,8 @@ public class ConnectorMigratorTest {
ConnectorMigrator migrator = spy(createMigrator(true, true, kinds, ImmutableSet.of(repository), false));
TaskData taskData2 = new TaskData(mock(TaskAttributeMapper.class), "mock.new", repository.getRepositoryUrl(),
"2.migrated");
- when(migrator.getTaskData(eq("key2"), eq(newConnector), any(TaskRepository.class), any(IProgressMonitor.class)))
- .thenReturn(taskData2);
+ doReturn(taskData2).when(migrator).getTaskData(eq("key2"), eq(newConnector), any(TaskRepository.class),
+ any(IProgressMonitor.class));
ITask task1 = new TaskTask("mock", "http://mock", "1");
task1.setTaskKey("key1");
((AbstractTask) task1).setSynchronizationState(SynchronizationState.INCOMING_NEW);
@@ -450,12 +451,12 @@ public class ConnectorMigratorTest {
ConnectorMigrator migrator = spy(createMigrator(true, true, kinds, ImmutableSet.of(repository), false));
TaskData taskData1 = new TaskData(mock(TaskAttributeMapper.class), "mock.new", repository.getRepositoryUrl(),
"1");
- when(migrator.getTaskData(eq("key1"), eq(newConnector), any(TaskRepository.class), any(IProgressMonitor.class)))
- .thenReturn(taskData1);
+ doReturn(taskData1).when(migrator).getTaskData(eq("key1"), eq(newConnector), any(TaskRepository.class),
+ any(IProgressMonitor.class));
TaskData taskData2 = new TaskData(mock(TaskAttributeMapper.class), "mock.new", repository.getRepositoryUrl(),
"2");
- when(migrator.getTaskData(eq("key2"), eq(newConnector), any(TaskRepository.class), any(IProgressMonitor.class)))
- .thenReturn(taskData2);
+ doReturn(taskData2).when(migrator).getTaskData(eq("key2"), eq(newConnector), any(TaskRepository.class),
+ any(IProgressMonitor.class));
ITask task1 = new TaskTask("mock", "http://mock", "1");
task1.setTaskKey("key1");
((AbstractTask) task1).setSynchronizationState(SynchronizationState.INCOMING_NEW);
@@ -569,6 +570,87 @@ public class ConnectorMigratorTest {
assertEquals(expected, migrator.getCategories());
}
+ @Test
+ public void migrateNoQueries() {
+ ConnectorMigrator migrator = spy(createMigrator(true, true, kinds, ImmutableSet.of(repository), false));
+ RepositoryQuery q1 = createQuery("q1", repository, migrator, false);
+ RepositoryQuery q2 = createQuery("q2", repository, migrator, false);
+
+ migrator.migrateQueries(repository, migratedRepository, new NullProgressMonitor());
+ assertFalse(migrator.anyQueriesMigrated());
+ assertFalse(migrator.allQueriesMigrated());
+ }
+
+ @Test
+ public void migrateSomeQueries() {
+ ConnectorMigrator migrator = spy(createMigrator(true, true, kinds, ImmutableSet.of(repository), false));
+ RepositoryQuery q1 = createQuery("q1", repository, migrator, true);
+ RepositoryQuery q2 = createQuery("q2", repository, migrator, false);
+
+ assertFalse(migrator.anyQueriesMigrated());
+ assertTrue(migrator.allQueriesMigrated());
+
+ migrator.migrateQueries(repository, migratedRepository, new NullProgressMonitor());
+ assertTrue(migrator.anyQueriesMigrated());
+ assertFalse(migrator.allQueriesMigrated());
+ }
+
+ @Test
+ public void migrateAllQueries() {
+ ConnectorMigrator migrator = spy(createMigrator(true, true, kinds, ImmutableSet.of(repository), false));
+ RepositoryQuery q1 = createQuery("q1", repository, migrator, true);
+ RepositoryQuery q2 = createQuery("q2", repository, migrator, true);
+
+ migrator.migrateQueries(repository, migratedRepository, new NullProgressMonitor());
+ assertTrue(migrator.anyQueriesMigrated());
+ assertTrue(migrator.allQueriesMigrated());
+ }
+
+ @Test
+ public void migrateSomeQueriesMultipleRepositories() {
+ TaskRepository otherRepository = new TaskRepository("mock", "http://other-mock");
+ ConnectorMigrator migrator = spy(
+ createMigrator(true, true, kinds, ImmutableSet.of(repository, otherRepository), false));
+ RepositoryQuery q1 = createQuery("q1", repository, migrator, true);
+ RepositoryQuery q2 = createQuery("q2", repository, migrator, true);
+ RepositoryQuery q3 = createQuery("q3", otherRepository, migrator, false);
+ RepositoryQuery q4 = createQuery("q4", otherRepository, migrator, false);
+
+ migrator.migrateQueries(repository, migratedRepository, new NullProgressMonitor());
+ migrator.migrateQueries(otherRepository, migratedRepository, new NullProgressMonitor());
+ assertTrue(migrator.anyQueriesMigrated());
+ assertFalse(migrator.allQueriesMigrated());
+ }
+
+ @Test
+ public void migrateAllQueriesMultipleRepositories() {
+ TaskRepository otherRepository = new TaskRepository("mock", "http://other-mock");
+ ConnectorMigrator migrator = spy(createMigrator(true, true, kinds, ImmutableSet.of(repository), false));
+ RepositoryQuery q1 = createQuery("q1", repository, migrator, true);
+ RepositoryQuery q2 = createQuery("q2", repository, migrator, true);
+ RepositoryQuery q3 = createQuery("q3", otherRepository, migrator, true);
+ RepositoryQuery q4 = createQuery("q4", otherRepository, migrator, true);
+
+ migrator.migrateQueries(repository, migratedRepository, new NullProgressMonitor());
+ migrator.migrateQueries(otherRepository, migratedRepository, new NullProgressMonitor());
+ assertTrue(migrator.anyQueriesMigrated());
+ assertTrue(migrator.allQueriesMigrated());
+ }
+
+ private RepositoryQuery createQuery(String handle, TaskRepository repository, ConnectorMigrator migrator,
+ boolean shouldMigrate) {
+ RepositoryQuery query = new RepositoryQuery(repository.getConnectorKind(), handle);
+ query.setRepositoryUrl(repository.getRepositoryUrl());
+ tasksState.getTaskList().addQuery(query);
+ if (shouldMigrate) {
+ RepositoryQuery migratedQuery = new RepositoryQuery(repository.getConnectorKind(), handle + ".migrated");
+ migratedQuery.setRepositoryUrl(repository.getRepositoryUrl() + "/migrated");
+ when(migrator.migrateQuery(eq(query), any(TaskRepository.class), any(TaskRepository.class),
+ any(IProgressMonitor.class))).thenReturn(migratedQuery);
+ }
+ return query;
+ }
+
private AbstractTaskCategory getCategory(AbstractTask newTask) {
for (AbstractTaskCategory category : tasksState.getTaskList().getCategories()) {
Optional<ITask> task = Iterables.tryFind(category.getChildren(), Predicates.<ITask> equalTo(newTask));

Back to the top