diff --git a/pom.xml b/pom.xml
index 224e469b..ec4a379c 100755
--- a/pom.xml
+++ b/pom.xml
@@ -90,6 +90,12 @@
awaitility
test
+
+ org.activiti.cloud.connector
+ activiti-cloud-starter-connector
+ test
+
+
diff --git a/src/test/java/org/activiti/cloud/runtime/RuntimeBundleApplicationTest.java b/src/test/java/org/activiti/cloud/runtime/RuntimeBundleApplicationTest.java
index 2442aee5..7ecce922 100644
--- a/src/test/java/org/activiti/cloud/runtime/RuntimeBundleApplicationTest.java
+++ b/src/test/java/org/activiti/cloud/runtime/RuntimeBundleApplicationTest.java
@@ -12,9 +12,7 @@
import java.util.concurrent.TimeUnit;
import com.fasterxml.jackson.core.JsonParseException;
-import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JsonMappingException;
-import com.fasterxml.jackson.databind.ObjectMapper;
import org.activiti.api.process.model.ProcessInstance;
import org.activiti.api.process.model.builders.StartProcessPayloadBuilder;
import org.activiti.api.process.model.payloads.StartProcessPayload;
@@ -22,7 +20,9 @@
import org.activiti.api.runtime.shared.security.SecurityManager;
import org.activiti.cloud.api.process.model.IntegrationRequest;
import org.activiti.cloud.api.process.model.IntegrationResult;
-import org.activiti.cloud.api.process.model.impl.IntegrationResultImpl;
+import org.activiti.cloud.connectors.starter.channels.IntegrationResultSender;
+import org.activiti.cloud.connectors.starter.configuration.ConnectorProperties;
+import org.activiti.cloud.connectors.starter.model.IntegrationResultBuilder;
import org.activiti.core.common.spring.identity.ExtendedInMemoryUserDetailsManager;
import org.activiti.engine.RuntimeService;
import org.awaitility.Awaitility;
@@ -38,11 +38,9 @@
import org.springframework.cloud.stream.annotation.Input;
import org.springframework.cloud.stream.annotation.StreamListener;
import org.springframework.cloud.stream.binder.test.TestChannelBinderConfiguration;
-import org.springframework.cloud.stream.binding.BinderAwareChannelResolver;
import org.springframework.context.annotation.Bean;
import org.springframework.messaging.Message;
import org.springframework.messaging.SubscribableChannel;
-import org.springframework.messaging.support.MessageBuilder;
import org.springframework.security.core.Authentication;
import org.springframework.security.core.GrantedAuthority;
import org.springframework.security.core.authority.SimpleGrantedAuthority;
@@ -126,23 +124,24 @@ public static interface ExampleConnectorChannels {
public static class ExampleConnectorConsumer {
@Autowired
- TestIntegrationResultSender integrationResultSender;
+ IntegrationResultSender integrationResultSender;
+
+ @Autowired
+ private ConnectorProperties connectorProperties;
@StreamListener(ExampleConnectorChannels.IMPLEMENTATION)
public void perfromTask(IntegrationRequest event) throws JsonParseException, JsonMappingException, IOException {
- Map result = Collections.singletonMap("result",
- event.getIntegrationContext()
- .getBusinessKey());
- event.getIntegrationContext()
- .addOutBoundVariables(result);
-
- IntegrationResult integrationResult = new IntegrationResultImpl(event,
- event.getIntegrationContext());
-
- integrationResultSender.send(integrationResult, ExampleConnectorChannels.IMPLEMENTATION);
+ Map results = Collections.singletonMap("result",
+ event.getIntegrationContext()
+ .getBusinessKey());
- assertThat(result).containsEntry("result", BUSINESS_KEY);
+ Message message = IntegrationResultBuilder.resultFor(event, connectorProperties)
+ .withOutboundVariables(results)
+ .buildMessage();
+ integrationResultSender.send(message);
+
+ assertThat(results).containsEntry("result", BUSINESS_KEY);
exampleConnectorConsumer.countDown();
}
@@ -151,11 +150,6 @@ public void perfromTask(IntegrationRequest event) throws JsonParseException, Jso
@TestConfiguration
public static class TestSupportConfig {
- @Bean
- public TestIntegrationResultSender testIntegrationResultSender() {
- return new TestIntegrationResultSender();
- }
-
@Bean
public UserDetailsService myUserDetailsService() {
ExtendedInMemoryUserDetailsManager extendedInMemoryUserDetailsManager = new ExtendedInMemoryUserDetailsManager();
@@ -254,24 +248,4 @@ public String getName() {
assertThat(securityManager.getAuthenticatedUserId()).isEqualTo(username);
}
}
-
-
- public static class TestIntegrationResultSender {
-
- @Autowired
- private BinderAwareChannelResolver resolver;
-
- @Autowired
- private ObjectMapper objectMapper;
-
- public void send(IntegrationResult integrationResult, String targetService) throws JsonProcessingException {
-
- Message message = MessageBuilder.withPayload(objectMapper.writeValueAsString(integrationResult))
- .setHeader("targetService", targetService)
- .build();
-
- resolver.resolveDestination("integrationResultsConsumer")
- .send(message);
- }
- }
}
\ No newline at end of file