RestTemplateClusterManagementServiceTransport implements ClusterManagementServiceTransport { @Override @SuppressWarnings("unchecked") public <A extends ClusterManagementOperation<V>, V extends OperationResult> ClusterManagementOperationResult<A, V> submitMessageForGetOperation( A op, String operationId) { String uri = URI_VERSION + op.getEndpoint() + "/" + operationId; return restTemplate .exchange(uri, HttpMethod.GET, makeEntity(null), ClusterManagementOperationResult.class) .getBody(); } RestTemplateClusterManagementServiceTransport(RestTemplate restTemplate);  RestTemplateClusterManagementServiceTransport(
      ConnectionConfig connectionConfig);  RestTemplateClusterManagementServiceTransport(RestTemplate restTemplate,
      ConnectionConfig connectionConfig); void configureConnection(ConnectionConfig connectionConfig); @Override ClusterManagementRealizationResult submitMessage(
      T configMessage, CommandType command); @Override @SuppressWarnings("unchecked") ClusterManagementGetResult<T, R> submitMessageForGet(
      T config); @Override @SuppressWarnings("unchecked") ClusterManagementListResult<T, R> submitMessageForList(
      T config); @Override @SuppressWarnings("unchecked") ClusterManagementListOperationsResult<A, V> submitMessageForListOperation(
      A opType); @Override @SuppressWarnings("unchecked") ClusterManagementOperationResult<A, V> submitMessageForGetOperation(
      A op, String operationId); @Override @SuppressWarnings("unchecked") ClusterManagementOperationResult<A, V> submitMessageForStart(
      A op); @Override boolean isConnected(); @Override void close();  }
@Test public void submitMessageForGetOperationCallsRestTemplateExchange() { String opId = "opId"; doReturn(responseEntity).when(restTemplate).exchange(any(String.class), same(HttpMethod.GET), any(HttpEntity.class), same(ClusterManagementOperationResult.class)); restServiceTransport.submitMessageForGetOperation(new RebalanceOperation(), opId); verify(restTemplate).exchange(eq("/v1/operations/rebalances/opId"), eq(HttpMethod.GET), any(HttpEntity.class), eq(ClusterManagementOperationResult.class)); }