@Override public String toString() { final StringBuilder sb = new StringBuilder(); sb.append(getMessage()); sb.append("\n"); for (final String line : stackTrace) { sb.append(line); sb.append("\n"); } return sb.toString(); }
public static StreamedRow error(final Throwable exception) { return new StreamedRow( null, new KsqlErrorMessage(Errors.ERROR_CODE_SERVER_ERROR, exception), null); }
@Override protected boolean matchesSafely( final KsqlErrorMessage actual, final Description mismatchDescription ) { if (!expected.matches(actual.getErrorCode())) { mismatchDescription.appendText("but error code "); expected.describeMismatch(actual.getErrorCode(), mismatchDescription); return false; } return true; }
@Override public boolean equals(final Object o) { if (this == o) { return true; } if (!(o instanceof KsqlErrorMessage)) { return false; } final KsqlErrorMessage that = (KsqlErrorMessage) o; return Objects.equals(getMessage(), that.getMessage()) && Objects.equals(getStackTrace(), that.getStackTrace()); }
public void printErrorMessage(final KsqlErrorMessage errorMessage) throws IOException { if (errorMessage instanceof KsqlStatementErrorMessage) { printKsqlEntityList(((KsqlStatementErrorMessage)errorMessage).getEntities()); } printError(errorMessage.getMessage(), errorMessage.toString()); }
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); return; "Couldn't connect to the KSQL server: %s%n%n", ksqlError.getMessage());
@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); }
@Override public boolean equals(final Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } if (!super.equals(o)) { return false; } final KsqlStatementErrorMessage that = (KsqlStatementErrorMessage) o; return Objects.equals(statementText, that.statementText) && Objects.equals(entities, that.entities); }
public KsqlErrorMessage(final int errorCode, final Throwable exception) { this(errorCode, ErrorMessageUtil.buildErrorMessage(exception), getStackTraceStrings(exception)); }
@Test public void shouldFailSetPropertyOnInvalidPropertyName() { // When: final KsqlErrorMessage response = makeFailingRequest( "SET 'ksql.unknown.property' = '1';", Code.BAD_REQUEST); // Then: assertThat(response, instanceOf(KsqlStatementErrorMessage.class)); assertThat(response.getErrorCode(), is(Errors.ERROR_CODE_BAD_STATEMENT)); assertThat(response.getMessage(), containsString("Unknown property")); }
@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"))); }
@Override public int hashCode() { return Objects.hash(getMessage(), getStackTrace()); } }
@Test public void shouldReportErrorOnNonQueryExplain() { // Given: final String ksqlQueryString = "SHOW TOPICS;"; final String ksqlString = "EXPLAIN " + ksqlQueryString; // When: final KsqlErrorMessage result = makeFailingRequest( ksqlString, Code.BAD_REQUEST); // Then: assertThat(result.getErrorCode(), is(Errors.ERROR_CODE_BAD_STATEMENT)); assertThat(result.getMessage(), is("The provided statement does not run a ksql query")); }
@Override protected boolean matchesSafely( final KsqlErrorMessage actual, final Description mismatchDescription ) { if (!expected.matches(actual.getMessage())) { mismatchDescription.appendText("but message "); expected.describeMismatch(actual.getMessage(), mismatchDescription); return false; } return true; }
public static <R> RestResponse<R> erroneous(final int errorCode, final String message) { return new Erroneous<>( new KsqlErrorMessage(errorCode, message)); }
@Test public void shouldFailPrintTopic() { // When: final KsqlErrorMessage result = makeFailingRequest("PRINT 'orders-topic';", Code.BAD_REQUEST); // Then: assertThat(result, is(instanceOf(KsqlStatementErrorMessage.class))); assertThat(result.getErrorCode(), is(Errors.ERROR_CODE_QUERY_ENDPOINT)); }
@Test public void shouldFailUnsetPropertyOnInvalidPropertyName() { // When: final KsqlErrorMessage response = makeFailingRequest( "UNSET 'ksql.unknown.property';", Code.BAD_REQUEST); // Then: assertThat(response, instanceOf(KsqlStatementErrorMessage.class)); assertThat(response.getErrorCode(), is(Errors.ERROR_CODE_BAD_STATEMENT)); assertThat(response.getMessage(), containsString("Unknown property")); }
@Test public void shouldFailForIncorrectCTASStatementResultType() { // When: final KsqlErrorMessage result = makeFailingRequest( "CREATE TABLE s1 AS SELECT * FROM test_stream;", Code.BAD_REQUEST); // Then: assertThat(result.getMessage(), containsString( "Invalid result type. Your SELECT query produces a STREAM. " + "Please use CREATE STREAM AS SELECT statement instead.\n" + "Statement: " + "CREATE TABLE s1 AS SELECT * FROM test_stream;")); }
public static Response commandQueueCatchUpTimeout(final String msg) { return Response .status(SERVICE_UNAVAILABLE) .entity(new KsqlErrorMessage(ERROR_CODE_COMMAND_QUEUE_CATCHUP_TIMEOUT, msg)) .build(); } }