diff options
Diffstat (limited to 'org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/support/TracTestUtil.java')
-rw-r--r-- | org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/support/TracTestUtil.java | 82 |
1 files changed, 35 insertions, 47 deletions
diff --git a/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/support/TracTestUtil.java b/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/support/TracTestUtil.java index 687f69363..b991ecd1f 100644 --- a/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/support/TracTestUtil.java +++ b/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/support/TracTestUtil.java @@ -11,22 +11,18 @@ package org.eclipse.mylyn.trac.tests.support; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + import java.util.ArrayList; import java.util.List; import java.util.Map; -import junit.framework.Assert; - import org.eclipse.core.runtime.CoreException; import org.eclipse.mylyn.internal.tasks.ui.TasksUiPlugin; -import org.eclipse.mylyn.internal.trac.core.TracCorePlugin; -import org.eclipse.mylyn.internal.trac.core.client.ITracClient; import org.eclipse.mylyn.internal.trac.core.model.TracTicket; -import org.eclipse.mylyn.internal.trac.core.model.TracTicket.Key; -import org.eclipse.mylyn.tasks.core.AbstractRepositoryConnector; import org.eclipse.mylyn.tasks.core.ITask; import org.eclipse.mylyn.tasks.core.ITaskAttachment; -import org.eclipse.mylyn.tasks.core.TaskRepository; import org.eclipse.mylyn.tasks.core.data.TaskAttribute; import org.eclipse.mylyn.tasks.core.data.TaskData; import org.eclipse.mylyn.tasks.ui.TasksUi; @@ -37,41 +33,6 @@ import org.eclipse.mylyn.trac.tests.support.XmlRpcServer.Ticket; */ public class TracTestUtil { - public static TracTicket createTicket(ITracClient client, String summary) throws Exception { - TracTicket ticket = new TracTicket(); - ticket.putBuiltinValue(Key.SUMMARY, summary); - ticket.putBuiltinValue(Key.DESCRIPTION, ""); - int id = client.createTicket(ticket, null); - return client.getTicket(id, null); - } - - public static ITask createTask(TaskRepository taskRepository, String taskId) throws Exception { - AbstractRepositoryConnector connector = TasksUi.getRepositoryConnector(TracCorePlugin.CONNECTOR_KIND); - TaskData taskData = connector.getTaskData(taskRepository, taskId, null); - ITask task = TasksUi.getRepositoryModel().createTask(taskRepository, taskData.getTaskId()); - TasksUiPlugin.getTaskDataManager().putUpdatedTaskData(task, taskData, true); - return task; - } - -// public static TaskRepository init(String repositoryUrl, Version version) { -// TracCorePlugin.getDefault().getConnector().getClientManager().writeCache(); -// TaskRepositoryManager manager = TasksUiPlugin.getRepositoryManager(); -// manager.clearRepositories(TasksUiPlugin.getDefault().getRepositoriesFilePath()); -// -// Credentials credentials = CommonTestUtil.getCredentials(PrivilegeLevel.USER); -// TaskRepository repository = new TaskRepository(TracCorePlugin.CONNECTOR_KIND, repositoryUrl); -// repository.setCredentials(AuthenticationType.REPOSITORY, new AuthenticationCredentials(credentials.username, -// credentials.password), false); -// repository.setTimeZoneId(ITracClient.TIME_ZONE); -// repository.setCharacterEncoding(ITracClient.CHARSET); -// repository.setVersion(version.name()); -// -// manager.addRepository(repository); -// TracCorePlugin.getDefault().getConnector().getClientManager().readCache(); -// -// return repository; -// } - public static List<ITaskAttachment> getTaskAttachments(ITask task) throws CoreException { TaskData taskData = TasksUi.getTaskDataManager().getTaskData(task); List<ITaskAttachment> attachments = new ArrayList<ITaskAttachment>(); @@ -87,11 +48,11 @@ public class TracTestUtil { return attachments; } - public static void assertTicketEquals(Ticket ticket, TracTicket tracTicket) throws Exception { - Assert.assertTrue(tracTicket.isValid()); + public static void assertTicketEquals(Ticket expectedTicket, TracTicket actualTicket) throws Exception { + assertTrue(actualTicket.isValid()); - Map<?, ?> expectedValues = ticket.getValues(); - Map<String, String> values = tracTicket.getValues(); + Map<?, ?> expectedValues = expectedTicket.getValues(); + Map<String, String> values = actualTicket.getValues(); for (String key : values.keySet()) { Object expected = expectedValues.get(key); String actual = values.get(key); @@ -109,7 +70,34 @@ public class TracTestUtil { // ignore internal values continue; } - Assert.assertEquals("Values for key '" + key + "' did not match", expected, actual); + assertEquals("Values for key '" + key + "' did not match", expected, actual); } } + + public static void assertTicketEquals(TracTicket expectedTicket, TracTicket actualTicket) throws Exception { + assertTrue(actualTicket.isValid()); + + Map<?, ?> expectedValues = expectedTicket.getValues(); + Map<String, String> actualValues = actualTicket.getValues(); + for (String key : actualValues.keySet()) { + Object expected = expectedValues.get(key); + String actual = actualValues.get(key); + if (key.equals("reporter")) { + // Trac 0.11 obfuscates email addresses by replacing the domain with the Ellipses character, + // mangle expected value accordingly + if (actual != null && actual.endsWith("\u2026") && expected instanceof String) { + String expectedString = (String) expected; + int i = expectedString.indexOf("@"); + if (i != -1) { + expected = expectedString.substring(0, i + 1) + "\u2026"; + } + } + } else if (key.startsWith("_")) { + // ignore internal values + continue; + } + assertEquals("Values for key '" + key + "' did not match", expected, actual); + } + } + } |