/**
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* @author Arne Kepp, Copyright 2010
*/
package org.geowebcache.layer.wms;
import java.net.URL;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.UsernamePasswordCredentials;
import org.apache.commons.httpclient.auth.AuthScope;
import org.apache.commons.httpclient.methods.GetMethod;
import junit.framework.TestCase;
public class HttpClientTest extends TestCase {
final static boolean RUN_PERFORMANCE_TEST = false;
final static int LOOP_COUNT = 100000;
protected void setUp() throws Exception {
super.setUp();
}
/**
* Some numbers just for creating HttpClient instances
* (less than what is done below)
*
* Core i7 , Java 1.6 values:
* 1 000 000 in 559 ms
* 1 00 000 in 267 ms
* 10 000 in 186 ms
* 1 000 in 134 ms
*
* @throws Exception
*/
public void testHttpClientConstruction() throws Exception {
if(RUN_PERFORMANCE_TEST) {
long start = System.currentTimeMillis();
for(int i=0; i< LOOP_COUNT; i++) {
HttpClient hc = new HttpClient();
URL url = new URL("http://localhost:8080/test");
GetMethod getMethod = new GetMethod(url.toString());
AuthScope authscope = new AuthScope(url.getHost(), url.getPort());
UsernamePasswordCredentials credentials = new UsernamePasswordCredentials("username", "password");
hc.getState().setCredentials(authscope, credentials);
getMethod.setDoAuthentication(true);
hc.getParams().setAuthenticationPreemptive(true);
if(hc.getPort() == 0) {
// Dummy
}
//System.out.print(i);
}
long stop = System.currentTimeMillis();
long diff = ( stop - start );
System.out.println( "Time to create " + LOOP_COUNT + " in " + diff + " milliseconds");
}
}
}