Search in sources :

Example 31 with ServiceContext

use of io.confluent.ksql.services.ServiceContext in project ksql by confluentinc.

the class DistributingExecutorTest method setUp.

@Before
public void setUp() throws InterruptedException {
    scnCounter = new AtomicLong();
    when(schemaInjector.inject(any())).thenAnswer(inv -> inv.getArgument(0));
    when(topicInjector.inject(any())).thenAnswer(inv -> inv.getArgument(0));
    when(queue.enqueueCommand(any(), any(), any())).thenReturn(status);
    when(status.tryWaitForFinalStatus(any())).thenReturn(SUCCESS_STATUS);
    when(status.getCommandId()).thenReturn(CS_COMMAND);
    when(status.getCommandSequenceNumber()).thenAnswer(inv -> scnCounter.incrementAndGet());
    when(executionContext.getMetaStore()).thenReturn(metaStore);
    when(executionContext.createSandbox(any())).thenReturn(sandboxContext);
    when(commandRunnerWarning.get()).thenReturn("");
    serviceContext = SandboxedServiceContext.create(TestServiceContext.create());
    when(executionContext.getServiceContext()).thenReturn(serviceContext);
    when(validatedCommandFactory.create(any(), any())).thenReturn(command);
    when(queue.createTransactionalProducer()).thenReturn(transactionalProducer);
    securityContext = new KsqlSecurityContext(Optional.empty(), serviceContext);
    distributor = new DistributingExecutor(KSQL_CONFIG, queue, DURATION_10_MS, (ec, sc) -> InjectorChain.of(schemaInjector, topicInjector), Optional.of(authorizationValidator), validatedCommandFactory, errorHandler, commandRunnerWarning);
}
Also used : DataSource(io.confluent.ksql.metastore.model.DataSource) Query(io.confluent.ksql.parser.tree.Query) ArgumentMatchers(org.mockito.ArgumentMatchers) Matchers.isA(org.hamcrest.Matchers.isA) ColumnName(io.confluent.ksql.name.ColumnName) SourceName(io.confluent.ksql.name.SourceName) ArgumentMatchers.eq(org.mockito.ArgumentMatchers.eq) StatementExecutorResponse(io.confluent.ksql.rest.server.execution.StatementExecutorResponse) ServiceContext(io.confluent.ksql.services.ServiceContext) KsqlTopicAuthorizationException(io.confluent.ksql.exception.KsqlTopicAuthorizationException) CommandId(io.confluent.ksql.rest.entity.CommandId) InjectorChain(io.confluent.ksql.statement.InjectorChain) CommonCreateConfigs(io.confluent.ksql.properties.with.CommonCreateConfigs) StringLiteral(io.confluent.ksql.execution.expression.tree.StringLiteral) KsqlErrorMessage(io.confluent.ksql.rest.entity.KsqlErrorMessage) KsqlAuthorizationValidator(io.confluent.ksql.security.KsqlAuthorizationValidator) Mockito.doThrow(org.mockito.Mockito.doThrow) Duration(java.time.Duration) Mockito.doReturn(org.mockito.Mockito.doReturn) CommandStatus(io.confluent.ksql.rest.entity.CommandStatus) ImmutableMap(com.google.common.collect.ImmutableMap) Errors(io.confluent.ksql.rest.Errors) Mockito.doNothing(org.mockito.Mockito.doNothing) ConfiguredStatement(io.confluent.ksql.statement.ConfiguredStatement) KsqlConfig(io.confluent.ksql.util.KsqlConfig) LogicalSchema(io.confluent.ksql.schema.ksql.LogicalSchema) Matchers.instanceOf(org.hamcrest.Matchers.instanceOf) KsqlRestConfig(io.confluent.ksql.rest.server.KsqlRestConfig) TestServiceContext(io.confluent.ksql.services.TestServiceContext) KsqlExecutionContext(io.confluent.ksql.KsqlExecutionContext) ProducerFencedException(org.apache.kafka.common.errors.ProducerFencedException) Matchers.equalTo(org.hamcrest.Matchers.equalTo) Status(io.confluent.ksql.rest.entity.CommandStatus.Status) KsqlRestException(io.confluent.ksql.rest.server.resources.KsqlRestException) KsqlException(io.confluent.ksql.util.KsqlException) Optional(java.util.Optional) Matchers.is(org.hamcrest.Matchers.is) Statement(io.confluent.ksql.parser.tree.Statement) WarningEntity(io.confluent.ksql.rest.entity.WarningEntity) Matchers.containsString(org.hamcrest.Matchers.containsString) MockitoJUnitRunner(org.mockito.junit.MockitoJUnitRunner) Mockito.mock(org.mockito.Mockito.mock) ArgumentMatchers.any(org.mockito.ArgumentMatchers.any) Action(io.confluent.ksql.rest.entity.CommandId.Action) Mock(org.mockito.Mock) Assert.assertThrows(org.junit.Assert.assertThrows) RunWith(org.junit.runner.RunWith) HashMap(java.util.HashMap) KsqlSecurityContext(io.confluent.ksql.security.KsqlSecurityContext) Supplier(java.util.function.Supplier) ListProperties(io.confluent.ksql.parser.tree.ListProperties) SessionConfig(io.confluent.ksql.config.SessionConfig) CreateStream(io.confluent.ksql.parser.tree.CreateStream) ImmutableList(com.google.common.collect.ImmutableList) Injector(io.confluent.ksql.statement.Injector) MetaStore(io.confluent.ksql.metastore.MetaStore) MatcherAssert.assertThat(org.hamcrest.MatcherAssert.assertThat) InsertInto(io.confluent.ksql.parser.tree.InsertInto) Before(org.junit.Before) TimeoutException(org.apache.kafka.common.errors.TimeoutException) InOrder(org.mockito.InOrder) Producer(org.apache.kafka.clients.producer.Producer) Assert.assertTrue(org.junit.Assert.assertTrue) CommandStatusEntity(io.confluent.ksql.rest.entity.CommandStatusEntity) SandboxedServiceContext(io.confluent.ksql.services.SandboxedServiceContext) Mockito.times(org.mockito.Mockito.times) Test(org.junit.Test) Mockito.when(org.mockito.Mockito.when) Mockito.verify(org.mockito.Mockito.verify) Type(io.confluent.ksql.rest.entity.CommandId.Type) AtomicLong(java.util.concurrent.atomic.AtomicLong) Mockito(org.mockito.Mockito) Mockito.never(org.mockito.Mockito.never) CreateSourceProperties(io.confluent.ksql.parser.properties.with.CreateSourceProperties) KsqlServerException(io.confluent.ksql.util.KsqlServerException) TableElements(io.confluent.ksql.parser.tree.TableElements) DefaultErrorMessages(io.confluent.ksql.rest.DefaultErrorMessages) Assert.assertEquals(org.junit.Assert.assertEquals) PreparedStatement(io.confluent.ksql.parser.KsqlParser.PreparedStatement) AtomicLong(java.util.concurrent.atomic.AtomicLong) KsqlSecurityContext(io.confluent.ksql.security.KsqlSecurityContext) Before(org.junit.Before)

