Search in sources :

Example 11 with Route

use of org.cloudfoundry.client.v2.routes.Route in project cf-java-client by cloudfoundry.

the class DefaultApplicationsTest method pushUploadFails.

@Test
public void pushUploadFails() throws IOException {
    Path testApplication = new ClassPathResource("test-application.zip").getFile().toPath();
    requestApplicationsEmpty(this.cloudFoundryClient, "test-name", TEST_SPACE_ID);
    requestCreateApplication(this.cloudFoundryClient, ApplicationManifest.builder().path(testApplication).domain("test-shared-domain").name("test-name").build(), TEST_SPACE_ID, null, "test-application-id");
    requestSpace(this.cloudFoundryClient, TEST_SPACE_ID, TEST_ORGANIZATION_ID);
    requestPrivateDomainsEmpty(this.cloudFoundryClient, TEST_ORGANIZATION_ID);
    requestApplicationRoutes(this.cloudFoundryClient, "test-application-id", "test-route-id");
    requestSharedDomains(this.cloudFoundryClient, "test-shared-domain", "test-shared-domain-id");
    requestRoutesEmpty(this.cloudFoundryClient, "test-shared-domain-id", "test-name", null, null);
    requestListMatchingResources(this.cloudFoundryClient, Arrays.asList(new ResourceMatchingUtils.ArtifactMetadata("da39a3ee5e6b4b0d3255bfef95601890afd80709", "Staticfile", "100644", 0), new ResourceMatchingUtils.ArtifactMetadata("45044a6ddbfe11415a8f8a6219de68a2c66b496b", "index.html", "100644", 178)));
    requestCreateRoute(this.cloudFoundryClient, "test-shared-domain-id", "test-name", null, null, TEST_SPACE_ID, "test-route-id");
    requestAssociateRoute(this.cloudFoundryClient, "test-application-id", "test-route-id");
    requestUpload(this.cloudFoundryClient, "test-application-id", testApplication, "test-job-id");
    requestJobFailure(this.cloudFoundryClient, "test-job-entity-id");
    StepVerifier.withVirtualTime(() -> this.applications.push(PushApplicationRequest.builder().path(testApplication).domain("test-shared-domain").name("test-name").build())).then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(3))).consumeErrorWith(t -> assertThat(t).isInstanceOf(ClientV2Exception.class).hasMessage("test-error-details-errorCode(1): test-error-details-description")).verify(Duration.ofSeconds(5));
}
Also used : Path(java.nio.file.Path) LogMessage(org.cloudfoundry.doppler.LogMessage) Arrays(java.util.Arrays) GetApplicationResponse(org.cloudfoundry.client.v2.applications.GetApplicationResponse) StepVerifier(reactor.test.StepVerifier) GetJobRequest(org.cloudfoundry.client.v2.jobs.GetJobRequest) SharedDomainEntity(org.cloudfoundry.client.v2.shareddomains.SharedDomainEntity) CancelTaskResponse(org.cloudfoundry.client.v3.tasks.CancelTaskResponse) OrderDirection(org.cloudfoundry.client.v2.OrderDirection) SpaceResource(org.cloudfoundry.client.v2.spaces.SpaceResource) LifecycleType(org.cloudfoundry.client.v3.LifecycleType) ApplicationEntity(org.cloudfoundry.client.v2.applications.ApplicationEntity) ListRoutesResponse(org.cloudfoundry.client.v2.routes.ListRoutesResponse) TestObjects.fill(org.cloudfoundry.operations.TestObjects.fill) Duration(java.time.Duration) Map(java.util.Map) ListApplicationsResponse(org.cloudfoundry.client.v3.applications.ListApplicationsResponse) GetSpaceSummaryResponse(org.cloudfoundry.client.v2.spaces.GetSpaceSummaryResponse) Path(java.nio.file.Path) GetStackRequest(org.cloudfoundry.client.v2.stacks.GetStackRequest) PrivateDomainEntity(org.cloudfoundry.client.v2.privatedomains.PrivateDomainEntity) SharedDomainResource(org.cloudfoundry.client.v2.shareddomains.SharedDomainResource) SpaceApplicationSummary(org.cloudfoundry.client.v2.spaces.SpaceApplicationSummary) Envelope(org.cloudfoundry.doppler.Envelope) UpdateApplicationRequest(org.cloudfoundry.client.v2.applications.UpdateApplicationRequest) PrivateDomainResource(org.cloudfoundry.client.v2.privatedomains.PrivateDomainResource) ListEventsResponse(org.cloudfoundry.client.v2.events.ListEventsResponse) CloudFoundryClient(org.cloudfoundry.client.CloudFoundryClient) RETURNS_SMART_NULLS(org.mockito.Mockito.RETURNS_SMART_NULLS) CancelTaskRequest(org.cloudfoundry.client.v3.tasks.CancelTaskRequest) DopplerClient(org.cloudfoundry.doppler.DopplerClient) Mockito.mock(org.mockito.Mockito.mock) RouteEntity(org.cloudfoundry.client.v2.routes.RouteEntity) RecentLogsRequest(org.cloudfoundry.doppler.RecentLogsRequest) CreateRouteResponse(org.cloudfoundry.client.v2.routes.CreateRouteResponse) ListApplicationsRequest(org.cloudfoundry.client.v3.applications.ListApplicationsRequest) TaskResource(org.cloudfoundry.client.v3.tasks.TaskResource) GetSpaceRequest(org.cloudfoundry.client.v2.spaces.GetSpaceRequest) Supplier(java.util.function.Supplier) AssociateApplicationRouteRequest(org.cloudfoundry.client.v2.applications.AssociateApplicationRouteRequest) ListOrganizationSpacesRequest(org.cloudfoundry.client.v2.organizations.ListOrganizationSpacesRequest) Lifecycle(org.cloudfoundry.client.v3.Lifecycle) Resource(org.cloudfoundry.client.v2.resourcematch.Resource) ListOrganizationPrivateDomainsResponse(org.cloudfoundry.client.v2.organizations.ListOrganizationPrivateDomainsResponse) Statistics(org.cloudfoundry.client.v2.applications.Statistics) ApplicationInstanceInfo(org.cloudfoundry.client.v2.applications.ApplicationInstanceInfo) RemoveApplicationRouteRequest(org.cloudfoundry.client.v2.applications.RemoveApplicationRouteRequest) ErrorDetails(org.cloudfoundry.client.v2.jobs.ErrorDetails) VirtualTimeScheduler(reactor.test.scheduler.VirtualTimeScheduler) ApplicationStatisticsResponse(org.cloudfoundry.client.v2.applications.ApplicationStatisticsResponse) ListApplicationServiceBindingsRequest(org.cloudfoundry.client.v2.applications.ListApplicationServiceBindingsRequest) Test(org.junit.Test) Mono(reactor.core.publisher.Mono) IOException(java.io.IOException) ApplicationStatisticsRequest(org.cloudfoundry.client.v2.applications.ApplicationStatisticsRequest) ListApplicationRoutesResponse(org.cloudfoundry.client.v2.applications.ListApplicationRoutesResponse) UpdateApplicationResponse(org.cloudfoundry.client.v2.applications.UpdateApplicationResponse) Flux(reactor.core.publisher.Flux) InstanceStatistics(org.cloudfoundry.client.v2.applications.InstanceStatistics) EventEntity(org.cloudfoundry.client.v2.events.EventEntity) FluentMap(org.cloudfoundry.util.FluentMap) OrganizationResource(org.cloudfoundry.client.v2.organizations.OrganizationResource) ListEventsRequest(org.cloudfoundry.client.v2.events.ListEventsRequest) OrganizationEntity(org.cloudfoundry.client.v2.organizations.OrganizationEntity) GetSharedDomainRequest(org.cloudfoundry.client.v2.shareddomains.GetSharedDomainRequest) BuildpackData(org.cloudfoundry.client.v3.BuildpackData) StreamRequest(org.cloudfoundry.doppler.StreamRequest) ListSharedDomainsResponse(org.cloudfoundry.client.v2.shareddomains.ListSharedDomainsResponse) Date(java.util.Date) Assertions.assertThat(org.assertj.core.api.Assertions.assertThat) ListSpaceApplicationsResponse(org.cloudfoundry.client.v2.spaces.ListSpaceApplicationsResponse) SpaceEntity(org.cloudfoundry.client.v2.spaces.SpaceEntity) EventResource(org.cloudfoundry.client.v2.events.EventResource) AbstractOperationsTest(org.cloudfoundry.operations.AbstractOperationsTest) ApplicationEnvironmentResponse(org.cloudfoundry.client.v2.applications.ApplicationEnvironmentResponse) UploadApplicationRequest(org.cloudfoundry.client.v2.applications.UploadApplicationRequest) GetSpaceSummaryRequest(org.cloudfoundry.client.v2.spaces.GetSpaceSummaryRequest) GetSharedDomainResponse(org.cloudfoundry.client.v2.shareddomains.GetSharedDomainResponse) TerminateApplicationInstanceRequest(org.cloudfoundry.client.v2.applications.TerminateApplicationInstanceRequest) ListApplicationRoutesRequest(org.cloudfoundry.client.v2.applications.ListApplicationRoutesRequest) ListSpaceApplicationsRequest(org.cloudfoundry.client.v2.spaces.ListSpaceApplicationsRequest) Collection(java.util.Collection) UploadApplicationResponse(org.cloudfoundry.client.v2.applications.UploadApplicationResponse) ListOrganizationsResponse(org.cloudfoundry.client.v2.organizations.ListOrganizationsResponse) ResourceMatchingUtils(org.cloudfoundry.util.ResourceMatchingUtils) JobEntity(org.cloudfoundry.client.v2.jobs.JobEntity) CreateApplicationResponse(org.cloudfoundry.client.v2.applications.CreateApplicationResponse) SummaryApplicationRequest(org.cloudfoundry.client.v2.applications.SummaryApplicationRequest) ServiceBindingResource(org.cloudfoundry.client.v2.servicebindings.ServiceBindingResource) CreateRouteRequest(org.cloudfoundry.client.v2.routes.CreateRouteRequest) Optional(java.util.Optional) ListOrganizationPrivateDomainsRequest(org.cloudfoundry.client.v2.organizations.ListOrganizationPrivateDomainsRequest) RouteResource(org.cloudfoundry.client.v2.routes.RouteResource) Queue(java.util.Queue) EventType(org.cloudfoundry.doppler.EventType) ListStacksRequest(org.cloudfoundry.client.v2.stacks.ListStacksRequest) GetJobResponse(org.cloudfoundry.client.v2.jobs.GetJobResponse) Usage(org.cloudfoundry.client.v2.applications.Usage) ClassPathResource(org.springframework.core.io.ClassPathResource) RestageApplicationResponse(org.cloudfoundry.client.v2.applications.RestageApplicationResponse) DeleteRouteResponse(org.cloudfoundry.client.v2.routes.DeleteRouteResponse) CreateTaskResponse(org.cloudfoundry.client.v3.tasks.CreateTaskResponse) CopyApplicationResponse(org.cloudfoundry.client.v2.applications.CopyApplicationResponse) ListStacksResponse(org.cloudfoundry.client.v2.stacks.ListStacksResponse) ListOrganizationsRequest(org.cloudfoundry.client.v2.organizations.ListOrganizationsRequest) ApplicationResource(org.cloudfoundry.client.v2.applications.ApplicationResource) CopyApplicationRequest(org.cloudfoundry.client.v2.applications.CopyApplicationRequest) ListRoutesRequest(org.cloudfoundry.client.v2.routes.ListRoutesRequest) ListOrganizationSpacesResponse(org.cloudfoundry.client.v2.organizations.ListOrganizationSpacesResponse) LinkedList(java.util.LinkedList) ListMatchingResourcesResponse(org.cloudfoundry.client.v2.resourcematch.ListMatchingResourcesResponse) GetStackResponse(org.cloudfoundry.client.v2.stacks.GetStackResponse) ApplicationEnvironmentRequest(org.cloudfoundry.client.v2.applications.ApplicationEnvironmentRequest) ListMatchingResourcesRequest(org.cloudfoundry.client.v2.resourcematch.ListMatchingResourcesRequest) CreateTaskRequest(org.cloudfoundry.client.v3.tasks.CreateTaskRequest) Mockito.when(org.mockito.Mockito.when) ListApplicationServiceBindingsResponse(org.cloudfoundry.client.v2.applications.ListApplicationServiceBindingsResponse) ServiceInstance(org.cloudfoundry.client.v2.serviceinstances.ServiceInstance) GetSpaceResponse(org.cloudfoundry.client.v2.spaces.GetSpaceResponse) ListSharedDomainsRequest(org.cloudfoundry.client.v2.shareddomains.ListSharedDomainsRequest) DateUtils(org.cloudfoundry.util.DateUtils) ApplicationInstancesResponse(org.cloudfoundry.client.v2.applications.ApplicationInstancesResponse) ApplicationState(org.cloudfoundry.client.v3.applications.ApplicationState) ClientV2Exception(org.cloudfoundry.client.v2.ClientV2Exception) StackEntity(org.cloudfoundry.client.v2.stacks.StackEntity) CreateApplicationRequest(org.cloudfoundry.client.v2.applications.CreateApplicationRequest) Metadata(org.cloudfoundry.client.v2.Metadata) RemoveApplicationServiceBindingRequest(org.cloudfoundry.client.v2.applications.RemoveApplicationServiceBindingRequest) Collections(java.util.Collections) ApplicationInstancesRequest(org.cloudfoundry.client.v2.applications.ApplicationInstancesRequest) SummaryApplicationResponse(org.cloudfoundry.client.v2.applications.SummaryApplicationResponse) ClassPathResource(org.springframework.core.io.ClassPathResource) ClientV2Exception(org.cloudfoundry.client.v2.ClientV2Exception) Test(org.junit.Test) AbstractOperationsTest(org.cloudfoundry.operations.AbstractOperationsTest)

