@Test
    void basicCallGoesThrough() {
        final ClusterLoadAssignment loadAssignment =
                XdsTestResources.loadAssignment(clusterName, server.httpUri());
        final Listener listener = XdsTestResources.exampleListener(listenerName, routeName);
        final RouteConfiguration route = XdsTestResources.routeConfiguration(routeName, clusterName);
        cache.setSnapshot(
                GROUP,
                Snapshot.create(ImmutableList.of(slowStartCluster(1000)), ImmutableList.of(loadAssignment),
                                ImmutableList.of(listener), ImmutableList.of(route), ImmutableList.of(), "2"));

        final ConfigSource configSource = XdsTestResources.basicConfigSource(BOOTSTRAP_CLUSTER_NAME);
        final URI uri = server.httpUri();
        final ClusterLoadAssignment bootstrapLoadAssignment =
                XdsTestResources.loadAssignment(BOOTSTRAP_CLUSTER_NAME, uri.getHost(), uri.getPort());
        final Cluster bootstrapCluster =
                XdsTestResources.createStaticCluster(BOOTSTRAP_CLUSTER_NAME, bootstrapLoadAssignment);
        final Bootstrap bootstrap = XdsTestResources.bootstrap(configSource, bootstrapCluster);
        try (XdsBootstrap xdsBootstrap = XdsBootstrap.of(bootstrap);
             EndpointGroup xdsEndpointGroup = XdsEndpointGroup.of(listenerName, xdsBootstrap)) {
            final BlockingWebClient blockingClient = WebClient.of(SessionProtocol.HTTP, xdsEndpointGroup)
                                                              .blocking();
            assertThat(blockingClient.get("/hello").contentUtf8()).isEqualTo("world");
        }
    }
WeightedRandomLoadBalancer is random, so we just call selectNow
for a full iteration to consume all pending entries.
xds/src/test/java/com/linecorp/armeria/xds/client/endpoint/RampingUpTest.java