import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.atLeast;
+import static org.mockito.Mockito.verify;
import java.net.MalformedURLException;
import java.util.Arrays;
import javax.ws.rs.core.Response.ResponseBuilder;
import org.apache.http.HttpException;
+import org.glassfish.jersey.client.ClientConfig;
import org.glassfish.jersey.internal.util.Base64;
import org.glassfish.jersey.internal.util.collection.StringKeyIgnoreCaseMultivaluedMap;
import org.json.JSONException;
+import org.json.JSONObject;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.powermock.core.classloader.annotations.PrepareForTest;
import org.powermock.modules.junit4.PowerMockRunner;
+
@RunWith(PowerMockRunner.class)
-@PowerMockIgnore("org.apache.http.conn.ssl.*")
+@PowerMockIgnore({"org.apache.http.conn.ssl.*", "jdk.internal.reflect.*"})
@PrepareForTest({ DmaapClientUtil.class })
public class MRBaseClientTest {
private MRBaseClient mrBaseClient;
private Collection<String> hosts = new HashSet<>(Arrays.asList("localhost:8080"));
private String clientSignature = "topic" + "::" + "cg" + "::" + "cid";
+ private ClientConfig config=null;
@Before
public void setup() throws MalformedURLException {
MultivaluedMap<String, Object> map = new StringKeyIgnoreCaseMultivaluedMap<>();
map.add("transactionid", "transactionid");
- PowerMockito.when(response.getStatus()).thenReturn(200);
- PowerMockito.when(response.readEntity(String.class)).thenReturn("{\"test\":\"test\"}");
- PowerMockito.when(response.getHeaders()).thenReturn(map);
+ Mockito.when(response.getStatus()).thenReturn(200);
+ Mockito.when(response.readEntity(String.class)).thenReturn("{\"test\":\"test\"}");
+ Mockito.when(response.getHeaders()).thenReturn(map);
- PowerMockito.when(
- DmaapClientUtil.getResponsewtCambriaAuth(DmaapClientUtil.getTarget("/path"), "username", "password"))
+ Mockito.when(
+ DmaapClientUtil.getResponsewtCambriaAuth(DmaapClientUtil.getTarget(getClientConfig(),"/path"), "username", "password"))
.thenReturn(response);
- mrBaseClient.get("/path", "username", "password", "HTTPAUTH");
- assertTrue(true);
-
+ JSONObject result = mrBaseClient.get("/path", "username", "password", "HTTPAUTH");
+ assertEquals(200, result.getInt("status"));
+ assertEquals("test", result.getString("test"));
+ verify(response, atLeast(1)).getStatus();
+ verify(response).readEntity(String.class);
+ verify(response).getHeaders();
}
@Test
public void testGet_403() throws JSONException, HttpException {
ResponseBuilder responseBuilder = Response.status(403);
- PowerMockito
- .when(DmaapClientUtil.getResponsewtCambriaAuth(DmaapClientUtil.getTarget("/path"), "username",
+ Mockito
+ .when(DmaapClientUtil.getResponsewtCambriaAuth(DmaapClientUtil.getTarget(getClientConfig(),"/path"), "username",
"password"))
.thenReturn(
responseBuilder.header("transactionid", "transactionid").entity("{\"test\":\"test\"}").build());
- mrBaseClient.get("/path", "username", "password", "HTTPAUTH");
- assertTrue(true);
-
+ JSONObject result = mrBaseClient.get("/path", "username", "password", "HTTPAUTH");
+ assertEquals(403, result.getInt("status"));
}
@Test
MultivaluedMap<String, Object> map = new StringKeyIgnoreCaseMultivaluedMap<>();
map.add("transactionid", "transactionid");
- PowerMockito.when(response.getStatus()).thenReturn(200);
- PowerMockito.when(response.readEntity(String.class)).thenReturn("{\"test\":\"test\"}");
- PowerMockito.when(response.getHeaders()).thenReturn(map);
+ Mockito.when(response.getStatus()).thenReturn(200);
+ Mockito.when(response.readEntity(String.class)).thenReturn("{\"test\":\"test\"}");
+ Mockito.when(response.getHeaders()).thenReturn(map);
- PowerMockito.when(DmaapClientUtil.getResponsewtBasicAuth(DmaapClientUtil.getTarget("/path"),
+ Mockito.when(DmaapClientUtil.getResponsewtBasicAuth(DmaapClientUtil.getTarget(getClientConfig(),"/path"),
Base64.encodeAsString("username:password"))).thenReturn(response);
- mrBaseClient.get("/path", "username", "password", "HTTPAAF");
- assertTrue(true);
+ JSONObject result = mrBaseClient.get("/path", "username", "password", "HTTPAAF");
+ assertEquals(200, result.getInt("status"));
+ verify(response, atLeast(1)).getStatus();
+ verify(response).readEntity(String.class);
+ verify(response).getHeaders();
}
public void testGet_error() throws JSONException, HttpException {
ResponseBuilder responseBuilder = Response.ok();
- PowerMockito
- .when(DmaapClientUtil.getResponsewtCambriaAuth(DmaapClientUtil.getTarget("/path"), "username",
+ Mockito.when(DmaapClientUtil.getResponsewtCambriaAuth(DmaapClientUtil.getTarget(getClientConfig(),"/path"), "username",
"password"))
.thenReturn(
responseBuilder.header("transactionid", "transactionid").entity("{\"test\":\"test\"}").build());
mrBaseClient.get("/path", null, null, "HTTPAUTH");
- assertTrue(true);
-
}
@Test
MultivaluedMap<String, Object> map = new StringKeyIgnoreCaseMultivaluedMap<>();
map.add("transactionid", "transactionid");
- PowerMockito.when(response.getStatus()).thenReturn(200);
- PowerMockito.when(response.readEntity(String.class)).thenReturn("[[");
- PowerMockito.when(response.getHeaders()).thenReturn(map);
+ Mockito.when(response.getStatus()).thenReturn(200);
+ Mockito.when(response.readEntity(String.class)).thenReturn("[[");
+ Mockito.when(response.getHeaders()).thenReturn(map);
- PowerMockito.when(
- DmaapClientUtil.getResponsewtCambriaAuth(DmaapClientUtil.getTarget("/path"), "username", "password"))
+ Mockito.when(
+ DmaapClientUtil.getResponsewtCambriaAuth(DmaapClientUtil.getTarget(getClientConfig(),"/path"), "username", "password"))
.thenReturn(response);
mrBaseClient.get("/path", "username", "password", "HTTPAUTH");
- assertTrue(true);
+ verify(response, atLeast(1)).getStatus();
+ verify(response).readEntity(String.class);
+ verify(response).getHeaders();
}
@Test
MultivaluedMap<String, Object> map = new StringKeyIgnoreCaseMultivaluedMap<>();
map.add("transactionid", "transactionid");
- PowerMockito.when(response.getStatus()).thenReturn(200);
- PowerMockito.when(response.readEntity(String.class)).thenReturn("{\"test\":\"test\"}");
- PowerMockito.when(response.getHeaders()).thenReturn(map);
+ Mockito.when(response.getStatus()).thenReturn(200);
+ Mockito.when(response.readEntity(String.class)).thenReturn("{\"test\":\"test\"}");
+ Mockito.when(response.getHeaders()).thenReturn(map);
- PowerMockito.when(
- DmaapClientUtil.getResponsewtCambriaAuth(DmaapClientUtil.getTarget("/path"), "username", "password"))
+ Mockito.when(
+ DmaapClientUtil.getResponsewtCambriaAuth(DmaapClientUtil.getTarget(getClientConfig(),"/path"), "username", "password"))
.thenReturn(response);
mrBaseClient.getResponse("/path", "username", "password", "HTTPAUTH");
MultivaluedMap<String, Object> map = new StringKeyIgnoreCaseMultivaluedMap<>();
map.add("transactionid", "transactionid");
- PowerMockito.when(response.getStatus()).thenReturn(200);
- PowerMockito.when(response.readEntity(String.class)).thenReturn("{\"test\":\"test\"}");
- PowerMockito.when(response.getHeaders()).thenReturn(map);
+ Mockito.when(response.getStatus()).thenReturn(200);
+ Mockito.when(response.readEntity(String.class)).thenReturn("{\"test\":\"test\"}");
+ Mockito.when(response.getHeaders()).thenReturn(map);
- PowerMockito.when(DmaapClientUtil.getResponsewtBasicAuth(DmaapClientUtil.getTarget("/path"),
+ Mockito.when(DmaapClientUtil.getResponsewtBasicAuth(DmaapClientUtil.getTarget(getClientConfig(),"/path"),
Base64.encodeAsString("username:password"))).thenReturn(response);
mrBaseClient.getResponse("/path", "username", "password", "HTTPAAF");
public void testGetResponse_error() throws JSONException, HttpException {
ResponseBuilder responseBuilder = Response.ok();
- PowerMockito
- .when(DmaapClientUtil.getResponsewtCambriaAuth(DmaapClientUtil.getTarget("/path"), "username",
+ Mockito
+ .when(DmaapClientUtil.getResponsewtCambriaAuth(DmaapClientUtil.getTarget(getClientConfig(),"/path"), "username",
"password"))
.thenReturn(
responseBuilder.header("transactionid", "transactionid").entity("{\"test\":\"test\"}").build());
mrBaseClient.getResponse("/path", null, null, "HTTPAUTH");
-
}
@Test
MultivaluedMap<String, Object> map = new StringKeyIgnoreCaseMultivaluedMap<>();
map.add("transactionid", "transactionid");
- PowerMockito.when(response.getStatus()).thenReturn(200);
- PowerMockito.when(response.readEntity(String.class)).thenReturn("{\"test\":\"test\"}");
- PowerMockito.when(response.getHeaders()).thenReturn(map);
+ Mockito.when(response.getStatus()).thenReturn(200);
+ Mockito.when(response.readEntity(String.class)).thenReturn("{\"test\":\"test\"}");
+ Mockito.when(response.getHeaders()).thenReturn(map);
- PowerMockito.when(
- DmaapClientUtil.getResponsewtCambriaAuth(DmaapClientUtil.getTarget("/path"), "username", "password"))
+ Mockito.when(
+ DmaapClientUtil.getResponsewtCambriaAuth(DmaapClientUtil.getTarget(getClientConfig(),"/path"), "username", "password"))
.thenReturn(response);
mrBaseClient.getAuthResponse("/path", "username", "password", "username", "password", "HTTPAUTH");
public void testAuthResponsee_error() throws JSONException, HttpException {
ResponseBuilder responseBuilder = Response.ok();
- PowerMockito
- .when(DmaapClientUtil.getResponsewtCambriaAuth(DmaapClientUtil.getTarget("/path"), "username",
+ Mockito
+ .when(DmaapClientUtil.getResponsewtCambriaAuth(DmaapClientUtil.getTarget(getClientConfig(),"/path"), "username",
"password"))
.thenReturn(
responseBuilder.header("transactionid", "transactionid").entity("{\"test\":\"test\"}").build());
MultivaluedMap<String, Object> map = new StringKeyIgnoreCaseMultivaluedMap<>();
map.add("transactionid", "transactionid");
- PowerMockito.when(response.getStatus()).thenReturn(200);
- PowerMockito.when(response.readEntity(String.class)).thenReturn("{\"test\":\"test\"}");
- PowerMockito.when(response.getHeaders()).thenReturn(map);
+ Mockito.when(response.getStatus()).thenReturn(200);
+ Mockito.when(response.readEntity(String.class)).thenReturn("{\"test\":\"test\"}");
+ Mockito.when(response.getHeaders()).thenReturn(map);
- PowerMockito
- .when(DmaapClientUtil.postResponsewtCambriaAuth(DmaapClientUtil.getTarget("/path"), "username",
+ Mockito
+ .when(DmaapClientUtil.postResponsewtCambriaAuth(DmaapClientUtil.getTarget(getClientConfig(),"/path"), "username",
"password", new String("{\"test\":\"test\"}").getBytes(), "application/json"))
.thenReturn(response);
public void testPostAuth_error() throws JSONException, HttpException {
ResponseBuilder responseBuilder = Response.ok();
- PowerMockito
- .when(DmaapClientUtil.postResponsewtCambriaAuth(DmaapClientUtil.getTarget("/path"), "username",
+ Mockito
+ .when(DmaapClientUtil.postResponsewtCambriaAuth(DmaapClientUtil.getTarget(getClientConfig(),"/path"), "username",
"password", new String("{\"test\":\"test\"}").getBytes(), "application/json"))
.thenReturn(
responseBuilder.header("transactionid", "transactionid").entity("{\"test\":\"test\"}").build());
.setUsername(null)
.setPassword(null)
.setProtocolFlag("HTTPAUTH"));
-
- assertTrue(true);
-
}
@Test
MultivaluedMap<String, Object> map = new StringKeyIgnoreCaseMultivaluedMap<>();
map.add("transactionid", "transactionid");
- PowerMockito.when(response.getStatus()).thenReturn(200);
- PowerMockito.when(response.readEntity(String.class)).thenReturn("{\"test\":\"test\"}");
- PowerMockito.when(response.getHeaders()).thenReturn(map);
+ Mockito.when(response.getStatus()).thenReturn(200);
+ Mockito.when(response.readEntity(String.class)).thenReturn("{\"test\":\"test\"}");
+ Mockito.when(response.getHeaders()).thenReturn(map);
- PowerMockito.when(DmaapClientUtil.getResponsewtNoAuth(DmaapClientUtil.getTarget("/path"))).thenReturn(response);
+ Mockito.when(DmaapClientUtil.getResponsewtNoAuth(DmaapClientUtil.getTarget(getClientConfig(),"/path"))).thenReturn(response);
mrBaseClient.getNoAuthResponse("/path", "username", "password", "HTTPAUTH");
assertTrue(true);
MultivaluedMap<String, Object> map = new StringKeyIgnoreCaseMultivaluedMap<>();
map.add("transactionid", "transactionid");
- PowerMockito.when(response.getStatus()).thenReturn(200);
- PowerMockito.when(response.readEntity(String.class)).thenReturn("{\"test\":\"test\"}");
- PowerMockito.when(response.getHeaders()).thenReturn(map);
+ Mockito.when(response.getStatus()).thenReturn(200);
+ Mockito.when(response.readEntity(String.class)).thenReturn("{\"test\":\"test\"}");
+ Mockito.when(response.getHeaders()).thenReturn(map);
- PowerMockito.when(DmaapClientUtil.postResponsewtBasicAuth(DmaapClientUtil.getTarget("/path"),
+ Mockito.when(DmaapClientUtil.postResponsewtBasicAuth(DmaapClientUtil.getTarget(getClientConfig(),"/path"),
Base64.encodeAsString("username:password"), new String("{\"test\":\"test\"}").getBytes(), "application/json")).thenReturn(response);
mrBaseClient.post("/path", new String("{\"test\":\"test\"}").getBytes(), "application/json", "username",
"password", "HTTPAUTH");
- assertTrue(true);
+ verify(response, atLeast(1)).getStatus();
+ verify(response).readEntity(String.class);
+ verify(response).getHeaders();
}
public void testPost_error() throws JSONException, HttpException {
ResponseBuilder responseBuilder = Response.ok();
- PowerMockito
- .when(DmaapClientUtil.getResponsewtBasicAuth(DmaapClientUtil.getTarget("/path"),
+ Mockito
+ .when(DmaapClientUtil.getResponsewtBasicAuth(DmaapClientUtil.getTarget(getClientConfig(),"/path"),
Base64.encodeAsString("username:password")))
.thenReturn(
responseBuilder.header("transactionid", "transactionid").entity("{\"test\":\"test\"}").build());
MultivaluedMap<String, Object> map = new StringKeyIgnoreCaseMultivaluedMap<>();
map.add("transactionid", "transactionid");
- PowerMockito.when(response.getStatus()).thenReturn(200);
- PowerMockito.when(response.readEntity(String.class)).thenReturn("{\"test\":\"test\"}");
- PowerMockito.when(response.getHeaders()).thenReturn(map);
+ Mockito.when(response.getStatus()).thenReturn(200);
+ Mockito.when(response.readEntity(String.class)).thenReturn("{\"test\":\"test\"}");
+ Mockito.when(response.getHeaders()).thenReturn(map);
- PowerMockito
- .when(DmaapClientUtil.postResponsewtCambriaAuth(DmaapClientUtil.getTarget("/path"), "username",
+ Mockito
+ .when(DmaapClientUtil.postResponsewtCambriaAuth(DmaapClientUtil.getTarget(getClientConfig(),"/path"), "username",
"password", new String("{\"test\":\"test\"}").getBytes(), "application/json"))
.thenReturn(response);
public void testPostAuthwithResponse_error() throws JSONException, HttpException {
ResponseBuilder responseBuilder = Response.ok();
- PowerMockito
- .when(DmaapClientUtil.postResponsewtCambriaAuth(DmaapClientUtil.getTarget("/path"), "username",
+ Mockito
+ .when(DmaapClientUtil.postResponsewtCambriaAuth(DmaapClientUtil.getTarget(getClientConfig(),"/path"), "username",
"password", new String("{\"test\":\"test\"}").getBytes(), "application/json"))
.thenReturn(
responseBuilder.header("transactionid", "transactionid").entity("{\"test\":\"test\"}").build());
MultivaluedMap<String, Object> map = new StringKeyIgnoreCaseMultivaluedMap<>();
map.add("transactionid", "transactionid");
- PowerMockito.when(response.getStatus()).thenReturn(200);
- PowerMockito.when(response.readEntity(String.class)).thenReturn("{\"test\":\"test\"}");
- PowerMockito.when(response.getHeaders()).thenReturn(map);
+ Mockito.when(response.getStatus()).thenReturn(200);
+ Mockito.when(response.readEntity(String.class)).thenReturn("{\"test\":\"test\"}");
+ Mockito.when(response.getHeaders()).thenReturn(map);
- PowerMockito.when(DmaapClientUtil.postResponsewtBasicAuth(DmaapClientUtil.getTarget("/path"),
+ Mockito.when(DmaapClientUtil.postResponsewtBasicAuth(DmaapClientUtil.getTarget(getClientConfig(),"/path"),
Base64.encodeAsString("username:password"), new String("{\"test\":\"test\"}").getBytes(), "application/json")).thenReturn(response);
mrBaseClient.postWithResponse("/path", new String("{\"test\":\"test\"}").getBytes(), "application/json",
public void testPostWithResponse_error() throws JSONException, HttpException {
ResponseBuilder responseBuilder = Response.ok();
- PowerMockito
- .when(DmaapClientUtil.getResponsewtBasicAuth(DmaapClientUtil.getTarget("/path"),
+ Mockito
+ .when(DmaapClientUtil.getResponsewtBasicAuth(DmaapClientUtil.getTarget(getClientConfig(),"/path"),
Base64.encodeAsString("username:password")))
.thenReturn(
responseBuilder.header("transactionid", "transactionid").entity("{\"test\":\"test\"}").build());
MultivaluedMap<String, Object> map = new StringKeyIgnoreCaseMultivaluedMap<>();
map.add("transactionid", "transactionid");
- PowerMockito.when(response.getStatus()).thenReturn(200);
- PowerMockito.when(response.readEntity(String.class)).thenReturn("{\"test\":\"test\"}");
- PowerMockito.when(response.getHeaders()).thenReturn(map);
+ Mockito.when(response.getStatus()).thenReturn(200);
+ Mockito.when(response.readEntity(String.class)).thenReturn("{\"test\":\"test\"}");
+ Mockito.when(response.getHeaders()).thenReturn(map);
- PowerMockito.when(
- DmaapClientUtil.getResponsewtCambriaAuth(DmaapClientUtil.getTarget("/path"), "username", "password"))
+ Mockito.when(
+ DmaapClientUtil.getResponsewtCambriaAuth(DmaapClientUtil.getTarget(getClientConfig(),"/path"), "username", "password"))
.thenReturn(response);
mrBaseClient.getAuth("/path", "username", "password", "username", "password", "HTTPAUTH");
assertTrue(true);
public void testGetAuth_error() throws JSONException, HttpException {
ResponseBuilder responseBuilder = Response.ok();
- PowerMockito
- .when(DmaapClientUtil.postResponsewtCambriaAuth(DmaapClientUtil.getTarget("/path"), "username",
+ Mockito
+ .when(DmaapClientUtil.postResponsewtCambriaAuth(DmaapClientUtil.getTarget(getClientConfig(),"/path"), "username",
"password", new String("{\"test\":\"test\"}").getBytes(), "application/json"))
.thenReturn(
responseBuilder.header("transactionid", "transactionid").entity("{\"test\":\"test\"}").build());
MultivaluedMap<String, Object> map = new StringKeyIgnoreCaseMultivaluedMap<>();
map.add("transactionid", "transactionid");
- PowerMockito.when(response.getStatus()).thenReturn(200);
- PowerMockito.when(response.readEntity(String.class)).thenReturn("{\"test\":\"test\"}");
- PowerMockito.when(response.getHeaders()).thenReturn(map);
+ Mockito.when(response.getStatus()).thenReturn(200);
+ Mockito.when(response.readEntity(String.class)).thenReturn("{\"test\":\"test\"}");
+ Mockito.when(response.getHeaders()).thenReturn(map);
- PowerMockito.when(DmaapClientUtil.getResponsewtNoAuth(DmaapClientUtil.getTarget("/path"))).thenReturn(response);
+ Mockito.when(DmaapClientUtil.getResponsewtNoAuth(DmaapClientUtil.getTarget(getClientConfig(),"/path"))).thenReturn(response);
mrBaseClient.getNoAuth("/path");
assertTrue(true);
@Test
public void testGetHTTPErrorResponseMessage() {
-
- assertEquals(mrBaseClient.getHTTPErrorResponseMessage("<body>testtest</body>"), "testtest");
+ assertEquals("testtest", mrBaseClient.getHTTPErrorResponseMessage("<body>testtest</body>"));
}
@Test
public void getGTTPErrorResponseCode() {
-
- assertEquals(mrBaseClient.getHTTPErrorResponseMessage("<body>testtest</body>"), "testtest");
-
+ assertEquals("500", mrBaseClient.getHTTPErrorResponseCode("<title>500</title>"));
+ }
+
+
+
+ private ClientConfig getClientConfig(){
+ if(config==null){
+ config=DmaapClientUtil.getClientConfig(null);
+ }
+ return config;
+
}
}