Merge pull request #42 from spring-cloud/feature/40-k8s-style-bindings
Handles k8s style bindings
This commit is contained in:
@@ -15,6 +15,7 @@
|
||||
*/
|
||||
package org.springframework.cloud.bindings;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.nio.file.Files;
|
||||
@@ -141,6 +142,8 @@ public final class Binding {
|
||||
private Map<String, String> createFilePerEntryMap(Path path) {
|
||||
try {
|
||||
return Files.list(path)
|
||||
.filter(p -> !p.getFileName().toString().startsWith("."))
|
||||
.filter(p -> !new File(p.toString()).isDirectory())
|
||||
.collect(Collectors.toMap(
|
||||
p -> p.getFileName().toString(),
|
||||
p -> {
|
||||
|
||||
@@ -39,4 +39,17 @@ final class BindingTest {
|
||||
.isEqualTo(Paths.get("src/test/resources/test-name-1/secret/test-key"));
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisplayName("populates k8s style content from filesystem")
|
||||
void testK8s() {
|
||||
//When bindings are provided as a k8s configmap secret pairs data files will be symlinks to hidden directories
|
||||
Binding binding = new Binding(Paths.get("src/test/resources/test-k8s"));
|
||||
|
||||
assertThat(binding.getKind()).isEqualTo("test-kind-1");
|
||||
assertThat(binding.getProvider()).isEqualTo("test-provider-1");
|
||||
assertThat(binding.getMetadataFilePath("test-key"))
|
||||
.isEqualTo(Paths.get("src/test/resources/test-k8s/metadata/test-key"));
|
||||
assertThat(binding.getSecretFilePath("test-key"))
|
||||
.isEqualTo(Paths.get("src/test/resources/test-k8s/secret/test-key"));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -65,7 +65,7 @@ final class BindingsTests {
|
||||
String path = "src/test/resources";
|
||||
Bindings b = new Bindings(path);
|
||||
|
||||
assertThat(b.getBindings()).hasSize(2);
|
||||
assertThat(b.getBindings()).hasSize(3);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -102,5 +102,4 @@ final class BindingsTests {
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -98,7 +98,7 @@ final class BindingSpecificEnvironmentPostProcessorTest {
|
||||
@Test
|
||||
@DisplayName("included implementations are registered")
|
||||
void includedImplementations() {
|
||||
assertThat(new BindingSpecificEnvironmentPostProcessor().processors).hasSize(14);
|
||||
assertThat(new BindingSpecificEnvironmentPostProcessor().processors).hasSize(15);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
1
src/test/resources/test-k8s/metadata/.hidden-data
Symbolic link
1
src/test/resources/test-k8s/metadata/.hidden-data
Symbolic link
@@ -0,0 +1 @@
|
||||
.hidden-data-1
|
||||
1
src/test/resources/test-k8s/metadata/.hidden-data-1/kind
Normal file
1
src/test/resources/test-k8s/metadata/.hidden-data-1/kind
Normal file
@@ -0,0 +1 @@
|
||||
test-kind-1
|
||||
@@ -0,0 +1 @@
|
||||
test-provider-1
|
||||
1
src/test/resources/test-k8s/metadata/kind
Symbolic link
1
src/test/resources/test-k8s/metadata/kind
Symbolic link
@@ -0,0 +1 @@
|
||||
.hidden-data/kind
|
||||
1
src/test/resources/test-k8s/metadata/provider
Symbolic link
1
src/test/resources/test-k8s/metadata/provider
Symbolic link
@@ -0,0 +1 @@
|
||||
.hidden-data/provider
|
||||
1
src/test/resources/test-k8s/secret/.hidden-data
Symbolic link
1
src/test/resources/test-k8s/secret/.hidden-data
Symbolic link
@@ -0,0 +1 @@
|
||||
.hidden-data-1
|
||||
@@ -0,0 +1 @@
|
||||
test-value
|
||||
1
src/test/resources/test-k8s/secret/test-key
Symbolic link
1
src/test/resources/test-k8s/secret/test-key
Symbolic link
@@ -0,0 +1 @@
|
||||
.hidden-data/test-key
|
||||
Reference in New Issue
Block a user