package org.jolokia.client; /* * Copyright 2009-2011 Roland Huss * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import javax.management.MalformedObjectNameException; import org.apache.http.impl.client.BasicCookieStore; import org.jolokia.client.exception.J4pConnectException; import org.jolokia.client.exception.J4pException; import org.jolokia.client.request.J4pReadRequest; import org.testng.annotations.Test; import static org.testng.AssertJUnit.*; /** * @author roland * @since 23.09.11 */ public class J4pClientBuilderTest { @Test public void simple() { J4pClient client = J4pClient .url("http://localhost:8080/jolokia") .user("roland") .password("s!c!r!t") .connectionTimeout(100) .expectContinue(false) .tcpNoDelay(true) .contentCharset("utf-8") .maxConnectionPoolTimeout(3000) .maxTotalConnections(500) .pooledConnections() .socketBufferSize(8192) .socketTimeout(5000) .cookieStore(new BasicCookieStore()) .build(); client.getHttpClient(); } @Test public void entry() { assertNotNull(J4pClient.user("roland")); assertNotNull(J4pClient.password("s!cr!t")); assertNotNull(J4pClient.connectionTimeout(100)); assertNotNull(J4pClient.expectContinue(true)); assertNotNull(J4pClient.tcpNoDelay(true)); assertNotNull(J4pClient.contentCharset("utf-8")); assertNotNull(J4pClient.maxConnectionPoolTimeout(3000)); assertNotNull(J4pClient.maxTotalConnections(100)); assertNotNull(J4pClient.singleConnection()); assertNotNull(J4pClient.pooledConnections()); assertNotNull(J4pClient.socketBufferSize(8192)); assertNotNull(J4pClient.socketTimeout(5000)); assertNotNull(J4pClient.cookieStore(new BasicCookieStore())); } @Test public void testParseProxySettings_null() throws Exception { assertNull(J4pClientBuilder.parseProxySettings(null)); } @Test public void proxy_stringWithUserPassHostAndPort() { J4pClient client = J4pClient .url("http://localhost:8080/jolokia") .proxy("http://user:pass@host:8080") .build(); client.getHttpClient(); } @Test public void proxy_hostAndPort() { J4pClient client = J4pClient .url("http://localhost:8080/jolokia") .proxy("host", 8080) .build(); client.getHttpClient(); } @Test public void proxy_hostPortUserAndPassword() { J4pClient client = J4pClient .url("http://localhost:8080/jolokia") .proxy("host",8080,"user","pass") .build(); client.getHttpClient(); } @Test public void proxy_useProxyFromEnvironment() { J4pClient client = J4pClient .url("http://localhost:8080/jolokia") .useProxyFromEnvironment() .build(); client.getHttpClient(); } @Test(expectedExceptions = J4pConnectException.class, expectedExceptionsMessageRegExp = ".*localhost:65535.*") public void proxy_executeNoProxy() throws MalformedObjectNameException, J4pException { J4pClient client = J4pClient .url("http://localhost:8080/jolokia") .proxy("localhost", 65535, "user", "pass") // most likely there is no proxy on this port .build(); J4pReadRequest readRequest = new J4pReadRequest("java.lang:type=Memory", "HeapMemoryUsage"); client.execute(readRequest); } }