use of org.apache.commons.httpclient.server.HttpRequestHandlerChain in project ecf by eclipse.
the class TestProxy method testGetHostAuthConnKeepAlive.
/**
* Tests GET via non-authenticating proxy + host auth + connection keep-alive
*/
public void testGetHostAuthConnKeepAlive() throws Exception {
UsernamePasswordCredentials creds = new UsernamePasswordCredentials("testuser", "testpass");
this.client.getState().setCredentials(AuthScope.ANY, creds);
HttpRequestHandlerChain handlerchain = new HttpRequestHandlerChain();
handlerchain.appendHandler(new AuthRequestHandler(creds, "test", true));
handlerchain.appendHandler(new HttpServiceHandler(new FeedbackService()));
this.server.setRequestHandler(handlerchain);
GetMethod get = new GetMethod("/");
try {
this.client.executeMethod(get);
assertEquals(HttpStatus.SC_OK, get.getStatusCode());
} finally {
get.releaseConnection();
}
}
use of org.apache.commons.httpclient.server.HttpRequestHandlerChain in project ecf by eclipse.
the class TestProxy method testPostProxyAuthHostInvalidAuth.
/**
* Tests POST via non-authenticating proxy + invalid host auth
*/
public void testPostProxyAuthHostInvalidAuth() throws Exception {
UsernamePasswordCredentials creds = new UsernamePasswordCredentials("testuser", "testpass");
this.client.getState().setProxyCredentials(AuthScope.ANY, creds);
HttpRequestHandlerChain handlerchain = new HttpRequestHandlerChain();
handlerchain.appendHandler(new AuthRequestHandler(creds));
handlerchain.appendHandler(new HttpServiceHandler(new FeedbackService()));
this.client.getState().setCredentials(AuthScope.ANY, new UsernamePasswordCredentials("testuser", "wrongstuff"));
this.server.setRequestHandler(handlerchain);
this.proxy.requireAuthentication(creds, "test", true);
PostMethod post = new PostMethod("/");
post.setRequestEntity(new StringRequestEntity("Like tons of stuff"));
try {
this.client.executeMethod(post);
assertEquals(HttpStatus.SC_UNAUTHORIZED, post.getStatusCode());
} finally {
post.releaseConnection();
}
}
use of org.apache.commons.httpclient.server.HttpRequestHandlerChain in project ecf by eclipse.
the class TestProxy method testPostProxyAuthHostAuthConnClose.
/**
* Tests POST via authenticating proxy + host auth + connection close
*/
public void testPostProxyAuthHostAuthConnClose() throws Exception {
UsernamePasswordCredentials creds = new UsernamePasswordCredentials("testuser", "testpass");
this.client.getState().setCredentials(AuthScope.ANY, creds);
this.client.getState().setProxyCredentials(AuthScope.ANY, creds);
HttpRequestHandlerChain handlerchain = new HttpRequestHandlerChain();
handlerchain.appendHandler(new AuthRequestHandler(creds, "test", false));
handlerchain.appendHandler(new HttpServiceHandler(new FeedbackService()));
this.server.setRequestHandler(handlerchain);
this.proxy.requireAuthentication(creds, "test", true);
PostMethod post = new PostMethod("/");
post.setRequestEntity(new StringRequestEntity("Like tons of stuff"));
try {
this.client.executeMethod(post);
assertEquals(HttpStatus.SC_OK, post.getStatusCode());
assertNotNull(post.getResponseBodyAsString());
} finally {
post.releaseConnection();
}
}
use of org.apache.commons.httpclient.server.HttpRequestHandlerChain in project ecf by eclipse.
the class TestProxy method testGetHostInvalidAuth.
/**
* Tests GET via non-authenticating proxy + invalid host auth
*/
public void testGetHostInvalidAuth() throws Exception {
UsernamePasswordCredentials creds = new UsernamePasswordCredentials("testuser", "testpass");
this.client.getState().setCredentials(AuthScope.ANY, creds);
HttpRequestHandlerChain handlerchain = new HttpRequestHandlerChain();
handlerchain.appendHandler(new AuthRequestHandler(creds));
handlerchain.appendHandler(new HttpServiceHandler(new FeedbackService()));
this.client.getState().setCredentials(AuthScope.ANY, new UsernamePasswordCredentials("testuser", "wrongstuff"));
this.server.setRequestHandler(handlerchain);
GetMethod get = new GetMethod("/");
try {
this.client.executeMethod(get);
assertEquals(HttpStatus.SC_UNAUTHORIZED, get.getStatusCode());
} finally {
get.releaseConnection();
}
}
use of org.apache.commons.httpclient.server.HttpRequestHandlerChain in project ecf by eclipse.
the class TestBasicAuth method testPostBasicAuthentication.
public void testPostBasicAuthentication() throws Exception {
UsernamePasswordCredentials creds = new UsernamePasswordCredentials("testuser", "testpass");
HttpRequestHandlerChain handlerchain = new HttpRequestHandlerChain();
handlerchain.appendHandler(new AuthRequestHandler(creds));
handlerchain.appendHandler(new HttpServiceHandler(new EchoService()));
HttpState state = new HttpState();
AuthScope authscope = new AuthScope(this.server.getLocalAddress(), this.server.getLocalPort(), "test");
state.setCredentials(authscope, creds);
this.client.setState(state);
this.server.setRequestHandler(handlerchain);
PostMethod post = new PostMethod("/test/");
post.setRequestEntity(new StringRequestEntity("Test body"));
try {
this.client.executeMethod(post);
assertEquals("Test body", post.getResponseBodyAsString());
} finally {
post.releaseConnection();
}
assertNotNull(post.getStatusLine());
assertEquals(HttpStatus.SC_OK, post.getStatusLine().getStatusCode());
Header auth = post.getRequestHeader("Authorization");
assertNotNull(auth);
String expected = "Basic " + EncodingUtil.getAsciiString(Base64.encodeBase64(EncodingUtil.getAsciiBytes("testuser:testpass")));
assertEquals(expected, auth.getValue());
AuthState authstate = post.getHostAuthState();
assertNotNull(authstate.getAuthScheme());
assertTrue(authstate.getAuthScheme() instanceof BasicScheme);
assertEquals("test", authstate.getRealm());
}
Aggregations