diff options
author | spingel | 2010-02-11 03:36:16 +0000 |
---|---|---|
committer | spingel | 2010-02-11 03:36:16 +0000 |
commit | ade2251e078750c362e812763ffd00dc4d7b2477 (patch) | |
tree | 0adff70033312987dfc2269a27c9c1fcb24babf8 | |
parent | 939b70c9141fe62e587cf851e54b1ca87f92c1a9 (diff) | |
download | org.eclipse.mylyn.tasks-ade2251e078750c362e812763ffd00dc4d7b2477.tar.gz org.eclipse.mylyn.tasks-ade2251e078750c362e812763ffd00dc4d7b2477.tar.xz org.eclipse.mylyn.tasks-ade2251e078750c362e812763ffd00dc4d7b2477.zip |
REOPENED - bug 296894: [releng] fix failing tests for 3.4
https://bugs.eclipse.org/bugs/show_bug.cgi?id=296894
7 files changed, 81 insertions, 19 deletions
diff --git a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/TaskRepository.java b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/TaskRepository.java index d63dcc853..259ee8ede 100644 --- a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/TaskRepository.java +++ b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/TaskRepository.java @@ -34,7 +34,6 @@ import org.eclipse.equinox.security.storage.EncodingUtils; import org.eclipse.equinox.security.storage.ISecurePreferences; import org.eclipse.equinox.security.storage.SecurePreferencesFactory; import org.eclipse.equinox.security.storage.StorageException; -import org.eclipse.mylyn.commons.core.CoreUtil; import org.eclipse.mylyn.commons.core.StatusHandler; import org.eclipse.mylyn.commons.net.AuthenticationCredentials; import org.eclipse.mylyn.commons.net.AuthenticationType; @@ -247,7 +246,7 @@ public final class TaskRepository extends PlatformObject { private void addAuthInfo(String username, String password, String userProperty, String passwordProperty) { synchronized (LOCK) { - if (Platform.isRunning() && !CoreUtil.TEST_MODE) { + if (Platform.isRunning()) { if (useSecureStorage()) { try { ISecurePreferences securePreferences = getSecurePreferences(); @@ -291,7 +290,7 @@ public final class TaskRepository extends PlatformObject { } } - @SuppressWarnings( { "unchecked" }) + @SuppressWarnings({ "unchecked" }) private Map<String, String> getAuthInfo() { synchronized (LOCK) { if (Platform.isRunning()) { @@ -392,7 +391,7 @@ public final class TaskRepository extends PlatformObject { @SuppressWarnings("unchecked") private String getAuthInfo(String property) { synchronized (LOCK) { - if (Platform.isRunning() && !CoreUtil.TEST_MODE) { + if (Platform.isRunning()) { if (useSecureStorage()) { String propertyValue = null; if (property.equals(getKeyPrefix(AuthenticationType.REPOSITORY) + USERNAME)) { diff --git a/org.eclipse.mylyn.trac.core/src/org/eclipse/mylyn/internal/trac/core/client/AbstractTracClient.java b/org.eclipse.mylyn.trac.core/src/org/eclipse/mylyn/internal/trac/core/client/AbstractTracClient.java index a39806c6d..16f8b5844 100644 --- a/org.eclipse.mylyn.trac.core/src/org/eclipse/mylyn/internal/trac/core/client/AbstractTracClient.java +++ b/org.eclipse.mylyn.trac.core/src/org/eclipse/mylyn/internal/trac/core/client/AbstractTracClient.java @@ -15,16 +15,19 @@ import java.io.IOException; import java.net.HttpURLConnection; import java.net.Proxy; import java.net.URL; +import java.util.Arrays; import java.util.HashMap; import org.apache.commons.httpclient.Cookie; import org.apache.commons.httpclient.HostConfiguration; import org.apache.commons.httpclient.HttpClient; import org.apache.commons.httpclient.NameValuePair; +import org.apache.commons.httpclient.auth.AuthScope; import org.apache.commons.httpclient.cookie.CookiePolicy; import org.apache.commons.httpclient.methods.PostMethod; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.Platform; +import org.eclipse.mylyn.commons.core.CoreUtil; import org.eclipse.mylyn.commons.net.AbstractWebLocation; import org.eclipse.mylyn.commons.net.AuthenticationCredentials; import org.eclipse.mylyn.commons.net.WebUtil; @@ -141,6 +144,13 @@ public abstract class AbstractTracClient implements ITracClient { } } + if (CoreUtil.TEST_MODE) { + AuthScope authScope = new AuthScope(WebUtil.getHost(repositoryUrl), WebUtil.getPort(repositoryUrl), null, + AuthScope.ANY_SCHEME); + System.err.println(" Authentication failed: " + httpClient.getState().getCredentials(authScope)); //$NON-NLS-1$ + System.err.println(" Cookies: " + Arrays.asList(cookies)); //$NON-NLS-1$ + } + throw new TracLoginException(); } diff --git a/org.eclipse.mylyn.trac.core/src/org/eclipse/mylyn/internal/trac/core/client/TracWebClient.java b/org.eclipse.mylyn.trac.core/src/org/eclipse/mylyn/internal/trac/core/client/TracWebClient.java index 0741b068f..6ad5bff45 100644 --- a/org.eclipse.mylyn.trac.core/src/org/eclipse/mylyn/internal/trac/core/client/TracWebClient.java +++ b/org.eclipse.mylyn.trac.core/src/org/eclipse/mylyn/internal/trac/core/client/TracWebClient.java @@ -29,6 +29,7 @@ import java.util.StringTokenizer; import javax.swing.text.html.HTML.Tag; +import org.apache.commons.httpclient.Credentials; import org.apache.commons.httpclient.HostConfiguration; import org.apache.commons.httpclient.HttpClient; import org.apache.commons.httpclient.HttpStatus; @@ -39,6 +40,7 @@ import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.OperationCanceledException; import org.eclipse.core.runtime.Status; +import org.eclipse.mylyn.commons.core.CoreUtil; import org.eclipse.mylyn.commons.core.StatusHandler; import org.eclipse.mylyn.commons.net.AbstractWebLocation; import org.eclipse.mylyn.commons.net.AuthenticationCredentials; @@ -95,8 +97,11 @@ public class TracWebClient extends AbstractTracClient { try { authenticate(monitor); } catch (TracLoginException e) { - // try again once - authenticate(monitor); + if (CoreUtil.TEST_MODE) { + authenticate(monitor); + } else { + throw e; + } } } } @@ -140,8 +145,12 @@ public class TracWebClient extends AbstractTracClient { // try standard basic/digest/ntlm authentication first AuthScope authScope = new AuthScope(WebUtil.getHost(repositoryUrl), WebUtil.getPort(repositoryUrl), null, AuthScope.ANY_SCHEME); - httpClient.getState().setCredentials(authScope, - WebUtil.getHttpClientCredentials(credentials, WebUtil.getHost(repositoryUrl))); + Credentials httpCredentials = WebUtil.getHttpClientCredentials(credentials, + WebUtil.getHost(repositoryUrl)); + httpClient.getState().setCredentials(authScope, httpCredentials); + if (CoreUtil.TEST_MODE) { + System.err.println(" Setting credentials: " + httpCredentials); //$NON-NLS-1$ + } GetMethod method = new GetMethod(WebUtil.getRequestPath(repositoryUrl + LOGIN_URL)); method.setFollowRedirects(false); @@ -743,8 +752,8 @@ public class TracWebClient extends AbstractTracClient { } } - public void putAttachmentData(int id, String name, String description, InputStream in, IProgressMonitor monitor, boolean replace) - throws TracException { + public void putAttachmentData(int id, String name, String description, InputStream in, IProgressMonitor monitor, + boolean replace) throws TracException { throw new TracException("Unsupported operation"); //$NON-NLS-1$ } diff --git a/org.eclipse.mylyn.trac.core/src/org/eclipse/mylyn/internal/trac/core/client/TracXmlRpcClient.java b/org.eclipse.mylyn.trac.core/src/org/eclipse/mylyn/internal/trac/core/client/TracXmlRpcClient.java index 007c784a3..52121da1e 100644 --- a/org.eclipse.mylyn.trac.core/src/org/eclipse/mylyn/internal/trac/core/client/TracXmlRpcClient.java +++ b/org.eclipse.mylyn.trac.core/src/org/eclipse/mylyn/internal/trac/core/client/TracXmlRpcClient.java @@ -49,6 +49,7 @@ import org.eclipse.core.runtime.NullProgressMonitor; import org.eclipse.core.runtime.OperationCanceledException; import org.eclipse.core.runtime.Platform; import org.eclipse.core.runtime.Status; +import org.eclipse.mylyn.commons.core.CoreUtil; import org.eclipse.mylyn.commons.core.StatusHandler; import org.eclipse.mylyn.commons.net.AbstractWebLocation; import org.eclipse.mylyn.commons.net.AuthenticationCredentials; @@ -296,8 +297,13 @@ public class TracXmlRpcClient extends AbstractTracClient implements ITracWikiCli AuthenticationCredentials credentials = location.getCredentials(AuthenticationType.REPOSITORY); config.setServerURL(getXmlRpcUrl(credentials)); if (credentialsValid(credentials)) { - Credentials creds = WebUtil.getHttpClientCredentials(credentials, WebUtil.getHost(location.getUrl())); - httpClient.getState().setCredentials(authScope, creds); + Credentials httpCredentials = WebUtil.getHttpClientCredentials(credentials, + WebUtil.getHost(location.getUrl())); + httpClient.getState().setCredentials(authScope, httpCredentials); + if (CoreUtil.TEST_MODE) { + System.err.println(" Setting credentials: " + httpCredentials); //$NON-NLS-1$ + } + httpClient.getState().setCredentials(authScope, httpCredentials); } else { httpClient.getState().clearCredentials(); } diff --git a/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/support/TracFixture.java b/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/support/TracFixture.java index dc4a3df54..ce8376c7d 100644 --- a/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/support/TracFixture.java +++ b/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/support/TracFixture.java @@ -62,6 +62,9 @@ public class TracFixture extends TestFixture { public static TracFixture TRAC_0_11_XML_RPC = new TracFixture(Version.XML_RPC, TracTestConstants.TEST_TRAC_011_URL, "0.11", "XML-RPC"); + public static TracFixture TRAC_TRUNK_XML_RPC = new TracFixture(Version.XML_RPC, + TracTestConstants.TEST_TRAC_TRUNK_URL, "0.12dev-r0", "XML-RPC"); + public static TracFixture DEFAULT = TRAC_0_11_XML_RPC; //public static TracFixture DEFAULT = TRAC_0_11_WEB; @@ -70,7 +73,9 @@ public class TracFixture extends TestFixture { * Standard configurations for running all test against. */ public static final TracFixture[] ALL = new TracFixture[] { TRAC_0_9_WEB, TRAC_0_10_WEB, TRAC_0_11_WEB, - TRAC_0_10_XML_RPC, TRAC_0_11_XML_RPC, /* TRAC_0_10_XML_RPC_SSL, */}; + TRAC_0_10_XML_RPC, TRAC_0_11_XML_RPC,/* TRAC_TRUNK_XML_RPC, *//* TRAC_0_10_XML_RPC_SSL, */}; + +// public static final TracFixture[] ALL = new TracFixture[] { TRAC_TRUNK_XML_RPC }; /** * Misc configurations for running a limited number of test against. @@ -78,6 +83,8 @@ public class TracFixture extends TestFixture { public static final TracFixture[] MISC = new TracFixture[] { TRAC_0_10_XML_RPC_DIGEST_AUTH, TRAC_0_10_XML_RPC_FORM_AUTH, }; +// public static final TracFixture[] MISC = new TracFixture[] {}; + public static void cleanup010() throws Exception { if (data010 != null) { // data010.cleanup(); diff --git a/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/support/TracTestCleanupUtil.java b/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/support/TracTestCleanupUtil.java index fe1a12532..1ff4e45fb 100644 --- a/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/support/TracTestCleanupUtil.java +++ b/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/support/TracTestCleanupUtil.java @@ -43,34 +43,63 @@ public class TracTestCleanupUtil extends TestCase { public void testCleanup010() throws Exception { TracFixture fixture = TracFixture.TRAC_0_10_XML_RPC.activate(); + System.err.println("Connected to " + fixture.getRepositoryUrl()); client = fixture.connect(PrivilegeLevel.ADMIN); - cleanup(); + deleteOldAttachments(); + deleteOldTickets(); } public void testCleanup011() throws Exception { TracFixture fixture = TracFixture.TRAC_0_11_XML_RPC.activate(); + System.err.println("Connected to " + fixture.getRepositoryUrl()); client = fixture.connect(PrivilegeLevel.ADMIN); - cleanup(); + deleteOldAttachments(); + deleteOldTickets(); } - private void cleanup() throws TracException { + public void testCleanupTrunk() throws Exception { + TracFixture fixture = TracFixture.TRAC_TRUNK_XML_RPC.activate(); + System.err.println("Connected to " + fixture.getRepositoryUrl()); + client = fixture.connect(PrivilegeLevel.ADMIN); + deleteOldAttachments(); + deleteOldTickets(); + } + + private void deleteOldAttachments() throws TracException { TracTicket ticket = client.getTicket(data.attachmentTicketId, null); TracAttachment[] attachments = ticket.getAttachments(); + System.err.println("Found " + attachments.length + " attachments"); // skips the first attachment + System.err.print("Deleting attachment: "); for (int i = 1; i < attachments.length; i++) { + System.err.print(i + ", "); client.deleteAttachment(data.attachmentTicketId, attachments[i].getFilename(), null); + if (i % 20 == 0) { + System.err.println(); + System.err.print(" "); + } } + System.err.println(); } public void deleteOldTickets() throws TracException { TracSearch query = new TracSearch(); + query.setMax(10000); List<Integer> result = new ArrayList<Integer>(); client.searchForTicketIds(query, result, null); - for (Integer id : result) { - if (id > 10) { - client.deleteTicket(id, null); + System.err.println("Found " + result.size() + " tickets"); + System.err.print("Deleting ticket: "); + for (Integer i : result) { + if (i > 10) { + System.err.print(i + ", "); + client.deleteTicket(i, null); + if (i % 20 == 0) { + System.err.println(); + System.err.print(" "); + } } } + System.err.println(); } } diff --git a/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/support/TracTestConstants.java b/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/support/TracTestConstants.java index b9b6f8554..11146eb2f 100644 --- a/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/support/TracTestConstants.java +++ b/org.eclipse.mylyn.trac.tests/src/org/eclipse/mylyn/trac/tests/support/TracTestConstants.java @@ -30,6 +30,8 @@ public class TracTestConstants { public static final String TEST_TRAC_011_URL = "http://" + SERVER + "/trac011"; + public static final String TEST_TRAC_TRUNK_URL = "http://" + SERVER + "/tractrunk"; + public static final String TEST_TRAC_INVALID_URL = "http://" + SERVER + "/doesnotexist"; } |