From 611bcfe4df88e77e36a242b5e3f5dd12387ee270 Mon Sep 17 00:00:00 2001 From: Mathias Vandaele Date: Fri, 10 Jan 2025 11:12:17 +0100 Subject: [PATCH] refactor(camunda-client): replace zeebe-client by camunda-client (#3826) * refactor(camunda-client): 1st commit, further investigation needed merging * refactor(camunda-client): fixing the issue, refactor is done * refactor(camunda-client) bring a single camunda version * refactor(camunda-client) bring a single camunda version 5 * refactor(camunda-client) bring a single camunda version 6 * Update connectors/http/rest/README.peb Co-authored-by: Jonathan --------- Co-authored-by: Jonathan --- .../connector-runtime-core/README.md | 30 +++--- .../connector-runtime-core/pom.xml | 3 +- .../DefaultProcessInstanceContext.java | 2 +- ...boundIntermediateConnectorContextImpl.java | 2 +- .../core/inbound/ProcessInstanceClient.java | 2 +- .../InboundCorrelationHandler.java | 18 ++-- .../core/outbound/ActivatedJobContext.java | 2 +- .../core/outbound/ConnectorJobHandler.java | 12 +-- .../core/outbound/JobHandlerContext.java | 2 +- .../InboundCorrelationHandlerTest.java | 96 +++++++++---------- .../outbound/ConnectorJobHandlerTest.java | 9 +- .../runtime/core/outbound/JobBuilder.java | 10 +- .../core/outbound/JobHandlerContextTest.java | 2 +- .../testutil/command/CreateCommandDummy.java | 14 +-- .../command/PublishMessageCommandDummy.java | 20 ++-- .../response/ProcessInstanceEventDummy.java | 2 +- .../response/PublishMessageResponseDummy.java | 2 +- .../connector-runtime-spring/pom.xml | 1 + .../InboundConnectorRuntimeConfiguration.java | 10 +- .../MeteredInboundCorrelationHandler.java | 6 +- .../importer/ProcessDefinitionImporter.java | 2 +- .../importer/ProcessDefinitionSearch.java | 4 +- .../search/ProcessInstanceClientImpl.java | 6 +- .../inbound/search/SearchQueryClient.java | 8 +- .../inbound/search/SearchQueryClientImpl.java | 23 ++--- ...OutboundConnectorRuntimeConfiguration.java | 6 +- .../SpringConnectorJobHandler.java | 6 +- .../OutboundConnectorAnnotationProcessor.java | 6 +- .../lifecycle/OutboundConnectorManager.java | 8 +- .../ProcessDefinitionImporterTest.java | 14 +-- .../search/ProcessInstanceClientImplTest.java | 34 +++---- .../pom.xml | 6 +- ...nectorsObservabilityAutoConfiguration.java | 6 +- .../OutboundConnectorsAutoConfiguration.java | 7 +- .../runtime/ZeebeHealthIndicator.java | 16 ++-- .../ObjectMapperSerializationTest.java | 2 +- .../WebhookControllerTestZeebeTests.java | 6 +- .../outbound/JobRetriesIntegrationTest.java | 14 +-- ...StartupWithConnectorsFromEnvVarsTests.java | 10 +- connector-sdk/document/pom.xml | 3 +- .../io/camunda/document/CamundaDocument.java | 2 +- .../java/io/camunda/document/Document.java | 2 +- .../CamundaDocumentReferenceImpl.java | 4 +- .../document/reference/DocumentReference.java | 2 +- .../store/CamundaDocumentStoreImpl.java | 14 +-- .../document/store/InMemoryDocumentStore.java | 12 ++- .../jackson/DocumentReferenceModel.java | 20 +++- .../jackson/DocumentSerializationTest.java | 4 +- .../pom.xml | 2 +- .../AddWorkItemAutomationAnywhereTests.java | 6 +- .../e2e/BaseAutomationAnywhereTest.java | 4 +- .../GetWorkItemAutomationAnywhereTests.java | 6 +- .../io/camunda/connector/e2e/BaseAwsTest.java | 4 +- .../connector/e2e/AwsEventBridgeTest.java | 2 +- .../camunda/connector/e2e/AwsLambdaTest.java | 2 +- .../io/camunda/connector/e2e/AwsSnsTest.java | 4 +- .../io/camunda/connector/e2e/AwsSqsTest.java | 4 +- .../connectors-e2e-test-aws/pom.xml | 2 +- .../io/camunda/connector/e2e/ZeebeTest.java | 22 ++--- .../connectors-e2e-test-easy-post/pom.xml | 2 +- .../connector/e2e/BaseEasyPostTest.java | 6 +- .../connectors-e2e-test-http/pom.xml | 2 +- .../io/camunda/connector/e2e/HttpTests.java | 34 +++---- .../e2e/WebhookActivatedDocumentTests.java | 11 ++- .../e2e/WebhookNotActivatedDocumentTests.java | 11 ++- .../connectors-e2e-test-kafka/pom.xml | 2 +- .../camunda/connector/e2e/BaseKafkaTest.java | 4 +- .../connector/e2e/InboundKafkaTests.java | 9 +- .../connector/e2e/OutboundKafkaTests.java | 2 +- .../connector/e2e/InboundEmailTest.java | 19 ++-- .../connector/e2e/OutboundEmailTests.java | 6 +- .../connectors-e2e-test-rabbitmq/pom.xml | 2 +- .../connector/e2e/BaseRabbitMqTest.java | 6 +- .../e2e/RabbitMqInboundStartEventTests.java | 2 +- .../connectors-e2e-test-soap/pom.xml | 2 +- .../e2e/soap/SoapConnectorBaseTest.java | 6 +- .../aws-s3-outbound-connector.json | 3 + .../aws-s3-outbound-connector-hybrid.json | 3 + .../parts/ApacheRequestBodyBuilder.java | 2 +- .../http/base/model/HttpCommonResult.java | 12 ++- .../http/base/DocumentOutboundContext.java | 4 +- .../http/base/utils/DocumentHelperTest.java | 2 +- connectors/http/rest/README.md | 96 ++++++++----------- connectors/http/rest/README.peb | 7 +- connectors/pom.xml | 2 +- parent/pom.xml | 17 ++-- 86 files changed, 430 insertions(+), 394 deletions(-) diff --git a/connector-runtime/connector-runtime-core/README.md b/connector-runtime/connector-runtime-core/README.md index 88d2888e1f..dccaf2cd30 100644 --- a/connector-runtime/connector-runtime-core/README.md +++ b/connector-runtime/connector-runtime-core/README.md @@ -3,7 +3,8 @@ A collection of runtime utilities to wrap Connector functions as job workers and handle Connector discovery. This artifact can be used to build custom Connector runtimes. If you are looking for a ready-to-use Connector runtime, refer to the -[Spring Connector Runtime](../connector-runtime-spring) or a corresponding [Spring Boot starter](../spring-boot-starter-camunda-connectors). +[Spring Connector Runtime](../connector-runtime-spring) or a +corresponding [Spring Boot starter](../spring-boot-starter-camunda-connectors). ## Wrapping a Connector function @@ -12,32 +13,33 @@ Include the job worker runtime utilities as maven dependency: ```xml - io.camunda.connector - connector-runtime-core - ${version.connectors} + io.camunda.connector + connector-runtime-core + ${version.connectors} ``` You can create a job worker by wrapping a Connector function like this: ```java +import io.camunda.client.CamundaClient; import io.camunda.connector.slack.outbound.SlackFunction; import io.camunda.connector.runtime.jobworker.api.outbound.ConnectorJobHandler; import io.camunda.zeebe.client.ZeebeClient; public class Main { - public static void main(String[] args) { + public static void main(String[] args) { - var zeebeClient = ZeebeClient.newClientBuilder().build(); + var camundaClient = CamundaClient.newClientBuilder().build(); - zeebeClient.newWorker() - .jobType("slack") - .handler(new ConnectorJobHandler(new SlackFunction())) - .name("SLACK") - .fetchVariables("foo", "bar") - .open(); - } + camundaClient.newWorker() + .jobType("slack") + .handler(new ConnectorJobHandler(new SlackFunction())) + .name("SLACK") + .fetchVariables("foo", "bar") + .open(); + } } ``` @@ -54,6 +56,7 @@ variables and with SPI. Only one configuration approach must be used per applica ### Discovery via environment variables Outbound Connector configuration example: + ``` CONNECTOR_SLACK_FUNCTION=io.camunda.connector.runtime.util.outbound.SlackFunction CONNECTOR_SLACK_TYPE=io.camunda.connector:SLACK @@ -62,6 +65,7 @@ CONNECTOR_SLACK_TIMEOUT=10000 # optional ``` Inbound Connector configuration example: + ``` CONNECTOR_KAFKA_SUBSCRIPTION_EXECUTABLE=io.camunda.connector.runtime.util.outbound.KafkaSubscription CONNECTOR_KAFKA_SUBSCRIPTION_TYPE=io.camunda.connector:KAFKA_SUBSCRIPTION diff --git a/connector-runtime/connector-runtime-core/pom.xml b/connector-runtime/connector-runtime-core/pom.xml index d74454d81f..9c041fc374 100644 --- a/connector-runtime/connector-runtime-core/pom.xml +++ b/connector-runtime/connector-runtime-core/pom.xml @@ -50,7 +50,8 @@ io.camunda - zeebe-client-java + camunda-client-java + ${version.camunda} diff --git a/connector-runtime/connector-runtime-core/src/main/java/io/camunda/connector/runtime/core/inbound/DefaultProcessInstanceContext.java b/connector-runtime/connector-runtime-core/src/main/java/io/camunda/connector/runtime/core/inbound/DefaultProcessInstanceContext.java index 2ea8151d34..98a889d15d 100644 --- a/connector-runtime/connector-runtime-core/src/main/java/io/camunda/connector/runtime/core/inbound/DefaultProcessInstanceContext.java +++ b/connector-runtime/connector-runtime-core/src/main/java/io/camunda/connector/runtime/core/inbound/DefaultProcessInstanceContext.java @@ -18,12 +18,12 @@ import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; +import io.camunda.client.api.search.response.FlowNodeInstance; import io.camunda.connector.api.inbound.ProcessInstanceContext; import io.camunda.connector.api.validation.ValidationProvider; import io.camunda.connector.feel.jackson.FeelContextAwareObjectReader; import io.camunda.connector.runtime.core.inbound.correlation.InboundCorrelationHandler; import io.camunda.connector.runtime.core.validation.ValidationUtil; -import io.camunda.zeebe.client.api.search.response.FlowNodeInstance; import java.util.Map; import java.util.function.Supplier; diff --git a/connector-runtime/connector-runtime-core/src/main/java/io/camunda/connector/runtime/core/inbound/InboundIntermediateConnectorContextImpl.java b/connector-runtime/connector-runtime-core/src/main/java/io/camunda/connector/runtime/core/inbound/InboundIntermediateConnectorContextImpl.java index 02e88aa131..dbb96ca5e0 100644 --- a/connector-runtime/connector-runtime-core/src/main/java/io/camunda/connector/runtime/core/inbound/InboundIntermediateConnectorContextImpl.java +++ b/connector-runtime/connector-runtime-core/src/main/java/io/camunda/connector/runtime/core/inbound/InboundIntermediateConnectorContextImpl.java @@ -17,13 +17,13 @@ package io.camunda.connector.runtime.core.inbound; import com.fasterxml.jackson.databind.ObjectMapper; +import io.camunda.client.api.search.response.FlowNodeInstance; import io.camunda.connector.api.inbound.*; import io.camunda.connector.api.validation.ValidationProvider; import io.camunda.connector.runtime.core.inbound.correlation.InboundCorrelationHandler; import io.camunda.connector.runtime.core.inbound.correlation.MessageCorrelationPoint.BoundaryEventCorrelationPoint; import io.camunda.document.Document; import io.camunda.document.store.DocumentCreationRequest; -import io.camunda.zeebe.client.api.search.response.FlowNodeInstance; import java.util.List; import java.util.Map; import java.util.Queue; diff --git a/connector-runtime/connector-runtime-core/src/main/java/io/camunda/connector/runtime/core/inbound/ProcessInstanceClient.java b/connector-runtime/connector-runtime-core/src/main/java/io/camunda/connector/runtime/core/inbound/ProcessInstanceClient.java index 202660f062..91a28926be 100644 --- a/connector-runtime/connector-runtime-core/src/main/java/io/camunda/connector/runtime/core/inbound/ProcessInstanceClient.java +++ b/connector-runtime/connector-runtime-core/src/main/java/io/camunda/connector/runtime/core/inbound/ProcessInstanceClient.java @@ -16,7 +16,7 @@ */ package io.camunda.connector.runtime.core.inbound; -import io.camunda.zeebe.client.api.search.response.FlowNodeInstance; +import io.camunda.client.api.search.response.FlowNodeInstance; import java.util.List; import java.util.Map; diff --git a/connector-runtime/connector-runtime-core/src/main/java/io/camunda/connector/runtime/core/inbound/correlation/InboundCorrelationHandler.java b/connector-runtime/connector-runtime-core/src/main/java/io/camunda/connector/runtime/core/inbound/correlation/InboundCorrelationHandler.java index 14637d0923..10c58602a0 100644 --- a/connector-runtime/connector-runtime-core/src/main/java/io/camunda/connector/runtime/core/inbound/correlation/InboundCorrelationHandler.java +++ b/connector-runtime/connector-runtime-core/src/main/java/io/camunda/connector/runtime/core/inbound/correlation/InboundCorrelationHandler.java @@ -16,6 +16,10 @@ */ package io.camunda.connector.runtime.core.inbound.correlation; +import io.camunda.client.CamundaClient; +import io.camunda.client.api.command.ClientStatusException; +import io.camunda.client.api.response.ProcessInstanceEvent; +import io.camunda.client.api.response.PublishMessageResponse; import io.camunda.connector.api.error.ConnectorInputException; import io.camunda.connector.api.inbound.ActivationCheckResult; import io.camunda.connector.api.inbound.CorrelationResult; @@ -29,10 +33,6 @@ import io.camunda.connector.runtime.core.ConnectorHelper; import io.camunda.connector.runtime.core.inbound.InboundConnectorElement; import io.camunda.connector.runtime.core.inbound.ProcessElementContextFactory; -import io.camunda.zeebe.client.ZeebeClient; -import io.camunda.zeebe.client.api.command.ClientStatusException; -import io.camunda.zeebe.client.api.response.ProcessInstanceEvent; -import io.camunda.zeebe.client.api.response.PublishMessageResponse; import io.grpc.Status; import java.time.Duration; import java.util.List; @@ -46,7 +46,7 @@ public class InboundCorrelationHandler { private static final Logger LOG = LoggerFactory.getLogger(InboundCorrelationHandler.class); - private final ZeebeClient zeebeClient; + private final CamundaClient camundaClient; private final FeelEngineWrapper feelEngine; private final ProcessElementContextFactory processElementContextFactory; @@ -54,11 +54,11 @@ public class InboundCorrelationHandler { private final Duration defaultMessageTtl; public InboundCorrelationHandler( - ZeebeClient zeebeClient, + CamundaClient camundaClient, FeelEngineWrapper feelEngine, ProcessElementContextFactory processElementContextFactory, Duration defaultMessageTtl) { - this.zeebeClient = zeebeClient; + this.camundaClient = camundaClient; this.feelEngine = feelEngine; this.processElementContextFactory = processElementContextFactory; this.defaultMessageTtl = defaultMessageTtl; @@ -118,7 +118,7 @@ protected CorrelationResult triggerStartEvent( try { ProcessInstanceEvent result = - zeebeClient + camundaClient .newCreateInstanceCommand() .bpmnProcessId(correlationPoint.bpmnProcessId()) .version(correlationPoint.version()) @@ -204,7 +204,7 @@ private CorrelationResult publishMessage( CorrelationResult result; try { var command = - zeebeClient + camundaClient .newPublishMessageCommand() .messageName(messageName) .correlationKey(correlationKey) diff --git a/connector-runtime/connector-runtime-core/src/main/java/io/camunda/connector/runtime/core/outbound/ActivatedJobContext.java b/connector-runtime/connector-runtime-core/src/main/java/io/camunda/connector/runtime/core/outbound/ActivatedJobContext.java index 6afc09e7d5..fc5c95f892 100644 --- a/connector-runtime/connector-runtime-core/src/main/java/io/camunda/connector/runtime/core/outbound/ActivatedJobContext.java +++ b/connector-runtime/connector-runtime-core/src/main/java/io/camunda/connector/runtime/core/outbound/ActivatedJobContext.java @@ -16,8 +16,8 @@ */ package io.camunda.connector.runtime.core.outbound; +import io.camunda.client.api.response.ActivatedJob; import io.camunda.connector.api.outbound.JobContext; -import io.camunda.zeebe.client.api.response.ActivatedJob; import java.util.Map; import java.util.function.Supplier; diff --git a/connector-runtime/connector-runtime-core/src/main/java/io/camunda/connector/runtime/core/outbound/ConnectorJobHandler.java b/connector-runtime/connector-runtime-core/src/main/java/io/camunda/connector/runtime/core/outbound/ConnectorJobHandler.java index 60c94a3bd1..edcf7b3a33 100644 --- a/connector-runtime/connector-runtime-core/src/main/java/io/camunda/connector/runtime/core/outbound/ConnectorJobHandler.java +++ b/connector-runtime/connector-runtime-core/src/main/java/io/camunda/connector/runtime/core/outbound/ConnectorJobHandler.java @@ -18,6 +18,12 @@ package io.camunda.connector.runtime.core.outbound; import com.fasterxml.jackson.databind.ObjectMapper; +import io.camunda.client.api.command.FinalCommandStep; +import io.camunda.client.api.response.ActivatedJob; +import io.camunda.client.api.response.CompleteJobResponse; +import io.camunda.client.api.response.FailJobResponse; +import io.camunda.client.api.worker.JobClient; +import io.camunda.client.api.worker.JobHandler; import io.camunda.connector.api.error.ConnectorException; import io.camunda.connector.api.error.ConnectorRetryException; import io.camunda.connector.api.outbound.OutboundConnectorFunction; @@ -34,12 +40,6 @@ import io.camunda.connector.runtime.core.secret.SecretProviderAggregator; import io.camunda.connector.runtime.core.secret.SecretProviderDiscovery; import io.camunda.document.factory.DocumentFactory; -import io.camunda.zeebe.client.api.command.FinalCommandStep; -import io.camunda.zeebe.client.api.response.ActivatedJob; -import io.camunda.zeebe.client.api.response.CompleteJobResponse; -import io.camunda.zeebe.client.api.response.FailJobResponse; -import io.camunda.zeebe.client.api.worker.JobClient; -import io.camunda.zeebe.client.api.worker.JobHandler; import java.time.Duration; import java.time.format.DateTimeParseException; import java.util.HashMap; diff --git a/connector-runtime/connector-runtime-core/src/main/java/io/camunda/connector/runtime/core/outbound/JobHandlerContext.java b/connector-runtime/connector-runtime-core/src/main/java/io/camunda/connector/runtime/core/outbound/JobHandlerContext.java index b3349428db..9766dc55ab 100644 --- a/connector-runtime/connector-runtime-core/src/main/java/io/camunda/connector/runtime/core/outbound/JobHandlerContext.java +++ b/connector-runtime/connector-runtime-core/src/main/java/io/camunda/connector/runtime/core/outbound/JobHandlerContext.java @@ -21,6 +21,7 @@ import com.fasterxml.jackson.databind.JsonMappingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.exc.*; +import io.camunda.client.api.response.ActivatedJob; import io.camunda.connector.api.error.ConnectorException; import io.camunda.connector.api.outbound.JobContext; import io.camunda.connector.api.outbound.OutboundConnectorContext; @@ -32,7 +33,6 @@ import io.camunda.document.factory.DocumentFactoryImpl; import io.camunda.document.store.DocumentCreationRequest; import io.camunda.document.store.InMemoryDocumentStore; -import io.camunda.zeebe.client.api.response.ActivatedJob; import java.util.Objects; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/connector-runtime/connector-runtime-core/src/test/java/io/camunda/connector/runtime/core/inbound/correlation/InboundCorrelationHandlerTest.java b/connector-runtime/connector-runtime-core/src/test/java/io/camunda/connector/runtime/core/inbound/correlation/InboundCorrelationHandlerTest.java index 2f78930e66..8459dd8f3d 100644 --- a/connector-runtime/connector-runtime-core/src/test/java/io/camunda/connector/runtime/core/inbound/correlation/InboundCorrelationHandlerTest.java +++ b/connector-runtime/connector-runtime-core/src/test/java/io/camunda/connector/runtime/core/inbound/correlation/InboundCorrelationHandlerTest.java @@ -25,6 +25,8 @@ import static org.mockito.Mockito.when; import com.fasterxml.jackson.databind.ObjectMapper; +import io.camunda.client.CamundaClient; +import io.camunda.client.api.command.ClientStatusException; import io.camunda.connector.api.inbound.CorrelationFailureHandlingStrategy; import io.camunda.connector.api.inbound.CorrelationResult.Failure; import io.camunda.connector.api.inbound.CorrelationResult.Success; @@ -37,8 +39,6 @@ import io.camunda.connector.runtime.core.inbound.correlation.MessageCorrelationPoint.StandaloneMessageCorrelationPoint; import io.camunda.connector.runtime.core.testutil.command.CreateCommandDummy; import io.camunda.connector.runtime.core.testutil.command.PublishMessageCommandDummy; -import io.camunda.zeebe.client.ZeebeClient; -import io.camunda.zeebe.client.api.command.ClientStatusException; import io.grpc.Status; import java.time.Duration; import java.util.Collections; @@ -62,7 +62,7 @@ public class InboundCorrelationHandlerTest { private static final Duration DEFAULT_TTL = Duration.ofHours(2); - private ZeebeClient zeebeClient; + private CamundaClient camundaClient; private InboundCorrelationHandler handler; public static Stream durationsProvider() { @@ -71,10 +71,10 @@ public static Stream durationsProvider() { @BeforeEach public void initMock() { - zeebeClient = mock(ZeebeClient.class); + camundaClient = mock(CamundaClient.class); handler = new InboundCorrelationHandler( - zeebeClient, + camundaClient, new FeelEngineWrapper(), new DefaultProcessElementContextFactory( new NoOpSecretProvider(), (e) -> {}, new ObjectMapper()), @@ -97,14 +97,14 @@ void boundaryMessageEvent_shouldCallCorrectZeebeMethod(Duration duration) { when(element.element()).thenReturn(new ProcessElement("process1", 0, 0, "element", "default")); var dummyCommand = Mockito.spy(new PublishMessageCommandDummy()); - when(zeebeClient.newPublishMessageCommand()).thenReturn(dummyCommand); + when(camundaClient.newPublishMessageCommand()).thenReturn(dummyCommand); // when handler.correlate(List.of(element), Collections.emptyMap()); // then - verify(zeebeClient).newPublishMessageCommand(); - verifyNoMoreInteractions(zeebeClient); + verify(camundaClient).newPublishMessageCommand(); + verifyNoMoreInteractions(camundaClient); verify(dummyCommand).messageName("test-boundary"); verify(dummyCommand).correlationKey("test"); @@ -128,7 +128,7 @@ void upstreamZeebeError_shouldThrow(Duration duration) { when(element.correlationPoint()).thenReturn(point); when(element.element()).thenReturn(new ProcessElement("process1", 0, 0, "element", "default")); - when(zeebeClient.newPublishMessageCommand()) + when(camundaClient.newPublishMessageCommand()) .thenThrow(new ClientStatusException(Status.UNAVAILABLE, null)); // when & then @@ -151,7 +151,7 @@ void multipleElements_singleMatch() { when(messageElement.activationCondition()).thenReturn("=testKey=\"testValue2\""); var dummyCommand = Mockito.spy(new CreateCommandDummy()); - when(zeebeClient.newCreateInstanceCommand()).thenReturn(dummyCommand); + when(camundaClient.newCreateInstanceCommand()).thenReturn(dummyCommand); // when var result = @@ -159,8 +159,8 @@ void multipleElements_singleMatch() { List.of(startEventElement, messageElement), Map.of("testKey", "testValue1")); // then - verify(zeebeClient).newCreateInstanceCommand(); - verifyNoMoreInteractions(zeebeClient); + verify(camundaClient).newCreateInstanceCommand(); + verifyNoMoreInteractions(camundaClient); verify(dummyCommand).bpmnProcessId("process1"); verify(dummyCommand).version(0); @@ -203,14 +203,14 @@ void startEvent_shouldCallCorrectZeebeMethod() { .thenReturn(new ProcessElement("process1", 0, 0, "element", "default")); var dummyCommand = Mockito.spy(new CreateCommandDummy()); - when(zeebeClient.newCreateInstanceCommand()).thenReturn(dummyCommand); + when(camundaClient.newCreateInstanceCommand()).thenReturn(dummyCommand); // when var result = handler.correlate(List.of(element), Collections.emptyMap()); // then - verify(zeebeClient).newCreateInstanceCommand(); - verifyNoMoreInteractions(zeebeClient); + verify(camundaClient).newCreateInstanceCommand(); + verifyNoMoreInteractions(camundaClient); verify(dummyCommand).bpmnProcessId(point.bpmnProcessId()); verify(dummyCommand).version(point.version()); @@ -236,14 +236,14 @@ void message_shouldCallCorrectZeebeMethod(Duration duration) { Map variables = Map.of("correlationKey", correlationKeyValue); var dummyCommand = spy(new PublishMessageCommandDummy()); - when(zeebeClient.newPublishMessageCommand()).thenReturn(dummyCommand); + when(camundaClient.newPublishMessageCommand()).thenReturn(dummyCommand); // when var result = handler.correlate(List.of(element), variables); // then - verify(zeebeClient).newPublishMessageCommand(); - verifyNoMoreInteractions(zeebeClient); + verify(camundaClient).newPublishMessageCommand(); + verifyNoMoreInteractions(camundaClient); verify(dummyCommand).messageName(point.messageName()); verify(dummyCommand).correlationKey(correlationKeyValue); @@ -267,14 +267,14 @@ void startMessageEvent_shouldCallCorrectZeebeMethod(Duration duration) { .thenReturn(new ProcessElement("process1", 0, 0, "element", "default")); var dummyCommand = Mockito.spy(new PublishMessageCommandDummy()); - when(zeebeClient.newPublishMessageCommand()).thenReturn(dummyCommand); + when(camundaClient.newPublishMessageCommand()).thenReturn(dummyCommand); // when var result = handler.correlate(List.of(element), Collections.emptyMap()); // then - verify(zeebeClient).newPublishMessageCommand(); - verifyNoMoreInteractions(zeebeClient); + verify(camundaClient).newPublishMessageCommand(); + verifyNoMoreInteractions(camundaClient); verify(dummyCommand).messageName("test"); verify(dummyCommand).correlationKey(""); @@ -298,7 +298,7 @@ void startMessageEvent_idempotencyKeyEvaluated(Duration duration) { .thenReturn(new ProcessElement("process1", 0, 0, "element", "default")); var dummyCommand = Mockito.spy(new PublishMessageCommandDummy()); - when(zeebeClient.newPublishMessageCommand()).thenReturn(dummyCommand); + when(camundaClient.newPublishMessageCommand()).thenReturn(dummyCommand); // when var result = @@ -307,8 +307,8 @@ void startMessageEvent_idempotencyKeyEvaluated(Duration duration) { Map.of("myVar", "myValue", "myOtherMap", Map.of("myOtherKey", "myOtherValue"))); // then - verify(zeebeClient).newPublishMessageCommand(); - verifyNoMoreInteractions(zeebeClient); + verify(camundaClient).newPublishMessageCommand(); + verifyNoMoreInteractions(camundaClient); ArgumentCaptor captor = ArgumentCaptor.forClass(String.class); verify(dummyCommand).messageName("test"); @@ -338,7 +338,7 @@ void messageEvent_idempotencyCheckFailed(Duration duration) { .thenThrow( new ClientStatusException( Status.fromCode(Status.Code.ALREADY_EXISTS).withDescription("The desc"), null)); - when(zeebeClient.newPublishMessageCommand()).thenReturn(dummyCommand); + when(camundaClient.newPublishMessageCommand()).thenReturn(dummyCommand); // when var result = @@ -348,8 +348,8 @@ void messageEvent_idempotencyCheckFailed(Duration duration) { // then verify(dummyCommand).timeToLive(Optional.ofNullable(duration).orElse(DEFAULT_TTL)); - verify(zeebeClient).newPublishMessageCommand(); - verifyNoMoreInteractions(zeebeClient); + verify(camundaClient).newPublishMessageCommand(); + verifyNoMoreInteractions(camundaClient); assertThat(result).isInstanceOf(Success.MessageAlreadyCorrelated.class); var success = (Success.MessageAlreadyCorrelated) result; @@ -371,7 +371,7 @@ void activationConditionFalse_strategyForwardErrorToUpstream() { // when & then var result = assertDoesNotThrow(() -> handler.correlate(List.of(element), variables)); - verifyNoMoreInteractions(zeebeClient); + verifyNoMoreInteractions(camundaClient); assertThat(result).isInstanceOf(Failure.ActivationConditionNotMet.class); assertThat(((Failure.ActivationConditionNotMet) result).handlingStrategy()) .isInstanceOf(CorrelationFailureHandlingStrategy.ForwardErrorToUpstream.class); @@ -388,7 +388,7 @@ void activationConditionFalse_strategyIgnore() { // when & then var result = assertDoesNotThrow(() -> handler.correlate(List.of(element), variables)); - verifyNoMoreInteractions(zeebeClient); + verifyNoMoreInteractions(camundaClient); assertThat(result).isInstanceOf(Failure.ActivationConditionNotMet.class); assertThat(((Failure) result).handlingStrategy()) .isInstanceOf(CorrelationFailureHandlingStrategy.Ignore.class); @@ -398,7 +398,7 @@ void activationConditionFalse_strategyIgnore() { void activationConditionTrue_shouldCorrelate() { // given var dummyCommand = spy(new CreateCommandDummy()); - when(zeebeClient.newCreateInstanceCommand()).thenReturn(dummyCommand); + when(camundaClient.newCreateInstanceCommand()).thenReturn(dummyCommand); var point = new StartEventCorrelationPoint("process1", 0, 0); var element = mock(InboundConnectorElement.class); @@ -413,7 +413,7 @@ void activationConditionTrue_shouldCorrelate() { var result = handler.correlate(List.of(element), variables); // then - verify(zeebeClient).newCreateInstanceCommand(); + verify(camundaClient).newCreateInstanceCommand(); assertThat(result).isInstanceOf(Success.ProcessInstanceCreated.class); } @@ -421,7 +421,7 @@ void activationConditionTrue_shouldCorrelate() { void activationConditionNull_shouldCorrelate() { // given var dummyCommand = spy(new CreateCommandDummy()); - when(zeebeClient.newCreateInstanceCommand()).thenReturn(dummyCommand); + when(camundaClient.newCreateInstanceCommand()).thenReturn(dummyCommand); var point = new StartEventCorrelationPoint("process1", 0, 0); var element = mock(InboundConnectorElement.class); @@ -436,7 +436,7 @@ void activationConditionNull_shouldCorrelate() { var result = handler.correlate(List.of(element), variables); // then - verify(zeebeClient).newCreateInstanceCommand(); + verify(camundaClient).newCreateInstanceCommand(); assertThat(result).isInstanceOf(Success.ProcessInstanceCreated.class); } @@ -444,7 +444,7 @@ void activationConditionNull_shouldCorrelate() { void activationConditionBlank_shouldCorrelate() { // given var dummyCommand = spy(new CreateCommandDummy()); - when(zeebeClient.newCreateInstanceCommand()).thenReturn(dummyCommand); + when(camundaClient.newCreateInstanceCommand()).thenReturn(dummyCommand); var point = new StartEventCorrelationPoint("process1", 0, 0); var element = mock(InboundConnectorElement.class); @@ -459,7 +459,7 @@ void activationConditionBlank_shouldCorrelate() { var result = handler.correlate(List.of(element), variables); // then - verify(zeebeClient).newCreateInstanceCommand(); + verify(camundaClient).newCreateInstanceCommand(); assertThat(result).isInstanceOf(Success.ProcessInstanceCreated.class); } @@ -467,7 +467,7 @@ void activationConditionBlank_shouldCorrelate() { void messageStartEvent_activationConditionTrue_shouldCorrelate() { // given var dummyCommand = Mockito.spy(new PublishMessageCommandDummy()); - when(zeebeClient.newPublishMessageCommand()).thenReturn(dummyCommand); + when(camundaClient.newPublishMessageCommand()).thenReturn(dummyCommand); var point = new MessageStartEventCorrelationPoint("testMsg", "=myVar", null, "", "1", 1, 0); var element = mock(InboundConnectorElement.class); @@ -483,7 +483,7 @@ void messageStartEvent_activationConditionTrue_shouldCorrelate() { var result = handler.correlate(List.of(element), variables); // then - verify(zeebeClient).newPublishMessageCommand(); + verify(camundaClient).newPublishMessageCommand(); assertThat(result).isInstanceOf(Success.MessagePublished.class); } @@ -491,7 +491,7 @@ void messageStartEvent_activationConditionTrue_shouldCorrelate() { void messageStartEvent_activationConditionNull_shouldCorrelate() { // given var dummyCommand = Mockito.spy(new PublishMessageCommandDummy()); - when(zeebeClient.newPublishMessageCommand()).thenReturn(dummyCommand); + when(camundaClient.newPublishMessageCommand()).thenReturn(dummyCommand); var point = new MessageStartEventCorrelationPoint("testMsg", "=myVar", null, "", "1", 1, 0); var element = mock(InboundConnectorElement.class); @@ -507,7 +507,7 @@ void messageStartEvent_activationConditionNull_shouldCorrelate() { var result = handler.correlate(List.of(element), variables); // then - verify(zeebeClient).newPublishMessageCommand(); + verify(camundaClient).newPublishMessageCommand(); assertThat(result).isInstanceOf(Success.MessagePublished.class); } @@ -515,7 +515,7 @@ void messageStartEvent_activationConditionNull_shouldCorrelate() { void messageStartEvent_activationConditionBlank_shouldCorrelate() { // given var dummyCommand = Mockito.spy(new PublishMessageCommandDummy()); - when(zeebeClient.newPublishMessageCommand()).thenReturn(dummyCommand); + when(camundaClient.newPublishMessageCommand()).thenReturn(dummyCommand); var point = new MessageStartEventCorrelationPoint("testMsg", "=myVar", null, "", "1", 1, 0); var element = mock(InboundConnectorElement.class); @@ -531,7 +531,7 @@ void messageStartEvent_activationConditionBlank_shouldCorrelate() { var result = handler.correlate(List.of(element), variables); // then - verify(zeebeClient).newPublishMessageCommand(); + verify(camundaClient).newPublishMessageCommand(); assertThat(result).isInstanceOf(Success.MessagePublished.class); } } @@ -552,7 +552,7 @@ void noResultVar_noResultExpr_shouldNotCopyVariables() { Map variables = Map.of("testKey", "testValue"); var dummyCommand = spy(new CreateCommandDummy()); - when(zeebeClient.newCreateInstanceCommand()).thenReturn(dummyCommand); + when(camundaClient.newCreateInstanceCommand()).thenReturn(dummyCommand); // when handler.correlate(List.of(element), variables); @@ -577,7 +577,7 @@ void resultVarProvided_noResultExpr_shouldCopyAllVarsToResultVar() { Map variables = Map.of("testKey", "testValue"); var dummyCommand = spy(new CreateCommandDummy()); - when(zeebeClient.newCreateInstanceCommand()).thenReturn(dummyCommand); + when(camundaClient.newCreateInstanceCommand()).thenReturn(dummyCommand); // when handler.correlate(List.of(element), variables); @@ -603,7 +603,7 @@ void noResultVar_resultExprProvided_shouldExtractVariables() { Map variables = Map.of("testKey", "testValue", "otherKey", "otherValue"); var dummyCommand = spy(new CreateCommandDummy()); - when(zeebeClient.newCreateInstanceCommand()).thenReturn(dummyCommand); + when(camundaClient.newCreateInstanceCommand()).thenReturn(dummyCommand); // when handler.correlate(List.of(element), variables); @@ -630,7 +630,7 @@ void resultVarProvided_resultExprProvided_shouldExtractVarsAndCopyAllVarsToResul Map variables = Map.of("testKey", "testValue", "otherKey", "otherValue"); var dummyCommand = spy(new CreateCommandDummy()); - when(zeebeClient.newCreateInstanceCommand()).thenReturn(dummyCommand); + when(camundaClient.newCreateInstanceCommand()).thenReturn(dummyCommand); // when handler.correlate(List.of(element), variables); @@ -664,7 +664,7 @@ void messageIdIsNull_expressionIsNull_usesRandomUuid() { .thenReturn(new ProcessElement("process1", 0, 0, "element", "default")); var dummyCommand = spy(new PublishMessageCommandDummy()); - when(zeebeClient.newPublishMessageCommand()).thenReturn(dummyCommand); + when(camundaClient.newPublishMessageCommand()).thenReturn(dummyCommand); // when handler.correlate(List.of(element), Collections.singletonMap("correlationKey", "testkey")); // then @@ -687,7 +687,7 @@ void messageIdIsNull_expressionIsProvided_usesExtractedMessageId() { .thenReturn(new ProcessElement("process1", 0, 0, "element", "default")); var dummyCommand = spy(new PublishMessageCommandDummy()); - when(zeebeClient.newPublishMessageCommand()).thenReturn(dummyCommand); + when(camundaClient.newPublishMessageCommand()).thenReturn(dummyCommand); Map variables = Map.of("extractedId", "resolvedIdValue"); // when handler.correlate(List.of(element), variables); @@ -705,7 +705,7 @@ void messageIdIsProvided_usesGivenMessageId() { .thenReturn(new ProcessElement("process1", 0, 0, "element", "default")); var dummyCommand = spy(new PublishMessageCommandDummy()); - when(zeebeClient.newPublishMessageCommand()).thenReturn(dummyCommand); + when(camundaClient.newPublishMessageCommand()).thenReturn(dummyCommand); // when handler.correlate(List.of(element), Collections.emptyMap(), "providedIdValue"); // then diff --git a/connector-runtime/connector-runtime-core/src/test/java/io/camunda/connector/runtime/core/outbound/ConnectorJobHandlerTest.java b/connector-runtime/connector-runtime-core/src/test/java/io/camunda/connector/runtime/core/outbound/ConnectorJobHandlerTest.java index 4a39343198..c7677fc04c 100644 --- a/connector-runtime/connector-runtime-core/src/test/java/io/camunda/connector/runtime/core/outbound/ConnectorJobHandlerTest.java +++ b/connector-runtime/connector-runtime-core/src/test/java/io/camunda/connector/runtime/core/outbound/ConnectorJobHandlerTest.java @@ -33,15 +33,14 @@ import static org.mockito.Mockito.when; import com.fasterxml.jackson.core.JsonProcessingException; +import io.camunda.client.api.command.FailJobCommandStep1; +import io.camunda.client.api.worker.JobClient; import io.camunda.connector.api.error.ConnectorException; import io.camunda.connector.api.error.ConnectorExceptionBuilder; import io.camunda.connector.api.error.ConnectorRetryExceptionBuilder; import io.camunda.connector.api.outbound.OutboundConnectorFunction; import io.camunda.connector.runtime.core.ConnectorHelper; import io.camunda.connector.runtime.core.Keywords; -import io.camunda.zeebe.client.api.command.FailJobCommandStep1; -import io.camunda.zeebe.client.api.command.FailJobCommandStep1.FailJobCommandStep2; -import io.camunda.zeebe.client.api.worker.JobClient; import java.time.Duration; import java.util.HashMap; import java.util.Map; @@ -513,13 +512,13 @@ void shouldTruncateBpmnErrorMessage() { class RetryBackoffTests { private FailJobCommandStep1 firstStepMock; - private FailJobCommandStep2 secondStepMock; + private FailJobCommandStep1.FailJobCommandStep2 secondStepMock; private JobClient jobClient; @BeforeEach void init() { firstStepMock = mock(FailJobCommandStep1.class); - secondStepMock = mock(FailJobCommandStep2.class, RETURNS_DEEP_STUBS); + secondStepMock = mock(FailJobCommandStep1.FailJobCommandStep2.class, RETURNS_DEEP_STUBS); jobClient = mock(JobClient.class); when(firstStepMock.retries(anyInt())).thenReturn(secondStepMock); when(secondStepMock.retryBackoff(any())).thenReturn(secondStepMock); diff --git a/connector-runtime/connector-runtime-core/src/test/java/io/camunda/connector/runtime/core/outbound/JobBuilder.java b/connector-runtime/connector-runtime-core/src/test/java/io/camunda/connector/runtime/core/outbound/JobBuilder.java index c5b9d26126..f07101a677 100644 --- a/connector-runtime/connector-runtime-core/src/test/java/io/camunda/connector/runtime/core/outbound/JobBuilder.java +++ b/connector-runtime/connector-runtime-core/src/test/java/io/camunda/connector/runtime/core/outbound/JobBuilder.java @@ -22,12 +22,12 @@ import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; +import io.camunda.client.api.command.CompleteJobCommandStep1; +import io.camunda.client.api.command.FailJobCommandStep1; +import io.camunda.client.api.command.ThrowErrorCommandStep1; +import io.camunda.client.api.response.ActivatedJob; +import io.camunda.client.api.worker.JobClient; import io.camunda.connector.runtime.core.Keywords; -import io.camunda.zeebe.client.api.command.CompleteJobCommandStep1; -import io.camunda.zeebe.client.api.command.FailJobCommandStep1; -import io.camunda.zeebe.client.api.command.ThrowErrorCommandStep1; -import io.camunda.zeebe.client.api.response.ActivatedJob; -import io.camunda.zeebe.client.api.worker.JobClient; import java.util.HashMap; import java.util.Map; import org.mockito.ArgumentCaptor; diff --git a/connector-runtime/connector-runtime-core/src/test/java/io/camunda/connector/runtime/core/outbound/JobHandlerContextTest.java b/connector-runtime/connector-runtime-core/src/test/java/io/camunda/connector/runtime/core/outbound/JobHandlerContextTest.java index beaf62dcaa..f26c1e057c 100644 --- a/connector-runtime/connector-runtime-core/src/test/java/io/camunda/connector/runtime/core/outbound/JobHandlerContextTest.java +++ b/connector-runtime/connector-runtime-core/src/test/java/io/camunda/connector/runtime/core/outbound/JobHandlerContextTest.java @@ -22,11 +22,11 @@ import static org.mockito.Mockito.when; import com.fasterxml.jackson.databind.ObjectMapper; +import io.camunda.client.api.response.ActivatedJob; import io.camunda.connector.api.error.ConnectorException; import io.camunda.connector.api.secret.SecretProvider; import io.camunda.connector.api.validation.ValidationProvider; import io.camunda.connector.runtime.core.testutil.classexample.TestClass; -import io.camunda.zeebe.client.api.response.ActivatedJob; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.InjectMocks; diff --git a/connector-runtime/connector-runtime-core/src/test/java/io/camunda/connector/runtime/core/testutil/command/CreateCommandDummy.java b/connector-runtime/connector-runtime-core/src/test/java/io/camunda/connector/runtime/core/testutil/command/CreateCommandDummy.java index 96fbe24080..18e4b1b40f 100644 --- a/connector-runtime/connector-runtime-core/src/test/java/io/camunda/connector/runtime/core/testutil/command/CreateCommandDummy.java +++ b/connector-runtime/connector-runtime-core/src/test/java/io/camunda/connector/runtime/core/testutil/command/CreateCommandDummy.java @@ -16,12 +16,12 @@ */ package io.camunda.connector.runtime.core.testutil.command; +import io.camunda.client.api.CamundaFuture; +import io.camunda.client.api.command.CreateProcessInstanceCommandStep1; +import io.camunda.client.api.command.FinalCommandStep; +import io.camunda.client.api.response.ProcessInstanceEvent; +import io.camunda.client.impl.CamundaClientFutureImpl; import io.camunda.connector.runtime.core.testutil.response.ProcessInstanceEventDummy; -import io.camunda.zeebe.client.api.ZeebeFuture; -import io.camunda.zeebe.client.api.command.CreateProcessInstanceCommandStep1; -import io.camunda.zeebe.client.api.command.FinalCommandStep; -import io.camunda.zeebe.client.api.response.ProcessInstanceEvent; -import io.camunda.zeebe.client.impl.ZeebeClientFutureImpl; import java.io.InputStream; import java.time.Duration; import java.util.Map; @@ -86,8 +86,8 @@ public CreateProcessInstanceCommandStep3 tenantId(String tenantId) { } @SuppressWarnings({"rawtypes", "unchecked"}) - public ZeebeFuture send() { - ZeebeClientFutureImpl future = new ZeebeClientFutureImpl<>(); + public CamundaFuture send() { + CamundaClientFutureImpl future = new CamundaClientFutureImpl<>(); future.complete(new ProcessInstanceEventDummy()); return future; } diff --git a/connector-runtime/connector-runtime-core/src/test/java/io/camunda/connector/runtime/core/testutil/command/PublishMessageCommandDummy.java b/connector-runtime/connector-runtime-core/src/test/java/io/camunda/connector/runtime/core/testutil/command/PublishMessageCommandDummy.java index 479041552f..d5f10c6311 100644 --- a/connector-runtime/connector-runtime-core/src/test/java/io/camunda/connector/runtime/core/testutil/command/PublishMessageCommandDummy.java +++ b/connector-runtime/connector-runtime-core/src/test/java/io/camunda/connector/runtime/core/testutil/command/PublishMessageCommandDummy.java @@ -16,20 +16,20 @@ */ package io.camunda.connector.runtime.core.testutil.command; +import io.camunda.client.api.CamundaFuture; +import io.camunda.client.api.command.FinalCommandStep; +import io.camunda.client.api.command.PublishMessageCommandStep1; +import io.camunda.client.api.response.PublishMessageResponse; +import io.camunda.client.impl.CamundaClientFutureImpl; import io.camunda.connector.runtime.core.testutil.response.PublishMessageResponseDummy; -import io.camunda.zeebe.client.api.ZeebeFuture; -import io.camunda.zeebe.client.api.command.FinalCommandStep; -import io.camunda.zeebe.client.api.command.PublishMessageCommandStep1; -import io.camunda.zeebe.client.api.command.PublishMessageCommandStep1.PublishMessageCommandStep2; -import io.camunda.zeebe.client.api.command.PublishMessageCommandStep1.PublishMessageCommandStep3; -import io.camunda.zeebe.client.api.response.PublishMessageResponse; -import io.camunda.zeebe.client.impl.ZeebeClientFutureImpl; import java.io.InputStream; import java.time.Duration; import java.util.Map; public class PublishMessageCommandDummy - implements PublishMessageCommandStep1, PublishMessageCommandStep2, PublishMessageCommandStep3 { + implements PublishMessageCommandStep1, + PublishMessageCommandStep1.PublishMessageCommandStep2, + PublishMessageCommandStep1.PublishMessageCommandStep3 { @Override public PublishMessageCommandStep2 messageName(String messageName) { @@ -93,8 +93,8 @@ public FinalCommandStep requestTimeout(Duration requestT @SuppressWarnings({"rawtypes", "unchecked"}) @Override - public ZeebeFuture send() { - ZeebeClientFutureImpl future = new ZeebeClientFutureImpl<>(); + public CamundaFuture send() { + CamundaClientFutureImpl future = new CamundaClientFutureImpl(); future.complete(new PublishMessageResponseDummy()); return future; } diff --git a/connector-runtime/connector-runtime-core/src/test/java/io/camunda/connector/runtime/core/testutil/response/ProcessInstanceEventDummy.java b/connector-runtime/connector-runtime-core/src/test/java/io/camunda/connector/runtime/core/testutil/response/ProcessInstanceEventDummy.java index 94f0c03462..b4fd6471b0 100644 --- a/connector-runtime/connector-runtime-core/src/test/java/io/camunda/connector/runtime/core/testutil/response/ProcessInstanceEventDummy.java +++ b/connector-runtime/connector-runtime-core/src/test/java/io/camunda/connector/runtime/core/testutil/response/ProcessInstanceEventDummy.java @@ -16,7 +16,7 @@ */ package io.camunda.connector.runtime.core.testutil.response; -import io.camunda.zeebe.client.api.response.ProcessInstanceEvent; +import io.camunda.client.api.response.ProcessInstanceEvent; public class ProcessInstanceEventDummy implements ProcessInstanceEvent { public long getProcessDefinitionKey() { diff --git a/connector-runtime/connector-runtime-core/src/test/java/io/camunda/connector/runtime/core/testutil/response/PublishMessageResponseDummy.java b/connector-runtime/connector-runtime-core/src/test/java/io/camunda/connector/runtime/core/testutil/response/PublishMessageResponseDummy.java index 168c12d4f4..8fe9aa42ac 100644 --- a/connector-runtime/connector-runtime-core/src/test/java/io/camunda/connector/runtime/core/testutil/response/PublishMessageResponseDummy.java +++ b/connector-runtime/connector-runtime-core/src/test/java/io/camunda/connector/runtime/core/testutil/response/PublishMessageResponseDummy.java @@ -16,7 +16,7 @@ */ package io.camunda.connector.runtime.core.testutil.response; -import io.camunda.zeebe.client.api.response.PublishMessageResponse; +import io.camunda.client.api.response.PublishMessageResponse; public class PublishMessageResponseDummy implements PublishMessageResponse { @Override diff --git a/connector-runtime/connector-runtime-spring/pom.xml b/connector-runtime/connector-runtime-spring/pom.xml index f218584bb0..9b5e835163 100644 --- a/connector-runtime/connector-runtime-spring/pom.xml +++ b/connector-runtime/connector-runtime-spring/pom.xml @@ -47,6 +47,7 @@ io.camunda spring-boot-starter-camunda-sdk + io.camunda zeebe-bpmn-model diff --git a/connector-runtime/connector-runtime-spring/src/main/java/io/camunda/connector/runtime/inbound/InboundConnectorRuntimeConfiguration.java b/connector-runtime/connector-runtime-spring/src/main/java/io/camunda/connector/runtime/inbound/InboundConnectorRuntimeConfiguration.java index a437438d54..f1ef380097 100644 --- a/connector-runtime/connector-runtime-spring/src/main/java/io/camunda/connector/runtime/inbound/InboundConnectorRuntimeConfiguration.java +++ b/connector-runtime/connector-runtime-spring/src/main/java/io/camunda/connector/runtime/inbound/InboundConnectorRuntimeConfiguration.java @@ -17,6 +17,7 @@ package io.camunda.connector.runtime.inbound; import com.fasterxml.jackson.databind.ObjectMapper; +import io.camunda.client.CamundaClient; import io.camunda.connector.api.validation.ValidationProvider; import io.camunda.connector.feel.FeelEngineWrapper; import io.camunda.connector.runtime.core.inbound.DefaultInboundConnectorContextFactory; @@ -41,7 +42,6 @@ import io.camunda.connector.runtime.inbound.state.TenantAwareProcessStateStoreImpl; import io.camunda.connector.runtime.inbound.webhook.WebhookConnectorRegistry; import io.camunda.document.factory.DocumentFactory; -import io.camunda.zeebe.client.ZeebeClient; import io.camunda.zeebe.spring.client.metrics.MetricsRecorder; import java.time.Duration; import org.springframework.beans.factory.annotation.Autowired; @@ -76,12 +76,12 @@ public ProcessElementContextFactory processElementContextFactory( @Bean public InboundCorrelationHandler inboundCorrelationHandler( - final ZeebeClient zeebeClient, + final CamundaClient camundaClient, final FeelEngineWrapper feelEngine, final MetricsRecorder metricsRecorder, final ProcessElementContextFactory elementContextFactory) { return new MeteredInboundCorrelationHandler( - zeebeClient, feelEngine, metricsRecorder, elementContextFactory, messageTtl); + camundaClient, feelEngine, metricsRecorder, elementContextFactory, messageTtl); } @Bean @@ -124,8 +124,8 @@ public InboundExecutableRegistry inboundExecutableRegistry( } @Bean - SearchQueryClient searchQueryClient(ZeebeClient zeebeClient) { - return new SearchQueryClientImpl(zeebeClient); + SearchQueryClient searchQueryClient(CamundaClient camundaClient) { + return new SearchQueryClientImpl(camundaClient); } @Bean diff --git a/connector-runtime/connector-runtime-spring/src/main/java/io/camunda/connector/runtime/inbound/MeteredInboundCorrelationHandler.java b/connector-runtime/connector-runtime-spring/src/main/java/io/camunda/connector/runtime/inbound/MeteredInboundCorrelationHandler.java index f344a5cf66..24815caff8 100644 --- a/connector-runtime/connector-runtime-spring/src/main/java/io/camunda/connector/runtime/inbound/MeteredInboundCorrelationHandler.java +++ b/connector-runtime/connector-runtime-spring/src/main/java/io/camunda/connector/runtime/inbound/MeteredInboundCorrelationHandler.java @@ -16,13 +16,13 @@ */ package io.camunda.connector.runtime.inbound; +import io.camunda.client.CamundaClient; import io.camunda.connector.api.inbound.CorrelationResult; import io.camunda.connector.feel.FeelEngineWrapper; import io.camunda.connector.runtime.core.inbound.InboundConnectorElement; import io.camunda.connector.runtime.core.inbound.ProcessElementContextFactory; import io.camunda.connector.runtime.core.inbound.correlation.InboundCorrelationHandler; import io.camunda.connector.runtime.metrics.ConnectorMetrics.Inbound; -import io.camunda.zeebe.client.ZeebeClient; import io.camunda.zeebe.spring.client.metrics.MetricsRecorder; import java.time.Duration; import java.util.List; @@ -32,12 +32,12 @@ public class MeteredInboundCorrelationHandler extends InboundCorrelationHandler private final MetricsRecorder metricsRecorder; public MeteredInboundCorrelationHandler( - ZeebeClient zeebeClient, + CamundaClient camundaClient, FeelEngineWrapper feelEngine, MetricsRecorder metricsRecorder, ProcessElementContextFactory contextFactory, Duration messageTtl) { - super(zeebeClient, feelEngine, contextFactory, messageTtl); + super(camundaClient, feelEngine, contextFactory, messageTtl); this.metricsRecorder = metricsRecorder; } diff --git a/connector-runtime/connector-runtime-spring/src/main/java/io/camunda/connector/runtime/inbound/importer/ProcessDefinitionImporter.java b/connector-runtime/connector-runtime-spring/src/main/java/io/camunda/connector/runtime/inbound/importer/ProcessDefinitionImporter.java index fc42058a04..4804ea14c5 100644 --- a/connector-runtime/connector-runtime-spring/src/main/java/io/camunda/connector/runtime/inbound/importer/ProcessDefinitionImporter.java +++ b/connector-runtime/connector-runtime-spring/src/main/java/io/camunda/connector/runtime/inbound/importer/ProcessDefinitionImporter.java @@ -16,12 +16,12 @@ */ package io.camunda.connector.runtime.inbound.importer; +import io.camunda.client.api.search.response.ProcessDefinition; import io.camunda.connector.runtime.inbound.state.ProcessImportResult; import io.camunda.connector.runtime.inbound.state.ProcessImportResult.ProcessDefinitionIdentifier; import io.camunda.connector.runtime.inbound.state.ProcessImportResult.ProcessDefinitionVersion; import io.camunda.connector.runtime.inbound.state.ProcessStateStore; import io.camunda.connector.runtime.metrics.ConnectorMetrics.Inbound; -import io.camunda.zeebe.client.api.search.response.ProcessDefinition; import io.camunda.zeebe.spring.client.metrics.MetricsRecorder; import java.util.*; import java.util.stream.Collectors; diff --git a/connector-runtime/connector-runtime-spring/src/main/java/io/camunda/connector/runtime/inbound/importer/ProcessDefinitionSearch.java b/connector-runtime/connector-runtime-spring/src/main/java/io/camunda/connector/runtime/inbound/importer/ProcessDefinitionSearch.java index d80beb5fe6..10dc84da51 100644 --- a/connector-runtime/connector-runtime-spring/src/main/java/io/camunda/connector/runtime/inbound/importer/ProcessDefinitionSearch.java +++ b/connector-runtime/connector-runtime-spring/src/main/java/io/camunda/connector/runtime/inbound/importer/ProcessDefinitionSearch.java @@ -16,9 +16,9 @@ */ package io.camunda.connector.runtime.inbound.importer; +import io.camunda.client.api.search.response.ProcessDefinition; +import io.camunda.client.api.search.response.SearchQueryResponse; import io.camunda.connector.runtime.inbound.search.SearchQueryClient; -import io.camunda.zeebe.client.api.search.response.ProcessDefinition; -import io.camunda.zeebe.client.api.search.response.SearchQueryResponse; import java.util.ArrayList; import java.util.HashSet; import java.util.List; diff --git a/connector-runtime/connector-runtime-spring/src/main/java/io/camunda/connector/runtime/inbound/search/ProcessInstanceClientImpl.java b/connector-runtime/connector-runtime-spring/src/main/java/io/camunda/connector/runtime/inbound/search/ProcessInstanceClientImpl.java index 0de405f431..f9faf8fb52 100644 --- a/connector-runtime/connector-runtime-spring/src/main/java/io/camunda/connector/runtime/inbound/search/ProcessInstanceClientImpl.java +++ b/connector-runtime/connector-runtime-spring/src/main/java/io/camunda/connector/runtime/inbound/search/ProcessInstanceClientImpl.java @@ -18,10 +18,10 @@ import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; +import io.camunda.client.api.search.response.FlowNodeInstance; +import io.camunda.client.api.search.response.SearchQueryResponse; +import io.camunda.client.api.search.response.Variable; import io.camunda.connector.runtime.core.inbound.ProcessInstanceClient; -import io.camunda.zeebe.client.api.search.response.FlowNodeInstance; -import io.camunda.zeebe.client.api.search.response.SearchQueryResponse; -import io.camunda.zeebe.client.api.search.response.Variable; import java.util.ArrayList; import java.util.HashMap; import java.util.List; diff --git a/connector-runtime/connector-runtime-spring/src/main/java/io/camunda/connector/runtime/inbound/search/SearchQueryClient.java b/connector-runtime/connector-runtime-spring/src/main/java/io/camunda/connector/runtime/inbound/search/SearchQueryClient.java index 4a89a864bb..c58401adb8 100644 --- a/connector-runtime/connector-runtime-spring/src/main/java/io/camunda/connector/runtime/inbound/search/SearchQueryClient.java +++ b/connector-runtime/connector-runtime-spring/src/main/java/io/camunda/connector/runtime/inbound/search/SearchQueryClient.java @@ -16,10 +16,10 @@ */ package io.camunda.connector.runtime.inbound.search; -import io.camunda.zeebe.client.api.search.response.FlowNodeInstance; -import io.camunda.zeebe.client.api.search.response.ProcessDefinition; -import io.camunda.zeebe.client.api.search.response.SearchQueryResponse; -import io.camunda.zeebe.client.api.search.response.Variable; +import io.camunda.client.api.search.response.FlowNodeInstance; +import io.camunda.client.api.search.response.ProcessDefinition; +import io.camunda.client.api.search.response.SearchQueryResponse; +import io.camunda.client.api.search.response.Variable; import io.camunda.zeebe.model.bpmn.BpmnModelInstance; import java.util.List; diff --git a/connector-runtime/connector-runtime-spring/src/main/java/io/camunda/connector/runtime/inbound/search/SearchQueryClientImpl.java b/connector-runtime/connector-runtime-spring/src/main/java/io/camunda/connector/runtime/inbound/search/SearchQueryClientImpl.java index 402b75e467..e3ad1fc83f 100644 --- a/connector-runtime/connector-runtime-spring/src/main/java/io/camunda/connector/runtime/inbound/search/SearchQueryClientImpl.java +++ b/connector-runtime/connector-runtime-spring/src/main/java/io/camunda/connector/runtime/inbound/search/SearchQueryClientImpl.java @@ -16,11 +16,8 @@ */ package io.camunda.connector.runtime.inbound.search; -import io.camunda.zeebe.client.ZeebeClient; -import io.camunda.zeebe.client.api.search.response.FlowNodeInstance; -import io.camunda.zeebe.client.api.search.response.ProcessDefinition; -import io.camunda.zeebe.client.api.search.response.SearchQueryResponse; -import io.camunda.zeebe.client.api.search.response.Variable; +import io.camunda.client.CamundaClient; +import io.camunda.client.api.search.response.*; import io.camunda.zeebe.model.bpmn.Bpmn; import io.camunda.zeebe.model.bpmn.BpmnModelInstance; import java.io.ByteArrayInputStream; @@ -30,17 +27,17 @@ public class SearchQueryClientImpl implements SearchQueryClient { private static final int PAGE_SIZE = 50; - private final ZeebeClient zeebeClient; + private final CamundaClient camundaClient; - public SearchQueryClientImpl(ZeebeClient zeebeClient) { - this.zeebeClient = zeebeClient; + public SearchQueryClientImpl(CamundaClient camundaClient) { + this.camundaClient = camundaClient; } @Override public SearchQueryResponse queryProcessDefinitions( List paginationIndex) { final var query = - zeebeClient.newProcessDefinitionQuery().sort(s -> s.processDefinitionKey().desc()); + camundaClient.newProcessDefinitionQuery().sort(s -> s.processDefinitionKey().desc()); if (paginationIndex != null) { query.page(p -> p.limit(PAGE_SIZE).searchAfter(paginationIndex)); } else { @@ -53,13 +50,13 @@ public SearchQueryResponse queryProcessDefinitions( public SearchQueryResponse queryActiveFlowNodes( long processDefinitionKey, String elementId, List paginationIndex) { final var query = - zeebeClient + camundaClient .newFlownodeInstanceQuery() .filter( i -> i.processDefinitionKey(processDefinitionKey) .flowNodeId(elementId) - .state("ACTIVE")); + .state(FlowNodeInstanceState.ACTIVE)); if (paginationIndex != null) { query.page(p -> p.limit(PAGE_SIZE).searchAfter(paginationIndex)); } else { @@ -72,7 +69,7 @@ public SearchQueryResponse queryActiveFlowNodes( public SearchQueryResponse queryVariables( long processInstanceKey, List variablePaginationIndex) { final var query = - zeebeClient + camundaClient .newVariableQuery() .filter(v -> v.processInstanceKey(processInstanceKey).scopeKey(processInstanceKey)); if (variablePaginationIndex != null) { @@ -86,7 +83,7 @@ public SearchQueryResponse queryVariables( @Override public BpmnModelInstance getProcessModel(long processDefinitionKey) { final String xml = - zeebeClient.newProcessDefinitionGetXmlRequest(processDefinitionKey).send().join(); + camundaClient.newProcessDefinitionGetXmlRequest(processDefinitionKey).send().join(); return Bpmn.readModelFromStream(new ByteArrayInputStream(xml.getBytes())); } } diff --git a/connector-runtime/connector-runtime-spring/src/main/java/io/camunda/connector/runtime/outbound/OutboundConnectorRuntimeConfiguration.java b/connector-runtime/connector-runtime-spring/src/main/java/io/camunda/connector/runtime/outbound/OutboundConnectorRuntimeConfiguration.java index 5a58a30c8f..321d62b6d7 100644 --- a/connector-runtime/connector-runtime-spring/src/main/java/io/camunda/connector/runtime/outbound/OutboundConnectorRuntimeConfiguration.java +++ b/connector-runtime/connector-runtime-spring/src/main/java/io/camunda/connector/runtime/outbound/OutboundConnectorRuntimeConfiguration.java @@ -17,6 +17,7 @@ package io.camunda.connector.runtime.outbound; import com.fasterxml.jackson.databind.ObjectMapper; +import io.camunda.client.CamundaClient; import io.camunda.connector.api.validation.ValidationProvider; import io.camunda.connector.runtime.core.outbound.DefaultOutboundConnectorFactory; import io.camunda.connector.runtime.core.outbound.OutboundConnectorDiscovery; @@ -28,7 +29,6 @@ import io.camunda.document.factory.DocumentFactoryImpl; import io.camunda.document.store.CamundaDocumentStore; import io.camunda.document.store.CamundaDocumentStoreImpl; -import io.camunda.zeebe.client.ZeebeClient; import io.camunda.zeebe.spring.client.jobhandling.CommandExceptionHandlingStrategy; import io.camunda.zeebe.spring.client.jobhandling.JobWorkerManager; import io.camunda.zeebe.spring.client.metrics.MetricsRecorder; @@ -46,8 +46,8 @@ public OutboundConnectorFactory outboundConnectorFactory() { } @Bean - public CamundaDocumentStore documentStore(ZeebeClient zeebeClient) { - return new CamundaDocumentStoreImpl(zeebeClient); + public CamundaDocumentStore documentStore(CamundaClient camundaClient) { + return new CamundaDocumentStoreImpl(camundaClient); } @Bean diff --git a/connector-runtime/connector-runtime-spring/src/main/java/io/camunda/connector/runtime/outbound/jobhandling/SpringConnectorJobHandler.java b/connector-runtime/connector-runtime-spring/src/main/java/io/camunda/connector/runtime/outbound/jobhandling/SpringConnectorJobHandler.java index e931c79535..5a54c39db9 100644 --- a/connector-runtime/connector-runtime-spring/src/main/java/io/camunda/connector/runtime/outbound/jobhandling/SpringConnectorJobHandler.java +++ b/connector-runtime/connector-runtime-spring/src/main/java/io/camunda/connector/runtime/outbound/jobhandling/SpringConnectorJobHandler.java @@ -17,6 +17,9 @@ package io.camunda.connector.runtime.outbound.jobhandling; import com.fasterxml.jackson.databind.ObjectMapper; +import io.camunda.client.api.command.FinalCommandStep; +import io.camunda.client.api.response.ActivatedJob; +import io.camunda.client.api.worker.JobClient; import io.camunda.connector.api.outbound.OutboundConnectorFunction; import io.camunda.connector.api.validation.ValidationProvider; import io.camunda.connector.runtime.core.config.OutboundConnectorConfiguration; @@ -27,9 +30,6 @@ import io.camunda.connector.runtime.metrics.ConnectorMetrics; import io.camunda.connector.runtime.metrics.ConnectorMetrics.Outbound; import io.camunda.document.factory.DocumentFactory; -import io.camunda.zeebe.client.api.command.FinalCommandStep; -import io.camunda.zeebe.client.api.response.ActivatedJob; -import io.camunda.zeebe.client.api.worker.JobClient; import io.camunda.zeebe.spring.client.jobhandling.CommandExceptionHandlingStrategy; import io.camunda.zeebe.spring.client.jobhandling.CommandWrapper; import io.camunda.zeebe.spring.client.metrics.MetricsRecorder; diff --git a/connector-runtime/connector-runtime-spring/src/main/java/io/camunda/connector/runtime/outbound/lifecycle/OutboundConnectorAnnotationProcessor.java b/connector-runtime/connector-runtime-spring/src/main/java/io/camunda/connector/runtime/outbound/lifecycle/OutboundConnectorAnnotationProcessor.java index d71063821c..9eec9f9b4a 100644 --- a/connector-runtime/connector-runtime-spring/src/main/java/io/camunda/connector/runtime/outbound/lifecycle/OutboundConnectorAnnotationProcessor.java +++ b/connector-runtime/connector-runtime-spring/src/main/java/io/camunda/connector/runtime/outbound/lifecycle/OutboundConnectorAnnotationProcessor.java @@ -16,11 +16,11 @@ */ package io.camunda.connector.runtime.outbound.lifecycle; +import io.camunda.client.CamundaClient; import io.camunda.connector.api.annotation.OutboundConnector; import io.camunda.connector.api.outbound.OutboundConnectorFunction; import io.camunda.connector.runtime.core.config.OutboundConnectorConfiguration; import io.camunda.connector.runtime.core.outbound.OutboundConnectorFactory; -import io.camunda.zeebe.client.ZeebeClient; import io.camunda.zeebe.spring.client.annotation.processor.AbstractZeebeAnnotationProcessor; import io.camunda.zeebe.spring.client.bean.BeanInfo; import io.camunda.zeebe.spring.client.bean.ClassInfo; @@ -73,12 +73,12 @@ private OutboundConnectorConfiguration registerOutboundConnector( } @Override - public void start(final ZeebeClient client) { + public void start(final CamundaClient client) { outboundConnectorManager.start(client); } @Override - public void stop(ZeebeClient client) { + public void stop(CamundaClient client) { outboundConnectorManager.stop(); } } diff --git a/connector-runtime/connector-runtime-spring/src/main/java/io/camunda/connector/runtime/outbound/lifecycle/OutboundConnectorManager.java b/connector-runtime/connector-runtime-spring/src/main/java/io/camunda/connector/runtime/outbound/lifecycle/OutboundConnectorManager.java index 202250caf7..09f2d699f4 100644 --- a/connector-runtime/connector-runtime-spring/src/main/java/io/camunda/connector/runtime/outbound/lifecycle/OutboundConnectorManager.java +++ b/connector-runtime/connector-runtime-spring/src/main/java/io/camunda/connector/runtime/outbound/lifecycle/OutboundConnectorManager.java @@ -17,6 +17,8 @@ package io.camunda.connector.runtime.outbound.lifecycle; import com.fasterxml.jackson.databind.ObjectMapper; +import io.camunda.client.CamundaClient; +import io.camunda.client.api.worker.JobHandler; import io.camunda.connector.api.outbound.OutboundConnectorFunction; import io.camunda.connector.api.validation.ValidationProvider; import io.camunda.connector.runtime.core.config.OutboundConnectorConfiguration; @@ -24,8 +26,6 @@ import io.camunda.connector.runtime.core.secret.SecretProviderAggregator; import io.camunda.connector.runtime.outbound.jobhandling.SpringConnectorJobHandler; import io.camunda.document.factory.DocumentFactory; -import io.camunda.zeebe.client.ZeebeClient; -import io.camunda.zeebe.client.api.worker.JobHandler; import io.camunda.zeebe.spring.client.annotation.value.ZeebeWorkerValue; import io.camunda.zeebe.spring.client.jobhandling.CommandExceptionHandlingStrategy; import io.camunda.zeebe.spring.client.jobhandling.JobWorkerManager; @@ -68,7 +68,7 @@ public OutboundConnectorManager( this.metricsRecorder = metricsRecorder; } - public void start(final ZeebeClient client) { + public void start(final CamundaClient client) { // Currently, existing Spring beans have a higher priority // One result is that you will not disable Spring Bean Connectors by providing environment // variables for a specific connector @@ -84,7 +84,7 @@ public void stop() { } private void openWorkerForOutboundConnector( - ZeebeClient client, OutboundConnectorConfiguration connector) { + CamundaClient client, OutboundConnectorConfiguration connector) { ZeebeWorkerValue zeebeWorkerValue = new ZeebeWorkerValue(); zeebeWorkerValue.setName(connector.name()); zeebeWorkerValue.setType(connector.type()); diff --git a/connector-runtime/connector-runtime-spring/src/test/java/io/camunda/connector/runtime/inbound/importer/ProcessDefinitionImporterTest.java b/connector-runtime/connector-runtime-spring/src/test/java/io/camunda/connector/runtime/inbound/importer/ProcessDefinitionImporterTest.java index 1f28426e4a..ac657e6836 100644 --- a/connector-runtime/connector-runtime-spring/src/test/java/io/camunda/connector/runtime/inbound/importer/ProcessDefinitionImporterTest.java +++ b/connector-runtime/connector-runtime-spring/src/test/java/io/camunda/connector/runtime/inbound/importer/ProcessDefinitionImporterTest.java @@ -22,11 +22,11 @@ import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; +import io.camunda.client.api.search.response.ProcessDefinition; +import io.camunda.client.impl.search.response.ProcessDefinitionImpl; +import io.camunda.client.protocol.rest.ProcessDefinitionItem; import io.camunda.connector.runtime.inbound.state.ProcessImportResult; import io.camunda.connector.runtime.inbound.state.ProcessStateStore; -import io.camunda.zeebe.client.api.search.response.ProcessDefinition; -import io.camunda.zeebe.client.impl.search.response.ProcessDefinitionImpl; -import io.camunda.zeebe.client.protocol.rest.ProcessDefinitionItem; import io.camunda.zeebe.spring.client.metrics.DefaultNoopMetricsRecorder; import java.util.List; import org.junit.jupiter.api.BeforeEach; @@ -49,11 +49,11 @@ public void init() { @Test void shouldUpdateStateStore() { // given - List first = List.of(getProcessDefinition("process1", 1, 1, "tenant1")); + List first = List.of(getProcessDefinition("process1", 1, "1", "tenant1")); List second = List.of( - getProcessDefinition("process1", 1, 1, "tenant1"), - getProcessDefinition("process2", 1, 2, "tenant1")); + getProcessDefinition("process1", 1, "1", "tenant1"), + getProcessDefinition("process2", 1, "2", "tenant1")); when(search.query()).thenReturn(first).thenReturn(second); @@ -70,7 +70,7 @@ void shouldUpdateStateStore() { } private ProcessDefinition getProcessDefinition( - String bpmnProcessId, int version, long key, String tenantId) { + String bpmnProcessId, int version, String key, String tenantId) { var pdi = new ProcessDefinitionItem(); pdi.setProcessDefinitionId(bpmnProcessId); pdi.setVersion(version); diff --git a/connector-runtime/connector-runtime-spring/src/test/java/io/camunda/connector/runtime/inbound/search/ProcessInstanceClientImplTest.java b/connector-runtime/connector-runtime-spring/src/test/java/io/camunda/connector/runtime/inbound/search/ProcessInstanceClientImplTest.java index 934e882749..ff65c4fab4 100644 --- a/connector-runtime/connector-runtime-spring/src/test/java/io/camunda/connector/runtime/inbound/search/ProcessInstanceClientImplTest.java +++ b/connector-runtime/connector-runtime-spring/src/test/java/io/camunda/connector/runtime/inbound/search/ProcessInstanceClientImplTest.java @@ -22,16 +22,16 @@ import static org.mockito.Mockito.when; import com.fasterxml.jackson.databind.ObjectMapper; +import io.camunda.client.api.search.response.FlowNodeInstance; +import io.camunda.client.api.search.response.SearchQueryResponse; +import io.camunda.client.api.search.response.Variable; +import io.camunda.client.impl.search.response.FlowNodeInstanceImpl; +import io.camunda.client.impl.search.response.SearchQueryResponseImpl; +import io.camunda.client.impl.search.response.SearchResponsePageImpl; +import io.camunda.client.impl.search.response.VariableImpl; +import io.camunda.client.protocol.rest.FlowNodeInstanceItem; +import io.camunda.client.protocol.rest.VariableItem; import io.camunda.connector.runtime.core.inbound.ProcessInstanceClient; -import io.camunda.zeebe.client.api.search.response.FlowNodeInstance; -import io.camunda.zeebe.client.api.search.response.SearchQueryResponse; -import io.camunda.zeebe.client.api.search.response.Variable; -import io.camunda.zeebe.client.impl.search.response.FlowNodeInstanceImpl; -import io.camunda.zeebe.client.impl.search.response.SearchQueryResponseImpl; -import io.camunda.zeebe.client.impl.search.response.SearchResponsePageImpl; -import io.camunda.zeebe.client.impl.search.response.VariableImpl; -import io.camunda.zeebe.client.protocol.rest.FlowNodeInstanceItem; -import io.camunda.zeebe.client.protocol.rest.VariableItem; import java.util.Arrays; import java.util.Collections; import java.util.List; @@ -62,9 +62,9 @@ public void testFetchFlowNodeInstanceByDefinitionKeyAndElementId() { Long processDefinitionKey = 123L; String elementId = "task1"; FlowNodeInstance flownodeInstance1 = - createFlownodeInstance(456L, 123456L, 187L, "flowNodeName1", "tenantId1"); + createFlownodeInstance("456", "123456", "187", "flowNodeName1", "tenantId1"); FlowNodeInstance flownodeInstance2 = - createFlownodeInstance(789L, 234567L, 203L, "flowNodeName2", "tenantId2"); + createFlownodeInstance("789", "234567", "203", "flowNodeName2", "tenantId2"); SearchQueryResponse flownodeInstanceSearchResult = createSearchResult(flownodeInstance1, flownodeInstance2); @@ -95,9 +95,9 @@ public void testFetchFlowNodeInstanceByDefinitionKeyAndElementId() { } private FlowNodeInstance createFlownodeInstance( - Long key, - Long processInstanceKey, - final long definitionKey, + String key, + String processInstanceKey, + final String definitionKey, final String flowNodeId, final String tenantId) { final var item = new FlowNodeInstanceItem(); @@ -117,8 +117,8 @@ public void testFetchVariablesByProcessInstanceKey() throws Exception { // Given Long processInstanceKey = 456L; - Variable variable1 = createVariable(12345L, "var1", "value1"); - Variable variable2 = createVariable(67890L, "var2", "value2"); + Variable variable1 = createVariable("12345", "var1", "value1"); + Variable variable2 = createVariable("67890", "var2", "value2"); SearchQueryResponse variableSearchResult = createSearchResult(variable1, variable2); SearchQueryResponse variableEmptySearchResult = createEmptySearchResult(); @@ -138,7 +138,7 @@ public void testFetchVariablesByProcessInstanceKey() throws Exception { assertThat(result.get("var2")).isEqualTo("value2"); } - private Variable createVariable(Long key, String name, String value) { + private Variable createVariable(String key, String name, String value) { final var item = new VariableItem(); item.setVariableKey(key); item.setScopeKey(key); diff --git a/connector-runtime/spring-boot-starter-camunda-connectors/pom.xml b/connector-runtime/spring-boot-starter-camunda-connectors/pom.xml index af8c4c7bce..a39aa9bf75 100644 --- a/connector-runtime/spring-boot-starter-camunda-connectors/pom.xml +++ b/connector-runtime/spring-boot-starter-camunda-connectors/pom.xml @@ -28,12 +28,12 @@ io.camunda spring-boot-starter-camunda-sdk - ${version.zeebe} + ${version.camunda} io.camunda - zeebe-client-java - ${version.zeebe} + camunda-client-java + ${version.camunda} org.springframework.boot diff --git a/connector-runtime/spring-boot-starter-camunda-connectors/src/main/java/io/camunda/connector/runtime/ConnectorsObservabilityAutoConfiguration.java b/connector-runtime/spring-boot-starter-camunda-connectors/src/main/java/io/camunda/connector/runtime/ConnectorsObservabilityAutoConfiguration.java index 2c8c1aa628..35e81db431 100644 --- a/connector-runtime/spring-boot-starter-camunda-connectors/src/main/java/io/camunda/connector/runtime/ConnectorsObservabilityAutoConfiguration.java +++ b/connector-runtime/spring-boot-starter-camunda-connectors/src/main/java/io/camunda/connector/runtime/ConnectorsObservabilityAutoConfiguration.java @@ -16,9 +16,9 @@ */ package io.camunda.connector.runtime; +import io.camunda.client.CamundaClient; import io.camunda.connector.runtime.inbound.importer.ProcessDefinitionImporter; import io.camunda.connector.runtime.metrics.ContextAwareLogbackMetrics; -import io.camunda.zeebe.client.ZeebeClient; import io.micrometer.core.instrument.binder.logging.LogbackMetrics; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.actuate.autoconfigure.metrics.LogbackMetricsAutoConfiguration; @@ -38,8 +38,8 @@ public LogbackMetrics logbackMetrics() { } @Bean(name = "zeebeClientHealthIndicator") // overrides the health indicator from Spring Zeebe - public ZeebeHealthIndicator zeebeClientHealthIndicator(ZeebeClient zeebeClient) { - return new ZeebeHealthIndicator(zeebeClient); + public ZeebeHealthIndicator zeebeClientHealthIndicator(CamundaClient camundaClient) { + return new ZeebeHealthIndicator(camundaClient); } @Bean diff --git a/connector-runtime/spring-boot-starter-camunda-connectors/src/main/java/io/camunda/connector/runtime/OutboundConnectorsAutoConfiguration.java b/connector-runtime/spring-boot-starter-camunda-connectors/src/main/java/io/camunda/connector/runtime/OutboundConnectorsAutoConfiguration.java index 657891ad32..40dd4aa1d5 100644 --- a/connector-runtime/spring-boot-starter-camunda-connectors/src/main/java/io/camunda/connector/runtime/OutboundConnectorsAutoConfiguration.java +++ b/connector-runtime/spring-boot-starter-camunda-connectors/src/main/java/io/camunda/connector/runtime/OutboundConnectorsAutoConfiguration.java @@ -17,6 +17,7 @@ package io.camunda.connector.runtime; import com.fasterxml.jackson.databind.ObjectMapper; +import io.camunda.client.impl.CamundaObjectMapper; import io.camunda.connector.api.json.ConnectorsObjectMapperSupplier; import io.camunda.connector.api.secret.SecretProvider; import io.camunda.connector.document.annotation.jackson.JacksonModuleDocumentDeserializer.DocumentModuleSettings; @@ -29,8 +30,6 @@ import io.camunda.connector.runtime.secret.console.ConsoleSecretApiClient; import io.camunda.connector.runtime.secret.console.JwtCredential; import io.camunda.document.factory.DocumentFactory; -import io.camunda.zeebe.client.api.JsonMapper; -import io.camunda.zeebe.client.impl.ZeebeObjectMapper; import io.camunda.zeebe.spring.client.properties.CamundaClientProperties; import io.camunda.zeebe.spring.client.properties.CamundaClientProperties.ClientMode; import io.camunda.zeebe.spring.common.json.SdkObjectMapper; @@ -98,8 +97,8 @@ public SecretProviderAggregator springSecretProviderAggregator( @Bean(name = "zeebeJsonMapper") @ConditionalOnMissingBean - public JsonMapper jsonMapper() { - return new ZeebeObjectMapper(ConnectorsObjectMapperSupplier.getCopy()); + public CamundaObjectMapper jsonMapper() { + return new CamundaObjectMapper(ConnectorsObjectMapperSupplier.getCopy()); } @Bean(name = "commonJsonMapper") diff --git a/connector-runtime/spring-boot-starter-camunda-connectors/src/main/java/io/camunda/connector/runtime/ZeebeHealthIndicator.java b/connector-runtime/spring-boot-starter-camunda-connectors/src/main/java/io/camunda/connector/runtime/ZeebeHealthIndicator.java index 8f3b1dd77a..b84599f9c4 100644 --- a/connector-runtime/spring-boot-starter-camunda-connectors/src/main/java/io/camunda/connector/runtime/ZeebeHealthIndicator.java +++ b/connector-runtime/spring-boot-starter-camunda-connectors/src/main/java/io/camunda/connector/runtime/ZeebeHealthIndicator.java @@ -16,10 +16,10 @@ */ package io.camunda.connector.runtime; -import io.camunda.zeebe.client.ZeebeClient; -import io.camunda.zeebe.client.api.response.BrokerInfo; -import io.camunda.zeebe.client.api.response.PartitionBrokerHealth; -import io.camunda.zeebe.client.api.response.PartitionInfo; +import io.camunda.client.CamundaClient; +import io.camunda.client.api.response.BrokerInfo; +import io.camunda.client.api.response.PartitionBrokerHealth; +import io.camunda.client.api.response.PartitionInfo; import java.util.Collection; import java.util.Map; import org.springframework.boot.actuate.health.AbstractHealthIndicator; @@ -27,15 +27,15 @@ public class ZeebeHealthIndicator extends AbstractHealthIndicator { - private final ZeebeClient zeebeClient; + private final CamundaClient camundaClient; - public ZeebeHealthIndicator(ZeebeClient zeebeClient) { - this.zeebeClient = zeebeClient; + public ZeebeHealthIndicator(CamundaClient camundaClient) { + this.camundaClient = camundaClient; } @Override protected void doHealthCheck(Builder builder) { - var topology = zeebeClient.newTopologyRequest().send().join(); + var topology = camundaClient.newTopologyRequest().send().join(); var numBrokers = topology.getBrokers().size(); boolean anyPartitionHealthy = topology.getBrokers().stream() diff --git a/connector-runtime/spring-boot-starter-camunda-connectors/src/test/java/io/camunda/connector/runtime/ObjectMapperSerializationTest.java b/connector-runtime/spring-boot-starter-camunda-connectors/src/test/java/io/camunda/connector/runtime/ObjectMapperSerializationTest.java index d4c16ec85e..7d9ea12c59 100644 --- a/connector-runtime/spring-boot-starter-camunda-connectors/src/test/java/io/camunda/connector/runtime/ObjectMapperSerializationTest.java +++ b/connector-runtime/spring-boot-starter-camunda-connectors/src/test/java/io/camunda/connector/runtime/ObjectMapperSerializationTest.java @@ -22,9 +22,9 @@ import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackson.databind.ObjectMapper; +import io.camunda.client.api.JsonMapper; import io.camunda.connector.feel.annotation.FEEL; import io.camunda.connector.runtime.app.TestConnectorRuntimeApplication; -import io.camunda.zeebe.client.api.JsonMapper; import java.time.ZoneOffset; import java.util.Date; import java.util.Map; diff --git a/connector-runtime/spring-boot-starter-camunda-connectors/src/test/java/io/camunda/connector/runtime/inbound/WebhookControllerTestZeebeTests.java b/connector-runtime/spring-boot-starter-camunda-connectors/src/test/java/io/camunda/connector/runtime/inbound/WebhookControllerTestZeebeTests.java index bf58846070..b8d1ce1e55 100644 --- a/connector-runtime/spring-boot-starter-camunda-connectors/src/test/java/io/camunda/connector/runtime/inbound/WebhookControllerTestZeebeTests.java +++ b/connector-runtime/spring-boot-starter-camunda-connectors/src/test/java/io/camunda/connector/runtime/inbound/WebhookControllerTestZeebeTests.java @@ -27,6 +27,7 @@ import com.fasterxml.jackson.databind.ObjectMapper; import com.google.common.collect.EvictingQueue; +import io.camunda.client.CamundaClient; import io.camunda.connector.api.inbound.CorrelationResult; import io.camunda.connector.api.inbound.ProcessElement; import io.camunda.connector.api.inbound.webhook.MappedHttpRequest; @@ -46,7 +47,6 @@ import io.camunda.connector.runtime.inbound.webhook.InboundWebhookRestController; import io.camunda.connector.runtime.inbound.webhook.WebhookConnectorRegistry; import io.camunda.process.test.api.CamundaSpringProcessTest; -import io.camunda.zeebe.client.ZeebeClient; import io.camunda.zeebe.model.bpmn.Bpmn; import java.util.HashMap; import java.util.Map; @@ -75,7 +75,7 @@ class WebhookControllerTestZeebeTests { @Autowired private WebhookConnectorRegistry webhookConnectorRegistry; - @Autowired private ZeebeClient zeebeClient; + @Autowired private CamundaClient camundaClient; @Autowired private SecretProviderAggregator secretProvider; @@ -609,7 +609,7 @@ public void testSuccessfulProcessingWithPartialResponseBodyExpression() throws E } public void deployProcess(String bpmnProcessId) { - zeebeClient + camundaClient .newDeployResourceCommand() .addProcessModel( Bpmn.createExecutableProcess(bpmnProcessId).startEvent().endEvent().done(), diff --git a/connector-runtime/spring-boot-starter-camunda-connectors/src/test/java/io/camunda/connector/runtime/outbound/JobRetriesIntegrationTest.java b/connector-runtime/spring-boot-starter-camunda-connectors/src/test/java/io/camunda/connector/runtime/outbound/JobRetriesIntegrationTest.java index 5d17859e46..f11adf7cba 100644 --- a/connector-runtime/spring-boot-starter-camunda-connectors/src/test/java/io/camunda/connector/runtime/outbound/JobRetriesIntegrationTest.java +++ b/connector-runtime/spring-boot-starter-camunda-connectors/src/test/java/io/camunda/connector/runtime/outbound/JobRetriesIntegrationTest.java @@ -20,6 +20,8 @@ import static org.awaitility.Awaitility.await; import static org.mockito.Mockito.when; +import io.camunda.client.CamundaClient; +import io.camunda.client.api.response.ProcessInstanceEvent; import io.camunda.connector.api.error.ConnectorRetryExceptionBuilder; import io.camunda.connector.api.outbound.OutboundConnectorContext; import io.camunda.connector.api.outbound.OutboundConnectorFunction; @@ -29,8 +31,6 @@ import io.camunda.connector.runtime.core.outbound.OutboundConnectorFactory; import io.camunda.connector.runtime.outbound.JobRetriesIntegrationTest.CustomConfiguration; import io.camunda.process.test.api.CamundaSpringProcessTest; -import io.camunda.zeebe.client.ZeebeClient; -import io.camunda.zeebe.client.api.response.ProcessInstanceEvent; import io.camunda.zeebe.model.bpmn.Bpmn; import java.util.Arrays; import org.junit.jupiter.api.BeforeEach; @@ -58,7 +58,7 @@ public class JobRetriesIntegrationTest { private static final String bpmnProcessId = "test-process"; private static final String testConnectorType = "io.camunda:connector-test:1"; private static final String testRetryConnectorType = "io.camunda:connector-retry-test:1"; - @Autowired private ZeebeClient zeebeClient; + @Autowired private CamundaClient camundaClient; @Autowired private OutboundConnectorFactory factory; @BeforeEach @@ -103,7 +103,7 @@ void invalidBackoffValueProvided_connectorNotExecuted() { @Test void noRetriesProvided_connectorIsInvoked3times() { var function = (CountingConnectorFunction) factory.getInstance(testConnectorType); - zeebeClient + camundaClient .newDeployResourceCommand() .addProcessModel( Bpmn.createExecutableProcess(bpmnProcessId) @@ -129,7 +129,7 @@ void noRetriesProvided_connectorIsInvoked3times() { void retryExceptionThrown_connectorIsInvoked5times() { var retryFunction = (CountingRetryConnectorFunction) factory.getInstance(testRetryConnectorType); - zeebeClient + camundaClient .newDeployResourceCommand() .addProcessModel( Bpmn.createExecutableProcess(bpmnProcessId) @@ -152,7 +152,7 @@ void retryExceptionThrown_connectorIsInvoked5times() { } private void deployProcessWithRetries(int retries, String backoff) { - zeebeClient + camundaClient .newDeployResourceCommand() .addProcessModel( Bpmn.createExecutableProcess(bpmnProcessId) @@ -169,7 +169,7 @@ private void deployProcessWithRetries(int retries, String backoff) { } private ProcessInstanceEvent createProcessInstance() { - return zeebeClient + return camundaClient .newCreateInstanceCommand() .bpmnProcessId(bpmnProcessId) .latestVersion() diff --git a/connector-runtime/spring-boot-starter-camunda-connectors/src/test/java/io/camunda/connector/runtime/outbound/RuntimeStartupWithConnectorsFromEnvVarsTests.java b/connector-runtime/spring-boot-starter-camunda-connectors/src/test/java/io/camunda/connector/runtime/outbound/RuntimeStartupWithConnectorsFromEnvVarsTests.java index beb6437c6b..73217c46e8 100644 --- a/connector-runtime/spring-boot-starter-camunda-connectors/src/test/java/io/camunda/connector/runtime/outbound/RuntimeStartupWithConnectorsFromEnvVarsTests.java +++ b/connector-runtime/spring-boot-starter-camunda-connectors/src/test/java/io/camunda/connector/runtime/outbound/RuntimeStartupWithConnectorsFromEnvVarsTests.java @@ -49,6 +49,11 @@ class RuntimeStartupWithConnectorsFromEnvVarsTests { @Autowired private JobWorkerManager jobWorkerManager; + @AfterTestClass + public static void cleanup() throws Exception { + EnvVarsConnectorDiscovery.clearHardwiredEnvironmentVariable(); + } + @BeforeTestClass public void prepare() throws Exception { EnvVarsConnectorDiscovery.addHardwiredEnvironmentVariable( @@ -57,11 +62,6 @@ public void prepare() throws Exception { "CONNECTOR_TEST2_TYPE", "non-default-TEST-task-type"); } - @AfterTestClass - public static void cleanup() throws Exception { - EnvVarsConnectorDiscovery.clearHardwiredEnvironmentVariable(); - } - @Test public void httpConnectorLoadedViaEnvVar() { if (true) { diff --git a/connector-sdk/document/pom.xml b/connector-sdk/document/pom.xml index a7796cb9e0..7fd3f8ae35 100644 --- a/connector-sdk/document/pom.xml +++ b/connector-sdk/document/pom.xml @@ -17,7 +17,8 @@ io.camunda - zeebe-client-java + camunda-client-java + ${version.camunda} diff --git a/connector-sdk/document/src/main/java/io/camunda/document/CamundaDocument.java b/connector-sdk/document/src/main/java/io/camunda/document/CamundaDocument.java index 644fdefd44..25217025b6 100644 --- a/connector-sdk/document/src/main/java/io/camunda/document/CamundaDocument.java +++ b/connector-sdk/document/src/main/java/io/camunda/document/CamundaDocument.java @@ -16,10 +16,10 @@ */ package io.camunda.document; +import io.camunda.client.api.response.DocumentMetadata; import io.camunda.document.reference.DocumentReference; import io.camunda.document.reference.DocumentReference.CamundaDocumentReference; import io.camunda.document.store.CamundaDocumentStore; -import io.camunda.zeebe.client.api.response.DocumentMetadata; import java.io.InputStream; import java.util.Base64; diff --git a/connector-sdk/document/src/main/java/io/camunda/document/Document.java b/connector-sdk/document/src/main/java/io/camunda/document/Document.java index 149093dfc9..600216fd4b 100644 --- a/connector-sdk/document/src/main/java/io/camunda/document/Document.java +++ b/connector-sdk/document/src/main/java/io/camunda/document/Document.java @@ -16,8 +16,8 @@ */ package io.camunda.document; +import io.camunda.client.api.response.DocumentMetadata; import io.camunda.document.reference.DocumentReference; -import io.camunda.zeebe.client.api.response.DocumentMetadata; import java.io.InputStream; /** diff --git a/connector-sdk/document/src/main/java/io/camunda/document/reference/CamundaDocumentReferenceImpl.java b/connector-sdk/document/src/main/java/io/camunda/document/reference/CamundaDocumentReferenceImpl.java index 2bd7e4e5fd..23c9f8abf8 100644 --- a/connector-sdk/document/src/main/java/io/camunda/document/reference/CamundaDocumentReferenceImpl.java +++ b/connector-sdk/document/src/main/java/io/camunda/document/reference/CamundaDocumentReferenceImpl.java @@ -16,8 +16,8 @@ */ package io.camunda.document.reference; -import io.camunda.zeebe.client.api.response.DocumentMetadata; -import io.camunda.zeebe.client.api.response.DocumentReferenceResponse; +import io.camunda.client.api.response.DocumentMetadata; +import io.camunda.client.api.response.DocumentReferenceResponse; public record CamundaDocumentReferenceImpl( String storeId, String documentId, DocumentMetadata metadata) diff --git a/connector-sdk/document/src/main/java/io/camunda/document/reference/DocumentReference.java b/connector-sdk/document/src/main/java/io/camunda/document/reference/DocumentReference.java index abba81888b..a52b3698e3 100644 --- a/connector-sdk/document/src/main/java/io/camunda/document/reference/DocumentReference.java +++ b/connector-sdk/document/src/main/java/io/camunda/document/reference/DocumentReference.java @@ -16,7 +16,7 @@ */ package io.camunda.document.reference; -import io.camunda.zeebe.client.api.response.DocumentMetadata; +import io.camunda.client.api.response.DocumentMetadata; public interface DocumentReference { diff --git a/connector-sdk/document/src/main/java/io/camunda/document/store/CamundaDocumentStoreImpl.java b/connector-sdk/document/src/main/java/io/camunda/document/store/CamundaDocumentStoreImpl.java index 53c1debd36..1c3e012320 100644 --- a/connector-sdk/document/src/main/java/io/camunda/document/store/CamundaDocumentStoreImpl.java +++ b/connector-sdk/document/src/main/java/io/camunda/document/store/CamundaDocumentStoreImpl.java @@ -16,22 +16,22 @@ */ package io.camunda.document.store; +import io.camunda.client.CamundaClient; import io.camunda.document.reference.CamundaDocumentReferenceImpl; import io.camunda.document.reference.DocumentReference.CamundaDocumentReference; -import io.camunda.zeebe.client.ZeebeClient; import java.io.InputStream; public class CamundaDocumentStoreImpl implements CamundaDocumentStore { - private final ZeebeClient zeebeClient; + private final CamundaClient camundaClient; - public CamundaDocumentStoreImpl(ZeebeClient zeebeClient) { - this.zeebeClient = zeebeClient; + public CamundaDocumentStoreImpl(CamundaClient camundaClient) { + this.camundaClient = camundaClient; } @Override public CamundaDocumentReference createDocument(DocumentCreationRequest request) { - final var command = zeebeClient.newCreateDocumentCommand().content(request.content()); + final var command = camundaClient.newCreateDocumentCommand().content(request.content()); if (request.contentType() != null) { command.contentType(request.contentType()); @@ -51,7 +51,7 @@ public CamundaDocumentReference createDocument(DocumentCreationRequest request) @Override public InputStream getDocumentContent(CamundaDocumentReference reference) { - return zeebeClient + return camundaClient .newDocumentContentGetRequest(reference.documentId()) .storeId(reference.storeId()) .send() @@ -60,7 +60,7 @@ public InputStream getDocumentContent(CamundaDocumentReference reference) { @Override public void deleteDocument(CamundaDocumentReference reference) { - zeebeClient + camundaClient .newDeleteDocumentCommand(reference.documentId()) .storeId(reference.storeId()) .send() diff --git a/connector-sdk/document/src/main/java/io/camunda/document/store/InMemoryDocumentStore.java b/connector-sdk/document/src/main/java/io/camunda/document/store/InMemoryDocumentStore.java index 42b5659cc0..3cb3c6ccbf 100644 --- a/connector-sdk/document/src/main/java/io/camunda/document/store/InMemoryDocumentStore.java +++ b/connector-sdk/document/src/main/java/io/camunda/document/store/InMemoryDocumentStore.java @@ -16,9 +16,9 @@ */ package io.camunda.document.store; +import io.camunda.client.api.response.DocumentMetadata; import io.camunda.document.reference.CamundaDocumentReferenceImpl; import io.camunda.document.reference.DocumentReference.CamundaDocumentReference; -import io.camunda.zeebe.client.api.response.DocumentMetadata; import java.io.ByteArrayInputStream; import java.io.InputStream; import java.time.OffsetDateTime; @@ -67,6 +67,16 @@ public String getFileName() { return request.fileName(); } + @Override + public String getProcessDefinitionId() { + return ""; + } + + @Override + public Long getProcessInstanceKey() { + return 0L; + } + @Override public Map getCustomProperties() { return request.customProperties(); diff --git a/connector-sdk/jackson-datatype-document/src/main/java/io/camunda/connector/document/annotation/jackson/DocumentReferenceModel.java b/connector-sdk/jackson-datatype-document/src/main/java/io/camunda/connector/document/annotation/jackson/DocumentReferenceModel.java index c48c928503..1546a39953 100644 --- a/connector-sdk/jackson-datatype-document/src/main/java/io/camunda/connector/document/annotation/jackson/DocumentReferenceModel.java +++ b/connector-sdk/jackson-datatype-document/src/main/java/io/camunda/connector/document/annotation/jackson/DocumentReferenceModel.java @@ -23,11 +23,11 @@ import com.fasterxml.jackson.annotation.JsonSubTypes; import com.fasterxml.jackson.annotation.JsonTypeInfo; import com.fasterxml.jackson.annotation.JsonTypeInfo.As; +import io.camunda.client.api.response.DocumentMetadata; import io.camunda.connector.document.annotation.jackson.DocumentReferenceModel.CamundaDocumentReferenceModel; import io.camunda.connector.document.annotation.jackson.DocumentReferenceModel.ExternalDocumentReferenceModel; import io.camunda.document.operation.DocumentOperation; import io.camunda.document.reference.DocumentReference; -import io.camunda.zeebe.client.api.response.DocumentMetadata; import java.time.OffsetDateTime; import java.util.Map; import java.util.Optional; @@ -60,7 +60,9 @@ record CamundaDocumentMetadataModel( OffsetDateTime expiresAt, Long size, String fileName, - Map customProperties) + Map customProperties, + String processDefinitionId, + Long processInstanceKey) implements DocumentMetadata { public CamundaDocumentMetadataModel(DocumentMetadata documentMetadata) { @@ -69,7 +71,9 @@ public CamundaDocumentMetadataModel(DocumentMetadata documentMetadata) { documentMetadata.getExpiresAt(), documentMetadata.getSize(), documentMetadata.getFileName(), - documentMetadata.getCustomProperties()); + documentMetadata.getCustomProperties(), + documentMetadata.getProcessDefinitionId(), + documentMetadata.getProcessInstanceKey()); } @Override @@ -92,6 +96,16 @@ public String getFileName() { return fileName; } + @Override + public String getProcessDefinitionId() { + return processDefinitionId; + } + + @Override + public Long getProcessInstanceKey() { + return processInstanceKey; + } + @Override public Map getCustomProperties() { return customProperties; diff --git a/connector-sdk/jackson-datatype-document/src/test/java/io/camunda/connector/document/jackson/DocumentSerializationTest.java b/connector-sdk/jackson-datatype-document/src/test/java/io/camunda/connector/document/jackson/DocumentSerializationTest.java index b14e9bb9e4..38364c50f0 100644 --- a/connector-sdk/jackson-datatype-document/src/test/java/io/camunda/connector/document/jackson/DocumentSerializationTest.java +++ b/connector-sdk/jackson-datatype-document/src/test/java/io/camunda/connector/document/jackson/DocumentSerializationTest.java @@ -49,7 +49,7 @@ public class DocumentSerializationTest { @Test void sourceTypeDocument_jacksonInternalModel() throws JsonProcessingException, JSONException { - var metadata = new CamundaDocumentMetadataModel(null, null, null, null, null); + var metadata = new CamundaDocumentMetadataModel(null, null, null, null, null, null, null); var ref = new CamundaDocumentReferenceModel("test", "test", metadata, Optional.empty()); var document = mock(Document.class); when(document.reference()).thenReturn(ref); @@ -71,7 +71,7 @@ void sourceTypeDocument_jacksonInternalModel() throws JsonProcessingException, J @Test void sourceTypeDocument_connectorSdkModel() throws JsonProcessingException, JSONException { - var metadata = new CamundaDocumentMetadataModel(null, null, null, null, null); + var metadata = new CamundaDocumentMetadataModel(null, null, null, null, null, null, null); var ref = new CamundaDocumentReferenceImpl("test", "test", metadata); var document = mock(Document.class); when(document.reference()).thenReturn(ref); diff --git a/connectors-e2e-test/connectors-e2e-test-automation-anywhere/pom.xml b/connectors-e2e-test/connectors-e2e-test-automation-anywhere/pom.xml index 89314f0116..e754d5f6f8 100644 --- a/connectors-e2e-test/connectors-e2e-test-automation-anywhere/pom.xml +++ b/connectors-e2e-test/connectors-e2e-test-automation-anywhere/pom.xml @@ -34,7 +34,7 @@ io.camunda camunda-process-test-spring - ${version.zeebe} + ${version.camunda} diff --git a/connectors-e2e-test/connectors-e2e-test-automation-anywhere/src/test/java/io/camunda/connector/e2e/AddWorkItemAutomationAnywhereTests.java b/connectors-e2e-test/connectors-e2e-test-automation-anywhere/src/test/java/io/camunda/connector/e2e/AddWorkItemAutomationAnywhereTests.java index dd07577f1f..b502235ccb 100644 --- a/connectors-e2e-test/connectors-e2e-test-automation-anywhere/src/test/java/io/camunda/connector/e2e/AddWorkItemAutomationAnywhereTests.java +++ b/connectors-e2e-test/connectors-e2e-test-automation-anywhere/src/test/java/io/camunda/connector/e2e/AddWorkItemAutomationAnywhereTests.java @@ -79,7 +79,7 @@ void addItemTokenAuth() { .apply(elementTemplate, "automationAnywhereTask", new File(tempDir, "result.bpmn")); var bpmnTest = - ZeebeTest.with(zeebeClient) + ZeebeTest.with(camundaClient) .deploy(updatedModel) .createInstance() .waitForProcessCompletion(); @@ -129,7 +129,7 @@ void addItemPasswordBasedAuth() { .apply(elementTemplate, "automationAnywhereTask", new File(tempDir, "result.bpmn")); var bpmnTest = - ZeebeTest.with(zeebeClient) + ZeebeTest.with(camundaClient) .deploy(updatedModel) .createInstance() .waitForProcessCompletion(); @@ -176,7 +176,7 @@ void addItemApiKeyBasedAuth() { .apply(elementTemplate, "automationAnywhereTask", new File(tempDir, "result.bpmn")); var bpmnTest = - ZeebeTest.with(zeebeClient) + ZeebeTest.with(camundaClient) .deploy(updatedModel) .createInstance() .waitForProcessCompletion(); diff --git a/connectors-e2e-test/connectors-e2e-test-automation-anywhere/src/test/java/io/camunda/connector/e2e/BaseAutomationAnywhereTest.java b/connectors-e2e-test/connectors-e2e-test-automation-anywhere/src/test/java/io/camunda/connector/e2e/BaseAutomationAnywhereTest.java index 9801934f4b..a8a0fea599 100644 --- a/connectors-e2e-test/connectors-e2e-test-automation-anywhere/src/test/java/io/camunda/connector/e2e/BaseAutomationAnywhereTest.java +++ b/connectors-e2e-test/connectors-e2e-test-automation-anywhere/src/test/java/io/camunda/connector/e2e/BaseAutomationAnywhereTest.java @@ -20,8 +20,8 @@ import static org.mockito.Mockito.when; import com.github.tomakehurst.wiremock.junit5.WireMockExtension; +import io.camunda.client.CamundaClient; import io.camunda.connector.runtime.inbound.importer.ProcessDefinitionSearch; -import io.camunda.zeebe.client.ZeebeClient; import java.io.File; import java.util.Collections; import java.util.List; @@ -41,7 +41,7 @@ public abstract class BaseAutomationAnywhereTest { static WireMockExtension wm = WireMockExtension.newInstance().options(wireMockConfig().dynamicPort()).build(); - @Autowired ZeebeClient zeebeClient; + @Autowired CamundaClient camundaClient; @MockBean ProcessDefinitionSearch processDefinitionSearch; diff --git a/connectors-e2e-test/connectors-e2e-test-automation-anywhere/src/test/java/io/camunda/connector/e2e/GetWorkItemAutomationAnywhereTests.java b/connectors-e2e-test/connectors-e2e-test-automation-anywhere/src/test/java/io/camunda/connector/e2e/GetWorkItemAutomationAnywhereTests.java index dab80ab16c..87111de83c 100644 --- a/connectors-e2e-test/connectors-e2e-test-automation-anywhere/src/test/java/io/camunda/connector/e2e/GetWorkItemAutomationAnywhereTests.java +++ b/connectors-e2e-test/connectors-e2e-test-automation-anywhere/src/test/java/io/camunda/connector/e2e/GetWorkItemAutomationAnywhereTests.java @@ -77,7 +77,7 @@ void getItemStatusTokenAuth() { .apply(elementTemplate, "automationAnywhereTask", new File(tempDir, "result.bpmn")); var bpmnTest = - ZeebeTest.with(zeebeClient) + ZeebeTest.with(camundaClient) .deploy(updatedModel) .createInstance() .waitForProcessCompletion(); @@ -125,7 +125,7 @@ void getItemPasswordBasedAuth() { .apply(elementTemplate, "automationAnywhereTask", new File(tempDir, "result.bpmn")); var bpmnTest = - ZeebeTest.with(zeebeClient) + ZeebeTest.with(camundaClient) .deploy(updatedModel) .createInstance() .waitForProcessCompletion(); @@ -172,7 +172,7 @@ void getItemApiKeyBasedAuth() { .apply(elementTemplate, "automationAnywhereTask", new File(tempDir, "result.bpmn")); var bpmnTest = - ZeebeTest.with(zeebeClient) + ZeebeTest.with(camundaClient) .deploy(updatedModel) .createInstance() .waitForProcessCompletion(); diff --git a/connectors-e2e-test/connectors-e2e-test-aws/connectors-e2e-test-aws-base/src/test/java/io/camunda/connector/e2e/BaseAwsTest.java b/connectors-e2e-test/connectors-e2e-test-aws/connectors-e2e-test-aws-base/src/test/java/io/camunda/connector/e2e/BaseAwsTest.java index 73cb6150c1..3013c3f2a0 100644 --- a/connectors-e2e-test/connectors-e2e-test-aws/connectors-e2e-test-aws-base/src/test/java/io/camunda/connector/e2e/BaseAwsTest.java +++ b/connectors-e2e-test/connectors-e2e-test-aws/connectors-e2e-test-aws-base/src/test/java/io/camunda/connector/e2e/BaseAwsTest.java @@ -22,10 +22,10 @@ import static io.camunda.connector.e2e.AwsService.SQS; import static org.mockito.Mockito.when; +import io.camunda.client.CamundaClient; import io.camunda.connector.e2e.app.TestConnectorRuntimeApplication; import io.camunda.connector.runtime.inbound.importer.ProcessDefinitionSearch; import io.camunda.process.test.api.CamundaSpringProcessTest; -import io.camunda.zeebe.client.ZeebeClient; import java.io.File; import java.util.Collections; import org.junit.jupiter.api.AfterAll; @@ -54,7 +54,7 @@ public abstract class BaseAwsTest { private static final DockerImageName localstackImage = DockerImageName.parse("localstack/localstack"); @TempDir File tempDir; - @Autowired ZeebeClient zeebeClient; + @Autowired CamundaClient camundaClient; @MockBean ProcessDefinitionSearch processDefinitionSearch; static LocalStackContainer localstack; diff --git a/connectors-e2e-test/connectors-e2e-test-aws/connectors-e2e-test-aws-event-bridge/src/test/java/io/camunda/connector/e2e/AwsEventBridgeTest.java b/connectors-e2e-test/connectors-e2e-test-aws/connectors-e2e-test-aws-event-bridge/src/test/java/io/camunda/connector/e2e/AwsEventBridgeTest.java index 0aff8c5397..6d84f8a067 100644 --- a/connectors-e2e-test/connectors-e2e-test-aws/connectors-e2e-test-aws-event-bridge/src/test/java/io/camunda/connector/e2e/AwsEventBridgeTest.java +++ b/connectors-e2e-test/connectors-e2e-test-aws/connectors-e2e-test-aws-event-bridge/src/test/java/io/camunda/connector/e2e/AwsEventBridgeTest.java @@ -130,7 +130,7 @@ public void testEventBridgeConnectorFunction() throws JsonProcessingException { .apply(elementTemplate, "aws-eventbridge-element-id", new File(tempDir, "result.bpmn")); var bpmnTest = - ZeebeTest.with(zeebeClient) + ZeebeTest.with(camundaClient) .deploy(updatedModel) .createInstance() .waitForProcessCompletion(); diff --git a/connectors-e2e-test/connectors-e2e-test-aws/connectors-e2e-test-aws-lambda/src/test/java/io/camunda/connector/e2e/AwsLambdaTest.java b/connectors-e2e-test/connectors-e2e-test-aws/connectors-e2e-test-aws-lambda/src/test/java/io/camunda/connector/e2e/AwsLambdaTest.java index d46a8f7688..13f25146cd 100644 --- a/connectors-e2e-test/connectors-e2e-test-aws/connectors-e2e-test-aws-lambda/src/test/java/io/camunda/connector/e2e/AwsLambdaTest.java +++ b/connectors-e2e-test/connectors-e2e-test-aws/connectors-e2e-test-aws-lambda/src/test/java/io/camunda/connector/e2e/AwsLambdaTest.java @@ -99,7 +99,7 @@ public void testLambdaFunction() throws Exception { .apply(elementTemplate, "aws", new File(tempDir, "result.bpmn")); var bpmnTest = - ZeebeTest.with(zeebeClient) + ZeebeTest.with(camundaClient) .deploy(updatedModel) .createInstance() .waitForProcessCompletion(); diff --git a/connectors-e2e-test/connectors-e2e-test-aws/connectors-e2e-test-aws-sns/src/test/java/io/camunda/connector/e2e/AwsSnsTest.java b/connectors-e2e-test/connectors-e2e-test-aws/connectors-e2e-test-aws-sns/src/test/java/io/camunda/connector/e2e/AwsSnsTest.java index 741693bea7..ccd15b65a8 100644 --- a/connectors-e2e-test/connectors-e2e-test-aws/connectors-e2e-test-aws-sns/src/test/java/io/camunda/connector/e2e/AwsSnsTest.java +++ b/connectors-e2e-test/connectors-e2e-test-aws/connectors-e2e-test-aws-sns/src/test/java/io/camunda/connector/e2e/AwsSnsTest.java @@ -130,7 +130,7 @@ public void testSnsFunction() throws JsonProcessingException { .apply(elementTemplate, "sns", new File(tempDir, "resultSns.bpmn")); var bpmnTest = - ZeebeTest.with(zeebeClient) + ZeebeTest.with(camundaClient) .deploy(updatedModel) .createInstance() .waitForProcessCompletion(); @@ -190,7 +190,7 @@ public void testSnsFifoFunction() throws JsonProcessingException { .apply(elementTemplate, "sns", new File(tempDir, "resultSns.bpmn")); var bpmnTest = - ZeebeTest.with(zeebeClient) + ZeebeTest.with(camundaClient) .deploy(updatedModel) .createInstance() .waitForProcessCompletion(); diff --git a/connectors-e2e-test/connectors-e2e-test-aws/connectors-e2e-test-aws-sqs/src/test/java/io/camunda/connector/e2e/AwsSqsTest.java b/connectors-e2e-test/connectors-e2e-test-aws/connectors-e2e-test-aws-sqs/src/test/java/io/camunda/connector/e2e/AwsSqsTest.java index 7abda9fa42..957d4ccc75 100644 --- a/connectors-e2e-test/connectors-e2e-test-aws/connectors-e2e-test-aws-sqs/src/test/java/io/camunda/connector/e2e/AwsSqsTest.java +++ b/connectors-e2e-test/connectors-e2e-test-aws/connectors-e2e-test-aws-sqs/src/test/java/io/camunda/connector/e2e/AwsSqsTest.java @@ -102,7 +102,7 @@ public void testSqsConnectorStandardType() { .apply(elementTemplate, ELEMENT_ID, new File(tempDir, "result.bpmn")); var bpmnTest = - ZeebeTest.with(zeebeClient) + ZeebeTest.with(camundaClient) .deploy(updatedModel) .createInstance() .waitForProcessCompletion(); @@ -162,7 +162,7 @@ public void testSqsConnectorFifoType() { .apply(elementTemplate, ELEMENT_ID, new File(tempDir, "result.bpmn")); var bpmnTest = - ZeebeTest.with(zeebeClient) + ZeebeTest.with(camundaClient) .deploy(updatedModel) .createInstance() .waitForProcessCompletion(); diff --git a/connectors-e2e-test/connectors-e2e-test-aws/pom.xml b/connectors-e2e-test/connectors-e2e-test-aws/pom.xml index 88b4513263..5db045d5db 100644 --- a/connectors-e2e-test/connectors-e2e-test-aws/pom.xml +++ b/connectors-e2e-test/connectors-e2e-test-aws/pom.xml @@ -32,7 +32,7 @@ io.camunda camunda-process-test-spring - ${version.zeebe} + ${version.camunda} diff --git a/connectors-e2e-test/connectors-e2e-test-base/src/main/java/io/camunda/connector/e2e/ZeebeTest.java b/connectors-e2e-test/connectors-e2e-test-base/src/main/java/io/camunda/connector/e2e/ZeebeTest.java index 85dad45828..3f723d9793 100644 --- a/connectors-e2e-test/connectors-e2e-test-base/src/main/java/io/camunda/connector/e2e/ZeebeTest.java +++ b/connectors-e2e-test/connectors-e2e-test-base/src/main/java/io/camunda/connector/e2e/ZeebeTest.java @@ -16,10 +16,10 @@ */ package io.camunda.connector.e2e; +import io.camunda.client.CamundaClient; +import io.camunda.client.api.response.DeploymentEvent; +import io.camunda.client.api.response.ProcessInstanceEvent; import io.camunda.process.test.api.CamundaAssert; -import io.camunda.zeebe.client.ZeebeClient; -import io.camunda.zeebe.client.api.response.DeploymentEvent; -import io.camunda.zeebe.client.api.response.ProcessInstanceEvent; import io.camunda.zeebe.model.bpmn.BpmnModelInstance; import io.camunda.zeebe.model.bpmn.instance.Process; import java.util.concurrent.TimeUnit; @@ -28,23 +28,23 @@ public class ZeebeTest { - private final ZeebeClient zeebeClient; + private final CamundaClient camundaClient; private DeploymentEvent deploymentEvent; private ProcessInstanceEvent processInstanceEvent; - public ZeebeTest(ZeebeClient zeebeClient) { - this.zeebeClient = zeebeClient; + public ZeebeTest(CamundaClient camundaClient) { + this.camundaClient = camundaClient; } - public static ZeebeTest with(ZeebeClient zeebeClient) { - return new ZeebeTest(zeebeClient); + public static ZeebeTest with(CamundaClient camundaClient) { + return new ZeebeTest(camundaClient); } public ZeebeTest deploy(BpmnModelInstance bpmnModelInstance) { var process = bpmnModelInstance.getModelElementsByType(Process.class).stream().findFirst().get(); this.deploymentEvent = - zeebeClient + camundaClient .newDeployResourceCommand() .addProcessModel(bpmnModelInstance, process.getId() + ".bpmn") .send() @@ -56,7 +56,7 @@ public ZeebeTest createInstance() { Assertions.assertNotNull(deploymentEvent, "Process needs to be deployed first."); var bpmnProcessId = deploymentEvent.getProcesses().get(0).getBpmnProcessId(); processInstanceEvent = - zeebeClient + camundaClient .newCreateInstanceCommand() .bpmnProcessId(bpmnProcessId) .latestVersion() @@ -69,7 +69,7 @@ public ZeebeTest waitForProcessCompletion() { Awaitility.with() .pollInSameThread() .await() - .atMost(10, TimeUnit.SECONDS) + .atMost(20, TimeUnit.SECONDS) .untilAsserted(() -> CamundaAssert.assertThat(processInstanceEvent).isCompleted()); return this; } diff --git a/connectors-e2e-test/connectors-e2e-test-easy-post/pom.xml b/connectors-e2e-test/connectors-e2e-test-easy-post/pom.xml index d3efe1869d..de5e837e25 100644 --- a/connectors-e2e-test/connectors-e2e-test-easy-post/pom.xml +++ b/connectors-e2e-test/connectors-e2e-test-easy-post/pom.xml @@ -36,7 +36,7 @@ io.camunda camunda-process-test-spring - ${version.zeebe} + ${version.camunda} diff --git a/connectors-e2e-test/connectors-e2e-test-easy-post/src/test/java/io/camunda/connector/e2e/BaseEasyPostTest.java b/connectors-e2e-test/connectors-e2e-test-easy-post/src/test/java/io/camunda/connector/e2e/BaseEasyPostTest.java index e8965e086b..e801cc9ac9 100644 --- a/connectors-e2e-test/connectors-e2e-test-easy-post/src/test/java/io/camunda/connector/e2e/BaseEasyPostTest.java +++ b/connectors-e2e-test/connectors-e2e-test-easy-post/src/test/java/io/camunda/connector/e2e/BaseEasyPostTest.java @@ -20,8 +20,8 @@ import static org.mockito.Mockito.when; import com.github.tomakehurst.wiremock.junit5.WireMockExtension; +import io.camunda.client.CamundaClient; import io.camunda.connector.runtime.inbound.importer.ProcessDefinitionSearch; -import io.camunda.zeebe.client.ZeebeClient; import io.camunda.zeebe.model.bpmn.Bpmn; import io.camunda.zeebe.model.bpmn.BpmnModelInstance; import java.io.File; @@ -66,7 +66,7 @@ public abstract class BaseEasyPostTest { static WireMockExtension wm = WireMockExtension.newInstance().options(wireMockConfig().dynamicPort()).build(); - @Autowired ZeebeClient zeebeClient; + @Autowired CamundaClient camundaClient; @MockBean ProcessDefinitionSearch processDefinitionSearch; @@ -93,7 +93,7 @@ protected static BpmnModelInstance getBpmnModelInstance(final String serviceTask } protected ZeebeTest getZeebeTest(final BpmnModelInstance updatedModel) { - return ZeebeTest.with(zeebeClient) + return ZeebeTest.with(camundaClient) .deploy(updatedModel) .createInstance() .waitForProcessCompletion(); diff --git a/connectors-e2e-test/connectors-e2e-test-http/pom.xml b/connectors-e2e-test/connectors-e2e-test-http/pom.xml index ca3b3be657..36f8c054fb 100644 --- a/connectors-e2e-test/connectors-e2e-test-http/pom.xml +++ b/connectors-e2e-test/connectors-e2e-test-http/pom.xml @@ -47,7 +47,7 @@ io.camunda camunda-process-test-spring - ${version.zeebe} + ${version.camunda} diff --git a/connectors-e2e-test/connectors-e2e-test-http/src/test/java/io/camunda/connector/e2e/HttpTests.java b/connectors-e2e-test/connectors-e2e-test-http/src/test/java/io/camunda/connector/e2e/HttpTests.java index 496eec27a9..d57e574c58 100644 --- a/connectors-e2e-test/connectors-e2e-test-http/src/test/java/io/camunda/connector/e2e/HttpTests.java +++ b/connectors-e2e-test/connectors-e2e-test-http/src/test/java/io/camunda/connector/e2e/HttpTests.java @@ -32,6 +32,8 @@ import com.github.tomakehurst.wiremock.client.ResponseDefinitionBuilder; import com.github.tomakehurst.wiremock.junit5.WireMockExtension; +import io.camunda.client.CamundaClient; +import io.camunda.client.api.search.response.ProcessDefinition; import io.camunda.connector.e2e.app.TestConnectorRuntimeApplication; import io.camunda.connector.http.base.authentication.OAuthConstants; import io.camunda.connector.http.base.model.auth.ApiKeyAuthentication; @@ -45,8 +47,6 @@ import io.camunda.connector.runtime.inbound.state.ProcessImportResult.ProcessDefinitionVersion; import io.camunda.connector.runtime.inbound.state.ProcessStateStore; import io.camunda.process.test.api.CamundaSpringProcessTest; -import io.camunda.zeebe.client.ZeebeClient; -import io.camunda.zeebe.client.api.search.response.ProcessDefinition; import io.camunda.zeebe.model.bpmn.Bpmn; import io.camunda.zeebe.model.bpmn.instance.Process; import java.io.File; @@ -81,7 +81,7 @@ public class HttpTests { WireMockExtension.newInstance().options(wireMockConfig().dynamicPort()).build(); @TempDir File tempDir; - @Autowired ZeebeClient zeebeClient; + @Autowired CamundaClient camundaClient; @MockBean ProcessDefinitionSearch processDefinitionSearch; @@ -133,7 +133,7 @@ void basicAuth() { .apply(elementTemplate, "restTask", new File(tempDir, "result.bpmn")); var bpmnTest = - ZeebeTest.with(zeebeClient) + ZeebeTest.with(camundaClient) .deploy(updatedModel) .createInstance() .waitForProcessCompletion(); @@ -172,7 +172,7 @@ void bearerAuth() { .apply(elementTemplate, "restTask", new File(tempDir, "result.bpmn")); var bpmnTest = - ZeebeTest.with(zeebeClient) + ZeebeTest.with(camundaClient) .deploy(updatedModel) .createInstance() .waitForProcessCompletion(); @@ -213,7 +213,7 @@ void ApiKeyAuthenticationWithApiKeyInHeaders() { .apply(elementTemplate, "restTask", new File(tempDir, "result.bpmn")); var bpmnTest = - ZeebeTest.with(zeebeClient) + ZeebeTest.with(camundaClient) .deploy(updatedModel) .createInstance() .waitForProcessCompletion(); @@ -254,7 +254,7 @@ void ApiKeyAuthenticationWithApiKeyInQueryParameters() { .apply(elementTemplate, "restTask", new File(tempDir, "result.bpmn")); var bpmnTest = - ZeebeTest.with(zeebeClient) + ZeebeTest.with(camundaClient) .deploy(updatedModel) .createInstance() .waitForProcessCompletion(); @@ -303,7 +303,7 @@ void oAuth() { .apply(elementTemplate, "restTask", new File(tempDir, "result.bpmn")); var bpmnTest = - ZeebeTest.with(zeebeClient) + ZeebeTest.with(camundaClient) .deploy(updatedModel) .createInstance() .waitForProcessCompletion(); @@ -326,7 +326,7 @@ void successfulModelRun() { var model = replace("rest_connector.bpmn", replace("http://localhost/test", mockUrl)); var bpmnTest = - ZeebeTest.with(zeebeClient).deploy(model).createInstance().waitForProcessCompletion(); + ZeebeTest.with(camundaClient).deploy(model).createInstance().waitForProcessCompletion(); assertThat(bpmnTest.getProcessInstanceEvent()).hasVariable("orderStatus", "processing"); } @@ -341,7 +341,8 @@ void successfulWebhookModelRun() throws Exception { when(searchQueryClient.getProcessModel(1L)).thenReturn(model); var processDef = mock(ProcessDefinition.class); when(processDef.getProcessDefinitionKey()).thenReturn(1L); - when(processDef.getTenantId()).thenReturn(zeebeClient.getConfiguration().getDefaultTenantId()); + when(processDef.getTenantId()) + .thenReturn(camundaClient.getConfiguration().getDefaultTenantId()); when(processDef.getProcessDefinitionId()) .thenReturn(model.getModelElementsByType(Process.class).stream().findFirst().get().getId()); @@ -355,7 +356,7 @@ void successfulWebhookModelRun() throws Exception { processDef.getProcessDefinitionKey(), processDef.getVersion())))); var bpmnTest = - ZeebeTest.with(zeebeClient).deploy(model).createInstance().waitForProcessCompletion(); + ZeebeTest.with(camundaClient).deploy(model).createInstance().waitForProcessCompletion(); assertThat(bpmnTest.getProcessInstanceEvent()).hasVariable("webhookExecuted", true); } @@ -370,7 +371,8 @@ void successfulWebhookModelWithQueryParamsRun() throws Exception { when(searchQueryClient.getProcessModel(1L)).thenReturn(model); var processDef = mock(ProcessDefinition.class); when(processDef.getProcessDefinitionKey()).thenReturn(1L); - when(processDef.getTenantId()).thenReturn(zeebeClient.getConfiguration().getDefaultTenantId()); + when(processDef.getTenantId()) + .thenReturn(camundaClient.getConfiguration().getDefaultTenantId()); when(processDef.getProcessDefinitionId()) .thenReturn(model.getModelElementsByType(Process.class).stream().findFirst().get().getId()); @@ -384,7 +386,7 @@ void successfulWebhookModelWithQueryParamsRun() throws Exception { processDef.getProcessDefinitionKey(), processDef.getVersion())))); var bpmnTest = - ZeebeTest.with(zeebeClient).deploy(model).createInstance().waitForProcessCompletion(); + ZeebeTest.with(camundaClient).deploy(model).createInstance().waitForProcessCompletion(); assertThat(bpmnTest.getProcessInstanceEvent()).hasVariable("webhookExecuted", true); assertThat(bpmnTest.getProcessInstanceEvent()).hasVariable("queryParam", "test"); @@ -430,7 +432,7 @@ void graphQL() { .apply(elementTemplate, "graphqlTask", updatedElementTemplateFile); var bpmnTest = - ZeebeTest.with(zeebeClient) + ZeebeTest.with(camundaClient) .deploy(updatedModel) .createInstance() .waitForProcessCompletion(); @@ -482,7 +484,7 @@ void graphQLViaGet() { .apply(elementTemplate, "graphqlTask", updatedElementTemplateFile); var bpmnTest = - ZeebeTest.with(zeebeClient) + ZeebeTest.with(camundaClient) .deploy(updatedModel) .createInstance() .waitForProcessCompletion(); @@ -535,7 +537,7 @@ void useErrorResponse() { .apply(elementTemplate, "restTask", new File(tempDir, "result.bpmn")); var bpmnTest = - ZeebeTest.with(zeebeClient) + ZeebeTest.with(camundaClient) .deploy(updatedModel) .createInstance() .waitForProcessCompletion(); diff --git a/connectors-e2e-test/connectors-e2e-test-http/src/test/java/io/camunda/connector/e2e/WebhookActivatedDocumentTests.java b/connectors-e2e-test/connectors-e2e-test-http/src/test/java/io/camunda/connector/e2e/WebhookActivatedDocumentTests.java index 06f1da9b88..5e0024d63c 100644 --- a/connectors-e2e-test/connectors-e2e-test-http/src/test/java/io/camunda/connector/e2e/WebhookActivatedDocumentTests.java +++ b/connectors-e2e-test/connectors-e2e-test-http/src/test/java/io/camunda/connector/e2e/WebhookActivatedDocumentTests.java @@ -24,6 +24,8 @@ import static org.springframework.util.StreamUtils.copyToByteArray; import com.fasterxml.jackson.databind.ObjectMapper; +import io.camunda.client.CamundaClient; +import io.camunda.client.api.search.response.ProcessDefinition; import io.camunda.connector.e2e.app.TestConnectorRuntimeApplication; import io.camunda.connector.runtime.inbound.importer.ProcessDefinitionSearch; import io.camunda.connector.runtime.inbound.search.SearchQueryClient; @@ -36,8 +38,6 @@ import io.camunda.document.reference.CamundaDocumentReferenceImpl; import io.camunda.document.store.InMemoryDocumentStore; import io.camunda.process.test.api.CamundaSpringProcessTest; -import io.camunda.zeebe.client.ZeebeClient; -import io.camunda.zeebe.client.api.search.response.ProcessDefinition; import io.camunda.zeebe.model.bpmn.instance.Process; import java.util.Collections; import java.util.List; @@ -95,7 +95,7 @@ public DocumentFactory documentFactorySpied() { public static final String TEXT_FILE = "text.txt"; public static final String PNG_FILE = "camunda1.png"; - @Autowired ZeebeClient zeebeClient; + @Autowired CamundaClient camundaClient; ObjectMapper mapper = new ObjectMapper(); @@ -130,7 +130,8 @@ void shouldCreateDocumentsAndReturnResponse_whenMultipartRequest() throws Except when(searchQueryClient.getProcessModel(1L)).thenReturn(model); var processDef = mock(ProcessDefinition.class); when(processDef.getProcessDefinitionKey()).thenReturn(1L); - when(processDef.getTenantId()).thenReturn(zeebeClient.getConfiguration().getDefaultTenantId()); + when(processDef.getTenantId()) + .thenReturn(camundaClient.getConfiguration().getDefaultTenantId()); when(processDef.getProcessDefinitionId()) .thenReturn(model.getModelElementsByType(Process.class).stream().findFirst().get().getId()); @@ -143,7 +144,7 @@ void shouldCreateDocumentsAndReturnResponse_whenMultipartRequest() throws Except new ProcessDefinitionVersion( processDef.getProcessDefinitionKey(), processDef.getVersion())))); - var bpmnTest = ZeebeTest.with(zeebeClient).deploy(model).createInstance(); + var bpmnTest = ZeebeTest.with(camundaClient).deploy(model).createInstance(); CompletableFuture future = new CompletableFuture<>(); ClassPathResource textFile = new ClassPathResource("files/text.txt"); ClassPathResource imageFile = new ClassPathResource("files/camunda1.png"); diff --git a/connectors-e2e-test/connectors-e2e-test-http/src/test/java/io/camunda/connector/e2e/WebhookNotActivatedDocumentTests.java b/connectors-e2e-test/connectors-e2e-test-http/src/test/java/io/camunda/connector/e2e/WebhookNotActivatedDocumentTests.java index a30f4c961b..b28f4679d6 100644 --- a/connectors-e2e-test/connectors-e2e-test-http/src/test/java/io/camunda/connector/e2e/WebhookNotActivatedDocumentTests.java +++ b/connectors-e2e-test/connectors-e2e-test-http/src/test/java/io/camunda/connector/e2e/WebhookNotActivatedDocumentTests.java @@ -22,6 +22,8 @@ import static org.springframework.util.StreamUtils.copyToByteArray; import com.fasterxml.jackson.databind.ObjectMapper; +import io.camunda.client.CamundaClient; +import io.camunda.client.api.search.response.ProcessDefinition; import io.camunda.connector.e2e.app.TestConnectorRuntimeApplication; import io.camunda.connector.runtime.inbound.importer.ProcessDefinitionSearch; import io.camunda.connector.runtime.inbound.search.SearchQueryClient; @@ -33,8 +35,6 @@ import io.camunda.document.factory.DocumentFactoryImpl; import io.camunda.document.store.InMemoryDocumentStore; import io.camunda.process.test.api.CamundaSpringProcessTest; -import io.camunda.zeebe.client.ZeebeClient; -import io.camunda.zeebe.client.api.search.response.ProcessDefinition; import io.camunda.zeebe.model.bpmn.instance.Process; import java.util.Collections; import java.util.Map; @@ -90,7 +90,7 @@ public DocumentFactory documentFactorySpied() { public static final String TEXT_FILE = "text.txt"; public static final String PNG_FILE = "camunda1.png"; - @Autowired ZeebeClient zeebeClient; + @Autowired CamundaClient camundaClient; ObjectMapper mapper = new ObjectMapper(); @@ -127,7 +127,8 @@ void shouldNotCreateDocumentsAndReturnResponse_whenMultipartRequestButWontActiva when(searchQueryClient.getProcessModel(2L)).thenReturn(model); var processDef = mock(ProcessDefinition.class); when(processDef.getProcessDefinitionKey()).thenReturn(2L); - when(processDef.getTenantId()).thenReturn(zeebeClient.getConfiguration().getDefaultTenantId()); + when(processDef.getTenantId()) + .thenReturn(camundaClient.getConfiguration().getDefaultTenantId()); when(processDef.getProcessDefinitionId()) .thenReturn(model.getModelElementsByType(Process.class).stream().findFirst().get().getId()); @@ -140,7 +141,7 @@ void shouldNotCreateDocumentsAndReturnResponse_whenMultipartRequestButWontActiva new ProcessDefinitionVersion( processDef.getProcessDefinitionKey(), processDef.getVersion())))); - var bpmnTest = ZeebeTest.with(zeebeClient).deploy(model).createInstance(); + var bpmnTest = ZeebeTest.with(camundaClient).deploy(model).createInstance(); CompletableFuture future = new CompletableFuture<>(); ClassPathResource textFile = new ClassPathResource("files/text.txt"); ClassPathResource imageFile = new ClassPathResource("files/camunda1.png"); diff --git a/connectors-e2e-test/connectors-e2e-test-kafka/pom.xml b/connectors-e2e-test/connectors-e2e-test-kafka/pom.xml index ca4556fe7a..f642300e95 100644 --- a/connectors-e2e-test/connectors-e2e-test-kafka/pom.xml +++ b/connectors-e2e-test/connectors-e2e-test-kafka/pom.xml @@ -48,7 +48,7 @@ io.camunda camunda-process-test-spring - ${version.zeebe} + ${version.camunda} diff --git a/connectors-e2e-test/connectors-e2e-test-kafka/src/test/java/io/camunda/connector/e2e/BaseKafkaTest.java b/connectors-e2e-test/connectors-e2e-test-kafka/src/test/java/io/camunda/connector/e2e/BaseKafkaTest.java index 5cbca94962..be65358e61 100644 --- a/connectors-e2e-test/connectors-e2e-test-kafka/src/test/java/io/camunda/connector/e2e/BaseKafkaTest.java +++ b/connectors-e2e-test/connectors-e2e-test-kafka/src/test/java/io/camunda/connector/e2e/BaseKafkaTest.java @@ -19,10 +19,10 @@ import static org.apache.kafka.clients.admin.AdminClientConfig.BOOTSTRAP_SERVERS_CONFIG; import static org.mockito.Mockito.when; +import io.camunda.client.CamundaClient; import io.camunda.connector.runtime.inbound.importer.ProcessDefinitionSearch; import io.camunda.connector.runtime.inbound.search.SearchQueryClient; import io.camunda.connector.runtime.inbound.state.ProcessStateStore; -import io.camunda.zeebe.client.ZeebeClient; import java.io.File; import java.util.Arrays; import java.util.Collections; @@ -57,7 +57,7 @@ public class BaseKafkaTest { @TempDir File tempDir; - @Autowired ZeebeClient zeebeClient; + @Autowired CamundaClient camundaClient; @MockBean ProcessDefinitionSearch processDefinitionSearch; diff --git a/connectors-e2e-test/connectors-e2e-test-kafka/src/test/java/io/camunda/connector/e2e/InboundKafkaTests.java b/connectors-e2e-test/connectors-e2e-test-kafka/src/test/java/io/camunda/connector/e2e/InboundKafkaTests.java index b8d5c30a7e..43e5ad9fac 100644 --- a/connectors-e2e-test/connectors-e2e-test-kafka/src/test/java/io/camunda/connector/e2e/InboundKafkaTests.java +++ b/connectors-e2e-test/connectors-e2e-test-kafka/src/test/java/io/camunda/connector/e2e/InboundKafkaTests.java @@ -19,6 +19,7 @@ import static io.camunda.connector.e2e.BpmnFile.replace; import static org.mockito.Mockito.when; +import io.camunda.client.api.search.response.ProcessDefinition; import io.camunda.connector.e2e.app.TestConnectorRuntimeApplication; import io.camunda.connector.e2e.helper.KafkaTestProducer; import io.camunda.connector.runtime.inbound.state.ProcessImportResult; @@ -26,7 +27,6 @@ import io.camunda.connector.runtime.inbound.state.ProcessImportResult.ProcessDefinitionVersion; import io.camunda.process.test.api.CamundaAssert; import io.camunda.process.test.api.CamundaSpringProcessTest; -import io.camunda.zeebe.client.api.search.response.ProcessDefinition; import io.camunda.zeebe.model.bpmn.BpmnModelInstance; import io.camunda.zeebe.model.bpmn.instance.Process; import java.util.Map; @@ -94,7 +94,7 @@ void testKafkaIntermediateConnectorProcessWithJsonKey() { producer.startContinuousMessageSending( TOPIC, MESSAGE_KEY_JSON_AS_OBJECT, MESSAGE_VALUE, MESSAGE_HEADERS_AS_OBJECT); - var bpmnTest = ZeebeTest.with(zeebeClient).deploy(model).createInstance(); + var bpmnTest = ZeebeTest.with(camundaClient).deploy(model).createInstance(); bpmnTest = bpmnTest.waitForProcessCompletion(); kafkaProducerThreadRun.set(false); @@ -137,7 +137,7 @@ void testKafkaIntermediateConnectorProcessWithStringKey() { producer.startContinuousMessageSending( TOPIC, MESSAGE_KEY_STRING, MESSAGE_VALUE, MESSAGE_HEADERS_AS_OBJECT); - var bpmnTest = ZeebeTest.with(zeebeClient).deploy(model).createInstance(); + var bpmnTest = ZeebeTest.with(camundaClient).deploy(model).createInstance(); bpmnTest = bpmnTest.waitForProcessCompletion(); kafkaProducerThreadRun.set(false); @@ -149,7 +149,8 @@ void testKafkaIntermediateConnectorProcessWithStringKey() { private void mockProcessDefinition(BpmnModelInstance model) { when(searchQueryClient.getProcessModel(1)).thenReturn(model); when(processDef.getProcessDefinitionKey()).thenReturn(1L); - when(processDef.getTenantId()).thenReturn(zeebeClient.getConfiguration().getDefaultTenantId()); + when(processDef.getTenantId()) + .thenReturn(camundaClient.getConfiguration().getDefaultTenantId()); when(processDef.getProcessDefinitionId()) .thenReturn(model.getModelElementsByType(Process.class).stream().findFirst().get().getId()); } diff --git a/connectors-e2e-test/connectors-e2e-test-kafka/src/test/java/io/camunda/connector/e2e/OutboundKafkaTests.java b/connectors-e2e-test/connectors-e2e-test-kafka/src/test/java/io/camunda/connector/e2e/OutboundKafkaTests.java index 43f112abe2..fb30afd82c 100644 --- a/connectors-e2e-test/connectors-e2e-test-kafka/src/test/java/io/camunda/connector/e2e/OutboundKafkaTests.java +++ b/connectors-e2e-test/connectors-e2e-test-kafka/src/test/java/io/camunda/connector/e2e/OutboundKafkaTests.java @@ -106,7 +106,7 @@ private static BpmnModelInstance getBpmnModelInstance(final String serviceTaskNa } private ZeebeTest getZeebeTest(final BpmnModelInstance updatedModel) { - return ZeebeTest.with(zeebeClient) + return ZeebeTest.with(camundaClient) .deploy(updatedModel) .createInstance() .waitForProcessCompletion(); diff --git a/connectors-e2e-test/connectors-e2e-test-mail/src/test/java/io/camunda/connector/e2e/InboundEmailTest.java b/connectors-e2e-test/connectors-e2e-test-mail/src/test/java/io/camunda/connector/e2e/InboundEmailTest.java index c4237cad2a..5ae580b9fd 100644 --- a/connectors-e2e-test/connectors-e2e-test-mail/src/test/java/io/camunda/connector/e2e/InboundEmailTest.java +++ b/connectors-e2e-test/connectors-e2e-test-mail/src/test/java/io/camunda/connector/e2e/InboundEmailTest.java @@ -21,14 +21,14 @@ import static org.awaitility.Awaitility.await; import static org.mockito.Mockito.when; +import io.camunda.client.CamundaClient; +import io.camunda.client.api.search.response.ProcessDefinition; import io.camunda.connector.e2e.app.TestConnectorRuntimeApplication; import io.camunda.connector.runtime.inbound.search.SearchQueryClient; import io.camunda.connector.runtime.inbound.state.ProcessImportResult; import io.camunda.connector.runtime.inbound.state.ProcessStateStore; import io.camunda.process.test.api.CamundaAssert; import io.camunda.process.test.api.CamundaSpringProcessTest; -import io.camunda.zeebe.client.ZeebeClient; -import io.camunda.zeebe.client.api.search.response.ProcessDefinition; import io.camunda.zeebe.model.bpmn.BpmnModelInstance; import io.camunda.zeebe.model.bpmn.instance.Process; import jakarta.mail.Flags; @@ -66,7 +66,7 @@ public class InboundEmailTest extends BaseEmailTest { @Autowired ProcessStateStore processStateStore; @Autowired SearchQueryClient searchQueryClient; @Mock private ProcessDefinition processDef; - @Autowired private ZeebeClient zeebeClient; + @Autowired private CamundaClient camundaClient; @BeforeEach public void beforeEach() { @@ -86,7 +86,7 @@ public void shouldReceiveEmailAndSetAsSeen() throws MessagingException { scheduler.schedule( () -> super.sendEmail("test@camunda.com", "test", "hey"), 2, TimeUnit.SECONDS); - var bpmnTest = ZeebeTest.with(zeebeClient).deploy(model).createInstance(); + var bpmnTest = ZeebeTest.with(camundaClient).deploy(model).createInstance(); await().atMost(3, TimeUnit.SECONDS).until(() -> getLastReceivedEmails().length == 1); @@ -131,7 +131,7 @@ public void shouldThrowWhenAllMessageAreSeen() throws MessagingException { 2, TimeUnit.SECONDS); - var bpmnTest = ZeebeTest.with(zeebeClient).deploy(model).createInstance(); + var bpmnTest = ZeebeTest.with(camundaClient).deploy(model).createInstance(); await().atMost(3, TimeUnit.SECONDS).until(() -> getLastReceivedEmails().length == 1); @@ -158,7 +158,7 @@ public void shouldReceiveEmailAndDelete() throws MessagingException { scheduler.schedule( () -> super.sendEmail("test@camunda.com", "test", "hey"), 2, TimeUnit.SECONDS); - var bpmnTest = ZeebeTest.with(zeebeClient).deploy(model).createInstance(); + var bpmnTest = ZeebeTest.with(camundaClient).deploy(model).createInstance(); await().atMost(3, TimeUnit.SECONDS).until(() -> getLastReceivedEmails().length == 1); @@ -194,7 +194,7 @@ public void shouldReceiveEmailAndMove() throws MessagingException { scheduler.schedule( () -> super.sendEmail("test@camunda.com", "test", "hey"), 2, TimeUnit.SECONDS); - var bpmnTest = ZeebeTest.with(zeebeClient).deploy(model).createInstance(); + var bpmnTest = ZeebeTest.with(camundaClient).deploy(model).createInstance(); await().atMost(3, TimeUnit.SECONDS).until(() -> getLastReceivedEmails().length == 1); @@ -222,7 +222,8 @@ public void shouldReceiveEmailAndMove() throws MessagingException { private void mockProcessDefinition(BpmnModelInstance model) { when(searchQueryClient.getProcessModel(1L)).thenReturn(model); when(processDef.getProcessDefinitionKey()).thenReturn(1L); - when(processDef.getTenantId()).thenReturn(zeebeClient.getConfiguration().getDefaultTenantId()); + when(processDef.getTenantId()) + .thenReturn(camundaClient.getConfiguration().getDefaultTenantId()); when(processDef.getProcessDefinitionId()) .thenReturn(model.getModelElementsByType(Process.class).stream().findFirst().get().getId()); when(processDef.getVersion()).thenReturn(counter.getAndIncrement()); @@ -252,7 +253,7 @@ public void shouldPollEmailAndMove() throws MessagingException { 2, TimeUnit.SECONDS); - var bpmnTest = ZeebeTest.with(zeebeClient).deploy(model).createInstance(); + var bpmnTest = ZeebeTest.with(camundaClient).deploy(model).createInstance(); await().atMost(3, TimeUnit.SECONDS).until(() -> getLastReceivedEmails().length == 1); diff --git a/connectors-e2e-test/connectors-e2e-test-mail/src/test/java/io/camunda/connector/e2e/OutboundEmailTests.java b/connectors-e2e-test/connectors-e2e-test-mail/src/test/java/io/camunda/connector/e2e/OutboundEmailTests.java index 3f3dbf6300..53857b3fc8 100644 --- a/connectors-e2e-test/connectors-e2e-test-mail/src/test/java/io/camunda/connector/e2e/OutboundEmailTests.java +++ b/connectors-e2e-test/connectors-e2e-test-mail/src/test/java/io/camunda/connector/e2e/OutboundEmailTests.java @@ -22,10 +22,10 @@ import static org.awaitility.Awaitility.await; import static org.junit.jupiter.api.Assertions.assertTrue; +import io.camunda.client.CamundaClient; import io.camunda.connector.e2e.app.TestConnectorRuntimeApplication; import io.camunda.process.test.api.CamundaAssert; import io.camunda.process.test.api.CamundaSpringProcessTest; -import io.camunda.zeebe.client.ZeebeClient; import io.camunda.zeebe.model.bpmn.Bpmn; import io.camunda.zeebe.model.bpmn.BpmnModelInstance; import jakarta.mail.Message; @@ -65,7 +65,7 @@ public class OutboundEmailTests extends BaseEmailTest { "={fromAddress : fromAddress, messageId : messageId, subject: subject, size: size, plainTextBody : plainTextBody }"; private static final String RESULT_EXPRESSION_MOVE_EMAIL = "={messageId : messageId, from: from, to: to }"; - @Autowired private ZeebeClient zeebeClient; + @Autowired private CamundaClient camundaClient; private static BpmnModelInstance getBpmnModelInstance(final String serviceTaskName) { return Bpmn.createProcess() @@ -371,7 +371,7 @@ private BpmnModelInstance getBpmnModelInstance( } protected ZeebeTest getZeebeTest(final BpmnModelInstance updatedModel) { - return ZeebeTest.with(zeebeClient) + return ZeebeTest.with(camundaClient) .deploy(updatedModel) .createInstance() .waitForProcessCompletion(); diff --git a/connectors-e2e-test/connectors-e2e-test-rabbitmq/pom.xml b/connectors-e2e-test/connectors-e2e-test-rabbitmq/pom.xml index deb5979a7e..2c7ab8cf97 100644 --- a/connectors-e2e-test/connectors-e2e-test-rabbitmq/pom.xml +++ b/connectors-e2e-test/connectors-e2e-test-rabbitmq/pom.xml @@ -36,7 +36,7 @@ io.camunda camunda-process-test-spring - ${version.zeebe} + ${version.camunda} diff --git a/connectors-e2e-test/connectors-e2e-test-rabbitmq/src/test/java/io/camunda/connector/e2e/BaseRabbitMqTest.java b/connectors-e2e-test/connectors-e2e-test-rabbitmq/src/test/java/io/camunda/connector/e2e/BaseRabbitMqTest.java index 659896f0e9..1504d4e96b 100644 --- a/connectors-e2e-test/connectors-e2e-test-rabbitmq/src/test/java/io/camunda/connector/e2e/BaseRabbitMqTest.java +++ b/connectors-e2e-test/connectors-e2e-test-rabbitmq/src/test/java/io/camunda/connector/e2e/BaseRabbitMqTest.java @@ -18,9 +18,9 @@ import static org.mockito.Mockito.when; +import io.camunda.client.CamundaClient; import io.camunda.connector.runtime.inbound.importer.ProcessDefinitionSearch; import io.camunda.connector.runtime.inbound.search.SearchQueryClient; -import io.camunda.zeebe.client.ZeebeClient; import io.camunda.zeebe.model.bpmn.BpmnModelInstance; import java.io.File; import java.util.Collections; @@ -37,7 +37,7 @@ public abstract class BaseRabbitMqTest { protected static final String INTERMEDIATE_CATCH_EVENT_BPMN = "intermediate-catch-event.bpmn"; @TempDir File tempDir; - @Autowired ZeebeClient zeebeClient; + @Autowired CamundaClient camundaClient; @MockBean ProcessDefinitionSearch processDefinitionSearch; @@ -51,6 +51,6 @@ void beforeEach() { } protected ZeebeTest getZeebeTest(final BpmnModelInstance updatedModel) { - return ZeebeTest.with(zeebeClient).deploy(updatedModel).createInstance(); + return ZeebeTest.with(camundaClient).deploy(updatedModel).createInstance(); } } diff --git a/connectors-e2e-test/connectors-e2e-test-rabbitmq/src/test/java/io/camunda/connector/e2e/RabbitMqInboundStartEventTests.java b/connectors-e2e-test/connectors-e2e-test-rabbitmq/src/test/java/io/camunda/connector/e2e/RabbitMqInboundStartEventTests.java index 5a60000a93..1de99cb859 100644 --- a/connectors-e2e-test/connectors-e2e-test-rabbitmq/src/test/java/io/camunda/connector/e2e/RabbitMqInboundStartEventTests.java +++ b/connectors-e2e-test/connectors-e2e-test-rabbitmq/src/test/java/io/camunda/connector/e2e/RabbitMqInboundStartEventTests.java @@ -161,7 +161,7 @@ private void postMessage() throws Exception { private ProcessImportResult mockProcessDefinition(BpmnModelInstance model) { when(searchQueryClient.getProcessModel(1)).thenReturn(model); var bpmnId = model.getModelElementsByType(Process.class).stream().findFirst().get().getId(); - var tenantId = zeebeClient.getConfiguration().getDefaultTenantId(); + var tenantId = camundaClient.getConfiguration().getDefaultTenantId(); return new ProcessImportResult( Map.of( new ProcessDefinitionIdentifier(bpmnId, tenantId), diff --git a/connectors-e2e-test/connectors-e2e-test-soap/pom.xml b/connectors-e2e-test/connectors-e2e-test-soap/pom.xml index 9199934c9d..38dc2f8af2 100644 --- a/connectors-e2e-test/connectors-e2e-test-soap/pom.xml +++ b/connectors-e2e-test/connectors-e2e-test-soap/pom.xml @@ -36,7 +36,7 @@ io.camunda camunda-process-test-spring - ${version.zeebe} + ${version.camunda} diff --git a/connectors-e2e-test/connectors-e2e-test-soap/src/test/java/io/camunda/connector/e2e/soap/SoapConnectorBaseTest.java b/connectors-e2e-test/connectors-e2e-test-soap/src/test/java/io/camunda/connector/e2e/soap/SoapConnectorBaseTest.java index f267153c8f..db8e1b823c 100644 --- a/connectors-e2e-test/connectors-e2e-test-soap/src/test/java/io/camunda/connector/e2e/soap/SoapConnectorBaseTest.java +++ b/connectors-e2e-test/connectors-e2e-test-soap/src/test/java/io/camunda/connector/e2e/soap/SoapConnectorBaseTest.java @@ -21,10 +21,10 @@ import com.github.tomakehurst.wiremock.common.ConsoleNotifier; import com.github.tomakehurst.wiremock.junit5.WireMockExtension; +import io.camunda.client.CamundaClient; import io.camunda.connector.e2e.BpmnFile; import io.camunda.connector.e2e.ZeebeTest; import io.camunda.connector.runtime.inbound.importer.ProcessDefinitionSearch; -import io.camunda.zeebe.client.ZeebeClient; import io.camunda.zeebe.model.bpmn.Bpmn; import io.camunda.zeebe.model.bpmn.BpmnModelInstance; import java.io.File; @@ -91,7 +91,7 @@ public abstract class SoapConnectorBaseTest { .build(); @TempDir File tempDir; - @Autowired ZeebeClient zeebeClient; + @Autowired CamundaClient camundaClient; @MockBean ProcessDefinitionSearch processDefinitionSearch; @@ -121,7 +121,7 @@ protected ZeebeTest setupTestWithBpmnModel(String taskName, File elementTemplate } protected ZeebeTest getZeebeTest(final BpmnModelInstance updatedModel) { - return ZeebeTest.with(zeebeClient) + return ZeebeTest.with(camundaClient) .deploy(updatedModel) .createInstance() .waitForProcessCompletion(); diff --git a/connectors/aws/aws-s3/element-templates/aws-s3-outbound-connector.json b/connectors/aws/aws-s3/element-templates/aws-s3-outbound-connector.json index 9778d88929..7d9574b3b3 100644 --- a/connectors/aws/aws-s3/element-templates/aws-s3-outbound-connector.json +++ b/connectors/aws/aws-s3/element-templates/aws-s3-outbound-connector.json @@ -236,6 +236,9 @@ "id" : "uploadActionDocument", "label" : "Document", "optional" : false, + "constraints" : { + "notEmpty" : true + }, "feel" : "required", "group" : "uploadObject", "binding" : { diff --git a/connectors/aws/aws-s3/element-templates/hybrid/aws-s3-outbound-connector-hybrid.json b/connectors/aws/aws-s3/element-templates/hybrid/aws-s3-outbound-connector-hybrid.json index fb326e168e..c6dc98d2bb 100644 --- a/connectors/aws/aws-s3/element-templates/hybrid/aws-s3-outbound-connector-hybrid.json +++ b/connectors/aws/aws-s3/element-templates/hybrid/aws-s3-outbound-connector-hybrid.json @@ -241,6 +241,9 @@ "id" : "uploadActionDocument", "label" : "Document", "optional" : false, + "constraints" : { + "notEmpty" : true + }, "feel" : "required", "group" : "uploadObject", "binding" : { diff --git a/connectors/http/http-base/src/main/java/io/camunda/connector/http/base/client/apache/builder/parts/ApacheRequestBodyBuilder.java b/connectors/http/http-base/src/main/java/io/camunda/connector/http/base/client/apache/builder/parts/ApacheRequestBodyBuilder.java index 810179c50c..90032f6691 100644 --- a/connectors/http/http-base/src/main/java/io/camunda/connector/http/base/client/apache/builder/parts/ApacheRequestBodyBuilder.java +++ b/connectors/http/http-base/src/main/java/io/camunda/connector/http/base/client/apache/builder/parts/ApacheRequestBodyBuilder.java @@ -20,12 +20,12 @@ import static org.apache.hc.core5.http.HttpHeaders.CONTENT_TYPE; import com.fasterxml.jackson.core.JsonProcessingException; +import io.camunda.client.api.response.DocumentMetadata; import io.camunda.connector.api.error.ConnectorException; import io.camunda.connector.api.json.ConnectorsObjectMapperSupplier; import io.camunda.connector.http.base.model.HttpCommonRequest; import io.camunda.connector.http.base.utils.DocumentHelper; import io.camunda.document.Document; -import io.camunda.zeebe.client.api.response.DocumentMetadata; import java.io.BufferedInputStream; import java.nio.charset.StandardCharsets; import java.util.Map; diff --git a/connectors/http/http-base/src/main/java/io/camunda/connector/http/base/model/HttpCommonResult.java b/connectors/http/http-base/src/main/java/io/camunda/connector/http/base/model/HttpCommonResult.java index d7137136ad..a8d5e6a44e 100644 --- a/connectors/http/http-base/src/main/java/io/camunda/connector/http/base/model/HttpCommonResult.java +++ b/connectors/http/http-base/src/main/java/io/camunda/connector/http/base/model/HttpCommonResult.java @@ -16,13 +16,13 @@ */ package io.camunda.connector.http.base.model; +import io.camunda.client.api.response.DocumentMetadata; import io.camunda.connector.generator.java.annotation.DataExample; import io.camunda.document.CamundaDocument; import io.camunda.document.Document; import io.camunda.document.reference.CamundaDocumentReferenceImpl; import io.camunda.document.reference.DocumentReference; import io.camunda.document.store.InMemoryDocumentStore; -import io.camunda.zeebe.client.api.response.DocumentMetadata; import java.time.OffsetDateTime; import java.util.Map; @@ -70,6 +70,16 @@ public String getFileName() { return "theFileName.pdf"; } + @Override + public String getProcessDefinitionId() { + return ""; + } + + @Override + public Long getProcessInstanceKey() { + return 0L; + } + @Override public Map getCustomProperties() { return Map.of("key", "value"); diff --git a/connectors/http/http-base/src/test/java/io/camunda/connector/http/base/DocumentOutboundContext.java b/connectors/http/http-base/src/test/java/io/camunda/connector/http/base/DocumentOutboundContext.java index 50a3c48910..418d42a442 100644 --- a/connectors/http/http-base/src/test/java/io/camunda/connector/http/base/DocumentOutboundContext.java +++ b/connectors/http/http-base/src/test/java/io/camunda/connector/http/base/DocumentOutboundContext.java @@ -16,14 +16,14 @@ */ package io.camunda.connector.http.base; +import io.camunda.client.impl.response.DocumentMetadataImpl; +import io.camunda.client.protocol.rest.DocumentMetadata; import io.camunda.connector.api.outbound.JobContext; import io.camunda.connector.api.outbound.OutboundConnectorContext; import io.camunda.document.CamundaDocument; import io.camunda.document.Document; import io.camunda.document.store.DocumentCreationRequest; import io.camunda.document.store.InMemoryDocumentStore; -import io.camunda.zeebe.client.impl.response.DocumentMetadataImpl; -import io.camunda.zeebe.client.protocol.rest.DocumentMetadata; public class DocumentOutboundContext implements OutboundConnectorContext { diff --git a/connectors/http/http-base/src/test/java/io/camunda/connector/http/base/utils/DocumentHelperTest.java b/connectors/http/http-base/src/test/java/io/camunda/connector/http/base/utils/DocumentHelperTest.java index cd255e8b0f..53c0c1cc0e 100644 --- a/connectors/http/http-base/src/test/java/io/camunda/connector/http/base/utils/DocumentHelperTest.java +++ b/connectors/http/http-base/src/test/java/io/camunda/connector/http/base/utils/DocumentHelperTest.java @@ -22,10 +22,10 @@ import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; +import io.camunda.client.api.response.DocumentMetadata; import io.camunda.document.CamundaDocument; import io.camunda.document.reference.CamundaDocumentReferenceImpl; import io.camunda.document.store.InMemoryDocumentStore; -import io.camunda.zeebe.client.api.response.DocumentMetadata; import java.nio.charset.StandardCharsets; import java.util.Arrays; import java.util.HashMap; diff --git a/connectors/http/rest/README.md b/connectors/http/rest/README.md index 99ae4ab570..d0b9f17cff 100644 --- a/connectors/http/rest/README.md +++ b/connectors/http/rest/README.md @@ -1,9 +1,6 @@ ![REST Outbound Connector connector icon](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAxOCAxOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTE3LjAzMzUgOC45OTk5N0MxNy4wMzM1IDEzLjQ0NzUgMTMuNDI4MSAxNy4wNTI5IDguOTgwNjUgMTcuMDUyOUM0LjUzMzE2IDE3LjA1MjkgMC45Mjc3NjUgMTMuNDQ3NSAwLjkyNzc2NSA4Ljk5OTk3QzAuOTI3NzY1IDQuNTUyNDggNC41MzMxNiAwLjk0NzA4MyA4Ljk4MDY1IDAuOTQ3MDgzQzEzLjQyODEgMC45NDcwODMgMTcuMDMzNSA0LjU1MjQ4IDE3LjAzMzUgOC45OTk5N1oiIGZpbGw9IiM1MDU1NjIiLz4KPHBhdGggZD0iTTQuOTMxMjYgMTQuMTU3MUw2Ljc4MTA2IDMuNzE0NzFIMTAuMTM3NUMxMS4xOTE3IDMuNzE0NzEgMTEuOTgyNCAzLjk4MzIzIDEyLjUwOTUgNC41MjAyN0MxMy4wNDY1IDUuMDQ3MzYgMTMuMzE1IDUuNzMzNTggMTMuMzE1IDYuNTc4OTJDMTMuMzE1IDcuNDQ0MTQgMTMuMDcxNCA4LjE1NTIyIDEyLjU4NDEgOC43MTIxNUMxMi4xMDY3IDkuMjU5MTMgMTEuNDU1MyA5LjYzNzA1IDEwLjYyOTggOS44NDU5TDEyLjA2MTkgMTQuMTU3MUgxMC4zMzE1TDkuMDMzNjQgMTAuMDI0OUg3LjI0MzUxTDYuNTEyNTQgMTQuMTU3MUg0LjkzMTI2Wk03LjQ5NzExIDguNTkyODFIOS4yNDI0OEM5Ljk5ODMyIDguNTkyODEgMTAuNTkwMSA4LjQyMzc0IDExLjAxNzcgOC4wODU2MUMxMS40NTUzIDcuNzM3NTMgMTEuNjc0MSA3LjI2NTEzIDExLjY3NDEgNi42Njg0MkMxMS42NzQxIDYuMTkxMDYgMTEuNTI0OSA1LjgxODExIDExLjIyNjUgNS41NDk1OUMxMC45MjgyIDUuMjcxMTMgMTAuNDU1OCA1LjEzMTkgOS44MDkzNiA1LjEzMTlIOC4xMDg3NEw3LjQ5NzExIDguNTkyODFaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K) - # REST Outbound Connector - Invoke REST API - # Camunda HTTP JSON Connector Find the user documentation in our [Camunda](https://docs.camunda.io/docs/components/connectors/protocol/rest/). @@ -119,13 +116,13 @@ The response will contain the status code, the headers and the body of the respo "method": "post", "url": "https://youroauthclientdomainname.eu.auth0.com/oauth/token", "authentication": { - "oauthTokenEndpoint": "{{secrets.OAUTH_TOKEN_ENDPOINT_KEY}}", + "oauthTokenEndpoint":"{{secrets.OAUTH_TOKEN_ENDPOINT_KEY}}", "scopes": "read:clients read:users", - "audience": "{{secrets.AUDIENCE_KEY}}", - "clientId": "{{secrets.CLIENT_ID_KEY}}", - "clientSecret": "{{secrets.CLIENT_SECRET_KEY}}", + "audience":"{{secrets.AUDIENCE_KEY}}", + "clientId":"{{secrets.CLIENT_ID_KEY}}", + "clientSecret":"{{secrets.CLIENT_SECRET_KEY}}", "type": "oauth-client-credentials-flow", - "clientAuthentication": "{{secrets.CLIENT_AUTHENTICATION_KEY}}" + "clientAuthentication":"{{secrets.CLIENT_AUTHENTICATION_KEY}}" } } ``` @@ -134,31 +131,25 @@ The response will contain the status code, the headers and the body of the respo ```json { - "access_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IlUtN2N6WG1sMzljUFNfUnlQQkNMWCJ9.kjhwfjkhfejkrhfbwjkfbhetcetc", - "scope": "read:clients create:users", - "expires_in": 86400, - "token_type": "Bearer" + "access_token":"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IlUtN2N6WG1sMzljUFNfUnlQQkNMWCJ9.kjhwfjkhfejkrhfbwjkfbhetcetc", + "scope":"read:clients create:users", + "expires_in":86400, + "token_type":"Bearer" } ``` - ### Error codes -The Connector will fail on any non-2XX HTTP status code in the response. This error status code will be passed on as -error code, e.g. "404". +The Connector will fail on any non-2XX HTTP status code in the response. This error status code will be passed on as error code, e.g. "404". -## :lock: Use proxy-mechanism (Google Cloud Function) +## :lock: Use proxy-mechanism > :warning: Proxy mode is currently only supported in Camunda 8 SaaS environment. -> :warning: This is for Camunda internal use only, do not mistake this with -> the [general proxy configuration](https://docs.camunda.io/docs/components/connectors/protocol/rest/#configure-a-proxy-server-in-self-managed) > available in > Self-Managed. - You can configure the HTTP JSON Connector to do any outgoing HTTP call via a proxy. This proxy should be effectively also an HTTP JSON Connector -running in a different environment. For example, you can build the following runtime architecture: @@ -167,12 +158,10 @@ For example, you can build the following runtime architecture: [ Camunda Network, e.g. K8S ] [ Separate network, e.g. Google Function ] ``` -Now, any call via the Http Connector will be just forwarded to a specified hardcoded URL. And this proxy does the real -call then. +Now, any call via the Http Connector will be just forwarded to a specified hardcoded URL. And this proxy does the real call then. This avoids that you could reach internal endpoints in your Camunda network (e.g. the current Kubernetes cluster). -Just set the following property to enable proxy mode for the connector, e.g. in application.properties when using the -Spring-based runtime: +Just set the following property to enable proxy mode for the connector, e.g. in application.properties when using the Spring-based runtime: ```properties camunda.connector.http.proxy.url=https://someUrl/ @@ -192,8 +181,7 @@ GOOGLE_APPLICATION_CREDENTIALS=... ### :lock: Test the Connector locally with Google Cloud Function as a proxy -Run the [:lock:connector-proxy-saas](https://github.com/camunda/connector-proxy-saas) project locally as described in -its [:lock:README](https://github.com/camunda/connector-proxy-saas#usage). +Run the [:lock:connector-proxy-saas](https://github.com/camunda/connector-proxy-saas) project locally as described in its [:lock:README](https://github.com/camunda/connector-proxy-saas#usage). Set the specific property or environment variable to enable proxy mode as described above. @@ -205,66 +193,62 @@ The generic HTTP JSON Connector element template can be found in the [element-templates/http-json-connector.json](element-templates/http-json-connector.json) file. Additional Connector templates based on the HTTP JSON Connector: - - [Automation Anywhere Connector](../automation-anywhere) - [Blue Prism Connector](../blue-prism) - [UiPath Connector](../uipath) -## Properties +## Properties | Name | Type | Required | Description | Example | -|--------|----------|----------|-------------|----------------| +| ------ | -------- | -------- | ----------- | -------------- | | Method | Dropdown | Yes | | ```{ }``` | | URL | String | Yes | | ```"string"``` | - ## Result - The following json structure will be returned by the Connector and can be used in the result expression. ```json { - "body": { - "order": { - "id": "123", - "total": "100.00€" + "body" : { + "order" : { + "id" : "123", + "total" : "100.00€" } }, - "document": { - "documentId": "977c5cbf-0f19-4a76-a8e1-60902216a07b", - "metadata": { - "contentType": "application/pdf", - "customProperties": { - "key": "value" + "document" : { + "documentId" : "977c5cbf-0f19-4a76-a8e1-60902216a07b", + "metadata" : { + "contentType" : "application/pdf", + "customProperties" : { + "key" : "value" }, - "fileName": "theFileName.pdf", - "size": 516554 + "fileName" : "theFileName.pdf", + "processInstanceKey" : 0, + "size" : 516554 }, - "storeId": "theStoreId", - "documentType": "camunda" + "storeId" : "theStoreId", + "camunda.document.type" : "camunda" }, - "headers": { - "Content-Type": "application/json" + "headers" : { + "Content-Type" : "application/json" }, - "status": 200 + "status" : 200 } ``` The body can be accessed via FEEL: - ```json = body.order.id ``` - leading to the following result - ```json "123" ``` -| Connector Info | | -|-------------------------|------------------------| -| Type | io.camunda:http-json:1 | -| Version | 9 | -| Supported element types | | + +| Connector Info | | +| --- | --- | +| Type | io.camunda:http-json:1 | +| Version | 9 | +| Supported element types | | diff --git a/connectors/http/rest/README.peb b/connectors/http/rest/README.peb index d0326924f0..df1d6b8c4b 100644 --- a/connectors/http/rest/README.peb +++ b/connectors/http/rest/README.peb @@ -145,8 +145,11 @@ The Connector will fail on any non-2XX HTTP status code in the response. This er > :warning: Proxy mode is currently only supported in Camunda 8 SaaS environment. -You can configure the HTTP JSON Connector to do any outgoing HTTP call via a proxy. This proxy should be effectively also an HTTP JSON Connector -running in a different environment. +> :warning: This is for Camunda internal use only, do not mistake this with the [general proxy configuration](https://docs.camunda.io/docs/components/connectors/protocol/rest/#configure-a-proxy-server-in-self-managed) +> available in +> Self-Managed. +You can configure the HTTP JSON Connector to do any outgoing HTTP call via a proxy. This proxy should be effectively +also an HTTP JSON Connector For example, you can build the following runtime architecture: diff --git a/connectors/pom.xml b/connectors/pom.xml index 8c54d97594..5ea6a59387 100644 --- a/connectors/pom.xml +++ b/connectors/pom.xml @@ -47,7 +47,7 @@ except in compliance with the proprietary license. com.google.protobuf protobuf-java-util - 4.29.1 + 4.29.2 io.camunda.connector diff --git a/parent/pom.xml b/parent/pom.xml index f39ad46dae..3b60c3213b 100644 --- a/parent/pom.xml +++ b/parent/pom.xml @@ -71,7 +71,7 @@ limitations under the License. https://s01.oss.sonatype.org - 8.7.0-alpha2 + 8.7.0-alpha3-rc3 1.19.0 @@ -283,18 +283,18 @@ limitations under the License. io.camunda spring-boot-starter-camunda-sdk - ${version.zeebe} + ${version.camunda} io.camunda - zeebe-client-java - ${version.zeebe} + camunda-java + ${version.camunda} io.camunda zeebe-bpmn-model - ${version.zeebe} + ${version.camunda} @@ -426,6 +426,7 @@ limitations under the License. microsoft-graph ${version.microsoft-graph} + com.azure azure-identity @@ -481,12 +482,12 @@ limitations under the License. 1.27.1 - com.google.protobuf protobuf-java - 3.25.5 + 4.29.2 + com.google.protobuf @@ -521,7 +522,7 @@ limitations under the License. io.camunda camunda-process-test-spring - ${version.zeebe} + ${version.camunda} test