package org.springframework.cloud.config;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import java.util.Properties;
import org.junit.Test;
import org.springframework.cloud.StubCloudConnectorTest;
import org.springframework.cloud.service.ServiceInfo;
import org.springframework.context.ApplicationContext;
/**
* Common base class to test exposing properties through Java and XML configuration
*
* @author Ramnivas Laddad
*
*/
public abstract class AbstractCloudConfigPropertiesTest extends StubCloudConnectorTest {
protected abstract ApplicationContext getPropertiesTestApplicationContext(ServiceInfo... serviceInfos);
@Test
public void cloudPropertiesWithNoServices() {
ApplicationContext testContext = getPropertiesTestApplicationContext();
Properties cloudProperties = testContext.getBean("cloudProperties", Properties.class);
assertNotNull(cloudProperties);
}
@Test
public void cloudScanWithOneService() {
ApplicationContext testContext = getPropertiesTestApplicationContext(createMysqlService("db"));
Properties cloudProperties = testContext.getBean("cloudProperties", Properties.class);
assertNotNull(cloudProperties);
assertEquals("db", cloudProperties.get("cloud.services.db.id"));
assertEquals("db", cloudProperties.get("cloud.services.mysql.id"));
}
}