Add detection of Azure App Service to CloudPlatform

See gh-25829
pull/25943/head
Julien Dubois 4 years ago committed by Andy Wilkinson
parent 660dc5fcd7
commit 98a1017ee7

@ -45,6 +45,23 @@ public enum CloudPlatform {
},
/**
* Azure App Service platform.
*/
AZURE_APP_SERVICE {
private static final String WEBSITE_SITE_NAME = "WEBSITE_SITE_NAME";
private static final String WEBSITES_ENABLE_APP_SERVICE_STORAGE = "WEBSITES_ENABLE_APP_SERVICE_STORAGE";
@Override
public boolean isDetected(Environment environment) {
return environment.containsProperty(WEBSITE_SITE_NAME)
&& environment.containsProperty(WEBSITES_ENABLE_APP_SERVICE_STORAGE);
}
},
/**
* Cloud Foundry platform.
*/

@ -50,7 +50,33 @@ class CloudPlatformTests {
Environment environment = new MockEnvironment();
CloudPlatform platform = CloudPlatform.getActive(environment);
assertThat(platform).isNull();
}
@Test
void getActiveWhenHasWebsiteSiteNameAndWebsitesEnableAppServiceStorageShouldReturnAzureAppService() {
Map<String, Object> envVars = new HashMap<>();
envVars.put("WEBSITE_SITE_NAME", "---");
envVars.put("WEBSITES_ENABLE_APP_SERVICE_STORAGE", "false");
Environment environment = getEnvironmentWithEnvVariables(envVars);
CloudPlatform platform = CloudPlatform.getActive(environment);
assertThat(platform).isEqualTo(CloudPlatform.AZURE_APP_SERVICE);
assertThat(platform.isActive(environment)).isTrue();
}
@Test
void getActiveWhenHasWebsiteSiteNameShouldReturnNull() {
Environment environment = getEnvironmentWithEnvVariables(
Collections.singletonMap("WEBSITE_SITE_NAME", "---"));
CloudPlatform platform = CloudPlatform.getActive(environment);
assertThat(platform).isNull();
}
@Test
void getActiveWhenHasWebsitesEnableAppServiceStorageShouldReturnNull() {
Environment environment = getEnvironmentWithEnvVariables(
Collections.singletonMap("WEBSITES_ENABLE_APP_SERVICE_STORAGE", "---"));
CloudPlatform platform = CloudPlatform.getActive(environment);
assertThat(platform).isNull();
}
@Test

Loading…
Cancel
Save