diff --git a/README.md b/README.md
index 8a0b947..ec61e9d 100644
--- a/README.md
+++ b/README.md
@@ -3,6 +3,12 @@ The Spring Cloud Bindings library exposes a rich Java language binding for the [
[s]: https://github.com/servicebinding/spec
+## Features
+* Java 17
+* Spring Boot 3
+
+For Spring Boot 2 compatibility, please have a look at the [1.x releases](https://github.com/spring-cloud/spring-cloud-bindings/tree/1.x).
+
## Library Usage
While less used, explicit binding access can be achieved through the `Bindings` type.
@@ -38,12 +44,13 @@ Each auto-configuration is triggered by the type of binding. Each auto-configur
Type: `artemis`
Disable Property: `org.springframework.cloud.bindings.boot.artemis.enable`
+#### Properties
+
| Property | Value |
| --------------------------------------------------- | -------------------------------------- |
-| `spring.artemis.host` | `{host}` |
+| `spring.artemis.broker-url` | `{broker-url}` |
| `spring.artemis.mode` | `{mode}` |
| `spring.artemis.password` | `{password}` |
-| `spring.artemis.port` | `{port}` |
| `spring.artemis.user` | `{user}` |
| `spring.artemis.embedded.cluster-password` | `{embedded.cluster-password}` |
| `spring.artemis.embedded.data-directory` | `{embedded.data-directory}` |
@@ -65,30 +72,35 @@ Disable Property: `org.springframework.cloud.bindings.boot.artemis.enable`
Type: `cassandra`
Disable Property: `org.springframework.cloud.bindings.boot.cassandra.enable`
-| Property | Value |
-| -------------------------------------- | ------------------ |
-| `spring.data.cassandra.cluster-name` | `{cluster-name}` |
-| `spring.data.cassandra.compression` | `{compression}` |
-| `spring.data.cassandra.contact-points` | `{contact-points}` |
-| `spring.data.cassandra.keyspace-name` | `{keyspace-name}` |
-| `spring.data.cassandra.password` | `{password}` |
-| `spring.data.cassandra.port` | `{port}` |
-| `spring.data.cassandra.ssl` | `{ssl}` |
-| `spring.data.cassandra.username` | `{username}` |
+#### Properties
+
+| Property | Value |
+|--------------------------------------------------------------|-----------------------------------------------|
+| `spring.cassandra.cluster-name` | `{cluster-name}` |
+| `spring.cassandra.compression` | `{compression}` |
+| `spring.cassandra.contact-points` | `{contact-points}` |
+| `spring.cassandra.keyspace-name` | `{keyspace-name}` |
+| `spring.cassandra.password` | `{password}` |
+| `spring.cassandra.port` | `{port}` |
+| `spring.cassandra.ssl` | `{ssl}` |
+| `spring.cassandra.username` | `{username}` |
+| `spring.cassandra.request.throttler.drain-interval` | `{request.throttler.drain-interval}` |
+| `spring.cassandra.request.throttler.max-concurrent-requests` | `{request.throttler.max-concurrent-requests}` |
+| `spring.cassandra.request.throttler.max-queue-size` | `{request.throttler.max-queue-size}` |
+| `spring.cassandra.request.throttler.max-requests-per-second` | `{request.throttler.max-requests-per-second}` |
### Couchbase
Type: `couchbase`
Disable Property: `org.springframework.cloud.bindings.boot.couchbase.enable`
-| Property | Value |
-| ------------------------------------------------- | ---------------------------------- |
-| `spring.couchbase.bootstrap-hosts` | `{bootstrap-hosts}` |
-| `spring.couchbase.bucket.name` | `{bucket.name}` |
-| `spring.couchbase.bucket.password` | `{bucket.passsword}` |
-| `spring.couchbase.env.bootstrap.http-direct-port` | `{env.bootstrap.http-direct-port}` |
-| `spring.couchbase.env.bootstrap.http-ssl-port` | `{env.bootstrap.http-ssl-port}` |
-| `spring.couchbase.password` | `{password}` |
-| `spring.couchbase.username` | `{username}` |
+#### Properties
+
+| Property | Value |
+|--------------------------------------------------|---------------------------|
+| `spring.couchbase.connection-string` | `{connection-string}` |
+| `spring.data.couchbase.bucket-name` | `{bucket-name}` |
+| `spring.couchbase.password` | `{password}` |
+| `spring.couchbase.username` | `{username}` |
### DB2 RDBMS
Type: `db2`
@@ -109,19 +121,13 @@ Disable Property: `org.springframework.cloud.bindings.boot.db2.enable`
Type: `elasticsearch`
Disable Property: `org.springframework.cloud.bindings.boot.elasticsearch.enable`
-| Property | Value |
-| ----------------------------------------------------- | -------------- |
-| `spring.data.elasticsearch.client.reactive.endpoints` | `{endpoints}` |
-| `spring.data.elasticsearch.client.reactive.password` | `{password}` |
-| `spring.data.elasticsearch.client.reactive.use-ssl` | `{use-ssl}` |
-| `spring.data.elasticsearch.client.reactive.username` | `{username}` |
-| `spring.elasticsearch.jest.password` | `{password}` |
-| `spring.elasticsearch.jest.proxy.host` | `{proxy.host}` |
-| `spring.elasticsearch.jest.proxy.port` | `{proxy.port}` |
-| `spring.elasticsearch.jest.username` | `{username}` |
-| `spring.elasticsearch.rest.password` | `{password}` |
-| `spring.elasticsearch.rest.uris` | `{uris}` |
-| `spring.elasticsearch.rest.username` | `{username}` |
+#### Properties
+
+| Property | Value |
+|---------------------------------|---------------|
+| `spring.elasticsearch.password` | `{password}` |
+| `spring.elasticsearch.uris` | `{uris}` |
+| `spring.elasticsearch.username` | `{username}` |
### Kafka
Type: `kafka`
@@ -180,11 +186,13 @@ Disable Property: `org.springframework.cloud.bindings.boot.mysql.enable`
Type: `neo4j`
Disable Property: `org.springframework.cloud.bindings.boot.neo4j.enable`
-| Property | Value |
-| ---------------------------- | ------------ |
-| `spring.data.neo4j.password` | `{password}` |
-| `spring.data.neo4j.uri` | `{uri}` |
-| `spring.data.neo4j.username` | `{username}` |
+#### Properties
+
+| Property | Value |
+|-----------------------------------------|----------------|
+| `spring.neo4j.uri` | `{uri}` |
+| `spring.neo4j.authentication.username` | `{username}` |
+| `spring.neo4j.authentication.password` | `{password}` |
### Oracle RDBMS
Type: `oracle`
@@ -231,19 +239,21 @@ Disable Property: `org.springframework.cloud.bindings.boot.rabbitmq.enable`
Type: `redis`
Disable Property: `org.springframework.cloud.bindings.boot.redis.enable`
-| Property | Value |
-| ------------------------------------ | ------------------------- |
-| `spring.redis.client-name` | `{client-name}` |
-| `spring.redis.cluster.max-redirects` | `{cluster.max-redirects}` |
-| `spring.redis.cluster.nodes` | `{cluster.nodes}` |
-| `spring.redis.database` | `{database}` |
-| `spring.redis.host` | `{host}` |
-| `spring.redis.password` | `{password}` |
-| `spring.redis.port` | `{port}` |
-| `spring.redis.sentinel.master` | `{sentinel.master}` |
-| `spring.redis.sentinel.nodes` | `{sentinel.nodes}` |
-| `spring.redis.ssl` | `{ssl}` |
-| `spring.redis.url` | `{url}` |
+#### Properties
+
+| Property | Value |
+|-------------------------------------------|---------------------------|
+| `spring.data.redis.client-name` | `{client-name}` |
+| `spring.data.redis.cluster.max-redirects` | `{cluster.max-redirects}` |
+| `spring.data.redis.cluster.nodes` | `{cluster.nodes}` |
+| `spring.data.redis.database` | `{database}` |
+| `spring.data.redis.host` | `{host}` |
+| `spring.data.redis.password` | `{password}` |
+| `spring.data.redis.port` | `{port}` |
+| `spring.data.redis.sentinel.master` | `{sentinel.master}` |
+| `spring.data.redis.sentinel.nodes` | `{sentinel.nodes}` |
+| `spring.data.redis.ssl` | `{ssl}` |
+| `spring.data.redis.url` | `{url}` |
### SAP Hana
Type: `hana`
@@ -338,6 +348,7 @@ Type: `vault`
Disable Property: `org.springframework.cloud.bindings.boot.vault.enable`
Any Provider:
+
| Property | Value |
| ----------------------------------- | ------------------------- |
| `spring.cloud.vault.authentication` | `{authentication-method}` |
@@ -345,6 +356,7 @@ Any Provider:
| `spring.cloud.vault.uri` | `{uri}` |
If `{authentication-method}` is equal to `approle`:
+
| Property | Value |
| ------------------------------------------- | ----------------- |
| `spring.cloud.vault.app-role.app-role-path` | `{app-role-path}` |
@@ -353,6 +365,7 @@ If `{authentication-method}` is equal to `approle`:
| `spring.cloud.vault.app-role.secret-id` | `{secret-id}` |
If `{authentication-method}` is equal to `aws_ec2`:
+
| Property | Value |
| ---------------------------------------------- | -------------------------------------- |
| `spring.cloud.vault.aws-ec2.aws-ec2-path` | `{aws-ec2-path}` |
@@ -361,57 +374,70 @@ If `{authentication-method}` is equal to `aws_ec2`:
| `spring.cloud.vault.aws-ec2.role` | `{role}` |
If `{authentication-method}` is equal to `aws_iam`:
-| Property | Value |
-| ----------------------------------------- | ------------------------ |
-| `spring.cloud.vault.aws-iam.aws-path` | `{aws-path}` |
-| `spring.cloud.vault.aws-iam.endpoint-uri` | `{aws-sts-endpoint-uri}` |
-| `spring.cloud.vault.aws-iam.role` | `{role}` |
-| `spring.cloud.vault.aws-iam.server-id` | `{aws-iam-server-id}` |
+
+| Property | Value |
+|-------------------------------------------|----------------------------------------|
+| `spring.cloud.vault.aws-iam.aws-path` | `{aws-path}` |
+| `spring.cloud.vault.aws-iam.endpoint-uri` | `{aws-sts-endpoint-uri}` |
+| `spring.cloud.vault.aws-iam.role` | `{role}` |
+| `spring.cloud.vault.aws-iam.server-name` | `{aws-iam-server-name}` |
If `{authentication-method}` is equal to `azure_msi`:
-| Property | Value |
-| ----------------------------------------- | -------------- |
-| `spring.cloud.vault.azure-msi.azure-path` | `{azure-path}` |
-| `spring.cloud.vault.azure-msi.role` | `{role}` |
+
+| Property | Value |
+|-------------------------------------------------------|------------------------------------------|
+| `spring.cloud.vault.azure-msi.azure-path` | `{azure-path}` |
+| `spring.cloud.vault.azure-msi.role` | `{role}` |
+| `spring.cloud.vault.azure-msi.metadata-service` | `{metadata-service}` |
+| `spring.cloud.vault.azure-msi.identity-token-service` | `{identity-token-service}` |
If `{authentication-method}` is equal to `cert`:
-| Property | Value |
-| ------------------------------------------- | --------------------------------------------- |
-| `spring.cloud.vault.ssl.cert-auth-path` | `{cert-auth-path}` |
-| `spring.cloud.vault.ssl.key-store-password` | `{key-store-password}` |
-| `spring.cloud.vault.ssl.key-store` | `${SERVICE_BINDING_ROOT}/{name}/keystore.jks` |
+
+| Property | Value |
+|-----------------------------------------------|---------------------------------------------------------------|
+| `spring.cloud.vault.ssl.cert-auth-path` | `{cert-auth-path}` |
+| `spring.cloud.vault.ssl.key-store-password` | `{key-store-password}` |
+| `spring.cloud.vault.ssl.key-store` | `${SERVICE_BINDING_ROOT}/{name}/keystore.jks` |
+| `spring.cloud.vault.ssl.trust-store` | `${SERVICE_BINDING_ROOT}/{name}/truststore.jks` |
+| `spring.cloud.vault.ssl.trust-store-password` | `{trust-store-password}` |
If `{authentication-method}` is equal to `cubbyhole`:
+
| Property | Value |
| -------------------------- | --------- |
| `spring.cloud.vault.token` | `{token}` |
If `{authentication-method}` is equal to `gcp_gce`:
+
| Property | Value |
| -------------------------------------------- | ----------------------- |
| `spring.cloud.vault.gcp-gce.gcp-path` | `{gcp-path}` |
| `spring.cloud.vault.gcp-gce.role` | `{role}` |
| `spring.cloud.vault.gcp-gce.service-account` | `{gcp-service-account}` |
-
If `{authentication-method}` is equal to `gcp_iam`:
-| Property | Value |
-| ---------------------------------------------------- | ------------------------------------------------- |
-| `spring.cloud.vault.gcp-iam.credentials.encoded-key` | `{encoded-key}` |
-| `spring.cloud.vault.gcp-iam.credentials.location` | `${SERVICE_BINDING_ROOT}/{name}/credentials.json` |
-| `spring.cloud.vault.gcp-iam.gcp-path` | `{gcp-path}` |
-| `spring.cloud.vault.gcp-iam.jwt-validity` | `{jwt-validity}` |
-| `spring.cloud.vault.gcp-iam.project-id` | `{gcp-project-id}` |
-| `spring.cloud.vault.gcp-iam.role` | `{role}` |
-| `spring.cloud.vault.gcp-iam.service-account` | `{gcp-service-account}` |
+
+| Property | Value |
+|------------------------------------------------------|----------------------------------------------------|
+| `spring.cloud.vault.gcp-iam.credentials.encoded-key` | `{encoded-key}` |
+| `spring.cloud.vault.gcp-iam.credentials.location` | `${SERVICE_BINDING_ROOT}/{name}/credentials.json` |
+| `spring.cloud.vault.gcp-iam.gcp-path` | `{gcp-path}` |
+| `spring.cloud.vault.gcp-iam.jwt-validity` | `{jwt-validity}` |
+| `spring.cloud.vault.gcp-iam.project-id` | `{gcp-project-id}` |
+| `spring.cloud.vault.gcp-iam.role` | `{role}` |
+| `spring.cloud.vault.gcp-iam.service-account` | `{gcp-service-account}` Spring Boot 2 |
+| `spring.cloud.vault.gcp-iam.service-account-id` | `{gcp-service-account}` Spring Boot 3 |
If `{authentication-method}` is equal to `kubernetes`:
-| Property | Value |
-| ----------------------------------------------- | ------------------- |
-| `spring.cloud.vault.kubernetes.kubernetes-path` | `{kubernetes-path}` |
-| `spring.cloud.vault.kubernetes.role` | `{role}` |
+
+| Property | Value |
+|-----------------------------------------------------------------------|---------------------------------------------------------|
+| `spring.cloud.vault.kubernetes.role` | `{role}` |
+| `spring.cloud.vault.kubernetes.kubernetes-path` | `{kubernetes-path}` |
+| `spring.cloud.vault.kubernetes.kubernetes-service-account-token-file` | `{kubernetes-service-account-token-file}` Spring Boot 3 |
If `{authentication-method}` is equal to `token`:
+
| Property | Value |
| -------------------------- | --------- |
| `spring.cloud.vault.token` | `{token}` |
diff --git a/pom.xml b/pom.xml
index 2afa54c..60c081b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,13 +5,23 @@
4.0.0
org.springframework.cloud
- spring-cloud-bindings
- 1.13.0-SNAPSHOT
+ spring-cloud-bindings-parent
+ 2.0.0-SNAPSHOT
+ pom
- Spring Cloud Cloud Native Buildpacks Bindings
+ Spring Cloud Cloud Native Buildpacks Bindings Parent
Java Library and Auto-configuration for Cloud Native Buildpack Bindings
https://github.com/spring-cloud/spring-cloud-bindings
+
+ UTF-8
+ UTF-8
+ 17
+ ${java.version}
+ ${java.version}
+ 3.1.0
+
+
Apache License, Version 2.0
@@ -19,173 +29,19 @@
+
+ spring-cloud-bindings
+ spring-cloud-bindings-tests
+
https://github.com/spring-cloud/spring-cloud-bindings
-
- scb-team
- Spring Cloud Bindings Team
- https://github.com/spring-cloud/spring-cloud-bindings/graphs/contributors
-
+
+ scb-team
+ Spring Cloud Bindings Team
+ https://github.com/spring-cloud/spring-cloud-bindings/graphs/contributors
+
-
-
- 1.8
- 3.0.2
- 1.0.3
- 2.3.3.RELEASE
-
-
- 3.8.1
- 3.2.1
- 2.22.2
- 3.0.1
- 3.4.1
-
- ${java.version}
- ${java.version}
- UTF-8
- UTF-8
-
-
-
-
-
- org.springframework.boot
- spring-boot-dependencies
- ${spring-boot.version}
- pom
- import
-
-
-
-
-
-
- com.google.code.findbugs
- jsr305
- ${jsr305.version}
- provided
-
-
- org.springframework.boot
- spring-boot-starter
- provided
-
-
-
- org.mariadb.jdbc
- mariadb-java-client
- test
-
-
- org.mariadb
- r2dbc-mariadb
- ${mariadb-r2dbc.version}
- test
-
-
- org.mockito
- mockito-core
- test
-
-
- org.springframework.boot
- spring-boot-starter-test
- test
-
-
- org.junit.vintage
- junit-vintage-engine
-
-
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-compiler-plugin
- ${maven-compiler-plugin.version}
-
-
- -Werror
- -Xlint:all
- -Xlint:-options
- -Xlint:-processing
- -Xlint:-serial
-
- true
-
-
-
- org.apache.maven.plugins
- maven-source-plugin
- ${maven-source-plugin.version}
-
-
- attach-sources
-
- jar
-
-
-
-
-
- org.apache.maven.plugins
- maven-javadoc-plugin
- ${maven-javadoc-plugin.version}
-
- true
- 1.8
-
-
- NonNullApi
- X
-
-
-
-
-
- attach-javadocs
-
- jar
-
-
-
-
-
- org.apache.maven.plugins
- maven-gpg-plugin
- ${maven-gpg-plugin.version}
-
-
- sign-artifacts
- verify
-
- sign
-
-
-
- --pinentry-mode
- loopback
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-surefire-plugin
- ${maven-surefire-plugin.version}
-
- random
-
-
-
-
-
diff --git a/spring-cloud-bindings-tests/README.md b/spring-cloud-bindings-tests/README.md
new file mode 100644
index 0000000..d52988b
--- /dev/null
+++ b/spring-cloud-bindings-tests/README.md
@@ -0,0 +1,16 @@
+# Spring Cloud Bindings Test Boot 3
+
+## Purpose of this module
+
+For several Spring Cloud Bindings integrations, the properties bindings need to be different between Spring Boot 2 and Spring Boot 3.
+
+In a Spring Boot 3 application, the mapping needs to be different because of changes with Spring Data Redis:
+
+| Property | Value |
+|--------------------------|----------|
+| `spring.data.redis.port` | `{port}` |
+| `spring.data.redis.host` | `{host}` |
+
+This module runs an application, based on Spring Boot 3, and checks whether the `RedisConnectionFactory` properly picked up the `spring.data.redis.port` and `spring.data.redis.host` values.
+
+Pay attention to the 2 environment variables set in the `pom.xml` that set `SERVICE_BINDING_ROOT` - they allow Spring Boot Bindings to load the proper configuration in `bindings/redis`
\ No newline at end of file
diff --git a/spring-cloud-bindings-tests/pom.xml b/spring-cloud-bindings-tests/pom.xml
new file mode 100644
index 0000000..315917e
--- /dev/null
+++ b/spring-cloud-bindings-tests/pom.xml
@@ -0,0 +1,76 @@
+
+
+ 4.0.0
+
+ org.springframework.cloud
+ spring-cloud-bindings-parent
+ 2.0.0-SNAPSHOT
+ ../pom.xml
+
+ spring-cloud-bindings-tests
+ Test project to verify Spring Cloud Bindings works properly with Spring Boot 2
+
+
+ org.springframework.boot
+ spring-boot-starter
+ ${spring-boot.version}
+ test
+
+
+ org.springframework.boot
+ spring-boot-starter-data-redis
+ ${spring-boot.version}
+ test
+
+
+ javax.annotation
+ javax.annotation-api
+ 1.3.1
+ test
+
+
+ org.springframework.cloud
+ spring-cloud-bindings
+ ${version}
+ test
+
+
+ org.springframework.boot
+ spring-boot-starter-test
+ ${spring-boot.version}
+ test
+
+
+ com.github.kstyrc
+ embedded-redis
+ 0.6
+ test
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ 3.10.1
+
+
+ org.apache.maven.plugins
+ maven-surefire-plugin
+ 2.22.2
+
+ 1
+ false
+
+ ${basedir}/src/test/resources/bindings
+
+ -Xmx1024m
+
+
+
+
+
+
+
diff --git a/spring-cloud-bindings-tests/src/test/java/org/springframework/cloud/IntegrationTest.java b/spring-cloud-bindings-tests/src/test/java/org/springframework/cloud/IntegrationTest.java
new file mode 100644
index 0000000..f48f1b7
--- /dev/null
+++ b/spring-cloud-bindings-tests/src/test/java/org/springframework/cloud/IntegrationTest.java
@@ -0,0 +1,21 @@
+package org.springframework.cloud;
+
+import org.junit.jupiter.api.Test;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.data.redis.core.RedisTemplate;
+
+import static org.junit.jupiter.api.Assertions.assertTrue;
+
+@SpringBootTest(classes = RedisServerTestConfiguration.class)
+public class IntegrationTest {
+
+ @Autowired
+ private RedisTemplate redisTemplate;
+
+ @Test
+ public void shouldSaveUser_toRedis() {
+ redisTemplate.opsForValue().set("hello", "world");
+ assertTrue(redisTemplate.hasKey("hello"));
+ }
+}
diff --git a/spring-cloud-bindings-tests/src/test/java/org/springframework/cloud/RedisServerTestConfiguration.java b/spring-cloud-bindings-tests/src/test/java/org/springframework/cloud/RedisServerTestConfiguration.java
new file mode 100644
index 0000000..fe3ba38
--- /dev/null
+++ b/spring-cloud-bindings-tests/src/test/java/org/springframework/cloud/RedisServerTestConfiguration.java
@@ -0,0 +1,33 @@
+package org.springframework.cloud;
+
+import org.springframework.boot.test.context.TestConfiguration;
+import org.springframework.core.io.ClassPathResource;
+import redis.embedded.RedisServer;
+
+import javax.annotation.PostConstruct;
+import javax.annotation.PreDestroy;
+import java.io.IOException;
+import java.util.Scanner;
+
+@TestConfiguration
+public class RedisServerTestConfiguration {
+
+ private final RedisServer redisServer;
+
+ public RedisServerTestConfiguration() throws IOException {
+ try (Scanner scanner = new Scanner(new ClassPathResource("bindings/redis/port").getInputStream())) {
+ int port = scanner.nextInt();
+ this.redisServer = new RedisServer(port);
+ }
+ }
+
+ @PostConstruct
+ public void postConstruct() {
+ redisServer.start();
+ }
+
+ @PreDestroy
+ public void preDestroy() {
+ redisServer.stop();
+ }
+}
\ No newline at end of file
diff --git a/spring-cloud-bindings-tests/src/test/java/org/springframework/cloud/SpringBoot3Application.java b/spring-cloud-bindings-tests/src/test/java/org/springframework/cloud/SpringBoot3Application.java
new file mode 100644
index 0000000..4bf7b7e
--- /dev/null
+++ b/spring-cloud-bindings-tests/src/test/java/org/springframework/cloud/SpringBoot3Application.java
@@ -0,0 +1,7 @@
+package org.springframework.cloud;
+
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+@SpringBootApplication
+public class SpringBoot3Application {
+}
diff --git a/spring-cloud-bindings-tests/src/test/resources/bindings/redis/host b/spring-cloud-bindings-tests/src/test/resources/bindings/redis/host
new file mode 100644
index 0000000..d18580b
--- /dev/null
+++ b/spring-cloud-bindings-tests/src/test/resources/bindings/redis/host
@@ -0,0 +1 @@
+localhost
\ No newline at end of file
diff --git a/spring-cloud-bindings-tests/src/test/resources/bindings/redis/port b/spring-cloud-bindings-tests/src/test/resources/bindings/redis/port
new file mode 100644
index 0000000..14eb34e
--- /dev/null
+++ b/spring-cloud-bindings-tests/src/test/resources/bindings/redis/port
@@ -0,0 +1 @@
+4343
\ No newline at end of file
diff --git a/spring-cloud-bindings-tests/src/test/resources/bindings/redis/type b/spring-cloud-bindings-tests/src/test/resources/bindings/redis/type
new file mode 100644
index 0000000..74b362f
--- /dev/null
+++ b/spring-cloud-bindings-tests/src/test/resources/bindings/redis/type
@@ -0,0 +1 @@
+redis
\ No newline at end of file
diff --git a/spring-cloud-bindings/pom.xml b/spring-cloud-bindings/pom.xml
new file mode 100644
index 0000000..5b88452
--- /dev/null
+++ b/spring-cloud-bindings/pom.xml
@@ -0,0 +1,187 @@
+
+
+
+ 4.0.0
+
+
+ org.springframework.cloud
+ spring-cloud-bindings-parent
+ 2.0.0-SNAPSHOT
+ ../pom.xml
+
+
+ spring-cloud-bindings
+ Spring Cloud Cloud Native Buildpacks Bindings
+ Java Library and Auto-configuration for Cloud Native Buildpack Bindings
+ https://github.com/spring-cloud/spring-cloud-bindings
+
+
+
+ Apache License, Version 2.0
+ https://www.apache.org/licenses/LICENSE-2.0.txt
+
+
+
+
+ https://github.com/spring-cloud/spring-cloud-bindings
+
+
+
+
+ scb-team
+ Spring Cloud Bindings Team
+ https://github.com/spring-cloud/spring-cloud-bindings/graphs/contributors
+
+
+
+
+ 3.0.2
+ 1.1.2
+
+
+ 3.10.1
+ 3.2.1
+ 3.0.0-M7
+ 3.0.1
+ 3.4.1
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-dependencies
+ ${spring-boot.version}
+ pom
+ import
+
+
+
+
+
+
+ com.google.code.findbugs
+ jsr305
+ ${jsr305.version}
+ provided
+
+
+ org.springframework.boot
+ spring-boot-starter
+ provided
+
+
+
+ org.mariadb.jdbc
+ mariadb-java-client
+ test
+
+
+ org.mariadb
+ r2dbc-mariadb
+ ${mariadb-r2dbc.version}
+ test
+
+
+ org.mockito
+ mockito-core
+ test
+
+
+ org.springframework.boot
+ spring-boot-starter-test
+ test
+
+
+ org.junit.vintage
+ junit-vintage-engine
+
+
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ ${maven-compiler-plugin.version}
+
+
+ -Werror
+ -Xlint:all
+ -Xlint:-options
+ -Xlint:-processing
+ -Xlint:-serial
+
+ true
+
+
+
+ org.apache.maven.plugins
+ maven-source-plugin
+ ${maven-source-plugin.version}
+
+
+ attach-sources
+
+ jar
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-javadoc-plugin
+ ${maven-javadoc-plugin.version}
+
+ true
+ 1.8
+
+
+ NonNullApi
+ X
+
+
+
+
+
+ attach-javadocs
+
+ jar
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-gpg-plugin
+ ${maven-gpg-plugin.version}
+
+
+ sign-artifacts
+ verify
+
+ sign
+
+
+
+ --pinentry-mode
+ loopback
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-surefire-plugin
+ ${maven-surefire-plugin.version}
+
+ random
+
+
+
+
+
diff --git a/src/main/java/org/springframework/cloud/bindings/Binding.java b/spring-cloud-bindings/src/main/java/org/springframework/cloud/bindings/Binding.java
similarity index 100%
rename from src/main/java/org/springframework/cloud/bindings/Binding.java
rename to spring-cloud-bindings/src/main/java/org/springframework/cloud/bindings/Binding.java
diff --git a/src/main/java/org/springframework/cloud/bindings/Bindings.java b/spring-cloud-bindings/src/main/java/org/springframework/cloud/bindings/Bindings.java
similarity index 100%
rename from src/main/java/org/springframework/cloud/bindings/Bindings.java
rename to spring-cloud-bindings/src/main/java/org/springframework/cloud/bindings/Bindings.java
diff --git a/src/main/java/org/springframework/cloud/bindings/boot/ArtemisBindingsPropertiesProcessor.java b/spring-cloud-bindings/src/main/java/org/springframework/cloud/bindings/boot/ArtemisBindingsPropertiesProcessor.java
similarity index 79%
rename from src/main/java/org/springframework/cloud/bindings/boot/ArtemisBindingsPropertiesProcessor.java
rename to spring-cloud-bindings/src/main/java/org/springframework/cloud/bindings/boot/ArtemisBindingsPropertiesProcessor.java
index 0461210..9fb01ac 100644
--- a/src/main/java/org/springframework/cloud/bindings/boot/ArtemisBindingsPropertiesProcessor.java
+++ b/spring-cloud-bindings/src/main/java/org/springframework/cloud/bindings/boot/ArtemisBindingsPropertiesProcessor.java
@@ -42,11 +42,19 @@ public final class ArtemisBindingsPropertiesProcessor implements BindingsPropert
bindings.filterBindings(TYPE).forEach(binding -> {
MapMapper map = new MapMapper(binding.getSecret(), properties);
+ map.from("broker-url").to("spring.artemis.broker-url");
+
+ map.from("pool.block-if-full").to("spring.artemis.pool.block-if-full");
+ map.from("pool.block-if-full-timeout").to("spring.artemis.pool.block-if-full-timeout");
+ map.from("pool.enabled").to("spring.artemis.pool.enabled");
+ map.from("pool.idle-timeout").to("spring.artemis.pool.idle-timeout");
+ map.from("pool.max-connections").to("spring.artemis.pool.max-connections");
+ map.from("pool.max-sessions-per-connection").to("spring.artemis.pool.max-sessions-per-connection");
+ map.from("pool.time-between-expiration-check").to("spring.artemis.pool.time-between-expiration-check");
+ map.from("pool.use-anonymous-producers").to("spring.artemis.pool.use-anonymous-producers");
- map.from("host").to("spring.artemis.host");
map.from("mode").to("spring.artemis.mode");
map.from("password").to("spring.artemis.password");
- map.from("port").to("spring.artemis.port");
map.from("user").to("spring.artemis.user");
map.from("embedded.cluster-password").to("spring.artemis.embedded.cluster-password");
@@ -56,16 +64,6 @@ public final class ArtemisBindingsPropertiesProcessor implements BindingsPropert
map.from("embedded.queues").to("spring.artemis.embedded.queues");
map.from("embedded.server-id").to("spring.artemis.embedded.server-id");
map.from("embedded.topics").to("spring.artemis.embedded.topics");
-
- map.from("pool.block-if-full").to("spring.rabbitmq.pool.block-if-full");
- map.from("pool.block-if-full-timeout").to("spring.rabbitmq.pool.block-if-full-timeout");
- map.from("pool.enabled").to("spring.rabbitmq.pool.enabled");
- map.from("pool.idle-timeout").to("spring.rabbitmq.pool.idle-timeout");
- map.from("pool.max-connections").to("spring.rabbitmq.pool.max-connections");
- map.from("pool.max-sessions-per-connection").to("spring.rabbitmq.pool.max-sessions-per-connection");
- map.from("pool.time-between-expiration-check").to("spring.rabbitmq.pool.time-between-expiration-check");
- map.from("pool.use-anonymous-producers").to("spring.rabbitmq.pool.use-anonymous-producers");
});
}
-
}
diff --git a/src/main/java/org/springframework/cloud/bindings/boot/BindingFlattenedEnvironmentPostProcessor.java b/spring-cloud-bindings/src/main/java/org/springframework/cloud/bindings/boot/BindingFlattenedEnvironmentPostProcessor.java
similarity index 95%
rename from src/main/java/org/springframework/cloud/bindings/boot/BindingFlattenedEnvironmentPostProcessor.java
rename to spring-cloud-bindings/src/main/java/org/springframework/cloud/bindings/boot/BindingFlattenedEnvironmentPostProcessor.java
index 7f7d4a9..82ce617 100644
--- a/src/main/java/org/springframework/cloud/bindings/boot/BindingFlattenedEnvironmentPostProcessor.java
+++ b/spring-cloud-bindings/src/main/java/org/springframework/cloud/bindings/boot/BindingFlattenedEnvironmentPostProcessor.java
@@ -16,8 +16,11 @@
package org.springframework.cloud.bindings.boot;
+import java.util.HashMap;
+import java.util.Map;
+
import org.springframework.boot.SpringApplication;
-import org.springframework.boot.context.config.ConfigFileApplicationListener;
+import org.springframework.boot.context.config.ConfigDataEnvironmentPostProcessor;
import org.springframework.boot.context.event.ApplicationPreparedEvent;
import org.springframework.boot.env.EnvironmentPostProcessor;
import org.springframework.boot.logging.DeferredLog;
@@ -26,9 +29,6 @@ import org.springframework.context.ApplicationListener;
import org.springframework.core.Ordered;
import org.springframework.core.env.ConfigurableEnvironment;
-import java.util.HashMap;
-import java.util.Map;
-
import static org.springframework.cloud.bindings.boot.PropertySourceContributor.contributePropertySource;
/**
@@ -59,7 +59,7 @@ public final class BindingFlattenedEnvironmentPostProcessor implements Applicati
@Override
public int getOrder() {
// Before ConfigFileApplicationListener so values there can use values from {@link Bindings}.
- return ConfigFileApplicationListener.DEFAULT_ORDER - 1;
+ return ConfigDataEnvironmentPostProcessor.ORDER - 1;
}
@Override
diff --git a/src/main/java/org/springframework/cloud/bindings/boot/BindingSpecificEnvironmentPostProcessor.java b/spring-cloud-bindings/src/main/java/org/springframework/cloud/bindings/boot/BindingSpecificEnvironmentPostProcessor.java
similarity index 96%
rename from src/main/java/org/springframework/cloud/bindings/boot/BindingSpecificEnvironmentPostProcessor.java
rename to spring-cloud-bindings/src/main/java/org/springframework/cloud/bindings/boot/BindingSpecificEnvironmentPostProcessor.java
index f02c588..2e86133 100644
--- a/src/main/java/org/springframework/cloud/bindings/boot/BindingSpecificEnvironmentPostProcessor.java
+++ b/spring-cloud-bindings/src/main/java/org/springframework/cloud/bindings/boot/BindingSpecificEnvironmentPostProcessor.java
@@ -16,8 +16,13 @@
package org.springframework.cloud.bindings.boot;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
import org.springframework.boot.SpringApplication;
-import org.springframework.boot.context.config.ConfigFileApplicationListener;
+import org.springframework.boot.context.config.ConfigDataEnvironmentPostProcessor;
import org.springframework.boot.context.event.ApplicationPreparedEvent;
import org.springframework.boot.env.EnvironmentPostProcessor;
import org.springframework.boot.logging.DeferredLog;
@@ -28,10 +33,6 @@ import org.springframework.core.env.ConfigurableEnvironment;
import org.springframework.core.env.PropertySource;
import org.springframework.core.io.support.SpringFactoriesLoader;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
import static org.springframework.cloud.bindings.boot.Guards.isGlobalEnabled;
import static org.springframework.cloud.bindings.boot.PropertySourceContributor.contributePropertySource;
@@ -77,7 +78,7 @@ public final class BindingSpecificEnvironmentPostProcessor implements Applicatio
@Override
public int getOrder() {
// Before ConfigFileApplicationListener so values there can use values from {@link Bindings}.
- return ConfigFileApplicationListener.DEFAULT_ORDER - 1;
+ return ConfigDataEnvironmentPostProcessor.ORDER - 1;
}
@Override
diff --git a/src/main/java/org/springframework/cloud/bindings/boot/BindingsPropertiesProcessor.java b/spring-cloud-bindings/src/main/java/org/springframework/cloud/bindings/boot/BindingsPropertiesProcessor.java
similarity index 100%
rename from src/main/java/org/springframework/cloud/bindings/boot/BindingsPropertiesProcessor.java
rename to spring-cloud-bindings/src/main/java/org/springframework/cloud/bindings/boot/BindingsPropertiesProcessor.java
diff --git a/src/main/java/org/springframework/cloud/bindings/boot/ElasticsearchBindingsPropertiesProcessor.java b/spring-cloud-bindings/src/main/java/org/springframework/cloud/bindings/boot/CassandraBindingsPropertiesProcessor.java
similarity index 55%
rename from src/main/java/org/springframework/cloud/bindings/boot/ElasticsearchBindingsPropertiesProcessor.java
rename to spring-cloud-bindings/src/main/java/org/springframework/cloud/bindings/boot/CassandraBindingsPropertiesProcessor.java
index 1cc75df..fff749c 100644
--- a/src/main/java/org/springframework/cloud/bindings/boot/ElasticsearchBindingsPropertiesProcessor.java
+++ b/spring-cloud-bindings/src/main/java/org/springframework/cloud/bindings/boot/CassandraBindingsPropertiesProcessor.java
@@ -27,13 +27,11 @@ import static org.springframework.cloud.bindings.boot.Guards.isTypeEnabled;
/**
* An implementation of {@link BindingsPropertiesProcessor} that detects {@link Binding}s of type: {@value TYPE}.
*/
-final class ElasticsearchBindingsPropertiesProcessor implements BindingsPropertiesProcessor {
-
+public final class CassandraBindingsPropertiesProcessor implements BindingsPropertiesProcessor {
/**
* The {@link Binding} type that this processor is interested in: {@value}.
**/
- public static final String TYPE = "elasticsearch";
-
+ public static final String TYPE = "cassandra";
@Override
public void process(Environment environment, Bindings bindings, Map properties) {
@@ -43,19 +41,19 @@ final class ElasticsearchBindingsPropertiesProcessor implements BindingsProperti
bindings.filterBindings(TYPE).forEach(binding -> {
MapMapper map = new MapMapper(binding.getSecret(), properties);
+ map.from("cluster-name").to("spring.cassandra.cluster-name");
+ map.from("compression").to("spring.cassandra.compression");
+ map.from("contact-points").to("spring.cassandra.contact-points");
+ map.from("keyspace-name").to("spring.cassandra.keyspace-name");
+ map.from("password").to("spring.cassandra.password");
+ map.from("port").to("spring.cassandra.port");
+ map.from("ssl").to("spring.cassandra.ssl");
+ map.from("username").to("spring.cassandra.username");
- map.from("endpoints").to("spring.data.elasticsearch.client.reactive.endpoints");
- map.from("password").to("spring.data.elasticsearch.client.reactive.password");
- map.from("use-ssl").to("spring.data.elasticsearch.client.reactive.use-ssl");
- map.from("username").to("spring.data.elasticsearch.client.reactive.username");
- map.from("password").to("spring.elasticsearch.jest.password");
- map.from("proxy.host").to("spring.elasticsearch.jest.proxy.host");
- map.from("proxy.port").to("spring.elasticsearch.jest.proxy.port");
- map.from("username").to("spring.elasticsearch.jest.username");
- map.from("password").to("spring.elasticsearch.rest.password");
- map.from("uris").to("spring.elasticsearch.rest.uris");
- map.from("username").to("spring.elasticsearch.rest.username");
+ map.from("request.throttler.drain-interval").to("spring.cassandra.request.throttler.drain-interval");
+ map.from("request.throttler.max-concurrent-requests").to("spring.cassandra.request.throttler.max-concurrent-requests");
+ map.from("request.throttler.max-queue-size").to("spring.cassandra.request.throttler.max-queue-size");
+ map.from("request.throttler.max-requests-per-second").to("spring.cassandra.request.throttler.max-requests-per-second");
});
}
-
}
diff --git a/src/main/java/org/springframework/cloud/bindings/boot/ConfigServerBindingsPropertiesProcessor.java b/spring-cloud-bindings/src/main/java/org/springframework/cloud/bindings/boot/ConfigServerBindingsPropertiesProcessor.java
similarity index 100%
rename from src/main/java/org/springframework/cloud/bindings/boot/ConfigServerBindingsPropertiesProcessor.java
rename to spring-cloud-bindings/src/main/java/org/springframework/cloud/bindings/boot/ConfigServerBindingsPropertiesProcessor.java
diff --git a/src/main/java/org/springframework/cloud/bindings/boot/CouchbaseBindingsPropertiesProcessor.java b/spring-cloud-bindings/src/main/java/org/springframework/cloud/bindings/boot/CouchbaseBindingsPropertiesProcessor.java
similarity index 79%
rename from src/main/java/org/springframework/cloud/bindings/boot/CouchbaseBindingsPropertiesProcessor.java
rename to spring-cloud-bindings/src/main/java/org/springframework/cloud/bindings/boot/CouchbaseBindingsPropertiesProcessor.java
index 6602989..a766546 100644
--- a/src/main/java/org/springframework/cloud/bindings/boot/CouchbaseBindingsPropertiesProcessor.java
+++ b/spring-cloud-bindings/src/main/java/org/springframework/cloud/bindings/boot/CouchbaseBindingsPropertiesProcessor.java
@@ -28,7 +28,6 @@ import static org.springframework.cloud.bindings.boot.Guards.isTypeEnabled;
* An implementation of {@link BindingsPropertiesProcessor} that detects {@link Binding}s of type: {@value TYPE}.
*/
final class CouchbaseBindingsPropertiesProcessor implements BindingsPropertiesProcessor {
-
/**
* The {@link Binding} type that this processor is interested in: {@value}.
**/
@@ -42,15 +41,11 @@ final class CouchbaseBindingsPropertiesProcessor implements BindingsPropertiesPr
bindings.filterBindings(TYPE).forEach(binding -> {
MapMapper map = new MapMapper(binding.getSecret(), properties);
-
- map.from("bootstrap-hosts").to("spring.couchbase.bootstrap-hosts");
- map.from("bucket.name").to("spring.couchbase.bucket.name");
- map.from("bucket.password").to("spring.couchbase.bucket.password");
- map.from("env.bootstrap.http-direct-port").to("spring.couchbase.env.bootstrap.http-direct-port");
- map.from("env.bootstrap.http-ssl-port").to("spring.couchbase.env.bootstrap.http-ssl-port");
+ map.from("bucket-name").to("spring.data.couchbase.bucket-name");
+ map.from("connection-string").to("spring.couchbase.connection-string");
map.from("password").to("spring.couchbase.password");
map.from("username").to("spring.couchbase.username");
+
});
}
-
}
diff --git a/src/main/java/org/springframework/cloud/bindings/boot/Db2BindingsPropertiesProcessor.java b/spring-cloud-bindings/src/main/java/org/springframework/cloud/bindings/boot/Db2BindingsPropertiesProcessor.java
similarity index 100%
rename from src/main/java/org/springframework/cloud/bindings/boot/Db2BindingsPropertiesProcessor.java
rename to spring-cloud-bindings/src/main/java/org/springframework/cloud/bindings/boot/Db2BindingsPropertiesProcessor.java
diff --git a/src/main/java/org/springframework/cloud/bindings/boot/CassandraBindingsPropertiesProcessor.java b/spring-cloud-bindings/src/main/java/org/springframework/cloud/bindings/boot/ElasticsearchBindingsPropertiesProcessor.java
similarity index 66%
rename from src/main/java/org/springframework/cloud/bindings/boot/CassandraBindingsPropertiesProcessor.java
rename to spring-cloud-bindings/src/main/java/org/springframework/cloud/bindings/boot/ElasticsearchBindingsPropertiesProcessor.java
index d6936c4..e450be1 100644
--- a/src/main/java/org/springframework/cloud/bindings/boot/CassandraBindingsPropertiesProcessor.java
+++ b/spring-cloud-bindings/src/main/java/org/springframework/cloud/bindings/boot/ElasticsearchBindingsPropertiesProcessor.java
@@ -27,12 +27,12 @@ import static org.springframework.cloud.bindings.boot.Guards.isTypeEnabled;
/**
* An implementation of {@link BindingsPropertiesProcessor} that detects {@link Binding}s of type: {@value TYPE}.
*/
-public final class CassandraBindingsPropertiesProcessor implements BindingsPropertiesProcessor {
+final class ElasticsearchBindingsPropertiesProcessor implements BindingsPropertiesProcessor {
/**
* The {@link Binding} type that this processor is interested in: {@value}.
**/
- public static final String TYPE = "cassandra";
+ public static final String TYPE = "elasticsearch";
@Override
public void process(Environment environment, Bindings bindings, Map properties) {
@@ -42,16 +42,9 @@ public final class CassandraBindingsPropertiesProcessor implements BindingsPrope
bindings.filterBindings(TYPE).forEach(binding -> {
MapMapper map = new MapMapper(binding.getSecret(), properties);
-
- map.from("cluster-name").to("spring.data.cassandra.cluster-name");
- map.from("compression").to("spring.data.cassandra.compression");
- map.from("contact-points").to("spring.data.cassandra.contact-points");
- map.from("keyspace-name").to("spring.data.cassandra.keyspace-name");
- map.from("password").to("spring.data.cassandra.password");
- map.from("port").to("spring.data.cassandra.port");
- map.from("ssl").to("spring.data.cassandra.ssl");
- map.from("username").to("spring.data.cassandra.username");
+ map.from("password").to("spring.elasticsearch.password");
+ map.from("uris").to("spring.elasticsearch.uris");
+ map.from("username").to("spring.elasticsearch.username");
});
}
-
}
diff --git a/src/main/java/org/springframework/cloud/bindings/boot/EurekaBindingsPropertiesProcessor.java b/spring-cloud-bindings/src/main/java/org/springframework/cloud/bindings/boot/EurekaBindingsPropertiesProcessor.java
similarity index 100%
rename from src/main/java/org/springframework/cloud/bindings/boot/EurekaBindingsPropertiesProcessor.java
rename to spring-cloud-bindings/src/main/java/org/springframework/cloud/bindings/boot/EurekaBindingsPropertiesProcessor.java
diff --git a/src/main/java/org/springframework/cloud/bindings/boot/Guards.java b/spring-cloud-bindings/src/main/java/org/springframework/cloud/bindings/boot/Guards.java
similarity index 95%
rename from src/main/java/org/springframework/cloud/bindings/boot/Guards.java
rename to spring-cloud-bindings/src/main/java/org/springframework/cloud/bindings/boot/Guards.java
index 6316a35..f7c858b 100644
--- a/src/main/java/org/springframework/cloud/bindings/boot/Guards.java
+++ b/spring-cloud-bindings/src/main/java/org/springframework/cloud/bindings/boot/Guards.java
@@ -21,7 +21,7 @@ import org.springframework.core.env.Environment;
final class Guards {
static boolean isGlobalEnabled(Environment environment) {
- return environment.getProperty("org.springframework.cloud.bindings.boot.enable", Boolean.class, false);
+ return environment.getProperty("org.springframework.cloud.bindings.boot.enable", Boolean.class, true);
}
static boolean isTypeEnabled(Environment environment, String type) {
diff --git a/src/main/java/org/springframework/cloud/bindings/boot/KafkaBindingsPropertiesProcessor.java b/spring-cloud-bindings/src/main/java/org/springframework/cloud/bindings/boot/KafkaBindingsPropertiesProcessor.java
similarity index 100%
rename from src/main/java/org/springframework/cloud/bindings/boot/KafkaBindingsPropertiesProcessor.java
rename to spring-cloud-bindings/src/main/java/org/springframework/cloud/bindings/boot/KafkaBindingsPropertiesProcessor.java
diff --git a/src/main/java/org/springframework/cloud/bindings/boot/LDAPBindingsPropertiesProcessor.java b/spring-cloud-bindings/src/main/java/org/springframework/cloud/bindings/boot/LDAPBindingsPropertiesProcessor.java
similarity index 100%
rename from src/main/java/org/springframework/cloud/bindings/boot/LDAPBindingsPropertiesProcessor.java
rename to spring-cloud-bindings/src/main/java/org/springframework/cloud/bindings/boot/LDAPBindingsPropertiesProcessor.java
diff --git a/src/main/java/org/springframework/cloud/bindings/boot/MapMapper.java b/spring-cloud-bindings/src/main/java/org/springframework/cloud/bindings/boot/MapMapper.java
similarity index 100%
rename from src/main/java/org/springframework/cloud/bindings/boot/MapMapper.java
rename to spring-cloud-bindings/src/main/java/org/springframework/cloud/bindings/boot/MapMapper.java
diff --git a/src/main/java/org/springframework/cloud/bindings/boot/MongoDbBindingsPropertiesProcessor.java b/spring-cloud-bindings/src/main/java/org/springframework/cloud/bindings/boot/MongoDbBindingsPropertiesProcessor.java
similarity index 100%
rename from src/main/java/org/springframework/cloud/bindings/boot/MongoDbBindingsPropertiesProcessor.java
rename to spring-cloud-bindings/src/main/java/org/springframework/cloud/bindings/boot/MongoDbBindingsPropertiesProcessor.java
diff --git a/src/main/java/org/springframework/cloud/bindings/boot/MySqlBindingsPropertiesProcessor.java b/spring-cloud-bindings/src/main/java/org/springframework/cloud/bindings/boot/MySqlBindingsPropertiesProcessor.java
similarity index 100%
rename from src/main/java/org/springframework/cloud/bindings/boot/MySqlBindingsPropertiesProcessor.java
rename to spring-cloud-bindings/src/main/java/org/springframework/cloud/bindings/boot/MySqlBindingsPropertiesProcessor.java
diff --git a/src/main/java/org/springframework/cloud/bindings/boot/Neo4JBindingsPropertiesProcessor.java b/spring-cloud-bindings/src/main/java/org/springframework/cloud/bindings/boot/Neo4JBindingsPropertiesProcessor.java
similarity index 88%
rename from src/main/java/org/springframework/cloud/bindings/boot/Neo4JBindingsPropertiesProcessor.java
rename to spring-cloud-bindings/src/main/java/org/springframework/cloud/bindings/boot/Neo4JBindingsPropertiesProcessor.java
index b40be29..3e27dc7 100644
--- a/src/main/java/org/springframework/cloud/bindings/boot/Neo4JBindingsPropertiesProcessor.java
+++ b/spring-cloud-bindings/src/main/java/org/springframework/cloud/bindings/boot/Neo4JBindingsPropertiesProcessor.java
@@ -41,11 +41,11 @@ final class Neo4JBindingsPropertiesProcessor implements BindingsPropertiesProces
bindings.filterBindings(TYPE).forEach(binding -> {
MapMapper map = new MapMapper(binding.getSecret(), properties);
+ map.from("password").to("spring.neo4j.authentication.password");
+ map.from("uri").to("spring.neo4j.uri");
+ map.from("username").to("spring.neo4j.authentication.username");
- map.from("password").to("spring.data.neo4j.password");
- map.from("uri").to("spring.data.neo4j.uri");
- map.from("username").to("spring.data.neo4j.username");
});
}
-
}
+
diff --git a/src/main/java/org/springframework/cloud/bindings/boot/OracleBindingsPropertiesProcessor.java b/spring-cloud-bindings/src/main/java/org/springframework/cloud/bindings/boot/OracleBindingsPropertiesProcessor.java
similarity index 100%
rename from src/main/java/org/springframework/cloud/bindings/boot/OracleBindingsPropertiesProcessor.java
rename to spring-cloud-bindings/src/main/java/org/springframework/cloud/bindings/boot/OracleBindingsPropertiesProcessor.java
diff --git a/src/main/java/org/springframework/cloud/bindings/boot/PostgreSqlBindingsPropertiesProcessor.java b/spring-cloud-bindings/src/main/java/org/springframework/cloud/bindings/boot/PostgreSqlBindingsPropertiesProcessor.java
similarity index 98%
rename from src/main/java/org/springframework/cloud/bindings/boot/PostgreSqlBindingsPropertiesProcessor.java
rename to spring-cloud-bindings/src/main/java/org/springframework/cloud/bindings/boot/PostgreSqlBindingsPropertiesProcessor.java
index b5dbe72..4cdd783 100644
--- a/src/main/java/org/springframework/cloud/bindings/boot/PostgreSqlBindingsPropertiesProcessor.java
+++ b/spring-cloud-bindings/src/main/java/org/springframework/cloud/bindings/boot/PostgreSqlBindingsPropertiesProcessor.java
@@ -69,8 +69,7 @@ public final class PostgreSqlBindingsPropertiesProcessor implements BindingsProp
(host, port, database) -> String.format("jdbc:postgresql://%s:%s/%s", host, port, database));
String sslParam = buildSslModeParam(binding);
- String dbOptions = buildDbOptions(binding);
- String sslModeOptions = dbOptions;
+ String sslModeOptions = buildDbOptions(binding);
if (!"".equals(sslParam) && !"".equals(sslModeOptions)) {
sslModeOptions = sslParam + "&" + sslModeOptions;
} else if (!"".equals(sslParam) ) {
diff --git a/src/main/java/org/springframework/cloud/bindings/boot/PropertySourceContributor.java b/spring-cloud-bindings/src/main/java/org/springframework/cloud/bindings/boot/PropertySourceContributor.java
similarity index 100%
rename from src/main/java/org/springframework/cloud/bindings/boot/PropertySourceContributor.java
rename to spring-cloud-bindings/src/main/java/org/springframework/cloud/bindings/boot/PropertySourceContributor.java
diff --git a/src/main/java/org/springframework/cloud/bindings/boot/RabbitMqBindingsPropertiesProcessor.java b/spring-cloud-bindings/src/main/java/org/springframework/cloud/bindings/boot/RabbitMqBindingsPropertiesProcessor.java
similarity index 100%
rename from src/main/java/org/springframework/cloud/bindings/boot/RabbitMqBindingsPropertiesProcessor.java
rename to spring-cloud-bindings/src/main/java/org/springframework/cloud/bindings/boot/RabbitMqBindingsPropertiesProcessor.java
diff --git a/src/main/java/org/springframework/cloud/bindings/boot/RedisBindingsPropertiesProcessor.java b/spring-cloud-bindings/src/main/java/org/springframework/cloud/bindings/boot/RedisBindingsPropertiesProcessor.java
similarity index 67%
rename from src/main/java/org/springframework/cloud/bindings/boot/RedisBindingsPropertiesProcessor.java
rename to spring-cloud-bindings/src/main/java/org/springframework/cloud/bindings/boot/RedisBindingsPropertiesProcessor.java
index b1d1a71..cb586d9 100644
--- a/src/main/java/org/springframework/cloud/bindings/boot/RedisBindingsPropertiesProcessor.java
+++ b/spring-cloud-bindings/src/main/java/org/springframework/cloud/bindings/boot/RedisBindingsPropertiesProcessor.java
@@ -43,17 +43,17 @@ public final class RedisBindingsPropertiesProcessor implements BindingsPropertie
bindings.filterBindings(TYPE).forEach(binding -> {
MapMapper map = new MapMapper(binding.getSecret(), properties);
- map.from("client-name").to("spring.redis.client-name");
- map.from("cluster.max-redirects").to("spring.redis.cluster.max-redirects");
- map.from("cluster.nodes").to("spring.redis.cluster.nodes");
- map.from("database").to("spring.redis.database");
- map.from("host").to("spring.redis.host");
- map.from("password").to("spring.redis.password");
- map.from("port").to("spring.redis.port");
- map.from("sentinel.master").to("spring.redis.sentinel.master");
- map.from("sentinel.nodes").to("spring.redis.sentinel.nodes");
- map.from("ssl").to("spring.redis.ssl");
- map.from("url").to("spring.redis.url");
+ map.from("client-name").to("spring.data.redis.client-name");
+ map.from("cluster.max-redirects").to("spring.data.redis.cluster.max-redirects");
+ map.from("cluster.nodes").to("spring.data.redis.cluster.nodes");
+ map.from("database").to("spring.data.redis.database");
+ map.from("host").to("spring.data.redis.host");
+ map.from("password").to("spring.data.redis.password");
+ map.from("port").to("spring.data.redis.port");
+ map.from("sentinel.master").to("spring.data.redis.sentinel.master");
+ map.from("sentinel.nodes").to("spring.data.redis.sentinel.nodes");
+ map.from("ssl").to("spring.data.redis.ssl");
+ map.from("url").to("spring.data.redis.url");
});
}
diff --git a/src/main/java/org/springframework/cloud/bindings/boot/SapHanaBindingsPropertiesProcessor.java b/spring-cloud-bindings/src/main/java/org/springframework/cloud/bindings/boot/SapHanaBindingsPropertiesProcessor.java
similarity index 100%
rename from src/main/java/org/springframework/cloud/bindings/boot/SapHanaBindingsPropertiesProcessor.java
rename to spring-cloud-bindings/src/main/java/org/springframework/cloud/bindings/boot/SapHanaBindingsPropertiesProcessor.java
diff --git a/src/main/java/org/springframework/cloud/bindings/boot/SpringSecurityOAuth2BindingsPropertiesProcessor.java b/spring-cloud-bindings/src/main/java/org/springframework/cloud/bindings/boot/SpringSecurityOAuth2BindingsPropertiesProcessor.java
similarity index 100%
rename from src/main/java/org/springframework/cloud/bindings/boot/SpringSecurityOAuth2BindingsPropertiesProcessor.java
rename to spring-cloud-bindings/src/main/java/org/springframework/cloud/bindings/boot/SpringSecurityOAuth2BindingsPropertiesProcessor.java
diff --git a/src/main/java/org/springframework/cloud/bindings/boot/SqlServerBindingsPropertiesProcessor.java b/spring-cloud-bindings/src/main/java/org/springframework/cloud/bindings/boot/SqlServerBindingsPropertiesProcessor.java
similarity index 100%
rename from src/main/java/org/springframework/cloud/bindings/boot/SqlServerBindingsPropertiesProcessor.java
rename to spring-cloud-bindings/src/main/java/org/springframework/cloud/bindings/boot/SqlServerBindingsPropertiesProcessor.java
diff --git a/src/main/java/org/springframework/cloud/bindings/boot/VaultBindingsPropertiesProcessor.java b/spring-cloud-bindings/src/main/java/org/springframework/cloud/bindings/boot/VaultBindingsPropertiesProcessor.java
similarity index 88%
rename from src/main/java/org/springframework/cloud/bindings/boot/VaultBindingsPropertiesProcessor.java
rename to spring-cloud-bindings/src/main/java/org/springframework/cloud/bindings/boot/VaultBindingsPropertiesProcessor.java
index f9e09a6..2ea0e6d 100644
--- a/src/main/java/org/springframework/cloud/bindings/boot/VaultBindingsPropertiesProcessor.java
+++ b/spring-cloud-bindings/src/main/java/org/springframework/cloud/bindings/boot/VaultBindingsPropertiesProcessor.java
@@ -31,7 +31,6 @@ import static org.springframework.cloud.bindings.boot.Guards.isTypeEnabled;
* An implementation of {@link BindingsPropertiesProcessor} that detects {@link Binding}s of type: {@value TYPE}.
*/
public final class VaultBindingsPropertiesProcessor implements BindingsPropertiesProcessor, ApplicationListener {
-
/**
* The {@link Binding} type that this processor is interested in: {@value}.
**/
@@ -73,25 +72,30 @@ public final class VaultBindingsPropertiesProcessor implements BindingsPropertie
map.from("aws-ec2-instance-identity-document").to("spring.cloud.vault.aws-ec2.identity-document");
map.from("nonce").to("spring.cloud.vault.aws-ec2.nonce");
break;
+ case "GCP_GCE":
+ map.from("role").to("spring.cloud.vault.gcp-gce.role");
+ map.from("gcp-path").to("spring.cloud.vault.gcp-gce.gcp-path");
+ map.from("gcp-service-account").to("spring.cloud.vault.gcp-gce.service-account");
+ break;
case "AWS_IAM":
map.from("role").to("spring.cloud.vault.aws-iam.role");
map.from("aws-path").to("spring.cloud.vault.aws-iam.aws-path");
- map.from("aws-iam-server-id").to("spring.cloud.vault.aws-iam.server-id");
map.from("aws-sts-endpoint-uri").to("spring.cloud.vault.aws-iam.endpoint-uri");
+ map.from("aws-iam-server-name").to("spring.cloud.vault.aws-iam.server-name");
break;
case "AZURE_MSI":
map.from("role").to("spring.cloud.vault.azure-msi.role");
map.from("azure-path").to("spring.cloud.vault.azure-msi.azure-path");
+ map.from("metadata-service").to("spring.cloud.vault.azure-msi.metadata-service");
+ map.from("identity-token-service").to("spring.cloud.vault.azure-msi.identity-token-service");
break;
case "CERT":
properties.put("spring.cloud.vault.ssl.key-store", binding.getSecretFilePath("keystore.jks").toString());
map.from("key-store-password").to("spring.cloud.vault.ssl.key-store-password");
map.from("cert-auth-path").to("spring.cloud.vault.ssl.cert-auth-path");
- break;
- case "GCP_GCE":
- map.from("role").to("spring.cloud.vault.gcp-gce.role");
- map.from("gcp-path").to("spring.cloud.vault.gcp-gce.gcp-path");
- map.from("gcp-service-account").to("spring.cloud.vault.gcp-gce.service-account");
+ properties.put("spring.cloud.vault.ssl.trust-store", binding.getSecretFilePath("truststore.jks").toString());
+ map.from("trust-store").to("spring.cloud.vault.ssl.trust-store");
+ map.from("trust-store-password").to("spring.cloud.vault.ssl.trust-store-password");
break;
case "GCP_IAM":
if (binding.getSecret().containsKey("credentials.json")) {
@@ -102,11 +106,12 @@ public final class VaultBindingsPropertiesProcessor implements BindingsPropertie
map.from("gcp-path").to("spring.cloud.vault.gcp-iam.gcp-path");
map.from("jwt-validity").to("spring.cloud.vault.gcp-iam.jwt-validity");
map.from("gcp-project-id").to("spring.cloud.vault.gcp-iam.project-id");
- map.from("gcp-service-account").to("spring.cloud.vault.gcp-iam.service-account");
+ map.from("gcp-service-account").to("spring.cloud.vault.gcp-iam.service-account-id");
break;
case "KUBERNETES":
map.from("role").to("spring.cloud.vault.kubernetes.role");
map.from("kubernetes-path").to("spring.cloud.vault.kubernetes.kubernetes-path");
+ map.from("kubernetes-service-account-token-file").to("spring.cloud.vault.kubernetes.kubernetes-service-account-token-file");
break;
default:
LOG.warn(String.format("Binding '%s' contains unrecognized 'method'", binding.getName()));
@@ -118,4 +123,5 @@ public final class VaultBindingsPropertiesProcessor implements BindingsPropertie
public void onApplicationEvent(ApplicationPreparedEvent event) {
LOG.replayTo(getClass());
}
+
}
diff --git a/src/main/java/org/springframework/cloud/bindings/boot/WavefrontBindingsPropertiesProcessor.java b/spring-cloud-bindings/src/main/java/org/springframework/cloud/bindings/boot/WavefrontBindingsPropertiesProcessor.java
similarity index 100%
rename from src/main/java/org/springframework/cloud/bindings/boot/WavefrontBindingsPropertiesProcessor.java
rename to spring-cloud-bindings/src/main/java/org/springframework/cloud/bindings/boot/WavefrontBindingsPropertiesProcessor.java
diff --git a/src/main/java/org/springframework/cloud/bindings/boot/package-info.java b/spring-cloud-bindings/src/main/java/org/springframework/cloud/bindings/boot/package-info.java
similarity index 100%
rename from src/main/java/org/springframework/cloud/bindings/boot/package-info.java
rename to spring-cloud-bindings/src/main/java/org/springframework/cloud/bindings/boot/package-info.java
diff --git a/src/main/java/org/springframework/cloud/bindings/boot/pem/PemCertificateParser.java b/spring-cloud-bindings/src/main/java/org/springframework/cloud/bindings/boot/pem/PemCertificateParser.java
similarity index 100%
rename from src/main/java/org/springframework/cloud/bindings/boot/pem/PemCertificateParser.java
rename to spring-cloud-bindings/src/main/java/org/springframework/cloud/bindings/boot/pem/PemCertificateParser.java
diff --git a/src/main/java/org/springframework/cloud/bindings/boot/pem/PemContent.java b/spring-cloud-bindings/src/main/java/org/springframework/cloud/bindings/boot/pem/PemContent.java
similarity index 100%
rename from src/main/java/org/springframework/cloud/bindings/boot/pem/PemContent.java
rename to spring-cloud-bindings/src/main/java/org/springframework/cloud/bindings/boot/pem/PemContent.java
diff --git a/src/main/java/org/springframework/cloud/bindings/boot/pem/PemPrivateKeyParser.java b/spring-cloud-bindings/src/main/java/org/springframework/cloud/bindings/boot/pem/PemPrivateKeyParser.java
similarity index 100%
rename from src/main/java/org/springframework/cloud/bindings/boot/pem/PemPrivateKeyParser.java
rename to spring-cloud-bindings/src/main/java/org/springframework/cloud/bindings/boot/pem/PemPrivateKeyParser.java
diff --git a/src/main/java/org/springframework/cloud/bindings/boot/pem/PemSslStoreHelper.java b/spring-cloud-bindings/src/main/java/org/springframework/cloud/bindings/boot/pem/PemSslStoreHelper.java
similarity index 100%
rename from src/main/java/org/springframework/cloud/bindings/boot/pem/PemSslStoreHelper.java
rename to spring-cloud-bindings/src/main/java/org/springframework/cloud/bindings/boot/pem/PemSslStoreHelper.java
diff --git a/src/main/java/org/springframework/cloud/bindings/boot/pem/package-info.java b/spring-cloud-bindings/src/main/java/org/springframework/cloud/bindings/boot/pem/package-info.java
similarity index 100%
rename from src/main/java/org/springframework/cloud/bindings/boot/pem/package-info.java
rename to spring-cloud-bindings/src/main/java/org/springframework/cloud/bindings/boot/pem/package-info.java
diff --git a/src/main/java/org/springframework/cloud/bindings/package-info.java b/spring-cloud-bindings/src/main/java/org/springframework/cloud/bindings/package-info.java
similarity index 100%
rename from src/main/java/org/springframework/cloud/bindings/package-info.java
rename to spring-cloud-bindings/src/main/java/org/springframework/cloud/bindings/package-info.java
diff --git a/src/main/resources/META-INF/spring.factories b/spring-cloud-bindings/src/main/resources/META-INF/spring.factories
similarity index 100%
rename from src/main/resources/META-INF/spring.factories
rename to spring-cloud-bindings/src/main/resources/META-INF/spring.factories
diff --git a/src/test/java/org/springframework/cloud/bindings/BindingTest.java b/spring-cloud-bindings/src/test/java/org/springframework/cloud/bindings/BindingTest.java
similarity index 100%
rename from src/test/java/org/springframework/cloud/bindings/BindingTest.java
rename to spring-cloud-bindings/src/test/java/org/springframework/cloud/bindings/BindingTest.java
diff --git a/src/test/java/org/springframework/cloud/bindings/BindingsTest.java b/spring-cloud-bindings/src/test/java/org/springframework/cloud/bindings/BindingsTest.java
similarity index 100%
rename from src/test/java/org/springframework/cloud/bindings/BindingsTest.java
rename to spring-cloud-bindings/src/test/java/org/springframework/cloud/bindings/BindingsTest.java
diff --git a/src/test/java/org/springframework/cloud/bindings/FluentMap.java b/spring-cloud-bindings/src/test/java/org/springframework/cloud/bindings/FluentMap.java
similarity index 100%
rename from src/test/java/org/springframework/cloud/bindings/FluentMap.java
rename to spring-cloud-bindings/src/test/java/org/springframework/cloud/bindings/FluentMap.java
diff --git a/src/test/java/org/springframework/cloud/bindings/boot/ArtemisBindingsPropertiesProcessorTest.java b/spring-cloud-bindings/src/test/java/org/springframework/cloud/bindings/boot/ArtemisBindingsPropertiesProcessorTest.java
similarity index 86%
rename from src/test/java/org/springframework/cloud/bindings/boot/ArtemisBindingsPropertiesProcessorTest.java
rename to spring-cloud-bindings/src/test/java/org/springframework/cloud/bindings/boot/ArtemisBindingsPropertiesProcessorTest.java
index 0dbb97e..78ad63b 100644
--- a/src/test/java/org/springframework/cloud/bindings/boot/ArtemisBindingsPropertiesProcessorTest.java
+++ b/spring-cloud-bindings/src/test/java/org/springframework/cloud/bindings/boot/ArtemisBindingsPropertiesProcessorTest.java
@@ -32,13 +32,12 @@ import static org.springframework.cloud.bindings.boot.ArtemisBindingsPropertiesP
@DisplayName("ActiveMQ Artemis BindingsPropertiesProcessor")
final class ArtemisBindingsPropertiesProcessorTest {
- private final Bindings bindings = new Bindings(
+ private final Bindings bindingsSpringBoot3 = new Bindings(
new Binding("test-name", Paths.get("test-path"),
new FluentMap()
.withEntry(Binding.TYPE, TYPE)
.withEntry("mode", "EMBEDDED")
- .withEntry("host", "test-host")
- .withEntry("port", "test-port")
+ .withEntry("broker-url", "tcp://test-host:test-port")
.withEntry("user", "test-user")
.withEntry("password", "test-password")
)
@@ -50,13 +49,12 @@ final class ArtemisBindingsPropertiesProcessorTest {
@Test
@DisplayName("contributes properties")
- void test() {
- new ArtemisBindingsPropertiesProcessor().process(environment, bindings, properties);
+ void testSb3() {
+ new ArtemisBindingsPropertiesProcessor().process(environment, bindingsSpringBoot3, properties);
assertThat(properties)
.containsEntry("spring.artemis.mode", "EMBEDDED")
- .containsEntry("spring.artemis.host", "test-host")
+ .containsEntry("spring.artemis.broker-url", "tcp://test-host:test-port")
.containsEntry("spring.artemis.password", "test-password")
- .containsEntry("spring.artemis.port", "test-port")
.containsEntry("spring.artemis.user", "test-user");
}
@@ -65,8 +63,7 @@ final class ArtemisBindingsPropertiesProcessorTest {
void disabled() {
environment.setProperty("org.springframework.cloud.bindings.boot.artemis.enable", "false");
- new ArtemisBindingsPropertiesProcessor().process(environment, bindings, properties);
-
+ new ArtemisBindingsPropertiesProcessor().process(environment, bindingsSpringBoot3, properties);
assertThat(properties).isEmpty();
}
diff --git a/src/test/java/org/springframework/cloud/bindings/boot/BindingFlattenedEnvironmentPostProcessorTest.java b/spring-cloud-bindings/src/test/java/org/springframework/cloud/bindings/boot/BindingFlattenedEnvironmentPostProcessorTest.java
similarity index 95%
rename from src/test/java/org/springframework/cloud/bindings/boot/BindingFlattenedEnvironmentPostProcessorTest.java
rename to spring-cloud-bindings/src/test/java/org/springframework/cloud/bindings/boot/BindingFlattenedEnvironmentPostProcessorTest.java
index fe24d04..33bed83 100644
--- a/src/test/java/org/springframework/cloud/bindings/boot/BindingFlattenedEnvironmentPostProcessorTest.java
+++ b/spring-cloud-bindings/src/test/java/org/springframework/cloud/bindings/boot/BindingFlattenedEnvironmentPostProcessorTest.java
@@ -16,17 +16,17 @@
package org.springframework.cloud.bindings.boot;
+import java.nio.file.Paths;
+
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import org.springframework.boot.SpringApplication;
-import org.springframework.boot.context.config.ConfigFileApplicationListener;
+import org.springframework.boot.context.config.ConfigDataEnvironmentPostProcessor;
import org.springframework.cloud.bindings.Binding;
import org.springframework.cloud.bindings.Bindings;
import org.springframework.cloud.bindings.FluentMap;
import org.springframework.mock.env.MockEnvironment;
-import java.nio.file.Paths;
-
import static org.assertj.core.api.Assertions.assertThat;
@DisplayName("Binding-flattened EnvironmentPostProcessor")
@@ -82,7 +82,7 @@ final class BindingFlattenedEnvironmentPostProcessorTest {
@DisplayName("has order before ConfigFileApplicationListener")
void order() {
assertThat(new BindingFlattenedEnvironmentPostProcessor(new Bindings()).getOrder())
- .isLessThan(ConfigFileApplicationListener.DEFAULT_ORDER);
+ .isLessThan(ConfigDataEnvironmentPostProcessor.ORDER);
}
}
diff --git a/src/test/java/org/springframework/cloud/bindings/boot/BindingSpecificEnvironmentPostProcessorTest.java b/spring-cloud-bindings/src/test/java/org/springframework/cloud/bindings/boot/BindingSpecificEnvironmentPostProcessorTest.java
similarity index 96%
rename from src/test/java/org/springframework/cloud/bindings/boot/BindingSpecificEnvironmentPostProcessorTest.java
rename to spring-cloud-bindings/src/test/java/org/springframework/cloud/bindings/boot/BindingSpecificEnvironmentPostProcessorTest.java
index 03a6151..85a7d7b 100644
--- a/src/test/java/org/springframework/cloud/bindings/boot/BindingSpecificEnvironmentPostProcessorTest.java
+++ b/spring-cloud-bindings/src/test/java/org/springframework/cloud/bindings/boot/BindingSpecificEnvironmentPostProcessorTest.java
@@ -19,7 +19,7 @@ package org.springframework.cloud.bindings.boot;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import org.springframework.boot.SpringApplication;
-import org.springframework.boot.context.config.ConfigFileApplicationListener;
+import org.springframework.boot.context.config.ConfigDataEnvironmentPostProcessor;
import org.springframework.cloud.bindings.Binding;
import org.springframework.cloud.bindings.Bindings;
import org.springframework.cloud.bindings.FluentMap;
@@ -98,7 +98,7 @@ final class BindingSpecificEnvironmentPostProcessorTest {
@DisplayName("has order before ConfigFileApplicationListener")
void order() {
assertThat(new BindingSpecificEnvironmentPostProcessor(new Bindings()).getOrder())
- .isLessThan(ConfigFileApplicationListener.DEFAULT_ORDER);
+ .isLessThan(ConfigDataEnvironmentPostProcessor.ORDER);
}
@Test
diff --git a/src/test/java/org/springframework/cloud/bindings/boot/CassandraBindingsPropertiesProcessorTest.java b/spring-cloud-bindings/src/test/java/org/springframework/cloud/bindings/boot/CassandraBindingsPropertiesProcessorTest.java
similarity index 63%
rename from src/test/java/org/springframework/cloud/bindings/boot/CassandraBindingsPropertiesProcessorTest.java
rename to spring-cloud-bindings/src/test/java/org/springframework/cloud/bindings/boot/CassandraBindingsPropertiesProcessorTest.java
index e6624df..c64b4ba 100644
--- a/src/test/java/org/springframework/cloud/bindings/boot/CassandraBindingsPropertiesProcessorTest.java
+++ b/spring-cloud-bindings/src/test/java/org/springframework/cloud/bindings/boot/CassandraBindingsPropertiesProcessorTest.java
@@ -44,6 +44,10 @@ final class CassandraBindingsPropertiesProcessorTest {
.withEntry("port", "test-port")
.withEntry("ssl", "test-ssl")
.withEntry("username", "test-username")
+ .withEntry("request.throttler.drain-interval", "test-drain-interval")
+ .withEntry("request.throttler.max-concurrent-requests", "test-max-concurrent-requests")
+ .withEntry("request.throttler.max-queue-size", "test-max-queue-size")
+ .withEntry("request.throttler.max-requests-per-second", "test-max-requests-per-second")
)
);
@@ -53,17 +57,21 @@ final class CassandraBindingsPropertiesProcessorTest {
@Test
@DisplayName("contributes properties")
- void test() {
+ void testSb3() {
new CassandraBindingsPropertiesProcessor().process(environment, bindings, properties);
assertThat(properties)
- .containsEntry("spring.data.cassandra.cluster-name", "test-cluster-name")
- .containsEntry("spring.data.cassandra.compression", "test-compression")
- .containsEntry("spring.data.cassandra.contact-points", "test-contact-points")
- .containsEntry("spring.data.cassandra.keyspace-name", "test-keyspace-name")
- .containsEntry("spring.data.cassandra.password", "test-password")
- .containsEntry("spring.data.cassandra.port", "test-port")
- .containsEntry("spring.data.cassandra.ssl", "test-ssl")
- .containsEntry("spring.data.cassandra.username", "test-username");
+ .containsEntry("spring.cassandra.cluster-name", "test-cluster-name")
+ .containsEntry("spring.cassandra.compression", "test-compression")
+ .containsEntry("spring.cassandra.contact-points", "test-contact-points")
+ .containsEntry("spring.cassandra.keyspace-name", "test-keyspace-name")
+ .containsEntry("spring.cassandra.password", "test-password")
+ .containsEntry("spring.cassandra.port", "test-port")
+ .containsEntry("spring.cassandra.ssl", "test-ssl")
+ .containsEntry("spring.cassandra.username", "test-username")
+ .containsEntry("spring.cassandra.request.throttler.drain-interval", "test-drain-interval")
+ .containsEntry("spring.cassandra.request.throttler.max-concurrent-requests", "test-max-concurrent-requests")
+ .containsEntry("spring.cassandra.request.throttler.max-queue-size", "test-max-queue-size")
+ .containsEntry("spring.cassandra.request.throttler.max-requests-per-second", "test-max-requests-per-second");
}
@Test
@@ -72,7 +80,6 @@ final class CassandraBindingsPropertiesProcessorTest {
environment.setProperty("org.springframework.cloud.bindings.boot.cassandra.enable", "false");
new CassandraBindingsPropertiesProcessor().process(environment, bindings, properties);
-
assertThat(properties).isEmpty();
}
diff --git a/src/test/java/org/springframework/cloud/bindings/boot/ConfigServerBindingsPropertiesProcessorTest.java b/spring-cloud-bindings/src/test/java/org/springframework/cloud/bindings/boot/ConfigServerBindingsPropertiesProcessorTest.java
similarity index 100%
rename from src/test/java/org/springframework/cloud/bindings/boot/ConfigServerBindingsPropertiesProcessorTest.java
rename to spring-cloud-bindings/src/test/java/org/springframework/cloud/bindings/boot/ConfigServerBindingsPropertiesProcessorTest.java
diff --git a/src/test/java/org/springframework/cloud/bindings/boot/CouchbaseBindingsPropertiesProcessorTest.java b/spring-cloud-bindings/src/test/java/org/springframework/cloud/bindings/boot/CouchbaseBindingsPropertiesProcessorTest.java
similarity index 67%
rename from src/test/java/org/springframework/cloud/bindings/boot/CouchbaseBindingsPropertiesProcessorTest.java
rename to spring-cloud-bindings/src/test/java/org/springframework/cloud/bindings/boot/CouchbaseBindingsPropertiesProcessorTest.java
index 4e55d9b..7fde0f8 100644
--- a/src/test/java/org/springframework/cloud/bindings/boot/CouchbaseBindingsPropertiesProcessorTest.java
+++ b/spring-cloud-bindings/src/test/java/org/springframework/cloud/bindings/boot/CouchbaseBindingsPropertiesProcessorTest.java
@@ -32,17 +32,14 @@ import static org.springframework.cloud.bindings.boot.CouchbaseBindingsPropertie
@DisplayName("Couchbase BindingsPropertiesProcessor")
final class CouchbaseBindingsPropertiesProcessorTest {
- private final Bindings bindings = new Bindings(
+ private final Bindings bindingsSpringBoot3 = new Bindings(
new Binding("test-name", Paths.get("test-path"),
new FluentMap()
.withEntry(Binding.TYPE, TYPE)
- .withEntry("bootstrap-hosts", "test-bootstrap-hosts")
- .withEntry("bucket.name", "test-bucket-name")
- .withEntry("bucket.password", "test-bucket-password")
- .withEntry("env.bootstrap.http-direct-port", "test-env-bootstrap-http-direct-port")
- .withEntry("env.bootstrap.http-ssl-port", "test-env-bootstrap-http-ssl-port")
- .withEntry("password", "test-password")
+ .withEntry("connection-string", "test-connection-string")
+ .withEntry("bucket-name", "test-bucket-name")
.withEntry("username", "test-username")
+ .withEntry("password", "test-password")
)
);
@@ -52,16 +49,13 @@ final class CouchbaseBindingsPropertiesProcessorTest {
@Test
@DisplayName("contributes properties")
- void test() {
- new CouchbaseBindingsPropertiesProcessor().process(environment, bindings, properties);
+ void testSb3() {
+ new CouchbaseBindingsPropertiesProcessor().process(environment, bindingsSpringBoot3, properties);
assertThat(properties)
- .containsEntry("spring.couchbase.bootstrap-hosts", "test-bootstrap-hosts")
- .containsEntry("spring.couchbase.bucket.name", "test-bucket-name")
- .containsEntry("spring.couchbase.bucket.password", "test-bucket-password")
- .containsEntry("spring.couchbase.env.bootstrap.http-direct-port", "test-env-bootstrap-http-direct-port")
- .containsEntry("spring.couchbase.env.bootstrap.http-ssl-port", "test-env-bootstrap-http-ssl-port")
- .containsEntry("spring.couchbase.password", "test-password")
- .containsEntry("spring.couchbase.username", "test-username");
+ .containsEntry("spring.couchbase.connection-string", "test-connection-string")
+ .containsEntry("spring.data.couchbase.bucket-name", "test-bucket-name")
+ .containsEntry("spring.couchbase.username", "test-username")
+ .containsEntry("spring.couchbase.password", "test-password");
}
@Test
@@ -69,8 +63,7 @@ final class CouchbaseBindingsPropertiesProcessorTest {
void disabled() {
environment.setProperty("org.springframework.cloud.bindings.boot.couchbase.enable", "false");
- new CouchbaseBindingsPropertiesProcessor().process(environment, bindings, properties);
-
+ new CouchbaseBindingsPropertiesProcessor().process(environment, bindingsSpringBoot3, properties);
assertThat(properties).isEmpty();
}
diff --git a/src/test/java/org/springframework/cloud/bindings/boot/Db2BindingsPropertiesProcessorTest.java b/spring-cloud-bindings/src/test/java/org/springframework/cloud/bindings/boot/Db2BindingsPropertiesProcessorTest.java
similarity index 100%
rename from src/test/java/org/springframework/cloud/bindings/boot/Db2BindingsPropertiesProcessorTest.java
rename to spring-cloud-bindings/src/test/java/org/springframework/cloud/bindings/boot/Db2BindingsPropertiesProcessorTest.java
diff --git a/src/test/java/org/springframework/cloud/bindings/boot/ElasticsearchBindingsPropertiesProcessorTest.java b/spring-cloud-bindings/src/test/java/org/springframework/cloud/bindings/boot/ElasticsearchBindingsPropertiesProcessorTest.java
similarity index 60%
rename from src/test/java/org/springframework/cloud/bindings/boot/ElasticsearchBindingsPropertiesProcessorTest.java
rename to spring-cloud-bindings/src/test/java/org/springframework/cloud/bindings/boot/ElasticsearchBindingsPropertiesProcessorTest.java
index f7ae1cc..24ac8c0 100644
--- a/src/test/java/org/springframework/cloud/bindings/boot/ElasticsearchBindingsPropertiesProcessorTest.java
+++ b/spring-cloud-bindings/src/test/java/org/springframework/cloud/bindings/boot/ElasticsearchBindingsPropertiesProcessorTest.java
@@ -32,40 +32,29 @@ import static org.springframework.cloud.bindings.boot.ElasticsearchBindingsPrope
@DisplayName("Elasticsearch BindingsPropertiesProcessor")
final class ElasticsearchBindingsPropertiesProcessorTest {
- private final Bindings bindings = new Bindings(
+ private final Bindings bindingsSpringBoot3 = new Bindings(
new Binding("test-name", Paths.get("test-path"),
new FluentMap()
.withEntry(Binding.TYPE, TYPE)
- .withEntry("endpoints", "test-endpoints")
.withEntry("password", "test-password")
- .withEntry("use-ssl", "test-use-ssl")
- .withEntry("username", "test-username")
- .withEntry("proxy.host", "test-proxy-host")
- .withEntry("proxy.port", "test-proxy-port")
.withEntry("uris", "test-uris")
+ .withEntry("username", "test-username")
)
);
+
private final MockEnvironment environment = new MockEnvironment();
private final HashMap properties = new HashMap<>();
@Test
- @DisplayName("contributes properties")
- void test() {
- new ElasticsearchBindingsPropertiesProcessor().process(environment, bindings, properties);
+ @DisplayName("contributes properties - Spring Boot 2 flavor")
+ void testSb3() {
+ new ElasticsearchBindingsPropertiesProcessor().process(environment, bindingsSpringBoot3, properties);
assertThat(properties)
- .containsEntry("spring.data.elasticsearch.client.reactive.endpoints", "test-endpoints")
- .containsEntry("spring.data.elasticsearch.client.reactive.password", "test-password")
- .containsEntry("spring.data.elasticsearch.client.reactive.use-ssl", "test-use-ssl")
- .containsEntry("spring.data.elasticsearch.client.reactive.username", "test-username")
- .containsEntry("spring.elasticsearch.jest.password", "test-password")
- .containsEntry("spring.elasticsearch.jest.proxy.host", "test-proxy-host")
- .containsEntry("spring.elasticsearch.jest.proxy.port", "test-proxy-port")
- .containsEntry("spring.elasticsearch.jest.username", "test-username")
- .containsEntry("spring.elasticsearch.rest.password", "test-password")
- .containsEntry("spring.elasticsearch.rest.uris", "test-uris")
- .containsEntry("spring.elasticsearch.rest.username", "test-username");
+ .containsEntry("spring.elasticsearch.password", "test-password")
+ .containsEntry("spring.elasticsearch.uris", "test-uris")
+ .containsEntry("spring.elasticsearch.username", "test-username");
}
@Test
@@ -73,8 +62,7 @@ final class ElasticsearchBindingsPropertiesProcessorTest {
void disabled() {
environment.setProperty("org.springframework.cloud.bindings.boot.elasticsearch.enable", "false");
- new ElasticsearchBindingsPropertiesProcessor().process(environment, bindings, properties);
-
+ new ElasticsearchBindingsPropertiesProcessor().process(environment, bindingsSpringBoot3, properties);
assertThat(properties).isEmpty();
}
diff --git a/src/test/java/org/springframework/cloud/bindings/boot/EurekaBindingsPropertiesProcessorTest.java b/spring-cloud-bindings/src/test/java/org/springframework/cloud/bindings/boot/EurekaBindingsPropertiesProcessorTest.java
similarity index 100%
rename from src/test/java/org/springframework/cloud/bindings/boot/EurekaBindingsPropertiesProcessorTest.java
rename to spring-cloud-bindings/src/test/java/org/springframework/cloud/bindings/boot/EurekaBindingsPropertiesProcessorTest.java
diff --git a/src/test/java/org/springframework/cloud/bindings/boot/GuardsTest.java b/spring-cloud-bindings/src/test/java/org/springframework/cloud/bindings/boot/GuardsTest.java
similarity index 96%
rename from src/test/java/org/springframework/cloud/bindings/boot/GuardsTest.java
rename to spring-cloud-bindings/src/test/java/org/springframework/cloud/bindings/boot/GuardsTest.java
index 33271a7..f221962 100644
--- a/src/test/java/org/springframework/cloud/bindings/boot/GuardsTest.java
+++ b/spring-cloud-bindings/src/test/java/org/springframework/cloud/bindings/boot/GuardsTest.java
@@ -35,9 +35,9 @@ final class GuardsTest {
private final MockEnvironment environment = new MockEnvironment();
@Test
- @DisplayName("returns false if unset")
+ @DisplayName("returns true if unset")
void unset() {
- assertThat(isGlobalEnabled(environment)).isFalse();
+ assertThat(isGlobalEnabled(environment)).isTrue();
}
@Test
diff --git a/src/test/java/org/springframework/cloud/bindings/boot/KafkaBindingsPropertiesProcessorTest.java b/spring-cloud-bindings/src/test/java/org/springframework/cloud/bindings/boot/KafkaBindingsPropertiesProcessorTest.java
similarity index 100%
rename from src/test/java/org/springframework/cloud/bindings/boot/KafkaBindingsPropertiesProcessorTest.java
rename to spring-cloud-bindings/src/test/java/org/springframework/cloud/bindings/boot/KafkaBindingsPropertiesProcessorTest.java
diff --git a/src/test/java/org/springframework/cloud/bindings/boot/LDAPBindingsPropertiesProcessorTest.java b/spring-cloud-bindings/src/test/java/org/springframework/cloud/bindings/boot/LDAPBindingsPropertiesProcessorTest.java
similarity index 100%
rename from src/test/java/org/springframework/cloud/bindings/boot/LDAPBindingsPropertiesProcessorTest.java
rename to spring-cloud-bindings/src/test/java/org/springframework/cloud/bindings/boot/LDAPBindingsPropertiesProcessorTest.java
diff --git a/src/test/java/org/springframework/cloud/bindings/boot/MapMapperTest.java b/spring-cloud-bindings/src/test/java/org/springframework/cloud/bindings/boot/MapMapperTest.java
similarity index 100%
rename from src/test/java/org/springframework/cloud/bindings/boot/MapMapperTest.java
rename to spring-cloud-bindings/src/test/java/org/springframework/cloud/bindings/boot/MapMapperTest.java
diff --git a/src/test/java/org/springframework/cloud/bindings/boot/MongoDbBindingsPropertiesProcessorTest.java b/spring-cloud-bindings/src/test/java/org/springframework/cloud/bindings/boot/MongoDbBindingsPropertiesProcessorTest.java
similarity index 100%
rename from src/test/java/org/springframework/cloud/bindings/boot/MongoDbBindingsPropertiesProcessorTest.java
rename to spring-cloud-bindings/src/test/java/org/springframework/cloud/bindings/boot/MongoDbBindingsPropertiesProcessorTest.java
diff --git a/src/test/java/org/springframework/cloud/bindings/boot/MySqlBindingsPropertiesProcessorTest.java b/spring-cloud-bindings/src/test/java/org/springframework/cloud/bindings/boot/MySqlBindingsPropertiesProcessorTest.java
similarity index 100%
rename from src/test/java/org/springframework/cloud/bindings/boot/MySqlBindingsPropertiesProcessorTest.java
rename to spring-cloud-bindings/src/test/java/org/springframework/cloud/bindings/boot/MySqlBindingsPropertiesProcessorTest.java
diff --git a/src/test/java/org/springframework/cloud/bindings/boot/Neo4JBindingsPropertiesProcessorTest.java b/spring-cloud-bindings/src/test/java/org/springframework/cloud/bindings/boot/Neo4JBindingsPropertiesProcessorTest.java
similarity index 89%
rename from src/test/java/org/springframework/cloud/bindings/boot/Neo4JBindingsPropertiesProcessorTest.java
rename to spring-cloud-bindings/src/test/java/org/springframework/cloud/bindings/boot/Neo4JBindingsPropertiesProcessorTest.java
index 85d351b..9eab145 100644
--- a/src/test/java/org/springframework/cloud/bindings/boot/Neo4JBindingsPropertiesProcessorTest.java
+++ b/spring-cloud-bindings/src/test/java/org/springframework/cloud/bindings/boot/Neo4JBindingsPropertiesProcessorTest.java
@@ -48,12 +48,12 @@ final class Neo4JBindingsPropertiesProcessorTest {
@Test
@DisplayName("contributes properties")
- void test() {
+ void testSb3() {
new Neo4JBindingsPropertiesProcessor().process(environment, bindings, properties);
assertThat(properties)
- .containsEntry("spring.data.neo4j.password", "test-password")
- .containsEntry("spring.data.neo4j.uri", "test-uri")
- .containsEntry("spring.data.neo4j.username", "test-username");
+ .containsEntry("spring.neo4j.authentication.password", "test-password")
+ .containsEntry("spring.neo4j.uri", "test-uri")
+ .containsEntry("spring.neo4j.authentication.username", "test-username");
}
@Test
@@ -62,8 +62,8 @@ final class Neo4JBindingsPropertiesProcessorTest {
environment.setProperty("org.springframework.cloud.bindings.boot.neo4j.enable", "false");
new Neo4JBindingsPropertiesProcessor().process(environment, bindings, properties);
-
assertThat(properties).isEmpty();
+
}
}
diff --git a/src/test/java/org/springframework/cloud/bindings/boot/OracleBindingsPropertiesProcessorTest.java b/spring-cloud-bindings/src/test/java/org/springframework/cloud/bindings/boot/OracleBindingsPropertiesProcessorTest.java
similarity index 100%
rename from src/test/java/org/springframework/cloud/bindings/boot/OracleBindingsPropertiesProcessorTest.java
rename to spring-cloud-bindings/src/test/java/org/springframework/cloud/bindings/boot/OracleBindingsPropertiesProcessorTest.java
diff --git a/src/test/java/org/springframework/cloud/bindings/boot/PostgreSqlBindingsPropertiesProcessorTest.java b/spring-cloud-bindings/src/test/java/org/springframework/cloud/bindings/boot/PostgreSqlBindingsPropertiesProcessorTest.java
similarity index 100%
rename from src/test/java/org/springframework/cloud/bindings/boot/PostgreSqlBindingsPropertiesProcessorTest.java
rename to spring-cloud-bindings/src/test/java/org/springframework/cloud/bindings/boot/PostgreSqlBindingsPropertiesProcessorTest.java
diff --git a/src/test/java/org/springframework/cloud/bindings/boot/PropertySourceContributorTest.java b/spring-cloud-bindings/src/test/java/org/springframework/cloud/bindings/boot/PropertySourceContributorTest.java
similarity index 100%
rename from src/test/java/org/springframework/cloud/bindings/boot/PropertySourceContributorTest.java
rename to spring-cloud-bindings/src/test/java/org/springframework/cloud/bindings/boot/PropertySourceContributorTest.java
diff --git a/src/test/java/org/springframework/cloud/bindings/boot/RabbitMqBindingsPropertiesProcessorTest.java b/spring-cloud-bindings/src/test/java/org/springframework/cloud/bindings/boot/RabbitMqBindingsPropertiesProcessorTest.java
similarity index 100%
rename from src/test/java/org/springframework/cloud/bindings/boot/RabbitMqBindingsPropertiesProcessorTest.java
rename to spring-cloud-bindings/src/test/java/org/springframework/cloud/bindings/boot/RabbitMqBindingsPropertiesProcessorTest.java
diff --git a/src/test/java/org/springframework/cloud/bindings/boot/RedisBindingsPropertiesProcessorTest.java b/spring-cloud-bindings/src/test/java/org/springframework/cloud/bindings/boot/RedisBindingsPropertiesProcessorTest.java
similarity index 76%
rename from src/test/java/org/springframework/cloud/bindings/boot/RedisBindingsPropertiesProcessorTest.java
rename to spring-cloud-bindings/src/test/java/org/springframework/cloud/bindings/boot/RedisBindingsPropertiesProcessorTest.java
index 83de7fa..d47833e 100644
--- a/src/test/java/org/springframework/cloud/bindings/boot/RedisBindingsPropertiesProcessorTest.java
+++ b/spring-cloud-bindings/src/test/java/org/springframework/cloud/bindings/boot/RedisBindingsPropertiesProcessorTest.java
@@ -56,20 +56,21 @@ final class RedisBindingsPropertiesProcessorTest {
@Test
@DisplayName("contributes properties")
- void test() {
+ void testSb3() {
new RedisBindingsPropertiesProcessor().process(environment, bindings, properties);
+
assertThat(properties)
- .containsEntry("spring.redis.client-name", "test-client-name")
- .containsEntry("spring.redis.cluster.max-redirects", "test-cluster-max-redirects")
- .containsEntry("spring.redis.cluster.nodes", "test-cluster-nodes")
- .containsEntry("spring.redis.database", "test-database")
- .containsEntry("spring.redis.host", "test-host")
- .containsEntry("spring.redis.password", "test-password")
- .containsEntry("spring.redis.port", "test-port")
- .containsEntry("spring.redis.sentinel.master", "test-sentinel-master")
- .containsEntry("spring.redis.sentinel.nodes", "test-sentinel-nodes")
- .containsEntry("spring.redis.ssl", "test-ssl")
- .containsEntry("spring.redis.url", "test-url");
+ .containsEntry("spring.data.redis.client-name", "test-client-name")
+ .containsEntry("spring.data.redis.cluster.max-redirects", "test-cluster-max-redirects")
+ .containsEntry("spring.data.redis.cluster.nodes", "test-cluster-nodes")
+ .containsEntry("spring.data.redis.database", "test-database")
+ .containsEntry("spring.data.redis.host", "test-host")
+ .containsEntry("spring.data.redis.password", "test-password")
+ .containsEntry("spring.data.redis.port", "test-port")
+ .containsEntry("spring.data.redis.sentinel.master", "test-sentinel-master")
+ .containsEntry("spring.data.redis.sentinel.nodes", "test-sentinel-nodes")
+ .containsEntry("spring.data.redis.ssl", "test-ssl")
+ .containsEntry("spring.data.redis.url", "test-url");
}
@Test
@@ -78,7 +79,6 @@ final class RedisBindingsPropertiesProcessorTest {
environment.setProperty("org.springframework.cloud.bindings.boot.redis.enable", "false");
new RedisBindingsPropertiesProcessor().process(environment, bindings, properties);
-
assertThat(properties).isEmpty();
}
diff --git a/src/test/java/org/springframework/cloud/bindings/boot/SapHanaBindingsPropertiesProcessorTest.java b/spring-cloud-bindings/src/test/java/org/springframework/cloud/bindings/boot/SapHanaBindingsPropertiesProcessorTest.java
similarity index 100%
rename from src/test/java/org/springframework/cloud/bindings/boot/SapHanaBindingsPropertiesProcessorTest.java
rename to spring-cloud-bindings/src/test/java/org/springframework/cloud/bindings/boot/SapHanaBindingsPropertiesProcessorTest.java
diff --git a/src/test/java/org/springframework/cloud/bindings/boot/SpringSecurityOAuth2BindingsPropertiesProcessorTest.java b/spring-cloud-bindings/src/test/java/org/springframework/cloud/bindings/boot/SpringSecurityOAuth2BindingsPropertiesProcessorTest.java
similarity index 100%
rename from src/test/java/org/springframework/cloud/bindings/boot/SpringSecurityOAuth2BindingsPropertiesProcessorTest.java
rename to spring-cloud-bindings/src/test/java/org/springframework/cloud/bindings/boot/SpringSecurityOAuth2BindingsPropertiesProcessorTest.java
diff --git a/src/test/java/org/springframework/cloud/bindings/boot/SqlServerBindingsPropertiesProcessorTest.java b/spring-cloud-bindings/src/test/java/org/springframework/cloud/bindings/boot/SqlServerBindingsPropertiesProcessorTest.java
similarity index 100%
rename from src/test/java/org/springframework/cloud/bindings/boot/SqlServerBindingsPropertiesProcessorTest.java
rename to spring-cloud-bindings/src/test/java/org/springframework/cloud/bindings/boot/SqlServerBindingsPropertiesProcessorTest.java
diff --git a/src/test/java/org/springframework/cloud/bindings/boot/TestHelper.java b/spring-cloud-bindings/src/test/java/org/springframework/cloud/bindings/boot/TestHelper.java
similarity index 100%
rename from src/test/java/org/springframework/cloud/bindings/boot/TestHelper.java
rename to spring-cloud-bindings/src/test/java/org/springframework/cloud/bindings/boot/TestHelper.java
diff --git a/src/test/java/org/springframework/cloud/bindings/boot/VaultBindingsPropertiesProcessorTest.java b/spring-cloud-bindings/src/test/java/org/springframework/cloud/bindings/boot/VaultBindingsPropertiesProcessorTest.java
similarity index 88%
rename from src/test/java/org/springframework/cloud/bindings/boot/VaultBindingsPropertiesProcessorTest.java
rename to spring-cloud-bindings/src/test/java/org/springframework/cloud/bindings/boot/VaultBindingsPropertiesProcessorTest.java
index 59a435d..e8ea374 100644
--- a/src/test/java/org/springframework/cloud/bindings/boot/VaultBindingsPropertiesProcessorTest.java
+++ b/spring-cloud-bindings/src/test/java/org/springframework/cloud/bindings/boot/VaultBindingsPropertiesProcessorTest.java
@@ -47,12 +47,6 @@ final class VaultBindingsPropertiesProcessorTest {
)
);
- new VaultBindingsPropertiesProcessor().process(environment, bindings, properties);
- assertThat(properties)
- .containsEntry("spring.cloud.vault.uri", "test-uri")
- .containsEntry("spring.cloud.vault.namespace", "test-namespace")
- .containsEntry("spring.cloud.vault.authentication", "token")
- .containsEntry("spring.cloud.vault.token", "test-token");
}
@Test
@@ -108,6 +102,8 @@ final class VaultBindingsPropertiesProcessorTest {
.withEntry("authentication-method", "cert")
.withEntry("cert-auth-path", "test-cert-auth-path")
.withEntry("key-store-password", "test-key-store-password")
+ .withEntry("truststore.jks", "trust store contents!")
+ .withEntry("trust-store-password", "test-trust-store-password")
.withEntry("keystore.jks", "key store contents!")
)
);
@@ -117,9 +113,11 @@ final class VaultBindingsPropertiesProcessorTest {
.containsEntry("spring.cloud.vault.uri", "test-uri")
.containsEntry("spring.cloud.vault.namespace", "test-namespace")
.containsEntry("spring.cloud.vault.authentication", "cert")
+ .containsEntry("spring.cloud.vault.ssl.cert-auth-path", "test-cert-auth-path")
.containsEntry("spring.cloud.vault.ssl.key-store", "test-path/keystore.jks")
.containsEntry("spring.cloud.vault.ssl.key-store-password", "test-key-store-password")
- .containsEntry("spring.cloud.vault.ssl.cert-auth-path", "test-cert-auth-path");
+ .containsEntry("spring.cloud.vault.ssl.trust-store", "test-path/truststore.jks")
+ .containsEntry("spring.cloud.vault.ssl.trust-store-password", "test-trust-store-password");
}
@Test
@@ -136,15 +134,6 @@ final class VaultBindingsPropertiesProcessorTest {
)
);
- new VaultBindingsPropertiesProcessor().process(environment, bindings, properties);
- assertThat(properties)
- .containsEntry("spring.cloud.vault.uri", "test-uri")
- .containsEntry("spring.cloud.vault.namespace", "test-namespace")
- .containsEntry("spring.cloud.vault.authentication", "aws_ec2")
- .containsEntry("spring.cloud.vault.aws-ec2.role", "test-role")
- .containsEntry("spring.cloud.vault.aws-ec2.aws-ec2-path", "test-aws-ec2-path")
- .containsEntry("spring.cloud.vault.aws-ec2.identity-document", "test-identity-document")
- .containsEntry("spring.cloud.vault.aws-ec2.nonce", "test-nonce");
}
@Test
@@ -155,6 +144,7 @@ final class VaultBindingsPropertiesProcessorTest {
baseSecret()
.withEntry("authentication-method", "aws_iam")
.withEntry("aws-iam-server-id", "test-server-id")
+ .withEntry("aws-iam-server-name", "test-server-name")
.withEntry("aws-path", "test-aws-path")
.withEntry("aws-sts-endpoint-uri", "test-endpoint-uri")
.withEntry("role", "test-role")
@@ -168,7 +158,7 @@ final class VaultBindingsPropertiesProcessorTest {
.containsEntry("spring.cloud.vault.authentication", "aws_iam")
.containsEntry("spring.cloud.vault.aws-iam.role", "test-role")
.containsEntry("spring.cloud.vault.aws-iam.aws-path", "test-aws-path")
- .containsEntry("spring.cloud.vault.aws-iam.server-id", "test-server-id")
+ .containsEntry("spring.cloud.vault.aws-iam.server-name", "test-server-name")
.containsEntry("spring.cloud.vault.aws-iam.endpoint-uri", "test-endpoint-uri");
}
@@ -181,6 +171,8 @@ final class VaultBindingsPropertiesProcessorTest {
.withEntry("authentication-method", "azure_msi")
.withEntry("azure-path", "test-azure-path")
.withEntry("role", "test-role")
+ .withEntry("metadata-service", "test-metadata-service")
+ .withEntry("identity-token-service", "test-identity-token-service")
)
);
@@ -190,7 +182,9 @@ final class VaultBindingsPropertiesProcessorTest {
.containsEntry("spring.cloud.vault.namespace", "test-namespace")
.containsEntry("spring.cloud.vault.authentication", "azure_msi")
.containsEntry("spring.cloud.vault.azure-msi.role", "test-role")
- .containsEntry("spring.cloud.vault.azure-msi.azure-path", "test-azure-path");
+ .containsEntry("spring.cloud.vault.azure-msi.azure-path", "test-azure-path")
+ .containsEntry("spring.cloud.vault.azure-msi.metadata-service", "test-metadata-service")
+ .containsEntry("spring.cloud.vault.azure-msi.identity-token-service", "test-identity-token-service");
}
@Test
@@ -206,14 +200,6 @@ final class VaultBindingsPropertiesProcessorTest {
)
);
- new VaultBindingsPropertiesProcessor().process(environment, bindings, properties);
- assertThat(properties)
- .containsEntry("spring.cloud.vault.uri", "test-uri")
- .containsEntry("spring.cloud.vault.namespace", "test-namespace")
- .containsEntry("spring.cloud.vault.authentication", "gcp_gce")
- .containsEntry("spring.cloud.vault.gcp-gce.role", "test-role")
- .containsEntry("spring.cloud.vault.gcp-gce.gcp-path", "test-gcp-path")
- .containsEntry("spring.cloud.vault.gcp-gce.service-account", "test-service-account");
}
@Test
@@ -244,7 +230,7 @@ final class VaultBindingsPropertiesProcessorTest {
.containsEntry("spring.cloud.vault.gcp-iam.gcp-path", "test-gcp-path")
.containsEntry("spring.cloud.vault.gcp-iam.jwt-validity", "test-jwt-validity")
.containsEntry("spring.cloud.vault.gcp-iam.project-id", "test-project-id")
- .containsEntry("spring.cloud.vault.gcp-iam.service-account", "test-service-account");
+ .containsEntry("spring.cloud.vault.gcp-iam.service-account-id", "test-service-account");
}
@Test
@@ -256,6 +242,7 @@ final class VaultBindingsPropertiesProcessorTest {
.withEntry("authentication-method", "kubernetes")
.withEntry("role", "test-role")
.withEntry("kubernetes-path", "test-kubernetes-path")
+ .withEntry("kubernetes-service-account-token-file", "test-kubernetes-service-account-token-file")
)
);
@@ -265,7 +252,8 @@ final class VaultBindingsPropertiesProcessorTest {
.containsEntry("spring.cloud.vault.namespace", "test-namespace")
.containsEntry("spring.cloud.vault.authentication", "kubernetes")
.containsEntry("spring.cloud.vault.kubernetes.role", "test-role")
- .containsEntry("spring.cloud.vault.kubernetes.kubernetes-path", "test-kubernetes-path");
+ .containsEntry("spring.cloud.vault.kubernetes.kubernetes-path", "test-kubernetes-path")
+ .containsEntry("spring.cloud.vault.kubernetes.kubernetes-service-account-token-file", "test-kubernetes-service-account-token-file");
}
@Test
diff --git a/src/test/java/org/springframework/cloud/bindings/boot/WavefrontBindingsPropertiesProcessorTest.java b/spring-cloud-bindings/src/test/java/org/springframework/cloud/bindings/boot/WavefrontBindingsPropertiesProcessorTest.java
similarity index 100%
rename from src/test/java/org/springframework/cloud/bindings/boot/WavefrontBindingsPropertiesProcessorTest.java
rename to spring-cloud-bindings/src/test/java/org/springframework/cloud/bindings/boot/WavefrontBindingsPropertiesProcessorTest.java
diff --git a/src/test/java/org/springframework/cloud/bindings/boot/pem/PemCertificateParserTests.java b/spring-cloud-bindings/src/test/java/org/springframework/cloud/bindings/boot/pem/PemCertificateParserTests.java
similarity index 100%
rename from src/test/java/org/springframework/cloud/bindings/boot/pem/PemCertificateParserTests.java
rename to spring-cloud-bindings/src/test/java/org/springframework/cloud/bindings/boot/pem/PemCertificateParserTests.java
diff --git a/src/test/java/org/springframework/cloud/bindings/boot/pem/PemContentTests.java b/spring-cloud-bindings/src/test/java/org/springframework/cloud/bindings/boot/pem/PemContentTests.java
similarity index 100%
rename from src/test/java/org/springframework/cloud/bindings/boot/pem/PemContentTests.java
rename to spring-cloud-bindings/src/test/java/org/springframework/cloud/bindings/boot/pem/PemContentTests.java
diff --git a/src/test/java/org/springframework/cloud/bindings/boot/pem/PemPrivateKeyParserTests.java b/spring-cloud-bindings/src/test/java/org/springframework/cloud/bindings/boot/pem/PemPrivateKeyParserTests.java
similarity index 100%
rename from src/test/java/org/springframework/cloud/bindings/boot/pem/PemPrivateKeyParserTests.java
rename to spring-cloud-bindings/src/test/java/org/springframework/cloud/bindings/boot/pem/PemPrivateKeyParserTests.java
diff --git a/src/test/java/org/springframework/cloud/bindings/boot/pem/PemSslStoreHelperTests.java b/spring-cloud-bindings/src/test/java/org/springframework/cloud/bindings/boot/pem/PemSslStoreHelperTests.java
similarity index 100%
rename from src/test/java/org/springframework/cloud/bindings/boot/pem/PemSslStoreHelperTests.java
rename to spring-cloud-bindings/src/test/java/org/springframework/cloud/bindings/boot/pem/PemSslStoreHelperTests.java
diff --git a/src/test/resources/cnb/test-k8s/metadata/.hidden-data b/spring-cloud-bindings/src/test/resources/cnb/test-k8s/metadata/.hidden-data
similarity index 100%
rename from src/test/resources/cnb/test-k8s/metadata/.hidden-data
rename to spring-cloud-bindings/src/test/resources/cnb/test-k8s/metadata/.hidden-data
diff --git a/src/test/resources/cnb/test-k8s/metadata/.hidden-data-1/kind b/spring-cloud-bindings/src/test/resources/cnb/test-k8s/metadata/.hidden-data-1/kind
similarity index 100%
rename from src/test/resources/cnb/test-k8s/metadata/.hidden-data-1/kind
rename to spring-cloud-bindings/src/test/resources/cnb/test-k8s/metadata/.hidden-data-1/kind
diff --git a/src/test/resources/cnb/test-k8s/metadata/.hidden-data-1/provider b/spring-cloud-bindings/src/test/resources/cnb/test-k8s/metadata/.hidden-data-1/provider
similarity index 100%
rename from src/test/resources/cnb/test-k8s/metadata/.hidden-data-1/provider
rename to spring-cloud-bindings/src/test/resources/cnb/test-k8s/metadata/.hidden-data-1/provider
diff --git a/src/test/resources/cnb/test-k8s/metadata/.hidden-data-1/test-metadata-key b/spring-cloud-bindings/src/test/resources/cnb/test-k8s/metadata/.hidden-data-1/test-metadata-key
similarity index 100%
rename from src/test/resources/cnb/test-k8s/metadata/.hidden-data-1/test-metadata-key
rename to spring-cloud-bindings/src/test/resources/cnb/test-k8s/metadata/.hidden-data-1/test-metadata-key
diff --git a/src/test/resources/cnb/test-k8s/metadata/kind b/spring-cloud-bindings/src/test/resources/cnb/test-k8s/metadata/kind
similarity index 100%
rename from src/test/resources/cnb/test-k8s/metadata/kind
rename to spring-cloud-bindings/src/test/resources/cnb/test-k8s/metadata/kind
diff --git a/src/test/resources/cnb/test-k8s/metadata/provider b/spring-cloud-bindings/src/test/resources/cnb/test-k8s/metadata/provider
similarity index 100%
rename from src/test/resources/cnb/test-k8s/metadata/provider
rename to spring-cloud-bindings/src/test/resources/cnb/test-k8s/metadata/provider
diff --git a/src/test/resources/cnb/test-k8s/metadata/test-metadata-key b/spring-cloud-bindings/src/test/resources/cnb/test-k8s/metadata/test-metadata-key
similarity index 100%
rename from src/test/resources/cnb/test-k8s/metadata/test-metadata-key
rename to spring-cloud-bindings/src/test/resources/cnb/test-k8s/metadata/test-metadata-key
diff --git a/src/test/resources/cnb/test-k8s/secret/.hidden-data b/spring-cloud-bindings/src/test/resources/cnb/test-k8s/secret/.hidden-data
similarity index 100%
rename from src/test/resources/cnb/test-k8s/secret/.hidden-data
rename to spring-cloud-bindings/src/test/resources/cnb/test-k8s/secret/.hidden-data
diff --git a/src/test/resources/cnb/test-k8s/secret/.hidden-data-1/test-secret-key b/spring-cloud-bindings/src/test/resources/cnb/test-k8s/secret/.hidden-data-1/test-secret-key
similarity index 100%
rename from src/test/resources/cnb/test-k8s/secret/.hidden-data-1/test-secret-key
rename to spring-cloud-bindings/src/test/resources/cnb/test-k8s/secret/.hidden-data-1/test-secret-key
diff --git a/src/test/resources/cnb/test-k8s/secret/test-secret-key b/spring-cloud-bindings/src/test/resources/cnb/test-k8s/secret/test-secret-key
similarity index 100%
rename from src/test/resources/cnb/test-k8s/secret/test-secret-key
rename to spring-cloud-bindings/src/test/resources/cnb/test-k8s/secret/test-secret-key
diff --git a/src/test/resources/cnb/test-name-1/metadata/kind b/spring-cloud-bindings/src/test/resources/cnb/test-name-1/metadata/kind
similarity index 100%
rename from src/test/resources/cnb/test-name-1/metadata/kind
rename to spring-cloud-bindings/src/test/resources/cnb/test-name-1/metadata/kind
diff --git a/src/test/resources/cnb/test-name-1/metadata/provider b/spring-cloud-bindings/src/test/resources/cnb/test-name-1/metadata/provider
similarity index 100%
rename from src/test/resources/cnb/test-name-1/metadata/provider
rename to spring-cloud-bindings/src/test/resources/cnb/test-name-1/metadata/provider
diff --git a/src/test/resources/cnb/test-name-1/metadata/test-metadata-key b/spring-cloud-bindings/src/test/resources/cnb/test-name-1/metadata/test-metadata-key
similarity index 100%
rename from src/test/resources/cnb/test-name-1/metadata/test-metadata-key
rename to spring-cloud-bindings/src/test/resources/cnb/test-name-1/metadata/test-metadata-key
diff --git a/src/test/resources/cnb/test-name-1/secret/test-secret-key b/spring-cloud-bindings/src/test/resources/cnb/test-name-1/secret/test-secret-key
similarity index 100%
rename from src/test/resources/cnb/test-name-1/secret/test-secret-key
rename to spring-cloud-bindings/src/test/resources/cnb/test-name-1/secret/test-secret-key
diff --git a/src/test/resources/cnb/test-name-2/metadata/kind b/spring-cloud-bindings/src/test/resources/cnb/test-name-2/metadata/kind
similarity index 100%
rename from src/test/resources/cnb/test-name-2/metadata/kind
rename to spring-cloud-bindings/src/test/resources/cnb/test-name-2/metadata/kind
diff --git a/src/test/resources/cnb/test-name-2/metadata/provider b/spring-cloud-bindings/src/test/resources/cnb/test-name-2/metadata/provider
similarity index 100%
rename from src/test/resources/cnb/test-name-2/metadata/provider
rename to spring-cloud-bindings/src/test/resources/cnb/test-name-2/metadata/provider
diff --git a/src/test/resources/cnb/test-name-2/metadata/test-metadata-key b/spring-cloud-bindings/src/test/resources/cnb/test-name-2/metadata/test-metadata-key
similarity index 100%
rename from src/test/resources/cnb/test-name-2/metadata/test-metadata-key
rename to spring-cloud-bindings/src/test/resources/cnb/test-name-2/metadata/test-metadata-key
diff --git a/src/test/resources/cnb/test-name-2/secret/test-secret-key b/spring-cloud-bindings/src/test/resources/cnb/test-name-2/secret/test-secret-key
similarity index 100%
rename from src/test/resources/cnb/test-name-2/secret/test-secret-key
rename to spring-cloud-bindings/src/test/resources/cnb/test-name-2/secret/test-secret-key
diff --git a/src/test/resources/k8s/test-k8s/.hidden-data b/spring-cloud-bindings/src/test/resources/k8s/test-k8s/.hidden-data
similarity index 100%
rename from src/test/resources/k8s/test-k8s/.hidden-data
rename to spring-cloud-bindings/src/test/resources/k8s/test-k8s/.hidden-data
diff --git a/src/test/resources/k8s/test-k8s/.hidden-data-1/provider b/spring-cloud-bindings/src/test/resources/k8s/test-k8s/.hidden-data-1/provider
similarity index 100%
rename from src/test/resources/k8s/test-k8s/.hidden-data-1/provider
rename to spring-cloud-bindings/src/test/resources/k8s/test-k8s/.hidden-data-1/provider
diff --git a/src/test/resources/k8s/test-k8s/.hidden-data-1/test-secret-key b/spring-cloud-bindings/src/test/resources/k8s/test-k8s/.hidden-data-1/test-secret-key
similarity index 100%
rename from src/test/resources/k8s/test-k8s/.hidden-data-1/test-secret-key
rename to spring-cloud-bindings/src/test/resources/k8s/test-k8s/.hidden-data-1/test-secret-key
diff --git a/src/test/resources/k8s/test-k8s/.hidden-data-1/type b/spring-cloud-bindings/src/test/resources/k8s/test-k8s/.hidden-data-1/type
similarity index 100%
rename from src/test/resources/k8s/test-k8s/.hidden-data-1/type
rename to spring-cloud-bindings/src/test/resources/k8s/test-k8s/.hidden-data-1/type
diff --git a/src/test/resources/k8s/test-k8s/provider b/spring-cloud-bindings/src/test/resources/k8s/test-k8s/provider
similarity index 100%
rename from src/test/resources/k8s/test-k8s/provider
rename to spring-cloud-bindings/src/test/resources/k8s/test-k8s/provider
diff --git a/src/test/resources/k8s/test-k8s/test-secret-key b/spring-cloud-bindings/src/test/resources/k8s/test-k8s/test-secret-key
similarity index 100%
rename from src/test/resources/k8s/test-k8s/test-secret-key
rename to spring-cloud-bindings/src/test/resources/k8s/test-k8s/test-secret-key
diff --git a/src/test/resources/k8s/test-k8s/type b/spring-cloud-bindings/src/test/resources/k8s/test-k8s/type
similarity index 100%
rename from src/test/resources/k8s/test-k8s/type
rename to spring-cloud-bindings/src/test/resources/k8s/test-k8s/type
diff --git a/src/test/resources/k8s/test-name-1/provider b/spring-cloud-bindings/src/test/resources/k8s/test-name-1/provider
similarity index 100%
rename from src/test/resources/k8s/test-name-1/provider
rename to spring-cloud-bindings/src/test/resources/k8s/test-name-1/provider
diff --git a/src/test/resources/k8s/test-name-1/test-secret-key b/spring-cloud-bindings/src/test/resources/k8s/test-name-1/test-secret-key
similarity index 100%
rename from src/test/resources/k8s/test-name-1/test-secret-key
rename to spring-cloud-bindings/src/test/resources/k8s/test-name-1/test-secret-key
diff --git a/src/test/resources/k8s/test-name-1/type b/spring-cloud-bindings/src/test/resources/k8s/test-name-1/type
similarity index 100%
rename from src/test/resources/k8s/test-name-1/type
rename to spring-cloud-bindings/src/test/resources/k8s/test-name-1/type
diff --git a/src/test/resources/k8s/test-name-2/provider b/spring-cloud-bindings/src/test/resources/k8s/test-name-2/provider
similarity index 100%
rename from src/test/resources/k8s/test-name-2/provider
rename to spring-cloud-bindings/src/test/resources/k8s/test-name-2/provider
diff --git a/src/test/resources/k8s/test-name-2/test-secret-key b/spring-cloud-bindings/src/test/resources/k8s/test-name-2/test-secret-key
similarity index 100%
rename from src/test/resources/k8s/test-name-2/test-secret-key
rename to spring-cloud-bindings/src/test/resources/k8s/test-name-2/test-secret-key
diff --git a/src/test/resources/k8s/test-name-2/type b/spring-cloud-bindings/src/test/resources/k8s/test-name-2/type
similarity index 100%
rename from src/test/resources/k8s/test-name-2/type
rename to spring-cloud-bindings/src/test/resources/k8s/test-name-2/type
diff --git a/src/test/resources/pem/test-banner.txt b/spring-cloud-bindings/src/test/resources/pem/test-banner.txt
similarity index 100%
rename from src/test/resources/pem/test-banner.txt
rename to spring-cloud-bindings/src/test/resources/pem/test-banner.txt
diff --git a/src/test/resources/pem/test-cert-chain.pem b/spring-cloud-bindings/src/test/resources/pem/test-cert-chain.pem
similarity index 100%
rename from src/test/resources/pem/test-cert-chain.pem
rename to spring-cloud-bindings/src/test/resources/pem/test-cert-chain.pem
diff --git a/src/test/resources/pem/test-cert.pem b/spring-cloud-bindings/src/test/resources/pem/test-cert.pem
similarity index 100%
rename from src/test/resources/pem/test-cert.pem
rename to spring-cloud-bindings/src/test/resources/pem/test-cert.pem
diff --git a/src/test/resources/pem/test-ec-key.pem b/spring-cloud-bindings/src/test/resources/pem/test-ec-key.pem
similarity index 100%
rename from src/test/resources/pem/test-ec-key.pem
rename to spring-cloud-bindings/src/test/resources/pem/test-ec-key.pem
diff --git a/src/test/resources/pem/test-key.pem b/spring-cloud-bindings/src/test/resources/pem/test-key.pem
similarity index 100%
rename from src/test/resources/pem/test-key.pem
rename to spring-cloud-bindings/src/test/resources/pem/test-key.pem