Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'org.eclipse.mylyn.bugzilla.tests')
-rw-r--r--org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/AllBugzillaTests.java2
-rw-r--r--org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/BugzillaRepositoryConnectorTest.java327
-rw-r--r--org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/core/BugzillaClientTest.java22
-rw-r--r--org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/core/BugzillaRepositoryConnectorStandaloneTest.java13
-rw-r--r--org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/support/BugzillaFixture.java25
-rw-r--r--org.eclipse.mylyn.bugzilla.tests/testdata/descriptor/Bugzilla_3.6.3/Custom_WorkflowTransition.txt14
-rw-r--r--org.eclipse.mylyn.bugzilla.tests/testdata/descriptor/Bugzilla_3.6.3/Custom_Workflow_and_StatusTransition.txt14
7 files changed, 385 insertions, 32 deletions
diff --git a/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/AllBugzillaTests.java b/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/AllBugzillaTests.java
index 2df941d0e..8e0f3f64a 100644
--- a/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/AllBugzillaTests.java
+++ b/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/AllBugzillaTests.java
@@ -87,8 +87,8 @@ public class AllBugzillaTests {
// Only run these tests on > 3.2 repositories
if (!fixture.getBugzillaVersion().isSmallerOrEquals(BugzillaVersion.BUGZILLA_3_2)) {
if (fixture != BugzillaFixture.BUGS_HEAD) {
- fixture.add(BugzillaRepositoryConnectorTest.class);
}
+ fixture.add(BugzillaRepositoryConnectorTest.class);
fixture.add(BugzillaAttachmentHandlerTest.class);
}
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 6531bc7a8..743029340 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
@@ -331,25 +331,330 @@ public class BugzillaRepositoryConnectorTest extends AbstractBugzillaTest {
// submit(task, taskData, null);
// }
- /*
- * Test for the following State transformation
- * NEW -> ASSIGNED -> RESOLVED DUPLICATE -> VERIFIED -> CLOSED -> REOPENED -> RESOLVED FIXED
- *
- */
-
// FIXME
// public void testStdWorkflow222() throws Exception {
// init222();
// doStdWorkflow("101");
// }
//
- public void testStdWorkflow32() throws Exception {
- if (BugzillaFixture.current() != BugzillaFixture.BUGS_3_6_CUSTOM_WF) {
- doStdWorkflow("3");
+ public void testStdWorkflow() throws Exception {
+ if (BugzillaFixture.current().getBugzillaVersion().compareMajorMinorOnly(BugzillaVersion.BUGZILLA_4_0) < 0) {
+ if (BugzillaFixture.current() != BugzillaFixture.BUGS_3_6_CUSTOM_WF) {
+ doStdWorkflow32("3");
+ }
+ } else {
+ doStdWorkflow40_1("3");
+ doStdWorkflow40_2("3");
}
+
+ }
+
+ private void doStdWorkflow40_1(String dupBugID) throws Exception {
+ final TaskMapping taskMappingInit = new TaskMapping() {
+
+ @Override
+ public String getProduct() {
+ return "TestProduct";
+ }
+ };
+ final TaskMapping taskMappingSelect = new TaskMapping() {
+ @Override
+ public String getComponent() {
+ return "TestComponent";
+ }
+
+ @Override
+ public String getSummary() {
+ return "test the std workflow";
+ }
+
+ @Override
+ public String getDescription() {
+ return "The Description of the std workflow task";
+ }
+
+ };
+
+ final TaskData[] taskDataNew = new TaskData[1];
+ // create Task
+ taskDataNew[0] = TasksUiInternal.createTaskData(repository, taskMappingInit, taskMappingSelect, null);
+ ITask taskNew = TasksUiUtil.createOutgoingNewTask(taskDataNew[0].getConnectorKind(),
+ taskDataNew[0].getRepositoryUrl());
+
+ ITaskDataWorkingCopy workingCopy = TasksUi.getTaskDataManager().createWorkingCopy(taskNew, taskDataNew[0]);
+ Set<TaskAttribute> changed = new HashSet<TaskAttribute>();
+ workingCopy.save(changed, null);
+
+ RepositoryResponse response = BugzillaFixture.current().submitTask(taskDataNew[0], client);//connector.getTaskDataHandler().postTaskData(repository, taskDataNew[0], changed,
+ //new NullProgressMonitor());
+ ((AbstractTask) taskNew).setSubmitting(true);
+
+ assertNotNull(response);
+ assertEquals(ResponseKind.TASK_CREATED.toString(), response.getReposonseKind().toString());
+ String taskId = response.getTaskId();
+
+ // change Status from CONFIRMED -> IN_PROGRESS
+ ITask task = generateLocalTaskAndDownload(taskId);
+ assertNotNull(task);
+ TaskDataModel model = createModel(task);
+ TaskData taskData = model.getTaskData();
+ assertNotNull(taskData);
+ TaskAttribute statusAttribute = taskData.getRoot().getMappedAttribute(TaskAttribute.STATUS);
+ assertEquals("CONFIRMED", statusAttribute.getValue());
+ TaskAttribute selectedOperationAttribute = taskData.getRoot().getMappedAttribute(TaskAttribute.OPERATION);
+ TaskOperation.applyTo(selectedOperationAttribute, BugzillaOperation.in_progress.toString(),
+ BugzillaOperation.in_progress.getLabel());
+ model.attributeChanged(selectedOperationAttribute);
+ changed.clear();
+ changed.add(selectedOperationAttribute);
+ workingCopy.save(changed, null);
+ response = BugzillaFixture.current().submitTask(taskData, client);
+ assertEquals(ResponseKind.TASK_UPDATED.toString(), response.getReposonseKind().toString());
+
+ // change Status from IN_PROGRESS -> RESOLVED DUPLICATE
+ task = generateLocalTaskAndDownload(taskId);
+ assertNotNull(task);
+ model = createModel(task);
+ taskData = model.getTaskData();
+ assertNotNull(taskData);
+ statusAttribute = taskData.getRoot().getMappedAttribute(TaskAttribute.STATUS);
+ assertEquals("IN_PROGRESS", statusAttribute.getValue());
+ selectedOperationAttribute = taskData.getRoot().getMappedAttribute(TaskAttribute.OPERATION);
+ TaskOperation.applyTo(selectedOperationAttribute, BugzillaOperation.duplicate.toString(),
+ BugzillaOperation.duplicate.getLabel());
+ TaskAttribute duplicateAttribute = taskData.getRoot().getAttribute("dup_id");
+ duplicateAttribute.setValue(dupBugID);
+ model.attributeChanged(selectedOperationAttribute);
+ model.attributeChanged(duplicateAttribute);
+ changed.clear();
+ changed.add(selectedOperationAttribute);
+ changed.add(duplicateAttribute);
+ workingCopy.save(changed, null);
+ response = BugzillaFixture.current().submitTask(taskData, client);
+ assertNotNull(response);
+ assertEquals(ResponseKind.TASK_UPDATED.toString(), response.getReposonseKind().toString());
+
+ // change Status from RESOLVED DUPLICATE -> VERIFIED
+ task = generateLocalTaskAndDownload(taskId);
+ assertNotNull(task);
+ model = createModel(task);
+ taskData = model.getTaskData();
+ assertNotNull(taskData);
+ statusAttribute = taskData.getRoot().getMappedAttribute(TaskAttribute.STATUS);
+ assertEquals("RESOLVED", statusAttribute.getValue());
+ TaskAttribute resolution = taskData.getRoot().getMappedAttribute(TaskAttribute.RESOLUTION);
+ assertEquals("DUPLICATE", resolution.getValue());
+ selectedOperationAttribute = taskData.getRoot().getMappedAttribute(TaskAttribute.OPERATION);
+ TaskOperation.applyTo(selectedOperationAttribute, BugzillaOperation.verify.toString(),
+ BugzillaOperation.verify.getLabel());
+ model.attributeChanged(selectedOperationAttribute);
+ changed.clear();
+ changed.add(selectedOperationAttribute);
+ workingCopy.save(changed, null);
+ response = BugzillaFixture.current().submitTask(taskData, client);
+ assertNotNull(response);
+ assertEquals(ResponseKind.TASK_UPDATED.toString(), response.getReposonseKind().toString());
+
+ // change Status from VERIFIED -> CONFIRMED
+ task = generateLocalTaskAndDownload(taskId);
+ assertNotNull(task);
+ model = createModel(task);
+ taskData = model.getTaskData();
+ assertNotNull(taskData);
+ statusAttribute = taskData.getRoot().getMappedAttribute(TaskAttribute.STATUS);
+ assertEquals("VERIFIED", statusAttribute.getValue());
+ selectedOperationAttribute = taskData.getRoot().getMappedAttribute(TaskAttribute.OPERATION);
+ TaskOperation.applyTo(selectedOperationAttribute, BugzillaOperation.confirmed.toString(),
+ BugzillaOperation.confirmed.getLabel());
+ model.attributeChanged(selectedOperationAttribute);
+ changed.clear();
+ changed.add(selectedOperationAttribute);
+ workingCopy.save(changed, null);
+ response = BugzillaFixture.current().submitTask(taskData, client);
+ assertNotNull(response);
+ assertEquals(ResponseKind.TASK_UPDATED.toString(), response.getReposonseKind().toString());
+
+ // change Status from CONFIRMED -> RESOLVED FIXED
+ task = generateLocalTaskAndDownload(taskId);
+ assertNotNull(task);
+ model = createModel(task);
+ taskData = model.getTaskData();
+ assertNotNull(taskData);
+ statusAttribute = taskData.getRoot().getMappedAttribute(TaskAttribute.STATUS);
+ assertEquals("CONFIRMED", statusAttribute.getValue());
+ selectedOperationAttribute = taskData.getRoot().getMappedAttribute(TaskAttribute.OPERATION);
+ TaskOperation.applyTo(selectedOperationAttribute, BugzillaOperation.resolve.toString(),
+ BugzillaOperation.resolve.getLabel());
+ resolution = taskData.getRoot().getMappedAttribute(TaskAttribute.RESOLUTION);
+ resolution.setValue("FIXED");
+ model.attributeChanged(selectedOperationAttribute);
+ changed.clear();
+ changed.add(selectedOperationAttribute);
+ workingCopy.save(changed, null);
+ response = BugzillaFixture.current().submitTask(taskData, client);
+ assertNotNull(response);
+ assertEquals(ResponseKind.TASK_UPDATED.toString(), response.getReposonseKind().toString());
+
+ task = generateLocalTaskAndDownload(taskId);
+ assertNotNull(task);
+ model = createModel(task);
+ taskData = model.getTaskData();
+ assertNotNull(taskData);
+ statusAttribute = taskData.getRoot().getMappedAttribute(TaskAttribute.STATUS);
+ assertEquals("RESOLVED", statusAttribute.getValue());
+ resolution = taskData.getRoot().getMappedAttribute(TaskAttribute.RESOLUTION);
+ assertEquals("FIXED", resolution.getValue());
}
- private void doStdWorkflow(String DupBugID) throws Exception {
+ private void doStdWorkflow40_2(String dupBugID) throws Exception {
+ final TaskMapping taskMappingInit = new TaskMapping() {
+
+ @Override
+ public String getProduct() {
+ return "Scratch";
+ }
+ };
+ final TaskMapping taskMappingSelect = new TaskMapping() {
+ @Override
+ public String getComponent() {
+ return "Component 1";
+ }
+
+ @Override
+ public String getSummary() {
+ return "test the std workflow for Scratch";
+ }
+
+ @Override
+ public String getDescription() {
+ return "The Description of the std workflow task";
+ }
+
+ };
+
+ final TaskData[] taskDataNew = new TaskData[1];
+ // create Task
+ taskDataNew[0] = TasksUiInternal.createTaskData(repository, taskMappingInit, taskMappingSelect, null);
+ ITask taskNew = TasksUiUtil.createOutgoingNewTask(taskDataNew[0].getConnectorKind(),
+ taskDataNew[0].getRepositoryUrl());
+
+ ITaskDataWorkingCopy workingCopy = TasksUi.getTaskDataManager().createWorkingCopy(taskNew, taskDataNew[0]);
+ TaskAttribute selectedOperationAttribute = taskDataNew[0].getRoot().getMappedAttribute(TaskAttribute.OPERATION);
+ TaskOperation.applyTo(selectedOperationAttribute, BugzillaOperation.unconfirmed.toString(),
+ BugzillaOperation.unconfirmed.getLabel());
+ Set<TaskAttribute> changed = new HashSet<TaskAttribute>();
+ changed.add(selectedOperationAttribute);
+ workingCopy.save(changed, null);
+
+ RepositoryResponse response = BugzillaFixture.current().submitTask(taskDataNew[0], client);//connector.getTaskDataHandler().postTaskData(repository, taskDataNew[0], changed,
+ //new NullProgressMonitor());
+ ((AbstractTask) taskNew).setSubmitting(true);
+
+ assertNotNull(response);
+ assertEquals(ResponseKind.TASK_CREATED.toString(), response.getReposonseKind().toString());
+ String taskId = response.getTaskId();
+
+ // change Status from UNCONFIRMED -> RESOLVED DUPLICATE
+ ITask task = generateLocalTaskAndDownload(taskId);
+ assertNotNull(task);
+ TaskDataModel model = createModel(task);
+ TaskData taskData = model.getTaskData();
+ assertNotNull(taskData);
+ TaskAttribute statusAttribute = taskData.getRoot().getMappedAttribute(TaskAttribute.STATUS);
+ assertEquals("UNCONFIRMED", statusAttribute.getValue());
+ selectedOperationAttribute = taskData.getRoot().getMappedAttribute(TaskAttribute.OPERATION);
+ TaskOperation.applyTo(selectedOperationAttribute, BugzillaOperation.duplicate.toString(),
+ BugzillaOperation.duplicate.getLabel());
+ TaskAttribute duplicateAttribute = taskData.getRoot().getAttribute("dup_id");
+ duplicateAttribute.setValue(dupBugID);
+ model.attributeChanged(selectedOperationAttribute);
+ model.attributeChanged(duplicateAttribute);
+ changed.clear();
+ changed.add(selectedOperationAttribute);
+ changed.add(duplicateAttribute);
+ workingCopy.save(changed, null);
+ response = BugzillaFixture.current().submitTask(taskData, client);
+ assertNotNull(response);
+ assertEquals(ResponseKind.TASK_UPDATED.toString(), response.getReposonseKind().toString());
+
+// // change Status from RESOLVED DUPLICATE -> VERIFIED
+// task = generateLocalTaskAndDownload(taskId);
+// assertNotNull(task);
+// model = createModel(task);
+// taskData = model.getTaskData();
+// assertNotNull(taskData);
+// statusAttribute = taskData.getRoot().getMappedAttribute(TaskAttribute.STATUS);
+// assertEquals("RESOLVED", statusAttribute.getValue());
+// TaskAttribute resolution = taskData.getRoot().getMappedAttribute(TaskAttribute.RESOLUTION);
+// assertEquals("DUPLICATE", resolution.getValue());
+// selectedOperationAttribute = taskData.getRoot().getMappedAttribute(TaskAttribute.OPERATION);
+// TaskOperation.applyTo(selectedOperationAttribute, BugzillaOperation.verify.toString(),
+// BugzillaOperation.verify.getLabel());
+// model.attributeChanged(selectedOperationAttribute);
+// changed.clear();
+// changed.add(selectedOperationAttribute);
+// workingCopy.save(changed, null);
+// response = BugzillaFixture.current().submitTask(taskData, client);
+// assertNotNull(response);
+// assertEquals(ResponseKind.TASK_UPDATED.toString(), response.getReposonseKind().toString());
+//
+// // change Status from VERIFIED -> CONFIRMED
+// task = generateLocalTaskAndDownload(taskId);
+// assertNotNull(task);
+// model = createModel(task);
+// taskData = model.getTaskData();
+// assertNotNull(taskData);
+// statusAttribute = taskData.getRoot().getMappedAttribute(TaskAttribute.STATUS);
+// assertEquals("VERIFIED", statusAttribute.getValue());
+// selectedOperationAttribute = taskData.getRoot().getMappedAttribute(TaskAttribute.OPERATION);
+// TaskOperation.applyTo(selectedOperationAttribute, BugzillaOperation.confirmed.toString(),
+// BugzillaOperation.confirmed.getLabel());
+// model.attributeChanged(selectedOperationAttribute);
+// changed.clear();
+// changed.add(selectedOperationAttribute);
+// workingCopy.save(changed, null);
+// response = BugzillaFixture.current().submitTask(taskData, client);
+// assertNotNull(response);
+// assertEquals(ResponseKind.TASK_UPDATED.toString(), response.getReposonseKind().toString());
+//
+// // change Status from CONFIRMED -> RESOLVED FIXED
+// task = generateLocalTaskAndDownload(taskId);
+// assertNotNull(task);
+// model = createModel(task);
+// taskData = model.getTaskData();
+// assertNotNull(taskData);
+// statusAttribute = taskData.getRoot().getMappedAttribute(TaskAttribute.STATUS);
+// assertEquals("CONFIRMED", statusAttribute.getValue());
+// selectedOperationAttribute = taskData.getRoot().getMappedAttribute(TaskAttribute.OPERATION);
+// TaskOperation.applyTo(selectedOperationAttribute, BugzillaOperation.resolve.toString(),
+// BugzillaOperation.resolve.getLabel());
+// resolution = taskData.getRoot().getMappedAttribute(TaskAttribute.RESOLUTION);
+// resolution.setValue("FIXED");
+// model.attributeChanged(selectedOperationAttribute);
+// changed.clear();
+// changed.add(selectedOperationAttribute);
+// workingCopy.save(changed, null);
+// response = BugzillaFixture.current().submitTask(taskData, client);
+// assertNotNull(response);
+// assertEquals(ResponseKind.TASK_UPDATED.toString(), response.getReposonseKind().toString());
+//
+// task = generateLocalTaskAndDownload(taskId);
+// assertNotNull(task);
+// model = createModel(task);
+// taskData = model.getTaskData();
+// assertNotNull(taskData);
+// statusAttribute = taskData.getRoot().getMappedAttribute(TaskAttribute.STATUS);
+// assertEquals("RESOLVED", statusAttribute.getValue());
+// resolution = taskData.getRoot().getMappedAttribute(TaskAttribute.RESOLUTION);
+// assertEquals("FIXED", resolution.getValue());
+ }
+
+ /*
+ * Test for the following State transformation
+ * NEW -> ASSIGNED -> RESOLVED DUPLICATE -> VERIFIED -> CLOSED -> REOPENED -> RESOLVED FIXED
+ *
+ */
+ private void doStdWorkflow32(String dupBugID) throws Exception {
final TaskMapping taskMappingInit = new TaskMapping() {
@Override
@@ -431,7 +736,7 @@ public class BugzillaRepositoryConnectorTest extends AbstractBugzillaTest {
TaskOperation.applyTo(selectedOperationAttribute, BugzillaOperation.duplicate.toString(),
BugzillaOperation.duplicate.getLabel());
TaskAttribute duplicateAttribute = taskData.getRoot().getAttribute("dup_id");
- duplicateAttribute.setValue(DupBugID);
+ duplicateAttribute.setValue(dupBugID);
model.attributeChanged(selectedOperationAttribute);
model.attributeChanged(duplicateAttribute);
changed.clear();
diff --git a/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/core/BugzillaClientTest.java b/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/core/BugzillaClientTest.java
index dd0ae7854..f97904a87 100644
--- a/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/core/BugzillaClientTest.java
+++ b/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/core/BugzillaClientTest.java
@@ -27,6 +27,7 @@ import org.eclipse.mylyn.internal.bugzilla.core.BugzillaAttribute;
import org.eclipse.mylyn.internal.bugzilla.core.BugzillaAttributeMapper;
import org.eclipse.mylyn.internal.bugzilla.core.BugzillaClient;
import org.eclipse.mylyn.internal.bugzilla.core.BugzillaRepositoryConnector;
+import org.eclipse.mylyn.internal.bugzilla.core.BugzillaVersion;
import org.eclipse.mylyn.internal.bugzilla.core.RepositoryConfiguration;
import org.eclipse.mylyn.internal.tasks.core.RepositoryQuery;
import org.eclipse.mylyn.internal.tasks.core.TaskRepositoryLocation;
@@ -58,15 +59,24 @@ public class BugzillaClientTest extends TestCase {
RepositoryConfiguration config = client.getRepositoryConfiguration();
assertNotNull(config);
assertEquals(BugzillaFixture.current().getVersion(), config.getInstallVersion().toString());
- assertEquals(7, config.getStatusValues().size());
+ if (BugzillaFixture.current().getBugzillaVersion().compareMajorMinorOnly(BugzillaVersion.BUGZILLA_4_0) < 0) {
+ assertEquals(7, config.getStatusValues().size());
+ } else {
+ assertEquals(5, config.getStatusValues().size());
+ }
assertEquals(8, config.getResolutions().size());
assertEquals(8, config.getPlatforms().size());
assertEquals(36, config.getOSs().size());
assertEquals(5, config.getPriorities().size());
assertEquals(7, config.getSeverities().size());
assertEquals(3, config.getProducts().size());
- assertEquals(4, config.getOpenStatusValues().size());
- assertEquals(3, config.getClosedStatusValues().size());
+ if (BugzillaFixture.current().getBugzillaVersion().compareMajorMinorOnly(BugzillaVersion.BUGZILLA_4_0) < 0) {
+ assertEquals(4, config.getOpenStatusValues().size());
+ assertEquals(3, config.getClosedStatusValues().size());
+ } else {
+ assertEquals(3, config.getOpenStatusValues().size());
+ assertEquals(2, config.getClosedStatusValues().size());
+ }
assertEquals(2, config.getKeywords().size());
assertEquals(2, config.getComponents("ManualTest").size());
assertEquals(4, config.getVersions("ManualTest").size());
@@ -170,7 +180,11 @@ public class BugzillaClientTest extends TestCase {
String bugid = response.getTaskId();
RepositoryQuery query = new RepositoryQuery(BugzillaFixture.current().getConnectorKind(), "123");
query.setRepositoryUrl(BugzillaFixture.current().getRepositoryUrl());
- query.setUrl("?long_desc_type=allwordssubstr&long_desc=" + timestamp + "&bug_status=NEW&");
+ if (BugzillaFixture.current().getBugzillaVersion().compareMajorMinorOnly(BugzillaVersion.BUGZILLA_4_0) < 0) {
+ query.setUrl("?long_desc_type=allwordssubstr&long_desc=" + timestamp + "&bug_status=NEW&");
+ } else {
+ query.setUrl("?long_desc_type=allwordssubstr&long_desc=" + timestamp + "&bug_status=CONFIRMED&");
+ }
final Set<TaskData> returnedData = new HashSet<TaskData>();
diff --git a/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/core/BugzillaRepositoryConnectorStandaloneTest.java b/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/core/BugzillaRepositoryConnectorStandaloneTest.java
index 42a2766b2..42d003d4c 100644
--- a/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/core/BugzillaRepositoryConnectorStandaloneTest.java
+++ b/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/core/BugzillaRepositoryConnectorStandaloneTest.java
@@ -218,13 +218,14 @@ public class BugzillaRepositoryConnectorStandaloneTest extends TestCase {
String priority = "P1";
String severity = "trivial";
String email = "tests%40mylyn.eclipse.org";
- String queryUrlString = repository.getRepositoryUrl()
- + "/buglist.cgi?priority="
- + priority
+ String bug_status = BugzillaFixture.current()
+ .getBugzillaVersion()
+ .compareMajorMinorOnly(BugzillaVersion.BUGZILLA_4_0) < 0 ? "&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED"
+ : "&bug_status=UNCONFIRMED&bug_status=CONFIRMED";
+ String queryUrlString = repository.getRepositoryUrl() + "/buglist.cgi?priority=" + priority
+ "&emailassigned_to1=1&query_format=advanced&emailreporter1=1&field0-0-0=bug_status&bug_severity="
- + severity
- + "&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&type0-0-1=equals&value0-0-1=tests%40mylyn.eclipse.org&email1="
- + email + "&type0-0-0=notequals&field0-0-1=reporter&value0-0-0=UNCONFIRMED&emailtype1=exact";
+ + severity + bug_status + "&type0-0-1=equals&value0-0-1=tests%40mylyn.eclipse.org&email1=" + email
+ + "&type0-0-0=notequals&field0-0-1=reporter&value0-0-0=UNCONFIRMED&emailtype1=exact";
// make sure initial task is not P1/trivial
assertFalse(taskData.getRoot()
diff --git a/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/support/BugzillaFixture.java b/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/support/BugzillaFixture.java
index df79c7940..e9c704e11 100644
--- a/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/support/BugzillaFixture.java
+++ b/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/support/BugzillaFixture.java
@@ -71,6 +71,8 @@ public class BugzillaFixture extends TestFixture {
public static final String TEST_BUGZILLA_36_URL = getServerUrl("bugs36");
+ public static final String TEST_BUGZILLA_40_URL = getServerUrl("bugs40");
+
public static final String TEST_BUGZILLA_HEAD_URL = getServerUrl("bugshead");
public static final String TEST_BUGZILLA_LATEST_URL = TEST_BUGZILLA_36_URL;
@@ -92,33 +94,36 @@ public class BugzillaFixture extends TestFixture {
"3.0.11", "");
public static BugzillaFixture BUGS_3_2 = new BugzillaFixture(BugzillaFixture.TEST_BUGZILLA_32_URL, //
- "3.2.8", "");
+ "3.2.9", "");
public static BugzillaFixture BUGS_3_4 = new BugzillaFixture(BugzillaFixture.TEST_BUGZILLA_34_URL, //
- "3.4.8", "");
+ "3.4.9", "");
public static BugzillaFixture BUGS_3_6 = new BugzillaFixture(BugzillaFixture.TEST_BUGZILLA_36_URL, //
- "3.6.2", "");
+ "3.6.3", "");
public static BugzillaFixture BUGS_3_6_CUSTOM_WF = new BugzillaFixture(BugzillaFixture.TEST_BUGZILLA_36_URL
- + "-custom-wf", "3.6.2", "Custom Workflow");
+ + "-custom-wf", "3.6.3", "Custom Workflow");
public static BugzillaFixture BUGS_3_6_CUSTOM_WF_AND_STATUS = new BugzillaFixture(
- BugzillaFixture.TEST_BUGZILLA_36_URL + "-custom-wf-and-status", "3.6.2", "Custom Workflow and Status");
+ BugzillaFixture.TEST_BUGZILLA_36_URL + "-custom-wf-and-status", "3.6.3", "Custom Workflow and Status");
public static BugzillaFixture BUGS_3_6_XML_RPC_DISABLED = new BugzillaFixture(BugzillaFixture.TEST_BUGZILLA_36_URL
- + "-xml-rpc-disabled", "3.6.2", "XML-RPC disabled");
+ + "-xml-rpc-disabled", "3.6.3", "XML-RPC disabled");
+
+ public static BugzillaFixture BUGS_4_0 = new BugzillaFixture(BugzillaFixture.TEST_BUGZILLA_40_URL, //
+ "4.0RC1+", "");
public static BugzillaFixture BUGS_HEAD = new BugzillaFixture(BugzillaFixture.TEST_BUGZILLA_HEAD_URL, //
"4.1", "");
- public static BugzillaFixture DEFAULT = BUGS_3_6;
+ public static BugzillaFixture DEFAULT = BUGS_4_0;
public static final BugzillaFixture[] ALL = new BugzillaFixture[] { BUGS_2_22, BUGS_3_0, BUGS_3_2, BUGS_3_4,
- BUGS_3_6, BUGS_HEAD };
+ BUGS_3_6, BUGS_4_0, BUGS_HEAD };
- public static final BugzillaFixture[] ONLY_3_6_SPECIFIC = new BugzillaFixture[] { BUGS_3_6,
- BUGS_3_6_XML_RPC_DISABLED, BUGS_3_6_CUSTOM_WF, BUGS_3_6_CUSTOM_WF_AND_STATUS };
+ public static final BugzillaFixture[] ONLY_3_6_SPECIFIC = new BugzillaFixture[] { /*BUGS_3_6,
+ BUGS_3_6_XML_RPC_DISABLED, BUGS_3_6_CUSTOM_WF, BUGS_3_6_CUSTOM_WF_AND_STATUS*/};
private final String version;
diff --git a/org.eclipse.mylyn.bugzilla.tests/testdata/descriptor/Bugzilla_3.6.3/Custom_WorkflowTransition.txt b/org.eclipse.mylyn.bugzilla.tests/testdata/descriptor/Bugzilla_3.6.3/Custom_WorkflowTransition.txt
new file mode 100644
index 000000000..bdbd77b37
--- /dev/null
+++ b/org.eclipse.mylyn.bugzilla.tests/testdata/descriptor/Bugzilla_3.6.3/Custom_WorkflowTransition.txt
@@ -0,0 +1,14 @@
+CustomStatusNames=true
+DuplicateStatus=CLOSED
+ClosedCustomStatus=POST
+<transitions>
+name :UNCONFIRMED:, can_change_to :NEW,ASSIGNED,RESOLVED,MODIFIED,ON_DEV,ON_QA,VERIFIED,RELEASE_PENDING,POST,CLOSED:
+name :NEW:, can_change_to :ASSIGNED,RESOLVED,MODIFIED,ON_DEV,ON_QA,VERIFIED,RELEASE_PENDING,POST,CLOSED:
+name :ASSIGNED:, can_change_to :MODIFIED,ON_DEV,ON_QA,VERIFIED,RELEASE_PENDING,POST,CLOSED:
+name :MODIFIED:, can_change_to :NEW,ASSIGNED,ON_DEV,ON_QA,VERIFIED,RELEASE_PENDING,POST,CLOSED:
+name :ON_DEV:, can_change_to :NEW,ASSIGNED,MODIFIED,ON_QA,VERIFIED,RELEASE_PENDING,POST,CLOSED:
+name :ON_QA:, can_change_to :NEW,ASSIGNED,MODIFIED,ON_DEV,VERIFIED,RELEASE_PENDING,POST,CLOSED:
+name :RELEASE_PENDING:, can_change_to :NEW,ASSIGNED,MODIFIED,ON_DEV,ON_QA,VERIFIED,POST,CLOSED:
+name :VERIFIED:, can_change_to :NEW,ASSIGNED,MODIFIED,ON_DEV,ON_QA,RELEASE_PENDING,POST,CLOSED:
+name :POST:, can_change_to :NEW,ASSIGNED,MODIFIED,ON_DEV,ON_QA,VERIFIED,RELEASE_PENDING,CLOSED:
+name :CLOSED:, can_change_to :ASSIGNED,VERIFIED:
diff --git a/org.eclipse.mylyn.bugzilla.tests/testdata/descriptor/Bugzilla_3.6.3/Custom_Workflow_and_StatusTransition.txt b/org.eclipse.mylyn.bugzilla.tests/testdata/descriptor/Bugzilla_3.6.3/Custom_Workflow_and_StatusTransition.txt
new file mode 100644
index 000000000..bdbd77b37
--- /dev/null
+++ b/org.eclipse.mylyn.bugzilla.tests/testdata/descriptor/Bugzilla_3.6.3/Custom_Workflow_and_StatusTransition.txt
@@ -0,0 +1,14 @@
+CustomStatusNames=true
+DuplicateStatus=CLOSED
+ClosedCustomStatus=POST
+<transitions>
+name :UNCONFIRMED:, can_change_to :NEW,ASSIGNED,RESOLVED,MODIFIED,ON_DEV,ON_QA,VERIFIED,RELEASE_PENDING,POST,CLOSED:
+name :NEW:, can_change_to :ASSIGNED,RESOLVED,MODIFIED,ON_DEV,ON_QA,VERIFIED,RELEASE_PENDING,POST,CLOSED:
+name :ASSIGNED:, can_change_to :MODIFIED,ON_DEV,ON_QA,VERIFIED,RELEASE_PENDING,POST,CLOSED:
+name :MODIFIED:, can_change_to :NEW,ASSIGNED,ON_DEV,ON_QA,VERIFIED,RELEASE_PENDING,POST,CLOSED:
+name :ON_DEV:, can_change_to :NEW,ASSIGNED,MODIFIED,ON_QA,VERIFIED,RELEASE_PENDING,POST,CLOSED:
+name :ON_QA:, can_change_to :NEW,ASSIGNED,MODIFIED,ON_DEV,VERIFIED,RELEASE_PENDING,POST,CLOSED:
+name :RELEASE_PENDING:, can_change_to :NEW,ASSIGNED,MODIFIED,ON_DEV,ON_QA,VERIFIED,POST,CLOSED:
+name :VERIFIED:, can_change_to :NEW,ASSIGNED,MODIFIED,ON_DEV,ON_QA,RELEASE_PENDING,POST,CLOSED:
+name :POST:, can_change_to :NEW,ASSIGNED,MODIFIED,ON_DEV,ON_QA,VERIFIED,RELEASE_PENDING,CLOSED:
+name :CLOSED:, can_change_to :ASSIGNED,VERIFIED:

Back to the top