Example 32 with ServiceContext

use of io.confluent.ksql.services.ServiceContext in project ksql by confluentinc.

the class InteractiveStatementExecutorTest method setUp.

@Before
public void setUp() {
    ksqlConfig = KsqlConfigTestUtil.create(CLUSTER, ImmutableMap.of(StreamsConfig.APPLICATION_SERVER_CONFIG, "http://host:1234"));
    final FakeKafkaTopicClient fakeKafkaTopicClient = new FakeKafkaTopicClient();
    fakeKafkaTopicClient.createTopic("pageview_topic", 1, (short) 1, emptyMap());
    fakeKafkaTopicClient.createTopic("foo", 1, (short) 1, emptyMap());
    fakeKafkaTopicClient.createTopic("pageview_topic_json", 1, (short) 1, emptyMap());
    serviceContext = TestServiceContext.create(fakeKafkaTopicClient);
    final SpecificQueryIdGenerator hybridQueryIdGenerator = new SpecificQueryIdGenerator();
    final MetricCollectors metricCollectors = new MetricCollectors();
    ksqlEngine = KsqlEngineTestUtil.createKsqlEngine(serviceContext, new MetaStoreImpl(new InternalFunctionRegistry()), (engine) -> new KsqlEngineMetrics("", engine, Collections.emptyMap(), Optional.empty(), metricCollectors), hybridQueryIdGenerator, ksqlConfig, metricCollectors);
    statementParser = new StatementParser(ksqlEngine);
    statementExecutor = new InteractiveStatementExecutor(serviceContext, ksqlEngine, statementParser, hybridQueryIdGenerator, InternalTopicSerdes.deserializer(Command.class));
    statementExecutorWithMocks = new InteractiveStatementExecutor(serviceContext, mockEngine, mockParser, mockQueryIdGenerator, commandDeserializer);
    statementExecutor.configure(ksqlConfig);
    statementExecutorWithMocks.configure(ksqlConfig);
    plannedCommand = new Command(CREATE_STREAM_FOO_STATEMENT, emptyMap(), ksqlConfig.getAllConfigPropsWithSecretsObfuscated(), Optional.of(plan));
}
Also used : CoreMatchers(org.hamcrest.CoreMatchers) KsqlPlan(io.confluent.ksql.engine.KsqlPlan) InternalFunctionRegistry(io.confluent.ksql.function.InternalFunctionRegistry) ArgumentMatchers.argThat(org.mockito.ArgumentMatchers.argThat) Matchers.not(org.hamcrest.Matchers.not) KsqlEngineTestUtil(io.confluent.ksql.engine.KsqlEngineTestUtil) ServiceContext(io.confluent.ksql.services.ServiceContext) CommandId(io.confluent.ksql.rest.entity.CommandId) ArgumentMatcher(org.mockito.ArgumentMatcher) Pair(io.confluent.ksql.util.Pair) ExecuteResult(io.confluent.ksql.KsqlExecutionContext.ExecuteResult) Map(java.util.Map) After(org.junit.After) QueryId(io.confluent.ksql.query.QueryId) FakeKafkaTopicClient(io.confluent.ksql.services.FakeKafkaTopicClient) ClassRule(org.junit.ClassRule) PersistentQueryMetadata(io.confluent.ksql.util.PersistentQueryMetadata) ZooKeeperClientException(kafka.zookeeper.ZooKeeperClientException) CoreMatchers.containsString(org.hamcrest.CoreMatchers.containsString) CommandStatus(io.confluent.ksql.rest.entity.CommandStatus) ImmutableMap(com.google.common.collect.ImmutableMap) DropStream(io.confluent.ksql.parser.tree.DropStream) StatementParser(io.confluent.ksql.rest.server.StatementParser) ConfiguredStatement(io.confluent.ksql.statement.ConfiguredStatement) KsqlConfig(io.confluent.ksql.util.KsqlConfig) TestServiceContext(io.confluent.ksql.services.TestServiceContext) MetaStoreImpl(io.confluent.ksql.metastore.MetaStoreImpl) List(java.util.List) TerminateQuery(io.confluent.ksql.parser.tree.TerminateQuery) Status(io.confluent.ksql.rest.entity.CommandStatus.Status) KsqlEngineMetrics(io.confluent.ksql.internal.KsqlEngineMetrics) KsqlException(io.confluent.ksql.util.KsqlException) Optional(java.util.Optional) Matchers.is(org.hamcrest.Matchers.is) Statement(io.confluent.ksql.parser.tree.Statement) Retry(io.confluent.ksql.integration.Retry) MockitoJUnitRunner(org.mockito.junit.MockitoJUnitRunner) SuppressFBWarnings(edu.umd.cs.findbugs.annotations.SuppressFBWarnings) Mockito.eq(org.mockito.Mockito.eq) Mockito.mock(org.mockito.Mockito.mock) ArgumentMatchers.any(org.mockito.ArgumentMatchers.any) StreamsConfig(org.apache.kafka.streams.StreamsConfig) ArgumentMatchers.anyLong(org.mockito.ArgumentMatchers.anyLong) Action(io.confluent.ksql.rest.entity.CommandId.Action) EmbeddedSingleNodeKafkaCluster(io.confluent.ksql.test.util.EmbeddedSingleNodeKafkaCluster) CoreMatchers.equalTo(org.hamcrest.CoreMatchers.equalTo) Mock(org.mockito.Mock) Assert.assertThrows(org.junit.Assert.assertThrows) RunWith(org.junit.runner.RunWith) SpecificQueryIdGenerator(io.confluent.ksql.query.id.SpecificQueryIdGenerator) MetricCollectors(io.confluent.ksql.metrics.MetricCollectors) CreateStreamAsSelect(io.confluent.ksql.parser.tree.CreateStreamAsSelect) ArrayList(java.util.ArrayList) SessionConfig(io.confluent.ksql.config.SessionConfig) CreateStream(io.confluent.ksql.parser.tree.CreateStream) ArgumentCaptor(org.mockito.ArgumentCaptor) ImmutableList(com.google.common.collect.ImmutableList) ConfiguredKsqlPlan(io.confluent.ksql.planner.plan.ConfiguredKsqlPlan) MatcherAssert.assertThat(org.hamcrest.MatcherAssert.assertThat) Deserializer(org.apache.kafka.common.serialization.Deserializer) Before(org.junit.Before) Collections.emptyMap(java.util.Collections.emptyMap) InOrder(org.mockito.InOrder) KsqlEngine(io.confluent.ksql.engine.KsqlEngine) Mockito.times(org.mockito.Mockito.times) Test(org.junit.Test) Mockito.when(org.mockito.Mockito.when) Mockito.verify(org.mockito.Mockito.verify) Type(io.confluent.ksql.rest.entity.CommandId.Type) KsqlStatementException(io.confluent.ksql.util.KsqlStatementException) TimeUnit(java.util.concurrent.TimeUnit) RuleChain(org.junit.rules.RuleChain) KsqlConfigTestUtil(io.confluent.ksql.KsqlConfigTestUtil) Mockito(org.mockito.Mockito) Assert(org.junit.Assert) Collections(java.util.Collections) Assert.assertEquals(org.junit.Assert.assertEquals) PreparedStatement(io.confluent.ksql.parser.KsqlParser.PreparedStatement) KsqlEngineMetrics(io.confluent.ksql.internal.KsqlEngineMetrics) StatementParser(io.confluent.ksql.rest.server.StatementParser) MetaStoreImpl(io.confluent.ksql.metastore.MetaStoreImpl) FakeKafkaTopicClient(io.confluent.ksql.services.FakeKafkaTopicClient) MetricCollectors(io.confluent.ksql.metrics.MetricCollectors) SpecificQueryIdGenerator(io.confluent.ksql.query.id.SpecificQueryIdGenerator) InternalFunctionRegistry(io.confluent.ksql.function.InternalFunctionRegistry) Before(org.junit.Before)

