diff options
4 files changed, 98 insertions, 1 deletions
diff --git a/org.eclipse.mylyn.help.ui/doc/new.html b/org.eclipse.mylyn.help.ui/doc/new.html index abb72002f..6f9ac4bcb 100644 --- a/org.eclipse.mylyn.help.ui/doc/new.html +++ b/org.eclipse.mylyn.help.ui/doc/new.html @@ -96,11 +96,13 @@ <li>JIRA integrated into search dialog</li> <li>JIRA query hits, incoming notifications work for hits</li> <li>JIRA offline</li> + <li>JIRA operations not yet supported</li> <li>Authentication</li> <li>Task List follows platform policy of single/double click. Option to activate on double-click. Takes some getting used to but save clicks.</li> <li>Apply Patch?</li> + <li>Subversive support</li> </ul> <hr> diff --git a/org.eclipse.mylyn.tasks.tests/META-INF/MANIFEST.MF b/org.eclipse.mylyn.tasks.tests/META-INF/MANIFEST.MF index 44f3c513d..90d1b60ba 100644 --- a/org.eclipse.mylyn.tasks.tests/META-INF/MANIFEST.MF +++ b/org.eclipse.mylyn.tasks.tests/META-INF/MANIFEST.MF @@ -18,7 +18,8 @@ Require-Bundle: org.eclipse.core.runtime, org.eclipse.mylar.tasks.core, org.eclipse.mylar.monitor, org.eclipse.ui.forms, - org.eclipse.mylar.resources.tests + org.eclipse.mylar.resources.tests, + org.eclipse.mylar.tasks.web Eclipse-AutoStart: true Bundle-ClassPath: mylar-tasklist-tests.jar Export-Package: org.eclipse.mylar.tasks.tests, diff --git a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/AllTasksTests.java b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/AllTasksTests.java index 2e337cc37..3b6383ebe 100644 --- a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/AllTasksTests.java +++ b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/AllTasksTests.java @@ -23,6 +23,7 @@ public class AllTasksTests { TestSuite suite = new TestSuite("Test for org.eclipse.mylar.tasklist.tests"); // $JUnit-BEGIN$ + suite.addTestSuite(WebRepositoryConnectorTest.class); suite.addTestSuite(CopyDetailsActionTest.class); suite.addTestSuite(TaskListTest.class); suite.addTestSuite(ProjectRepositoryAssociationTest.class); diff --git a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/WebRepositoryConnectorTest.java b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/WebRepositoryConnectorTest.java new file mode 100644 index 000000000..032946979 --- /dev/null +++ b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/WebRepositoryConnectorTest.java @@ -0,0 +1,93 @@ +/******************************************************************************* + * Copyright (c) 2006 - 2006 Mylar eclipse.org project 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: + * Mylar project committers - initial API and implementation + *******************************************************************************/ + +package org.eclipse.mylar.tasks.tests; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import junit.extensions.ActiveTestSuite; +import junit.framework.TestCase; +import junit.framework.TestSuite; + +import org.eclipse.core.runtime.IProgressMonitor; +import org.eclipse.core.runtime.IStatus; +import org.eclipse.core.runtime.MultiStatus; +import org.eclipse.core.runtime.NullProgressMonitor; +import org.eclipse.mylar.internal.tasks.web.WebRepositoryConnector; +import org.eclipse.mylar.tasks.core.AbstractQueryHit; +import org.eclipse.mylar.tasks.core.AbstractRepositoryConnector; +import org.eclipse.mylar.tasks.core.QueryHitCollector; +import org.eclipse.mylar.tasks.core.RepositoryTemplate; +import org.eclipse.mylar.tasks.core.TaskRepository; +import org.eclipse.mylar.tasks.ui.TasksUiPlugin; + +/** + * @author Eugene Kuleshov + */ +public class WebRepositoryConnectorTest extends TestCase { + + private final RepositoryTemplate template; + + public WebRepositoryConnectorTest(RepositoryTemplate template) { + super("testRepositoryTemplate"); + this.template = template; + } + + public void testRepositoryTemplate() throws Exception { + IProgressMonitor monitor = new NullProgressMonitor(); + MultiStatus queryStatus = new MultiStatus(TasksUiPlugin.PLUGIN_ID, IStatus.OK, "Query result", null); + final List<AbstractQueryHit> hits = new ArrayList<AbstractQueryHit>(); + QueryHitCollector collector = new QueryHitCollector(TasksUiPlugin.getTaskListManager().getTaskList()) { + @Override + public void addMatch(AbstractQueryHit hit) { + hits.add(hit); + } + }; + + Map<String, String> params = new HashMap<String, String>(); + Map<String, String> attributes = new HashMap<String, String>(template.getAttributes()); + for(Map.Entry<String, String> e : attributes.entrySet()) { + String key = e.getKey(); + if(key.startsWith(WebRepositoryConnector.PARAM_PREFIX)) { + params.put(key, e.getValue()); + } + } + + TaskRepository repository = new TaskRepository(WebRepositoryConnector.REPOSITORY_TYPE, template.repositoryUrl, params); + repository.setAuthenticationCredentials("user", "pwd"); + + String taskQueryUrl = WebRepositoryConnector.evaluateParams(template.taskQueryUrl, repository); + String regexp = WebRepositoryConnector.evaluateParams(template.getAttribute(WebRepositoryConnector.PROPERTY_QUERY_REGEXP), repository); + String buffer = WebRepositoryConnector.fetchResource(taskQueryUrl, null, null); + IStatus resultingStatus = WebRepositoryConnector.performQuery(buffer, regexp, null, null, monitor, collector); + assertTrue("Query failed\n"+taskQueryUrl+"\n"+regexp+"\n"+resultingStatus.toString(), queryStatus.isOK()); + assertTrue("Expected non-empty query result\n"+taskQueryUrl+"\n"+regexp, hits.size()>0); + } + + public String getName() { + return template.label; + } + + public static TestSuite suite() { + TestSuite suite = new ActiveTestSuite(WebRepositoryConnectorTest.class.getName()); + + AbstractRepositoryConnector repositoryConnector = TasksUiPlugin.getRepositoryManager().getRepositoryConnector(WebRepositoryConnector.REPOSITORY_TYPE); + for (RepositoryTemplate template : repositoryConnector.getTemplates()) { + suite.addTest(new WebRepositoryConnectorTest(template)); + } + + return suite; + } + +} |