diff options
author | mkersten | 2006-07-05 05:40:34 +0000 |
---|---|---|
committer | mkersten | 2006-07-05 05:40:34 +0000 |
commit | 71be506b72eef5cb8ebb44a55e030008a4a9866e (patch) | |
tree | ae30243ba41923b97060b96969ec33db73becbbe /org.eclipse.mylyn.trac.tests | |
parent | 00e8aa2f6426e224185a31e2f1de1f0d50880e9f (diff) | |
download | org.eclipse.mylyn.tasks-71be506b72eef5cb8ebb44a55e030008a4a9866e.tar.gz org.eclipse.mylyn.tasks-71be506b72eef5cb8ebb44a55e030008a4a9866e.tar.xz org.eclipse.mylyn.tasks-71be506b72eef5cb8ebb44a55e030008a4a9866e.zip |
Progress on: 147817: Trac connector: implement connector and settings page
https://bugs.eclipse.org/bugs/show_bug.cgi?id=147817
Diffstat (limited to 'org.eclipse.mylyn.trac.tests')
12 files changed, 167 insertions, 53 deletions
diff --git a/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/AbstractTracRepositorySearchTest.java b/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/AbstractTracClientSearchTest.java index cab989977..dbbefdae2 100644 --- a/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/AbstractTracRepositorySearchTest.java +++ b/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/AbstractTracClientSearchTest.java @@ -32,7 +32,7 @@ import org.eclipse.mylar.trac.tests.support.XmlRpcServer.Ticket; * * @author Steffen Pingel */ -public abstract class AbstractTracRepositorySearchTest extends TestCase { +public abstract class AbstractTracClientSearchTest extends TestCase { protected XmlRpcServer server; @@ -42,7 +42,7 @@ public abstract class AbstractTracRepositorySearchTest extends TestCase { private static boolean setupRun = false; - public AbstractTracRepositorySearchTest(AbstractTracRepositoryFactory factory) { + public AbstractTracClientSearchTest(AbstractTracRepositoryFactory factory) { this.factory = factory; } diff --git a/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/AbstractTracRepositoryTest.java b/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/AbstractTracClientTest.java index 1f55ca2a7..04016d479 100644 --- a/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/AbstractTracRepositoryTest.java +++ b/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/AbstractTracClientTest.java @@ -21,11 +21,11 @@ import org.eclipse.mylar.trac.tests.support.AbstractTracRepositoryFactory; * * @author Steffen Pingel */ -public abstract class AbstractTracRepositoryTest extends TestCase { +public abstract class AbstractTracClientTest extends TestCase { protected AbstractTracRepositoryFactory factory; - public AbstractTracRepositoryTest(AbstractTracRepositoryFactory factory) { + public AbstractTracClientTest(AbstractTracRepositoryFactory factory) { this.factory = factory; } 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 26e655569..777dda1c2 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 @@ -26,10 +26,12 @@ public class AllTracTests { suite.addTestSuite(TracXmlRpcTest.class); suite.addTestSuite(TracSearchTest.class); suite.addTestSuite(TracTicketTest.class); - suite.addTestSuite(TracXmlRpcRepositoryTest.class); - suite.addTestSuite(TracXmlRpcRepositorySearchTest.class); - suite.addTestSuite(Trac09RepositoryTest.class); - suite.addTestSuite(Trac09RepositorySearchTest.class); + suite.addTestSuite(TracXmlRpcClientTest.class); + suite.addTestSuite(TracXmlRpcClientSearchTest.class); + suite.addTestSuite(Trac09ClientTest.class); + suite.addTestSuite(Trac09ClientSearchTest.class); + suite.addTestSuite(TracClientFactoryTest.class); + suite.addTestSuite(TracRepositoryConnectorTest.class); //$JUnit-END$ return suite; } diff --git a/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/Trac09RepositorySearchTest.java b/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/Trac09ClientSearchTest.java index 98312771b..20f9bc3bc 100644 --- a/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/Trac09RepositorySearchTest.java +++ b/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/Trac09ClientSearchTest.java @@ -13,20 +13,20 @@ package org.eclipse.mylar.trac.tests; import java.net.URL; -import org.eclipse.mylar.internal.trac.core.ITracRepository; -import org.eclipse.mylar.internal.trac.core.Trac09Repository; -import org.eclipse.mylar.internal.trac.core.ITracRepository.Version; +import org.eclipse.mylar.internal.trac.core.ITracClient; +import org.eclipse.mylar.internal.trac.core.Trac09Client; +import org.eclipse.mylar.internal.trac.core.ITracClient.Version; import org.eclipse.mylar.trac.tests.support.AbstractTracRepositoryFactory; /** * @author Steffen Pingel */ -public class Trac09RepositorySearchTest extends AbstractTracRepositorySearchTest { +public class Trac09ClientSearchTest extends AbstractTracClientSearchTest { - public Trac09RepositorySearchTest() { + public Trac09ClientSearchTest() { super(new AbstractTracRepositoryFactory() { - protected ITracRepository createRepository(String url, String username, String password) throws Exception { - return new Trac09Repository(new URL(url), Version.TRAC_0_9, username, password); + protected ITracClient createRepository(String url, String username, String password) throws Exception { + return new Trac09Client(new URL(url), Version.TRAC_0_9, username, password); } }); } diff --git a/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/Trac09RepositoryTest.java b/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/Trac09ClientTest.java index 547423c65..9ccc5a517 100644 --- a/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/Trac09RepositoryTest.java +++ b/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/Trac09ClientTest.java @@ -13,20 +13,20 @@ package org.eclipse.mylar.trac.tests; import java.net.URL; -import org.eclipse.mylar.internal.trac.core.ITracRepository; -import org.eclipse.mylar.internal.trac.core.Trac09Repository; -import org.eclipse.mylar.internal.trac.core.ITracRepository.Version; +import org.eclipse.mylar.internal.trac.core.ITracClient; +import org.eclipse.mylar.internal.trac.core.Trac09Client; +import org.eclipse.mylar.internal.trac.core.ITracClient.Version; import org.eclipse.mylar.trac.tests.support.AbstractTracRepositoryFactory; /** * @author Steffen Pingel */ -public class Trac09RepositoryTest extends AbstractTracRepositoryTest { +public class Trac09ClientTest extends AbstractTracClientTest { - public Trac09RepositoryTest() { + public Trac09ClientTest() { super(new AbstractTracRepositoryFactory() { - protected ITracRepository createRepository(String url, String username, String password) throws Exception { - return new Trac09Repository(new URL(url), Version.TRAC_0_9, username, password); + protected ITracClient createRepository(String url, String username, String password) throws Exception { + return new Trac09Client(new URL(url), Version.TRAC_0_9, username, password); } }); } 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 new file mode 100644 index 000000000..ae2a9bb8f --- /dev/null +++ b/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/TracClientFactoryTest.java @@ -0,0 +1,73 @@ +/******************************************************************************* + * Copyright (c) 2006 - 2006 Mylar eclipse.org project and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Mylar project committers - initial API and implementation + *******************************************************************************/ + +package org.eclipse.mylar.trac.tests; + +import junit.framework.TestCase; + +import org.eclipse.mylar.internal.trac.core.ITracClient; +import org.eclipse.mylar.internal.trac.core.Trac09Client; +import org.eclipse.mylar.internal.trac.core.TracClientFactory; +import org.eclipse.mylar.internal.trac.core.TracException; +import org.eclipse.mylar.internal.trac.core.TracLoginException; +import org.eclipse.mylar.internal.trac.core.TracXmlRpcClient; +import org.eclipse.mylar.internal.trac.core.ITracClient.Version; + +/** + * @author Steffen Pingel + */ +public class TracClientFactoryTest extends TestCase { + + public void testCreateClient() throws Exception { + ITracClient client = TracClientFactory.createClient(Constants.TEST_REPOSITORY1_URL, Version.TRAC_0_9, "user", + "password"); + assertTrue(client instanceof Trac09Client); + client = TracClientFactory.createClient(Constants.TEST_REPOSITORY1_SSL_URL, Version.TRAC_0_9, "user", + "password"); + assertTrue(client instanceof Trac09Client); + + client = TracClientFactory.createClient(Constants.TEST_REPOSITORY1_URL, Version.XML_RPC, "user", "password"); + assertTrue(client instanceof TracXmlRpcClient); + client = TracClientFactory + .createClient(Constants.TEST_REPOSITORY1_SSL_URL, Version.XML_RPC, "user", "password"); + assertTrue(client instanceof TracXmlRpcClient); + } + + public void testCreateClientNull() throws Exception { + try { + TracClientFactory.createClient(Constants.TEST_REPOSITORY1_SSL_URL, null, "user", "password"); + fail("Expected Exception"); + } catch (Exception e) { + } + } + + public void testProbeClient() throws Exception { + Version version = TracClientFactory.probeClient(Constants.TEST_REPOSITORY1_URL, + Constants.TEST_REPOSITORY1_USERNAME, Constants.TEST_REPOSITORY1_PASSWORD); + assertEquals(Version.XML_RPC, version); + + version = TracClientFactory.probeClient(Constants.TEST_REPOSITORY1_URL, "", ""); + assertEquals(Version.TRAC_0_9, version); + + try { + version = TracClientFactory.probeClient(Constants.TEST_REPOSITORY1_URL, "invaliduser", "password"); + fail("Expected TracLoginException, got " + version); + } catch (TracLoginException e) { + } + + try { + version = TracClientFactory.probeClient(Constants.TEST_REPOSITORY1_URL + "/nonexistant", "", ""); + fail("Expected TracException, got " + version); + } 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 new file mode 100644 index 000000000..bc5f8b288 --- /dev/null +++ b/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/TracRepositoryConnectorTest.java @@ -0,0 +1,31 @@ +/******************************************************************************* + * Copyright (c) 2006 - 2006 Mylar eclipse.org project and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Mylar project committers - initial API and implementation + *******************************************************************************/ + +package org.eclipse.mylar.trac.tests; + +import org.eclipse.mylar.internal.trac.TracRepositoryConnector; + +import junit.framework.TestCase; + +/** + * @author Steffen Pingel + */ +public class TracRepositoryConnectorTest extends TestCase { + + public void testGetRepositoryUrlFromTaskUrl() { + TracRepositoryConnector connector = new TracRepositoryConnector(); + assertEquals("http://host/repo", connector.getRepositoryUrlFromTaskUrl("http://host/repo/ticket/1")); + assertEquals("http://host", connector.getRepositoryUrlFromTaskUrl("http://host/ticket/2342")); + assertEquals(null, connector.getRepositoryUrlFromTaskUrl("http://host/repo/2342")); + assertEquals(null, connector.getRepositoryUrlFromTaskUrl("http://host/repo/ticket-2342")); + } + +} diff --git a/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/TracXmlRpcRepositorySearchTest.java b/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/TracXmlRpcClientSearchTest.java index 10c5fd74f..23d700bcb 100644 --- a/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/TracXmlRpcRepositorySearchTest.java +++ b/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/TracXmlRpcClientSearchTest.java @@ -15,9 +15,9 @@ import java.net.URL; import java.util.ArrayList; import java.util.List; -import org.eclipse.mylar.internal.trac.core.ITracRepository; -import org.eclipse.mylar.internal.trac.core.TracXmlRpcRepository; -import org.eclipse.mylar.internal.trac.core.ITracRepository.Version; +import org.eclipse.mylar.internal.trac.core.ITracClient; +import org.eclipse.mylar.internal.trac.core.TracXmlRpcClient; +import org.eclipse.mylar.internal.trac.core.ITracClient.Version; import org.eclipse.mylar.internal.trac.model.TracSearch; import org.eclipse.mylar.internal.trac.model.TracTicket; import org.eclipse.mylar.internal.trac.model.TracTicket.Key; @@ -26,12 +26,12 @@ import org.eclipse.mylar.trac.tests.support.AbstractTracRepositoryFactory; /** * @author Steffen Pingel */ -public class TracXmlRpcRepositorySearchTest extends AbstractTracRepositorySearchTest { +public class TracXmlRpcClientSearchTest extends AbstractTracClientSearchTest { - public TracXmlRpcRepositorySearchTest() { + public TracXmlRpcClientSearchTest() { super(new AbstractTracRepositoryFactory() { - protected ITracRepository createRepository(String url, String username, String password) throws Exception { - return new TracXmlRpcRepository(new URL(url), Version.XML_RPC, username, password); + protected ITracClient createRepository(String url, String username, String password) throws Exception { + return new TracXmlRpcClient(new URL(url), Version.XML_RPC, username, password); } }); } diff --git a/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/TracXmlRpcRepositoryTest.java b/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/TracXmlRpcClientTest.java index b51df9c82..a8f8abebd 100644 --- a/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/TracXmlRpcRepositoryTest.java +++ b/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/TracXmlRpcClientTest.java @@ -13,22 +13,22 @@ package org.eclipse.mylar.trac.tests; import java.net.URL; -import org.eclipse.mylar.internal.trac.core.ITracRepository; +import org.eclipse.mylar.internal.trac.core.ITracClient; import org.eclipse.mylar.internal.trac.core.TracLoginException; import org.eclipse.mylar.internal.trac.core.TracRemoteException; -import org.eclipse.mylar.internal.trac.core.TracXmlRpcRepository; -import org.eclipse.mylar.internal.trac.core.ITracRepository.Version; +import org.eclipse.mylar.internal.trac.core.TracXmlRpcClient; +import org.eclipse.mylar.internal.trac.core.ITracClient.Version; import org.eclipse.mylar.trac.tests.support.AbstractTracRepositoryFactory; /** * @author Steffen Pingel */ -public class TracXmlRpcRepositoryTest extends AbstractTracRepositoryTest { +public class TracXmlRpcClientTest extends AbstractTracClientTest { - public TracXmlRpcRepositoryTest() { + public TracXmlRpcClientTest() { super(new AbstractTracRepositoryFactory() { - protected ITracRepository createRepository(String url, String username, String password) throws Exception { - return new TracXmlRpcRepository(new URL(url), Version.XML_RPC, username, password); + protected ITracClient createRepository(String url, String username, String password) throws Exception { + return new TracXmlRpcClient(new URL(url), Version.XML_RPC, username, password); } }); } @@ -45,7 +45,7 @@ public class TracXmlRpcRepositoryTest extends AbstractTracRepositoryTest { public void testMulticallExceptions() throws Exception { factory.connectRepository1(); try { - ((TracXmlRpcRepository) factory.repository).getTickets(new int[] { 1, Integer.MAX_VALUE }); + ((TracXmlRpcClient) factory.repository).getTickets(new int[] { 1, Integer.MAX_VALUE }); fail("Expected TracRemoteException"); } catch (TracRemoteException e) { } diff --git a/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/TracXmlRpcTest.java b/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/TracXmlRpcTest.java index 17b211e5e..e6a5ff405 100644 --- a/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/TracXmlRpcTest.java +++ b/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/TracXmlRpcTest.java @@ -30,8 +30,11 @@ import org.apache.xmlrpc.XmlRpcException; import org.eclipse.mylar.internal.trac.TrustAll; /** - * Test cases for Trac XML-RPC Plugin API. This class does not depend on any of - * the Mylar connector classes. + * Test cases for <a href="http://trac-hacks.org/wiki/XmlRpcPlugin">Trac XML-RPC + * Plugin</a> API. Revision 848 or higher is required. + * + * <p> + * This class does not depend on any of the Mylar connector classes. * * @author Steffen Pingel */ @@ -337,20 +340,25 @@ public class TracXmlRpcTest extends TestCase { int id1 = (Integer) call("ticket.create", "summary1", "description1", new Hashtable()); int id2 = (Integer) call("ticket.create", "summary2", "description2", new Hashtable()); - Object[] calls = new Object[] { createMultiCall("ticket.get", id1), createMultiCall("ticket.get", id2), }; - Vector ret = (Vector) call("system.multicall", new Object[] { calls }); + Vector<Hashtable> calls = new Vector<Hashtable>(); + calls.add(createMultiCall("ticket.get", id1)); + calls.add(createMultiCall("ticket.get", id2)); + Vector ret = (Vector) call("system.multicall", calls); - Vector ticket = (Vector) ret.get(0); + Vector ticket = (Vector) ((Vector) ret.get(0)).get(0); Hashtable<String, Object> attributes = new Hashtable<String, Object>(); attributes.put("summary", "summary1"); attributes.put("description", "description1"); assertTicketHasAttributes(attributes, id1, ticket); - ticket = (Vector) ret.get(1); + ticket = (Vector) ((Vector) ret.get(1)).get(0); attributes.clear(); attributes.put("summary", "summary2"); attributes.put("description", "description2"); assertTicketHasAttributes(attributes, id2, ticket); + + call("ticket.delete", id1); + call("ticket.delete", id2); } public void testAttachment() throws XmlRpcException, IOException { diff --git a/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/support/AbstractTracRepositoryFactory.java b/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/support/AbstractTracRepositoryFactory.java index a3cec40ea..e638fcbaa 100644 --- a/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/support/AbstractTracRepositoryFactory.java +++ b/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/support/AbstractTracRepositoryFactory.java @@ -13,7 +13,7 @@ package org.eclipse.mylar.trac.tests.support; import java.net.Authenticator; -import org.eclipse.mylar.internal.trac.core.ITracRepository; +import org.eclipse.mylar.internal.trac.core.ITracClient; import org.eclipse.mylar.trac.tests.Constants; /** @@ -24,18 +24,18 @@ public abstract class AbstractTracRepositoryFactory { public String repositoryUrl; - public ITracRepository repository; + public ITracClient repository; public String username; public String password; - public ITracRepository connectRepository1() throws Exception { + public ITracClient connectRepository1() throws Exception { return connect(Constants.TEST_REPOSITORY1_URL, Constants.TEST_REPOSITORY1_ADMIN_USERNAME, Constants.TEST_REPOSITORY1_ADMIN_PASSWORD); } - public ITracRepository connect(String url, String username, String password) throws Exception { + public ITracClient connect(String url, String username, String password) throws Exception { this.repositoryUrl = url; this.username = username; this.password = password; @@ -47,6 +47,6 @@ public abstract class AbstractTracRepositoryFactory { return this.repository; } - protected abstract ITracRepository createRepository(String url, String username, String password) throws Exception; + protected abstract ITracClient createRepository(String url, String username, String password) throws Exception; } 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 6284e521f..e72f273d2 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 @@ -22,8 +22,8 @@ import java.util.Vector; import org.apache.xmlrpc.XmlRpcClient; import org.apache.xmlrpc.XmlRpcException; -import org.eclipse.mylar.internal.trac.core.TracXmlRpcRepository; -import org.eclipse.mylar.internal.trac.core.ITracRepository.Version; +import org.eclipse.mylar.internal.trac.core.TracXmlRpcClient; +import org.eclipse.mylar.internal.trac.core.ITracClient.Version; /** * @author Steffen Pingel @@ -262,7 +262,7 @@ public class XmlRpcServer { private String password; - private TracXmlRpcRepository repository; + private TracXmlRpcClient repository; private String url; @@ -275,7 +275,7 @@ public class XmlRpcServer { this.fixture = new TestFixture(); - this.repository = new TracXmlRpcRepository(new URL(url), Version.XML_RPC, username, password); + this.repository = new TracXmlRpcClient(new URL(url), Version.XML_RPC, username, password); this.client = repository.getClient(); } @@ -300,7 +300,7 @@ public class XmlRpcServer { return password; } - public TracXmlRpcRepository getRepository() throws MalformedURLException { + public TracXmlRpcClient getRepository() throws MalformedURLException { return repository; } |