package org.springframework.cloud.netflix.turbine.stream;
import static org.junit.Assert.*;
import org.junit.Test;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.context.event.ApplicationEnvironmentPreparedEvent;
import org.springframework.boot.test.util.EnvironmentTestUtils;
import org.springframework.core.env.ConfigurableEnvironment;
import org.springframework.core.env.StandardEnvironment;
public class TurbinePortApplicationListenerTests {
private TurbinePortApplicationListener listener = new TurbinePortApplicationListener();
private ConfigurableEnvironment environment = new StandardEnvironment();
private ApplicationEnvironmentPreparedEvent event = new ApplicationEnvironmentPreparedEvent(new SpringApplication(), null, environment);
@Test
public void noop() {
listener.onApplicationEvent(event);
}
@Test
public void serverPortOnly() {
EnvironmentTestUtils.addEnvironment(environment, "server.port=9999");
listener.onApplicationEvent(event);
assertEquals("-1", environment.resolvePlaceholders("${server.port}"));
assertEquals("9999", environment.resolvePlaceholders("${turbine.stream.port}"));
}
@Test
public void turbinePortOnly() {
EnvironmentTestUtils.addEnvironment(environment, "turbine.stream.port=9999");
listener.onApplicationEvent(event);
assertEquals("9999", environment.resolvePlaceholders("${turbine.stream.port}"));
assertEquals("0", environment.resolvePlaceholders("${server.port:0}"));
}
@Test
public void turbineAndManagementPorts() {
EnvironmentTestUtils.addEnvironment(environment, "turbine.stream.port=9999", "management.port=9000");
listener.onApplicationEvent(event);
assertEquals("9999", environment.resolvePlaceholders("${turbine.stream.port}"));
assertEquals("9000", environment.resolvePlaceholders("${server.port:0}"));
assertEquals("9000", environment.resolvePlaceholders("${management.port:0}"));
}
@Test
public void turbineAndServerPorts() {
EnvironmentTestUtils.addEnvironment(environment, "turbine.stream.port=9999", "server.port=9000");
listener.onApplicationEvent(event);
assertEquals("9999", environment.resolvePlaceholders("${turbine.stream.port}"));
assertEquals("9000", environment.resolvePlaceholders("${server.port:0}"));
assertEquals("0", environment.resolvePlaceholders("${management.port:0}"));
}
}