use of io.confluent.ksql.rest.entity.ConnectorList in project ksql by confluentinc.
the class ClientTest method shouldFailToListConnectorsViaExecuteStatement.
@Test
public void shouldFailToListConnectorsViaExecuteStatement() {
// Given
final ConnectorList entity = new ConnectorList("list connectors;", Collections.emptyList(), Collections.emptyList());
testEndpoints.setKsqlEndpointResponse(Collections.singletonList(entity));
// When
final Exception e = assertThrows(// thrown from .get() when the future completes exceptionally
ExecutionException.class, () -> javaClient.executeStatement("list connectors;").get());
// Then
assertThat(e.getCause(), instanceOf(KsqlClientException.class));
assertThat(e.getCause().getMessage(), containsString(EXECUTE_STATEMENT_USAGE_DOC));
assertThat(e.getCause().getMessage(), containsString("Use the listConnectors() method instead"));
}
use of io.confluent.ksql.rest.entity.ConnectorList in project ksql by confluentinc.
the class ClientTest method shouldListConnectors.
@Test
public void shouldListConnectors() throws Exception {
// Given:
final ConnectorList entity = new ConnectorList("list connectors;", Collections.emptyList(), Collections.singletonList(new SimpleConnectorInfo("name", SOURCE_TYPE, "class", "state")));
testEndpoints.setKsqlEndpointResponse(Collections.singletonList(entity));
// When:
final List<io.confluent.ksql.api.client.ConnectorInfo> connectors = javaClient.listConnectors().get();
// Then:
assertThat(connectors.size(), is(1));
assertThat(connectors.get(0).state(), is("state"));
assertThat(connectors.get(0).name(), is("name"));
assertThat(connectors.get(0).type(), is(new ConnectorTypeImpl("SOURCE")));
}
use of io.confluent.ksql.rest.entity.ConnectorList in project ksql by confluentinc.
the class ListConnectorsExecutor method execute.
@SuppressWarnings("OptionalGetWithoutIsPresent")
public StatementExecutorResponse execute(final ConfiguredStatement<ListConnectors> configuredStatement, final SessionProperties sessionProperties, final KsqlExecutionContext ksqlExecutionContext, final ServiceContext serviceContext) {
final ConnectClient connectClient = serviceContext.getConnectClient();
final ConnectResponse<List<String>> connectors = serviceContext.getConnectClient().connectors();
if (connectors.error().isPresent()) {
return StatementExecutorResponse.handled(connectErrorHandler.handle(configuredStatement, connectors));
}
final List<SimpleConnectorInfo> infos = new ArrayList<>();
final List<KsqlWarning> warnings = new ArrayList<>();
final Scope scope = configuredStatement.getStatement().getScope();
for (final String name : connectors.datum().get()) {
final ConnectResponse<ConnectorInfo> response = connectClient.describe(name);
if (response.datum().filter(i -> inScope(i.type(), scope)).isPresent()) {
final ConnectResponse<ConnectorStateInfo> status = connectClient.status(name);
infos.add(fromConnectorInfoResponse(name, response, status));
} else if (response.error().isPresent()) {
if (scope == Scope.ALL) {
infos.add(new SimpleConnectorInfo(name, ConnectorType.UNKNOWN, null, null));
}
warnings.add(new KsqlWarning(String.format("Could not describe connector %s: %s", name, response.error().get())));
}
}
return StatementExecutorResponse.handled(Optional.of(new ConnectorList(configuredStatement.getStatementText(), warnings, infos)));
}
use of io.confluent.ksql.rest.entity.ConnectorList in project ksql by confluentinc.
the class MigrationsTest method assertConnectorCount.
private static void assertConnectorCount(final int count) {
final List<KsqlEntity> entities = assertThatEventually(() -> makeKsqlRequest("LIST CONNECTORS;"), hasSize(1));
assertThat(entities.get(0), instanceOf(ConnectorList.class));
ConnectorList entity = (ConnectorList) entities.get(0);
assertThat(entity.getConnectors().size(), is(count));
}
use of io.confluent.ksql.rest.entity.ConnectorList in project ksql by confluentinc.
the class ConsoleTest method shouldPrintConnectorsList.
@Test
public void shouldPrintConnectorsList() {
// Given:
final KsqlEntityList entities = new KsqlEntityList(ImmutableList.of(new ConnectorList("statement", ImmutableList.of(), ImmutableList.of(new SimpleConnectorInfo("foo", ConnectorType.SOURCE, "clazz", "STATUS"), new SimpleConnectorInfo("bar", null, null, null)))));
// When:
console.printKsqlEntityList(entities);
// Then:
final String output = terminal.getOutputString();
Approvals.verify(output, approvalOptions);
}
Aggregations