blob: d3677ba704e5e8ffbc8dfb03060548bd7d7c722b [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2004 - 2006 Mylar committers 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
*******************************************************************************/
package org.eclipse.mylyn.tasks.tests;
import java.net.InetSocketAddress;
import java.net.Proxy.Type;
import junit.framework.TestCase;
import org.apache.commons.httpclient.NTCredentials;
import org.apache.commons.httpclient.UsernamePasswordCredentials;
import org.eclipse.mylyn.web.core.AuthenticatedProxy;
import org.eclipse.mylyn.web.core.WebClientUtil;
public class UrlConnectionUtilTest extends TestCase {
public void testUrlParsers() {
String url = "https://example.com:444/folder/file.txt";
assertEquals(444, WebClientUtil.getPort(url));
assertEquals("example.com", WebClientUtil.getDomain(url));
assertEquals("/folder/file.txt", WebClientUtil.getRequestPath(url));
url = "http://example.com/";
assertEquals(80, WebClientUtil.getPort(url));
assertEquals("example.com", WebClientUtil.getDomain(url));
assertEquals("/", WebClientUtil.getRequestPath(url));
url = "https://example.com:321";
assertEquals(321, WebClientUtil.getPort(url));
assertEquals("example.com", WebClientUtil.getDomain(url));
assertEquals("", WebClientUtil.getRequestPath(url));
url = "example.com:321";
assertEquals(321, WebClientUtil.getPort(url));
assertEquals("example.com", WebClientUtil.getDomain(url));
assertEquals("", WebClientUtil.getRequestPath(url));
url = "https://example.com:444/folder/file.txt?search=https://example.com:812/folder/file.txt";
assertEquals(444, WebClientUtil.getPort(url));
assertEquals("example.com", WebClientUtil.getDomain(url));
assertEquals("/folder/file.txt?search=https://example.com:812/folder/file.txt", WebClientUtil.getRequestPath(url));
url = "https://example.com/folder/file.txt?search=https://example.com:812/folder/file.txt";
assertEquals(443, WebClientUtil.getPort(url));
assertEquals("example.com", WebClientUtil.getDomain(url));
assertEquals("/folder/file.txt?search=https://example.com:812/folder/file.txt", WebClientUtil.getRequestPath(url));
}
public void testCredentials() {
AuthenticatedProxy proxy = new AuthenticatedProxy(Type.HTTP, new InetSocketAddress(4567), "user", "password");
UsernamePasswordCredentials credentials = (UsernamePasswordCredentials) WebClientUtil.getCredentials(proxy, new InetSocketAddress(1234));
assertEquals("user", credentials.getUserName());
assertEquals("password", credentials.getPassword());
proxy = new AuthenticatedProxy(Type.HTTP, new InetSocketAddress(4567), "domain\\user", "password");
NTCredentials ntCredentials = (NTCredentials) WebClientUtil.getCredentials(proxy, new InetSocketAddress("mylar.eclipse.org", 1234));
assertEquals("user", ntCredentials.getUserName());
assertEquals("password", ntCredentials.getPassword());
assertEquals("domain", ntCredentials.getDomain());
assertEquals("mylar.eclipse.org", ntCredentials.getHost());
}
}