diff options
author | relves | 2008-12-12 21:42:16 +0000 |
---|---|---|
committer | relves | 2008-12-12 21:42:16 +0000 |
commit | 1faecfd359e3702fea8882570e99d2f3750f1b05 (patch) | |
tree | fa0a0a874360ca9edb60cd4294eac4f863bb3ed3 /org.eclipse.mylyn.bugzilla.tests | |
parent | 89cf9802ccca470a31dc5224f697e743e1fc4cf6 (diff) | |
download | org.eclipse.mylyn.tasks-1faecfd359e3702fea8882570e99d2f3750f1b05.tar.gz org.eclipse.mylyn.tasks-1faecfd359e3702fea8882570e99d2f3750f1b05.tar.xz org.eclipse.mylyn.tasks-1faecfd359e3702fea8882570e99d2f3750f1b05.zip |
ASSIGNED - bug 186265: [patch] Add support for Bugzilla flags
https://bugs.eclipse.org/bugs/show_bug.cgi?id=186265
Diffstat (limited to 'org.eclipse.mylyn.bugzilla.tests')
2 files changed, 217 insertions, 5 deletions
diff --git a/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/BugzillaRepository32Test.java b/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/BugzillaRepository32Test.java index 995084341..5f14fa537 100644 --- a/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/BugzillaRepository32Test.java +++ b/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/BugzillaRepository32Test.java @@ -13,8 +13,10 @@ package org.eclipse.mylyn.bugzilla.tests; import java.text.SimpleDateFormat; import java.util.ArrayList; +import java.util.Collection; import java.util.HashSet; import java.util.List; +import java.util.Map; import java.util.Set; import org.eclipse.core.runtime.CoreException; @@ -30,6 +32,219 @@ import org.eclipse.mylyn.tasks.core.data.TaskMapper; public class BugzillaRepository32Test extends AbstractBugzillaTest { + @SuppressWarnings("null") + public void testFlags() throws Exception { + init32(); + String taskNumber = "10"; +// init("http://macmainz.dyndns.org/Internet/Bugzilla_Develop/"); +// String taskNumber = "7"; + ITask task = generateLocalTaskAndDownload(taskNumber); + assertNotNull(task); + TaskData taskData = TasksUiPlugin.getTaskDataManager().getTaskData(task); + assertNotNull(taskData); + Collection<TaskAttribute> a = taskData.getRoot().getAttributes().values(); + TaskAttribute flagA = null; + TaskAttribute flagB = null; + TaskAttribute flagC = null; + TaskAttribute flagD = null; + TaskAttribute stateA = null; + TaskAttribute stateB = null; + TaskAttribute stateC = null; + TaskAttribute stateD = null; + for (TaskAttribute taskAttribute : a) { + if (taskAttribute.getId().startsWith("task.common.kind.flag")) { + TaskAttribute state = taskAttribute.getAttribute("state"); + if (state.getMetaData().getLabel().equals("FLAG_A")) { + flagA = taskAttribute; + stateA = state; + } else if (state.getMetaData().getLabel().equals("FLAG_B")) { + flagB = taskAttribute; + stateB = state; + } else if (state.getMetaData().getLabel().equals("FLAG_C")) { + flagC = taskAttribute; + stateC = state; + } else if (state.getMetaData().getLabel().equals("FLAG_D")) { + flagD = taskAttribute; + stateD = state; + } + } + } + assertNotNull(flagA); + assertNotNull(flagB); + assertNotNull(flagC); + assertNotNull(flagD); + assertNotNull(stateA); + assertNotNull(stateB); + assertNotNull(stateC); + assertNotNull(stateD); + assertEquals(" ", stateA.getValue()); + assertEquals(" ", stateB.getValue()); + assertEquals(" ", stateC.getValue()); + assertEquals(" ", stateD.getValue()); + assertEquals("task.common.kind.flag_type1", flagA.getId()); + assertEquals("task.common.kind.flag_type2", flagB.getId()); + assertEquals("task.common.kind.flag_type3", flagC.getId()); + assertEquals("task.common.kind.flag_type4", flagD.getId()); + Map<String, String> optionA = stateA.getOptions(); + Map<String, String> optionB = stateB.getOptions(); + Map<String, String> optionC = stateC.getOptions(); + Map<String, String> optionD = stateD.getOptions(); + assertEquals(true, optionA.containsKey("")); + assertEquals(false, optionA.containsKey("?")); + assertEquals(true, optionA.containsKey("+")); + assertEquals(true, optionA.containsKey("-")); + assertEquals(true, optionB.containsKey("")); + assertEquals(true, optionB.containsKey("?")); + assertEquals(true, optionB.containsKey("+")); + assertEquals(true, optionB.containsKey("-")); + assertEquals(true, optionC.containsKey("")); + assertEquals(true, optionC.containsKey("?")); + assertEquals(true, optionC.containsKey("+")); + assertEquals(true, optionC.containsKey("-")); + assertEquals(true, optionD.containsKey("")); + assertEquals(true, optionD.containsKey("?")); + assertEquals(true, optionD.containsKey("+")); + assertEquals(true, optionD.containsKey("-")); + Set<TaskAttribute> changed = new HashSet<TaskAttribute>(); + stateA.setValue("+"); + stateB.setValue("?"); + stateC.setValue("?"); + stateD.setValue("?"); + TaskAttribute requesteeD = flagD.getAttribute("requestee"); +// requesteeD.setValue("rob.elves@eclipse.org"); + requesteeD.setValue("Mylyn@Frank-Becker.de"); + changed.add(flagA); + changed.add(flagB); + changed.add(flagC); + changed.add(flagD); + + submit(task, taskData, changed); + task = generateLocalTaskAndDownload(taskNumber); + assertNotNull(task); + taskData = TasksUiPlugin.getTaskDataManager().getTaskData(task); + assertNotNull(taskData); + a = taskData.getRoot().getAttributes().values(); + flagA = null; + flagB = null; + flagC = null; + TaskAttribute flagC2 = null; + flagD = null; + stateA = null; + stateB = null; + stateC = null; + TaskAttribute stateC2 = null; + stateD = null; + for (TaskAttribute taskAttribute : a) { + if (taskAttribute.getId().startsWith("task.common.kind.flag")) { + TaskAttribute state = taskAttribute.getAttribute("state"); + if (state.getMetaData().getLabel().equals("FLAG_A")) { + flagA = taskAttribute; + stateA = state; + } else if (state.getMetaData().getLabel().equals("FLAG_B")) { + flagB = taskAttribute; + stateB = state; + } else if (state.getMetaData().getLabel().equals("FLAG_C")) { + if (flagC == null) { + flagC = taskAttribute; + stateC = state; + } else { + flagC2 = taskAttribute; + stateC2 = state; + } + } else if (state.getMetaData().getLabel().equals("FLAG_D")) { + flagD = taskAttribute; + stateD = state; + } + } + } + assertNotNull(flagA); + assertNotNull(flagB); + assertNotNull(flagC); + assertNotNull(flagC2); + assertNotNull(flagD); + assertNotNull(stateA); + assertNotNull(stateB); + assertNotNull(stateC); + assertNotNull(stateC2); + assertNotNull(stateD); + assertEquals("+", stateA.getValue()); + assertEquals("?", stateB.getValue()); + assertEquals("?", stateC.getValue()); + assertEquals(" ", stateC2.getValue()); + assertEquals("?", stateD.getValue()); + requesteeD = flagD.getAttribute("requestee"); + assertNotNull(requesteeD); + assertEquals("Mylyn@Frank-Becker.de", requesteeD.getValue()); + stateA.setValue(" "); + stateB.setValue(" "); + stateC.setValue(" "); + stateD.setValue(" "); +// requesteeD = flagD.getAttribute("requestee"); +//// requesteeD.setValue("rob.elves@eclipse.org"); +// requesteeD.setValue("Mylyn@Frank-Becker.de"); + changed.add(flagA); + changed.add(flagB); + changed.add(flagC); + changed.add(flagD); + + submit(task, taskData, changed); + task = generateLocalTaskAndDownload(taskNumber); + assertNotNull(task); + taskData = TasksUiPlugin.getTaskDataManager().getTaskData(task); + assertNotNull(taskData); + a = taskData.getRoot().getAttributes().values(); + flagA = null; + flagB = null; + flagC = null; + flagC2 = null; + flagD = null; + stateA = null; + stateB = null; + stateC = null; + stateC2 = null; + stateD = null; + for (TaskAttribute taskAttribute : a) { + if (taskAttribute.getId().startsWith("task.common.kind.flag")) { + TaskAttribute state = taskAttribute.getAttribute("state"); + if (state.getMetaData().getLabel().equals("FLAG_A")) { + flagA = taskAttribute; + stateA = state; + } else if (state.getMetaData().getLabel().equals("FLAG_B")) { + flagB = taskAttribute; + stateB = state; + } else if (state.getMetaData().getLabel().equals("FLAG_C")) { + if (flagC == null) { + flagC = taskAttribute; + stateC = state; + } else { + flagC2 = taskAttribute; + stateC2 = state; + } + } else if (state.getMetaData().getLabel().equals("FLAG_D")) { + flagD = taskAttribute; + stateD = state; + } + } + } + assertNotNull(flagA); + assertNotNull(flagB); + assertNotNull(flagC); + assertNull(flagC2); + assertNotNull(flagD); + assertNotNull(stateA); + assertNotNull(stateB); + assertNotNull(stateC); + assertNull(stateC2); + assertNotNull(stateD); + assertEquals(" ", stateA.getValue()); + assertEquals(" ", stateB.getValue()); + assertEquals(" ", stateC.getValue()); + assertEquals(" ", stateD.getValue()); + requesteeD = flagD.getAttribute("requestee"); + assertNotNull(requesteeD); + assertEquals("", requesteeD.getValue()); + } + public void testCustomAttributes() throws Exception { init32(); String taskNumber = "1"; diff --git a/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/BugzillaRepositoryConnectorTest.java b/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/BugzillaRepositoryConnectorTest.java index 8eaa52a4e..302e137e1 100644 --- a/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/BugzillaRepositoryConnectorTest.java +++ b/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/BugzillaRepositoryConnectorTest.java @@ -47,7 +47,6 @@ import org.eclipse.mylyn.tasks.core.ITask.SynchronizationState; import org.eclipse.mylyn.tasks.core.RepositoryResponse.ResponseKind; import org.eclipse.mylyn.tasks.core.data.ITaskDataWorkingCopy; import org.eclipse.mylyn.tasks.core.data.TaskAttachmentMapper; -import org.eclipse.mylyn.tasks.core.data.TaskAttachmentPartSource; import org.eclipse.mylyn.tasks.core.data.TaskAttribute; import org.eclipse.mylyn.tasks.core.data.TaskAttributeMapper; import org.eclipse.mylyn.tasks.core.data.TaskCommentMapper; @@ -477,12 +476,10 @@ public class BugzillaRepositoryConnectorTest extends AbstractBugzillaTest { /* Test attempt to upload a non-existent file */ String filePath = "/this/is/not/a/real-file"; - TaskAttachmentPartSource source = new TaskAttachmentPartSource( - new FileTaskAttachmentSource(new File(filePath)), "real-file"); BugzillaClient client = connector.getClientManager().getClient(repository, new NullProgressMonitor()); try { - client.postAttachment(taskNumber, attachmentMapper.getComment(), attachmentMapper.getDescription(), - "application/octet-stream", false, source, new NullProgressMonitor()); + client.postAttachment(taskNumber, attachmentMapper.getComment(), new FileTaskAttachmentSource(new File( + filePath)), attrAttachment, new NullProgressMonitor()); fail(); } catch (Exception e) { } |