package de.otto.edison.status.configuration; import de.otto.edison.status.domain.ApplicationStatus; import de.otto.edison.status.indicator.ApplicationStatusAggregator; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.PropertyPlaceholderAutoConfiguration; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; import static de.otto.edison.status.domain.Status.OK; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.notNullValue; import static org.hamcrest.core.Is.is; @RunWith(SpringRunner.class) @SpringBootTest(classes = { SystemInfoConfiguration.class, ClusterInfoConfiguration.class, PropertyPlaceholderAutoConfiguration.class, ApplicationInfoConfiguration.class, VersionInfoConfiguration.class, TeamInfoConfiguration.class, ApplicationStatusAggregatorConfiguration.class}) public class ApplicationStatusAggregatorConfigurationTest { @Autowired private ApplicationStatusAggregator applicationStatusAggregator; private ApplicationStatus status; @Before public void setUp() { status = applicationStatusAggregator.aggregatedStatus(); } @Test public void checkOverallStatus() { assertThat(status.status, is(OK)); assertThat(status.application, is(notNullValue())); assertThat(status.cluster, is(notNullValue())); assertThat(status.system, is(notNullValue())); assertThat(status.vcs, is(notNullValue())); assertThat(status.team, is(notNullValue())); assertThat(status.statusDetails.isEmpty(), is(true)); assertThat(status.serviceSpecs.isEmpty(), is(true)); } }