/******************************************************************************* * 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.tasks.activity.tests; import static org.junit.Assert.assertEquals; import java.util.ArrayList; import java.util.Collections; import java.util.Date; import java.util.List; import org.eclipse.mylyn.internal.tasks.activity.core.TaskActivityProvider; import org.eclipse.mylyn.internal.tasks.core.LocalRepositoryConnector; import org.eclipse.mylyn.internal.tasks.core.TaskList; import org.eclipse.mylyn.internal.tasks.core.TaskTask; import org.eclipse.mylyn.internal.tasks.index.core.TaskListIndex; import org.eclipse.mylyn.internal.tasks.index.ui.IndexReference; import org.eclipse.mylyn.tasks.activity.core.ActivityEvent; import org.eclipse.mylyn.tasks.activity.core.IActivityManager; import org.eclipse.mylyn.tasks.activity.core.TaskActivityScope; import org.eclipse.mylyn.tasks.activity.core.spi.IActivitySession; import org.junit.After; import org.junit.Before; import org.junit.Test; /** * @author Steffen Pingel * @author Timur Achmetow */ @SuppressWarnings("restriction") public class TaskActivityProviderTest { protected List<ActivityEvent> events = new ArrayList<ActivityEvent>(); private IndexReference reference; private TaskTask task1; @Before public void setUp() throws Exception { task1 = new TaskTask(LocalRepositoryConnector.CONNECTOR_KIND, LocalRepositoryConnector.REPOSITORY_URL, "2"); task1.setSummary("1: hit http://task/url1"); task1.setTaskKey("2"); task1.setCreationDate(new Date()); TaskTask task2 = new TaskTask(LocalRepositoryConnector.CONNECTOR_KIND, LocalRepositoryConnector.REPOSITORY_URL, "3"); task2.setSummary("2: miss http://task/url2"); task2.setTaskKey("3"); task2.setCreationDate(new Date()); reference = new IndexReference(); TaskListIndex taskListIndex = reference.index(); taskListIndex.getTaskList().addTask(task1); taskListIndex.getTaskList().addTask(task2); taskListIndex.waitUntilIdle(); } @After public void tearDown() { ((TaskList) reference.index().getTaskList()).reset(); reference.dispose(); } @Test public void testActivityStream() throws Exception { TaskTask searchTask = new TaskTask(LocalRepositoryConnector.CONNECTOR_KIND, LocalRepositoryConnector.REPOSITORY_URL, "1"); searchTask.setSummary("summary"); searchTask.setTaskKey("1"); searchTask.setUrl("http://task/url1"); TaskActivityProvider provider = new TaskActivityProvider(); IActivitySession session = new IActivitySession() { public IActivityManager getManger() { return null; } public void fireActivityEvent(ActivityEvent event) { events.add(event); } }; provider.open(session); provider.query(new TaskActivityScope(searchTask), null); ActivityEvent expected = new ActivityEvent(task1.getHandleIdentifier(), task1.getConnectorKind(), task1.getSummary(), task1.getCreationDate(), null); assertEquals(Collections.singletonList(expected), events); } }