CloudFoundryVcapEnvironmentPostProcessorTests Class — spring-boot Architecture
Architecture documentation for the CloudFoundryVcapEnvironmentPostProcessorTests class in CloudFoundryVcapEnvironmentPostProcessorTests.java from the spring-boot codebase.
Entity Profile
Relationship Graph
Source Code
core/spring-boot/src/test/java/org/springframework/boot/cloud/CloudFoundryVcapEnvironmentPostProcessorTests.java lines 39–137
class CloudFoundryVcapEnvironmentPostProcessorTests {
private final CloudFoundryVcapEnvironmentPostProcessor initializer = new CloudFoundryVcapEnvironmentPostProcessor(
Supplier::get);
private final ConfigurableApplicationContext context = new AnnotationConfigApplicationContext();
private final SpringApplication application = new SpringApplication();
@Test
void testApplicationProperties() {
TestPropertySourceUtils.addInlinedPropertiesToEnvironment(this.context,
"VCAP_APPLICATION={\"application_users\":[],\"instance_id\":\"bb7935245adf3e650dfb7c58a06e9ece\","
+ "\"instance_index\":0,\"version\":\"3464e092-1c13-462e-a47c-807c30318a50\","
+ "\"name\":\"foo\",\"uris\":[\"foo.cfapps.io\"],"
+ "\"started_at\":\"2013-05-29 02:37:59 +0000\",\"started_at_timestamp\":1369795079,"
+ "\"host\":\"0.0.0.0\",\"port\":61034,"
+ "\"limits\":{\"mem\":128,\"disk\":1024,\"fds\":16384},"
+ "\"version\":\"3464e092-1c13-462e-a47c-807c30318a50\","
+ "\"name\":\"dsyerenv\",\"uris\":[\"dsyerenv.cfapps.io\"],"
+ "\"users\":[],\"start\":\"2013-05-29 02:37:59 +0000\",\"state_timestamp\":1369795079}");
this.initializer.postProcessEnvironment(this.context.getEnvironment(), this.application);
assertThat(getProperty("vcap.application.instance_id")).isEqualTo("bb7935245adf3e650dfb7c58a06e9ece");
}
@Test
void testApplicationUris() {
TestPropertySourceUtils.addInlinedPropertiesToEnvironment(this.context,
"VCAP_APPLICATION={\"instance_id\":\"bb7935245adf3e650dfb7c58a06e9ece\",\"instance_index\":0,\"uris\":[\"foo.cfapps.io\"]}");
this.initializer.postProcessEnvironment(this.context.getEnvironment(), this.application);
assertThat(getProperty("vcap.application.uris[0]")).isEqualTo("foo.cfapps.io");
}
@Test
void testUnparseableApplicationProperties() {
TestPropertySourceUtils.addInlinedPropertiesToEnvironment(this.context, "VCAP_APPLICATION:");
this.initializer.postProcessEnvironment(this.context.getEnvironment(), this.application);
assertThat(getProperty("vcap")).isNull();
}
@Test
void testNullApplicationProperties() {
TestPropertySourceUtils.addInlinedPropertiesToEnvironment(this.context,
"VCAP_APPLICATION={\"application_users\":null,"
+ "\"instance_id\":\"bb7935245adf3e650dfb7c58a06e9ece\","
+ "\"instance_index\":0,\"version\":\"3464e092-1c13-462e-a47c-807c30318a50\","
+ "\"name\":\"foo\",\"uris\":[\"foo.cfapps.io\"],"
+ "\"started_at\":\"2013-05-29 02:37:59 +0000\",\"started_at_timestamp\":1369795079,"
+ "\"host\":\"0.0.0.0\",\"port\":61034,"
+ "\"limits\":{\"mem\":128,\"disk\":1024,\"fds\":16384},"
+ "\"version\":\"3464e092-1c13-462e-a47c-807c30318a50\","
+ "\"name\":\"dsyerenv\",\"uris\":[\"dsyerenv.cfapps.io\"],"
+ "\"users\":[],\"start\":\"2013-05-29 02:37:59 +0000\",\"state_timestamp\":1369795079}");
this.initializer.postProcessEnvironment(this.context.getEnvironment(), this.application);
assertThat(getProperty("vcap")).isNull();
}
@Test
void testServiceProperties() {
TestPropertySourceUtils.addInlinedPropertiesToEnvironment(this.context,
"VCAP_SERVICES={\"rds-mysql-n/a\":[{\"name\":\"mysql\",\"label\":\"rds-mysql-n/a\","
+ "\"plan\":\"10mb\",\"credentials\":{\"name\":\"d04fb13d27d964c62b267bbba1cffb9da\","
+ "\"hostname\":\"mysql-service-public.clqg2e2w3ecf.us-east-1.rds.amazonaws.com\","
+ "\"ssl\":true,\"location\":null,"
+ "\"host\":\"mysql-service-public.clqg2e2w3ecf.us-east-1.rds.amazonaws.com\","
+ "\"port\":3306,\"user\":\"urpRuqTf8Cpe6\",\"username\":"
+ "\"urpRuqTf8Cpe6\",\"password\":\"pxLsGVpsC9A5S\"}}]}");
this.initializer.postProcessEnvironment(this.context.getEnvironment(), this.application);
assertThat(getProperty("vcap.services.mysql.name")).isEqualTo("mysql");
assertThat(getProperty("vcap.services.mysql.credentials.port")).isEqualTo("3306");
assertThat(getProperty("vcap.services.mysql.credentials.ssl")).isEqualTo("true");
assertThat(getProperty("vcap.services.mysql.credentials.location")).isEmpty();
}
@Test
void testServicePropertiesWithoutNA() {
TestPropertySourceUtils.addInlinedPropertiesToEnvironment(this.context,
"VCAP_SERVICES={\"rds-mysql\":[{\"name\":\"mysql\",\"label\":\"rds-mysql\",\"plan\":\"10mb\","
+ "\"credentials\":{\"name\":\"d04fb13d27d964c62b267bbba1cffb9da\","
+ "\"hostname\":\"mysql-service-public.clqg2e2w3ecf.us-east-1.rds.amazonaws.com\","
+ "\"host\":\"mysql-service-public.clqg2e2w3ecf.us-east-1.rds.amazonaws.com\","
+ "\"port\":3306,\"user\":\"urpRuqTf8Cpe6\",\"username\":\"urpRuqTf8Cpe6\","
+ "\"password\":\"pxLsGVpsC9A5S\"}}]}");
this.initializer.postProcessEnvironment(this.context.getEnvironment(), this.application);
assertThat(getProperty("vcap.services.mysql.name")).isEqualTo("mysql");
assertThat(getProperty("vcap.services.mysql.credentials.port")).isEqualTo("3306");
}
@Test
void orderShouldBeBeforeConfigDataEnvironmentPostProcessorWithGap() {
assertThat(this.initializer.getOrder()).isLessThan(ConfigDataEnvironmentPostProcessor.ORDER);
assertThat(this.initializer.getOrder()).isLessThan(ConfigDataEnvironmentPostProcessor.ORDER - 1);
}
private @Nullable String getProperty(String key) {
return this.context.getEnvironment().getProperty(key);
}
}
Domain
Source
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free