Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrelves2010-05-25 20:03:26 +0000
committerrelves2010-05-25 20:03:26 +0000
commit881b6c37cfae275e990e06dd3616b7e3a20e3012 (patch)
treea6e43f6a3e099d2a44efa80a9df91e9f9dde9704 /org.eclipse.mylyn.tasks.tests
parentae7d66e3f5e2f5f622013d283e420a28bb0b994f (diff)
downloadorg.eclipse.mylyn.tasks-881b6c37cfae275e990e06dd3616b7e3a20e3012.tar.gz
org.eclipse.mylyn.tasks-881b6c37cfae275e990e06dd3616b7e3a20e3012.tar.xz
org.eclipse.mylyn.tasks-881b6c37cfae275e990e06dd3616b7e3a20e3012.zip
NEW - bug 263528: display a repository service message to warn users of problems, updates, and other relevant information
https://bugs.eclipse.org/bugs/show_bug.cgi?id=263528
Diffstat (limited to 'org.eclipse.mylyn.tasks.tests')
-rw-r--r--org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/AllTasksTests.java2
-rw-r--r--org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/util/ServiceMessageManagerTest.java81
2 files changed, 83 insertions, 0 deletions
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 c5bbbf7d8..9a1cf30c4 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
@@ -30,6 +30,7 @@ import org.eclipse.mylyn.tasks.tests.ui.editor.PlanningPartTest;
import org.eclipse.mylyn.tasks.tests.ui.editor.RepositoryCompletionProcessorTest;
import org.eclipse.mylyn.tasks.tests.ui.editor.TaskEditorPartDescriptorTest;
import org.eclipse.mylyn.tasks.tests.ui.editor.TaskUrlHyperlinkDetectorTest;
+import org.eclipse.mylyn.tasks.tests.util.ServiceMessageManagerTest;
/**
* @author Mik Kersten
@@ -102,6 +103,7 @@ public class AllTasksTests {
suite.addTestSuite(PlanningPartTest.class);
suite.addTestSuite(RepositoryCompletionProcessorTest.class);
suite.addTestSuite(TaskAttributeDiffTest.class);
+ suite.addTestSuite(ServiceMessageManagerTest.class);
// XXX long running tests, put back?
//suite.addTestSuite(QueryExportImportTest.class);
//suite.addTestSuite(BackgroundSaveTest.class);
diff --git a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/util/ServiceMessageManagerTest.java b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/util/ServiceMessageManagerTest.java
new file mode 100644
index 000000000..0cfc8568a
--- /dev/null
+++ b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/util/ServiceMessageManagerTest.java
@@ -0,0 +1,81 @@
+/*******************************************************************************
+ * Copyright (c) 2010 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.tests.util;
+
+import java.io.ByteArrayInputStream;
+import java.io.InputStream;
+
+import javax.xml.parsers.SAXParser;
+import javax.xml.parsers.SAXParserFactory;
+
+import junit.framework.TestCase;
+
+import org.apache.commons.httpclient.HttpStatus;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.mylyn.internal.tasks.core.notifications.ServiceMessage;
+import org.eclipse.mylyn.internal.tasks.core.notifications.ServiceMessageManager;
+import org.eclipse.mylyn.internal.tasks.core.notifications.ServiceMessageXmlHandler;
+
+/**
+ * @author Robert Elves
+ */
+public class ServiceMessageManagerTest extends TestCase {
+
+ private static final String MESSAGE_XML_URL = "http://eclipse.org/mylyn/messageTest.xml";
+
+ public void testRetrievingMessage() throws Exception {
+ ServiceMessageManager manager = new ServiceMessageManager(MESSAGE_XML_URL, "", "");
+ int status = manager.updateServiceMessage(new NullProgressMonitor());
+ assertEquals(HttpStatus.SC_OK, status);
+ ServiceMessage message = manager.getServiceMessages().get(0);
+
+ assertEquals("1", message.getId());
+ assertEquals("140 character description here....", message.getDescription());
+ assertEquals("Mylyn 3.4 now available!", message.getTitle());
+ assertEquals("http://eclipse.org/mylyn/downloads", message.getUrl());
+ assertEquals("Mylyn 3.4 now available!", message.getTitle());
+ assertEquals("dialog_messasge_info_image", message.getImage());
+ }
+
+ public void testETag() throws Exception {
+
+ ServiceMessageManager manager = new ServiceMessageManager(MESSAGE_XML_URL, "", "");
+ int status = manager.updateServiceMessage(new NullProgressMonitor());
+ assertEquals(HttpStatus.SC_OK, status);
+ ServiceMessage message = manager.getServiceMessages().get(0);
+
+ assertNotNull(message.getLastModified());
+ assertNotNull(message.getETag());
+
+ status = manager.updateServiceMessage(new NullProgressMonitor());
+ assertEquals(HttpStatus.SC_NOT_MODIFIED, status);
+ }
+
+ public void testParsingMessageXml() throws Exception {
+ String messageXml = "<ServiceMessage> <id>1</id><description>140 character description here....</description><title>Mylyn 3.4 now available!</title><url>http://eclipse.org/mylyn/downloads</url><image>dialog_messasge_info_image</image></ServiceMessage>";
+ InputStream is = new ByteArrayInputStream(messageXml.getBytes("UTF-8"));
+ SAXParserFactory factory = SAXParserFactory.newInstance();
+ factory.setValidating(false);
+ SAXParser parser = factory.newSAXParser();
+ ServiceMessageXmlHandler handler = new ServiceMessageXmlHandler();
+ parser.parse(is, handler);
+ ServiceMessage message = handler.getMessages().get(0);
+
+ assertEquals("1", message.getId());
+ assertEquals("140 character description here....", message.getDescription());
+ assertEquals("Mylyn 3.4 now available!", message.getTitle());
+ assertEquals("http://eclipse.org/mylyn/downloads", message.getUrl());
+ assertEquals("Mylyn 3.4 now available!", message.getTitle());
+ assertEquals("dialog_messasge_info_image", message.getImage());
+ }
+
+}

Back to the top