Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormkersten2006-11-10 02:29:21 +0000
committermkersten2006-11-10 02:29:21 +0000
commitbee1d1cbf79ee03083f0d51dfc0998e1f7c990b8 (patch)
treeb65a3adf294e0bb3646674f11134d6055fedac7d /org.eclipse.mylyn.tasks.tests
parent69f4b9209fb15a7de6fa7566b0ff7bda23b6af6c (diff)
downloadorg.eclipse.mylyn.tasks-bee1d1cbf79ee03083f0d51dfc0998e1f7c990b8.tar.gz
org.eclipse.mylyn.tasks-bee1d1cbf79ee03083f0d51dfc0998e1f7c990b8.tar.xz
org.eclipse.mylyn.tasks-bee1d1cbf79ee03083f0d51dfc0998e1f7c990b8.zip
NEW - bug 158976: Mylar dev sandbox web connector has dependency on focused ui
https://bugs.eclipse.org/bugs/show_bug.cgi?id=158976
Diffstat (limited to 'org.eclipse.mylyn.tasks.tests')
-rw-r--r--org.eclipse.mylyn.tasks.tests/META-INF/MANIFEST.MF3
-rw-r--r--org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/AllTasksTests.java1
-rw-r--r--org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/WebRepositoryConnectorTest.java93
3 files changed, 96 insertions, 1 deletions
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;
+ }
+
+}

Back to the top