diff options
author | spingel | 2007-10-26 16:52:41 +0000 |
---|---|---|
committer | spingel | 2007-10-26 16:52:41 +0000 |
commit | 5e7418ae445ae4d9013e7216eeff745200b7314a (patch) | |
tree | 19345780928290a0c37c80f9b36bab83c83b227d /org.eclipse.mylyn.trac.tests | |
parent | 97543c42290397a293cedda105a3d5d32e423609 (diff) | |
download | org.eclipse.mylyn.tasks-5e7418ae445ae4d9013e7216eeff745200b7314a.tar.gz org.eclipse.mylyn.tasks-5e7418ae445ae4d9013e7216eeff745200b7314a.tar.xz org.eclipse.mylyn.tasks-5e7418ae445ae4d9013e7216eeff745200b7314a.zip |
RESOLVED - bug 207531: prompt for authentication credentials as needed
https://bugs.eclipse.org/bugs/show_bug.cgi?id=207531
Diffstat (limited to 'org.eclipse.mylyn.trac.tests')
11 files changed, 79 insertions, 66 deletions
diff --git a/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/AbstractTracClientRepositoryTest.java b/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/AbstractTracClientRepositoryTest.java index feefc54d9..c5dd03545 100644 --- a/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/AbstractTracClientRepositoryTest.java +++ b/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/AbstractTracClientRepositoryTest.java @@ -52,12 +52,12 @@ public class AbstractTracClientRepositoryTest extends AbstractTracClientTest { // standard connect connect(url); - repository.validate(); + repository.validate(callback); // invalid url connect("http://non.existant/repository"); try { - repository.validate(); + repository.validate(callback); fail("Expected TracException"); } catch (TracException e) { } @@ -65,7 +65,7 @@ public class AbstractTracClientRepositoryTest extends AbstractTracClientTest { // invalid password connect(url, credentials.username, "wrongpassword"); try { - repository.validate(); + repository.validate(callback); fail("Expected TracLoginException"); } catch (TracLoginException e) { } @@ -73,7 +73,7 @@ public class AbstractTracClientRepositoryTest extends AbstractTracClientTest { // invalid username connect(url, "wrongusername", credentials.password); try { - repository.validate(); + repository.validate(callback); fail("Expected TracLoginException"); } catch (TracLoginException e) { } @@ -83,28 +83,10 @@ public class AbstractTracClientRepositoryTest extends AbstractTracClientTest { connect(TracTestConstants.TEST_TRAC_010_URL, "", "", new Proxy(Type.HTTP, new InetSocketAddress( "invalidhostname", 8080))); try { - repository.validate(); + repository.validate(callback); fail("Expected IOException"); } catch (TracException e) { } - - connect(TracTestConstants.TEST_TRAC_010_URL, "", "", null); - repository.setProxy(new Proxy(Type.HTTP, new InetSocketAddress("invalidhostname", 8080))); - try { - repository.validate(); - fail("Expected IOException"); - } catch (TracException e) { - } - - connect(TracTestConstants.TEST_TRAC_010_URL); - repository.validate(); - repository.setProxy(new Proxy(Type.HTTP, new InetSocketAddress("invalidhostname", 8080))); - try { - repository.validate(); - fail("Expected IOException"); - } catch (TracException e) { - } - } } diff --git a/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/AbstractTracClientTest.java b/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/AbstractTracClientTest.java index e0bb661b1..dba622997 100644 --- a/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/AbstractTracClientTest.java +++ b/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/AbstractTracClientTest.java @@ -12,12 +12,16 @@ import java.net.Proxy; import junit.framework.TestCase; +import org.eclipse.core.runtime.IProgressMonitor; +import org.eclipse.core.runtime.NullProgressMonitor; import org.eclipse.mylyn.context.tests.support.TestUtil; import org.eclipse.mylyn.context.tests.support.TestUtil.Credentials; import org.eclipse.mylyn.context.tests.support.TestUtil.PrivilegeLevel; import org.eclipse.mylyn.internal.trac.core.ITracClient; import org.eclipse.mylyn.internal.trac.core.TracClientFactory; import org.eclipse.mylyn.internal.trac.core.ITracClient.Version; +import org.eclipse.mylyn.web.core.IProxyProvider; +import org.eclipse.mylyn.web.core.WebLocation; /** * Provides a base implementation for test cases that access trac repositories. @@ -38,6 +42,8 @@ public abstract class AbstractTracClientTest extends TestCase { private PrivilegeLevel level; + final IProgressMonitor callback = new NullProgressMonitor(); + public AbstractTracClientTest(Version version, PrivilegeLevel level) { this.version = version; this.level = level; @@ -84,12 +90,18 @@ public abstract class AbstractTracClientTest extends TestCase { return connect(url, username, password, proxy, version); } - public ITracClient connect(String url, String username, String password, Proxy proxy, Version version) + public ITracClient connect(String url, String username, String password, final Proxy proxy, Version version) throws Exception { this.repositoryUrl = url; this.username = username; this.password = password; - this.repository = TracClientFactory.createClient(url, version, username, password, proxy); + + WebLocation location = new WebLocation(url, username, password, new IProxyProvider() { + public Proxy getProxyForHost(String host, String proxyType) { + return proxy; + } + }); + this.repository = TracClientFactory.createClient(location, version); return this.repository; } diff --git a/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/AllTracTests.java b/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/AllTracTests.java index 87afe2126..3d59ae227 100644 --- a/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/AllTracTests.java +++ b/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/AllTracTests.java @@ -11,7 +11,9 @@ package org.eclipse.mylyn.trac.tests; import junit.framework.Test; import junit.framework.TestSuite; +import org.eclipse.mylyn.internal.trac.core.TracCorePlugin; import org.eclipse.mylyn.internal.trac.ui.TracHyperlinkUtilTest; +import org.eclipse.mylyn.tasks.core.TaskRepositoryLocationFactory; /** * @author Mik Kersten @@ -22,6 +24,8 @@ public class AllTracTests { public static Test suite() { // UrlConnectionUtil.initCommonsLoggingSettings(); + TracCorePlugin.getDefault().getConnector().setTaskRepositoryLocationFactory(new TaskRepositoryLocationFactory()); + TestSuite suite = new TestSuite("Test for org.eclipse.mylyn.trac.tests"); // $JUnit-BEGIN$ // suite.addTestSuite(TracXmlRpcTest.class); diff --git a/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/TracClientFactoryTest.java b/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/TracClientFactoryTest.java index 30e982b78..f9ffcc9d5 100644 --- a/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/TracClientFactoryTest.java +++ b/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/TracClientFactoryTest.java @@ -8,20 +8,19 @@ package org.eclipse.mylyn.trac.tests; -import java.net.Proxy; - import junit.framework.TestCase; import org.eclipse.mylyn.context.tests.support.TestUtil; import org.eclipse.mylyn.context.tests.support.TestUtil.Credentials; import org.eclipse.mylyn.context.tests.support.TestUtil.PrivilegeLevel; import org.eclipse.mylyn.internal.trac.core.ITracClient; -import org.eclipse.mylyn.internal.trac.core.TracWebClient; import org.eclipse.mylyn.internal.trac.core.TracClientFactory; import org.eclipse.mylyn.internal.trac.core.TracException; import org.eclipse.mylyn.internal.trac.core.TracLoginException; +import org.eclipse.mylyn.internal.trac.core.TracWebClient; import org.eclipse.mylyn.internal.trac.core.TracXmlRpcClient; import org.eclipse.mylyn.internal.trac.core.ITracClient.Version; +import org.eclipse.mylyn.web.core.WebLocation; /** * @author Steffen Pingel @@ -29,25 +28,27 @@ import org.eclipse.mylyn.internal.trac.core.ITracClient.Version; public class TracClientFactoryTest extends TestCase { public void testCreateClient() throws Exception { - ITracClient client = TracClientFactory.createClient(TracTestConstants.TEST_TRAC_010_URL, Version.TRAC_0_9, - "user", "password", Proxy.NO_PROXY); + WebLocation location = new WebLocation(TracTestConstants.TEST_TRAC_010_URL, "user", "password"); + ITracClient client = TracClientFactory.createClient(location, Version.TRAC_0_9); assertTrue(client instanceof TracWebClient); - client = TracClientFactory.createClient(TracTestConstants.TEST_TRAC_010_SSL_URL, Version.TRAC_0_9, "user", - "password", Proxy.NO_PROXY); + + location = new WebLocation(TracTestConstants.TEST_TRAC_010_SSL_URL, "user", "password"); + client = TracClientFactory.createClient(location, Version.TRAC_0_9); assertTrue(client instanceof TracWebClient); - client = TracClientFactory.createClient(TracTestConstants.TEST_TRAC_010_URL, Version.XML_RPC, "user", - "password", Proxy.NO_PROXY); + location = new WebLocation(TracTestConstants.TEST_TRAC_010_URL, "user", "password"); + client = TracClientFactory.createClient(location, Version.XML_RPC); assertTrue(client instanceof TracXmlRpcClient); - client = TracClientFactory.createClient(TracTestConstants.TEST_TRAC_010_SSL_URL, Version.XML_RPC, "user", - "password", Proxy.NO_PROXY); + + location = new WebLocation(TracTestConstants.TEST_TRAC_010_SSL_URL, "user", "password"); + client = TracClientFactory.createClient(location, Version.XML_RPC); assertTrue(client instanceof TracXmlRpcClient); } public void testCreateClientNull() throws Exception { try { - TracClientFactory.createClient(TracTestConstants.TEST_TRAC_010_URL, null, "user", "password", - Proxy.NO_PROXY); + WebLocation location = new WebLocation(TracTestConstants.TEST_TRAC_010_URL, "user", "password"); + TracClientFactory.createClient(location, null); fail("Expected Exception"); } catch (Exception e) { } @@ -67,24 +68,28 @@ public class TracClientFactoryTest extends TestCase { protected void probeClient(String url, boolean xmlrpcInstalled) throws Exception { Credentials credentials = TestUtil.readCredentials(PrivilegeLevel.USER); - Version version = TracClientFactory.probeClient(url, credentials.username, credentials.password, Proxy.NO_PROXY); + WebLocation location = new WebLocation(url, credentials.username, credentials.password); + Version version = TracClientFactory.probeClient(location); if (xmlrpcInstalled) { assertEquals(Version.XML_RPC, version); } else { assertEquals(Version.TRAC_0_9, version); } - version = TracClientFactory.probeClient(url, "", "", Proxy.NO_PROXY); + location = new WebLocation(url, "", ""); + version = TracClientFactory.probeClient(location); assertEquals(Version.TRAC_0_9, version); try { - version = TracClientFactory.probeClient(url, "invaliduser", "password", Proxy.NO_PROXY); + location = new WebLocation(url, "invaliduser", "password"); + version = TracClientFactory.probeClient(location); fail("Expected TracLoginException, got " + version); } catch (TracLoginException e) { } try { - version = TracClientFactory.probeClient(url + "/nonexistant", "", "", Proxy.NO_PROXY); + location = new WebLocation(url + "/nonexistant", "", ""); + version = TracClientFactory.probeClient(location); fail("Expected TracException, got " + version); } catch (TracException e) { } diff --git a/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/TracClientManagerTest.java b/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/TracClientManagerTest.java index ec29a3ca2..77ea698ec 100644 --- a/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/TracClientManagerTest.java +++ b/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/TracClientManagerTest.java @@ -20,6 +20,7 @@ import org.eclipse.mylyn.internal.trac.core.TracCorePlugin; import org.eclipse.mylyn.internal.trac.core.ITracClient.Version; import org.eclipse.mylyn.internal.trac.core.model.TracMilestone; import org.eclipse.mylyn.tasks.core.TaskRepository; +import org.eclipse.mylyn.tasks.core.TaskRepositoryLocationFactory; /** * @author Steffen Pingel @@ -31,7 +32,7 @@ public class TracClientManagerTest extends TestCase { TracTestConstants.TEST_TRAC_096_URL); taskRepository.setVersion(Version.TRAC_0_9.name()); - TracClientManager manager = new TracClientManager(null); + TracClientManager manager = new TracClientManager(null, new TaskRepositoryLocationFactory()); ITracClient client = manager.getRepository(taskRepository); assertNull(client.getMilestones()); @@ -47,7 +48,7 @@ public class TracClientManagerTest extends TestCase { File file = File.createTempFile("mylyn", null); file.deleteOnExit(); - TracClientManager manager = new TracClientManager(file); + TracClientManager manager = new TracClientManager(file, new TaskRepositoryLocationFactory()); ITracClient client = manager.getRepository(taskRepository); assertNull(client.getMilestones()); } @@ -60,7 +61,7 @@ public class TracClientManagerTest extends TestCase { File file = File.createTempFile("mylyn", null); file.deleteOnExit(); - TracClientManager manager = new TracClientManager(file); + TracClientManager manager = new TracClientManager(file, new TaskRepositoryLocationFactory()); ITracClient client = manager.getRepository(taskRepository); assertNull(client.getMilestones()); @@ -69,7 +70,7 @@ public class TracClientManagerTest extends TestCase { TracMilestone[] milestones = client.getMilestones(); manager.writeCache(); - manager = new TracClientManager(file); + manager = new TracClientManager(file, new TaskRepositoryLocationFactory()); assertEquals(Arrays.asList(milestones), Arrays.asList(client.getMilestones())); } diff --git a/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/TracClientProxyTest.java b/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/TracClientProxyTest.java index b772fae50..ea1793247 100644 --- a/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/TracClientProxyTest.java +++ b/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/TracClientProxyTest.java @@ -65,7 +65,7 @@ public class TracClientProxyTest extends AbstractTracClientTest { proxy = WebClientUtil.getProxy("localhost", proxyPort + "", "", ""); ITracClient client = connect(url, proxy); try { - client.validate(); + client.validate(callback); } catch (TracException e) { } diff --git a/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/TracRepositoryConnectorTest.java b/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/TracRepositoryConnectorTest.java index 95de316ec..0948900a7 100644 --- a/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/TracRepositoryConnectorTest.java +++ b/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/TracRepositoryConnectorTest.java @@ -43,6 +43,7 @@ import org.eclipse.mylyn.tasks.core.AbstractTask; import org.eclipse.mylyn.tasks.core.QueryHitCollector; import org.eclipse.mylyn.tasks.core.RepositoryTaskData; import org.eclipse.mylyn.tasks.core.TaskRepository; +import org.eclipse.mylyn.tasks.core.TaskRepositoryLocationFactory; import org.eclipse.mylyn.tasks.core.TaskRepositoryManager; import org.eclipse.mylyn.tasks.ui.TaskFactory; import org.eclipse.mylyn.tasks.ui.TasksUiPlugin; @@ -68,6 +69,8 @@ public class TracRepositoryConnectorTest extends TestCase { protected void setUp() throws Exception { super.setUp(); + TracCorePlugin.getDefault().getConnector().setTaskRepositoryLocationFactory(new TaskRepositoryLocationFactory()); + manager = TasksUiPlugin.getRepositoryManager(); manager.clearRepositories(TasksUiPlugin.getDefault().getRepositoriesFilePath()); @@ -164,13 +167,17 @@ public class TracRepositoryConnectorTest extends TestCase { EditRepositoryWizard wizard = new EditRepositoryWizard(repository); Shell shell = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(); WizardDialog dialog = new WizardDialog(shell, wizard); - dialog.create(); + try { + dialog.create(); - ((TracRepositorySettingsPage) wizard.getSettingsPage()).setTracVersion(Version.XML_RPC); - assertTrue(wizard.performFinish()); + ((TracRepositorySettingsPage) wizard.getSettingsPage()).setTracVersion(Version.XML_RPC); + assertTrue(wizard.performFinish()); - client = connector.getClientManager().getRepository(repository); - assertEquals(Version.XML_RPC, client.getVersion()); + client = connector.getClientManager().getRepository(repository); + assertEquals(Version.XML_RPC, client.getVersion()); + } finally { + dialog.close(); + } } public void testPerformQueryXmlRpc011() { diff --git a/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/TracTestConstants.java b/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/TracTestConstants.java index 2be668746..293277558 100644 --- a/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/TracTestConstants.java +++ b/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/TracTestConstants.java @@ -13,18 +13,20 @@ package org.eclipse.mylyn.trac.tests; */ public class TracTestConstants { - public static final String TEST_TRAC_096_URL = "http://mylyn.eclipse.org/trac096"; + public static final String SERVER = System.getProperty("mylyn.trac.server", "mylyn.eclipse.org"); + + public static final String TEST_TRAC_096_URL = "http://" + SERVER + "/trac096"; - public static final String TEST_TRAC_010_URL = "http://mylyn.eclipse.org/trac010"; + public static final String TEST_TRAC_010_URL = "http://" + SERVER + "/trac010"; - public static final String TEST_TRAC_010_SSL_URL = "https://mylyn.eclipse.org/trac010"; + public static final String TEST_TRAC_010_SSL_URL = "https://" + SERVER + "/trac010"; - public static final String TEST_TRAC_010_DIGEST_AUTH_URL = "http://mylyn.eclipse.org/trac010digest"; + public static final String TEST_TRAC_010_DIGEST_AUTH_URL = "http://" + SERVER + "/trac010digest"; - public static final String TEST_TRAC_010_FORM_AUTH_URL = "http://mylyn.eclipse.org/trac010formauth"; + public static final String TEST_TRAC_010_FORM_AUTH_URL = "http://" + SERVER + "/trac010formauth"; - public static final String TEST_TRAC_011_URL = "http://mylyn.eclipse.org/trac011"; + public static final String TEST_TRAC_011_URL = "http://" + SERVER + "/trac011"; - public static final String TEST_TRAC_INVALID_URL = "http://mylyn.eclipse.org/doesnotexist"; + public static final String TEST_TRAC_INVALID_URL = "http://" + SERVER + "/doesnotexist"; } diff --git a/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/TracWebClientTest.java b/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/TracWebClientTest.java index d887d0c8d..8b1bd08e0 100644 --- a/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/TracWebClientTest.java +++ b/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/TracWebClientTest.java @@ -40,7 +40,7 @@ public class TracWebClientTest extends AbstractTracClientRepositoryTest { public void testValidateAnyPage() throws Exception { connect("http://mylyn.eclipse.org/"); try { - repository.validate(); + repository.validate(callback); fail("Expected TracException"); } catch (TracException e) { } @@ -48,10 +48,10 @@ public class TracWebClientTest extends AbstractTracClientRepositoryTest { public void testValidateAnonymousLogin() throws Exception { connect(TracTestConstants.TEST_TRAC_010_URL, "", ""); - repository.validate(); + repository.validate(callback); connect(TracTestConstants.TEST_TRAC_096_URL, "", ""); - repository.validate(); + repository.validate(callback); } public void testUpdateAttributesAnonymous096() throws Exception { diff --git a/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/TracXmlRpcClientTest.java b/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/TracXmlRpcClientTest.java index 0f4ecd89c..30994feea 100644 --- a/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/TracXmlRpcClientTest.java +++ b/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/TracXmlRpcClientTest.java @@ -40,8 +40,8 @@ public class TracXmlRpcClientTest extends AbstractTracClientRepositoryTest { public void testValidateFailNoAuth() throws Exception { connect(TracTestConstants.TEST_TRAC_010_URL, "", ""); try { - repository.validate(); - fail("Expected TracLoginException"); + repository.validate(callback); + fail("Expected TracPermissiongDeniedException"); } catch (TracPermissionDeniedException e) { } } diff --git a/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/support/XmlRpcServer.java b/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/support/XmlRpcServer.java index cdfcc0cdf..398cbefba 100644 --- a/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/support/XmlRpcServer.java +++ b/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/support/XmlRpcServer.java @@ -10,7 +10,6 @@ package org.eclipse.mylyn.trac.tests.support; import java.io.IOException; import java.net.MalformedURLException; -import java.net.URL; import java.util.ArrayList; import java.util.Arrays; import java.util.Hashtable; @@ -22,6 +21,7 @@ import org.apache.xmlrpc.XmlRpcException; import org.apache.xmlrpc.client.XmlRpcClient; import org.eclipse.mylyn.internal.trac.core.TracXmlRpcClient; import org.eclipse.mylyn.internal.trac.core.ITracClient.Version; +import org.eclipse.mylyn.web.core.WebLocation; /** * @author Steffen Pingel @@ -291,7 +291,7 @@ public class XmlRpcServer { this.data = new TestData(); - this.repository = new TracXmlRpcClient(new URL(url), Version.XML_RPC, username, password, null); + this.repository = new TracXmlRpcClient(new WebLocation(url, username, password), Version.XML_RPC); this.client = repository.getClient(); } |