+ private String url = "http://www.onap.org/holmes/test";
+ @Rule
+ private ExpectedException exception = ExpectedException.none();
+
+ @Test
+ public void get_normal() {
+ Client mockedClient = PowerMock.createMock(Client.class);
+ WebTarget mockedTarget = PowerMock.createMock(WebTarget.class);
+ Invocation.Builder mockedBuilder = PowerMock.createPartialMock(Invocation.Builder.class, "get");
+ Response mockedResponse = PowerMock.createMock(Response.class);
+
+ EasyMock.expect(mockedClient.target(url)).andReturn(mockedTarget);
+ EasyMock.expect(mockedTarget.path("test")).andReturn(mockedTarget);
+ EasyMock.expect(mockedTarget.queryParam("ut", true)).andReturn(mockedTarget);
+ EasyMock.expect(mockedTarget.request()).andReturn(mockedBuilder);
+ EasyMock.expect(mockedBuilder.header("Accept", MediaType.APPLICATION_JSON)).andReturn(mockedBuilder);
+ EasyMock.expect(mockedBuilder.get()).andReturn(mockedResponse);
+ EasyMock.expect(mockedResponse.getStatus()).andReturn(200);
+ EasyMock.expect(mockedResponse.readEntity(String.class)).andReturn("Normal");
+
+ WhiteboxImpl.setInternalState(jerseyClient, "client", mockedClient);
+
+ PowerMock.replayAll();
+
+ assertThat(jerseyClient.path("test")
+ .header("Accept", MediaType.APPLICATION_JSON)
+ .queryParam("ut", true)
+ .get(url), equalTo("Normal"));
+
+ PowerMock.verifyAll();
+ }
+
+ @Test
+ public void get_normal_with_class() {
+ Client mockedClient = PowerMock.createMock(Client.class);
+ WebTarget mockedTarget = PowerMock.createPartialMock(WebTarget.class, "request");
+ Invocation.Builder mockedBuilder = PowerMock.createPartialMock(Invocation.Builder.class, "get");
+ Response mockedResponse = PowerMock.createMock(Response.class);
+ Bean bean = new Bean("name", "holmes");
+
+ EasyMock.expect(mockedClient.target(url)).andReturn(mockedTarget);
+ EasyMock.expect(mockedTarget.request()).andReturn(mockedBuilder);
+ EasyMock.expect(mockedBuilder.get()).andReturn(mockedResponse);
+ EasyMock.expect(mockedResponse.getStatus()).andReturn(200);
+ EasyMock.expect(mockedResponse.readEntity(String.class)).andReturn(GsonUtil.beanToJson(bean));
+
+ WhiteboxImpl.setInternalState(jerseyClient, "client", mockedClient);
+
+ PowerMock.replayAll();
+
+ assertThat(jerseyClient.get(url, Bean.class), equalTo(bean));
+
+ PowerMock.verifyAll();
+ }
+
+ @Test
+ public void get_normal_with_null_class_info() {
+ Client mockedClient = PowerMock.createMock(Client.class);
+ WebTarget mockedTarget = PowerMock.createPartialMock(WebTarget.class, "request");
+ Invocation.Builder mockedBuilder = PowerMock.createPartialMock(Invocation.Builder.class, "get");
+ Response mockedResponse = PowerMock.createMock(Response.class);
+
+ EasyMock.expect(mockedClient.target(url)).andReturn(mockedTarget);
+ EasyMock.expect(mockedTarget.request()).andReturn(mockedBuilder);
+ EasyMock.expect(mockedBuilder.get()).andReturn(mockedResponse);
+ EasyMock.expect(mockedResponse.getStatus()).andReturn(200);
+ EasyMock.expect(mockedResponse.readEntity(String.class)).andReturn("Normal");
+
+ WhiteboxImpl.setInternalState(jerseyClient, "client", mockedClient);
+
+ PowerMock.replayAll();
+
+ assertThat(jerseyClient.get(url, null), equalTo("Normal"));
+
+ PowerMock.verifyAll();
+ }
+
+ @Test
+ public void get_fail() {
+ Client mockedClient = PowerMock.createMock(Client.class);
+ WebTarget mockedTarget = PowerMock.createPartialMock(WebTarget.class, "request");
+ Invocation.Builder mockedBuilder = PowerMock.createPartialMock(Invocation.Builder.class, "get");
+ Response mockedResponse = PowerMock.createMock(Response.class);
+
+ EasyMock.expect(mockedClient.target(url)).andReturn(mockedTarget);
+ EasyMock.expect(mockedTarget.request()).andReturn(mockedBuilder);
+ EasyMock.expect(mockedBuilder.get()).andReturn(mockedResponse);
+ EasyMock.expect(mockedResponse.getStatus()).andReturn(404);
+ EasyMock.expect(mockedResponse.readEntity(String.class)).andReturn("Error");
+
+ WhiteboxImpl.setInternalState(jerseyClient, "client", mockedClient);
+
+ exception.expect(HttpException.class);
+ exception.expectMessage(ERROR_MSG);
+
+ PowerMock.replayAll();
+
+ jerseyClient.get(url);
+
+ PowerMock.verifyAll();
+ }
+
+ @Test
+ public void post_normal_no_body() {
+ Client mockedClient = PowerMock.createMock(Client.class);
+ WebTarget mockedTarget = PowerMock.createPartialMock(WebTarget.class, "request");
+ Invocation.Builder mockedBuilder = PowerMock.createPartialMock(Invocation.Builder.class, "post", Entity.class);
+ Response mockedResponse = PowerMock.createMock(Response.class);
+
+ EasyMock.expect(mockedClient.target(url)).andReturn(mockedTarget);
+ EasyMock.expect(mockedTarget.request()).andReturn(mockedBuilder);
+ EasyMock.expect(mockedBuilder.post(null)).andReturn(mockedResponse);
+ EasyMock.expect(mockedResponse.getStatus()).andReturn(200);
+ EasyMock.expect(mockedResponse.readEntity(String.class)).andReturn("Normal");
+
+ WhiteboxImpl.setInternalState(jerseyClient, "client", mockedClient);
+
+ PowerMock.replayAll();
+
+ assertThat(jerseyClient.post(url), equalTo("Normal"));
+
+ PowerMock.verifyAll();
+ }
+
+ @Test
+ public void post_nobody_fail() {
+ Client mockedClient = PowerMock.createMock(Client.class);
+ WebTarget mockedTarget = PowerMock.createPartialMock(WebTarget.class, "request");
+ Invocation.Builder mockedBuilder = PowerMock.createPartialMock(Invocation.Builder.class, "post", Entity.class);
+ Response mockedResponse = PowerMock.createMock(Response.class);
+
+ EasyMock.expect(mockedClient.target(url)).andReturn(mockedTarget);
+ EasyMock.expect(mockedTarget.request()).andReturn(mockedBuilder);
+ EasyMock.expect(mockedBuilder.post(null)).andReturn(mockedResponse);
+ EasyMock.expect(mockedResponse.getStatus()).andReturn(404);
+ EasyMock.expect(mockedResponse.readEntity(String.class)).andReturn("Error");
+
+ WhiteboxImpl.setInternalState(jerseyClient, "client", mockedClient);
+
+ exception.expect(HttpException.class);
+ exception.expectMessage(ERROR_MSG);
+
+ PowerMock.replayAll();
+
+ jerseyClient.post(url);
+
+ PowerMock.verifyAll();
+ }
+
+ @Test
+ public void post_normal_no_body_with_class() {
+ Client mockedClient = PowerMock.createMock(Client.class);
+ WebTarget mockedTarget = PowerMock.createPartialMock(WebTarget.class, "request");
+ Invocation.Builder mockedBuilder = PowerMock.createPartialMock(Invocation.Builder.class, "post", Entity.class);
+ Response mockedResponse = PowerMock.createMock(Response.class);
+ Bean bean = new Bean("name", "holmes");
+
+ EasyMock.expect(mockedClient.target(url)).andReturn(mockedTarget);
+ EasyMock.expect(mockedTarget.request()).andReturn(mockedBuilder);
+ EasyMock.expect(mockedBuilder.post(null)).andReturn(mockedResponse);
+ EasyMock.expect(mockedResponse.getStatus()).andReturn(200);
+ EasyMock.expect(mockedResponse.readEntity(String.class)).andReturn(GsonUtil.beanToJson(bean));
+
+ WhiteboxImpl.setInternalState(jerseyClient, "client", mockedClient);
+
+ PowerMock.replayAll();
+
+ assertThat(jerseyClient.post(url, null, Bean.class), equalTo(bean));
+
+ PowerMock.verifyAll();
+ }
+
+
+ @Test
+ public void put_normal() {
+ Client mockedClient = PowerMock.createMock(Client.class);
+ WebTarget mockedTarget = PowerMock.createPartialMock(WebTarget.class, "request");
+ Invocation.Builder mockedBuilder = PowerMock.createPartialMock(Invocation.Builder.class, "put", Entity.class);
+ Response mockedResponse = PowerMock.createMock(Response.class);
+
+ EasyMock.expect(mockedClient.target(url)).andReturn(mockedTarget);
+ EasyMock.expect(mockedTarget.request()).andReturn(mockedBuilder);
+ EasyMock.expect(mockedBuilder.put(null)).andReturn(mockedResponse);
+ EasyMock.expect(mockedResponse.getStatus()).andReturn(200);
+ EasyMock.expect(mockedResponse.readEntity(String.class)).andReturn("Normal");
+
+ WhiteboxImpl.setInternalState(jerseyClient, "client", mockedClient);
+
+ PowerMock.replayAll();
+
+ assertThat(jerseyClient.put(url, null), equalTo("Normal"));
+
+ PowerMock.verifyAll();
+ }