Example 33 with ServiceContext

use of io.confluent.ksql.services.ServiceContext in project ksql by confluentinc.

the class KsqlResourceTest method setUp.

@Before
public void setUp() throws IOException, RestClientException {
    commandStatus = new QueuedCommandStatus(0, new CommandStatusFuture(new CommandId(TOPIC, "whateva", CREATE)));
    commandStatus1 = new QueuedCommandStatus(1, new CommandStatusFuture(new CommandId(TABLE, "something", DROP)));
    final QueuedCommandStatus commandStatus2 = new QueuedCommandStatus(2, new CommandStatusFuture(new CommandId(STREAM, "something", EXECUTE)));
    kafkaTopicClient = new FakeKafkaTopicClient();
    kafkaConsumerGroupClient = new FakeKafkaConsumerGroupClient();
    serviceContext = TestServiceContext.create(kafkaTopicClient, kafkaConsumerGroupClient);
    schemaRegistryClient = serviceContext.getSchemaRegistryClient();
    registerValueSchema(schemaRegistryClient);
    ksqlRestConfig = new KsqlRestConfig(getDefaultKsqlConfig());
    ksqlConfig = new KsqlConfig(ksqlRestConfig.getKsqlConfigProperties());
    final KsqlExecutionContext.ExecuteResult result = mock(KsqlExecutionContext.ExecuteResult.class);
    when(sandbox.execute(any(), any(ConfiguredKsqlPlan.class))).thenReturn(result);
    when(result.getQuery()).thenReturn(Optional.empty());
    MutableFunctionRegistry fnRegistry = new InternalFunctionRegistry();
    final Metrics metrics = new Metrics();
    UserFunctionLoader.newInstance(ksqlConfig, fnRegistry, ".", metrics).load();
    metaStore = new MetaStoreImpl(fnRegistry);
    final MetricCollectors metricCollectors = new MetricCollectors(metrics);
    realEngine = KsqlEngineTestUtil.createKsqlEngine(serviceContext, metaStore, (engine) -> new KsqlEngineMetrics("", engine, Collections.emptyMap(), Optional.empty(), metricCollectors), new SequentialQueryIdGenerator(), ksqlConfig, metricCollectors);
    securityContext = new KsqlSecurityContext(Optional.empty(), serviceContext);
    when(commandRunner.getCommandQueue()).thenReturn(commandStore);
    when(commandRunnerWarning.get()).thenReturn("");
    when(commandStore.createTransactionalProducer()).thenReturn(transactionalProducer);
    ksqlEngine = realEngine;
    when(sandbox.getMetaStore()).thenAnswer(inv -> metaStore.copy());
    addTestTopicAndSources();
    when(commandStore.enqueueCommand(any(), any(), any(Producer.class))).thenReturn(commandStatus).thenReturn(commandStatus1).thenReturn(commandStatus2);
    streamName = KsqlIdentifierTestUtil.uniqueIdentifierName();
    when(schemaInjectorFactory.apply(any())).thenReturn(sandboxSchemaInjector);
    when(schemaInjectorFactory.apply(serviceContext)).thenReturn(schemaInjector);
    when(topicInjectorFactory.apply(any())).thenReturn(sandboxTopicInjector);
    when(topicInjectorFactory.apply(ksqlEngine)).thenReturn(topicInjector);
    when(sandboxSchemaInjector.inject(any())).thenAnswer(inv -> inv.getArgument(0));
    when(schemaInjector.inject(any())).thenAnswer(inv -> inv.getArgument(0));
    when(sandboxTopicInjector.inject(any())).thenAnswer(inv -> inv.getArgument(0));
    when(topicInjector.inject(any())).thenAnswer(inv -> inv.getArgument(0));
    when(errorsHandler.generateResponse(any(), any())).thenAnswer(new Answer<EndpointResponse>() {

        @Override
        public EndpointResponse answer(final InvocationOnMock invocation) throws Throwable {
            final Object[] args = invocation.getArguments();
            return (EndpointResponse) args[1];
        }
    });
    setUpKsqlResource();
}
Also used : ClusterTerminateRequest(io.confluent.ksql.rest.entity.ClusterTerminateRequest) DROP(io.confluent.ksql.rest.entity.CommandId.Action.DROP) InternalFunctionRegistry(io.confluent.ksql.function.InternalFunctionRegistry) SchemaRegistryClient(io.confluent.kafka.schemaregistry.client.SchemaRegistryClient) ColumnName(io.confluent.ksql.name.ColumnName) ArgumentMatchers.eq(org.mockito.ArgumentMatchers.eq) KsqlErrorMessage(io.confluent.ksql.rest.entity.KsqlErrorMessage) KsqlRestExceptionMatchers.exceptionStatementErrorMessage(io.confluent.ksql.rest.server.resources.KsqlRestExceptionMatchers.exceptionStatementErrorMessage) Mockito.doThrow(org.mockito.Mockito.doThrow) TransientQueryMetadata(io.confluent.ksql.util.TransientQueryMetadata) Mockito.doAnswer(org.mockito.Mockito.doAnswer) Duration(java.time.Duration) Map(java.util.Map) CoreMatchers.containsString(org.hamcrest.CoreMatchers.containsString) CommandStatus(io.confluent.ksql.rest.entity.CommandStatus) SystemColumns(io.confluent.ksql.schema.ksql.SystemColumns) ConfiguredStatement(io.confluent.ksql.statement.ConfiguredStatement) EXECUTE(io.confluent.ksql.rest.entity.CommandId.Action.EXECUTE) ActivenessRegistrar(io.confluent.ksql.version.metrics.ActivenessRegistrar) KsqlRestConfig(io.confluent.ksql.rest.server.KsqlRestConfig) QueryDescription(io.confluent.ksql.rest.entity.QueryDescription) Metrics(org.apache.kafka.common.metrics.Metrics) SERVICE_UNAVAILABLE(io.netty.handler.codec.http.HttpResponseStatus.SERVICE_UNAVAILABLE) KsqlException(io.confluent.ksql.util.KsqlException) FunctionCategory(io.confluent.ksql.function.FunctionCategory) KsqlRequest(io.confluent.ksql.rest.entity.KsqlRequest) MockitoJUnitRunner(org.mockito.junit.MockitoJUnitRunner) Mockito.mock(org.mockito.Mockito.mock) CoreMatchers.equalTo(org.hamcrest.CoreMatchers.equalTo) TOPIC(io.confluent.ksql.rest.entity.CommandId.Type.TOPIC) RunWith(org.junit.runner.RunWith) KsqlIdentifierTestUtil(io.confluent.ksql.test.util.KsqlIdentifierTestUtil) KsqlSecurityContext(io.confluent.ksql.security.KsqlSecurityContext) Supplier(java.util.function.Supplier) SessionConfig(io.confluent.ksql.config.SessionConfig) Answer(org.mockito.stubbing.Answer) QueryStatusCount(io.confluent.ksql.rest.entity.QueryStatusCount) Injector(io.confluent.ksql.statement.Injector) Matchers.hasSize(org.hamcrest.Matchers.hasSize) MatcherAssert.assertThat(org.hamcrest.MatcherAssert.assertThat) UserFunctionLoader(io.confluent.ksql.function.UserFunctionLoader) CoreMatchers.nullValue(org.hamcrest.CoreMatchers.nullValue) Before(org.junit.Before) Producer(org.apache.kafka.clients.producer.Producer) SourceDescriptionFactory(io.confluent.ksql.rest.entity.SourceDescriptionFactory) SandboxedServiceContext(io.confluent.ksql.services.SandboxedServiceContext) Mockito.times(org.mockito.Mockito.times) IOException(java.io.IOException) Test(org.junit.Test) KsqlStream(io.confluent.ksql.metastore.model.KsqlStream) ValueFormat(io.confluent.ksql.serde.ValueFormat) ConnectServerErrors(io.confluent.ksql.rest.server.execution.ConnectServerErrors) CommandStore(io.confluent.ksql.rest.server.computation.CommandStore) KsqlStatementException(io.confluent.ksql.util.KsqlStatementException) Mockito.never(org.mockito.Mockito.never) CreateSourceProperties(io.confluent.ksql.parser.properties.with.CreateSourceProperties) KsqlTopic(io.confluent.ksql.execution.ddl.commands.KsqlTopic) Matcher(org.hamcrest.Matcher) DefaultErrorMessages(io.confluent.ksql.rest.DefaultErrorMessages) Mockito.reset(org.mockito.Mockito.reset) SequentialQueryIdGenerator(io.confluent.ksql.query.id.SequentialQueryIdGenerator) ParserMatchers.configured(io.confluent.ksql.parser.ParserMatchers.configured) KsqlEngineTestUtil(io.confluent.ksql.engine.KsqlEngineTestUtil) ParserMatchers.preparedStatementText(io.confluent.ksql.parser.ParserMatchers.preparedStatementText) SimpleFunctionInfo(io.confluent.ksql.rest.entity.SimpleFunctionInfo) StringLiteral(io.confluent.ksql.execution.expression.tree.StringLiteral) KsqlAuthorizationValidator(io.confluent.ksql.security.KsqlAuthorizationValidator) MockitoHamcrest.argThat(org.mockito.hamcrest.MockitoHamcrest.argThat) FakeKafkaTopicClient(io.confluent.ksql.services.FakeKafkaTopicClient) PersistentQueryMetadata(io.confluent.ksql.util.PersistentQueryMetadata) QueryDescriptionList(io.confluent.ksql.rest.entity.QueryDescriptionList) ImmutableSet(com.google.common.collect.ImmutableSet) Command(io.confluent.ksql.rest.server.computation.Command) LogicalSchema(io.confluent.ksql.schema.ksql.LogicalSchema) Collectors(java.util.stream.Collectors) TypeSafeMatcher(org.hamcrest.TypeSafeMatcher) Matchers.containsInAnyOrder(org.hamcrest.Matchers.containsInAnyOrder) Statement(io.confluent.ksql.parser.tree.Statement) KsqlConstants(io.confluent.ksql.util.KsqlConstants) Assert.assertThrows(org.junit.Assert.assertThrows) KsqlEntityList(io.confluent.ksql.rest.entity.KsqlEntityList) DataSourceType(io.confluent.ksql.metastore.model.DataSource.DataSourceType) MetricCollectors(io.confluent.ksql.metrics.MetricCollectors) Function(java.util.function.Function) CommandStatusFuture(io.confluent.ksql.rest.server.computation.CommandStatusFuture) BAD_REQUEST(io.netty.handler.codec.http.HttpResponseStatus.BAD_REQUEST) Sandbox(io.confluent.ksql.util.Sandbox) ImmutableList(com.google.common.collect.ImmutableList) ConfiguredKsqlPlan(io.confluent.ksql.planner.plan.ConfiguredKsqlPlan) TerminateCluster(io.confluent.ksql.rest.util.TerminateCluster) Queries(io.confluent.ksql.rest.entity.Queries) SerdeFeatures(io.confluent.ksql.serde.SerdeFeatures) ProducerConfig(org.apache.kafka.clients.producer.ProducerConfig) Collections.emptyMap(java.util.Collections.emptyMap) Matchers.empty(org.hamcrest.Matchers.empty) CoreMatchers.hasItems(org.hamcrest.CoreMatchers.hasItems) MutableFunctionRegistry(io.confluent.ksql.function.MutableFunctionRegistry) EndpointResponse(io.confluent.ksql.rest.EndpointResponse) Mockito.when(org.mockito.Mockito.when) TABLE(io.confluent.ksql.rest.entity.CommandId.Type.TABLE) SourceInfo(io.confluent.ksql.rest.entity.SourceInfo) TopicDeleteInjector(io.confluent.ksql.topic.TopicDeleteInjector) KsqlStatementErrorMessage(io.confluent.ksql.rest.entity.KsqlStatementErrorMessage) DataSource(io.confluent.ksql.metastore.model.DataSource) StreamsList(io.confluent.ksql.rest.entity.StreamsList) SourceName(io.confluent.ksql.name.SourceName) RunningQuery(io.confluent.ksql.rest.entity.RunningQuery) Matchers.not(org.hamcrest.Matchers.not) KsqlTopicAuthorizationException(io.confluent.ksql.exception.KsqlTopicAuthorizationException) SourceDescription(io.confluent.ksql.rest.entity.SourceDescription) QueuedCommandStatus(io.confluent.ksql.rest.server.computation.QueuedCommandStatus) InjectorChain(io.confluent.ksql.statement.InjectorChain) CoreMatchers.instanceOf(org.hamcrest.CoreMatchers.instanceOf) Mockito.doReturn(org.mockito.Mockito.doReturn) CREATE(io.confluent.ksql.rest.entity.CommandId.Action.CREATE) QueryMetadata(io.confluent.ksql.util.QueryMetadata) FakeKafkaConsumerGroupClient(io.confluent.ksql.services.FakeKafkaConsumerGroupClient) Set(java.util.Set) ConsumerConfig(org.apache.kafka.clients.consumer.ConsumerConfig) MetaStoreImpl(io.confluent.ksql.metastore.MetaStoreImpl) MockedStatic(org.mockito.MockedStatic) Matchers.contains(org.hamcrest.Matchers.contains) KsqlExecutionContext(io.confluent.ksql.KsqlExecutionContext) Matchers.is(org.hamcrest.Matchers.is) OK(io.netty.handler.codec.http.HttpResponseStatus.OK) FormatOptions(io.confluent.ksql.schema.utils.FormatOptions) FormatFactory(io.confluent.ksql.serde.FormatFactory) Mock(org.mockito.Mock) KsqlRestExceptionMatchers.exceptionErrorMessage(io.confluent.ksql.rest.server.resources.KsqlRestExceptionMatchers.exceptionErrorMessage) CreateStream(io.confluent.ksql.parser.tree.CreateStream) InvocationOnMock(org.mockito.invocation.InvocationOnMock) DropSourceCommand(io.confluent.ksql.execution.ddl.commands.DropSourceCommand) Properties(java.util.Properties) KsqlEngine(io.confluent.ksql.engine.KsqlEngine) AclOperation(org.apache.kafka.common.acl.AclOperation) File(java.io.File) KsqlConfigTestUtil(io.confluent.ksql.KsqlConfigTestUtil) TableElements(io.confluent.ksql.parser.tree.TableElements) ERROR_CODE_FORBIDDEN_KAFKA_ACCESS(io.confluent.ksql.rest.Errors.ERROR_CODE_FORBIDDEN_KAFKA_ACCESS) SqlTypes(io.confluent.ksql.schema.ksql.types.SqlTypes) PreparedStatement(io.confluent.ksql.parser.KsqlParser.PreparedStatement) ArgumentMatchers.anyString(org.mockito.ArgumentMatchers.anyString) KsqlStatementErrorMessageMatchers.statement(io.confluent.ksql.rest.entity.KsqlStatementErrorMessageMatchers.statement) CoreMatchers(org.hamcrest.CoreMatchers) CoreMatchers.hasItem(org.hamcrest.CoreMatchers.hasItem) KsqlPlan(io.confluent.ksql.engine.KsqlPlan) FunctionNameList(io.confluent.ksql.rest.entity.FunctionNameList) ServiceContext(io.confluent.ksql.services.ServiceContext) TimeoutException(java.util.concurrent.TimeoutException) CommandId(io.confluent.ksql.rest.entity.CommandId) TableElement(io.confluent.ksql.parser.tree.TableElement) DenyListPropertyValidator(io.confluent.ksql.properties.DenyListPropertyValidator) KsqlHostInfoEntity(io.confluent.ksql.rest.entity.KsqlHostInfoEntity) After(org.junit.After) CommandRunner(io.confluent.ksql.rest.server.computation.CommandRunner) QueryLogger(io.confluent.ksql.logging.query.QueryLogger) RestClientException(io.confluent.kafka.schemaregistry.client.rest.exceptions.RestClientException) EntityUtil(io.confluent.ksql.rest.util.EntityUtil) SourceDescriptionList(io.confluent.ksql.rest.entity.SourceDescriptionList) KsqlTable(io.confluent.ksql.metastore.model.KsqlTable) PropertiesList(io.confluent.ksql.rest.entity.PropertiesList) ImmutableMap(com.google.common.collect.ImmutableMap) Errors(io.confluent.ksql.rest.Errors) KsqlConfig(io.confluent.ksql.util.KsqlConfig) QueryDescriptionFactory(io.confluent.ksql.rest.entity.QueryDescriptionFactory) TestServiceContext(io.confluent.ksql.services.TestServiceContext) List(java.util.List) KsqlErrorMessageMatchers.errorCode(io.confluent.ksql.rest.entity.KsqlErrorMessageMatchers.errorCode) KsqlEngineMetrics(io.confluent.ksql.internal.KsqlEngineMetrics) Optional(java.util.Optional) FormatInfo(io.confluent.ksql.serde.FormatInfo) ArgumentMatchers.any(org.mockito.ArgumentMatchers.any) StreamsConfig(org.apache.kafka.streams.StreamsConfig) ArgumentMatchers.anyLong(org.mockito.ArgumentMatchers.anyLong) FORBIDDEN(io.netty.handler.codec.http.HttpResponseStatus.FORBIDDEN) INTERNAL_SERVER_ERROR(io.netty.handler.codec.http.HttpResponseStatus.INTERNAL_SERVER_ERROR) KeyFormat(io.confluent.ksql.serde.KeyFormat) STREAM(io.confluent.ksql.rest.entity.CommandId.Type.STREAM) QueryDescriptionEntity(io.confluent.ksql.rest.entity.QueryDescriptionEntity) HashMap(java.util.HashMap) AvroSchema(io.confluent.kafka.schemaregistry.avro.AvroSchema) KsqlEntity(io.confluent.ksql.rest.entity.KsqlEntity) FunctionType(io.confluent.ksql.rest.entity.FunctionType) SourceDescriptionEntity(io.confluent.ksql.rest.entity.SourceDescriptionEntity) KsqlErrorMessageMatchers.errorMessage(io.confluent.ksql.rest.entity.KsqlErrorMessageMatchers.errorMessage) TablesList(io.confluent.ksql.rest.entity.TablesList) DELETE_TOPIC_LIST_PROP(io.confluent.ksql.rest.entity.ClusterTerminateRequest.DELETE_TOPIC_LIST_PROP) Description(org.hamcrest.Description) CommandStatusEntity(io.confluent.ksql.rest.entity.CommandStatusEntity) Matchers(org.hamcrest.Matchers) KsqlRestExceptionMatchers.exceptionStatusCode(io.confluent.ksql.rest.server.resources.KsqlRestExceptionMatchers.exceptionStatusCode) Property(io.confluent.ksql.rest.entity.PropertiesList.Property) Mockito.verify(org.mockito.Mockito.verify) Mockito(org.mockito.Mockito) Collections(java.util.Collections) MutableFunctionRegistry(io.confluent.ksql.function.MutableFunctionRegistry) CommandStatusFuture(io.confluent.ksql.rest.server.computation.CommandStatusFuture) MetaStoreImpl(io.confluent.ksql.metastore.MetaStoreImpl) KsqlEngineMetrics(io.confluent.ksql.internal.KsqlEngineMetrics) Metrics(org.apache.kafka.common.metrics.Metrics) KsqlEngineMetrics(io.confluent.ksql.internal.KsqlEngineMetrics) EndpointResponse(io.confluent.ksql.rest.EndpointResponse) KsqlExecutionContext(io.confluent.ksql.KsqlExecutionContext) ConfiguredKsqlPlan(io.confluent.ksql.planner.plan.ConfiguredKsqlPlan) KsqlSecurityContext(io.confluent.ksql.security.KsqlSecurityContext) KsqlRestConfig(io.confluent.ksql.rest.server.KsqlRestConfig) FakeKafkaTopicClient(io.confluent.ksql.services.FakeKafkaTopicClient) MetricCollectors(io.confluent.ksql.metrics.MetricCollectors) KsqlConfig(io.confluent.ksql.util.KsqlConfig) Producer(org.apache.kafka.clients.producer.Producer) QueuedCommandStatus(io.confluent.ksql.rest.server.computation.QueuedCommandStatus) FakeKafkaConsumerGroupClient(io.confluent.ksql.services.FakeKafkaConsumerGroupClient) InvocationOnMock(org.mockito.invocation.InvocationOnMock) SequentialQueryIdGenerator(io.confluent.ksql.query.id.SequentialQueryIdGenerator) CommandId(io.confluent.ksql.rest.entity.CommandId) InternalFunctionRegistry(io.confluent.ksql.function.InternalFunctionRegistry) Before(org.junit.Before)

