From 16011372b76e8a83264ff933f4ca99ad0a5f93c7 Mon Sep 17 00:00:00 2001 From: Steffen Pingel Date: Thu, 16 Feb 2012 14:02:47 +0100 Subject: support running tests headless --- .../tests/util/InMemoryTaskDataCollector.java | 59 ++++++++++++++++++++++ .../org/eclipse/mylyn/tests/util/TestFixture.java | 8 ++- 2 files changed, 65 insertions(+), 2 deletions(-) create mode 100644 org.eclipse.mylyn.tests.util/src/org/eclipse/mylyn/tests/util/InMemoryTaskDataCollector.java (limited to 'org.eclipse.mylyn.tests.util') diff --git a/org.eclipse.mylyn.tests.util/src/org/eclipse/mylyn/tests/util/InMemoryTaskDataCollector.java b/org.eclipse.mylyn.tests.util/src/org/eclipse/mylyn/tests/util/InMemoryTaskDataCollector.java new file mode 100644 index 000000000..c69aeaef9 --- /dev/null +++ b/org.eclipse.mylyn.tests.util/src/org/eclipse/mylyn/tests/util/InMemoryTaskDataCollector.java @@ -0,0 +1,59 @@ +/******************************************************************************* + * Copyright (c) 2012 Tasktop Technologies and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Tasktop Technologies - initial API and implementation + *******************************************************************************/ + +package org.eclipse.mylyn.tests.util; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import org.eclipse.core.runtime.IStatus; +import org.eclipse.mylyn.tasks.core.data.TaskData; +import org.eclipse.mylyn.tasks.core.data.TaskDataCollector; + +/** + * @author Steffen Pingel + */ +public class InMemoryTaskDataCollector extends TaskDataCollector { + + public Map failureByTaskId; + + public List results; + + public InMemoryTaskDataCollector() { + reset(); + } + + @Override + public void accept(TaskData taskData) { + results.add(taskData); + } + + @Override + public void failed(String taskId, IStatus status) { + failureByTaskId.put(taskId, status); + } + + public Map getFailureByTaskId() { + return failureByTaskId; + } + + public List getResults() { + return results; + } + + public void reset() { + results = new ArrayList(); + failureByTaskId = new HashMap(); + } + +} diff --git a/org.eclipse.mylyn.tests.util/src/org/eclipse/mylyn/tests/util/TestFixture.java b/org.eclipse.mylyn.tests.util/src/org/eclipse/mylyn/tests/util/TestFixture.java index b2e1021d2..a67515a9f 100644 --- a/org.eclipse.mylyn.tests.util/src/org/eclipse/mylyn/tests/util/TestFixture.java +++ b/org.eclipse.mylyn.tests.util/src/org/eclipse/mylyn/tests/util/TestFixture.java @@ -212,7 +212,9 @@ public abstract class TestFixture { public TaskRepository singleRepository() { TaskRepositoryManager manager = TasksUiPlugin.getRepositoryManager(); - manager.clearRepositories(); + if (manager != null) { + manager.clearRepositories(); + } resetRepositories(); TaskRepository repository = new TaskRepository(connectorKind, repositoryUrl); @@ -220,7 +222,9 @@ public abstract class TestFixture { repository.setCredentials(AuthenticationType.REPOSITORY, new AuthenticationCredentials(credentials.username, credentials.password), true); configureRepository(repository); - manager.addRepository(repository); + if (manager != null) { + manager.addRepository(repository); + } return repository; } -- cgit v1.2.3