Skip to content

Commit

Permalink
Polish test
Browse files Browse the repository at this point in the history
  • Loading branch information
dickerpulli authored and joshiste committed Jun 9, 2018
1 parent b7aa64e commit 65b9504
Showing 1 changed file with 19 additions and 7 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@
import de.codecentric.boot.admin.server.eventstore.ConcurrentMapEventStore;
import de.codecentric.boot.admin.server.eventstore.InMemoryEventStore;
import de.codecentric.boot.admin.server.web.client.InstanceWebClient;
import reactor.core.publisher.Mono;
import reactor.test.StepVerifier;

import java.time.Duration;
Expand All @@ -36,8 +37,10 @@
import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType;
import com.github.tomakehurst.wiremock.core.Options;
import com.github.tomakehurst.wiremock.http.Fault;
import com.github.tomakehurst.wiremock.junit.WireMockClassRule;

import static com.github.tomakehurst.wiremock.client.WireMock.aResponse;
import static com.github.tomakehurst.wiremock.client.WireMock.get;
import static com.github.tomakehurst.wiremock.client.WireMock.ok;
import static com.github.tomakehurst.wiremock.client.WireMock.okForContentType;
Expand Down Expand Up @@ -66,7 +69,7 @@ public void setup() {
StepVerifier.create(repository.save(instance)).expectNextCount(1).verifyComplete();

updater = new StatusUpdater(repository,
new InstanceWebClient(instance -> HttpHeaders.EMPTY, Duration.ofSeconds(5), Duration.ofSeconds(20)));
new InstanceWebClient(instance -> HttpHeaders.EMPTY, Duration.ofSeconds(5), Duration.ofSeconds(10)));
}

@Test
Expand All @@ -93,6 +96,16 @@ public void test_update_statusChanged() {
StepVerifier.create(repository.find(instance.getId()))
.assertNext(app -> assertThat(app.getStatusInfo().getStatus()).isEqualTo("UP"))
.verifyComplete();

StepVerifier.create(
repository.computeIfPresent(instance.getId(), (key, instance) -> Mono.just(instance.deregister())))
.then(() -> StepVerifier.create(updater.updateStatus(instance.getId())).verifyComplete())
.thenCancel()
.verify();

StepVerifier.create(repository.find(instance.getId()))
.assertNext(app -> assertThat(app.getStatusInfo().getStatus()).isEqualTo("UNKNOWN"))
.verifyComplete();
}

@Test
Expand Down Expand Up @@ -168,21 +181,20 @@ public void test_update_down_noBody() {

@Test
public void test_update_offline() {
Instance offlineInstance = Instance.create(InstanceId.of("offline"))
.register(Registration.create("foo", "http://0.0.0.0/health").build());

StepVerifier.create(repository.save(offlineInstance)).expectNextCount(1).verifyComplete();
wireMock.stubFor(get("/health").willReturn(aResponse().withFault(Fault.CONNECTION_RESET_BY_PEER)));

StepVerifier.create(eventStore)
.expectSubscription()
.then(() -> StepVerifier.create(updater.updateStatus(offlineInstance.getId())).verifyComplete())
.then(() -> StepVerifier.create(updater.updateStatus(instance.getId())).verifyComplete())
.assertNext(event -> assertThat(event).isInstanceOf(InstanceStatusChangedEvent.class))
.thenCancel()
.verify();

StepVerifier.create(repository.find(offlineInstance.getId())).assertNext(app -> {
StepVerifier.create(repository.find(instance.getId())).assertNext(app -> {
assertThat(app.getStatusInfo().getStatus()).isEqualTo("OFFLINE");
assertThat(app.getStatusInfo().getDetails()).containsKeys("message", "exception");
}).verifyComplete();

StepVerifier.create(updater.updateStatus(instance.getId())).verifyComplete();
}
}

0 comments on commit 65b9504

Please sign in to comment.