Example 12 with Route

use of org.cloudfoundry.client.v2.routes.Route in project promregator by promregator.

the class ReactiveAppInstanceScanner method determineInstancesFromTargets.

@Override
public List<Instance> determineInstancesFromTargets(List<ResolvedTarget> targets, @Nullable Predicate<? super String> applicationIdFilter, @Nullable Predicate<? super Instance> instanceFilter) {
    Flux<ResolvedTarget> targetsFlux = Flux.fromIterable(targets);
    Flux<OSAVector> initialOSAVectorFlux = targetsFlux.map(target -> {
        OSAVector v = new OSAVector();
        v.setTarget(target);
        v.setApplicationId(target.getApplicationId());
        v.setInternalRoutePort(target.getOriginalTarget().getInternalRoutePort());
        return v;
    });
    Flux<String> orgIdFlux = initialOSAVectorFlux.flatMapSequential(v -> this.getOrgId(v.getTarget().getOrgName()));
    Flux<OSAVector> osaVectorOrgFlux = Flux.zip(initialOSAVectorFlux, orgIdFlux).flatMap(tuple -> {
        OSAVector v = tuple.getT1();
        if (INVALID_ORG_ID.equals(tuple.getT2())) {
            // NB: This drops the current target!
            return Mono.empty();
        }
        v.setOrgId(tuple.getT2());
        return Mono.just(v);
    });
    Flux<String> spaceIdFlux = osaVectorOrgFlux.flatMapSequential(v -> this.getSpaceId(v.getOrgId(), v.getTarget().getSpaceName()));
    Flux<OSAVector> osaVectorSpaceFlux = Flux.zip(osaVectorOrgFlux, spaceIdFlux).flatMap(tuple -> {
        OSAVector v = tuple.getT1();
        if (INVALID_SPACE_ID.equals(tuple.getT2())) {
            // NB: This drops the current target!
            return Mono.empty();
        }
        v.setSpaceId(tuple.getT2());
        return Mono.just(v);
    });
    Flux<Map<String, SpaceApplicationSummary>> spaceSummaryFlux = osaVectorSpaceFlux.flatMapSequential(v -> this.getSpaceSummary(v.getSpaceId()));
    Flux<OSAVector> osaVectorApplicationFlux = Flux.zip(osaVectorSpaceFlux, spaceSummaryFlux).flatMap(tuple -> {
        OSAVector v = tuple.getT1();
        if (INVALID_SUMMARY == tuple.getT2()) {
            // NB: This drops the current target!
            return Mono.empty();
        }
        Map<String, SpaceApplicationSummary> spaceSummaryMap = tuple.getT2();
        SpaceApplicationSummary sas = spaceSummaryMap.get(v.getTarget().getApplicationName().toLowerCase(LOCALE_OF_LOWER_CASE_CONVERSION_FOR_IDENTIFIER_COMPARISON));
        if (sas == null) {
            // NB: This drops the current target!
            return Mono.empty();
        }
        List<String> urls = sas.getUrls();
        if (urls != null && !urls.isEmpty()) {
            // Set the access url to the selected route (without any protocol or path yet)
            v.setAccessURL(this.determineApplicationRoute(urls, v.getTarget().getOriginalTarget().getPreferredRouteRegexPatterns()));
        } else {
            // if there is no url, skip this one
            return Mono.empty();
        }
        // There is little reason why this should not find the correct domain
        try {
            Route route = sas.getRoutes().stream().filter(rt -> v.getAccessURL().startsWith(rt.getHost() + "." + rt.getDomain().getName())).findFirst().get();
            v.setDomainId(route.getDomain().getId());
        } catch (Exception e) {
            log.warn(String.format("unable to find matching domain for the url %s", v.getAccessURL()));
        }
        v.setNumberOfInstances(sas.getInstances());
        return Mono.just(v);
    });
    Flux<List<DomainResource>> domainFlux = osaVectorApplicationFlux.flatMapSequential(v -> {
        return this.cfAccessor.retrieveAllDomains(v.getOrgId()).map(mapper -> mapper.getResources());
    });
    Flux<OSAVector> osaVectorDomainApplicationFlux = Flux.zip(osaVectorApplicationFlux, domainFlux).flatMap(tuple -> {
        OSAVector v = tuple.getT1();
        List<DomainResource> domains = tuple.getT2();
        if (domains.size() == 0 || v.getDomainId() == null) {
            // NB: This drops the current target!
            return Mono.empty();
        }
        // this is to make sure we have compatibility with existing behaviour
        if (!v.getDomainId().isEmpty()) {
            try {
                DomainResource domain = domains.stream().filter(r -> r.getMetadata().getId().equals(v.getDomainId())).findFirst().get();
                v.setInternal(domain.getEntity().getInternal());
            } catch (Exception e) {
                log.warn(String.format("unable to find matching domain for the domain with id %s", v.getDomainId()));
            }
        }
        return Mono.just(v);
    });
    // perform pre-filtering, if available
    if (applicationIdFilter != null) {
        osaVectorDomainApplicationFlux = osaVectorDomainApplicationFlux.filter(v -> applicationIdFilter.test(v.getApplicationId()));
    }
    Flux<Instance> instancesFlux = osaVectorDomainApplicationFlux.flatMapSequential(v -> {
        List<Instance> instances = new ArrayList<>(v.getNumberOfInstances());
        for (int i = 0; i < v.numberOfInstances; i++) {
            Instance inst = new Instance(v.getTarget(), String.format("%s:%d", v.getApplicationId(), i), v.getAccessURL(), v.isInternal());
            if (v.isInternal()) {
                inst.setAccessUrl(this.formatInternalAccessURL(v.getAccessURL(), v.getTarget().getPath(), v.getInternalRoutePort(), i));
            } else {
                inst.setAccessUrl(this.formatAccessURL(v.getTarget().getProtocol(), v.getAccessURL(), v.getTarget().getPath()));
            }
            instances.add(inst);
        }
        return Flux.fromIterable(instances);
    });
    // perform pre-filtering, if available
    if (instanceFilter != null) {
        instancesFlux = instancesFlux.filter(instanceFilter);
    }
    Mono<List<Instance>> listInstancesMono = instancesFlux.collectList();
    List<Instance> result = null;
    try {
        result = listInstancesMono.block();
    } catch (RuntimeException e) {
        log.error("Error during retrieving the instances of a list of targets", e);
        result = null;
    }
    return result;
}
Also used : Logger(org.slf4j.Logger) Predicate(java.util.function.Predicate) LoggerFactory(org.slf4j.LoggerFactory) Autowired(org.springframework.beans.factory.annotation.Autowired) HashMap(java.util.HashMap) Mono(reactor.core.publisher.Mono) SpaceApplicationSummary(org.cloudfoundry.client.v2.spaces.SpaceApplicationSummary) DomainResource(org.cloudfoundry.client.v2.domains.DomainResource) CFAccessor(org.cloudfoundry.promregator.cfaccessor.CFAccessor) ArrayList(java.util.ArrayList) SpaceResource(org.cloudfoundry.client.v2.spaces.SpaceResource) ListSpacesResponse(org.cloudfoundry.client.v2.spaces.ListSpacesResponse) Value(org.springframework.beans.factory.annotation.Value) Flux(reactor.core.publisher.Flux) List(java.util.List) Matcher(java.util.regex.Matcher) Locale(java.util.Locale) CollectionUtils(org.springframework.util.CollectionUtils) Map(java.util.Map) OrganizationResource(org.cloudfoundry.client.v2.organizations.OrganizationResource) Pattern(java.util.regex.Pattern) Route(org.cloudfoundry.client.v2.routes.Route) Nullable(javax.annotation.Nullable) DomainResource(org.cloudfoundry.client.v2.domains.DomainResource) ArrayList(java.util.ArrayList) SpaceApplicationSummary(org.cloudfoundry.client.v2.spaces.SpaceApplicationSummary) ArrayList(java.util.ArrayList) List(java.util.List) Route(org.cloudfoundry.client.v2.routes.Route) HashMap(java.util.HashMap) Map(java.util.Map)