Example 34 with ServiceContext

use of io.confluent.ksql.services.ServiceContext in project ksql by confluentinc.

the class KsqlResourceTest method givenKsqlConfigWith.

private void givenKsqlConfigWith(final Map<String, Object> additionalConfig) {
    final Map<String, Object> config = ksqlRestConfig.getKsqlConfigProperties();
    config.putAll(additionalConfig);
    ksqlConfig = new KsqlConfig(config);
    final MetricCollectors metricCollectors = new MetricCollectors();
    ksqlEngine = KsqlEngineTestUtil.createKsqlEngine(serviceContext, metaStore, (engine) -> new KsqlEngineMetrics("", engine, Collections.emptyMap(), Optional.empty(), metricCollectors), new SequentialQueryIdGenerator(), ksqlConfig, metricCollectors);
    setUpKsqlResource();
}
Also used : ClusterTerminateRequest(io.confluent.ksql.rest.entity.ClusterTerminateRequest) DROP(io.confluent.ksql.rest.entity.CommandId.Action.DROP) InternalFunctionRegistry(io.confluent.ksql.function.InternalFunctionRegistry) SchemaRegistryClient(io.confluent.kafka.schemaregistry.client.SchemaRegistryClient) ColumnName(io.confluent.ksql.name.ColumnName) ArgumentMatchers.eq(org.mockito.ArgumentMatchers.eq) KsqlErrorMessage(io.confluent.ksql.rest.entity.KsqlErrorMessage) KsqlRestExceptionMatchers.exceptionStatementErrorMessage(io.confluent.ksql.rest.server.resources.KsqlRestExceptionMatchers.exceptionStatementErrorMessage) Mockito.doThrow(org.mockito.Mockito.doThrow) TransientQueryMetadata(io.confluent.ksql.util.TransientQueryMetadata) Mockito.doAnswer(org.mockito.Mockito.doAnswer) Duration(java.time.Duration) Map(java.util.Map) CoreMatchers.containsString(org.hamcrest.CoreMatchers.containsString) CommandStatus(io.confluent.ksql.rest.entity.CommandStatus) SystemColumns(io.confluent.ksql.schema.ksql.SystemColumns) ConfiguredStatement(io.confluent.ksql.statement.ConfiguredStatement) EXECUTE(io.confluent.ksql.rest.entity.CommandId.Action.EXECUTE) ActivenessRegistrar(io.confluent.ksql.version.metrics.ActivenessRegistrar) KsqlRestConfig(io.confluent.ksql.rest.server.KsqlRestConfig) QueryDescription(io.confluent.ksql.rest.entity.QueryDescription) Metrics(org.apache.kafka.common.metrics.Metrics) SERVICE_UNAVAILABLE(io.netty.handler.codec.http.HttpResponseStatus.SERVICE_UNAVAILABLE) KsqlException(io.confluent.ksql.util.KsqlException) FunctionCategory(io.confluent.ksql.function.FunctionCategory) KsqlRequest(io.confluent.ksql.rest.entity.KsqlRequest) MockitoJUnitRunner(org.mockito.junit.MockitoJUnitRunner) Mockito.mock(org.mockito.Mockito.mock) CoreMatchers.equalTo(org.hamcrest.CoreMatchers.equalTo) TOPIC(io.confluent.ksql.rest.entity.CommandId.Type.TOPIC) RunWith(org.junit.runner.RunWith) KsqlIdentifierTestUtil(io.confluent.ksql.test.util.KsqlIdentifierTestUtil) KsqlSecurityContext(io.confluent.ksql.security.KsqlSecurityContext) Supplier(java.util.function.Supplier) SessionConfig(io.confluent.ksql.config.SessionConfig) Answer(org.mockito.stubbing.Answer) QueryStatusCount(io.confluent.ksql.rest.entity.QueryStatusCount) Injector(io.confluent.ksql.statement.Injector) Matchers.hasSize(org.hamcrest.Matchers.hasSize) MatcherAssert.assertThat(org.hamcrest.MatcherAssert.assertThat) UserFunctionLoader(io.confluent.ksql.function.UserFunctionLoader) CoreMatchers.nullValue(org.hamcrest.CoreMatchers.nullValue) Before(org.junit.Before) Producer(org.apache.kafka.clients.producer.Producer) SourceDescriptionFactory(io.confluent.ksql.rest.entity.SourceDescriptionFactory) SandboxedServiceContext(io.confluent.ksql.services.SandboxedServiceContext) Mockito.times(org.mockito.Mockito.times) IOException(java.io.IOException) Test(org.junit.Test) KsqlStream(io.confluent.ksql.metastore.model.KsqlStream) ValueFormat(io.confluent.ksql.serde.ValueFormat) ConnectServerErrors(io.confluent.ksql.rest.server.execution.ConnectServerErrors) CommandStore(io.confluent.ksql.rest.server.computation.CommandStore) KsqlStatementException(io.confluent.ksql.util.KsqlStatementException) Mockito.never(org.mockito.Mockito.never) CreateSourceProperties(io.confluent.ksql.parser.properties.with.CreateSourceProperties) KsqlTopic(io.confluent.ksql.execution.ddl.commands.KsqlTopic) Matcher(org.hamcrest.Matcher) DefaultErrorMessages(io.confluent.ksql.rest.DefaultErrorMessages) Mockito.reset(org.mockito.Mockito.reset) SequentialQueryIdGenerator(io.confluent.ksql.query.id.SequentialQueryIdGenerator) ParserMatchers.configured(io.confluent.ksql.parser.ParserMatchers.configured) KsqlEngineTestUtil(io.confluent.ksql.engine.KsqlEngineTestUtil) ParserMatchers.preparedStatementText(io.confluent.ksql.parser.ParserMatchers.preparedStatementText) SimpleFunctionInfo(io.confluent.ksql.rest.entity.SimpleFunctionInfo) StringLiteral(io.confluent.ksql.execution.expression.tree.StringLiteral) KsqlAuthorizationValidator(io.confluent.ksql.security.KsqlAuthorizationValidator) MockitoHamcrest.argThat(org.mockito.hamcrest.MockitoHamcrest.argThat) FakeKafkaTopicClient(io.confluent.ksql.services.FakeKafkaTopicClient) PersistentQueryMetadata(io.confluent.ksql.util.PersistentQueryMetadata) QueryDescriptionList(io.confluent.ksql.rest.entity.QueryDescriptionList) ImmutableSet(com.google.common.collect.ImmutableSet) Command(io.confluent.ksql.rest.server.computation.Command) LogicalSchema(io.confluent.ksql.schema.ksql.LogicalSchema) Collectors(java.util.stream.Collectors) TypeSafeMatcher(org.hamcrest.TypeSafeMatcher) Matchers.containsInAnyOrder(org.hamcrest.Matchers.containsInAnyOrder) Statement(io.confluent.ksql.parser.tree.Statement) KsqlConstants(io.confluent.ksql.util.KsqlConstants) Assert.assertThrows(org.junit.Assert.assertThrows) KsqlEntityList(io.confluent.ksql.rest.entity.KsqlEntityList) DataSourceType(io.confluent.ksql.metastore.model.DataSource.DataSourceType) MetricCollectors(io.confluent.ksql.metrics.MetricCollectors) Function(java.util.function.Function) CommandStatusFuture(io.confluent.ksql.rest.server.computation.CommandStatusFuture) BAD_REQUEST(io.netty.handler.codec.http.HttpResponseStatus.BAD_REQUEST) Sandbox(io.confluent.ksql.util.Sandbox) ImmutableList(com.google.common.collect.ImmutableList) ConfiguredKsqlPlan(io.confluent.ksql.planner.plan.ConfiguredKsqlPlan) TerminateCluster(io.confluent.ksql.rest.util.TerminateCluster) Queries(io.confluent.ksql.rest.entity.Queries) SerdeFeatures(io.confluent.ksql.serde.SerdeFeatures) ProducerConfig(org.apache.kafka.clients.producer.ProducerConfig) Collections.emptyMap(java.util.Collections.emptyMap) Matchers.empty(org.hamcrest.Matchers.empty) CoreMatchers.hasItems(org.hamcrest.CoreMatchers.hasItems) MutableFunctionRegistry(io.confluent.ksql.function.MutableFunctionRegistry) EndpointResponse(io.confluent.ksql.rest.EndpointResponse) Mockito.when(org.mockito.Mockito.when) TABLE(io.confluent.ksql.rest.entity.CommandId.Type.TABLE) SourceInfo(io.confluent.ksql.rest.entity.SourceInfo) TopicDeleteInjector(io.confluent.ksql.topic.TopicDeleteInjector) KsqlStatementErrorMessage(io.confluent.ksql.rest.entity.KsqlStatementErrorMessage) DataSource(io.confluent.ksql.metastore.model.DataSource) StreamsList(io.confluent.ksql.rest.entity.StreamsList) SourceName(io.confluent.ksql.name.SourceName) RunningQuery(io.confluent.ksql.rest.entity.RunningQuery) Matchers.not(org.hamcrest.Matchers.not) KsqlTopicAuthorizationException(io.confluent.ksql.exception.KsqlTopicAuthorizationException) SourceDescription(io.confluent.ksql.rest.entity.SourceDescription) QueuedCommandStatus(io.confluent.ksql.rest.server.computation.QueuedCommandStatus) InjectorChain(io.confluent.ksql.statement.InjectorChain) CoreMatchers.instanceOf(org.hamcrest.CoreMatchers.instanceOf) Mockito.doReturn(org.mockito.Mockito.doReturn) CREATE(io.confluent.ksql.rest.entity.CommandId.Action.CREATE) QueryMetadata(io.confluent.ksql.util.QueryMetadata) FakeKafkaConsumerGroupClient(io.confluent.ksql.services.FakeKafkaConsumerGroupClient) Set(java.util.Set) ConsumerConfig(org.apache.kafka.clients.consumer.ConsumerConfig) MetaStoreImpl(io.confluent.ksql.metastore.MetaStoreImpl) MockedStatic(org.mockito.MockedStatic) Matchers.contains(org.hamcrest.Matchers.contains) KsqlExecutionContext(io.confluent.ksql.KsqlExecutionContext) Matchers.is(org.hamcrest.Matchers.is) OK(io.netty.handler.codec.http.HttpResponseStatus.OK) FormatOptions(io.confluent.ksql.schema.utils.FormatOptions) FormatFactory(io.confluent.ksql.serde.FormatFactory) Mock(org.mockito.Mock) KsqlRestExceptionMatchers.exceptionErrorMessage(io.confluent.ksql.rest.server.resources.KsqlRestExceptionMatchers.exceptionErrorMessage) CreateStream(io.confluent.ksql.parser.tree.CreateStream) InvocationOnMock(org.mockito.invocation.InvocationOnMock) DropSourceCommand(io.confluent.ksql.execution.ddl.commands.DropSourceCommand) Properties(java.util.Properties) KsqlEngine(io.confluent.ksql.engine.KsqlEngine) AclOperation(org.apache.kafka.common.acl.AclOperation) File(java.io.File) KsqlConfigTestUtil(io.confluent.ksql.KsqlConfigTestUtil) TableElements(io.confluent.ksql.parser.tree.TableElements) ERROR_CODE_FORBIDDEN_KAFKA_ACCESS(io.confluent.ksql.rest.Errors.ERROR_CODE_FORBIDDEN_KAFKA_ACCESS) SqlTypes(io.confluent.ksql.schema.ksql.types.SqlTypes) PreparedStatement(io.confluent.ksql.parser.KsqlParser.PreparedStatement) ArgumentMatchers.anyString(org.mockito.ArgumentMatchers.anyString) KsqlStatementErrorMessageMatchers.statement(io.confluent.ksql.rest.entity.KsqlStatementErrorMessageMatchers.statement) CoreMatchers(org.hamcrest.CoreMatchers) CoreMatchers.hasItem(org.hamcrest.CoreMatchers.hasItem) KsqlPlan(io.confluent.ksql.engine.KsqlPlan) FunctionNameList(io.confluent.ksql.rest.entity.FunctionNameList) ServiceContext(io.confluent.ksql.services.ServiceContext) TimeoutException(java.util.concurrent.TimeoutException) CommandId(io.confluent.ksql.rest.entity.CommandId) TableElement(io.confluent.ksql.parser.tree.TableElement) DenyListPropertyValidator(io.confluent.ksql.properties.DenyListPropertyValidator) KsqlHostInfoEntity(io.confluent.ksql.rest.entity.KsqlHostInfoEntity) After(org.junit.After) CommandRunner(io.confluent.ksql.rest.server.computation.CommandRunner) QueryLogger(io.confluent.ksql.logging.query.QueryLogger) RestClientException(io.confluent.kafka.schemaregistry.client.rest.exceptions.RestClientException) EntityUtil(io.confluent.ksql.rest.util.EntityUtil) SourceDescriptionList(io.confluent.ksql.rest.entity.SourceDescriptionList) KsqlTable(io.confluent.ksql.metastore.model.KsqlTable) PropertiesList(io.confluent.ksql.rest.entity.PropertiesList) ImmutableMap(com.google.common.collect.ImmutableMap) Errors(io.confluent.ksql.rest.Errors) KsqlConfig(io.confluent.ksql.util.KsqlConfig) QueryDescriptionFactory(io.confluent.ksql.rest.entity.QueryDescriptionFactory) TestServiceContext(io.confluent.ksql.services.TestServiceContext) List(java.util.List) KsqlErrorMessageMatchers.errorCode(io.confluent.ksql.rest.entity.KsqlErrorMessageMatchers.errorCode) KsqlEngineMetrics(io.confluent.ksql.internal.KsqlEngineMetrics) Optional(java.util.Optional) FormatInfo(io.confluent.ksql.serde.FormatInfo) ArgumentMatchers.any(org.mockito.ArgumentMatchers.any) StreamsConfig(org.apache.kafka.streams.StreamsConfig) ArgumentMatchers.anyLong(org.mockito.ArgumentMatchers.anyLong) FORBIDDEN(io.netty.handler.codec.http.HttpResponseStatus.FORBIDDEN) INTERNAL_SERVER_ERROR(io.netty.handler.codec.http.HttpResponseStatus.INTERNAL_SERVER_ERROR) KeyFormat(io.confluent.ksql.serde.KeyFormat) STREAM(io.confluent.ksql.rest.entity.CommandId.Type.STREAM) QueryDescriptionEntity(io.confluent.ksql.rest.entity.QueryDescriptionEntity) HashMap(java.util.HashMap) AvroSchema(io.confluent.kafka.schemaregistry.avro.AvroSchema) KsqlEntity(io.confluent.ksql.rest.entity.KsqlEntity) FunctionType(io.confluent.ksql.rest.entity.FunctionType) SourceDescriptionEntity(io.confluent.ksql.rest.entity.SourceDescriptionEntity) KsqlErrorMessageMatchers.errorMessage(io.confluent.ksql.rest.entity.KsqlErrorMessageMatchers.errorMessage) TablesList(io.confluent.ksql.rest.entity.TablesList) DELETE_TOPIC_LIST_PROP(io.confluent.ksql.rest.entity.ClusterTerminateRequest.DELETE_TOPIC_LIST_PROP) Description(org.hamcrest.Description) CommandStatusEntity(io.confluent.ksql.rest.entity.CommandStatusEntity) Matchers(org.hamcrest.Matchers) KsqlRestExceptionMatchers.exceptionStatusCode(io.confluent.ksql.rest.server.resources.KsqlRestExceptionMatchers.exceptionStatusCode) Property(io.confluent.ksql.rest.entity.PropertiesList.Property) Mockito.verify(org.mockito.Mockito.verify) Mockito(org.mockito.Mockito) Collections(java.util.Collections) KsqlEngineMetrics(io.confluent.ksql.internal.KsqlEngineMetrics) MetricCollectors(io.confluent.ksql.metrics.MetricCollectors) KsqlConfig(io.confluent.ksql.util.KsqlConfig) SequentialQueryIdGenerator(io.confluent.ksql.query.id.SequentialQueryIdGenerator) CoreMatchers.containsString(org.hamcrest.CoreMatchers.containsString) ArgumentMatchers.anyString(org.mockito.ArgumentMatchers.anyString)

