Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Wrap ParseException with AssertionError to keep trying in case an
incorrectly formatted JSON string is received from the server. Also
close the HTTP client to prevent any possible resource leakage.

(cherry picked from commit a988ed8)
  • Loading branch information
emre authored and Jiří Holuša committed Aug 15, 2018
1 parent bee5a96 commit 2bf8f15
Showing 1 changed file with 11 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@

import com.eclipsesource.json.Json;
import com.eclipsesource.json.JsonObject;
import com.eclipsesource.json.ParseException;
import com.hazelcast.config.Config;
import com.hazelcast.core.Hazelcast;
import com.hazelcast.monitor.TimedMemberState;
Expand Down Expand Up @@ -54,9 +55,12 @@ public class ManagementCenterServiceIntegrationTest extends HazelcastTestSupport
private static final String clusterName = "Session Integration (AWS discovery)";
private int portNum;
private Server jettyServer;
private CloseableHttpClient client;

@Before
public void setUp() throws Exception {
client = HttpClientBuilder.create().disableRedirectHandling().build();

portNum = availablePort();
jettyServer = new Server(portNum);
ServletHandler handler = new ServletHandler();
Expand All @@ -71,22 +75,27 @@ public void setUp() throws Exception {
public void tearDown() throws Exception {
Hazelcast.shutdownAll();
jettyServer.stop();
client.close();
}

@Test
public void testTimedMemberStateNotNull() {
assertTrueEventually(new AssertTask() {
@Override
public void run() throws Exception {
CloseableHttpClient client = HttpClientBuilder.create().disableRedirectHandling().build();
HttpUriRequest request = new HttpGet("http://localhost:" + portNum + "/mancen/memberStateCheck");
HttpResponse response = client.execute(request);
HttpEntity entity = response.getEntity();
String responseString = EntityUtils.toString(entity);
assertNotNull(responseString);
assertNotEquals("", responseString);

JsonObject object = Json.parse(responseString).asObject();
JsonObject object;
try {
object = Json.parse(responseString).asObject();
} catch (ParseException e) {
throw new AssertionError("Failed to parse JSON: " + responseString);
}
TimedMemberState memberState = new TimedMemberState();
memberState.fromJson(object);
assertEquals(clusterName, memberState.getClusterName());
Expand All @@ -99,7 +108,6 @@ public void testGetTaskUrlEncodes() {
assertTrueEventually(new AssertTask() {
@Override
public void run() throws Exception {
CloseableHttpClient client = HttpClientBuilder.create().disableRedirectHandling().build();
HttpUriRequest request = new HttpGet("http://localhost:" + portNum + "/mancen/getClusterName");
HttpResponse response = client.execute(request);
HttpEntity entity = response.getEntity();
Expand Down

0 comments on commit 2bf8f15

Please sign in to comment.