Example 13 with Route

use of org.cloudfoundry.client.v2.routes.Route in project promregator by promregator.

the class CFAccessorMock method retrieveSpaceSummary.

@Override
public Mono<GetSpaceSummaryResponse> retrieveSpaceSummary(String spaceId) {
    if (spaceId.equals(UNITTEST_SPACE_UUID)) {
        List<SpaceApplicationSummary> list = new LinkedList<>();
        Domain sharedDomain = Domain.builder().id(UNITTEST_SHARED_DOMAIN_UUID).name(UNITTEST_SHARED_DOMAIN).build();
        Domain additionalSharedDomain = Domain.builder().id(UNITTEST_ADDITIONAL_SHARED_DOMAIN_UUID).name(UNITTEST_ADDITIONAL_SHARED_DOMAIN).build();
        Domain internalDomain = Domain.builder().id(UNITTEST_INTERNAL_DOMAIN_UUID).name(UNITTEST_INTERNAL_DOMAIN).build();
        final String[] urls1 = { UNITTEST_APP1_HOST + "." + UNITTEST_SHARED_DOMAIN };
        final Route[] routes1 = { Route.builder().domain(sharedDomain).host(UNITTEST_APP1_HOST).build() };
        SpaceApplicationSummary sas = SpaceApplicationSummary.builder().id(UNITTEST_APP1_UUID).name("testapp").addAllRoutes(Arrays.asList(routes1)).addAllUrls(Arrays.asList(urls1)).instances(2).build();
        list.add(sas);
        String additionalPath = "/additionalPath";
        final String[] urls2 = { UNITTEST_APP2_HOST + "." + UNITTEST_SHARED_DOMAIN + additionalPath, UNITTEST_APP2_HOST + "." + UNITTEST_ADDITIONAL_SHARED_DOMAIN + additionalPath };
        final Route[] routes2 = { Route.builder().domain(sharedDomain).host(UNITTEST_APP2_HOST).path(additionalPath).build(), Route.builder().domain(additionalSharedDomain).host(UNITTEST_APP2_HOST).path(additionalPath).build() };
        sas = SpaceApplicationSummary.builder().id(UNITTEST_APP2_UUID).name("testapp2").addAllRoutes(Arrays.asList(routes2)).addAllUrls(Arrays.asList(urls2)).instances(1).build();
        list.add(sas);
        sas = SpaceApplicationSummary.builder().id(UNITTEST_APP3_UUID).name("testapp3").addAllRoutes(Lists.emptyList()).addAllUrls(Lists.emptyList()).instances(1).build();
        list.add(sas);
        final String[] urls3 = { UNITTEST_APP_INTERNAL_HOST + "." + UNITTEST_INTERNAL_DOMAIN };
        final Route[] routes3 = { Route.builder().domain(internalDomain).host(UNITTEST_APP_INTERNAL_HOST).build() };
        sas = SpaceApplicationSummary.builder().id(UNITTEST_APP_INTERNAL_UUID).name("internalapp").addAllRoutes(Arrays.asList(routes3)).addAllUrls(Arrays.asList(urls3)).instances(2).build();
        list.add(sas);
        GetSpaceSummaryResponse resp = GetSpaceSummaryResponse.builder().addAllApplications(list).build();
        return Mono.just(resp);
    } else if (spaceId.equals(UNITTEST_SPACE_UUID_DOESNOTEXIST)) {
        return Mono.just(GetSpaceSummaryResponse.builder().build());
    } else if (spaceId.equals(UNITTEST_SPACE_UUID_EXCEPTION)) {
        return Mono.just(GetSpaceSummaryResponse.builder().build()).map(x -> {
            throw new Error("exception on application summary");
        });
    }
    Assertions.fail("Invalid retrieveSpaceSummary request");
    return null;
}
Also used : GetSpaceSummaryResponse(org.cloudfoundry.client.v2.spaces.GetSpaceSummaryResponse) SpaceApplicationSummary(org.cloudfoundry.client.v2.spaces.SpaceApplicationSummary) Domain(org.cloudfoundry.client.v2.domains.Domain) LinkedList(java.util.LinkedList) Route(org.cloudfoundry.client.v2.routes.Route)

Aggregations

LinkedList (java.util.LinkedList)9 SpaceApplicationSummary (org.cloudfoundry.client.v2.spaces.SpaceApplicationSummary)8 GetSpaceSummaryResponse (org.cloudfoundry.client.v2.spaces.GetSpaceSummaryResponse)7 Flux (reactor.core.publisher.Flux)7 Mono (reactor.core.publisher.Mono)7 Map (java.util.Map)6 ApplicationResource (org.cloudfoundry.client.v2.applications.ApplicationResource)6 OrganizationResource (org.cloudfoundry.client.v2.organizations.OrganizationResource)6 SpaceResource (org.cloudfoundry.client.v2.spaces.SpaceResource)6 Duration (java.time.Duration)5 Supplier (java.util.function.Supplier)5 CloudFoundryClient (org.cloudfoundry.client.CloudFoundryClient)5 RouteEntity (org.cloudfoundry.client.v2.routes.RouteEntity)5 IOException (java.io.IOException)4 Path (java.nio.file.Path)4 Arrays (java.util.Arrays)4 Collection (java.util.Collection)4 Collections (java.util.Collections)4 Date (java.util.Date)4 Optional (java.util.Optional)4