### Question:
ClusterRestClient extends RestClient implements ClusterClient { @Override public void setClusterExpireTime(String clusterId, long expireTime) throws IOException { HttpPost postRequest = new HttpPost(resolveURL(String.format("/clusters/%s", clusterId))); StringEntity entity = new StringEntity(getGson().toJson(ImmutableMap.of(EXPIRE_TIME_ATTRIBUTE_NAME, expireTime))); entity.setContentType(MediaType.APPLICATION_JSON); postRequest.setEntity(entity); LOG.debug("Set a cluster expiration timestamp to the new value {}.", expireTime); CloseableHttpResponse httpResponse = execute(postRequest); try { RestClient.analyzeResponseCode(httpResponse); } finally { httpResponse.close(); } } ClusterRestClient(Supplier<RestClientConnectionConfig> config, CloseableHttpClient httpClient);  ClusterRestClient(Supplier<RestClientConnectionConfig> config, CloseableHttpClient httpClient, Gson gson); @Override List<ClusterSummary> getClusters(); @Override ClusterDetails getCluster(String clusterId); @Override void deleteCluster(String clusterId); @Override void deleteCluster(String clusterId, ClusterOperationRequest clusterOperationRequest); @Override String createCluster(ClusterCreateRequest clusterCreateRequest); @Override ClusterStatusResponse getClusterStatus(String clusterId); @Override JsonObject getClusterConfig(String clusterId); @Override void setClusterConfig(String clusterId, ClusterConfigureRequest clusterConfigureRequest); @Override List<String> getClusterServices(String clusterId); @Override void syncClusterTemplate(String clusterId); @Override void setClusterExpireTime(String clusterId, long expireTime); @Override void startServiceOnCluster(String clusterId, String serviceId); @Override void startServiceOnCluster(String clusterId, String serviceId,
                                    ClusterOperationRequest clusterOperationRequest); @Override void stopServiceOnCluster(String clusterId, String serviceId); @Override void stopServiceOnCluster(String clusterId, String serviceId, ClusterOperationRequest clusterOperationRequest); @Override void restartServiceOnCluster(String clusterId, String serviceId); @Override void restartServiceOnCluster(String clusterId, String serviceId,
                                      ClusterOperationRequest clusterOperationRequest); @Override void addServicesOnCluster(String clusterId, AddServicesRequest addServicesRequest);  }### Answer:
@Test public void testSetClusterExpireTimeSuccess() throws IOException { clusterClient.setClusterExpireTime(TEST_CLUSTER_ID, EXPECTED_TEST_EXPIRE_TIME); }
@Test public void testSetClusterExpireTimeBadRequest() throws IOException { try { clusterClient.setClusterExpireTime(TEST_CLUSTER_ID, 10); Assert.fail("Expected HttpFailureException"); } catch (HttpFailureException e) { Assert.assertEquals(HttpStatus.SC_BAD_REQUEST, e.getStatusCode()); } }