use of com.hotels.styx.api.extension.service.BackendService in project styx by ExpediaGroup.
the class DashboardDataTest method providesBackendTotalConnections.
@Test
public void providesBackendTotalConnections() {
BackendServices backendServices = newBackendServices(application("app", origin("app-01", "localhost", 9090), origin("app-02", "localhost", 9091)));
MemoryBackedRegistry<BackendService> backendServicesRegistry = new MemoryBackedRegistry<>();
backendServices.forEach(backendServicesRegistry::add);
metricRegistry.register("origins.app.app-01.connectionspool.available-connections", gauge(100));
metricRegistry.register("origins.app.app-01.connectionspool.busy-connections", gauge(300));
metricRegistry.register("origins.app.app-01.connectionspool.pending-connections", gauge(500));
metricRegistry.register("origins.app.app-02.connectionspool.available-connections", gauge(200));
metricRegistry.register("origins.app.app-02.connectionspool.busy-connections", gauge(400));
metricRegistry.register("origins.app.app-02.connectionspool.pending-connections", gauge(600));
DashboardData.Backend backend = newDashboardData(backendServicesRegistry).downstream().firstBackend();
DashboardData.ConnectionsPoolsAggregate connectionsPool = backend.totalConnections();
assertThat(connectionsPool.available(), is(300));
assertThat(connectionsPool.busy(), is(700));
assertThat(connectionsPool.pending(), is(1100));
}
use of com.hotels.styx.api.extension.service.BackendService in project styx by ExpediaGroup.
the class DashboardDataTest method providesBackendStatuses.
@Test
public void providesBackendStatuses() {
BackendServices backendServices = newBackendServices(application("app", origin("app-01", "localhost", 9090), origin("app-02", "localhost", 9091)));
MemoryBackedRegistry<BackendService> backendServicesRegistry = new MemoryBackedRegistry<>();
backendServices.forEach(backendServicesRegistry::add);
DashboardData.Backend backend = newDashboardData(backendServicesRegistry).downstream().firstBackend();
eventBus.post(new OriginsSnapshot(id("app"), singleton(pool(origin("app", "app-01", "localhost", 9090))), emptyList(), singleton(pool(origin("app", "app-02", "localhost", 9091)))));
assertThat(backend.statuses(), containsInAnyOrder("active", "disabled"));
}
use of com.hotels.styx.api.extension.service.BackendService in project styx by ExpediaGroup.
the class OriginsHandlerTest method respondsToRequestWithJsonResponse.
@Test
public void respondsToRequestWithJsonResponse() throws IOException {
String originsFile = fixturesHome() + "conf/origins/origins-for-jsontest.yml";
Iterable<BackendService> expected = loadFromPath(originsFile).get();
withOriginsHandler(originsFile, handler -> {
HttpResponse response = Mono.from(handler.handle(get("/admin/configuration/origins").build(), requestContext())).block();
assertThat(response.status(), is(OK));
assertThat(response.contentType(), isValue(APPLICATION_JSON));
Iterable<BackendService> result = newBackendServices(unmarshalApplications(response.bodyAs(UTF_8)));
assertThat(result, is(expected));
});
}
use of com.hotels.styx.api.extension.service.BackendService in project styx by ExpediaGroup.
the class OriginsHandlerTest method respondsWithEmptyArrayWhenNoOrigins.
@Test
public void respondsWithEmptyArrayWhenNoOrigins() {
Registry<BackendService> backendServicesRegistry = new MemoryBackedRegistry<>();
OriginsHandler handler = new OriginsHandler(backendServicesRegistry);
HttpResponse response = Mono.from(handler.handle(get("/admin/configuration/origins").build(), requestContext())).block();
assertThat(response.status(), is(OK));
assertThat(response.contentType(), isValue(APPLICATION_JSON));
assertThat(response.bodyAs(UTF_8), is("[]"));
}
use of com.hotels.styx.api.extension.service.BackendService in project styx by ExpediaGroup.
the class YamlApplicationsProviderTest method stickySessionIsDisabledByDefault.
@Test
public void stickySessionIsDisabledByDefault() {
YamlApplicationsProvider config = loadFromPath("classpath:conf/origins/origins-for-configtest.yml");
BackendService app = applicationFor(config, "shopping");
assertThat(app.stickySessionConfig().stickySessionEnabled(), CoreMatchers.is(false));
}
Aggregations