Fix sample so the thin.profile=stream works
This commit is contained in:
2
pom.xml
2
pom.xml
@@ -18,7 +18,7 @@
|
||||
<java.version>1.8</java.version>
|
||||
<reactor-bom.version>Aluminium-BUILD-SNAPSHOT</reactor-bom.version>
|
||||
<spring-cloud-stream.version>Chelsea.SR1</spring-cloud-stream.version>
|
||||
<wrapper.version>1.0.0.RELEASE</wrapper.version>
|
||||
<wrapper.version>1.0.1.RELEASE</wrapper.version>
|
||||
<spring-boot.version>1.5.2.RELEASE</spring-boot.version>
|
||||
</properties>
|
||||
|
||||
|
||||
@@ -18,7 +18,10 @@ package org.springframework.cloud.function.deployer;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Properties;
|
||||
|
||||
import org.junit.Assume;
|
||||
import org.junit.BeforeClass;
|
||||
@@ -34,6 +37,7 @@ import org.springframework.cloud.deployer.spi.core.AppDeploymentRequest;
|
||||
import org.springframework.cloud.deployer.thin.ThinJarAppDeployer;
|
||||
import org.springframework.core.io.FileSystemResource;
|
||||
import org.springframework.core.io.Resource;
|
||||
import org.springframework.util.StringUtils;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
@@ -71,9 +75,8 @@ public class FunctionAppDeployerTests {
|
||||
|
||||
@Test
|
||||
public void web() throws Exception {
|
||||
String first = deploy(
|
||||
"maven://com.example:function-sample:1.0.0.BUILD-SNAPSHOT",
|
||||
"--function.name=uppercase");
|
||||
String first = deploy("maven://com.example:function-sample:1.0.0.BUILD-SNAPSHOT",
|
||||
"");
|
||||
// Deployment is blocking so it either failed or succeeded.
|
||||
assertThat(deployer.status(first).getState()).isEqualTo(DeploymentState.deployed);
|
||||
deployer.undeploy(first);
|
||||
@@ -81,25 +84,36 @@ public class FunctionAppDeployerTests {
|
||||
|
||||
@Test
|
||||
public void stream() throws Exception {
|
||||
String first = deploy(
|
||||
"maven://com.example:function-sample:1.0.0.BUILD-SNAPSHOT",
|
||||
"--spring.cloud.stream.bindings.input.destination=words",
|
||||
"--spring.cloud.stream.bindings.output.destination=uppercaseWords",
|
||||
"--function.name=uppercase");
|
||||
String first = deploy("maven://com.example:function-sample:1.0.0.BUILD-SNAPSHOT",
|
||||
"spring.cloud.deployer.thin.profile=stream");
|
||||
// Deployment is blocking so it either failed or succeeded.
|
||||
assertThat(deployer.status(first).getState()).isEqualTo(DeploymentState.deployed);
|
||||
deployer.undeploy(first);
|
||||
}
|
||||
|
||||
private String deploy(String jarName, String... args) throws Exception {
|
||||
private String deploy(String jarName, String properties, String... args)
|
||||
throws Exception {
|
||||
Resource resource = new FileSystemResource(
|
||||
ArchiveUtils.getArchiveRoot(ArchiveUtils.getArchive(jarName)));
|
||||
AppDefinition definition = new AppDefinition(resource.getFilename(),
|
||||
Collections.emptyMap());
|
||||
AppDeploymentRequest request = new AppDeploymentRequest(definition, resource,
|
||||
Collections.emptyMap(), Arrays.asList(args));
|
||||
properties(properties), Arrays.asList(args));
|
||||
String deployed = deployer.deploy(request);
|
||||
return deployed;
|
||||
}
|
||||
|
||||
private Map<String, String> properties(String properties) {
|
||||
Map<String, String> map = new LinkedHashMap<>();
|
||||
Properties props = StringUtils.splitArrayElementsIntoProperties(
|
||||
StringUtils.commaDelimitedListToStringArray(properties), "=");
|
||||
if (props != null) {
|
||||
for (Object name : props.keySet()) {
|
||||
String key = (String) name;
|
||||
map.put(key, props.getProperty(key));
|
||||
}
|
||||
}
|
||||
return map;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
<properties>
|
||||
<java.version>1.8</java.version>
|
||||
<spring-cloud-function.version>1.0.0.BUILD-SNAPSHOT</spring-cloud-function.version>
|
||||
<wrapper.version>1.0.0.RELEASE</wrapper.version>
|
||||
<wrapper.version>1.0.1.RELEASE</wrapper.version>
|
||||
<reactor.version>3.0.6.RELEASE</reactor.version>
|
||||
</properties>
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
<properties>
|
||||
<java.version>1.8</java.version>
|
||||
<spring-cloud-function.version>1.0.0.BUILD-SNAPSHOT</spring-cloud-function.version>
|
||||
<wrapper.version>1.0.0.RELEASE</wrapper.version>
|
||||
<wrapper.version>1.0.1.RELEASE</wrapper.version>
|
||||
<reactor.version>3.0.7.BUILD-SNAPSHOT</reactor.version>
|
||||
</properties>
|
||||
|
||||
@@ -42,7 +42,7 @@
|
||||
<dependency>
|
||||
<groupId>org.springframework.cloud</groupId>
|
||||
<artifactId>spring-cloud-dependencies</artifactId>
|
||||
<version>Camden.SR4</version>
|
||||
<version>Dalston.RELEASE</version>
|
||||
<type>pom</type>
|
||||
<scope>import</scope>
|
||||
</dependency>
|
||||
|
||||
@@ -1 +1,4 @@
|
||||
function.name: uppercase
|
||||
spring.cloud.stream.bindings.input.destination: foos
|
||||
spring.cloud.stream.bindings.output.destination: bars
|
||||
spring.cloud.function.stream.endpoint: uppercase
|
||||
management.security.enabled: false
|
||||
@@ -20,7 +20,7 @@
|
||||
<properties>
|
||||
<java.version>1.8</java.version>
|
||||
<spring-cloud-function.version>1.0.0.BUILD-SNAPSHOT</spring-cloud-function.version>
|
||||
<wrapper.version>1.0.0.RELEASE</wrapper.version>
|
||||
<wrapper.version>1.0.1.RELEASE</wrapper.version>
|
||||
<reactor.version>3.0.7.BUILD-SNAPSHOT</reactor.version>
|
||||
</properties>
|
||||
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
boms.spring-cloud-dependencies: org.springframework.cloud:spring-cloud-dependencies:Dalston.RELEASE
|
||||
dependencies.spring-cloud-function-stream: org.springframework.cloud:spring-cloud-function-stream:1.0.0.BUILD-SNAPSHOT
|
||||
dependencies.spring-cloud-stream-rabbit: org.springframework.cloud:spring-cloud-starter-stream-rabbit
|
||||
@@ -0,0 +1,3 @@
|
||||
spring.cloud.stream.bindings.input.destination: words
|
||||
spring.cloud.stream.bindings.output.destination: uppercaseWords
|
||||
spring.cloud.function.stream.endpoint: uppercase
|
||||
Reference in New Issue
Block a user