public ServiceListResponse checkConvergenceForAllServices(Application application, Duration timeoutPerService) {
        return checkConvergence(application, timeoutPerService, new HostsToCheck(Set.of()));
    }
@Test
    public void service_list_convergence() {
        {
            wireMock.stubFor(get(urlEqualTo("/state/v1/config")).willReturn(okJson("{\"config\":{\"generation\":3}}")));

            ServiceListResponse response = checker.checkConvergenceForAllServices(application, clientTimeout);
            assertEquals(3, response.wantedGeneration);
            assertEquals(3, response.currentGeneration);
            assertTrue(response.converged);
            List<ServiceListResponse.Service> services = response.services;
            assertEquals(1, services.size());
            assertService(this.service, services.get(0), 3);
        }

        { // Model with two hosts on different generations
            MockModel model = new MockModel(List.of(
                    MockModel.createContainerHost(service.getHost(), service.getPort()),
                    MockModel.createContainerHost(service2.getHost(), service2.getPort()))
            );
            Application application = new Application(model, new ServerCache(), 4,
                                                      new Version(0, 0, 0),
                                                      MetricUpdater.createTestUpdater(), appId);

            wireMock.stubFor(get(urlEqualTo("/state/v1/config")).willReturn(okJson("{\"config\":{\"generation\":4}}")));
            wireMock2.stubFor(get(urlEqualTo("/state/v1/config")).willReturn(okJson("{\"config\":{\"generation\":3}}")));

            URI requestUrl = testServer().resolve("/serviceconverge");

            ServiceListResponse response = checker.checkConvergenceForAllServices(application, clientTimeout);
            assertEquals(4, response.wantedGeneration);
            assertEquals(3, response.currentGeneration);
            assertFalse(response.converged);

            List<ServiceListResponse.Service> services = response.services;
            assertEquals(2, services.size());
            assertService(this.service, services.get(0), 4);
            assertService(this.service2, services.get(1), 3);
        }
    }