private ClusterApi makeClusterApiWithUnknownStatus(ServiceStatus... statuses) {
        var serviceStatusList = List.of(statuses);
        var infraApplication = new ConfigServerApplication();

        var hostnames = IntStream.rangeClosed(1, serviceStatusList.size())
                                 .mapToObj(i -> new HostName("cfg" + i))
                                 .toList();
        var instances = new ArrayList<ServiceInstance>();
        for (int i = 0; i < hostnames.size(); i++) {
            instances.add(modelUtils.createServiceInstance("cs" + i + 1, hostnames.get(i), serviceStatusList.get(i)));
        }

        ServiceCluster serviceCluster = modelUtils.createServiceCluster(
                infraApplication.getClusterId().s(),
                infraApplication.getServiceType(),
                instances
        );
        for (var instance : instances) {
            instance.setServiceCluster(serviceCluster);
        }

        Set<ServiceCluster> serviceClusterSet = Set.of(serviceCluster);

        ApplicationInstance application = new ApplicationInstance(
                infraApplication.getTenantId(),
                infraApplication.getApplicationInstanceId(Zone.defaultZone()),
                serviceClusterSet);

        serviceCluster.setApplicationInstance(application);

        when(applicationApi.applicationId()).thenReturn(OrchestratorUtil.toApplicationId(application.reference()));

        return new ClusterApiImpl(
                applicationApi,
                serviceCluster,
                new NodeGroup(application, hostnames.get(0)),
                modelUtils.getHostInfos(),
                modelUtils.getClusterControllerClientFactory(),
                new ClusterParams.Builder().setSize(serviceStatusList.size()).build(),
                clock);
    }
The first service status will be for the service IN the node group, the rest are OUTSIDE.
orchestrator/src/test/java/com/yahoo/vespa/orchestrator/model/ClusterApiImplTest.java