Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/core/AbstractRepositoryConnectorTest.java')
-rw-r--r--org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/core/AbstractRepositoryConnectorTest.java49
1 files changed, 49 insertions, 0 deletions
diff --git a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/core/AbstractRepositoryConnectorTest.java b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/core/AbstractRepositoryConnectorTest.java
index c7b4d190c..06dd4940b 100644
--- a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/core/AbstractRepositoryConnectorTest.java
+++ b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/core/AbstractRepositoryConnectorTest.java
@@ -11,8 +11,11 @@
package org.eclipse.mylyn.tasks.tests.core;
+import org.eclipse.mylyn.commons.net.AuthenticationCredentials;
+import org.eclipse.mylyn.commons.net.AuthenticationType;
import org.eclipse.mylyn.internal.tasks.ui.TasksUiPlugin;
import org.eclipse.mylyn.internal.tasks.ui.util.TasksUiInternal;
+import org.eclipse.mylyn.tasks.core.TaskRepository;
import org.eclipse.mylyn.tasks.tests.connector.MockTask;
import org.eclipse.mylyn.tasks.tests.util.MockRepositoryConnectorTestCase;
@@ -49,4 +52,50 @@ public class AbstractRepositoryConnectorTest extends MockRepositoryConnectorTest
assertNull(TasksUiInternal.getTaskByUrl(""));
}
+ public void testIsOwnedByUser() throws Exception {
+ assertIsOwnedByUser("joel.user", "joel.user", "joel.user", true);
+ assertIsOwnedByUser("joel.user", "Joel K. User", "joel.user", true);
+ assertIsOwnedByUser("joel.user", null, "joel.user", true);
+ assertIsOwnedByUser("joel.user", "joel.user", "123", true);
+ assertIsOwnedByUser("joel.user", "joel.user", null, true);
+ assertIsOwnedByUser("joel.user", "Joel K. User", "123", false);
+ assertIsOwnedByUser("joel.user", "Joel K. User", null, false);
+ assertIsOwnedByUser("joel.user", null, "123", false);
+ assertIsOwnedByUser("joel.user", null, null, false);
+ assertIsOwnedByUser(null, null, null, false);
+ assertIsOwnedByUser(null, null, "123", false);
+ assertIsOwnedByUser(null, "Joel K. User", null, false);
+ assertIsOwnedByUser(null, "joel.user", "joel.user", false);
+ }
+
+ private void assertIsOwnedByUser(String repositoryUserName, String taskOwner, String taskOwnerId, boolean expected) {
+ // if one parameter is null, test both the null and empty string cases; if multiple are null, don't bother
+ // testing all possible combinations of null and empty
+ if (repositoryUserName == null) {
+ assertIsOwnedByUserHelper(null, taskOwner, taskOwnerId, expected);
+ assertIsOwnedByUserHelper("", taskOwner, taskOwnerId, expected);
+ } else if (taskOwner == null) {
+ assertIsOwnedByUserHelper(repositoryUserName, null, taskOwnerId, expected);
+ assertIsOwnedByUserHelper(repositoryUserName, "", taskOwnerId, expected);
+ } else if (taskOwnerId == null) {
+ assertIsOwnedByUserHelper(repositoryUserName, taskOwner, null, expected);
+ assertIsOwnedByUserHelper(repositoryUserName, taskOwner, "", expected);
+ } else {
+ assertIsOwnedByUserHelper(repositoryUserName, taskOwner, taskOwnerId, expected);
+ }
+ }
+
+ private void assertIsOwnedByUserHelper(String repositoryUserName, String taskOwner, String taskOwnerId,
+ boolean expected) {
+ TaskRepository repository = new TaskRepository(MockRepositoryWithUrl.CONNECTOR_KIND,
+ MockRepositoryWithUrl.REPOSITORY_URL);
+ if (repositoryUserName != null) {
+ repository.setCredentials(AuthenticationType.REPOSITORY, new AuthenticationCredentials(repositoryUserName,
+ ""), false);
+ }
+ taskWithUrl.setOwner(taskOwner);
+ taskWithUrl.setOwnerId(taskOwnerId);
+ assertEquals(expected, connectorWithUrl.isOwnedByUser(repository, taskWithUrl));
+ }
+
}

Back to the top