Example 35 with ServiceContext

use of io.confluent.ksql.services.ServiceContext in project ksql by confluentinc.

the class ListSourceExecutorTest method shouldAddWarningsOnClientExceptionForStreamListing.

@Test
public void shouldAddWarningsOnClientExceptionForStreamListing() {
    // Given:
    final KsqlStream<?> stream1 = engine.givenSource(DataSourceType.KSTREAM, "stream1");
    final KsqlStream<?> stream2 = engine.givenSource(DataSourceType.KSTREAM, "stream2");
    final ServiceContext serviceContext = engine.getServiceContext();
    serviceContext.getTopicClient().deleteTopics(ImmutableList.of("stream1", "stream2"));
    // When:
    final KsqlEntity entity = CUSTOM_EXECUTORS.listStreams().execute((ConfiguredStatement<ListStreams>) engine.configure("SHOW STREAMS EXTENDED;"), SESSION_PROPERTIES, engine.getEngine(), serviceContext).getEntity().orElseThrow(IllegalStateException::new);
    // Then:
    assertSourceListWithWarning(entity, stream1, stream2);
}
Also used : ListStreams(io.confluent.ksql.parser.tree.ListStreams) ServiceContext(io.confluent.ksql.services.ServiceContext) TestServiceContext(io.confluent.ksql.services.TestServiceContext) KsqlEntity(io.confluent.ksql.rest.entity.KsqlEntity) Test(org.junit.Test)

Aggregations

ServiceContext (io.confluent.ksql.services.ServiceContext)44 Optional (java.util.Optional)25 KsqlConfig (io.confluent.ksql.util.KsqlConfig)23 Collectors (java.util.stream.Collectors)23 List (java.util.List)22 ConfiguredStatement (io.confluent.ksql.statement.ConfiguredStatement)21 KsqlException (io.confluent.ksql.util.KsqlException)21 Map (java.util.Map)21 ImmutableMap (com.google.common.collect.ImmutableMap)18 TestServiceContext (io.confluent.ksql.services.TestServiceContext)15 Collections (java.util.Collections)15 ImmutableList (com.google.common.collect.ImmutableList)13 KsqlExecutionContext (io.confluent.ksql.KsqlExecutionContext)13 LogicalSchema (io.confluent.ksql.schema.ksql.LogicalSchema)13 KsqlEngine (io.confluent.ksql.engine.KsqlEngine)12 KsqlStatementException (io.confluent.ksql.util.KsqlStatementException)12 Test (org.junit.Test)12 Logger (org.slf4j.Logger)10 LoggerFactory (org.slf4j.LoggerFactory)10 MatcherAssert.assertThat (org.hamcrest.MatcherAssert.assertThat)9