Harmonize AWS and azure adapters

This commit is contained in:
Dave Syer
2018-10-12 17:10:13 +01:00
parent 3966f378b7
commit 083d5e3bf3
3 changed files with 56 additions and 60 deletions

View File

@@ -18,7 +18,6 @@ package org.springframework.cloud.function.adapter.aws;
import java.util.function.Consumer;
import java.util.function.Function;
import java.util.function.Supplier;
import java.util.stream.Collectors;
import org.junit.After;
@@ -62,6 +61,14 @@ public class SpringFunctionInitializerTests {
assertThat(result.blockFirst()).isInstanceOf(Bar.class);
}
@Test
public void functionApp() {
initializer = new SpringFunctionInitializer(FluxFunctionApp.class);
initializer.initialize();
Flux<?> result = Flux.from(initializer.apply(Flux.just(new Foo())));
assertThat(result.blockFirst()).isInstanceOf(Bar.class);
}
@Test
public void functionCatalog() {
initializer = new SpringFunctionInitializer(FunctionConfig.class);
@@ -96,14 +103,6 @@ public class SpringFunctionInitializerTests {
assertThat(result.toStream().collect(Collectors.toList())).isEmpty();
}
@Test
public void supplierCatalog() {
initializer = new SpringFunctionInitializer(SupplierConfig.class);
initializer.initialize();
Flux<?> result = Flux.from(initializer.apply(Flux.empty()));
assertThat(result.blockFirst()).isInstanceOf(Bar.class);
}
@Configuration
protected static class FluxFunctionConfig {
@Bean
@@ -112,6 +111,13 @@ public class SpringFunctionInitializerTests {
}
}
protected static class FluxFunctionApp implements Function<Flux<Foo>, Flux<Bar>> {
@Override
public Flux<Bar> apply(Flux<Foo> flux) {
return flux.map(foo -> new Bar());
}
}
protected static class FunctionRegistrar
implements ApplicationContextInitializer<GenericApplicationContext> {
@@ -147,15 +153,6 @@ public class SpringFunctionInitializerTests {
}
}
@Configuration
@Import(ContextFunctionCatalogAutoConfiguration.class)
protected static class SupplierConfig {
@Bean
public Supplier<Bar> supplier() {
return () -> new Bar();
}
}
@Configuration
@Import(ContextFunctionCatalogAutoConfiguration.class)
protected static class ConsumerConfig {