diff options
Diffstat (limited to 'org.eclipse.mylyn.tasks.tests/src/org/eclipse')
42 files changed, 0 insertions, 6420 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 deleted file mode 100644 index 7f7876866..000000000 --- a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/AllTasksTests.java +++ /dev/null @@ -1,59 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2007 Mylyn project committers 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 - *******************************************************************************/ - -package org.eclipse.mylyn.tasks.tests; - -import junit.framework.Test; -import junit.framework.TestSuite; - -/** - * @author Mik Kersten - */ -public class AllTasksTests { - - public static Test suite() { - TestSuite suite = new TestSuite("Test for org.eclipse.mylyn.tasks.tests"); - - // $JUnit-BEGIN$ - suite.addTestSuite(TaskRepositoryTest.class); - suite.addTestSuite(TaskRepositorySorterTest.class); - suite.addTestSuite(TaskDataManagerTest.class); - suite.addTestSuite(CopyDetailsActionTest.class); - suite.addTestSuite(TaskListTest.class); - suite.addTestSuite(ProjectRepositoryAssociationTest.class); - suite.addTestSuite(TaskList06DataMigrationTest.class); - suite.addTestSuite(TaskPlanningEditorTest.class); - suite.addTestSuite(TaskListManagerTest.class); - suite.addTestSuite(RepositoryTaskSynchronizationTest.class); - suite.addTestSuite(TaskRepositoryManagerTest.class); - suite.addTestSuite(TaskRepositoriesExternalizerTest.class); - suite.addTestSuite(TaskListContentProviderTest.class); - suite.addTestSuite(TaskListBackupManagerTest.class); - suite.addTestSuite(TableSorterTest.class); - suite.addTestSuite(TaskKeyComparatorTest.class); - suite.addTestSuite(TaskTest.class); - suite.addTestSuite(TaskListUiTest.class); - suite.addTestSuite(TaskListDnDTest.class); - suite.addTestSuite(TaskDataExportTest.class); - // XXX: Put back - //suite.addTestSuite(TaskDataImportTest.class); - suite.addTestSuite(TaskActivityTest.class); - suite.addTestSuite(AttachmentJobTest.class); - suite.addTestSuite(RepositorySettingsPageTest.class); - suite.addTestSuite(TaskHistoryTest.class); - suite.addTestSuite(UrlConnectionUtilTest.class); - suite.addTestSuite(CommentQuoterTest.class); - suite.addTestSuite(OfflineStorageTest.class); - suite.addTestSuite(OfflineCachingStorageTest.class); - // $JUnit-END$ - - // suite.addTestSuite(BackgroundSaveTest.class); - // suite.addTestSuite(RetrieveTitleFromUrlTest.class); - return suite; - } -} diff --git a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/AttachmentJobTest.java b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/AttachmentJobTest.java deleted file mode 100644 index 060136b48..000000000 --- a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/AttachmentJobTest.java +++ /dev/null @@ -1,115 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004 - 2006 Mylar committers 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 - *******************************************************************************/ - -package org.eclipse.mylyn.tasks.tests; - -import java.io.File; -import java.io.RandomAccessFile; - -import junit.framework.TestCase; - -import org.eclipse.core.runtime.Status; -import org.eclipse.mylyn.internal.tasks.ui.actions.CopyAttachmentToClipboardJob; -import org.eclipse.mylyn.internal.tasks.ui.actions.DownloadAttachmentJob; -import org.eclipse.mylyn.monitor.core.StatusHandler; -import org.eclipse.mylyn.tasks.core.RepositoryAttachment; -import org.eclipse.mylyn.tasks.core.TaskRepository; -import org.eclipse.mylyn.tasks.core.TaskRepositoryManager; -import org.eclipse.mylyn.tasks.tests.connector.MockAttachmentHandler; -import org.eclipse.mylyn.tasks.tests.connector.MockRepositoryConnector; -import org.eclipse.mylyn.tasks.tests.connector.MockStatusHandler; -import org.eclipse.mylyn.tasks.ui.TasksUiPlugin; -import org.eclipse.swt.dnd.Clipboard; -import org.eclipse.swt.dnd.TextTransfer; -import org.eclipse.ui.PlatformUI; - -/** - * Test task attachment jobs. - * - * @author Steffen Pingel - */ -public class AttachmentJobTest extends TestCase { - - private TaskRepositoryManager manager; - - private MockRepositoryConnector connector; - - private MockAttachmentHandler attachmentHandler; - - private MockStatusHandler statusHandler; - - private TaskRepository repository; - - private RepositoryAttachment attachment; - - @Override - protected void setUp() throws Exception { - super.setUp(); - - manager = TasksUiPlugin.getRepositoryManager(); - - repository = new TaskRepository(MockRepositoryConnector.REPOSITORY_KIND, MockRepositoryConnector.REPOSITORY_URL); - manager.addRepository(repository, TasksUiPlugin.getDefault().getRepositoriesFilePath()); - - attachmentHandler = new MockAttachmentHandler(); - - connector = new MockRepositoryConnector(); - connector.setAttachmentHandler(attachmentHandler); - manager.addRepositoryConnector(connector); - - statusHandler = new MockStatusHandler(); - StatusHandler.addStatusHandler(statusHandler); - - attachment = new RepositoryAttachment(null); - attachment.setRepositoryKind(repository.getConnectorKind()); - attachment.setRepositoryUrl(repository.getUrl()); - } - - @Override - protected void tearDown() throws Exception { - if (statusHandler != null) { - StatusHandler.removeStatusHandler(statusHandler); - } - } - - public void testCopyToClipboardAction() throws Exception { - String expected = "attachment content"; - attachmentHandler.setAttachmentData(expected.getBytes()); - - CopyAttachmentToClipboardJob job = new CopyAttachmentToClipboardJob(attachment); - job.schedule(); - job.join(); - - Clipboard clipboard = new Clipboard(PlatformUI.getWorkbench().getDisplay()); - assertEquals(expected, clipboard.getContents(TextTransfer.getInstance())); - } - - public void testDownloadAttachmentJob() throws Exception { - File file = File.createTempFile("mylyn", null); - file.deleteOnExit(); - - String expected = "attachment\ncontent"; - attachmentHandler.setAttachmentData(expected.getBytes()); - - DownloadAttachmentJob job = new DownloadAttachmentJob(attachment, file); - job.schedule(); - job.join(); - - assertEquals(Status.OK_STATUS, job.getResult()); - statusHandler.assertNoStatus(); - - RandomAccessFile raf = new RandomAccessFile(file, "r"); - byte[] data = new byte[expected.getBytes().length]; - try { - raf.readFully(data); - } finally { - raf.close(); - } - assertEquals(expected, new String(data)); - } -} diff --git a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/BackgroundSaveTest.java b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/BackgroundSaveTest.java deleted file mode 100644 index 9fa82db1d..000000000 --- a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/BackgroundSaveTest.java +++ /dev/null @@ -1,63 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2007 Mylyn project committers 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 - *******************************************************************************/ -package org.eclipse.mylyn.tasks.tests; - -import java.io.File; -import java.io.IOException; -import java.util.Locale; - -import junit.framework.TestCase; - -import org.eclipse.mylyn.internal.tasks.ui.util.BackgroundSaveTimer; -import org.eclipse.mylyn.internal.tasks.ui.util.TaskListSaveManager; -import org.eclipse.mylyn.tasks.ui.TasksUiPlugin; - -/** - * Tests the mechanism for saving the task data periodically. If this test fails unexpectedly, try adjusting the timing. - * - * @author Wesley Coelho - * @author Mik Kersten (rewrite) - */ -public class BackgroundSaveTest extends TestCase { - - private BackgroundSaveTimer saveTimer; - - private TaskListSaveManager saveManager; - - @Override - protected void setUp() throws Exception { - super.setUp(); - TasksUiPlugin.getTaskListManager().saveTaskList(); - saveManager = new TaskListSaveManager(); -// saveManager = TasksUiPlugin.getDefault().getTaskListSaveManager(); - - saveTimer = new BackgroundSaveTimer(saveManager); - saveTimer.setSaveIntervalMillis(50); - saveTimer.start(); -// saveManager.setForceBackgroundSave(true); - } - - @Override - protected void tearDown() throws Exception { - saveTimer.stop(); - super.tearDown(); -// saveManager.setForceBackgroundSave(false); - } - - public void testBackgroundSave() throws InterruptedException, IOException { - if (System.getProperty("os.name").toLowerCase(Locale.ENGLISH).contains("linux")) { - System.out.println("> BackgroundSaveTest.testBackgroundSave() not run on Linux due to IO concurrency"); - } else { - File file = TasksUiPlugin.getTaskListManager().getTaskListFile(); - long previouslyModified = file.lastModified(); -// TasksUiPlugin.getTaskListManager().saveTaskList(); - saveManager.saveTaskList(true, false); - assertTrue(file.lastModified() > previouslyModified); - } - } -} diff --git a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/CommentQuoterTest.java b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/CommentQuoterTest.java deleted file mode 100644 index 49c7af971..000000000 --- a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/CommentQuoterTest.java +++ /dev/null @@ -1,70 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004 - 2006 Mylar committers 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 - *******************************************************************************/ - -package org.eclipse.mylyn.tasks.tests; - -import junit.framework.TestCase; - -import org.eclipse.mylyn.internal.tasks.core.CommentQuoter; - -/** - * Test many quoting scenarios - * - * @author Willian Mitsuda - */ -public class CommentQuoterTest extends TestCase { - - public void testNoWrapping() { - CommentQuoter quoter = new CommentQuoter(10); - String quotedText = quoter.quote("bababa"); - assertEquals("> bababa\n", quotedText); - } - - public void testSimpleWrapping() { - CommentQuoter quoter = new CommentQuoter(10); - String quotedText = quoter.quote("bababa bobobo"); - assertEquals("> bababa\n> bobobo\n", quotedText); - } - - public void testNoWayToWrap() { - CommentQuoter quoter = new CommentQuoter(10); - String quotedText = quoter.quote("babababababa"); - assertEquals("> babababababa\n", quotedText); - } - - public void testExactWrap() { - CommentQuoter quoter = new CommentQuoter(10); - String quotedText = quoter.quote("bababababa"); - assertEquals("> bababababa\n", quotedText); - } - - public void testMultiLineNoWrapping() { - CommentQuoter quoter = new CommentQuoter(10); - String quotedText = quoter.quote("bababa\nbobobo"); - assertEquals("> bababa\n> bobobo\n", quotedText); - } - - public void testMultiLineWithWrapping() { - CommentQuoter quoter = new CommentQuoter(10); - String quotedText = quoter.quote("bababa bebebe\nbibibibibibi bibi\nbobobo bububu"); - assertEquals("> bababa\n> bebebe\n> bibibibibibi\n> bibi\n> bobobo\n> bububu\n", quotedText); - } - - public void testExcessiveSpacingWrapping() { - CommentQuoter quoter = new CommentQuoter(10); - String quotedText = quoter.quote("bababa bobobo"); - assertEquals("> bababa\n> bobobo\n", quotedText); - } - - public void testBlankLineQuoting() { - CommentQuoter quoter = new CommentQuoter(10); - String quotedText = quoter.quote("bababa\n\nbobobo"); - assertEquals("> bababa\n> \n> bobobo\n", quotedText); - } - -} diff --git a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/CopyDetailsActionTest.java b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/CopyDetailsActionTest.java deleted file mode 100644 index e3a27fb16..000000000 --- a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/CopyDetailsActionTest.java +++ /dev/null @@ -1,27 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004 - 2006 Mylar committers 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 - *******************************************************************************/ - -package org.eclipse.mylyn.tasks.tests; - -import junit.framework.TestCase; - -import org.eclipse.mylyn.internal.tasks.ui.actions.CopyTaskDetailsAction; -import org.eclipse.mylyn.tasks.tests.connector.MockRepositoryTask; - -/** - * @author Mik Kersten - */ -public class CopyDetailsActionTest extends TestCase { - - public void testIdLabelIncluded() { - MockRepositoryTask task = new MockRepositoryTask("123"); - String text = CopyTaskDetailsAction.getTextForTask(task); - assertTrue(text.startsWith(task.getTaskKey())); - } - -} diff --git a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/OfflineCachingStorageTest.java b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/OfflineCachingStorageTest.java deleted file mode 100644 index dc1abbc6b..000000000 --- a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/OfflineCachingStorageTest.java +++ /dev/null @@ -1,151 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004 - 2006 Mylar committers 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 - *******************************************************************************/ - -package org.eclipse.mylyn.tasks.tests; - -import java.io.File; -import java.util.HashSet; -import java.util.Set; - -import junit.framework.TestCase; - -import org.eclipse.mylyn.internal.tasks.core.TaskDataState; -import org.eclipse.mylyn.internal.tasks.ui.OfflineCachingStorage; -import org.eclipse.mylyn.internal.tasks.ui.OfflineFileStorage; -import org.eclipse.mylyn.tasks.core.RepositoryTaskAttribute; -import org.eclipse.mylyn.tasks.core.RepositoryTaskData; -import org.eclipse.mylyn.tasks.tests.connector.MockAttributeFactory; -import org.eclipse.mylyn.tasks.tests.connector.MockRepositoryConnector; -import org.eclipse.mylyn.tasks.ui.TasksUiPlugin; - -/** - * @author Rob Elves - */ -public class OfflineCachingStorageTest extends TestCase { - - private static final String MOCK_ID = "1"; - - private File dataDir; - - private OfflineCachingStorage storage; - - @Override - protected void setUp() throws Exception { - //dataDir = new File("c:/offline"); - dataDir = new File(TasksUiPlugin.getDefault().getDataDirectory() + '/' + "offline"); - storage = new OfflineCachingStorage(new OfflineFileStorage(dataDir)); - storage.start(); - super.setUp(); - } - - @Override - protected void tearDown() throws Exception { - storage.stop(); - storage.clear(); - } - - public void testPutAndGet() throws Exception { - - TaskDataState state = new TaskDataState(MockRepositoryConnector.REPOSITORY_URL, MOCK_ID); - - RepositoryTaskData newData = new RepositoryTaskData(new MockAttributeFactory(), - MockRepositoryConnector.REPOSITORY_KIND, MockRepositoryConnector.REPOSITORY_URL, MOCK_ID); - - newData.setAttributeValue("attributeKey1", "attValue!"); - newData.setDescription("description"); - newData.setNew(true); - newData.setNewComment("new comment"); - newData.setSummary("summary"); - newData.setTaskKey("task key"); - - RepositoryTaskData oldData = new RepositoryTaskData(new MockAttributeFactory(), - MockRepositoryConnector.REPOSITORY_KIND, MockRepositoryConnector.REPOSITORY_URL, MOCK_ID); - - Set<RepositoryTaskAttribute> edits = new HashSet<RepositoryTaskAttribute>(); - - state.setNewTaskData(newData); - state.setOldTaskData(oldData); - state.setEdits(edits); - - storage.put(state); - - TaskDataState retrieved = storage.get(MockRepositoryConnector.REPOSITORY_URL, MOCK_ID); - assertNotNull(retrieved); - RepositoryTaskData newTaskData = retrieved.getNewTaskData(); - assertNotNull(newTaskData); - assertEquals(MockRepositoryConnector.REPOSITORY_KIND, newTaskData.getRepositoryKind()); - assertEquals("description", newTaskData.getDescription()); - assertEquals("new comment", newTaskData.getNewComment()); - assertEquals("task key", newTaskData.getTaskKey()); - } - - public void testRemove() throws Exception { - assertNull(storage.get(MockRepositoryConnector.REPOSITORY_URL, MOCK_ID)); - - TaskDataState state = new TaskDataState(MockRepositoryConnector.REPOSITORY_URL, MOCK_ID); - - RepositoryTaskData newData = new RepositoryTaskData(new MockAttributeFactory(), - MockRepositoryConnector.REPOSITORY_KIND, MockRepositoryConnector.REPOSITORY_URL, MOCK_ID); - - newData.setAttributeValue("attributeKey1", "attValue!"); - newData.setDescription("description"); - newData.setNew(true); - newData.setNewComment("new comment"); - newData.setSummary("summary"); - newData.setTaskKey("task key"); - - RepositoryTaskData oldData = new RepositoryTaskData(new MockAttributeFactory(), - MockRepositoryConnector.REPOSITORY_KIND, MockRepositoryConnector.REPOSITORY_URL, MOCK_ID); - - Set<RepositoryTaskAttribute> edits = new HashSet<RepositoryTaskAttribute>(); - - state.setNewTaskData(newData); - state.setOldTaskData(oldData); - state.setEdits(edits); - - storage.put(state); - assertEquals(1, storage.getReadQueue().size()); - assertEquals("1", storage.getReadQueue().iterator().next().getId()); - assertNotNull(storage.get(MockRepositoryConnector.REPOSITORY_URL, MOCK_ID)); - storage.remove(MockRepositoryConnector.REPOSITORY_URL, MOCK_ID); - assertEquals(0, storage.getReadQueue().size()); - assertNull(storage.get(MockRepositoryConnector.REPOSITORY_URL, MOCK_ID)); - - } - - public void testLRUQueue() { - assertNull(storage.get(MockRepositoryConnector.REPOSITORY_URL, MOCK_ID)); - assertEquals(0, storage.getReadQueue().size()); - TaskDataState state1 = new TaskDataState(MockRepositoryConnector.REPOSITORY_URL, MOCK_ID); - TaskDataState state2 = new TaskDataState(MockRepositoryConnector.REPOSITORY_URL, "2"); - TaskDataState state3 = new TaskDataState(MockRepositoryConnector.REPOSITORY_URL, "3"); - - storage.put(state1); - storage.put(state2); - storage.put(state3); - - assertEquals(3, storage.getReadQueue().size()); - - // should return least recently used - assertEquals("1", storage.getReadQueue().iterator().next().getId()); - - assertNotNull(storage.get(MockRepositoryConnector.REPOSITORY_URL, "3")); - assertNotNull(storage.get(MockRepositoryConnector.REPOSITORY_URL, "2")); - assertNotNull(storage.get(MockRepositoryConnector.REPOSITORY_URL, MOCK_ID)); - - assertEquals(3, storage.getReadQueue().size()); - - // should return least recently used - assertEquals("3", storage.getReadQueue().iterator().next().getId()); - storage.put(state1); - storage.put(state3); - // should return least recently used - assertEquals("2", storage.getReadQueue().iterator().next().getId()); - assertEquals(3, storage.getReadQueue().size()); - } -} diff --git a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/OfflineStorageTest.java b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/OfflineStorageTest.java deleted file mode 100644 index 6edb19944..000000000 --- a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/OfflineStorageTest.java +++ /dev/null @@ -1,309 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004 - 2006 Mylar committers 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 - *******************************************************************************/ - -package org.eclipse.mylyn.tasks.tests; - -import java.io.File; -import java.util.ArrayList; -import java.util.HashSet; -import java.util.List; -import java.util.Set; - -import junit.framework.TestCase; - -import org.eclipse.mylyn.internal.tasks.core.TaskDataState; -import org.eclipse.mylyn.internal.tasks.ui.OfflineFileStorage; -import org.eclipse.mylyn.tasks.core.RepositoryAttachment; -import org.eclipse.mylyn.tasks.core.RepositoryOperation; -import org.eclipse.mylyn.tasks.core.RepositoryTaskAttribute; -import org.eclipse.mylyn.tasks.core.RepositoryTaskData; -import org.eclipse.mylyn.tasks.core.TaskComment; -import org.eclipse.mylyn.tasks.tests.connector.MockAttributeFactory; -import org.eclipse.mylyn.tasks.tests.connector.MockRepositoryConnector; -import org.eclipse.mylyn.tasks.ui.TasksUiPlugin; -import org.eclipse.ui.XMLMemento; - -/** - * @author Rob Elves - */ -public class OfflineStorageTest extends TestCase { - - File dataDir; - - OfflineFileStorage storage; - - protected void setUp() throws Exception { - //dataDir = new File("c:/offline"); - dataDir = new File(TasksUiPlugin.getDefault().getDataDirectory() + "/offline"); - storage = new OfflineFileStorage(dataDir); - storage.start(); - super.setUp(); - } - - protected void tearDown() throws Exception { - storage.stop(); - removeTestFiles(dataDir); - } - - private void removeTestFiles(File folder) { - if (folder.isDirectory()) { - for (File file : folder.listFiles()) { - removeTestFiles(file); - } - } - folder.delete(); - } - - public void testPutAndGet() throws Exception { - - TaskDataState state = new TaskDataState(MockRepositoryConnector.REPOSITORY_URL, "1"); - - RepositoryTaskData newData = new RepositoryTaskData(new MockAttributeFactory(), - MockRepositoryConnector.REPOSITORY_KIND, MockRepositoryConnector.REPOSITORY_URL, "1", "kind"); - - newData.setAttributeValue("attributeKey1", "attValue!"); - newData.setDescription("description"); - newData.setNew(true); - newData.setNewComment("new comment"); - newData.setSummary("summary"); - newData.setTaskKey("task key"); - - RepositoryTaskData oldData = new RepositoryTaskData(new MockAttributeFactory(), - MockRepositoryConnector.REPOSITORY_KIND, MockRepositoryConnector.REPOSITORY_URL, "1", "kind"); - - Set<RepositoryTaskAttribute> edits = new HashSet<RepositoryTaskAttribute>(); - - state.setNewTaskData(newData); - state.setOldTaskData(oldData); - state.setEdits(edits); - - storage.put(state); - - TaskDataState retrieved = storage.get(MockRepositoryConnector.REPOSITORY_URL, "1"); - assertNotNull(retrieved); - RepositoryTaskData newTaskData = retrieved.getNewTaskData(); - assertNotNull(newTaskData); - assertEquals(MockRepositoryConnector.REPOSITORY_KIND, newTaskData.getRepositoryKind()); - assertEquals("description", newTaskData.getDescription()); - assertEquals("new comment", newTaskData.getNewComment()); - assertEquals("task key", newTaskData.getTaskKey()); - assertEquals("kind", newTaskData.getTaskKind()); - } - - public void testRemove() throws Exception { - assertNull(storage.get(MockRepositoryConnector.REPOSITORY_URL, "1")); - - TaskDataState state = new TaskDataState(MockRepositoryConnector.REPOSITORY_URL, "1"); - - RepositoryTaskData newData = new RepositoryTaskData(new MockAttributeFactory(), - MockRepositoryConnector.REPOSITORY_KIND, MockRepositoryConnector.REPOSITORY_URL, "1"); - - newData.setAttributeValue("attributeKey1", "attValue!"); - newData.setDescription("description"); - newData.setNew(true); - newData.setNewComment("new comment"); - newData.setSummary("summary"); - newData.setTaskKey("task key"); - - RepositoryTaskData oldData = new RepositoryTaskData(new MockAttributeFactory(), - MockRepositoryConnector.REPOSITORY_KIND, MockRepositoryConnector.REPOSITORY_URL, "1"); - - Set<RepositoryTaskAttribute> edits = new HashSet<RepositoryTaskAttribute>(); - - state.setNewTaskData(newData); - state.setOldTaskData(oldData); - state.setEdits(edits); - - storage.put(state); - assertNotNull(storage.get(MockRepositoryConnector.REPOSITORY_URL, "1")); - storage.remove(MockRepositoryConnector.REPOSITORY_URL, "1"); - assertNull(storage.get(MockRepositoryConnector.REPOSITORY_URL, "1")); - - } - - public void testAttributes() throws Exception { - List<RepositoryTaskAttribute> attributes = new ArrayList<RepositoryTaskAttribute>(); - RepositoryTaskAttribute attribute = new RepositoryTaskAttribute("testId", "testName", true); - attribute.setReadOnly(true); - attribute.addOption("Option Name 1", "Option Value 1"); - attribute.addOption("Option Name 2", "Option Value 2"); - attribute.addValue("Value 1"); - attribute.addValue("Value 2"); - attribute.addValue("Value 3"); - attribute.putMetaDataValue("MetaKey1", "MetaValue1"); - attribute.putMetaDataValue("MetaKey2", "MetaValue2"); - attribute.putMetaDataValue("MetaKey3", "MetaValue3"); - attribute.putMetaDataValue("MetaKey4", "MetaValue4"); - - attributes.add(attribute); - - XMLMemento memento = XMLMemento.createWriteRoot("Attributes"); - storage.addAttributes(memento, attributes); - List<RepositoryTaskAttribute> readAttributes = storage.readAttributes(memento); - assertNotNull(readAttributes); - assertEquals(1, readAttributes.size()); - RepositoryTaskAttribute attr = readAttributes.get(0); - - assertEquals("testId", attr.getId()); - assertEquals("testName", attr.getName()); - assertEquals(true, attr.isHidden()); - assertEquals(true, attr.isReadOnly()); - - assertNotNull(attr.getOptions()); - assertEquals(2, attr.getOptions().size()); - - assertEquals("Option Name 1", attr.getOptions().get(0)); - assertEquals("Option Name 2", attr.getOptions().get(1)); - assertEquals("Option Value 1", attr.getOptionParameter(attr.getOptions().get(0))); - assertEquals("Option Value 2", attr.getOptionParameter(attr.getOptions().get(1))); - - assertEquals("Value 1", attr.getValues().get(0)); - assertEquals("Value 2", attr.getValues().get(1)); - assertEquals("Value 3", attr.getValues().get(2)); - - assertEquals("MetaValue1", attribute.getMetaDataValue("MetaKey1")); - assertEquals("MetaValue2", attribute.getMetaDataValue("MetaKey2")); - assertEquals("MetaValue3", attribute.getMetaDataValue("MetaKey3")); - assertEquals("MetaValue4", attribute.getMetaDataValue("MetaKey4")); - } - - public void testOperations() throws Exception { - RepositoryOperation op = new RepositoryOperation("knob1", "operationName1"); - op.setChecked(true); - op.setInputName("InputName"); - op.setInputValue("InputValue"); - op.setUpOptions("TheOptionName"); - op.addOption("optionName1", "optionValue1"); - op.addOption("optionName2", "optionValue2"); - op.setOptionSelection("optionSelection1"); - - RepositoryOperation op2 = new RepositoryOperation("knob2", "operationName2"); - op2.setChecked(true); - op2.setInputName("InputName2"); - op2.setInputValue("InputValue2"); - op2.setUpOptions("TheOptionName2"); - op2.addOption("optionName1", "optionValue1"); - op2.addOption("optionName2", "optionValue2"); - op2.setOptionSelection("optionSelection2"); - XMLMemento memento = XMLMemento.createWriteRoot("Operations"); - - List<RepositoryOperation> operations = new ArrayList<RepositoryOperation>(); - operations.add(op); - operations.add(op2); - storage.addOperations(memento, operations); - List<RepositoryOperation> readOperations = storage.readOperations(memento); - RepositoryOperation op1 = readOperations.get(0); - assertEquals("knob1", op1.getKnobName()); - assertEquals("operationName1", op1.getOperationName()); - assertEquals("InputName", op1.getInputName()); - assertEquals("InputValue", op1.getInputValue()); - - assertEquals("TheOptionName", op1.getOptionName()); - assertEquals(2, op1.getOptionNames().size()); - assertEquals("optionValue1", op1.getOptionValue(op1.getOptionNames().get(0))); - assertEquals("optionValue2", op1.getOptionValue(op1.getOptionNames().get(1))); - assertEquals("optionSelection1", op1.getOptionSelection()); - - RepositoryOperation op2ver2 = readOperations.get(1); - assertEquals("knob2", op2ver2.getKnobName()); - assertEquals("operationName2", op2ver2.getOperationName()); - assertEquals("InputName2", op2ver2.getInputName()); - assertEquals("InputValue2", op2ver2.getInputValue()); - - assertEquals("TheOptionName2", op2ver2.getOptionName()); - assertEquals(2, op2ver2.getOptionNames().size()); - assertEquals("optionValue1", op2ver2.getOptionValue(op1.getOptionNames().get(0))); - assertEquals("optionValue2", op2ver2.getOptionValue(op1.getOptionNames().get(1))); - assertEquals("optionSelection2", op2ver2.getOptionSelection()); - } - - public void testComments() throws Exception { - TaskComment comment1 = new TaskComment(new MockAttributeFactory(), 1); - comment1.setAttachmentId("attachmentId1"); - comment1.setHasAttachment(true); - comment1.addAttribute("attr1", new RepositoryTaskAttribute("attr1", "attr1Name", false)); - - TaskComment comment2 = new TaskComment(new MockAttributeFactory(), 2); - comment2.setAttachmentId("attachmentId2"); - comment2.setHasAttachment(false); - comment2.addAttribute("attr2", new RepositoryTaskAttribute("attr2", "attr2Name", false)); - comment2.addAttribute("attr3", new RepositoryTaskAttribute("attr3", "attr3Name", true)); - - XMLMemento memento = XMLMemento.createWriteRoot("Comments"); - List<TaskComment> comments = new ArrayList<TaskComment>(); - comments.add(comment1); - comments.add(comment2); - storage.addComments(memento, comments); - List<TaskComment> returnedComments = storage.readComments(memento); - assertEquals(2, returnedComments.size()); - - assertEquals("attachmentId1", returnedComments.get(0).getAttachmentId()); - assertEquals(true, returnedComments.get(0).hasAttachment()); - assertEquals(1, returnedComments.get(0).getAttributes().size()); - assertEquals("attr1", returnedComments.get(0).getAttributes().get(0).getId()); - assertEquals("attr1Name", returnedComments.get(0).getAttributes().get(0).getName()); - - assertEquals("attachmentId2", returnedComments.get(1).getAttachmentId()); - assertEquals(false, returnedComments.get(1).hasAttachment()); - assertEquals(2, returnedComments.get(1).getAttributes().size()); - assertEquals("attr2", returnedComments.get(1).getAttributes().get(0).getId()); - assertEquals("attr2Name", returnedComments.get(1).getAttributes().get(0).getName()); - assertEquals("attr3Name", returnedComments.get(1).getAttributes().get(1).getName()); - } - - public void testAttachments() throws Exception { - - List<RepositoryAttachment> attachments = new ArrayList<RepositoryAttachment>(); - RepositoryAttachment attachment1 = new RepositoryAttachment(new MockAttributeFactory()); - attachment1.setCreator("thecreator"); - attachment1.setObsolete(false); - attachment1.setPatch(true); - attachment1.setRepositoryKind("bugzilla"); - attachment1.setRepositoryUrl("repUrl"); - attachment1.setTaskId("taskid1"); - attachment1.addAttribute("attr1", new RepositoryTaskAttribute("attr1", "attr1Name", true)); - attachment1.addAttribute("attr2", new RepositoryTaskAttribute("attr2", "attr2Name", true)); - - RepositoryAttachment attachment2 = new RepositoryAttachment(new MockAttributeFactory()); - attachment2.setCreator("thecreator2"); - attachment2.setObsolete(true); - attachment2.setPatch(false); - attachment2.setRepositoryKind("bugzilla2"); - attachment2.setRepositoryUrl("repUrl2"); - attachment2.setTaskId("taskid2"); - attachment2.addAttribute("attr3", new RepositoryTaskAttribute("attr3", "attr3Name", true)); - attachment2.addAttribute("attr4", new RepositoryTaskAttribute("attr4", "attr4Name", true)); - - attachments.add(attachment1); - attachments.add(attachment2); - XMLMemento memento = XMLMemento.createWriteRoot("Attachments"); - storage.addAttachments(memento, attachments); - List<RepositoryAttachment> readAttachments = storage.readAttachments(memento); - - assertEquals(2, readAttachments.size()); - RepositoryAttachment readAttachment = readAttachments.get(0); - assertEquals(attachment1.getTaskId(), readAttachment.getTaskId()); - assertEquals(attachment1.getCreator(), readAttachment.getCreator()); - assertEquals(attachment1.isObsolete(), readAttachment.isObsolete()); - assertEquals(attachment1.isPatch(), readAttachment.isPatch()); - assertEquals(attachment1.getRepositoryKind(), readAttachment.getRepositoryKind()); - assertEquals(attachment1.getRepositoryUrl(), readAttachment.getRepositoryUrl()); - assertEquals(attachment1.getAttributeValue("attr1"), readAttachment.getAttributeValue("attr1")); - assertEquals(attachment1.getAttributeValue("attr2"), readAttachment.getAttributeValue("attr2")); - - readAttachment = readAttachments.get(1); - assertEquals(attachment2.getTaskId(), readAttachment.getTaskId()); - assertEquals(attachment2.getCreator(), readAttachment.getCreator()); - assertEquals(attachment2.isObsolete(), readAttachment.isObsolete()); - assertEquals(attachment2.isPatch(), readAttachment.isPatch()); - assertEquals(attachment2.getRepositoryKind(), readAttachment.getRepositoryKind()); - assertEquals(attachment2.getRepositoryUrl(), readAttachment.getRepositoryUrl()); - assertEquals(attachment2.getAttributeValue("attr3"), readAttachment.getAttributeValue("attr3")); - assertEquals(attachment2.getAttributeValue("attr4"), readAttachment.getAttributeValue("attr4")); - } -} diff --git a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/ProjectRepositoryAssociationTest.java b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/ProjectRepositoryAssociationTest.java deleted file mode 100644 index b3c4f4b63..000000000 --- a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/ProjectRepositoryAssociationTest.java +++ /dev/null @@ -1,70 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004 - 2006 Mylar committers 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 - *******************************************************************************/ - -package org.eclipse.mylyn.tasks.tests; - -import junit.framework.TestCase; - -import org.eclipse.core.resources.IFolder; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.mylyn.resources.tests.ResourceTestUtil; -import org.eclipse.mylyn.resources.tests.TestProject; -import org.eclipse.mylyn.tasks.core.TaskRepository; -import org.eclipse.mylyn.tasks.ui.TasksUiPlugin; - -/** - * @author Rob Elves - */ -public class ProjectRepositoryAssociationTest extends TestCase { - - private static final String REPOSITORY_URL = "http://mylar.eclipse.org/bugs222"; - - private static final String REPOSITORY_KIND = "bugzilla"; - - private TestProject projectWrapper; - - @Override - protected void setUp() throws Exception { - super.setUp(); - projectWrapper = new TestProject(this.getClass().getName()); - } - - @Override - protected void tearDown() throws Exception { - super.tearDown(); - ResourceTestUtil.deleteProject(projectWrapper.getProject()); - TasksUiPlugin.getRepositoryManager().clearRepositories(TasksUiPlugin.getDefault().getRepositoriesFilePath()); - } - - public void testRepositoryForProject() throws CoreException { - assertNull(TasksUiPlugin.getDefault().getRepositoryForResource(projectWrapper.getProject(), true)); - TaskRepository repository = new TaskRepository(REPOSITORY_KIND, REPOSITORY_URL); - TasksUiPlugin.getRepositoryManager().addRepository(repository, - TasksUiPlugin.getDefault().getRepositoriesFilePath()); - TasksUiPlugin.getDefault().setRepositoryForResource(projectWrapper.getProject(), repository); - TaskRepository returnedRepository = TasksUiPlugin.getDefault().getRepositoryForResource( - projectWrapper.getProject(), true); - assertNotNull(returnedRepository); - assertEquals(REPOSITORY_KIND, returnedRepository.getConnectorKind()); - assertEquals(REPOSITORY_URL, returnedRepository.getUrl()); - } - - public void testRepositoryForFolder() throws CoreException { - IFolder folder = projectWrapper.createFolder("testFolder"); - assertTrue(folder.exists()); - assertNull(TasksUiPlugin.getDefault().getRepositoryForResource(folder, true)); - TaskRepository repository = new TaskRepository(REPOSITORY_KIND, REPOSITORY_URL); - TasksUiPlugin.getRepositoryManager().addRepository(repository, - TasksUiPlugin.getDefault().getRepositoriesFilePath()); - TasksUiPlugin.getDefault().setRepositoryForResource(folder, repository); - TaskRepository returnedRepository = TasksUiPlugin.getDefault().getRepositoryForResource(folder, true); - assertNotNull(returnedRepository); - assertEquals(REPOSITORY_KIND, returnedRepository.getConnectorKind()); - assertEquals(REPOSITORY_URL, returnedRepository.getUrl()); - } -} diff --git a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/RepositorySettingsPageTest.java b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/RepositorySettingsPageTest.java deleted file mode 100644 index cb59400f7..000000000 --- a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/RepositorySettingsPageTest.java +++ /dev/null @@ -1,178 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004 - 2006 Mylar committers 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 - *******************************************************************************/ - -package org.eclipse.mylyn.tasks.tests; - -import junit.framework.TestCase; - -import org.eclipse.jface.preference.StringFieldEditor; -import org.eclipse.mylyn.tasks.core.TaskRepository; -import org.eclipse.mylyn.tasks.tests.connector.MockTaskConnectorUi; -import org.eclipse.mylyn.tasks.ui.AbstractRepositoryConnectorUi; -import org.eclipse.mylyn.tasks.ui.TasksUiPlugin; -import org.eclipse.mylyn.tasks.ui.wizards.AbstractRepositorySettingsPage; -import org.eclipse.swt.SWT; -import org.eclipse.swt.widgets.Button; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Event; -import org.eclipse.swt.widgets.Shell; -import org.eclipse.ui.PlatformUI; - -/** - * @author Steffen Pingel - */ -public class RepositorySettingsPageTest extends TestCase { - - public void testNeedsEncoding() { - TaskRepository repository = new TaskRepository("kind", "http://localhost/"); - repository.setCharacterEncoding("UTF-8"); - - MockRepositorySettingsPage page = new MockRepositorySettingsPage(new MockTaskConnectorUi()); - page.setNeedsEncoding(true); - - Shell shell = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(); - page.createControl(shell); - page.setVisible(true); - - TaskRepository repository2 = page.createTaskRepository(); - assertEquals("UTF-8", repository2.getCharacterEncoding()); - } - - public void testNeedsEncodingFalse() { - MockRepositorySettingsPage page = new MockRepositorySettingsPage(new MockTaskConnectorUi()); - page.setNeedsEncoding(false); - - Shell shell = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(); - page.createControl(shell); - page.setVisible(true); - - page.createTaskRepository(); - } - - public void testNeedsAnonyoumousLoginFalse() { - MockRepositorySettingsPage page = new MockRepositorySettingsPage(new MockTaskConnectorUi()); - page.setNeedsAnonymousLogin(false); - - Shell shell = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(); - page.createControl(shell); - page.setVisible(true); - - assertNull(page.getAnonymousButton()); - } - - public void testNeedsAnonyoumousLoginNoRepository() { - MockRepositorySettingsPage page = new MockRepositorySettingsPage(new MockTaskConnectorUi()); - page.setNeedsAnonymousLogin(true); - - Shell shell = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(); - page.createControl(shell); - page.setVisible(true); - - assertNotNull(page.getAnonymousButton()); - - assertTrue(page.getAnonymousButton().getSelection()); - assertFalse(page.getUserNameEditor().getTextControl(page.getParent()).isEnabled()); - assertFalse(page.getPasswordEditor().getTextControl(page.getParent()).isEnabled()); - assertEquals("", page.getUserName()); - assertEquals("", page.getPassword()); - page.getAnonymousButton().setSelection(false); - } - - public void testNeedsAnonyoumousLogin() { - TaskRepository repository = new TaskRepository("kind", "http://localhost/"); - - TasksUiPlugin.getDefault().addRepositoryConnectorUi(new MockTaskConnectorUi()); - - MockRepositorySettingsPage page = new MockRepositorySettingsPage(new MockTaskConnectorUi()); - page.setNeedsAnonymousLogin(true); - page.setRepository(repository); - - Shell shell = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(); - page.createControl(shell); - page.setVisible(true); - - assertNotNull(page.getAnonymousButton()); - - assertTrue(page.getAnonymousButton().getSelection()); - assertFalse(page.getUserNameEditor().getTextControl(page.getParent()).isEnabled()); - assertFalse(page.getPasswordEditor().getTextControl(page.getParent()).isEnabled()); - assertEquals("", page.getUserName()); - assertEquals("", page.getPassword()); - - page.getAnonymousButton().setSelection(false); - page.getAnonymousButton().notifyListeners(SWT.Selection, new Event()); - assertTrue(page.getUserNameEditor().getTextControl(page.getParent()).isEnabled()); - assertTrue(page.getPasswordEditor().getTextControl(page.getParent()).isEnabled()); - page.getUserNameEditor().setStringValue("user"); - page.getPasswordEditor().setStringValue("password"); - assertEquals("user", page.getUserName()); - assertEquals("password", page.getPassword()); - - page.getAnonymousButton().setSelection(true); - page.getAnonymousButton().notifyListeners(SWT.Selection, new Event()); - assertFalse(page.getUserNameEditor().getTextControl(page.getParent()).isEnabled()); - assertFalse(page.getPasswordEditor().getTextControl(page.getParent()).isEnabled()); - assertEquals("", page.getUserName()); - assertEquals("", page.getPassword()); - - page.getAnonymousButton().setSelection(false); - page.getAnonymousButton().notifyListeners(SWT.Selection, new Event()); - assertTrue(page.getUserNameEditor().getTextControl(page.getParent()).isEnabled()); - assertTrue(page.getPasswordEditor().getTextControl(page.getParent()).isEnabled()); - assertEquals("user", page.getUserNameEditor().getStringValue()); - assertEquals("password", page.getPasswordEditor().getStringValue()); - assertEquals("user", page.getUserName()); - assertEquals("password", page.getPassword()); - } - - private class MockRepositorySettingsPage extends AbstractRepositorySettingsPage { - - public MockRepositorySettingsPage(AbstractRepositoryConnectorUi repositoryUi) { - super("title", "summary", repositoryUi); - } - - @Override - protected void createAdditionalControls(Composite parent) { - // ignore - } - - @Override - protected boolean isValidUrl(String name) { - // ignore - return false; - } - - @Override - protected void validateSettings() { - // ignore - } - - Button getAnonymousButton() { - return anonymousButton; - } - - StringFieldEditor getUserNameEditor() { - return repositoryUserNameEditor; - } - - StringFieldEditor getPasswordEditor() { - return repositoryPasswordEditor; - } - - Composite getParent() { - return compositeContainer; - } - - @Override - protected Validator getValidator(TaskRepository repository) { - // ignore - return null; - } - } - -} diff --git a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/RepositoryTaskSynchronizationTest.java b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/RepositoryTaskSynchronizationTest.java deleted file mode 100644 index b91f9262a..000000000 --- a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/RepositoryTaskSynchronizationTest.java +++ /dev/null @@ -1,454 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004 - 2006 Mylar committers 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 - *******************************************************************************/ - -package org.eclipse.mylyn.tasks.tests; - -import java.util.Collections; -import java.util.HashSet; -import java.util.Set; - -import junit.framework.TestCase; - -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.mylyn.tasks.core.AbstractAttributeFactory; -import org.eclipse.mylyn.tasks.core.AbstractTask; -import org.eclipse.mylyn.tasks.core.AbstractTaskDataHandler; -import org.eclipse.mylyn.tasks.core.RepositoryTaskAttribute; -import org.eclipse.mylyn.tasks.core.RepositoryTaskData; -import org.eclipse.mylyn.tasks.core.TaskRepository; -import org.eclipse.mylyn.tasks.core.AbstractTask.RepositoryTaskSyncState; -import org.eclipse.mylyn.tasks.tests.connector.MockAttributeFactory; -import org.eclipse.mylyn.tasks.tests.connector.MockRepositoryConnector; -import org.eclipse.mylyn.tasks.tests.connector.MockRepositoryTask; -import org.eclipse.mylyn.tasks.ui.TasksUiPlugin; - -/** - * @author Rob Elves - */ -public class RepositoryTaskSynchronizationTest extends TestCase { - - private static final String DATE_STAMP_3 = "2006-06-21 15:29:42"; - - private static final String DATE_STAMP_2 = "2006-06-21 15:29:41"; - - private static final String DATE_STAMP_1 = "2006-06-21 15:29:40"; - - private static final String MOCCK_ID = "1"; - - //private static final String URL1 = "http://www.eclipse.org/mylar"; - - private TestRepositoryConnector connector = new TestRepositoryConnector(); - - private TestOfflineTaskHandler handler = new TestOfflineTaskHandler(); - - private RepositoryTaskData newData; - - @Override - protected void setUp() throws Exception { - super.setUp(); - TasksUiPlugin.getSynchronizationManager().setForceSyncExec(true); - } - - @Override - protected void tearDown() throws Exception { - super.tearDown(); - } - - public void testHasIncoming() { - AbstractTask task = new MockRepositoryTask(MOCCK_ID); - RepositoryTaskData taskData = new RepositoryTaskData(new MockAttributeFactory(), connector.getConnectorKind(), - MockRepositoryConnector.REPOSITORY_URL, MOCCK_ID); - task.setLastReadTimeStamp("never"); - - assertTrue(TasksUiPlugin.getSynchronizationManager().checkHasIncoming(task, taskData)); - taskData.setAttributeValue(RepositoryTaskAttribute.DATE_MODIFIED, "2006-06-21 15:29:39"); - assertTrue(TasksUiPlugin.getSynchronizationManager().checkHasIncoming(task, taskData)); - taskData.setAttributeValue(RepositoryTaskAttribute.DATE_MODIFIED, DATE_STAMP_1); - assertTrue(TasksUiPlugin.getSynchronizationManager().checkHasIncoming(task, taskData)); - task.setLastReadTimeStamp("2006-06-21 15:29:39"); - assertTrue(TasksUiPlugin.getSynchronizationManager().checkHasIncoming(task, taskData)); - task.setLastReadTimeStamp(DATE_STAMP_1); - assertFalse(TasksUiPlugin.getSynchronizationManager().checkHasIncoming(task, taskData)); - } - - public void testIncomingToIncoming() { - /* - * - Synchronize task with incoming changes - Make another change using - * browser - Open report in tasklist (editor opens with old 'new' data - * and background sync occurs) - Incoming status set again on task due - * to 2nd occurrence of new incoming data - */ - - // Test unforced - AbstractTask task = primeTaskAndRepository(RepositoryTaskSyncState.INCOMING, RepositoryTaskSyncState.INCOMING); - RepositoryTaskData taskData = TasksUiPlugin.getTaskDataManager().getNewTaskData(task.getRepositoryUrl(), - task.getTaskId()); - assertEquals(DATE_STAMP_1, task.getLastReadTimeStamp()); - assertEquals(RepositoryTaskSyncState.INCOMING, task.getSynchronizationState()); - assertEquals(DATE_STAMP_2, newData.getLastModified()); - TasksUiPlugin.getSynchronizationManager().saveIncoming(task, newData, false); - assertEquals(DATE_STAMP_1, task.getLastReadTimeStamp()); - assertEquals(RepositoryTaskSyncState.INCOMING, task.getSynchronizationState()); - // TasksUiPlugin.getSynchronizationManager().setTaskRead(task, true); - // assertEquals(DATE_STAMP_2, task.getLastSyncDateStamp()); - // and again... - - RepositoryTaskData taskData3 = new RepositoryTaskData(new MockAttributeFactory(), connector.getConnectorKind(), - MockRepositoryConnector.REPOSITORY_URL, "1"); - taskData3.setAttributeValue(RepositoryTaskAttribute.DATE_MODIFIED, DATE_STAMP_3); - TasksUiPlugin.getSynchronizationManager().saveIncoming(task, taskData3, false); - // last modified stamp not updated until user synchronizes (newdata == - // olddata) - assertEquals(RepositoryTaskSyncState.INCOMING, task.getSynchronizationState()); - assertEquals(DATE_STAMP_1, task.getLastReadTimeStamp()); - taskData = TasksUiPlugin.getTaskDataManager().getNewTaskData(task.getRepositoryUrl(), task.getTaskId()); - assertEquals(DATE_STAMP_3, taskData.getLastModified()); - - // Should keep INCOMING state state since new data has same date samp - // and sych is not forced. - TasksUiPlugin.getSynchronizationManager().saveIncoming(task, taskData3, false); - assertEquals(RepositoryTaskSyncState.INCOMING, task.getSynchronizationState()); - assertEquals(DATE_STAMP_1, task.getLastReadTimeStamp()); - taskData = TasksUiPlugin.getTaskDataManager().getNewTaskData(task.getRepositoryUrl(), task.getTaskId()); - assertEquals(DATE_STAMP_3, taskData.getLastModified()); - } - - // Invalid state change. Test that this can't happen. - public void testIncomingToSynchronized() { - // When not forced, tasks with incoming state should remain in incoming - // state if - // if new data has same date stamp as old data. - AbstractTask task = primeTaskAndRepository(RepositoryTaskSyncState.INCOMING, - RepositoryTaskSyncState.SYNCHRONIZED); - assertEquals(DATE_STAMP_1, task.getLastReadTimeStamp()); - TasksUiPlugin.getSynchronizationManager().saveIncoming(task, newData, false); - assertEquals(RepositoryTaskSyncState.INCOMING, task.getSynchronizationState()); - assertEquals(DATE_STAMP_1, task.getLastReadTimeStamp()); - - task = primeTaskAndRepository(RepositoryTaskSyncState.INCOMING, RepositoryTaskSyncState.SYNCHRONIZED); - assertEquals(DATE_STAMP_1, task.getLastReadTimeStamp()); - TasksUiPlugin.getSynchronizationManager().saveIncoming(task, newData, true); - assertEquals(RepositoryTaskSyncState.INCOMING, task.getSynchronizationState()); - // assertEquals(RepositoryTaskSyncState.SYNCHRONIZED, - // task.getSyncState()); - assertEquals(DATE_STAMP_1, task.getLastReadTimeStamp()); - - // Test forced with remote incoming - // Update: bug#163850 - synchronize gets new data but doesn't mark - // synchronized - task = primeTaskAndRepository(RepositoryTaskSyncState.INCOMING, RepositoryTaskSyncState.INCOMING); - assertEquals(DATE_STAMP_1, task.getLastReadTimeStamp()); - TasksUiPlugin.getSynchronizationManager().saveIncoming(task, newData, true); - assertEquals(RepositoryTaskSyncState.INCOMING, task.getSynchronizationState()); - - } - - // public void testIncomingToSynchronizedWithVoidSyncTime() { - // // IF the last sync time (modified timestamp on task) is null, this can - // result - // // in the editor refresh/repoen going into an infinite loops since the - // task never - // // gets to a synchronized state if the last mod time isn't set. It is now - // being set - // // if found to be null. - // AbstractTask task = - // primeTaskAndRepository(RepositoryTaskSyncState.INCOMING, - // RepositoryTaskSyncState.SYNCHRONIZED); - // assertEquals(DATE_STAMP_1, task.getLastSyncDateStamp()); - // task.setLastSyncDateStamp(null); - // TasksUiPlugin.getSynchronizationManager().updateOfflineState(task, - // newData, false); - // assertEquals(RepositoryTaskSyncState.INCOMING, task.getSyncState()); - // assertEquals(DATE_STAMP_1, task.getLastSyncDateStamp()); - // - // TasksUiPlugin.getSynchronizationManager().updateOfflineState(task, - // newData, false); - // assertEquals(RepositoryTaskSyncState.SYNCHRONIZED, task.getSyncState()); - // assertEquals(DATE_STAMP_1, task.getLastSyncDateStamp()); - // } - - /* - * public void testIncomingToConflict() { // invalid } - */ - - /* - * public void testIncomingToOutgoing() { // invalid } - */ - - public void testSynchronizedToIncoming() { - AbstractTask task = primeTaskAndRepository(RepositoryTaskSyncState.SYNCHRONIZED, - RepositoryTaskSyncState.INCOMING); - assertEquals(DATE_STAMP_1, task.getLastReadTimeStamp()); - TasksUiPlugin.getSynchronizationManager().saveIncoming(task, newData, false); - assertEquals(RepositoryTaskSyncState.INCOMING, task.getSynchronizationState()); - RepositoryTaskData taskData = TasksUiPlugin.getTaskDataManager().getNewTaskData(task.getRepositoryUrl(), - task.getTaskId()); - assertEquals(DATE_STAMP_2, taskData.getLastModified()); - // assertEquals(DATE_STAMP_2, task.getLastModifiedDateStamp()); - } - - public void testSynchronizedToSynchronized() { - AbstractTask task = primeTaskAndRepository(RepositoryTaskSyncState.SYNCHRONIZED, - RepositoryTaskSyncState.SYNCHRONIZED); - assertEquals(DATE_STAMP_1, task.getLastReadTimeStamp()); - TasksUiPlugin.getSynchronizationManager().saveIncoming(task, newData, false); - assertEquals(RepositoryTaskSyncState.SYNCHRONIZED, task.getSynchronizationState()); - assertEquals(DATE_STAMP_1, task.getLastReadTimeStamp()); - } - - /* - * public void testSynchronizedToConflict() { // invalid } - */ - - public void testSynchronizedToOutgoing() { - AbstractTask task = primeTaskAndRepository(RepositoryTaskSyncState.SYNCHRONIZED, - RepositoryTaskSyncState.SYNCHRONIZED); - assertEquals(DATE_STAMP_1, task.getLastReadTimeStamp()); - - RepositoryTaskData taskData = TasksUiPlugin.getTaskDataManager().getEditableCopy(task.getRepositoryUrl(), - task.getTaskId()); - - taskData.setNewComment("new comment"); - - HashSet<RepositoryTaskAttribute> changed = new HashSet<RepositoryTaskAttribute>(); - changed.add(taskData.getAttribute(RepositoryTaskAttribute.COMMENT_NEW)); - TasksUiPlugin.getSynchronizationManager().saveOutgoing(task, changed); - assertEquals(RepositoryTaskSyncState.OUTGOING, task.getSynchronizationState()); - assertEquals(DATE_STAMP_1, task.getLastReadTimeStamp()); - } - - public void testConflictToConflict() { - AbstractTask task = primeTaskAndRepository(RepositoryTaskSyncState.CONFLICT, RepositoryTaskSyncState.INCOMING); - assertEquals(DATE_STAMP_1, task.getLastReadTimeStamp()); - TasksUiPlugin.getSynchronizationManager().saveIncoming(task, newData, true); - assertEquals(RepositoryTaskSyncState.CONFLICT, task.getSynchronizationState()); - RepositoryTaskData taskData = TasksUiPlugin.getTaskDataManager().getNewTaskData(task.getRepositoryUrl(), - task.getTaskId()); - - assertEquals(DATE_STAMP_2, taskData.getLastModified()); - TasksUiPlugin.getSynchronizationManager().saveIncoming(task, newData, true); - assertEquals(RepositoryTaskSyncState.CONFLICT, task.getSynchronizationState()); - taskData = TasksUiPlugin.getTaskDataManager().getNewTaskData(task.getRepositoryUrl(), task.getTaskId()); - assertEquals(DATE_STAMP_2, taskData.getLastModified()); - } - - /* - * public void testConflictToSynchonized() { // invalid, requires markRead } - */ - - /* - * public void testConflictToConflict() { // ui involved } - */ - - /* - * public void testConflictToOutgoing() { // invalid? } - */ - - // TODO: Test merging new incoming with outgoing - // TODO: Test discard outgoing - public void testOutgoingToConflict() { - // Forced - AbstractTask task = primeTaskAndRepository(RepositoryTaskSyncState.OUTGOING, RepositoryTaskSyncState.INCOMING); - RepositoryTaskData taskData = TasksUiPlugin.getTaskDataManager().getNewTaskData(task.getRepositoryUrl(), - task.getTaskId()); - - assertEquals(DATE_STAMP_1, task.getLastReadTimeStamp()); - assertEquals(RepositoryTaskSyncState.OUTGOING, task.getSynchronizationState()); - TasksUiPlugin.getSynchronizationManager().saveIncoming(task, newData, true); - assertEquals(RepositoryTaskSyncState.CONFLICT, task.getSynchronizationState()); - taskData = TasksUiPlugin.getTaskDataManager().getNewTaskData(task.getRepositoryUrl(), task.getTaskId()); - - assertEquals(DATE_STAMP_2, taskData.getLastModified()); - // assertEquals(DATE_STAMP_2, task.getLastModifiedDateStamp()); - } - - // Illegal state change, test it doesn't occur - public void testOutgoingToSynchronized() { - - AbstractTask task = primeTaskAndRepository(RepositoryTaskSyncState.OUTGOING, - RepositoryTaskSyncState.SYNCHRONIZED); - assertEquals(DATE_STAMP_1, task.getLastReadTimeStamp()); - - TasksUiPlugin.getSynchronizationManager().saveIncoming(task, newData, true); - assertEquals(RepositoryTaskSyncState.OUTGOING, task.getSynchronizationState()); - assertEquals(DATE_STAMP_1, task.getLastReadTimeStamp()); - } - - public void testOutgoingToOutgoing() { - AbstractTask task = primeTaskAndRepository(RepositoryTaskSyncState.OUTGOING, - RepositoryTaskSyncState.SYNCHRONIZED); - assertEquals(DATE_STAMP_1, task.getLastReadTimeStamp()); - TasksUiPlugin.getSynchronizationManager().saveIncoming(task, newData, false); - assertEquals(RepositoryTaskSyncState.OUTGOING, task.getSynchronizationState()); - assertEquals(DATE_STAMP_1, task.getLastReadTimeStamp()); - } - - public void testMarkRead() { - AbstractTask task = primeTaskAndRepository(RepositoryTaskSyncState.INCOMING, - RepositoryTaskSyncState.SYNCHRONIZED); - task.setLastReadTimeStamp(null); - assertEquals(RepositoryTaskSyncState.INCOMING, task.getSynchronizationState()); - TasksUiPlugin.getSynchronizationManager().setTaskRead(task, true); - assertEquals(DATE_STAMP_1, task.getLastReadTimeStamp()); - assertEquals(RepositoryTaskSyncState.SYNCHRONIZED, task.getSynchronizationState()); - } - - public void testMarkUnread() { - AbstractTask task = primeTaskAndRepository(RepositoryTaskSyncState.SYNCHRONIZED, - RepositoryTaskSyncState.SYNCHRONIZED); - task.setLastReadTimeStamp(null); - assertEquals(RepositoryTaskSyncState.SYNCHRONIZED, task.getSynchronizationState()); - TasksUiPlugin.getSynchronizationManager().setTaskRead(task, false); - assertEquals(RepositoryTaskSyncState.INCOMING, task.getSynchronizationState()); - } - - public void testClearOutgoing() { - AbstractTask task = primeTaskAndRepository(RepositoryTaskSyncState.SYNCHRONIZED, - RepositoryTaskSyncState.SYNCHRONIZED); - RepositoryTaskData taskData1 = new RepositoryTaskData(new MockAttributeFactory(), - MockRepositoryConnector.REPOSITORY_KIND, MockRepositoryConnector.REPOSITORY_URL, "1"); - TasksUiPlugin.getTaskDataManager().setNewTaskData(taskData1); - taskData1 = TasksUiPlugin.getTaskDataManager().getEditableCopy(task.getRepositoryUrl(), task.getTaskId()); - - taskData1.setNewComment("Testing"); - Set<RepositoryTaskAttribute> edits = new HashSet<RepositoryTaskAttribute>(); - edits.add(taskData1.getAttribute(RepositoryTaskAttribute.COMMENT_NEW)); - TasksUiPlugin.getTaskDataManager().saveEdits(task.getRepositoryUrl(), task.getTaskId(), edits); - - RepositoryTaskData editedData = TasksUiPlugin.getTaskDataManager().getEditableCopy(task.getRepositoryUrl(), - task.getTaskId()); - assertEquals("Testing", editedData.getNewComment()); - - TasksUiPlugin.getSynchronizationManager().discardOutgoing(task); - - assertTrue(task.getSynchronizationState().equals(RepositoryTaskSyncState.SYNCHRONIZED)); - RepositoryTaskData taskData = TasksUiPlugin.getTaskDataManager().getEditableCopy(task.getRepositoryUrl(), - task.getTaskId()); - assertEquals("", taskData.getNewComment()); - - } - - private class TestOfflineTaskHandler extends AbstractTaskDataHandler { - - @Override - public AbstractAttributeFactory getAttributeFactory(String repositoryUrl, String repositoryKind, String taskKind) { - // ignore - return null; - } - - public Set<AbstractTask> getChangedSinceLastSync(TaskRepository repository, Set<AbstractTask> tasks) - throws CoreException { - return null; - } - - @Override - public RepositoryTaskData getTaskData(TaskRepository repository, String taskId, IProgressMonitor monitor) - throws CoreException { - return null; - } - - @Override - public String postTaskData(TaskRepository repository, RepositoryTaskData taskData, IProgressMonitor monitor) - throws CoreException { - // ignore - return null; - } - - @Override - public boolean initializeTaskData(TaskRepository repository, RepositoryTaskData data, IProgressMonitor monitor) - throws CoreException { - // ignore - return false; - } - - @Override - public AbstractAttributeFactory getAttributeFactory(RepositoryTaskData taskData) { - // ignore - return null; - } - - @Override - public Set<String> getSubTaskIds(RepositoryTaskData taskData) { - return Collections.emptySet(); - } - - // private final String DATE_FORMAT_2 = "yyyy-MM-dd HH:mm:ss"; - // - // private final SimpleDateFormat format = new - // SimpleDateFormat(DATE_FORMAT_2); - // - // - // public Date getDateForAttributeType(String attributeKey, String - // dateString) { - // - // try { - // return format.parse(dateString); - // } catch (ParseException e) { - // return null; - // } - // } - - } - - private class TestRepositoryConnector extends MockRepositoryConnector { - - @Override - public AbstractTaskDataHandler getTaskDataHandler() { - return handler; - } - - // @Override - // protected void removeOfflineTaskData(RepositoryTaskData bug) { - // // ignore - // } - // - // @Override - // public void saveOffline(RepositoryTaskData taskData) { - // // ignore - // } - - // @Override - // protected RepositoryTaskData - // loadOfflineTaskData(AbstractTask repositoryTask) { - // return repositoryTask.getTaskData(); - // } - - } - - private AbstractTask primeTaskAndRepository(RepositoryTaskSyncState localState, RepositoryTaskSyncState remoteState) { - RepositoryTaskData taskData = null; - AbstractTask task = new MockRepositoryTask(MOCCK_ID); - - taskData = new RepositoryTaskData(new MockAttributeFactory(), connector.getConnectorKind(), - MockRepositoryConnector.REPOSITORY_URL, MOCCK_ID); - taskData.setAttributeValue(RepositoryTaskAttribute.DATE_MODIFIED, DATE_STAMP_1); - task.setLastReadTimeStamp(DATE_STAMP_1); - task.setSynchronizationState(localState); - TasksUiPlugin.getTaskDataManager().setNewTaskData(taskData); - newData = new RepositoryTaskData(new MockAttributeFactory(), connector.getConnectorKind(), - MockRepositoryConnector.REPOSITORY_URL, MOCCK_ID); - - switch (remoteState) { - case CONFLICT: - case INCOMING: - newData.setAttributeValue(RepositoryTaskAttribute.DATE_MODIFIED, DATE_STAMP_2); - break; - case SYNCHRONIZED: - newData.setAttributeValue(RepositoryTaskAttribute.DATE_MODIFIED, DATE_STAMP_1); - break; - default: - fail("Remote repository can only be INCOMING or SYNCHRONIZED wrt the local task."); - - } - - return task; - - } - -} diff --git a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/RetrieveTitleFromUrlTest.java b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/RetrieveTitleFromUrlTest.java deleted file mode 100644 index 52da2b7cb..000000000 --- a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/RetrieveTitleFromUrlTest.java +++ /dev/null @@ -1,40 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2007 Mylyn project committers 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 - *******************************************************************************/ - -package org.eclipse.mylyn.tasks.tests; - -import java.lang.reflect.InvocationTargetException; - -import junit.framework.TestCase; - -import org.eclipse.core.runtime.NullProgressMonitor; -import org.eclipse.mylyn.internal.tasks.ui.RetrieveTitleFromUrlJob; - -/** - * @author Mik Kersten - */ -public class RetrieveTitleFromUrlTest extends TestCase { - - // XXX broken due to hang that causes the scheduled job to never complete - public void testRetrieve() throws InterruptedException, InvocationTargetException { - final String url = "http://eclipse.org/mylar/index.php"; - final String knownTitle = "Mylar Technology Project"; - - RetrieveTitleFromUrlJob job = new RetrieveTitleFromUrlJob(url) { - - @Override - public void setTitle(String title) { - assertEquals(knownTitle, title); - } - }; - job.run(new NullProgressMonitor()); - - assertTrue(job.isTitleRetrieved()); - assertEquals(knownTitle, job.getPageTitle()); - } -} diff --git a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TableSorterTest.java b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TableSorterTest.java deleted file mode 100644 index ffe743c70..000000000 --- a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TableSorterTest.java +++ /dev/null @@ -1,34 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2007 Mylyn project committers 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 - *******************************************************************************/ - -package org.eclipse.mylyn.tasks.tests; - -import junit.framework.TestCase; - -import org.eclipse.mylyn.internal.tasks.core.LocalTask; -import org.eclipse.mylyn.internal.tasks.core.TaskCategory; -import org.eclipse.mylyn.internal.tasks.ui.views.TaskListTableSorter; -import org.eclipse.mylyn.internal.tasks.ui.views.TaskListView; -import org.eclipse.mylyn.tasks.core.AbstractTask; - -/** - * @author Mik Kersten - */ -public class TableSorterTest extends TestCase { - - public void testRootTaskSorting() { - TaskListTableSorter sorter = new TaskListTableSorter(TaskListView.getFromActivePerspective(), - TaskListTableSorter.SortByIndex.SUMMARY); - - AbstractTask task = new LocalTask("1", ""); - TaskCategory category = new TaskCategory("cat"); - - assertEquals(-1, sorter.compare(null, task, category)); - assertEquals(1, sorter.compare(null, category, task)); - } -} diff --git a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskActivityTest.java b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskActivityTest.java deleted file mode 100644 index 981756ba8..000000000 --- a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskActivityTest.java +++ /dev/null @@ -1,773 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2007 Mylyn project committers 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 - *******************************************************************************/ - -package org.eclipse.mylyn.tasks.tests; - -import java.util.Calendar; -import java.util.Date; -import java.util.GregorianCalendar; -import java.util.List; - -import junit.framework.TestCase; - -import org.eclipse.mylyn.context.core.ContextCorePlugin; -import org.eclipse.mylyn.internal.context.core.DegreeOfInterest; -import org.eclipse.mylyn.internal.context.core.InteractionContext; -import org.eclipse.mylyn.internal.context.core.InteractionContextManager; -import org.eclipse.mylyn.internal.context.core.ScalingFactors; -import org.eclipse.mylyn.internal.tasks.core.ScheduledTaskDelegate; -import org.eclipse.mylyn.internal.tasks.core.ScheduledTaskContainer; -import org.eclipse.mylyn.internal.tasks.core.LocalTask; -import org.eclipse.mylyn.monitor.core.InteractionEvent; -import org.eclipse.mylyn.tasks.core.AbstractTask; -import org.eclipse.mylyn.tasks.ui.TasksUiPlugin; - -/** - * @author Rob Elves - */ -public class TaskActivityTest extends TestCase { - - private long currentStartMili = 1200; - - private long currentEndMili = 1900; - - protected void setUp() throws Exception { - super.setUp(); - } - - protected void tearDown() throws Exception { - // MylarTaskListPlugin.getTaskListManager().readExistingOrCreateNewList(); - TasksUiPlugin.getTaskListManager().resetTaskList(); - TasksUiPlugin.getTaskListManager().saveTaskList(); - super.tearDown(); - } - - // TODO: Test scheduling into day bins - public void testDaysOfWeek() { - List<ScheduledTaskContainer> days = TasksUiPlugin.getTaskListManager().getActivityWeekDays(); - assertNotNull(days); - assertEquals(7, days.size()); - } - - public void testDateRangeContainer() { - - Calendar startDate = GregorianCalendar.getInstance(); - startDate.setTimeInMillis(1000); - Calendar endDate = GregorianCalendar.getInstance(); - endDate.setTimeInMillis(2000); - - ScheduledTaskContainer testContainer = new ScheduledTaskContainer(startDate, endDate, - "test date range container"); - assertTrue(testContainer.includes(startDate)); - assertTrue(testContainer.includes(endDate)); - Calendar midTime = GregorianCalendar.getInstance(); - midTime.setTimeInMillis(1500); - assertTrue(testContainer.includes(midTime)); - - AbstractTask task1 = new LocalTask("task 1", "Task 1"); - AbstractTask task2 = new LocalTask("task 2", "Task 2"); - - Calendar currentTaskStart = GregorianCalendar.getInstance(); - currentTaskStart.setTimeInMillis(currentStartMili); - Calendar currentTaskEnd = GregorianCalendar.getInstance(); - currentTaskEnd.setTimeInMillis(currentEndMili); - testContainer.addTask(new ScheduledTaskDelegate(testContainer, task1, currentTaskStart, currentTaskEnd, 10)); - // assertEquals(currentEndMili - currentStartMili, - // testContainer.getTotalElapsed()); - assertEquals(10, testContainer.getTotalElapsed()); - testContainer.addTask(new ScheduledTaskDelegate(testContainer, task2, currentTaskStart, currentTaskEnd, 10)); - assertEquals(20, testContainer.getTotalElapsed()); - // assertEquals(2 * (currentEndMili - currentStartMili), - // testContainer.getTotalElapsed()); - assertEquals(2, testContainer.getDateRangeDelegates().size()); - testContainer.addTask(new ScheduledTaskDelegate(testContainer, task2, currentTaskStart, currentTaskEnd, 10)); - - assertEquals(30, testContainer.getTotalElapsed()); - // assertEquals(3 * (currentEndMili - currentStartMili), - // testContainer.getTotalElapsed()); - // assertEquals(2 * (currentEndMili - currentStartMili), - // testContainer.getElapsed(new DateRangeActivityDelegate( - // testContainer, task2, currentTaskStart, currentTaskEnd))); - assertEquals(20, testContainer.getElapsed(new ScheduledTaskDelegate(testContainer, task2, currentTaskStart, - currentTaskEnd))); - assertEquals(2, testContainer.getDateRangeDelegates().size()); - } - - // public void testNegativeInactivity() { - // Calendar startDate = GregorianCalendar.getInstance(); - // startDate.setTimeInMillis(1000); - // Calendar endDate = GregorianCalendar.getInstance(); - // endDate.setTimeInMillis(2000); - // ITask task1 = new Task("task 1", "Task 1", true); - // DateRangeContainer testContainer = new DateRangeContainer(startDate, - // endDate, "test date range container", taskList); - // testContainer.addTask(new DateRangeActivityDelegate(testContainer, task1, - // startDate, endDate, 3000)); - // assertEquals(0, testContainer.getTotalElapsed()); - // } - - public void testTaskListManagerActivity() { - - AbstractTask task1 = new LocalTask("task 1", "Task 1"); - AbstractTask task2 = new LocalTask("task 2", "Task 2"); - TasksUiPlugin.getTaskListManager().getTaskList().addTask(task1); - TasksUiPlugin.getTaskListManager().getTaskList().addTask(task2); - - // test this week - ScheduledTaskContainer thisWeekActivity = TasksUiPlugin.getTaskListManager().getActivityThisWeek(); - assertNotNull(thisWeekActivity); - assertEquals(0, thisWeekActivity.getChildren().size()); - assertEquals(0, thisWeekActivity.getTotalElapsed()); - Calendar thisWeekCalendarStart = GregorianCalendar.getInstance(); - thisWeekCalendarStart.setTime(thisWeekActivity.getStart().getTime()); - Calendar thisWeekCalendarStop = GregorianCalendar.getInstance(); - thisWeekCalendarStop.setTime(thisWeekActivity.getStart().getTime()); - thisWeekCalendarStop.add(Calendar.MILLISECOND, 2); - assertTrue(thisWeekActivity.includes(thisWeekCalendarStart)); - - InteractionEvent event1 = new InteractionEvent(InteractionEvent.Kind.SELECTION, "structureKind", - task1.getHandleIdentifier(), "originId", "navigatedRelation", - InteractionContextManager.ACTIVITY_DELTA_ACTIVATED, 2f, thisWeekCalendarStart.getTime(), - thisWeekCalendarStart.getTime()); - InteractionEvent event2 = new InteractionEvent(InteractionEvent.Kind.SELECTION, "structureKind", - task1.getHandleIdentifier(), "originId", "navigatedRelation", - InteractionContextManager.ACTIVITY_DELTA_DEACTIVATED, 2f, thisWeekCalendarStop.getTime(), - thisWeekCalendarStop.getTime()); - - TasksUiPlugin.getTaskListManager().parseInteractionEvent(event1); - TasksUiPlugin.getTaskListManager().parseInteractionEvent(event2); - assertEquals(1, thisWeekActivity.getChildren().size()); - assertEquals(0, thisWeekActivity.getTotalElapsed()); - // assertEquals(thisWeekCalendarStop.getTime().getTime() - - // thisWeekCalendarStart.getTime().getTime(), - // thisWeekActivity.getTotalElapsed()); - - TasksUiPlugin.getTaskListManager().parseInteractionEvent(event1); - TasksUiPlugin.getTaskListManager().parseInteractionEvent(event2); - assertEquals(1, thisWeekActivity.getChildren().size()); - // assertEquals(2 * (thisWeekCalendarStop.getTime().getTime() - - // thisWeekCalendarStart.getTime().getTime()), - // thisWeekActivity.getTotalElapsed()); - // assertEquals(2 * (thisWeekCalendarStop.getTime().getTime() - - // thisWeekCalendarStart.getTime().getTime()), - // thisWeekActivity.getElapsed(new - // DateRangeActivityDelegate(thisWeekActivity, task1, null, null))); - - // multiple tasks in category - event1 = new InteractionEvent(InteractionEvent.Kind.SELECTION, "structureKind", task2.getHandleIdentifier(), - "originId", "navigatedRelation", InteractionContextManager.ACTIVITY_DELTA_ACTIVATED, 2f, - thisWeekCalendarStart.getTime(), thisWeekCalendarStart.getTime()); - event2 = new InteractionEvent(InteractionEvent.Kind.SELECTION, "structureKind", task2.getHandleIdentifier(), - "originId", "navigatedRelation", InteractionContextManager.ACTIVITY_DELTA_DEACTIVATED, 2f, - thisWeekCalendarStop.getTime(), thisWeekCalendarStop.getTime()); - TasksUiPlugin.getTaskListManager().parseInteractionEvent(event1); - TasksUiPlugin.getTaskListManager().parseInteractionEvent(event2); - assertEquals(2, thisWeekActivity.getChildren().size()); - - // test Past - ScheduledTaskContainer pastActivity = TasksUiPlugin.getTaskListManager().getActivityPast(); - assertNotNull(pastActivity); - assertEquals(0, pastActivity.getChildren().size()); - - InteractionEvent event3 = new InteractionEvent(InteractionEvent.Kind.SELECTION, "structureKind", - task2.getHandleIdentifier(), "originId", "navigatedRelation", - InteractionContextManager.ACTIVITY_DELTA_ACTIVATED, 2f, pastActivity.getStart().getTime(), - pastActivity.getStart().getTime()); - InteractionEvent event4 = new InteractionEvent(InteractionEvent.Kind.SELECTION, "structureKind", - task2.getHandleIdentifier(), "originId", "navigatedRelation", - InteractionContextManager.ACTIVITY_DELTA_DEACTIVATED, 2f, pastActivity.getEnd().getTime(), - pastActivity.getEnd().getTime()); - - TasksUiPlugin.getTaskListManager().parseInteractionEvent(event3); - TasksUiPlugin.getTaskListManager().parseInteractionEvent(event4); - assertEquals(1, pastActivity.getChildren().size()); - - // test Future - ScheduledTaskContainer futureActivity = TasksUiPlugin.getTaskListManager().getActivityFuture(); - assertNotNull(futureActivity); - assertEquals(0, futureActivity.getChildren().size()); - - InteractionEvent event5 = new InteractionEvent(InteractionEvent.Kind.SELECTION, "structureKind", - task2.getHandleIdentifier(), "originId", "navigatedRelation", - InteractionContextManager.ACTIVITY_DELTA_ACTIVATED, 2f, futureActivity.getStart().getTime(), - futureActivity.getStart().getTime()); - InteractionEvent event6 = new InteractionEvent(InteractionEvent.Kind.SELECTION, "structureKind", - task2.getHandleIdentifier(), "originId", "navigatedRelation", - InteractionContextManager.ACTIVITY_DELTA_DEACTIVATED, 2f, futureActivity.getEnd().getTime(), - futureActivity.getEnd().getTime()); - - TasksUiPlugin.getTaskListManager().parseInteractionEvent(event5); - TasksUiPlugin.getTaskListManager().parseInteractionEvent(event6); - // No longer adding activity to future bins (days of week, next week, or - // future) - assertEquals(0, futureActivity.getChildren().size()); - - // test Next week activity - ScheduledTaskContainer activityNextWeek = TasksUiPlugin.getTaskListManager().getActivityNextWeek(); - assertNotNull(activityNextWeek); - assertEquals(0, activityNextWeek.getChildren().size()); - - InteractionEvent event7 = new InteractionEvent(InteractionEvent.Kind.SELECTION, "structureKind", - task2.getHandleIdentifier(), "originId", "navigatedRelation", - InteractionContextManager.ACTIVITY_DELTA_ACTIVATED, 2f, activityNextWeek.getStart().getTime(), - activityNextWeek.getStart().getTime()); - InteractionEvent event8 = new InteractionEvent(InteractionEvent.Kind.SELECTION, "structureKind", - task2.getHandleIdentifier(), "originId", "navigatedRelation", - InteractionContextManager.ACTIVITY_DELTA_DEACTIVATED, 2f, activityNextWeek.getEnd().getTime(), - activityNextWeek.getEnd().getTime()); - - TasksUiPlugin.getTaskListManager().parseInteractionEvent(event7); - TasksUiPlugin.getTaskListManager().parseInteractionEvent(event8); - // No longer adding activity to future bins (days of week, next week, or - // future) - assertEquals(0, activityNextWeek.getChildren().size()); - - // test Previous week activity - ScheduledTaskContainer activityPreviousWeek = TasksUiPlugin.getTaskListManager().getActivityPrevious(); - assertNotNull(activityPreviousWeek); - assertEquals(0, activityPreviousWeek.getChildren().size()); - - InteractionEvent event9 = new InteractionEvent(InteractionEvent.Kind.SELECTION, "structureKind", - task2.getHandleIdentifier(), "originId", "navigatedRelation", - InteractionContextManager.ACTIVITY_DELTA_ACTIVATED, 2f, activityPreviousWeek.getStart().getTime(), - activityPreviousWeek.getStart().getTime()); - InteractionEvent event10 = new InteractionEvent(InteractionEvent.Kind.SELECTION, "structureKind", - task2.getHandleIdentifier(), "originId", "navigatedRelation", - InteractionContextManager.ACTIVITY_DELTA_DEACTIVATED, 2f, activityPreviousWeek.getEnd().getTime(), - activityPreviousWeek.getEnd().getTime()); - - TasksUiPlugin.getTaskListManager().parseInteractionEvent(event9); - TasksUiPlugin.getTaskListManager().parseInteractionEvent(event10); - assertEquals(1, activityPreviousWeek.getChildren().size()); - } - - /** - * Some 'attention' events when all tasks are inactive - * - * @author Yuri Baburov (burchik@gmail.com) - */ - public void testTaskListManagerActivity2() { - AbstractTask task1 = new LocalTask("task 1", "Task 1"); - TasksUiPlugin.getTaskListManager().getTaskList().addTask(task1); - ScheduledTaskContainer thisWeekActivity = TasksUiPlugin.getTaskListManager().getActivityThisWeek(); - assertNotNull(thisWeekActivity); - assertEquals(0, thisWeekActivity.getChildren().size()); - assertEquals(0, thisWeekActivity.getTotalElapsed()); - thisWeekActivity.getStart().setTimeInMillis(1149490800000L); // Start - // of - // the - // week - // Jun 5 - // 2006 - // - Jun - // 11 - // 2006, - // NOVST - thisWeekActivity.getEnd().setTimeInMillis(1150095600000L); // End of - // the week - - Date time1 = new Date(1149911820812L); // Sat Jun 10 10:57:00 NOVST - // 2006 - task 1 - activated - Date time2 = new Date(1149911820812L); // Sat Jun 10 10:57:00 NOVST - // 2006 - task 1 - deactivated - Date time3 = new Date(1149911840812L); // Sat Jun 10 10:57:20 NOVST - // 2006 - attention - - // deactivated - Date time4 = new Date(1149911941765L); // Sat Jun 10 10:59:01 NOVST - // 2006 - attention - activated - Date time5 = new Date(1149911948953L); // Sat Jun 10 10:59:08 NOVST - // 2006 - task 1 - activated - Date time6 = new Date(1149911988781L); // Sat Jun 10 10:59:48 NOVST - // 2006 - task 1 - deactivated - - String task1handle = task1.getHandleIdentifier(); - InteractionEvent event1 = new InteractionEvent(InteractionEvent.Kind.SELECTION, "structureKind", task1handle, - "originId", "navigatedRelation", InteractionContextManager.ACTIVITY_DELTA_ACTIVATED, 2f, time1, time1); - InteractionEvent event2 = new InteractionEvent(InteractionEvent.Kind.SELECTION, "structureKind", task1handle, - "originId", "navigatedRelation", InteractionContextManager.ACTIVITY_DELTA_DEACTIVATED, 2f, time2, time2); - InteractionEvent event3 = new InteractionEvent(InteractionEvent.Kind.SELECTION, "structureKind", "attention", - "originId", "navigatedRelation", InteractionContextManager.ACTIVITY_DELTA_DEACTIVATED, 2f, time3, time3); - InteractionEvent event4 = new InteractionEvent(InteractionEvent.Kind.SELECTION, "structureKind", "attention", - "originId", "navigatedRelation", InteractionContextManager.ACTIVITY_DELTA_ACTIVATED, 2f, time4, time4); - InteractionEvent event5 = new InteractionEvent(InteractionEvent.Kind.SELECTION, "structureKind", task1handle, - "originId", "navigatedRelation", InteractionContextManager.ACTIVITY_DELTA_ACTIVATED, 2f, time5, time5); - InteractionEvent event6 = new InteractionEvent(InteractionEvent.Kind.SELECTION, "structureKind", task1handle, - "originId", "navigatedRelation", InteractionContextManager.ACTIVITY_DELTA_DEACTIVATED, 2f, time6, time6); - - TasksUiPlugin.getTaskListManager().parseInteractionEvent(event1); - TasksUiPlugin.getTaskListManager().parseInteractionEvent(event2); - TasksUiPlugin.getTaskListManager().parseInteractionEvent(event3); - TasksUiPlugin.getTaskListManager().parseInteractionEvent(event4); - TasksUiPlugin.getTaskListManager().parseInteractionEvent(event5); - TasksUiPlugin.getTaskListManager().parseInteractionEvent(event6); - assertEquals(1, thisWeekActivity.getChildren().size()); - long expectedTotalTime = 0;// time6.getTime() - time5.getTime() + - // time2.getTime() - time1.getTime(); - assertEquals(expectedTotalTime, thisWeekActivity.getTotalElapsed()); - assertEquals(expectedTotalTime, TasksUiPlugin.getTaskListManager().getElapsedTime(task1)); - assertEquals(expectedTotalTime, thisWeekActivity.getElapsed(new ScheduledTaskDelegate(thisWeekActivity, task1, - null, null))); - } - - /** - * Task with some inner 'attention' events - * - * @author Yuri Baburov (burchik@gmail.com) - */ - public void testTaskListManagerActivity3() { - AbstractTask task1 = new LocalTask("task 1", "Task 1"); - TasksUiPlugin.getTaskListManager().getTaskList().addTask(task1); - ScheduledTaskContainer thisWeekActivity = TasksUiPlugin.getTaskListManager().getActivityThisWeek(); - assertNotNull(thisWeekActivity); - assertEquals(0, thisWeekActivity.getChildren().size()); - assertEquals(0, thisWeekActivity.getTotalElapsed()); - thisWeekActivity.getStart().setTimeInMillis(1149490800000L); // Start - // of - // the - // week - // Jun 5 - // 2006 - // - Jun - // 11 - // 2006, - // NOVST - thisWeekActivity.getEnd().setTimeInMillis(1150095600000L); // End of - // the week - - Date time1 = new Date(1150007053171L); // Sun Jun 11 13:24:13 NOVST - // 2006 - task 1 - activated - Date time2 = new Date(1150007263468L); // Sun Jun 11 13:27:43 NOVST - // 2006 - attention - - // deactivated - Date time3 = new Date(1150021535953L); // Sun Jun 11 17:25:35 NOVST - // 2006 - attention - activated - Date time4 = new Date(1150021658500L); // Sun Jun 11 17:27:38 NOVST - // 2006 - attention - - // deactivated - Date time5 = new Date(1150031089250L); // Sun Jun 11 20:04:49 NOVST - // 2006 - attention - activated - Date time6 = new Date(1150031111578L); // Sun Jun 11 20:05:11 NOVST - // 2006 - attention - - // deactivated - Date time7 = new Date(1150031111578L); // Sun Jun 11 20:05:11 NOVST - // 2006 - task 1 - deactivated - - String task1handle = task1.getHandleIdentifier(); - InteractionEvent event1 = new InteractionEvent(InteractionEvent.Kind.SELECTION, "structureKind", task1handle, - "originId", "navigatedRelation", InteractionContextManager.ACTIVITY_DELTA_ACTIVATED, 2f, time1, time1); - - InteractionEvent event2 = new InteractionEvent(InteractionEvent.Kind.SELECTION, "structureKind", "attention", - "originId", "navigatedRelation", InteractionContextManager.ACTIVITY_DELTA_ACTIVATED, 2f, time1, time2); - InteractionEvent event3 = new InteractionEvent(InteractionEvent.Kind.SELECTION, "structureKind", "attention", - "originId", "navigatedRelation", InteractionContextManager.ACTIVITY_DELTA_ACTIVATED, 2f, time3, time4); - // InteractionEvent event4 = new - // InteractionEvent(InteractionEvent.Kind.SELECTION, "structureKind", - // "attention", - // "originId", "navigatedRelation", - // MylarContextManager.ACTIVITY_DELTA_DEACTIVATED, 2f, time4, time4); - InteractionEvent event5 = new InteractionEvent(InteractionEvent.Kind.SELECTION, "structureKind", "attention", - "originId", "navigatedRelation", InteractionContextManager.ACTIVITY_DELTA_ACTIVATED, 2f, time5, time6); - // InteractionEvent event6 = new - // InteractionEvent(InteractionEvent.Kind.SELECTION, "structureKind", - // "attention", - // "originId", "navigatedRelation", - // MylarContextManager.ACTIVITY_DELTA_DEACTIVATED, 2f, time6, time6); - InteractionEvent event7 = new InteractionEvent(InteractionEvent.Kind.SELECTION, "structureKind", task1handle, - "originId", "navigatedRelation", InteractionContextManager.ACTIVITY_DELTA_DEACTIVATED, 2f, time7, time7); - - TasksUiPlugin.getTaskListManager().parseInteractionEvent(event1); - TasksUiPlugin.getTaskListManager().parseInteractionEvent(event2); - TasksUiPlugin.getTaskListManager().parseInteractionEvent(event3); - // TasksUiPlugin.getTaskListManager().parseInteractionEvent(event4); - TasksUiPlugin.getTaskListManager().parseInteractionEvent(event5); - // TasksUiPlugin.getTaskListManager().parseInteractionEvent(event6); - TasksUiPlugin.getTaskListManager().parseInteractionEvent(event7); - assertEquals(1, thisWeekActivity.getChildren().size()); - long expectedTotalTime = time6.getTime() - time5.getTime() + time4.getTime() - time3.getTime() - + time2.getTime() - time1.getTime(); - assertEquals(expectedTotalTime, thisWeekActivity.getTotalElapsed()); - assertEquals(expectedTotalTime, thisWeekActivity.getElapsed(new ScheduledTaskDelegate(thisWeekActivity, task1, - null, null))); - } - - public void testTaskListManagerInactivity() { - - AbstractTask task1 = new LocalTask("task 1", "Task 1"); - TasksUiPlugin.getTaskListManager().getTaskList().addTask(task1); - - ScheduledTaskContainer activityThisWeek = TasksUiPlugin.getTaskListManager().getActivityThisWeek(); - assertNotNull(activityThisWeek); - assertEquals(0, activityThisWeek.getChildren().size()); - - InteractionEvent event1 = new InteractionEvent(InteractionEvent.Kind.SELECTION, "structureKind", - task1.getHandleIdentifier(), "originId", "navigatedRelation", - InteractionContextManager.ACTIVITY_DELTA_ACTIVATED, 2f, activityThisWeek.getStart().getTime(), - activityThisWeek.getStart().getTime()); - InteractionEvent event2 = new InteractionEvent(InteractionEvent.Kind.SELECTION, "structureKind", - task1.getHandleIdentifier(), "originId", "navigatedRelation", - InteractionContextManager.ACTIVITY_DELTA_DEACTIVATED, 2f, activityThisWeek.getEnd().getTime(), - activityThisWeek.getEnd().getTime()); - - Calendar activityStart = GregorianCalendar.getInstance(); - Calendar activityEnd = GregorianCalendar.getInstance(); - activityEnd.add(Calendar.HOUR_OF_DAY, 1); - - // InteractionEvent inactivityEvent1 = new - // InteractionEvent(InteractionEvent.Kind.COMMAND, "structureKind", - // MylarContextManager.ACTIVITY_HANDLE_ATTENTION, "originId", - // "navigatedRelation", - // MylarContextManager.ACTIVITY_DELTA_DEACTIVATED, 2f, - // inactivityStart.getTime(), inactivityStart.getTime()); - // InteractionEvent inactivityEvent2 = new - // InteractionEvent(InteractionEvent.Kind.COMMAND, "structureKind", - // MylarContextManager.ACTIVITY_HANDLE_ATTENTION, "originId", - // "navigatedRelation", - // MylarContextManager.ACTIVITY_DELTA_ACTIVATED, 2f, - // inactivityEnd.getTime(), inactivityEnd.getTime()); - - InteractionEvent activityEvent = new InteractionEvent(InteractionEvent.Kind.COMMAND, - InteractionContextManager.ACTIVITY_STRUCTURE_KIND, InteractionContextManager.ACTIVITY_HANDLE_ATTENTION, - InteractionContextManager.ACTIVITY_ORIGIN_ID, null, InteractionContextManager.ACTIVITY_DELTA_ACTIVATED, - 1f, activityStart.getTime(), activityEnd.getTime()); - - TasksUiPlugin.getTaskListManager().parseInteractionEvent(event1); - TasksUiPlugin.getTaskListManager().parseInteractionEvent(activityEvent); - // TasksUiPlugin.getTaskListManager().parseInteractionEvent(inactivityEvent1); - // TasksUiPlugin.getTaskListManager().parseInteractionEvent(inactivityEvent2); - TasksUiPlugin.getTaskListManager().parseInteractionEvent(event2); - assertEquals(1, activityThisWeek.getChildren().size()); - - // long expectedTotalTime = - // (activityThisWeek.getEnd().getTime().getTime() - - // activityThisWeek.getStart().getTime() - // .getTime()) - // - (inactivityEnd.getTime().getTime() - - // inactivityStart.getTime().getTime()); - // - - long expectedTotalTime = (activityEnd.getTime().getTime() - activityStart.getTime().getTime()); - - assertEquals(expectedTotalTime, activityThisWeek.getTotalElapsed()); - assertEquals(expectedTotalTime, activityThisWeek.getElapsed(new ScheduledTaskDelegate(activityThisWeek, task1, - null, null))); - - } - - public void testInterleavedActivation() { - - AbstractTask task1 = new LocalTask("task 1", "Task 1"); - TasksUiPlugin.getTaskListManager().getTaskList().addTask(task1); - - ScheduledTaskContainer activityThisWeek = TasksUiPlugin.getTaskListManager().getActivityThisWeek(); - assertNotNull(activityThisWeek); - assertEquals(0, activityThisWeek.getChildren().size()); - - Calendar taskActivationStart = GregorianCalendar.getInstance(); - taskActivationStart.add(Calendar.MILLISECOND, 15); - Calendar taskActivationStop = GregorianCalendar.getInstance(); - taskActivationStop.add(Calendar.MILLISECOND, 25); - - Calendar inactivityStart1 = GregorianCalendar.getInstance(); - inactivityStart1.add(Calendar.MILLISECOND, 5); - Calendar inactivityStop1 = GregorianCalendar.getInstance(); - inactivityStop1.add(Calendar.MILLISECOND, 10); - - Calendar inactivityStart2 = GregorianCalendar.getInstance(); - inactivityStart2.add(Calendar.MILLISECOND, 18); - Calendar inactivityStop2 = GregorianCalendar.getInstance(); - inactivityStop2.add(Calendar.MILLISECOND, 25); - - InteractionEvent event1 = new InteractionEvent(InteractionEvent.Kind.SELECTION, "structureKind", - task1.getHandleIdentifier(), "originId", "navigatedRelation", - InteractionContextManager.ACTIVITY_DELTA_ACTIVATED, 2f, taskActivationStart.getTime(), - taskActivationStart.getTime()); - InteractionEvent event2 = new InteractionEvent(InteractionEvent.Kind.SELECTION, "structureKind", - task1.getHandleIdentifier(), "originId", "navigatedRelation", - InteractionContextManager.ACTIVITY_DELTA_DEACTIVATED, 2f, taskActivationStop.getTime(), - taskActivationStop.getTime()); - - InteractionEvent inactivityEvent1 = new InteractionEvent(InteractionEvent.Kind.COMMAND, "structureKind", - InteractionContextManager.ACTIVITY_HANDLE_ATTENTION, "originId", "navigatedRelation", - InteractionContextManager.ACTIVITY_DELTA_DEACTIVATED, 2f, inactivityStart1.getTime(), - inactivityStop1.getTime()); - InteractionEvent inactivityEvent2 = new InteractionEvent(InteractionEvent.Kind.COMMAND, "structureKind", - InteractionContextManager.ACTIVITY_HANDLE_ATTENTION, "originId", "navigatedRelation", - InteractionContextManager.ACTIVITY_DELTA_ACTIVATED, 2f, inactivityStart2.getTime(), - inactivityStop2.getTime()); - - TasksUiPlugin.getTaskListManager().parseInteractionEvent(inactivityEvent1); - TasksUiPlugin.getTaskListManager().parseInteractionEvent(event1); - TasksUiPlugin.getTaskListManager().parseInteractionEvent(event2); - TasksUiPlugin.getTaskListManager().parseInteractionEvent(inactivityEvent2); - assertEquals(1, activityThisWeek.getChildren().size()); - - // long expectedTotalTime = taskActivationStop.getTimeInMillis() - - // taskActivationStart.getTimeInMillis(); - long expectedTotalTime = 0; - assertEquals(expectedTotalTime, activityThisWeek.getTotalElapsed()); - assertEquals(expectedTotalTime, activityThisWeek.getElapsed(new ScheduledTaskDelegate(activityThisWeek, task1, - null, null))); - } - - public void testInterleavedActivation2() { - - AbstractTask task1 = new LocalTask("task 1", "Task 1"); - TasksUiPlugin.getTaskListManager().getTaskList().addTask(task1); - - ScheduledTaskContainer activityThisWeek = TasksUiPlugin.getTaskListManager().getActivityThisWeek(); - assertNotNull(activityThisWeek); - assertEquals(0, activityThisWeek.getChildren().size()); - - Calendar taskActivationStart = GregorianCalendar.getInstance(); - taskActivationStart.add(Calendar.MILLISECOND, 10); - Calendar taskActivationStop = GregorianCalendar.getInstance(); - taskActivationStop.add(Calendar.MILLISECOND, 25); - - Calendar inactivityStart = GregorianCalendar.getInstance(); - inactivityStart.add(Calendar.MILLISECOND, 15); - Calendar inactivityStop = GregorianCalendar.getInstance(); - inactivityStop.add(Calendar.MILLISECOND, 20); - - InteractionEvent event1 = new InteractionEvent(InteractionEvent.Kind.SELECTION, "structureKind", - task1.getHandleIdentifier(), "originId", "navigatedRelation", - InteractionContextManager.ACTIVITY_DELTA_ACTIVATED, 2f, taskActivationStart.getTime(), - taskActivationStart.getTime()); - InteractionEvent event2 = new InteractionEvent(InteractionEvent.Kind.SELECTION, "structureKind", - task1.getHandleIdentifier(), "originId", "navigatedRelation", - InteractionContextManager.ACTIVITY_DELTA_DEACTIVATED, 2f, taskActivationStop.getTime(), - taskActivationStop.getTime()); - - InteractionEvent inactivityEvent1 = new InteractionEvent(InteractionEvent.Kind.COMMAND, "structureKind", - InteractionContextManager.ACTIVITY_HANDLE_ATTENTION, "originId", "navigatedRelation", - InteractionContextManager.ACTIVITY_DELTA_ACTIVATED, 2f, inactivityStart.getTime(), - inactivityStop.getTime()); - - TasksUiPlugin.getTaskListManager().parseInteractionEvent(event1); - TasksUiPlugin.getTaskListManager().parseInteractionEvent(inactivityEvent1); - TasksUiPlugin.getTaskListManager().parseInteractionEvent(event1); - TasksUiPlugin.getTaskListManager().parseInteractionEvent(inactivityEvent1); - TasksUiPlugin.getTaskListManager().parseInteractionEvent(event2); - - assertEquals(1, activityThisWeek.getChildren().size()); - - long expectedTotalTime = 2 * (inactivityStart.getTimeInMillis() - taskActivationStart.getTimeInMillis()); - assertEquals(expectedTotalTime, activityThisWeek.getTotalElapsed()); - assertEquals(expectedTotalTime, activityThisWeek.getElapsed(new ScheduledTaskDelegate(activityThisWeek, task1, - null, null))); - } - - public void testResetAndRollOver() { - - ScheduledTaskContainer pastWeeks = TasksUiPlugin.getTaskListManager().getActivityPast(); - ScheduledTaskContainer previousWeek = TasksUiPlugin.getTaskListManager().getActivityPrevious(); - ScheduledTaskContainer thisWeek = TasksUiPlugin.getTaskListManager().getActivityThisWeek(); - ScheduledTaskContainer nextWeek = TasksUiPlugin.getTaskListManager().getActivityNextWeek(); - ScheduledTaskContainer futureWeeks = TasksUiPlugin.getTaskListManager().getActivityFuture(); - - assertTrue(thisWeek.isPresent()); - assertTrue(nextWeek.isFuture()); - - long pastStartTime = pastWeeks.getEnd().getTimeInMillis(); - long previousStartTime = previousWeek.getStart().getTimeInMillis(); - long thisWeekStartTime = thisWeek.getStart().getTimeInMillis(); - long nextStartTime = nextWeek.getStart().getTimeInMillis(); - long futureStartTime = futureWeeks.getStart().getTimeInMillis(); - - Calendar pastWeeksTaskStart = Calendar.getInstance(); - pastWeeksTaskStart.setTimeInMillis(pastStartTime - 10); - assertTrue(pastWeeks.includes(pastWeeksTaskStart)); - - Calendar previousWeekTaskStart = Calendar.getInstance(); - previousWeekTaskStart.setTimeInMillis(previousStartTime + 10); - assertTrue(previousWeek.includes(previousWeekTaskStart)); - - Calendar thisWeekTaskStart = Calendar.getInstance(); - thisWeekTaskStart.setTimeInMillis(thisWeekStartTime + 10); - assertTrue(thisWeek.includes(thisWeekTaskStart)); - - Calendar thisWeekTaskStop = Calendar.getInstance(); - thisWeekTaskStop.setTimeInMillis(thisWeek.getEnd().getTimeInMillis() - 10); - assertTrue(thisWeek.includes(thisWeekTaskStop)); - - Calendar nextWeekTaskStart = Calendar.getInstance(); - nextWeekTaskStart.setTimeInMillis(nextStartTime + 10); - assertTrue(nextWeek.includes(nextWeekTaskStart)); - - Calendar futureWeekTaskStart = Calendar.getInstance(); - futureWeekTaskStart.setTimeInMillis(futureStartTime + 10); - assertTrue(futureWeeks.includes(futureWeekTaskStart)); - - AbstractTask task1 = new LocalTask("task 1", "Task 1"); - TasksUiPlugin.getTaskListManager().getTaskList().addTask(task1); - InteractionEvent event1 = new InteractionEvent(InteractionEvent.Kind.SELECTION, "structureKind", - task1.getHandleIdentifier(), "originId", "navigatedRelation", - InteractionContextManager.ACTIVITY_DELTA_ACTIVATED, 2f, thisWeekTaskStart.getTime(), - thisWeekTaskStart.getTime()); - InteractionEvent event2 = new InteractionEvent(InteractionEvent.Kind.SELECTION, "structureKind", - task1.getHandleIdentifier(), "originId", "navigatedRelation", - InteractionContextManager.ACTIVITY_DELTA_DEACTIVATED, 2f, thisWeekTaskStop.getTime(), - thisWeekTaskStop.getTime()); - - InteractionEvent activityEvent1 = new InteractionEvent(InteractionEvent.Kind.COMMAND, "structureKind", - InteractionContextManager.ACTIVITY_HANDLE_ATTENTION, "originId", "navigatedRelation", - InteractionContextManager.ACTIVITY_DELTA_ACTIVATED, 2f, thisWeekTaskStart.getTime(), - thisWeekTaskStop.getTime()); - - TasksUiPlugin.getTaskListManager().parseInteractionEvent(event1); - TasksUiPlugin.getTaskListManager().parseInteractionEvent(event2); - assertEquals(1, thisWeek.getChildren().size()); - // assertEquals(thisWeekTaskStop.getTime().getTime() - - // thisWeekTaskStart.getTime().getTime(), thisWeek - // .getTotalElapsed()); - - // ROLL OVER - - TasksUiPlugin.getTaskListManager().startTime = new Date(nextWeek.getStart().getTimeInMillis() + 10); - TasksUiPlugin.getTaskListManager().resetAndRollOver(); - - TasksUiPlugin.getTaskListManager().parseInteractionEvent(event1); - TasksUiPlugin.getTaskListManager().parseInteractionEvent(activityEvent1); - TasksUiPlugin.getTaskListManager().parseInteractionEvent(event2); - - ScheduledTaskContainer newPastWeeks = TasksUiPlugin.getTaskListManager().getActivityPast(); - ScheduledTaskContainer newPreviousWeek = TasksUiPlugin.getTaskListManager().getActivityPrevious(); - ScheduledTaskContainer newThisWeek = TasksUiPlugin.getTaskListManager().getActivityThisWeek(); - ScheduledTaskContainer newNextWeek = TasksUiPlugin.getTaskListManager().getActivityNextWeek(); - // DateRangeContainer newFutureWeeks = - // MylarTaskListPlugin.getTaskListManager().getActivityFuture(); - - assertTrue(newPastWeeks.includes(previousWeekTaskStart)); - assertTrue(newPreviousWeek.includes(thisWeekTaskStart)); - assertTrue(newThisWeek.includes(nextWeekTaskStart)); - assertTrue(newNextWeek.includes(futureWeekTaskStart)); - - assertFalse(newThisWeek.includes(thisWeekTaskStart)); - assertFalse(newThisWeek.isPresent()); - assertTrue(newThisWeek.isFuture()); - - assertEquals(1, newPreviousWeek.getChildren().size()); - assertEquals(thisWeekTaskStop.getTime().getTime() - thisWeekTaskStart.getTime().getTime(), - newPreviousWeek.getTotalElapsed()); - } - - public void testAfterReloading() { - AbstractTask task1 = new LocalTask("task 1", "Task 1"); - TasksUiPlugin.getTaskListManager().getTaskList().addTask(task1); - - Calendar startTime = Calendar.getInstance(); - Calendar endTime = Calendar.getInstance(); - endTime.add(Calendar.SECOND, 20); - - InteractionEvent event1 = new InteractionEvent(InteractionEvent.Kind.SELECTION, "structureKind", - task1.getHandleIdentifier(), "originId", "navigatedRelation", - InteractionContextManager.ACTIVITY_DELTA_ACTIVATED, 2f, startTime.getTime(), startTime.getTime()); - InteractionEvent event2 = new InteractionEvent(InteractionEvent.Kind.SELECTION, "structureKind", - task1.getHandleIdentifier(), "originId", "navigatedRelation", - InteractionContextManager.ACTIVITY_DELTA_DEACTIVATED, 2f, startTime.getTime(), startTime.getTime()); - - InteractionEvent activityEvent1 = new InteractionEvent(InteractionEvent.Kind.COMMAND, - InteractionContextManager.ACTIVITY_STRUCTURE_KIND, InteractionContextManager.ACTIVITY_HANDLE_ATTENTION, - InteractionContextManager.ACTIVITY_ORIGIN_ID, null, InteractionContextManager.ACTIVITY_DELTA_ACTIVATED, - 1f, startTime.getTime(), endTime.getTime()); - - ContextCorePlugin.getContextManager().getActivityMetaContext().parseEvent(event1); - TasksUiPlugin.getTaskListManager().parseInteractionEvent(event1); - ContextCorePlugin.getContextManager().getActivityMetaContext().parseEvent(activityEvent1); - TasksUiPlugin.getTaskListManager().parseInteractionEvent(activityEvent1); - ContextCorePlugin.getContextManager().getActivityMetaContext().parseEvent(event2); - TasksUiPlugin.getTaskListManager().parseInteractionEvent(event2); - assertEquals(20000, TasksUiPlugin.getTaskListManager().getElapsedTime(task1)); - - ContextCorePlugin.getContextManager().saveActivityContext(); - ContextCorePlugin.getContextManager().loadActivityMetaContext(); - TasksUiPlugin.getTaskListManager().resetAndRollOver(); - - assertEquals(20000, TasksUiPlugin.getTaskListManager().getElapsedTime(task1)); - - } - - public void testCollapsedTiming() { - Calendar startTime1 = Calendar.getInstance(); - Calendar endTime1 = Calendar.getInstance(); - endTime1.add(Calendar.SECOND, 20); - - Calendar startTime2 = Calendar.getInstance(); - startTime2.setTimeInMillis(endTime1.getTimeInMillis()); - Calendar endTime2 = Calendar.getInstance(); - endTime2.setTimeInMillis(startTime2.getTimeInMillis() + 20 * 1000); - - InteractionContext mockContext = new InteractionContext("doitest", new ScalingFactors()); - DegreeOfInterest doi = new DegreeOfInterest(mockContext, InteractionContextManager.getScalingFactors()); - InteractionEvent activityEvent1 = new InteractionEvent(InteractionEvent.Kind.COMMAND, - InteractionContextManager.ACTIVITY_STRUCTURE_KIND, InteractionContextManager.ACTIVITY_HANDLE_ATTENTION, - InteractionContextManager.ACTIVITY_ORIGIN_ID, null, InteractionContextManager.ACTIVITY_DELTA_ACTIVATED, - 1f, startTime1.getTime(), endTime1.getTime()); - - InteractionEvent activityEvent2 = new InteractionEvent(InteractionEvent.Kind.COMMAND, - InteractionContextManager.ACTIVITY_STRUCTURE_KIND, InteractionContextManager.ACTIVITY_HANDLE_ATTENTION, - InteractionContextManager.ACTIVITY_ORIGIN_ID, null, InteractionContextManager.ACTIVITY_DELTA_ACTIVATED, - 1f, startTime2.getTime(), endTime2.getTime()); - - doi.addEvent(activityEvent1); - doi.addEvent(activityEvent2); - assertEquals(2, doi.getCollapsedEvents().size()); - InteractionEvent collapsed = doi.getCollapsedEvents().get(1); - assertEquals(40 * 1000, collapsed.getEndDate().getTime() - collapsed.getDate().getTime()); - } - - public void testCollapsedExternalization() { - - Calendar startTime1 = Calendar.getInstance(); - Calendar endTime1 = Calendar.getInstance(); - endTime1.add(Calendar.SECOND, 20); - - Calendar startTime2 = Calendar.getInstance(); - startTime2.add(Calendar.DAY_OF_MONTH, 1); - Calendar endTime2 = Calendar.getInstance(); - endTime2.add(Calendar.DAY_OF_MONTH, 1); - endTime2.add(Calendar.SECOND, 20); - - AbstractTask task1 = new LocalTask("task 1", "Task 1"); - TasksUiPlugin.getTaskListManager().getTaskList().addTask(task1); - InteractionContext metaContext = ContextCorePlugin.getContextManager().getActivityMetaContext(); - metaContext.reset(); - assertEquals(0, metaContext.getInteractionHistory().size()); - - TasksUiPlugin.getTaskListManager().activateTask(task1); - - InteractionEvent activityEvent1 = new InteractionEvent(InteractionEvent.Kind.COMMAND, - InteractionContextManager.ACTIVITY_STRUCTURE_KIND, InteractionContextManager.ACTIVITY_HANDLE_ATTENTION, - InteractionContextManager.ACTIVITY_ORIGIN_ID, null, InteractionContextManager.ACTIVITY_DELTA_ACTIVATED, - endTime1.getTime().getTime() - startTime1.getTime().getTime(), startTime1.getTime(), endTime1.getTime()); - - InteractionEvent activityEvent2 = new InteractionEvent(InteractionEvent.Kind.COMMAND, - InteractionContextManager.ACTIVITY_STRUCTURE_KIND, InteractionContextManager.ACTIVITY_HANDLE_ATTENTION, - InteractionContextManager.ACTIVITY_ORIGIN_ID, null, InteractionContextManager.ACTIVITY_DELTA_ACTIVATED, - endTime2.getTime().getTime() - startTime2.getTime().getTime(), startTime2.getTime(), endTime2.getTime()); - - metaContext.parseEvent(activityEvent1); - metaContext.parseEvent(activityEvent2); - TasksUiPlugin.getTaskListManager().deactivateAllTasks(); - assertEquals(4, ContextCorePlugin.getContextManager().getActivityMetaContext().getInteractionHistory().size()); - TasksUiPlugin.getTaskListManager().saveTaskList(); - ContextCorePlugin.getContextManager().saveActivityContext(); - ContextCorePlugin.getContextManager().getActivityMetaContext().reset(); - assertEquals(0, ContextCorePlugin.getContextManager().getActivityMetaContext().getInteractionHistory().size()); - ContextCorePlugin.getContextManager().loadActivityMetaContext(); - - // Only three remain as the two attention events have compressed into one - assertEquals(3, ContextCorePlugin.getContextManager().getActivityMetaContext().getInteractionHistory().size()); - assertEquals(0, TasksUiPlugin.getTaskListManager().getElapsedTime(task1)); - - TasksUiPlugin.getTaskListManager().resetAndRollOver(); - assertEquals((endTime1.getTimeInMillis() - startTime1.getTimeInMillis()) - + (endTime2.getTimeInMillis() - startTime2.getTimeInMillis()), TasksUiPlugin.getTaskListManager() - .getElapsedTime(task1)); - } - -} diff --git a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskDataExportTest.java b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskDataExportTest.java deleted file mode 100644 index 9c862ea5c..000000000 --- a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskDataExportTest.java +++ /dev/null @@ -1,160 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2007 Mylyn project committers 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 - *******************************************************************************/ -package org.eclipse.mylyn.tasks.tests; - -import java.io.File; -import java.io.FileInputStream; -import java.util.ArrayList; -import java.util.zip.ZipEntry; -import java.util.zip.ZipInputStream; - -import org.eclipse.mylyn.context.core.ContextCorePlugin; -import org.eclipse.mylyn.context.tests.AbstractContextTest; -import org.eclipse.mylyn.internal.context.core.InteractionContext; -import org.eclipse.mylyn.internal.tasks.ui.wizards.TaskDataExportWizard; -import org.eclipse.mylyn.internal.tasks.ui.wizards.TaskDataExportWizardPage; -import org.eclipse.mylyn.monitor.core.InteractionEvent; -import org.eclipse.mylyn.tasks.core.AbstractTask; -import org.eclipse.mylyn.tasks.ui.TaskListManager; -import org.eclipse.mylyn.tasks.ui.TasksUiPlugin; -import org.eclipse.swt.widgets.Shell; - -/** - * Test case for the Task Export Wizard - * - * @author Wesley Coelho - * @author Mik Kersten (fixes) - */ -public class TaskDataExportTest extends AbstractContextTest { - - private TaskDataExportWizard wizard = null; - - private TaskDataExportWizardPage wizardPage = null; - - private File destinationDir = null; - - private AbstractTask task1 = null; - - private TaskListManager manager = TasksUiPlugin.getTaskListManager(); - - private InteractionContext mockContext; - - @Override - protected void setUp() throws Exception { - super.setUp(); - - removeFiles(new File(TasksUiPlugin.getDefault().getDataDirectory())); - ContextCorePlugin.getDefault().getContextStore().init(); - - // Create the export wizard - wizard = new TaskDataExportWizard(); - wizard.addPages(); - wizard.createPageControls(new Shell()); - wizardPage = (TaskDataExportWizardPage) wizard.getPage(TaskDataExportWizardPage.PAGE_NAME); - assertNotNull(wizardPage); - - // Create test export destination directory - destinationDir = new File(TasksUiPlugin.getDefault().getDataDirectory() + File.separator + "TestDir"); - if (destinationDir.exists()) { - removeFiles(destinationDir); - } else { - destinationDir.mkdir(); - } - assertTrue(destinationDir.exists()); - - // Create a task and context with an interaction event to be saved - task1 = manager.createNewLocalTask("Export Test Task"); - manager.getTaskList().moveToContainer(task1, manager.getTaskList().getDefaultCategory()); - mockContext = ContextCorePlugin.getContextManager().loadContext(task1.getHandleIdentifier()); - InteractionEvent event = new InteractionEvent(InteractionEvent.Kind.EDIT, "structureKind", "handle", "originId"); - mockContext.parseEvent(event); - ContextCorePlugin.getContextManager().activateContext(mockContext); - - // Save the context file and check that it exists - assertTrue(ContextCorePlugin.getDefault().getContextStore().getContextDirectory().exists()); - ContextCorePlugin.getContextManager().saveContext(mockContext.getHandleIdentifier()); - File taskFile = ContextCorePlugin.getContextManager().getFileForContext(task1.getHandleIdentifier()); - assertTrue(ContextCorePlugin.getContextManager().hasContext(task1.getHandleIdentifier())); - assertTrue(taskFile.exists()); - } - - @Override - protected void tearDown() throws Exception { - removeFiles(destinationDir); - destinationDir.delete(); - assertFalse(destinationDir.exists()); - ContextCorePlugin.getContextManager().deactivateContext(mockContext.getHandleIdentifier()); - super.tearDown(); - } - - /** - * Tests the wizard when it has been asked to export all task data to a zip file - */ - public void testExportAllToZip() throws Exception { - - // Set parameters in the wizard to simulate a user setting them and - // clicking "Finish" - wizardPage.setParameters(true, true, true, true, true, destinationDir.getPath()); - wizard.performFinish(); - - // Check that the task list file was exported - File destZipFile = new File(destinationDir + File.separator + TaskDataExportWizard.getZipFileName()); - assertTrue(destZipFile.exists()); - ZipInputStream zipInputStream = new ZipInputStream(new FileInputStream(destZipFile)); - ArrayList<String> entries = new ArrayList<String>(); - - ZipEntry entry = zipInputStream.getNextEntry(); - while (entry != null) { - entries.add(entry.getName()); - entry = zipInputStream.getNextEntry(); - } - zipInputStream.close(); - assertEquals(3, entries.size()); - assertTrue(entries.contains("tasklist.xml.zip")); - assertTrue(entries.contains("contexts/local-1.xml.zip")); - } - - // /** Tests the wizard when it has been asked to export all task data */ - // public void testExportAll() { - // - // // Set parameters in the wizard to simulate a user setting them and - // // clicking "Finish" - // wizardPage.setParameters(true, true, true, true, false, - // destinationDir.getPath()); - // wizard.performFinish(); - // - // // Check that the task list file was exported - // File destTaskListFile = new File(destinationDir + File.separator + - // TasksUiPlugin.OLD_TASK_LIST_FILE); - // assertTrue(destTaskListFile.exists()); - // - // // Check that the activity history file was exported - // File destActivationHistoryFile = new File(destinationDir + File.separator - // + MylarContextManager.CONTEXT_HISTORY_FILE_NAME + - // MylarContextManager.CONTEXT_FILE_EXTENSION_OLD); - // assertTrue(destActivationHistoryFile.exists()); - // - // // Check that the task context file created in setUp() was exported - // File destTaskContextFile = - // ContextCorePlugin.getContextManager().getFileForContext(task1.getHandleIdentifier()); - // // File destTaskContextFile = new File(destinationDir + File.separator + - // // task1.getContextPath() + MylarContextManager.CONTEXT_FILE_EXTENSION); - // assertTrue(destTaskContextFile.exists()); - // } - - private void removeFiles(File root) { - if (root.isDirectory()) { - for (File file : root.listFiles()) { - if (file.isDirectory()) { - removeFiles(file); - } - file.delete(); - } - } - } -} diff --git a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskDataImportTest.java b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskDataImportTest.java deleted file mode 100644 index 652564b27..000000000 --- a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskDataImportTest.java +++ /dev/null @@ -1,127 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2007 Mylyn project committers 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 - *******************************************************************************/ -package org.eclipse.mylyn.tasks.tests; - -import java.io.File; - -import org.eclipse.mylyn.context.core.ContextCorePlugin; -import org.eclipse.mylyn.context.tests.AbstractContextTest; -import org.eclipse.mylyn.internal.tasks.ui.wizards.TaskDataImportWizard; -import org.eclipse.mylyn.internal.tasks.ui.wizards.TaskDataImportWizardPage; -import org.eclipse.mylyn.tasks.ui.TaskListManager; -import org.eclipse.mylyn.tasks.ui.TasksUiPlugin; -import org.eclipse.swt.widgets.Shell; - -/** - * Test case for the Task Import Wizard - * - * @author Rob Elves - */ -public class TaskDataImportTest extends AbstractContextTest { - - private TaskDataImportWizard wizard = null; - - private TaskDataImportWizardPage wizardPage = null; - - // private String sourceDir = "testdata/taskdataimporttest"; - - // private File sourceDirFile = null; - - private String sourceZipPath = "testdata/taskdataimporttest/mylardata-2007-01-19.zip"; - - private File sourceZipFile = null; - - private TaskListManager manager = TasksUiPlugin.getTaskListManager(); - - @Override - protected void setUp() throws Exception { - super.setUp(); - - // Create the import wizard - wizard = new TaskDataImportWizard(); - wizard.addPages(); - wizard.createPageControls(new Shell()); - wizardPage = (TaskDataImportWizardPage) wizard.getPage(TaskDataImportWizardPage.PAGE_NAME); - assertNotNull(wizardPage); - - manager.resetTaskList(); - assertEquals(2, manager.getTaskList().getRootElements().size()); - - sourceZipFile = TaskTestUtil.getLocalFile(sourceZipPath); - assertTrue(sourceZipFile.exists()); - - // make correct number of categories exist prior to import tests - assertEquals(1, manager.getTaskList().getTaskContainers().size()); - ContextCorePlugin.getContextManager().getActivityMetaContext().reset(); - } - - @Override - protected void tearDown() throws Exception { - ContextCorePlugin.getContextManager().resetActivityHistory(); - TasksUiPlugin.getRepositoryManager().clearRepositories(TasksUiPlugin.getDefault().getRepositoriesFilePath()); - TasksUiPlugin.getTaskListManager().resetTaskList(); - super.tearDown(); - } - - /** - * Tests the wizard when it has been asked to import all task data from a zip file - */ - // XXX: Put Back -// public void testImportRepositoriesZip() { -// TaskList taskList = TasksUiPlugin.getTaskListManager().getTaskList(); -// InteractionContext historyContext = ContextCorePlugin.getContextManager().getActivityMetaContext(); -// assertNotNull(taskList); -// assertNotNull(historyContext); -// assertTrue(taskList.getAllTasks().size() == 0); -// assertTrue(historyContext.getInteractionHistory().size() == 0); -// -// wizardPage.setParameters(true, true, true, true, true, "", sourceZipFile.getPath()); -// wizard.performFinish(); -// -// Collection<AbstractTask> tasks = taskList.getAllTasks(); -// assertEquals(2, tasks.size()); -// for (AbstractTask task : tasks) { -// assertTrue(ContextCorePlugin.getContextManager().hasContext(task.getHandleIdentifier())); -// } -// historyContext = ContextCorePlugin.getContextManager().getActivityMetaContext(); -// assertNotNull(historyContext); -// assertTrue(historyContext.getInteractionHistory().size() > 0); -// assertTrue(TasksUiPlugin.getRepositoryManager().getAllRepositories().size() > 2); -// } - - // XXX: Put Back -// public void testImportOverwritesAllTasks() { -// TaskList taskList = TasksUiPlugin.getTaskListManager().getTaskList(); -// InteractionContext historyContext = ContextCorePlugin.getContextManager().getActivityMetaContext(); -// assertNotNull(taskList); -// assertNotNull(historyContext); -// assertTrue(taskList.getAllTasks().size() == 0); -// assertTrue(historyContext.getInteractionHistory().size() == 0); -// //assertEquals(2, TasksUiPlugin.getRepositoryManager().getAllRepositories().size()); -// -// AbstractTask task1 = new LocalTask("999", "label"); -// taskList.addTask(task1); -// Collection<AbstractTask> tasks = taskList.getAllTasks(); -// assertEquals(1, tasks.size()); -// -// wizardPage.setParameters(true, true, true, true, true, "", sourceZipFile.getPath()); -// wizard.performFinish(); -// -// tasks = taskList.getAllTasks(); -// assertEquals(2, tasks.size()); -// assertTrue(!taskList.getAllTasks().contains(task1)); -// for (AbstractTask task : tasks) { -// assertTrue(ContextCorePlugin.getContextManager().hasContext(task.getHandleIdentifier())); -// } -// historyContext = ContextCorePlugin.getContextManager().getActivityMetaContext(); -// assertNotNull(historyContext); -// assertTrue(historyContext.getInteractionHistory().size() > 0); -// assertTrue(TasksUiPlugin.getRepositoryManager().getAllRepositories().size() > 2); -// } - -} diff --git a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskDataManagerTest.java b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskDataManagerTest.java deleted file mode 100644 index 4e419c170..000000000 --- a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskDataManagerTest.java +++ /dev/null @@ -1,257 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004 - 2006 Mylar committers 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 - *******************************************************************************/ - -package org.eclipse.mylyn.tasks.tests; - -import java.io.IOException; -import java.util.HashSet; -import java.util.Set; - -import junit.framework.TestCase; - -import org.eclipse.core.runtime.CoreException; -import org.eclipse.mylyn.internal.tasks.core.TaskDataManager; -import org.eclipse.mylyn.tasks.core.RepositoryTaskAttribute; -import org.eclipse.mylyn.tasks.core.RepositoryTaskData; -import org.eclipse.mylyn.tasks.tests.connector.MockAttributeFactory; -import org.eclipse.mylyn.tasks.tests.connector.MockRepositoryConnector; -import org.eclipse.mylyn.tasks.ui.TasksUiPlugin; - -/** - * @author Rob Elves - */ -public class TaskDataManagerTest extends TestCase { - - TaskDataManager offlineTaskDataManager; - - @Override - protected void setUp() throws Exception { - super.setUp(); - offlineTaskDataManager = TasksUiPlugin.getTaskDataManager(); - offlineTaskDataManager.clear(); - offlineTaskDataManager.saveNow(); - } - - @Override - protected void tearDown() throws Exception { - super.tearDown(); - if (offlineTaskDataManager != null) { - offlineTaskDataManager.clear(); - offlineTaskDataManager.saveNow(); - } - } - - public void testAdd() throws CoreException { - RepositoryTaskData taskData = new RepositoryTaskData(new MockAttributeFactory(), - MockRepositoryConnector.REPOSITORY_KIND, MockRepositoryConnector.REPOSITORY_URL, "1"); - offlineTaskDataManager.setNewTaskData(taskData); - assertNotNull(offlineTaskDataManager.getNewTaskData(MockRepositoryConnector.REPOSITORY_URL, "1")); - } - - public void testSave() throws CoreException, IOException, ClassNotFoundException { - RepositoryTaskData taskData = new RepositoryTaskData(new MockAttributeFactory(), - MockRepositoryConnector.REPOSITORY_KIND, MockRepositoryConnector.REPOSITORY_URL, "1"); - - RepositoryTaskAttribute attrib1 = new RepositoryTaskAttribute("key", "name", false); - attrib1.putMetaDataValue("key1", "value1"); - attrib1.putMetaDataValue("key2", "value2"); - taskData.addAttribute("key", attrib1); - - assertNotNull(taskData.getAttribute("key")); - - offlineTaskDataManager.setNewTaskData(taskData); - - taskData = new RepositoryTaskData(new MockAttributeFactory(), MockRepositoryConnector.REPOSITORY_KIND, - MockRepositoryConnector.REPOSITORY_URL, "2"); - - RepositoryTaskAttribute attrib2 = new RepositoryTaskAttribute("key", "name", false); - attrib2.putMetaDataValue("key3", "value3"); - attrib2.putMetaDataValue("key4", "value4"); - taskData.addAttribute("key", attrib2); - - assertNotNull(taskData.getAttribute("key")); - - offlineTaskDataManager.setNewTaskData(taskData); - - RepositoryTaskData loaded = offlineTaskDataManager.getNewTaskData(MockRepositoryConnector.REPOSITORY_URL, "1"); - assertNotNull(loaded); - RepositoryTaskAttribute atr = loaded.getAttribute("key"); - assertNotNull(atr); - assertEquals("value1", atr.getMetaDataValue("key1")); - assertEquals("value2", atr.getMetaDataValue("key2")); - - loaded = offlineTaskDataManager.getNewTaskData(MockRepositoryConnector.REPOSITORY_URL, "2"); - assertNotNull(loaded); - atr = loaded.getAttribute("key"); - assertNotNull(atr); - - assertEquals("value3", atr.getMetaDataValue("key3")); - assertEquals("value4", atr.getMetaDataValue("key4")); - - offlineTaskDataManager.saveNow(); - offlineTaskDataManager.remove(MockRepositoryConnector.REPOSITORY_URL, "1"); - offlineTaskDataManager.remove(MockRepositoryConnector.REPOSITORY_URL, "2"); - - assertNull(offlineTaskDataManager.getNewTaskData(MockRepositoryConnector.REPOSITORY_URL, "1")); - assertNull(offlineTaskDataManager.getNewTaskData(MockRepositoryConnector.REPOSITORY_URL, "2")); - - } - - public void testGetNextOfflineBugId() throws IOException, ClassNotFoundException { - assertEquals("1", offlineTaskDataManager.getNewRepositoryTaskId()); - assertEquals("2", offlineTaskDataManager.getNewRepositoryTaskId()); - offlineTaskDataManager.saveNow(); - offlineTaskDataManager.clear(); // currently resets new task id - assertEquals("1", offlineTaskDataManager.getNewRepositoryTaskId()); - } - -// public void testGetTaskData() throws CoreException, IOException, ClassNotFoundException { -// RepositoryTaskData taskData = new RepositoryTaskData(new MockAttributeFactory(), -// MockRepositoryConnector.REPOSITORY_KIND, MockRepositoryConnector.REPOSITORY_URL, "1"); -// taskData.setNewComment("version 1"); -// offlineTaskDataManager.setNewTaskData(RepositoryTaskHandleUtil.getHandle(MockRepositoryConnector.REPOSITORY_URL, "1"), -// taskData); -// offlineTaskDataManager.setOldTaskData(RepositoryTaskHandleUtil.getHandle(MockRepositoryConnector.REPOSITORY_URL, "1"), -// taskData); -// assertNotNull(offlineTaskDataManager.getNewTaskData(RepositoryTaskHandleUtil.getHandle( -// MockRepositoryConnector.REPOSITORY_URL, "1"))); -// taskData = new RepositoryTaskData(new MockAttributeFactory(), MockRepositoryConnector.REPOSITORY_KIND, -// MockRepositoryConnector.REPOSITORY_URL, "1"); -// taskData.setNewComment("version 2"); -// offlineTaskDataManager.setNewTaskData(RepositoryTaskHandleUtil.getHandle(MockRepositoryConnector.REPOSITORY_URL, "1"), -// taskData); -// -// offlineTaskDataManager.saveNow(); -// offlineTaskDataManager.clear(); -// offlineTaskDataManager.readOfflineData(); -// assertEquals("version 2", offlineTaskDataManager.getNewTaskData( -// RepositoryTaskHandleUtil.getHandle(MockRepositoryConnector.REPOSITORY_URL, "1")).getNewComment()); -// assertEquals("version 1", offlineTaskDataManager.getOldTaskData(MockRepositoryConnector.REPOSITORY_URL, "1").getNewComment()); -// } - - public void testUniqueCopy() throws Exception { - RepositoryTaskData taskData = new RepositoryTaskData(new MockAttributeFactory(), - MockRepositoryConnector.REPOSITORY_KIND, MockRepositoryConnector.REPOSITORY_URL, "1"); - offlineTaskDataManager.setNewTaskData(taskData); - RepositoryTaskData taskData2 = offlineTaskDataManager.getEditableCopy(MockRepositoryConnector.REPOSITORY_URL, - "1"); - assertNotNull(taskData2); - taskData2.setNewComment("test"); - taskData = null; - taskData = offlineTaskDataManager.getNewTaskData(MockRepositoryConnector.REPOSITORY_URL, "1"); - assertFalse(taskData.getNewComment().equals("test")); -// taskData = null; -// taskData = offlineTaskDataManager.getOldTaskData(RepositoryTaskHandleUtil.getHandle( -// MockRepositoryConnector.REPOSITORY_URL, "1")); -// assertFalse(taskData.getNewComment().equals("test")); - } - - public void testRemoveRepositoryTaskData() throws CoreException, IOException, ClassNotFoundException { - RepositoryTaskData taskData = new RepositoryTaskData(new MockAttributeFactory(), - MockRepositoryConnector.REPOSITORY_KIND, MockRepositoryConnector.REPOSITORY_URL, "1"); - offlineTaskDataManager.setNewTaskData(taskData); - taskData = new RepositoryTaskData(new MockAttributeFactory(), MockRepositoryConnector.REPOSITORY_KIND, - MockRepositoryConnector.REPOSITORY_URL, "2"); - offlineTaskDataManager.setNewTaskData(taskData); - offlineTaskDataManager.saveNow(); - assertNotNull(offlineTaskDataManager.getNewTaskData(MockRepositoryConnector.REPOSITORY_URL, "1")); - assertNotNull(offlineTaskDataManager.getNewTaskData(MockRepositoryConnector.REPOSITORY_URL, "2")); - offlineTaskDataManager.remove(MockRepositoryConnector.REPOSITORY_URL, "2"); - assertNotNull(offlineTaskDataManager.getNewTaskData(MockRepositoryConnector.REPOSITORY_URL, "1")); - assertNull(offlineTaskDataManager.getNewTaskData(MockRepositoryConnector.REPOSITORY_URL, "2")); - offlineTaskDataManager.saveNow(); - offlineTaskDataManager.clear(); - assertNull(offlineTaskDataManager.getNewTaskData(MockRepositoryConnector.REPOSITORY_URL, "1")); - assertNull(offlineTaskDataManager.getNewTaskData(MockRepositoryConnector.REPOSITORY_URL, "2")); - } - - public void testEditing() { - RepositoryTaskData taskData = new RepositoryTaskData(new MockAttributeFactory(), - MockRepositoryConnector.REPOSITORY_KIND, MockRepositoryConnector.REPOSITORY_URL, "1"); - offlineTaskDataManager.setNewTaskData(taskData); - - assertNotNull(offlineTaskDataManager.getNewTaskData(MockRepositoryConnector.REPOSITORY_URL, "1")); -// assertNotNull(offlineTaskDataManager.getOldTaskData(RepositoryTaskHandleUtil.getHandle( -// MockRepositoryConnector.REPOSITORY_URL, "1"))); - - RepositoryTaskData editData = offlineTaskDataManager.getEditableCopy(MockRepositoryConnector.REPOSITORY_URL, - "1"); - assertNotNull(editData); - editData.setAttributeFactory(new MockAttributeFactory()); - editData.setAttributeValue(RepositoryTaskAttribute.COMMENT_NEW, "new comment"); - // for (RepositoryTaskAttribute attribute: editData.getAttributes()) { - // assertTrue(taskData.getAttribute(attribute.getID()).equals(attribute)); - // } - - Set<RepositoryTaskAttribute> attSave = new HashSet<RepositoryTaskAttribute>(); - attSave.add(editData.getAttribute(RepositoryTaskAttribute.COMMENT_NEW)); - offlineTaskDataManager.saveEdits(MockRepositoryConnector.REPOSITORY_URL, "1", attSave); - - editData = null; - editData = offlineTaskDataManager.getEditableCopy(MockRepositoryConnector.REPOSITORY_URL, "1"); - assertNotNull(editData); - assertEquals("new comment", editData.getAttributeValue(RepositoryTaskAttribute.COMMENT_NEW)); - - } - - // /** DND - // * As is will write 81481326 bytes. - // * - // * @throws Exception - // */ - // public void testLargeDataSet() throws Exception { - // RepositoryTaskData taskData; - // for (int x = 1; x < 500; x++) { - // taskData = new RepositoryTaskData(new MockAttributeFactory(), - // MockRepositoryConnector.REPOSITORY_KIND, - // MockRepositoryConnector.REPOSITORY_URL, "" + x); - // - // for (int y = 1; y < 60; y++) { - // RepositoryTaskAttribute attribute = new RepositoryTaskAttribute("" + y, - // "" + y, false); - // for (int z = 1; z < 10; z++) { - // attribute.addOption("" + z, "" + z); - // attribute.addValue("" + z); - // } - // taskData.addAttribute("" + y, attribute); - // } - // - // for (int y = 1; y < 5; y++) { - // RepositoryOperation op = new RepositoryOperation("" + y, "" + y); - // taskData.addOperation(op); - // } - // - // try { - // for (int y = 1; y < 1000; y++) { - // TaskComment comment = new TaskComment(new MockAttributeFactory(), y); - // comment.setAttributeValue(RepositoryTaskAttribute.COMMENT_TEXT, "Testing - // \u05D0"); - // taskData.addComment(comment); - // } - // } catch (StackOverflowError e) { - // e.printStackTrace(); - // } - // - // // for(int y = 1; y < 1000; y++) { - // // RepositoryAttachment attachment = new - // // RepositoryAttachment(repository, new MockAttributeFactory()); - // // taskData.addAttachment(attachment); - // // } - // - // offlineTaskDataManager.put(taskData); - // offlineTaskDataManager.put(taskData); - // } - // offlineTaskDataManager.save(); - // File file = - // TasksUiPlugin.getDefault().getOfflineReportsFilePath().toFile(); - // offlineTaskDataManager.clear(); - // offlineTaskDataManager.readOfflineData(); - // assertNotNull(offlineTaskDataManager.getOldTaskData(AbstractTask.getHandle( - // MockRepositoryConnector.REPOSITORY_URL, 400))); - // } -} diff --git a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskHistoryTest.java b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskHistoryTest.java deleted file mode 100644 index d5884a1c1..000000000 --- a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskHistoryTest.java +++ /dev/null @@ -1,242 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2007 Mylyn project committers 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 - *******************************************************************************/ - -package org.eclipse.mylyn.tasks.tests; - -import java.util.List; - -import junit.framework.TestCase; - -import org.eclipse.mylyn.context.core.ContextCorePlugin; -import org.eclipse.mylyn.internal.tasks.ui.actions.ActivateTaskHistoryDropDownAction; -import org.eclipse.mylyn.internal.tasks.ui.actions.TaskActivateAction; -import org.eclipse.mylyn.internal.tasks.ui.actions.TaskDeactivateAction; -import org.eclipse.mylyn.internal.tasks.ui.actions.TaskNavigateDropDownAction.TaskNavigateAction; -import org.eclipse.mylyn.internal.tasks.ui.views.TaskActivationHistory; -import org.eclipse.mylyn.internal.tasks.ui.views.TaskListView; -import org.eclipse.mylyn.tasks.core.AbstractTask; -import org.eclipse.mylyn.tasks.ui.TaskListManager; -import org.eclipse.mylyn.tasks.ui.TasksUiPlugin; - -/** - * @author Wes Coelho - * @author Rob Elves - */ -public class TaskHistoryTest extends TestCase { - - protected TaskListManager manager = TasksUiPlugin.getTaskListManager(); - - protected TaskActivationHistory history; - - protected TaskListView taskView = null; - - protected AbstractTask task1 = null; - - protected AbstractTask task2 = null; - - protected AbstractTask task3 = null; - - protected AbstractTask task4 = null; - - protected AbstractTask task5 = null; - - @Override - protected void setUp() throws Exception { - super.setUp(); - - taskView = TaskListView.openInActivePerspective(); - - resetHistory(); - - task1 = manager.createNewLocalTask("task 1"); - manager.getTaskList().moveToContainer(task1, manager.getTaskList().getDefaultCategory()); - - task2 = manager.createNewLocalTask("task 2"); - manager.getTaskList().moveToContainer(task2, manager.getTaskList().getDefaultCategory()); - - task3 = manager.createNewLocalTask("task 3"); - manager.getTaskList().moveToContainer(task3, manager.getTaskList().getDefaultCategory()); - - task4 = manager.createNewLocalTask("task 4"); - manager.getTaskList().moveToContainer(task4, manager.getTaskList().getDefaultCategory()); - - task5 = manager.createNewLocalTask("task 5"); - manager.getTaskList().moveToContainer(task5, manager.getTaskList().getDefaultCategory()); - - history = manager.getTaskActivationHistory(); - } - - private void resetHistory() { - manager.getTaskActivationHistory().clear(); - ContextCorePlugin.getContextManager().resetActivityHistory(); - } - - /** - * Tests the next task and previous task navigation. - */ - public void testBasicHistoryNavigation() { - (new TaskActivateAction()).run(task1); - history.addTask(task1); - (new TaskActivateAction()).run(task2); - history.addTask(task2); - (new TaskActivateAction()).run(task3); - history.addTask(task3); - - assertTrue(task3.isActive()); - assertFalse(task2.isActive()); - - taskView.getPreviousTaskAction().run(); - assertTrue(task2.isActive()); - - taskView.getPreviousTaskAction().run(); - assertTrue(task1.isActive()); - - taskView.getPreviousTaskAction().run(); - assertTrue(task1.isActive()); - - // taskView.getPreviousTaskAction().run(); - // assertTrue(task1.isActive()); - // - // taskView.getPreviousTaskAction().run(); - // assertTrue(task1.isActive()); - - // taskView.getNextTaskAction().run(); - // assertTrue(task2.isActive()); - // - // taskView.getNextTaskAction().run(); - // assertTrue(task3.isActive()); - // - // taskView.getNextTaskAction().run(); - // assertTrue(task3.isActive()); - // - // taskView.getPreviousTaskAction().run(); - // assertTrue(task2.isActive()); - // - // taskView.getNextTaskAction().run(); - // assertTrue(task3.isActive()); - // - // (new TaskActivateAction()).run(task4); - // history.addTask(task4); // Simulate clicking on it rather - // // than navigating next or previous - // assertTrue(task4.isActive()); - // - // taskView.getNextTaskAction().run(); - // assertTrue(task4.isActive()); - // - // taskView.getPreviousTaskAction().run(); - // assertTrue(task3.isActive()); - // - // taskView.getNextTaskAction().run(); - // assertTrue(task4.isActive()); - - } - - /** - * Tests navigation to previous/next tasks that are chosen from a list rather than being sequentially navigated - */ - public void testArbitraryHistoryNavigation() { - - resetHistory(); - - // Simulate activating the tasks by clicking rather than - // navigating previous/next - (new TaskActivateAction()).run(task1); - history.addTask(task1); - (new TaskActivateAction()).run(task2); - history.addTask(task2); - (new TaskActivateAction()).run(task3); - history.addTask(task3); - (new TaskActivateAction()).run(task4); - history.addTask(task4); - - assertTrue(task4.isActive()); - //TaskActivationHistory taskHistory = taskView.getTaskActivationHistory(); - List<AbstractTask> prevHistoryList = history.getPreviousTasks(); - - // Check that the previous history list looks right - assertTrue(prevHistoryList.size() >= 3); - assertTrue(prevHistoryList.get(prevHistoryList.size() - 2) == task3); - assertTrue(prevHistoryList.get(prevHistoryList.size() - 3) == task2); - assertTrue(prevHistoryList.get(prevHistoryList.size() - 4) == task1); - - // Get a task from the list and activate it - ActivateTaskHistoryDropDownAction prevAction = new ActivateTaskHistoryDropDownAction(history, false); - TaskNavigateAction navigateAction = prevAction.new TaskNavigateAction(task2); - navigateAction.run(); - assertTrue(task2.isActive()); - - // Now check that the next and prev lists look right - prevHistoryList = history.getPreviousTasks(); - assertTrue(prevHistoryList.get(prevHistoryList.size() - 1) == task2); - assertTrue(prevHistoryList.get(prevHistoryList.size() - 2) == task4); - assertTrue(prevHistoryList.get(prevHistoryList.size() - 3) == task3); - assertTrue(prevHistoryList.get(prevHistoryList.size() - 4) == task1); - - // Activation of task outside of history navigation tool - history.addTask(task3); - prevHistoryList = history.getPreviousTasks(); - assertTrue(prevHistoryList.get(prevHistoryList.size() - 1) == task3); - assertTrue(prevHistoryList.get(prevHistoryList.size() - 2) == task2); - assertTrue(prevHistoryList.get(prevHistoryList.size() - 3) == task4); - assertTrue(prevHistoryList.get(prevHistoryList.size() - 4) == task1); - - // Pick a task from drop down history - navigateAction = prevAction.new TaskNavigateAction(task4); - navigateAction.run(); - assertTrue(task4.isActive()); - assertTrue(prevHistoryList.get(prevHistoryList.size() - 1) == task4); - assertTrue(prevHistoryList.get(prevHistoryList.size() - 2) == task3); - assertTrue(prevHistoryList.get(prevHistoryList.size() - 3) == task2); - assertTrue(prevHistoryList.get(prevHistoryList.size() - 4) == task1); - - // Hit previous task button - taskView.getPreviousTaskAction().run(); - assertTrue(task3.isActive()); - assertTrue(prevHistoryList.get(prevHistoryList.size() - 1) == task4); - assertTrue(prevHistoryList.get(prevHistoryList.size() - 2) == task3); - assertTrue(prevHistoryList.get(prevHistoryList.size() - 3) == task2); - assertTrue(prevHistoryList.get(prevHistoryList.size() - 4) == task1); - - (new TaskDeactivateAction()).run(task3); - - // List<ITask> nextHistoryList = taskHistory.getNextTasks(); - // assertTrue(nextHistoryList.get(0) == task3); - // assertTrue(nextHistoryList.get(1) == task4); - // - // // Navigate to a next item - // NextTaskDropDownAction nextAction = new - // NextTaskDropDownAction(taskView, taskHistory); - // navigateAction = nextAction.new TaskNavigateAction(task4); - // navigateAction.run(); - // taskHistory.navigatedToTask(task4); - // - // assertTrue(task4.isActive()); - // - // // Check that the prev and next lists look right - // nextHistoryList = taskHistory.getNextTasks(); - // prevHistoryList = taskHistory.getPreviousTasks(); - // assertTrue(nextHistoryList.size() == 0); - // assertTrue(prevHistoryList.get(prevHistoryList.size() - 1) == task3); - // assertTrue(prevHistoryList.get(prevHistoryList.size() - 2) == task2); - // assertTrue(prevHistoryList.get(prevHistoryList.size() - 3) == task1); - // - // // Check that a deactivated task appears first on the history list - // (new TaskActivateAction()).run(task5); - // (new TaskDeactivateAction()).run(task5); - // taskView.addTaskToHistory(task5); - // prevHistoryList = taskHistory.getPreviousTasks(); - // assertTrue(prevHistoryList.get(prevHistoryList.size() - 1) == task5); - - } - - @Override - protected void tearDown() throws Exception { - super.tearDown(); - } - -} diff --git a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskKeyComparatorTest.java b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskKeyComparatorTest.java deleted file mode 100644 index ee7be632d..000000000 --- a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskKeyComparatorTest.java +++ /dev/null @@ -1,61 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2007 Mylyn project committers 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 - *******************************************************************************/ - -package org.eclipse.mylyn.tasks.tests; - -import java.util.Arrays; - -import junit.framework.TestCase; - -import org.eclipse.mylyn.internal.tasks.ui.views.TaskKeyComparator; - -/** - * @author Eugene Kuleshov https://bugs.eclipse.org/bugs/show_bug.cgi?taskId=129511 - * @author Mik Kersten - */ -public class TaskKeyComparatorTest extends TestCase { - - public void testPatterns() { - comparisonCheck("", new String[] { null, null, "" }); - comparisonCheck(" ", new String[] { null, null, " " }); - comparisonCheck("aa", new String[] { null, null, "aa" }); - comparisonCheck("11", new String[] { "", "11", "" }); - comparisonCheck("11 aa", new String[] { "", "11", " aa" }); - comparisonCheck(" 11 aa", new String[] { null, null, " 11 aa" }); - comparisonCheck("aa11 bb", new String[] { "aa", "11", " bb" }); - comparisonCheck("aa-11 bb", new String[] { "aa-", "11", " bb" }); - comparisonCheck("aa 11 bb", new String[] { null, null, "aa 11 bb" }); - comparisonCheck("aa bb 11 cc", new String[] { null, null, "aa bb 11 cc" }); - - comparisonCheck("aa", "aa", 0); - comparisonCheck("aa", "bb", -1); - comparisonCheck("bb", "aa", 1); - - comparisonCheck("aa11", "aa11", 0); - comparisonCheck("aa11", "aa12", -1); - comparisonCheck("aa12", "aa11", 1); - - comparisonCheck("aa1", "aa11", -1); - comparisonCheck("aa1", "aa2", -1); - comparisonCheck("aa1", "aa21", -1); - - comparisonCheck("aa1 aaa", "aa1 aaa", 0); - comparisonCheck("aa1 aaa", "aa1 bbb", -1); - comparisonCheck("aa1 bbb", "aa11 aaa", -1); - } - - private void comparisonCheck(String s, String[] exptecation) { - String[] res = new TaskKeyComparator().split(s); - assertTrue("Invalid " + Arrays.asList(res) + " " + Arrays.asList(exptecation), Arrays.equals(res, exptecation)); - } - - public void comparisonCheck(String s1, String s2, int n) { - assertEquals(n, new TaskKeyComparator().compare(s1, s2)); - } - -} diff --git a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskList06DataMigrationTest.java b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskList06DataMigrationTest.java deleted file mode 100644 index 4f62d4f7a..000000000 --- a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskList06DataMigrationTest.java +++ /dev/null @@ -1,323 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004 - 2006 Mylar committers 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 - *******************************************************************************/ - -package org.eclipse.mylyn.tasks.tests; - -import java.io.File; -import java.lang.reflect.InvocationTargetException; -import java.net.URLEncoder; -import java.util.ArrayList; - -import junit.framework.TestCase; - -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.core.runtime.NullProgressMonitor; -import org.eclipse.core.runtime.SubProgressMonitor; -import org.eclipse.jface.operation.IRunnableWithProgress; -import org.eclipse.mylyn.internal.context.core.InteractionContextManager; -import org.eclipse.mylyn.internal.monitor.core.util.ZipFileUtil; -import org.eclipse.mylyn.internal.tasks.ui.ITasksUiConstants; -import org.eclipse.mylyn.internal.tasks.ui.WorkspaceAwareContextStore; -import org.eclipse.mylyn.monitor.core.StatusHandler; -import org.eclipse.mylyn.tasks.core.TaskRepositoryManager; -import org.eclipse.mylyn.tasks.ui.TasksUiPlugin; - -/** - * Tests unused code that was live up to Mylar 1.0.1, {@link TasksUiPlugin} - * - * @author Rob Elves - */ -public class TaskList06DataMigrationTest extends TestCase { - - private String sourceDir = "testdata/tasklistdatamigrationtest"; - - private File sourceDirFile; - - private TaskListDataMigration migrator; - - @Override - protected void setUp() throws Exception { - super.setUp(); - sourceDirFile = TaskTestUtil.getLocalFile(sourceDir); - assertNotNull(sourceDirFile); - deleteAllFiles(sourceDirFile); - migrator = new TaskListDataMigration(sourceDirFile); - assertTrue(sourceDirFile.exists()); - } - - @Override - protected void tearDown() throws Exception { - super.tearDown(); - deleteAllFiles(sourceDirFile); - } - - public void testOldTasklistMigration() throws Exception { - File oldTasklistFile = new File(sourceDirFile, "tasklist.xml"); - oldTasklistFile.createNewFile(); - assertTrue(new File(sourceDirFile, "tasklist.xml").exists()); - assertTrue(!new File(sourceDirFile, "tasklist.xml.zip").exists()); - assertTrue(migrator.migrateTaskList(new NullProgressMonitor())); - assertFalse(new File(sourceDirFile, "tasklist.xml").exists()); - assertFalse(!new File(sourceDirFile, "tasklist.xml.zip").exists()); - } - - public void testOldRepositoriesMigration() throws Exception { - File oldRepositoriesFile = new File(sourceDirFile, "repositories.xml"); - oldRepositoriesFile.createNewFile(); - assertTrue(new File(sourceDirFile, "repositories.xml").exists()); - assertTrue(!new File(sourceDirFile, "repositories.xml.zip").exists()); - assertTrue(migrator.migrateRepositoriesData(new NullProgressMonitor())); - assertFalse(new File(sourceDirFile, "repositories.xml").exists()); - assertTrue(new File(sourceDirFile, "repositories.xml.zip").exists()); - } - - public void testOldContextMigration() throws Exception { - String contextFileName1 = URLEncoder.encode("http://oldcontext1.xml", - InteractionContextManager.CONTEXT_FILENAME_ENCODING); - String contextFileName2 = URLEncoder.encode("http://oldcontext2.xml", - InteractionContextManager.CONTEXT_FILENAME_ENCODING); - String contextFileName3 = "task-1.xml"; - File oldContextFile1 = new File(sourceDirFile, contextFileName1); - oldContextFile1.createNewFile(); - File oldContextFile2 = new File(sourceDirFile, contextFileName2); - oldContextFile2.createNewFile(); - File oldContextFile3 = new File(sourceDirFile, contextFileName3); - oldContextFile3.createNewFile(); - File contextFolder = new File(sourceDirFile, WorkspaceAwareContextStore.CONTEXTS_DIRECTORY); - assertTrue(!contextFolder.exists()); - assertTrue(migrator.migrateTaskContextData(new NullProgressMonitor())); - assertFalse(oldContextFile1.exists()); - assertFalse(oldContextFile2.exists()); - assertFalse(oldContextFile3.exists()); - assertTrue(contextFolder.exists()); - assertTrue(new File(contextFolder, contextFileName1 + ".zip").exists()); - assertTrue(new File(contextFolder, contextFileName2 + ".zip").exists()); - assertTrue(new File(contextFolder, contextFileName3 + ".zip").exists()); - } - - public void testOldActivityMigration() throws Exception { - File oldActivityFile = new File(sourceDirFile, InteractionContextManager.OLD_CONTEXT_HISTORY_FILE_NAME - + InteractionContextManager.CONTEXT_FILE_EXTENSION_OLD); - oldActivityFile.createNewFile(); - File contextFolder = new File(sourceDirFile, WorkspaceAwareContextStore.CONTEXTS_DIRECTORY); - assertTrue(!contextFolder.exists()); - assertTrue(migrator.migrateActivityData(new NullProgressMonitor())); - assertFalse(oldActivityFile.exists()); - assertTrue(contextFolder.exists()); - assertTrue(new File(contextFolder, InteractionContextManager.CONTEXT_HISTORY_FILE_NAME - + InteractionContextManager.CONTEXT_FILE_EXTENSION).exists()); - } - - private void deleteAllFiles(File folder) { - for (File file : folder.listFiles()) { - if (file.isDirectory()) { - if (!file.getName().equals("CVS")) { - deleteAllFiles(file); - file.delete(); - } - } else if (!file.getName().equals("empty.txt")) { - file.delete(); - } - } - } -} - -class TaskListDataMigration implements IRunnableWithProgress { - - private File dataDirectory = null; - - public TaskListDataMigration(File sourceFolder) { - this.dataDirectory = sourceFolder; - } - - public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException { - try { - monitor.beginTask("Task Data Migration", IProgressMonitor.UNKNOWN); - doMigration(monitor); - } finally { - - } - } - - public void doMigration(IProgressMonitor monitor) { - try { - if (dataDirectory == null || !dataDirectory.exists()) - return; - monitor.beginTask("Mylar Data Migration", 4); - migrateTaskList(new SubProgressMonitor(monitor, IProgressMonitor.UNKNOWN)); - monitor.worked(1); - migrateRepositoriesData(new SubProgressMonitor(monitor, IProgressMonitor.UNKNOWN)); - monitor.worked(1); - migrateTaskContextData(new SubProgressMonitor(monitor, IProgressMonitor.UNKNOWN)); - monitor.worked(1); - migrateActivityData(new SubProgressMonitor(monitor, IProgressMonitor.UNKNOWN)); - monitor.worked(1); - } finally { - monitor.done(); - } - } - - public boolean migrateTaskList(IProgressMonitor monitor) { - File oldTasklistFile = new File(dataDirectory, ITasksUiConstants.OLD_TASK_LIST_FILE); - File newTasklistFile = new File(dataDirectory, ITasksUiConstants.DEFAULT_TASK_LIST_FILE); - if (!oldTasklistFile.exists()) - return false; - if (newTasklistFile.exists()) { - if (!newTasklistFile.delete()) { - StatusHandler.fail(null, "Could not overwrite tasklist", false); - return false; - } - } - ArrayList<File> filesToZip = new ArrayList<File>(); - filesToZip.add(oldTasklistFile); - try { - monitor.beginTask("Migrate Tasklist Data", 1); - ZipFileUtil.createZipFile(newTasklistFile, filesToZip, new SubProgressMonitor(monitor, 1)); - if (!oldTasklistFile.delete()) { - StatusHandler.fail(null, "Could not remove old tasklist.", false); - return false; - } - monitor.worked(1); - } catch (Exception e) { - StatusHandler.fail(e, "Error occurred while migrating old tasklist: " + e.getMessage(), true); - return false; - } finally { - monitor.done(); - } - return true; - } - - public boolean migrateRepositoriesData(IProgressMonitor monitor) { - File oldRepositoriesFile = new File(dataDirectory, TaskRepositoryManager.OLD_REPOSITORIES_FILE); - File newRepositoriesFile = new File(dataDirectory, TaskRepositoryManager.DEFAULT_REPOSITORIES_FILE); - if (!oldRepositoriesFile.exists()) - return false; - if (newRepositoriesFile.exists()) { - if (!newRepositoriesFile.delete()) { - StatusHandler.fail(null, - "Could not overwrite repositories file. Check read/write permission on data directory.", false); - return false; - } - } - ArrayList<File> filesToZip = new ArrayList<File>(); - filesToZip.add(oldRepositoriesFile); - try { - monitor.beginTask("Migrate Repository Data", 1); - ZipFileUtil.createZipFile(newRepositoriesFile, filesToZip, new SubProgressMonitor(monitor, 1)); - if (!oldRepositoriesFile.delete()) { - StatusHandler.fail(null, - "Could not remove old repositories file. Check read/write permission on data directory.", false); - return false; - } - monitor.worked(1); - } catch (Exception e) { - StatusHandler.fail(e, "Error occurred while migrating old repositories data: " + e.getMessage(), true); - return false; - } finally { - monitor.done(); - } - return true; - } - - public boolean migrateTaskContextData(IProgressMonitor monitor) { - ArrayList<File> contextFiles = new ArrayList<File>(); - for (File file : dataDirectory.listFiles()) { - if (file.getName().startsWith("http") || file.getName().startsWith("local") - || file.getName().startsWith("task")) { - if (!file.getName().endsWith(".zip")) { - contextFiles.add(file); - } - } - } - - try { - monitor.beginTask("Task Context Migration", contextFiles.size()); - - File contextsFolder = new File(dataDirectory, WorkspaceAwareContextStore.CONTEXTS_DIRECTORY); - if (!contextsFolder.exists()) { - if (!contextsFolder.mkdir()) { - StatusHandler.fail(null, - "Could not create contexts folder. Check read/write permission on data directory.", false); - return false; - } - } - for (File file : contextFiles) { - ArrayList<File> filesToZip = new ArrayList<File>(); - filesToZip.add(file); - File newContextFile = new File(contextsFolder, file.getName() + ".zip"); - if (newContextFile.exists()) { - if (!newContextFile.delete()) { - StatusHandler.fail(null, - "Could not overwrite context file. Check read/write permission on data directory.", - false); - return false; - } - } - ZipFileUtil.createZipFile(newContextFile, filesToZip, new SubProgressMonitor(monitor, 1)); - if (!file.delete()) { - StatusHandler.fail(null, - "Could not remove old context file. Check read/write permission on data directory.", false); - return false; - } - monitor.worked(1); - } - } catch (Exception e) { - StatusHandler.fail(e, "Error occurred while migrating old repositories data: " + e.getMessage(), true); - return false; - } finally { - monitor.done(); - } - return true; - } - - public boolean migrateActivityData(IProgressMonitor monitor) { - File oldActivityFile = new File(dataDirectory, InteractionContextManager.OLD_CONTEXT_HISTORY_FILE_NAME - + InteractionContextManager.CONTEXT_FILE_EXTENSION_OLD); - if (!oldActivityFile.exists()) - return false; - - File contextsFolder = new File(dataDirectory, WorkspaceAwareContextStore.CONTEXTS_DIRECTORY); - if (!contextsFolder.exists()) { - if (!contextsFolder.mkdir()) { - StatusHandler.fail(null, - "Could not create contexts folder. Check read/write permission on data directory.", false); - return false; - } - } - - File newActivityFile = new File(contextsFolder, InteractionContextManager.CONTEXT_HISTORY_FILE_NAME - + InteractionContextManager.CONTEXT_FILE_EXTENSION); - - if (newActivityFile.exists()) { - if (!newActivityFile.delete()) { - StatusHandler.fail(null, - "Could not overwrite activity file. Check read/write permission on data directory.", false); - return false; - } - } - ArrayList<File> filesToZip = new ArrayList<File>(); - filesToZip.add(oldActivityFile); - try { - monitor.beginTask("Migrate Activity Data", 1); - ZipFileUtil.createZipFile(newActivityFile, filesToZip, new SubProgressMonitor(monitor, 1)); - if (!oldActivityFile.delete()) { - StatusHandler.fail(null, - "Could not remove old activity file. Check read/write permission on data directory.", false); - return false; - } - monitor.worked(1); - } catch (Exception e) { - StatusHandler.fail(e, "Error occurred while migrating old activity data: " + e.getMessage(), true); - return false; - } finally { - monitor.done(); - } - return true; - } - -} diff --git a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskListBackupManagerTest.java b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskListBackupManagerTest.java deleted file mode 100644 index 1a793f486..000000000 --- a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskListBackupManagerTest.java +++ /dev/null @@ -1,97 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2007 Mylyn project committers 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 - *******************************************************************************/ - -package org.eclipse.mylyn.tasks.tests; - -import java.io.File; -import java.io.IOException; -import java.lang.reflect.InvocationTargetException; - -import junit.framework.TestCase; - -import org.eclipse.mylyn.internal.tasks.core.LocalTask; -import org.eclipse.mylyn.internal.tasks.ui.TaskListBackupManager; -import org.eclipse.mylyn.internal.tasks.ui.TasksUiPreferenceConstants; -import org.eclipse.mylyn.tasks.core.AbstractTask; -import org.eclipse.mylyn.tasks.ui.TasksUiPlugin; - -/** - * @author Rob Elves - */ -public class TaskListBackupManagerTest extends TestCase { - - private AbstractTask task1; - - @Override - protected void setUp() throws Exception { - super.setUp(); - task1 = new LocalTask("handle", "label"); - TasksUiPlugin.getTaskListManager().getTaskList().addTask(task1); - TasksUiPlugin.getTaskListManager().activateTask(task1); - TasksUiPlugin.getTaskListManager().deactivateTask(task1); - TasksUiPlugin.getTaskListManager().saveTaskList(); - } - - @Override - protected void tearDown() throws Exception { - super.tearDown(); - // MylarTaskListPlugin.getMylarCorePrefs().setValue(TaskListPreferenceConstants.BACKUP_AUTOMATICALLY, - // false); - } - - public void testAutoBackupDisabled() throws InterruptedException { - TaskListBackupManager backupManager = TasksUiPlugin.getDefault().getBackupManager(); - // MylarTaskListPlugin.getMylarCorePrefs().setValue(TaskListPreferenceConstants.BACKUP_AUTOMATICALLY, - // false); - TasksUiPlugin.getDefault().getPreferenceStore().setValue(TasksUiPreferenceConstants.BACKUP_SCHEDULE, 1); - TasksUiPlugin.getDefault().getPreferenceStore().setValue(TasksUiPreferenceConstants.BACKUP_LAST, 0f); - assertEquals(0, TasksUiPlugin.getDefault().getPreferenceStore().getLong(TasksUiPreferenceConstants.BACKUP_LAST)); - backupManager.start(5); - Thread.sleep(3000); - assertEquals(0, TasksUiPlugin.getDefault().getPreferenceStore().getLong(TasksUiPreferenceConstants.BACKUP_LAST)); - } - - public void testAutoBackupEnabled() throws InterruptedException, InvocationTargetException, IOException { - TaskListBackupManager backupManager = TasksUiPlugin.getDefault().getBackupManager(); - String backupFolder = TasksUiPlugin.getDefault().getBackupFolderPath(); - // String backupFolder = - // MylarTaskListPlugin.getMylarCorePrefs().getDefaultString( - // TaskListPreferenceConstants.BACKUP_FOLDER); - File backupFileFolder = new File(backupFolder); - deleteBackupFolder(backupFileFolder); - // MylarTaskListPlugin.getMylarCorePrefs().setValue(TaskListPreferenceConstants.BACKUP_FOLDER, - // backupFolder); - TasksUiPlugin.getDefault().getPreferenceStore().setValue(TasksUiPreferenceConstants.BACKUP_SCHEDULE, 1); - TasksUiPlugin.getDefault().getPreferenceStore().setValue(TasksUiPreferenceConstants.BACKUP_LAST, 0f); - // MylarTaskListPlugin.getMylarCorePrefs().setValue(TaskListPreferenceConstants.BACKUP_AUTOMATICALLY, - // true); - backupManager.backupNow(true); - assertFalse(TasksUiPlugin.getDefault().getPreferenceStore().getLong(TasksUiPreferenceConstants.BACKUP_LAST) == 0); - assertTrue(backupFileFolder.exists()); - assertTrue(backupFileFolder.isDirectory()); - assertTrue(backupFileFolder.listFiles().length == 1); - - // Test removal of old backups - TasksUiPlugin.getDefault().getPreferenceStore().setValue(TasksUiPreferenceConstants.BACKUP_MAXFILES, 0); - backupManager.removeOldBackups(backupFileFolder); - assertEquals(0, backupFileFolder.listFiles().length); - - // TODO: Test that OLDEST backups are deleted first. - - } - - private void deleteBackupFolder(File backupFileFolder) { - if (backupFileFolder.exists()) { - for (File file : backupFileFolder.listFiles()) { - file.delete(); - } - backupFileFolder.delete(); - } - } - -} diff --git a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskListContentProviderTest.java b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskListContentProviderTest.java deleted file mode 100644 index 6cb4b7e6b..000000000 --- a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskListContentProviderTest.java +++ /dev/null @@ -1,63 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004 - 2006 Mylar committers 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 - *******************************************************************************/ - -package org.eclipse.mylyn.tasks.tests; - -import junit.framework.TestCase; - -import org.eclipse.mylyn.internal.tasks.core.LocalTask; -import org.eclipse.mylyn.internal.tasks.ui.TasksUiPreferenceConstants; -import org.eclipse.mylyn.internal.tasks.ui.views.TaskListContentProvider; -import org.eclipse.mylyn.internal.tasks.ui.views.TaskListView; -import org.eclipse.mylyn.tasks.core.AbstractTask; -import org.eclipse.mylyn.tasks.core.TaskList; -import org.eclipse.mylyn.tasks.ui.TasksUiPlugin; - -/** - * @author Felix Schwarz - */ -public class TaskListContentProviderTest extends TestCase { - - private TaskListContentProvider provider; - - private TaskListView view; - - private TaskList taskList; - - @Override - protected void setUp() throws Exception { - super.setUp(); - TaskListView.openInActivePerspective(); - view = TaskListView.getFromActivePerspective(); - provider = (TaskListContentProvider) view.getViewer().getContentProvider(); - TasksUiPlugin.getDefault().getPreferenceStore().setValue(TasksUiPreferenceConstants.FILTER_SUBTASKS, false); - view.clearFilters(true); - view.addFilter(view.getCompleteFilter()); - taskList = TasksUiPlugin.getTaskListManager().getTaskList(); - } - - @Override - protected void tearDown() throws Exception { - view.clearFilters(true); - super.tearDown(); - } - - public void testHasChildren() { - - AbstractTask parent = new LocalTask("parent", "parent label"); - AbstractTask completedChild = new LocalTask("completed child", "completed child label"); - completedChild.setCompleted(true); - taskList.addTask(completedChild, parent); - assertFalse(provider.hasChildren(parent)); - - AbstractTask incompleteChild = new LocalTask("incomplete child", "incomplete child label"); - incompleteChild.setCompleted(false); - taskList.addTask(incompleteChild, parent); - assertTrue(provider.hasChildren(parent)); - } -} diff --git a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskListDnDTest.java b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskListDnDTest.java deleted file mode 100644 index 7c422a8f9..000000000 --- a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskListDnDTest.java +++ /dev/null @@ -1,74 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2007 Mylyn project committers 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 - *******************************************************************************/ - -package org.eclipse.mylyn.tasks.tests; - -import java.util.Set; - -import junit.framework.TestCase; - -import org.eclipse.jface.viewers.TreeViewer; -import org.eclipse.mylyn.internal.tasks.ui.views.TaskListDropAdapter; -import org.eclipse.mylyn.internal.tasks.ui.views.TaskListView; -import org.eclipse.mylyn.tasks.core.AbstractTask; -import org.eclipse.mylyn.tasks.ui.TaskListManager; -import org.eclipse.mylyn.tasks.ui.TasksUiPlugin; - -/** - * @author Rob Elves - * @author Mik Kersten - */ -public class TaskListDnDTest extends TestCase { - - private TaskListDropAdapter dropAdapter; - - private TaskListManager manager; - - @Override - protected void setUp() throws Exception { - manager = TasksUiPlugin.getTaskListManager(); - manager.resetTaskList(); - - TreeViewer viewer = TaskListView.getFromActivePerspective().getViewer(); - assertNotNull(viewer); - dropAdapter = new TaskListDropAdapter(viewer); - } - - @Override - protected void tearDown() throws Exception { - super.tearDown(); - manager.resetTaskList(); - manager.saveTaskList(); - assertNull(manager.getTaskList().getActiveTask()); - } - - public void testisUrl() { - String url = "http://eclipse.org"; - String title = "Title"; - String urlData = url + "\n" + title; - assertFalse(dropAdapter.isUrl(title)); - assertTrue(dropAdapter.isUrl(url)); - assertTrue(dropAdapter.isUrl(urlData)); - } - - public void testUrlDrop() { - assertEquals(0, manager.getTaskList().getDefaultCategory().getChildren().size()); - String url = "http://eclipse.org/mylar"; - String title = "Mylar Technology Project"; - String urlData = url + "\n" + title; - - dropAdapter.performDrop(urlData); - Set<AbstractTask> tasks = manager.getTaskList().getDefaultCategory().getChildren(); - assertNotNull(tasks); - assertEquals(1, tasks.size()); - assertEquals(url, tasks.iterator().next().getUrl()); - - // TODO: Failing due to asynchronous retrieval of title from url - // assertEquals(title, tasks.get(0).getDescription(false)); - } -} diff --git a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskListManagerTest.java b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskListManagerTest.java deleted file mode 100644 index 23f2f494a..000000000 --- a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskListManagerTest.java +++ /dev/null @@ -1,918 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2007 Mylyn project committers 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 - *******************************************************************************/ - -package org.eclipse.mylyn.tasks.tests; - -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.Calendar; -import java.util.Collection; -import java.util.Date; -import java.util.HashSet; -import java.util.Iterator; -import java.util.List; -import java.util.Set; - -import junit.framework.TestCase; - -import org.eclipse.mylyn.context.core.ContextCorePlugin; -import org.eclipse.mylyn.internal.tasks.core.LocalTask; -import org.eclipse.mylyn.internal.tasks.core.RepositoryTaskHandleUtil; -import org.eclipse.mylyn.internal.tasks.core.TaskCategory; -import org.eclipse.mylyn.internal.tasks.core.UnfiledCategory; -import org.eclipse.mylyn.internal.tasks.ui.ScheduledTaskListSynchJob; -import org.eclipse.mylyn.internal.tasks.ui.TaskListSynchronizationScheduler; -import org.eclipse.mylyn.internal.tasks.ui.TasksUiPreferenceConstants; -import org.eclipse.mylyn.internal.tasks.ui.actions.MarkTaskReadAction; -import org.eclipse.mylyn.internal.tasks.ui.actions.MarkTaskUnreadAction; -import org.eclipse.mylyn.tasks.core.AbstractRepositoryQuery; -import org.eclipse.mylyn.tasks.core.AbstractTask; -import org.eclipse.mylyn.tasks.core.AbstractTaskCategory; -import org.eclipse.mylyn.tasks.core.AbstractTaskContainer; -import org.eclipse.mylyn.tasks.core.RepositoryTaskData; -import org.eclipse.mylyn.tasks.core.TaskList; -import org.eclipse.mylyn.tasks.core.TaskRepository; -import org.eclipse.mylyn.tasks.core.AbstractTask.RepositoryTaskSyncState; -import org.eclipse.mylyn.tasks.tests.connector.MockAttributeFactory; -import org.eclipse.mylyn.tasks.tests.connector.MockRepositoryConnector; -import org.eclipse.mylyn.tasks.tests.connector.MockRepositoryQuery; -import org.eclipse.mylyn.tasks.tests.connector.MockRepositoryTask; -import org.eclipse.mylyn.tasks.ui.TaskListManager; -import org.eclipse.mylyn.tasks.ui.TasksUiPlugin; - -/** - * @author Mik Kersten - */ -public class TaskListManagerTest extends TestCase { - - private TaskListManager manager; - - private TaskRepository repository; - - @Override - protected void setUp() throws Exception { - super.setUp(); - manager = TasksUiPlugin.getTaskListManager(); - manager.resetTaskList(); - manager.readExistingOrCreateNewList(); - - repository = new TaskRepository(MockRepositoryConnector.REPOSITORY_KIND, MockRepositoryConnector.REPOSITORY_URL); - TasksUiPlugin.getRepositoryManager().addRepository(repository, - TasksUiPlugin.getDefault().getRepositoriesFilePath()); - - assertEquals(0, manager.getTaskList().getAllTasks().size()); - } - - @Override - protected void tearDown() throws Exception { - super.tearDown(); - manager.resetTaskList(); - TasksUiPlugin.getTaskListManager().saveTaskList(); - TasksUiPlugin.getRepositoryManager().removeRepository(repository, - TasksUiPlugin.getDefault().getRepositoriesFilePath()); - assertEquals(0, manager.getTaskList().getAllTasks().size()); - } - - public void testUniqueTaskID() { - LocalTask task1 = manager.createNewLocalTask("label"); - manager.getTaskList().addTask(task1); - LocalTask task2 = manager.createNewLocalTask("label"); - manager.getTaskList().addTask(task2); - assertEquals(2, manager.getTaskList().getLastLocalTaskId()); - manager.getTaskList().deleteTask(task2); - LocalTask task3 = manager.createNewLocalTask("label"); - manager.getTaskList().addTask(task3); - assertTrue(task3.getHandleIdentifier() + " should end with 3", task3.getHandleIdentifier().endsWith("3")); - assertEquals(3, manager.getTaskList().getLastLocalTaskId()); - - assertEquals(2, manager.getTaskList().getAllTasks().size()); - manager.saveTaskList(); - manager.resetTaskList(); - assertEquals(0, manager.getTaskList().getAllTasks().size()); - assertEquals(0, manager.getTaskList().getLastLocalTaskId()); - manager.readExistingOrCreateNewList(); - assertEquals(2, manager.getTaskList().getAllTasks().size()); - assertEquals(3, manager.getTaskList().getLastLocalTaskId()); - AbstractTask task4 = manager.createNewLocalTask("label"); - assertTrue(task4.getHandleIdentifier() + " should end with 4", task4.getHandleIdentifier().endsWith("4")); - } - - public void testSingleTaskDeletion() { - MockRepositoryTask task = new MockRepositoryTask("1"); - manager.getTaskList().moveToContainer(task, manager.getTaskList().getDefaultCategory()); - assertEquals(1, manager.getTaskList().getAllTasks().size()); - manager.getTaskList().deleteTask(task); - assertEquals(0, manager.getTaskList().getAllTasks().size()); - manager.getTaskList().moveToContainer(task, manager.getTaskList().getDefaultCategory()); - assertEquals(1, manager.getTaskList().getAllTasks().size()); - - manager.saveTaskList(); - - manager.resetTaskList(); - manager.readExistingOrCreateNewList(); - assertEquals(1, manager.getTaskList().getAllTasks().size()); - - manager.getTaskList().deleteTask(task); - assertEquals(0, manager.getTaskList().getAllTasks().size()); - manager.saveTaskList(); - assertEquals(0, manager.getTaskList().getAllTasks().size()); - - manager.resetTaskList(); - manager.readExistingOrCreateNewList(); - assertEquals(0, manager.getTaskList().getAllTasks().size()); - } - - public void testMigrateTaskContextFiles() throws IOException { - File fileA = ContextCorePlugin.getContextManager().getFileForContext("http://a-1"); - fileA.createNewFile(); - fileA.deleteOnExit(); - assertTrue(fileA.exists()); - manager.refactorRepositoryUrl("http://a", "http://b"); - File fileB = ContextCorePlugin.getContextManager().getFileForContext("http://b-1"); - assertTrue(fileB.exists()); - assertFalse(fileA.exists()); - } - - public void testMigrateQueryUrlHandles() { - AbstractRepositoryQuery query = new MockRepositoryQuery("mquery"); - query.setRepositoryUrl("http://foo.bar"); - query.setUrl("http://foo.bar/b"); - manager.getTaskList().addQuery(query); - assertTrue(manager.getTaskList().getRepositoryQueries("http://foo.bar").size() > 0); - manager.refactorRepositoryUrl("http://foo.bar", "http://bar.baz"); - assertTrue(manager.getTaskList().getRepositoryQueries("http://foo.bar").size() == 0); - assertTrue(manager.getTaskList().getRepositoryQueries("http://bar.baz").size() > 0); - AbstractRepositoryQuery changedQuery = manager.getTaskList() - .getRepositoryQueries("http://bar.baz") - .iterator() - .next(); - assertEquals("http://bar.baz/b", changedQuery.getUrl()); - } - - public void testMigrateQueryHandles() { - AbstractRepositoryQuery query = new MockRepositoryQuery("mquery"); - query.setRepositoryUrl("http://a"); - manager.getTaskList().addQuery(query); - manager.refactorRepositoryUrl("http://a", "http://b"); - assertFalse(manager.getTaskList().getRepositoryQueries("http://b").isEmpty()); - assertTrue(manager.getTaskList().getRepositoryQueries("http://a").isEmpty()); - } - -// public void testMigrateQueryHits() { -// AbstractRepositoryQuery query = new MockRepositoryQuery("mquery", -// manager.getTaskList()); -// query.setRepositoryUrl("http://a"); -// manager.getTaskList().addQuery(query); -// AbstractQueryHit hit = new MockQueryHit(manager.getTaskList(), "http://a", -// "", "123"); -// query.addHit(hit); -// manager.refactorRepositoryUrl("http://a", "http://b"); -// assertNotNull(manager.getTaskList().getQueryHit("http://b-123")); -// assertEquals("http://b-123", hit.getHandleIdentifier()); -// } - - public void testMigrateTaskHandles() { - AbstractTask task = new MockRepositoryTask("http://a", "123"); - AbstractTask task2 = new MockRepositoryTask("http://other", "other"); - manager.getTaskList().addTask(task); - manager.getTaskList().addTask(task2); - - RepositoryTaskData taskData = new RepositoryTaskData(new MockAttributeFactory(), task.getConnectorKind(), - task.getRepositoryUrl(), task.getTaskId(), task.getTaskKind()); - TasksUiPlugin.getTaskDataManager().setNewTaskData(taskData); - assertNotNull(TasksUiPlugin.getTaskDataManager().getNewTaskData(task.getRepositoryUrl(), task.getTaskId())); - - RepositoryTaskData taskData2 = new RepositoryTaskData(new MockAttributeFactory(), task2.getConnectorKind(), - task2.getRepositoryUrl(), task2.getTaskId(), task2.getTaskKind()); - taskData2.setNewComment("TEST"); - TasksUiPlugin.getTaskDataManager().setNewTaskData(taskData2); - assertNotNull(TasksUiPlugin.getTaskDataManager().getNewTaskData(task2.getRepositoryUrl(), task2.getTaskId())); - assertEquals("TEST", TasksUiPlugin.getTaskDataManager().getNewTaskData(task2.getRepositoryUrl(), - task2.getTaskId()).getNewComment()); - - manager.refactorRepositoryUrl("http://a", "http://b"); - assertNull(manager.getTaskList().getTask("http://a-123")); - assertNotNull(manager.getTaskList().getTask("http://b-123")); - assertNotNull(TasksUiPlugin.getTaskDataManager().getNewTaskData("http://b", "123")); - RepositoryTaskData otherData = TasksUiPlugin.getTaskDataManager().getNewTaskData(task2.getRepositoryUrl(), - task2.getTaskId()); - assertNotNull(otherData); - assertEquals("TEST", otherData.getNewComment()); - } - - public void testMigrateTaskHandlesWithExplicitSet() { - AbstractTask task = new MockRepositoryTask("http://a", "123"); - task.setUrl("http://a/task/123"); - manager.getTaskList().addTask(task); - manager.refactorRepositoryUrl("http://a", "http://b"); - assertNull(manager.getTaskList().getTask("http://a-123")); - assertNotNull(manager.getTaskList().getTask("http://b-123")); - assertEquals("http://b/task/123", task.getUrl()); - } - - public void testIsActiveToday() { - AbstractTask task = new LocalTask("1", "task-1"); - assertFalse(manager.isScheduledForToday(task)); - - task.setScheduledForDate(new Date()); - assertTrue(manager.isScheduledForToday(task)); - - task.setReminded(true); - assertTrue(manager.isScheduledForToday(task)); - task.setReminded(true); - - Calendar inAnHour = Calendar.getInstance(); - inAnHour.set(Calendar.HOUR_OF_DAY, inAnHour.get(Calendar.HOUR_OF_DAY) + 1); - inAnHour.getTime(); - task.setScheduledForDate(inAnHour.getTime()); - Calendar tomorrow = Calendar.getInstance(); - manager.snapToNextDay(tomorrow); - assertEquals(-1, inAnHour.compareTo(tomorrow)); - - assertTrue(manager.isScheduledForToday(task)); - } - - public void testScheduledForToday() { - AbstractTask task = new LocalTask("1", "task-1"); - Calendar cal = Calendar.getInstance(); - cal.add(Calendar.MINUTE, 2); - task.setScheduledForDate(cal.getTime()); - assertTrue(manager.isScheduledForToday(task)); - manager.setSecheduledIn(cal, 1); - task.setScheduledForDate(cal.getTime()); - assertFalse(manager.isScheduledForToday(task)); - cal = Calendar.getInstance(); - manager.setScheduledEndOfDay(cal); - task.setScheduledForDate(cal.getTime()); - assertTrue(manager.isScheduledForToday(task)); - } - - public void testSchedulePastEndOfMonth() { - Calendar calendar = Calendar.getInstance(); - calendar.set(Calendar.MONTH, Calendar.SEPTEMBER); - calendar.set(Calendar.DAY_OF_MONTH, 30); - manager.setSecheduledIn(calendar, 1); - assertEquals("Should be October", Calendar.OCTOBER, calendar.get(Calendar.MONTH)); - } - - public void testIsCompletedToday() { - AbstractTask task = new LocalTask("1", "task 1"); - task.setCompleted(true); - task.setCompletionDate(new Date()); - assertTrue(manager.isCompletedToday(task)); - - MockRepositoryTask mockTask = new MockRepositoryTask("1"); - mockTask.setOwner("unknown"); - manager.getTaskList().addTask(mockTask); - mockTask.setCompleted(true); - mockTask.setCompletionDate(new Date()); - assertFalse("completed: " + mockTask.getCompletionDate(), manager.isCompletedToday(mockTask)); - - mockTask = new MockRepositoryTask("2"); - manager.getTaskList().addTask(mockTask); - mockTask.setCompleted(true); - mockTask.setCompletionDate(new Date()); - repository.setAuthenticationCredentials("testUser", "testPassword"); - mockTask.setOwner("testUser"); - assertTrue(manager.isCompletedToday(mockTask)); - - } - - public void testMoveCategories() { - assertEquals(0, manager.getTaskList().getDefaultCategory().getChildren().size()); - AbstractTask task1 = new LocalTask("t1", "t1"); - - TaskCategory cat1 = new TaskCategory("cat1"); - manager.getTaskList().addCategory(cat1); - TaskCategory cat2 = new TaskCategory("cat2"); - manager.getTaskList().addCategory(cat2); - - manager.getTaskList().moveToContainer(task1, cat1); - assertEquals(1, manager.getTaskList().getContainerForHandle("cat1").getChildren().size()); - assertEquals(0, manager.getTaskList().getContainerForHandle("cat2").getChildren().size()); - - manager.getTaskList().moveToContainer(task1, cat2); - assertEquals(0, manager.getTaskList().getContainerForHandle("cat1").getChildren().size()); - assertEquals(1, manager.getTaskList().getContainerForHandle("cat2").getChildren().size()); - } - - public void testMoveToRoot() { - assertEquals(0, manager.getTaskList().getDefaultCategory().getChildren().size()); - AbstractTask task1 = new LocalTask("t1", "t1"); - manager.getTaskList().moveToContainer(task1, manager.getTaskList().getDefaultCategory()); - assertEquals(1, manager.getTaskList().getDefaultCategory().getChildren().size()); - assertEquals(UnfiledCategory.HANDLE, task1.getParentContainers().iterator().next().getHandleIdentifier()); - - TaskCategory cat1 = new TaskCategory("c1"); - manager.getTaskList().addCategory(cat1); - - manager.getTaskList().moveToContainer(task1, cat1); - assertEquals(0, manager.getTaskList().getDefaultCategory().getChildren().size()); - assertEquals(cat1, task1.getParentContainers().iterator().next()); - - manager.getTaskList().moveToContainer(task1, manager.getTaskList().getDefaultCategory()); - assertEquals(1, manager.getTaskList().getDefaultCategory().getChildren().size()); - assertEquals(0, cat1.getChildren().size()); - assertEquals(UnfiledCategory.HANDLE, task1.getParentContainers().iterator().next().getHandleIdentifier()); - } - - public void testEmpty() { - manager.resetTaskList(); - assertTrue(manager.getTaskList().isEmpty()); - manager.getTaskList().internalAddRootTask(new LocalTask("", "")); - assertFalse(manager.getTaskList().isEmpty()); - } - - public void testCategoryPersistance() { - MockRepositoryTask task = new MockRepositoryTask("1"); - TaskCategory category = new TaskCategory("cat"); - manager.getTaskList().addCategory(category); - manager.getTaskList().moveToContainer(task, category); - assertNotNull(manager.getTaskList()); - assertEquals(3, manager.getTaskList().getCategories().size()); - - manager.saveTaskList(); - manager.resetTaskList(); - manager.readExistingOrCreateNewList(); - assertEquals("" + manager.getTaskList().getCategories(), 3, manager.getTaskList().getCategories().size()); - assertEquals(1, manager.getTaskList().getAllTasks().size()); - } - - public void testDeleteCategory() { - assertNotNull(manager.getTaskList()); - assertEquals(2, manager.getTaskList().getCategories().size()); - TaskCategory category = new TaskCategory("cat"); - manager.getTaskList().addCategory(category); - assertEquals(3, manager.getTaskList().getCategories().size()); - manager.getTaskList().deleteCategory(category); - assertEquals(2, manager.getTaskList().getCategories().size()); - } - - public void testDeleteCategoryMovesTasksToRoot() { - AbstractTask task = new MockRepositoryTask("delete"); - TaskCategory category = new TaskCategory("cat"); - manager.getTaskList().addTask(task, category); - manager.getTaskList().addCategory(category); - assertEquals(0, manager.getTaskList().getDefaultCategory().getChildren().size()); - manager.getTaskList().deleteCategory(category); - assertEquals(1, manager.getTaskList().getDefaultCategory().getChildren().size()); - } - - public void testRenameCategory() { - - assertNotNull(manager.getTaskList()); - - TaskCategory category = new TaskCategory("cat"); - manager.getTaskList().addCategory(category); - assertEquals(3, manager.getTaskList().getCategories().size()); - String newDesc = "newDescription"; - manager.getTaskList().renameContainer(category, newDesc); - AbstractTaskCategory container = manager.getTaskList().getContainerForHandle(newDesc); - assertNotNull(container); - assertEquals(newDesc, container.getSummary()); - manager.getTaskList().deleteCategory(container); - assertEquals(2, manager.getTaskList().getCategories().size()); - } - - public void testDeleteCategoryAfterRename() { - String newDesc = "newDescription"; - assertNotNull(manager.getTaskList()); - assertEquals(2, manager.getTaskList().getCategories().size()); - TaskCategory category = new TaskCategory("cat"); - manager.getTaskList().addCategory(category); - assertEquals(3, manager.getTaskList().getCategories().size()); - manager.getTaskList().renameContainer(category, newDesc); - manager.getTaskList().deleteCategory(category); - assertEquals(2, manager.getTaskList().getCategories().size()); - } - - public void testCreateSameCategoryName() { - assertNotNull(manager.getTaskList()); - assertEquals(2, manager.getTaskList().getCategories().size()); - TaskCategory category = new TaskCategory("cat"); - manager.getTaskList().addCategory(category); - assertEquals(3, manager.getTaskList().getCategories().size()); - TaskCategory category2 = new TaskCategory("cat"); - manager.getTaskList().addCategory(category2); - assertEquals(3, manager.getTaskList().getCategories().size()); - AbstractTaskContainer container = manager.getTaskList().getContainerForHandle("cat"); - assertEquals(container, category); - } - - public void testDeleteRootTask() { - AbstractTask task = new LocalTask("1", "label"); - manager.getTaskList().addTask(task); - manager.getTaskList().internalAddRootTask(task); - manager.getTaskList().deleteTask(task); - assertEquals(0, manager.getTaskList().getAllTasks().size()); - assertEquals(0, manager.getTaskList().getDefaultCategory().getChildren().size()); - assertEquals(0, manager.getTaskList().getArchiveContainer().getChildren().size()); - } - - public void testDeleteFromCategory() { - assertEquals(0, manager.getTaskList().getAllTasks().size()); - assertEquals(0, manager.getTaskList().getDefaultCategory().getChildren().size()); - assertEquals(0, manager.getTaskList().getArchiveContainer().getChildren().size()); - assertEquals(2, manager.getTaskList().getCategories().size()); - - AbstractTask task = new LocalTask("1", "label"); - TaskCategory category = new TaskCategory("handleAndDescription"); - manager.getTaskList().addTask(task); - assertEquals(1, manager.getTaskList().getArchiveContainer().getChildren().size()); - - manager.getTaskList().addCategory(category); - manager.getTaskList().moveToContainer(task, category); - assertEquals(3, manager.getTaskList().getCategories().size()); - assertEquals(1, category.getChildren().size()); - assertEquals(0, manager.getTaskList().getArchiveContainer().getChildren().size()); - assertEquals(1, manager.getTaskList().getAllTasks().size()); - assertEquals(0, manager.getTaskList().getDefaultCategory().getChildren().size()); - - manager.getTaskList().deleteTask(task); - assertEquals(0, manager.getTaskList().getAllTasks().size()); - assertEquals(0, manager.getTaskList().getDefaultCategory().getChildren().size()); - assertEquals(0, manager.getTaskList().getArchiveContainer().getChildren().size()); - assertEquals(0, category.getChildren().size()); - } - - public void testDeleteRepositoryTask() { - String repositoryUrl = "http://somewhere.com"; - repository = new TaskRepository(MockRepositoryConnector.REPOSITORY_KIND, repositoryUrl); - TasksUiPlugin.getRepositoryManager().addRepository(repository, - TasksUiPlugin.getDefault().getRepositoriesFilePath()); - MockRepositoryTask task = new MockRepositoryTask(repositoryUrl, "1"); - TaskList taskList = TasksUiPlugin.getTaskListManager().getTaskList(); - taskList.moveToContainer(task, manager.getTaskList().getDefaultCategory()); - MockRepositoryQuery query = new MockRepositoryQuery("query"); - taskList.addQuery(query); - taskList.addTask(task, query); - assertEquals(1, taskList.getAllTasks().size()); - assertEquals(1, taskList.getDefaultCategory().getChildren().size()); - taskList.deleteTask(task); - assertEquals(0, taskList.getAllTasks().size()); - assertEquals(0, taskList.getDefaultCategory().getChildren().size()); - } - - public void testCreate() { - MockRepositoryTask repositoryTask = new MockRepositoryTask("1"); - manager.getTaskList().addTask(repositoryTask, manager.getTaskList().getDefaultCategory()); - assertEquals(1, manager.getTaskList().getDefaultCategory().getChildren().size()); - manager.saveTaskList(); - - manager.resetTaskList(); - manager.readExistingOrCreateNewList(); - assertEquals(1, manager.getTaskList().getAllTasks().size()); - } - - public void testCreateAndMove() { - MockRepositoryTask repositoryTask = new MockRepositoryTask("1"); - repositoryTask.setTaskKind("kind"); - manager.getTaskList().addTask(repositoryTask, manager.getTaskList().getDefaultCategory()); - assertEquals(0, manager.getTaskList().getArchiveContainer().getChildren().size()); - assertEquals(1, manager.getTaskList().getDefaultCategory().getChildren().size()); - manager.saveTaskList(); - - manager.resetTaskList(); - manager.readExistingOrCreateNewList(); - assertEquals(1, manager.getTaskList().getDefaultCategory().getChildren().size()); - assertEquals(0, manager.getTaskList().getArchiveContainer().getChildren().size()); - } - - public void testArchiveRepositoryTaskExternalization() { - MockRepositoryTask repositoryTask = new MockRepositoryTask("1"); - repositoryTask.setTaskKind("kind"); - manager.getTaskList().addTask(repositoryTask); - assertEquals(1, manager.getTaskList().getArchiveContainer().getChildren().size()); - assertEquals(0, manager.getTaskList().getDefaultCategory().getChildren().size()); - manager.saveTaskList(); - - manager.resetTaskList(); - manager.readExistingOrCreateNewList(); - assertEquals(1, manager.getTaskList().getArchiveContainer().getChildren().size()); - assertEquals(0, manager.getTaskList().getDefaultCategory().getChildren().size()); - } - - public void testRepositoryTasksAndCategoriesMultiRead() { - TaskCategory cat1 = new TaskCategory("Category 1"); - manager.getTaskList().addCategory(cat1); - - MockRepositoryTask reportInCat1 = new MockRepositoryTask("123"); - manager.getTaskList().moveToContainer(reportInCat1, cat1); - assertEquals(cat1, reportInCat1.getParentContainers().iterator().next()); - - manager.saveTaskList(); - assertNotNull(manager.getTaskList()); - manager.resetTaskList(); - manager.readExistingOrCreateNewList(); - - // read once - Set<AbstractTaskCategory> readCats = manager.getTaskList().getTaskContainers(); - assertTrue(manager.getTaskList().getCategories().contains(cat1)); - Iterator<AbstractTaskCategory> iterator = readCats.iterator(); - - boolean found = false; - while (iterator.hasNext()) { - AbstractTaskContainer readCat1 = iterator.next(); - if (cat1.equals(readCat1)) { - found = true; - assertEquals(1, readCat1.getChildren().size()); - } - } - if (!found) - fail(" Category not found afer tasklist read"); - - manager.saveTaskList(); - assertNotNull(manager.getTaskList()); - manager.resetTaskList(); - manager.readExistingOrCreateNewList(); - - // read again - readCats = manager.getTaskList().getTaskContainers(); - assertTrue(manager.getTaskList().getCategories().contains(cat1)); - - iterator = readCats.iterator(); - found = false; - while (iterator.hasNext()) { - AbstractTaskContainer readCat1 = iterator.next(); - if (cat1.equals(readCat1)) { - found = true; - assertEquals(1, readCat1.getChildren().size()); - } - } - if (!found) - fail(" Category not found afer tasklist read"); - } - - public void testSubTaskExternalization() { - Set<AbstractTask> rootTasks = new HashSet<AbstractTask>(); - AbstractTask task1 = new LocalTask("1", "task1"); - manager.getTaskList().moveToContainer(task1, manager.getTaskList().getDefaultCategory()); - rootTasks.add(task1); - - AbstractTask sub2 = new LocalTask("2", "sub 2"); - manager.getTaskList().addTask(sub2, task1); - assertEquals(1, task1.getChildren().size()); - - manager.saveTaskList(); - assertNotNull(manager.getTaskList()); - manager.resetTaskList(); - manager.readExistingOrCreateNewList(); - - assertNotNull(manager.getTaskList()); - assertTrue(rootTasks.containsAll(manager.getTaskList().getDefaultCategory().getChildren())); - - Set<AbstractTask> readList = manager.getTaskList().getDefaultCategory().getChildren(); - for (AbstractTask task : readList) { - if (task.equals(task1)) { - assertEquals(task1.getSummary(), task.getSummary()); - assertEquals(1, task.getChildren().size()); - } - } - } - - public void testCreationAndExternalization() { - Set<AbstractTask> rootTasks = new HashSet<AbstractTask>(); - AbstractTask task1 = manager.createNewLocalTask("task 1"); - manager.getTaskList().moveToContainer(task1, manager.getTaskList().getDefaultCategory()); - rootTasks.add(task1); - - AbstractTask sub1 = manager.createNewLocalTask("sub 1"); - manager.getTaskList().addTask(sub1, task1); - - manager.getTaskList().moveToContainer(sub1, manager.getTaskList().getArchiveContainer()); - - AbstractTask task2 = manager.createNewLocalTask("task 2"); - manager.getTaskList().moveToContainer(task2, manager.getTaskList().getDefaultCategory()); - rootTasks.add(task2); - - Set<TaskCategory> categories = new HashSet<TaskCategory>(); - Set<AbstractTask> cat1Contents = new HashSet<AbstractTask>(); - TaskCategory cat1 = new TaskCategory("Category 1"); - manager.getTaskList().addCategory(cat1); - categories.add(cat1); - AbstractTask task3 = manager.createNewLocalTask("task 3"); - manager.getTaskList().moveToContainer(task3, cat1); - cat1Contents.add(task3); - assertEquals(cat1, task3.getParentContainers().iterator().next()); - AbstractTask sub2 = manager.createNewLocalTask("sub 2"); - manager.getTaskList().addTask(sub2, task3); - manager.getTaskList().moveToContainer(sub2, manager.getTaskList().getArchiveContainer()); - - AbstractTask task4 = manager.createNewLocalTask("task 4"); - manager.getTaskList().moveToContainer(task4, cat1); - cat1Contents.add(task4); - - MockRepositoryTask reportInCat1 = new MockRepositoryTask("123"); - manager.getTaskList().moveToContainer(reportInCat1, cat1); - assertEquals(cat1, reportInCat1.getParentContainers().iterator().next()); - cat1Contents.add(reportInCat1); - - MockRepositoryTask reportInRoot = new MockRepositoryTask("124"); - manager.getTaskList().moveToContainer(reportInRoot, manager.getTaskList().getDefaultCategory()); - rootTasks.add(reportInRoot); - - assertEquals(3, manager.getTaskList().getRootElements().size()); - - manager.saveTaskList(); - assertNotNull(manager.getTaskList()); - manager.resetTaskList(); - // manager.getTaskList().clear(); - // TaskList list = new TaskList(); - // manager.setTaskList(list); - manager.readExistingOrCreateNewList(); - - assertNotNull(manager.getTaskList()); - assertTrue(rootTasks.containsAll(manager.getTaskList().getDefaultCategory().getChildren())); - - Set<AbstractTask> readList = manager.getTaskList().getDefaultCategory().getChildren(); - for (AbstractTask task : readList) { - if (task.equals(task1)) { - assertEquals(task1.getSummary(), task.getSummary()); - assertEquals(1, task.getChildren().size()); - } - if (task.equals(reportInRoot)) { - assertEquals(reportInRoot.getSummary(), task.getSummary()); - } - } - - Set<AbstractTaskCategory> readCats = manager.getTaskList().getTaskContainers(); - assertTrue(manager.getTaskList().getCategories().contains(cat1)); - Iterator<AbstractTaskCategory> iterator = readCats.iterator(); - boolean found = false; - while (iterator.hasNext()) { - AbstractTaskContainer readCat1 = iterator.next(); - if (cat1.equals(readCat1)) { - found = true; - assertEquals(cat1Contents, readCat1.getChildren()); - } - } - if (!found) - fail(" Category not found afer tasklist read"); - } - - public void testExternalizationOfHandlesWithDash() { - Set<AbstractTask> rootTasks = new HashSet<AbstractTask>(); - -// String handle = AbstractTask.getHandle("http://url/repo-location", -// 1); - AbstractTask task1 = manager.createNewLocalTask("task 1"); - manager.getTaskList().moveToContainer(task1, manager.getTaskList().getDefaultCategory()); - rootTasks.add(task1); - - manager.saveTaskList(); - assertNotNull(manager.getTaskList()); - manager.resetTaskList(); - assertTrue(manager.readExistingOrCreateNewList()); - - assertNotNull(manager.getTaskList()); - assertEquals(rootTasks, manager.getTaskList().getDefaultCategory().getChildren()); - } - - public void testScheduledRefreshJob() throws InterruptedException { - int counter = 3; - ScheduledTaskListSynchJob.resetCount(); - TasksUiPlugin.getDefault().getPreferenceStore().setValue( - TasksUiPreferenceConstants.REPOSITORY_SYNCH_SCHEDULE_ENABLED, true); - TasksUiPlugin.getDefault().getPreferenceStore().setValue( - TasksUiPreferenceConstants.REPOSITORY_SYNCH_SCHEDULE_MILISECONDS, 1000L); - assertEquals(0, ScheduledTaskListSynchJob.getCount()); - TaskListSynchronizationScheduler manager = new TaskListSynchronizationScheduler(false); - manager.startSynchJob(); - Thread.sleep(3000); - assertTrue(ScheduledTaskListSynchJob.getCount() + " smaller than " + counter, - ScheduledTaskListSynchJob.getCount() >= counter); - manager.cancelAll(); - TasksUiPlugin.getDefault().getPreferenceStore().setValue( - TasksUiPreferenceConstants.REPOSITORY_SYNCH_SCHEDULE_ENABLED, false); - } - - public void testgetQueriesAndHitsForHandle() { - TaskList taskList = manager.getTaskList(); - - MockRepositoryTask hit1 = new MockRepositoryTask("1"); - MockRepositoryTask hit2 = new MockRepositoryTask("2"); - MockRepositoryTask hit3 = new MockRepositoryTask("3"); - - MockRepositoryTask hit1twin = new MockRepositoryTask("1"); - MockRepositoryTask hit2twin = new MockRepositoryTask("2"); - MockRepositoryTask hit3twin = new MockRepositoryTask("3"); - - MockRepositoryQuery query1 = new MockRepositoryQuery("query1"); - MockRepositoryQuery query2 = new MockRepositoryQuery("query2"); - - taskList.addQuery(query1); - taskList.addQuery(query2); - taskList.addTask(hit1, query1); - taskList.addTask(hit2, query1); - taskList.addTask(hit3, query1); - - assertEquals(3, query1.getChildren().size()); - - taskList.addTask(hit1twin, query2); - taskList.addTask(hit2twin, query2); - taskList.addTask(hit3twin, query2); - - assertEquals(3, query2.getChildren().size()); - - Set<AbstractRepositoryQuery> queriesReturned = taskList.getQueriesForHandle(RepositoryTaskHandleUtil.getHandle( - MockRepositoryConnector.REPOSITORY_URL, "1")); - assertNotNull(queriesReturned); - assertEquals(2, queriesReturned.size()); - assertTrue(queriesReturned.contains(query1)); - assertTrue(queriesReturned.contains(query2)); - - Set<String> handles = new HashSet<String>(); - handles.add(RepositoryTaskHandleUtil.getHandle(MockRepositoryConnector.REPOSITORY_URL, "2")); - Collection<AbstractTask> hitsReturned = taskList.getTasks(handles); - assertNotNull(hitsReturned); - assertEquals(1, hitsReturned.size()); - assertTrue(hitsReturned.contains(hit2)); - assertTrue(hitsReturned.contains(hit2twin)); - - } - -// public void testQueryHitHasParent() { -// TaskList taskList = manager.getTaskList(); -// -// MockQueryHit hit1 = new MockQueryHit(taskList, -// MockRepositoryConnector.REPOSITORY_URL, "description1", "1"); -// assertNull(hit1.getParent()); -// MockRepositoryQuery query1 = new MockRepositoryQuery("query1", -// manager.getTaskList()); -// query1.addHit(hit1); -// assertEquals(query1, hit1.getParent()); -// -// } - - public void testUpdateQueryHits() { - TaskList taskList = manager.getTaskList(); - - MockRepositoryTask hit1 = new MockRepositoryTask("1"); - MockRepositoryTask hit2 = new MockRepositoryTask("2"); - MockRepositoryTask hit3 = new MockRepositoryTask("3"); - - MockRepositoryTask hit1twin = new MockRepositoryTask("1"); - MockRepositoryTask hit2twin = new MockRepositoryTask("2"); - MockRepositoryTask hit3twin = new MockRepositoryTask("3"); - - MockRepositoryQuery query1 = new MockRepositoryQuery("query1"); - taskList.addQuery(query1); - - taskList.addTask(hit1, query1); - taskList.addTask(hit2, query1); - taskList.addTask(hit3, query1); - - taskList.addTask(hit1twin, query1); - taskList.addTask(hit2twin, query1); - taskList.addTask(hit3twin, query1); - - assertEquals(3, query1.getChildren().size()); - query1.clear(); - assertEquals(0, query1.getChildren().size()); - taskList.addTask(hit1, query1); - taskList.addTask(hit2, query1); - assertEquals(2, query1.getChildren().size()); - hit1.setNotified(true); - - taskList.addTask(hit1twin, query1); - taskList.addTask(hit2twin, query1); - taskList.addTask(hit3twin, query1); - assertEquals(3, query1.getChildren().size()); - assertTrue(query1.getChildren().contains(hit1twin)); - assertTrue(query1.getChildren().contains(hit2twin)); - assertTrue(query1.getChildren().contains(hit3twin)); - for (AbstractTask hit : query1.getChildren()) { - if (hit.equals(hit1twin)) { - assertTrue(hit.isNotified()); - } else { - assertFalse(hit.isNotified()); - } - } - } - - public void testgetRepositoryTasks() { - - String repositoryUrl = "https://bugs.eclipse.org/bugs"; - - String bugNumber = "106939"; - - MockRepositoryTask task1 = new MockRepositoryTask(repositoryUrl, bugNumber); - manager.getTaskList().addTask(task1); - - MockRepositoryTask task2 = new MockRepositoryTask("https://unresolved", bugNumber); - manager.getTaskList().addTask(task2); - - TaskList taskList = manager.getTaskList(); - assertEquals(2, taskList.getAllTasks().size()); - Set<AbstractTask> tasksReturned = taskList.getRepositoryTasks(repositoryUrl); - assertNotNull(tasksReturned); - assertEquals(1, tasksReturned.size()); - assertTrue(tasksReturned.contains(task1)); - } - - public void testAllTasksDeactivation() { - AbstractTask task1 = new LocalTask("task1", "description1"); - AbstractTask task2 = new LocalTask("task2", "description2"); - TaskList taskList = manager.getTaskList(); - taskList.addTask(task1); - taskList.addTask(task2); - assertNull(taskList.getActiveTask()); - - manager.activateTask(task2); - assertEquals(task2, taskList.getActiveTask()); - - manager.deactivateAllTasks(); - assertNull(taskList.getActiveTask()); - } - - public void testMarkTaskRead() { - String repositoryUrl = "http://mylar.eclipse.org/bugs222"; - MockRepositoryTask task1 = new MockRepositoryTask(repositoryUrl, "1"); - MockRepositoryTask task2 = new MockRepositoryTask(repositoryUrl, "2"); - task1.setSynchronizationState(RepositoryTaskSyncState.INCOMING); - task2.setSynchronizationState(RepositoryTaskSyncState.INCOMING); - List<AbstractTaskContainer> elements = new ArrayList<AbstractTaskContainer>(); - elements.add(task1); - elements.add(task2); - MarkTaskReadAction readAction = new MarkTaskReadAction(elements); - readAction.run(); - assertEquals(RepositoryTaskSyncState.SYNCHRONIZED, task1.getSynchronizationState()); - assertEquals(RepositoryTaskSyncState.SYNCHRONIZED, task2.getSynchronizationState()); - - manager.getTaskList().reset(); - MockRepositoryTask hit1 = new MockRepositoryTask("1"); - MockRepositoryTask hit2 = new MockRepositoryTask("2"); - MockRepositoryQuery query = new MockRepositoryQuery("summary"); - manager.getTaskList().addQuery(query); - manager.getTaskList().addTask(hit1, query); - manager.getTaskList().addTask(hit2, query); - - elements.clear(); - elements.add(query); - readAction = new MarkTaskReadAction(elements); - readAction.run(); - assertEquals(2, query.getChildren().size()); - for (AbstractTaskContainer element : query.getChildren()) { - if (element instanceof MockRepositoryTask) { - MockRepositoryTask mockTask = (MockRepositoryTask) element; - assertEquals(RepositoryTaskSyncState.SYNCHRONIZED, mockTask.getSynchronizationState()); - } - } - - } - - public void testMarkUnRead() { - String repositoryUrl = "http://mylar.eclipse.org/bugs222"; - MockRepositoryTask task1 = new MockRepositoryTask(repositoryUrl, "1"); - MockRepositoryTask task2 = new MockRepositoryTask(repositoryUrl, "2"); - assertEquals(RepositoryTaskSyncState.SYNCHRONIZED, task1.getSynchronizationState()); - assertEquals(RepositoryTaskSyncState.SYNCHRONIZED, task2.getSynchronizationState()); - List<AbstractTaskContainer> elements = new ArrayList<AbstractTaskContainer>(); - elements.add(task1); - elements.add(task2); - MarkTaskUnreadAction unreadAction = new MarkTaskUnreadAction(elements); - unreadAction.run(); - assertEquals(RepositoryTaskSyncState.INCOMING, task1.getSynchronizationState()); - assertEquals(RepositoryTaskSyncState.INCOMING, task2.getSynchronizationState()); - - manager.getTaskList().reset(); - MockRepositoryTask hit1 = new MockRepositoryTask("1"); - MockRepositoryTask hit2 = new MockRepositoryTask("2"); - MockRepositoryQuery query = new MockRepositoryQuery("summary"); - manager.getTaskList().addQuery(query); - manager.getTaskList().addTask(hit1, query); - manager.getTaskList().addTask(hit2, query); - - elements.clear(); - elements.add(query); - MarkTaskReadAction readAction = new MarkTaskReadAction(elements); - readAction.run(); - assertEquals(2, query.getChildren().size()); - for (AbstractTaskContainer element : query.getChildren()) { - if (element instanceof MockRepositoryTask) { - MockRepositoryTask mockTask = (MockRepositoryTask) element; - assertEquals(RepositoryTaskSyncState.SYNCHRONIZED, mockTask.getSynchronizationState()); - } else { - fail(); - } - } - - unreadAction = new MarkTaskUnreadAction(elements); - unreadAction.run(); - assertEquals(2, query.getChildren().size()); - for (AbstractTaskContainer element : query.getChildren()) { - if (element instanceof MockRepositoryTask) { - MockRepositoryTask mockTask = (MockRepositoryTask) element; - assertEquals(RepositoryTaskSyncState.INCOMING, mockTask.getSynchronizationState()); - } else { - fail(); - } - } - } -} diff --git a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskListTest.java b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskListTest.java deleted file mode 100644 index c483b3726..000000000 --- a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskListTest.java +++ /dev/null @@ -1,27 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004 - 2006 Mylar committers 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 - *******************************************************************************/ - -package org.eclipse.mylyn.tasks.tests; - -import junit.framework.TestCase; - -import org.eclipse.mylyn.internal.tasks.core.TaskCategory; -import org.eclipse.mylyn.tasks.core.TaskList; - -/** - * @author Mik Kersten - */ -public class TaskListTest extends TestCase { - - public void testGetUserCategories() { - TaskList taskList = new TaskList(); - taskList.addCategory(new TaskCategory("a")); - assertEquals(2, taskList.getUserCategories().size()); - } - -} diff --git a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskListUiTest.java b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskListUiTest.java deleted file mode 100644 index 318216905..000000000 --- a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskListUiTest.java +++ /dev/null @@ -1,393 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2007 Mylyn project committers 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 - *******************************************************************************/ - -package org.eclipse.mylyn.tasks.tests; - -import java.util.ArrayList; -import java.util.List; -import java.util.Set; -import java.util.Vector; - -import junit.framework.TestCase; - -import org.eclipse.jface.action.IContributionItem; -import org.eclipse.jface.action.MenuManager; -import org.eclipse.jface.viewers.TreeViewer; -import org.eclipse.mylyn.internal.tasks.core.TaskCategory; -import org.eclipse.mylyn.internal.tasks.ui.MoveToCategoryMenuContributor; -import org.eclipse.mylyn.internal.tasks.ui.TaskPriorityFilter; -import org.eclipse.mylyn.internal.tasks.ui.actions.MarkTaskCompleteAction; -import org.eclipse.mylyn.internal.tasks.ui.actions.NewCategoryAction; -import org.eclipse.mylyn.internal.tasks.ui.views.TaskListView; -import org.eclipse.mylyn.internal.web.tasks.WebTask; -import org.eclipse.mylyn.tasks.core.AbstractTask; -import org.eclipse.mylyn.tasks.core.AbstractTaskContainer; -import org.eclipse.mylyn.tasks.core.ITaskListChangeListener; -import org.eclipse.mylyn.tasks.core.AbstractTask.PriorityLevel; -import org.eclipse.mylyn.tasks.tests.connector.MockRepositoryQuery; -import org.eclipse.mylyn.tasks.ui.TaskListManager; -import org.eclipse.mylyn.tasks.ui.TasksUiPlugin; -import org.eclipse.mylyn.tasks.ui.TasksUiUtil; -import org.eclipse.swt.widgets.TreeItem; -import org.eclipse.ui.PartInitException; - -/** - * Tests TaskListView's filtering mechanism. - * - * @author Ken Sueda - * - */ -public class TaskListUiTest extends TestCase { - - private TaskListManager manager = null; - - private TaskCategory cat1 = null; - - private AbstractTask cat1task1 = null; - - private AbstractTask cat1task2 = null; - - private AbstractTask cat1task3 = null; - - private AbstractTask cat1task4 = null; - - private AbstractTask cat1task5 = null; - - private AbstractTask cat1task1sub1 = null; - - private TaskCategory cat2 = null; - - private AbstractTask cat2task1 = null; - - private AbstractTask cat2task2 = null; - - private AbstractTask cat2task3 = null; - - private AbstractTask cat2task4 = null; - - private AbstractTask cat2task5 = null; - - private AbstractTask cat2task1sub1 = null; - - private final static int CHECK_COMPLETE_FILTER = 1; - - private final static int CHECK_INCOMPLETE_FILTER = 2; - - private final static int CHECK_PRIORITY_FILTER = 3; - - @Override - public void setUp() throws PartInitException { - try { - TaskListView.openInActivePerspective(); - manager = TasksUiPlugin.getTaskListManager(); - cat1 = new TaskCategory("First Category"); - - cat1task1 = manager.createNewLocalTask("task 1"); - cat1task1.setPriority(PriorityLevel.P1.toString()); - cat1task1.setCompleted(true); - manager.getTaskList().moveToContainer(cat1task1, cat1); - - cat1task1sub1 = manager.createNewLocalTask("sub task 1"); - cat1task1sub1.setPriority(PriorityLevel.P1.toString()); - cat1task1sub1.setCompleted(true); - manager.getTaskList().addTask(cat1task1sub1, cat1task1); - - cat1task2 = manager.createNewLocalTask("task 2"); - cat1task2.setPriority(PriorityLevel.P2.toString()); - cat1task2.addParentContainer(cat1); - manager.getTaskList().moveToContainer(cat1task2, cat1); - - cat1task3 = manager.createNewLocalTask("task 3"); - cat1task3.setPriority(PriorityLevel.P3.toString()); - cat1task3.setCompleted(true); - cat1task3.addParentContainer(cat1); - manager.getTaskList().moveToContainer(cat1task3, cat1); - - cat1task4 = manager.createNewLocalTask("task 4"); - cat1task4.setPriority(PriorityLevel.P4.toString()); - cat1task4.addParentContainer(cat1); - manager.getTaskList().moveToContainer(cat1task4, cat1); - - cat1task5 = manager.createNewLocalTask("task 5"); - cat1task5.setPriority(PriorityLevel.P5.toString()); - cat1task5.setCompleted(true); - cat1task5.addParentContainer(cat1); - manager.getTaskList().moveToContainer(cat1task5, cat1); - - manager.getTaskList().addCategory(cat1); - assertEquals(cat1.getChildren().size(), 5); - - cat2 = new TaskCategory("Second Category"); - - cat2task1 = manager.createNewLocalTask("task 1"); - cat2task1.setPriority(PriorityLevel.P1.toString()); - cat2task1.addParentContainer(cat2); - manager.getTaskList().moveToContainer(cat2task1, cat2); - - cat2task1sub1 = manager.createNewLocalTask("sub task 1"); - cat2task1sub1.setPriority(PriorityLevel.P1.toString()); - manager.getTaskList().addTask(cat2task1sub1, cat2task1); - - cat2task2 = manager.createNewLocalTask("task 2"); - cat2task2.setPriority(PriorityLevel.P2.toString()); - cat2task2.setCompleted(true); - cat2task2.addParentContainer(cat2); - manager.getTaskList().moveToContainer(cat2task2, cat2); - - cat2task3 = manager.createNewLocalTask("task 3"); - cat2task3.setPriority(PriorityLevel.P3.toString()); - cat2task3.addParentContainer(cat2); - manager.getTaskList().moveToContainer(cat2task3, cat2); - - cat2task4 = manager.createNewLocalTask("task 4"); - cat2task4.setPriority(PriorityLevel.P4.toString()); - cat2task4.setCompleted(true); - cat2task4.addParentContainer(cat2); - manager.getTaskList().moveToContainer(cat2task4, cat2); - - cat2task5 = manager.createNewLocalTask("task 5"); - cat2task5.setPriority(PriorityLevel.P5.toString()); - cat2task5.addParentContainer(cat2); - manager.getTaskList().moveToContainer(cat2task5, cat2); - - manager.getTaskList().addCategory(cat2); - manager.saveTaskList(); - } catch (Exception e) { - e.printStackTrace(); - } - } - - @Override - public void tearDown() { - // clear everything - } - - public void testMarkWebTaskCompleted() { - TaskListView view = TaskListView.getFromActivePerspective(); - assertNotNull(view); - WebTask webTask = new WebTask("1", "1", "", "", "web"); - TasksUiPlugin.getTaskListManager().getTaskList().addTask(webTask, - TasksUiPlugin.getTaskListManager().getTaskList().getDefaultCategory()); - view.getViewer().refresh(); - // Arrays.asList(view.getViewer().getVisibleExpandedElements()); - assertFalse(webTask.isCompleted()); - ArrayList<AbstractTaskContainer> tasks = new ArrayList<AbstractTaskContainer>(); - tasks.add(webTask); - new MarkTaskCompleteAction(tasks).run(); - assertTrue(webTask.isCompleted()); - } - - public void testUiFilter() { - try { - assertNotNull(TaskListView.getFromActivePerspective()); - TreeViewer viewer = TaskListView.getFromActivePerspective().getViewer(); - TaskListView.getFromActivePerspective().addFilter( - TaskListView.getFromActivePerspective().getCompleteFilter()); - viewer.refresh(); - viewer.expandAll(); - TreeItem[] items = viewer.getTree().getItems(); - assertTrue(checkFilter(CHECK_COMPLETE_FILTER, items)); - TaskListView.getFromActivePerspective().removeFilter( - TaskListView.getFromActivePerspective().getCompleteFilter()); - - TaskPriorityFilter filter = TaskListView.getFromActivePerspective().getPriorityFilter(); - filter.displayPrioritiesAbove("P2"); - TaskListView.getFromActivePerspective().addFilter(filter); - viewer.refresh(); - viewer.expandAll(); - items = viewer.getTree().getItems(); - - // check priority tasks - assertTrue(checkFilter(CHECK_PRIORITY_FILTER, items)); - } catch (Exception e) { - e.printStackTrace(); - } - } - - /** - * Tests that TaskEditors remove all listeners when closed - */ - public void testListenersRemoved() { - - int numListenersBefore = 0; - int numListenersDuring = 0; - int numListenersAfter = 0; - - TaskListManager manager = TasksUiPlugin.getTaskListManager(); - Set<ITaskListChangeListener> listeners = manager.getTaskList().getChangeListeners(); - numListenersBefore = listeners.size(); - - // open a task in editor - // cat1task1.setForceSyncOpen(true); - TasksUiUtil.openEditor(cat1task1, false, true); - // cat1task1.openTaskInEditor(false); - // cat1task2.setForceSyncOpen(true); - // cat1task2.openTaskInEditor(false); - TasksUiUtil.openEditor(cat1task2, false, true); - - listeners = manager.getTaskList().getChangeListeners(); - numListenersDuring = listeners.size(); - - assertEquals(numListenersDuring, numListenersBefore + 2); - - TasksUiPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow().getActivePage().closeAllEditors(false); - - listeners = manager.getTaskList().getChangeListeners(); - numListenersAfter = listeners.size(); - assertEquals(numListenersBefore, numListenersAfter); - - } - - /** - * Tests whether an additional NewCategory action is added to the category - */ - public void testGetSubMenuManagerContainsAllCategoriesPlusNewCategory() { - // setup - MoveToCategoryMenuContributor moveToMenuContrib = new MoveToCategoryMenuContributor(); - List<AbstractTaskContainer> selectedElements = new Vector<AbstractTaskContainer>(); - selectedElements.add(cat1task1); - int numCategoriesMinusArchiveContainer = manager.getTaskList().getCategories().size() - 1; - int numSeparators = 1; - // adding a separator and the New Category... action - int expectedNrOfSubMenuEntries = numCategoriesMinusArchiveContainer + numSeparators + 1; - NewCategoryAction newCatActon = new NewCategoryAction(); - - // execute sytem under test - MenuManager menuManager = moveToMenuContrib.getSubMenuManager(selectedElements); - IContributionItem[] items = menuManager.getItems(); - IContributionItem item = items[menuManager.getItems().length - 1]; - - // +1 for separator - assertEquals(expectedNrOfSubMenuEntries, menuManager.getItems().length); - - if (item instanceof NewCategoryAction) { - NewCategoryAction action = (NewCategoryAction) item; - assertEquals(newCatActon.getText(), action.getText()); - } - - // teardown - } - - /** - * Tests visibility of SubMenuManager - */ - public void testVisibilityOfSubMenuManager() { - //setup - MoveToCategoryMenuContributor moveToMenuContrib = new MoveToCategoryMenuContributor(); - MenuManager menuManager = null; - List<AbstractTaskContainer> selectedElements = new Vector<AbstractTaskContainer>(); - selectedElements.add(cat1task1); - - List<AbstractTaskContainer> emptySelection = new Vector<AbstractTaskContainer>(); - - List<AbstractTaskContainer> categorySelection = new Vector<AbstractTaskContainer>(); - categorySelection.add(cat1); - - List<AbstractTaskContainer> querySelection = new Vector<AbstractTaskContainer>(); - querySelection.add(new MockRepositoryQuery("query", null)); - - //execute system under test & assert - menuManager = moveToMenuContrib.getSubMenuManager(selectedElements); - assertTrue(menuManager.isVisible()); - - menuManager = null; - menuManager = moveToMenuContrib.getSubMenuManager(emptySelection); - assertFalse(menuManager.isVisible()); - - menuManager = null; - menuManager = moveToMenuContrib.getSubMenuManager(categorySelection); - assertFalse(menuManager.isVisible()); - - menuManager = null; - menuManager = moveToMenuContrib.getSubMenuManager(querySelection); - assertFalse(menuManager.isVisible()); - - //teardown - } - - /** - * Tests that the category name is shown in the Move To Category submenu, even when they have an @ in their name - */ - public void testCategoryNameIsShownInMoveToCategoryAction() { - String catNameWithAtBefore = "@CatName"; - String catNameWithAtExpected = "@CatName@"; - String catNameWithAtActual = ""; - - String catNameNoAtBefore = "CatName"; - String catNameNoAtExpected = "CatName"; - String catNameNoAtActual = ""; - - MoveToCategoryMenuContributor menuContrib = new MoveToCategoryMenuContributor(); - - catNameWithAtActual = menuContrib.handleAcceleratorKeys(catNameWithAtBefore); - catNameNoAtActual = menuContrib.handleAcceleratorKeys(catNameNoAtBefore); - - assertEquals(catNameWithAtExpected, catNameWithAtActual); - assertEquals(catNameNoAtExpected, catNameNoAtActual); - } - - public boolean checkFilter(int type, TreeItem[] items) { - switch (type) { - case CHECK_COMPLETE_FILTER: - return checkCompleteIncompleteFilter(items, false); - case CHECK_INCOMPLETE_FILTER: - return checkCompleteIncompleteFilter(items, true); - case CHECK_PRIORITY_FILTER: - return checkPriorityFilter(items); - default: - return false; - } - } - - public boolean checkCompleteIncompleteFilter(TreeItem[] items, boolean checkComplete) { - assertEquals(3, items.length); - int count = 0; - for (int i = 0; i < items.length; i++) { - if (items[i].getData() instanceof TaskCategory) { - TreeItem[] sub = items[i].getItems(); - for (int j = 0; j < sub.length; j++) { - assertTrue(sub[j].getData() instanceof AbstractTask); - AbstractTask task = (AbstractTask) sub[j].getData(); - if (checkComplete) { - assertTrue(task.isCompleted()); - } else { - assertFalse(task.isCompleted()); - } - count++; - } - } - } - assertTrue(count == 5); - return true; - } - - public boolean checkPriorityFilter(TreeItem[] items) { - assertTrue(items.length == 3); - int p2Count = 0; - int p1Count = 0; - for (int i = 0; i < items.length; i++) { - if (items[i].getData() instanceof TaskCategory) { - TreeItem[] sub = items[i].getItems(); - for (int j = 0; j < sub.length; j++) { - assertTrue(sub[j].getData() instanceof AbstractTask); - AbstractTask task = (AbstractTask) sub[j].getData(); - assertTrue(task.getPriority().equals("P2") || task.getPriority().equals("P1")); - if (task.getPriority().equals("P2")) { - p2Count++; - } else { - p1Count++; - } - } - } - } - assertEquals(2, p1Count); - assertEquals(2, p2Count); - return true; - } - -} diff --git a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskPlanningEditorTest.java b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskPlanningEditorTest.java deleted file mode 100644 index afd677720..000000000 --- a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskPlanningEditorTest.java +++ /dev/null @@ -1,113 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2007 Mylyn project committers 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 - *******************************************************************************/ - -package org.eclipse.mylyn.tasks.tests; - -import junit.framework.TestCase; - -import org.eclipse.core.runtime.NullProgressMonitor; -import org.eclipse.mylyn.internal.tasks.core.LocalTask; -import org.eclipse.mylyn.internal.tasks.ui.editors.TaskPlanningEditor; -import org.eclipse.mylyn.tasks.ui.TasksUiPlugin; -import org.eclipse.mylyn.tasks.ui.TasksUiUtil; -import org.eclipse.mylyn.tasks.ui.editors.TaskEditor; -import org.eclipse.ui.IWorkbenchPage; -import org.eclipse.ui.PlatformUI; - -/** - * @author Rob Elves - */ -public class TaskPlanningEditorTest extends TestCase { - - private static final String MOCK_LABEL = "label"; - - private static final String DESCRIPTION = "summary"; - - private static final String NEW_DESCRIPTION = "new summary"; - - @Override - protected void setUp() throws Exception { - super.setUp(); - } - - @Override - protected void tearDown() throws Exception { - PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().closeAllEditors(false); - TasksUiPlugin.getRepositoryManager().clearRepositories(TasksUiPlugin.getDefault().getRepositoriesFilePath()); - TasksUiPlugin.getTaskListManager().resetTaskList(); - TasksUiPlugin.getTaskListManager().saveTaskList(); - super.tearDown(); - } - - public void testDirtyOnEdit() { - LocalTask task = new LocalTask("1", MOCK_LABEL); - task.setSummary(DESCRIPTION); - TasksUiPlugin.getTaskListManager().getTaskList().addTask(task); - TasksUiUtil.openEditor(task, false, true); - IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage(); - assertTrue(page.getActiveEditor() instanceof TaskEditor); - TaskEditor taskEditor = (TaskEditor) page.getActiveEditor(); - assertTrue(taskEditor.getActivePageInstance() instanceof TaskPlanningEditor); - TaskPlanningEditor editor = (TaskPlanningEditor) taskEditor.getActivePageInstance(); - assertFalse(editor.isDirty()); - editor.setNotes("notes"); - assertTrue(editor.isDirty()); - editor.doSave(new NullProgressMonitor()); - assertFalse(editor.isDirty()); - editor.setDescription(NEW_DESCRIPTION); - assertTrue(editor.isDirty()); - editor.doSave(new NullProgressMonitor()); - assertEquals(NEW_DESCRIPTION, task.getSummary()); - assertFalse(editor.isDirty()); - } - - public void testNotDirtyOnRename() { - LocalTask task = new LocalTask("1", MOCK_LABEL); - task.setSummary(DESCRIPTION); - TasksUiPlugin.getTaskListManager().getTaskList().addTask(task); - TasksUiUtil.openEditor(task, false, true); - IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage(); - assertTrue(page.getActiveEditor() instanceof TaskEditor); - TaskEditor taskEditor = (TaskEditor) page.getActiveEditor(); - assertTrue(taskEditor.getActivePageInstance() instanceof TaskPlanningEditor); - TaskPlanningEditor editor = (TaskPlanningEditor) taskEditor.getActivePageInstance(); - assertFalse(editor.isDirty()); - assertEquals(DESCRIPTION, editor.getDescription()); - TasksUiPlugin.getTaskListManager().getTaskList().renameTask(task, NEW_DESCRIPTION); - assertEquals(NEW_DESCRIPTION, task.getSummary()); - editor.updateTaskData(task); - //assertEquals(NEW_DESCRIPTION, editor.getFormTitle()); - assertEquals(NEW_DESCRIPTION, editor.getDescription()); - assertFalse(editor.isDirty()); - } - - /** - * Test that if editor is dirty and external rename happens editor remains dirty - */ - public void testRenameInDirtyState() { - LocalTask task = new LocalTask("1", MOCK_LABEL); - task.setSummary(DESCRIPTION); - TasksUiPlugin.getTaskListManager().getTaskList().addTask(task); - TasksUiUtil.openEditor(task, false, true); - IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage(); - assertTrue(page.getActiveEditor() instanceof TaskEditor); - TaskEditor taskEditor = (TaskEditor) page.getActiveEditor(); - assertTrue(taskEditor.getActivePageInstance() instanceof TaskPlanningEditor); - TaskPlanningEditor editor = (TaskPlanningEditor) taskEditor.getActivePageInstance(); - assertFalse(editor.isDirty()); - editor.setDescription(NEW_DESCRIPTION); - assertTrue(editor.isDirty()); - TasksUiPlugin.getTaskListManager().getTaskList().renameTask(task, NEW_DESCRIPTION + "2"); - assertEquals(NEW_DESCRIPTION + "2", task.getSummary()); - editor.updateTaskData(task); - //assertEquals(NEW_DESCRIPTION+"2", editor.getFormTitle()); - assertEquals(NEW_DESCRIPTION + "2", editor.getDescription()); - assertTrue(editor.isDirty()); - } - -} diff --git a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskRepositoriesExternalizerTest.java b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskRepositoriesExternalizerTest.java deleted file mode 100644 index ae67024f0..000000000 --- a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskRepositoriesExternalizerTest.java +++ /dev/null @@ -1,108 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2007 Mylyn project committers 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 - *******************************************************************************/ - -package org.eclipse.mylyn.tasks.tests; - -import java.io.File; -import java.util.HashSet; -import java.util.Set; - -import junit.framework.TestCase; - -import org.eclipse.mylyn.internal.tasks.core.TaskRepositoriesExternalizer; -import org.eclipse.mylyn.tasks.core.TaskRepository; - -/** - * @author Rob Elves - * @author Erik Ramfelt (bug 168782) - */ -public class TaskRepositoriesExternalizerTest extends TestCase { - - private Set<TaskRepository> taskRepositories = new HashSet<TaskRepository>(); - - private static final String REP_TYPE = "bugzilla"; - - private static final String REPURL1 = "http://somewhere1"; - - private static final String REPURL2 = "http://somewhere2"; - - private static final String TIMEZONE = "test time zone"; - - private static final String VERSION = "test version"; - - private static final String ENCODING = "test encoding"; - - private static final String TIMESTAMP = "test time stamp"; - - private static final String SUFFIX = "2"; - - private TaskRepository repository1; - - private TaskRepository repository2; - - @Override - protected void setUp() throws Exception { - repository1 = new TaskRepository(REP_TYPE, REPURL1); - repository2 = new TaskRepository("bugzilla", REPURL2); - - repository1.setTimeZoneId(TIMEZONE); - repository1.setVersion(VERSION); - repository1.setCharacterEncoding(ENCODING); - repository1.setSynchronizationTimeStamp(TIMESTAMP); - taskRepositories.add(repository1); - - repository2.setTimeZoneId(TIMEZONE + SUFFIX); - repository2.setVersion(VERSION + SUFFIX); - repository2.setCharacterEncoding(ENCODING + SUFFIX); - repository2.setSynchronizationTimeStamp(TIMESTAMP + SUFFIX); - taskRepositories.add(repository2); - } - - public void testExternalization() { - TaskRepositoriesExternalizer externalizer = new TaskRepositoriesExternalizer(); - String path = "repositories.xml"; - File file = new File(path); - file.deleteOnExit(); - externalizer.writeRepositoriesToXML(taskRepositories, file); - taskRepositories.clear(); - assertEquals(0, taskRepositories.size()); - taskRepositories = externalizer.readRepositoriesFromXML(file); - assertEquals(2, taskRepositories.size()); - taskRepositories.contains(repository1); - taskRepositories.contains(repository2); - for (TaskRepository repository : taskRepositories) { - if (repository.getUrl().equals(REPURL1)) { - assertEquals(TIMEZONE, repository.getTimeZoneId()); - assertEquals(VERSION, repository.getVersion()); - assertEquals(ENCODING, repository.getCharacterEncoding()); - assertEquals(TIMESTAMP, repository.getSynchronizationTimeStamp()); - } else if (repository.getUrl().equals(REPURL2)) { - assertEquals(TIMEZONE + SUFFIX, repository.getTimeZoneId()); - assertEquals(VERSION + SUFFIX, repository.getVersion()); - assertEquals(ENCODING + SUFFIX, repository.getCharacterEncoding()); - assertEquals(TIMESTAMP + SUFFIX, repository.getSynchronizationTimeStamp()); - } - } - - } - - public void testExternalizationEmptyRepository() { - TaskRepositoriesExternalizer externalizer = new TaskRepositoriesExternalizer(); - String path = "repositories.xml"; - File file = new File(path); - file.deleteOnExit(); - externalizer.writeRepositoriesToXML(taskRepositories, file); - taskRepositories = externalizer.readRepositoriesFromXML(file); - assertEquals(2, taskRepositories.size()); - taskRepositories.clear(); - externalizer.writeRepositoriesToXML(taskRepositories, file); - taskRepositories = externalizer.readRepositoriesFromXML(file); - assertEquals(0, taskRepositories.size()); - } - -} diff --git a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskRepositoryManagerTest.java b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskRepositoryManagerTest.java deleted file mode 100644 index e1172b91a..000000000 --- a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskRepositoryManagerTest.java +++ /dev/null @@ -1,223 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2007 Mylyn project committers 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 - *******************************************************************************/ - -package org.eclipse.mylyn.tasks.tests; - -import java.net.MalformedURLException; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; - -import junit.framework.TestCase; - -import org.eclipse.mylyn.internal.tasks.core.RepositoryTaskHandleUtil; -import org.eclipse.mylyn.tasks.core.AbstractRepositoryConnector; -import org.eclipse.mylyn.tasks.core.AbstractTask; -import org.eclipse.mylyn.tasks.core.TaskRepository; -import org.eclipse.mylyn.tasks.core.TaskRepositoryManager; -import org.eclipse.mylyn.tasks.tests.connector.MockRepositoryConnector; -import org.eclipse.mylyn.tasks.tests.connector.MockRepositoryQuery; -import org.eclipse.mylyn.tasks.tests.connector.MockRepositoryTask; -import org.eclipse.mylyn.tasks.ui.TasksUiPlugin; - -/** - * @author Mik Kersten - * @author Rob Elves - */ -public class TaskRepositoryManagerTest extends TestCase { - - private static final String DEFAULT_KIND = MockRepositoryConnector.REPOSITORY_KIND; - - private static final String DEFAULT_URL = "http://eclipse.org"; - - private static final String ANOTHER_URL = "http://codehaus.org"; - - private TaskRepositoryManager manager; - - @Override - protected void setUp() throws Exception { - super.setUp(); - manager = TasksUiPlugin.getRepositoryManager(); - assertNotNull(manager); - manager.clearRepositories(TasksUiPlugin.getDefault().getRepositoriesFilePath()); - } - - @Override - protected void tearDown() throws Exception { - super.tearDown(); - if (manager != null) { - manager.clearRepositories(TasksUiPlugin.getDefault().getRepositoriesFilePath()); - } - } - - public void testQueryDeletion() { - MockRepositoryTask task = new MockRepositoryTask("1"); - task.setLastReadTimeStamp("now"); - MockRepositoryQuery query = new MockRepositoryQuery("Test"); - TasksUiPlugin.getTaskListManager().getTaskList().addQuery(query); - TasksUiPlugin.getTaskListManager().getTaskList().addTask(task, query); - - assertNotNull(TasksUiPlugin.getTaskListManager().getTaskList().getTask(task.getHandleIdentifier())); - TasksUiPlugin.getTaskListManager().getTaskList().deleteQuery(query); - AbstractTask task2 = TasksUiPlugin.getTaskListManager().getTaskList().getTask(task.getHandleIdentifier()); - assertNotNull(task2); - assertEquals(1, task2.getParentContainers().size()); - - } - - public void testHandles() { - String url = "http://foo.bar"; - String id = "123"; - String handle = RepositoryTaskHandleUtil.getHandle(url, id); - assertEquals(url, RepositoryTaskHandleUtil.getRepositoryUrl(handle)); - assertEquals(id, RepositoryTaskHandleUtil.getTaskId(handle)); -// assertEquals(123, AbstractTask.getTaskIdAsInt(handle)); - } - - public void testMultipleNotAdded() throws MalformedURLException { - TaskRepository repository = new TaskRepository(DEFAULT_KIND, DEFAULT_URL); - manager.addRepository(repository, TasksUiPlugin.getDefault().getRepositoriesFilePath()); - TaskRepository repository2 = new TaskRepository(DEFAULT_KIND, DEFAULT_URL); - manager.addRepository(repository2, TasksUiPlugin.getDefault().getRepositoriesFilePath()); - assertEquals(1, manager.getAllRepositories().size()); - } - - public void testGet() throws MalformedURLException { - assertEquals("", TasksUiPlugin.getDefault().getPreferenceStore().getString( - TaskRepositoryManager.PREF_REPOSITORIES)); - - TaskRepository repository = new TaskRepository(DEFAULT_KIND, DEFAULT_URL); - manager.addRepository(repository, TasksUiPlugin.getDefault().getRepositoriesFilePath()); - assertEquals(repository, manager.getRepository(DEFAULT_KIND, DEFAULT_URL)); - assertNull(manager.getRepository(DEFAULT_KIND, "foo")); - assertNull(manager.getRepository("foo", DEFAULT_URL)); - } - - public void testConnectorAddition() { - AbstractRepositoryConnector connector = new MockRepositoryConnector(); - manager.addRepositoryConnector(connector); - assertNotNull(manager.getRepositoryConnector(connector.getConnectorKind())); - } - - public void testRepositoryPersistance() throws MalformedURLException { - // assertEquals("", - // MylarTaskListPlugin.getMylarCorePrefs().getString(TaskRepositoryManager.PREF_REPOSITORIES)); - - TaskRepository repository1 = new TaskRepository("bugzilla", "http://bugzilla"); - TaskRepository repository2 = new TaskRepository("jira", "http://jira"); - manager.addRepository(repository1, TasksUiPlugin.getDefault().getRepositoriesFilePath()); - manager.addRepository(repository2, TasksUiPlugin.getDefault().getRepositoriesFilePath()); - - // assertNotNull(MylarTaskListPlugin.getMylarCorePrefs().getString(TaskRepositoryManager.PREF_REPOSITORIES)); - - List<TaskRepository> repositoryList = new ArrayList<TaskRepository>(); - repositoryList.add(repository2); - repositoryList.add(repository1); - manager.readRepositories(TasksUiPlugin.getDefault().getRepositoriesFilePath()); - - // NOTE: different conditions for running with and without the JIRA - // Connector - if (manager.getRepositoryConnectors().size() > 1) { - assertTrue(manager.getAllRepositories().contains(repository1)); - assertTrue(manager.getAllRepositories().contains(repository2)); - // assertEquals(repositoryList, manager.getAllRepositories()); - } else { - // TODO there is something wrong with this - assertEquals("all: " + manager.getAllRepositories(), 1, manager.getAllRepositories().size()); - } - } - - public void testRepositoryAttributePersistance() throws MalformedURLException { - assertEquals("", TasksUiPlugin.getDefault().getPreferenceStore().getString( - TaskRepositoryManager.PREF_REPOSITORIES)); - - String version = "123"; - String encoding = "UTF-16"; - String fakeTimeZone = "nowhere"; - Date now = new Date(); - String dateString = now.toString(); - - TaskRepository repository1 = new TaskRepository("bugzilla", "http://bugzilla"); - repository1.setVersion(version); - repository1.setCharacterEncoding(encoding); - repository1.setTimeZoneId(fakeTimeZone); - repository1.setSynchronizationTimeStamp(dateString); - repository1.setAnonymous(true); - manager.addRepository(repository1, TasksUiPlugin.getDefault().getRepositoriesFilePath()); - - manager.readRepositories(TasksUiPlugin.getDefault().getRepositoriesFilePath()); - TaskRepository temp = manager.getRepository(repository1.getConnectorKind(), repository1.getUrl()); - assertNotNull(temp); - assertEquals(version, temp.getVersion()); - assertTrue(temp.isAnonymous()); - assertEquals(encoding, temp.getCharacterEncoding()); - assertEquals(fakeTimeZone, temp.getTimeZoneId()); - assertEquals(dateString, temp.getSynchronizationTimeStamp()); - - } - - public void testRepositoryPersistanceAfterDelete() throws MalformedURLException { - - TaskRepository repository = new TaskRepository(DEFAULT_KIND, DEFAULT_URL); - manager.addRepository(repository, TasksUiPlugin.getDefault().getRepositoriesFilePath()); - assertNotNull(manager.getRepository(repository.getConnectorKind(), repository.getUrl())); - - TaskRepository repository2 = new TaskRepository(DEFAULT_KIND, ANOTHER_URL); - manager.addRepository(repository2, TasksUiPlugin.getDefault().getRepositoriesFilePath()); - assertNotNull(manager.getRepository(repository2.getConnectorKind(), repository2.getUrl())); - - manager.removeRepository(repository2, TasksUiPlugin.getDefault().getRepositoriesFilePath()); - - assertNull(manager.getRepository(repository2.getConnectorKind(), repository2.getUrl())); - } - - public void testRepositoryWithUnnownUrlHandler() { - TaskRepository repository = new TaskRepository("eclipse.technology.mylar", - "nntp://news.eclipse.org/eclipse.technology.mylar"); - - repository.setAuthenticationCredentials("testUser", "testPassword"); - - assertEquals("testUser", repository.getUserName()); - assertEquals("testPassword", repository.getPassword()); - } - - public void testRepositoryWithCustomAttributes() throws Exception { - - // Note: if a connector doesn't exist the associated repositories are not loaded (orphaned) - // causing this test to fail. - AbstractRepositoryConnector connector = new MockRepositoryConnector(); - manager.addRepositoryConnector(connector); - - TaskRepository repository = new TaskRepository(MockRepositoryConnector.REPOSITORY_KIND, - "http://jroller.com/page/eu"); - repository.setProperty("owner", "euxx"); - manager.addRepository(repository, TasksUiPlugin.getDefault().getRepositoriesFilePath()); - - manager.readRepositories(TasksUiPlugin.getDefault().getRepositoriesFilePath()); - - TaskRepository temp = manager.getRepository(repository.getConnectorKind(), repository.getUrl()); - assertNotNull(temp); - assertEquals("euxx", temp.getProperty("owner")); - } - - public void testRepositoryPersistanceSameUrl() throws MalformedURLException { - TaskRepository repository1 = new TaskRepository("bugzilla", "http://repository"); - TaskRepository repository2 = new TaskRepository("jira", "http://repository"); - manager.addRepository(repository1, TasksUiPlugin.getDefault().getRepositoriesFilePath()); - manager.addRepository(repository2, TasksUiPlugin.getDefault().getRepositoriesFilePath()); - assertEquals(2, manager.getAllRepositories().size()); - - List<TaskRepository> repositoryList = new ArrayList<TaskRepository>(); - repositoryList.add(repository2); - repositoryList.add(repository1); - manager.readRepositories(TasksUiPlugin.getDefault().getRepositoriesFilePath()); - - assertEquals("got: " + manager.getAllRepositories(), 2, manager.getAllRepositories().size()); - } - -} diff --git a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskRepositorySorterTest.java b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskRepositorySorterTest.java deleted file mode 100644 index 12857c5cb..000000000 --- a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskRepositorySorterTest.java +++ /dev/null @@ -1,72 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004 - 2006 Mylar committers 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 - *******************************************************************************/ - -package org.eclipse.mylyn.tasks.tests; - -import org.eclipse.mylyn.internal.tasks.core.IRepositoryConstants; -import org.eclipse.mylyn.internal.tasks.ui.views.TaskRepositoriesSorter; -import org.eclipse.mylyn.tasks.core.TaskRepository; - -import junit.framework.TestCase; - -/** - * @author Mik Kersten - */ -public class TaskRepositorySorterTest extends TestCase { - - @Override - protected void setUp() throws Exception { - super.setUp(); - } - - @Override - protected void tearDown() throws Exception { - super.tearDown(); - } - - public void testCategorySorting() { - TaskRepositoriesSorter sorter = new TaskRepositoriesSorter(); - TaskRepository t1 = new TaskRepository("t1", "http://a"); - TaskRepository t2 = new TaskRepository("t2", "http://a"); - TaskRepository t3 = new TaskRepository("t3", "http://a"); - assertTrue(sorter.compare(null, t1, t2) < 0); - assertTrue(sorter.compare(null, t3, t1) > 0); - } - - public void testUrlSorting() { - TaskRepositoriesSorter sorter = new TaskRepositoriesSorter(); - TaskRepository t1 = new TaskRepository("t", "http://a"); - TaskRepository t2 = new TaskRepository("t", "http://b"); - TaskRepository t3 = new TaskRepository("t", "http://c"); - assertTrue(sorter.compare(null, t1, t2) < 0); - assertTrue(sorter.compare(null, t3, t1) > 0); - } - - public void testLabelSorting() { - TaskRepositoriesSorter sorter = new TaskRepositoriesSorter(); - TaskRepository t1 = new TaskRepository("kind", "http://a"); - t1.setProperty(IRepositoryConstants.PROPERTY_LABEL, "a"); - TaskRepository t2 = new TaskRepository("kind", "http://a"); - t2.setProperty(IRepositoryConstants.PROPERTY_LABEL, "b"); - TaskRepository t3 = new TaskRepository("kind", "http://a"); - t3.setProperty(IRepositoryConstants.PROPERTY_LABEL, "c"); - - assertTrue(sorter.compare(null, t1, t2) < 0); - assertTrue(sorter.compare(null, t3, t1) > 0); - } - - public void testLabelVsNoLabel() { - TaskRepositoriesSorter sorter = new TaskRepositoriesSorter(); - TaskRepository t1 = new TaskRepository("kind", "http://a"); - t1.setProperty(IRepositoryConstants.PROPERTY_LABEL, "a"); - TaskRepository t2 = new TaskRepository("kind", "http://a"); - - assertTrue(sorter.compare(null, t1, t2) < 0); - } - -} diff --git a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskRepositoryTest.java b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskRepositoryTest.java deleted file mode 100644 index a2becad24..000000000 --- a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskRepositoryTest.java +++ /dev/null @@ -1,29 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004 - 2006 Mylar committers 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 - *******************************************************************************/ - -package org.eclipse.mylyn.tasks.tests; - -import org.eclipse.mylyn.internal.tasks.core.IRepositoryConstants; -import org.eclipse.mylyn.tasks.core.TaskRepository; - -import junit.framework.TestCase; - -/** - * @author Mik Kersten - */ -public class TaskRepositoryTest extends TestCase { - - public void testLabel() { - TaskRepository repository = new TaskRepository("kind", "http://foo.bar"); - assertTrue(repository.getRepositoryLabel().equals(repository.getUrl())); - - repository.setProperty(IRepositoryConstants.PROPERTY_LABEL, "label"); - assertTrue(repository.getRepositoryLabel().equals("label")); - } - -} diff --git a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskTest.java b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskTest.java deleted file mode 100644 index 53fcbae84..000000000 --- a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskTest.java +++ /dev/null @@ -1,59 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2007 Mylyn project committers 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 - *******************************************************************************/ - -package org.eclipse.mylyn.tasks.tests; - -import junit.framework.TestCase; - -import org.eclipse.mylyn.internal.tasks.core.LocalTask; -import org.eclipse.mylyn.tasks.core.AbstractTask; -import org.eclipse.mylyn.tasks.core.AbstractTask.PriorityLevel; - -/** - * @author Mik Kersten - */ -public class TaskTest extends TestCase { - - @Override - protected void setUp() throws Exception { - super.setUp(); - } - - @Override - protected void tearDown() throws Exception { - super.tearDown(); - } - - public void testUrl() { - AbstractTask task = new LocalTask("handle", "label"); - task.setUrl("http://eclipse.org/mylar/doc.php"); - assertTrue(task.hasValidUrl()); - - task.setUrl("http://"); - assertFalse(task.hasValidUrl()); - - task.setUrl("https://"); - assertFalse(task.hasValidUrl()); - - task.setUrl(""); - assertFalse(task.hasValidUrl()); - - task.setUrl(null); - assertFalse(task.hasValidUrl()); - } - - public void testPriorityNeverNull() { - AbstractTask task = new LocalTask("handle", "label"); - assertNotNull(task.getPriority()); - - PriorityLevel def = PriorityLevel.getDefault(); - assertNotNull(def); - assertEquals(def, AbstractTask.PriorityLevel.fromDescription("garbage")); - assertEquals(def, AbstractTask.PriorityLevel.fromString("garbage")); - } -} diff --git a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskTestUtil.java b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskTestUtil.java deleted file mode 100644 index 434b6a25d..000000000 --- a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskTestUtil.java +++ /dev/null @@ -1,51 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2007 Mylyn project committers 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 - *******************************************************************************/ - -package org.eclipse.mylyn.tasks.tests; - -import java.io.File; -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.net.URL; - -import org.eclipse.core.runtime.FileLocator; - -/** - * @author Mik Kersten - */ -public class TaskTestUtil { - - public static File getLocalFile(String path) { - try { - URL installURL = TasksTestsPlugin.getDefault().getBundle().getEntry(path); - URL localURL = FileLocator.toFileURL(installURL); - return new File(localURL.getFile()); - } catch (IOException e) { - return null; - } - } - - /** - * Adaptred from Java Developers' almanac - */ - public static void copy(File source, File dest) throws IOException { - InputStream in = new FileInputStream(source); - OutputStream out = new FileOutputStream(dest); - byte[] buf = new byte[1024]; - int len; - while ((len = in.read(buf)) > 0) { - out.write(buf, 0, len); - } - in.close(); - out.close(); - } - -} diff --git a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TasksTestsPlugin.java b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TasksTestsPlugin.java deleted file mode 100644 index 5d8612086..000000000 --- a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TasksTestsPlugin.java +++ /dev/null @@ -1,46 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2007 Mylyn project committers 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 - *******************************************************************************/ -package org.eclipse.mylyn.tasks.tests; - -import org.eclipse.core.runtime.Plugin; -import org.osgi.framework.BundleContext; - -/** - * The main plugin class to be used in the desktop. - */ -public class TasksTestsPlugin extends Plugin { - // The shared instance. - private static TasksTestsPlugin plugin; - - /** - * The constructor. - */ - public TasksTestsPlugin() { - super(); - plugin = this; - } - - @Override - public void start(BundleContext context) throws Exception { - super.start(context); - } - - @Override - public void stop(BundleContext context) throws Exception { - super.stop(context); - plugin = null; - } - - /** - * Returns the shared instance. - */ - public static TasksTestsPlugin getDefault() { - return plugin; - } - -} diff --git a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/UrlConnectionUtilTest.java b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/UrlConnectionUtilTest.java deleted file mode 100644 index 513a15f9f..000000000 --- a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/UrlConnectionUtilTest.java +++ /dev/null @@ -1,74 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004 - 2006 Mylar committers 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 - *******************************************************************************/ - -package org.eclipse.mylyn.tasks.tests; - -import java.net.InetSocketAddress; -import java.net.Proxy.Type; - -import junit.framework.TestCase; - -import org.apache.commons.httpclient.NTCredentials; -import org.apache.commons.httpclient.UsernamePasswordCredentials; -import org.eclipse.mylyn.web.core.AuthenticatedProxy; -import org.eclipse.mylyn.web.core.WebClientUtil; - -public class UrlConnectionUtilTest extends TestCase { - - public void testUrlParsers() { - String url = "https://example.com:444/folder/file.txt"; - assertEquals(444, WebClientUtil.getPort(url)); - assertEquals("example.com", WebClientUtil.getDomain(url)); - assertEquals("/folder/file.txt", WebClientUtil.getRequestPath(url)); - - url = "http://example.com/"; - assertEquals(80, WebClientUtil.getPort(url)); - assertEquals("example.com", WebClientUtil.getDomain(url)); - assertEquals("/", WebClientUtil.getRequestPath(url)); - - url = "https://example.com:321"; - assertEquals(321, WebClientUtil.getPort(url)); - assertEquals("example.com", WebClientUtil.getDomain(url)); - assertEquals("", WebClientUtil.getRequestPath(url)); - - url = "example.com:321"; - assertEquals(321, WebClientUtil.getPort(url)); - assertEquals("example.com", WebClientUtil.getDomain(url)); - assertEquals("", WebClientUtil.getRequestPath(url)); - - url = "https://example.com:444/folder/file.txt?search=https://example.com:812/folder/file.txt"; - assertEquals(444, WebClientUtil.getPort(url)); - assertEquals("example.com", WebClientUtil.getDomain(url)); - assertEquals("/folder/file.txt?search=https://example.com:812/folder/file.txt", - WebClientUtil.getRequestPath(url)); - - url = "https://example.com/folder/file.txt?search=https://example.com:812/folder/file.txt"; - assertEquals(443, WebClientUtil.getPort(url)); - assertEquals("example.com", WebClientUtil.getDomain(url)); - assertEquals("/folder/file.txt?search=https://example.com:812/folder/file.txt", - WebClientUtil.getRequestPath(url)); - - } - - public void testCredentials() { - AuthenticatedProxy proxy = new AuthenticatedProxy(Type.HTTP, new InetSocketAddress(4567), "user", "password"); - UsernamePasswordCredentials credentials = (UsernamePasswordCredentials) WebClientUtil.getCredentials(proxy, - new InetSocketAddress(1234)); - assertEquals("user", credentials.getUserName()); - assertEquals("password", credentials.getPassword()); - - proxy = new AuthenticatedProxy(Type.HTTP, new InetSocketAddress(4567), "domain\\user", "password"); - NTCredentials ntCredentials = (NTCredentials) WebClientUtil.getCredentials(proxy, new InetSocketAddress( - "mylar.eclipse.org", 1234)); - assertEquals("user", ntCredentials.getUserName()); - assertEquals("password", ntCredentials.getPassword()); - assertEquals("domain", ntCredentials.getDomain()); - assertEquals("mylar.eclipse.org", ntCredentials.getHost()); - } - -} diff --git a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/connector/MockAttachmentHandler.java b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/connector/MockAttachmentHandler.java deleted file mode 100644 index ee0ee1176..000000000 --- a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/connector/MockAttachmentHandler.java +++ /dev/null @@ -1,81 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004 - 2006 Mylar committers 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 - *******************************************************************************/ - -package org.eclipse.mylyn.tasks.tests.connector; - -import java.io.ByteArrayInputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; - -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.mylyn.tasks.core.AbstractAttachmentHandler; -import org.eclipse.mylyn.tasks.core.AbstractTask; -import org.eclipse.mylyn.tasks.core.ITaskAttachment; -import org.eclipse.mylyn.tasks.core.RepositoryAttachment; -import org.eclipse.mylyn.tasks.core.TaskRepository; - -/** - * @author Steffen Pingel - */ -public class MockAttachmentHandler extends AbstractAttachmentHandler { - - private byte[] data; - - @Override - public boolean canDeprecate(TaskRepository repository, RepositoryAttachment attachment) { - // ignore - return false; - } - - @Override - public boolean canDownloadAttachment(TaskRepository repository, AbstractTask task) { - // ignore - return true; - } - - @Override - public boolean canUploadAttachment(TaskRepository repository, AbstractTask task) { - // ignore - return true; - } - - @Override - public void downloadAttachment(TaskRepository repository, RepositoryAttachment attachment, OutputStream target, - IProgressMonitor monitor) throws CoreException { - try { - target.write(data); - } catch (IOException e) { - throw new RuntimeException(e); - } - } - - @Override - public InputStream getAttachmentAsStream(TaskRepository repository, RepositoryAttachment attachment, - IProgressMonitor monitor) throws CoreException { - // ignore - return new ByteArrayInputStream(data); - } - - @Override - public void updateAttachment(TaskRepository repository, RepositoryAttachment attachment) throws CoreException { - // ignore - } - - @Override - public void uploadAttachment(TaskRepository repository, AbstractTask task, ITaskAttachment attachment, - String comment, IProgressMonitor monitor) throws CoreException { - // ignore - } - - public void setAttachmentData(byte[] data) { - this.data = data; - } - -} diff --git a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/connector/MockAttributeFactory.java b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/connector/MockAttributeFactory.java deleted file mode 100644 index 2063e7103..000000000 --- a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/connector/MockAttributeFactory.java +++ /dev/null @@ -1,51 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004 - 2006 Mylar committers 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 - *******************************************************************************/ - -package org.eclipse.mylyn.tasks.tests.connector; - -import java.util.Date; - -import org.eclipse.mylyn.tasks.core.AbstractAttributeFactory; - -/** - * @author Rob Elves - */ -public class MockAttributeFactory extends AbstractAttributeFactory { - - private static final long serialVersionUID = 7713746838934802731L; - - @Override - public boolean isHidden(String key) { - // ignore - return false; - } - - @Override - public String getName(String key) { - // ignore - return key; - } - - @Override - public boolean isReadOnly(String key) { - // ignore - return false; - } - - @Override - public String mapCommonAttributeKey(String key) { - return key; - } - - @Override - public Date getDateForAttributeType(String attributeKey, String dateString) { - // ignore - return null; - } - -} diff --git a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/connector/MockRepositoryConnector.java b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/connector/MockRepositoryConnector.java deleted file mode 100644 index 36368b1fa..000000000 --- a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/connector/MockRepositoryConnector.java +++ /dev/null @@ -1,170 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2007 Mylyn project committers 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 - *******************************************************************************/ - -package org.eclipse.mylyn.tasks.tests.connector; - -import java.util.Collections; -import java.util.Set; - -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.mylyn.tasks.core.AbstractAttachmentHandler; -import org.eclipse.mylyn.tasks.core.AbstractAttributeFactory; -import org.eclipse.mylyn.tasks.core.AbstractRepositoryConnector; -import org.eclipse.mylyn.tasks.core.AbstractRepositoryQuery; -import org.eclipse.mylyn.tasks.core.AbstractTask; -import org.eclipse.mylyn.tasks.core.AbstractTaskDataHandler; -import org.eclipse.mylyn.tasks.core.ITaskCollector; -import org.eclipse.mylyn.tasks.core.RepositoryTaskData; -import org.eclipse.mylyn.tasks.core.TaskRepository; - -/** - * @author Mik Kersten - * @author Rob Elves - */ -public class MockRepositoryConnector extends AbstractRepositoryConnector { - - public static final String REPOSITORY_KIND = "mock"; - - public static final String REPOSITORY_URL = "http://mockrepository.test"; - - private AbstractAttachmentHandler attachmentHandler; - - @Override - public boolean canCreateNewTask(TaskRepository repository) { - // ignore - return false; - } - - @Override - public boolean canCreateTaskFromKey(TaskRepository repository) { - // ignore - return false; - } - - @Override - public AbstractAttachmentHandler getAttachmentHandler() { - return attachmentHandler; - } - - @Override - public String getLabel() { - return "Mock Repository (for unit tests)"; - } - - @Override - public AbstractTaskDataHandler getTaskDataHandler() { - // ignore - return new AbstractTaskDataHandler() { - - @Override - public AbstractAttributeFactory getAttributeFactory(String repositoryUrl, String repositoryKind, - String taskKind) { - // we don't care about the repository information right now - return new MockAttributeFactory(); - } - - @Override - public RepositoryTaskData getTaskData(TaskRepository repository, String taskId, IProgressMonitor monitor) - throws CoreException { - // ignore - return null; - } - - @Override - public String postTaskData(TaskRepository repository, RepositoryTaskData taskData, IProgressMonitor monitor) - throws CoreException { - // ignore - return null; - } - - @Override - public boolean initializeTaskData(TaskRepository repository, RepositoryTaskData data, - IProgressMonitor monitor) throws CoreException { - // ignore - return false; - } - - @Override - public AbstractAttributeFactory getAttributeFactory(RepositoryTaskData taskData) { - // ignore - return new MockAttributeFactory(); - } - - @Override - public Set<String> getSubTaskIds(RepositoryTaskData taskData) { - return Collections.emptySet(); - } - - }; - } - - @Override - public String getConnectorKind() { - return REPOSITORY_KIND; - } - - @Override - public String getRepositoryUrlFromTaskUrl(String url) { - // ignore - return null; - } - - @Override - public String getTaskIdFromTaskUrl(String url) { - // ignore - return null; - } - - @Override - public String getTaskUrl(String repositoryUrl, String taskId) { - return null; - } - - @Override - public void updateAttributes(TaskRepository repository, IProgressMonitor monitor) throws CoreException { - // ignore - } - - @Override - public void updateTaskFromRepository(TaskRepository repository, AbstractTask repositoryTask, - IProgressMonitor monitor) { - // ignore - } - - @Override - public boolean markStaleTasks(TaskRepository repository, Set<AbstractTask> tasks, IProgressMonitor monitor) { - // ignore - return false; - } - - @Override - public AbstractTask createTask(String repositoryUrl, String id, String summary) { - // ignore - return null; - } - - @Override - public void updateTaskFromTaskData(TaskRepository repository, AbstractTask repositoryTask, - RepositoryTaskData taskData) { - // ignore - - } - - @Override - public IStatus performQuery(AbstractRepositoryQuery query, TaskRepository repository, IProgressMonitor monitor, - ITaskCollector resultCollector) { - // ignore - return null; - } - - public void setAttachmentHandler(AbstractAttachmentHandler attachmentHandler) { - this.attachmentHandler = attachmentHandler; - } -} diff --git a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/connector/MockRepositoryQuery.java b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/connector/MockRepositoryQuery.java deleted file mode 100644 index 61a60b85e..000000000 --- a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/connector/MockRepositoryQuery.java +++ /dev/null @@ -1,35 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2007 Mylyn project committers 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 - *******************************************************************************/ - -package org.eclipse.mylyn.tasks.tests.connector; - -import org.eclipse.mylyn.tasks.core.AbstractRepositoryQuery; - -/** - * @author Mik Kersten - */ -public class MockRepositoryQuery extends AbstractRepositoryQuery { - - public String MOCK_URL = "http://mock.repository"; - - public MockRepositoryQuery(String description) { - super(description); - super.setUrl(MOCK_URL); - } - - public MockRepositoryQuery(String description, String url) { - super(description); - super.setUrl(url); - } - - @Override - public String getRepositoryKind() { - return "mock"; - } - -} diff --git a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/connector/MockRepositoryTask.java b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/connector/MockRepositoryTask.java deleted file mode 100644 index 2709982ed..000000000 --- a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/connector/MockRepositoryTask.java +++ /dev/null @@ -1,62 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2007 Mylyn project committers 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 - *******************************************************************************/ - -package org.eclipse.mylyn.tasks.tests.connector; - -import org.eclipse.mylyn.tasks.core.AbstractTask; - -/** - * @author Mik Kersten - */ -public class MockRepositoryTask extends AbstractTask { - - private String ownerId; - - public MockRepositoryTask(String taskId) { - super(MockRepositoryConnector.REPOSITORY_URL, taskId, taskId); - } - - public MockRepositoryTask(String repositoryUrl, String taskId) { - super(repositoryUrl, taskId, taskId); - } - - public MockRepositoryTask(String repositoryUrl, String taskId, String summary) { - super(repositoryUrl, taskId, summary); - } - - @Override - public String getConnectorKind() { - return "mock"; - } - - @Override - public void setOwner(String ownerId) { - this.ownerId = ownerId; - } - - @Override - public String getOwner() { - if (ownerId == null) { - return super.getOwner(); - } else { - return ownerId; - } - } - - @Override - public String toString() { - return "Mock Task: " + super.getHandleIdentifier(); - } - - @Override - public boolean isLocal() { - // ignore - return false; - } - -} diff --git a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/connector/MockStatusHandler.java b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/connector/MockStatusHandler.java deleted file mode 100644 index d284d3107..000000000 --- a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/connector/MockStatusHandler.java +++ /dev/null @@ -1,32 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004 - 2006 Mylar committers 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 - *******************************************************************************/ - -package org.eclipse.mylyn.tasks.tests.connector; - -import junit.framework.TestCase; - -import org.eclipse.core.runtime.IStatus; -import org.eclipse.mylyn.internal.monitor.core.util.IStatusHandler; - -public class MockStatusHandler implements IStatusHandler { - - private IStatus status; - - public void displayStatus(String title, IStatus status) { - this.status = status; - } - - public void fail(IStatus status, boolean informUser) { - this.status = status; - } - - public void assertNoStatus() { - TestCase.assertNull("Unexpected error reported through MylarStatusHandler", status); - } - -} diff --git a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/connector/MockTaskConnectorUi.java b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/connector/MockTaskConnectorUi.java deleted file mode 100644 index 1c6710931..000000000 --- a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/connector/MockTaskConnectorUi.java +++ /dev/null @@ -1,49 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004 - 2006 Mylar committers 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 - *******************************************************************************/ - -package org.eclipse.mylyn.tasks.tests.connector; - -import org.eclipse.jface.wizard.IWizard; -import org.eclipse.mylyn.tasks.core.AbstractRepositoryQuery; -import org.eclipse.mylyn.tasks.core.TaskRepository; -import org.eclipse.mylyn.tasks.ui.AbstractRepositoryConnectorUi; -import org.eclipse.mylyn.tasks.ui.wizards.AbstractRepositorySettingsPage; - -/** - * @author Mik Kersten - */ -public class MockTaskConnectorUi extends AbstractRepositoryConnectorUi { - - @Override - public IWizard getNewTaskWizard(TaskRepository taskRepository) { - // ignore - return null; - } - - @Override - public String getConnectorKind() { - return "mock"; - } - - @Override - public AbstractRepositorySettingsPage getSettingsPage() { - // ignore - return null; - } - - @Override - public boolean hasSearchPage() { - return false; - } - - @Override - public IWizard getQueryWizard(TaskRepository repository, AbstractRepositoryQuery query) { - // ignore - return null; - } -} diff --git a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/connector/MockTaskListFactory.java b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/connector/MockTaskListFactory.java deleted file mode 100644 index 5654f1cb4..000000000 --- a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/connector/MockTaskListFactory.java +++ /dev/null @@ -1,80 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2007 Mylyn project committers 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 - *******************************************************************************/ - -package org.eclipse.mylyn.tasks.tests.connector; - -import org.eclipse.mylyn.tasks.core.AbstractTask; -import org.eclipse.mylyn.tasks.core.AbstractTaskListFactory; -import org.w3c.dom.Element; - -/** - * @author Mik Kersten - */ -public class MockTaskListFactory extends AbstractTaskListFactory { - - @Override - public boolean canCreate(AbstractTask task) { - return task instanceof MockRepositoryTask; - } - - @Override - public AbstractTask createTask(String repositoryUrl, String taskId, String summary, Element element) { - MockRepositoryTask task = new MockRepositoryTask(repositoryUrl, taskId, summary); - return task; - } - - @Override - public String getTaskElementName() { - return "Mock" + AbstractTaskListFactory.KEY_TASK; - } - -// private static final String KEY_MOCK = "Mock"; -// -// @Override -// public boolean canCreateElementFor(AbstractRepositoryQuery query) { -// return query instanceof MockRepositoryQuery; -// } -// -// @Override -// public boolean canCreateElementFor(AbstractTask task) { -// return task instanceof MockRepositoryTask; -// } - -// @Override -// public boolean canCreateElementFor(AbstractQueryHit queryHit) { -// return queryHit instanceof AbstractQueryHit; -// } - -// @Override -// public boolean canReadCategory(Node node) { -// return false; -// } -// -// @Override -// public boolean canReadQuery(Node node) { -// return false; -// } -// -// @Override -// public boolean canReadQueryHit(Node node) { -// return false; -// } - -// @Override -// public String getTaskTagName() { -// return KEY_MOCK; -// } -// -// @Override -// public AbstractTask createTask(String repositoryUrl, String taskId, String summary, Element element, TaskList taskList, AbstractTaskContainer category, AbstractTask parent) -// throws TaskExternalizationException { -// MockRepositoryTask task = new MockRepositoryTask(repositoryUrl, taskId, summary); -// return task; -// } - -} |