public Object get() { if (isSuccessful()) { return getResponse(); } else { return getErrorMessage(); } }
final RestResponse restResponse = restClient.makeRootRequest(); if (restResponse.isErroneous()) { final KsqlErrorMessage ksqlError = restResponse.getErrorMessage(); if (Errors.toStatusCode(ksqlError.getErrorCode()) == NOT_ACCEPTABLE.getStatusCode()) { writer.format("This CLI version no longer supported: %s%n%n", ksqlError);
private static void dropStream(final String name) { final String dropStatement = String.format("drop stream %s;", name); final RestResponse response = restClient.makeKsqlRequest(dropStatement); if (response.isSuccessful()) { return; } final java.util.regex.Matcher matcher = WRITE_QUERIES .matcher(response.getErrorMessage().getMessage()); if (!matcher.matches()) { throw new RuntimeException("Failed to drop stream: " + response.getErrorMessage()); } Arrays.stream(matcher.group(1).split("/w*,/w*")) .forEach(CliTest::terminateQuery); runStatement(dropStatement, restClient); }
terminal.writer().println(topicResponse.getErrorMessage().getMessage()); terminal.flush();
private void handleStreamedQuery(final String query) throws IOException { final RestResponse<KsqlRestClient.QueryStream> queryResponse = restClient.makeQueryRequest(query); LOGGER.debug("Handling streamed query"); if (!queryResponse.isSuccessful()) { terminal.printErrorMessage(queryResponse.getErrorMessage()); } else { try (KsqlRestClient.QueryStream queryStream = queryResponse.getResponse(); StatusClosable ignored = terminal.setStatusMessage("Press CTRL-C to interrupt")) { streamResults(queryStream); } } }
@Test public void shouldHandleErrorMessageOnPostRequests() { // Given: givenServerWillReturn(new KsqlErrorMessage(12300, "ouch", ImmutableList.of("s1", "s2"))); // When: final RestResponse<?> response = ksqlRestClient.makeKsqlRequest("whateva"); // Then: assertThat(response.getErrorMessage().getErrorCode(), is(12300)); assertThat(response.getErrorMessage().getMessage(), is("ouch")); assertThat(response.getErrorMessage().getStackTrace(), is(ImmutableList.of("s1", "s2"))); }
@Test public void shouldHandleErrorMessageOnGetRequests() { // Given: givenServerWillReturn(new KsqlErrorMessage(12300, "ouch", ImmutableList.of("s1", "s2"))); // When: final RestResponse<?> response = ksqlRestClient.getServerInfo(); // Then: assertThat(response.getErrorMessage().getErrorCode(), is(12300)); assertThat(response.getErrorMessage().getMessage(), is("ouch")); assertThat(response.getErrorMessage().getStackTrace(), is(ImmutableList.of("s1", "s2"))); }
private static void maybeDropStream(final String name) { final String dropStatement = String.format("drop stream %s;", name); final RestResponse response = restClient.makeKsqlRequest(dropStatement); if (response.isSuccessful() || response.getErrorMessage().toString().contains("does not exist")) { return; } dropStream(name); }
@Test public void shouldHandleNotFoundOnGetRequests() { // Given: givenServerWillReturn(Status.NOT_FOUND); // When: final RestResponse<?> response = ksqlRestClient.getServerInfo(); // Then: assertThat(response.getErrorMessage().getErrorCode(), is(404)); assertThat(response.getErrorMessage().getMessage(), containsString("Path not found. Path='/info'. " + "Check your ksql http url to make sure you are connecting to a ksql server.")); }
@Test public void shouldHandleUnauthorizedOnGetRequests() { // Given: givenServerWillReturn(Status.UNAUTHORIZED); // When: final RestResponse<?> response = ksqlRestClient.getServerInfo(); // Then: assertThat(response.getErrorMessage().getErrorCode(), is(Errors.ERROR_CODE_UNAUTHORIZED)); assertThat(response.getErrorMessage().getMessage(), is("Could not authenticate successfully with the supplied credentials.")); }
@Test public void shouldHandleForbiddenOnPostRequests() { // Given: givenServerWillReturn(Status.FORBIDDEN); // When: final RestResponse<?> response = ksqlRestClient.makeKsqlRequest("whateva"); // Then: assertThat(response.getErrorMessage().getErrorCode(), is(Errors.ERROR_CODE_FORBIDDEN)); assertThat(response.getErrorMessage().getMessage(), is("You are forbidden from using this cluster.")); }
@Test public void shouldHandleNotFoundOnPostRequests() { // Given: givenServerWillReturn(Status.NOT_FOUND); // When: final RestResponse<?> response = ksqlRestClient.makeKsqlRequest("whateva"); // Then: assertThat(response.getErrorMessage().getErrorCode(), is(404)); assertThat(response.getErrorMessage().getMessage(), containsString("Path not found. Path='ksql'. " + "Check your ksql http url to make sure you are connecting to a ksql server.")); }
@Test public void shouldHandleUnauthorizedOnPostRequests() { // Given: givenServerWillReturn(Status.UNAUTHORIZED); // When: final RestResponse<?> response = ksqlRestClient.makeKsqlRequest("whateva"); // Then: assertThat(response.getErrorMessage().getErrorCode(), is(Errors.ERROR_CODE_UNAUTHORIZED)); assertThat(response.getErrorMessage().getMessage(), is("Could not authenticate successfully with the supplied credentials.")); }
@Test public void shouldHandleForbiddendOnGetRequests() { // Given: givenServerWillReturn(Status.FORBIDDEN); // When: final RestResponse<?> response = ksqlRestClient.getServerInfo(); // Then: assertThat(response.getErrorMessage().getErrorCode(), is(Errors.ERROR_CODE_FORBIDDEN)); assertThat(response.getErrorMessage().getMessage(), is("You are forbidden from using this cluster.")); }
@Test public void shouldHandleArbitraryErrorsOnPostRequests() { // Given: givenServerWillReturn(Status.EXPECTATION_FAILED); // When: final RestResponse<?> response = ksqlRestClient.makeKsqlRequest("whateva"); // Then: assertThat(response.getErrorMessage().getErrorCode(), is(Errors.toErrorCode(Status.EXPECTATION_FAILED.getStatusCode()))); assertThat(response.getErrorMessage().getMessage(), is("The server returned an unexpected error.")); }
@Test public void shouldHandleArbitraryErrorsOnGetRequests() { // Given: givenServerWillReturn(Status.EXPECTATION_FAILED); // When: final RestResponse<?> response = ksqlRestClient.getServerInfo(); // Then: assertThat(response.getErrorMessage().getErrorCode(), is(Errors.toErrorCode(Status.EXPECTATION_FAILED.getStatusCode()))); assertThat(response.getErrorMessage().getMessage(), is("The server returned an unexpected error.")); }
private int canMakeCliRequest(final String username, final String password) { try (KsqlRestClient restClient = new KsqlRestClient(REST_APP.getHttpListener().toString())) { if (!username.isEmpty()) { restClient.setupAuthenticationCredentials(username, password); } final RestResponse<ServerInfo> response = restClient.getServerInfo(); if (response.isSuccessful()) { return Code.OK.getCode(); } return response.getErrorMessage().getErrorCode(); } }
private void printKsqlResponse(final RestResponse<KsqlEntityList> response) throws IOException { if (response.isSuccessful()) { final KsqlEntityList ksqlEntities = response.getResponse(); boolean noErrorFromServer = true; for (final KsqlEntity entity : ksqlEntities) { if (entity instanceof CommandStatusEntity && ( ((CommandStatusEntity) entity).getCommandStatus().getStatus() == CommandStatus.Status.ERROR) ) { final String fullMessage = ((CommandStatusEntity) entity).getCommandStatus().getMessage(); terminal.printError(fullMessage.split("\n")[0], fullMessage); noErrorFromServer = false; } } if (noErrorFromServer) { terminal.printKsqlEntityList(response.getResponse()); } } else { terminal.printErrorMessage(response.getErrorMessage()); } }