diff options
author | relves | 2010-05-25 20:03:26 +0000 |
---|---|---|
committer | relves | 2010-05-25 20:03:26 +0000 |
commit | 881b6c37cfae275e990e06dd3616b7e3a20e3012 (patch) | |
tree | a6e43f6a3e099d2a44efa80a9df91e9f9dde9704 /org.eclipse.mylyn.tasks.tests | |
parent | ae7d66e3f5e2f5f622013d283e420a28bb0b994f (diff) | |
download | org.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')
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()); + } + +} |