Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrelves2008-12-12 21:42:16 +0000
committerrelves2008-12-12 21:42:16 +0000
commit1faecfd359e3702fea8882570e99d2f3750f1b05 (patch)
treefa0a0a874360ca9edb60cd4294eac4f863bb3ed3 /org.eclipse.mylyn.bugzilla.tests
parent89cf9802ccca470a31dc5224f697e743e1fc4cf6 (diff)
downloadorg.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')
-rw-r--r--org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/BugzillaRepository32Test.java215
-rw-r--r--org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/BugzillaRepositoryConnectorTest.java7
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) {
}

Back to the top