From cb9fe74093addce17e021e4f00730d286173a614 Mon Sep 17 00:00:00 2001 From: Anthony Dahanne Date: Thu, 21 Dec 2023 15:32:20 -0500 Subject: [PATCH 1/2] Add spotless maven plugin * with rules that more or less match current style --- .github/workflows/maven.yml | 15 ++++++++++++--- pom.xml | 20 ++++++++++++++++++++ 2 files changed, 32 insertions(+), 3 deletions(-) diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml index cd236fd947..27082a618a 100644 --- a/.github/workflows/maven.yml +++ b/.github/workflows/maven.yml @@ -1,13 +1,19 @@ name: Java CI -on: [push] +on: + push: + branches: + - main + pull_request: + branches: + - main jobs: build: runs-on: ubuntu-latest strategy: matrix: - java: [ 8, 11, 17, 21 ] + java: [ 8, 11 ] name: Java ${{ matrix.java }} build steps: - uses: actions/checkout@v4 @@ -26,5 +32,8 @@ jobs: key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }} restore-keys: ${{ runner.os }}-m2 - name: Build with Maven - run: ./mvnw clean install -Dgpg.skip + run: ./mvnw clean package -Dgpg.skip + - if: ${{ matrix.java != 8 }} + name: Check style with Spotless + run: ./mvnw spotless:check diff --git a/pom.xml b/pom.xml index b858efbc50..d1052d7197 100644 --- a/pom.xml +++ b/pom.xml @@ -73,6 +73,7 @@ 3.7.1 3.0.2 + 2.41.1 @@ -266,6 +267,25 @@ + + com.diffplug.spotless + spotless-maven-plugin + ${spotless.version} + + + + **/_*.java + + + 1.19.1 + + true + false + + + + + From 8b8a56a3eaf700fd8eeeab55e61a1926c6a76747 Mon Sep 17 00:00:00 2001 From: Anthony Dahanne Date: Thu, 21 Dec 2023 15:49:35 -0500 Subject: [PATCH 2/2] Add spotless maven plugin * set all non generated Java files up --- .../AbstractPayloadCachingRootProvider.java | 34 +- .../reactor/AbstractRootProvider.java | 48 +- .../reactor/ConnectionContext.java | 6 +- .../cloudfoundry/reactor/RootProvider.java | 1 - .../cloudfoundry/reactor/TokenProvider.java | 4 +- ...loudFoundryClientCompatibilityChecker.java | 25 +- .../reactor/client/MethodNameComparator.java | 4 +- .../reactor/client/QueryBuilder.java | 28 +- .../client/v2/AbstractClientV2Operations.java | 160 +- .../reactor/client/v2/FilterBuilder.java | 45 +- .../applications/ReactorApplicationsV2.java | 296 +- .../ReactorApplicationUsageEvents.java | 42 +- .../v2/blobstores/ReactorBlobstores.java | 20 +- .../v2/buildpacks/ReactorBuildpacks.java | 116 +- .../client/v2/domains/ReactorDomains.java | 35 +- .../ReactorEnvironmentVariableGroups.java | 61 +- .../client/v2/events/ReactorEvents.java | 19 +- .../v2/featureflags/ReactorFeatureFlags.java | 33 +- .../reactor/client/v2/info/ReactorInfo.java | 12 +- .../reactor/client/v2/jobs/ReactorJobs.java | 17 +- .../ReactorOrganizationQuotaDefinitions.java | 72 +- .../organizations/ReactorOrganizations.java | 509 +- .../privatedomains/ReactorPrivateDomains.java | 59 +- .../resourcematch/ReactorResourceMatch.java | 20 +- .../routemappings/ReactorRouteMappings.java | 43 +- .../client/v2/routes/ReactorRoutes.java | 105 +- .../securitygroups/ReactorSecurityGroups.java | 160 +- .../ReactorServiceBindingsV2.java | 59 +- .../servicebrokers/ReactorServiceBrokers.java | 54 +- .../ReactorServiceInstances.java | 151 +- .../v2/servicekeys/ReactorServiceKeys.java | 38 +- .../v2/serviceplans/ReactorServicePlans.java | 53 +- .../ReactorServicePlanVisibilities.java | 69 +- .../client/v2/services/ReactorServices.java | 38 +- .../ReactorServiceUsageEvents.java | 39 +- .../shareddomains/ReactorSharedDomains.java | 44 +- .../ReactorSpaceQuotaDefinitions.java | 108 +- .../client/v2/spaces/ReactorSpaces.java | 304 +- .../client/v2/stacks/ReactorStacks.java | 28 +- .../ReactorUserProvidedServiceInstances.java | 127 +- .../reactor/client/v2/users/ReactorUsers.java | 313 +- .../client/v3/AbstractClientV3Operations.java | 330 +- .../reactor/client/v3/FilterBuilder.java | 24 +- .../client/v3/admin/ReactorAdminV3.java | 16 +- .../applications/ReactorApplicationsV3.java | 320 +- .../v3/auditevents/ReactorAuditEventsV3.java | 24 +- .../client/v3/builds/ReactorBuilds.java | 22 +- .../v3/builpacks/ReactorBuildpacksV3.java | 103 +- .../v3/deployments/ReactorDeploymentsV3.java | 46 +- .../client/v3/domains/ReactorDomainsV3.java | 66 +- .../client/v3/droplets/ReactorDroplets.java | 21 +- .../ReactorIsolationSegments.java | 133 +- .../reactor/client/v3/jobs/ReactorJobsV3.java | 17 +- .../organizations/ReactorOrganizationsV3.java | 123 +- .../client/v3/packages/ReactorPackages.java | 102 +- .../client/v3/processes/ReactorProcesses.java | 60 +- .../resourcematch/ReactorResourceMatchV3.java | 19 +- .../client/v3/roles/ReactorRolesV3.java | 39 +- .../client/v3/routes/ReactorRoutesV3.java | 95 +- .../ReactorServiceBindingsV3.java | 98 +- .../ReactorServiceBrokersV3.java | 64 +- .../ReactorServiceInstancesV3.java | 146 +- .../ReactorServiceOfferingsV3.java | 47 +- .../serviceplans/ReactorServicePlansV3.java | 52 +- .../client/v3/spaces/ReactorSpacesV3.java | 92 +- .../client/v3/stacks/ReactorStacksV3.java | 47 +- .../reactor/client/v3/tasks/ReactorTasks.java | 37 +- .../doppler/AbstractDopplerOperations.java | 44 +- .../reactor/doppler/MultipartCodec.java | 39 +- .../doppler/ReactorDopplerEndpoints.java | 44 +- .../v1/AbstractLogCacheOperations.java | 36 +- .../logcache/v1/ReactorLogCacheEndpoints.java | 19 +- .../AbstractNetworkingOperations.java | 82 +- .../v1/policies/ReactorPolicies.java | 20 +- .../networking/v1/tags/ReactorTags.java | 12 +- .../v1/AbstractRoutingV1Operations.java | 81 +- .../v1/routergroups/ReactorRouterGroups.java | 25 +- .../v1/tcproutes/EventStreamCodec.java | 22 +- .../v1/tcproutes/ReactorTcpRoutes.java | 57 +- .../AbstractUaaTokenProvider.java | 223 +- .../reactor/uaa/AbstractUaaOperations.java | 281 +- .../reactor/uaa/IdentityZoneBuilder.java | 16 +- .../reactor/uaa/UaaSigningKeyResolver.java | 35 +- .../reactor/uaa/UsernameProvider.java | 44 +- .../reactor/uaa/VersionBuilder.java | 9 +- .../authorizations/ReactorAuthorizations.java | 154 +- .../reactor/uaa/clients/ReactorClients.java | 113 +- .../reactor/uaa/groups/ReactorGroups.java | 130 +- .../ReactorIdentityProviders.java | 64 +- .../identityzones/ReactorIdentityZones.java | 48 +- .../ReactorServerInformation.java | 52 +- .../reactor/uaa/tokens/ReactorTokens.java | 164 +- .../reactor/uaa/users/ReactorUsers.java | 75 +- .../util/AbstractReactorOperations.java | 36 +- .../reactor/util/AnnotationUtils.java | 46 +- .../ByteBufAllocatorMetricProviderMXBean.java | 1 - ...ByteBufAllocatorMetricProviderWrapper.java | 4 +- .../CertificateCollectingTrustManager.java | 4 +- .../util/DefaultSslCertificateTruster.java | 166 +- .../reactor/util/ErrorPayloadMapper.java | 9 +- .../reactor/util/ErrorPayloadMappers.java | 148 +- .../cloudfoundry/reactor/util/JsonCodec.java | 37 +- .../reactor/util/JsonParsingException.java | 1 - .../util/MultipartHttpClientRequest.java | 37 +- .../cloudfoundry/reactor/util/Operator.java | 327 +- .../reactor/util/RequestLogger.java | 31 +- .../reactor/util/SslCertificateTruster.java | 6 +- .../util/StaticTrustManagerFactory.java | 4 +- .../util/UriQueryParameterBuilder.java | 1 - .../reactor/util/UriQueryParameters.java | 17 +- .../reactor/util/UriVariablesRegistry.java | 4 +- .../cloudfoundry/reactor/util/UserAgent.java | 29 +- .../reactor/AbstractRestTest.java | 61 +- .../reactor/CustomRequestTagTest.java | 64 +- .../reactor/DefaultConnectionContextTest.java | 123 +- .../reactor/DelegatingRootProviderTest.java | 567 +- .../reactor/InfoPayloadRootProviderTest.java | 87 +- .../reactor/RootPayloadRootProviderTest.java | 89 +- .../SingleEndpointRootProviderTest.java | 29 +- .../reactor/client/AbstractClientApiTest.java | 11 +- .../client/MethodNameComparatorTest.java | 7 +- .../reactor/client/QueryBuilderTest.java | 30 +- .../client/ReactorCloudFoundryClientTest.java | 18 +- .../reactor/client/v2/FilterBuilderTest.java | 56 +- .../ReactorApplicationsV2Test.java | 2084 +++-- .../ReactorApplicationUsageEventsTest.java | 237 +- .../v2/blobstores/ReactorBlobstoresTest.java | 74 +- .../v2/buildpacks/ReactorBuildpacksTest.java | 566 +- .../client/v2/domains/ReactorDomainsTest.java | 504 +- .../ReactorEnvironmentVariableGroupsTest.java | 294 +- .../client/v2/events/ReactorEventsTest.java | 282 +- .../featureflags/ReactorFeatureFlagsTest.java | 347 +- .../client/v2/info/ReactorInfoTest.java | 74 +- .../client/v2/jobs/ReactorJobsTest.java | 87 +- ...actorOrganizationQuotaDefinitionsTest.java | 413 +- .../ReactorOrganizationsTest.java | 2918 ++++--- .../ReactorPrivateDomainsTest.java | 448 +- .../ReactorResourceMatchTest.java | 85 +- .../ReactorRouteMappingsTest.java | 345 +- .../client/v2/routes/ReactorRoutesTest.java | 818 +- .../ReactorSecurityGroupsTest.java | 1280 +-- .../ReactorServiceBindingsV2Test.java | 545 +- .../ReactorServiceBrokersTest.java | 412 +- .../ReactorServiceInstancesTest.java | 1234 +-- .../servicekeys/ReactorServiceKeysTest.java | 275 +- .../serviceplans/ReactorServicePlansTest.java | 522 +- .../ReactorServicePlanVisibilitiesTest.java | 434 +- .../v2/services/ReactorServicesTest.java | 378 +- .../ReactorServiceUsageEventsTest.java | 231 +- .../ReactorSharedDomainsTest.java | 418 +- .../ReactorSpaceQuotaDefinitionsTest.java | 727 +- .../client/v2/spaces/ReactorSpacesTest.java | 2970 ++++--- .../client/v2/stacks/ReactorStacksTest.java | 358 +- ...actorUserProvidedServiceInstancesTest.java | 816 +- .../client/v2/users/ReactorUsersTest.java | 2846 ++++--- .../reactor/client/v3/FilterBuilderTest.java | 27 +- .../client/v3/admin/ReactorAdminV3Test.java | 51 +- .../ReactorApplicationsV3Test.java | 3893 +++++---- .../auditevents/ReactorAuditEventsV3Test.java | 236 +- .../v3/buildpacks/ReactorBuildpacksTest.java | 606 +- .../client/v3/builds/ReactorBuildsTest.java | 361 +- .../deployments/ReactorDeploymentsV3Test.java | 456 +- .../v3/domains/ReactorDomainsV3Test.java | 662 +- .../v3/droplets/ReactorDropletsTest.java | 545 +- .../ReactorIsolationSegmentsTest.java | 855 +- .../client/v3/jobs/ReactorJobsV3Test.java | 89 +- .../ReactorOrganizationsV3Test.java | 872 +- .../v3/packages/ReactorPackagesTest.java | 1132 ++- .../v3/processes/ReactorProcessesTest.java | 867 +- .../client/v3/roles/ReactorRolesV3Test.java | 528 +- .../client/v3/routes/ReactorRoutesV3Test.java | 1091 ++- .../ReactorServiceInstancesV3Test.java | 1500 ++-- .../ReactorServiceBindingsV3Test.java | 454 +- .../ReactorServiceBrokersV3Test.java | 639 +- .../ReactorServiceOfferingsTest.java | 640 +- .../serviceplans/ReactorServicePlansTest.java | 928 +- .../client/v3/spaces/ReactorSpacesV3Test.java | 585 +- .../client/v3/stacks/ReactorStacksV3Test.java | 410 +- .../client/v3/tasks/ReactorTasksTest.java | 519 +- .../doppler/AbstractDopplerApiTest.java | 4 +- .../doppler/ReactorDopplerClientTest.java | 328 +- .../logcache/v1/AbstractLogCacheApiTest.java | 4 +- .../v1/ReactorLogCacheClientTest.java | 361 +- .../networking/AbstractNetworkingApiTest.java | 4 +- .../policies/ReactorPoliciesClientTest.java | 316 +- .../v1/tags/ReactorTagsClientTest.java | 74 +- .../routing/AbstractRoutingApiTest.java | 4 +- .../routergroups/ReactorRouterGroupsTest.java | 119 +- .../v1/tcproutes/EventStreamCodecTest.java | 304 +- .../v1/tcproutes/ReactorTcpRoutesTest.java | 165 +- .../reactor/uaa/AbstractUaaApiTest.java | 4 +- .../reactor/uaa/IdentityZoneBuilderTest.java | 9 +- .../reactor/uaa/ReactorUaaClientTest.java | 16 +- .../uaa/UaaSigningKeyResolverTest.java | 95 +- .../reactor/uaa/UsernameProviderTest.java | 82 +- .../reactor/uaa/VersionBuilderTest.java | 9 +- .../ReactorAuthorizationsTest.java | 492 +- .../uaa/clients/ReactorClientsTest.java | 1441 ++-- .../reactor/uaa/groups/ReactorGroupsTest.java | 1054 +-- .../ReactorIdentityProvidersTest.java | 1145 +-- .../ReactorIdentityZonesTest.java | 1733 ++-- .../ReactorServerInformationTest.java | 191 +- .../reactor/uaa/tokens/ReactorTokensTest.java | 658 +- .../reactor/uaa/users/ReactorUsersTest.java | 1504 ++-- ...CertificateCollectingTrustManagerTest.java | 25 +- .../reactor/util/ErrorPayloadMappersTest.java | 373 +- .../AbstractCloudFoundryException.java | 1 - .../java/org/cloudfoundry/AllowNulls.java | 4 +- .../main/java/org/cloudfoundry/Nullable.java | 4 +- .../java/org/cloudfoundry/QueryParameter.java | 1 - .../UnknownCloudFoundryException.java | 1 - .../client/CloudFoundryClient.java | 3 +- .../client/v2/ClientV2Exception.java | 4 +- .../client/v2/FilterParameter.java | 9 +- .../client/v2/OrderDirection.java | 1 - .../client/v2/PaginatedRequest.java | 1 - .../client/v2/PaginatedResponse.java | 4 +- .../org/cloudfoundry/client/v2/Resource.java | 1 - .../AbstractApplicationEntity.java | 4 +- .../AbstractApplicationResource.java | 5 +- .../AbstractRestageApplicationResource.java | 6 +- .../v2/applications/ApplicationsV2.java | 10 +- ...AbstractApplicationUsageEventResource.java | 6 +- .../ApplicationUsageEvents.java | 1 - .../client/v2/blobstores/Blobstores.java | 4 +- .../buildpacks/AbstractBuildpackResource.java | 5 +- .../client/v2/buildpacks/Buildpacks.java | 1 - .../v2/domains/AbstractDomainResource.java | 5 +- .../client/v2/domains/Domains.java | 1 - .../EnvironmentVariableGroups.java | 13 +- .../v2/events/AbstractEventResource.java | 5 +- .../cloudfoundry/client/v2/events/Events.java | 1 - .../v2/featureflags/AbstractFeatureFlag.java | 1 - .../client/v2/featureflags/FeatureFlags.java | 1 - .../org/cloudfoundry/client/v2/info/Info.java | 1 - .../client/v2/jobs/AbstractJobResource.java | 5 +- .../org/cloudfoundry/client/v2/jobs/Jobs.java | 1 - .../AbstractOrganizationQuotaDefinition.java | 7 +- .../OrganizationQuotaDefinitions.java | 13 +- .../AbstractOrganizationResource.java | 5 +- .../AbstractUserOrganizationRoleResource.java | 5 +- .../v2/organizations/Organizations.java | 43 +- .../AbstractPrivateDomainResource.java | 5 +- .../v2/privatedomains/PrivateDomains.java | 4 +- .../v2/resourcematch/ResourceMatch.java | 1 - .../AbstractRouteMappingResource.java | 5 +- .../v2/routemappings/RouteMappings.java | 1 - .../v2/routes/AbstractRouteResource.java | 5 +- .../cloudfoundry/client/v2/routes/Routes.java | 4 +- .../AbstractSecurityGroupResource.java | 5 +- .../client/v2/securitygroups/Protocol.java | 1 - .../v2/securitygroups/SecurityGroups.java | 16 +- .../AbstractServiceBindingResource.java | 5 +- .../v2/servicebindings/ServiceBindingsV2.java | 4 +- .../AbstractServiceBrokerResource.java | 5 +- .../v2/servicebrokers/ServiceBrokers.java | 2 - .../AbstractServiceInstanceResource.java | 5 +- .../AbstractUnionServiceInstanceResource.java | 5 +- .../BaseServiceInstanceEntity.java | 7 +- .../v2/serviceinstances/ServiceInstances.java | 13 +- .../AbstractServiceKeyResource.java | 5 +- .../client/v2/servicekeys/ServiceKeys.java | 1 - .../AbstractServicePlanResource.java | 6 +- .../client/v2/serviceplans/ServicePlans.java | 5 +- ...AbstractServicePlanVisibilityResource.java | 6 +- .../ServicePlanVisibilities.java | 1 - .../v2/services/AbstractServiceResource.java | 5 +- .../client/v2/services/Services.java | 1 - .../AbstractServiceUsageEventResource.java | 5 +- .../ServiceUsageEvents.java | 2 - .../AbstractSharedDomainResource.java | 5 +- .../v2/shareddomains/SharedDomains.java | 3 - .../AbstractSpaceQuotaDefinitionResource.java | 6 +- .../SpaceQuotaDefinitions.java | 7 +- .../v2/spaces/AbstractSpaceResource.java | 5 +- .../spaces/AbstractUserSpaceRoleResource.java | 5 +- .../cloudfoundry/client/v2/spaces/Spaces.java | 31 +- .../v2/stacks/AbstractStackResource.java | 5 +- .../cloudfoundry/client/v2/stacks/Stacks.java | 1 - ...ctUserProvidedServiceInstanceResource.java | 7 +- .../UserProvidedServiceInstances.java | 19 +- .../client/v2/users/AbstractUserEntity.java | 1 - .../AbstractUserOrganizationResource.java | 5 +- .../client/v2/users/AbstractUserResource.java | 5 +- .../v2/users/AbstractUserSpaceResource.java | 5 +- .../v2/users/AbstractUserSummaryResource.java | 5 +- .../cloudfoundry/client/v2/users/Users.java | 31 +- .../cloudfoundry/client/v3/ChecksumType.java | 2 - .../client/v3/ClientV3Exception.java | 10 +- .../client/v3/FilterParameter.java | 2 - .../cloudfoundry/client/v3/LifecycleData.java | 4 +- .../cloudfoundry/client/v3/LifecycleType.java | 4 +- .../client/v3/PaginatedRequest.java | 1 - .../client/v3/PaginatedResponse.java | 4 +- .../client/v3/RelationshipResponse.java | 4 +- .../org/cloudfoundry/client/v3/Resource.java | 4 +- .../cloudfoundry/client/v3/admin/AdminV3.java | 1 - .../client/v3/applications/Application.java | 1 - .../v3/applications/ApplicationFeature.java | 1 - .../v3/applications/ApplicationState.java | 4 +- .../v3/applications/ApplicationsV3.java | 25 +- .../v3/applications/EnvironmentVariables.java | 4 +- .../client/v3/auditevents/AuditEvent.java | 4 +- .../client/v3/auditevents/AuditEventsV3.java | 1 - .../client/v3/buildpacks/Buildpack.java | 1 - .../client/v3/buildpacks/BuildpackState.java | 1 - .../client/v3/buildpacks/BuildpacksV3.java | 1 - .../client/v3/builds/BuildState.java | 1 - .../cloudfoundry/client/v3/builds/Builds.java | 1 - .../client/v3/deployments/Deployment.java | 4 +- .../v3/deployments/DeploymentState.java | 4 +- .../deployments/DeploymentStatusReason.java | 4 +- .../v3/deployments/DeploymentStatusValue.java | 4 +- .../v3/deployments/DeploymentStrategy.java | 1 - .../client/v3/deployments/DeploymentsV3.java | 1 - .../client/v3/domains/Domain.java | 4 +- .../client/v3/domains/DomainsV3.java | 1 - .../client/v3/droplets/Droplet.java | 6 +- .../client/v3/droplets/DropletState.java | 1 - .../client/v3/droplets/Droplets.java | 1 - .../isolationsegments/IsolationSegment.java | 1 - .../isolationsegments/IsolationSegments.java | 16 +- .../org/cloudfoundry/client/v3/jobs/Job.java | 4 +- .../cloudfoundry/client/v3/jobs/JobState.java | 1 - .../cloudfoundry/client/v3/jobs/JobsV3.java | 1 - .../client/v3/organizations/Organization.java | 1 - .../v3/organizations/OrganizationStatus.java | 4 +- .../v3/organizations/OrganizationsV3.java | 13 +- .../client/v3/packages/Package.java | 6 +- .../client/v3/packages/PackageData.java | 4 +- .../client/v3/packages/PackageState.java | 1 - .../client/v3/packages/PackageType.java | 1 - .../client/v3/packages/Packages.java | 1 - .../client/v3/processes/HealthCheckType.java | 4 +- .../client/v3/processes/Process.java | 1 - .../client/v3/processes/ProcessState.java | 1 - .../v3/processes/ProcessStatistics.java | 5 +- .../client/v3/processes/Processes.java | 1 - .../cloudfoundry/client/v3/roles/Role.java | 1 - .../client/v3/roles/RoleType.java | 17 +- .../cloudfoundry/client/v3/roles/RolesV3.java | 1 - .../client/v3/routes/Protocol.java | 1 - .../cloudfoundry/client/v3/routes/Route.java | 4 +- .../client/v3/routes/RouteDestinations.java | 6 +- .../client/v3/routes/RoutesV3.java | 7 +- .../v3/servicebindings/ServiceBinding.java | 1 - .../servicebindings/ServiceBindingType.java | 1 - .../v3/servicebindings/ServiceBindingsV3.java | 4 +- .../v3/servicebrokers/Authentication.java | 6 +- .../v3/servicebrokers/ServiceBroker.java | 10 +- .../v3/servicebrokers/ServiceBrokersV3.java | 9 +- .../v3/serviceinstances/ServiceInstance.java | 4 +- .../serviceinstances/ServiceInstanceType.java | 4 +- .../serviceinstances/ServiceInstancesV3.java | 19 +- .../v3/serviceofferings/ServiceOffering.java | 4 +- .../serviceofferings/ServiceOfferingsV3.java | 1 - .../client/v3/serviceplans/ServicePlan.java | 4 +- .../v3/serviceplans/ServicePlansV3.java | 4 +- .../client/v3/serviceplans/Visibility.java | 1 - .../cloudfoundry/client/v3/spaces/Space.java | 1 - .../client/v3/spaces/SpacesV3.java | 7 +- .../cloudfoundry/client/v3/stacks/Stack.java | 1 - .../client/v3/stacks/StacksV3.java | 1 - .../cloudfoundry/client/v3/tasks/Task.java | 1 - .../client/v3/tasks/TaskState.java | 1 - .../cloudfoundry/client/v3/tasks/Tasks.java | 1 - .../cloudfoundry/doppler/DopplerClient.java | 1 - .../org/cloudfoundry/doppler/EventType.java | 5 +- .../org/cloudfoundry/doppler/MessageType.java | 4 +- .../java/org/cloudfoundry/doppler/Method.java | 2 - .../org/cloudfoundry/doppler/PeerType.java | 4 +- .../org/cloudfoundry/doppler/UuidUtils.java | 8 +- .../logcache/v1/EnvelopeType.java | 1 - .../logcache/v1/LogCacheClient.java | 1 - .../org/cloudfoundry/logcache/v1/LogType.java | 1 - .../networking/NetworkingClient.java | 1 - .../networking/v1/policies/Policies.java | 1 - .../cloudfoundry/networking/v1/tags/Tags.java | 1 - .../java/org/cloudfoundry/package-info.java | 19 +- .../cloudfoundry/routing/RoutingClient.java | 1 - .../v1/routergroups/AbstractRouterGroup.java | 1 - .../routing/v1/routergroups/RouterGroups.java | 1 - .../v1/tcproutes/AbstractTcpRoute.java | 1 - .../routing/v1/tcproutes/EventType.java | 1 - .../routing/v1/tcproutes/TcpRoutes.java | 1 - .../org/cloudfoundry/uaa/IdentityZoned.java | 1 - .../uaa/PaginatedAndSortedByRequest.java | 1 - .../uaa/PaginatedAndSortedRequest.java | 1 - .../cloudfoundry/uaa/PaginatedResponse.java | 2 - .../org/cloudfoundry/uaa/ResponseType.java | 1 - .../java/org/cloudfoundry/uaa/SortOrder.java | 1 - .../java/org/cloudfoundry/uaa/UaaClient.java | 1 - .../org/cloudfoundry/uaa/UaaException.java | 1 - .../java/org/cloudfoundry/uaa/Versioned.java | 1 - .../AbstractAuthorizationRequest.java | 4 +- .../uaa/authorizations/Authorizations.java | 13 +- .../uaa/clients/AbstractChangeSecret.java | 1 - .../uaa/clients/AbstractClient.java | 4 +- .../uaa/clients/AbstractCreateClient.java | 8 +- .../uaa/clients/AbstractMetadata.java | 1 - .../uaa/clients/AbstractUpdateClient.java | 8 +- .../org/cloudfoundry/uaa/clients/Action.java | 4 +- .../org/cloudfoundry/uaa/clients/Clients.java | 1 - .../groups/AbstractExternalGroupMapping.java | 4 +- .../uaa/groups/AbstractGroup.java | 4 +- .../uaa/groups/AbstractMember.java | 2 - .../org/cloudfoundry/uaa/groups/Entity.java | 4 +- .../org/cloudfoundry/uaa/groups/Groups.java | 10 +- .../cloudfoundry/uaa/groups/MemberType.java | 1 - .../AbstractAuthenticationConfiguration.java | 7 +- ...ExternalIdentityProviderConfiguration.java | 7 +- .../AbstractIdentityProvider.java | 6 +- ...AbstractIdentityProviderConfiguration.java | 4 +- .../ExternalGroupMappingMode.java | 4 +- .../IdentityProviderConfiguration.java | 4 +- .../identityproviders/IdentityProviders.java | 1 - .../uaa/identityproviders/LdapGroupFile.java | 2 - .../identityproviders/LdapProfileFile.java | 5 +- .../identityproviders/TlsConfiguration.java | 5 +- .../uaa/identityproviders/Type.java | 2 - .../identityzones/AbstractIdentityZone.java | 1 - .../uaa/identityzones/IdentityZones.java | 1 - .../uaa/identityzones/RefreshTokenFormat.java | 4 +- .../serverinformation/ServerInformation.java | 4 +- .../uaa/tokens/AbstractToken.java | 1 - .../uaa/tokens/AbstractTokenKey.java | 1 - .../org/cloudfoundry/uaa/tokens/KeyType.java | 1 - .../cloudfoundry/uaa/tokens/TokenFormat.java | 2 - .../org/cloudfoundry/uaa/tokens/Tokens.java | 10 +- .../cloudfoundry/uaa/users/AbstractUser.java | 4 +- .../uaa/users/AbstractUserId.java | 1 - .../uaa/users/AbstractUserSummary.java | 4 +- .../org/cloudfoundry/uaa/users/Users.java | 4 +- .../client/v2/ClientV2ExceptionTest.java | 12 +- .../client/v2/PaginatedRequestTest.java | 5 +- .../ApplicationEnvironmentRequestTest.java | 8 +- .../ApplicationInstancesRequestTest.java | 8 +- .../ApplicationStatisticsRequestTest.java | 8 +- .../AssociateApplicationRouteRequestTest.java | 15 +- .../CopyApplicationRequestTest.java | 15 +- .../CreateApplicationRequestTest.java | 14 +- .../DeleteApplicationRequestTest.java | 8 +- ...DownloadApplicationDropletRequestTest.java | 8 +- .../DownloadApplicationRequestTest.java | 8 +- .../GetApplicationPermissionsRequestTest.java | 8 +- .../GetApplicationRequestTest.java | 8 +- .../ListApplicationRoutesRequestTest.java | 8 +- ...ApplicationServiceBindingsRequestTest.java | 8 +- .../ListApplicationsRequestTest.java | 4 +- .../RemoveApplicationRouteRequestTest.java | 15 +- ...eApplicationServiceBindingRequestTest.java | 15 +- .../RestageApplicationRequestTest.java | 8 +- .../SummaryApplicationRequestTest.java | 8 +- ...rminateApplicationInstanceRequestTest.java | 15 +- .../UpdateApplicationRequestTest.java | 8 +- .../UploadApplicationDropletRequestTest.java | 18 +- .../UploadApplicationRequestTest.java | 18 +- .../GetApplicationUsageEventRequestTest.java | 8 +- ...ListApplicationUsageEventsRequestTest.java | 4 +- ...seedApplicationUsageEventsRequestTest.java | 4 +- ...teBlobstoreBuildpackCachesRequestTest.java | 4 +- .../CreateBuildpackRequestTest.java | 8 +- .../DeleteBuildpackRequestTest.java | 8 +- .../buildpacks/GetBuildpackRequestTest.java | 8 +- .../buildpacks/ListBuildpacksRequestTest.java | 4 +- .../UpdateBuildpackRequestTest.java | 8 +- .../UploadBuildpackRequestTest.java | 30 +- .../v2/domains/CreateDomainRequestTest.java | 16 +- .../v2/domains/DeleteDomainRequestTest.java | 8 +- .../v2/domains/GetDomainRequestTest.java | 8 +- .../domains/ListDomainSpacesRequestTest.java | 8 +- .../v2/domains/ListDomainsRequestTest.java | 4 +- ...unningEnvironmentVariablesRequestTest.java | 4 +- ...tagingEnvironmentVariablesRequestTest.java | 4 +- ...unningEnvironmentVariablesRequestTest.java | 4 +- ...tagingEnvironmentVariablesRequestTest.java | 4 +- .../client/v2/events/GetEventRequestTest.java | 8 +- .../v2/events/ListEventsRequestTest.java | 4 +- .../GetFeatureFlagRequestTest.java | 20 +- .../ListFeatureFlagsRequestTest.java | 4 +- .../SetFeatureFlagRequestTest.java | 14 +- .../client/v2/info/GetInfoRequestTest.java | 4 +- .../client/v2/jobs/GetJobRequestTest.java | 8 +- ...rganizationQuotaDefinitionRequestTest.java | 85 +- ...rganizationQuotaDefinitionRequestTest.java | 8 +- ...rganizationQuotaDefinitionRequestTest.java | 8 +- ...ganizationQuotaDefinitionsRequestTest.java | 4 +- ...rganizationQuotaDefinitionRequestTest.java | 8 +- ...anizationAuditorByUsernameRequestTest.java | 15 +- ...sociateOrganizationAuditorRequestTest.java | 15 +- ...onBillingManagerByUsernameRequestTest.java | 15 +- ...OrganizationBillingManagerRequestTest.java | 15 +- ...anizationManagerByUsernameRequestTest.java | 15 +- ...sociateOrganizationManagerRequestTest.java | 15 +- ...eOrganizationPrivateDomainRequestTest.java | 15 +- ...OrganizationUserByUsernameRequestTest.java | 15 +- .../AssociateOrganizationUserRequestTest.java | 15 +- .../CreateOrganizationRequestTest.java | 8 +- .../DeleteOrganizationRequestTest.java | 8 +- ...tOrganizationInstanceUsageRequestTest.java | 8 +- ...GetOrganizationMemoryUsageRequestTest.java | 8 +- .../GetOrganizationRequestTest.java | 8 +- .../GetOrganizationUserRolesRequestTest.java | 8 +- .../ListOrganizationAuditorsRequestTest.java | 8 +- ...rganizationBillingManagersRequestTest.java | 8 +- .../ListOrganizationDomainsRequestTest.java | 8 +- .../ListOrganizationManagersRequestTest.java | 8 +- ...OrganizationPrivateDomainsRequestTest.java | 8 +- .../ListOrganizationServicesRequestTest.java | 8 +- ...ationSpaceQuotaDefinitionsRequestTest.java | 8 +- .../ListOrganizationSpacesRequestTest.java | 8 +- .../ListOrganizationUsersRequestTest.java | 8 +- .../ListOrganizationsRequestTest.java | 4 +- ...anizationAuditorByUsernameRequestTest.java | 15 +- .../RemoveOrganizationAuditorRequestTest.java | 15 +- ...onBillingManagerByUsernameRequestTest.java | 15 +- ...OrganizationBillingManagerRequestTest.java | 15 +- ...anizationManagerByUsernameRequestTest.java | 15 +- .../RemoveOrganizationManagerRequestTest.java | 15 +- ...eOrganizationPrivateDomainRequestTest.java | 15 +- ...OrganizationUserByUsernameRequestTest.java | 15 +- .../RemoveOrganizationUserRequestTest.java | 15 +- .../SummaryOrganizationRequestTest.java | 8 +- .../UpdateOrganizationRequestTest.java | 8 +- .../CreatePrivateDomainRequestTest.java | 15 +- .../DeletePrivateDomainRequestTest.java | 8 +- .../GetPrivateDomainRequestTest.java | 8 +- ...eDomainSharedOrganizationsRequestTest.java | 8 +- .../ListPrivateDomainsRequestTest.java | 4 +- .../CreateRouteMappingRequestTest.java | 15 +- .../DeleteRouteMappingRequestTest.java | 8 +- .../GetRouteMappingRequestTest.java | 8 +- .../ListRouteMappingsRequestTest.java | 4 +- .../AssociateRouteApplicationRequestTest.java | 15 +- .../v2/routes/CreateRouteRequestTest.java | 14 +- .../v2/routes/DeleteRouteRequestTest.java | 8 +- .../client/v2/routes/GetRouteRequestTest.java | 8 +- .../ListRouteApplicationsRequestTest.java | 8 +- .../routes/ListRouteMappingsRequestTest.java | 8 +- .../v2/routes/ListRoutesRequestTest.java | 5 +- .../RemoveRouteApplicationRequestTest.java | 15 +- .../v2/routes/RouteExistsRequestTest.java | 8 +- .../v2/routes/UpdateRouteRequestTest.java | 8 +- ...ssociateSecurityGroupSpaceRequestTest.java | 15 +- .../CreateSecurityGroupRequestTest.java | 19 +- .../DeleteSecurityGroupRequestTest.java | 15 +- .../GetSecurityGroupRequestTest.java | 8 +- ...curityGroupRunningDefaultsRequestTest.java | 4 +- .../ListSecurityGroupSpacesRequestTest.java | 8 +- ...curityGroupStagingDefaultsRequestTest.java | 4 +- .../ListSecurityGroupsRequestTest.java | 4 +- ...ecurityGroupRunningDefaultRequestTest.java | 8 +- .../RemoveSecurityGroupSpaceRequestTest.java | 15 +- ...ecurityGroupStagingDefaultRequestTest.java | 8 +- ...ecurityGroupRunningDefaultRequestTest.java | 8 +- ...ecurityGroupStagingDefaultRequestTest.java | 8 +- .../UpdateSecurityGroupRequestTest.java | 19 +- .../CreateServiceBindingRequestTest.java | 15 +- .../DeleteServiceBindingRequestTest.java | 9 +- ...etServiceBindingParametersRequestTest.java | 8 +- .../GetServiceBindingRequestTest.java | 8 +- .../ListServiceBindingsRequestTest.java | 5 +- .../CreateServiceBrokerRequestTest.java | 43 +- .../DeleteServiceBrokerRequestTest.java | 9 +- .../GetServiceBrokerRequestTest.java | 9 +- .../ListServiceBrokersRequestTest.java | 5 +- .../UpdateServiceBrokerRequestTest.java | 9 +- .../BindServiceInstanceRouteRequestTest.java | 16 +- .../CreateServiceInstanceRequestTest.java | 27 +- .../DeleteServiceInstanceRequestTest.java | 8 +- ...tServiceInstanceParametersRequestTest.java | 8 +- ...ServiceInstancePermissionsRequestTest.java | 9 +- .../GetServiceInstanceRequestTest.java | 9 +- .../ListServiceInstanceRoutesRequestTest.java | 9 +- ...iceInstanceServiceBindingsRequestTest.java | 9 +- ...ServiceInstanceServiceKeysRequestTest.java | 8 +- .../ListServiceInstancesRequestTest.java | 4 +- ...UnbindServiceInstanceRouteRequestTest.java | 16 +- .../UpdateServiceInstanceRequestTest.java | 8 +- .../CreateServiceKeyRequestTest.java | 15 +- .../DeleteServiceKeyRequestTest.java | 8 +- .../servicekeys/GetServiceKeyRequestTest.java | 9 +- .../ListServiceKeysRequestTest.java | 4 +- .../DeleteServicePlanRequestTest.java | 9 +- .../GetServicePlanRequestTest.java | 8 +- ...ervicePlanServiceInstancesRequestTest.java | 8 +- .../ListServicePlansRequestTest.java | 4 +- .../UpdateServicePlanRequestTest.java | 8 +- ...reateServicePlanVisibilityRequestTest.java | 16 +- ...eleteServicePlanVisibilityRequestTest.java | 8 +- .../GetServicePlanVisibilityRequestTest.java | 8 +- ...istServicePlanVisibilitiesRequestTest.java | 4 +- ...pdateServicePlanVisibilityRequestTest.java | 27 +- .../v2/services/DeleteServiceRequestTest.java | 8 +- .../v2/services/GetServiceRequestTest.java | 8 +- .../ListServiceServicePlansRequestTest.java | 8 +- .../v2/services/ListServicesRequestTest.java | 4 +- .../GetServiceUsageEventRequestTest.java | 8 +- .../ListServiceUsageEventsRequestTest.java | 4 +- ...ndReseedServiceUsageEventsRequestTest.java | 4 +- .../CreateSharedDomainRequestTest.java | 8 +- .../DeleteSharedDomainRequestTest.java | 8 +- .../GetSharedDomainRequestTest.java | 8 +- .../ListSharedDomainsRequestTest.java | 5 +- ...ociateSpaceQuotaDefinitionRequestTest.java | 15 +- ...CreateSpaceQuotaDefinitionRequestTest.java | 87 +- ...DeleteSpaceQuotaDefinitionRequestTest.java | 8 +- .../GetSpaceQuotaDefinitionRequestTest.java | 8 +- ...SpaceQuotaDefinitionSpacesRequestTest.java | 8 +- .../ListSpaceQuotaDefinitionsRequestTest.java | 4 +- ...RemoveSpaceQuotaDefinitionRequestTest.java | 15 +- ...UpdateSpaceQuotaDefinitionRequestTest.java | 8 +- ...iateSpaceAuditorByUsernameRequestTest.java | 15 +- .../AssociateSpaceAuditorRequestTest.java | 15 +- ...teSpaceDeveloperByUsernameRequestTest.java | 15 +- .../AssociateSpaceDeveloperRequestTest.java | 15 +- ...iateSpaceManagerByUsernameRequestTest.java | 15 +- .../AssociateSpaceManagerRequestTest.java | 15 +- ...ssociateSpaceSecurityGroupRequestTest.java | 15 +- .../v2/spaces/CreateSpaceRequestTest.java | 15 +- .../v2/spaces/DeleteSpaceRequestTest.java | 8 +- .../client/v2/spaces/GetSpaceRequestTest.java | 8 +- .../v2/spaces/GetSpaceSummaryRequestTest.java | 8 +- .../ListSpaceApplicationsRequestTest.java | 8 +- .../spaces/ListSpaceAuditorsRequestTest.java | 8 +- .../ListSpaceDevelopersRequestTest.java | 8 +- .../spaces/ListSpaceDomainsRequestTest.java | 8 +- .../v2/spaces/ListSpaceEventsRequestTest.java | 8 +- .../spaces/ListSpaceManagersRequestTest.java | 8 +- .../v2/spaces/ListSpaceRoutesRequestTest.java | 8 +- .../ListSpaceSecurityGroupsRequestTest.java | 8 +- .../ListSpaceServiceInstancesRequestTest.java | 8 +- .../spaces/ListSpaceServicesRequestTest.java | 8 +- .../spaces/ListSpaceUserRolesRequestTest.java | 8 +- .../v2/spaces/ListSpacesRequestTest.java | 4 +- ...moveSpaceAuditorByUsernameRequestTest.java | 15 +- .../spaces/RemoveSpaceAuditorRequestTest.java | 15 +- ...veSpaceDeveloperByUsernameRequestTest.java | 15 +- .../RemoveSpaceDeveloperRequestTest.java | 15 +- ...moveSpaceManagerByUsernameRequestTest.java | 15 +- .../spaces/RemoveSpaceManagerRequestTest.java | 15 +- .../RemoveSpaceSecurityGroupRequestTest.java | 15 +- .../v2/spaces/UpdateSpaceRequestTest.java | 8 +- .../v2/stacks/CreateStackRequestTest.java | 10 +- .../v2/stacks/DeleteStackRequestTest.java | 9 +- .../client/v2/stacks/GetStackRequestTest.java | 8 +- .../v2/stacks/ListStacksRequestTest.java | 4 +- ...ovidedServiceInstanceRouteRequestTest.java | 17 +- ...serProvidedServiceInstanceRequestTest.java | 14 +- ...serProvidedServiceInstanceRequestTest.java | 8 +- ...serProvidedServiceInstanceRequestTest.java | 8 +- ...videdServiceInstanceRoutesRequestTest.java | 9 +- ...iceInstanceServiceBindingsRequestTest.java | 9 +- ...erProvidedServiceInstancesRequestTest.java | 4 +- ...serProvidedServiceInstanceRequestTest.java | 15 +- ...serProvidedServiceInstanceRequestTest.java | 8 +- ...ateUserAuditedOrganizationRequestTest.java | 15 +- .../AssociateUserAuditedSpaceRequestTest.java | 15 +- ...BillingManagedOrganizationRequestTest.java | 15 +- ...ateUserManagedOrganizationRequestTest.java | 15 +- .../AssociateUserManagedSpaceRequestTest.java | 15 +- .../AssociateUserOrganizationRequestTest.java | 15 +- .../users/AssociateUserSpaceRequestTest.java | 14 +- .../v2/users/CreateUserRequestTest.java | 10 +- .../v2/users/DeleteUserRequestTest.java | 9 +- .../client/v2/users/GetUserRequestTest.java | 8 +- ...stUserAuditedOrganizationsRequestTest.java | 8 +- .../ListUserAuditedSpacesRequestTest.java | 8 +- ...illingManagedOrganizationsRequestTest.java | 8 +- ...stUserManagedOrganizationsRequestTest.java | 8 +- .../ListUserManagedSpacesRequestTest.java | 8 +- .../ListUserOrganizationsRequestTest.java | 8 +- .../v2/users/ListUserSpacesRequestTest.java | 8 +- .../client/v2/users/ListUsersRequestTest.java | 4 +- ...oveUserAuditedOrganizationRequestTest.java | 15 +- .../RemoveUserAuditedSpaceRequestTest.java | 15 +- ...BillingManagedOrganizationRequestTest.java | 15 +- ...oveUserManagedOrganizationRequestTest.java | 15 +- .../RemoveUserManagedSpaceRequestTest.java | 15 +- .../RemoveUserOrganizationRequestTest.java | 15 +- .../v2/users/RemoveUserSpaceRequestTest.java | 14 +- .../v2/users/SummaryUserRequestTest.java | 8 +- .../v2/users/UpdateUserRequestTest.java | 10 +- .../client/v3/ClientV3ExceptionTest.java | 43 +- .../client/v3/PaginatedRequestTest.java | 26 +- .../client/v3/PaginationTest.java | 4 +- .../client/v3/RelationshipTest.java | 8 +- .../cloudfoundry/client/v3/ResourceTest.java | 23 +- .../client/v3/ToManyRelationshipTest.java | 4 +- .../client/v3/ToOneRelationshipTest.java | 4 +- .../admin/ClearBuildpackCacheRequestTest.java | 4 +- .../CreateApplicationRequestTest.java | 39 +- .../DeleteApplicationRequestTest.java | 8 +- ...CurrentDropletRelationshipRequestTest.java | 8 +- ...tApplicationCurrentDropletRequestTest.java | 8 +- .../GetApplicationEnvironmentRequestTest.java | 8 +- ...cationEnvironmentVariablesRequestTest.java | 8 +- .../GetApplicationFeatureRequestTest.java | 15 +- .../GetApplicationPermissionRequestTest.java | 8 +- .../GetApplicationProcessRequestTest.java | 15 +- ...plicationProcessStatisticsRequestTest.java | 88 +- .../GetApplicationRequestTest.java | 8 +- .../GetApplicationSshEnabledRequestTest.java | 8 +- .../ListApplicationBuildsRequestTest.java | 8 +- .../ListApplicationDropletsRequestTest.java | 8 +- .../ListApplicationFeaturesRequestTest.java | 8 +- .../ListApplicationPackagesRequestTest.java | 8 +- .../ListApplicationProcessesRequestTest.java | 8 +- .../ListApplicationRoutesRequestTest.java | 8 +- .../ListApplicationTasksRequestTest.java | 8 +- .../ListApplicationsRequestTest.java | 4 +- .../v3/applications/RelationshipsTest.java | 15 +- .../RestartApplicationRequestTest.java | 8 +- .../ScaleApplicationRequestTest.java | 14 +- ...tApplicationCurrentDropletRequestTest.java | 20 +- .../StartApplicationRequestTest.java | 8 +- .../StopApplicationRequestTest.java | 8 +- ...rminateApplicationInstanceRequestTest.java | 26 +- ...cationEnvironmentVariablesRequestTest.java | 8 +- .../UpdateApplicationFeatureRequestTest.java | 27 +- .../UpdateApplicationRequestTest.java | 8 +- .../auditevents/GetAuditEventRequestTest.java | 7 +- .../ListAuditEventsRequestTest.java | 17 +- .../CreateBuildpackRequestTest.java | 8 +- .../DeleteBuildpackRequestTest.java | 8 +- .../buildpacks/GetBuildpackRequestTest.java | 8 +- .../buildpacks/ListBuildpacksRequestTest.java | 4 +- .../UpdateBuildpackRequestTest.java | 8 +- .../UploadBuildpackRequestTest.java | 18 +- .../v3/builds/CreateBuildRequestTest.java | 10 +- .../client/v3/builds/GetBuildRequestTest.java | 8 +- .../v3/builds/ListBuildsRequestTest.java | 4 +- .../CancelDeploymentRequestTest.java | 8 +- .../CreateDeploymentRequestTest.java | 38 +- .../v3/deployments/GetDeploymentTest.java | 8 +- .../ListDeploymentsRequestTest.java | 4 +- .../CheckReservedRoutesRequestTest.java | 8 +- .../v3/domains/CreateDomainRequestTest.java | 46 +- .../v3/domains/DeleteDomainRequestTest.java | 8 +- .../v3/domains/GetDomainRequestTest.java | 8 +- .../v3/domains/ListDomainsRequestTest.java | 4 +- .../v3/domains/ShareDomainRequestTest.java | 21 +- .../v3/domains/UnshareDomainRequestTest.java | 15 +- .../v3/domains/UpdateDomainRequestTest.java | 12 +- .../v3/droplets/CopyDropletRequestTest.java | 39 +- .../v3/droplets/DeleteDropletRequestTest.java | 8 +- .../v3/droplets/GetDropletRequestTest.java | 8 +- .../v3/droplets/ListDropletsRequestTest.java | 4 +- ...entOrganizationEntitlementRequestTest.java | 11 +- .../CreateIsolationSegmentRequestTest.java | 8 +- .../DeleteIsolationSegmentRequestTest.java | 8 +- .../GetIsolationSegmentRequestTest.java | 8 +- ...gmentEntitledOrganizationsRequestTest.java | 8 +- ...tOrganizationsRelationshipRequestTest.java | 8 +- ...nSegmentSpacesRelationshipRequestTest.java | 8 +- .../ListIsolationSegmentsRequestTest.java | 4 +- ...entOrganizationEntitlementRequestTest.java | 15 +- .../UpdateIsolationSegmentRequestTest.java | 15 +- ...ionDefaultIsolationSegmentRequestTest.java | 19 +- .../CreateOrganizationRequestTest.java | 8 +- .../DeleteOrganizationRequestTest.java | 8 +- ...ionDefaultIsolationSegmentRequestTest.java | 8 +- .../GetOrganizationRequestTest.java | 8 +- ...etOrganizationUsageSummaryRequestTest.java | 8 +- .../ListOrganizationDomainsRequestTest.java | 8 +- .../ListOrganizationsRequestTest.java | 4 +- .../v3/packages/CopyPackageRequestTest.java | 39 +- .../v3/packages/CreatePackageRequestTest.java | 51 +- .../v3/packages/DeletePackageRequestTest.java | 8 +- .../packages/DownloadPackageRequestTest.java | 8 +- .../v3/packages/GetPackageRequestTest.java | 8 +- .../ListPackageDropletsRequestTest.java | 8 +- .../v3/packages/ListPackagesRequestTest.java | 4 +- .../v3/packages/UploadPackageRequestTest.java | 17 +- .../v3/processes/GetProcessRequestTest.java | 8 +- .../GetProcessStatisticsRequestTest.java | 8 +- .../processes/ListProcessesRequestTest.java | 4 +- .../v3/processes/ScaleProcessRequestTest.java | 8 +- .../TerminateProcessInstanceRequestTest.java | 15 +- .../processes/UpdateProcessRequestTest.java | 8 +- .../ListMatchingResourcesRequestTest.java | 16 +- .../v3/roles/CreateRoleRequestTest.java | 198 +- .../v3/roles/DeleteRoleRequestTest.java | 8 +- .../client/v3/roles/GetRoleRequestTest.java | 8 +- .../client/v3/roles/ListRolesRequestTest.java | 4 +- .../v3/routes/CreateRouteRequestTest.java | 69 +- .../v3/routes/DeleteRouteRequestTest.java | 8 +- .../client/v3/routes/GetRouteRequestTest.java | 8 +- .../InsertRouteDestinationsRequestTest.java | 108 +- .../ListRouteDestinationsRequestTest.java | 8 +- .../RemoveRouteDestinationsRequestTest.java | 15 +- .../ReplaceRouteDestinationsRequestTest.java | 28 +- .../v3/routes/UpdateRouteRequestTest.java | 12 +- .../CreateServiceBindingRequestTest.java | 57 +- .../DeleteServiceBindingRequestTest.java | 9 +- .../GetServiceBindingRequestTest.java | 9 +- .../ListServiceBindingsRequestTest.java | 4 +- .../v3/servicebindings/RelationshipsTest.java | 43 +- .../CreateServiceBrokerRequestTest.java | 62 +- .../DeleteServiceBrokerRequestTest.java | 9 +- .../GetServiceBrokerRequestTest.java | 9 +- .../ListServiceBrokersRequestTest.java | 3 +- .../UpdateServiceBrokerRequestTest.java | 9 +- .../CreateServiceInstanceRequestTest.java | 89 +- ...etManagedServiceParametersRequestTest.java | 5 +- ...GetUserProvidedCredentialsRequestTest.java | 4 +- .../ListServiceInstancesRequestTest.java | 4 +- .../ListSharedSpacesRelationshipTest.java | 8 +- .../ShareServiceInstanceRequestTest.java | 15 +- .../UnshareServiceInstanceRequestTest.java | 15 +- .../UpdateServiceInstanceRequestTest.java | 51 +- .../DeleteServiceOfferingRequestTest.java | 8 +- .../GetServiceOfferingRequestTest.java | 8 +- .../ListServiceOfferingsRequestTest.java | 4 +- .../UpdateServiceOfferingRequestTest.java | 8 +- .../DeleteServicePlanRequestTest.java | 8 +- .../GetServicePlanRequestTest.java | 8 +- .../ListServicePlansRequestTest.java | 4 +- .../UpdateServicePlanRequestTest.java | 8 +- .../UpdateServicePlanVisibilityTest.java | 29 +- .../v3/spaces/ApplyManifestRequestTest.java | 14 +- ...ssignSpaceIsolationSegmentRequestTest.java | 19 +- .../v3/spaces/CreateSpaceRequestTest.java | 39 +- .../v3/spaces/DeleteSpaceRequestTest.java | 8 +- .../DeleteUnmappedRoutesRequestTest.java | 8 +- .../GetSpaceIsolationSegmentRequestTest.java | 8 +- .../v3/spaces/ListSpacesRequestTest.java | 4 +- .../v3/stacks/CreateStackRequestTest.java | 65 +- .../v3/stacks/DeleteStackRequestTest.java | 8 +- .../client/v3/stacks/GetStackRequestTest.java | 8 +- .../v3/tasks/CancelTaskRequestTest.java | 8 +- .../v3/tasks/CreateTaskRequestTest.java | 15 +- .../client/v3/tasks/GetTaskRequestTest.java | 8 +- .../client/v3/tasks/ListTasksRequestTest.java | 4 +- .../doppler/ContainerMetricTest.java | 78 +- .../doppler/ContainerMetricsRequestTest.java | 8 +- .../doppler/CounterEventTest.java | 23 +- .../org/cloudfoundry/doppler/ErrorTest.java | 33 +- .../doppler/FirehoseRequestTest.java | 8 +- .../doppler/HttpStartStopTest.java | 217 +- .../cloudfoundry/doppler/LogMessageTest.java | 35 +- .../doppler/RecentLogsRequestTest.java | 8 +- .../doppler/StreamRequestTest.java | 8 +- .../cloudfoundry/doppler/UuidUtilsTest.java | 17 +- .../cloudfoundry/doppler/ValueMetricTest.java | 33 +- .../cloudfoundry/logcache/v1/CounterTest.java | 1 - .../logcache/v1/EnvelopeBatchTest.java | 1 - .../logcache/v1/EnvelopeTest.java | 1 - .../cloudfoundry/logcache/v1/EventTest.java | 1 - .../cloudfoundry/logcache/v1/GaugeTest.java | 1 - .../logcache/v1/InfoRequestTest.java | 3 +- .../logcache/v1/InfoResponseTest.java | 3 +- .../org/cloudfoundry/logcache/v1/LogTest.java | 18 +- .../logcache/v1/MetaResponseTest.java | 1 - .../logcache/v1/MetadataTest.java | 26 +- .../cloudfoundry/logcache/v1/MetricTest.java | 1 - .../logcache/v1/ReadRequestTest.java | 9 +- .../logcache/v1/ReadResponseTest.java | 5 +- .../cloudfoundry/logcache/v1/TimerTest.java | 1 - .../policies/CreatePoliciesRequestTest.java | 29 +- .../policies/DeletePoliciesRequestTest.java | 29 +- .../v1/policies/ListPoliciesRequestTest.java | 4 +- .../v1/tags/ListTagsRequestTest.java | 4 +- .../ListRouterGroupsRequestTest.java | 4 +- .../UpdateRouterGroupRequestTest.java | 15 +- .../tcproutes/CreateTcpRoutesRequestTest.java | 93 +- .../tcproutes/DeleteTcpRoutesRequestTest.java | 68 +- .../tcproutes/ListTcpRoutesRequestTest.java | 4 +- .../org/cloudfoundry/uaa/SortOrderTest.java | 5 +- .../cloudfoundry/uaa/UaaExceptionTest.java | 12 +- ...yAuthorizationCodeGrantApiRequestTest.java | 19 +- ...horizationCodeGrantBrowserRequestTest.java | 19 +- ...thorizationCodeGrantHybridRequestTest.java | 19 +- ...rizeByImplicitGrantBrowserRequestTest.java | 19 +- ...WithAuthorizationCodeGrantRequestTest.java | 19 +- ...thorizeByOpenIdWithIdTokenRequestTest.java | 19 +- ...eByOpenIdWithImplicitGrantRequestTest.java | 19 +- ...penIdProviderConfigurationRequestTest.java | 4 +- .../clients/BatchChangeSecretRequestTest.java | 33 +- .../BatchCreateClientsRequestTest.java | 24 +- .../BatchDeleteClientsRequestTest.java | 12 +- .../BatchUpdateClientsRequestTest.java | 23 +- .../uaa/clients/ChangeSecretRequestTest.java | 17 +- .../uaa/clients/CreateClientRequestTest.java | 19 +- .../uaa/clients/DeleteClientRequestTest.java | 8 +- .../uaa/clients/GetClientRequestTest.java | 8 +- .../uaa/clients/GetMetadataRequestTest.java | 8 +- .../uaa/clients/ListClientsRequestTest.java | 4 +- .../uaa/clients/ListMetadatasRequestTest.java | 4 +- .../uaa/clients/MixedActionsRequestTest.java | 27 +- .../uaa/clients/UpdateClientRequestTest.java | 19 +- .../clients/UpdateMetadataRequestTest.java | 13 +- .../uaa/groups/AddMemberRequestTest.java | 43 +- .../groups/CheckMembershipRequestTest.java | 16 +- .../uaa/groups/CreateGroupRequestTest.java | 8 +- .../uaa/groups/DeleteGroupRequestTest.java | 8 +- .../uaa/groups/GetGroupRequestTest.java | 8 +- .../ListExternalGroupMappingsRequestTest.java | 4 +- .../uaa/groups/ListGroupsRequestTest.java | 4 +- .../uaa/groups/ListMembersRequestTest.java | 8 +- .../groups/MapExternalGroupRequestTest.java | 15 +- .../uaa/groups/RemoveMemberRequestTest.java | 14 +- ...nalGroupByGroupDisplayNameRequestTest.java | 27 +- ...nmapExternalGroupByGroupIdRequestTest.java | 27 +- .../uaa/groups/UpdateGroupRequestTest.java | 37 +- .../AttributeMappingsTest.java | 4 +- .../CreateIdentityProviderRequestTest.java | 63 +- .../DeleteIdentityProviderRequestTest.java | 11 +- .../GetIdentityProviderRequestTest.java | 11 +- .../InternalConfigurationTest.java | 1 - .../KeystoneConfigurationTest.java | 4 +- .../LdapConfigurationTest.java | 4 +- .../ListIdentityProvidersRequestTest.java | 6 +- .../identityproviders/LockoutPolicyTest.java | 25 +- .../OAuth2ConfigurationTest.java | 26 +- .../OpenIdConnectConfigurationTest.java | 27 +- .../identityproviders/PasswordPolicyTest.java | 116 +- .../SamlConfigurationTest.java | 8 +- .../UpdateIdentityProviderRequestTest.java | 93 +- .../CreateIdentityZoneRequestTest.java | 44 +- .../DeleteIdentityZoneRequestTest.java | 8 +- .../GetIdentityZoneRequestTest.java | 8 +- .../ListIdentityZonesRequestTest.java | 4 +- .../UpdateIdentityZoneRequestTest.java | 59 +- .../AutoLoginRequestTest.java | 14 +- ...utoLoginAuthenticationCodeRequestTest.java | 43 +- .../serverinformation/GetInfoRequestTest.java | 4 +- .../uaa/tokens/CheckTokenRequestTest.java | 43 +- ...etTokenByAuthorizationCodeRequestTest.java | 27 +- ...etTokenByClientCredentialsRequestTest.java | 27 +- .../GetTokenByOneTimePasscodeRequestTest.java | 43 +- .../tokens/GetTokenByOpenIdRequestTest.java | 51 +- .../tokens/GetTokenByPasswordRequestTest.java | 45 +- .../uaa/tokens/GetTokenKeyRequestTest.java | 4 +- .../uaa/tokens/ListTokenKeysRequestTest.java | 4 +- .../uaa/tokens/RefreshTokenRequestTest.java | 43 +- .../users/ChangeUserPasswordRequestTest.java | 15 +- .../uaa/users/CreateUserRequestTest.java | 34 +- .../uaa/users/DeleteUserRequestTest.java | 8 +- .../uaa/users/ExpirePasswordRequestTest.java | 14 +- .../GetUserVerificationLinkRequestTest.java | 15 +- .../uaa/users/InviteUsersRequestTest.java | 20 +- .../uaa/users/ListUsersRequestTest.java | 4 +- .../uaa/users/LookupUserIdsRequestTest.java | 4 +- .../uaa/users/UpdateUserRequestTest.java | 109 +- .../uaa/users/UserInfoRequestTest.java | 4 +- .../uaa/users/VerifyUserRequestTest.java | 8 +- .../operations/CloudFoundryOperations.java | 1 - .../operations/advanced/Advanced.java | 1 - .../operations/advanced/DefaultAdvanced.java | 17 +- .../AbstractApplicationSummary.java | 1 - .../applications/ApplicationHealthCheck.java | 4 +- .../ApplicationManifestUtils.java | 72 +- .../ApplicationManifestUtilsCommon.java | 384 +- .../ApplicationManifestUtilsV3.java | 131 +- .../operations/applications/Applications.java | 1 - .../applications/DefaultApplications.java | 3954 +++++---- .../applications/ManifestV3RouteProtocol.java | 1 - .../operations/applications/RandomWords.java | 1 - .../operations/applications/RouteUtils.java | 46 +- .../operations/applications/TaskState.java | 1 - .../applications/WordListRandomWords.java | 10 +- .../operations/buildpacks/Buildpacks.java | 1 - .../buildpacks/DefaultBuildpacks.java | 281 +- .../operations/domains/DefaultDomains.java | 343 +- .../operations/domains/Domains.java | 1 - .../operations/domains/Status.java | 1 - .../DefaultNetworkPolicies.java | 301 +- .../networkpolicies/NetworkPolicies.java | 1 - .../DefaultOrganizationAdmin.java | 368 +- .../organizationadmin/OrganizationAdmin.java | 1 - .../organizations/DefaultOrganizations.java | 632 +- .../organizations/Organizations.java | 1 - .../operations/routes/DefaultRoutes.java | 992 ++- .../cloudfoundry/operations/routes/Level.java | 1 - .../operations/routes/Routes.java | 1 - .../operations/serviceadmin/Access.java | 1 - .../serviceadmin/DefaultServiceAdmin.java | 964 ++- .../operations/serviceadmin/ServiceAdmin.java | 2 - .../AbstractServiceInstanceSummary.java | 4 +- .../operations/services/DefaultServices.java | 2009 +++-- .../services/ServiceInstanceType.java | 6 +- .../operations/services/Services.java | 1 - .../spaceadmin/DefaultSpaceAdmin.java | 86 +- .../operations/spaceadmin/SpaceAdmin.java | 3 +- .../operations/spaces/DefaultSpaces.java | 940 ++- .../operations/spaces/Spaces.java | 1 - .../operations/stacks/DefaultStacks.java | 61 +- .../operations/stacks/Stacks.java | 1 - .../useradmin/DefaultUserAdmin.java | 1004 ++- .../useradmin/OrganizationRole.java | 1 - .../operations/useradmin/SpaceRole.java | 1 - .../operations/useradmin/UserAdmin.java | 1 - .../operations/util/OperationsLogging.java | 38 +- .../operations/AbstractOperationsTest.java | 57 +- .../DefaultCloudFoundryOperationsTest.java | 20 +- .../cloudfoundry/operations/TestObjects.java | 73 +- .../advanced/DefaultAdvancedTest.java | 30 +- .../applications/ApplicationManifestTest.java | 71 +- .../ApplicationManifestUtilsTest.java | 997 ++- .../ApplicationSshEnabledRequestTest.java | 8 +- .../CopySourceApplicationRequestTest.java | 23 +- .../applications/DefaultApplicationsTest.java | 7433 ++++++++++------- .../DeleteApplicationRequestTest.java | 9 +- .../DisableApplicationSshTest.java | 8 +- .../EnableApplicationSshRequestTest.java | 8 +- ...GetApplicationEnvironmentsRequestTest.java | 8 +- .../GetApplicationEventsRequestTest.java | 8 +- .../GetApplicationHealthCheckRequestTest.java | 8 +- .../GetApplicationManifestRequestTest.java | 8 +- .../GetApplicationRequestTest.java | 8 +- .../ListApplicationTasksRequestTest.java | 8 +- .../applications/LogsRequestTest.java | 8 +- .../ManifestV3ApplicationTest.java | 72 +- .../applications/ManifestV3ProcessTest.java | 9 +- .../applications/ManifestV3ServiceTest.java | 9 +- .../applications/ManifestV3SidecarTest.java | 9 +- .../applications/ManifestV3Test.java | 19 +- .../PushApplicationRequestTest.java | 31 +- .../PushManifestV3RequestTest.java | 19 +- ...RestartApplicationInstanceRequestTest.java | 14 +- .../RestartApplicationRequestTest.java | 8 +- .../applications/RouteUtilsTest.java | 299 +- .../RunApplicationTaskRequestTest.java | 21 +- .../ScaleApplicationRequestTest.java | 8 +- .../SetApplicationHealthCheckRequestTest.java | 15 +- ...ronmentVariableApplicationRequestTest.java | 27 +- .../StartApplicationRequestTest.java | 8 +- .../StopApplicationRequestTest.java | 8 +- .../TerminateApplicationTaskRequestTest.java | 15 +- ...ronmentVariableApplicationRequestTest.java | 15 +- .../applications/WordListRandomWordsTest.java | 4 +- .../CreateBuildpackRequestTest.java | 28 +- .../buildpacks/DefaultBuildpacksTest.java | 383 +- .../DeleteBuildpackRequestTest.java | 13 +- .../RenameBuildpackRequestTest.java | 15 +- .../UpdateBuildpackRequestTest.java | 19 +- .../domains/CreateDomainRequestTest.java | 15 +- .../CreateSharedDomainRequestTest.java | 8 +- .../domains/DefaultDomainsTest.java | 490 +- .../domains/ShareDomainRequestTest.java | 15 +- .../domains/UnshareDomainRequestTest.java | 15 +- .../AddNetworkPolicyRequestTest.java | 15 +- .../ListNetworkPoliciesRequestTest.java | 4 +- .../RemoveNetworkPolicyRequestTest.java | 43 +- .../CreateQuotaRequestTest.java | 8 +- .../DefaultOrganizationAdminTest.java | 618 +- .../DeleteQuotaRequestTest.java | 8 +- .../GetQuotaRequestTest.java | 8 +- .../SetQuotaRequestTest.java | 15 +- .../UpdateQuotaRequestTest.java | 8 +- .../CreateOrganizationRequestTest.java | 8 +- .../DefaultOrganizationsTest.java | 676 +- .../DeleteOrganizationRequestTest.java | 8 +- .../OrganizationSummaryDetailRequestTest.java | 8 +- .../RenameOrganizationRequestTest.java | 14 +- .../routes/CheckRouteRequestTest.java | 8 +- .../routes/CreateRouteRequestTest.java | 35 +- .../operations/routes/DefaultRoutesTest.java | 2110 +++-- .../DeleteOrphanedRoutesRequestTest.java | 4 +- .../routes/DeleteRouteRequestTest.java | 14 +- .../routes/ListRoutesRequestTest.java | 4 +- .../routes/MapRouteRequestTest.java | 44 +- .../routes/UnmapRouteRequestTest.java | 21 +- .../CreateServiceBrokerRequestTest.java | 43 +- .../serviceadmin/DefaultServiceAdminTest.java | 1257 +-- .../DeleteServiceBrokerRequestTest.java | 8 +- .../DisableServiceAccessRequestTest.java | 8 +- .../EnableServiceAccessRequestTest.java | 9 +- .../ListServiceAccessSettingsRequestTest.java | 8 +- .../UpdateServiceBrokerRequestTest.java | 42 +- .../BindRouteServiceInstanceRequestTest.java | 15 +- .../BindServiceInstanceRequestTest.java | 15 +- .../CreateServiceInstanceRequestTest.java | 27 +- .../services/CreateServiceKeyRequestTest.java | 15 +- ...serProvidedServiceInstanceRequestTest.java | 8 +- .../services/DefaultServicesTest.java | 3788 +++++---- .../DeleteServiceInstanceRequestTest.java | 8 +- .../services/DeleteServiceKeyRequestTest.java | 15 +- .../GetServiceInstanceRequestTest.java | 8 +- .../services/GetServiceKeyRequestTest.java | 15 +- .../services/ListServiceKeysRequestTest.java | 8 +- .../ListServiceOfferingsRequestTest.java | 4 +- .../RenameServiceInstanceRequestTest.java | 15 +- ...UnbindRouteServiceInstanceRequestTest.java | 15 +- .../UnbindServiceInstanceRequestTest.java | 15 +- .../UpdateServiceInstanceRequestTest.java | 8 +- .../spaceadmin/DefaultSpaceAdminTest.java | 114 +- .../spaceadmin/GetSpaceQuotaRequestTest.java | 8 +- .../spaces/AllowSpaceSshRequestTest.java | 8 +- .../spaces/CreateSpaceRequestTest.java | 8 +- .../operations/spaces/DefaultSpacesTest.java | 1334 +-- .../spaces/DeleteSpaceRequestTest.java | 8 +- .../spaces/DisallowSpaceSshRequestTest.java | 8 +- .../spaces/GetSpaceRequestTest.java | 8 +- .../spaces/RenameSpaceRequestTest.java | 14 +- .../spaces/SpaceSshAllowedRequestTest.java | 8 +- .../operations/stacks/DefaultStacksTest.java | 68 +- .../stacks/GetStackRequestTest.java | 8 +- .../useradmin/CreateUserRequestTest.java | 22 +- .../useradmin/DefaultUserAdminTest.java | 1714 ++-- .../useradmin/DeleteUserRequestTest.java | 8 +- .../ListOrganizationUsersRequestTest.java | 8 +- .../useradmin/ListSpaceUsersRequestTest.java | 15 +- .../SetOrganizationRoleRequestTest.java | 27 +- .../useradmin/SetSpaceRoleRequestTest.java | 44 +- .../UnsetOrganizationRoleRequestTest.java | 27 +- .../useradmin/UnsetSpaceRoleRequestTest.java | 44 +- .../org/cloudfoundry/util/ByteArrayPool.java | 32 +- .../java/org/cloudfoundry/util/DateUtils.java | 11 +- .../util/DelayTimeoutException.java | 1 - .../org/cloudfoundry/util/DelayUtils.java | 55 +- .../org/cloudfoundry/util/ExceptionUtils.java | 19 +- .../java/org/cloudfoundry/util/FileUtils.java | 190 +- .../java/org/cloudfoundry/util/FluentMap.java | 2 - .../java/org/cloudfoundry/util/JobUtils.java | 87 +- .../cloudfoundry/util/LastOperationUtils.java | 33 +- .../org/cloudfoundry/util/OperationUtils.java | 30 +- .../cloudfoundry/util/PaginationUtils.java | 81 +- .../util/ResourceMatchingUtils.java | 121 +- .../util/ResourceMatchingUtilsV3.java | 138 +- .../org/cloudfoundry/util/ResourceUtils.java | 7 +- .../java/org/cloudfoundry/util/SizeUtils.java | 1 - .../org/cloudfoundry/util/SortingUtils.java | 60 +- .../java/org/cloudfoundry/util/TimeUtils.java | 4 +- .../org/cloudfoundry/util/package-info.java | 1 - .../cloudfoundry/util/tuple/Consumer2.java | 1 - .../cloudfoundry/util/tuple/Consumer3.java | 1 - .../cloudfoundry/util/tuple/Consumer4.java | 1 - .../cloudfoundry/util/tuple/Consumer5.java | 1 - .../cloudfoundry/util/tuple/Consumer6.java | 1 - .../cloudfoundry/util/tuple/Consumer7.java | 1 - .../cloudfoundry/util/tuple/Consumer8.java | 1 - .../cloudfoundry/util/tuple/Function2.java | 1 - .../cloudfoundry/util/tuple/Function3.java | 1 - .../cloudfoundry/util/tuple/Function4.java | 1 - .../cloudfoundry/util/tuple/Function5.java | 1 - .../cloudfoundry/util/tuple/Function6.java | 1 - .../cloudfoundry/util/tuple/Function7.java | 1 - .../cloudfoundry/util/tuple/Function8.java | 1 - .../cloudfoundry/util/tuple/Predicate2.java | 1 - .../cloudfoundry/util/tuple/Predicate3.java | 1 - .../cloudfoundry/util/tuple/Predicate4.java | 1 - .../cloudfoundry/util/tuple/Predicate5.java | 1 - .../cloudfoundry/util/tuple/Predicate6.java | 1 - .../cloudfoundry/util/tuple/Predicate7.java | 1 - .../cloudfoundry/util/tuple/Predicate8.java | 1 - .../cloudfoundry/util/tuple/TupleUtils.java | 173 +- .../org/cloudfoundry/util/DelayUtilsTest.java | 106 +- .../util/PaginationUtilsTest.java | 276 +- .../util/tuple/TupleUtilsTest.java | 445 +- 1151 files changed, 61642 insertions(+), 45425 deletions(-) diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/AbstractPayloadCachingRootProvider.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/AbstractPayloadCachingRootProvider.java index 4d9aa3ace0..e185a80ab7 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/AbstractPayloadCachingRootProvider.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/AbstractPayloadCachingRootProvider.java @@ -17,30 +17,33 @@ package org.cloudfoundry.reactor; import com.fasterxml.jackson.databind.ObjectMapper; -import org.springframework.web.util.UriComponents; -import org.springframework.web.util.UriComponentsBuilder; -import reactor.core.publisher.Mono; - import java.util.Map; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; +import org.springframework.web.util.UriComponents; +import org.springframework.web.util.UriComponentsBuilder; +import reactor.core.publisher.Mono; abstract class AbstractPayloadCachingRootProvider extends AbstractRootProvider { - private final ConcurrentMap>> payloads = new ConcurrentHashMap<>(1); + private final ConcurrentMap>> payloads = + new ConcurrentHashMap<>(1); protected abstract Mono> doGetPayload(ConnectionContext connectionContext); @Override protected final Mono doGetRoot(String key, ConnectionContext connectionContext) { - return this.payloads.computeIfAbsent(connectionContext, this::getPayload) - .map(payload -> { - if (!payload.containsKey(key)) { - throw new IllegalArgumentException(String.format("Payload does not contain key '%s;", key)); - } - - return normalize(UriComponentsBuilder.fromUriString(payload.get(key))); - }); + return this.payloads + .computeIfAbsent(connectionContext, this::getPayload) + .map( + payload -> { + if (!payload.containsKey(key)) { + throw new IllegalArgumentException( + String.format("Payload does not contain key '%s;", key)); + } + + return normalize(UriComponentsBuilder.fromUriString(payload.get(key))); + }); } abstract ObjectMapper getObjectMapper(); @@ -48,9 +51,6 @@ protected final Mono doGetRoot(String key, ConnectionContext conn private Mono> getPayload(ConnectionContext connectionContext) { Mono> cached = doGetPayload(connectionContext); - return connectionContext.getCacheDuration() - .map(cached::cache) - .orElseGet(cached::cache); + return connectionContext.getCacheDuration().map(cached::cache).orElseGet(cached::cache); } - } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/AbstractRootProvider.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/AbstractRootProvider.java index 37032d6e46..d718cd3f05 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/AbstractRootProvider.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/AbstractRootProvider.java @@ -17,6 +17,9 @@ package org.cloudfoundry.reactor; import io.netty.handler.codec.http.HttpHeaders; +import java.util.Optional; +import java.util.regex.Matcher; +import java.util.regex.Pattern; import org.cloudfoundry.reactor.util.JsonCodec; import org.cloudfoundry.reactor.util.Operator; import org.cloudfoundry.reactor.util.OperatorContext; @@ -27,10 +30,6 @@ import reactor.core.publisher.Mono; import reactor.netty.http.client.HttpClient; -import java.util.Optional; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - /** * An abstract implementation of {@link RootProvider} that ensures that returned values are trusted (if configured) and cached. */ @@ -47,16 +46,20 @@ public final void checkForValidApiHost() { Matcher matcher = HOSTNAME_PATTERN.matcher(getApiHost()); if (!matcher.matches()) { - throw new IllegalArgumentException(String.format("API hostname %s is not correctly formatted (e.g. 'api.local.pcfdev.io')", getApiHost())); + throw new IllegalArgumentException( + String.format( + "API hostname %s is not correctly formatted (e.g." + + " 'api.local.pcfdev.io')", + getApiHost())); } } public Mono createOperator(ConnectionContext connectionContext) { HttpClient httpClient = connectionContext.getHttpClient(); return getRoot(connectionContext) - .map(root -> OperatorContext.of(connectionContext, root)) - .map(operatorContext -> new Operator(operatorContext, httpClient)) - .map(operator -> operator.headers(this::addHeaders)); + .map(root -> OperatorContext.of(connectionContext, root)) + .map(operatorContext -> new Operator(operatorContext, httpClient)) + .map(operator -> operator.headers(this::addHeaders)); } /** @@ -66,32 +69,32 @@ public Mono createOperator(ConnectionContext connectionContext) { @Override public final Mono getRoot(String key, ConnectionContext connectionContext) { - Mono cached = doGetRoot(key, connectionContext) - .delayUntil(uri -> trust(uri.getHost(), uri.getPort(), connectionContext)) - .map(UriComponents::toUriString); + Mono cached = + doGetRoot(key, connectionContext) + .delayUntil(uri -> trust(uri.getHost(), uri.getPort(), connectionContext)) + .map(UriComponents::toUriString); - return connectionContext.getCacheDuration() - .map(cached::cache) - .orElseGet(cached::cache); + return connectionContext.getCacheDuration().map(cached::cache).orElseGet(cached::cache); } @Override public final Mono getRoot(ConnectionContext connectionContext) { - Mono cached = doGetRoot(connectionContext) - .delayUntil(uri -> trust(uri.getHost(), uri.getPort(), connectionContext)) - .map(UriComponents::toUriString); + Mono cached = + doGetRoot(connectionContext) + .delayUntil(uri -> trust(uri.getHost(), uri.getPort(), connectionContext)) + .map(UriComponents::toUriString); - return connectionContext.getCacheDuration() - .map(cached::cache) - .orElseGet(cached::cache); + return connectionContext.getCacheDuration().map(cached::cache).orElseGet(cached::cache); } protected abstract Mono doGetRoot(ConnectionContext connectionContext); - protected abstract Mono doGetRoot(String key, ConnectionContext connectionContext); + protected abstract Mono doGetRoot( + String key, ConnectionContext connectionContext); protected final UriComponents getRoot() { - UriComponentsBuilder builder = UriComponentsBuilder.newInstance().scheme("https").host(getApiHost()); + UriComponentsBuilder builder = + UriComponentsBuilder.newInstance().scheme("https").host(getApiHost()); getPort().ifPresent(builder::port); return normalize(builder); @@ -135,5 +138,4 @@ private String getScheme() { private Mono trust(String host, int port, ConnectionContext connectionContext) { return connectionContext.trust(host, port); } - } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/ConnectionContext.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/ConnectionContext.java index 1018a73617..4c90f669f7 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/ConnectionContext.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/ConnectionContext.java @@ -17,11 +17,10 @@ package org.cloudfoundry.reactor; import com.fasterxml.jackson.databind.ObjectMapper; -import reactor.core.publisher.Mono; -import reactor.netty.http.client.HttpClient; - import java.time.Duration; import java.util.Optional; +import reactor.core.publisher.Mono; +import reactor.netty.http.client.HttpClient; /** * Common, reusable, connection context @@ -60,5 +59,4 @@ public interface ConnectionContext { * @param port the port of the endpoint to trust */ Mono trust(String host, int port); - } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/RootProvider.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/RootProvider.java index fa8168bc0f..05ce06ad3c 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/RootProvider.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/RootProvider.java @@ -39,5 +39,4 @@ public interface RootProvider { * @return the normalized API root */ Mono getRoot(String key, ConnectionContext connectionContext); - } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/TokenProvider.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/TokenProvider.java index efb6ddbe21..33611cd573 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/TokenProvider.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/TokenProvider.java @@ -37,7 +37,5 @@ public interface TokenProvider { * * @param connectionContext A {@link ConnectionContext} to be used to identity which connection the tokens should be invalidated for */ - default void invalidate(ConnectionContext connectionContext) { - } - + default void invalidate(ConnectionContext connectionContext) {} } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/CloudFoundryClientCompatibilityChecker.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/CloudFoundryClientCompatibilityChecker.java index 75bb0d9ee5..e2aa39459b 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/CloudFoundryClientCompatibilityChecker.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/CloudFoundryClientCompatibilityChecker.java @@ -16,6 +16,8 @@ package org.cloudfoundry.reactor.client; +import static org.cloudfoundry.util.tuple.TupleUtils.consumer; + import com.github.zafarkhaja.semver.Version; import org.cloudfoundry.client.CloudFoundryClient; import org.cloudfoundry.client.v2.info.GetInfoRequest; @@ -24,8 +26,6 @@ import org.slf4j.LoggerFactory; import reactor.core.publisher.Mono; -import static org.cloudfoundry.util.tuple.TupleUtils.consumer; - final class CloudFoundryClientCompatibilityChecker { private final Logger logger = LoggerFactory.getLogger("cloudfoundry-client.compatibility"); @@ -38,15 +38,23 @@ final class CloudFoundryClientCompatibilityChecker { void check() { this.info - .get(GetInfoRequest.builder() - .build()) - .map(response -> Version.valueOf(response.getApiVersion())) - .zipWith(Mono.just(Version.valueOf(CloudFoundryClient.SUPPORTED_API_VERSION))) - .subscribe(consumer((server, supported) -> logCompatibility(server, supported, this.logger)), t -> this.logger.error("An error occurred while checking version compatibility:", t)); + .get(GetInfoRequest.builder().build()) + .map(response -> Version.valueOf(response.getApiVersion())) + .zipWith(Mono.just(Version.valueOf(CloudFoundryClient.SUPPORTED_API_VERSION))) + .subscribe( + consumer( + (server, supported) -> + logCompatibility(server, supported, this.logger)), + t -> + this.logger.error( + "An error occurred while checking version compatibility:", + t)); } private static void logCompatibility(Version server, Version supported, Logger logger) { - String message = "Client supports API version {} and is connected to server with API version {}. Things may not work as expected."; + String message = + "Client supports API version {} and is connected to server with API version {}." + + " Things may not work as expected."; if (server.greaterThan(supported)) { logger.info(message, supported, server); @@ -54,5 +62,4 @@ private static void logCompatibility(Version server, Version supported, Logger l logger.warn(message, supported, server); } } - } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/MethodNameComparator.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/MethodNameComparator.java index c1947e2b9d..61b41807ae 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/MethodNameComparator.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/MethodNameComparator.java @@ -23,12 +23,10 @@ public final class MethodNameComparator implements Comparator { public static final MethodNameComparator INSTANCE = new MethodNameComparator(); - private MethodNameComparator() { - } + private MethodNameComparator() {} @Override public int compare(Method a, Method b) { return a.getName().compareTo(b.getName()); } - } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/QueryBuilder.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/QueryBuilder.java index 4ae3b5c74a..334184fe0f 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/QueryBuilder.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/QueryBuilder.java @@ -16,17 +16,16 @@ package org.cloudfoundry.reactor.client; +import java.util.Collection; +import java.util.Objects; +import java.util.stream.Collectors; +import java.util.stream.Stream; import org.cloudfoundry.QueryParameter; import org.cloudfoundry.reactor.util.AnnotationUtils; import org.cloudfoundry.reactor.util.AnnotationUtils.AnnotatedValue; import org.cloudfoundry.reactor.util.UriQueryParameter; import org.cloudfoundry.reactor.util.UriQueryParameterBuilder; -import java.util.Collection; -import java.util.Objects; -import java.util.stream.Collectors; -import java.util.stream.Stream; - /** * A builder for Cloud Foundry queries */ @@ -34,15 +33,19 @@ public final class QueryBuilder implements UriQueryParameterBuilder { public Stream build(Object instance) { return AnnotationUtils.streamAnnotatedValues(instance, QueryParameter.class) - .map(QueryBuilder::processValue) - .filter(Objects::nonNull); + .map(QueryBuilder::processValue) + .filter(Objects::nonNull); } - private static UriQueryParameter processCollection(QueryParameter queryParameter, Object value) { - return processValue(queryParameter.value(), ((Collection) value).stream() - .map(Object::toString) - .map(String::trim) - .collect(Collectors.joining(queryParameter.delimiter()))); + private static UriQueryParameter processCollection( + QueryParameter queryParameter, Object value) { + return processValue( + queryParameter.value(), + ((Collection) value) + .stream() + .map(Object::toString) + .map(String::trim) + .collect(Collectors.joining(queryParameter.delimiter()))); } private static UriQueryParameter processValue(AnnotatedValue annotatedValue) { @@ -58,5 +61,4 @@ private static UriQueryParameter processValue(AnnotatedValue ann private static UriQueryParameter processValue(String name, String value) { return UriQueryParameter.of(name, value); } - } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/AbstractClientV2Operations.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/AbstractClientV2Operations.java index 14e38fd732..709e059ea3 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/AbstractClientV2Operations.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/AbstractClientV2Operations.java @@ -16,6 +16,11 @@ package org.cloudfoundry.reactor.client.v2; +import java.util.Map; +import java.util.function.BiConsumer; +import java.util.function.Consumer; +import java.util.function.Function; +import java.util.stream.Stream; import org.cloudfoundry.reactor.ConnectionContext; import org.cloudfoundry.reactor.TokenProvider; import org.cloudfoundry.reactor.client.QueryBuilder; @@ -34,15 +39,13 @@ import reactor.netty.http.client.HttpClientForm; import reactor.netty.http.client.HttpClientRequest; -import java.util.Map; -import java.util.function.BiConsumer; -import java.util.function.Consumer; -import java.util.function.Function; -import java.util.stream.Stream; - public abstract class AbstractClientV2Operations extends AbstractReactorOperations { - protected AbstractClientV2Operations(ConnectionContext connectionContext, Mono root, TokenProvider tokenProvider, Map requestTags) { + protected AbstractClientV2Operations( + ConnectionContext connectionContext, + Mono root, + TokenProvider tokenProvider, + Map requestTags) { super(connectionContext, root, tokenProvider, requestTags); } @@ -51,86 +54,139 @@ protected Mono createOperator() { return super.createOperator().map(this::attachErrorPayloadMapper); } - protected final Mono delete(Object requestPayload, Class responseType, Function uriTransformer) { + protected final Mono delete( + Object requestPayload, + Class responseType, + Function uriTransformer) { return createOperator() - .flatMap(operator -> operator.delete() - .uri(queryTransformer(requestPayload).andThen(uriTransformer)) - .send(requestPayload) - .response() - .parseBody(responseType)); + .flatMap( + operator -> + operator.delete() + .uri( + queryTransformer(requestPayload) + .andThen(uriTransformer)) + .send(requestPayload) + .response() + .parseBody(responseType)); } - protected final Flux get(Object requestPayload, Function uriTransformer, Function> bodyTransformer) { + protected final Flux get( + Object requestPayload, + Function uriTransformer, + Function> bodyTransformer) { return createOperator() - .flatMapMany(operator -> operator.followRedirects() - .get() - .uri(queryTransformer(requestPayload).andThen(uriTransformer)) - .response() - .parseBodyToFlux(responseWithBody -> bodyTransformer.apply(responseWithBody.getBody()))); + .flatMapMany( + operator -> + operator.followRedirects() + .get() + .uri( + queryTransformer(requestPayload) + .andThen(uriTransformer)) + .response() + .parseBodyToFlux( + responseWithBody -> + bodyTransformer.apply( + responseWithBody.getBody()))); } - protected final Mono get(Object requestPayload, Class responseType, Function uriTransformer) { + protected final Mono get( + Object requestPayload, + Class responseType, + Function uriTransformer) { return createOperator() - .flatMap(operator -> operator.get() - .uri(queryTransformer(requestPayload).andThen(uriTransformer)) - .response() - .parseBody(responseType)); + .flatMap( + operator -> + operator.get() + .uri( + queryTransformer(requestPayload) + .andThen(uriTransformer)) + .response() + .parseBody(responseType)); } - protected final Mono post(Object requestPayload, Class responseType, Function uriTransformer) { + protected final Mono post( + Object requestPayload, + Class responseType, + Function uriTransformer) { return createOperator() - .flatMap(operator -> operator.post() - .uri(queryTransformer(requestPayload).andThen(uriTransformer)) - .send(requestPayload) - .response() - .parseBody(responseType)); + .flatMap( + operator -> + operator.post() + .uri( + queryTransformer(requestPayload) + .andThen(uriTransformer)) + .send(requestPayload) + .response() + .parseBody(responseType)); } - protected final Mono put(Object requestPayload, Class responseType, Function uriTransformer, - Consumer requestTransformer, Runnable onTerminate) { + protected final Mono put( + Object requestPayload, + Class responseType, + Function uriTransformer, + Consumer requestTransformer, + Runnable onTerminate) { return createOperator() - .flatMap(operator -> operator.put() - .uri(queryTransformer(requestPayload).andThen(uriTransformer)) - .sendForm(multipartRequest(requestTransformer)) - .response() - .parseBody(responseType)) - .doFinally(signalType -> onTerminate.run()); + .flatMap( + operator -> + operator.put() + .uri( + queryTransformer(requestPayload) + .andThen(uriTransformer)) + .sendForm(multipartRequest(requestTransformer)) + .response() + .parseBody(responseType)) + .doFinally(signalType -> onTerminate.run()); } - protected final Mono put(Object requestPayload, Class responseType, Function uriTransformer) { + protected final Mono put( + Object requestPayload, + Class responseType, + Function uriTransformer) { return createOperator() - .flatMap(operator -> operator.put() - .uri(queryTransformer(requestPayload).andThen(uriTransformer)) - .send(requestPayload) - .response() - .parseBody(responseType)); + .flatMap( + operator -> + operator.put() + .uri( + queryTransformer(requestPayload) + .andThen(uriTransformer)) + .send(requestPayload) + .response() + .parseBody(responseType)); } private Operator attachErrorPayloadMapper(Operator operator) { - return operator.withErrorPayloadMapper(ErrorPayloadMappers.clientV2(this.connectionContext.getObjectMapper())); + return operator.withErrorPayloadMapper( + ErrorPayloadMappers.clientV2(this.connectionContext.getObjectMapper())); } - private MultipartHttpClientRequest createMultipartRequest(HttpClientRequest request, HttpClientForm form) { - return new MultipartHttpClientRequest(this.connectionContext.getObjectMapper(), request, form); + private MultipartHttpClientRequest createMultipartRequest( + HttpClientRequest request, HttpClientForm form) { + return new MultipartHttpClientRequest( + this.connectionContext.getObjectMapper(), request, form); } private UriQueryParameterBuilder getUriQueryParameterBuilder() { - return DelegatingUriQueryParameterBuilder.builder().builders(new FilterBuilder(), new QueryBuilder()).build(); + return DelegatingUriQueryParameterBuilder.builder() + .builders(new FilterBuilder(), new QueryBuilder()) + .build(); } - private BiConsumer multipartRequest(Consumer requestTransformer) { + private BiConsumer multipartRequest( + Consumer requestTransformer) { return (request, form) -> { MultipartHttpClientRequest multipartRequest = createMultipartRequest(request, form); requestTransformer.accept(multipartRequest); }; } - private Function queryTransformer(Object requestPayload) { + private Function queryTransformer( + Object requestPayload) { return builder -> { - Stream parameters = getUriQueryParameterBuilder().build(requestPayload); + Stream parameters = + getUriQueryParameterBuilder().build(requestPayload); UriQueryParameters.set(builder, parameters); return builder; }; } - } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/FilterBuilder.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/FilterBuilder.java index 369d4231c6..bf6b3c4723 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/FilterBuilder.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/FilterBuilder.java @@ -16,17 +16,16 @@ package org.cloudfoundry.reactor.client.v2; -import org.cloudfoundry.client.v2.FilterParameter; -import org.cloudfoundry.reactor.util.AnnotationUtils; -import org.cloudfoundry.reactor.util.AnnotationUtils.AnnotatedValue; -import org.cloudfoundry.reactor.util.UriQueryParameter; -import org.cloudfoundry.reactor.util.UriQueryParameterBuilder; - import java.util.Collection; import java.util.List; import java.util.Objects; import java.util.stream.Collectors; import java.util.stream.Stream; +import org.cloudfoundry.client.v2.FilterParameter; +import org.cloudfoundry.reactor.util.AnnotationUtils; +import org.cloudfoundry.reactor.util.AnnotationUtils.AnnotatedValue; +import org.cloudfoundry.reactor.util.UriQueryParameter; +import org.cloudfoundry.reactor.util.UriQueryParameterBuilder; /** * A builder for Cloud Foundry V2 filters @@ -35,20 +34,25 @@ final class FilterBuilder implements UriQueryParameterBuilder { public Stream build(Object instance) { return AnnotationUtils.streamAnnotatedValues(instance, FilterParameter.class) - .map(FilterBuilder::processValue) - .filter(Objects::nonNull); + .map(FilterBuilder::processValue) + .filter(Objects::nonNull); } - private static UriQueryParameter processCollection(FilterParameter filterParameter, Object value) { - List collection = ((Collection) value).stream() - .map(Object::toString) - .map(String::trim) - .collect(Collectors.toList()); + private static UriQueryParameter processCollection( + FilterParameter filterParameter, Object value) { + List collection = + ((Collection) value) + .stream() + .map(Object::toString) + .map(String::trim) + .collect(Collectors.toList()); if (collection.size() == 1) { - return processValue(filterParameter.value(), filterParameter.operation(), collection.get(0)); + return processValue( + filterParameter.value(), filterParameter.operation(), collection.get(0)); } else if (collection.size() > 1) { - return processValue(filterParameter.value(), filterParameter.collectionOperation(), collection); + return processValue( + filterParameter.value(), filterParameter.collectionOperation(), collection); } else { return null; } @@ -60,12 +64,13 @@ private static UriQueryParameter processValue(AnnotatedValue an if (value instanceof Collection) { return processCollection(filterParameter, value); } else { - return processValue(filterParameter.value(), filterParameter.operation(), value.toString() - .trim()); + return processValue( + filterParameter.value(), filterParameter.operation(), value.toString().trim()); } } - private static UriQueryParameter processValue(String name, FilterParameter.Operation operation, Collection collection) { + private static UriQueryParameter processValue( + String name, FilterParameter.Operation operation, Collection collection) { String value = String.join(",", collection); if (!value.isEmpty()) { return processValue(name, operation, value); @@ -73,8 +78,8 @@ private static UriQueryParameter processValue(String name, FilterParameter.Opera return null; } - private static UriQueryParameter processValue(String name, FilterParameter.Operation operation, String value) { + private static UriQueryParameter processValue( + String name, FilterParameter.Operation operation, String value) { return UriQueryParameter.of("q", String.format("%s%s%s", name, operation, value)); } - } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/applications/ReactorApplicationsV2.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/applications/ReactorApplicationsV2.java index 2cc96194d0..0e87bba174 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/applications/ReactorApplicationsV2.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/applications/ReactorApplicationsV2.java @@ -16,6 +16,12 @@ package org.cloudfoundry.reactor.client.v2.applications; +import static io.netty.handler.codec.http.HttpHeaderValues.APPLICATION_JSON; + +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.util.Map; import org.cloudfoundry.client.v2.applications.ApplicationEnvironmentRequest; import org.cloudfoundry.client.v2.applications.ApplicationEnvironmentResponse; import org.cloudfoundry.client.v2.applications.ApplicationInstancesRequest; @@ -65,17 +71,11 @@ import reactor.core.publisher.Mono; import reactor.netty.ByteBufFlux; -import java.io.IOException; -import java.nio.file.Files; -import java.nio.file.Path; -import java.util.Map; - -import static io.netty.handler.codec.http.HttpHeaderValues.APPLICATION_JSON; - /** * The Reactor-based implementation of {@link ApplicationsV2} */ -public final class ReactorApplicationsV2 extends AbstractClientV2Operations implements ApplicationsV2 { +public final class ReactorApplicationsV2 extends AbstractClientV2Operations + implements ApplicationsV2 { /** * Creates an instance @@ -85,128 +85,226 @@ public final class ReactorApplicationsV2 extends AbstractClientV2Operations impl * @param tokenProvider the {@link TokenProvider} to use when communicating with the server * @param requestTags map with custom http headers which will be added to web request */ - public ReactorApplicationsV2(ConnectionContext connectionContext, Mono root, TokenProvider tokenProvider, Map requestTags) { + public ReactorApplicationsV2( + ConnectionContext connectionContext, + Mono root, + TokenProvider tokenProvider, + Map requestTags) { super(connectionContext, root, tokenProvider, requestTags); } @Override - public Mono associateRoute(AssociateApplicationRouteRequest request) { - return put(request, AssociateApplicationRouteResponse.class, builder -> builder.pathSegment("apps", request.getApplicationId(), "routes", request.getRouteId())) - .checkpoint(); + public Mono associateRoute( + AssociateApplicationRouteRequest request) { + return put( + request, + AssociateApplicationRouteResponse.class, + builder -> + builder.pathSegment( + "apps", + request.getApplicationId(), + "routes", + request.getRouteId())) + .checkpoint(); } @Override public Mono copy(CopyApplicationRequest request) { - return post(request, CopyApplicationResponse.class, builder -> builder.pathSegment("apps", request.getApplicationId(), "copy_bits")) - .checkpoint(); + return post( + request, + CopyApplicationResponse.class, + builder -> + builder.pathSegment( + "apps", request.getApplicationId(), "copy_bits")) + .checkpoint(); } @Override public Mono create(CreateApplicationRequest request) { - return post(request, CreateApplicationResponse.class, builder -> builder.pathSegment("apps")) - .checkpoint(); + return post( + request, + CreateApplicationResponse.class, + builder -> builder.pathSegment("apps")) + .checkpoint(); } @Override public Mono delete(DeleteApplicationRequest request) { - return delete(request, Void.class, builder -> builder.pathSegment("apps", request.getApplicationId())) - .checkpoint(); + return delete( + request, + Void.class, + builder -> builder.pathSegment("apps", request.getApplicationId())) + .checkpoint(); } @Override public Flux download(DownloadApplicationRequest request) { - return get(request, builder -> builder.pathSegment("apps", request.getApplicationId(), "download"), ByteBufFlux::asByteArray) - .checkpoint(); + return get( + request, + builder -> + builder.pathSegment("apps", request.getApplicationId(), "download"), + ByteBufFlux::asByteArray) + .checkpoint(); } @Override public Flux downloadDroplet(DownloadApplicationDropletRequest request) { - return get(request, builder -> builder.pathSegment("apps", request.getApplicationId(), "droplet", "download"), ByteBufFlux::asByteArray) - .checkpoint(); + return get( + request, + builder -> + builder.pathSegment( + "apps", request.getApplicationId(), "droplet", "download"), + ByteBufFlux::asByteArray) + .checkpoint(); } @Override public Mono environment(ApplicationEnvironmentRequest request) { - return get(request, ApplicationEnvironmentResponse.class, builder -> builder.pathSegment("apps", request.getApplicationId(), "env")) - .checkpoint(); + return get( + request, + ApplicationEnvironmentResponse.class, + builder -> builder.pathSegment("apps", request.getApplicationId(), "env")) + .checkpoint(); } @Override public Mono get(GetApplicationRequest request) { - return get(request, GetApplicationResponse.class, builder -> builder.pathSegment("apps", request.getApplicationId())) - .checkpoint(); + return get( + request, + GetApplicationResponse.class, + builder -> builder.pathSegment("apps", request.getApplicationId())) + .checkpoint(); } @Override - public Mono getPermissions(GetApplicationPermissionsRequest request) { - return get(request, GetApplicationPermissionsResponse.class, builder -> builder.pathSegment("apps", request.getApplicationId(), "permissions")) - .checkpoint(); + public Mono getPermissions( + GetApplicationPermissionsRequest request) { + return get( + request, + GetApplicationPermissionsResponse.class, + builder -> + builder.pathSegment( + "apps", request.getApplicationId(), "permissions")) + .checkpoint(); } @Override public Mono instances(ApplicationInstancesRequest request) { - return get(request, ApplicationInstancesResponse.class, builder -> builder.pathSegment("apps", request.getApplicationId(), "instances")) - .checkpoint(); + return get( + request, + ApplicationInstancesResponse.class, + builder -> + builder.pathSegment( + "apps", request.getApplicationId(), "instances")) + .checkpoint(); } @Override public Mono list(ListApplicationsRequest request) { return get(request, ListApplicationsResponse.class, builder -> builder.pathSegment("apps")) - .checkpoint(); + .checkpoint(); } @Override public Mono listRoutes(ListApplicationRoutesRequest request) { - return get(request, ListApplicationRoutesResponse.class, builder -> builder.pathSegment("apps", request.getApplicationId(), "routes")) - .checkpoint(); + return get( + request, + ListApplicationRoutesResponse.class, + builder -> + builder.pathSegment("apps", request.getApplicationId(), "routes")) + .checkpoint(); } @Override - public Mono listServiceBindings(ListApplicationServiceBindingsRequest request) { - return get(request, ListApplicationServiceBindingsResponse.class, builder -> builder.pathSegment("apps", request.getApplicationId(), "service_bindings")) - .checkpoint(); + public Mono listServiceBindings( + ListApplicationServiceBindingsRequest request) { + return get( + request, + ListApplicationServiceBindingsResponse.class, + builder -> + builder.pathSegment( + "apps", request.getApplicationId(), "service_bindings")) + .checkpoint(); } @Override public Mono removeRoute(RemoveApplicationRouteRequest request) { - return delete(request, Void.class, builder -> builder.pathSegment("apps", request.getApplicationId(), "routes", request.getRouteId())) - .checkpoint(); + return delete( + request, + Void.class, + builder -> + builder.pathSegment( + "apps", + request.getApplicationId(), + "routes", + request.getRouteId())) + .checkpoint(); } @Override public Mono removeServiceBinding(RemoveApplicationServiceBindingRequest request) { - return delete(request, Void.class, builder -> builder.pathSegment("apps", request.getApplicationId(), "service_bindings", request.getServiceBindingId())) - .checkpoint(); + return delete( + request, + Void.class, + builder -> + builder.pathSegment( + "apps", + request.getApplicationId(), + "service_bindings", + request.getServiceBindingId())) + .checkpoint(); } @Override public Mono restage(RestageApplicationRequest request) { - return post(request, RestageApplicationResponse.class, builder -> builder.pathSegment("apps", request.getApplicationId(), "restage")) - .checkpoint(); + return post( + request, + RestageApplicationResponse.class, + builder -> + builder.pathSegment("apps", request.getApplicationId(), "restage")) + .checkpoint(); } @Override public Mono statistics(ApplicationStatisticsRequest request) { - return get(request, ApplicationStatisticsResponse.class, builder -> builder.pathSegment("apps", request.getApplicationId(), "stats")) - .checkpoint(); + return get( + request, + ApplicationStatisticsResponse.class, + builder -> builder.pathSegment("apps", request.getApplicationId(), "stats")) + .checkpoint(); } @Override public Mono summary(SummaryApplicationRequest request) { - return get(request, SummaryApplicationResponse.class, builder -> builder.pathSegment("apps", request.getApplicationId(), "summary")) - .checkpoint(); + return get( + request, + SummaryApplicationResponse.class, + builder -> + builder.pathSegment("apps", request.getApplicationId(), "summary")) + .checkpoint(); } @Override public Mono terminateInstance(TerminateApplicationInstanceRequest request) { - return delete(request, Void.class, builder -> builder.pathSegment("apps", request.getApplicationId(), "instances", request.getIndex())) - .checkpoint(); + return delete( + request, + Void.class, + builder -> + builder.pathSegment( + "apps", + request.getApplicationId(), + "instances", + request.getIndex())) + .checkpoint(); } @Override public Mono update(UpdateApplicationRequest request) { - return put(request, UpdateApplicationResponse.class, builder -> builder.pathSegment("apps", request.getApplicationId())) - .checkpoint(); + return put( + request, + UpdateApplicationResponse.class, + builder -> builder.pathSegment("apps", request.getApplicationId())) + .checkpoint(); } @Override @@ -215,50 +313,78 @@ public Mono upload(UploadApplicationRequest request) if (application.toFile().isDirectory()) { return FileUtils.compress(application) - .map(temporaryFile -> UploadApplicationRequest.builder() - .from(request) - .application(temporaryFile) - .build()) - .flatMap(requestWithTemporaryFile -> upload(requestWithTemporaryFile, () -> { - try { - Files.delete(requestWithTemporaryFile.getApplication()); - } catch (IOException e) { - throw Exceptions.propagate(e); - } - })); + .map( + temporaryFile -> + UploadApplicationRequest.builder() + .from(request) + .application(temporaryFile) + .build()) + .flatMap( + requestWithTemporaryFile -> + upload( + requestWithTemporaryFile, + () -> { + try { + Files.delete( + requestWithTemporaryFile + .getApplication()); + } catch (IOException e) { + throw Exceptions.propagate(e); + } + })); } else { - return upload(request, () -> { - }); + return upload(request, () -> {}); } } @Override - public Mono uploadDroplet(UploadApplicationDropletRequest request) { - return put(request, UploadApplicationDropletResponse.class, - builder -> builder.pathSegment("apps", request.getApplicationId(), "droplet", "upload"), - multipartRequest -> upload(multipartRequest, request), () -> { - }).checkpoint(); + public Mono uploadDroplet( + UploadApplicationDropletRequest request) { + return put( + request, + UploadApplicationDropletResponse.class, + builder -> + builder.pathSegment( + "apps", request.getApplicationId(), "droplet", "upload"), + multipartRequest -> upload(multipartRequest, request), + () -> {}) + .checkpoint(); } - private Mono upload(UploadApplicationRequest request, Runnable onTerminate) { - return put(request, UploadApplicationResponse.class, builder -> builder.pathSegment("apps", request.getApplicationId(), "bits"), - multipartRequest -> upload(request.getApplication(), multipartRequest, request), onTerminate).checkpoint(); + private Mono upload( + UploadApplicationRequest request, Runnable onTerminate) { + return put( + request, + UploadApplicationResponse.class, + builder -> builder.pathSegment("apps", request.getApplicationId(), "bits"), + multipartRequest -> + upload(request.getApplication(), multipartRequest, request), + onTerminate) + .checkpoint(); } - private void upload(Path application, MultipartHttpClientRequest multipartRequest, UploadApplicationRequest request) { - multipartRequest.addPart(part -> part.setName("resources") - .setContentType(APPLICATION_JSON.toString()) - .send(request.getResources())) - .addPart(part -> part.setName("application") - .setContentType(APPLICATION_ZIP) - .sendFile(application)) - .done(); + private void upload( + Path application, + MultipartHttpClientRequest multipartRequest, + UploadApplicationRequest request) { + multipartRequest + .addPart( + part -> + part.setName("resources") + .setContentType(APPLICATION_JSON.toString()) + .send(request.getResources())) + .addPart( + part -> + part.setName("application") + .setContentType(APPLICATION_ZIP) + .sendFile(application)) + .done(); } - private void upload(MultipartHttpClientRequest multipartRequest, UploadApplicationDropletRequest request) { - multipartRequest.addPart(part -> part.setName("droplet") - .sendFile(request.getDroplet())) - .done(); + private void upload( + MultipartHttpClientRequest multipartRequest, UploadApplicationDropletRequest request) { + multipartRequest + .addPart(part -> part.setName("droplet").sendFile(request.getDroplet())) + .done(); } - } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/applicationusageevents/ReactorApplicationUsageEvents.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/applicationusageevents/ReactorApplicationUsageEvents.java index 47d7ead8eb..f038648ad7 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/applicationusageevents/ReactorApplicationUsageEvents.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/applicationusageevents/ReactorApplicationUsageEvents.java @@ -16,6 +16,7 @@ package org.cloudfoundry.reactor.client.v2.applicationusageevents; +import java.util.Map; import org.cloudfoundry.client.v2.applicationusageevents.ApplicationUsageEvents; import org.cloudfoundry.client.v2.applicationusageevents.GetApplicationUsageEventRequest; import org.cloudfoundry.client.v2.applicationusageevents.GetApplicationUsageEventResponse; @@ -27,12 +28,11 @@ import org.cloudfoundry.reactor.client.v2.AbstractClientV2Operations; import reactor.core.publisher.Mono; -import java.util.Map; - /** * The Reactor-based implementation of {@link ApplicationUsageEvents} */ -public final class ReactorApplicationUsageEvents extends AbstractClientV2Operations implements ApplicationUsageEvents { +public final class ReactorApplicationUsageEvents extends AbstractClientV2Operations + implements ApplicationUsageEvents { /** * Creates an instance @@ -42,26 +42,44 @@ public final class ReactorApplicationUsageEvents extends AbstractClientV2Operati * @param tokenProvider the {@link TokenProvider} to use when communicating with the server * @param requestTags map with custom http headers which will be added to web request */ - public ReactorApplicationUsageEvents(ConnectionContext connectionContext, Mono root, TokenProvider tokenProvider, Map requestTags) { + public ReactorApplicationUsageEvents( + ConnectionContext connectionContext, + Mono root, + TokenProvider tokenProvider, + Map requestTags) { super(connectionContext, root, tokenProvider, requestTags); } @Override public Mono get(GetApplicationUsageEventRequest request) { - return get(request, GetApplicationUsageEventResponse.class, builder -> builder.pathSegment("app_usage_events", request.getApplicationUsageEventId())) - .checkpoint(); + return get( + request, + GetApplicationUsageEventResponse.class, + builder -> + builder.pathSegment( + "app_usage_events", request.getApplicationUsageEventId())) + .checkpoint(); } @Override - public Mono list(ListApplicationUsageEventsRequest request) { - return get(request, ListApplicationUsageEventsResponse.class, builder -> builder.pathSegment("app_usage_events")) - .checkpoint(); + public Mono list( + ListApplicationUsageEventsRequest request) { + return get( + request, + ListApplicationUsageEventsResponse.class, + builder -> builder.pathSegment("app_usage_events")) + .checkpoint(); } @Override public Mono purgeAndReseed(PurgeAndReseedApplicationUsageEventsRequest request) { - return post(request, Void.class, builder -> builder.pathSegment("app_usage_events", "destructively_purge_all_and_reseed_started_apps")) - .checkpoint(); + return post( + request, + Void.class, + builder -> + builder.pathSegment( + "app_usage_events", + "destructively_purge_all_and_reseed_started_apps")) + .checkpoint(); } - } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/blobstores/ReactorBlobstores.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/blobstores/ReactorBlobstores.java index 925882c336..7432b10483 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/blobstores/ReactorBlobstores.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/blobstores/ReactorBlobstores.java @@ -16,6 +16,7 @@ package org.cloudfoundry.reactor.client.v2.blobstores; +import java.util.Map; import org.cloudfoundry.client.v2.blobstores.Blobstores; import org.cloudfoundry.client.v2.blobstores.DeleteBlobstoreBuildpackCachesRequest; import org.cloudfoundry.client.v2.blobstores.DeleteBlobstoreBuildpackCachesResponse; @@ -24,8 +25,6 @@ import org.cloudfoundry.reactor.client.v2.AbstractClientV2Operations; import reactor.core.publisher.Mono; -import java.util.Map; - /** * The Reactor-based implementation of {@link Blobstores} */ @@ -39,14 +38,21 @@ public final class ReactorBlobstores extends AbstractClientV2Operations implemen * @param tokenProvider the {@link TokenProvider} to use when communicating with the server * @param requestTags map with custom http headers which will be added to web request */ - public ReactorBlobstores(ConnectionContext connectionContext, Mono root, TokenProvider tokenProvider, Map requestTags) { + public ReactorBlobstores( + ConnectionContext connectionContext, + Mono root, + TokenProvider tokenProvider, + Map requestTags) { super(connectionContext, root, tokenProvider, requestTags); } @Override - public Mono deleteBuildpackCaches(DeleteBlobstoreBuildpackCachesRequest request) { - return delete(request, DeleteBlobstoreBuildpackCachesResponse.class, builder -> builder.pathSegment("blobstores", "buildpack_cache")) - .checkpoint(); + public Mono deleteBuildpackCaches( + DeleteBlobstoreBuildpackCachesRequest request) { + return delete( + request, + DeleteBlobstoreBuildpackCachesResponse.class, + builder -> builder.pathSegment("blobstores", "buildpack_cache")) + .checkpoint(); } - } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/buildpacks/ReactorBuildpacks.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/buildpacks/ReactorBuildpacks.java index f07452f254..9fdfef27b3 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/buildpacks/ReactorBuildpacks.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/buildpacks/ReactorBuildpacks.java @@ -16,6 +16,10 @@ package org.cloudfoundry.reactor.client.v2.buildpacks; +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.util.Map; import org.cloudfoundry.client.v2.buildpacks.Buildpacks; import org.cloudfoundry.client.v2.buildpacks.CreateBuildpackRequest; import org.cloudfoundry.client.v2.buildpacks.CreateBuildpackResponse; @@ -37,11 +41,6 @@ import reactor.core.Exceptions; import reactor.core.publisher.Mono; -import java.io.IOException; -import java.nio.file.Files; -import java.nio.file.Path; -import java.util.Map; - /** * The Reactor-based implementation of {@link Buildpacks} */ @@ -55,38 +54,57 @@ public final class ReactorBuildpacks extends AbstractClientV2Operations implemen * @param tokenProvider the {@link TokenProvider} to use when communicating with the server * @param requestTags map with custom http headers which will be added to web request */ - public ReactorBuildpacks(ConnectionContext connectionContext, Mono root, TokenProvider tokenProvider, Map requestTags) { + public ReactorBuildpacks( + ConnectionContext connectionContext, + Mono root, + TokenProvider tokenProvider, + Map requestTags) { super(connectionContext, root, tokenProvider, requestTags); } @Override public Mono create(CreateBuildpackRequest request) { - return post(request, CreateBuildpackResponse.class, builder -> builder.pathSegment("buildpacks")) - .checkpoint(); + return post( + request, + CreateBuildpackResponse.class, + builder -> builder.pathSegment("buildpacks")) + .checkpoint(); } @Override public Mono delete(DeleteBuildpackRequest request) { - return delete(request, DeleteBuildpackResponse.class, builder -> builder.pathSegment("buildpacks", request.getBuildpackId())) - .checkpoint(); + return delete( + request, + DeleteBuildpackResponse.class, + builder -> builder.pathSegment("buildpacks", request.getBuildpackId())) + .checkpoint(); } @Override public Mono get(GetBuildpackRequest request) { - return get(request, GetBuildpackResponse.class, builder -> builder.pathSegment("buildpacks", request.getBuildpackId())) - .checkpoint(); + return get( + request, + GetBuildpackResponse.class, + builder -> builder.pathSegment("buildpacks", request.getBuildpackId())) + .checkpoint(); } @Override public Mono list(ListBuildpacksRequest request) { - return get(request, ListBuildpacksResponse.class, builder -> builder.pathSegment("buildpacks")) - .checkpoint(); + return get( + request, + ListBuildpacksResponse.class, + builder -> builder.pathSegment("buildpacks")) + .checkpoint(); } @Override public Mono update(UpdateBuildpackRequest request) { - return put(request, UpdateBuildpackResponse.class, builder -> builder.pathSegment("buildpacks", request.getBuildpackId())) - .checkpoint(); + return put( + request, + UpdateBuildpackResponse.class, + builder -> builder.pathSegment("buildpacks", request.getBuildpackId())) + .checkpoint(); } @Override @@ -95,35 +113,53 @@ public Mono upload(UploadBuildpackRequest request) { if (buildpack.toFile().isDirectory()) { return FileUtils.compress(buildpack) - .map(temporaryFile -> UploadBuildpackRequest.builder() - .from(request) - .buildpack(temporaryFile) - .build()) - .flatMap(requestWithTemporaryFile -> upload(requestWithTemporaryFile, request.getFilename() + ".zip", () -> { - try { - Files.delete(requestWithTemporaryFile.getBuildpack()); - } catch (IOException e) { - throw Exceptions.propagate(e); - } - })); + .map( + temporaryFile -> + UploadBuildpackRequest.builder() + .from(request) + .buildpack(temporaryFile) + .build()) + .flatMap( + requestWithTemporaryFile -> + upload( + requestWithTemporaryFile, + request.getFilename() + ".zip", + () -> { + try { + Files.delete( + requestWithTemporaryFile + .getBuildpack()); + } catch (IOException e) { + throw Exceptions.propagate(e); + } + })); } else { - return upload(request, request.getFilename(), () -> { - }); + return upload(request, request.getFilename(), () -> {}); } } - private Mono upload(UploadBuildpackRequest request, String filename, Runnable onTerminate) { - return put(request, UploadBuildpackResponse.class, builder -> builder.pathSegment("buildpacks", request.getBuildpackId(), "bits"), - multipartRequest -> upload(request.getBuildpack(), multipartRequest, filename), onTerminate) - .checkpoint(); + private Mono upload( + UploadBuildpackRequest request, String filename, Runnable onTerminate) { + return put( + request, + UploadBuildpackResponse.class, + builder -> + builder.pathSegment("buildpacks", request.getBuildpackId(), "bits"), + multipartRequest -> + upload(request.getBuildpack(), multipartRequest, filename), + onTerminate) + .checkpoint(); } - private void upload(Path buildpack, MultipartHttpClientRequest multipartRequest, String filename) { - multipartRequest.addPart(part -> part.setName("buildpack") - .setFilename(filename) - .setContentType(APPLICATION_ZIP) - .sendFile(buildpack)) - .done(); + private void upload( + Path buildpack, MultipartHttpClientRequest multipartRequest, String filename) { + multipartRequest + .addPart( + part -> + part.setName("buildpack") + .setFilename(filename) + .setContentType(APPLICATION_ZIP) + .sendFile(buildpack)) + .done(); } - } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/domains/ReactorDomains.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/domains/ReactorDomains.java index ac47480040..dbb5ef7fe7 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/domains/ReactorDomains.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/domains/ReactorDomains.java @@ -16,6 +16,7 @@ package org.cloudfoundry.reactor.client.v2.domains; +import java.util.Map; import org.cloudfoundry.client.v2.domains.CreateDomainRequest; import org.cloudfoundry.client.v2.domains.CreateDomainResponse; import org.cloudfoundry.client.v2.domains.DeleteDomainRequest; @@ -32,8 +33,6 @@ import org.cloudfoundry.reactor.client.v2.AbstractClientV2Operations; import reactor.core.publisher.Mono; -import java.util.Map; - /** * The Reactor-based implementation of {@link Domains} */ @@ -47,7 +46,11 @@ public final class ReactorDomains extends AbstractClientV2Operations implements * @param tokenProvider the {@link TokenProvider} to use when communicating with the server * @param requestTags map with custom http headers which will be added to web request */ - public ReactorDomains(ConnectionContext connectionContext, Mono root, TokenProvider tokenProvider, Map requestTags) { + public ReactorDomains( + ConnectionContext connectionContext, + Mono root, + TokenProvider tokenProvider, + Map requestTags) { super(connectionContext, root, tokenProvider, requestTags); } @@ -55,35 +58,43 @@ public ReactorDomains(ConnectionContext connectionContext, Mono root, To @SuppressWarnings("deprecation") public Mono create(CreateDomainRequest request) { return post(request, CreateDomainResponse.class, builder -> builder.pathSegment("domains")) - .checkpoint(); + .checkpoint(); } @Override @SuppressWarnings("deprecation") public Mono delete(DeleteDomainRequest request) { - return delete(request, DeleteDomainResponse.class, builder -> builder.pathSegment("domains", request.getDomainId())) - .checkpoint(); + return delete( + request, + DeleteDomainResponse.class, + builder -> builder.pathSegment("domains", request.getDomainId())) + .checkpoint(); } @Override @SuppressWarnings("deprecation") public Mono get(GetDomainRequest request) { - return get(request, GetDomainResponse.class, builder -> builder.pathSegment("domains", request.getDomainId())) - .checkpoint(); + return get( + request, + GetDomainResponse.class, + builder -> builder.pathSegment("domains", request.getDomainId())) + .checkpoint(); } @Override @SuppressWarnings("deprecation") public Mono list(ListDomainsRequest request) { return get(request, ListDomainsResponse.class, builder -> builder.pathSegment("domains")) - .checkpoint(); + .checkpoint(); } @Override @SuppressWarnings("deprecation") public Mono listSpaces(ListDomainSpacesRequest request) { - return get(request, ListDomainSpacesResponse.class, builder -> builder.pathSegment("domains", request.getDomainId(), "spaces")) - .checkpoint(); + return get( + request, + ListDomainSpacesResponse.class, + builder -> builder.pathSegment("domains", request.getDomainId(), "spaces")) + .checkpoint(); } - } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/environmentvariablegroups/ReactorEnvironmentVariableGroups.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/environmentvariablegroups/ReactorEnvironmentVariableGroups.java index ceac537540..72adb12f05 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/environmentvariablegroups/ReactorEnvironmentVariableGroups.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/environmentvariablegroups/ReactorEnvironmentVariableGroups.java @@ -16,6 +16,7 @@ package org.cloudfoundry.reactor.client.v2.environmentvariablegroups; +import java.util.Map; import org.cloudfoundry.client.v2.environmentvariablegroups.EnvironmentVariableGroups; import org.cloudfoundry.client.v2.environmentvariablegroups.GetRunningEnvironmentVariablesRequest; import org.cloudfoundry.client.v2.environmentvariablegroups.GetRunningEnvironmentVariablesResponse; @@ -30,12 +31,11 @@ import org.cloudfoundry.reactor.client.v2.AbstractClientV2Operations; import reactor.core.publisher.Mono; -import java.util.Map; - /** * The Reactor-based implementation of {@link EnvironmentVariableGroups} */ -public final class ReactorEnvironmentVariableGroups extends AbstractClientV2Operations implements EnvironmentVariableGroups { +public final class ReactorEnvironmentVariableGroups extends AbstractClientV2Operations + implements EnvironmentVariableGroups { /** * Creates an instance @@ -45,32 +45,59 @@ public final class ReactorEnvironmentVariableGroups extends AbstractClientV2Oper * @param tokenProvider the {@link TokenProvider} to use when communicating with the server * @param requestTags map with custom http headers which will be added to web request */ - public ReactorEnvironmentVariableGroups(ConnectionContext connectionContext, Mono root, TokenProvider tokenProvider, Map requestTags) { + public ReactorEnvironmentVariableGroups( + ConnectionContext connectionContext, + Mono root, + TokenProvider tokenProvider, + Map requestTags) { super(connectionContext, root, tokenProvider, requestTags); } @Override - public Mono getRunningEnvironmentVariables(GetRunningEnvironmentVariablesRequest request) { - return get(request, GetRunningEnvironmentVariablesResponse.class, builder -> builder.pathSegment("config", "environment_variable_groups", "running")) - .checkpoint(); + public Mono getRunningEnvironmentVariables( + GetRunningEnvironmentVariablesRequest request) { + return get( + request, + GetRunningEnvironmentVariablesResponse.class, + builder -> + builder.pathSegment( + "config", "environment_variable_groups", "running")) + .checkpoint(); } @Override - public Mono getStagingEnvironmentVariables(GetStagingEnvironmentVariablesRequest request) { - return get(request, GetStagingEnvironmentVariablesResponse.class, builder -> builder.pathSegment("config", "environment_variable_groups", "staging")) - .checkpoint(); + public Mono getStagingEnvironmentVariables( + GetStagingEnvironmentVariablesRequest request) { + return get( + request, + GetStagingEnvironmentVariablesResponse.class, + builder -> + builder.pathSegment( + "config", "environment_variable_groups", "staging")) + .checkpoint(); } @Override - public Mono updateRunningEnvironmentVariables(UpdateRunningEnvironmentVariablesRequest request) { - return put(request, UpdateRunningEnvironmentVariablesResponse.class, builder -> builder.pathSegment("config", "environment_variable_groups", "running")) - .checkpoint(); + public Mono updateRunningEnvironmentVariables( + UpdateRunningEnvironmentVariablesRequest request) { + return put( + request, + UpdateRunningEnvironmentVariablesResponse.class, + builder -> + builder.pathSegment( + "config", "environment_variable_groups", "running")) + .checkpoint(); } @Override - public Mono updateStagingEnvironmentVariables(UpdateStagingEnvironmentVariablesRequest request) { - return put(request, UpdateStagingEnvironmentVariablesResponse.class, builder -> builder.pathSegment("config", "environment_variable_groups", "staging")) - .checkpoint(); + public Mono updateStagingEnvironmentVariables( + UpdateStagingEnvironmentVariablesRequest request) { + return put( + request, + UpdateStagingEnvironmentVariablesResponse.class, + builder -> + builder.pathSegment( + "config", "environment_variable_groups", "staging")) + .checkpoint(); } - } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/events/ReactorEvents.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/events/ReactorEvents.java index b8f03fb76d..4a83743d1f 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/events/ReactorEvents.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/events/ReactorEvents.java @@ -16,6 +16,7 @@ package org.cloudfoundry.reactor.client.v2.events; +import java.util.Map; import org.cloudfoundry.client.v2.events.Events; import org.cloudfoundry.client.v2.events.GetEventRequest; import org.cloudfoundry.client.v2.events.GetEventResponse; @@ -26,8 +27,6 @@ import org.cloudfoundry.reactor.client.v2.AbstractClientV2Operations; import reactor.core.publisher.Mono; -import java.util.Map; - /** * The Reactor-based implementation of {@link Events} */ @@ -41,20 +40,26 @@ public final class ReactorEvents extends AbstractClientV2Operations implements E * @param tokenProvider the {@link TokenProvider} to use when communicating with the server * @param requestTags map with custom http headers which will be added to web request */ - public ReactorEvents(ConnectionContext connectionContext, Mono root, TokenProvider tokenProvider, Map requestTags) { + public ReactorEvents( + ConnectionContext connectionContext, + Mono root, + TokenProvider tokenProvider, + Map requestTags) { super(connectionContext, root, tokenProvider, requestTags); } @Override public Mono get(GetEventRequest request) { - return get(request, GetEventResponse.class, builder -> builder.pathSegment("events", request.getEventId())) - .checkpoint(); + return get( + request, + GetEventResponse.class, + builder -> builder.pathSegment("events", request.getEventId())) + .checkpoint(); } @Override public Mono list(ListEventsRequest request) { return get(request, ListEventsResponse.class, builder -> builder.pathSegment("events")) - .checkpoint(); + .checkpoint(); } - } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/featureflags/ReactorFeatureFlags.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/featureflags/ReactorFeatureFlags.java index 432ce7439a..47be1635b2 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/featureflags/ReactorFeatureFlags.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/featureflags/ReactorFeatureFlags.java @@ -16,6 +16,7 @@ package org.cloudfoundry.reactor.client.v2.featureflags; +import java.util.Map; import org.cloudfoundry.client.v2.featureflags.FeatureFlags; import org.cloudfoundry.client.v2.featureflags.GetFeatureFlagRequest; import org.cloudfoundry.client.v2.featureflags.GetFeatureFlagResponse; @@ -28,8 +29,6 @@ import org.cloudfoundry.reactor.client.v2.AbstractClientV2Operations; import reactor.core.publisher.Mono; -import java.util.Map; - /** * The Reactor-based implementation of {@link FeatureFlags} */ @@ -43,26 +42,40 @@ public final class ReactorFeatureFlags extends AbstractClientV2Operations implem * @param tokenProvider the {@link TokenProvider} to use when communicating with the server * @param requestTags map with custom http headers which will be added to web request */ - public ReactorFeatureFlags(ConnectionContext connectionContext, Mono root, TokenProvider tokenProvider, Map requestTags) { + public ReactorFeatureFlags( + ConnectionContext connectionContext, + Mono root, + TokenProvider tokenProvider, + Map requestTags) { super(connectionContext, root, tokenProvider, requestTags); } @Override public Mono get(GetFeatureFlagRequest request) { - return get(request, GetFeatureFlagResponse.class, builder -> builder.pathSegment("config", "feature_flags", request.getName())) - .checkpoint(); + return get( + request, + GetFeatureFlagResponse.class, + builder -> + builder.pathSegment("config", "feature_flags", request.getName())) + .checkpoint(); } @Override public Mono list(ListFeatureFlagsRequest request) { - return get(request, ListFeatureFlagsResponse.class, builder -> builder.pathSegment("config", "feature_flags")) - .checkpoint(); + return get( + request, + ListFeatureFlagsResponse.class, + builder -> builder.pathSegment("config", "feature_flags")) + .checkpoint(); } @Override public Mono set(SetFeatureFlagRequest request) { - return put(request, SetFeatureFlagResponse.class, builder -> builder.pathSegment("config", "feature_flags", request.getName())) - .checkpoint(); + return put( + request, + SetFeatureFlagResponse.class, + builder -> + builder.pathSegment("config", "feature_flags", request.getName())) + .checkpoint(); } - } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/info/ReactorInfo.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/info/ReactorInfo.java index 3f985cdc1c..36cc4ab567 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/info/ReactorInfo.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/info/ReactorInfo.java @@ -16,6 +16,7 @@ package org.cloudfoundry.reactor.client.v2.info; +import java.util.Map; import org.cloudfoundry.client.v2.info.GetInfoRequest; import org.cloudfoundry.client.v2.info.GetInfoResponse; import org.cloudfoundry.client.v2.info.Info; @@ -24,8 +25,6 @@ import org.cloudfoundry.reactor.client.v2.AbstractClientV2Operations; import reactor.core.publisher.Mono; -import java.util.Map; - /** * The Reactor-based implementation of {@link Info} */ @@ -39,14 +38,17 @@ public final class ReactorInfo extends AbstractClientV2Operations implements Inf * @param tokenProvider the {@link TokenProvider} to use when communicating with the server * @param requestTags map with custom http headers which will be added to web request */ - public ReactorInfo(ConnectionContext connectionContext, Mono root, TokenProvider tokenProvider, Map requestTags) { + public ReactorInfo( + ConnectionContext connectionContext, + Mono root, + TokenProvider tokenProvider, + Map requestTags) { super(connectionContext, root, tokenProvider, requestTags); } @Override public Mono get(GetInfoRequest request) { return get(request, GetInfoResponse.class, builder -> builder.pathSegment("info")) - .checkpoint(); + .checkpoint(); } - } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/jobs/ReactorJobs.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/jobs/ReactorJobs.java index d61bcc2217..71af3a33d3 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/jobs/ReactorJobs.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/jobs/ReactorJobs.java @@ -16,6 +16,7 @@ package org.cloudfoundry.reactor.client.v2.jobs; +import java.util.Map; import org.cloudfoundry.client.v2.jobs.GetJobRequest; import org.cloudfoundry.client.v2.jobs.GetJobResponse; import org.cloudfoundry.client.v2.jobs.Jobs; @@ -24,8 +25,6 @@ import org.cloudfoundry.reactor.client.v2.AbstractClientV2Operations; import reactor.core.publisher.Mono; -import java.util.Map; - /** * The Reactor-based implementation of {@link Jobs} */ @@ -39,14 +38,20 @@ public final class ReactorJobs extends AbstractClientV2Operations implements Job * @param tokenProvider the {@link TokenProvider} to use when communicating with the server * @param requestTags map with custom http headers which will be added to web request */ - public ReactorJobs(ConnectionContext connectionContext, Mono root, TokenProvider tokenProvider, Map requestTags) { + public ReactorJobs( + ConnectionContext connectionContext, + Mono root, + TokenProvider tokenProvider, + Map requestTags) { super(connectionContext, root, tokenProvider, requestTags); } @Override public Mono get(GetJobRequest request) { - return get(request, GetJobResponse.class, builder -> builder.pathSegment("jobs", request.getJobId())) - .checkpoint(); + return get( + request, + GetJobResponse.class, + builder -> builder.pathSegment("jobs", request.getJobId())) + .checkpoint(); } - } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/organizationquotadefinitions/ReactorOrganizationQuotaDefinitions.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/organizationquotadefinitions/ReactorOrganizationQuotaDefinitions.java index 51c21093ab..ff403ba090 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/organizationquotadefinitions/ReactorOrganizationQuotaDefinitions.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/organizationquotadefinitions/ReactorOrganizationQuotaDefinitions.java @@ -16,6 +16,7 @@ package org.cloudfoundry.reactor.client.v2.organizationquotadefinitions; +import java.util.Map; import org.cloudfoundry.client.v2.organizationquotadefinitions.CreateOrganizationQuotaDefinitionRequest; import org.cloudfoundry.client.v2.organizationquotadefinitions.CreateOrganizationQuotaDefinitionResponse; import org.cloudfoundry.client.v2.organizationquotadefinitions.DeleteOrganizationQuotaDefinitionRequest; @@ -32,12 +33,11 @@ import org.cloudfoundry.reactor.client.v2.AbstractClientV2Operations; import reactor.core.publisher.Mono; -import java.util.Map; - /** * The Reactor-based implementation of {@link OrganizationQuotaDefinitions} */ -public final class ReactorOrganizationQuotaDefinitions extends AbstractClientV2Operations implements OrganizationQuotaDefinitions { +public final class ReactorOrganizationQuotaDefinitions extends AbstractClientV2Operations + implements OrganizationQuotaDefinitions { /** * Creates an instance @@ -47,38 +47,70 @@ public final class ReactorOrganizationQuotaDefinitions extends AbstractClientV2O * @param tokenProvider the {@link TokenProvider} to use when communicating with the server * @param requestTags map with custom http headers which will be added to web request */ - public ReactorOrganizationQuotaDefinitions(ConnectionContext connectionContext, Mono root, TokenProvider tokenProvider, Map requestTags) { + public ReactorOrganizationQuotaDefinitions( + ConnectionContext connectionContext, + Mono root, + TokenProvider tokenProvider, + Map requestTags) { super(connectionContext, root, tokenProvider, requestTags); } @Override - public Mono create(CreateOrganizationQuotaDefinitionRequest request) { - return post(request, CreateOrganizationQuotaDefinitionResponse.class, builder -> builder.pathSegment("quota_definitions")) - .checkpoint(); + public Mono create( + CreateOrganizationQuotaDefinitionRequest request) { + return post( + request, + CreateOrganizationQuotaDefinitionResponse.class, + builder -> builder.pathSegment("quota_definitions")) + .checkpoint(); } @Override - public Mono delete(DeleteOrganizationQuotaDefinitionRequest request) { - return delete(request, DeleteOrganizationQuotaDefinitionResponse.class, builder -> builder.pathSegment("quota_definitions", request.getOrganizationQuotaDefinitionId())) - .checkpoint(); + public Mono delete( + DeleteOrganizationQuotaDefinitionRequest request) { + return delete( + request, + DeleteOrganizationQuotaDefinitionResponse.class, + builder -> + builder.pathSegment( + "quota_definitions", + request.getOrganizationQuotaDefinitionId())) + .checkpoint(); } @Override - public Mono get(GetOrganizationQuotaDefinitionRequest request) { - return get(request, GetOrganizationQuotaDefinitionResponse.class, builder -> builder.pathSegment("quota_definitions", request.getOrganizationQuotaDefinitionId())) - .checkpoint(); + public Mono get( + GetOrganizationQuotaDefinitionRequest request) { + return get( + request, + GetOrganizationQuotaDefinitionResponse.class, + builder -> + builder.pathSegment( + "quota_definitions", + request.getOrganizationQuotaDefinitionId())) + .checkpoint(); } @Override - public Mono list(ListOrganizationQuotaDefinitionsRequest request) { - return get(request, ListOrganizationQuotaDefinitionsResponse.class, builder -> builder.pathSegment("quota_definitions")) - .checkpoint(); + public Mono list( + ListOrganizationQuotaDefinitionsRequest request) { + return get( + request, + ListOrganizationQuotaDefinitionsResponse.class, + builder -> builder.pathSegment("quota_definitions")) + .checkpoint(); } @Override - public Mono update(UpdateOrganizationQuotaDefinitionRequest request) { - return put(request, UpdateOrganizationQuotaDefinitionResponse.class, builder -> builder.pathSegment("quota_definitions", request.getOrganizationQuotaDefinitionId())) - .checkpoint(); + public Mono update( + UpdateOrganizationQuotaDefinitionRequest request) { + return put( + request, + UpdateOrganizationQuotaDefinitionResponse.class, + builder -> + builder.pathSegment( + "quota_definitions", + request.getOrganizationQuotaDefinitionId())) + .checkpoint(); } - } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/organizations/ReactorOrganizations.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/organizations/ReactorOrganizations.java index 18a8054f13..4cfd525a59 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/organizations/ReactorOrganizations.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/organizations/ReactorOrganizations.java @@ -16,6 +16,7 @@ package org.cloudfoundry.reactor.client.v2.organizations; +import java.util.Map; import org.cloudfoundry.client.v2.organizations.AssociateOrganizationAuditorByUsernameRequest; import org.cloudfoundry.client.v2.organizations.AssociateOrganizationAuditorByUsernameResponse; import org.cloudfoundry.client.v2.organizations.AssociateOrganizationAuditorRequest; @@ -85,12 +86,11 @@ import org.cloudfoundry.reactor.client.v2.AbstractClientV2Operations; import reactor.core.publisher.Mono; -import java.util.Map; - /** * The Reactor-based implementation of {@link Organizations} */ -public final class ReactorOrganizations extends AbstractClientV2Operations implements Organizations { +public final class ReactorOrganizations extends AbstractClientV2Operations + implements Organizations { /** * Creates an instance @@ -100,227 +100,466 @@ public final class ReactorOrganizations extends AbstractClientV2Operations imple * @param tokenProvider the {@link TokenProvider} to use when communicating with the server * @param requestTags map with custom http headers which will be added to web request */ - public ReactorOrganizations(ConnectionContext connectionContext, Mono root, TokenProvider tokenProvider, Map requestTags) { + public ReactorOrganizations( + ConnectionContext connectionContext, + Mono root, + TokenProvider tokenProvider, + Map requestTags) { super(connectionContext, root, tokenProvider, requestTags); } @Override - public Mono associateAuditor(AssociateOrganizationAuditorRequest request) { - return put(request, AssociateOrganizationAuditorResponse.class, builder -> builder.pathSegment("organizations", request.getOrganizationId(), "auditors", request.getAuditorId())) - .checkpoint(); - } - - @Override - public Mono associateAuditorByUsername(AssociateOrganizationAuditorByUsernameRequest request) { - return put(request, AssociateOrganizationAuditorByUsernameResponse.class, builder -> builder.pathSegment("organizations", request.getOrganizationId(), "auditors")) - .checkpoint(); - } - - @Override - public Mono associateBillingManager(AssociateOrganizationBillingManagerRequest request) { - return put(request, AssociateOrganizationBillingManagerResponse.class, - builder -> builder.pathSegment("organizations", request.getOrganizationId(), "billing_managers", request.getBillingManagerId())) - .checkpoint(); - } - - @Override - public Mono associateBillingManagerByUsername(AssociateOrganizationBillingManagerByUsernameRequest request) { - return put(request, AssociateOrganizationBillingManagerByUsernameResponse.class, builder -> builder.pathSegment("organizations", request.getOrganizationId(), "billing_managers")) - .checkpoint(); - } - - @Override - public Mono associateManager(AssociateOrganizationManagerRequest request) { - return put(request, AssociateOrganizationManagerResponse.class, builder -> builder.pathSegment("organizations", request.getOrganizationId(), "managers", request.getManagerId())) - .checkpoint(); - } - - @Override - public Mono associateManagerByUsername(AssociateOrganizationManagerByUsernameRequest request) { - return put(request, AssociateOrganizationManagerByUsernameResponse.class, builder -> builder.pathSegment("organizations", request.getOrganizationId(), "managers")) - .checkpoint(); - } - - @Override - public Mono associatePrivateDomain(AssociateOrganizationPrivateDomainRequest request) { - return put(request, AssociateOrganizationPrivateDomainResponse.class, - builder -> builder.pathSegment("organizations", request.getOrganizationId(), "private_domains", request.getPrivateDomainId())) - .checkpoint(); - } - - @Override - public Mono associateUser(AssociateOrganizationUserRequest request) { - return put(request, AssociateOrganizationUserResponse.class, builder -> builder.pathSegment("organizations", request.getOrganizationId(), "users", request.getUserId())) - .checkpoint(); - } - - @Override - public Mono associateUserByUsername(AssociateOrganizationUserByUsernameRequest request) { - return put(request, AssociateOrganizationUserByUsernameResponse.class, builder -> builder.pathSegment("organizations", request.getOrganizationId(), "users")) - .checkpoint(); + public Mono associateAuditor( + AssociateOrganizationAuditorRequest request) { + return put( + request, + AssociateOrganizationAuditorResponse.class, + builder -> + builder.pathSegment( + "organizations", + request.getOrganizationId(), + "auditors", + request.getAuditorId())) + .checkpoint(); + } + + @Override + public Mono associateAuditorByUsername( + AssociateOrganizationAuditorByUsernameRequest request) { + return put( + request, + AssociateOrganizationAuditorByUsernameResponse.class, + builder -> + builder.pathSegment( + "organizations", request.getOrganizationId(), "auditors")) + .checkpoint(); + } + + @Override + public Mono associateBillingManager( + AssociateOrganizationBillingManagerRequest request) { + return put( + request, + AssociateOrganizationBillingManagerResponse.class, + builder -> + builder.pathSegment( + "organizations", + request.getOrganizationId(), + "billing_managers", + request.getBillingManagerId())) + .checkpoint(); + } + + @Override + public Mono + associateBillingManagerByUsername( + AssociateOrganizationBillingManagerByUsernameRequest request) { + return put( + request, + AssociateOrganizationBillingManagerByUsernameResponse.class, + builder -> + builder.pathSegment( + "organizations", + request.getOrganizationId(), + "billing_managers")) + .checkpoint(); + } + + @Override + public Mono associateManager( + AssociateOrganizationManagerRequest request) { + return put( + request, + AssociateOrganizationManagerResponse.class, + builder -> + builder.pathSegment( + "organizations", + request.getOrganizationId(), + "managers", + request.getManagerId())) + .checkpoint(); + } + + @Override + public Mono associateManagerByUsername( + AssociateOrganizationManagerByUsernameRequest request) { + return put( + request, + AssociateOrganizationManagerByUsernameResponse.class, + builder -> + builder.pathSegment( + "organizations", request.getOrganizationId(), "managers")) + .checkpoint(); + } + + @Override + public Mono associatePrivateDomain( + AssociateOrganizationPrivateDomainRequest request) { + return put( + request, + AssociateOrganizationPrivateDomainResponse.class, + builder -> + builder.pathSegment( + "organizations", + request.getOrganizationId(), + "private_domains", + request.getPrivateDomainId())) + .checkpoint(); + } + + @Override + public Mono associateUser( + AssociateOrganizationUserRequest request) { + return put( + request, + AssociateOrganizationUserResponse.class, + builder -> + builder.pathSegment( + "organizations", + request.getOrganizationId(), + "users", + request.getUserId())) + .checkpoint(); + } + + @Override + public Mono associateUserByUsername( + AssociateOrganizationUserByUsernameRequest request) { + return put( + request, + AssociateOrganizationUserByUsernameResponse.class, + builder -> + builder.pathSegment( + "organizations", request.getOrganizationId(), "users")) + .checkpoint(); } @Override public Mono create(CreateOrganizationRequest request) { - return post(request, CreateOrganizationResponse.class, builder -> builder.pathSegment("organizations")) - .checkpoint(); + return post( + request, + CreateOrganizationResponse.class, + builder -> builder.pathSegment("organizations")) + .checkpoint(); } @Override public Mono delete(DeleteOrganizationRequest request) { - return delete(request, DeleteOrganizationResponse.class, builder -> builder.pathSegment("organizations", request.getOrganizationId())) - .checkpoint(); + return delete( + request, + DeleteOrganizationResponse.class, + builder -> + builder.pathSegment("organizations", request.getOrganizationId())) + .checkpoint(); } @Override public Mono get(GetOrganizationRequest request) { - return get(request, GetOrganizationResponse.class, builder -> builder.pathSegment("organizations", request.getOrganizationId())) - .checkpoint(); + return get( + request, + GetOrganizationResponse.class, + builder -> + builder.pathSegment("organizations", request.getOrganizationId())) + .checkpoint(); } @Override - public Mono getInstanceUsage(GetOrganizationInstanceUsageRequest request) { - return get(request, GetOrganizationInstanceUsageResponse.class, builder -> builder.pathSegment("organizations", request.getOrganizationId(), "instance_usage")) - .checkpoint(); + public Mono getInstanceUsage( + GetOrganizationInstanceUsageRequest request) { + return get( + request, + GetOrganizationInstanceUsageResponse.class, + builder -> + builder.pathSegment( + "organizations", + request.getOrganizationId(), + "instance_usage")) + .checkpoint(); } @Override - public Mono getMemoryUsage(GetOrganizationMemoryUsageRequest request) { - return get(request, GetOrganizationMemoryUsageResponse.class, builder -> builder.pathSegment("organizations", request.getOrganizationId(), "memory_usage")) - .checkpoint(); + public Mono getMemoryUsage( + GetOrganizationMemoryUsageRequest request) { + return get( + request, + GetOrganizationMemoryUsageResponse.class, + builder -> + builder.pathSegment( + "organizations", + request.getOrganizationId(), + "memory_usage")) + .checkpoint(); } @Override - public Mono getUserRoles(GetOrganizationUserRolesRequest request) { - return get(request, GetOrganizationUserRolesResponse.class, builder -> builder.pathSegment("organizations", request.getOrganizationId(), "user_roles")) - .checkpoint(); + public Mono getUserRoles( + GetOrganizationUserRolesRequest request) { + return get( + request, + GetOrganizationUserRolesResponse.class, + builder -> + builder.pathSegment( + "organizations", request.getOrganizationId(), "user_roles")) + .checkpoint(); } @Override public Mono list(ListOrganizationsRequest request) { - return get(request, ListOrganizationsResponse.class, builder -> builder.pathSegment("organizations")) - .checkpoint(); + return get( + request, + ListOrganizationsResponse.class, + builder -> builder.pathSegment("organizations")) + .checkpoint(); } @Override - public Mono listAuditors(ListOrganizationAuditorsRequest request) { - return get(request, ListOrganizationAuditorsResponse.class, builder -> builder.pathSegment("organizations", request.getOrganizationId(), "auditors")) - .checkpoint(); + public Mono listAuditors( + ListOrganizationAuditorsRequest request) { + return get( + request, + ListOrganizationAuditorsResponse.class, + builder -> + builder.pathSegment( + "organizations", request.getOrganizationId(), "auditors")) + .checkpoint(); } @Override - public Mono listBillingManagers(ListOrganizationBillingManagersRequest request) { - return get(request, ListOrganizationBillingManagersResponse.class, builder -> builder.pathSegment("organizations", request.getOrganizationId(), "billing_managers")) - .checkpoint(); + public Mono listBillingManagers( + ListOrganizationBillingManagersRequest request) { + return get( + request, + ListOrganizationBillingManagersResponse.class, + builder -> + builder.pathSegment( + "organizations", + request.getOrganizationId(), + "billing_managers")) + .checkpoint(); } @Override @SuppressWarnings("deprecation") - public Mono listDomains(ListOrganizationDomainsRequest request) { - return get(request, ListOrganizationDomainsResponse.class, builder -> builder.pathSegment("organizations", request.getOrganizationId(), "domains")) - .checkpoint(); - } - - @Override - public Mono listManagers(ListOrganizationManagersRequest request) { - return get(request, ListOrganizationManagersResponse.class, builder -> builder.pathSegment("organizations", request.getOrganizationId(), "managers")) - .checkpoint(); - } - - @Override - public Mono listPrivateDomains(ListOrganizationPrivateDomainsRequest request) { - return get(request, ListOrganizationPrivateDomainsResponse.class, builder -> builder.pathSegment("organizations", request.getOrganizationId(), "private_domains")) - .checkpoint(); - } - - @Override - public Mono listServices(ListOrganizationServicesRequest request) { - return get(request, ListOrganizationServicesResponse.class, builder -> builder.pathSegment("organizations", request.getOrganizationId(), "services")) - .checkpoint(); - } - - @Override - public Mono listSpaceQuotaDefinitions(ListOrganizationSpaceQuotaDefinitionsRequest request) { - return get(request, ListOrganizationSpaceQuotaDefinitionsResponse.class, builder -> builder.pathSegment("organizations", request.getOrganizationId(), "space_quota_definitions")) - .checkpoint(); + public Mono listDomains( + ListOrganizationDomainsRequest request) { + return get( + request, + ListOrganizationDomainsResponse.class, + builder -> + builder.pathSegment( + "organizations", request.getOrganizationId(), "domains")) + .checkpoint(); + } + + @Override + public Mono listManagers( + ListOrganizationManagersRequest request) { + return get( + request, + ListOrganizationManagersResponse.class, + builder -> + builder.pathSegment( + "organizations", request.getOrganizationId(), "managers")) + .checkpoint(); + } + + @Override + public Mono listPrivateDomains( + ListOrganizationPrivateDomainsRequest request) { + return get( + request, + ListOrganizationPrivateDomainsResponse.class, + builder -> + builder.pathSegment( + "organizations", + request.getOrganizationId(), + "private_domains")) + .checkpoint(); + } + + @Override + public Mono listServices( + ListOrganizationServicesRequest request) { + return get( + request, + ListOrganizationServicesResponse.class, + builder -> + builder.pathSegment( + "organizations", request.getOrganizationId(), "services")) + .checkpoint(); + } + + @Override + public Mono listSpaceQuotaDefinitions( + ListOrganizationSpaceQuotaDefinitionsRequest request) { + return get( + request, + ListOrganizationSpaceQuotaDefinitionsResponse.class, + builder -> + builder.pathSegment( + "organizations", + request.getOrganizationId(), + "space_quota_definitions")) + .checkpoint(); } @Override public Mono listSpaces(ListOrganizationSpacesRequest request) { - return get(request, ListOrganizationSpacesResponse.class, builder -> builder.pathSegment("organizations", request.getOrganizationId(), "spaces")) - .checkpoint(); + return get( + request, + ListOrganizationSpacesResponse.class, + builder -> + builder.pathSegment( + "organizations", request.getOrganizationId(), "spaces")) + .checkpoint(); } @Override public Mono listUsers(ListOrganizationUsersRequest request) { - return get(request, ListOrganizationUsersResponse.class, builder -> builder.pathSegment("organizations", request.getOrganizationId(), "users")) - .checkpoint(); + return get( + request, + ListOrganizationUsersResponse.class, + builder -> + builder.pathSegment( + "organizations", request.getOrganizationId(), "users")) + .checkpoint(); } @Override public Mono removeAuditor(RemoveOrganizationAuditorRequest request) { - return delete(request, Void.class, builder -> builder.pathSegment("organizations", request.getOrganizationId(), "auditors", request.getAuditorId())) - .checkpoint(); + return delete( + request, + Void.class, + builder -> + builder.pathSegment( + "organizations", + request.getOrganizationId(), + "auditors", + request.getAuditorId())) + .checkpoint(); } @Override public Mono removeAuditorByUsername(RemoveOrganizationAuditorByUsernameRequest request) { - return delete(request, Void.class, builder -> builder.pathSegment("organizations", request.getOrganizationId(), "auditors")) - .checkpoint(); + return delete( + request, + Void.class, + builder -> + builder.pathSegment( + "organizations", request.getOrganizationId(), "auditors")) + .checkpoint(); } @Override public Mono removeBillingManager(RemoveOrganizationBillingManagerRequest request) { - return delete(request, Void.class, builder -> builder.pathSegment("organizations", request.getOrganizationId(), "billing_managers", request.getBillingManagerId())) - .checkpoint(); + return delete( + request, + Void.class, + builder -> + builder.pathSegment( + "organizations", + request.getOrganizationId(), + "billing_managers", + request.getBillingManagerId())) + .checkpoint(); } @Override - public Mono removeBillingManagerByUsername(RemoveOrganizationBillingManagerByUsernameRequest request) { - return delete(request, Void.class, builder -> builder.pathSegment("organizations", request.getOrganizationId(), "billing_managers")) - .checkpoint(); + public Mono removeBillingManagerByUsername( + RemoveOrganizationBillingManagerByUsernameRequest request) { + return delete( + request, + Void.class, + builder -> + builder.pathSegment( + "organizations", + request.getOrganizationId(), + "billing_managers")) + .checkpoint(); } @Override public Mono removeManager(RemoveOrganizationManagerRequest request) { - return delete(request, Void.class, builder -> builder.pathSegment("organizations", request.getOrganizationId(), "managers", request.getManagerId())) - .checkpoint(); + return delete( + request, + Void.class, + builder -> + builder.pathSegment( + "organizations", + request.getOrganizationId(), + "managers", + request.getManagerId())) + .checkpoint(); } @Override public Mono removeManagerByUsername(RemoveOrganizationManagerByUsernameRequest request) { - return delete(request, Void.class, builder -> builder.pathSegment("organizations", request.getOrganizationId(), "managers")) - .checkpoint(); + return delete( + request, + Void.class, + builder -> + builder.pathSegment( + "organizations", request.getOrganizationId(), "managers")) + .checkpoint(); } @Override public Mono removePrivateDomain(RemoveOrganizationPrivateDomainRequest request) { - return delete(request, Void.class, builder -> builder.pathSegment("organizations", request.getOrganizationId(), "private_domains", request.getPrivateDomainId())) - .checkpoint(); + return delete( + request, + Void.class, + builder -> + builder.pathSegment( + "organizations", + request.getOrganizationId(), + "private_domains", + request.getPrivateDomainId())) + .checkpoint(); } @Override public Mono removeUser(RemoveOrganizationUserRequest request) { - return delete(request, Void.class, builder -> builder.pathSegment("organizations", request.getOrganizationId(), "users", request.getUserId())) - .checkpoint(); + return delete( + request, + Void.class, + builder -> + builder.pathSegment( + "organizations", + request.getOrganizationId(), + "users", + request.getUserId())) + .checkpoint(); } @Override public Mono removeUserByUsername(RemoveOrganizationUserByUsernameRequest request) { - return delete(request, Void.class, builder -> builder.pathSegment("organizations", request.getOrganizationId(), "users")) - .checkpoint(); + return delete( + request, + Void.class, + builder -> + builder.pathSegment( + "organizations", request.getOrganizationId(), "users")) + .checkpoint(); } @Override public Mono summary(SummaryOrganizationRequest request) { - return get(request, SummaryOrganizationResponse.class, builder -> builder.pathSegment("organizations", request.getOrganizationId(), "summary")) - .checkpoint(); + return get( + request, + SummaryOrganizationResponse.class, + builder -> + builder.pathSegment( + "organizations", request.getOrganizationId(), "summary")) + .checkpoint(); } @Override public Mono update(UpdateOrganizationRequest request) { - return put(request, UpdateOrganizationResponse.class, builder -> builder.pathSegment("organizations", request.getOrganizationId())) - .checkpoint(); + return put( + request, + UpdateOrganizationResponse.class, + builder -> + builder.pathSegment("organizations", request.getOrganizationId())) + .checkpoint(); } - } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/privatedomains/ReactorPrivateDomains.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/privatedomains/ReactorPrivateDomains.java index 8560f556e6..3b24c578c3 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/privatedomains/ReactorPrivateDomains.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/privatedomains/ReactorPrivateDomains.java @@ -16,6 +16,7 @@ package org.cloudfoundry.reactor.client.v2.privatedomains; +import java.util.Map; import org.cloudfoundry.client.v2.privatedomains.CreatePrivateDomainRequest; import org.cloudfoundry.client.v2.privatedomains.CreatePrivateDomainResponse; import org.cloudfoundry.client.v2.privatedomains.DeletePrivateDomainRequest; @@ -32,12 +33,11 @@ import org.cloudfoundry.reactor.client.v2.AbstractClientV2Operations; import reactor.core.publisher.Mono; -import java.util.Map; - /** * The Reactor-based implementation of {@link PrivateDomains} */ -public final class ReactorPrivateDomains extends AbstractClientV2Operations implements PrivateDomains { +public final class ReactorPrivateDomains extends AbstractClientV2Operations + implements PrivateDomains { /** * Creates an instance @@ -47,38 +47,65 @@ public final class ReactorPrivateDomains extends AbstractClientV2Operations impl * @param tokenProvider the {@link TokenProvider} to use when communicating with the server * @param requestTags map with custom http headers which will be added to web request */ - public ReactorPrivateDomains(ConnectionContext connectionContext, Mono root, TokenProvider tokenProvider, Map requestTags) { + public ReactorPrivateDomains( + ConnectionContext connectionContext, + Mono root, + TokenProvider tokenProvider, + Map requestTags) { super(connectionContext, root, tokenProvider, requestTags); } @Override public Mono create(CreatePrivateDomainRequest request) { - return post(request, CreatePrivateDomainResponse.class, builder -> builder.pathSegment("private_domains")) - .checkpoint(); + return post( + request, + CreatePrivateDomainResponse.class, + builder -> builder.pathSegment("private_domains")) + .checkpoint(); } @Override public Mono delete(DeletePrivateDomainRequest request) { - return delete(request, DeletePrivateDomainResponse.class, builder -> builder.pathSegment("private_domains", request.getPrivateDomainId())) - .checkpoint(); + return delete( + request, + DeletePrivateDomainResponse.class, + builder -> + builder.pathSegment( + "private_domains", request.getPrivateDomainId())) + .checkpoint(); } @Override public Mono get(GetPrivateDomainRequest request) { - return get(request, GetPrivateDomainResponse.class, builder -> builder.pathSegment("private_domains", request.getPrivateDomainId())) - .checkpoint(); + return get( + request, + GetPrivateDomainResponse.class, + builder -> + builder.pathSegment( + "private_domains", request.getPrivateDomainId())) + .checkpoint(); } @Override public Mono list(ListPrivateDomainsRequest request) { - return get(request, ListPrivateDomainsResponse.class, builder -> builder.pathSegment("private_domains")) - .checkpoint(); + return get( + request, + ListPrivateDomainsResponse.class, + builder -> builder.pathSegment("private_domains")) + .checkpoint(); } @Override - public Mono listSharedOrganizations(ListPrivateDomainSharedOrganizationsRequest request) { - return get(request, ListPrivateDomainSharedOrganizationsResponse.class, builder -> builder.pathSegment("private_domains", request.getPrivateDomainId(), "shared_organizations")) - .checkpoint(); + public Mono listSharedOrganizations( + ListPrivateDomainSharedOrganizationsRequest request) { + return get( + request, + ListPrivateDomainSharedOrganizationsResponse.class, + builder -> + builder.pathSegment( + "private_domains", + request.getPrivateDomainId(), + "shared_organizations")) + .checkpoint(); } - } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/resourcematch/ReactorResourceMatch.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/resourcematch/ReactorResourceMatch.java index 8e938cf4c0..48582d1cfe 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/resourcematch/ReactorResourceMatch.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/resourcematch/ReactorResourceMatch.java @@ -16,6 +16,7 @@ package org.cloudfoundry.reactor.client.v2.resourcematch; +import java.util.Map; import org.cloudfoundry.client.v2.resourcematch.ListMatchingResourcesRequest; import org.cloudfoundry.client.v2.resourcematch.ListMatchingResourcesResponse; import org.cloudfoundry.client.v2.resourcematch.ResourceMatch; @@ -24,12 +25,11 @@ import org.cloudfoundry.reactor.client.v2.AbstractClientV2Operations; import reactor.core.publisher.Mono; -import java.util.Map; - /** * The Reactor-based implementation of {@link ResourceMatch} */ -public final class ReactorResourceMatch extends AbstractClientV2Operations implements ResourceMatch { +public final class ReactorResourceMatch extends AbstractClientV2Operations + implements ResourceMatch { /** * Creates an instance @@ -39,14 +39,20 @@ public final class ReactorResourceMatch extends AbstractClientV2Operations imple * @param tokenProvider the {@link TokenProvider} to use when communicating with the server * @param requestTags map with custom http headers which will be added to web request */ - public ReactorResourceMatch(ConnectionContext connectionContext, Mono root, TokenProvider tokenProvider, Map requestTags) { + public ReactorResourceMatch( + ConnectionContext connectionContext, + Mono root, + TokenProvider tokenProvider, + Map requestTags) { super(connectionContext, root, tokenProvider, requestTags); } @Override public Mono list(ListMatchingResourcesRequest request) { - return put(request, ListMatchingResourcesResponse.class, builder -> builder.pathSegment("resource_match")) - .checkpoint(); + return put( + request, + ListMatchingResourcesResponse.class, + builder -> builder.pathSegment("resource_match")) + .checkpoint(); } - } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/routemappings/ReactorRouteMappings.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/routemappings/ReactorRouteMappings.java index 3ee3286a98..60a767aca3 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/routemappings/ReactorRouteMappings.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/routemappings/ReactorRouteMappings.java @@ -16,6 +16,7 @@ package org.cloudfoundry.reactor.client.v2.routemappings; +import java.util.Map; import org.cloudfoundry.client.v2.routemappings.CreateRouteMappingRequest; import org.cloudfoundry.client.v2.routemappings.CreateRouteMappingResponse; import org.cloudfoundry.client.v2.routemappings.DeleteRouteMappingRequest; @@ -30,12 +31,11 @@ import org.cloudfoundry.reactor.client.v2.AbstractClientV2Operations; import reactor.core.publisher.Mono; -import java.util.Map; - /** * The Reactor-based implementation of {@link RouteMappings} */ -public final class ReactorRouteMappings extends AbstractClientV2Operations implements RouteMappings { +public final class ReactorRouteMappings extends AbstractClientV2Operations + implements RouteMappings { /** * Creates an instance @@ -45,32 +45,49 @@ public final class ReactorRouteMappings extends AbstractClientV2Operations imple * @param tokenProvider the {@link TokenProvider} to use when communicating with the server * @param requestTags map with custom http headers which will be added to web request */ - public ReactorRouteMappings(ConnectionContext connectionContext, Mono root, TokenProvider tokenProvider, Map requestTags) { + public ReactorRouteMappings( + ConnectionContext connectionContext, + Mono root, + TokenProvider tokenProvider, + Map requestTags) { super(connectionContext, root, tokenProvider, requestTags); } @Override public Mono create(CreateRouteMappingRequest request) { - return post(request, CreateRouteMappingResponse.class, builder -> builder.pathSegment("route_mappings")) - .checkpoint(); + return post( + request, + CreateRouteMappingResponse.class, + builder -> builder.pathSegment("route_mappings")) + .checkpoint(); } @Override public Mono delete(DeleteRouteMappingRequest request) { - return delete(request, DeleteRouteMappingResponse.class, builder -> builder.pathSegment("route_mappings", request.getRouteMappingId())) - .checkpoint(); + return delete( + request, + DeleteRouteMappingResponse.class, + builder -> + builder.pathSegment("route_mappings", request.getRouteMappingId())) + .checkpoint(); } @Override public Mono get(GetRouteMappingRequest request) { - return get(request, GetRouteMappingResponse.class, builder -> builder.pathSegment("route_mappings", request.getRouteMappingId())) - .checkpoint(); + return get( + request, + GetRouteMappingResponse.class, + builder -> + builder.pathSegment("route_mappings", request.getRouteMappingId())) + .checkpoint(); } @Override public Mono list(ListRouteMappingsRequest request) { - return get(request, ListRouteMappingsResponse.class, builder -> builder.pathSegment("route_mappings")) - .checkpoint(); + return get( + request, + ListRouteMappingsResponse.class, + builder -> builder.pathSegment("route_mappings")) + .checkpoint(); } - } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/routes/ReactorRoutes.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/routes/ReactorRoutes.java index c9a7b5c0aa..dff421bbd0 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/routes/ReactorRoutes.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/routes/ReactorRoutes.java @@ -16,6 +16,8 @@ package org.cloudfoundry.reactor.client.v2.routes; +import java.util.Map; +import java.util.Optional; import org.cloudfoundry.client.v2.routes.AssociateRouteApplicationRequest; import org.cloudfoundry.client.v2.routes.AssociateRouteApplicationResponse; import org.cloudfoundry.client.v2.routes.CreateRouteRequest; @@ -41,9 +43,6 @@ import org.cloudfoundry.util.ExceptionUtils; import reactor.core.publisher.Mono; -import java.util.Map; -import java.util.Optional; - /** * The Reactor-based implementation of {@link Routes} */ @@ -59,75 +58,117 @@ public final class ReactorRoutes extends AbstractClientV2Operations implements R * @param tokenProvider the {@link TokenProvider} to use when communicating with the server * @param requestTags map with custom http headers which will be added to web request */ - public ReactorRoutes(ConnectionContext connectionContext, Mono root, TokenProvider tokenProvider, Map requestTags) { + public ReactorRoutes( + ConnectionContext connectionContext, + Mono root, + TokenProvider tokenProvider, + Map requestTags) { super(connectionContext, root, tokenProvider, requestTags); } @Override - public Mono associateApplication(AssociateRouteApplicationRequest request) { - return put(request, AssociateRouteApplicationResponse.class, builder -> builder.pathSegment("routes", request.getRouteId(), "apps", request.getApplicationId())) - .checkpoint(); + public Mono associateApplication( + AssociateRouteApplicationRequest request) { + return put( + request, + AssociateRouteApplicationResponse.class, + builder -> + builder.pathSegment( + "routes", + request.getRouteId(), + "apps", + request.getApplicationId())) + .checkpoint(); } @Override public Mono create(CreateRouteRequest request) { return post(request, CreateRouteResponse.class, builder -> builder.pathSegment("routes")) - .checkpoint(); + .checkpoint(); } @Override public Mono delete(DeleteRouteRequest request) { - return delete(request, DeleteRouteResponse.class, builder -> builder.pathSegment("routes", request.getRouteId())) - .checkpoint(); + return delete( + request, + DeleteRouteResponse.class, + builder -> builder.pathSegment("routes", request.getRouteId())) + .checkpoint(); } @Override public Mono exists(RouteExistsRequest request) { - return get(request, Boolean.class, - builder -> { - builder.pathSegment("routes", "reserved", "domain", request.getDomainId()); - Optional.ofNullable(request.getHost()).ifPresent(host -> builder.pathSegment("host", host)); - return builder; - }) - .defaultIfEmpty(true) - .onErrorResume(ExceptionUtils.statusCode(CF_NOT_FOUND), t -> Mono.just(false)) - .checkpoint(); + return get( + request, + Boolean.class, + builder -> { + builder.pathSegment( + "routes", "reserved", "domain", request.getDomainId()); + Optional.ofNullable(request.getHost()) + .ifPresent(host -> builder.pathSegment("host", host)); + return builder; + }) + .defaultIfEmpty(true) + .onErrorResume(ExceptionUtils.statusCode(CF_NOT_FOUND), t -> Mono.just(false)) + .checkpoint(); } @Override public Mono get(GetRouteRequest request) { - return get(request, GetRouteResponse.class, builder -> builder.pathSegment("routes", request.getRouteId())) - .checkpoint(); + return get( + request, + GetRouteResponse.class, + builder -> builder.pathSegment("routes", request.getRouteId())) + .checkpoint(); } @Override public Mono list(ListRoutesRequest request) { return get(request, ListRoutesResponse.class, builder -> builder.pathSegment("routes")) - .checkpoint(); + .checkpoint(); } @Override - public Mono listApplications(ListRouteApplicationsRequest request) { - return get(request, ListRouteApplicationsResponse.class, builder -> builder.pathSegment("routes", request.getRouteId(), "apps")) - .checkpoint(); + public Mono listApplications( + ListRouteApplicationsRequest request) { + return get( + request, + ListRouteApplicationsResponse.class, + builder -> builder.pathSegment("routes", request.getRouteId(), "apps")) + .checkpoint(); } @Override public Mono listMappings(ListRouteMappingsRequest request) { - return get(request, ListRouteMappingsResponse.class, builder -> builder.pathSegment("routes", request.getRouteId(), "route_mappings")) - .checkpoint(); + return get( + request, + ListRouteMappingsResponse.class, + builder -> + builder.pathSegment( + "routes", request.getRouteId(), "route_mappings")) + .checkpoint(); } @Override public Mono removeApplication(RemoveRouteApplicationRequest request) { - return delete(request, Void.class, builder -> builder.pathSegment("routes", request.getRouteId(), "apps", request.getApplicationId())) - .checkpoint(); + return delete( + request, + Void.class, + builder -> + builder.pathSegment( + "routes", + request.getRouteId(), + "apps", + request.getApplicationId())) + .checkpoint(); } @Override public Mono update(UpdateRouteRequest request) { - return put(request, UpdateRouteResponse.class, builder -> builder.pathSegment("routes", request.getRouteId())) - .checkpoint(); + return put( + request, + UpdateRouteResponse.class, + builder -> builder.pathSegment("routes", request.getRouteId())) + .checkpoint(); } - } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/securitygroups/ReactorSecurityGroups.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/securitygroups/ReactorSecurityGroups.java index b4e6296384..ff763ec7c0 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/securitygroups/ReactorSecurityGroups.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/securitygroups/ReactorSecurityGroups.java @@ -16,6 +16,7 @@ package org.cloudfoundry.reactor.client.v2.securitygroups; +import java.util.Map; import org.cloudfoundry.client.v2.securitygroups.AssociateSecurityGroupSpaceRequest; import org.cloudfoundry.client.v2.securitygroups.AssociateSecurityGroupSpaceResponse; import org.cloudfoundry.client.v2.securitygroups.CreateSecurityGroupRequest; @@ -47,8 +48,6 @@ import org.cloudfoundry.reactor.client.v2.AbstractClientV2Operations; import reactor.core.publisher.Mono; -import java.util.Map; - /** * The Reactor-based implementation of {@link SecurityGroups} */ @@ -62,92 +61,177 @@ public class ReactorSecurityGroups extends AbstractClientV2Operations implements * @param tokenProvider the {@link TokenProvider} to use when communicating with the server * @param requestTags map with custom http headers which will be added to web request */ - public ReactorSecurityGroups(ConnectionContext connectionContext, Mono root, TokenProvider tokenProvider, Map requestTags) { + public ReactorSecurityGroups( + ConnectionContext connectionContext, + Mono root, + TokenProvider tokenProvider, + Map requestTags) { super(connectionContext, root, tokenProvider, requestTags); } @Override - public Mono associateSpace(AssociateSecurityGroupSpaceRequest request) { - return put(request, AssociateSecurityGroupSpaceResponse.class, builder -> builder.pathSegment("security_groups", request.getSecurityGroupId(), "spaces", request.getSpaceId())) - .checkpoint(); + public Mono associateSpace( + AssociateSecurityGroupSpaceRequest request) { + return put( + request, + AssociateSecurityGroupSpaceResponse.class, + builder -> + builder.pathSegment( + "security_groups", + request.getSecurityGroupId(), + "spaces", + request.getSpaceId())) + .checkpoint(); } @Override public Mono create(CreateSecurityGroupRequest request) { - return post(request, CreateSecurityGroupResponse.class, builder -> builder.pathSegment("security_groups")) - .checkpoint(); + return post( + request, + CreateSecurityGroupResponse.class, + builder -> builder.pathSegment("security_groups")) + .checkpoint(); } @Override public Mono delete(DeleteSecurityGroupRequest request) { - return delete(request, DeleteSecurityGroupResponse.class, builder -> builder.pathSegment("security_groups", request.getSecurityGroupId())) - .checkpoint(); + return delete( + request, + DeleteSecurityGroupResponse.class, + builder -> + builder.pathSegment( + "security_groups", request.getSecurityGroupId())) + .checkpoint(); } @Override public Mono get(GetSecurityGroupRequest request) { - return get(request, GetSecurityGroupResponse.class, builder -> builder.pathSegment("security_groups", request.getSecurityGroupId())) - .checkpoint(); + return get( + request, + GetSecurityGroupResponse.class, + builder -> + builder.pathSegment( + "security_groups", request.getSecurityGroupId())) + .checkpoint(); } @Override public Mono list(ListSecurityGroupsRequest request) { - return get(request, ListSecurityGroupsResponse.class, builder -> builder.pathSegment("security_groups")) - .checkpoint(); + return get( + request, + ListSecurityGroupsResponse.class, + builder -> builder.pathSegment("security_groups")) + .checkpoint(); } @Override - public Mono listRunningDefaults(ListSecurityGroupRunningDefaultsRequest request) { - return get(request, ListSecurityGroupRunningDefaultsResponse.class, builder -> builder.pathSegment("config", "running_security_groups")) - .checkpoint(); + public Mono listRunningDefaults( + ListSecurityGroupRunningDefaultsRequest request) { + return get( + request, + ListSecurityGroupRunningDefaultsResponse.class, + builder -> builder.pathSegment("config", "running_security_groups")) + .checkpoint(); } @Override - public Mono listSpaces(ListSecurityGroupSpacesRequest request) { - return get(request, ListSecurityGroupSpacesResponse.class, builder -> builder.pathSegment("security_groups", request.getSecurityGroupId(), "spaces")) - .checkpoint(); + public Mono listSpaces( + ListSecurityGroupSpacesRequest request) { + return get( + request, + ListSecurityGroupSpacesResponse.class, + builder -> + builder.pathSegment( + "security_groups", request.getSecurityGroupId(), "spaces")) + .checkpoint(); } @Override - public Mono listStagingDefaults(ListSecurityGroupStagingDefaultsRequest request) { - return get(request, ListSecurityGroupStagingDefaultsResponse.class, builder -> builder.pathSegment("config", "staging_security_groups")) - .checkpoint(); + public Mono listStagingDefaults( + ListSecurityGroupStagingDefaultsRequest request) { + return get( + request, + ListSecurityGroupStagingDefaultsResponse.class, + builder -> builder.pathSegment("config", "staging_security_groups")) + .checkpoint(); } @Override public Mono removeRunningDefault(RemoveSecurityGroupRunningDefaultRequest request) { - return delete(request, Void.class, builder -> builder.pathSegment("config", "running_security_groups", request.getSecurityGroupId())) - .checkpoint(); + return delete( + request, + Void.class, + builder -> + builder.pathSegment( + "config", + "running_security_groups", + request.getSecurityGroupId())) + .checkpoint(); } @Override public Mono removeSpace(RemoveSecurityGroupSpaceRequest request) { - return delete(request, Void.class, builder -> builder.pathSegment("security_groups", request.getSecurityGroupId(), "spaces", request.getSpaceId())) - .checkpoint(); + return delete( + request, + Void.class, + builder -> + builder.pathSegment( + "security_groups", + request.getSecurityGroupId(), + "spaces", + request.getSpaceId())) + .checkpoint(); } @Override public Mono removeStagingDefault(RemoveSecurityGroupStagingDefaultRequest request) { - return delete(request, Void.class, builder -> builder.pathSegment("config", "staging_security_groups", request.getSecurityGroupId())) - .checkpoint(); + return delete( + request, + Void.class, + builder -> + builder.pathSegment( + "config", + "staging_security_groups", + request.getSecurityGroupId())) + .checkpoint(); } @Override - public Mono setRunningDefault(SetSecurityGroupRunningDefaultRequest request) { - return put(request, SetSecurityGroupRunningDefaultResponse.class, builder -> builder.pathSegment("config", "running_security_groups", request.getSecurityGroupId())) - .checkpoint(); + public Mono setRunningDefault( + SetSecurityGroupRunningDefaultRequest request) { + return put( + request, + SetSecurityGroupRunningDefaultResponse.class, + builder -> + builder.pathSegment( + "config", + "running_security_groups", + request.getSecurityGroupId())) + .checkpoint(); } @Override - public Mono setStagingDefault(SetSecurityGroupStagingDefaultRequest request) { - return put(request, SetSecurityGroupStagingDefaultResponse.class, builder -> builder.pathSegment("config", "staging_security_groups", request.getSecurityGroupId())) - .checkpoint(); + public Mono setStagingDefault( + SetSecurityGroupStagingDefaultRequest request) { + return put( + request, + SetSecurityGroupStagingDefaultResponse.class, + builder -> + builder.pathSegment( + "config", + "staging_security_groups", + request.getSecurityGroupId())) + .checkpoint(); } @Override public Mono update(UpdateSecurityGroupRequest request) { - return put(request, UpdateSecurityGroupResponse.class, builder -> builder.pathSegment("security_groups", request.getSecurityGroupId())) - .checkpoint(); + return put( + request, + UpdateSecurityGroupResponse.class, + builder -> + builder.pathSegment( + "security_groups", request.getSecurityGroupId())) + .checkpoint(); } - } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/servicebindings/ReactorServiceBindingsV2.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/servicebindings/ReactorServiceBindingsV2.java index 168b71b394..0cff4cb464 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/servicebindings/ReactorServiceBindingsV2.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/servicebindings/ReactorServiceBindingsV2.java @@ -16,6 +16,7 @@ package org.cloudfoundry.reactor.client.v2.servicebindings; +import java.util.Map; import org.cloudfoundry.client.v2.servicebindings.CreateServiceBindingRequest; import org.cloudfoundry.client.v2.servicebindings.CreateServiceBindingResponse; import org.cloudfoundry.client.v2.servicebindings.DeleteServiceBindingRequest; @@ -32,12 +33,11 @@ import org.cloudfoundry.reactor.client.v2.AbstractClientV2Operations; import reactor.core.publisher.Mono; -import java.util.Map; - /** * The Reactor-based implementation of {@link ServiceBindingsV2} */ -public final class ReactorServiceBindingsV2 extends AbstractClientV2Operations implements ServiceBindingsV2 { +public final class ReactorServiceBindingsV2 extends AbstractClientV2Operations + implements ServiceBindingsV2 { /** * Creates an instance @@ -47,38 +47,65 @@ public final class ReactorServiceBindingsV2 extends AbstractClientV2Operations i * @param tokenProvider the {@link TokenProvider} to use when communicating with the server * @param requestTags map with custom http headers which will be added to web request */ - public ReactorServiceBindingsV2(ConnectionContext connectionContext, Mono root, TokenProvider tokenProvider, Map requestTags) { + public ReactorServiceBindingsV2( + ConnectionContext connectionContext, + Mono root, + TokenProvider tokenProvider, + Map requestTags) { super(connectionContext, root, tokenProvider, requestTags); } @Override public Mono create(CreateServiceBindingRequest request) { - return post(request, CreateServiceBindingResponse.class, builder -> builder.pathSegment("service_bindings")) - .checkpoint(); + return post( + request, + CreateServiceBindingResponse.class, + builder -> builder.pathSegment("service_bindings")) + .checkpoint(); } @Override public Mono delete(DeleteServiceBindingRequest request) { - return delete(request, DeleteServiceBindingResponse.class, builder -> builder.pathSegment("service_bindings", request.getServiceBindingId())) - .checkpoint(); + return delete( + request, + DeleteServiceBindingResponse.class, + builder -> + builder.pathSegment( + "service_bindings", request.getServiceBindingId())) + .checkpoint(); } @Override public Mono get(GetServiceBindingRequest request) { - return get(request, GetServiceBindingResponse.class, builder -> builder.pathSegment("service_bindings", request.getServiceBindingId())) - .checkpoint(); + return get( + request, + GetServiceBindingResponse.class, + builder -> + builder.pathSegment( + "service_bindings", request.getServiceBindingId())) + .checkpoint(); } @Override - public Mono getParameters(GetServiceBindingParametersRequest request) { - return get(request, GetServiceBindingParametersResponse.class, builder -> builder.pathSegment("service_bindings", request.getServiceBindingId(), "parameters")) - .checkpoint(); + public Mono getParameters( + GetServiceBindingParametersRequest request) { + return get( + request, + GetServiceBindingParametersResponse.class, + builder -> + builder.pathSegment( + "service_bindings", + request.getServiceBindingId(), + "parameters")) + .checkpoint(); } @Override public Mono list(ListServiceBindingsRequest request) { - return get(request, ListServiceBindingsResponse.class, builder -> builder.pathSegment("service_bindings")) - .checkpoint(); + return get( + request, + ListServiceBindingsResponse.class, + builder -> builder.pathSegment("service_bindings")) + .checkpoint(); } - } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/servicebrokers/ReactorServiceBrokers.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/servicebrokers/ReactorServiceBrokers.java index 34970e3d0c..f8fb8b9754 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/servicebrokers/ReactorServiceBrokers.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/servicebrokers/ReactorServiceBrokers.java @@ -16,6 +16,7 @@ package org.cloudfoundry.reactor.client.v2.servicebrokers; +import java.util.Map; import org.cloudfoundry.client.v2.servicebrokers.CreateServiceBrokerRequest; import org.cloudfoundry.client.v2.servicebrokers.CreateServiceBrokerResponse; import org.cloudfoundry.client.v2.servicebrokers.DeleteServiceBrokerRequest; @@ -31,12 +32,11 @@ import org.cloudfoundry.reactor.client.v2.AbstractClientV2Operations; import reactor.core.publisher.Mono; -import java.util.Map; - /** * The Reactor-based implementation of {@link ServiceBrokers} */ -public final class ReactorServiceBrokers extends AbstractClientV2Operations implements ServiceBrokers { +public final class ReactorServiceBrokers extends AbstractClientV2Operations + implements ServiceBrokers { /** * Creates an instance @@ -46,38 +46,62 @@ public final class ReactorServiceBrokers extends AbstractClientV2Operations impl * @param tokenProvider the {@link TokenProvider} to use when communicating with the server * @param requestTags map with custom http headers which will be added to web request */ - public ReactorServiceBrokers(ConnectionContext connectionContext, Mono root, TokenProvider tokenProvider, Map requestTags) { + public ReactorServiceBrokers( + ConnectionContext connectionContext, + Mono root, + TokenProvider tokenProvider, + Map requestTags) { super(connectionContext, root, tokenProvider, requestTags); } @Override public Mono create(CreateServiceBrokerRequest request) { - return post(request, CreateServiceBrokerResponse.class, builder -> builder.pathSegment("service_brokers")) - .checkpoint(); + return post( + request, + CreateServiceBrokerResponse.class, + builder -> builder.pathSegment("service_brokers")) + .checkpoint(); } @Override public Mono delete(DeleteServiceBrokerRequest request) { - return delete(request, Void.class, builder -> builder.pathSegment("service_brokers", request.getServiceBrokerId())) - .checkpoint(); + return delete( + request, + Void.class, + builder -> + builder.pathSegment( + "service_brokers", request.getServiceBrokerId())) + .checkpoint(); } @Override public Mono get(GetServiceBrokerRequest request) { - return get(request, GetServiceBrokerResponse.class, builder -> builder.pathSegment("service_brokers", request.getServiceBrokerId())) - .checkpoint(); + return get( + request, + GetServiceBrokerResponse.class, + builder -> + builder.pathSegment( + "service_brokers", request.getServiceBrokerId())) + .checkpoint(); } @Override public Mono list(ListServiceBrokersRequest request) { - return get(request, ListServiceBrokersResponse.class, builder -> builder.pathSegment("service_brokers")) - .checkpoint(); + return get( + request, + ListServiceBrokersResponse.class, + builder -> builder.pathSegment("service_brokers")) + .checkpoint(); } @Override public Mono update(UpdateServiceBrokerRequest request) { - return put(request, UpdateServiceBrokerResponse.class, builder -> builder.pathSegment("service_brokers", request.getServiceBrokerId())) - .checkpoint(); + return put( + request, + UpdateServiceBrokerResponse.class, + builder -> + builder.pathSegment( + "service_brokers", request.getServiceBrokerId())) + .checkpoint(); } - } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/serviceinstances/ReactorServiceInstances.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/serviceinstances/ReactorServiceInstances.java index 6ef95e1792..7a48582cf4 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/serviceinstances/ReactorServiceInstances.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/serviceinstances/ReactorServiceInstances.java @@ -16,6 +16,7 @@ package org.cloudfoundry.reactor.client.v2.serviceinstances; +import java.util.Map; import org.cloudfoundry.client.v2.serviceinstances.BindServiceInstanceRouteRequest; import org.cloudfoundry.client.v2.serviceinstances.BindServiceInstanceRouteResponse; import org.cloudfoundry.client.v2.serviceinstances.CreateServiceInstanceRequest; @@ -45,12 +46,11 @@ import org.cloudfoundry.reactor.client.v2.AbstractClientV2Operations; import reactor.core.publisher.Mono; -import java.util.Map; - /** * The Reactor-based implementation of {@link ServiceInstances} */ -public final class ReactorServiceInstances extends AbstractClientV2Operations implements ServiceInstances { +public final class ReactorServiceInstances extends AbstractClientV2Operations + implements ServiceInstances { /** * Creates an instance @@ -60,80 +60,161 @@ public final class ReactorServiceInstances extends AbstractClientV2Operations im * @param tokenProvider the {@link TokenProvider} to use when communicating with the server * @param requestTags map with custom http headers which will be added to web request */ - public ReactorServiceInstances(ConnectionContext connectionContext, Mono root, TokenProvider tokenProvider, Map requestTags) { + public ReactorServiceInstances( + ConnectionContext connectionContext, + Mono root, + TokenProvider tokenProvider, + Map requestTags) { super(connectionContext, root, tokenProvider, requestTags); } @Override - public Mono bindRoute(BindServiceInstanceRouteRequest request) { - return put(request, BindServiceInstanceRouteResponse.class, builder -> builder.pathSegment("service_instances", request.getServiceInstanceId(), "routes", request.getRouteId())) - .checkpoint(); + public Mono bindRoute( + BindServiceInstanceRouteRequest request) { + return put( + request, + BindServiceInstanceRouteResponse.class, + builder -> + builder.pathSegment( + "service_instances", + request.getServiceInstanceId(), + "routes", + request.getRouteId())) + .checkpoint(); } @Override public Mono create(CreateServiceInstanceRequest request) { - return post(request, CreateServiceInstanceResponse.class, builder -> builder.pathSegment("service_instances")) - .checkpoint(); + return post( + request, + CreateServiceInstanceResponse.class, + builder -> builder.pathSegment("service_instances")) + .checkpoint(); } @Override public Mono delete(DeleteServiceInstanceRequest request) { - return delete(request, DeleteServiceInstanceResponse.class, builder -> builder.pathSegment("service_instances", request.getServiceInstanceId())) - .checkpoint(); + return delete( + request, + DeleteServiceInstanceResponse.class, + builder -> + builder.pathSegment( + "service_instances", request.getServiceInstanceId())) + .checkpoint(); } @Override public Mono get(GetServiceInstanceRequest request) { - return get(request, GetServiceInstanceResponse.class, builder -> builder.pathSegment("service_instances", request.getServiceInstanceId())) - .checkpoint(); + return get( + request, + GetServiceInstanceResponse.class, + builder -> + builder.pathSegment( + "service_instances", request.getServiceInstanceId())) + .checkpoint(); } @Override - public Mono getParameters(GetServiceInstanceParametersRequest request) { - return get(request, GetServiceInstanceParametersResponse.class, builder -> builder.pathSegment("service_instances", request.getServiceInstanceId(), "parameters")) - .checkpoint(); + public Mono getParameters( + GetServiceInstanceParametersRequest request) { + return get( + request, + GetServiceInstanceParametersResponse.class, + builder -> + builder.pathSegment( + "service_instances", + request.getServiceInstanceId(), + "parameters")) + .checkpoint(); } @Override - public Mono getPermissions(GetServiceInstancePermissionsRequest request) { - return get(request, GetServiceInstancePermissionsResponse.class, builder -> builder.pathSegment("service_instances", request.getServiceInstanceId(), "permissions")) - .checkpoint(); + public Mono getPermissions( + GetServiceInstancePermissionsRequest request) { + return get( + request, + GetServiceInstancePermissionsResponse.class, + builder -> + builder.pathSegment( + "service_instances", + request.getServiceInstanceId(), + "permissions")) + .checkpoint(); } @Override public Mono list(ListServiceInstancesRequest request) { - return get(request, ListServiceInstancesResponse.class, builder -> builder.pathSegment("service_instances")) - .checkpoint(); + return get( + request, + ListServiceInstancesResponse.class, + builder -> builder.pathSegment("service_instances")) + .checkpoint(); } @Override - public Mono listRoutes(ListServiceInstanceRoutesRequest request) { - return get(request, ListServiceInstanceRoutesResponse.class, builder -> builder.pathSegment("service_instances", request.getServiceInstanceId(), "routes")) - .checkpoint(); + public Mono listRoutes( + ListServiceInstanceRoutesRequest request) { + return get( + request, + ListServiceInstanceRoutesResponse.class, + builder -> + builder.pathSegment( + "service_instances", + request.getServiceInstanceId(), + "routes")) + .checkpoint(); } @Override - public Mono listServiceBindings(ListServiceInstanceServiceBindingsRequest request) { - return get(request, ListServiceInstanceServiceBindingsResponse.class, builder -> builder.pathSegment("service_instances", request.getServiceInstanceId(), "service_bindings")) - .checkpoint(); + public Mono listServiceBindings( + ListServiceInstanceServiceBindingsRequest request) { + return get( + request, + ListServiceInstanceServiceBindingsResponse.class, + builder -> + builder.pathSegment( + "service_instances", + request.getServiceInstanceId(), + "service_bindings")) + .checkpoint(); } @Override - public Mono listServiceKeys(ListServiceInstanceServiceKeysRequest request) { - return get(request, ListServiceInstanceServiceKeysResponse.class, builder -> builder.pathSegment("service_instances", request.getServiceInstanceId(), "service_keys")) - .checkpoint(); + public Mono listServiceKeys( + ListServiceInstanceServiceKeysRequest request) { + return get( + request, + ListServiceInstanceServiceKeysResponse.class, + builder -> + builder.pathSegment( + "service_instances", + request.getServiceInstanceId(), + "service_keys")) + .checkpoint(); } @Override public Mono unbindRoute(UnbindServiceInstanceRouteRequest request) { - return delete(request, Void.class, builder -> builder.pathSegment("service_instances", request.getServiceInstanceId(), "routes", request.getRouteId())) - .checkpoint(); + return delete( + request, + Void.class, + builder -> + builder.pathSegment( + "service_instances", + request.getServiceInstanceId(), + "routes", + request.getRouteId())) + .checkpoint(); } @Override public Mono update(UpdateServiceInstanceRequest request) { - return put(request, UpdateServiceInstanceResponse.class, builder -> builder.pathSegment("service_instances", request.getServiceInstanceId())) - .checkpoint(); + return put( + request, + UpdateServiceInstanceResponse.class, + builder -> + builder.pathSegment( + "service_instances", request.getServiceInstanceId())) + .checkpoint(); } - } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/servicekeys/ReactorServiceKeys.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/servicekeys/ReactorServiceKeys.java index 8d6d438a4b..372b463431 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/servicekeys/ReactorServiceKeys.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/servicekeys/ReactorServiceKeys.java @@ -16,6 +16,7 @@ package org.cloudfoundry.reactor.client.v2.servicekeys; +import java.util.Map; import org.cloudfoundry.client.v2.serviceinstances.ServiceInstances; import org.cloudfoundry.client.v2.servicekeys.CreateServiceKeyRequest; import org.cloudfoundry.client.v2.servicekeys.CreateServiceKeyResponse; @@ -30,8 +31,6 @@ import org.cloudfoundry.reactor.client.v2.AbstractClientV2Operations; import reactor.core.publisher.Mono; -import java.util.Map; - /** * The Reactor-based implementation of {@link ServiceInstances} */ @@ -45,32 +44,47 @@ public final class ReactorServiceKeys extends AbstractClientV2Operations impleme * @param tokenProvider the {@link TokenProvider} to use when communicating with the server * @param requestTags map with custom http headers which will be added to web request */ - public ReactorServiceKeys(ConnectionContext connectionContext, Mono root, TokenProvider tokenProvider, Map requestTags) { + public ReactorServiceKeys( + ConnectionContext connectionContext, + Mono root, + TokenProvider tokenProvider, + Map requestTags) { super(connectionContext, root, tokenProvider, requestTags); } @Override public Mono create(CreateServiceKeyRequest request) { - return post(request, CreateServiceKeyResponse.class, builder -> builder.pathSegment("service_keys")) - .checkpoint(); + return post( + request, + CreateServiceKeyResponse.class, + builder -> builder.pathSegment("service_keys")) + .checkpoint(); } @Override public Mono delete(DeleteServiceKeyRequest request) { - return delete(request, Void.class, builder -> builder.pathSegment("service_keys", request.getServiceKeyId())) - .checkpoint(); + return delete( + request, + Void.class, + builder -> builder.pathSegment("service_keys", request.getServiceKeyId())) + .checkpoint(); } @Override public Mono get(GetServiceKeyRequest request) { - return get(request, GetServiceKeyResponse.class, builder -> builder.pathSegment("service_keys", request.getServiceKeyId())) - .checkpoint(); + return get( + request, + GetServiceKeyResponse.class, + builder -> builder.pathSegment("service_keys", request.getServiceKeyId())) + .checkpoint(); } @Override public Mono list(ListServiceKeysRequest request) { - return get(request, ListServiceKeysResponse.class, builder -> builder.pathSegment("service_keys")) - .checkpoint(); + return get( + request, + ListServiceKeysResponse.class, + builder -> builder.pathSegment("service_keys")) + .checkpoint(); } - } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/serviceplans/ReactorServicePlans.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/serviceplans/ReactorServicePlans.java index 74eebc4d4d..adf914550f 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/serviceplans/ReactorServicePlans.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/serviceplans/ReactorServicePlans.java @@ -16,6 +16,7 @@ package org.cloudfoundry.reactor.client.v2.serviceplans; +import java.util.Map; import org.cloudfoundry.client.v2.serviceplans.DeleteServicePlanRequest; import org.cloudfoundry.client.v2.serviceplans.DeleteServicePlanResponse; import org.cloudfoundry.client.v2.serviceplans.GetServicePlanRequest; @@ -32,8 +33,6 @@ import org.cloudfoundry.reactor.client.v2.AbstractClientV2Operations; import reactor.core.publisher.Mono; -import java.util.Map; - /** * The Reactor-based implementation of {@link ServicePlans} */ @@ -47,39 +46,61 @@ public final class ReactorServicePlans extends AbstractClientV2Operations implem * @param tokenProvider the {@link TokenProvider} to use when communicating with the server * @param requestTags map with custom http headers which will be added to web request */ - public ReactorServicePlans(ConnectionContext connectionContext, Mono root, TokenProvider tokenProvider, Map requestTags) { + public ReactorServicePlans( + ConnectionContext connectionContext, + Mono root, + TokenProvider tokenProvider, + Map requestTags) { super(connectionContext, root, tokenProvider, requestTags); } @Override public Mono delete(DeleteServicePlanRequest request) { - return delete(request, DeleteServicePlanResponse.class, builder -> builder.pathSegment("service_plans", request.getServicePlanId())) - .checkpoint(); + return delete( + request, + DeleteServicePlanResponse.class, + builder -> builder.pathSegment("service_plans", request.getServicePlanId())) + .checkpoint(); } @Override public Mono get(GetServicePlanRequest request) { - return get(request, GetServicePlanResponse.class, builder -> builder.pathSegment("service_plans", request.getServicePlanId())) - .checkpoint(); + return get( + request, + GetServicePlanResponse.class, + builder -> builder.pathSegment("service_plans", request.getServicePlanId())) + .checkpoint(); } @Override public Mono list(ListServicePlansRequest request) { - return get(request, ListServicePlansResponse.class, builder -> builder.pathSegment("service_plans")) - .checkpoint(); + return get( + request, + ListServicePlansResponse.class, + builder -> builder.pathSegment("service_plans")) + .checkpoint(); } @Override - public Mono listServiceInstances(ListServicePlanServiceInstancesRequest request) { - return get(request, ListServicePlanServiceInstancesResponse.class, - builder -> builder.pathSegment("service_plans", request.getServicePlanId(), "service_instances")) - .checkpoint(); + public Mono listServiceInstances( + ListServicePlanServiceInstancesRequest request) { + return get( + request, + ListServicePlanServiceInstancesResponse.class, + builder -> + builder.pathSegment( + "service_plans", + request.getServicePlanId(), + "service_instances")) + .checkpoint(); } @Override public Mono update(UpdateServicePlanRequest request) { - return put(request, UpdateServicePlanResponse.class, builder -> builder.pathSegment("service_plans", request.getServicePlanId())) - .checkpoint(); + return put( + request, + UpdateServicePlanResponse.class, + builder -> builder.pathSegment("service_plans", request.getServicePlanId())) + .checkpoint(); } - } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/serviceplanvisibilities/ReactorServicePlanVisibilities.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/serviceplanvisibilities/ReactorServicePlanVisibilities.java index 70ee7c65cb..97412c0488 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/serviceplanvisibilities/ReactorServicePlanVisibilities.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/serviceplanvisibilities/ReactorServicePlanVisibilities.java @@ -16,6 +16,7 @@ package org.cloudfoundry.reactor.client.v2.serviceplanvisibilities; +import java.util.Map; import org.cloudfoundry.client.v2.serviceplanvisibilities.CreateServicePlanVisibilityRequest; import org.cloudfoundry.client.v2.serviceplanvisibilities.CreateServicePlanVisibilityResponse; import org.cloudfoundry.client.v2.serviceplanvisibilities.DeleteServicePlanVisibilityRequest; @@ -32,12 +33,11 @@ import org.cloudfoundry.reactor.client.v2.AbstractClientV2Operations; import reactor.core.publisher.Mono; -import java.util.Map; - /** * The Reactor-based implementation of {@link ServicePlanVisibilities} */ -public final class ReactorServicePlanVisibilities extends AbstractClientV2Operations implements ServicePlanVisibilities { +public final class ReactorServicePlanVisibilities extends AbstractClientV2Operations + implements ServicePlanVisibilities { /** * Creates an instance @@ -47,38 +47,69 @@ public final class ReactorServicePlanVisibilities extends AbstractClientV2Operat * @param tokenProvider the {@link TokenProvider} to use when communicating with the server * @param requestTags map with custom http headers which will be added to web request */ - public ReactorServicePlanVisibilities(ConnectionContext connectionContext, Mono root, TokenProvider tokenProvider, Map requestTags) { + public ReactorServicePlanVisibilities( + ConnectionContext connectionContext, + Mono root, + TokenProvider tokenProvider, + Map requestTags) { super(connectionContext, root, tokenProvider, requestTags); } @Override - public Mono create(CreateServicePlanVisibilityRequest request) { - return post(request, CreateServicePlanVisibilityResponse.class, builder -> builder.pathSegment("service_plan_visibilities")) - .checkpoint(); + public Mono create( + CreateServicePlanVisibilityRequest request) { + return post( + request, + CreateServicePlanVisibilityResponse.class, + builder -> builder.pathSegment("service_plan_visibilities")) + .checkpoint(); } @Override - public Mono delete(DeleteServicePlanVisibilityRequest request) { - return delete(request, DeleteServicePlanVisibilityResponse.class, builder -> builder.pathSegment("service_plan_visibilities", request.getServicePlanVisibilityId())) - .checkpoint(); + public Mono delete( + DeleteServicePlanVisibilityRequest request) { + return delete( + request, + DeleteServicePlanVisibilityResponse.class, + builder -> + builder.pathSegment( + "service_plan_visibilities", + request.getServicePlanVisibilityId())) + .checkpoint(); } @Override public Mono get(GetServicePlanVisibilityRequest request) { - return get(request, GetServicePlanVisibilityResponse.class, builder -> builder.pathSegment("service_plan_visibilities", request.getServicePlanVisibilityId())) - .checkpoint(); + return get( + request, + GetServicePlanVisibilityResponse.class, + builder -> + builder.pathSegment( + "service_plan_visibilities", + request.getServicePlanVisibilityId())) + .checkpoint(); } @Override - public Mono list(ListServicePlanVisibilitiesRequest request) { - return get(request, ListServicePlanVisibilitiesResponse.class, builder -> builder.pathSegment("service_plan_visibilities")) - .checkpoint(); + public Mono list( + ListServicePlanVisibilitiesRequest request) { + return get( + request, + ListServicePlanVisibilitiesResponse.class, + builder -> builder.pathSegment("service_plan_visibilities")) + .checkpoint(); } @Override - public Mono update(UpdateServicePlanVisibilityRequest request) { - return put(request, UpdateServicePlanVisibilityResponse.class, builder -> builder.pathSegment("service_plan_visibilities", request.getServicePlanVisibilityId())) - .checkpoint(); + public Mono update( + UpdateServicePlanVisibilityRequest request) { + return put( + request, + UpdateServicePlanVisibilityResponse.class, + builder -> + builder.pathSegment( + "service_plan_visibilities", + request.getServicePlanVisibilityId())) + .checkpoint(); } - } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/services/ReactorServices.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/services/ReactorServices.java index 508d670913..4a569a80d5 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/services/ReactorServices.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/services/ReactorServices.java @@ -16,6 +16,7 @@ package org.cloudfoundry.reactor.client.v2.services; +import java.util.Map; import org.cloudfoundry.client.v2.services.DeleteServiceRequest; import org.cloudfoundry.client.v2.services.DeleteServiceResponse; import org.cloudfoundry.client.v2.services.GetServiceRequest; @@ -30,8 +31,6 @@ import org.cloudfoundry.reactor.client.v2.AbstractClientV2Operations; import reactor.core.publisher.Mono; -import java.util.Map; - /** * The Reactor-based implementation of {@link Services} */ @@ -45,32 +44,47 @@ public final class ReactorServices extends AbstractClientV2Operations implements * @param tokenProvider the {@link TokenProvider} to use when communicating with the server * @param requestTags map with custom http headers which will be added to web request */ - public ReactorServices(ConnectionContext connectionContext, Mono root, TokenProvider tokenProvider, Map requestTags) { + public ReactorServices( + ConnectionContext connectionContext, + Mono root, + TokenProvider tokenProvider, + Map requestTags) { super(connectionContext, root, tokenProvider, requestTags); } @Override public Mono delete(DeleteServiceRequest request) { - return delete(request, DeleteServiceResponse.class, builder -> builder.pathSegment("services", request.getServiceId())) - .checkpoint(); + return delete( + request, + DeleteServiceResponse.class, + builder -> builder.pathSegment("services", request.getServiceId())) + .checkpoint(); } @Override public Mono get(GetServiceRequest request) { - return get(request, GetServiceResponse.class, builder -> builder.pathSegment("services", request.getServiceId())) - .checkpoint(); + return get( + request, + GetServiceResponse.class, + builder -> builder.pathSegment("services", request.getServiceId())) + .checkpoint(); } @Override public Mono list(ListServicesRequest request) { return get(request, ListServicesResponse.class, builder -> builder.pathSegment("services")) - .checkpoint(); + .checkpoint(); } @Override - public Mono listServicePlans(ListServiceServicePlansRequest request) { - return get(request, ListServiceServicePlansResponse.class, builder -> builder.pathSegment("services", request.getServiceId(), "service_plans")) - .checkpoint(); + public Mono listServicePlans( + ListServiceServicePlansRequest request) { + return get( + request, + ListServiceServicePlansResponse.class, + builder -> + builder.pathSegment( + "services", request.getServiceId(), "service_plans")) + .checkpoint(); } - } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/serviceusageevents/ReactorServiceUsageEvents.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/serviceusageevents/ReactorServiceUsageEvents.java index 5028c35200..810d9c0bb4 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/serviceusageevents/ReactorServiceUsageEvents.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/serviceusageevents/ReactorServiceUsageEvents.java @@ -16,6 +16,7 @@ package org.cloudfoundry.reactor.client.v2.serviceusageevents; +import java.util.Map; import org.cloudfoundry.client.v2.serviceusageevents.GetServiceUsageEventRequest; import org.cloudfoundry.client.v2.serviceusageevents.GetServiceUsageEventResponse; import org.cloudfoundry.client.v2.serviceusageevents.ListServiceUsageEventsRequest; @@ -27,12 +28,11 @@ import org.cloudfoundry.reactor.client.v2.AbstractClientV2Operations; import reactor.core.publisher.Mono; -import java.util.Map; - /** * The Reactor-based implementation of {@link ServiceUsageEvents} */ -public final class ReactorServiceUsageEvents extends AbstractClientV2Operations implements ServiceUsageEvents { +public final class ReactorServiceUsageEvents extends AbstractClientV2Operations + implements ServiceUsageEvents { /** * Creates an instance @@ -42,26 +42,43 @@ public final class ReactorServiceUsageEvents extends AbstractClientV2Operations * @param tokenProvider the {@link TokenProvider} to use when communicating with the server * @param requestTags map with custom http headers which will be added to web request */ - public ReactorServiceUsageEvents(ConnectionContext connectionContext, Mono root, TokenProvider tokenProvider, Map requestTags) { + public ReactorServiceUsageEvents( + ConnectionContext connectionContext, + Mono root, + TokenProvider tokenProvider, + Map requestTags) { super(connectionContext, root, tokenProvider, requestTags); } @Override public Mono get(GetServiceUsageEventRequest request) { - return get(request, GetServiceUsageEventResponse.class, builder -> builder.pathSegment("service_usage_events", request.getServiceUsageEventId())) - .checkpoint(); + return get( + request, + GetServiceUsageEventResponse.class, + builder -> + builder.pathSegment( + "service_usage_events", request.getServiceUsageEventId())) + .checkpoint(); } @Override public Mono list(ListServiceUsageEventsRequest request) { - return get(request, ListServiceUsageEventsResponse.class, builder -> builder.pathSegment("service_usage_events")) - .checkpoint(); + return get( + request, + ListServiceUsageEventsResponse.class, + builder -> builder.pathSegment("service_usage_events")) + .checkpoint(); } @Override public Mono purgeAndReseed(PurgeAndReseedServiceUsageEventsRequest request) { - return post(request, Void.class, builder -> builder.pathSegment("service_usage_events", "destructively_purge_all_and_reseed_existing_instances")) - .checkpoint(); + return post( + request, + Void.class, + builder -> + builder.pathSegment( + "service_usage_events", + "destructively_purge_all_and_reseed_existing_instances")) + .checkpoint(); } - } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/shareddomains/ReactorSharedDomains.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/shareddomains/ReactorSharedDomains.java index dda9744dfe..21e5305991 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/shareddomains/ReactorSharedDomains.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/shareddomains/ReactorSharedDomains.java @@ -16,6 +16,7 @@ package org.cloudfoundry.reactor.client.v2.shareddomains; +import java.util.Map; import org.cloudfoundry.client.v2.shareddomains.CreateSharedDomainRequest; import org.cloudfoundry.client.v2.shareddomains.CreateSharedDomainResponse; import org.cloudfoundry.client.v2.shareddomains.DeleteSharedDomainRequest; @@ -30,12 +31,11 @@ import org.cloudfoundry.reactor.client.v2.AbstractClientV2Operations; import reactor.core.publisher.Mono; -import java.util.Map; - /** * The Reactor-based implementation of {@link SharedDomains} */ -public final class ReactorSharedDomains extends AbstractClientV2Operations implements SharedDomains { +public final class ReactorSharedDomains extends AbstractClientV2Operations + implements SharedDomains { /** * Creates an instance @@ -45,33 +45,49 @@ public final class ReactorSharedDomains extends AbstractClientV2Operations imple * @param tokenProvider the {@link TokenProvider} to use when communicating with the server * @param requestTags map with custom http headers which will be added to web request */ - public ReactorSharedDomains(ConnectionContext connectionContext, Mono root, TokenProvider tokenProvider, Map requestTags) { + public ReactorSharedDomains( + ConnectionContext connectionContext, + Mono root, + TokenProvider tokenProvider, + Map requestTags) { super(connectionContext, root, tokenProvider, requestTags); } @Override public Mono create(CreateSharedDomainRequest request) { - return post(request, CreateSharedDomainResponse.class, builder -> builder.pathSegment("shared_domains")) - .checkpoint(); + return post( + request, + CreateSharedDomainResponse.class, + builder -> builder.pathSegment("shared_domains")) + .checkpoint(); } @Override public Mono delete(DeleteSharedDomainRequest request) { - return delete(request, DeleteSharedDomainResponse.class, builder -> builder.pathSegment("shared_domains", request.getSharedDomainId())) - .checkpoint(); + return delete( + request, + DeleteSharedDomainResponse.class, + builder -> + builder.pathSegment("shared_domains", request.getSharedDomainId())) + .checkpoint(); } @Override public Mono get(GetSharedDomainRequest request) { - return get(request, GetSharedDomainResponse.class, builder -> builder.pathSegment("shared_domains", request.getSharedDomainId())) - .checkpoint(); - + return get( + request, + GetSharedDomainResponse.class, + builder -> + builder.pathSegment("shared_domains", request.getSharedDomainId())) + .checkpoint(); } @Override public Mono list(ListSharedDomainsRequest request) { - return get(request, ListSharedDomainsResponse.class, builder -> builder.pathSegment("shared_domains")) - .checkpoint(); + return get( + request, + ListSharedDomainsResponse.class, + builder -> builder.pathSegment("shared_domains")) + .checkpoint(); } - } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/spacequotadefinitions/ReactorSpaceQuotaDefinitions.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/spacequotadefinitions/ReactorSpaceQuotaDefinitions.java index e11dc527c5..9a83379990 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/spacequotadefinitions/ReactorSpaceQuotaDefinitions.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/spacequotadefinitions/ReactorSpaceQuotaDefinitions.java @@ -16,6 +16,7 @@ package org.cloudfoundry.reactor.client.v2.spacequotadefinitions; +import java.util.Map; import org.cloudfoundry.client.v2.spacequotadefinitions.AssociateSpaceQuotaDefinitionRequest; import org.cloudfoundry.client.v2.spacequotadefinitions.AssociateSpaceQuotaDefinitionResponse; import org.cloudfoundry.client.v2.spacequotadefinitions.CreateSpaceQuotaDefinitionRequest; @@ -37,12 +38,11 @@ import org.cloudfoundry.reactor.client.v2.AbstractClientV2Operations; import reactor.core.publisher.Mono; -import java.util.Map; - /** * The Reactor-based implementation of {@link SpaceQuotaDefinitions} */ -public final class ReactorSpaceQuotaDefinitions extends AbstractClientV2Operations implements SpaceQuotaDefinitions { +public final class ReactorSpaceQuotaDefinitions extends AbstractClientV2Operations + implements SpaceQuotaDefinitions { /** * Creates an instance @@ -52,57 +52,111 @@ public final class ReactorSpaceQuotaDefinitions extends AbstractClientV2Operatio * @param tokenProvider the {@link TokenProvider} to use when communicating with the server * @param requestTags map with custom http headers which will be added to web request */ - public ReactorSpaceQuotaDefinitions(ConnectionContext connectionContext, Mono root, TokenProvider tokenProvider, Map requestTags) { + public ReactorSpaceQuotaDefinitions( + ConnectionContext connectionContext, + Mono root, + TokenProvider tokenProvider, + Map requestTags) { super(connectionContext, root, tokenProvider, requestTags); } @Override - public Mono associateSpace(AssociateSpaceQuotaDefinitionRequest request) { - return put(request, AssociateSpaceQuotaDefinitionResponse.class, - builder -> builder.pathSegment("space_quota_definitions", request.getSpaceQuotaDefinitionId(), "spaces", request.getSpaceId())) - .checkpoint(); + public Mono associateSpace( + AssociateSpaceQuotaDefinitionRequest request) { + return put( + request, + AssociateSpaceQuotaDefinitionResponse.class, + builder -> + builder.pathSegment( + "space_quota_definitions", + request.getSpaceQuotaDefinitionId(), + "spaces", + request.getSpaceId())) + .checkpoint(); } @Override - public Mono create(CreateSpaceQuotaDefinitionRequest request) { - return post(request, CreateSpaceQuotaDefinitionResponse.class, builder -> builder.pathSegment("space_quota_definitions")) - .checkpoint(); + public Mono create( + CreateSpaceQuotaDefinitionRequest request) { + return post( + request, + CreateSpaceQuotaDefinitionResponse.class, + builder -> builder.pathSegment("space_quota_definitions")) + .checkpoint(); } @Override - public Mono delete(DeleteSpaceQuotaDefinitionRequest request) { - return delete(request, DeleteSpaceQuotaDefinitionResponse.class, builder -> builder.pathSegment("space_quota_definitions", request.getSpaceQuotaDefinitionId())) - .checkpoint(); + public Mono delete( + DeleteSpaceQuotaDefinitionRequest request) { + return delete( + request, + DeleteSpaceQuotaDefinitionResponse.class, + builder -> + builder.pathSegment( + "space_quota_definitions", + request.getSpaceQuotaDefinitionId())) + .checkpoint(); } @Override public Mono get(GetSpaceQuotaDefinitionRequest request) { - return get(request, GetSpaceQuotaDefinitionResponse.class, builder -> builder.pathSegment("space_quota_definitions", request.getSpaceQuotaDefinitionId())) - .checkpoint(); + return get( + request, + GetSpaceQuotaDefinitionResponse.class, + builder -> + builder.pathSegment( + "space_quota_definitions", + request.getSpaceQuotaDefinitionId())) + .checkpoint(); } @Override public Mono list(ListSpaceQuotaDefinitionsRequest request) { - return get(request, ListSpaceQuotaDefinitionsResponse.class, builder -> builder.pathSegment("space_quota_definitions")) - .checkpoint(); + return get( + request, + ListSpaceQuotaDefinitionsResponse.class, + builder -> builder.pathSegment("space_quota_definitions")) + .checkpoint(); } @Override - public Mono listSpaces(ListSpaceQuotaDefinitionSpacesRequest request) { - return get(request, ListSpaceQuotaDefinitionSpacesResponse.class, builder -> builder.pathSegment("space_quota_definitions", request.getSpaceQuotaDefinitionId(), "spaces")) - .checkpoint(); + public Mono listSpaces( + ListSpaceQuotaDefinitionSpacesRequest request) { + return get( + request, + ListSpaceQuotaDefinitionSpacesResponse.class, + builder -> + builder.pathSegment( + "space_quota_definitions", + request.getSpaceQuotaDefinitionId(), + "spaces")) + .checkpoint(); } @Override public Mono removeSpace(RemoveSpaceQuotaDefinitionRequest request) { - return delete(request, Void.class, builder -> builder.pathSegment("space_quota_definitions", request.getSpaceQuotaDefinitionId(), "spaces", request.getSpaceId())) - .checkpoint(); + return delete( + request, + Void.class, + builder -> + builder.pathSegment( + "space_quota_definitions", + request.getSpaceQuotaDefinitionId(), + "spaces", + request.getSpaceId())) + .checkpoint(); } @Override - public Mono update(UpdateSpaceQuotaDefinitionRequest request) { - return put(request, UpdateSpaceQuotaDefinitionResponse.class, builder -> builder.pathSegment("space_quota_definitions", request.getSpaceQuotaDefinitionId())) - .checkpoint(); + public Mono update( + UpdateSpaceQuotaDefinitionRequest request) { + return put( + request, + UpdateSpaceQuotaDefinitionResponse.class, + builder -> + builder.pathSegment( + "space_quota_definitions", + request.getSpaceQuotaDefinitionId())) + .checkpoint(); } - } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/spaces/ReactorSpaces.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/spaces/ReactorSpaces.java index 7dbeea949a..0dbc69fa68 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/spaces/ReactorSpaces.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/spaces/ReactorSpaces.java @@ -16,6 +16,7 @@ package org.cloudfoundry.reactor.client.v2.spaces; +import java.util.Map; import org.cloudfoundry.client.v2.spaces.AssociateSpaceAuditorByUsernameRequest; import org.cloudfoundry.client.v2.spaces.AssociateSpaceAuditorByUsernameResponse; import org.cloudfoundry.client.v2.spaces.AssociateSpaceAuditorRequest; @@ -80,8 +81,6 @@ import org.cloudfoundry.reactor.client.v2.AbstractClientV2Operations; import reactor.core.publisher.Mono; -import java.util.Map; - /** * The Reactor-based implementation of {@link Spaces} */ @@ -95,195 +94,346 @@ public final class ReactorSpaces extends AbstractClientV2Operations implements S * @param tokenProvider the {@link TokenProvider} to use when communicating with the server * @param requestTags map with custom http headers which will be added to web request */ - public ReactorSpaces(ConnectionContext connectionContext, Mono root, TokenProvider tokenProvider, Map requestTags) { + public ReactorSpaces( + ConnectionContext connectionContext, + Mono root, + TokenProvider tokenProvider, + Map requestTags) { super(connectionContext, root, tokenProvider, requestTags); } @Override - public Mono associateAuditor(AssociateSpaceAuditorRequest request) { - return put(request, AssociateSpaceAuditorResponse.class, builder -> builder.pathSegment("spaces", request.getSpaceId(), "auditors", request.getAuditorId())) - .checkpoint(); + public Mono associateAuditor( + AssociateSpaceAuditorRequest request) { + return put( + request, + AssociateSpaceAuditorResponse.class, + builder -> + builder.pathSegment( + "spaces", + request.getSpaceId(), + "auditors", + request.getAuditorId())) + .checkpoint(); } @Override - public Mono associateAuditorByUsername(AssociateSpaceAuditorByUsernameRequest request) { - return put(request, AssociateSpaceAuditorByUsernameResponse.class, builder -> builder.pathSegment("spaces", request.getSpaceId(), "auditors")) - .checkpoint(); + public Mono associateAuditorByUsername( + AssociateSpaceAuditorByUsernameRequest request) { + return put( + request, + AssociateSpaceAuditorByUsernameResponse.class, + builder -> builder.pathSegment("spaces", request.getSpaceId(), "auditors")) + .checkpoint(); } @Override - public Mono associateDeveloper(AssociateSpaceDeveloperRequest request) { - return put(request, AssociateSpaceDeveloperResponse.class, builder -> builder.pathSegment("spaces", request.getSpaceId(), "developers", request.getDeveloperId())) - .checkpoint(); + public Mono associateDeveloper( + AssociateSpaceDeveloperRequest request) { + return put( + request, + AssociateSpaceDeveloperResponse.class, + builder -> + builder.pathSegment( + "spaces", + request.getSpaceId(), + "developers", + request.getDeveloperId())) + .checkpoint(); } @Override - public Mono associateDeveloperByUsername(AssociateSpaceDeveloperByUsernameRequest request) { - return put(request, AssociateSpaceDeveloperByUsernameResponse.class, builder -> builder.pathSegment("spaces", request.getSpaceId(), "developers")) - .checkpoint(); + public Mono associateDeveloperByUsername( + AssociateSpaceDeveloperByUsernameRequest request) { + return put( + request, + AssociateSpaceDeveloperByUsernameResponse.class, + builder -> + builder.pathSegment("spaces", request.getSpaceId(), "developers")) + .checkpoint(); } @Override - public Mono associateManager(AssociateSpaceManagerRequest request) { - return put(request, AssociateSpaceManagerResponse.class, builder -> builder.pathSegment("spaces", request.getSpaceId(), "managers", request.getManagerId())) - .checkpoint(); + public Mono associateManager( + AssociateSpaceManagerRequest request) { + return put( + request, + AssociateSpaceManagerResponse.class, + builder -> + builder.pathSegment( + "spaces", + request.getSpaceId(), + "managers", + request.getManagerId())) + .checkpoint(); } @Override - public Mono associateManagerByUsername(AssociateSpaceManagerByUsernameRequest request) { - return put(request, AssociateSpaceManagerByUsernameResponse.class, builder -> builder.pathSegment("spaces", request.getSpaceId(), "managers")) - .checkpoint(); + public Mono associateManagerByUsername( + AssociateSpaceManagerByUsernameRequest request) { + return put( + request, + AssociateSpaceManagerByUsernameResponse.class, + builder -> builder.pathSegment("spaces", request.getSpaceId(), "managers")) + .checkpoint(); } @Override - public Mono associateSecurityGroup(AssociateSpaceSecurityGroupRequest request) { - return put(request, AssociateSpaceSecurityGroupResponse.class, builder -> builder.pathSegment("spaces", request.getSpaceId(), "security_groups", request.getSecurityGroupId())) - .checkpoint(); + public Mono associateSecurityGroup( + AssociateSpaceSecurityGroupRequest request) { + return put( + request, + AssociateSpaceSecurityGroupResponse.class, + builder -> + builder.pathSegment( + "spaces", + request.getSpaceId(), + "security_groups", + request.getSecurityGroupId())) + .checkpoint(); } @Override public Mono create(CreateSpaceRequest request) { return post(request, CreateSpaceResponse.class, builder -> builder.pathSegment("spaces")) - .checkpoint(); + .checkpoint(); } @Override public Mono delete(DeleteSpaceRequest request) { - return delete(request, DeleteSpaceResponse.class, builder -> builder.pathSegment("spaces", request.getSpaceId())) - .checkpoint(); + return delete( + request, + DeleteSpaceResponse.class, + builder -> builder.pathSegment("spaces", request.getSpaceId())) + .checkpoint(); } @Override public Mono get(GetSpaceRequest request) { - return get(request, GetSpaceResponse.class, builder -> builder.pathSegment("spaces", request.getSpaceId())) - .checkpoint(); + return get( + request, + GetSpaceResponse.class, + builder -> builder.pathSegment("spaces", request.getSpaceId())) + .checkpoint(); } @Override public Mono getSummary(GetSpaceSummaryRequest request) { - return get(request, GetSpaceSummaryResponse.class, builder -> builder.pathSegment("spaces", request.getSpaceId(), "summary")) - .checkpoint(); + return get( + request, + GetSpaceSummaryResponse.class, + builder -> builder.pathSegment("spaces", request.getSpaceId(), "summary")) + .checkpoint(); } @Override public Mono list(ListSpacesRequest request) { return get(request, ListSpacesResponse.class, builder -> builder.pathSegment("spaces")) - .checkpoint(); + .checkpoint(); } @Override - public Mono listApplications(ListSpaceApplicationsRequest request) { - return get(request, ListSpaceApplicationsResponse.class, builder -> builder.pathSegment("spaces", request.getSpaceId(), "apps")) - .checkpoint(); + public Mono listApplications( + ListSpaceApplicationsRequest request) { + return get( + request, + ListSpaceApplicationsResponse.class, + builder -> builder.pathSegment("spaces", request.getSpaceId(), "apps")) + .checkpoint(); } @Override public Mono listAuditors(ListSpaceAuditorsRequest request) { - return get(request, ListSpaceAuditorsResponse.class, builder -> builder.pathSegment("spaces", request.getSpaceId(), "auditors")) - .checkpoint(); + return get( + request, + ListSpaceAuditorsResponse.class, + builder -> builder.pathSegment("spaces", request.getSpaceId(), "auditors")) + .checkpoint(); } @Override public Mono listDevelopers(ListSpaceDevelopersRequest request) { - return get(request, ListSpaceDevelopersResponse.class, builder -> builder.pathSegment("spaces", request.getSpaceId(), "developers")) - .checkpoint(); + return get( + request, + ListSpaceDevelopersResponse.class, + builder -> + builder.pathSegment("spaces", request.getSpaceId(), "developers")) + .checkpoint(); } @Override @SuppressWarnings("deprecation") public Mono listDomains(ListSpaceDomainsRequest request) { - return get(request, ListSpaceDomainsResponse.class, builder -> builder.pathSegment("spaces", request.getSpaceId(), "domains")) - .checkpoint(); + return get( + request, + ListSpaceDomainsResponse.class, + builder -> builder.pathSegment("spaces", request.getSpaceId(), "domains")) + .checkpoint(); } @Override public Mono listEvents(ListSpaceEventsRequest request) { - return get(request, ListSpaceEventsResponse.class, builder -> builder.pathSegment("spaces", request.getSpaceId(), "events")) - .checkpoint(); + return get( + request, + ListSpaceEventsResponse.class, + builder -> builder.pathSegment("spaces", request.getSpaceId(), "events")) + .checkpoint(); } @Override public Mono listManagers(ListSpaceManagersRequest request) { - return get(request, ListSpaceManagersResponse.class, builder -> builder.pathSegment("spaces", request.getSpaceId(), "managers")) - .checkpoint(); + return get( + request, + ListSpaceManagersResponse.class, + builder -> builder.pathSegment("spaces", request.getSpaceId(), "managers")) + .checkpoint(); } @Override public Mono listRoutes(ListSpaceRoutesRequest request) { - return get(request, ListSpaceRoutesResponse.class, builder -> builder.pathSegment("spaces", request.getSpaceId(), "routes")) - .checkpoint(); + return get( + request, + ListSpaceRoutesResponse.class, + builder -> builder.pathSegment("spaces", request.getSpaceId(), "routes")) + .checkpoint(); } @Override - public Mono listSecurityGroups(ListSpaceSecurityGroupsRequest request) { - return get(request, ListSpaceSecurityGroupsResponse.class, builder -> builder.pathSegment("spaces", request.getSpaceId(), "security_groups")) - .checkpoint(); + public Mono listSecurityGroups( + ListSpaceSecurityGroupsRequest request) { + return get( + request, + ListSpaceSecurityGroupsResponse.class, + builder -> + builder.pathSegment( + "spaces", request.getSpaceId(), "security_groups")) + .checkpoint(); } @Override - public Mono listServiceInstances(ListSpaceServiceInstancesRequest request) { - return get(request, ListSpaceServiceInstancesResponse.class, builder -> builder.pathSegment("spaces", request.getSpaceId(), "service_instances")) - .checkpoint(); + public Mono listServiceInstances( + ListSpaceServiceInstancesRequest request) { + return get( + request, + ListSpaceServiceInstancesResponse.class, + builder -> + builder.pathSegment( + "spaces", request.getSpaceId(), "service_instances")) + .checkpoint(); } @Override public Mono listServices(ListSpaceServicesRequest request) { - return get(request, ListSpaceServicesResponse.class, builder -> builder.pathSegment("spaces", request.getSpaceId(), "services")) - .checkpoint(); + return get( + request, + ListSpaceServicesResponse.class, + builder -> builder.pathSegment("spaces", request.getSpaceId(), "services")) + .checkpoint(); } @Override public Mono listUserRoles(ListSpaceUserRolesRequest request) { - return get(request, ListSpaceUserRolesResponse.class, builder -> builder.pathSegment("spaces", request.getSpaceId(), "user_roles")) - .checkpoint(); + return get( + request, + ListSpaceUserRolesResponse.class, + builder -> + builder.pathSegment("spaces", request.getSpaceId(), "user_roles")) + .checkpoint(); } @Override public Mono removeAuditor(RemoveSpaceAuditorRequest request) { - return delete(request, Void.class, builder -> builder.pathSegment("spaces", request.getSpaceId(), "auditors", request.getAuditorId())) - .checkpoint(); + return delete( + request, + Void.class, + builder -> + builder.pathSegment( + "spaces", + request.getSpaceId(), + "auditors", + request.getAuditorId())) + .checkpoint(); } @Override - public Mono removeAuditorByUsername(RemoveSpaceAuditorByUsernameRequest request) { - return delete(request, RemoveSpaceAuditorByUsernameResponse.class, builder -> builder.pathSegment("spaces", request.getSpaceId(), "auditors")) - .checkpoint(); + public Mono removeAuditorByUsername( + RemoveSpaceAuditorByUsernameRequest request) { + return delete( + request, + RemoveSpaceAuditorByUsernameResponse.class, + builder -> builder.pathSegment("spaces", request.getSpaceId(), "auditors")) + .checkpoint(); } @Override public Mono removeDeveloper(RemoveSpaceDeveloperRequest request) { - return delete(request, Void.class, builder -> builder.pathSegment("spaces", request.getSpaceId(), "developers", request.getDeveloperId())) - .checkpoint(); + return delete( + request, + Void.class, + builder -> + builder.pathSegment( + "spaces", + request.getSpaceId(), + "developers", + request.getDeveloperId())) + .checkpoint(); } @Override - public Mono removeDeveloperByUsername(RemoveSpaceDeveloperByUsernameRequest request) { - return delete(request, RemoveSpaceDeveloperByUsernameResponse.class, builder -> builder.pathSegment("spaces", request.getSpaceId(), "developers")) - .checkpoint(); + public Mono removeDeveloperByUsername( + RemoveSpaceDeveloperByUsernameRequest request) { + return delete( + request, + RemoveSpaceDeveloperByUsernameResponse.class, + builder -> + builder.pathSegment("spaces", request.getSpaceId(), "developers")) + .checkpoint(); } @Override public Mono removeManager(RemoveSpaceManagerRequest request) { - return delete(request, Void.class, builder -> builder.pathSegment("spaces", request.getSpaceId(), "managers", request.getManagerId())) - .checkpoint(); + return delete( + request, + Void.class, + builder -> + builder.pathSegment( + "spaces", + request.getSpaceId(), + "managers", + request.getManagerId())) + .checkpoint(); } @Override - public Mono removeManagerByUsername(RemoveSpaceManagerByUsernameRequest request) { - return delete(request, RemoveSpaceManagerByUsernameResponse.class, builder -> builder.pathSegment("spaces", request.getSpaceId(), "managers")) - .checkpoint(); + public Mono removeManagerByUsername( + RemoveSpaceManagerByUsernameRequest request) { + return delete( + request, + RemoveSpaceManagerByUsernameResponse.class, + builder -> builder.pathSegment("spaces", request.getSpaceId(), "managers")) + .checkpoint(); } @Override public Mono removeSecurityGroup(RemoveSpaceSecurityGroupRequest request) { - return delete(request, Void.class, builder -> builder.pathSegment("spaces", request.getSpaceId(), "security_groups", request.getSecurityGroupId())) - .checkpoint(); + return delete( + request, + Void.class, + builder -> + builder.pathSegment( + "spaces", + request.getSpaceId(), + "security_groups", + request.getSecurityGroupId())) + .checkpoint(); } @Override public Mono update(UpdateSpaceRequest request) { - return put(request, UpdateSpaceResponse.class, builder -> builder.pathSegment("spaces", request.getSpaceId())) - .checkpoint(); + return put( + request, + UpdateSpaceResponse.class, + builder -> builder.pathSegment("spaces", request.getSpaceId())) + .checkpoint(); } - } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/stacks/ReactorStacks.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/stacks/ReactorStacks.java index c7589155b3..8e478948a1 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/stacks/ReactorStacks.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/stacks/ReactorStacks.java @@ -16,6 +16,7 @@ package org.cloudfoundry.reactor.client.v2.stacks; +import java.util.Map; import org.cloudfoundry.client.v2.stacks.CreateStackRequest; import org.cloudfoundry.client.v2.stacks.CreateStackResponse; import org.cloudfoundry.client.v2.stacks.DeleteStackRequest; @@ -30,8 +31,6 @@ import org.cloudfoundry.reactor.client.v2.AbstractClientV2Operations; import reactor.core.publisher.Mono; -import java.util.Map; - /** * The Reactor-based implementation of {@link Stacks} */ @@ -45,32 +44,41 @@ public final class ReactorStacks extends AbstractClientV2Operations implements S * @param tokenProvider the {@link TokenProvider} to use when communicating with the server * @param requestTags map with custom http headers which will be added to web request */ - public ReactorStacks(ConnectionContext connectionContext, Mono root, TokenProvider tokenProvider, Map requestTags) { + public ReactorStacks( + ConnectionContext connectionContext, + Mono root, + TokenProvider tokenProvider, + Map requestTags) { super(connectionContext, root, tokenProvider, requestTags); } @Override public Mono create(CreateStackRequest request) { return post(request, CreateStackResponse.class, builder -> builder.pathSegment("stacks")) - .checkpoint(); + .checkpoint(); } @Override public Mono delete(DeleteStackRequest request) { - return delete(request, DeleteStackResponse.class, builder -> builder.pathSegment("stacks", request.getStackId())) - .checkpoint(); + return delete( + request, + DeleteStackResponse.class, + builder -> builder.pathSegment("stacks", request.getStackId())) + .checkpoint(); } @Override public Mono get(GetStackRequest request) { - return get(request, GetStackResponse.class, builder -> builder.pathSegment("stacks", request.getStackId())) - .checkpoint(); + return get( + request, + GetStackResponse.class, + builder -> builder.pathSegment("stacks", request.getStackId())) + .checkpoint(); } @Override public Mono list(ListStacksRequest request) { return get(request, ListStacksResponse.class, builder -> builder.pathSegment("stacks")) - .checkpoint(); + .checkpoint(); } - } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/userprovidedserviceinstances/ReactorUserProvidedServiceInstances.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/userprovidedserviceinstances/ReactorUserProvidedServiceInstances.java index 1e2e7cce03..203f6b090a 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/userprovidedserviceinstances/ReactorUserProvidedServiceInstances.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/userprovidedserviceinstances/ReactorUserProvidedServiceInstances.java @@ -16,6 +16,7 @@ package org.cloudfoundry.reactor.client.v2.userprovidedserviceinstances; +import java.util.Map; import org.cloudfoundry.client.v2.userprovidedserviceinstances.AssociateUserProvidedServiceInstanceRouteRequest; import org.cloudfoundry.client.v2.userprovidedserviceinstances.AssociateUserProvidedServiceInstanceRouteResponse; import org.cloudfoundry.client.v2.userprovidedserviceinstances.CreateUserProvidedServiceInstanceRequest; @@ -38,12 +39,11 @@ import org.cloudfoundry.reactor.client.v2.AbstractClientV2Operations; import reactor.core.publisher.Mono; -import java.util.Map; - /** * The Reactor-based implementation of {@link UserProvidedServiceInstances} */ -public final class ReactorUserProvidedServiceInstances extends AbstractClientV2Operations implements UserProvidedServiceInstances { +public final class ReactorUserProvidedServiceInstances extends AbstractClientV2Operations + implements UserProvidedServiceInstances { /** * Creates an instance @@ -53,65 +53,126 @@ public final class ReactorUserProvidedServiceInstances extends AbstractClientV2O * @param tokenProvider the {@link TokenProvider} to use when communicating with the server * @param requestTags map with custom http headers which will be added to web request */ - public ReactorUserProvidedServiceInstances(ConnectionContext connectionContext, Mono root, TokenProvider tokenProvider, Map requestTags) { + public ReactorUserProvidedServiceInstances( + ConnectionContext connectionContext, + Mono root, + TokenProvider tokenProvider, + Map requestTags) { super(connectionContext, root, tokenProvider, requestTags); } @Override - public Mono associateRoute(AssociateUserProvidedServiceInstanceRouteRequest request) { - return put(request, AssociateUserProvidedServiceInstanceRouteResponse.class, - builder -> builder.pathSegment("user_provided_service_instances", request.getUserProvidedServiceInstanceId(), "routes", request.getRouteId())) - .checkpoint(); + public Mono associateRoute( + AssociateUserProvidedServiceInstanceRouteRequest request) { + return put( + request, + AssociateUserProvidedServiceInstanceRouteResponse.class, + builder -> + builder.pathSegment( + "user_provided_service_instances", + request.getUserProvidedServiceInstanceId(), + "routes", + request.getRouteId())) + .checkpoint(); } @Override - public Mono create(CreateUserProvidedServiceInstanceRequest request) { - return post(request, CreateUserProvidedServiceInstanceResponse.class, builder -> builder.pathSegment("user_provided_service_instances")) - .checkpoint(); + public Mono create( + CreateUserProvidedServiceInstanceRequest request) { + return post( + request, + CreateUserProvidedServiceInstanceResponse.class, + builder -> builder.pathSegment("user_provided_service_instances")) + .checkpoint(); } @Override public Mono delete(DeleteUserProvidedServiceInstanceRequest request) { - return delete(request, Void.class, builder -> builder.pathSegment("user_provided_service_instances", request.getUserProvidedServiceInstanceId())) - .checkpoint(); + return delete( + request, + Void.class, + builder -> + builder.pathSegment( + "user_provided_service_instances", + request.getUserProvidedServiceInstanceId())) + .checkpoint(); } @Override - public Mono get(GetUserProvidedServiceInstanceRequest request) { - return get(request, GetUserProvidedServiceInstanceResponse.class, builder -> builder.pathSegment("user_provided_service_instances", request.getUserProvidedServiceInstanceId())) - .checkpoint(); + public Mono get( + GetUserProvidedServiceInstanceRequest request) { + return get( + request, + GetUserProvidedServiceInstanceResponse.class, + builder -> + builder.pathSegment( + "user_provided_service_instances", + request.getUserProvidedServiceInstanceId())) + .checkpoint(); } @Override - public Mono list(ListUserProvidedServiceInstancesRequest request) { - return get(request, ListUserProvidedServiceInstancesResponse.class, builder -> builder.pathSegment("user_provided_service_instances")) - .checkpoint(); + public Mono list( + ListUserProvidedServiceInstancesRequest request) { + return get( + request, + ListUserProvidedServiceInstancesResponse.class, + builder -> builder.pathSegment("user_provided_service_instances")) + .checkpoint(); } @Override - public Mono listRoutes(ListUserProvidedServiceInstanceRoutesRequest request) { - return get(request, ListUserProvidedServiceInstanceRoutesResponse.class, builder -> builder.pathSegment("user_provided_service_instances", request.getUserProvidedServiceInstanceId(), - "routes")) - .checkpoint(); + public Mono listRoutes( + ListUserProvidedServiceInstanceRoutesRequest request) { + return get( + request, + ListUserProvidedServiceInstanceRoutesResponse.class, + builder -> + builder.pathSegment( + "user_provided_service_instances", + request.getUserProvidedServiceInstanceId(), + "routes")) + .checkpoint(); } @Override - public Mono listServiceBindings(ListUserProvidedServiceInstanceServiceBindingsRequest request) { - return get(request, ListUserProvidedServiceInstanceServiceBindingsResponse.class, - builder -> builder.pathSegment("user_provided_service_instances", request.getUserProvidedServiceInstanceId(), "service_bindings")) - .checkpoint(); + public Mono listServiceBindings( + ListUserProvidedServiceInstanceServiceBindingsRequest request) { + return get( + request, + ListUserProvidedServiceInstanceServiceBindingsResponse.class, + builder -> + builder.pathSegment( + "user_provided_service_instances", + request.getUserProvidedServiceInstanceId(), + "service_bindings")) + .checkpoint(); } @Override public Mono removeRoute(RemoveUserProvidedServiceInstanceRouteRequest request) { - return delete(request, Void.class, builder -> builder.pathSegment("user_provided_service_instances", request.getUserProvidedServiceInstanceId(), "routes", request.getRouteId())) - .checkpoint(); + return delete( + request, + Void.class, + builder -> + builder.pathSegment( + "user_provided_service_instances", + request.getUserProvidedServiceInstanceId(), + "routes", + request.getRouteId())) + .checkpoint(); } @Override - public Mono update(UpdateUserProvidedServiceInstanceRequest request) { - return put(request, UpdateUserProvidedServiceInstanceResponse.class, builder -> builder.pathSegment("user_provided_service_instances", request.getUserProvidedServiceInstanceId())) - .checkpoint(); + public Mono update( + UpdateUserProvidedServiceInstanceRequest request) { + return put( + request, + UpdateUserProvidedServiceInstanceResponse.class, + builder -> + builder.pathSegment( + "user_provided_service_instances", + request.getUserProvidedServiceInstanceId())) + .checkpoint(); } - } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/users/ReactorUsers.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/users/ReactorUsers.java index 73f3c6928f..ab7e37be8a 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/users/ReactorUsers.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v2/users/ReactorUsers.java @@ -16,6 +16,7 @@ package org.cloudfoundry.reactor.client.v2.users; +import java.util.Map; import org.cloudfoundry.client.v2.users.AssociateUserAuditedOrganizationRequest; import org.cloudfoundry.client.v2.users.AssociateUserAuditedOrganizationResponse; import org.cloudfoundry.client.v2.users.AssociateUserAuditedSpaceRequest; @@ -69,8 +70,6 @@ import org.cloudfoundry.reactor.client.v2.AbstractClientV2Operations; import reactor.core.publisher.Mono; -import java.util.Map; - /** * The Reactor-based implementation of {@link Users} */ @@ -84,173 +83,343 @@ public final class ReactorUsers extends AbstractClientV2Operations implements Us * @param tokenProvider the {@link TokenProvider} to use when communicating with the server * @param requestTags map with custom http headers which will be added to web request */ - public ReactorUsers(ConnectionContext connectionContext, Mono root, TokenProvider tokenProvider, Map requestTags) { + public ReactorUsers( + ConnectionContext connectionContext, + Mono root, + TokenProvider tokenProvider, + Map requestTags) { super(connectionContext, root, tokenProvider, requestTags); } @Override - public Mono associateAuditedOrganization(AssociateUserAuditedOrganizationRequest request) { - return put(request, AssociateUserAuditedOrganizationResponse.class, builder -> - builder.pathSegment("users", request.getUserId(), "audited_organizations", request.getAuditedOrganizationId())) - .checkpoint(); + public Mono associateAuditedOrganization( + AssociateUserAuditedOrganizationRequest request) { + return put( + request, + AssociateUserAuditedOrganizationResponse.class, + builder -> + builder.pathSegment( + "users", + request.getUserId(), + "audited_organizations", + request.getAuditedOrganizationId())) + .checkpoint(); } @Override - public Mono associateAuditedSpace(AssociateUserAuditedSpaceRequest request) { - return put(request, AssociateUserAuditedSpaceResponse.class, builder -> builder.pathSegment("users", request.getUserId(), "audited_spaces", request.getAuditedSpaceId())) - .checkpoint(); + public Mono associateAuditedSpace( + AssociateUserAuditedSpaceRequest request) { + return put( + request, + AssociateUserAuditedSpaceResponse.class, + builder -> + builder.pathSegment( + "users", + request.getUserId(), + "audited_spaces", + request.getAuditedSpaceId())) + .checkpoint(); } @Override - public Mono associateBillingManagedOrganization(AssociateUserBillingManagedOrganizationRequest request) { - return put(request, AssociateUserBillingManagedOrganizationResponse.class, builder -> - builder.pathSegment("users", request.getUserId(), "billing_managed_organizations", request.getBillingManagedOrganizationId())) - .checkpoint(); + public Mono + associateBillingManagedOrganization( + AssociateUserBillingManagedOrganizationRequest request) { + return put( + request, + AssociateUserBillingManagedOrganizationResponse.class, + builder -> + builder.pathSegment( + "users", + request.getUserId(), + "billing_managed_organizations", + request.getBillingManagedOrganizationId())) + .checkpoint(); } @Override - public Mono associateManagedOrganization(AssociateUserManagedOrganizationRequest request) { - return put(request, AssociateUserManagedOrganizationResponse.class, builder -> - builder.pathSegment("users", request.getUserId(), "managed_organizations", request.getManagedOrganizationId())) - .checkpoint(); + public Mono associateManagedOrganization( + AssociateUserManagedOrganizationRequest request) { + return put( + request, + AssociateUserManagedOrganizationResponse.class, + builder -> + builder.pathSegment( + "users", + request.getUserId(), + "managed_organizations", + request.getManagedOrganizationId())) + .checkpoint(); } @Override - public Mono associateManagedSpace(AssociateUserManagedSpaceRequest request) { - return put(request, AssociateUserManagedSpaceResponse.class, builder -> builder.pathSegment("users", request.getUserId(), "managed_spaces", request.getManagedSpaceId())) - .checkpoint(); + public Mono associateManagedSpace( + AssociateUserManagedSpaceRequest request) { + return put( + request, + AssociateUserManagedSpaceResponse.class, + builder -> + builder.pathSegment( + "users", + request.getUserId(), + "managed_spaces", + request.getManagedSpaceId())) + .checkpoint(); } @Override - public Mono associateOrganization(AssociateUserOrganizationRequest request) { - return put(request, AssociateUserOrganizationResponse.class, builder -> builder.pathSegment("users", request.getUserId(), "organizations", request.getOrganizationId())) - .checkpoint(); + public Mono associateOrganization( + AssociateUserOrganizationRequest request) { + return put( + request, + AssociateUserOrganizationResponse.class, + builder -> + builder.pathSegment( + "users", + request.getUserId(), + "organizations", + request.getOrganizationId())) + .checkpoint(); } @Override public Mono associateSpace(AssociateUserSpaceRequest request) { - return put(request, AssociateUserSpaceResponse.class, builder -> builder.pathSegment("users", request.getUserId(), "spaces", request.getSpaceId())) - .checkpoint(); + return put( + request, + AssociateUserSpaceResponse.class, + builder -> + builder.pathSegment( + "users", + request.getUserId(), + "spaces", + request.getSpaceId())) + .checkpoint(); } @Override public Mono create(CreateUserRequest request) { return post(request, CreateUserResponse.class, builder -> builder.pathSegment("users")) - .checkpoint(); + .checkpoint(); } @Override public Mono delete(DeleteUserRequest request) { - return delete(request, DeleteUserResponse.class, builder -> builder.pathSegment("users", request.getUserId())) - .checkpoint(); + return delete( + request, + DeleteUserResponse.class, + builder -> builder.pathSegment("users", request.getUserId())) + .checkpoint(); } @Override public Mono get(GetUserRequest request) { - return get(request, GetUserResponse.class, builder -> builder.pathSegment("users", request.getUserId())) - .checkpoint(); + return get( + request, + GetUserResponse.class, + builder -> builder.pathSegment("users", request.getUserId())) + .checkpoint(); } @Override public Mono list(ListUsersRequest request) { return get(request, ListUsersResponse.class, builder -> builder.pathSegment("users")) - .checkpoint(); + .checkpoint(); } @Override - public Mono listAuditedOrganizations(ListUserAuditedOrganizationsRequest request) { - return get(request, ListUserAuditedOrganizationsResponse.class, builder -> builder.pathSegment("users", request.getUserId(), "audited_organizations")) - .checkpoint(); + public Mono listAuditedOrganizations( + ListUserAuditedOrganizationsRequest request) { + return get( + request, + ListUserAuditedOrganizationsResponse.class, + builder -> + builder.pathSegment( + "users", request.getUserId(), "audited_organizations")) + .checkpoint(); } @Override - public Mono listAuditedSpaces(ListUserAuditedSpacesRequest request) { - return get(request, ListUserAuditedSpacesResponse.class, builder -> builder.pathSegment("users", request.getUserId(), "audited_spaces")) - .checkpoint(); + public Mono listAuditedSpaces( + ListUserAuditedSpacesRequest request) { + return get( + request, + ListUserAuditedSpacesResponse.class, + builder -> + builder.pathSegment("users", request.getUserId(), "audited_spaces")) + .checkpoint(); } @Override - public Mono listBillingManagedOrganizations(ListUserBillingManagedOrganizationsRequest request) { - return get(request, ListUserBillingManagedOrganizationsResponse.class, builder -> builder.pathSegment("users", request.getUserId(), "billing_managed_organizations")) - .checkpoint(); + public Mono listBillingManagedOrganizations( + ListUserBillingManagedOrganizationsRequest request) { + return get( + request, + ListUserBillingManagedOrganizationsResponse.class, + builder -> + builder.pathSegment( + "users", + request.getUserId(), + "billing_managed_organizations")) + .checkpoint(); } @Override - public Mono listManagedOrganizations(ListUserManagedOrganizationsRequest request) { - return get(request, ListUserManagedOrganizationsResponse.class, builder -> builder.pathSegment("users", request.getUserId(), "managed_organizations")) - .checkpoint(); + public Mono listManagedOrganizations( + ListUserManagedOrganizationsRequest request) { + return get( + request, + ListUserManagedOrganizationsResponse.class, + builder -> + builder.pathSegment( + "users", request.getUserId(), "managed_organizations")) + .checkpoint(); } @Override - public Mono listManagedSpaces(ListUserManagedSpacesRequest request) { - return get(request, ListUserManagedSpacesResponse.class, builder -> builder.pathSegment("users", request.getUserId(), "managed_spaces")) - .checkpoint(); + public Mono listManagedSpaces( + ListUserManagedSpacesRequest request) { + return get( + request, + ListUserManagedSpacesResponse.class, + builder -> + builder.pathSegment("users", request.getUserId(), "managed_spaces")) + .checkpoint(); } @Override - public Mono listOrganizations(ListUserOrganizationsRequest request) { - return get(request, ListUserOrganizationsResponse.class, builder -> builder.pathSegment("users", request.getUserId(), "organizations")) - .checkpoint(); + public Mono listOrganizations( + ListUserOrganizationsRequest request) { + return get( + request, + ListUserOrganizationsResponse.class, + builder -> + builder.pathSegment("users", request.getUserId(), "organizations")) + .checkpoint(); } @Override public Mono listSpaces(ListUserSpacesRequest request) { - return get(request, ListUserSpacesResponse.class, builder -> builder.pathSegment("users", request.getUserId(), "spaces")) - .checkpoint(); + return get( + request, + ListUserSpacesResponse.class, + builder -> builder.pathSegment("users", request.getUserId(), "spaces")) + .checkpoint(); } @Override public Mono removeAuditedOrganization(RemoveUserAuditedOrganizationRequest request) { - return delete(request, Void.class, builder -> builder.pathSegment("users", request.getUserId(), "audited_organizations", request.getAuditedOrganizationId())) - .checkpoint(); + return delete( + request, + Void.class, + builder -> + builder.pathSegment( + "users", + request.getUserId(), + "audited_organizations", + request.getAuditedOrganizationId())) + .checkpoint(); } @Override public Mono removeAuditedSpace(RemoveUserAuditedSpaceRequest request) { - return delete(request, Void.class, builder -> builder.pathSegment("users", request.getUserId(), "audited_spaces", request.getAuditedSpaceId())) - .checkpoint(); + return delete( + request, + Void.class, + builder -> + builder.pathSegment( + "users", + request.getUserId(), + "audited_spaces", + request.getAuditedSpaceId())) + .checkpoint(); } @Override - public Mono removeBillingManagedOrganization(RemoveUserBillingManagedOrganizationRequest request) { - return delete(request, Void.class, builder -> builder.pathSegment("users", request.getUserId(), "billing_managed_organizations", request.getBillingManagedOrganizationId())) - .checkpoint(); + public Mono removeBillingManagedOrganization( + RemoveUserBillingManagedOrganizationRequest request) { + return delete( + request, + Void.class, + builder -> + builder.pathSegment( + "users", + request.getUserId(), + "billing_managed_organizations", + request.getBillingManagedOrganizationId())) + .checkpoint(); } @Override public Mono removeManagedOrganization(RemoveUserManagedOrganizationRequest request) { - return delete(request, Void.class, builder -> builder.pathSegment("users", request.getUserId(), "managed_organizations", request.getManagedOrganizationId())) - .checkpoint(); + return delete( + request, + Void.class, + builder -> + builder.pathSegment( + "users", + request.getUserId(), + "managed_organizations", + request.getManagedOrganizationId())) + .checkpoint(); } @Override public Mono removeManagedSpace(RemoveUserManagedSpaceRequest request) { - return delete(request, Void.class, builder -> builder.pathSegment("users", request.getUserId(), "managed_spaces", request.getManagedSpaceId())) - .checkpoint(); + return delete( + request, + Void.class, + builder -> + builder.pathSegment( + "users", + request.getUserId(), + "managed_spaces", + request.getManagedSpaceId())) + .checkpoint(); } @Override public Mono removeOrganization(RemoveUserOrganizationRequest request) { - return delete(request, Void.class, builder -> builder.pathSegment("users", request.getUserId(), "organizations", request.getOrganizationId())) - .checkpoint(); + return delete( + request, + Void.class, + builder -> + builder.pathSegment( + "users", + request.getUserId(), + "organizations", + request.getOrganizationId())) + .checkpoint(); } @Override public Mono removeSpace(RemoveUserSpaceRequest request) { - return delete(request, Void.class, builder -> builder.pathSegment("users", request.getUserId(), "spaces", request.getSpaceId())) - .checkpoint(); + return delete( + request, + Void.class, + builder -> + builder.pathSegment( + "users", + request.getUserId(), + "spaces", + request.getSpaceId())) + .checkpoint(); } @Override public Mono summary(SummaryUserRequest request) { - return get(request, SummaryUserResponse.class, builder -> builder.pathSegment("users", request.getUserId(), "summary")) - .checkpoint(); + return get( + request, + SummaryUserResponse.class, + builder -> builder.pathSegment("users", request.getUserId(), "summary")) + .checkpoint(); } @Override public Mono update(UpdateUserRequest request) { - return put(request, UpdateUserResponse.class, builder -> builder.pathSegment("users", request.getUserId())) - .checkpoint(); + return put( + request, + UpdateUserResponse.class, + builder -> builder.pathSegment("users", request.getUserId())) + .checkpoint(); } - } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/AbstractClientV3Operations.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/AbstractClientV3Operations.java index 92ee626cbe..cc27ab843c 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/AbstractClientV3Operations.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/AbstractClientV3Operations.java @@ -17,6 +17,12 @@ package org.cloudfoundry.reactor.client.v3; import io.netty.handler.codec.http.HttpHeaderNames; +import java.util.List; +import java.util.Map; +import java.util.function.BiConsumer; +import java.util.function.Consumer; +import java.util.function.Function; +import java.util.stream.Stream; import org.cloudfoundry.reactor.ConnectionContext; import org.cloudfoundry.reactor.HttpClientResponseWithParsedBody; import org.cloudfoundry.reactor.TokenProvider; @@ -37,16 +43,13 @@ import reactor.netty.http.client.HttpClientRequest; import reactor.netty.http.client.HttpClientResponse; -import java.util.List; -import java.util.Map; -import java.util.function.BiConsumer; -import java.util.function.Consumer; -import java.util.function.Function; -import java.util.stream.Stream; - public abstract class AbstractClientV3Operations extends AbstractReactorOperations { - protected AbstractClientV3Operations(ConnectionContext connectionContext, Mono root, TokenProvider tokenProvider, Map requestTags) { + protected AbstractClientV3Operations( + ConnectionContext connectionContext, + Mono root, + TokenProvider tokenProvider, + Map requestTags) { super(connectionContext, root, tokenProvider, requestTags); } @@ -56,7 +59,8 @@ protected static String extractJobId(HttpClientResponse response) { return null; } - List pathSegments = UriComponentsBuilder.fromUriString(locationHeader).build().getPathSegments(); + List pathSegments = + UriComponentsBuilder.fromUriString(locationHeader).build().getPathSegments(); return pathSegments.get(pathSegments.size() - 1); } @@ -65,163 +69,265 @@ protected Mono createOperator() { return super.createOperator().map(this::attachErrorPayloadMapper); } - protected final Mono delete(Object requestPayload, Function uriTransformer) { + protected final Mono delete( + Object requestPayload, + Function uriTransformer) { return createOperator() - .flatMap(operator -> operator.delete() - .uri(queryTransformer(requestPayload).andThen(uriTransformer)) - .send(requestPayload) - .response() - .get()) - .flatMap(response -> Mono.justOrEmpty(extractJobId(response))); + .flatMap( + operator -> + operator.delete() + .uri( + queryTransformer(requestPayload) + .andThen(uriTransformer)) + .send(requestPayload) + .response() + .get()) + .flatMap(response -> Mono.justOrEmpty(extractJobId(response))); } - protected final Mono delete(Object requestPayload, Class responseType, Function uriTransformer) { + protected final Mono delete( + Object requestPayload, + Class responseType, + Function uriTransformer) { return createOperator() - .flatMap(operator -> operator.delete() - .uri(queryTransformer(requestPayload).andThen(uriTransformer)) - .send(requestPayload) - .response() - .parseBody(responseType)); + .flatMap( + operator -> + operator.delete() + .uri( + queryTransformer(requestPayload) + .andThen(uriTransformer)) + .send(requestPayload) + .response() + .parseBody(responseType)); } - protected final Mono> deleteWithResponse(Object requestPayload, Class responseType, - Function uriTransformer) { + protected final Mono> deleteWithResponse( + Object requestPayload, + Class responseType, + Function uriTransformer) { return createOperator() - .flatMap(operator -> operator.delete() - .uri(queryTransformer(requestPayload).andThen(uriTransformer)) - .send(requestPayload) - .response() - .parseBodyWithResponse(responseType)); + .flatMap( + operator -> + operator.delete() + .uri( + queryTransformer(requestPayload) + .andThen(uriTransformer)) + .send(requestPayload) + .response() + .parseBodyWithResponse(responseType)); } - protected final Flux get(Object requestPayload, Function uriTransformer, Function> bodyTransformer) { + protected final Flux get( + Object requestPayload, + Function uriTransformer, + Function> bodyTransformer) { return createOperator() - .flatMapMany(operator -> operator.followRedirects() - .get() - .uri(queryTransformer(requestPayload).andThen(uriTransformer)) - .response() - .parseBodyToFlux(responseWithBody -> bodyTransformer.apply(responseWithBody.getBody()))); + .flatMapMany( + operator -> + operator.followRedirects() + .get() + .uri( + queryTransformer(requestPayload) + .andThen(uriTransformer)) + .response() + .parseBodyToFlux( + responseWithBody -> + bodyTransformer.apply( + responseWithBody.getBody()))); } - protected final Mono get(Object requestPayload, Class responseType, Function uriTransformer) { + protected final Mono get( + Object requestPayload, + Class responseType, + Function uriTransformer) { return createOperator() - .flatMap(operator -> operator.get() - .uri(queryTransformer(requestPayload).andThen(uriTransformer)) - .response() - .parseBody(responseType)); + .flatMap( + operator -> + operator.get() + .uri( + queryTransformer(requestPayload) + .andThen(uriTransformer)) + .response() + .parseBody(responseType)); } - protected final Mono patch(Object requestPayload, Class responseType, Function uriTransformer) { + protected final Mono patch( + Object requestPayload, + Class responseType, + Function uriTransformer) { return createOperator() - .flatMap(operator -> operator.patch() - .uri(queryTransformer(requestPayload).andThen(uriTransformer)) - .send(requestPayload) - .response() - .parseBody(responseType)); + .flatMap( + operator -> + operator.patch() + .uri( + queryTransformer(requestPayload) + .andThen(uriTransformer)) + .send(requestPayload) + .response() + .parseBody(responseType)); } - protected final Mono> patchWithResponse(Object requestPayload, Class responseType, - Function uriTransformer) { + protected final Mono> patchWithResponse( + Object requestPayload, + Class responseType, + Function uriTransformer) { return createOperator() - .flatMap(operator -> operator.patch() - .uri(queryTransformer(requestPayload).andThen(uriTransformer)) - .send(requestPayload) - .response() - .parseBodyWithResponse(responseType)); + .flatMap( + operator -> + operator.patch() + .uri( + queryTransformer(requestPayload) + .andThen(uriTransformer)) + .send(requestPayload) + .response() + .parseBodyWithResponse(responseType)); } - protected final Mono post(Object requestPayload, Class responseType, Function uriTransformer, - Consumer requestTransformer, Runnable onTerminate) { + protected final Mono post( + Object requestPayload, + Class responseType, + Function uriTransformer, + Consumer requestTransformer, + Runnable onTerminate) { return createOperator() - .flatMap(operator -> operator.post() - .uri(queryTransformer(requestPayload).andThen(uriTransformer)) - .sendForm(multipartRequest(requestTransformer)) - .response() - .parseBody(responseType)) - .doFinally(signalType -> onTerminate.run()); + .flatMap( + operator -> + operator.post() + .uri( + queryTransformer(requestPayload) + .andThen(uriTransformer)) + .sendForm(multipartRequest(requestTransformer)) + .response() + .parseBody(responseType)) + .doFinally(signalType -> onTerminate.run()); } - protected Mono post(Object requestPayload, Class responseType, Function uriTransformer) { + protected Mono post( + Object requestPayload, + Class responseType, + Function uriTransformer) { return createOperator() - .flatMap(operator -> operator.post() - .uri(queryTransformer(requestPayload).andThen(uriTransformer)) - .send(requestPayload) - .response() - .parseBody(responseType)); + .flatMap( + operator -> + operator.post() + .uri( + queryTransformer(requestPayload) + .andThen(uriTransformer)) + .send(requestPayload) + .response() + .parseBody(responseType)); } - protected final Mono post(Object requestPayload, Function uriTransformer) { + protected final Mono post( + Object requestPayload, + Function uriTransformer) { return createOperator() - .flatMap(operator -> operator.post() - .uri(queryTransformer(requestPayload).andThen(uriTransformer)) - .send(requestPayload) - .response() - .get()) - .flatMap(response -> Mono.justOrEmpty(extractJobId(response))); + .flatMap( + operator -> + operator.post() + .uri( + queryTransformer(requestPayload) + .andThen(uriTransformer)) + .send(requestPayload) + .response() + .get()) + .flatMap(response -> Mono.justOrEmpty(extractJobId(response))); } - protected Mono> postRawWithResponse(byte[] requestPayload, String contentType, Class responseType, Function uriTransformer) { + protected Mono> postRawWithResponse( + byte[] requestPayload, + String contentType, + Class responseType, + Function uriTransformer) { return createOperator() - .flatMap(operator -> operator.post() - .uri(queryTransformer(requestPayload).andThen(uriTransformer)) - .send((request, outbound) -> { - String contentLength = String.valueOf(requestPayload.length); - Mono body = Mono.just(requestPayload); - - request.header(HttpHeaderNames.CONTENT_LENGTH, contentLength); - request.header(HttpHeaderNames.CONTENT_TYPE, contentType); - return outbound.sendByteArray(body); - }) - .response() - .parseBodyWithResponse(responseType)); - } - - protected final Mono> postWithResponse(Object requestPayload, Class responseType, - Function uriTransformer) { + .flatMap( + operator -> + operator.post() + .uri( + queryTransformer(requestPayload) + .andThen(uriTransformer)) + .send( + (request, outbound) -> { + String contentLength = + String.valueOf(requestPayload.length); + Mono body = Mono.just(requestPayload); + + request.header( + HttpHeaderNames.CONTENT_LENGTH, + contentLength); + request.header( + HttpHeaderNames.CONTENT_TYPE, + contentType); + return outbound.sendByteArray(body); + }) + .response() + .parseBodyWithResponse(responseType)); + } + + protected final Mono> postWithResponse( + Object requestPayload, + Class responseType, + Function uriTransformer) { return createOperator() - .flatMap(operator -> operator.post() - .uri(queryTransformer(requestPayload).andThen(uriTransformer)) - .send(requestPayload) - .response() - .parseBodyWithResponse(responseType)); + .flatMap( + operator -> + operator.post() + .uri( + queryTransformer(requestPayload) + .andThen(uriTransformer)) + .send(requestPayload) + .response() + .parseBodyWithResponse(responseType)); } - protected final Mono put(Object requestPayload, Class responseType, Function uriTransformer) { + protected final Mono put( + Object requestPayload, + Class responseType, + Function uriTransformer) { return createOperator() - .flatMap(operator -> operator.put() - .uri(queryTransformer(requestPayload).andThen(uriTransformer)) - .send(requestPayload) - .response() - .parseBody(responseType)); + .flatMap( + operator -> + operator.put() + .uri( + queryTransformer(requestPayload) + .andThen(uriTransformer)) + .send(requestPayload) + .response() + .parseBody(responseType)); } private Operator attachErrorPayloadMapper(Operator operator) { - return operator.withErrorPayloadMapper(ErrorPayloadMappers.clientV3(this.connectionContext.getObjectMapper())); + return operator.withErrorPayloadMapper( + ErrorPayloadMappers.clientV3(this.connectionContext.getObjectMapper())); } - private MultipartHttpClientRequest createMultipartRequest(HttpClientRequest request, HttpClientForm form) { - return new MultipartHttpClientRequest(this.connectionContext.getObjectMapper(), request, form); + private MultipartHttpClientRequest createMultipartRequest( + HttpClientRequest request, HttpClientForm form) { + return new MultipartHttpClientRequest( + this.connectionContext.getObjectMapper(), request, form); } private UriQueryParameterBuilder getUriQueryParameterBuilder() { - return DelegatingUriQueryParameterBuilder.builder().builders(new FilterBuilder(), new QueryBuilder()).build(); + return DelegatingUriQueryParameterBuilder.builder() + .builders(new FilterBuilder(), new QueryBuilder()) + .build(); } - private BiConsumer - multipartRequest(Consumer requestTransformer) { + private BiConsumer multipartRequest( + Consumer requestTransformer) { return (request, outbound) -> { MultipartHttpClientRequest multipartRequest = createMultipartRequest(request, outbound); requestTransformer.accept(multipartRequest); }; } - private Function queryTransformer(Object requestPayload) { + private Function queryTransformer( + Object requestPayload) { return builder -> { - Stream parameters = getUriQueryParameterBuilder().build(requestPayload); + Stream parameters = + getUriQueryParameterBuilder().build(requestPayload); UriQueryParameters.set(builder, parameters); return builder; }; } - } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/FilterBuilder.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/FilterBuilder.java index 9837f584ba..1586fae8ec 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/FilterBuilder.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/FilterBuilder.java @@ -16,33 +16,34 @@ package org.cloudfoundry.reactor.client.v3; +import java.util.Collection; +import java.util.Objects; +import java.util.stream.Collectors; +import java.util.stream.Stream; import org.cloudfoundry.client.v3.FilterParameter; import org.cloudfoundry.reactor.util.AnnotationUtils; import org.cloudfoundry.reactor.util.AnnotationUtils.AnnotatedValue; import org.cloudfoundry.reactor.util.UriQueryParameter; import org.cloudfoundry.reactor.util.UriQueryParameterBuilder; -import java.util.Collection; -import java.util.Objects; -import java.util.stream.Collectors; -import java.util.stream.Stream; - final class FilterBuilder implements UriQueryParameterBuilder { public Stream build(Object instance) { return AnnotationUtils.streamAnnotatedValues(instance, FilterParameter.class) - .map(FilterBuilder::processValue) - .filter(Objects::nonNull); + .map(FilterBuilder::processValue) + .filter(Objects::nonNull); } private static UriQueryParameter processCollection(String name, Collection collection) { if (collection.isEmpty()) { return null; } - return processValue(name, collection.stream() - .map(Object::toString) - .map(String::trim) - .collect(Collectors.joining(","))); + return processValue( + name, + collection.stream() + .map(Object::toString) + .map(String::trim) + .collect(Collectors.joining(","))); } private static UriQueryParameter processValue(AnnotatedValue annotatedValue) { @@ -58,5 +59,4 @@ private static UriQueryParameter processValue(AnnotatedValue an private static UriQueryParameter processValue(String name, String value) { return UriQueryParameter.of(name, value); } - } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/admin/ReactorAdminV3.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/admin/ReactorAdminV3.java index 421a0584bf..686b8a081d 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/admin/ReactorAdminV3.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/admin/ReactorAdminV3.java @@ -16,6 +16,7 @@ package org.cloudfoundry.reactor.client.v3.admin; +import java.util.Map; import org.cloudfoundry.client.v3.admin.AdminV3; import org.cloudfoundry.client.v3.admin.ClearBuildpackCacheRequest; import org.cloudfoundry.reactor.ConnectionContext; @@ -23,8 +24,6 @@ import org.cloudfoundry.reactor.client.v3.AbstractClientV3Operations; import reactor.core.publisher.Mono; -import java.util.Map; - /** * The Reactor-based implementation of {@link AdminV3} */ @@ -38,14 +37,19 @@ public final class ReactorAdminV3 extends AbstractClientV3Operations implements * @param tokenProvider the {@link TokenProvider} to use when communicating with the server * @param requestTags map with custom http headers which will be added to web request */ - public ReactorAdminV3(ConnectionContext connectionContext, Mono root, TokenProvider tokenProvider, Map requestTags) { + public ReactorAdminV3( + ConnectionContext connectionContext, + Mono root, + TokenProvider tokenProvider, + Map requestTags) { super(connectionContext, root, tokenProvider, requestTags); } @Override public Mono clearBuildpackCache(ClearBuildpackCacheRequest request) { - return post(request, builder -> builder.pathSegment("admin", "actions", "clear_buildpack_cache")) - .checkpoint(); + return post( + request, + builder -> builder.pathSegment("admin", "actions", "clear_buildpack_cache")) + .checkpoint(); } - } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/applications/ReactorApplicationsV3.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/applications/ReactorApplicationsV3.java index 83280fc8ce..4ecfd17ded 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/applications/ReactorApplicationsV3.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/applications/ReactorApplicationsV3.java @@ -16,6 +16,7 @@ package org.cloudfoundry.reactor.client.v3.applications; +import java.util.Map; import org.cloudfoundry.client.v3.applications.ApplicationsV3; import org.cloudfoundry.client.v3.applications.CreateApplicationRequest; import org.cloudfoundry.client.v3.applications.CreateApplicationResponse; @@ -78,12 +79,11 @@ import org.cloudfoundry.reactor.client.v3.AbstractClientV3Operations; import reactor.core.publisher.Mono; -import java.util.Map; - /** * The Reactor-based implementation of {@link ApplicationsV3} */ -public final class ReactorApplicationsV3 extends AbstractClientV3Operations implements ApplicationsV3 { +public final class ReactorApplicationsV3 extends AbstractClientV3Operations + implements ApplicationsV3 { /** * Creates an instance @@ -93,182 +93,352 @@ public final class ReactorApplicationsV3 extends AbstractClientV3Operations impl * @param tokenProvider the {@link TokenProvider} to use when communicating with the server * @param requestTags map with custom http headers which will be added to web request */ - public ReactorApplicationsV3(ConnectionContext connectionContext, Mono root, TokenProvider tokenProvider, Map requestTags) { + public ReactorApplicationsV3( + ConnectionContext connectionContext, + Mono root, + TokenProvider tokenProvider, + Map requestTags) { super(connectionContext, root, tokenProvider, requestTags); } @Override public Mono create(CreateApplicationRequest request) { - return post(request, CreateApplicationResponse.class, builder -> builder.pathSegment("apps")) - .checkpoint(); + return post( + request, + CreateApplicationResponse.class, + builder -> builder.pathSegment("apps")) + .checkpoint(); } @Override public Mono delete(DeleteApplicationRequest request) { return delete(request, builder -> builder.pathSegment("apps", request.getApplicationId())) - .checkpoint(); + .checkpoint(); } @Override public Mono get(GetApplicationRequest request) { - return get(request, GetApplicationResponse.class, builder -> builder.pathSegment("apps", request.getApplicationId())) - .checkpoint(); + return get( + request, + GetApplicationResponse.class, + builder -> builder.pathSegment("apps", request.getApplicationId())) + .checkpoint(); } @Override - public Mono getCurrentDroplet(GetApplicationCurrentDropletRequest request) { - return get(request, GetApplicationCurrentDropletResponse.class, builder -> builder.pathSegment("apps", request.getApplicationId(), "droplets", "current")) - .checkpoint(); + public Mono getCurrentDroplet( + GetApplicationCurrentDropletRequest request) { + return get( + request, + GetApplicationCurrentDropletResponse.class, + builder -> + builder.pathSegment( + "apps", request.getApplicationId(), "droplets", "current")) + .checkpoint(); } @Override - public Mono getCurrentDropletRelationship(GetApplicationCurrentDropletRelationshipRequest request) { - return get(request, GetApplicationCurrentDropletRelationshipResponse.class, builder -> builder.pathSegment("apps", request.getApplicationId(), "relationships", "current_droplet")) - .checkpoint(); + public Mono getCurrentDropletRelationship( + GetApplicationCurrentDropletRelationshipRequest request) { + return get( + request, + GetApplicationCurrentDropletRelationshipResponse.class, + builder -> + builder.pathSegment( + "apps", + request.getApplicationId(), + "relationships", + "current_droplet")) + .checkpoint(); } @Override - public Mono getEnvironment(GetApplicationEnvironmentRequest request) { - return get(request, GetApplicationEnvironmentResponse.class, builder -> builder.pathSegment("apps", request.getApplicationId(), "env")) - .checkpoint(); + public Mono getEnvironment( + GetApplicationEnvironmentRequest request) { + return get( + request, + GetApplicationEnvironmentResponse.class, + builder -> builder.pathSegment("apps", request.getApplicationId(), "env")) + .checkpoint(); } @Override - public Mono getEnvironmentVariables(GetApplicationEnvironmentVariablesRequest request) { - return get(request, GetApplicationEnvironmentVariablesResponse.class, builder -> builder.pathSegment("apps", request.getApplicationId(), "environment_variables")) - .checkpoint(); + public Mono getEnvironmentVariables( + GetApplicationEnvironmentVariablesRequest request) { + return get( + request, + GetApplicationEnvironmentVariablesResponse.class, + builder -> + builder.pathSegment( + "apps", + request.getApplicationId(), + "environment_variables")) + .checkpoint(); } @Override public Mono getFeature(GetApplicationFeatureRequest request) { - return get(request, GetApplicationFeatureResponse.class, builder -> builder.pathSegment("apps", request.getApplicationId(), "features", request.getFeatureName())) - .checkpoint(); + return get( + request, + GetApplicationFeatureResponse.class, + builder -> + builder.pathSegment( + "apps", + request.getApplicationId(), + "features", + request.getFeatureName())) + .checkpoint(); } @Override - public Mono getPermissions(GetApplicationPermissionsRequest request) { - return get(request, GetApplicationPermissionsResponse.class, builder -> builder.pathSegment("apps", request.getApplicationId(), "permissions")) - .checkpoint(); + public Mono getPermissions( + GetApplicationPermissionsRequest request) { + return get( + request, + GetApplicationPermissionsResponse.class, + builder -> + builder.pathSegment( + "apps", request.getApplicationId(), "permissions")) + .checkpoint(); } @Override public Mono getProcess(GetApplicationProcessRequest request) { - return get(request, GetApplicationProcessResponse.class, builder -> builder.pathSegment("apps", request.getApplicationId(), "processes", request.getType())) - .checkpoint(); + return get( + request, + GetApplicationProcessResponse.class, + builder -> + builder.pathSegment( + "apps", + request.getApplicationId(), + "processes", + request.getType())) + .checkpoint(); } @Override - public Mono getProcessStatistics(GetApplicationProcessStatisticsRequest request) { - return get(request, GetApplicationProcessStatisticsResponse.class, builder -> builder.pathSegment("apps", request.getApplicationId(), "processes", request.getType(), "stats")) - .checkpoint(); + public Mono getProcessStatistics( + GetApplicationProcessStatisticsRequest request) { + return get( + request, + GetApplicationProcessStatisticsResponse.class, + builder -> + builder.pathSegment( + "apps", + request.getApplicationId(), + "processes", + request.getType(), + "stats")) + .checkpoint(); } @Override - public Mono getSshEnabled(GetApplicationSshEnabledRequest request) { - return get(request, GetApplicationSshEnabledResponse.class, builder -> builder.pathSegment("apps", request.getApplicationId(), "ssh_enabled")) - .checkpoint(); + public Mono getSshEnabled( + GetApplicationSshEnabledRequest request) { + return get( + request, + GetApplicationSshEnabledResponse.class, + builder -> + builder.pathSegment( + "apps", request.getApplicationId(), "ssh_enabled")) + .checkpoint(); } @Override public Mono list(ListApplicationsRequest request) { return get(request, ListApplicationsResponse.class, builder -> builder.pathSegment("apps")) - .checkpoint(); + .checkpoint(); } @Override public Mono listBuilds(ListApplicationBuildsRequest request) { - return get(request, ListApplicationBuildsResponse.class, builder -> builder.pathSegment("apps", request.getApplicationId(), "builds")) - .checkpoint(); + return get( + request, + ListApplicationBuildsResponse.class, + builder -> + builder.pathSegment("apps", request.getApplicationId(), "builds")) + .checkpoint(); } @Override - public Mono listDroplets(ListApplicationDropletsRequest request) { - return get(request, ListApplicationDropletsResponse.class, builder -> builder.pathSegment("apps", request.getApplicationId(), "droplets")) - .checkpoint(); + public Mono listDroplets( + ListApplicationDropletsRequest request) { + return get( + request, + ListApplicationDropletsResponse.class, + builder -> + builder.pathSegment("apps", request.getApplicationId(), "droplets")) + .checkpoint(); } @Override - public Mono listFeatures(ListApplicationFeaturesRequest request) { - return get(request, ListApplicationFeaturesResponse.class, builder -> builder.pathSegment("apps", request.getApplicationId(), "features")) - .checkpoint(); + public Mono listFeatures( + ListApplicationFeaturesRequest request) { + return get( + request, + ListApplicationFeaturesResponse.class, + builder -> + builder.pathSegment("apps", request.getApplicationId(), "features")) + .checkpoint(); } @Override - public Mono listPackages(ListApplicationPackagesRequest request) { - return get(request, ListApplicationPackagesResponse.class, builder -> builder.pathSegment("apps", request.getApplicationId(), "packages")) - .checkpoint(); + public Mono listPackages( + ListApplicationPackagesRequest request) { + return get( + request, + ListApplicationPackagesResponse.class, + builder -> + builder.pathSegment("apps", request.getApplicationId(), "packages")) + .checkpoint(); } @Override - public Mono listProcesses(ListApplicationProcessesRequest request) { - return get(request, ListApplicationProcessesResponse.class, builder -> builder.pathSegment("apps", request.getApplicationId(), "processes")) - .checkpoint(); + public Mono listProcesses( + ListApplicationProcessesRequest request) { + return get( + request, + ListApplicationProcessesResponse.class, + builder -> + builder.pathSegment( + "apps", request.getApplicationId(), "processes")) + .checkpoint(); } @Override public Mono listRoutes(ListApplicationRoutesRequest request) { - return get(request, ListApplicationRoutesResponse.class, builder -> builder.pathSegment("apps", request.getApplicationId(), "routes")) - .checkpoint(); + return get( + request, + ListApplicationRoutesResponse.class, + builder -> + builder.pathSegment("apps", request.getApplicationId(), "routes")) + .checkpoint(); } @Override public Mono listTasks(ListApplicationTasksRequest request) { - return get(request, ListApplicationTasksResponse.class, builder -> builder.pathSegment("apps", request.getApplicationId(), "tasks")) - .checkpoint(); + return get( + request, + ListApplicationTasksResponse.class, + builder -> builder.pathSegment("apps", request.getApplicationId(), "tasks")) + .checkpoint(); } @Override public Mono scale(ScaleApplicationRequest request) { - return post(request, ScaleApplicationResponse.class, builder -> builder.pathSegment("apps", request.getApplicationId(), "processes", request.getType(), "actions", "scale")) - .checkpoint(); + return post( + request, + ScaleApplicationResponse.class, + builder -> + builder.pathSegment( + "apps", + request.getApplicationId(), + "processes", + request.getType(), + "actions", + "scale")) + .checkpoint(); } @Override - public Mono setCurrentDroplet(SetApplicationCurrentDropletRequest request) { - return patch(request, SetApplicationCurrentDropletResponse.class, builder -> builder.pathSegment("apps", request.getApplicationId(), "relationships", "current_droplet")) - .checkpoint(); + public Mono setCurrentDroplet( + SetApplicationCurrentDropletRequest request) { + return patch( + request, + SetApplicationCurrentDropletResponse.class, + builder -> + builder.pathSegment( + "apps", + request.getApplicationId(), + "relationships", + "current_droplet")) + .checkpoint(); } @Override public Mono start(StartApplicationRequest request) { - return post(request, StartApplicationResponse.class, builder -> builder.pathSegment("apps", request.getApplicationId(), "actions", "start")) - .checkpoint(); + return post( + request, + StartApplicationResponse.class, + builder -> + builder.pathSegment( + "apps", request.getApplicationId(), "actions", "start")) + .checkpoint(); } @Override public Mono restart(RestartApplicationRequest request) { - return post(request, RestartApplicationResponse.class, builder -> builder.pathSegment("apps", request.getApplicationId(), "actions", "restart")) - .checkpoint(); + return post( + request, + RestartApplicationResponse.class, + builder -> + builder.pathSegment( + "apps", request.getApplicationId(), "actions", "restart")) + .checkpoint(); } @Override public Mono stop(StopApplicationRequest request) { - return post(request, StopApplicationResponse.class, builder -> builder.pathSegment("apps", request.getApplicationId(), "actions", "stop")) - .checkpoint(); + return post( + request, + StopApplicationResponse.class, + builder -> + builder.pathSegment( + "apps", request.getApplicationId(), "actions", "stop")) + .checkpoint(); } @Override public Mono terminateInstance(TerminateApplicationInstanceRequest request) { - return delete(request, Void.class, builder -> builder.pathSegment("apps", request.getApplicationId(), "processes", request.getType(), "instances", request.getIndex())) - .checkpoint(); + return delete( + request, + Void.class, + builder -> + builder.pathSegment( + "apps", + request.getApplicationId(), + "processes", + request.getType(), + "instances", + request.getIndex())) + .checkpoint(); } @Override public Mono update(UpdateApplicationRequest request) { - return patch(request, UpdateApplicationResponse.class, builder -> builder.pathSegment("apps", request.getApplicationId())) - .checkpoint(); + return patch( + request, + UpdateApplicationResponse.class, + builder -> builder.pathSegment("apps", request.getApplicationId())) + .checkpoint(); } @Override - public Mono updateEnvironmentVariables(UpdateApplicationEnvironmentVariablesRequest request) { - return patch(request, UpdateApplicationEnvironmentVariablesResponse.class, builder -> builder.pathSegment("apps", request.getApplicationId(), "environment_variables")) - .checkpoint(); + public Mono updateEnvironmentVariables( + UpdateApplicationEnvironmentVariablesRequest request) { + return patch( + request, + UpdateApplicationEnvironmentVariablesResponse.class, + builder -> + builder.pathSegment( + "apps", + request.getApplicationId(), + "environment_variables")) + .checkpoint(); } @Override - public Mono updateFeature(UpdateApplicationFeatureRequest request) { - return patch(request, UpdateApplicationFeatureResponse.class, builder -> builder.pathSegment("apps", request.getApplicationId(), "features", request.getFeatureName())) - .checkpoint(); + public Mono updateFeature( + UpdateApplicationFeatureRequest request) { + return patch( + request, + UpdateApplicationFeatureResponse.class, + builder -> + builder.pathSegment( + "apps", + request.getApplicationId(), + "features", + request.getFeatureName())) + .checkpoint(); } - } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/auditevents/ReactorAuditEventsV3.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/auditevents/ReactorAuditEventsV3.java index b083483bd8..2eb1089d5c 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/auditevents/ReactorAuditEventsV3.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/auditevents/ReactorAuditEventsV3.java @@ -16,6 +16,7 @@ package org.cloudfoundry.reactor.client.v3.auditevents; +import java.util.Map; import org.cloudfoundry.client.v3.auditevents.AuditEventsV3; import org.cloudfoundry.client.v3.auditevents.GetAuditEventRequest; import org.cloudfoundry.client.v3.auditevents.GetAuditEventResponse; @@ -26,24 +27,31 @@ import org.cloudfoundry.reactor.client.v3.AbstractClientV3Operations; import reactor.core.publisher.Mono; -import java.util.Map; - public class ReactorAuditEventsV3 extends AbstractClientV3Operations implements AuditEventsV3 { - public ReactorAuditEventsV3(ConnectionContext connectionContext, Mono root, TokenProvider tokenProvider, Map requestTags) { + public ReactorAuditEventsV3( + ConnectionContext connectionContext, + Mono root, + TokenProvider tokenProvider, + Map requestTags) { super(connectionContext, root, tokenProvider, requestTags); } @Override public Mono get(GetAuditEventRequest request) { - return get(request, GetAuditEventResponse.class, builder -> builder.pathSegment("audit_events", request.getEventId())) - .checkpoint(); + return get( + request, + GetAuditEventResponse.class, + builder -> builder.pathSegment("audit_events", request.getEventId())) + .checkpoint(); } @Override public Mono list(ListAuditEventsRequest request) { - return get(request, ListAuditEventsResponse.class, builder -> builder.pathSegment("audit_events")) - .checkpoint(); + return get( + request, + ListAuditEventsResponse.class, + builder -> builder.pathSegment("audit_events")) + .checkpoint(); } - } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/builds/ReactorBuilds.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/builds/ReactorBuilds.java index 3556172c16..271bb38bc3 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/builds/ReactorBuilds.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/builds/ReactorBuilds.java @@ -16,6 +16,7 @@ package org.cloudfoundry.reactor.client.v3.builds; +import java.util.Map; import org.cloudfoundry.client.v3.builds.Builds; import org.cloudfoundry.client.v3.builds.CreateBuildRequest; import org.cloudfoundry.client.v3.builds.CreateBuildResponse; @@ -28,9 +29,6 @@ import org.cloudfoundry.reactor.client.v3.AbstractClientV3Operations; import reactor.core.publisher.Mono; -import java.util.Map; - - /** * The Reactor-based implementation of {@link Builds} */ @@ -44,26 +42,32 @@ public final class ReactorBuilds extends AbstractClientV3Operations implements B * @param tokenProvider the {@link TokenProvider} to use when communicating with the server * @param requestTags map with custom http headers which will be added to web request */ - public ReactorBuilds(ConnectionContext connectionContext, Mono root, TokenProvider tokenProvider, Map requestTags) { + public ReactorBuilds( + ConnectionContext connectionContext, + Mono root, + TokenProvider tokenProvider, + Map requestTags) { super(connectionContext, root, tokenProvider, requestTags); } @Override public Mono create(CreateBuildRequest request) { return post(request, CreateBuildResponse.class, builder -> builder.pathSegment("builds")) - .checkpoint(); + .checkpoint(); } @Override public Mono get(GetBuildRequest request) { - return get(request, GetBuildResponse.class, builder -> builder.pathSegment("builds", request.getBuildId())) - .checkpoint(); + return get( + request, + GetBuildResponse.class, + builder -> builder.pathSegment("builds", request.getBuildId())) + .checkpoint(); } @Override public Mono list(ListBuildsRequest request) { return get(request, ListBuildsResponse.class, builder -> builder.pathSegment("builds")) - .checkpoint(); + .checkpoint(); } - } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/builpacks/ReactorBuildpacksV3.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/builpacks/ReactorBuildpacksV3.java index 29929e6778..984b5ce494 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/builpacks/ReactorBuildpacksV3.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/builpacks/ReactorBuildpacksV3.java @@ -16,6 +16,10 @@ package org.cloudfoundry.reactor.client.v3.builpacks; +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.util.Map; import org.cloudfoundry.client.v3.buildpacks.BuildpacksV3; import org.cloudfoundry.client.v3.buildpacks.CreateBuildpackRequest; import org.cloudfoundry.client.v3.buildpacks.CreateBuildpackResponse; @@ -36,11 +40,6 @@ import reactor.core.Exceptions; import reactor.core.publisher.Mono; -import java.io.IOException; -import java.nio.file.Files; -import java.nio.file.Path; -import java.util.Map; - /** * The Reactor-based implementation of {@link BuildpacksV3} */ @@ -54,38 +53,56 @@ public final class ReactorBuildpacksV3 extends AbstractClientV3Operations implem * @param tokenProvider the {@link TokenProvider} to use when communicating with the server * @param requestTags map with custom http headers which will be added to web request */ - public ReactorBuildpacksV3(ConnectionContext connectionContext, Mono root, TokenProvider tokenProvider, Map requestTags) { + public ReactorBuildpacksV3( + ConnectionContext connectionContext, + Mono root, + TokenProvider tokenProvider, + Map requestTags) { super(connectionContext, root, tokenProvider, requestTags); } @Override public Mono create(CreateBuildpackRequest request) { - return post(request, CreateBuildpackResponse.class, builder -> builder.pathSegment("buildpacks")) - .checkpoint(); + return post( + request, + CreateBuildpackResponse.class, + builder -> builder.pathSegment("buildpacks")) + .checkpoint(); } @Override public Mono delete(DeleteBuildpackRequest request) { - return delete(request, builder -> builder.pathSegment("buildpacks", request.getBuildpackId())) - .checkpoint(); + return delete( + request, + builder -> builder.pathSegment("buildpacks", request.getBuildpackId())) + .checkpoint(); } @Override public Mono get(GetBuildpackRequest request) { - return get(request, GetBuildpackResponse.class, builder -> builder.pathSegment("buildpacks", request.getBuildpackId())) - .checkpoint(); + return get( + request, + GetBuildpackResponse.class, + builder -> builder.pathSegment("buildpacks", request.getBuildpackId())) + .checkpoint(); } @Override public Mono list(ListBuildpacksRequest request) { - return get(request, ListBuildpacksResponse.class, builder -> builder.pathSegment("buildpacks")) - .checkpoint(); + return get( + request, + ListBuildpacksResponse.class, + builder -> builder.pathSegment("buildpacks")) + .checkpoint(); } @Override public Mono update(UpdateBuildpackRequest request) { - return patch(request, UpdateBuildpackResponse.class, builder -> builder.pathSegment("buildpacks", request.getBuildpackId())) - .checkpoint(); + return patch( + request, + UpdateBuildpackResponse.class, + builder -> builder.pathSegment("buildpacks", request.getBuildpackId())) + .checkpoint(); } @Override @@ -94,34 +111,44 @@ public Mono upload(UploadBuildpackRequest request) { if (bits.toFile().isDirectory()) { return FileUtils.compress(bits) - .map(temporaryFile -> UploadBuildpackRequest.builder() - .from(request) - .bits(temporaryFile) - .build()) - .flatMap(requestWithTemporaryFile -> upload(requestWithTemporaryFile, () -> { - try { - Files.delete(requestWithTemporaryFile.getBits()); - } catch (IOException e) { - throw Exceptions.propagate(e); - } - })); + .map( + temporaryFile -> + UploadBuildpackRequest.builder() + .from(request) + .bits(temporaryFile) + .build()) + .flatMap( + requestWithTemporaryFile -> + upload( + requestWithTemporaryFile, + () -> { + try { + Files.delete( + requestWithTemporaryFile.getBits()); + } catch (IOException e) { + throw Exceptions.propagate(e); + } + })); } else { - return upload(request, () -> { - }); + return upload(request, () -> {}); } } - private Mono upload(UploadBuildpackRequest request, Runnable onTerminate) { - return post(request, UploadBuildpackResponse.class, builder -> builder.pathSegment("buildpacks", request.getBuildpackId(), "upload"), outbound -> - upload(request.getBits(), outbound), onTerminate) - .checkpoint(); + private Mono upload( + UploadBuildpackRequest request, Runnable onTerminate) { + return post( + request, + UploadBuildpackResponse.class, + builder -> + builder.pathSegment( + "buildpacks", request.getBuildpackId(), "upload"), + outbound -> upload(request.getBits(), outbound), + onTerminate) + .checkpoint(); } private void upload(Path bits, MultipartHttpClientRequest r) { - r.addPart(part -> part.setName("bits") - .setContentType(APPLICATION_ZIP) - .sendFile(bits)) - .done(); + r.addPart(part -> part.setName("bits").setContentType(APPLICATION_ZIP).sendFile(bits)) + .done(); } - } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/deployments/ReactorDeploymentsV3.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/deployments/ReactorDeploymentsV3.java index 7e45452bbf..171d0b485a 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/deployments/ReactorDeploymentsV3.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/deployments/ReactorDeploymentsV3.java @@ -16,6 +16,7 @@ package org.cloudfoundry.reactor.client.v3.deployments; +import java.util.Map; import org.cloudfoundry.client.v3.deployments.CancelDeploymentRequest; import org.cloudfoundry.client.v3.deployments.CancelDeploymentResponse; import org.cloudfoundry.client.v3.deployments.CreateDeploymentRequest; @@ -30,12 +31,11 @@ import org.cloudfoundry.reactor.client.v3.AbstractClientV3Operations; import reactor.core.publisher.Mono; -import java.util.Map; - /** * The Reactor-based implementation of {@link DeploymentsV3} */ -public final class ReactorDeploymentsV3 extends AbstractClientV3Operations implements DeploymentsV3 { +public final class ReactorDeploymentsV3 extends AbstractClientV3Operations + implements DeploymentsV3 { /** * Creates an instance @@ -45,32 +45,52 @@ public final class ReactorDeploymentsV3 extends AbstractClientV3Operations imple * @param tokenProvider the {@link TokenProvider} to use when communicating with the server * @param requestTags map with custom http headers which will be added to web request */ - public ReactorDeploymentsV3(ConnectionContext connectionContext, Mono root, TokenProvider tokenProvider, Map requestTags) { + public ReactorDeploymentsV3( + ConnectionContext connectionContext, + Mono root, + TokenProvider tokenProvider, + Map requestTags) { super(connectionContext, root, tokenProvider, requestTags); } @Override public Mono cancel(CancelDeploymentRequest request) { - return post(request, CancelDeploymentResponse.class, builder -> builder.pathSegment("deployments", request.getDeploymentId(), "actions", "cancel")) - .checkpoint(); + return post( + request, + CancelDeploymentResponse.class, + builder -> + builder.pathSegment( + "deployments", + request.getDeploymentId(), + "actions", + "cancel")) + .checkpoint(); } @Override public Mono create(CreateDeploymentRequest request) { - return post(request, CreateDeploymentResponse.class, builder -> builder.pathSegment("deployments")) - .checkpoint(); + return post( + request, + CreateDeploymentResponse.class, + builder -> builder.pathSegment("deployments")) + .checkpoint(); } @Override public Mono get(GetDeploymentRequest request) { - return get(request, GetDeploymentResponse.class, builder -> builder.pathSegment("deployments", request.getDeploymentId())) - .checkpoint(); + return get( + request, + GetDeploymentResponse.class, + builder -> builder.pathSegment("deployments", request.getDeploymentId())) + .checkpoint(); } @Override public Mono list(ListDeploymentsRequest request) { - return get(request, ListDeploymentsResponse.class, builder -> builder.pathSegment("deployments")) - .checkpoint(); + return get( + request, + ListDeploymentsResponse.class, + builder -> builder.pathSegment("deployments")) + .checkpoint(); } - } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/domains/ReactorDomainsV3.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/domains/ReactorDomainsV3.java index e7335575bd..c858e14c9e 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/domains/ReactorDomainsV3.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/domains/ReactorDomainsV3.java @@ -16,6 +16,7 @@ package org.cloudfoundry.reactor.client.v3.domains; +import java.util.Map; import org.cloudfoundry.client.v3.domains.CheckReservedRoutesRequest; import org.cloudfoundry.client.v3.domains.CheckReservedRoutesResponse; import org.cloudfoundry.client.v3.domains.CreateDomainRequest; @@ -36,8 +37,6 @@ import org.cloudfoundry.reactor.client.v3.AbstractClientV3Operations; import reactor.core.publisher.Mono; -import java.util.Map; - /** * The Reactor-based implementation of {@link DomainsV3} */ @@ -51,55 +50,88 @@ public final class ReactorDomainsV3 extends AbstractClientV3Operations implement * @param tokenProvider the {@link TokenProvider} to use when communicating with the server * @param requestTags map with custom http headers which will be added to web request */ - public ReactorDomainsV3(ConnectionContext connectionContext, Mono root, TokenProvider tokenProvider, Map requestTags) { + public ReactorDomainsV3( + ConnectionContext connectionContext, + Mono root, + TokenProvider tokenProvider, + Map requestTags) { super(connectionContext, root, tokenProvider, requestTags); } @Override - public Mono checkReservedRoutes(CheckReservedRoutesRequest request) { - return get(request, CheckReservedRoutesResponse.class, builder -> builder.pathSegment("domains", request.getDomainId(), "route_reservations")) - .checkpoint(); + public Mono checkReservedRoutes( + CheckReservedRoutesRequest request) { + return get( + request, + CheckReservedRoutesResponse.class, + builder -> + builder.pathSegment( + "domains", request.getDomainId(), "route_reservations")) + .checkpoint(); } @Override public Mono create(CreateDomainRequest request) { return post(request, CreateDomainResponse.class, builder -> builder.pathSegment("domains")) - .checkpoint(); + .checkpoint(); } @Override public Mono delete(DeleteDomainRequest request) { return delete(request, builder -> builder.pathSegment("domains", request.getDomainId())) - .checkpoint(); + .checkpoint(); } @Override public Mono get(GetDomainRequest request) { - return get(request, GetDomainResponse.class, builder -> builder.pathSegment("domains", request.getDomainId())) - .checkpoint(); + return get( + request, + GetDomainResponse.class, + builder -> builder.pathSegment("domains", request.getDomainId())) + .checkpoint(); } @Override public Mono list(ListDomainsRequest request) { return get(request, ListDomainsResponse.class, builder -> builder.pathSegment("domains")) - .checkpoint(); + .checkpoint(); } @Override public Mono share(ShareDomainRequest request) { - return post(request, ShareDomainResponse.class, builder -> builder.pathSegment("domains", request.getDomainId(), "relationships", "shared_organizations")) - .checkpoint(); + return post( + request, + ShareDomainResponse.class, + builder -> + builder.pathSegment( + "domains", + request.getDomainId(), + "relationships", + "shared_organizations")) + .checkpoint(); } @Override public Mono unshare(UnshareDomainRequest request) { - return delete(request, Void.class, builder -> builder.pathSegment("domains", request.getDomainId(), "relationships", "shared_organizations", request.getOrganizationId())) - .checkpoint(); + return delete( + request, + Void.class, + builder -> + builder.pathSegment( + "domains", + request.getDomainId(), + "relationships", + "shared_organizations", + request.getOrganizationId())) + .checkpoint(); } @Override public Mono update(UpdateDomainRequest request) { - return patch(request, UpdateDomainResponse.class, builder -> builder.pathSegment("domains", request.getDomainId())) - .checkpoint(); + return patch( + request, + UpdateDomainResponse.class, + builder -> builder.pathSegment("domains", request.getDomainId())) + .checkpoint(); } } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/droplets/ReactorDroplets.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/droplets/ReactorDroplets.java index cda67c9570..c8d189922d 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/droplets/ReactorDroplets.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/droplets/ReactorDroplets.java @@ -16,6 +16,7 @@ package org.cloudfoundry.reactor.client.v3.droplets; +import java.util.Map; import org.cloudfoundry.client.v3.droplets.CopyDropletRequest; import org.cloudfoundry.client.v3.droplets.CopyDropletResponse; import org.cloudfoundry.client.v3.droplets.DeleteDropletRequest; @@ -29,8 +30,6 @@ import org.cloudfoundry.reactor.client.v3.AbstractClientV3Operations; import reactor.core.publisher.Mono; -import java.util.Map; - /** * The Reactor-based implementation of {@link Droplets} */ @@ -44,7 +43,11 @@ public final class ReactorDroplets extends AbstractClientV3Operations implements * @param tokenProvider the {@link TokenProvider} to use when communicating with the server * @param requestTags map with custom http headers which will be added to web request */ - public ReactorDroplets(ConnectionContext connectionContext, Mono root, TokenProvider tokenProvider, Map requestTags) { + public ReactorDroplets( + ConnectionContext connectionContext, + Mono root, + TokenProvider tokenProvider, + Map requestTags) { super(connectionContext, root, tokenProvider, requestTags); } @@ -56,19 +59,21 @@ public Mono copy(CopyDropletRequest request) { @Override public Mono delete(DeleteDropletRequest request) { return delete(request, builder -> builder.pathSegment("droplets", request.getDropletId())) - .checkpoint(); + .checkpoint(); } @Override public Mono get(GetDropletRequest request) { - return get(request, GetDropletResponse.class, builder -> builder.pathSegment("droplets", request.getDropletId())) - .checkpoint(); + return get( + request, + GetDropletResponse.class, + builder -> builder.pathSegment("droplets", request.getDropletId())) + .checkpoint(); } @Override public Mono list(ListDropletsRequest request) { return get(request, ListDropletsResponse.class, builder -> builder.pathSegment("droplets")) - .checkpoint(); + .checkpoint(); } - } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/isolationsegments/ReactorIsolationSegments.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/isolationsegments/ReactorIsolationSegments.java index 92143a0c48..7f7536fb68 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/isolationsegments/ReactorIsolationSegments.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/isolationsegments/ReactorIsolationSegments.java @@ -16,6 +16,7 @@ package org.cloudfoundry.reactor.client.v3.isolationsegments; +import java.util.Map; import org.cloudfoundry.client.v3.isolationsegments.AddIsolationSegmentOrganizationEntitlementRequest; import org.cloudfoundry.client.v3.isolationsegments.AddIsolationSegmentOrganizationEntitlementResponse; import org.cloudfoundry.client.v3.isolationsegments.CreateIsolationSegmentRequest; @@ -40,12 +41,11 @@ import org.cloudfoundry.reactor.client.v3.AbstractClientV3Operations; import reactor.core.publisher.Mono; -import java.util.Map; - /** * The Reactor-based implementation of {@link IsolationSegments} */ -public final class ReactorIsolationSegments extends AbstractClientV3Operations implements IsolationSegments { +public final class ReactorIsolationSegments extends AbstractClientV3Operations + implements IsolationSegments { /** * Creates an instance @@ -55,71 +55,138 @@ public final class ReactorIsolationSegments extends AbstractClientV3Operations i * @param tokenProvider the {@link TokenProvider} to use when communicating with the server * @param requestTags map with custom http headers which will be added to web request */ - public ReactorIsolationSegments(ConnectionContext connectionContext, Mono root, TokenProvider tokenProvider, Map requestTags) { + public ReactorIsolationSegments( + ConnectionContext connectionContext, + Mono root, + TokenProvider tokenProvider, + Map requestTags) { super(connectionContext, root, tokenProvider, requestTags); } @Override - public Mono addOrganizationEntitlement(AddIsolationSegmentOrganizationEntitlementRequest request) { - return post(request, AddIsolationSegmentOrganizationEntitlementResponse.class, builder -> - builder.pathSegment("isolation_segments", request.getIsolationSegmentId(), "relationships", "organizations")) - .checkpoint(); + public Mono addOrganizationEntitlement( + AddIsolationSegmentOrganizationEntitlementRequest request) { + return post( + request, + AddIsolationSegmentOrganizationEntitlementResponse.class, + builder -> + builder.pathSegment( + "isolation_segments", + request.getIsolationSegmentId(), + "relationships", + "organizations")) + .checkpoint(); } @Override public Mono create(CreateIsolationSegmentRequest request) { - return post(request, CreateIsolationSegmentResponse.class, builder -> builder.pathSegment("isolation_segments")) - .checkpoint(); + return post( + request, + CreateIsolationSegmentResponse.class, + builder -> builder.pathSegment("isolation_segments")) + .checkpoint(); } @Override public Mono delete(DeleteIsolationSegmentRequest request) { - return delete(request, Void.class, builder -> builder.pathSegment("isolation_segments", request.getIsolationSegmentId())) - .checkpoint(); + return delete( + request, + Void.class, + builder -> + builder.pathSegment( + "isolation_segments", request.getIsolationSegmentId())) + .checkpoint(); } @Override public Mono get(GetIsolationSegmentRequest request) { - return get(request, GetIsolationSegmentResponse.class, builder -> builder.pathSegment("isolation_segments", request.getIsolationSegmentId())) - .checkpoint(); + return get( + request, + GetIsolationSegmentResponse.class, + builder -> + builder.pathSegment( + "isolation_segments", request.getIsolationSegmentId())) + .checkpoint(); } @Override public Mono list(ListIsolationSegmentsRequest request) { - return get(request, ListIsolationSegmentsResponse.class, builder -> builder.pathSegment("isolation_segments")) - .checkpoint(); + return get( + request, + ListIsolationSegmentsResponse.class, + builder -> builder.pathSegment("isolation_segments")) + .checkpoint(); } @Override - public Mono listEntitledOrganizations(ListIsolationSegmentEntitledOrganizationsRequest request) { - return get(request, ListIsolationSegmentEntitledOrganizationsResponse.class, builder -> builder.pathSegment("isolation_segments", request.getIsolationSegmentId(), "organizations")) - .checkpoint(); + public Mono listEntitledOrganizations( + ListIsolationSegmentEntitledOrganizationsRequest request) { + return get( + request, + ListIsolationSegmentEntitledOrganizationsResponse.class, + builder -> + builder.pathSegment( + "isolation_segments", + request.getIsolationSegmentId(), + "organizations")) + .checkpoint(); } @Override - public Mono listOrganizationsRelationship(ListIsolationSegmentOrganizationsRelationshipRequest request) { - return get(request, ListIsolationSegmentOrganizationsRelationshipResponse.class, builder -> - builder.pathSegment("isolation_segments", request.getIsolationSegmentId(), "relationships", "organizations")) - .checkpoint(); + public Mono + listOrganizationsRelationship( + ListIsolationSegmentOrganizationsRelationshipRequest request) { + return get( + request, + ListIsolationSegmentOrganizationsRelationshipResponse.class, + builder -> + builder.pathSegment( + "isolation_segments", + request.getIsolationSegmentId(), + "relationships", + "organizations")) + .checkpoint(); } @Override - public Mono listSpacesRelationship(ListIsolationSegmentSpacesRelationshipRequest request) { - return get(request, ListIsolationSegmentSpacesRelationshipResponse.class, builder -> - builder.pathSegment("isolation_segments", request.getIsolationSegmentId(), "relationships", "spaces")) - .checkpoint(); + public Mono listSpacesRelationship( + ListIsolationSegmentSpacesRelationshipRequest request) { + return get( + request, + ListIsolationSegmentSpacesRelationshipResponse.class, + builder -> + builder.pathSegment( + "isolation_segments", + request.getIsolationSegmentId(), + "relationships", + "spaces")) + .checkpoint(); } @Override - public Mono removeOrganizationEntitlement(RemoveIsolationSegmentOrganizationEntitlementRequest request) { - return delete(request, Void.class, builder -> builder.pathSegment("isolation_segments", request.getIsolationSegmentId(), "relationships", "organizations", request.getOrganizationId())) - .checkpoint(); + public Mono removeOrganizationEntitlement( + RemoveIsolationSegmentOrganizationEntitlementRequest request) { + return delete( + request, + Void.class, + builder -> + builder.pathSegment( + "isolation_segments", + request.getIsolationSegmentId(), + "relationships", + "organizations", + request.getOrganizationId())) + .checkpoint(); } @Override public Mono update(UpdateIsolationSegmentRequest request) { - return patch(request, UpdateIsolationSegmentResponse.class, builder -> builder.pathSegment("isolation_segments", request.getIsolationSegmentId())) - .checkpoint(); + return patch( + request, + UpdateIsolationSegmentResponse.class, + builder -> + builder.pathSegment( + "isolation_segments", request.getIsolationSegmentId())) + .checkpoint(); } - } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/jobs/ReactorJobsV3.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/jobs/ReactorJobsV3.java index bff46273af..ba693e98f4 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/jobs/ReactorJobsV3.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/jobs/ReactorJobsV3.java @@ -16,6 +16,7 @@ package org.cloudfoundry.reactor.client.v3.jobs; +import java.util.Map; import org.cloudfoundry.client.v3.jobs.GetJobRequest; import org.cloudfoundry.client.v3.jobs.GetJobResponse; import org.cloudfoundry.client.v3.jobs.JobsV3; @@ -24,8 +25,6 @@ import org.cloudfoundry.reactor.client.v3.AbstractClientV3Operations; import reactor.core.publisher.Mono; -import java.util.Map; - /** * The Reactor-based implementation of {@link JobsV3} */ @@ -39,14 +38,20 @@ public final class ReactorJobsV3 extends AbstractClientV3Operations implements J * @param tokenProvider the {@link TokenProvider} to use when communicating with the server * @param requestTags map with custom http headers which will be added to web request */ - public ReactorJobsV3(ConnectionContext connectionContext, Mono root, TokenProvider tokenProvider, Map requestTags) { + public ReactorJobsV3( + ConnectionContext connectionContext, + Mono root, + TokenProvider tokenProvider, + Map requestTags) { super(connectionContext, root, tokenProvider, requestTags); } @Override public Mono get(GetJobRequest request) { - return get(request, GetJobResponse.class, builder -> builder.pathSegment("jobs", request.getJobId())) - .checkpoint(); + return get( + request, + GetJobResponse.class, + builder -> builder.pathSegment("jobs", request.getJobId())) + .checkpoint(); } - } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/organizations/ReactorOrganizationsV3.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/organizations/ReactorOrganizationsV3.java index 6c8351315e..27da41e05d 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/organizations/ReactorOrganizationsV3.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/organizations/ReactorOrganizationsV3.java @@ -16,6 +16,7 @@ package org.cloudfoundry.reactor.client.v3.organizations; +import java.util.Map; import org.cloudfoundry.client.v3.organizations.AssignOrganizationDefaultIsolationSegmentRequest; import org.cloudfoundry.client.v3.organizations.AssignOrganizationDefaultIsolationSegmentResponse; import org.cloudfoundry.client.v3.organizations.CreateOrganizationRequest; @@ -41,12 +42,11 @@ import org.cloudfoundry.reactor.client.v3.AbstractClientV3Operations; import reactor.core.publisher.Mono; -import java.util.Map; - /** * The Reactor-based implementation of {@link OrganizationsV3} */ -public final class ReactorOrganizationsV3 extends AbstractClientV3Operations implements OrganizationsV3 { +public final class ReactorOrganizationsV3 extends AbstractClientV3Operations + implements OrganizationsV3 { /** * Creates an instance @@ -56,70 +56,129 @@ public final class ReactorOrganizationsV3 extends AbstractClientV3Operations imp * @param tokenProvider the {@link TokenProvider} to use when communicating with the server * @param requestTags map with custom http headers which will be added to web request */ - public ReactorOrganizationsV3(ConnectionContext connectionContext, Mono root, TokenProvider tokenProvider, Map requestTags) { + public ReactorOrganizationsV3( + ConnectionContext connectionContext, + Mono root, + TokenProvider tokenProvider, + Map requestTags) { super(connectionContext, root, tokenProvider, requestTags); } @Override - public Mono assignDefaultIsolationSegment(AssignOrganizationDefaultIsolationSegmentRequest request) { - return patch(request, AssignOrganizationDefaultIsolationSegmentResponse.class, builder -> - builder.pathSegment("organizations", request.getOrganizationId(), "relationships", "default_isolation_segment")) - .checkpoint(); + public Mono assignDefaultIsolationSegment( + AssignOrganizationDefaultIsolationSegmentRequest request) { + return patch( + request, + AssignOrganizationDefaultIsolationSegmentResponse.class, + builder -> + builder.pathSegment( + "organizations", + request.getOrganizationId(), + "relationships", + "default_isolation_segment")) + .checkpoint(); } @Override public Mono create(CreateOrganizationRequest request) { - return post(request, CreateOrganizationResponse.class, builder -> builder.pathSegment("organizations")) - .checkpoint(); + return post( + request, + CreateOrganizationResponse.class, + builder -> builder.pathSegment("organizations")) + .checkpoint(); } @Override public Mono delete(DeleteOrganizationRequest request) { - return delete(request, builder -> builder.pathSegment("organizations", request.getOrganizationId())) - .checkpoint(); + return delete( + request, + builder -> + builder.pathSegment("organizations", request.getOrganizationId())) + .checkpoint(); } @Override public Mono get(GetOrganizationRequest request) { - return get(request, GetOrganizationResponse.class, builder -> builder.pathSegment("organizations", request.getOrganizationId())) - .checkpoint(); + return get( + request, + GetOrganizationResponse.class, + builder -> + builder.pathSegment("organizations", request.getOrganizationId())) + .checkpoint(); } @Override - public Mono getDefaultDomain(GetOrganizationDefaultDomainRequest request) { - return get(request, GetOrganizationDefaultDomainResponse.class, builder -> builder.pathSegment("organizations", request.getOrganizationId(), "domains", "default")) - .checkpoint(); + public Mono getDefaultDomain( + GetOrganizationDefaultDomainRequest request) { + return get( + request, + GetOrganizationDefaultDomainResponse.class, + builder -> + builder.pathSegment( + "organizations", + request.getOrganizationId(), + "domains", + "default")) + .checkpoint(); } @Override - public Mono getDefaultIsolationSegment(GetOrganizationDefaultIsolationSegmentRequest request) { - return get(request, GetOrganizationDefaultIsolationSegmentResponse.class, builder -> - builder.pathSegment("organizations", request.getOrganizationId(), "relationships", "default_isolation_segment")) - .checkpoint(); + public Mono getDefaultIsolationSegment( + GetOrganizationDefaultIsolationSegmentRequest request) { + return get( + request, + GetOrganizationDefaultIsolationSegmentResponse.class, + builder -> + builder.pathSegment( + "organizations", + request.getOrganizationId(), + "relationships", + "default_isolation_segment")) + .checkpoint(); } @Override - public Mono getUsageSummary(GetOrganizationUsageSummaryRequest request) { - return get(request, GetOrganizationUsageSummaryResponse.class, builder -> builder.pathSegment("organizations", request.getOrganizationId(), "usage_summary")) - .checkpoint(); + public Mono getUsageSummary( + GetOrganizationUsageSummaryRequest request) { + return get( + request, + GetOrganizationUsageSummaryResponse.class, + builder -> + builder.pathSegment( + "organizations", + request.getOrganizationId(), + "usage_summary")) + .checkpoint(); } @Override public Mono list(ListOrganizationsRequest request) { - return get(request, ListOrganizationsResponse.class, builder -> builder.pathSegment("organizations")) - .checkpoint(); + return get( + request, + ListOrganizationsResponse.class, + builder -> builder.pathSegment("organizations")) + .checkpoint(); } @Override - public Mono listDomains(ListOrganizationDomainsRequest request) { - return get(request, ListOrganizationDomainsResponse.class, builder -> builder.pathSegment("organizations", request.getOrganizationId(), "domains")) - .checkpoint(); + public Mono listDomains( + ListOrganizationDomainsRequest request) { + return get( + request, + ListOrganizationDomainsResponse.class, + builder -> + builder.pathSegment( + "organizations", request.getOrganizationId(), "domains")) + .checkpoint(); } @Override public Mono update(UpdateOrganizationRequest request) { - return patch(request, UpdateOrganizationResponse.class, builder -> builder.pathSegment("organizations", request.getOrganizationId())) - .checkpoint(); + return patch( + request, + UpdateOrganizationResponse.class, + builder -> + builder.pathSegment("organizations", request.getOrganizationId())) + .checkpoint(); } - } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/packages/ReactorPackages.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/packages/ReactorPackages.java index 2fcee71147..c28ea0d1a4 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/packages/ReactorPackages.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/packages/ReactorPackages.java @@ -16,6 +16,11 @@ package org.cloudfoundry.reactor.client.v3.packages; +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.util.List; +import java.util.Map; import org.cloudfoundry.client.v3.packages.CopyPackageRequest; import org.cloudfoundry.client.v3.packages.CopyPackageResponse; import org.cloudfoundry.client.v3.packages.CreatePackageRequest; @@ -42,12 +47,6 @@ import reactor.core.publisher.Mono; import reactor.netty.ByteBufFlux; -import java.io.IOException; -import java.nio.file.Files; -import java.nio.file.Path; -import java.util.List; -import java.util.Map; - /** * The Reactor-based implementation of {@link Packages} */ @@ -61,50 +60,68 @@ public final class ReactorPackages extends AbstractClientV3Operations implements * @param tokenProvider the {@link TokenProvider} to use when communicating with the server * @param requestTags map with custom http headers which will be added to web request */ - public ReactorPackages(ConnectionContext connectionContext, Mono root, TokenProvider tokenProvider, Map requestTags) { + public ReactorPackages( + ConnectionContext connectionContext, + Mono root, + TokenProvider tokenProvider, + Map requestTags) { super(connectionContext, root, tokenProvider, requestTags); } @Override public Mono copy(CopyPackageRequest request) { return post(request, CopyPackageResponse.class, builder -> builder.pathSegment("packages")) - .checkpoint(); + .checkpoint(); } @Override public Mono create(CreatePackageRequest request) { - return post(request, CreatePackageResponse.class, builder -> builder.pathSegment("packages")) - .checkpoint(); + return post( + request, + CreatePackageResponse.class, + builder -> builder.pathSegment("packages")) + .checkpoint(); } @Override public Mono delete(DeletePackageRequest request) { return delete(request, builder -> builder.pathSegment("packages", request.getPackageId())) - .checkpoint(); + .checkpoint(); } @Override public Flux download(DownloadPackageRequest request) { - return get(request, builder -> builder.pathSegment("packages", request.getPackageId(), "download"), ByteBufFlux::asByteArray) - .checkpoint(); + return get( + request, + builder -> + builder.pathSegment("packages", request.getPackageId(), "download"), + ByteBufFlux::asByteArray) + .checkpoint(); } @Override public Mono get(GetPackageRequest request) { - return get(request, GetPackageResponse.class, builder -> builder.pathSegment("packages", request.getPackageId())) - .checkpoint(); + return get( + request, + GetPackageResponse.class, + builder -> builder.pathSegment("packages", request.getPackageId())) + .checkpoint(); } @Override public Mono list(ListPackagesRequest request) { return get(request, ListPackagesResponse.class, builder -> builder.pathSegment("packages")) - .checkpoint(); + .checkpoint(); } @Override public Mono listDroplets(ListPackageDropletsRequest request) { - return get(request, ListPackageDropletsResponse.class, builder -> builder.pathSegment("packages", request.getPackageId(), "droplets")) - .checkpoint(); + return get( + request, + ListPackageDropletsResponse.class, + builder -> + builder.pathSegment("packages", request.getPackageId(), "droplets")) + .checkpoint(); } @Override @@ -113,38 +130,47 @@ public Mono upload(UploadPackageRequest request) { if (bits.toFile().isDirectory()) { return FileUtils.compress(bits) - .map(temporaryFile -> UploadPackageRequest.builder() - .from(request) - .bits(temporaryFile) - .build()) - .flatMap(requestWithTemporaryFile -> upload(requestWithTemporaryFile, () -> { - try { - Files.delete(requestWithTemporaryFile.getBits()); - } catch (IOException e) { - throw Exceptions.propagate(e); - } - })); + .map( + temporaryFile -> + UploadPackageRequest.builder() + .from(request) + .bits(temporaryFile) + .build()) + .flatMap( + requestWithTemporaryFile -> + upload( + requestWithTemporaryFile, + () -> { + try { + Files.delete( + requestWithTemporaryFile.getBits()); + } catch (IOException e) { + throw Exceptions.propagate(e); + } + })); } else { - return upload(request, () -> { - }); + return upload(request, () -> {}); } } private Mono upload(UploadPackageRequest request, Runnable onTerminate) { - return post(request, UploadPackageResponse.class, builder -> builder.pathSegment("packages", request.getPackageId(), "upload"), outbound -> upload(request.getBits(), request.getResources(), outbound), onTerminate) - .checkpoint(); + return post( + request, + UploadPackageResponse.class, + builder -> + builder.pathSegment("packages", request.getPackageId(), "upload"), + outbound -> upload(request.getBits(), request.getResources(), outbound), + onTerminate) + .checkpoint(); } private void upload(Path bits, List resources, MultipartHttpClientRequest r) { if (bits != null) { - r.addPart(part -> part.setName("bits") - .setContentType(APPLICATION_ZIP) - .sendFile(bits)); + r.addPart(part -> part.setName("bits").setContentType(APPLICATION_ZIP).sendFile(bits)); } if (resources != null && !resources.isEmpty()) { - r.addPart(part -> part.setName("resources") - .send(resources)); + r.addPart(part -> part.setName("resources").send(resources)); } r.done(); diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/processes/ReactorProcesses.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/processes/ReactorProcesses.java index cc29c5acac..a1860292f2 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/processes/ReactorProcesses.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/processes/ReactorProcesses.java @@ -16,6 +16,7 @@ package org.cloudfoundry.reactor.client.v3.processes; +import java.util.Map; import org.cloudfoundry.client.v3.processes.GetProcessRequest; import org.cloudfoundry.client.v3.processes.GetProcessResponse; import org.cloudfoundry.client.v3.processes.GetProcessStatisticsRequest; @@ -33,8 +34,6 @@ import org.cloudfoundry.reactor.client.v3.AbstractClientV3Operations; import reactor.core.publisher.Mono; -import java.util.Map; - /** * The Reactor-based implementation of {@link Processes} */ @@ -48,44 +47,73 @@ public final class ReactorProcesses extends AbstractClientV3Operations implement * @param tokenProvider the {@link TokenProvider} to use when communicating with the server * @param requestTags map with custom http headers which will be added to web request */ - public ReactorProcesses(ConnectionContext connectionContext, Mono root, TokenProvider tokenProvider, Map requestTags) { + public ReactorProcesses( + ConnectionContext connectionContext, + Mono root, + TokenProvider tokenProvider, + Map requestTags) { super(connectionContext, root, tokenProvider, requestTags); } @Override public Mono get(GetProcessRequest request) { - return get(request, GetProcessResponse.class, builder -> builder.pathSegment("processes", request.getProcessId())) - .checkpoint(); + return get( + request, + GetProcessResponse.class, + builder -> builder.pathSegment("processes", request.getProcessId())) + .checkpoint(); } @Override public Mono getStatistics(GetProcessStatisticsRequest request) { - return get(request, GetProcessStatisticsResponse.class, builder -> builder.pathSegment("processes", request.getProcessId(), "stats")) - .checkpoint(); + return get( + request, + GetProcessStatisticsResponse.class, + builder -> + builder.pathSegment("processes", request.getProcessId(), "stats")) + .checkpoint(); } @Override public Mono list(ListProcessesRequest request) { - return get(request, ListProcessesResponse.class, builder -> builder.pathSegment("processes")) - .checkpoint(); + return get( + request, + ListProcessesResponse.class, + builder -> builder.pathSegment("processes")) + .checkpoint(); } @Override public Mono scale(ScaleProcessRequest request) { - return post(request, ScaleProcessResponse.class, builder -> builder.pathSegment("processes", request.getProcessId(), "actions", "scale")) - .checkpoint(); + return post( + request, + ScaleProcessResponse.class, + builder -> + builder.pathSegment( + "processes", request.getProcessId(), "actions", "scale")) + .checkpoint(); } @Override public Mono terminateInstance(TerminateProcessInstanceRequest request) { - return delete(request, Void.class, builder -> builder.pathSegment("processes", request.getProcessId(), "instances", request.getIndex())) - .checkpoint(); + return delete( + request, + Void.class, + builder -> + builder.pathSegment( + "processes", + request.getProcessId(), + "instances", + request.getIndex())) + .checkpoint(); } @Override public Mono update(UpdateProcessRequest request) { - return patch(request, UpdateProcessResponse.class, builder -> builder.pathSegment("processes", request.getProcessId())) - .checkpoint(); + return patch( + request, + UpdateProcessResponse.class, + builder -> builder.pathSegment("processes", request.getProcessId())) + .checkpoint(); } - } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/resourcematch/ReactorResourceMatchV3.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/resourcematch/ReactorResourceMatchV3.java index 985ea44528..eebfeaee2c 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/resourcematch/ReactorResourceMatchV3.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/resourcematch/ReactorResourceMatchV3.java @@ -16,6 +16,7 @@ package org.cloudfoundry.reactor.client.v3.resourcematch; +import java.util.Map; import org.cloudfoundry.client.v3.resourcematch.ListMatchingResourcesRequest; import org.cloudfoundry.client.v3.resourcematch.ListMatchingResourcesResponse; import org.cloudfoundry.client.v3.resourcematch.ResourceMatchV3; @@ -24,12 +25,11 @@ import org.cloudfoundry.reactor.client.v3.AbstractClientV3Operations; import reactor.core.publisher.Mono; -import java.util.Map; - /** * The Reactor-based implementation of {@link ResourceMatchV3} */ -public final class ReactorResourceMatchV3 extends AbstractClientV3Operations implements ResourceMatchV3 { +public final class ReactorResourceMatchV3 extends AbstractClientV3Operations + implements ResourceMatchV3 { /** * Creates an instance @@ -39,13 +39,20 @@ public final class ReactorResourceMatchV3 extends AbstractClientV3Operations imp * @param tokenProvider the {@link TokenProvider} to use when communicating with the server * @param requestTags map with custom http headers which will be added to web request */ - public ReactorResourceMatchV3(ConnectionContext connectionContext, Mono root, TokenProvider tokenProvider, Map requestTags) { + public ReactorResourceMatchV3( + ConnectionContext connectionContext, + Mono root, + TokenProvider tokenProvider, + Map requestTags) { super(connectionContext, root, tokenProvider, requestTags); } @Override public Mono list(ListMatchingResourcesRequest request) { - return post(request, ListMatchingResourcesResponse.class, builder -> builder.pathSegment("resource_matches")) - .checkpoint(); + return post( + request, + ListMatchingResourcesResponse.class, + builder -> builder.pathSegment("resource_matches")) + .checkpoint(); } } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/roles/ReactorRolesV3.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/roles/ReactorRolesV3.java index 19eee0ac8a..ee8b7de7e4 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/roles/ReactorRolesV3.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/roles/ReactorRolesV3.java @@ -16,6 +16,7 @@ package org.cloudfoundry.reactor.client.v3.roles; +import java.util.Map; import org.cloudfoundry.client.v3.roles.CreateRoleRequest; import org.cloudfoundry.client.v3.roles.CreateRoleResponse; import org.cloudfoundry.client.v3.roles.DeleteRoleRequest; @@ -29,8 +30,6 @@ import org.cloudfoundry.reactor.client.v3.AbstractClientV3Operations; import reactor.core.publisher.Mono; -import java.util.Map; - /** * The Reactor-based implementation of {@link RolesV3} */ @@ -44,32 +43,48 @@ public final class ReactorRolesV3 extends AbstractClientV3Operations implements * @param tokenProvider the {@link TokenProvider} to use when communicating with the server * @param requestTags map with custom http headers which will be added to web request */ - public ReactorRolesV3(ConnectionContext connectionContext, Mono root, TokenProvider tokenProvider, Map requestTags) { + public ReactorRolesV3( + ConnectionContext connectionContext, + Mono root, + TokenProvider tokenProvider, + Map requestTags) { super(connectionContext, root, tokenProvider, requestTags); } @Override public Mono create(CreateRoleRequest request) { - return post(request, CreateRoleResponse.class, uriComponentsBuilder -> uriComponentsBuilder.pathSegment("roles")) - .checkpoint(); + return post( + request, + CreateRoleResponse.class, + uriComponentsBuilder -> uriComponentsBuilder.pathSegment("roles")) + .checkpoint(); } @Override public Mono delete(DeleteRoleRequest request) { - return delete(request, uriComponentsBuilder -> uriComponentsBuilder.pathSegment("roles", request.getRoleId())) - .checkpoint(); + return delete( + request, + uriComponentsBuilder -> + uriComponentsBuilder.pathSegment("roles", request.getRoleId())) + .checkpoint(); } @Override public Mono get(GetRoleRequest request) { - return get(request, GetRoleResponse.class, uriComponentsBuilder -> uriComponentsBuilder.pathSegment("roles", request.getRoleId())) - .checkpoint(); + return get( + request, + GetRoleResponse.class, + uriComponentsBuilder -> + uriComponentsBuilder.pathSegment("roles", request.getRoleId())) + .checkpoint(); } @Override public Mono list(ListRolesRequest request) { - return get(request, ListRolesResponse.class, uriComponentsBuilder -> uriComponentsBuilder.pathSegment("roles")) - .checkpoint(); + return get( + request, + ListRolesResponse.class, + uriComponentsBuilder -> uriComponentsBuilder.pathSegment("roles")) + .checkpoint(); } - } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/routes/ReactorRoutesV3.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/routes/ReactorRoutesV3.java index 54422ce314..54088822c7 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/routes/ReactorRoutesV3.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/routes/ReactorRoutesV3.java @@ -1,5 +1,6 @@ package org.cloudfoundry.reactor.client.v3.routes; +import java.util.Map; import org.cloudfoundry.client.v3.routes.CreateRouteRequest; import org.cloudfoundry.client.v3.routes.CreateRouteResponse; import org.cloudfoundry.client.v3.routes.DeleteRouteRequest; @@ -22,8 +23,6 @@ import org.cloudfoundry.reactor.client.v3.AbstractClientV3Operations; import reactor.core.publisher.Mono; -import java.util.Map; - /** * The Reactor-based implementation of {@link RoutesV3} */ @@ -37,62 +36,108 @@ public class ReactorRoutesV3 extends AbstractClientV3Operations implements Route * @param tokenProvider the {@link TokenProvider} to use when communicating with the server * @param requestTags map with custom http headers which will be added to web request */ - public ReactorRoutesV3(ConnectionContext connectionContext, Mono root, TokenProvider tokenProvider, Map requestTags) { + public ReactorRoutesV3( + ConnectionContext connectionContext, + Mono root, + TokenProvider tokenProvider, + Map requestTags) { super(connectionContext, root, tokenProvider, requestTags); } @Override public Mono create(CreateRouteRequest request) { - return post(request, CreateRouteResponse.class, uriComponentsBuilder -> uriComponentsBuilder.pathSegment("routes")) - .checkpoint(); + return post( + request, + CreateRouteResponse.class, + uriComponentsBuilder -> uriComponentsBuilder.pathSegment("routes")) + .checkpoint(); } @Override public Mono delete(DeleteRouteRequest request) { - return delete(request, uriComponentsBuilder -> uriComponentsBuilder.pathSegment("routes", request.getRouteId())) - .checkpoint(); + return delete( + request, + uriComponentsBuilder -> + uriComponentsBuilder.pathSegment("routes", request.getRouteId())) + .checkpoint(); } @Override public Mono get(GetRouteRequest request) { - return get(request, GetRouteResponse.class, uriComponentsBuilder -> uriComponentsBuilder.pathSegment("routes", request.getRouteId())) - .checkpoint(); + return get( + request, + GetRouteResponse.class, + uriComponentsBuilder -> + uriComponentsBuilder.pathSegment("routes", request.getRouteId())) + .checkpoint(); } @Override - public Mono insertDestinations(InsertRouteDestinationsRequest request) { - return post(request, InsertRouteDestinationsResponse.class, uriComponentsBuilder -> uriComponentsBuilder.pathSegment("routes", request.getRouteId(), "destinations")) - .checkpoint(); + public Mono insertDestinations( + InsertRouteDestinationsRequest request) { + return post( + request, + InsertRouteDestinationsResponse.class, + uriComponentsBuilder -> + uriComponentsBuilder.pathSegment( + "routes", request.getRouteId(), "destinations")) + .checkpoint(); } @Override public Mono list(ListRoutesRequest request) { - return get(request, ListRoutesResponse.class, uriComponentsBuilder -> uriComponentsBuilder.pathSegment("routes")) - .checkpoint(); + return get( + request, + ListRoutesResponse.class, + uriComponentsBuilder -> uriComponentsBuilder.pathSegment("routes")) + .checkpoint(); } @Override - public Mono listDestinations(ListRouteDestinationsRequest request) { - return get(request, ListRouteDestinationsResponse.class, uriComponentsBuilder -> uriComponentsBuilder.pathSegment("routes", request.getRouteId(), "destinations")) - .checkpoint(); + public Mono listDestinations( + ListRouteDestinationsRequest request) { + return get( + request, + ListRouteDestinationsResponse.class, + uriComponentsBuilder -> + uriComponentsBuilder.pathSegment( + "routes", request.getRouteId(), "destinations")) + .checkpoint(); } @Override public Mono removeDestinations(RemoveRouteDestinationsRequest request) { - return delete(request, Void.class, uriComponentsBuilder -> uriComponentsBuilder.pathSegment("routes", request.getRouteId(), "destinations", request.getDestinationId())) - .checkpoint(); + return delete( + request, + Void.class, + uriComponentsBuilder -> + uriComponentsBuilder.pathSegment( + "routes", + request.getRouteId(), + "destinations", + request.getDestinationId())) + .checkpoint(); } @Override - public Mono replaceDestinations(ReplaceRouteDestinationsRequest request) { - return patch(request, ReplaceRouteDestinationsResponse.class, uriComponentsBuilder -> uriComponentsBuilder.pathSegment("routes", request.getRouteId(), "destinations")) - .checkpoint(); + public Mono replaceDestinations( + ReplaceRouteDestinationsRequest request) { + return patch( + request, + ReplaceRouteDestinationsResponse.class, + uriComponentsBuilder -> + uriComponentsBuilder.pathSegment( + "routes", request.getRouteId(), "destinations")) + .checkpoint(); } @Override public Mono update(UpdateRouteRequest request) { - return patch(request, UpdateRouteResponse.class, uriComponentsBuilder -> uriComponentsBuilder.pathSegment("routes", request.getRouteId())) - .checkpoint(); + return patch( + request, + UpdateRouteResponse.class, + uriComponentsBuilder -> + uriComponentsBuilder.pathSegment("routes", request.getRouteId())) + .checkpoint(); } - } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/servicebindings/ReactorServiceBindingsV3.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/servicebindings/ReactorServiceBindingsV3.java index 0992563e4e..093ac8052a 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/servicebindings/ReactorServiceBindingsV3.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/servicebindings/ReactorServiceBindingsV3.java @@ -16,6 +16,8 @@ package org.cloudfoundry.reactor.client.v3.servicebindings; +import java.util.Map; +import java.util.Optional; import org.cloudfoundry.client.v3.servicebindings.CreateServiceBindingRequest; import org.cloudfoundry.client.v3.servicebindings.CreateServiceBindingResponse; import org.cloudfoundry.client.v3.servicebindings.DeleteServiceBindingRequest; @@ -36,13 +38,11 @@ import org.cloudfoundry.reactor.client.v3.AbstractClientV3Operations; import reactor.core.publisher.Mono; -import java.util.Map; -import java.util.Optional; - /** * The Reactor-based implementation of {@link ServiceBindingsV3} */ -public final class ReactorServiceBindingsV3 extends AbstractClientV3Operations implements ServiceBindingsV3 { +public final class ReactorServiceBindingsV3 extends AbstractClientV3Operations + implements ServiceBindingsV3 { /** * Creates an instance @@ -52,54 +52,100 @@ public final class ReactorServiceBindingsV3 extends AbstractClientV3Operations i * @param tokenProvider the {@link TokenProvider} to use when communicating with the server * @param requestTags map with custom http headers which will be added to web request */ - public ReactorServiceBindingsV3(ConnectionContext connectionContext, Mono root, TokenProvider tokenProvider, Map requestTags) { + public ReactorServiceBindingsV3( + ConnectionContext connectionContext, + Mono root, + TokenProvider tokenProvider, + Map requestTags) { super(connectionContext, root, tokenProvider, requestTags); } @Override public Mono create(CreateServiceBindingRequest request) { - return postWithResponse(request, ServiceBindingResource.class, builder -> builder.pathSegment("service_credential_bindings")) - .map(responseTuple -> CreateServiceBindingResponse.builder() - .serviceBinding(responseTuple.getBody()) - .jobId(Optional.ofNullable(extractJobId(responseTuple.getResponse()))) - .build()) - .checkpoint(); + return postWithResponse( + request, + ServiceBindingResource.class, + builder -> builder.pathSegment("service_credential_bindings")) + .map( + responseTuple -> + CreateServiceBindingResponse.builder() + .serviceBinding(responseTuple.getBody()) + .jobId( + Optional.ofNullable( + extractJobId(responseTuple.getResponse()))) + .build()) + .checkpoint(); } @Override public Mono delete(DeleteServiceBindingRequest request) { - return delete(request, builder -> builder.pathSegment("service_credential_bindings", request.getServiceBindingId())) - .checkpoint(); + return delete( + request, + builder -> + builder.pathSegment( + "service_credential_bindings", + request.getServiceBindingId())) + .checkpoint(); } @Override public Mono get(GetServiceBindingRequest request) { - return get(request, GetServiceBindingResponse.class, builder -> builder.pathSegment("service_credential_bindings", request.getServiceBindingId())) - .checkpoint(); + return get( + request, + GetServiceBindingResponse.class, + builder -> + builder.pathSegment( + "service_credential_bindings", + request.getServiceBindingId())) + .checkpoint(); } @Override - public Mono getDetails(GetServiceBindingDetailsRequest request) { - return get(request, GetServiceBindingDetailsResponse.class, builder -> builder.pathSegment("service_credential_bindings", request.getServiceBindingId(), "details")) - .checkpoint(); + public Mono getDetails( + GetServiceBindingDetailsRequest request) { + return get( + request, + GetServiceBindingDetailsResponse.class, + builder -> + builder.pathSegment( + "service_credential_bindings", + request.getServiceBindingId(), + "details")) + .checkpoint(); } @Override - public Mono getParameters(GetServiceBindingParametersRequest request) { - return get(request, GetServiceBindingParametersResponse.class, builder -> builder.pathSegment("service_credential_bindings", request.getServiceBindingId(), "parameters")) - .checkpoint(); + public Mono getParameters( + GetServiceBindingParametersRequest request) { + return get( + request, + GetServiceBindingParametersResponse.class, + builder -> + builder.pathSegment( + "service_credential_bindings", + request.getServiceBindingId(), + "parameters")) + .checkpoint(); } @Override public Mono list(ListServiceBindingsRequest request) { - return get(request, ListServiceBindingsResponse.class, builder -> builder.pathSegment("service_credential_bindings")) - .checkpoint(); + return get( + request, + ListServiceBindingsResponse.class, + builder -> builder.pathSegment("service_credential_bindings")) + .checkpoint(); } @Override public Mono update(UpdateServiceBindingRequest request) { - return patch(request, UpdateServiceBindingResponse.class, builder -> builder.pathSegment("service_credential_bindings", request.getServiceBindingId())) - .checkpoint(); + return patch( + request, + UpdateServiceBindingResponse.class, + builder -> + builder.pathSegment( + "service_credential_bindings", + request.getServiceBindingId())) + .checkpoint(); } - } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/servicebrokers/ReactorServiceBrokersV3.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/servicebrokers/ReactorServiceBrokersV3.java index 8e01239eba..2367d61cd3 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/servicebrokers/ReactorServiceBrokersV3.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/servicebrokers/ReactorServiceBrokersV3.java @@ -2,7 +2,6 @@ import java.util.Map; import java.util.Optional; - import org.cloudfoundry.client.v3.servicebrokers.CreateServiceBrokerRequest; import org.cloudfoundry.client.v3.servicebrokers.DeleteServiceBrokerRequest; import org.cloudfoundry.client.v3.servicebrokers.GetServiceBrokerRequest; @@ -16,49 +15,70 @@ import org.cloudfoundry.reactor.ConnectionContext; import org.cloudfoundry.reactor.TokenProvider; import org.cloudfoundry.reactor.client.v3.AbstractClientV3Operations; - import reactor.core.publisher.Mono; -public final class ReactorServiceBrokersV3 extends AbstractClientV3Operations implements ServiceBrokersV3 { +public final class ReactorServiceBrokersV3 extends AbstractClientV3Operations + implements ServiceBrokersV3 { - public ReactorServiceBrokersV3(ConnectionContext connectionContext, Mono root, TokenProvider tokenProvider, - Map requestTags) { - super(connectionContext, root, tokenProvider, requestTags); + public ReactorServiceBrokersV3( + ConnectionContext connectionContext, + Mono root, + TokenProvider tokenProvider, + Map requestTags) { + super(connectionContext, root, tokenProvider, requestTags); } @Override public Mono create(CreateServiceBrokerRequest request) { - return post(request, builder -> builder.pathSegment("service_brokers")) - .checkpoint(); + return post(request, builder -> builder.pathSegment("service_brokers")).checkpoint(); } @Override public Mono delete(DeleteServiceBrokerRequest request) { - return delete(request, builder -> builder.pathSegment("service_brokers", request.getServiceBrokerId())) - .checkpoint(); + return delete( + request, + builder -> + builder.pathSegment( + "service_brokers", request.getServiceBrokerId())) + .checkpoint(); } @Override public Mono get(GetServiceBrokerRequest request) { - return get(request, GetServiceBrokerResponse.class, builder -> builder.pathSegment("service_brokers", request.getServiceBrokerId())) - .checkpoint(); + return get( + request, + GetServiceBrokerResponse.class, + builder -> + builder.pathSegment( + "service_brokers", request.getServiceBrokerId())) + .checkpoint(); } @Override public Mono list(ListServiceBrokersRequest request) { - return get(request, ListServiceBrokersResponse.class, builder -> builder.pathSegment("service_brokers")) - .checkpoint(); + return get( + request, + ListServiceBrokersResponse.class, + builder -> builder.pathSegment("service_brokers")) + .checkpoint(); } @Override public Mono update(UpdateServiceBrokerRequest request) { - return patchWithResponse(request, ServiceBrokerResource.class, builder -> builder.pathSegment("service_brokers", request.getServiceBrokerId())) - .map(responseTuple -> UpdateServiceBrokerResponse.builder() - .serviceBroker(responseTuple.getBody()) - .jobId(Optional.ofNullable( - extractJobId(responseTuple.getResponse()))) - .build()) - .checkpoint(); + return patchWithResponse( + request, + ServiceBrokerResource.class, + builder -> + builder.pathSegment( + "service_brokers", request.getServiceBrokerId())) + .map( + responseTuple -> + UpdateServiceBrokerResponse.builder() + .serviceBroker(responseTuple.getBody()) + .jobId( + Optional.ofNullable( + extractJobId(responseTuple.getResponse()))) + .build()) + .checkpoint(); } - } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/serviceinstances/ReactorServiceInstancesV3.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/serviceinstances/ReactorServiceInstancesV3.java index 2a03da3c06..05fdefec19 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/serviceinstances/ReactorServiceInstancesV3.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/serviceinstances/ReactorServiceInstancesV3.java @@ -16,7 +16,8 @@ package org.cloudfoundry.reactor.client.v3.serviceinstances; - +import java.util.Map; +import java.util.Optional; import org.cloudfoundry.client.v3.serviceinstances.CreateServiceInstanceRequest; import org.cloudfoundry.client.v3.serviceinstances.CreateServiceInstanceResponse; import org.cloudfoundry.client.v3.serviceinstances.DeleteServiceInstanceRequest; @@ -43,13 +44,11 @@ import org.cloudfoundry.reactor.client.v3.AbstractClientV3Operations; import reactor.core.publisher.Mono; -import java.util.Map; -import java.util.Optional; - /** * The Reactor-based implementation of {@link ServiceInstancesV3} */ -public final class ReactorServiceInstancesV3 extends AbstractClientV3Operations implements ServiceInstancesV3 { +public final class ReactorServiceInstancesV3 extends AbstractClientV3Operations + implements ServiceInstancesV3 { /** * Creates an instance @@ -59,18 +58,27 @@ public final class ReactorServiceInstancesV3 extends AbstractClientV3Operations * @param tokenProvider the {@link TokenProvider} to use when communicating with the server * @param requestTags map with custom http headers which will be added to web request */ - public ReactorServiceInstancesV3(ConnectionContext connectionContext, Mono root, TokenProvider tokenProvider, Map requestTags) { + public ReactorServiceInstancesV3( + ConnectionContext connectionContext, + Mono root, + TokenProvider tokenProvider, + Map requestTags) { super(connectionContext, root, tokenProvider, requestTags); } @Override public Mono create(CreateServiceInstanceRequest request) { - return postWithResponse(request, ServiceInstanceResource.class, builder -> builder.pathSegment("service_instances")) - .map(responseTuple -> CreateServiceInstanceResponse.builder() - .jobId(getJobId(responseTuple)) - .serviceInstance(responseTuple.getBody()) - .build()) - .checkpoint(); + return postWithResponse( + request, + ServiceInstanceResource.class, + builder -> builder.pathSegment("service_instances")) + .map( + responseTuple -> + CreateServiceInstanceResponse.builder() + .jobId(getJobId(responseTuple)) + .serviceInstance(responseTuple.getBody()) + .build()) + .checkpoint(); } private Optional getJobId(HttpClientResponseWithParsedBody responseTuple) { @@ -79,60 +87,122 @@ private Optional getJobId(HttpClientResponseWithParsedBody respon @Override public Mono get(GetServiceInstanceRequest request) { - return get(request, GetServiceInstanceResponse.class, builder -> builder.pathSegment("service_instances", request.getServiceInstanceId())) - .checkpoint(); + return get( + request, + GetServiceInstanceResponse.class, + builder -> + builder.pathSegment( + "service_instances", request.getServiceInstanceId())) + .checkpoint(); } @Override public Mono> delete(DeleteServiceInstanceRequest request) { - return deleteWithResponse(request, String.class, builder -> builder.pathSegment("service_instances", request.getServiceInstanceId())) - .map(this::getJobId) - .checkpoint(); + return deleteWithResponse( + request, + String.class, + builder -> + builder.pathSegment( + "service_instances", request.getServiceInstanceId())) + .map(this::getJobId) + .checkpoint(); } @Override - public Mono getManagedServiceParameters(GetManagedServiceParametersRequest request) { - return get(request, GetManagedServiceParametersResponse.class, builder -> builder.pathSegment("service_instances", request.getServiceInstanceId(), "parameters")) - .checkpoint(); + public Mono getManagedServiceParameters( + GetManagedServiceParametersRequest request) { + return get( + request, + GetManagedServiceParametersResponse.class, + builder -> + builder.pathSegment( + "service_instances", + request.getServiceInstanceId(), + "parameters")) + .checkpoint(); } @Override - public Mono getUserProvidedCredentials(GetUserProvidedCredentialsRequest request) { - return get(request, GetUserProvidedCredentialsResponse.class, builder -> builder.pathSegment("service_instances", request.getServiceInstanceId(), "credentials")) - .checkpoint(); + public Mono getUserProvidedCredentials( + GetUserProvidedCredentialsRequest request) { + return get( + request, + GetUserProvidedCredentialsResponse.class, + builder -> + builder.pathSegment( + "service_instances", + request.getServiceInstanceId(), + "credentials")) + .checkpoint(); } @Override public Mono list(ListServiceInstancesRequest request) { - return get(request, ListServiceInstancesResponse.class, builder -> builder.pathSegment("service_instances")) - .checkpoint(); + return get( + request, + ListServiceInstancesResponse.class, + builder -> builder.pathSegment("service_instances")) + .checkpoint(); } @Override - public Mono listSharedSpacesRelationship(ListSharedSpacesRelationshipRequest request) { - return get(request, ListSharedSpacesRelationshipResponse.class, builder -> builder.pathSegment("service_instances", request.getServiceInstanceId(), "relationships", "shared_spaces")) - .checkpoint(); + public Mono listSharedSpacesRelationship( + ListSharedSpacesRelationshipRequest request) { + return get( + request, + ListSharedSpacesRelationshipResponse.class, + builder -> + builder.pathSegment( + "service_instances", + request.getServiceInstanceId(), + "relationships", + "shared_spaces")) + .checkpoint(); } @Override public Mono share(ShareServiceInstanceRequest request) { - return post(request, ShareServiceInstanceResponse.class, builder -> builder.pathSegment("service_instances", request.getServiceInstanceId(), "relationships", "shared_spaces")) - .checkpoint(); + return post( + request, + ShareServiceInstanceResponse.class, + builder -> + builder.pathSegment( + "service_instances", + request.getServiceInstanceId(), + "relationships", + "shared_spaces")) + .checkpoint(); } @Override public Mono unshare(UnshareServiceInstanceRequest request) { - return delete(request, Void.class, builder -> builder.pathSegment("service_instances", request.getServiceInstanceId(), "relationships", "shared_spaces", request.getSpaceId())) - .checkpoint(); + return delete( + request, + Void.class, + builder -> + builder.pathSegment( + "service_instances", + request.getServiceInstanceId(), + "relationships", + "shared_spaces", + request.getSpaceId())) + .checkpoint(); } @Override public Mono update(UpdateServiceInstanceRequest request) { - return patchWithResponse(request, ServiceInstanceResource.class, builder -> builder.pathSegment("service_instances", request.getServiceInstanceId())) - .map(responseTuple -> UpdateServiceInstanceResponse.builder() - .jobId(getJobId(responseTuple)) - .serviceInstance(responseTuple.getBody()) - .build()) - .checkpoint(); + return patchWithResponse( + request, + ServiceInstanceResource.class, + builder -> + builder.pathSegment( + "service_instances", request.getServiceInstanceId())) + .map( + responseTuple -> + UpdateServiceInstanceResponse.builder() + .jobId(getJobId(responseTuple)) + .serviceInstance(responseTuple.getBody()) + .build()) + .checkpoint(); } } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/serviceofferings/ReactorServiceOfferingsV3.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/serviceofferings/ReactorServiceOfferingsV3.java index 8d8bda867d..7721c036ce 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/serviceofferings/ReactorServiceOfferingsV3.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/serviceofferings/ReactorServiceOfferingsV3.java @@ -16,6 +16,7 @@ package org.cloudfoundry.reactor.client.v3.serviceofferings; +import java.util.Map; import org.cloudfoundry.client.v3.serviceofferings.DeleteServiceOfferingRequest; import org.cloudfoundry.client.v3.serviceofferings.GetServiceOfferingRequest; import org.cloudfoundry.client.v3.serviceofferings.GetServiceOfferingResponse; @@ -29,12 +30,11 @@ import org.cloudfoundry.reactor.client.v3.AbstractClientV3Operations; import reactor.core.publisher.Mono; -import java.util.Map; - /** * The Reactor-based implementation of {@link ServiceOfferingsV3} */ -public final class ReactorServiceOfferingsV3 extends AbstractClientV3Operations implements ServiceOfferingsV3 { +public final class ReactorServiceOfferingsV3 extends AbstractClientV3Operations + implements ServiceOfferingsV3 { /** * Creates an instance @@ -44,32 +44,53 @@ public final class ReactorServiceOfferingsV3 extends AbstractClientV3Operations * @param tokenProvider the {@link TokenProvider} to use when communicating with the server * @param requestTags map with custom http headers which will be added to web request */ - public ReactorServiceOfferingsV3(ConnectionContext connectionContext, Mono root, TokenProvider tokenProvider, Map requestTags) { + public ReactorServiceOfferingsV3( + ConnectionContext connectionContext, + Mono root, + TokenProvider tokenProvider, + Map requestTags) { super(connectionContext, root, tokenProvider, requestTags); } @Override public Mono delete(DeleteServiceOfferingRequest request) { - return delete(request, Void.class, builder -> builder.pathSegment("service_offerings", request.getServiceOfferingId())) - .checkpoint(); + return delete( + request, + Void.class, + builder -> + builder.pathSegment( + "service_offerings", request.getServiceOfferingId())) + .checkpoint(); } @Override public Mono get(GetServiceOfferingRequest request) { - return get(request, GetServiceOfferingResponse.class, builder -> builder.pathSegment("service_offerings", request.getServiceOfferingId())) - .checkpoint(); + return get( + request, + GetServiceOfferingResponse.class, + builder -> + builder.pathSegment( + "service_offerings", request.getServiceOfferingId())) + .checkpoint(); } @Override public Mono list(ListServiceOfferingsRequest request) { - return get(request, ListServiceOfferingsResponse.class, builder -> builder.pathSegment("service_offerings")) - .checkpoint(); + return get( + request, + ListServiceOfferingsResponse.class, + builder -> builder.pathSegment("service_offerings")) + .checkpoint(); } @Override public Mono update(UpdateServiceOfferingRequest request) { - return patch(request, UpdateServiceOfferingResponse.class, builder -> builder.pathSegment("service_offerings", request.getServiceOfferingId())) - .checkpoint(); + return patch( + request, + UpdateServiceOfferingResponse.class, + builder -> + builder.pathSegment( + "service_offerings", request.getServiceOfferingId())) + .checkpoint(); } - } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/serviceplans/ReactorServicePlansV3.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/serviceplans/ReactorServicePlansV3.java index b70dc7ae50..1fc859cd82 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/serviceplans/ReactorServicePlansV3.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/serviceplans/ReactorServicePlansV3.java @@ -16,6 +16,7 @@ package org.cloudfoundry.reactor.client.v3.serviceplans; +import java.util.Map; import org.cloudfoundry.client.v3.serviceplans.DeleteServicePlanRequest; import org.cloudfoundry.client.v3.serviceplans.GetServicePlanRequest; import org.cloudfoundry.client.v3.serviceplans.GetServicePlanResponse; @@ -31,12 +32,11 @@ import org.cloudfoundry.reactor.client.v3.AbstractClientV3Operations; import reactor.core.publisher.Mono; -import java.util.Map; - /** * The Reactor-based implementation of {@link ServicePlansV3} */ -public final class ReactorServicePlansV3 extends AbstractClientV3Operations implements ServicePlansV3 { +public final class ReactorServicePlansV3 extends AbstractClientV3Operations + implements ServicePlansV3 { /** * Creates an instance @@ -46,37 +46,59 @@ public final class ReactorServicePlansV3 extends AbstractClientV3Operations impl * @param tokenProvider the {@link TokenProvider} to use when communicating with the server * @param requestTags map with custom http headers which will be added to web request */ - public ReactorServicePlansV3(ConnectionContext connectionContext, Mono root, TokenProvider tokenProvider, Map requestTags) { + public ReactorServicePlansV3( + ConnectionContext connectionContext, + Mono root, + TokenProvider tokenProvider, + Map requestTags) { super(connectionContext, root, tokenProvider, requestTags); } @Override public Mono delete(DeleteServicePlanRequest request) { - return delete(request, Void.class, builder -> builder.pathSegment("service_plans", request.getServicePlanId())) - .checkpoint(); + return delete( + request, + Void.class, + builder -> builder.pathSegment("service_plans", request.getServicePlanId())) + .checkpoint(); } @Override public Mono get(GetServicePlanRequest request) { - return get(request, GetServicePlanResponse.class, builder -> builder.pathSegment("service_plans", request.getServicePlanId())) - .checkpoint(); + return get( + request, + GetServicePlanResponse.class, + builder -> builder.pathSegment("service_plans", request.getServicePlanId())) + .checkpoint(); } @Override public Mono list(ListServicePlansRequest request) { - return get(request, ListServicePlansResponse.class, builder -> builder.pathSegment("service_plans")) - .checkpoint(); + return get( + request, + ListServicePlansResponse.class, + builder -> builder.pathSegment("service_plans")) + .checkpoint(); } @Override public Mono update(UpdateServicePlanRequest request) { - return patch(request, UpdateServicePlanResponse.class, builder -> builder.pathSegment("service_plans", request.getServicePlanId())) - .checkpoint(); + return patch( + request, + UpdateServicePlanResponse.class, + builder -> builder.pathSegment("service_plans", request.getServicePlanId())) + .checkpoint(); } @Override - public Mono updateVisibility(UpdateServicePlanVisibilityRequest request) { - return post(request, UpdateServicePlanVisibilityResponse.class, builder -> builder.pathSegment("service_plans", request.getServicePlanId(), "visibility")) - .checkpoint(); + public Mono updateVisibility( + UpdateServicePlanVisibilityRequest request) { + return post( + request, + UpdateServicePlanVisibilityResponse.class, + builder -> + builder.pathSegment( + "service_plans", request.getServicePlanId(), "visibility")) + .checkpoint(); } } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/spaces/ReactorSpacesV3.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/spaces/ReactorSpacesV3.java index 4498805724..b62a3c53cd 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/spaces/ReactorSpacesV3.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/spaces/ReactorSpacesV3.java @@ -16,6 +16,8 @@ package org.cloudfoundry.reactor.client.v3.spaces; +import java.util.Map; +import java.util.Optional; import org.cloudfoundry.client.v3.spaces.ApplyManifestRequest; import org.cloudfoundry.client.v3.spaces.ApplyManifestResponse; import org.cloudfoundry.client.v3.spaces.AssignSpaceIsolationSegmentRequest; @@ -38,9 +40,6 @@ import org.cloudfoundry.reactor.client.v3.AbstractClientV3Operations; import reactor.core.publisher.Mono; -import java.util.Map; -import java.util.Optional; - /** * The Reactor-based implementation of {@link SpacesV3} */ @@ -54,65 +53,108 @@ public final class ReactorSpacesV3 extends AbstractClientV3Operations implements * @param tokenProvider the {@link TokenProvider} to use when communicating with the server * @param requestTags map with custom http headers which will be added to web request */ - public ReactorSpacesV3(ConnectionContext connectionContext, Mono root, TokenProvider tokenProvider, Map requestTags) { + public ReactorSpacesV3( + ConnectionContext connectionContext, + Mono root, + TokenProvider tokenProvider, + Map requestTags) { super(connectionContext, root, tokenProvider, requestTags); } @Override public Mono applyManifest(ApplyManifestRequest request) { - return postRawWithResponse(request.getManifest(), "application/x-yaml", ApplyManifestResponse.class, builder -> builder.pathSegment("spaces", request.getSpaceId(), "actions", - "apply_manifest")) - .map(responseTuple -> ApplyManifestResponse.builder() - .jobId(Optional.ofNullable( - extractJobId(responseTuple.getResponse()))) - .build()); + return postRawWithResponse( + request.getManifest(), + "application/x-yaml", + ApplyManifestResponse.class, + builder -> + builder.pathSegment( + "spaces", + request.getSpaceId(), + "actions", + "apply_manifest")) + .map( + responseTuple -> + ApplyManifestResponse.builder() + .jobId( + Optional.ofNullable( + extractJobId(responseTuple.getResponse()))) + .build()); } @Override - public Mono assignIsolationSegment(AssignSpaceIsolationSegmentRequest request) { - return patch(request, AssignSpaceIsolationSegmentResponse.class, builder -> builder.pathSegment("spaces", request.getSpaceId(), "relationships", "isolation_segment")) - .checkpoint(); + public Mono assignIsolationSegment( + AssignSpaceIsolationSegmentRequest request) { + return patch( + request, + AssignSpaceIsolationSegmentResponse.class, + builder -> + builder.pathSegment( + "spaces", + request.getSpaceId(), + "relationships", + "isolation_segment")) + .checkpoint(); } @Override public Mono create(CreateSpaceRequest request) { return post(request, CreateSpaceResponse.class, builder -> builder.pathSegment("spaces")) - .checkpoint(); + .checkpoint(); } @Override public Mono delete(DeleteSpaceRequest request) { return delete(request, builder -> builder.pathSegment("spaces", request.getSpaceId())) - .checkpoint(); + .checkpoint(); } @Override public Mono deleteUnmappedRoutes(DeleteUnmappedRoutesRequest request) { - return delete(request, builder -> builder.pathSegment("spaces", request.getSpaceId(), "routes").query("unmapped=true")) - .checkpoint(); + return delete( + request, + builder -> + builder.pathSegment("spaces", request.getSpaceId(), "routes") + .query("unmapped=true")) + .checkpoint(); } @Override public Mono get(GetSpaceRequest request) { - return get(request, GetSpaceResponse.class, builder -> builder.pathSegment("spaces", request.getSpaceId())) - .checkpoint(); + return get( + request, + GetSpaceResponse.class, + builder -> builder.pathSegment("spaces", request.getSpaceId())) + .checkpoint(); } @Override - public Mono getIsolationSegment(GetSpaceIsolationSegmentRequest request) { - return get(request, GetSpaceIsolationSegmentResponse.class, builder -> builder.pathSegment("spaces", request.getSpaceId(), "relationships", "isolation_segment")) - .checkpoint(); + public Mono getIsolationSegment( + GetSpaceIsolationSegmentRequest request) { + return get( + request, + GetSpaceIsolationSegmentResponse.class, + builder -> + builder.pathSegment( + "spaces", + request.getSpaceId(), + "relationships", + "isolation_segment")) + .checkpoint(); } @Override public Mono list(ListSpacesRequest request) { return get(request, ListSpacesResponse.class, builder -> builder.pathSegment("spaces")) - .checkpoint(); + .checkpoint(); } @Override public Mono update(UpdateSpaceRequest request) { - return patch(request, UpdateSpaceResponse.class, builder -> builder.pathSegment("spaces", request.getSpaceId())) - .checkpoint(); + return patch( + request, + UpdateSpaceResponse.class, + builder -> builder.pathSegment("spaces", request.getSpaceId())) + .checkpoint(); } } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/stacks/ReactorStacksV3.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/stacks/ReactorStacksV3.java index fea01cf407..6de8cd71bd 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/stacks/ReactorStacksV3.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/stacks/ReactorStacksV3.java @@ -16,6 +16,7 @@ package org.cloudfoundry.reactor.client.v3.stacks; +import java.util.Map; import org.cloudfoundry.client.v3.stacks.CreateStackRequest; import org.cloudfoundry.client.v3.stacks.CreateStackResponse; import org.cloudfoundry.client.v3.stacks.DeleteStackRequest; @@ -31,8 +32,6 @@ import org.cloudfoundry.reactor.client.v3.AbstractClientV3Operations; import reactor.core.publisher.Mono; -import java.util.Map; - /** * The Reactor-based implementation of {@link StacksV3} */ @@ -46,37 +45,59 @@ public class ReactorStacksV3 extends AbstractClientV3Operations implements Stack * @param tokenProvider the {@link TokenProvider} to use when communicating with the server * @param requestTags map with custom http headers which will be added to web request */ - public ReactorStacksV3(ConnectionContext connectionContext, Mono root, TokenProvider tokenProvider, Map requestTags) { + public ReactorStacksV3( + ConnectionContext connectionContext, + Mono root, + TokenProvider tokenProvider, + Map requestTags) { super(connectionContext, root, tokenProvider, requestTags); } @Override public Mono create(CreateStackRequest request) { - return post(request, CreateStackResponse.class, uriComponentsBuilder -> uriComponentsBuilder.pathSegment("stacks")) - .checkpoint(); + return post( + request, + CreateStackResponse.class, + uriComponentsBuilder -> uriComponentsBuilder.pathSegment("stacks")) + .checkpoint(); } @Override public Mono delete(DeleteStackRequest request) { - return delete(request, Void.class, uriComponentsBuilder -> uriComponentsBuilder.pathSegment("stacks", request.getStackId())) - .checkpoint(); + return delete( + request, + Void.class, + uriComponentsBuilder -> + uriComponentsBuilder.pathSegment("stacks", request.getStackId())) + .checkpoint(); } @Override public Mono get(GetStackRequest request) { - return get(request, GetStackResponse.class, uriComponentsBuilder -> uriComponentsBuilder.pathSegment("stacks", request.getStackId())) - .checkpoint(); + return get( + request, + GetStackResponse.class, + uriComponentsBuilder -> + uriComponentsBuilder.pathSegment("stacks", request.getStackId())) + .checkpoint(); } @Override public Mono list(ListStacksRequest request) { - return get(request, ListStacksResponse.class, uriComponentsBuilder -> uriComponentsBuilder.pathSegment("stacks")) - .checkpoint(); + return get( + request, + ListStacksResponse.class, + uriComponentsBuilder -> uriComponentsBuilder.pathSegment("stacks")) + .checkpoint(); } @Override public Mono update(UpdateStackRequest request) { - return patch(request, UpdateStackResponse.class, uriComponentsBuilder -> uriComponentsBuilder.pathSegment("stacks", request.getStackId())) - .checkpoint(); + return patch( + request, + UpdateStackResponse.class, + uriComponentsBuilder -> + uriComponentsBuilder.pathSegment("stacks", request.getStackId())) + .checkpoint(); } } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/tasks/ReactorTasks.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/tasks/ReactorTasks.java index c0fc166195..5298491128 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/tasks/ReactorTasks.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/client/v3/tasks/ReactorTasks.java @@ -16,6 +16,7 @@ package org.cloudfoundry.reactor.client.v3.tasks; +import java.util.Map; import org.cloudfoundry.client.v3.tasks.CancelTaskRequest; import org.cloudfoundry.client.v3.tasks.CancelTaskResponse; import org.cloudfoundry.client.v3.tasks.CreateTaskRequest; @@ -30,8 +31,6 @@ import org.cloudfoundry.reactor.client.v3.AbstractClientV3Operations; import reactor.core.publisher.Mono; -import java.util.Map; - /** * The Reactor-based implementation of {@link Tasks} */ @@ -45,32 +44,46 @@ public final class ReactorTasks extends AbstractClientV3Operations implements Ta * @param tokenProvider the {@link TokenProvider} to use when communicating with the server * @param requestTags map with custom http headers which will be added to web request */ - public ReactorTasks(ConnectionContext connectionContext, Mono root, TokenProvider tokenProvider, Map requestTags) { + public ReactorTasks( + ConnectionContext connectionContext, + Mono root, + TokenProvider tokenProvider, + Map requestTags) { super(connectionContext, root, tokenProvider, requestTags); } @Override - public Mono cancel(CancelTaskRequest request) { // TODO: Modify once support has aged out https://v3-apidocs.cloudfoundry.org/version/3.27.0/#cancel-a-task - return put(request, CancelTaskResponse.class, builder -> builder.pathSegment("tasks", request.getTaskId(), "cancel")) - .checkpoint(); + public Mono cancel( + CancelTaskRequest request) { // TODO: Modify once support has aged out + // https://v3-apidocs.cloudfoundry.org/version/3.27.0/#cancel-a-task + return put( + request, + CancelTaskResponse.class, + builder -> builder.pathSegment("tasks", request.getTaskId(), "cancel")) + .checkpoint(); } @Override public Mono create(CreateTaskRequest request) { - return post(request, CreateTaskResponse.class, builder -> builder.pathSegment("apps", request.getApplicationId(), "tasks")) - .checkpoint(); + return post( + request, + CreateTaskResponse.class, + builder -> builder.pathSegment("apps", request.getApplicationId(), "tasks")) + .checkpoint(); } @Override public Mono get(GetTaskRequest request) { - return get(request, GetTaskResponse.class, builder -> builder.pathSegment("tasks", request.getTaskId())) - .checkpoint(); + return get( + request, + GetTaskResponse.class, + builder -> builder.pathSegment("tasks", request.getTaskId())) + .checkpoint(); } @Override public Mono list(ListTasksRequest request) { return get(request, ListTasksResponse.class, builder -> builder.pathSegment("tasks")) - .checkpoint(); + .checkpoint(); } - } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/doppler/AbstractDopplerOperations.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/doppler/AbstractDopplerOperations.java index e6bdfa64e6..608054e0ac 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/doppler/AbstractDopplerOperations.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/doppler/AbstractDopplerOperations.java @@ -17,6 +17,9 @@ package org.cloudfoundry.reactor.doppler; import io.netty.channel.ChannelHandler; +import java.io.InputStream; +import java.util.Map; +import java.util.function.Function; import org.cloudfoundry.reactor.ConnectionContext; import org.cloudfoundry.reactor.TokenProvider; import org.cloudfoundry.reactor.util.AbstractReactorOperations; @@ -26,29 +29,36 @@ import reactor.netty.ByteBufFlux; import reactor.netty.http.client.HttpClientResponse; -import java.io.InputStream; -import java.util.Map; -import java.util.function.Function; - abstract class AbstractDopplerOperations extends AbstractReactorOperations { - AbstractDopplerOperations(ConnectionContext connectionContext, Mono root, TokenProvider tokenProvider, Map requestTags) { + AbstractDopplerOperations( + ConnectionContext connectionContext, + Mono root, + TokenProvider tokenProvider, + Map requestTags) { super(connectionContext, root, tokenProvider, requestTags); } - final Flux get(Function uriTransformer, Function channelHandlerBuilder, - Function> bodyTransformer) { - return createOperator().flatMapMany(operator -> operator.get() - .uri(uriTransformer) - .response() - .addChannelHandler(channelHandlerBuilder) - .parseBodyToFlux(responseWithBody -> bodyTransformer.apply(responseWithBody.getBody()))); + final Flux get( + Function uriTransformer, + Function channelHandlerBuilder, + Function> bodyTransformer) { + return createOperator() + .flatMapMany( + operator -> + operator.get() + .uri(uriTransformer) + .response() + .addChannelHandler(channelHandlerBuilder) + .parseBodyToFlux( + responseWithBody -> + bodyTransformer.apply( + responseWithBody.getBody()))); } - final Flux ws(Function uriTransformer) { - return createOperator().flatMapMany(operator -> operator.websocket() - .uri(uriTransformer) - .get()); + final Flux ws( + Function uriTransformer) { + return createOperator() + .flatMapMany(operator -> operator.websocket().uri(uriTransformer).get()); } - } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/doppler/MultipartCodec.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/doppler/MultipartCodec.java index 69c49cc232..1c63558cb4 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/doppler/MultipartCodec.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/doppler/MultipartCodec.java @@ -19,17 +19,16 @@ import io.netty.buffer.Unpooled; import io.netty.handler.codec.DelimiterBasedFrameDecoder; import io.netty.handler.codec.http.HttpHeaderNames; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import reactor.core.publisher.Flux; -import reactor.netty.ByteBufFlux; -import reactor.netty.http.client.HttpClientResponse; - import java.io.IOException; import java.io.InputStream; import java.nio.charset.Charset; import java.util.regex.Matcher; import java.util.regex.Pattern; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import reactor.core.publisher.Flux; +import reactor.netty.ByteBufFlux; +import reactor.netty.http.client.HttpClientResponse; final class MultipartCodec { @@ -39,23 +38,25 @@ final class MultipartCodec { private static final int MAX_PAYLOAD_SIZE = 1024 * 1024; - private MultipartCodec() { - } + private MultipartCodec() {} static DelimiterBasedFrameDecoder createDecoder(HttpClientResponse response) { String boundary = extractMultipartBoundary(response); - return new DelimiterBasedFrameDecoder(MAX_PAYLOAD_SIZE, - Unpooled.copiedBuffer(String.format("--%s\r\n\r\n", boundary), Charset.defaultCharset()), - Unpooled.copiedBuffer(String.format("\r\n--%s\r\n\r\n", boundary), Charset.defaultCharset()), - Unpooled.copiedBuffer(String.format("\r\n--%s--", boundary), Charset.defaultCharset()), - Unpooled.copiedBuffer(String.format("\r\n--%s--\r\n", boundary), Charset.defaultCharset())); + return new DelimiterBasedFrameDecoder( + MAX_PAYLOAD_SIZE, + Unpooled.copiedBuffer( + String.format("--%s\r\n\r\n", boundary), Charset.defaultCharset()), + Unpooled.copiedBuffer( + String.format("\r\n--%s\r\n\r\n", boundary), Charset.defaultCharset()), + Unpooled.copiedBuffer( + String.format("\r\n--%s--", boundary), Charset.defaultCharset()), + Unpooled.copiedBuffer( + String.format("\r\n--%s--\r\n", boundary), Charset.defaultCharset())); } static Flux decode(ByteBufFlux body) { - return body.asInputStream() - .skip(1) - .doOnDiscard(InputStream.class, MultipartCodec::close); + return body.asInputStream().skip(1).doOnDiscard(InputStream.class, MultipartCodec::close); } private static void close(InputStream in) { @@ -73,8 +74,10 @@ private static String extractMultipartBoundary(HttpClientResponse response) { if (matcher.matches()) { return matcher.group(1); } else { - throw new IllegalStateException(String.format("Content-Type %s does not contain a valid multipart boundary", contentType)); + throw new IllegalStateException( + String.format( + "Content-Type %s does not contain a valid multipart boundary", + contentType)); } } - } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/doppler/ReactorDopplerEndpoints.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/doppler/ReactorDopplerEndpoints.java index 0b54cc3889..07f7f410ee 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/doppler/ReactorDopplerEndpoints.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/doppler/ReactorDopplerEndpoints.java @@ -16,6 +16,9 @@ package org.cloudfoundry.reactor.doppler; +import java.io.IOException; +import java.io.InputStream; +import java.util.Map; import org.cloudfoundry.doppler.ContainerMetricsRequest; import org.cloudfoundry.doppler.Envelope; import org.cloudfoundry.doppler.FirehoseRequest; @@ -27,34 +30,48 @@ import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; -import java.io.IOException; -import java.io.InputStream; -import java.util.Map; - final class ReactorDopplerEndpoints extends AbstractDopplerOperations { - ReactorDopplerEndpoints(ConnectionContext connectionContext, Mono root, TokenProvider tokenProvider, Map requestTags) { + ReactorDopplerEndpoints( + ConnectionContext connectionContext, + Mono root, + TokenProvider tokenProvider, + Map requestTags) { super(connectionContext, root, tokenProvider, requestTags); } Flux containerMetrics(ContainerMetricsRequest request) { - return get(builder -> builder.pathSegment("apps", request.getApplicationId(), "containermetrics"), MultipartCodec::createDecoder, MultipartCodec::decode).map(ReactorDopplerEndpoints::toEnvelope) - .checkpoint(); + return get( + builder -> + builder.pathSegment( + "apps", request.getApplicationId(), "containermetrics"), + MultipartCodec::createDecoder, + MultipartCodec::decode) + .map(ReactorDopplerEndpoints::toEnvelope) + .checkpoint(); } Flux firehose(FirehoseRequest request) { - return ws(builder -> builder.pathSegment("firehose", request.getSubscriptionId())).map(ReactorDopplerEndpoints::toEnvelope) - .checkpoint(); + return ws(builder -> builder.pathSegment("firehose", request.getSubscriptionId())) + .map(ReactorDopplerEndpoints::toEnvelope) + .checkpoint(); } Flux recentLogs(RecentLogsRequest request) { - return get(builder -> builder.pathSegment("apps", request.getApplicationId(), "recentlogs"), MultipartCodec::createDecoder, MultipartCodec::decode).map(ReactorDopplerEndpoints::toEnvelope) - .checkpoint(); + return get( + builder -> + builder.pathSegment( + "apps", request.getApplicationId(), "recentlogs"), + MultipartCodec::createDecoder, + MultipartCodec::decode) + .map(ReactorDopplerEndpoints::toEnvelope) + .checkpoint(); } Flux stream(StreamRequest request) { - return ws(builder -> builder.pathSegment("apps", request.getApplicationId(), "stream")).map(ReactorDopplerEndpoints::toEnvelope) - .checkpoint(); + return ws(builder -> builder.pathSegment("apps", request.getApplicationId(), "stream")) + .map(ReactorDopplerEndpoints::toEnvelope) + .checkpoint(); } private static Envelope toEnvelope(InputStream content) { @@ -64,5 +81,4 @@ private static Envelope toEnvelope(InputStream content) { throw Exceptions.propagate(e); } } - } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/logcache/v1/AbstractLogCacheOperations.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/logcache/v1/AbstractLogCacheOperations.java index 77de9d4b0a..3145c1c721 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/logcache/v1/AbstractLogCacheOperations.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/logcache/v1/AbstractLogCacheOperations.java @@ -16,6 +16,9 @@ package org.cloudfoundry.reactor.logcache.v1; +import java.util.Map; +import java.util.function.Function; +import java.util.stream.Stream; import org.cloudfoundry.reactor.ConnectionContext; import org.cloudfoundry.reactor.TokenProvider; import org.cloudfoundry.reactor.client.QueryBuilder; @@ -25,35 +28,40 @@ import org.springframework.web.util.UriComponentsBuilder; import reactor.core.publisher.Mono; -import java.util.Map; -import java.util.function.Function; -import java.util.stream.Stream; - public class AbstractLogCacheOperations extends AbstractReactorOperations { - protected AbstractLogCacheOperations(ConnectionContext connectionContext, Mono root, TokenProvider tokenProvider, Map requestTags) { + protected AbstractLogCacheOperations( + ConnectionContext connectionContext, + Mono root, + TokenProvider tokenProvider, + Map requestTags) { super(connectionContext, root, tokenProvider, requestTags); } - protected final Mono get(Object requestPayload, Class responseType, String... pathSegments) { + protected final Mono get( + Object requestPayload, Class responseType, String... pathSegments) { return createOperator() - .flatMap(operator -> operator.get() - .uri(buildPathSegments(pathSegments).andThen(queryTransformer(requestPayload))) - .response() - .parseBody(responseType)); + .flatMap( + operator -> + operator.get() + .uri( + buildPathSegments(pathSegments) + .andThen(queryTransformer(requestPayload))) + .response() + .parseBody(responseType)); } - private Function buildPathSegments(String[] pathSegments) { + private Function buildPathSegments( + String[] pathSegments) { return builder -> builder.pathSegment("api", "v1").pathSegment(pathSegments); } - private Function queryTransformer(Object requestPayload) { + private Function queryTransformer( + Object requestPayload) { return builder -> { Stream parameters = new QueryBuilder().build(requestPayload); UriQueryParameters.set(builder, parameters); return builder; }; } - - } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/logcache/v1/ReactorLogCacheEndpoints.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/logcache/v1/ReactorLogCacheEndpoints.java index 83e3e9643d..2e68c52538 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/logcache/v1/ReactorLogCacheEndpoints.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/logcache/v1/ReactorLogCacheEndpoints.java @@ -16,6 +16,7 @@ package org.cloudfoundry.reactor.logcache.v1; +import java.util.Map; import org.cloudfoundry.logcache.v1.InfoRequest; import org.cloudfoundry.logcache.v1.InfoResponse; import org.cloudfoundry.logcache.v1.MetaRequest; @@ -26,27 +27,25 @@ import org.cloudfoundry.reactor.TokenProvider; import reactor.core.publisher.Mono; -import java.util.Map; - final class ReactorLogCacheEndpoints extends AbstractLogCacheOperations { - ReactorLogCacheEndpoints(ConnectionContext connectionContext, Mono root, TokenProvider tokenProvider, Map requestTags) { + ReactorLogCacheEndpoints( + ConnectionContext connectionContext, + Mono root, + TokenProvider tokenProvider, + Map requestTags) { super(connectionContext, root, tokenProvider, requestTags); } Mono info(InfoRequest request) { - return get(request, InfoResponse.class, "info") - .checkpoint(); + return get(request, InfoResponse.class, "info").checkpoint(); } Mono meta(MetaRequest request) { - return get(request, MetaResponse.class, "meta") - .checkpoint(); + return get(request, MetaResponse.class, "meta").checkpoint(); } Mono read(ReadRequest request) { - return get(request, ReadResponse.class, "read", request.getSourceId()) - .checkpoint(); + return get(request, ReadResponse.class, "read", request.getSourceId()).checkpoint(); } - } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/networking/AbstractNetworkingOperations.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/networking/AbstractNetworkingOperations.java index cb3f007cf9..bc3572c2b2 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/networking/AbstractNetworkingOperations.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/networking/AbstractNetworkingOperations.java @@ -16,6 +16,9 @@ package org.cloudfoundry.reactor.networking; +import java.util.Map; +import java.util.function.Function; +import java.util.stream.Stream; import org.cloudfoundry.reactor.ConnectionContext; import org.cloudfoundry.reactor.TokenProvider; import org.cloudfoundry.reactor.client.QueryBuilder; @@ -25,56 +28,77 @@ import org.springframework.web.util.UriComponentsBuilder; import reactor.core.publisher.Mono; -import java.util.Map; -import java.util.function.Function; -import java.util.stream.Stream; - public abstract class AbstractNetworkingOperations extends AbstractReactorOperations { - protected AbstractNetworkingOperations(ConnectionContext connectionContext, Mono root, TokenProvider tokenProvider, Map requestTags) { + protected AbstractNetworkingOperations( + ConnectionContext connectionContext, + Mono root, + TokenProvider tokenProvider, + Map requestTags) { super(connectionContext, root, tokenProvider, requestTags); } - protected final Mono get(Class responseType, Function uriTransformer) { + protected final Mono get( + Class responseType, + Function uriTransformer) { return createOperator() - .flatMap(operator -> operator.get() - .uri(uriTransformer) - .response() - .parseBody(responseType)); + .flatMap( + operator -> + operator.get() + .uri(uriTransformer) + .response() + .parseBody(responseType)); } - protected final Mono get(Object requestPayload, Class responseType, Function uriTransformer) { + protected final Mono get( + Object requestPayload, + Class responseType, + Function uriTransformer) { return createOperator() - .flatMap(operator -> operator.get() - .uri(queryTransformer(requestPayload).andThen(uriTransformer)) - .response() - .parseBody(responseType)); + .flatMap( + operator -> + operator.get() + .uri( + queryTransformer(requestPayload) + .andThen(uriTransformer)) + .response() + .parseBody(responseType)); } - protected final Mono post(Object request, Class responseType, Function uriTransformer) { + protected final Mono post( + Object request, + Class responseType, + Function uriTransformer) { return createOperator() - .flatMap(operator -> operator.post() - .uri(uriTransformer) - .send(request) - .response() - .parseBody(responseType)); + .flatMap( + operator -> + operator.post() + .uri(uriTransformer) + .send(request) + .response() + .parseBody(responseType)); } - protected final Mono put(Object requestPayload, Class responseType, Function uriTransformer) { + protected final Mono put( + Object requestPayload, + Class responseType, + Function uriTransformer) { return createOperator() - .flatMap(operator -> operator.put() - .uri(uriTransformer) - .send(requestPayload) - .response() - .parseBody(responseType)); + .flatMap( + operator -> + operator.put() + .uri(uriTransformer) + .send(requestPayload) + .response() + .parseBody(responseType)); } - private Function queryTransformer(Object requestPayload) { + private Function queryTransformer( + Object requestPayload) { return builder -> { Stream parameters = new QueryBuilder().build(requestPayload); UriQueryParameters.set(builder, parameters); return builder; }; } - } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/networking/v1/policies/ReactorPolicies.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/networking/v1/policies/ReactorPolicies.java index cd7e20ebe9..166efa431b 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/networking/v1/policies/ReactorPolicies.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/networking/v1/policies/ReactorPolicies.java @@ -16,6 +16,7 @@ package org.cloudfoundry.reactor.networking.v1.policies; +import java.util.Map; import org.cloudfoundry.networking.v1.policies.CreatePoliciesRequest; import org.cloudfoundry.networking.v1.policies.DeletePoliciesRequest; import org.cloudfoundry.networking.v1.policies.ListPoliciesRequest; @@ -26,8 +27,6 @@ import org.cloudfoundry.reactor.networking.AbstractNetworkingOperations; import reactor.core.publisher.Mono; -import java.util.Map; - /** * The Reactor-based implementation of {@link Policies} */ @@ -41,28 +40,31 @@ public class ReactorPolicies extends AbstractNetworkingOperations implements Pol * @param tokenProvider the {@link TokenProvider} to use when communicating with the server * @param requestTags map with custom http headers which will be added to web request */ - public ReactorPolicies(ConnectionContext connectionContext, Mono root, TokenProvider tokenProvider, Map requestTags) { + public ReactorPolicies( + ConnectionContext connectionContext, + Mono root, + TokenProvider tokenProvider, + Map requestTags) { super(connectionContext, root, tokenProvider, requestTags); } @Override public Mono create(CreatePoliciesRequest request) { return post(request, Object.class, builder -> builder.pathSegment("policies")) - .then() - .checkpoint(); + .then() + .checkpoint(); } @Override public Mono delete(DeletePoliciesRequest request) { return post(request, Object.class, builder -> builder.pathSegment("policies", "delete")) - .then() - .checkpoint(); + .then() + .checkpoint(); } @Override public Mono list(ListPoliciesRequest request) { return get(request, ListPoliciesResponse.class, builder -> builder.pathSegment("policies")) - .checkpoint(); + .checkpoint(); } - } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/networking/v1/tags/ReactorTags.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/networking/v1/tags/ReactorTags.java index dec1fbe80a..84ada764ec 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/networking/v1/tags/ReactorTags.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/networking/v1/tags/ReactorTags.java @@ -16,6 +16,7 @@ package org.cloudfoundry.reactor.networking.v1.tags; +import java.util.Map; import org.cloudfoundry.networking.v1.tags.ListTagsRequest; import org.cloudfoundry.networking.v1.tags.ListTagsResponse; import org.cloudfoundry.networking.v1.tags.Tags; @@ -24,8 +25,6 @@ import org.cloudfoundry.reactor.networking.AbstractNetworkingOperations; import reactor.core.publisher.Mono; -import java.util.Map; - /** * The Reactor-based implementation of {@link Tags} */ @@ -39,13 +38,16 @@ public class ReactorTags extends AbstractNetworkingOperations implements Tags { * @param tokenProvider the {@link TokenProvider} to use when communicating with the server * @param requestTags map with custom http headers which will be added to web request */ - public ReactorTags(ConnectionContext connectionContext, Mono root, TokenProvider tokenProvider, Map requestTags) { + public ReactorTags( + ConnectionContext connectionContext, + Mono root, + TokenProvider tokenProvider, + Map requestTags) { super(connectionContext, root, tokenProvider, requestTags); } @Override public Mono list(ListTagsRequest request) { - return get(ListTagsResponse.class, builder -> builder.pathSegment("tags")) - .checkpoint(); + return get(ListTagsResponse.class, builder -> builder.pathSegment("tags")).checkpoint(); } } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/routing/v1/AbstractRoutingV1Operations.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/routing/v1/AbstractRoutingV1Operations.java index 99c9f0da3c..7d26a1d0f8 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/routing/v1/AbstractRoutingV1Operations.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/routing/v1/AbstractRoutingV1Operations.java @@ -17,6 +17,8 @@ package org.cloudfoundry.reactor.routing.v1; import io.netty.channel.ChannelHandler; +import java.util.Map; +import java.util.function.Function; import org.cloudfoundry.reactor.ConnectionContext; import org.cloudfoundry.reactor.TokenProvider; import org.cloudfoundry.reactor.util.AbstractReactorOperations; @@ -26,49 +28,70 @@ import reactor.netty.ByteBufFlux; import reactor.netty.http.client.HttpClientResponse; -import java.util.Map; -import java.util.function.Function; - public abstract class AbstractRoutingV1Operations extends AbstractReactorOperations { - protected AbstractRoutingV1Operations(ConnectionContext connectionContext, Mono root, TokenProvider tokenProvider, Map requestTags) { + protected AbstractRoutingV1Operations( + ConnectionContext connectionContext, + Mono root, + TokenProvider tokenProvider, + Map requestTags) { super(connectionContext, root, tokenProvider, requestTags); } - protected final Mono get(Class responseType, Function uriTransformer) { + protected final Mono get( + Class responseType, + Function uriTransformer) { return createOperator() - .flatMap(operator -> operator.get() - .uri(uriTransformer) - .response() - .parseBody(responseType)); + .flatMap( + operator -> + operator.get() + .uri(uriTransformer) + .response() + .parseBody(responseType)); } - protected final Flux get(Function handlerBuilder, Function uriTransformer, - Function> bodyTransformer) { + protected final Flux get( + Function handlerBuilder, + Function uriTransformer, + Function> bodyTransformer) { return createOperator() - .flatMapMany(operator -> operator.get() - .uri(uriTransformer) - .response() - .addChannelHandler(handlerBuilder) - .parseBodyToFlux(responseWithBody -> bodyTransformer.apply(responseWithBody.getBody()))); + .flatMapMany( + operator -> + operator.get() + .uri(uriTransformer) + .response() + .addChannelHandler(handlerBuilder) + .parseBodyToFlux( + responseWithBody -> + bodyTransformer.apply( + responseWithBody.getBody()))); } - protected final Mono post(Object request, Class responseType, Function uriTransformer) { + protected final Mono post( + Object request, + Class responseType, + Function uriTransformer) { return createOperator() - .flatMap(operator -> operator.post() - .uri(uriTransformer) - .send(request) - .response() - .parseBody(responseType)); + .flatMap( + operator -> + operator.post() + .uri(uriTransformer) + .send(request) + .response() + .parseBody(responseType)); } - protected final Mono put(Object requestPayload, Class responseType, Function uriTransformer) { + protected final Mono put( + Object requestPayload, + Class responseType, + Function uriTransformer) { return createOperator() - .flatMap(operator -> operator.put() - .uri(uriTransformer) - .send(requestPayload) - .response() - .parseBody(responseType)); + .flatMap( + operator -> + operator.put() + .uri(uriTransformer) + .send(requestPayload) + .response() + .parseBody(responseType)); } - } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/routing/v1/routergroups/ReactorRouterGroups.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/routing/v1/routergroups/ReactorRouterGroups.java index 51175e78c4..a7aae99bb9 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/routing/v1/routergroups/ReactorRouterGroups.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/routing/v1/routergroups/ReactorRouterGroups.java @@ -16,6 +16,7 @@ package org.cloudfoundry.reactor.routing.v1.routergroups; +import java.util.Map; import org.cloudfoundry.reactor.ConnectionContext; import org.cloudfoundry.reactor.TokenProvider; import org.cloudfoundry.reactor.routing.v1.AbstractRoutingV1Operations; @@ -26,8 +27,6 @@ import org.cloudfoundry.routing.v1.routergroups.UpdateRouterGroupResponse; import reactor.core.publisher.Mono; -import java.util.Map; - /** * The Reactor-based implementation of {@link RouterGroups} */ @@ -41,20 +40,30 @@ public class ReactorRouterGroups extends AbstractRoutingV1Operations implements * @param tokenProvider the {@link TokenProvider} to use when communicating with the server * @param requestTags map with custom http headers which will be added to web request */ - public ReactorRouterGroups(ConnectionContext connectionContext, Mono root, TokenProvider tokenProvider, Map requestTags) { + public ReactorRouterGroups( + ConnectionContext connectionContext, + Mono root, + TokenProvider tokenProvider, + Map requestTags) { super(connectionContext, root, tokenProvider, requestTags); } @Override public Mono list(ListRouterGroupsRequest request) { - return get(ListRouterGroupsResponse.class, builder -> builder.pathSegment("v1", "router_groups")) - .checkpoint(); + return get( + ListRouterGroupsResponse.class, + builder -> builder.pathSegment("v1", "router_groups")) + .checkpoint(); } @Override public Mono update(UpdateRouterGroupRequest request) { - return put(request, UpdateRouterGroupResponse.class, builder -> builder.pathSegment("v1", "router_groups", request.getRouterGroupId())) - .checkpoint(); + return put( + request, + UpdateRouterGroupResponse.class, + builder -> + builder.pathSegment( + "v1", "router_groups", request.getRouterGroupId())) + .checkpoint(); } - } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/routing/v1/tcproutes/EventStreamCodec.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/routing/v1/tcproutes/EventStreamCodec.java index 0d7b2dcd37..787178e78b 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/routing/v1/tcproutes/EventStreamCodec.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/routing/v1/tcproutes/EventStreamCodec.java @@ -25,8 +25,7 @@ final class EventStreamCodec { private static final int MAX_PAYLOAD_SIZE = 1024 * 1024; - private EventStreamCodec() { - } + private EventStreamCodec() {} static LineBasedFrameDecoder createDecoder(HttpClientResponse response) { return new LineBasedFrameDecoder(MAX_PAYLOAD_SIZE); @@ -34,11 +33,18 @@ static LineBasedFrameDecoder createDecoder(HttpClientResponse response) { static Flux decode(ByteBufFlux body) { return body.asString() - .windowWhile(s -> !s.isEmpty()) - .concatMap(window -> window - .reduce(ServerSentEvent.builder(), EventStreamCodec::parseLine)) - .map(ServerSentEvent.Builder::build) - .filter(sse -> sse.getData() != null || sse.getEventType() != null || sse.getId() != null || sse.getRetry() != null); + .windowWhile(s -> !s.isEmpty()) + .concatMap( + window -> + window.reduce( + ServerSentEvent.builder(), EventStreamCodec::parseLine)) + .map(ServerSentEvent.Builder::build) + .filter( + sse -> + sse.getData() != null + || sse.getEventType() != null + || sse.getId() != null + || sse.getRetry() != null); } private static Field parseField(String line) { @@ -84,7 +90,5 @@ private String getKey() { private String getValue() { return this.value; } - } - } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/routing/v1/tcproutes/ReactorTcpRoutes.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/routing/v1/tcproutes/ReactorTcpRoutes.java index 9ad82a8cf1..9651614c77 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/routing/v1/tcproutes/ReactorTcpRoutes.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/routing/v1/tcproutes/ReactorTcpRoutes.java @@ -16,6 +16,8 @@ package org.cloudfoundry.reactor.routing.v1.tcproutes; +import java.io.IOException; +import java.util.Map; import org.cloudfoundry.reactor.ConnectionContext; import org.cloudfoundry.reactor.TokenProvider; import org.cloudfoundry.reactor.routing.v1.AbstractRoutingV1Operations; @@ -32,9 +34,6 @@ import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; -import java.io.IOException; -import java.util.Map; - /** * The Reactor-based implementation of {@link TcpRoutes} */ @@ -48,42 +47,56 @@ public class ReactorTcpRoutes extends AbstractRoutingV1Operations implements Tcp * @param tokenProvider the {@link TokenProvider} to use when communicating with the server * @param requestTags map with custom http headers which will be added to web request */ - public ReactorTcpRoutes(ConnectionContext connectionContext, Mono root, TokenProvider tokenProvider, Map requestTags) { + public ReactorTcpRoutes( + ConnectionContext connectionContext, + Mono root, + TokenProvider tokenProvider, + Map requestTags) { super(connectionContext, root, tokenProvider, requestTags); } @Override public Mono create(CreateTcpRoutesRequest request) { - return post(request, CreateTcpRoutesResponse.class, builder -> builder.pathSegment("v1", "tcp_routes", "create")) - .checkpoint(); + return post( + request, + CreateTcpRoutesResponse.class, + builder -> builder.pathSegment("v1", "tcp_routes", "create")) + .checkpoint(); } @Override public Mono delete(DeleteTcpRoutesRequest request) { - return post(request, Void.class, builder -> builder.pathSegment("v1", "tcp_routes", "delete")) - .checkpoint(); + return post( + request, + Void.class, + builder -> builder.pathSegment("v1", "tcp_routes", "delete")) + .checkpoint(); } @Override public Flux events(EventsRequest request) { - return get(EventStreamCodec::createDecoder, builder -> builder.pathSegment("v1", "tcp_routes", "events"), EventStreamCodec::decode) - .map(event -> { - try { - return this.connectionContext.getObjectMapper() - .readValue(event.getData(), TcpRouteEvent.Builder.class) - .eventType(EventType.from(event.getEventType())) - .build(); - } catch (IOException e) { - throw Exceptions.propagate(e); - } - }) - .checkpoint(); + return get( + EventStreamCodec::createDecoder, + builder -> builder.pathSegment("v1", "tcp_routes", "events"), + EventStreamCodec::decode) + .map( + event -> { + try { + return this.connectionContext + .getObjectMapper() + .readValue(event.getData(), TcpRouteEvent.Builder.class) + .eventType(EventType.from(event.getEventType())) + .build(); + } catch (IOException e) { + throw Exceptions.propagate(e); + } + }) + .checkpoint(); } @Override public Mono list(ListTcpRoutesRequest request) { return get(ListTcpRoutesResponse.class, builder -> builder.pathSegment("v1", "tcp_routes")) - .checkpoint(); + .checkpoint(); } - } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/tokenprovider/AbstractUaaTokenProvider.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/tokenprovider/AbstractUaaTokenProvider.java index 8886e9e8a7..731cd1ab99 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/tokenprovider/AbstractUaaTokenProvider.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/tokenprovider/AbstractUaaTokenProvider.java @@ -16,12 +16,28 @@ package org.cloudfoundry.reactor.tokenprovider; +import static io.netty.handler.codec.http.HttpHeaderNames.AUTHORIZATION; +import static io.netty.handler.codec.http.HttpHeaderNames.CONTENT_TYPE; +import static io.netty.handler.codec.http.HttpHeaderValues.APPLICATION_X_WWW_FORM_URLENCODED; +import static reactor.core.publisher.Sinks.EmitFailureHandler.FAIL_FAST; + import io.jsonwebtoken.Claims; import io.jsonwebtoken.JwtParser; import io.jsonwebtoken.Jwts; import io.netty.handler.codec.http.HttpHeaders; import io.netty.handler.codec.http.HttpResponseStatus; import io.netty.util.AsciiString; +import java.time.LocalDateTime; +import java.time.ZoneId; +import java.util.Base64; +import java.util.Date; +import java.util.Map; +import java.util.Optional; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.ConcurrentMap; +import java.util.function.BiConsumer; +import java.util.function.Consumer; +import java.util.function.Function; import org.cloudfoundry.Nullable; import org.cloudfoundry.reactor.ConnectionContext; import org.cloudfoundry.reactor.TokenProvider; @@ -42,23 +58,6 @@ import reactor.netty.http.client.HttpClientForm; import reactor.netty.http.client.HttpClientRequest; -import java.time.LocalDateTime; -import java.time.ZoneId; -import java.util.Base64; -import java.util.Date; -import java.util.Map; -import java.util.Optional; -import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.ConcurrentMap; -import java.util.function.BiConsumer; -import java.util.function.Consumer; -import java.util.function.Function; - -import static io.netty.handler.codec.http.HttpHeaderNames.AUTHORIZATION; -import static io.netty.handler.codec.http.HttpHeaderNames.CONTENT_TYPE; -import static io.netty.handler.codec.http.HttpHeaderValues.APPLICATION_X_WWW_FORM_URLENCODED; -import static reactor.core.publisher.Sinks.EmitFailureHandler.FAIL_FAST; - /** * An abstract base class for all token providers that interact with the UAA. It encapsulates the logic to refresh the token before * expiration. @@ -77,11 +76,14 @@ public abstract class AbstractUaaTokenProvider implements TokenProvider { private static final ZoneId UTC = ZoneId.of("UTC"); - private final ConcurrentMap> accessTokens = new ConcurrentHashMap<>(1); + private final ConcurrentMap> accessTokens = + new ConcurrentHashMap<>(1); - private final ConcurrentMap refreshTokenStreams = new ConcurrentHashMap<>(1); + private final ConcurrentMap refreshTokenStreams = + new ConcurrentHashMap<>(1); - private final ConcurrentMap> refreshTokens = new ConcurrentHashMap<>(1); + private final ConcurrentMap> refreshTokens = + new ConcurrentHashMap<>(1); /** * The client id. Defaults to {@code cf}. @@ -139,10 +141,16 @@ private static String extractAccessToken(Map payload) { if (LOGGER.isDebugEnabled()) { LOGGER.debug("Access Token: {}", accessToken); - parseToken(accessToken).ifPresent(claims -> { - LOGGER.debug("Access Token Issued At: {} UTC", toLocalDateTime(claims.getIssuedAt())); - LOGGER.debug("Access Token Expires At: {} UTC", toLocalDateTime(claims.getExpiration())); - }); + parseToken(accessToken) + .ifPresent( + claims -> { + LOGGER.debug( + "Access Token Issued At: {} UTC", + toLocalDateTime(claims.getIssuedAt())); + LOGGER.debug( + "Access Token Expires At: {} UTC", + toLocalDateTime(claims.getExpiration())); + }); } return String.format("%s %s", payload.get(TOKEN_TYPE), accessToken); @@ -171,7 +179,8 @@ private static LocalDateTime toLocalDateTime(Date date) { return LocalDateTime.from(date.toInstant().atZone(UTC)); } - private static Function tokenUriTransformer(String identityZoneId) { + private static Function tokenUriTransformer( + String identityZoneId) { return root -> { if (identityZoneId != null) { root.host(String.format("%s.%s", identityZoneId, root.build().getHost())); @@ -190,24 +199,42 @@ private void addHeaders(HttpHeaders httpHeaders) { private Operator createOperator(ConnectionContext connectionContext, String root) { OperatorContext context = OperatorContext.of(connectionContext, root); - return new Operator(context, connectionContext.getHttpClient()).withErrorPayloadMapper(ErrorPayloadMappers.uaa(connectionContext.getObjectMapper())); + return new Operator(context, connectionContext.getHttpClient()) + .withErrorPayloadMapper( + ErrorPayloadMappers.uaa(connectionContext.getObjectMapper())); } private Consumer> extractRefreshToken(ConnectionContext connectionContext) { - return payload -> Optional.ofNullable(payload.get(REFRESH_TOKEN)) - .ifPresent(refreshToken -> { - if (LOGGER.isDebugEnabled()) { - LOGGER.debug("Refresh Token: {}", refreshToken); - - parseToken(refreshToken).ifPresent(claims -> { - LOGGER.debug("Refresh Token Issued At: {} UTC", toLocalDateTime(claims.getIssuedAt())); - LOGGER.debug("Refresh Token Expires At: {} UTC", toLocalDateTime(claims.getExpiration())); - }); - } - - this.refreshTokens.put(connectionContext, Mono.just(refreshToken)); - getRefreshTokenStream(connectionContext).sink.emitNext(refreshToken, FAIL_FAST); - }); + return payload -> + Optional.ofNullable(payload.get(REFRESH_TOKEN)) + .ifPresent( + refreshToken -> { + if (LOGGER.isDebugEnabled()) { + LOGGER.debug("Refresh Token: {}", refreshToken); + + parseToken(refreshToken) + .ifPresent( + claims -> { + LOGGER.debug( + "Refresh Token Issued At: {}" + + " UTC", + toLocalDateTime( + claims.getIssuedAt())); + LOGGER.debug( + "Refresh Token Expires At: {}" + + " UTC", + toLocalDateTime( + claims + .getExpiration())); + }); + } + + this.refreshTokens.put( + connectionContext, Mono.just(refreshToken)); + getRefreshTokenStream(connectionContext) + .sink + .emitNext(refreshToken, FAIL_FAST); + }); } private RefreshToken getRefreshTokenStream(ConnectionContext connectionContext) { @@ -215,64 +242,106 @@ private RefreshToken getRefreshTokenStream(ConnectionContext connectionContext) } private Mono primaryToken(ConnectionContext connectionContext) { - return requestToken(connectionContext, this::tokenRequestTransformer, tokensExtractor(connectionContext)); + return requestToken( + connectionContext, + this::tokenRequestTransformer, + tokensExtractor(connectionContext)); } private Mono refreshToken(ConnectionContext connectionContext, String refreshToken) { - return requestToken(connectionContext, refreshTokenGrantTokenRequestTransformer(refreshToken), tokensExtractor(connectionContext)) - .onErrorResume(t -> t instanceof UaaException && ((UaaException) t).getStatusCode() == HttpResponseStatus.UNAUTHORIZED.code(), t -> Mono.empty()); + return requestToken( + connectionContext, + refreshTokenGrantTokenRequestTransformer(refreshToken), + tokensExtractor(connectionContext)) + .onErrorResume( + t -> + t instanceof UaaException + && ((UaaException) t).getStatusCode() + == HttpResponseStatus.UNAUTHORIZED.code(), + t -> Mono.empty()); } - private BiConsumer refreshTokenGrantTokenRequestTransformer(String refreshToken) { - return (request, form) -> form.multipart(false) - .attr("client_id", getClientId()) - .attr("client_secret", getClientSecret()) - .attr("grant_type", "refresh_token") - .attr("refresh_token", refreshToken); + private BiConsumer refreshTokenGrantTokenRequestTransformer( + String refreshToken) { + return (request, form) -> + form.multipart(false) + .attr("client_id", getClientId()) + .attr("client_secret", getClientSecret()) + .attr("grant_type", "refresh_token") + .attr("refresh_token", refreshToken); } - private Mono requestToken(ConnectionContext connectionContext, BiConsumer tokenRequestTransformer, Function> tokenExtractor) { - return connectionContext.getRootProvider() - .getRoot(AUTHORIZATION_ENDPOINT, connectionContext) - .map(root -> createOperator(connectionContext, root)) - .flatMap(operator -> operator.headers(this::addHeaders) - .post() - .uri(tokenUriTransformer(getIdentityZoneSubdomain())) - .sendForm(tokenRequestTransformer) - .response() - .parseBodyToToken(responseWithBody -> tokenExtractor.apply(responseWithBody.getBody()))); + private Mono requestToken( + ConnectionContext connectionContext, + BiConsumer tokenRequestTransformer, + Function> tokenExtractor) { + return connectionContext + .getRootProvider() + .getRoot(AUTHORIZATION_ENDPOINT, connectionContext) + .map(root -> createOperator(connectionContext, root)) + .flatMap( + operator -> + operator.headers(this::addHeaders) + .post() + .uri(tokenUriTransformer(getIdentityZoneSubdomain())) + .sendForm(tokenRequestTransformer) + .response() + .parseBodyToToken( + responseWithBody -> + tokenExtractor.apply( + responseWithBody.getBody()))); } private void setAuthorization(HttpHeaders headers) { - String encoded = Base64.getEncoder().encodeToString(new AsciiString(getClientId()).concat(":").concat(getClientSecret()).toByteArray()); + String encoded = + Base64.getEncoder() + .encodeToString( + new AsciiString(getClientId()) + .concat(":") + .concat(getClientSecret()) + .toByteArray()); headers.set(AUTHORIZATION, String.format("Basic %s", encoded)); } private Mono token(ConnectionContext connectionContext) { - Mono cached = this.refreshTokens.getOrDefault(connectionContext, Mono.empty()) - .flatMap(refreshToken -> refreshToken(connectionContext, refreshToken) - .doOnSubscribe(s -> LOGGER.debug("Negotiating using refresh token"))) - .switchIfEmpty(primaryToken(connectionContext) - .doOnSubscribe(s -> LOGGER.debug("Negotiating using token provider"))); - - return connectionContext.getCacheDuration() - .map(cached::cache) - .orElseGet(cached::cache) - .checkpoint(); + Mono cached = + this.refreshTokens + .getOrDefault(connectionContext, Mono.empty()) + .flatMap( + refreshToken -> + refreshToken(connectionContext, refreshToken) + .doOnSubscribe( + s -> + LOGGER.debug( + "Negotiating using refresh" + + " token"))) + .switchIfEmpty( + primaryToken(connectionContext) + .doOnSubscribe( + s -> + LOGGER.debug( + "Negotiating using token" + + " provider"))); + + return connectionContext + .getCacheDuration() + .map(cached::cache) + .orElseGet(cached::cache) + .checkpoint(); } @SuppressWarnings("unchecked") - private Function> tokensExtractor(ConnectionContext connectionContext) { - return body -> JsonCodec.decode(connectionContext.getObjectMapper(), body, Map.class) - .map(payload -> (Map) payload) - .doOnNext(extractRefreshToken(connectionContext)) - .map(AbstractUaaTokenProvider::extractAccessToken); + private Function> tokensExtractor( + ConnectionContext connectionContext) { + return body -> + JsonCodec.decode(connectionContext.getObjectMapper(), body, Map.class) + .map(payload -> (Map) payload) + .doOnNext(extractRefreshToken(connectionContext)) + .map(AbstractUaaTokenProvider::extractAccessToken); } private static final class RefreshToken { private Sinks.Many sink = Sinks.many().replay().latest(); - } - } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/uaa/AbstractUaaOperations.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/uaa/AbstractUaaOperations.java index 4e0695c55c..d4ab1ab9d2 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/uaa/AbstractUaaOperations.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/uaa/AbstractUaaOperations.java @@ -17,6 +17,10 @@ package org.cloudfoundry.reactor.uaa; import io.netty.handler.codec.http.HttpHeaders; +import java.util.Map; +import java.util.function.Consumer; +import java.util.function.Function; +import java.util.stream.Stream; import org.cloudfoundry.reactor.ConnectionContext; import org.cloudfoundry.reactor.TokenProvider; import org.cloudfoundry.reactor.client.QueryBuilder; @@ -29,14 +33,13 @@ import reactor.core.publisher.Mono; import reactor.netty.http.client.HttpClientResponse; -import java.util.Map; -import java.util.function.Consumer; -import java.util.function.Function; -import java.util.stream.Stream; - public abstract class AbstractUaaOperations extends AbstractReactorOperations { - protected AbstractUaaOperations(ConnectionContext connectionContext, Mono root, TokenProvider tokenProvider, Map requestTags) { + protected AbstractUaaOperations( + ConnectionContext connectionContext, + Mono root, + TokenProvider tokenProvider, + Map requestTags) { super(connectionContext, root, tokenProvider, requestTags); } @@ -45,114 +48,223 @@ protected Mono createOperator() { return super.createOperator().map(this::attachErrorPayloadMapper); } - protected final Mono delete(Object requestPayload, Class responseType, Function uriTransformer) { + protected final Mono delete( + Object requestPayload, + Class responseType, + Function uriTransformer) { return createOperator() - .flatMap(operator -> operator.headers(headers -> addHeaders(headers, requestPayload)) - .delete() - .uri(queryTransformer(requestPayload).andThen(uriTransformer)) - .send(requestPayload) - .response() - .parseBody(responseType)); + .flatMap( + operator -> + operator.headers(headers -> addHeaders(headers, requestPayload)) + .delete() + .uri( + queryTransformer(requestPayload) + .andThen(uriTransformer)) + .send(requestPayload) + .response() + .parseBody(responseType)); } - protected final Mono get(Object requestPayload, Function uriTransformer) { + protected final Mono get( + Object requestPayload, + Function uriTransformer) { return createOperator() - .flatMap(operator -> operator.headers(headers -> addHeaders(headers, requestPayload)) - .get() - .uri(queryTransformer(requestPayload).andThen(uriTransformer)) - .response() - .get()); + .flatMap( + operator -> + operator.headers(headers -> addHeaders(headers, requestPayload)) + .get() + .uri( + queryTransformer(requestPayload) + .andThen(uriTransformer)) + .response() + .get()); } - protected final Mono get(Object requestPayload, Function uriTransformer, Consumer headersTransformer) { + protected final Mono get( + Object requestPayload, + Function uriTransformer, + Consumer headersTransformer) { return createOperator() - .flatMap(operator -> operator.headers(headers -> addHeaders(headers, requestPayload, headersTransformer)) - .get() - .uri(queryTransformer(requestPayload).andThen(uriTransformer)) - .response() - .get()); + .flatMap( + operator -> + operator.headers( + headers -> + addHeaders( + headers, + requestPayload, + headersTransformer)) + .get() + .uri( + queryTransformer(requestPayload) + .andThen(uriTransformer)) + .response() + .get()); } - protected final Mono get(Object requestPayload, Function uriTransformer, Consumer headersTransformer, - Function> headersWhenTransformer) { + protected final Mono get( + Object requestPayload, + Function uriTransformer, + Consumer headersTransformer, + Function> headersWhenTransformer) { return createOperator() - .flatMap(operator -> operator.headers(headers -> addHeaders(headers, requestPayload, headersTransformer)).headersWhen(headersWhenTransformer) - .get() - .uri(queryTransformer(requestPayload).andThen(uriTransformer)) - .response() - .get()); + .flatMap( + operator -> + operator.headers( + headers -> + addHeaders( + headers, + requestPayload, + headersTransformer)) + .headersWhen(headersWhenTransformer) + .get() + .uri( + queryTransformer(requestPayload) + .andThen(uriTransformer)) + .response() + .get()); } - protected final Mono get(Object requestPayload, Class responseType, Function uriTransformer) { + protected final Mono get( + Object requestPayload, + Class responseType, + Function uriTransformer) { return createOperator() - .flatMap(operator -> operator.headers(headers -> addHeaders(headers, requestPayload)) - .get() - .uri(queryTransformer(requestPayload).andThen(uriTransformer)) - .response() - .parseBody(responseType)); + .flatMap( + operator -> + operator.headers(headers -> addHeaders(headers, requestPayload)) + .get() + .uri( + queryTransformer(requestPayload) + .andThen(uriTransformer)) + .response() + .parseBody(responseType)); } - protected final Mono get(Object requestPayload, Class responseType, Function uriTransformer, Consumer headersTransformer) { + protected final Mono get( + Object requestPayload, + Class responseType, + Function uriTransformer, + Consumer headersTransformer) { return createOperator() - .flatMap(operator -> operator.headers(headers -> addHeaders(headers, requestPayload, headersTransformer)) - .get() - .uri(queryTransformer(requestPayload).andThen(uriTransformer)) - .response() - .parseBody(responseType)); + .flatMap( + operator -> + operator.headers( + headers -> + addHeaders( + headers, + requestPayload, + headersTransformer)) + .get() + .uri( + queryTransformer(requestPayload) + .andThen(uriTransformer)) + .response() + .parseBody(responseType)); } - protected final Mono patch(Object requestPayload, Class responseType, Function uriTransformer) { + protected final Mono patch( + Object requestPayload, + Class responseType, + Function uriTransformer) { return createOperator() - .flatMap(operator -> operator.headers(headers -> addHeaders(headers, requestPayload)) - .patch() - .uri(queryTransformer(requestPayload).andThen(uriTransformer)) - .send(requestPayload) - .response() - .parseBody(responseType)); + .flatMap( + operator -> + operator.headers(headers -> addHeaders(headers, requestPayload)) + .patch() + .uri( + queryTransformer(requestPayload) + .andThen(uriTransformer)) + .send(requestPayload) + .response() + .parseBody(responseType)); } - protected final Mono post(Object requestPayload, Class responseType, Function uriTransformer, Consumer headersTransformer) { + protected final Mono post( + Object requestPayload, + Class responseType, + Function uriTransformer, + Consumer headersTransformer) { return createOperator() - .flatMap(operator -> operator.headers(headers -> addHeaders(headers, requestPayload, headersTransformer)) - .post() - .uri(queryTransformer(requestPayload).andThen(uriTransformer)) - .send(requestPayload) - .response() - .parseBody(responseType)); + .flatMap( + operator -> + operator.headers( + headers -> + addHeaders( + headers, + requestPayload, + headersTransformer)) + .post() + .uri( + queryTransformer(requestPayload) + .andThen(uriTransformer)) + .send(requestPayload) + .response() + .parseBody(responseType)); } - protected final Mono post(Object requestPayload, Class responseType, Function uriTransformer, Consumer headersTransformer, - Function> headersWhenTransformer) { + protected final Mono post( + Object requestPayload, + Class responseType, + Function uriTransformer, + Consumer headersTransformer, + Function> headersWhenTransformer) { return createOperator() - .flatMap(operator -> operator.headers(headers -> addHeaders(headers, requestPayload, headersTransformer)).headersWhen(headersWhenTransformer) - .post() - .uri(queryTransformer(requestPayload).andThen(uriTransformer)) - .send(requestPayload) - .response() - .parseBody(responseType)); + .flatMap( + operator -> + operator.headers( + headers -> + addHeaders( + headers, + requestPayload, + headersTransformer)) + .headersWhen(headersWhenTransformer) + .post() + .uri( + queryTransformer(requestPayload) + .andThen(uriTransformer)) + .send(requestPayload) + .response() + .parseBody(responseType)); } - protected final Mono post(Object requestPayload, Class responseType, Function uriTransformer) { + protected final Mono post( + Object requestPayload, + Class responseType, + Function uriTransformer) { return createOperator() - .flatMap(operator -> operator.headers(headers -> addHeaders(headers, requestPayload)) - .post() - .uri(queryTransformer(requestPayload).andThen(uriTransformer)) - .send(requestPayload) - .response() - .parseBody(responseType)); + .flatMap( + operator -> + operator.headers(headers -> addHeaders(headers, requestPayload)) + .post() + .uri( + queryTransformer(requestPayload) + .andThen(uriTransformer)) + .send(requestPayload) + .response() + .parseBody(responseType)); } - protected final Mono put(Object requestPayload, Class responseType, Function uriTransformer) { + protected final Mono put( + Object requestPayload, + Class responseType, + Function uriTransformer) { return createOperator() - .flatMap(operator -> operator.headers(headers -> addHeaders(headers, requestPayload)) - .put() - .uri(queryTransformer(requestPayload).andThen(uriTransformer)) - .send(requestPayload) - .response() - .parseBody(responseType)); + .flatMap( + operator -> + operator.headers(headers -> addHeaders(headers, requestPayload)) + .put() + .uri( + queryTransformer(requestPayload) + .andThen(uriTransformer)) + .send(requestPayload) + .response() + .parseBody(responseType)); } - private static void addHeaders(HttpHeaders httpHeaders, Object requestPayload, Consumer headersTransformer) { + private static void addHeaders( + HttpHeaders httpHeaders, + Object requestPayload, + Consumer headersTransformer) { addHeaders(httpHeaders, requestPayload); headersTransformer.accept(httpHeaders); } @@ -163,15 +275,16 @@ private static void addHeaders(HttpHeaders httpHeaders, Object requestPayload) { } private Operator attachErrorPayloadMapper(Operator operator) { - return operator.withErrorPayloadMapper(ErrorPayloadMappers.uaa(this.connectionContext.getObjectMapper())); + return operator.withErrorPayloadMapper( + ErrorPayloadMappers.uaa(this.connectionContext.getObjectMapper())); } - private Function queryTransformer(Object requestPayload) { + private Function queryTransformer( + Object requestPayload) { return builder -> { Stream parameters = new QueryBuilder().build(requestPayload); UriQueryParameters.set(builder, parameters); return builder; }; } - } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/uaa/IdentityZoneBuilder.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/uaa/IdentityZoneBuilder.java index 5fa8e6a1d0..cfec4512f0 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/uaa/IdentityZoneBuilder.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/uaa/IdentityZoneBuilder.java @@ -17,23 +17,25 @@ package org.cloudfoundry.reactor.uaa; import io.netty.handler.codec.http.HttpHeaders; -import org.cloudfoundry.uaa.IdentityZoned; - import java.util.Optional; +import org.cloudfoundry.uaa.IdentityZoned; final class IdentityZoneBuilder { - private IdentityZoneBuilder() { - } + private IdentityZoneBuilder() {} static void augment(HttpHeaders httpHeaders, Object request) { if (request instanceof IdentityZoned) { IdentityZoned identityZoned = (IdentityZoned) request; Optional.ofNullable(identityZoned.getIdentityZoneId()) - .ifPresent(identityZoneId -> httpHeaders.set("X-Identity-Zone-Id", identityZoneId)); + .ifPresent( + identityZoneId -> + httpHeaders.set("X-Identity-Zone-Id", identityZoneId)); Optional.ofNullable(identityZoned.getIdentityZoneSubdomain()) - .ifPresent(identityZoneSubdomain -> httpHeaders.set("X-Identity-Zone-Subdomain", identityZoneSubdomain)); + .ifPresent( + identityZoneSubdomain -> + httpHeaders.set( + "X-Identity-Zone-Subdomain", identityZoneSubdomain)); } } - } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/uaa/UaaSigningKeyResolver.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/uaa/UaaSigningKeyResolver.java index 3e7a5bca9b..2c5edf3ae4 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/uaa/UaaSigningKeyResolver.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/uaa/UaaSigningKeyResolver.java @@ -19,12 +19,6 @@ import io.jsonwebtoken.Claims; import io.jsonwebtoken.JwsHeader; import io.jsonwebtoken.SigningKeyResolver; -import org.cloudfoundry.uaa.tokens.ListTokenKeysRequest; -import org.cloudfoundry.uaa.tokens.ListTokenKeysResponse; -import org.cloudfoundry.uaa.tokens.TokenKey; -import org.cloudfoundry.uaa.tokens.Tokens; -import reactor.core.Exceptions; - import java.security.Key; import java.security.KeyFactory; import java.security.NoSuchAlgorithmException; @@ -34,6 +28,11 @@ import java.util.Base64; import java.util.HashMap; import java.util.Map; +import org.cloudfoundry.uaa.tokens.ListTokenKeysRequest; +import org.cloudfoundry.uaa.tokens.ListTokenKeysResponse; +import org.cloudfoundry.uaa.tokens.TokenKey; +import org.cloudfoundry.uaa.tokens.Tokens; +import reactor.core.Exceptions; final class UaaSigningKeyResolver implements SigningKeyResolver { @@ -64,14 +63,14 @@ public Key resolveSigningKey(JwsHeader header, String plaintext) { } private static byte[] decode(TokenKey tokenKey) { - return Base64.getMimeDecoder().decode(tokenKey.getValue().replace(BEGIN, "").replace(END, "").trim()); + return Base64.getMimeDecoder() + .decode(tokenKey.getValue().replace(BEGIN, "").replace(END, "").trim()); } private static Key generateKey(TokenKey tokenKey) { try { - return KeyFactory - .getInstance(tokenKey.getKeyType().toString()) - .generatePublic(new X509EncodedKeySpec(decode(tokenKey))); + return KeyFactory.getInstance(tokenKey.getKeyType().toString()) + .generatePublic(new X509EncodedKeySpec(decode(tokenKey))); } catch (InvalidKeySpecException | NoSuchAlgorithmException e) { throw Exceptions.propagate(e); } @@ -91,18 +90,18 @@ private Key getKey(String keyId) { return key; } - throw new IllegalStateException(String.format("Unable to retrieve signing key %s", keyId)); + throw new IllegalStateException( + String.format("Unable to retrieve signing key %s", keyId)); } } private void refreshKeys() { this.signingKeys.clear(); - this.signingKeys.putAll(this.tokens - .listKeys(ListTokenKeysRequest.builder() - .build()) - .flatMapIterable(ListTokenKeysResponse::getKeys) - .collectMap(TokenKey::getId, UaaSigningKeyResolver::generateKey) - .block(Duration.ofMinutes(5))); + this.signingKeys.putAll( + this.tokens + .listKeys(ListTokenKeysRequest.builder().build()) + .flatMapIterable(ListTokenKeysResponse::getKeys) + .collectMap(TokenKey::getId, UaaSigningKeyResolver::generateKey) + .block(Duration.ofMinutes(5))); } - } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/uaa/UsernameProvider.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/uaa/UsernameProvider.java index 049f38217f..cc391be9c0 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/uaa/UsernameProvider.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/uaa/UsernameProvider.java @@ -22,6 +22,7 @@ import io.jsonwebtoken.JwtParser; import io.jsonwebtoken.Jwts; import io.jsonwebtoken.SigningKeyResolver; +import java.util.Optional; import org.cloudfoundry.reactor.ConnectionContext; import org.cloudfoundry.reactor.TokenProvider; import org.cloudfoundry.uaa.tokens.Tokens; @@ -29,8 +30,6 @@ import reactor.core.scheduler.Schedulers; import reactor.util.retry.Retry; -import java.util.Optional; - final class UsernameProvider { private final ConnectionContext connectionContext; @@ -39,11 +38,15 @@ final class UsernameProvider { private final TokenProvider tokenProvider; - UsernameProvider(ConnectionContext connectionContext, TokenProvider tokenProvider, Tokens tokens) { + UsernameProvider( + ConnectionContext connectionContext, TokenProvider tokenProvider, Tokens tokens) { this(connectionContext, new UaaSigningKeyResolver(tokens), tokenProvider); } - UsernameProvider(ConnectionContext connectionContext, SigningKeyResolver signingKeyResolver, TokenProvider tokenProvider) { + UsernameProvider( + ConnectionContext connectionContext, + SigningKeyResolver signingKeyResolver, + TokenProvider tokenProvider) { this.connectionContext = connectionContext; this.tokenProvider = tokenProvider; this.signingKeyResolver = signingKeyResolver; @@ -51,28 +54,31 @@ final class UsernameProvider { Mono get() { return getToken(this.connectionContext, this.tokenProvider) - .publishOn(Schedulers.boundedElastic()) - .map(this::getUsername) - .retryWhen(Retry.max(1).filter(ExpiredJwtException.class::isInstance) - .doAfterRetry(r -> this.tokenProvider.invalidate(this.connectionContext))); + .publishOn(Schedulers.boundedElastic()) + .map(this::getUsername) + .retryWhen( + Retry.max(1) + .filter(ExpiredJwtException.class::isInstance) + .doAfterRetry( + r -> + this.tokenProvider.invalidate( + this.connectionContext))); } - private static Mono getToken(ConnectionContext connectionContext, TokenProvider tokenProvider) { - return Mono.defer(() -> tokenProvider - .getToken(connectionContext)) - .map(s -> s.split(" ")[1]); + private static Mono getToken( + ConnectionContext connectionContext, TokenProvider tokenProvider) { + return Mono.defer(() -> tokenProvider.getToken(connectionContext)) + .map(s -> s.split(" ")[1]); } private String getUsername(String token) { - JwtParser parser = Jwts.parserBuilder() - .setSigningKeyResolver(this.signingKeyResolver) - .build(); + JwtParser parser = + Jwts.parserBuilder().setSigningKeyResolver(this.signingKeyResolver).build(); Jws jws = parser.parseClaimsJws(token); - return Optional - .ofNullable(jws.getBody().get("user_name", String.class)) - .orElseThrow(() -> new IllegalStateException("Unable to retrieve username from token")); + return Optional.ofNullable(jws.getBody().get("user_name", String.class)) + .orElseThrow( + () -> new IllegalStateException("Unable to retrieve username from token")); } - } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/uaa/VersionBuilder.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/uaa/VersionBuilder.java index 580dd8e488..4e697a3726 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/uaa/VersionBuilder.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/uaa/VersionBuilder.java @@ -17,21 +17,18 @@ package org.cloudfoundry.reactor.uaa; import io.netty.handler.codec.http.HttpHeaders; -import org.cloudfoundry.uaa.Versioned; - import java.util.Optional; +import org.cloudfoundry.uaa.Versioned; final class VersionBuilder { - private VersionBuilder() { - } + private VersionBuilder() {} static void augment(HttpHeaders httpHeaders, Object request) { if (request instanceof Versioned) { Versioned versioned = (Versioned) request; Optional.ofNullable(versioned.getVersion()) - .ifPresent(version -> httpHeaders.set("If-Match", version)); + .ifPresent(version -> httpHeaders.set("If-Match", version)); } } - } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/uaa/authorizations/ReactorAuthorizations.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/uaa/authorizations/ReactorAuthorizations.java index c6a61bf055..f929b35dda 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/uaa/authorizations/ReactorAuthorizations.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/uaa/authorizations/ReactorAuthorizations.java @@ -16,8 +16,12 @@ package org.cloudfoundry.reactor.uaa.authorizations; +import static io.netty.handler.codec.http.HttpHeaderNames.AUTHORIZATION; + import io.netty.handler.codec.http.HttpHeaders; import io.netty.util.AsciiString; +import java.util.Map; +import java.util.Optional; import org.cloudfoundry.reactor.ConnectionContext; import org.cloudfoundry.reactor.TokenProvider; import org.cloudfoundry.reactor.uaa.AbstractUaaOperations; @@ -36,11 +40,6 @@ import org.springframework.web.util.UriComponentsBuilder; import reactor.core.publisher.Mono; -import java.util.Map; -import java.util.Optional; - -import static io.netty.handler.codec.http.HttpHeaderNames.AUTHORIZATION; - /** * The Reactor-based implementation of {@link Authorizations} */ @@ -56,83 +55,134 @@ public final class ReactorAuthorizations extends AbstractUaaOperations implement * @param tokenProvider the {@link TokenProvider} to use when communicating with the server * @param requestTags map with custom http headers which will be added to web request */ - public ReactorAuthorizations(ConnectionContext connectionContext, Mono root, TokenProvider tokenProvider, Map requestTags) { + public ReactorAuthorizations( + ConnectionContext connectionContext, + Mono root, + TokenProvider tokenProvider, + Map requestTags) { super(connectionContext, root, tokenProvider, requestTags); } @Override - public Mono authorizationCodeGrantApi(AuthorizeByAuthorizationCodeGrantApiRequest request) { - return get(request, builder -> builder.pathSegment("oauth", "authorize").queryParam("response_type", ResponseType.CODE)) - .map(inbound -> inbound.responseHeaders().get(LOCATION)) - .flatMap(location -> { - String candidate = UriComponentsBuilder.fromUriString(location).build().getQueryParams().getFirst("code"); - - return Optional.ofNullable(candidate) - .map(Mono::just) - .orElse(ExceptionUtils.illegalState(String.format("Parameter %s not in URI %s", "code", location))); - }) - .checkpoint(); + public Mono authorizationCodeGrantApi( + AuthorizeByAuthorizationCodeGrantApiRequest request) { + return get( + request, + builder -> + builder.pathSegment("oauth", "authorize") + .queryParam("response_type", ResponseType.CODE)) + .map(inbound -> inbound.responseHeaders().get(LOCATION)) + .flatMap( + location -> { + String candidate = + UriComponentsBuilder.fromUriString(location) + .build() + .getQueryParams() + .getFirst("code"); + + return Optional.ofNullable(candidate) + .map(Mono::just) + .orElse( + ExceptionUtils.illegalState( + String.format( + "Parameter %s not in URI %s", + "code", location))); + }) + .checkpoint(); } @Override - public Mono authorizationCodeGrantBrowser(AuthorizeByAuthorizationCodeGrantBrowserRequest request) { - return get(request, builder -> builder.pathSegment("oauth", "authorize").queryParam("response_type", ResponseType.CODE), - outbound -> {}, - ReactorAuthorizations::removeAuthorization) - .map(inbound -> inbound.responseHeaders().get(LOCATION)) - .checkpoint(); + public Mono authorizationCodeGrantBrowser( + AuthorizeByAuthorizationCodeGrantBrowserRequest request) { + return get( + request, + builder -> + builder.pathSegment("oauth", "authorize") + .queryParam("response_type", ResponseType.CODE), + outbound -> {}, + ReactorAuthorizations::removeAuthorization) + .map(inbound -> inbound.responseHeaders().get(LOCATION)) + .checkpoint(); } @Override - public Mono authorizationCodeGrantHybrid(AuthorizeByAuthorizationCodeGrantHybridRequest request) { - return get(request, builder -> builder.pathSegment("oauth", "authorize").queryParam("response_type", ResponseType.CODE_AND_ID_TOKEN), - outbound -> {}, - ReactorAuthorizations::removeAuthorization) - .map(inbound -> inbound.responseHeaders().get(LOCATION)) - .checkpoint(); + public Mono authorizationCodeGrantHybrid( + AuthorizeByAuthorizationCodeGrantHybridRequest request) { + return get( + request, + builder -> + builder.pathSegment("oauth", "authorize") + .queryParam( + "response_type", ResponseType.CODE_AND_ID_TOKEN), + outbound -> {}, + ReactorAuthorizations::removeAuthorization) + .map(inbound -> inbound.responseHeaders().get(LOCATION)) + .checkpoint(); } @Override - public Mono getOpenIdProviderConfiguration(GetOpenIdProviderConfigurationRequest request) { - return get(request, GetOpenIdProviderConfigurationResponse.class, builder -> builder.pathSegment(".well-known", "openid-configuration")) - .checkpoint(); + public Mono getOpenIdProviderConfiguration( + GetOpenIdProviderConfigurationRequest request) { + return get( + request, + GetOpenIdProviderConfigurationResponse.class, + builder -> builder.pathSegment(".well-known", "openid-configuration")) + .checkpoint(); } @Override public Mono implicitGrantBrowser(AuthorizeByImplicitGrantBrowserRequest request) { - return get(request, builder -> builder.pathSegment("oauth", "authorize").queryParam("response_type", ResponseType.TOKEN), - outbound -> {}, - ReactorAuthorizations::removeAuthorization) - .map(inbound -> inbound.responseHeaders().get(LOCATION)) - .checkpoint(); + return get( + request, + builder -> + builder.pathSegment("oauth", "authorize") + .queryParam("response_type", ResponseType.TOKEN), + outbound -> {}, + ReactorAuthorizations::removeAuthorization) + .map(inbound -> inbound.responseHeaders().get(LOCATION)) + .checkpoint(); } @Override - public Mono openIdWithAuthorizationCodeAndIdToken(AuthorizeByOpenIdWithAuthorizationCodeGrantRequest request) { - return get(request, builder -> builder.pathSegment("oauth", "authorize").queryParam("response_type", ResponseType.CODE_AND_ID_TOKEN), - outbound -> {}, - ReactorAuthorizations::removeAuthorization) - .map(inbound -> inbound.responseHeaders().get(LOCATION)) - .checkpoint(); + public Mono openIdWithAuthorizationCodeAndIdToken( + AuthorizeByOpenIdWithAuthorizationCodeGrantRequest request) { + return get( + request, + builder -> + builder.pathSegment("oauth", "authorize") + .queryParam( + "response_type", ResponseType.CODE_AND_ID_TOKEN), + outbound -> {}, + ReactorAuthorizations::removeAuthorization) + .map(inbound -> inbound.responseHeaders().get(LOCATION)) + .checkpoint(); } @Override public Mono openIdWithIdToken(AuthorizeByOpenIdWithIdTokenRequest request) { - return get(request, builder -> builder.pathSegment("oauth", "authorize").queryParam("response_type", ResponseType.ID_TOKEN)) - .map(inbound -> inbound.responseHeaders().get(LOCATION)) - .checkpoint(); + return get( + request, + builder -> + builder.pathSegment("oauth", "authorize") + .queryParam("response_type", ResponseType.ID_TOKEN)) + .map(inbound -> inbound.responseHeaders().get(LOCATION)) + .checkpoint(); } @Override - public Mono openIdWithTokenAndIdToken(AuthorizeByOpenIdWithImplicitGrantRequest request) { - return get(request, builder -> builder.pathSegment("oauth", "authorize").queryParam("response_type", ResponseType.TOKEN_AND_ID_TOKEN)) - .map(inbound -> inbound.responseHeaders().get(LOCATION)) - .checkpoint(); + public Mono openIdWithTokenAndIdToken( + AuthorizeByOpenIdWithImplicitGrantRequest request) { + return get( + request, + builder -> + builder.pathSegment("oauth", "authorize") + .queryParam( + "response_type", ResponseType.TOKEN_AND_ID_TOKEN)) + .map(inbound -> inbound.responseHeaders().get(LOCATION)) + .checkpoint(); } private static Mono removeAuthorization(HttpHeaders request) { return Mono.just(request.remove(AUTHORIZATION)); } - - } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/uaa/clients/ReactorClients.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/uaa/clients/ReactorClients.java index 3cf666bca1..75f8f664cd 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/uaa/clients/ReactorClients.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/uaa/clients/ReactorClients.java @@ -16,6 +16,7 @@ package org.cloudfoundry.reactor.uaa.clients; +import java.util.Map; import org.cloudfoundry.reactor.ConnectionContext; import org.cloudfoundry.reactor.TokenProvider; import org.cloudfoundry.reactor.uaa.AbstractUaaOperations; @@ -50,8 +51,6 @@ import org.cloudfoundry.uaa.clients.UpdateMetadataResponse; import reactor.core.publisher.Mono; -import java.util.Map; - /** * The Reactor-based implementation of {@link Clients} */ @@ -65,91 +64,143 @@ public final class ReactorClients extends AbstractUaaOperations implements Clien * @param tokenProvider the {@link TokenProvider} to use when communicating with the server * @param requestTags map with custom http headers which will be added to web request */ - public ReactorClients(ConnectionContext connectionContext, Mono root, TokenProvider tokenProvider, Map requestTags) { + public ReactorClients( + ConnectionContext connectionContext, + Mono root, + TokenProvider tokenProvider, + Map requestTags) { super(connectionContext, root, tokenProvider, requestTags); } @Override public Mono batchChangeSecret(BatchChangeSecretRequest request) { - return post(request, BatchChangeSecretResponse.class, builder -> builder.pathSegment("oauth", "clients", "tx", "secret")) - .checkpoint(); + return post( + request, + BatchChangeSecretResponse.class, + builder -> builder.pathSegment("oauth", "clients", "tx", "secret")) + .checkpoint(); } @Override public Mono batchCreate(BatchCreateClientsRequest request) { - return post(request, BatchCreateClientsResponse.class, builder -> builder.pathSegment("oauth", "clients", "tx")) - .checkpoint(); + return post( + request, + BatchCreateClientsResponse.class, + builder -> builder.pathSegment("oauth", "clients", "tx")) + .checkpoint(); } @Override public Mono batchDelete(BatchDeleteClientsRequest request) { - return post(request, BatchDeleteClientsResponse.class, builder -> builder.pathSegment("oauth", "clients", "tx", "delete")) - .checkpoint(); + return post( + request, + BatchDeleteClientsResponse.class, + builder -> builder.pathSegment("oauth", "clients", "tx", "delete")) + .checkpoint(); } @Override public Mono batchUpdate(BatchUpdateClientsRequest request) { - return put(request, BatchUpdateClientsResponse.class, builder -> builder.pathSegment("oauth", "clients", "tx")) - .checkpoint(); + return put( + request, + BatchUpdateClientsResponse.class, + builder -> builder.pathSegment("oauth", "clients", "tx")) + .checkpoint(); } @Override public Mono changeSecret(ChangeSecretRequest request) { - return put(request, ChangeSecretResponse.class, builder -> builder.pathSegment("oauth", "clients", request.getClientId(), "secret")) - .checkpoint(); + return put( + request, + ChangeSecretResponse.class, + builder -> + builder.pathSegment( + "oauth", "clients", request.getClientId(), "secret")) + .checkpoint(); } @Override public Mono create(CreateClientRequest request) { - return post(request, CreateClientResponse.class, builder -> builder.pathSegment("oauth", "clients")) - .checkpoint(); + return post( + request, + CreateClientResponse.class, + builder -> builder.pathSegment("oauth", "clients")) + .checkpoint(); } @Override public Mono delete(DeleteClientRequest request) { - return delete(request, DeleteClientResponse.class, builder -> builder.pathSegment("oauth", "clients", request.getClientId())) - .checkpoint(); + return delete( + request, + DeleteClientResponse.class, + builder -> builder.pathSegment("oauth", "clients", request.getClientId())) + .checkpoint(); } @Override public Mono get(GetClientRequest request) { - return get(request, GetClientResponse.class, builder -> builder.pathSegment("oauth", "clients", request.getClientId())) - .checkpoint(); + return get( + request, + GetClientResponse.class, + builder -> builder.pathSegment("oauth", "clients", request.getClientId())) + .checkpoint(); } @Override public Mono getMetadata(GetMetadataRequest request) { - return get(request, GetMetadataResponse.class, builder -> builder.pathSegment("oauth", "clients", request.getClientId(), "meta")) - .checkpoint(); + return get( + request, + GetMetadataResponse.class, + builder -> + builder.pathSegment( + "oauth", "clients", request.getClientId(), "meta")) + .checkpoint(); } @Override public Mono list(ListClientsRequest request) { - return get(request, ListClientsResponse.class, builder -> builder.pathSegment("oauth", "clients")) - .checkpoint(); + return get( + request, + ListClientsResponse.class, + builder -> builder.pathSegment("oauth", "clients")) + .checkpoint(); } @Override public Mono listMetadatas(ListMetadatasRequest request) { - return get(request, ListMetadatasResponse.class, builder -> builder.pathSegment("oauth", "clients", "meta")) - .checkpoint(); + return get( + request, + ListMetadatasResponse.class, + builder -> builder.pathSegment("oauth", "clients", "meta")) + .checkpoint(); } @Override public Mono mixedActions(MixedActionsRequest request) { - return post(request, MixedActionsResponse.class, builder -> builder.pathSegment("oauth", "clients", "tx", "modify")) - .checkpoint(); + return post( + request, + MixedActionsResponse.class, + builder -> builder.pathSegment("oauth", "clients", "tx", "modify")) + .checkpoint(); } @Override public Mono update(UpdateClientRequest request) { - return put(request, UpdateClientResponse.class, builder -> builder.pathSegment("oauth", "clients", request.getClientId())) - .checkpoint(); + return put( + request, + UpdateClientResponse.class, + builder -> builder.pathSegment("oauth", "clients", request.getClientId())) + .checkpoint(); } @Override public Mono updateMetadata(UpdateMetadataRequest request) { - return put(request, UpdateMetadataResponse.class, builder -> builder.pathSegment("oauth", "clients", request.getClientId(), "meta")) - .checkpoint(); + return put( + request, + UpdateMetadataResponse.class, + builder -> + builder.pathSegment( + "oauth", "clients", request.getClientId(), "meta")) + .checkpoint(); } } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/uaa/groups/ReactorGroups.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/uaa/groups/ReactorGroups.java index 130b32bcae..7885f1d3cd 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/uaa/groups/ReactorGroups.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/uaa/groups/ReactorGroups.java @@ -16,6 +16,7 @@ package org.cloudfoundry.reactor.uaa.groups; +import java.util.Map; import org.cloudfoundry.reactor.ConnectionContext; import org.cloudfoundry.reactor.TokenProvider; import org.cloudfoundry.reactor.uaa.AbstractUaaOperations; @@ -48,8 +49,6 @@ import org.cloudfoundry.uaa.groups.UpdateGroupResponse; import reactor.core.publisher.Mono; -import java.util.Map; - /** * The Reactor-based implementation of {@link Groups} */ @@ -63,92 +62,153 @@ public final class ReactorGroups extends AbstractUaaOperations implements Groups * @param tokenProvider the {@link TokenProvider} to use when communicating with the server * @param requestTags map with custom http headers which will be added to web request */ - public ReactorGroups(ConnectionContext connectionContext, Mono root, TokenProvider tokenProvider, Map requestTags) { + public ReactorGroups( + ConnectionContext connectionContext, + Mono root, + TokenProvider tokenProvider, + Map requestTags) { super(connectionContext, root, tokenProvider, requestTags); } @Override public Mono addMember(AddMemberRequest request) { - return post(request, AddMemberResponse.class, builder -> builder.pathSegment("Groups", request.getGroupId(), "members")) - .checkpoint(); + return post( + request, + AddMemberResponse.class, + builder -> builder.pathSegment("Groups", request.getGroupId(), "members")) + .checkpoint(); } @Override public Mono checkMembership(CheckMembershipRequest request) { - return get(request, CheckMembershipResponse.class, builder -> builder.pathSegment("Groups", request.getGroupId(), "members", request.getMemberId())) - .checkpoint(); + return get( + request, + CheckMembershipResponse.class, + builder -> + builder.pathSegment( + "Groups", + request.getGroupId(), + "members", + request.getMemberId())) + .checkpoint(); } @Override public Mono create(CreateGroupRequest request) { return post(request, CreateGroupResponse.class, builder -> builder.pathSegment("Groups")) - .checkpoint(); + .checkpoint(); } @Override public Mono delete(DeleteGroupRequest request) { - return delete(request, DeleteGroupResponse.class, builder -> builder.pathSegment("Groups", request.getGroupId())) - .checkpoint(); + return delete( + request, + DeleteGroupResponse.class, + builder -> builder.pathSegment("Groups", request.getGroupId())) + .checkpoint(); } @Override public Mono get(GetGroupRequest request) { - return get(request, GetGroupResponse.class, builder -> builder.pathSegment("Groups", request.getGroupId())) - .checkpoint(); + return get( + request, + GetGroupResponse.class, + builder -> builder.pathSegment("Groups", request.getGroupId())) + .checkpoint(); } @Override public Mono list(ListGroupsRequest request) { return get(request, ListGroupsResponse.class, builder -> builder.pathSegment("Groups")) - .checkpoint(); + .checkpoint(); } @Override - public Mono listExternalGroupMappings(ListExternalGroupMappingsRequest request) { - return get(request, ListExternalGroupMappingsResponse.class, builder -> builder.pathSegment("Groups", "External")) - .checkpoint(); + public Mono listExternalGroupMappings( + ListExternalGroupMappingsRequest request) { + return get( + request, + ListExternalGroupMappingsResponse.class, + builder -> builder.pathSegment("Groups", "External")) + .checkpoint(); } @Override public Mono listMembers(ListMembersRequest request) { - return get(request, ListMembersResponse.class, builder -> builder.pathSegment("Groups", request.getGroupId(), "members")) - .checkpoint(); + return get( + request, + ListMembersResponse.class, + builder -> builder.pathSegment("Groups", request.getGroupId(), "members")) + .checkpoint(); } @Override public Mono mapExternalGroup(MapExternalGroupRequest request) { - return post(request, MapExternalGroupResponse.class, builder -> builder.pathSegment("Groups", "External")) - .checkpoint(); + return post( + request, + MapExternalGroupResponse.class, + builder -> builder.pathSegment("Groups", "External")) + .checkpoint(); } @Override public Mono removeMember(RemoveMemberRequest request) { - return delete(request, RemoveMemberResponse.class, builder -> builder.pathSegment("Groups", request.getGroupId(), "members", request.getMemberId())) - .checkpoint(); + return delete( + request, + RemoveMemberResponse.class, + builder -> + builder.pathSegment( + "Groups", + request.getGroupId(), + "members", + request.getMemberId())) + .checkpoint(); } @Override - public Mono unmapExternalGroupByGroupDisplayName(UnmapExternalGroupByGroupDisplayNameRequest request) { + public Mono unmapExternalGroupByGroupDisplayName( + UnmapExternalGroupByGroupDisplayNameRequest request) { return delete( - request, - UnmapExternalGroupByGroupDisplayNameResponse.class, - builder -> builder.pathSegment("Groups", "External", "displayName", request.getGroupDisplayName(), "externalGroup", request.getExternalGroup(), "origin", request.getOrigin())) - .checkpoint(); + request, + UnmapExternalGroupByGroupDisplayNameResponse.class, + builder -> + builder.pathSegment( + "Groups", + "External", + "displayName", + request.getGroupDisplayName(), + "externalGroup", + request.getExternalGroup(), + "origin", + request.getOrigin())) + .checkpoint(); } @Override - public Mono unmapExternalGroupByGroupId(UnmapExternalGroupByGroupIdRequest request) { + public Mono unmapExternalGroupByGroupId( + UnmapExternalGroupByGroupIdRequest request) { return delete( - request, - UnmapExternalGroupByGroupIdResponse.class, - builder -> builder.pathSegment("Groups", "External", "groupId", request.getGroupId(), "externalGroup", request.getExternalGroup(), "origin", request.getOrigin())) - .checkpoint(); + request, + UnmapExternalGroupByGroupIdResponse.class, + builder -> + builder.pathSegment( + "Groups", + "External", + "groupId", + request.getGroupId(), + "externalGroup", + request.getExternalGroup(), + "origin", + request.getOrigin())) + .checkpoint(); } @Override public Mono update(UpdateGroupRequest request) { - return put(request, UpdateGroupResponse.class, builder -> builder.pathSegment("Groups", request.getGroupId())) - .checkpoint(); + return put( + request, + UpdateGroupResponse.class, + builder -> builder.pathSegment("Groups", request.getGroupId())) + .checkpoint(); } - } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/uaa/identityproviders/ReactorIdentityProviders.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/uaa/identityproviders/ReactorIdentityProviders.java index 0e4159d4de..fff1c326a5 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/uaa/identityproviders/ReactorIdentityProviders.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/uaa/identityproviders/ReactorIdentityProviders.java @@ -16,6 +16,7 @@ package org.cloudfoundry.reactor.uaa.identityproviders; +import java.util.Map; import org.cloudfoundry.reactor.ConnectionContext; import org.cloudfoundry.reactor.TokenProvider; import org.cloudfoundry.reactor.uaa.AbstractUaaOperations; @@ -32,12 +33,11 @@ import org.cloudfoundry.uaa.identityproviders.UpdateIdentityProviderResponse; import reactor.core.publisher.Mono; -import java.util.Map; - /** * The Reactor-based implementation of {@link IdentityProviders} */ -public final class ReactorIdentityProviders extends AbstractUaaOperations implements IdentityProviders { +public final class ReactorIdentityProviders extends AbstractUaaOperations + implements IdentityProviders { /** * Creates an instance @@ -47,38 +47,72 @@ public final class ReactorIdentityProviders extends AbstractUaaOperations implem * @param tokenProvider the {@link TokenProvider} to use when communicating with the server * @param requestTags map with custom http headers which will be added to web request */ - public ReactorIdentityProviders(ConnectionContext connectionContext, Mono root, TokenProvider tokenProvider, Map requestTags) { + public ReactorIdentityProviders( + ConnectionContext connectionContext, + Mono root, + TokenProvider tokenProvider, + Map requestTags) { super(connectionContext, root, tokenProvider, requestTags); } @Override public Mono create(CreateIdentityProviderRequest request) { - return post(request, CreateIdentityProviderResponse.class, builder -> builder.pathSegment("identity-providers").queryParam("rawConfig", true)) - .checkpoint(); + return post( + request, + CreateIdentityProviderResponse.class, + builder -> + builder.pathSegment("identity-providers") + .queryParam("rawConfig", true)) + .checkpoint(); } @Override public Mono delete(DeleteIdentityProviderRequest request) { - return delete(request, DeleteIdentityProviderResponse.class, builder -> builder.pathSegment("identity-providers", request.getIdentityProviderId()).queryParam("rawConfig", true)) - .checkpoint(); + return delete( + request, + DeleteIdentityProviderResponse.class, + builder -> + builder.pathSegment( + "identity-providers", + request.getIdentityProviderId()) + .queryParam("rawConfig", true)) + .checkpoint(); } @Override public Mono get(GetIdentityProviderRequest request) { - return get(request, GetIdentityProviderResponse.class, builder -> builder.pathSegment("identity-providers", request.getIdentityProviderId()).queryParam("rawConfig", true)) - .checkpoint(); + return get( + request, + GetIdentityProviderResponse.class, + builder -> + builder.pathSegment( + "identity-providers", + request.getIdentityProviderId()) + .queryParam("rawConfig", true)) + .checkpoint(); } @Override public Mono list(ListIdentityProvidersRequest request) { - return get(request, ListIdentityProvidersResponse.class, builder -> builder.pathSegment("identity-providers").queryParam("rawConfig", true)) - .checkpoint(); + return get( + request, + ListIdentityProvidersResponse.class, + builder -> + builder.pathSegment("identity-providers") + .queryParam("rawConfig", true)) + .checkpoint(); } @Override public Mono update(UpdateIdentityProviderRequest request) { - return put(request, UpdateIdentityProviderResponse.class, builder -> builder.pathSegment("identity-providers", request.getIdentityProviderId()).queryParam("rawConfig", true)) - .checkpoint(); + return put( + request, + UpdateIdentityProviderResponse.class, + builder -> + builder.pathSegment( + "identity-providers", + request.getIdentityProviderId()) + .queryParam("rawConfig", true)) + .checkpoint(); } - } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/uaa/identityzones/ReactorIdentityZones.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/uaa/identityzones/ReactorIdentityZones.java index ca34e33158..b09a9c1fc3 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/uaa/identityzones/ReactorIdentityZones.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/uaa/identityzones/ReactorIdentityZones.java @@ -16,6 +16,7 @@ package org.cloudfoundry.reactor.uaa.identityzones; +import java.util.Map; import org.cloudfoundry.reactor.ConnectionContext; import org.cloudfoundry.reactor.TokenProvider; import org.cloudfoundry.reactor.uaa.AbstractUaaOperations; @@ -32,8 +33,6 @@ import org.cloudfoundry.uaa.identityzones.UpdateIdentityZoneResponse; import reactor.core.publisher.Mono; -import java.util.Map; - /** * The Reactor-based implementation of {@link IdentityZones} */ @@ -47,38 +46,59 @@ public final class ReactorIdentityZones extends AbstractUaaOperations implements * @param tokenProvider the {@link TokenProvider} to use when communicating with the server * @param requestTags map with custom http headers which will be added to web request */ - public ReactorIdentityZones(ConnectionContext connectionContext, Mono root, TokenProvider tokenProvider, Map requestTags) { + public ReactorIdentityZones( + ConnectionContext connectionContext, + Mono root, + TokenProvider tokenProvider, + Map requestTags) { super(connectionContext, root, tokenProvider, requestTags); } @Override public Mono create(CreateIdentityZoneRequest request) { - return post(request, CreateIdentityZoneResponse.class, builder -> builder.pathSegment("identity-zones")) - .checkpoint(); + return post( + request, + CreateIdentityZoneResponse.class, + builder -> builder.pathSegment("identity-zones")) + .checkpoint(); } @Override public Mono delete(DeleteIdentityZoneRequest request) { - return delete(request, DeleteIdentityZoneResponse.class, builder -> builder.pathSegment("identity-zones", request.getIdentityZoneId())) - .checkpoint(); + return delete( + request, + DeleteIdentityZoneResponse.class, + builder -> + builder.pathSegment("identity-zones", request.getIdentityZoneId())) + .checkpoint(); } @Override public Mono get(GetIdentityZoneRequest request) { - return get(request, GetIdentityZoneResponse.class, builder -> builder.pathSegment("identity-zones", request.getIdentityZoneId())) - .checkpoint(); + return get( + request, + GetIdentityZoneResponse.class, + builder -> + builder.pathSegment("identity-zones", request.getIdentityZoneId())) + .checkpoint(); } @Override public Mono list(ListIdentityZonesRequest request) { - return get(request, ListIdentityZonesResponse.class, builder -> builder.pathSegment("identity-zones")) - .checkpoint(); + return get( + request, + ListIdentityZonesResponse.class, + builder -> builder.pathSegment("identity-zones")) + .checkpoint(); } @Override public Mono update(UpdateIdentityZoneRequest request) { - return put(request, UpdateIdentityZoneResponse.class, builder -> builder.pathSegment("identity-zones", request.getIdentityZoneId())) - .checkpoint(); + return put( + request, + UpdateIdentityZoneResponse.class, + builder -> + builder.pathSegment("identity-zones", request.getIdentityZoneId())) + .checkpoint(); } - } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/uaa/serverinformation/ReactorServerInformation.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/uaa/serverinformation/ReactorServerInformation.java index 432d3b86e3..595adb2ffe 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/uaa/serverinformation/ReactorServerInformation.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/uaa/serverinformation/ReactorServerInformation.java @@ -16,7 +16,11 @@ package org.cloudfoundry.reactor.uaa.serverinformation; +import static io.netty.handler.codec.http.HttpHeaderNames.AUTHORIZATION; + import io.netty.util.AsciiString; +import java.util.Base64; +import java.util.Map; import org.cloudfoundry.reactor.ConnectionContext; import org.cloudfoundry.reactor.TokenProvider; import org.cloudfoundry.reactor.uaa.AbstractUaaOperations; @@ -29,15 +33,11 @@ import org.cloudfoundry.uaa.serverinformation.ServerInformation; import reactor.core.publisher.Mono; -import java.util.Base64; -import java.util.Map; - -import static io.netty.handler.codec.http.HttpHeaderNames.AUTHORIZATION; - /** * The Reactor-based implementation of {@link IdentityZones} */ -public final class ReactorServerInformation extends AbstractUaaOperations implements ServerInformation { +public final class ReactorServerInformation extends AbstractUaaOperations + implements ServerInformation { private static final AsciiString BASIC_PREAMBLE = new AsciiString("Basic "); @@ -49,33 +49,45 @@ public final class ReactorServerInformation extends AbstractUaaOperations implem * @param tokenProvider the {@link TokenProvider} to use when communicating with the server * @param requestTags map with custom http headers which will be added to web request */ - public ReactorServerInformation(ConnectionContext connectionContext, Mono root, TokenProvider tokenProvider, Map requestTags) { + public ReactorServerInformation( + ConnectionContext connectionContext, + Mono root, + TokenProvider tokenProvider, + Map requestTags) { super(connectionContext, root, tokenProvider, requestTags); } @Override public Mono autoLogin(AutoLoginRequest request) { - return get(request, Void.class, builder -> builder.pathSegment("autologin")) - .checkpoint(); + return get(request, Void.class, builder -> builder.pathSegment("autologin")).checkpoint(); } @Override - public Mono getAuthenticationCode(GetAutoLoginAuthenticationCodeRequest request) { - return post(request, GetAutoLoginAuthenticationCodeResponse.class, builder -> builder.pathSegment("autologin"), - outbound -> { - }, - outbound -> { - String encoded = Base64.getEncoder().encodeToString(new AsciiString(request.getClientId()).concat(":").concat(request.getClientSecret()).toByteArray()); - outbound.set(AUTHORIZATION, BASIC_PREAMBLE + encoded); + public Mono getAuthenticationCode( + GetAutoLoginAuthenticationCodeRequest request) { + return post( + request, + GetAutoLoginAuthenticationCodeResponse.class, + builder -> builder.pathSegment("autologin"), + outbound -> {}, + outbound -> { + String encoded = + Base64.getEncoder() + .encodeToString( + new AsciiString(request.getClientId()) + .concat(":") + .concat(request.getClientSecret()) + .toByteArray()); + outbound.set(AUTHORIZATION, BASIC_PREAMBLE + encoded); - return Mono.just(outbound); - }) - .checkpoint(); + return Mono.just(outbound); + }) + .checkpoint(); } @Override public Mono getInfo(GetInfoRequest request) { return get(request, GetInfoResponse.class, builder -> builder.pathSegment("info")) - .checkpoint(); + .checkpoint(); } } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/uaa/tokens/ReactorTokens.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/uaa/tokens/ReactorTokens.java index 848a3e3246..6d600b1b22 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/uaa/tokens/ReactorTokens.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/uaa/tokens/ReactorTokens.java @@ -16,8 +16,18 @@ package org.cloudfoundry.reactor.uaa.tokens; +import static io.netty.handler.codec.http.HttpHeaderNames.AUTHORIZATION; +import static io.netty.handler.codec.http.HttpHeaderNames.CONTENT_TYPE; +import static io.netty.handler.codec.http.HttpHeaderValues.APPLICATION_X_WWW_FORM_URLENCODED; +import static org.cloudfoundry.uaa.tokens.GrantType.AUTHORIZATION_CODE; +import static org.cloudfoundry.uaa.tokens.GrantType.CLIENT_CREDENTIALS; +import static org.cloudfoundry.uaa.tokens.GrantType.PASSWORD; +import static org.cloudfoundry.uaa.tokens.GrantType.REFRESH_TOKEN; + import io.netty.handler.codec.http.HttpHeaders; import io.netty.util.AsciiString; +import java.util.Base64; +import java.util.Map; import org.cloudfoundry.reactor.ConnectionContext; import org.cloudfoundry.reactor.TokenProvider; import org.cloudfoundry.reactor.uaa.AbstractUaaOperations; @@ -43,17 +53,6 @@ import org.cloudfoundry.uaa.tokens.Tokens; import reactor.core.publisher.Mono; -import java.util.Base64; -import java.util.Map; - -import static io.netty.handler.codec.http.HttpHeaderNames.AUTHORIZATION; -import static io.netty.handler.codec.http.HttpHeaderNames.CONTENT_TYPE; -import static io.netty.handler.codec.http.HttpHeaderValues.APPLICATION_X_WWW_FORM_URLENCODED; -import static org.cloudfoundry.uaa.tokens.GrantType.AUTHORIZATION_CODE; -import static org.cloudfoundry.uaa.tokens.GrantType.CLIENT_CREDENTIALS; -import static org.cloudfoundry.uaa.tokens.GrantType.PASSWORD; -import static org.cloudfoundry.uaa.tokens.GrantType.REFRESH_TOKEN; - public final class ReactorTokens extends AbstractUaaOperations implements Tokens { private static final AsciiString BASIC_PREAMBLE = new AsciiString("Basic "); @@ -66,91 +65,133 @@ public final class ReactorTokens extends AbstractUaaOperations implements Tokens * @param tokenProvider the {@link TokenProvider} to use when communicating with the server * @param requestTags map with custom http headers which will be added to web request */ - public ReactorTokens(ConnectionContext connectionContext, Mono root, TokenProvider tokenProvider, Map requestTags) { + public ReactorTokens( + ConnectionContext connectionContext, + Mono root, + TokenProvider tokenProvider, + Map requestTags) { super(connectionContext, root, tokenProvider, requestTags); } @Override public Mono check(CheckTokenRequest request) { - return post(request, CheckTokenResponse.class, builder -> builder.pathSegment("check_token"), - outbound -> { - }, - outbound -> { - String encoded = Base64.getEncoder().encodeToString(new AsciiString(request.getClientId()).concat(":").concat(request.getClientSecret()).toByteArray()); - return Mono.just(outbound.set(AUTHORIZATION, BASIC_PREAMBLE + encoded)); - }) - .checkpoint(); + return post( + request, + CheckTokenResponse.class, + builder -> builder.pathSegment("check_token"), + outbound -> {}, + outbound -> { + String encoded = + Base64.getEncoder() + .encodeToString( + new AsciiString(request.getClientId()) + .concat(":") + .concat(request.getClientSecret()) + .toByteArray()); + return Mono.just(outbound.set(AUTHORIZATION, BASIC_PREAMBLE + encoded)); + }) + .checkpoint(); } @Override - public Mono getByAuthorizationCode(GetTokenByAuthorizationCodeRequest request) { - return post(request, GetTokenByAuthorizationCodeResponse.class, builder -> builder.pathSegment("oauth", "token") - .queryParam("grant_type", AUTHORIZATION_CODE) - .queryParam("response_type", ResponseType.TOKEN), - ReactorTokens::setUrlEncoded, - ReactorTokens::removeAuthorization) - .checkpoint(); + public Mono getByAuthorizationCode( + GetTokenByAuthorizationCodeRequest request) { + return post( + request, + GetTokenByAuthorizationCodeResponse.class, + builder -> + builder.pathSegment("oauth", "token") + .queryParam("grant_type", AUTHORIZATION_CODE) + .queryParam("response_type", ResponseType.TOKEN), + ReactorTokens::setUrlEncoded, + ReactorTokens::removeAuthorization) + .checkpoint(); } @Override - public Mono getByClientCredentials(GetTokenByClientCredentialsRequest request) { - return post(request, GetTokenByClientCredentialsResponse.class, builder -> builder.pathSegment("oauth", "token") - .queryParam("grant_type", CLIENT_CREDENTIALS) - .queryParam("response_type", ResponseType.TOKEN), - ReactorTokens::setUrlEncoded, - ReactorTokens::removeAuthorization) - .checkpoint(); + public Mono getByClientCredentials( + GetTokenByClientCredentialsRequest request) { + return post( + request, + GetTokenByClientCredentialsResponse.class, + builder -> + builder.pathSegment("oauth", "token") + .queryParam("grant_type", CLIENT_CREDENTIALS) + .queryParam("response_type", ResponseType.TOKEN), + ReactorTokens::setUrlEncoded, + ReactorTokens::removeAuthorization) + .checkpoint(); } @Override - public Mono getByOneTimePasscode(GetTokenByOneTimePasscodeRequest request) { - return post(request, GetTokenByOneTimePasscodeResponse.class, builder -> builder.pathSegment("oauth", "token") - .queryParam("grant_type", PASSWORD) - .queryParam("response_type", ResponseType.TOKEN), - ReactorTokens::setUrlEncoded, - ReactorTokens::removeAuthorization) - .checkpoint(); + public Mono getByOneTimePasscode( + GetTokenByOneTimePasscodeRequest request) { + return post( + request, + GetTokenByOneTimePasscodeResponse.class, + builder -> + builder.pathSegment("oauth", "token") + .queryParam("grant_type", PASSWORD) + .queryParam("response_type", ResponseType.TOKEN), + ReactorTokens::setUrlEncoded, + ReactorTokens::removeAuthorization) + .checkpoint(); } @Override public Mono getByOpenId(GetTokenByOpenIdRequest request) { - return post(request, GetTokenByOpenIdResponse.class, builder -> builder.pathSegment("oauth", "token") - .queryParam("grant_type", AUTHORIZATION_CODE) - .queryParam("response_type", ResponseType.ID_TOKEN), - ReactorTokens::setUrlEncoded, - ReactorTokens::removeAuthorization) - .checkpoint(); + return post( + request, + GetTokenByOpenIdResponse.class, + builder -> + builder.pathSegment("oauth", "token") + .queryParam("grant_type", AUTHORIZATION_CODE) + .queryParam("response_type", ResponseType.ID_TOKEN), + ReactorTokens::setUrlEncoded, + ReactorTokens::removeAuthorization) + .checkpoint(); } @Override public Mono getByPassword(GetTokenByPasswordRequest request) { - return post(request, GetTokenByPasswordResponse.class, builder -> builder.pathSegment("oauth", "token") - .queryParam("grant_type", PASSWORD) - .queryParam("response_type", ResponseType.TOKEN), - ReactorTokens::setUrlEncoded, - ReactorTokens::removeAuthorization) - .checkpoint(); + return post( + request, + GetTokenByPasswordResponse.class, + builder -> + builder.pathSegment("oauth", "token") + .queryParam("grant_type", PASSWORD) + .queryParam("response_type", ResponseType.TOKEN), + ReactorTokens::setUrlEncoded, + ReactorTokens::removeAuthorization) + .checkpoint(); } @Override public Mono getKey(GetTokenKeyRequest request) { return get(request, GetTokenKeyResponse.class, builder -> builder.pathSegment("token_key")) - .checkpoint(); + .checkpoint(); } @Override public Mono listKeys(ListTokenKeysRequest request) { - return get(request, ListTokenKeysResponse.class, builder -> builder.pathSegment("token_keys")) - .checkpoint(); + return get( + request, + ListTokenKeysResponse.class, + builder -> builder.pathSegment("token_keys")) + .checkpoint(); } @Override public Mono refresh(RefreshTokenRequest request) { - return post(request, RefreshTokenResponse.class, builder -> builder.pathSegment("oauth", "token") - .queryParam("grant_type", REFRESH_TOKEN), - ReactorTokens::setUrlEncoded, - ReactorTokens::removeAuthorization) - .checkpoint(); + return post( + request, + RefreshTokenResponse.class, + builder -> + builder.pathSegment("oauth", "token") + .queryParam("grant_type", REFRESH_TOKEN), + ReactorTokens::setUrlEncoded, + ReactorTokens::removeAuthorization) + .checkpoint(); } private static Mono removeAuthorization(HttpHeaders request) { @@ -160,5 +201,4 @@ private static Mono removeAuthorization(HttpHeaders request) { private static void setUrlEncoded(HttpHeaders request) { request.set(CONTENT_TYPE, APPLICATION_X_WWW_FORM_URLENCODED); } - } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/uaa/users/ReactorUsers.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/uaa/users/ReactorUsers.java index 85d9e53b26..8a5580fe6c 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/uaa/users/ReactorUsers.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/uaa/users/ReactorUsers.java @@ -16,6 +16,7 @@ package org.cloudfoundry.reactor.uaa.users; +import java.util.Map; import org.cloudfoundry.reactor.ConnectionContext; import org.cloudfoundry.reactor.TokenProvider; import org.cloudfoundry.reactor.uaa.AbstractUaaOperations; @@ -44,8 +45,6 @@ import org.cloudfoundry.uaa.users.VerifyUserResponse; import reactor.core.publisher.Mono; -import java.util.Map; - /** * The Reactor-based implementation of {@link Users} */ @@ -59,74 +58,102 @@ public final class ReactorUsers extends AbstractUaaOperations implements Users { * @param tokenProvider the {@link TokenProvider} to use when communicating with the server * @param requestTags map with custom http headers which will be added to web request */ - public ReactorUsers(ConnectionContext connectionContext, Mono root, TokenProvider tokenProvider, Map requestTags) { + public ReactorUsers( + ConnectionContext connectionContext, + Mono root, + TokenProvider tokenProvider, + Map requestTags) { super(connectionContext, root, tokenProvider, requestTags); } @Override public Mono changePassword(ChangeUserPasswordRequest request) { - return put(request, ChangeUserPasswordResponse.class, builder -> builder.pathSegment("Users", request.getUserId(), "password")) - .checkpoint(); + return put( + request, + ChangeUserPasswordResponse.class, + builder -> builder.pathSegment("Users", request.getUserId(), "password")) + .checkpoint(); } @Override public Mono create(CreateUserRequest request) { return post(request, CreateUserResponse.class, builder -> builder.pathSegment("Users")) - .checkpoint(); + .checkpoint(); } @Override public Mono delete(DeleteUserRequest request) { - return delete(request, DeleteUserResponse.class, builder -> builder.pathSegment("Users", request.getUserId())) - .checkpoint(); + return delete( + request, + DeleteUserResponse.class, + builder -> builder.pathSegment("Users", request.getUserId())) + .checkpoint(); } @Override public Mono expirePassword(ExpirePasswordRequest request) { - return patch(request, ExpirePasswordResponse.class, builder -> builder.pathSegment("Users", request.getUserId(), "status")) - .checkpoint(); + return patch( + request, + ExpirePasswordResponse.class, + builder -> builder.pathSegment("Users", request.getUserId(), "status")) + .checkpoint(); } @Override - public Mono getVerificationLink(GetUserVerificationLinkRequest request) { - return get(request, GetUserVerificationLinkResponse.class, builder -> builder.pathSegment("Users", request.getUserId(), "verify-link")) - .checkpoint(); + public Mono getVerificationLink( + GetUserVerificationLinkRequest request) { + return get( + request, + GetUserVerificationLinkResponse.class, + builder -> builder.pathSegment("Users", request.getUserId(), "verify-link")) + .checkpoint(); } @Override public Mono invite(InviteUsersRequest request) { - return post(request, InviteUsersResponse.class, builder -> builder.pathSegment("invite_users")) - .checkpoint(); + return post( + request, + InviteUsersResponse.class, + builder -> builder.pathSegment("invite_users")) + .checkpoint(); } @Override public Mono list(ListUsersRequest request) { return get(request, ListUsersResponse.class, builder -> builder.pathSegment("Users")) - .checkpoint(); + .checkpoint(); } @Override public Mono lookup(LookupUserIdsRequest request) { - return get(request, LookupUserIdsResponse.class, builder -> builder.pathSegment("ids", "Users")) - .checkpoint(); + return get( + request, + LookupUserIdsResponse.class, + builder -> builder.pathSegment("ids", "Users")) + .checkpoint(); } @Override public Mono update(UpdateUserRequest request) { - return put(request, UpdateUserResponse.class, builder -> builder.pathSegment("Users", request.getId())) - .checkpoint(); + return put( + request, + UpdateUserResponse.class, + builder -> builder.pathSegment("Users", request.getId())) + .checkpoint(); } @Override public Mono userInfo(UserInfoRequest request) { return get(request, UserInfoResponse.class, builder -> builder.pathSegment("userinfo")) - .checkpoint(); + .checkpoint(); } @Override public Mono verify(VerifyUserRequest request) { - return get(request, VerifyUserResponse.class, builder -> builder.pathSegment("Users", request.getUserId(), "verify")) - .checkpoint(); + return get( + request, + VerifyUserResponse.class, + builder -> builder.pathSegment("Users", request.getUserId(), "verify")) + .checkpoint(); } - } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/util/AbstractReactorOperations.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/util/AbstractReactorOperations.java index 8aaf947188..ec97861f60 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/util/AbstractReactorOperations.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/util/AbstractReactorOperations.java @@ -16,16 +16,15 @@ package org.cloudfoundry.reactor.util; +import static io.netty.handler.codec.http.HttpHeaderNames.AUTHORIZATION; + import io.netty.handler.codec.http.HttpHeaders; +import java.util.Map; import org.cloudfoundry.reactor.ConnectionContext; import org.cloudfoundry.reactor.TokenProvider; import reactor.core.publisher.Mono; import reactor.netty.http.client.HttpClient; -import java.util.Map; - -import static io.netty.handler.codec.http.HttpHeaderNames.AUTHORIZATION; - public abstract class AbstractReactorOperations { protected static final String APPLICATION_ZIP = "application/zip"; @@ -38,7 +37,11 @@ public abstract class AbstractReactorOperations { protected final TokenProvider tokenProvider; - protected AbstractReactorOperations(ConnectionContext connectionContext, Mono root, TokenProvider tokenProvider, Map requestTags) { + protected AbstractReactorOperations( + ConnectionContext connectionContext, + Mono root, + TokenProvider tokenProvider, + Map requestTags) { this.connectionContext = connectionContext; this.root = root; this.tokenProvider = tokenProvider; @@ -48,10 +51,11 @@ protected AbstractReactorOperations(ConnectionContext connectionContext, Mono createOperator() { HttpClient httpClient = this.connectionContext.getHttpClient(); - return this.root.map(this::buildOperatorContext) - .map(context -> new Operator(context, httpClient)) - .map(operator -> operator.headers(this::addHeaders)) - .map(operator -> operator.headersWhen(this::addHeadersWhen)); + return this.root + .map(this::buildOperatorContext) + .map(context -> new Operator(context, httpClient)) + .map(operator -> operator.headers(this::addHeaders)) + .map(operator -> operator.headersWhen(this::addHeadersWhen)); } private void addHeaders(HttpHeaders httpHeaders) { @@ -61,16 +65,16 @@ private void addHeaders(HttpHeaders httpHeaders) { } private Mono addHeadersWhen(HttpHeaders httpHeaders) { - return this.tokenProvider.getToken(this.connectionContext) - .map(token -> httpHeaders.set(AUTHORIZATION, token)); + return this.tokenProvider + .getToken(this.connectionContext) + .map(token -> httpHeaders.set(AUTHORIZATION, token)); } private OperatorContext buildOperatorContext(String root) { return OperatorContext.builder() - .connectionContext(this.connectionContext) - .root(root) - .tokenProvider(this.tokenProvider) - .build(); + .connectionContext(this.connectionContext) + .root(root) + .tokenProvider(this.tokenProvider) + .build(); } - } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/util/AnnotationUtils.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/util/AnnotationUtils.java index 0f6ccde4b1..75eb0eca2c 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/util/AnnotationUtils.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/util/AnnotationUtils.java @@ -16,9 +16,6 @@ package org.cloudfoundry.reactor.util; -import org.cloudfoundry.reactor.client.MethodNameComparator; -import reactor.core.Exceptions; - import java.lang.annotation.Annotation; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; @@ -27,11 +24,12 @@ import java.util.Optional; import java.util.function.Function; import java.util.stream.Stream; +import org.cloudfoundry.reactor.client.MethodNameComparator; +import reactor.core.Exceptions; public final class AnnotationUtils { - private AnnotationUtils() { - } + private AnnotationUtils() {} public static class AnnotatedValue { @@ -51,10 +49,10 @@ public T getAnnotation() { public Object getValue() { return this.value; } - } - public static Optional findAnnotation(Class type, Class annotationType) { + public static Optional findAnnotation( + Class type, Class annotationType) { Class clazz = type; T annotation = clazz.getAnnotation(annotationType); @@ -71,15 +69,17 @@ public static Optional findAnnotation(Class type, C return Optional.ofNullable(annotation); } - public static Stream> streamAnnotatedValues(Object instance, Class annotationClass) { + public static Stream> streamAnnotatedValues( + Object instance, Class annotationClass) { Class instanceClass = instance.getClass(); return Arrays.stream(instanceClass.getMethods()) - .sorted(MethodNameComparator.INSTANCE) - .map(processMethod(instance, annotationClass)) - .filter(Objects::nonNull); + .sorted(MethodNameComparator.INSTANCE) + .map(processMethod(instance, annotationClass)) + .filter(Objects::nonNull); } - private static Optional findAnnotation(Method method, Class annotationType) { + private static Optional findAnnotation( + Method method, Class annotationType) { Class clazz = method.getDeclaringClass(); T annotation = method.getAnnotation(annotationType); @@ -91,8 +91,9 @@ private static Optional findAnnotation(Method method, } try { - annotation = clazz.getDeclaredMethod(method.getName(), method.getParameterTypes()) - .getAnnotation(annotationType); + annotation = + clazz.getDeclaredMethod(method.getName(), method.getParameterTypes()) + .getAnnotation(annotationType); } catch (NoSuchMethodException e) { // No equivalent method found } @@ -109,13 +110,18 @@ private static Optional getValue(Method method, Object instance) { } } - private static Function>> processAnnotation(Method method, Object instance) { - return annotation -> getValue(method, instance).map(value -> new AnnotatedValue(annotation, value)); + private static + Function>> processAnnotation( + Method method, Object instance) { + return annotation -> + getValue(method, instance).map(value -> new AnnotatedValue(annotation, value)); } - private static Function> processMethod(Object instance, Class annotationClass) { - return method -> findAnnotation(method, annotationClass).flatMap(processAnnotation(method, instance)) - .orElse(null); + private static Function> processMethod( + Object instance, Class annotationClass) { + return method -> + findAnnotation(method, annotationClass) + .flatMap(processAnnotation(method, instance)) + .orElse(null); } - } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/util/ByteBufAllocatorMetricProviderMXBean.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/util/ByteBufAllocatorMetricProviderMXBean.java index ac52d61f46..cf14ca6161 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/util/ByteBufAllocatorMetricProviderMXBean.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/util/ByteBufAllocatorMetricProviderMXBean.java @@ -29,5 +29,4 @@ public interface ByteBufAllocatorMetricProviderMXBean { * Returns the number of bytes of heap memory used by a {@link ByteBufAllocator} or {@code -1} if unknown. */ long getUsedHeapMemory(); - } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/util/ByteBufAllocatorMetricProviderWrapper.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/util/ByteBufAllocatorMetricProviderWrapper.java index 19b0f18183..bb6bb31e6d 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/util/ByteBufAllocatorMetricProviderWrapper.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/util/ByteBufAllocatorMetricProviderWrapper.java @@ -18,7 +18,8 @@ import io.netty.buffer.ByteBufAllocatorMetricProvider; -public final class ByteBufAllocatorMetricProviderWrapper implements ByteBufAllocatorMetricProviderMXBean { +public final class ByteBufAllocatorMetricProviderWrapper + implements ByteBufAllocatorMetricProviderMXBean { private final ByteBufAllocatorMetricProvider delegate; @@ -35,5 +36,4 @@ public long getUsedDirectMemory() { public long getUsedHeapMemory() { return this.delegate.metric().usedHeapMemory(); } - } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/util/CertificateCollectingTrustManager.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/util/CertificateCollectingTrustManager.java index c06af321e3..d8fdce82d8 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/util/CertificateCollectingTrustManager.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/util/CertificateCollectingTrustManager.java @@ -16,10 +16,10 @@ package org.cloudfoundry.reactor.util; -import javax.net.ssl.X509TrustManager; import java.security.cert.CertificateException; import java.security.cert.X509Certificate; import java.util.Arrays; +import javax.net.ssl.X509TrustManager; final class CertificateCollectingTrustManager implements X509TrustManager { @@ -80,7 +80,6 @@ X509Certificate[] getCollectedCertificateChain() { synchronized (this.monitor) { if (this.collected == null) { return null; - } return Arrays.copyOf(this.collected, this.collected.length); } @@ -91,5 +90,4 @@ Boolean isTrusted() { return this.trusted; } } - } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/util/DefaultSslCertificateTruster.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/util/DefaultSslCertificateTruster.java index 3e9d444330..32bc235f6f 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/util/DefaultSslCertificateTruster.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/util/DefaultSslCertificateTruster.java @@ -17,21 +17,6 @@ package org.cloudfoundry.reactor.util; import io.netty.handler.ssl.SslContextBuilder; -import org.cloudfoundry.reactor.ProxyConfiguration; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import reactor.core.Exceptions; -import reactor.core.publisher.Mono; -import reactor.netty.resources.LoopResources; -import reactor.netty.tcp.SslProvider.SslContextSpec; -import reactor.netty.tcp.TcpClient; -import reactor.util.function.Tuple2; -import reactor.util.function.Tuples; - -import javax.net.ssl.SSLException; -import javax.net.ssl.TrustManager; -import javax.net.ssl.TrustManagerFactory; -import javax.net.ssl.X509TrustManager; import java.io.IOException; import java.security.KeyStore; import java.security.KeyStoreException; @@ -44,6 +29,20 @@ import java.util.Set; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.atomic.AtomicReference; +import javax.net.ssl.SSLException; +import javax.net.ssl.TrustManager; +import javax.net.ssl.TrustManagerFactory; +import javax.net.ssl.X509TrustManager; +import org.cloudfoundry.reactor.ProxyConfiguration; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import reactor.core.Exceptions; +import reactor.core.publisher.Mono; +import reactor.netty.resources.LoopResources; +import reactor.netty.tcp.SslProvider.SslContextSpec; +import reactor.netty.tcp.TcpClient; +import reactor.util.function.Tuple2; +import reactor.util.function.Tuples; public final class DefaultSslCertificateTruster implements SslCertificateTruster { @@ -57,7 +56,8 @@ public final class DefaultSslCertificateTruster implements SslCertificateTruster private final Set> trustedHostsAndPorts; - public DefaultSslCertificateTruster(Optional proxyConfiguration, LoopResources threadPool) { + public DefaultSslCertificateTruster( + Optional proxyConfiguration, LoopResources threadPool) { this.proxyConfiguration = proxyConfiguration; this.threadPool = threadPool; this.delegate = new AtomicReference<>(getTrustManager(getTrustManagerFactory(null))); @@ -65,12 +65,14 @@ public DefaultSslCertificateTruster(Optional proxyConfigurat } @Override - public void checkClientTrusted(X509Certificate[] x509Certificates, String authType) throws CertificateException { + public void checkClientTrusted(X509Certificate[] x509Certificates, String authType) + throws CertificateException { this.delegate.get().checkClientTrusted(x509Certificates, authType); } @Override - public void checkServerTrusted(X509Certificate[] x509Certificates, String authType) throws CertificateException { + public void checkServerTrusted(X509Certificate[] x509Certificates, String authType) + throws CertificateException { this.delegate.get().checkServerTrusted(x509Certificates, authType); } @@ -90,19 +92,29 @@ public Mono trust(String host, int port, Duration duration) { X509TrustManager trustManager = this.delegate.get(); - return getUntrustedCertificates(duration, host, port, this.proxyConfiguration, this.threadPool, trustManager) - .doOnNext(untrustedCertificates -> { - KeyStore trustStore = addToTrustStore(untrustedCertificates, trustManager); - this.delegate.set(getTrustManager(getTrustManagerFactory(trustStore))); - }) - .doOnSuccess(untrustedCertificates -> { - this.trustedHostsAndPorts.add(hostAndPort); - this.logger.debug("Trusted SSL Certificate for {}:{}", host, port); - }) - .then(); + return getUntrustedCertificates( + duration, + host, + port, + this.proxyConfiguration, + this.threadPool, + trustManager) + .doOnNext( + untrustedCertificates -> { + KeyStore trustStore = + addToTrustStore(untrustedCertificates, trustManager); + this.delegate.set(getTrustManager(getTrustManagerFactory(trustStore))); + }) + .doOnSuccess( + untrustedCertificates -> { + this.trustedHostsAndPorts.add(hostAndPort); + this.logger.debug("Trusted SSL Certificate for {}:{}", host, port); + }) + .then(); } - private static KeyStore addToTrustStore(X509Certificate[] untrustedCertificates, X509TrustManager trustManager) { + private static KeyStore addToTrustStore( + X509Certificate[] untrustedCertificates, X509TrustManager trustManager) { try { KeyStore trustStore = KeyStore.getInstance(KeyStore.getDefaultType()); trustStore.load(null); @@ -116,28 +128,42 @@ private static KeyStore addToTrustStore(X509Certificate[] untrustedCertificates, } return trustStore; - } catch (CertificateException | NoSuchAlgorithmException | IOException | KeyStoreException e) { + } catch (CertificateException + | NoSuchAlgorithmException + | IOException + | KeyStoreException e) { throw new RuntimeException(e); } } - private static void configureSsl(SslContextSpec sslContextSpec, CertificateCollectingTrustManager collector) { + private static void configureSsl( + SslContextSpec sslContextSpec, CertificateCollectingTrustManager collector) { try { - sslContextSpec.sslContext(SslContextBuilder.forClient().trustManager(new StaticTrustManagerFactory(collector)).build()); + sslContextSpec.sslContext( + SslContextBuilder.forClient() + .trustManager(new StaticTrustManagerFactory(collector)) + .build()); } catch (SSLException e) { throw Exceptions.propagate(e); } } - private static TcpClient getTcpClient(Optional proxyConfiguration, LoopResources threadPool, CertificateCollectingTrustManager collector, String host, int port) { - TcpClient tcpClient = TcpClient.create() - .runOn(threadPool) - .host(host) - .port(port) - .secure(spec -> configureSsl(spec, collector)); - - return proxyConfiguration.map(configuration -> configuration.configure(tcpClient)) - .orElse(tcpClient); + private static TcpClient getTcpClient( + Optional proxyConfiguration, + LoopResources threadPool, + CertificateCollectingTrustManager collector, + String host, + int port) { + TcpClient tcpClient = + TcpClient.create() + .runOn(threadPool) + .host(host) + .port(port) + .secure(spec -> configureSsl(spec, collector)); + + return proxyConfiguration + .map(configuration -> configuration.configure(tcpClient)) + .orElse(tcpClient); } private static X509TrustManager getTrustManager(TrustManagerFactory trustManagerFactory) { @@ -152,7 +178,8 @@ private static X509TrustManager getTrustManager(TrustManagerFactory trustManager private static TrustManagerFactory getTrustManagerFactory(KeyStore trustStore) { try { - TrustManagerFactory trustManagerFactory = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm()); + TrustManagerFactory trustManagerFactory = + TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm()); trustManagerFactory.init(trustStore); return trustManagerFactory; @@ -161,31 +188,38 @@ private static TrustManagerFactory getTrustManagerFactory(KeyStore trustStore) { } } - private static Mono getUntrustedCertificates(Duration duration, String host, int port, - Optional proxyConfiguration, - LoopResources threadPool, X509TrustManager delegate) { + private static Mono getUntrustedCertificates( + Duration duration, + String host, + int port, + Optional proxyConfiguration, + LoopResources threadPool, + X509TrustManager delegate) { - CertificateCollectingTrustManager collector = new CertificateCollectingTrustManager(delegate); + CertificateCollectingTrustManager collector = + new CertificateCollectingTrustManager(delegate); TcpClient tcpClient = getTcpClient(proxyConfiguration, threadPool, collector, host, port); - return tcpClient.handle((inbound, outbound) -> inbound.receive() - .then()) - .connect() - .timeout(duration) - .handle((connection, sink) -> { - X509Certificate[] chain = collector.getCollectedCertificateChain(); - - if (chain == null) { - sink.error(new IllegalStateException("Could not obtain server certificate chain")); - } - - if (collector.isTrusted()) { - sink.complete(); - } else { - sink.next(chain); - } - - connection.dispose(); - }); + return tcpClient + .handle((inbound, outbound) -> inbound.receive().then()) + .connect() + .timeout(duration) + .handle( + (connection, sink) -> { + X509Certificate[] chain = collector.getCollectedCertificateChain(); + + if (chain == null) { + sink.error( + new IllegalStateException( + "Could not obtain server certificate chain")); + } + + if (collector.isTrusted()) { + sink.complete(); + } else { + sink.next(chain); + } + + connection.dispose(); + }); } - } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/util/ErrorPayloadMapper.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/util/ErrorPayloadMapper.java index e5cc5a4913..e3ccf28140 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/util/ErrorPayloadMapper.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/util/ErrorPayloadMapper.java @@ -16,11 +16,10 @@ package org.cloudfoundry.reactor.util; +import java.util.function.Function; import org.cloudfoundry.reactor.HttpClientResponseWithConnection; import reactor.core.publisher.Flux; -import java.util.function.Function; - -public interface ErrorPayloadMapper extends Function, Flux> { - -} +public interface ErrorPayloadMapper + extends Function< + Flux, Flux> {} diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/util/ErrorPayloadMappers.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/util/ErrorPayloadMappers.java index 193092724b..cb79bd2a99 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/util/ErrorPayloadMappers.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/util/ErrorPayloadMappers.java @@ -16,8 +16,13 @@ package org.cloudfoundry.reactor.util; +import static io.netty.handler.codec.http.HttpStatusClass.CLIENT_ERROR; +import static io.netty.handler.codec.http.HttpStatusClass.SERVER_ERROR; + import com.fasterxml.jackson.databind.ObjectMapper; import io.netty.handler.codec.http.HttpStatusClass; +import java.util.Map; +import java.util.function.Function; import org.cloudfoundry.UnknownCloudFoundryException; import org.cloudfoundry.client.v2.ClientV2Exception; import org.cloudfoundry.client.v3.ClientV3Exception; @@ -29,65 +34,75 @@ import reactor.netty.Connection; import reactor.netty.http.client.HttpClientResponse; -import java.util.Map; -import java.util.function.Function; - -import static io.netty.handler.codec.http.HttpStatusClass.CLIENT_ERROR; -import static io.netty.handler.codec.http.HttpStatusClass.SERVER_ERROR; - public final class ErrorPayloadMappers { @SuppressWarnings("unchecked") public static ErrorPayloadMapper clientV2(ObjectMapper objectMapper) { - return inbound -> inbound - .flatMap(mapToError((statusCode, payload) -> { - Map map = objectMapper.readValue(payload, Map.class); - Integer code = (Integer) map.get("code"); - String description = (String) map.get("description"); - String errorCode = (String) map.get("error_code"); - - return new ClientV2Exception(statusCode, code, description, errorCode); - })); + return inbound -> + inbound.flatMap( + mapToError( + (statusCode, payload) -> { + Map map = + objectMapper.readValue(payload, Map.class); + Integer code = (Integer) map.get("code"); + String description = (String) map.get("description"); + String errorCode = (String) map.get("error_code"); + + return new ClientV2Exception( + statusCode, code, description, errorCode); + })); } public static ErrorPayloadMapper clientV3(ObjectMapper objectMapper) { - return inbound -> inbound - .flatMap(mapToError((statusCode, payload) -> { - Errors errors = objectMapper.readValue(payload, Errors.class); - return new ClientV3Exception(statusCode, errors.getErrors()); - })); + return inbound -> + inbound.flatMap( + mapToError( + (statusCode, payload) -> { + Errors errors = objectMapper.readValue(payload, Errors.class); + return new ClientV3Exception(statusCode, errors.getErrors()); + })); } public static ErrorPayloadMapper fallback() { - return inbound -> inbound - .flatMap(responseWithConnection -> { - HttpClientResponse response = responseWithConnection.getResponse(); - - if (isError(response)) { - Connection connection = responseWithConnection.getConnection(); - ByteBufFlux body = ByteBufFlux.fromInbound(connection.inbound().receive()); - - return body.aggregate().asString() - .doFinally(signalType -> connection.channel().close()) - .flatMap(payload -> { - return Mono.error(new UnknownCloudFoundryException(response.status().code(), payload)); + return inbound -> + inbound.flatMap( + responseWithConnection -> { + HttpClientResponse response = responseWithConnection.getResponse(); + + if (isError(response)) { + Connection connection = responseWithConnection.getConnection(); + ByteBufFlux body = + ByteBufFlux.fromInbound(connection.inbound().receive()); + + return body.aggregate() + .asString() + .doFinally(signalType -> connection.channel().close()) + .flatMap( + payload -> { + return Mono.error( + new UnknownCloudFoundryException( + response.status().code(), + payload)); + }); + } + + return Mono.just(responseWithConnection); }); - } - - return Mono.just(responseWithConnection); - }); } @SuppressWarnings("unchecked") public static ErrorPayloadMapper uaa(ObjectMapper objectMapper) { - return inbound -> inbound - .flatMap(mapToError((statusCode, payload) -> { - Map map = objectMapper.readValue(payload, Map.class); - String error = (String) map.get("error"); - String errorDescription = (String) map.get("error_description"); - - return new UaaException(statusCode, error, errorDescription); - })); + return inbound -> + inbound.flatMap( + mapToError( + (statusCode, payload) -> { + Map map = + objectMapper.readValue(payload, Map.class); + String error = (String) map.get("error"); + String errorDescription = (String) map.get("error_description"); + + return new UaaException(statusCode, error, errorDescription); + })); } private static boolean isError(HttpClientResponse response) { @@ -95,25 +110,42 @@ private static boolean isError(HttpClientResponse response) { return statusClass == CLIENT_ERROR || statusClass == SERVER_ERROR; } - private static Function> mapToError(ExceptionGenerator exceptionGenerator) { + private static Function< + HttpClientResponseWithConnection, Mono> + mapToError(ExceptionGenerator exceptionGenerator) { return response -> { if (!isError(response.getResponse())) { return Mono.just(response); } Connection connection = response.getConnection(); - ByteBufFlux body = ByteBufFlux.fromInbound(connection.inbound().receive() - .doFinally(signalType -> connection.dispose())); - - return body.aggregate().asString() - .switchIfEmpty(Mono.error(new UnknownCloudFoundryException(response.getResponse().status().code()))) - .flatMap(payload -> { - try { - return Mono.error(exceptionGenerator.apply(response.getResponse().status().code(), payload)); - } catch (Exception e) { - return Mono.error(new UnknownCloudFoundryException(response.getResponse().status().code(), payload)); - } - }); + ByteBufFlux body = + ByteBufFlux.fromInbound( + connection + .inbound() + .receive() + .doFinally(signalType -> connection.dispose())); + + return body.aggregate() + .asString() + .switchIfEmpty( + Mono.error( + new UnknownCloudFoundryException( + response.getResponse().status().code()))) + .flatMap( + payload -> { + try { + return Mono.error( + exceptionGenerator.apply( + response.getResponse().status().code(), + payload)); + } catch (Exception e) { + return Mono.error( + new UnknownCloudFoundryException( + response.getResponse().status().code(), + payload)); + } + }); }; } @@ -121,7 +153,5 @@ private static Function Mono decode(ObjectMapper objectMapper, ByteBufFlux responseBody, Class responseType) { - return responseBody.aggregate().asByteArray() - .map(payload -> { - try { - return objectMapper.readValue(payload, responseType); - } catch (Throwable t) { - throw new JsonParsingException(t.getMessage(), t, new String(payload, Charset.defaultCharset())); - } - }); + public static Mono decode( + ObjectMapper objectMapper, ByteBufFlux responseBody, Class responseType) { + return responseBody + .aggregate() + .asByteArray() + .map( + payload -> { + try { + return objectMapper.readValue(payload, responseType); + } catch (Throwable t) { + throw new JsonParsingException( + t.getMessage(), + t, + new String(payload, Charset.defaultCharset())); + } + }); } public static void setDecodeHeaders(HttpHeaders httpHeaders) { @@ -56,8 +62,10 @@ static JsonObjectDecoder createDecoder() { return new JsonObjectDecoder(MAX_PAYLOAD_SIZE); } - static BiFunction> encode(ObjectMapper objectMapper, Object requestPayload) { - if (!AnnotationUtils.findAnnotation(requestPayload.getClass(), JsonSerialize.class).isPresent()) { + static BiFunction> encode( + ObjectMapper objectMapper, Object requestPayload) { + if (!AnnotationUtils.findAnnotation(requestPayload.getClass(), JsonSerialize.class) + .isPresent()) { return (request, outbound) -> Mono.empty(); } @@ -75,5 +83,4 @@ static BiFunction> encode(Obje } }; } - } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/util/JsonParsingException.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/util/JsonParsingException.java index 43dbc4abfc..0cd77b91fb 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/util/JsonParsingException.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/util/JsonParsingException.java @@ -30,5 +30,4 @@ final class JsonParsingException extends RuntimeException { public String getPayload() { return this.payload; } - } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/util/MultipartHttpClientRequest.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/util/MultipartHttpClientRequest.java index 50ce1a3d9e..b1c25de5e7 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/util/MultipartHttpClientRequest.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/util/MultipartHttpClientRequest.java @@ -19,16 +19,15 @@ import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import io.netty.handler.codec.http.HttpHeaderNames; -import reactor.core.Exceptions; -import reactor.netty.http.client.HttpClientForm; -import reactor.netty.http.client.HttpClientRequest; - import java.io.ByteArrayInputStream; import java.nio.file.Path; import java.util.ArrayList; import java.util.List; import java.util.function.Consumer; import java.util.stream.Collectors; +import reactor.core.Exceptions; +import reactor.netty.http.client.HttpClientForm; +import reactor.netty.http.client.HttpClientRequest; public final class MultipartHttpClientRequest { @@ -40,7 +39,8 @@ public final class MultipartHttpClientRequest { private final HttpClientRequest request; - public MultipartHttpClientRequest(ObjectMapper objectMapper, HttpClientRequest request, HttpClientForm form) { + public MultipartHttpClientRequest( + ObjectMapper objectMapper, HttpClientRequest request, HttpClientForm form) { this.objectMapper = objectMapper; this.request = request; this.form = form; @@ -52,16 +52,18 @@ public MultipartHttpClientRequest addPart(Consumer partCo } public void done() { - List parts = this.partConsumers.stream() - .map(partConsumer -> { - PartHttpClientRequest part = new PartHttpClientRequest(this.objectMapper); - partConsumer.accept(part); - return part; - }) - .collect(Collectors.toList()); - - this.request.requestHeaders() - .remove(HttpHeaderNames.TRANSFER_ENCODING); + List parts = + this.partConsumers.stream() + .map( + partConsumer -> { + PartHttpClientRequest part = + new PartHttpClientRequest(this.objectMapper); + partConsumer.accept(part); + return part; + }) + .collect(Collectors.toList()); + + this.request.requestHeaders().remove(HttpHeaderNames.TRANSFER_ENCODING); this.form.multipart(true); @@ -123,13 +125,12 @@ private String getFilenameOrDefault() { private HttpClientForm send(HttpClientForm form) { if (this.file != null) { - return form.file(this.name, getFilenameOrDefault(), this.file.toFile(), this.contentType); + return form.file( + this.name, getFilenameOrDefault(), this.file.toFile(), this.contentType); } else if (this.payload != null) { return form.file(this.name, this.payload, this.contentType); } return form; } - } - } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/util/Operator.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/util/Operator.java index 7233e40164..bc06912326 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/util/Operator.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/util/Operator.java @@ -22,6 +22,14 @@ import io.netty.handler.codec.http.HttpHeaders; import io.netty.handler.codec.http.HttpMethod; import io.netty.handler.codec.http.HttpResponseStatus; +import java.io.InputStream; +import java.util.ArrayList; +import java.util.List; +import java.util.Optional; +import java.util.function.BiConsumer; +import java.util.function.BiFunction; +import java.util.function.Consumer; +import java.util.function.Function; import org.cloudfoundry.reactor.HttpClientResponseWithBody; import org.cloudfoundry.reactor.HttpClientResponseWithConnection; import org.cloudfoundry.reactor.HttpClientResponseWithParsedBody; @@ -40,15 +48,6 @@ import reactor.netty.http.websocket.WebsocketOutbound; import reactor.util.retry.Retry; -import java.io.InputStream; -import java.util.ArrayList; -import java.util.List; -import java.util.Optional; -import java.util.function.BiConsumer; -import java.util.function.BiFunction; -import java.util.function.Consumer; -import java.util.function.Function; - public class Operator extends OperatorContextAware { private final HttpClient httpClient; @@ -74,7 +73,8 @@ public Operator headers(Consumer headersTransformer) { return new Operator(this.context, this.httpClient.headers(headersTransformer)); } - public Operator headersWhen(Function> headersWhenTransformer) { + public Operator headersWhen( + Function> headersWhenTransformer) { return new Operator(this.context, this.httpClient.headersWhen(headersWhenTransformer)); } @@ -91,7 +91,8 @@ public UriConfiguration put() { } public UriConfiguration request(HttpMethod method) { - return new UriConfiguration(this.context, attachRequestLogger(this.httpClient).request(method)); + return new UriConfiguration( + this.context, attachRequestLogger(this.httpClient).request(method)); } public WebsocketUriConfiguration websocket() { @@ -99,14 +100,16 @@ public WebsocketUriConfiguration websocket() { } public Operator withErrorPayloadMapper(ErrorPayloadMapper errorPayloadMapper) { - return new Operator(this.context.withErrorPayloadMapper(errorPayloadMapper), this.httpClient); + return new Operator( + this.context.withErrorPayloadMapper(errorPayloadMapper), this.httpClient); } private static HttpClient attachRequestLogger(HttpClient httpClient) { RequestLogger requestLogger = new RequestLogger(); - return httpClient.doAfterRequest((request, connection) -> requestLogger.request(request)) - .doAfterResponseSuccess((response, connection) -> requestLogger.response(response)) - .doOnResponseError((response, connection) -> requestLogger.response(response)); + return httpClient + .doAfterRequest((request, connection) -> requestLogger.request(request)) + .doAfterResponseSuccess((response, connection) -> requestLogger.response(response)) + .doOnResponseError((response, connection) -> requestLogger.response(response)); } public static class PayloadConfiguration extends OperatorContextAware { @@ -126,25 +129,30 @@ public ResponseReceiverConstructor send(Object payload) { return send(serialized(payload)); } - public ResponseReceiverConstructor send(BiFunction> requestTransformer) { - HttpClient.ResponseReceiver responseReceiver = this.requestSender.send(requestTransformer); + public ResponseReceiverConstructor send( + BiFunction> requestTransformer) { + HttpClient.ResponseReceiver responseReceiver = + this.requestSender.send(requestTransformer); return new ResponseReceiverConstructor(this.context, responseReceiver); } - public ResponseReceiverConstructor sendForm(BiConsumer requestTransformer) { - HttpClient.ResponseReceiver responseReceiver = this.requestSender.sendForm(requestTransformer); + public ResponseReceiverConstructor sendForm( + BiConsumer requestTransformer) { + HttpClient.ResponseReceiver responseReceiver = + this.requestSender.sendForm(requestTransformer); return new ResponseReceiverConstructor(this.context, responseReceiver); } - private BiFunction> serialized(Object payload) { + private BiFunction> serialized( + Object payload) { return JsonCodec.encode(this.context.getConnectionContext().getObjectMapper(), payload); } - } public static class ResponseReceiver extends OperatorContextAware { - private final List> channelHandlerBuilders = new ArrayList<>(); + private final List> channelHandlerBuilders = + new ArrayList<>(); private final HttpClient.ResponseReceiver responseReceiver; @@ -153,82 +161,144 @@ public static class ResponseReceiver extends OperatorContextAware { this.responseReceiver = responseReceiver; } - public ResponseReceiver addChannelHandler(Function channelHandlerBuilder) { + public ResponseReceiver addChannelHandler( + Function channelHandlerBuilder) { this.channelHandlerBuilders.add(channelHandlerBuilder); return this; } public Mono get() { - return this.responseReceiver.responseConnection((response, connection) -> Mono.just(HttpClientResponseWithConnection.of(connection, response))) - .transform(this::processResponse) - .flatMap(httpClientResponseWithConnection -> { - Connection connection = httpClientResponseWithConnection.getConnection(); - return ByteBufFlux.fromInbound(connection.inbound().receive() - .doFinally(signalType -> connection.dispose())) - .then() - .thenReturn(httpClientResponseWithConnection); - }) - .map(HttpClientResponseWithConnection::getResponse) - .singleOrEmpty(); + return this.responseReceiver + .responseConnection( + (response, connection) -> + Mono.just( + HttpClientResponseWithConnection.of( + connection, response))) + .transform(this::processResponse) + .flatMap( + httpClientResponseWithConnection -> { + Connection connection = + httpClientResponseWithConnection.getConnection(); + return ByteBufFlux.fromInbound( + connection + .inbound() + .receive() + .doFinally( + signalType -> connection.dispose())) + .then() + .thenReturn(httpClientResponseWithConnection); + }) + .map(HttpClientResponseWithConnection::getResponse) + .singleOrEmpty(); } public Mono parseBody(Class bodyType) { addJsonDecoderToChannelHandlers(); - return parseBodyToMono(responseWithBody -> deserialized(responseWithBody.getBody(), bodyType)); + return parseBodyToMono( + responseWithBody -> deserialized(responseWithBody.getBody(), bodyType)); } - public Mono> parseBodyWithResponse(Class bodyType) { + public Mono> parseBodyWithResponse( + Class bodyType) { addJsonDecoderToChannelHandlers(); - return this.responseReceiver.responseConnection((response, connection) -> Mono.just(HttpClientResponseWithConnection.of(connection, response))) + return this.responseReceiver + .responseConnection( + (response, connection) -> + Mono.just( + HttpClientResponseWithConnection.of( + connection, response))) .transform(this::processResponse) - .flatMap(httpClientResponseWithConnection -> - transformResponse(httpClientResponseWithConnection, - (body, response) -> deserialized(body, bodyType) - .map(parsedBody -> HttpClientResponseWithParsedBody.of(Optional.of(parsedBody), response)) - .defaultIfEmpty(HttpClientResponseWithParsedBody.of(Optional.empty(), response))) - ) + .flatMap( + httpClientResponseWithConnection -> + transformResponse( + httpClientResponseWithConnection, + (body, response) -> + deserialized(body, bodyType) + .map( + parsedBody -> + HttpClientResponseWithParsedBody + .of( + Optional + .of( + parsedBody), + response)) + .defaultIfEmpty( + HttpClientResponseWithParsedBody + .of( + Optional + .empty(), + response)))) .singleOrEmpty(); } - public Flux parseBodyToFlux(Function> responseTransformer) { - return this.responseReceiver.responseConnection((response, connection) -> Mono.just(HttpClientResponseWithConnection.of(connection, response))) - .transform(this::processResponse) - .flatMap(httpClientResponseWithConnection -> - transformResponse(httpClientResponseWithConnection, (body, response) -> Mono.just(HttpClientResponseWithBody.of(body, response))) - ) - .flatMap(responseTransformer); - } - - public Mono parseBodyToMono(Function> responseTransformer) { + public Flux parseBodyToFlux( + Function> responseTransformer) { + return this.responseReceiver + .responseConnection( + (response, connection) -> + Mono.just( + HttpClientResponseWithConnection.of( + connection, response))) + .transform(this::processResponse) + .flatMap( + httpClientResponseWithConnection -> + transformResponse( + httpClientResponseWithConnection, + (body, response) -> + Mono.just( + HttpClientResponseWithBody.of( + body, response)))) + .flatMap(responseTransformer); + } + + public Mono parseBodyToMono( + Function> responseTransformer) { return parseBodyToFlux(responseTransformer).singleOrEmpty(); } - public Mono parseBodyToToken(Function> responseTransformer) { - return this.responseReceiver.responseConnection((response, connection) -> Mono.just(HttpClientResponseWithConnection.of(connection, response))) - .transform(this.context.getErrorPayloadMapper() - .orElse(ErrorPayloadMappers.fallback())) - .flatMap(httpClientResponseWithConnection -> - transformResponse(httpClientResponseWithConnection, (body, response) -> Mono.just(HttpClientResponseWithBody.of(body, response))) - ) - .flatMap(responseTransformer).singleOrEmpty(); + public Mono parseBodyToToken( + Function> responseTransformer) { + return this.responseReceiver + .responseConnection( + (response, connection) -> + Mono.just( + HttpClientResponseWithConnection.of( + connection, response))) + .transform( + this.context + .getErrorPayloadMapper() + .orElse(ErrorPayloadMappers.fallback())) + .flatMap( + httpClientResponseWithConnection -> + transformResponse( + httpClientResponseWithConnection, + (body, response) -> + Mono.just( + HttpClientResponseWithBody.of( + body, response)))) + .flatMap(responseTransformer) + .singleOrEmpty(); } private static boolean isUnauthorized(HttpClientResponseWithConnection response) { - return HttpResponseStatus.UNAUTHORIZED.equals(response.getResponse().status()); + return HttpResponseStatus.UNAUTHORIZED.equals(response.getResponse().status()); } private void addJsonDecoderToChannelHandlers() { - addChannelHandler(response -> { - if (HttpHeaderValues.APPLICATION_JSON.contentEquals(response.responseHeaders().get(HttpHeaderNames.CONTENT_TYPE))) { - return JsonCodec.createDecoder(); - } + addChannelHandler( + response -> { + if (HttpHeaderValues.APPLICATION_JSON.contentEquals( + response.responseHeaders().get(HttpHeaderNames.CONTENT_TYPE))) { + return JsonCodec.createDecoder(); + } - return null; - }); + return null; + }); } private void attachChannelHandlers(HttpClientResponse response, Connection connection) { - for (Function handlerBuilder : this.channelHandlerBuilders) { + for (Function handlerBuilder : + this.channelHandlerBuilders) { ChannelHandler handler = handlerBuilder.apply(response); if (handler != null) { connection.addHandler(handler); @@ -237,37 +307,60 @@ private void attachChannelHandlers(HttpClientResponse response, Connection conne } private Mono deserialized(ByteBufFlux body, Class bodyType) { - return JsonCodec.decode(this.context.getConnectionContext().getObjectMapper(), body, bodyType); - } - - private Flux invalidateToken(Flux inbound) { - return inbound - .doOnNext(response -> { - if (isUnauthorized(response)) { - this.context.getTokenProvider().ifPresent(tokenProvider -> tokenProvider.invalidate(this.context.getConnectionContext())); - // we don't need the body, but we need to consume the body so reactor-netty can reuse the connection - // if not, this will result in connections that don't close & the pool will fill up - response.getConnection().inbound().receive().doOnNext(byteBuf -> {}).subscribe(byteBuf -> {}, ex -> {}); - throw new InvalidTokenException(); - } - }); - } - - private Flux processResponse(Flux inbound) { - return inbound - .transform(this::invalidateToken) - .retryWhen(Retry.max(this.context.getConnectionContext().getInvalidTokenRetries()).filter(InvalidTokenException.class::isInstance)) - .transform(this.context.getErrorPayloadMapper() - .orElse(ErrorPayloadMappers.fallback())); - } - - private Mono transformResponse(HttpClientResponseWithConnection httpClientResponseWithConnection, BiFunction> transformResult) { + return JsonCodec.decode( + this.context.getConnectionContext().getObjectMapper(), body, bodyType); + } + + private Flux invalidateToken( + Flux inbound) { + return inbound.doOnNext( + response -> { + if (isUnauthorized(response)) { + this.context + .getTokenProvider() + .ifPresent( + tokenProvider -> + tokenProvider.invalidate( + this.context.getConnectionContext())); + // we don't need the body, but we need to consume the body so + // reactor-netty can reuse the connection + // if not, this will result in connections that don't close & the pool + // will fill up + response.getConnection() + .inbound() + .receive() + .doOnNext(byteBuf -> {}) + .subscribe(byteBuf -> {}, ex -> {}); + throw new InvalidTokenException(); + } + }); + } + + private Flux processResponse( + Flux inbound) { + return inbound.transform(this::invalidateToken) + .retryWhen( + Retry.max(this.context.getConnectionContext().getInvalidTokenRetries()) + .filter(InvalidTokenException.class::isInstance)) + .transform( + this.context + .getErrorPayloadMapper() + .orElse(ErrorPayloadMappers.fallback())); + } + + private Mono transformResponse( + HttpClientResponseWithConnection httpClientResponseWithConnection, + BiFunction> transformResult) { Connection connection = httpClientResponseWithConnection.getConnection(); HttpClientResponse response = httpClientResponseWithConnection.getResponse(); attachChannelHandlers(response, connection); - ByteBufFlux body = ByteBufFlux.fromInbound(connection.inbound().receive() - .doFinally(signalType -> connection.dispose())); + ByteBufFlux body = + ByteBufFlux.fromInbound( + connection + .inbound() + .receive() + .doFinally(signalType -> connection.dispose())); return transformResult.apply(body, response); } @@ -275,22 +368,21 @@ private static final class InvalidTokenException extends RuntimeException { private static final long serialVersionUID = -3114034909507471614L; - private InvalidTokenException() { - } + private InvalidTokenException() {} @Override public synchronized Throwable fillInStackTrace() { return null; } } - } public static class ResponseReceiverConstructor extends OperatorContextAware { private final HttpClient.ResponseReceiver responseReceiver; - ResponseReceiverConstructor(OperatorContext context, HttpClient.ResponseReceiver responseReceiver) { + ResponseReceiverConstructor( + OperatorContext context, HttpClient.ResponseReceiver responseReceiver) { super(context); this.responseReceiver = responseReceiver; } @@ -298,7 +390,6 @@ public static class ResponseReceiverConstructor extends OperatorContextAware { public ResponseReceiver response() { return new ResponseReceiver(this.context, this.responseReceiver); } - } public static class UriConfiguration extends OperatorContextAware { @@ -310,11 +401,11 @@ private UriConfiguration(OperatorContext context, HttpClient.RequestSender reque this.requestSender = requestSender; } - public PayloadConfiguration uri(Function uriTransformer) { + public PayloadConfiguration uri( + Function uriTransformer) { String uri = transformRoot(uriTransformer); return new PayloadConfiguration(this.context, this.requestSender.uri(uri)); } - } public static class WebsocketResponseReceiver { @@ -329,25 +420,27 @@ public Flux get() { return this.sender.handle(this::handleWebsocketCommunication); } - private Publisher handleWebsocketCommunication(WebsocketInbound inbound, WebsocketOutbound outbound) { + private Publisher handleWebsocketCommunication( + WebsocketInbound inbound, WebsocketOutbound outbound) { return inbound.aggregateFrames() - .receive() - .asInputStream() - .doFinally(signalType -> outbound.sendClose()); + .receive() + .asInputStream() + .doFinally(signalType -> outbound.sendClose()); } - } public static class WebsocketUriConfiguration extends OperatorContextAware { private final HttpClient.WebsocketSender sender; - private WebsocketUriConfiguration(OperatorContext context, HttpClient.WebsocketSender sender) { + private WebsocketUriConfiguration( + OperatorContext context, HttpClient.WebsocketSender sender) { super(context); this.sender = sender; } - public WebsocketResponseReceiver uri(Function uriTransformer) { + public WebsocketResponseReceiver uri( + Function uriTransformer) { String uri = transformRoot(uriTransformer); logWebsocketRequest(uri); @@ -357,9 +450,7 @@ public WebsocketResponseReceiver uri(Function uriTransformer) { - UriComponentsBuilder uriComponentsBuilder = UriComponentsBuilder.fromUriString(this.context.getRoot()); - return uriTransformer.apply(uriComponentsBuilder) - .encode() - .build() - .toUriString(); + protected String transformRoot( + Function uriTransformer) { + UriComponentsBuilder uriComponentsBuilder = + UriComponentsBuilder.fromUriString(this.context.getRoot()); + return uriTransformer.apply(uriComponentsBuilder).encode().build().toUriString(); } - } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/util/RequestLogger.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/util/RequestLogger.java index 5d34ad4538..d0f3cc5ae3 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/util/RequestLogger.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/util/RequestLogger.java @@ -16,14 +16,13 @@ package org.cloudfoundry.reactor.util; +import java.util.List; import org.cloudfoundry.util.TimeUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import reactor.netty.http.client.HttpClientRequest; import reactor.netty.http.client.HttpClientResponse; -import java.util.List; - public class RequestLogger { static final Logger REQUEST_LOGGER = LoggerFactory.getLogger("cloudfoundry-client.request"); @@ -48,17 +47,32 @@ public void response(HttpClientResponse response) { if (warnings.isEmpty()) { if (RESPONSE_LOGGER.isTraceEnabled()) { - RESPONSE_LOGGER.debug("{} {} ({}, {})", response.status().code(), response.uri(), elapsed, response.responseHeaders().get("X-Vcap-Request-Id")); + RESPONSE_LOGGER.debug( + "{} {} ({}, {})", + response.status().code(), + response.uri(), + elapsed, + response.responseHeaders().get("X-Vcap-Request-Id")); } else { - RESPONSE_LOGGER.debug("{} {} ({})", response.status().code(), response.uri(), elapsed); + RESPONSE_LOGGER.debug( + "{} {} ({})", response.status().code(), response.uri(), elapsed); } } else { if (RESPONSE_LOGGER.isTraceEnabled()) { - RESPONSE_LOGGER.warn("{} {} ({}, {}) [{}]", response.status().code(), response.uri(), elapsed, response.responseHeaders().get("X-Vcap-Request-Id"), - String.join(", ", warnings)); + RESPONSE_LOGGER.warn( + "{} {} ({}, {}) [{}]", + response.status().code(), + response.uri(), + elapsed, + response.responseHeaders().get("X-Vcap-Request-Id"), + String.join(", ", warnings)); } else { - RESPONSE_LOGGER.warn("{} {} ({}) [{}]", response.status().code(), response.uri(), elapsed, String.join(", ", warnings)); - + RESPONSE_LOGGER.warn( + "{} {} ({}) [{}]", + response.status().code(), + response.uri(), + elapsed, + String.join(", ", warnings)); } } } @@ -71,5 +85,4 @@ private void request(String message, String uri) { REQUEST_LOGGER.debug(message, uri); this.requestSentTime = System.currentTimeMillis(); } - } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/util/SslCertificateTruster.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/util/SslCertificateTruster.java index c5dc31a219..0647af97ff 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/util/SslCertificateTruster.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/util/SslCertificateTruster.java @@ -16,10 +16,9 @@ package org.cloudfoundry.reactor.util; -import reactor.core.publisher.Mono; - -import javax.net.ssl.X509TrustManager; import java.time.Duration; +import javax.net.ssl.X509TrustManager; +import reactor.core.publisher.Mono; /** * A utility that trusts certificates provided by connections @@ -34,5 +33,4 @@ public interface SslCertificateTruster extends X509TrustManager { * @param duration the duration to wait */ Mono trust(String host, int port, Duration duration); - } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/util/StaticTrustManagerFactory.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/util/StaticTrustManagerFactory.java index 3ee44e57c7..f9e66a038d 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/util/StaticTrustManagerFactory.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/util/StaticTrustManagerFactory.java @@ -17,10 +17,9 @@ package org.cloudfoundry.reactor.util; import io.netty.handler.ssl.util.SimpleTrustManagerFactory; - +import java.security.KeyStore; import javax.net.ssl.ManagerFactoryParameters; import javax.net.ssl.TrustManager; -import java.security.KeyStore; public final class StaticTrustManagerFactory extends SimpleTrustManagerFactory { @@ -44,5 +43,4 @@ protected void engineInit(ManagerFactoryParameters managerFactoryParameters) { protected void engineInit(KeyStore keyStore) { // Do nothing } - } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/util/UriQueryParameterBuilder.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/util/UriQueryParameterBuilder.java index a914a9e241..5b846610a4 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/util/UriQueryParameterBuilder.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/util/UriQueryParameterBuilder.java @@ -21,5 +21,4 @@ public interface UriQueryParameterBuilder { Stream build(Object request); - } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/util/UriQueryParameters.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/util/UriQueryParameters.java index d4aeb2f38f..e16b358dd1 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/util/UriQueryParameters.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/util/UriQueryParameters.java @@ -16,20 +16,21 @@ package org.cloudfoundry.reactor.util; -import org.springframework.web.util.UriComponentsBuilder; - import java.util.stream.Stream; +import org.springframework.web.util.UriComponentsBuilder; public class UriQueryParameters { - public static void set(UriComponentsBuilder builder, Stream uriQueryParameters) { + public static void set( + UriComponentsBuilder builder, Stream uriQueryParameters) { // Replace all literal values with URI variables to apply more strict encoding: UriVariablesRegistry uriVariablesRegistry = new UriVariablesRegistry(); - uriQueryParameters.forEach(uriQueryParameter -> { - UriVariable uriVariable = uriVariablesRegistry.register(uriQueryParameter.getValue()); - builder.queryParam(uriQueryParameter.getKey(), uriVariable.getPlaceholder()); - }); + uriQueryParameters.forEach( + uriQueryParameter -> { + UriVariable uriVariable = + uriVariablesRegistry.register(uriQueryParameter.getValue()); + builder.queryParam(uriQueryParameter.getKey(), uriVariable.getPlaceholder()); + }); builder.uriVariables(uriVariablesRegistry.getUriVariablesMap()); } - } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/util/UriVariablesRegistry.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/util/UriVariablesRegistry.java index c10b45fcdd..8ae895dd14 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/util/UriVariablesRegistry.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/util/UriVariablesRegistry.java @@ -26,7 +26,8 @@ class UriVariablesRegistry { private final List uriVariables = new ArrayList<>(); Map getUriVariablesMap() { - return this.uriVariables.stream().collect(Collectors.toMap(UriVariable::getKey, UriVariable::getValue)); + return this.uriVariables.stream() + .collect(Collectors.toMap(UriVariable::getKey, UriVariable::getValue)); } UriVariable register(Object value) { @@ -39,5 +40,4 @@ UriVariable register(Object value) { private String getNextUriVariableKey() { return Integer.toString(this.uriVariables.size()); } - } diff --git a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/util/UserAgent.java b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/util/UserAgent.java index 337cc15c4e..eebe1e77fb 100644 --- a/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/util/UserAgent.java +++ b/cloudfoundry-client-reactor/src/main/java/org/cloudfoundry/reactor/util/UserAgent.java @@ -19,9 +19,8 @@ import io.netty.bootstrap.Bootstrap; import io.netty.handler.codec.http.HttpHeaderNames; import io.netty.handler.codec.http.HttpHeaders; -import reactor.netty.http.client.HttpClient; - import java.util.Optional; +import reactor.netty.http.client.HttpClient; /** * Utilities for working with the {@Code User-Agent} @@ -31,11 +30,16 @@ public final class UserAgent { /** * The {@code User-Agent} */ - public static final String USER_AGENT = String.format("CloudFoundryJavaClient/%s (Java; %s/%s) ReactorNetty/%s (Netty/%s)", - javaClientVersion(), javaVendor(), javaVersion(), reactorNettyVersion(), nettyVersion()); + public static final String USER_AGENT = + String.format( + "CloudFoundryJavaClient/%s (Java; %s/%s) ReactorNetty/%s (Netty/%s)", + javaClientVersion(), + javaVendor(), + javaVersion(), + reactorNettyVersion(), + nettyVersion()); - private UserAgent() { - } + private UserAgent() {} /** * Add the {@code User-Agent} to a request. Typically used with `.map` @@ -48,27 +52,24 @@ public static void setUserAgent(HttpHeaders httpHeaders) { private static String javaClientVersion() { return Optional.ofNullable(UserAgent.class.getPackage().getImplementationVersion()) - .orElse("unknown"); + .orElse("unknown"); } private static String javaVendor() { - return Optional.ofNullable(System.getProperty("java.vendor")) - .orElse("unknown"); + return Optional.ofNullable(System.getProperty("java.vendor")).orElse("unknown"); } private static String javaVersion() { - return Optional.ofNullable(System.getProperty("java.version")) - .orElse("unknown"); + return Optional.ofNullable(System.getProperty("java.version")).orElse("unknown"); } private static String nettyVersion() { return Optional.ofNullable(Bootstrap.class.getPackage().getImplementationVersion()) - .orElse("unknown"); + .orElse("unknown"); } private static String reactorNettyVersion() { return Optional.ofNullable(HttpClient.class.getPackage().getImplementationVersion()) - .orElse("unknown"); + .orElse("unknown"); } - } diff --git a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/AbstractRestTest.java b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/AbstractRestTest.java index d2b9b36eb7..25c22ca46b 100644 --- a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/AbstractRestTest.java +++ b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/AbstractRestTest.java @@ -16,10 +16,18 @@ package org.cloudfoundry.reactor; +import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.fail; + import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.databind.DeserializationContext; import com.fasterxml.jackson.databind.JsonDeserializer; import com.fasterxml.jackson.databind.deser.DeserializationProblemHandler; +import java.io.IOException; +import java.util.ArrayList; +import java.util.LinkedList; +import java.util.List; +import java.util.Queue; import okhttp3.mockwebserver.Dispatcher; import okhttp3.mockwebserver.MockResponse; import okhttp3.mockwebserver.MockWebServer; @@ -29,24 +37,18 @@ import org.slf4j.bridge.SLF4JBridgeHandler; import reactor.core.publisher.Mono; -import java.io.IOException; -import java.util.ArrayList; -import java.util.LinkedList; -import java.util.List; -import java.util.Queue; - -import static org.assertj.core.api.Assertions.assertThat; -import static org.assertj.core.api.Assertions.fail; - public abstract class AbstractRestTest { - protected static final ConnectionContext CONNECTION_CONTEXT = DefaultConnectionContext.builder() - .apiHost("localhost") - .secure(false) - .problemHandler(new FailingDeserializationProblemHandler()) // Test-only problem handler - .build(); + protected static final ConnectionContext CONNECTION_CONTEXT = + DefaultConnectionContext.builder() + .apiHost("localhost") + .secure(false) + .problemHandler( + new FailingDeserializationProblemHandler()) // Test-only problem handler + .build(); - protected static final TokenProvider TOKEN_PROVIDER = connectionContext -> Mono.just("test-authorization"); + protected static final TokenProvider TOKEN_PROVIDER = + connectionContext -> Mono.just("test-authorization"); static { SLF4JBridgeHandler.removeHandlersForRootLogger(); @@ -80,14 +82,22 @@ protected final void mockRequest(InteractionContext interactionContext) { this.multipleRequestDispatcher.add(interactionContext); } - private static final class FailingDeserializationProblemHandler extends DeserializationProblemHandler { + private static final class FailingDeserializationProblemHandler + extends DeserializationProblemHandler { @Override - public boolean handleUnknownProperty(DeserializationContext ctxt, JsonParser jp, JsonDeserializer deserializer, Object beanOrClass, String propertyName) { - fail(String.format("Found unexpected property %s in payload for %s", propertyName, beanOrClass.getClass().getName())); + public boolean handleUnknownProperty( + DeserializationContext ctxt, + JsonParser jp, + JsonDeserializer deserializer, + Object beanOrClass, + String propertyName) { + fail( + String.format( + "Found unexpected property %s in payload for %s", + propertyName, beanOrClass.getClass().getName())); return false; } - } private static final class MultipleRequestDispatcher extends Dispatcher { @@ -101,7 +111,10 @@ public MockResponse dispatch(RecordedRequest request) { InteractionContext interactionContext = this.responses.poll(); if (interactionContext == null) { - throw new IllegalStateException(String.format("Unexpected request for %s %s received", request.getMethod(), request.getPath())); + throw new IllegalStateException( + String.format( + "Unexpected request for %s %s received", + request.getMethod(), request.getPath())); } interactionContext.setDone(true); @@ -125,11 +138,11 @@ private void verify() { TestRequest request = interactionContext.getRequest(); assertThat(interactionContext.isDone()) - .as("Expected request to %s %s not received", request.getMethod(), request.getPath()) - .isTrue(); + .as( + "Expected request to %s %s not received", + request.getMethod(), request.getPath()) + .isTrue(); } } - } - } diff --git a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/CustomRequestTagTest.java b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/CustomRequestTagTest.java index 5d26c9fee9..774cb2e726 100644 --- a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/CustomRequestTagTest.java +++ b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/CustomRequestTagTest.java @@ -16,63 +16,61 @@ package org.cloudfoundry.reactor; +import static io.netty.handler.codec.http.HttpMethod.GET; +import static io.netty.handler.codec.http.HttpResponseStatus.OK; + +import java.time.Duration; +import java.util.Collections; import org.cloudfoundry.reactor.util.AbstractReactorOperations; import org.cloudfoundry.reactor.util.Operator; import org.junit.Test; import reactor.core.publisher.Mono; import reactor.test.StepVerifier; -import java.time.Duration; -import java.util.Collections; - -import static io.netty.handler.codec.http.HttpMethod.GET; -import static io.netty.handler.codec.http.HttpResponseStatus.OK; - public final class CustomRequestTagTest extends AbstractRestTest { private static final String CUSTOM_REQUEST_TAG_NAME = "test-header"; private static final String CUSTOM_REQUEST_TAG_VALUE = "test-header-value"; - private final DefaultConnectionContext connectionContext = DefaultConnectionContext.builder() - .apiHost(this.mockWebServer.getHostName()) - .port(this.mockWebServer.getPort()) - .secure(false) - .build(); + private final DefaultConnectionContext connectionContext = + DefaultConnectionContext.builder() + .apiHost(this.mockWebServer.getHostName()) + .port(this.mockWebServer.getPort()) + .secure(false) + .build(); @Test public void addCustomHttpHeader() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/") - .header(CUSTOM_REQUEST_TAG_NAME, CUSTOM_REQUEST_TAG_VALUE) - .build()) - .response(TestResponse.builder() - .status(OK) - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/") + .header(CUSTOM_REQUEST_TAG_NAME, CUSTOM_REQUEST_TAG_VALUE) + .build()) + .response(TestResponse.builder().status(OK).build()) + .build()); createOperator() - .flatMap(operator -> operator.get() - .uri(uri -> uri.path("/")) - .response() - .get()) - .as(StepVerifier::create) - .expectNextMatches(httpClientResponse -> httpClientResponse.status() - .equals(OK)) - .expectComplete() - .verify(Duration.ofSeconds(5)); - + .flatMap(operator -> operator.get().uri(uri -> uri.path("/")).response().get()) + .as(StepVerifier::create) + .expectNextMatches(httpClientResponse -> httpClientResponse.status().equals(OK)) + .expectComplete() + .verify(Duration.ofSeconds(5)); } private Mono createOperator() { - return new AbstractReactorOperations(this.connectionContext, this.root, TOKEN_PROVIDER, Collections.singletonMap(CUSTOM_REQUEST_TAG_NAME, CUSTOM_REQUEST_TAG_VALUE)) { + return new AbstractReactorOperations( + this.connectionContext, + this.root, + TOKEN_PROVIDER, + Collections.singletonMap(CUSTOM_REQUEST_TAG_NAME, CUSTOM_REQUEST_TAG_VALUE)) { private Mono getOperator() { return createOperator(); } - }.getOperator(); } - } diff --git a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/DefaultConnectionContextTest.java b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/DefaultConnectionContextTest.java index 3fe8c7dbd4..d632a6e865 100644 --- a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/DefaultConnectionContextTest.java +++ b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/DefaultConnectionContextTest.java @@ -16,29 +16,29 @@ package org.cloudfoundry.reactor; +import static io.netty.handler.codec.http.HttpMethod.GET; +import static io.netty.handler.codec.http.HttpResponseStatus.OK; +import static org.assertj.core.api.Assertions.assertThat; + import io.netty.handler.logging.ByteBufFormat; import io.netty.handler.logging.LogLevel; +import java.net.InetSocketAddress; +import java.time.Duration; +import java.util.Optional; import org.junit.After; import org.junit.Test; import reactor.netty.http.client.HttpClient; import reactor.netty.transport.ProxyProvider; import reactor.test.StepVerifier; -import java.net.InetSocketAddress; -import java.time.Duration; -import java.util.Optional; - -import static io.netty.handler.codec.http.HttpMethod.GET; -import static io.netty.handler.codec.http.HttpResponseStatus.OK; -import static org.assertj.core.api.Assertions.assertThat; - public final class DefaultConnectionContextTest extends AbstractRestTest { - private final DefaultConnectionContext connectionContext = DefaultConnectionContext.builder() - .apiHost(this.mockWebServer.getHostName()) - .port(this.mockWebServer.getPort()) - .secure(false) - .build(); + private final DefaultConnectionContext connectionContext = + DefaultConnectionContext.builder() + .apiHost(this.mockWebServer.getHostName()) + .port(this.mockWebServer.getPort()) + .secure(false) + .build(); @After public void dispose() { @@ -47,43 +47,42 @@ public void dispose() { @Test public void getInfo() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/GET_response.json") - .build()) - .build()); - - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/v2/info") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/info/GET_response.json") - .build()) - .build()); - - this.connectionContext.getRootProvider() - .getRoot("token_endpoint", this.connectionContext) - .as(StepVerifier::create) - .expectNext("http://localhost:8080/uaa") - .expectComplete() - .verify(Duration.ofSeconds(5)); + mockRequest( + InteractionContext.builder() + .request(TestRequest.builder().method(GET).path("/").build()) + .response( + TestResponse.builder() + .status(OK) + .payload("fixtures/GET_response.json") + .build()) + .build()); + + mockRequest( + InteractionContext.builder() + .request(TestRequest.builder().method(GET).path("/v2/info").build()) + .response( + TestResponse.builder() + .status(OK) + .payload("fixtures/client/v2/info/GET_response.json") + .build()) + .build()); + + this.connectionContext + .getRootProvider() + .getRoot("token_endpoint", this.connectionContext) + .as(StepVerifier::create) + .expectNext("http://localhost:8080/uaa") + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void multipleInstances() { - DefaultConnectionContext first = DefaultConnectionContext.builder() - .apiHost("test-host") - .build(); + DefaultConnectionContext first = + DefaultConnectionContext.builder().apiHost("test-host").build(); - DefaultConnectionContext second = DefaultConnectionContext.builder() - .apiHost("test-host") - .build(); + DefaultConnectionContext second = + DefaultConnectionContext.builder().apiHost("test-host").build(); first.monitorByteBufAllocator(); second.monitorByteBufAllocator(); @@ -94,19 +93,20 @@ public void multipleInstances() { @Test public void configurationAlwaysApplied() { - DefaultConnectionContext ctx = DefaultConnectionContext.builder() - .connectionPoolSize(24) - .apiHost("api.example.com") - .keepAlive(true) - .proxyConfiguration( - ProxyConfiguration.builder() - .host("proxy.example.com") - .port(8080) - .username("foo") - .password("bar") - .build()) - .skipSslValidation(true) - .build(); + DefaultConnectionContext ctx = + DefaultConnectionContext.builder() + .connectionPoolSize(24) + .apiHost("api.example.com") + .keepAlive(true) + .proxyConfiguration( + ProxyConfiguration.builder() + .host("proxy.example.com") + .port(8080) + .username("foo") + .password("bar") + .build()) + .skipSslValidation(true) + .build(); assertThat(ctx.getConnectionPoolSize()).isEqualTo(24); assertThat(ctx.getApiHost()).isEqualTo("api.example.com"); @@ -118,10 +118,11 @@ public void configurationAlwaysApplied() { InetSocketAddress addr = client.configuration().proxyProvider().getAddress().get(); assertThat(addr.getHostName()).isEqualTo("proxy.example.com"); assertThat(addr.getPort()).isEqualTo(8080); - assertThat(client.configuration().proxyProvider().getType()).isEqualTo(ProxyProvider.Proxy.HTTP); + assertThat(client.configuration().proxyProvider().getType()) + .isEqualTo(ProxyProvider.Proxy.HTTP); assertThat(client.configuration().loggingHandler().level()).isEqualTo(LogLevel.TRACE); - assertThat(client.configuration().loggingHandler().byteBufFormat()).isEqualTo(ByteBufFormat.HEX_DUMP); + assertThat(client.configuration().loggingHandler().byteBufFormat()) + .isEqualTo(ByteBufFormat.HEX_DUMP); } - } diff --git a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/DelegatingRootProviderTest.java b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/DelegatingRootProviderTest.java index d740921be3..411421c2f3 100644 --- a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/DelegatingRootProviderTest.java +++ b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/DelegatingRootProviderTest.java @@ -16,381 +16,384 @@ package org.cloudfoundry.reactor; -import io.netty.handler.codec.http.HttpResponseStatus; -import org.junit.Test; -import reactor.test.StepVerifier; - -import java.time.Duration; - import static io.netty.handler.codec.http.HttpMethod.GET; import static io.netty.handler.codec.http.HttpResponseStatus.NOT_FOUND; import static io.netty.handler.codec.http.HttpResponseStatus.OK; +import io.netty.handler.codec.http.HttpResponseStatus; +import java.time.Duration; +import org.junit.Test; +import reactor.test.StepVerifier; + public final class DelegatingRootProviderTest extends AbstractRestTest { - private final DelegatingRootProvider rootProvider = DelegatingRootProvider.builder() - .apiHost("localhost") - .port(this.mockWebServer.getPort()) - .secure(false) - .objectMapper(CONNECTION_CONTEXT.getObjectMapper()) - .build(); + private final DelegatingRootProvider rootProvider = + DelegatingRootProvider.builder() + .apiHost("localhost") + .port(this.mockWebServer.getPort()) + .secure(false) + .objectMapper(CONNECTION_CONTEXT.getObjectMapper()) + .build(); @Test public void getRoot() { this.rootProvider - .getRoot(CONNECTION_CONTEXT) - .as(StepVerifier::create) - .expectNext(String.format("http://localhost:%d", this.mockWebServer.getPort())) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .getRoot(CONNECTION_CONTEXT) + .as(StepVerifier::create) + .expectNext(String.format("http://localhost:%d", this.mockWebServer.getPort())) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void getRootCloudFoundryClientV2() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/GET_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request(TestRequest.builder().method(GET).path("/").build()) + .response( + TestResponse.builder() + .status(OK) + .payload("fixtures/GET_response.json") + .build()) + .build()); this.rootProvider - .getRoot("cloud_controller_v2", CONNECTION_CONTEXT) - .as(StepVerifier::create) - .expectNext(String.format("http://api.run.pivotal.io:%d/v2", this.mockWebServer.getPort())) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .getRoot("cloud_controller_v2", CONNECTION_CONTEXT) + .as(StepVerifier::create) + .expectNext( + String.format( + "http://api.run.pivotal.io:%d/v2", this.mockWebServer.getPort())) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void getRootCloudFoundryClientV2Fallback() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/") - .build()) - .response(TestResponse.builder() - .status(NOT_FOUND) - .payload("fixtures/client/v2/error_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request(TestRequest.builder().method(GET).path("/").build()) + .response( + TestResponse.builder() + .status(NOT_FOUND) + .payload("fixtures/client/v2/error_response.json") + .build()) + .build()); this.rootProvider - .getRoot("cloud_controller_v2", CONNECTION_CONTEXT) - .as(StepVerifier::create) - .expectNext(String.format("http://localhost:%d/v2", this.mockWebServer.getPort())) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .getRoot("cloud_controller_v2", CONNECTION_CONTEXT) + .as(StepVerifier::create) + .expectNext(String.format("http://localhost:%d/v2", this.mockWebServer.getPort())) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void getRootCloudFoundryClientV3() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/GET_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request(TestRequest.builder().method(GET).path("/").build()) + .response( + TestResponse.builder() + .status(OK) + .payload("fixtures/GET_response.json") + .build()) + .build()); this.rootProvider - .getRoot("cloud_controller_v3", CONNECTION_CONTEXT) - .as(StepVerifier::create) - .expectNext(String.format("http://api.run.pivotal.io:%d/v3", this.mockWebServer.getPort())) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .getRoot("cloud_controller_v3", CONNECTION_CONTEXT) + .as(StepVerifier::create) + .expectNext( + String.format( + "http://api.run.pivotal.io:%d/v3", this.mockWebServer.getPort())) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void getRootCloudFoundryClientV3Fallback() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/") - .build()) - .response(TestResponse.builder() - .status(NOT_FOUND) - .payload("fixtures/client/v2/error_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request(TestRequest.builder().method(GET).path("/").build()) + .response( + TestResponse.builder() + .status(NOT_FOUND) + .payload("fixtures/client/v2/error_response.json") + .build()) + .build()); this.rootProvider - .getRoot("cloud_controller_v3", CONNECTION_CONTEXT) - .as(StepVerifier::create) - .expectNext(String.format("http://localhost:%d/v3", this.mockWebServer.getPort())) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .getRoot("cloud_controller_v3", CONNECTION_CONTEXT) + .as(StepVerifier::create) + .expectNext(String.format("http://localhost:%d/v3", this.mockWebServer.getPort())) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void getRootDopplerClient() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/GET_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request(TestRequest.builder().method(GET).path("/").build()) + .response( + TestResponse.builder() + .status(OK) + .payload("fixtures/GET_response.json") + .build()) + .build()); this.rootProvider - .getRoot("logging", CONNECTION_CONTEXT) - .as(StepVerifier::create) - .expectNext("http://doppler.run.pivotal.io:443") - .expectComplete() - .verify(Duration.ofSeconds(5)); + .getRoot("logging", CONNECTION_CONTEXT) + .as(StepVerifier::create) + .expectNext("http://doppler.run.pivotal.io:443") + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void getRootDopplerClientFallback() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/") - .build()) - .response(TestResponse.builder() - .status(NOT_FOUND) - .payload("fixtures/client/v2/error_response.json") - .build()) - .build()); - - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/v2/info") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/info/GET_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request(TestRequest.builder().method(GET).path("/").build()) + .response( + TestResponse.builder() + .status(NOT_FOUND) + .payload("fixtures/client/v2/error_response.json") + .build()) + .build()); + + mockRequest( + InteractionContext.builder() + .request(TestRequest.builder().method(GET).path("/v2/info").build()) + .response( + TestResponse.builder() + .status(OK) + .payload("fixtures/client/v2/info/GET_response.json") + .build()) + .build()); this.rootProvider - .getRoot("logging", CONNECTION_CONTEXT) - .as(StepVerifier::create) - .expectNext("http://doppler.vcap.me:80") - .expectComplete() - .verify(Duration.ofSeconds(5)); + .getRoot("logging", CONNECTION_CONTEXT) + .as(StepVerifier::create) + .expectNext("http://doppler.vcap.me:80") + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void getRootKeyNoKey() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/") - .build()) - .response(TestResponse.builder() - .status(NOT_FOUND) - .payload("fixtures/client/v2/error_response.json") - .build()) - .build()); - - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/v2/info") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/info/GET_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request(TestRequest.builder().method(GET).path("/").build()) + .response( + TestResponse.builder() + .status(NOT_FOUND) + .payload("fixtures/client/v2/error_response.json") + .build()) + .build()); + + mockRequest( + InteractionContext.builder() + .request(TestRequest.builder().method(GET).path("/v2/info").build()) + .response( + TestResponse.builder() + .status(OK) + .payload("fixtures/client/v2/info/GET_response.json") + .build()) + .build()); this.rootProvider - .getRoot("invalid-key", CONNECTION_CONTEXT) - .as(StepVerifier::create) - .expectError(IllegalArgumentException.class) - .verify(Duration.ofSeconds(5)); + .getRoot("invalid-key", CONNECTION_CONTEXT) + .as(StepVerifier::create) + .expectError(IllegalArgumentException.class) + .verify(Duration.ofSeconds(5)); } @Test public void getRootKeyNoValue() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/") - .build()) - .response(TestResponse.builder() - .status(NOT_FOUND) - .payload("fixtures/client/v2/error_response.json") - .build()) - .build()); - - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/v2/info") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/info/GET_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request(TestRequest.builder().method(GET).path("/").build()) + .response( + TestResponse.builder() + .status(NOT_FOUND) + .payload("fixtures/client/v2/error_response.json") + .build()) + .build()); + + mockRequest( + InteractionContext.builder() + .request(TestRequest.builder().method(GET).path("/v2/info").build()) + .response( + TestResponse.builder() + .status(OK) + .payload("fixtures/client/v2/info/GET_response.json") + .build()) + .build()); this.rootProvider - .getRoot("empty_value", CONNECTION_CONTEXT) - .as(StepVerifier::create) - .expectError(IllegalArgumentException.class) - .verify(Duration.ofSeconds(5)); + .getRoot("empty_value", CONNECTION_CONTEXT) + .as(StepVerifier::create) + .expectError(IllegalArgumentException.class) + .verify(Duration.ofSeconds(5)); } @Test public void getRootNetworkingClient() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/GET_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request(TestRequest.builder().method(GET).path("/").build()) + .response( + TestResponse.builder() + .status(OK) + .payload("fixtures/GET_response.json") + .build()) + .build()); this.rootProvider - .getRoot("network_policy_v1", CONNECTION_CONTEXT) - .as(StepVerifier::create) - .expectNext(String.format("http://api.run.pivotal.io:%d/networking/v1/external", this.mockWebServer.getPort())) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .getRoot("network_policy_v1", CONNECTION_CONTEXT) + .as(StepVerifier::create) + .expectNext( + String.format( + "http://api.run.pivotal.io:%d/networking/v1/external", + this.mockWebServer.getPort())) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void getRootRoutingClientFallback() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/") - .build()) - .response(TestResponse.builder() - .status(NOT_FOUND) - .payload("fixtures/client/v2/error_response.json") - .build()) - .build()); - - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/v2/info") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/info/GET_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request(TestRequest.builder().method(GET).path("/").build()) + .response( + TestResponse.builder() + .status(NOT_FOUND) + .payload("fixtures/client/v2/error_response.json") + .build()) + .build()); + + mockRequest( + InteractionContext.builder() + .request(TestRequest.builder().method(GET).path("/v2/info").build()) + .response( + TestResponse.builder() + .status(OK) + .payload("fixtures/client/v2/info/GET_response.json") + .build()) + .build()); this.rootProvider - .getRoot("routing", CONNECTION_CONTEXT) - .as(StepVerifier::create) - .expectNext("http://localhost:3000") - .expectComplete() - .verify(Duration.ofSeconds(5)); + .getRoot("routing", CONNECTION_CONTEXT) + .as(StepVerifier::create) + .expectNext("http://localhost:3000") + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void getRootTokenProviderFallback() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/") - .build()) - .response(TestResponse.builder() - .status(NOT_FOUND) - .payload("fixtures/client/v2/error_response.json") - .build()) - .build()); - - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/v2/info") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/info/GET_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request(TestRequest.builder().method(GET).path("/").build()) + .response( + TestResponse.builder() + .status(NOT_FOUND) + .payload("fixtures/client/v2/error_response.json") + .build()) + .build()); + + mockRequest( + InteractionContext.builder() + .request(TestRequest.builder().method(GET).path("/v2/info").build()) + .response( + TestResponse.builder() + .status(OK) + .payload("fixtures/client/v2/info/GET_response.json") + .build()) + .build()); this.rootProvider - .getRoot("authorization_endpoint", CONNECTION_CONTEXT) - .as(StepVerifier::create) - .expectNext("http://localhost:8080/uaa") - .expectComplete() - .verify(Duration.ofSeconds(5)); + .getRoot("authorization_endpoint", CONNECTION_CONTEXT) + .as(StepVerifier::create) + .expectNext("http://localhost:8080/uaa") + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void getRootUaaClient() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/GET_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request(TestRequest.builder().method(GET).path("/").build()) + .response( + TestResponse.builder() + .status(OK) + .payload("fixtures/GET_response.json") + .build()) + .build()); this.rootProvider - .getRoot("uaa", CONNECTION_CONTEXT) - .as(StepVerifier::create) - .expectNext(String.format("http://uaa.run.pivotal.io:%d", this.mockWebServer.getPort())) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .getRoot("uaa", CONNECTION_CONTEXT) + .as(StepVerifier::create) + .expectNext( + String.format("http://uaa.run.pivotal.io:%d", this.mockWebServer.getPort())) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void getRootUaaClientFallback() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/") - .build()) - .response(TestResponse.builder() - .status(NOT_FOUND) - .payload("fixtures/client/v2/error_response.json") - .build()) - .build()); - - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/v2/info") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/info/GET_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request(TestRequest.builder().method(GET).path("/").build()) + .response( + TestResponse.builder() + .status(NOT_FOUND) + .payload("fixtures/client/v2/error_response.json") + .build()) + .build()); + + mockRequest( + InteractionContext.builder() + .request(TestRequest.builder().method(GET).path("/v2/info").build()) + .response( + TestResponse.builder() + .status(OK) + .payload("fixtures/client/v2/info/GET_response.json") + .build()) + .build()); this.rootProvider - .getRoot("uaa", CONNECTION_CONTEXT) - .as(StepVerifier::create) - .expectNext("http://localhost:8080/uaa") - .expectComplete() - .verify(Duration.ofSeconds(5)); + .getRoot("uaa", CONNECTION_CONTEXT) + .as(StepVerifier::create) + .expectNext("http://localhost:8080/uaa") + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void getWithInvalidRoot() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/") - .build()) - .response(TestResponse.builder() - .status(HttpResponseStatus.FOUND) - .build()) - .build()); - - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/v2/info") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/info/GET_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request(TestRequest.builder().method(GET).path("/").build()) + .response(TestResponse.builder().status(HttpResponseStatus.FOUND).build()) + .build()); + + mockRequest( + InteractionContext.builder() + .request(TestRequest.builder().method(GET).path("/v2/info").build()) + .response( + TestResponse.builder() + .status(OK) + .payload("fixtures/client/v2/info/GET_response.json") + .build()) + .build()); this.rootProvider - .getRoot("uaa", CONNECTION_CONTEXT) - .as(StepVerifier::create) - .expectNext("http://localhost:8080/uaa") - .expectComplete() - .verify(Duration.ofSeconds(5)); + .getRoot("uaa", CONNECTION_CONTEXT) + .as(StepVerifier::create) + .expectNext("http://localhost:8080/uaa") + .expectComplete() + .verify(Duration.ofSeconds(5)); } - } - diff --git a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/InfoPayloadRootProviderTest.java b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/InfoPayloadRootProviderTest.java index bde602d40e..9e023b0e64 100644 --- a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/InfoPayloadRootProviderTest.java +++ b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/InfoPayloadRootProviderTest.java @@ -16,70 +16,69 @@ package org.cloudfoundry.reactor; -import org.junit.Test; -import reactor.test.StepVerifier; - -import java.time.Duration; - import static io.netty.handler.codec.http.HttpMethod.GET; import static io.netty.handler.codec.http.HttpResponseStatus.OK; +import java.time.Duration; +import org.junit.Test; +import reactor.test.StepVerifier; + public final class InfoPayloadRootProviderTest extends AbstractRestTest { - private final InfoPayloadRootProvider rootProvider = InfoPayloadRootProvider.builder() - .apiHost("localhost") - .port(this.mockWebServer.getPort()) - .secure(false) - .objectMapper(CONNECTION_CONTEXT.getObjectMapper()) - .build(); + private final InfoPayloadRootProvider rootProvider = + InfoPayloadRootProvider.builder() + .apiHost("localhost") + .port(this.mockWebServer.getPort()) + .secure(false) + .objectMapper(CONNECTION_CONTEXT.getObjectMapper()) + .build(); @Test public void getRoot() { this.rootProvider - .getRoot(CONNECTION_CONTEXT) - .as(StepVerifier::create) - .expectNext(String.format("http://localhost:%d", this.mockWebServer.getPort())) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .getRoot(CONNECTION_CONTEXT) + .as(StepVerifier::create) + .expectNext(String.format("http://localhost:%d", this.mockWebServer.getPort())) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void getRootKey() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/v2/info") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/info/GET_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request(TestRequest.builder().method(GET).path("/v2/info").build()) + .response( + TestResponse.builder() + .status(OK) + .payload("fixtures/client/v2/info/GET_response.json") + .build()) + .build()); this.rootProvider - .getRoot("authorization_endpoint", CONNECTION_CONTEXT) - .as(StepVerifier::create) - .expectNext("http://localhost:8080/uaa") - .expectComplete() - .verify(Duration.ofSeconds(5)); + .getRoot("authorization_endpoint", CONNECTION_CONTEXT) + .as(StepVerifier::create) + .expectNext("http://localhost:8080/uaa") + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void getRootKeyNoKey() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/v2/info") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/info/GET_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request(TestRequest.builder().method(GET).path("/v2/info").build()) + .response( + TestResponse.builder() + .status(OK) + .payload("fixtures/client/v2/info/GET_response.json") + .build()) + .build()); this.rootProvider - .getRoot("invalid-key", CONNECTION_CONTEXT) - .as(StepVerifier::create) - .expectError(IllegalArgumentException.class) - .verify(Duration.ofSeconds(5)); + .getRoot("invalid-key", CONNECTION_CONTEXT) + .as(StepVerifier::create) + .expectError(IllegalArgumentException.class) + .verify(Duration.ofSeconds(5)); } - } diff --git a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/RootPayloadRootProviderTest.java b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/RootPayloadRootProviderTest.java index 882556b175..0826391f77 100644 --- a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/RootPayloadRootProviderTest.java +++ b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/RootPayloadRootProviderTest.java @@ -16,70 +16,71 @@ package org.cloudfoundry.reactor; -import org.junit.Test; -import reactor.test.StepVerifier; - -import java.time.Duration; - import static io.netty.handler.codec.http.HttpMethod.GET; import static io.netty.handler.codec.http.HttpResponseStatus.OK; +import java.time.Duration; +import org.junit.Test; +import reactor.test.StepVerifier; + public final class RootPayloadRootProviderTest extends AbstractRestTest { - private final RootPayloadRootProvider rootProvider = RootPayloadRootProvider.builder() - .apiHost("localhost") - .port(this.mockWebServer.getPort()) - .secure(false) - .objectMapper(CONNECTION_CONTEXT.getObjectMapper()) - .build(); + private final RootPayloadRootProvider rootProvider = + RootPayloadRootProvider.builder() + .apiHost("localhost") + .port(this.mockWebServer.getPort()) + .secure(false) + .objectMapper(CONNECTION_CONTEXT.getObjectMapper()) + .build(); @Test public void getRoot() { this.rootProvider - .getRoot(CONNECTION_CONTEXT) - .as(StepVerifier::create) - .expectNext(String.format("http://localhost:%d", this.mockWebServer.getPort())) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .getRoot(CONNECTION_CONTEXT) + .as(StepVerifier::create) + .expectNext(String.format("http://localhost:%d", this.mockWebServer.getPort())) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void getRootKey() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/GET_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request(TestRequest.builder().method(GET).path("/").build()) + .response( + TestResponse.builder() + .status(OK) + .payload("fixtures/GET_response.json") + .build()) + .build()); this.rootProvider - .getRoot("cloud_controller_v2", CONNECTION_CONTEXT) - .as(StepVerifier::create) - .expectNext(String.format("http://api.run.pivotal.io:%d/v2", this.mockWebServer.getPort())) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .getRoot("cloud_controller_v2", CONNECTION_CONTEXT) + .as(StepVerifier::create) + .expectNext( + String.format( + "http://api.run.pivotal.io:%d/v2", this.mockWebServer.getPort())) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void getRootKeyNoKey() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/GET_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request(TestRequest.builder().method(GET).path("/").build()) + .response( + TestResponse.builder() + .status(OK) + .payload("fixtures/GET_response.json") + .build()) + .build()); this.rootProvider - .getRoot("invalid-key", CONNECTION_CONTEXT) - .as(StepVerifier::create) - .expectError(IllegalArgumentException.class) - .verify(Duration.ofSeconds(5)); + .getRoot("invalid-key", CONNECTION_CONTEXT) + .as(StepVerifier::create) + .expectError(IllegalArgumentException.class) + .verify(Duration.ofSeconds(5)); } - } diff --git a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/SingleEndpointRootProviderTest.java b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/SingleEndpointRootProviderTest.java index 938dfd3936..6340224e4d 100644 --- a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/SingleEndpointRootProviderTest.java +++ b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/SingleEndpointRootProviderTest.java @@ -16,35 +16,32 @@ package org.cloudfoundry.reactor; +import java.time.Duration; import org.junit.Test; import reactor.test.StepVerifier; -import java.time.Duration; - public final class SingleEndpointRootProviderTest extends AbstractRestTest { - private final SingleEndpointRootProvider rootProvider = SingleEndpointRootProvider.builder() - .apiHost("localhost") - .build(); + private final SingleEndpointRootProvider rootProvider = + SingleEndpointRootProvider.builder().apiHost("localhost").build(); @Test public void getRoot() { this.rootProvider - .getRoot(CONNECTION_CONTEXT) - .as(StepVerifier::create) - .expectNext("https://localhost:443") - .expectComplete() - .verify(Duration.ofSeconds(5)); + .getRoot(CONNECTION_CONTEXT) + .as(StepVerifier::create) + .expectNext("https://localhost:443") + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void getRootKey() { this.rootProvider - .getRoot(null, CONNECTION_CONTEXT) - .as(StepVerifier::create) - .expectNext("https://localhost:443") - .expectComplete() - .verify(Duration.ofSeconds(5)); + .getRoot(null, CONNECTION_CONTEXT) + .as(StepVerifier::create) + .expectNext("https://localhost:443") + .expectComplete() + .verify(Duration.ofSeconds(5)); } - } diff --git a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/AbstractClientApiTest.java b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/AbstractClientApiTest.java index ef9109f7ad..844a4caca4 100644 --- a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/AbstractClientApiTest.java +++ b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/AbstractClientApiTest.java @@ -16,8 +16,7 @@ package org.cloudfoundry.reactor.client; -import okhttp3.Headers; -import org.cloudfoundry.reactor.AbstractRestTest; +import static org.assertj.core.api.Assertions.assertThat; import java.io.ByteArrayOutputStream; import java.io.File; @@ -26,8 +25,8 @@ import java.io.InputStream; import java.util.regex.Matcher; import java.util.regex.Pattern; - -import static org.assertj.core.api.Assertions.assertThat; +import okhttp3.Headers; +import org.cloudfoundry.reactor.AbstractRestTest; public abstract class AbstractClientApiTest extends AbstractRestTest { @@ -43,7 +42,8 @@ protected static String extractBoundary(Headers headers) { } protected static byte[] getBytes(String path) { - try (InputStream in = new FileInputStream(new File("src/test/resources", path)); ByteArrayOutputStream out = new ByteArrayOutputStream()) { + try (InputStream in = new FileInputStream(new File("src/test/resources", path)); + ByteArrayOutputStream out = new ByteArrayOutputStream()) { byte[] buffer = new byte[8192]; int len; @@ -56,5 +56,4 @@ protected static byte[] getBytes(String path) { throw new RuntimeException(e); } } - } diff --git a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/MethodNameComparatorTest.java b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/MethodNameComparatorTest.java index cd24fd0901..43d220c4fd 100644 --- a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/MethodNameComparatorTest.java +++ b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/MethodNameComparatorTest.java @@ -16,12 +16,10 @@ package org.cloudfoundry.reactor.client; -import org.junit.Test; - -import java.lang.reflect.Method; - import static org.assertj.core.api.Assertions.assertThat; +import java.lang.reflect.Method; +import org.junit.Test; public final class MethodNameComparatorTest { @@ -44,5 +42,4 @@ private void alpha() { private void bravo() { // text fixture } - } diff --git a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/QueryBuilderTest.java b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/QueryBuilderTest.java index eef13d7d6e..8d68fb8dfe 100644 --- a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/QueryBuilderTest.java +++ b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/QueryBuilderTest.java @@ -16,6 +16,12 @@ package org.cloudfoundry.reactor.client; +import static org.assertj.core.api.Assertions.assertThat; + +import java.util.Arrays; +import java.util.Collections; +import java.util.List; +import java.util.stream.Stream; import org.cloudfoundry.QueryParameter; import org.cloudfoundry.reactor.util.UriQueryParameter; import org.cloudfoundry.reactor.util.UriQueryParameters; @@ -23,34 +29,31 @@ import org.springframework.util.MultiValueMap; import org.springframework.web.util.UriComponentsBuilder; -import java.util.Arrays; -import java.util.Collections; -import java.util.List; -import java.util.stream.Stream; - -import static org.assertj.core.api.Assertions.assertThat; - public final class QueryBuilderTest { @Test public void test() { UriComponentsBuilder builder = UriComponentsBuilder.newInstance(); - Stream parameters = new QueryBuilder().build(new StubQueryParamsSubClass()); + Stream parameters = + new QueryBuilder().build(new StubQueryParamsSubClass()); UriQueryParameters.set(builder, parameters); MultiValueMap queryParams = builder.encode().build().getQueryParams(); assertThat(queryParams).hasSize(8); assertThat(queryParams.getFirst("test-single")).isEqualTo("test-value-1"); - assertThat(queryParams.getFirst("test-collection")).isEqualTo("test-value-2%2Ctest-value-3"); - assertThat(queryParams.getFirst("test-collection-custom-delimiter")).isEqualTo("test-value-4%20test-value-5"); + assertThat(queryParams.getFirst("test-collection")) + .isEqualTo("test-value-2%2Ctest-value-3"); + assertThat(queryParams.getFirst("test-collection-custom-delimiter")) + .isEqualTo("test-value-4%20test-value-5"); assertThat(queryParams.getFirst("test-subclass")).isEqualTo("test-value-6"); assertThat(queryParams.getFirst("test-override")).isEqualTo("test-value-7"); - assertThat(queryParams.getFirst("test-reserved-characters")).isEqualTo("%3A%2F%3F%23%5B%5D%40%21%24%26%27%28%29%2A%2B%2C%3B%3D"); + assertThat(queryParams.getFirst("test-reserved-characters")) + .isEqualTo("%3A%2F%3F%23%5B%5D%40%21%24%26%27%28%29%2A%2B%2C%3B%3D"); } - public static abstract class StubQueryParams { + public abstract static class StubQueryParams { @QueryParameter("test-collection") public final List getCollection() { @@ -89,7 +92,6 @@ public final String getSingle() { @QueryParameter("test-override") abstract String getOverride(); - } public static final class StubQueryParamsSubClass extends StubQueryParams { @@ -103,7 +105,5 @@ public String getOverride() { public String getSubclass() { return "test-value-6"; } - } - } diff --git a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/ReactorCloudFoundryClientTest.java b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/ReactorCloudFoundryClientTest.java index 4e9ab676b8..6011bd5efc 100644 --- a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/ReactorCloudFoundryClientTest.java +++ b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/ReactorCloudFoundryClientTest.java @@ -16,19 +16,20 @@ package org.cloudfoundry.reactor.client; +import static org.assertj.core.api.Assertions.assertThat; + import org.cloudfoundry.reactor.AbstractRestTest; import org.junit.Test; -import static org.assertj.core.api.Assertions.assertThat; - public final class ReactorCloudFoundryClientTest extends AbstractRestTest { - private final ReactorCloudFoundryClient client = ReactorCloudFoundryClient.builder() - .connectionContext(CONNECTION_CONTEXT) - .rootV2(this.root) - .rootV3(this.root) - .tokenProvider(TOKEN_PROVIDER) - .build(); + private final ReactorCloudFoundryClient client = + ReactorCloudFoundryClient.builder() + .connectionContext(CONNECTION_CONTEXT) + .rootV2(this.root) + .rootV3(this.root) + .tokenProvider(TOKEN_PROVIDER) + .build(); @Test public void applicationUsageEvents() { @@ -244,5 +245,4 @@ public void userProvidedServiceInstances() { public void users() { assertThat(this.client.users()).isNotNull(); } - } diff --git a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/FilterBuilderTest.java b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/FilterBuilderTest.java index b963bf96ac..02a186d87b 100644 --- a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/FilterBuilderTest.java +++ b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/FilterBuilderTest.java @@ -16,6 +16,16 @@ package org.cloudfoundry.reactor.client.v2; +import static org.assertj.core.api.Assertions.assertThat; +import static org.cloudfoundry.client.v2.FilterParameter.Operation.GREATER_THAN; +import static org.cloudfoundry.client.v2.FilterParameter.Operation.GREATER_THAN_OR_EQUAL_TO; +import static org.cloudfoundry.client.v2.FilterParameter.Operation.LESS_THAN; +import static org.cloudfoundry.client.v2.FilterParameter.Operation.LESS_THAN_OR_EQUAL_TO; + +import java.util.Arrays; +import java.util.Collections; +import java.util.List; +import java.util.stream.Stream; import org.cloudfoundry.client.v2.FilterParameter; import org.cloudfoundry.reactor.util.UriQueryParameter; import org.cloudfoundry.reactor.util.UriQueryParameters; @@ -23,44 +33,35 @@ import org.springframework.util.MultiValueMap; import org.springframework.web.util.UriComponentsBuilder; -import java.util.Arrays; -import java.util.Collections; -import java.util.List; -import java.util.stream.Stream; - -import static org.assertj.core.api.Assertions.assertThat; -import static org.cloudfoundry.client.v2.FilterParameter.Operation.GREATER_THAN; -import static org.cloudfoundry.client.v2.FilterParameter.Operation.GREATER_THAN_OR_EQUAL_TO; -import static org.cloudfoundry.client.v2.FilterParameter.Operation.LESS_THAN; -import static org.cloudfoundry.client.v2.FilterParameter.Operation.LESS_THAN_OR_EQUAL_TO; - public final class FilterBuilderTest { @Test public void test() { UriComponentsBuilder builder = UriComponentsBuilder.newInstance(); - Stream parameters = new FilterBuilder().build(new StubFilterParamsSubClass()); + Stream parameters = + new FilterBuilder().build(new StubFilterParamsSubClass()); UriQueryParameters.set(builder, parameters); MultiValueMap queryParams = builder.encode().build().getQueryParams(); List q = queryParams.get("q"); assertThat(q) - .hasSize(10) - .containsOnly("test-empty-value%3A", - "test-greater-than%3Etest-value-1", - "test-greater-than-or-equal-to%3E%3Dtest-value-2", - "test-in%20IN%20test-value-3%2Ctest-value-4", - "test-is%3Atest-value-5", - "test-less-than%3Ctest-value-6", - "test-less-than-or-equal-to%3C%3Dtest-value-7", - "test-default%20IN%20test-value-8%2Ctest-value-9", - "test-override%3Atest-value-10", - "test-reserved-characters%3A%3A%2F%3F%23%5B%5D%40%21%24%26%27%28%29%2A%2B%2C%3B%3D"); + .hasSize(10) + .containsOnly( + "test-empty-value%3A", + "test-greater-than%3Etest-value-1", + "test-greater-than-or-equal-to%3E%3Dtest-value-2", + "test-in%20IN%20test-value-3%2Ctest-value-4", + "test-is%3Atest-value-5", + "test-less-than%3Ctest-value-6", + "test-less-than-or-equal-to%3C%3Dtest-value-7", + "test-default%20IN%20test-value-8%2Ctest-value-9", + "test-override%3Atest-value-10", + "test-reserved-characters%3A%3A%2F%3F%23%5B%5D%40%21%24%26%27%28%29%2A%2B%2C%3B%3D"); } - public static abstract class StubFilterParams { + public abstract static class StubFilterParams { @FilterParameter("test-empty") public final List getEmpty() { @@ -77,7 +78,9 @@ public final String getGreaterThan() { return "test-value-1"; } - @FilterParameter(value = "test-greater-than-or-equal-to", operation = GREATER_THAN_OR_EQUAL_TO) + @FilterParameter( + value = "test-greater-than-or-equal-to", + operation = GREATER_THAN_OR_EQUAL_TO) public final String getGreaterThanOrEqualTo() { return "test-value-2"; } @@ -114,7 +117,6 @@ public final String getReservedCharacters() { @FilterParameter("test-override") abstract String getOverride(); - } public static final class StubFilterParamsSubClass extends StubFilterParams { @@ -128,7 +130,5 @@ public List getDefault() { public String getOverride() { return "test-value-10"; } - } - } diff --git a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/applications/ReactorApplicationsV2Test.java b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/applications/ReactorApplicationsV2Test.java index b360468a60..e7c2961e5f 100644 --- a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/applications/ReactorApplicationsV2Test.java +++ b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/applications/ReactorApplicationsV2Test.java @@ -16,6 +16,21 @@ package org.cloudfoundry.reactor.client.v2.applications; +import static io.netty.handler.codec.http.HttpMethod.DELETE; +import static io.netty.handler.codec.http.HttpMethod.GET; +import static io.netty.handler.codec.http.HttpMethod.POST; +import static io.netty.handler.codec.http.HttpMethod.PUT; +import static io.netty.handler.codec.http.HttpResponseStatus.CREATED; +import static io.netty.handler.codec.http.HttpResponseStatus.NO_CONTENT; +import static io.netty.handler.codec.http.HttpResponseStatus.OK; +import static org.assertj.core.api.Assertions.assertThat; +import static org.cloudfoundry.client.v2.serviceinstances.Plan.builder; +import static org.cloudfoundry.util.tuple.TupleUtils.consumer; + +import java.io.IOException; +import java.nio.charset.Charset; +import java.time.Duration; +import java.util.Collections; import org.cloudfoundry.client.v2.Metadata; import org.cloudfoundry.client.v2.applications.ApplicationEntity; import org.cloudfoundry.client.v2.applications.ApplicationEnvironmentRequest; @@ -82,1018 +97,1345 @@ import org.springframework.core.io.ClassPathResource; import reactor.test.StepVerifier; -import java.io.IOException; -import java.nio.charset.Charset; -import java.time.Duration; -import java.util.Collections; - -import static io.netty.handler.codec.http.HttpMethod.DELETE; -import static io.netty.handler.codec.http.HttpMethod.GET; -import static io.netty.handler.codec.http.HttpMethod.POST; -import static io.netty.handler.codec.http.HttpMethod.PUT; -import static io.netty.handler.codec.http.HttpResponseStatus.CREATED; -import static io.netty.handler.codec.http.HttpResponseStatus.NO_CONTENT; -import static io.netty.handler.codec.http.HttpResponseStatus.OK; -import static org.assertj.core.api.Assertions.assertThat; -import static org.cloudfoundry.client.v2.serviceinstances.Plan.builder; -import static org.cloudfoundry.util.tuple.TupleUtils.consumer; - public final class ReactorApplicationsV2Test extends AbstractClientApiTest { - private final ReactorApplicationsV2 applications = new ReactorApplicationsV2(CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); + private final ReactorApplicationsV2 applications = + new ReactorApplicationsV2( + CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); @SuppressWarnings("deprecation") @Test public void associateRoute() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(PUT).path("/apps/test-application-id/routes/test-route-id") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/apps/PUT_{id}_routes_{route-id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(PUT) + .path("/apps/test-application-id/routes/test-route-id") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/apps/PUT_{id}_routes_{route-id}_response.json") + .build()) + .build()); this.applications - .associateRoute(AssociateApplicationRouteRequest.builder() - .applicationId("test-application-id") - .routeId("test-route-id") - .build()) - .as(StepVerifier::create) - .expectNext(AssociateApplicationRouteResponse.builder() - .metadata(Metadata.builder() - .createdAt("2015-07-27T22:43:19Z") - .id("638e90b6-502f-47a8-a3bf-b18fdf3fb70a") - .url("/v2/apps/638e90b6-502f-47a8-a3bf-b18fdf3fb70a") - .updatedAt("2015-07-27T22:43:19Z") - .build()) - .entity(ApplicationEntity.builder() - .console(false) - .detectedStartCommand("") - .diego(false) - .diskQuota(1024) - .dockerCredentials(DockerCredentials.builder().build()) - .enableSsh(true) - .environmentJsons(Collections.emptyMap()) - .eventsUrl("/v2/apps/638e90b6-502f-47a8-a3bf-b18fdf3fb70a/events") - .healthCheckType("port") - .instances(1) - .memory(1024) - .name("name-657") - .packageState("PENDING") - .packageUpdatedAt("2015-07-27T22:43:19Z") - .ports(Collections.emptyList()) - .production(false) - .routesUrl("/v2/apps/638e90b6-502f-47a8-a3bf-b18fdf3fb70a/routes") - .routeMappingsUrl("/v2/apps/638e90b6-502f-47a8-a3bf-b18fdf3fb70a/route_mappings") - .serviceBindingsUrl("/v2/apps/638e90b6-502f-47a8-a3bf-b18fdf3fb70a/service_bindings") - .spaceId("bc900bc3-df1f-4842-9621-e69b90207ad1") - .spaceUrl("/v2/spaces/bc900bc3-df1f-4842-9621-e69b90207ad1") - .stackId("46576b60-3d3e-42a6-bdb3-171bc2dedfc4") - .stackUrl("/v2/stacks/46576b60-3d3e-42a6-bdb3-171bc2dedfc4") - .state("STOPPED") - .version("eee05ab9-9d6c-490c-932a-996d061b5fe4") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .associateRoute( + AssociateApplicationRouteRequest.builder() + .applicationId("test-application-id") + .routeId("test-route-id") + .build()) + .as(StepVerifier::create) + .expectNext( + AssociateApplicationRouteResponse.builder() + .metadata( + Metadata.builder() + .createdAt("2015-07-27T22:43:19Z") + .id("638e90b6-502f-47a8-a3bf-b18fdf3fb70a") + .url( + "/v2/apps/638e90b6-502f-47a8-a3bf-b18fdf3fb70a") + .updatedAt("2015-07-27T22:43:19Z") + .build()) + .entity( + ApplicationEntity.builder() + .console(false) + .detectedStartCommand("") + .diego(false) + .diskQuota(1024) + .dockerCredentials( + DockerCredentials.builder().build()) + .enableSsh(true) + .environmentJsons(Collections.emptyMap()) + .eventsUrl( + "/v2/apps/638e90b6-502f-47a8-a3bf-b18fdf3fb70a/events") + .healthCheckType("port") + .instances(1) + .memory(1024) + .name("name-657") + .packageState("PENDING") + .packageUpdatedAt("2015-07-27T22:43:19Z") + .ports(Collections.emptyList()) + .production(false) + .routesUrl( + "/v2/apps/638e90b6-502f-47a8-a3bf-b18fdf3fb70a/routes") + .routeMappingsUrl( + "/v2/apps/638e90b6-502f-47a8-a3bf-b18fdf3fb70a/route_mappings") + .serviceBindingsUrl( + "/v2/apps/638e90b6-502f-47a8-a3bf-b18fdf3fb70a/service_bindings") + .spaceId("bc900bc3-df1f-4842-9621-e69b90207ad1") + .spaceUrl( + "/v2/spaces/bc900bc3-df1f-4842-9621-e69b90207ad1") + .stackId("46576b60-3d3e-42a6-bdb3-171bc2dedfc4") + .stackUrl( + "/v2/stacks/46576b60-3d3e-42a6-bdb3-171bc2dedfc4") + .state("STOPPED") + .version("eee05ab9-9d6c-490c-932a-996d061b5fe4") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void copy() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(POST).path("/apps/test-application-id/copy_bits") - .payload("fixtures/client/v2/apps/POST_{id}_copy_bits_request.json") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/apps/POST_{id}_copy_bits_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(POST) + .path("/apps/test-application-id/copy_bits") + .payload( + "fixtures/client/v2/apps/POST_{id}_copy_bits_request.json") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/apps/POST_{id}_copy_bits_response.json") + .build()) + .build()); this.applications - .copy(CopyApplicationRequest.builder() - .applicationId("test-application-id") - .sourceApplicationId("af6ab819-3fb7-42e3-a0f6-947022881b7b") - .build()) - .as(StepVerifier::create) - .expectNext(CopyApplicationResponse.builder() - .entity(JobEntity.builder() - .id("c900719e-c70a-4c75-9e6a-9535f118acc3") - .status("queued") - .build()) - .metadata(Metadata.builder() - .createdAt("2015-07-27T22:43:34Z") - .id("c900719e-c70a-4c75-9e6a-9535f118acc3") - .url("/v2/jobs/c900719e-c70a-4c75-9e6a-9535f118acc3") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .copy( + CopyApplicationRequest.builder() + .applicationId("test-application-id") + .sourceApplicationId("af6ab819-3fb7-42e3-a0f6-947022881b7b") + .build()) + .as(StepVerifier::create) + .expectNext( + CopyApplicationResponse.builder() + .entity( + JobEntity.builder() + .id("c900719e-c70a-4c75-9e6a-9535f118acc3") + .status("queued") + .build()) + .metadata( + Metadata.builder() + .createdAt("2015-07-27T22:43:34Z") + .id("c900719e-c70a-4c75-9e6a-9535f118acc3") + .url( + "/v2/jobs/c900719e-c70a-4c75-9e6a-9535f118acc3") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @SuppressWarnings("deprecation") @Test public void create() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(POST).path("/apps") - .payload("fixtures/client/v2/apps/POST_request.json") - .build()) - .response(TestResponse.builder() - .status(CREATED) - .payload("fixtures/client/v2/apps/POST_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(POST) + .path("/apps") + .payload("fixtures/client/v2/apps/POST_request.json") + .build()) + .response( + TestResponse.builder() + .status(CREATED) + .payload("fixtures/client/v2/apps/POST_response.json") + .build()) + .build()); this.applications - .create(CreateApplicationRequest.builder() - .diego(true) - .dockerImage("cloudfoundry/hello") - .name("docker_app") - .spaceId("6ef4e580-c189-49c8-959e-4a3d021b3307") - .build()) - .as(StepVerifier::create) - .expectNext(CreateApplicationResponse.builder() - .metadata(Metadata.builder() - .createdAt("2015-07-27T22:43:20Z") - .id("78d1a119-2ded-405f-8675-421d8dade602") - .url("/v2/apps/78d1a119-2ded-405f-8675-421d8dade602") - .build()) - .entity(ApplicationEntity.builder() - .console(false) - .detectedStartCommand("") - .diego(true) - .diskQuota(1024) - .dockerCredentials(DockerCredentials.builder().build()) - .dockerImage("cloudfoundry/hello:latest") - .enableSsh(true) - .environmentJsons(Collections.emptyMap()) - .eventsUrl("/v2/apps/78d1a119-2ded-405f-8675-421d8dade602/events") - .healthCheckType("port") - .instances(1) - .memory(1024) - .name("docker_app") - .packageState("PENDING") - .packageUpdatedAt("2015-07-27T22:43:20Z") - .ports(Collections.emptyList()) - .production(false) - .routesUrl("/v2/apps/78d1a119-2ded-405f-8675-421d8dade602/routes") - .routeMappingsUrl("/v2/apps/78d1a119-2ded-405f-8675-421d8dade602/route_mappings") - .serviceBindingsUrl("/v2/apps/78d1a119-2ded-405f-8675-421d8dade602/service_bindings") - .spaceId("6ef4e580-c189-49c8-959e-4a3d021b3307") - .spaceUrl("/v2/spaces/6ef4e580-c189-49c8-959e-4a3d021b3307") - .stackId("d449ecea-669f-448a-a9e7-ec84d51e2fdb") - .stackUrl("/v2/stacks/d449ecea-669f-448a-a9e7-ec84d51e2fdb") - .state("STOPPED") - .version("69ebcffe-d79b-482a-91b6-39dfc86e7692") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .create( + CreateApplicationRequest.builder() + .diego(true) + .dockerImage("cloudfoundry/hello") + .name("docker_app") + .spaceId("6ef4e580-c189-49c8-959e-4a3d021b3307") + .build()) + .as(StepVerifier::create) + .expectNext( + CreateApplicationResponse.builder() + .metadata( + Metadata.builder() + .createdAt("2015-07-27T22:43:20Z") + .id("78d1a119-2ded-405f-8675-421d8dade602") + .url( + "/v2/apps/78d1a119-2ded-405f-8675-421d8dade602") + .build()) + .entity( + ApplicationEntity.builder() + .console(false) + .detectedStartCommand("") + .diego(true) + .diskQuota(1024) + .dockerCredentials( + DockerCredentials.builder().build()) + .dockerImage("cloudfoundry/hello:latest") + .enableSsh(true) + .environmentJsons(Collections.emptyMap()) + .eventsUrl( + "/v2/apps/78d1a119-2ded-405f-8675-421d8dade602/events") + .healthCheckType("port") + .instances(1) + .memory(1024) + .name("docker_app") + .packageState("PENDING") + .packageUpdatedAt("2015-07-27T22:43:20Z") + .ports(Collections.emptyList()) + .production(false) + .routesUrl( + "/v2/apps/78d1a119-2ded-405f-8675-421d8dade602/routes") + .routeMappingsUrl( + "/v2/apps/78d1a119-2ded-405f-8675-421d8dade602/route_mappings") + .serviceBindingsUrl( + "/v2/apps/78d1a119-2ded-405f-8675-421d8dade602/service_bindings") + .spaceId("6ef4e580-c189-49c8-959e-4a3d021b3307") + .spaceUrl( + "/v2/spaces/6ef4e580-c189-49c8-959e-4a3d021b3307") + .stackId("d449ecea-669f-448a-a9e7-ec84d51e2fdb") + .stackUrl( + "/v2/stacks/d449ecea-669f-448a-a9e7-ec84d51e2fdb") + .state("STOPPED") + .version("69ebcffe-d79b-482a-91b6-39dfc86e7692") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void delete() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(DELETE).path("/apps/test-application-id") - .build()) - .response(TestResponse.builder() - .status(NO_CONTENT) - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(DELETE) + .path("/apps/test-application-id") + .build()) + .response(TestResponse.builder().status(NO_CONTENT).build()) + .build()); this.applications - .delete(DeleteApplicationRequest.builder() - .applicationId("test-application-id") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .delete( + DeleteApplicationRequest.builder() + .applicationId("test-application-id") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void download() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/apps/test-application-id/download") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/apps/GET_{id}_download_response.bin") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/apps/test-application-id/download") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/apps/GET_{id}_download_response.bin") + .build()) + .build()); this.applications - .download(DownloadApplicationRequest.builder() - .applicationId("test-application-id") - .build()) - .as(OperationUtils::collectByteArray) - .as(StepVerifier::create) - .consumeNextWith(actual -> assertThat(actual).isEqualTo(getBytes("fixtures/client/v2/apps/GET_{id}_download_response.bin"))) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .download( + DownloadApplicationRequest.builder() + .applicationId("test-application-id") + .build()) + .as(OperationUtils::collectByteArray) + .as(StepVerifier::create) + .consumeNextWith( + actual -> + assertThat(actual) + .isEqualTo( + getBytes( + "fixtures/client/v2/apps/GET_{id}_download_response.bin"))) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void downloadDroplet() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/apps/test-application-id/droplet/download") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/apps/GET_{id}_download_response.bin") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/apps/test-application-id/droplet/download") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/apps/GET_{id}_download_response.bin") + .build()) + .build()); this.applications - .downloadDroplet(DownloadApplicationDropletRequest.builder() - .applicationId("test-application-id") - .build()) - .as(OperationUtils::collectByteArray) - .as(StepVerifier::create) - .consumeNextWith(actual -> assertThat(actual).isEqualTo(getBytes("fixtures/client/v2/apps/GET_{id}_download_response.bin"))) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .downloadDroplet( + DownloadApplicationDropletRequest.builder() + .applicationId("test-application-id") + .build()) + .as(OperationUtils::collectByteArray) + .as(StepVerifier::create) + .consumeNextWith( + actual -> + assertThat(actual) + .isEqualTo( + getBytes( + "fixtures/client/v2/apps/GET_{id}_download_response.bin"))) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void environment() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/apps/test-application-id/env") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/apps/GET_{id}_env_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/apps/test-application-id/env") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/apps/GET_{id}_env_response.json") + .build()) + .build()); this.applications - .environment(ApplicationEnvironmentRequest.builder() - .applicationId("test-application-id") - .build()) - .as(StepVerifier::create) - .expectNext(ApplicationEnvironmentResponse.builder() - .stagingEnvironmentJson("STAGING_ENV", "staging_value") - .runningEnvironmentJson("RUNNING_ENV", "running_value") - .environmentJson("env_var", "env_val") - .systemEnvironmentJson("VCAP_SERVICES", Collections.emptyMap()) - .applicationEnvironmentJson("VCAP_APPLICATION", FluentMap.builder() - .entry("limits", FluentMap.builder() - .entry("mem", 1024) - .entry("disk", 1024) - .entry("fds", 16384) - .build()) - .entry("application_id", "96e63272-5da0-44b8-90a9-63d12b2692bb") - .entry("application_version", "86cef6fd-fb03-4f02-97ff-cc6b9d80bbf4") - .entry("application_name", "name-897") - .entry("application_uris", Collections.emptyList()) - .entry("version", "86cef6fd-fb03-4f02-97ff-cc6b9d80bbf4") - .entry("name", "name-897") - .entry("space_name", "name-898") - .entry("space_id", "147eef57-aadb-43b0-9518-b355ab4db678") - .entry("uris", Collections.emptyList()) - .entry("users", null) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .environment( + ApplicationEnvironmentRequest.builder() + .applicationId("test-application-id") + .build()) + .as(StepVerifier::create) + .expectNext( + ApplicationEnvironmentResponse.builder() + .stagingEnvironmentJson("STAGING_ENV", "staging_value") + .runningEnvironmentJson("RUNNING_ENV", "running_value") + .environmentJson("env_var", "env_val") + .systemEnvironmentJson("VCAP_SERVICES", Collections.emptyMap()) + .applicationEnvironmentJson( + "VCAP_APPLICATION", + FluentMap.builder() + .entry( + "limits", + FluentMap.builder() + .entry("mem", 1024) + .entry("disk", 1024) + .entry("fds", 16384) + .build()) + .entry( + "application_id", + "96e63272-5da0-44b8-90a9-63d12b2692bb") + .entry( + "application_version", + "86cef6fd-fb03-4f02-97ff-cc6b9d80bbf4") + .entry("application_name", "name-897") + .entry("application_uris", Collections.emptyList()) + .entry( + "version", + "86cef6fd-fb03-4f02-97ff-cc6b9d80bbf4") + .entry("name", "name-897") + .entry("space_name", "name-898") + .entry( + "space_id", + "147eef57-aadb-43b0-9518-b355ab4db678") + .entry("uris", Collections.emptyList()) + .entry("users", null) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @SuppressWarnings("deprecation") @Test public void get() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/apps/test-application-id") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/apps/GET_{id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/apps/test-application-id") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload("fixtures/client/v2/apps/GET_{id}_response.json") + .build()) + .build()); this.applications - .get(GetApplicationRequest.builder() - .applicationId("test-application-id") - .build()) - .as(StepVerifier::create) - .expectNext(GetApplicationResponse.builder() - .metadata(Metadata.builder() - .createdAt("2015-07-27T22:43:20Z") - .id("03f286bb-f17c-42b4-8dcd-b818b0b798af") - .updatedAt("2015-07-27T22:43:20Z") - .url("/v2/apps/03f286bb-f17c-42b4-8dcd-b818b0b798af") - .build()) - .entity(ApplicationEntity.builder() - .console(false) - .detectedStartCommand("") - .diego(false) - .diskQuota(1024) - .dockerCredentials(DockerCredentials.builder().build()) - .enableSsh(true) - .eventsUrl("/v2/apps/03f286bb-f17c-42b4-8dcd-b818b0b798af/events") - .healthCheckType("port") - .instances(1) - .memory(1024) - .name("name-751") - .packageState("PENDING") - .packageUpdatedAt("2015-07-27T22:43:20Z") - .production(false) - .routesUrl("/v2/apps/03f286bb-f17c-42b4-8dcd-b818b0b798af/routes") - .routeMappingsUrl("/v2/apps/03f286bb-f17c-42b4-8dcd-b818b0b798af/route_mappings") - .serviceBindingsUrl("/v2/apps/03f286bb-f17c-42b4-8dcd-b818b0b798af/service_bindings") - .spaceId("b10ca4ed-fa71-4597-8567-e7dd1719c0c7") - .spaceUrl("/v2/spaces/b10ca4ed-fa71-4597-8567-e7dd1719c0c7") - .stackId("160fb300-c60e-4682-8527-8500e0318839") - .stackUrl("/v2/stacks/160fb300-c60e-4682-8527-8500e0318839") - .state("STOPPED") - .version("2b0d7e20-ce57-44b4-b0ec-7ca6d1d50e20") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .get(GetApplicationRequest.builder().applicationId("test-application-id").build()) + .as(StepVerifier::create) + .expectNext( + GetApplicationResponse.builder() + .metadata( + Metadata.builder() + .createdAt("2015-07-27T22:43:20Z") + .id("03f286bb-f17c-42b4-8dcd-b818b0b798af") + .updatedAt("2015-07-27T22:43:20Z") + .url( + "/v2/apps/03f286bb-f17c-42b4-8dcd-b818b0b798af") + .build()) + .entity( + ApplicationEntity.builder() + .console(false) + .detectedStartCommand("") + .diego(false) + .diskQuota(1024) + .dockerCredentials( + DockerCredentials.builder().build()) + .enableSsh(true) + .eventsUrl( + "/v2/apps/03f286bb-f17c-42b4-8dcd-b818b0b798af/events") + .healthCheckType("port") + .instances(1) + .memory(1024) + .name("name-751") + .packageState("PENDING") + .packageUpdatedAt("2015-07-27T22:43:20Z") + .production(false) + .routesUrl( + "/v2/apps/03f286bb-f17c-42b4-8dcd-b818b0b798af/routes") + .routeMappingsUrl( + "/v2/apps/03f286bb-f17c-42b4-8dcd-b818b0b798af/route_mappings") + .serviceBindingsUrl( + "/v2/apps/03f286bb-f17c-42b4-8dcd-b818b0b798af/service_bindings") + .spaceId("b10ca4ed-fa71-4597-8567-e7dd1719c0c7") + .spaceUrl( + "/v2/spaces/b10ca4ed-fa71-4597-8567-e7dd1719c0c7") + .stackId("160fb300-c60e-4682-8527-8500e0318839") + .stackUrl( + "/v2/stacks/160fb300-c60e-4682-8527-8500e0318839") + .state("STOPPED") + .version("2b0d7e20-ce57-44b4-b0ec-7ca6d1d50e20") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void getPermissions() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/apps/6fd65993-fbd8-447c-8c04-6e4fe3ac561c/permissions") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/apps/GET_{id}_permissions_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path( + "/apps/6fd65993-fbd8-447c-8c04-6e4fe3ac561c/permissions") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/apps/GET_{id}_permissions_response.json") + .build()) + .build()); this.applications - .getPermissions(GetApplicationPermissionsRequest.builder() - .applicationId("6fd65993-fbd8-447c-8c04-6e4fe3ac561c") - .build()) - .as(StepVerifier::create) - .expectNext(GetApplicationPermissionsResponse.builder() - .readBasicData(true) - .readSensitiveData(true) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .getPermissions( + GetApplicationPermissionsRequest.builder() + .applicationId("6fd65993-fbd8-447c-8c04-6e4fe3ac561c") + .build()) + .as(StepVerifier::create) + .expectNext( + GetApplicationPermissionsResponse.builder() + .readBasicData(true) + .readSensitiveData(true) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void instances() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/apps/test-application-id/instances") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/apps/GET_{id}_instances_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/apps/test-application-id/instances") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/apps/GET_{id}_instances_response.json") + .build()) + .build()); this.applications - .instances(ApplicationInstancesRequest.builder() - .applicationId("test-application-id") - .build()) - .as(StepVerifier::create) - .expectNext(ApplicationInstancesResponse.builder() - .instance("0", ApplicationInstanceInfo.builder() - .since(1403140717.984577d) - .state("RUNNING") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .instances( + ApplicationInstancesRequest.builder() + .applicationId("test-application-id") + .build()) + .as(StepVerifier::create) + .expectNext( + ApplicationInstancesResponse.builder() + .instance( + "0", + ApplicationInstanceInfo.builder() + .since(1403140717.984577d) + .state("RUNNING") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @SuppressWarnings("deprecation") @Test public void list() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/apps?q=name%3Atest-name&page=-1") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/apps/GET_apps_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/apps?q=name%3Atest-name&page=-1") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload("fixtures/client/v2/apps/GET_apps_response.json") + .build()) + .build()); this.applications - .list(ListApplicationsRequest.builder() - .name("test-name") - .page(-1) - .build()) - .as(StepVerifier::create) - .expectNext(ListApplicationsResponse.builder() - .totalResults(3) - .totalPages(1) - .resource(ApplicationResource.builder() - .metadata(Metadata.builder() - .id("3d294ed0-105c-4ccd-8f79-5605d6b7198c") - .url("/v2/apps/3d294ed0-105c-4ccd-8f79-5605d6b7198c") - .createdAt("2015-07-27T22:43:20Z") - .updatedAt("2015-07-27T22:43:20Z") - .build()) - .entity(ApplicationEntity.builder() - .console(false) - .detectedStartCommand("") - .diego(false) - .diskQuota(1024) - .dockerCredentials(DockerCredentials.builder().build()) - .enableSsh(true) - .eventsUrl("/v2/apps/3d294ed0-105c-4ccd-8f79-5605d6b7198c/events") - .healthCheckType("port") - .instances(1) - .memory(1024) - .name("name-761") - .packageState("PENDING") - .packageUpdatedAt("2015-07-27T22:43:20Z") - .production(false) - .routesUrl("/v2/apps/3d294ed0-105c-4ccd-8f79-5605d6b7198c/routes") - .routeMappingsUrl("/v2/apps/3d294ed0-105c-4ccd-8f79-5605d6b7198c/route_mappings") - .serviceBindingsUrl - ("/v2/apps/3d294ed0-105c-4ccd-8f79-5605d6b7198c/service_bindings") - .spaceId("30d5165d-0bef-4103-97cd-72269b9d7a4c") - .spaceUrl("/v2/spaces/30d5165d-0bef-4103-97cd-72269b9d7a4c") - .stackId("d3476df6-534d-4140-b85b-401fa4923234") - .stackUrl("/v2/stacks/d3476df6-534d-4140-b85b-401fa4923234") - .state("STOPPED") - .version("3ca77d11-93e0-4a60-bab5-30f38b8a8649") - .build()) - .build()) - .resource(ApplicationResource.builder() - .metadata(Metadata.builder() - .id("522c5382-29e9-48aa-9db0-9f6cfa643ec1") - .url("/v2/apps/522c5382-29e9-48aa-9db0-9f6cfa643ec1") - .createdAt("2015-07-27T22:43:20Z") - .updatedAt("2015-07-27T22:43:20Z") - .build()) - .entity(ApplicationEntity.builder() - .console(false) - .detectedStartCommand("") - .diego(false) - .diskQuota(1024) - .dockerCredentials(DockerCredentials.builder().build()) - .enableSsh(true) - .eventsUrl("/v2/apps/522c5382-29e9-48aa-9db0-9f6cfa643ec1/events") - .healthCheckType("port") - .instances(1) - .memory(1024) - .name("name-766") - .packageState("PENDING") - .packageUpdatedAt("2015-07-27T22:43:20Z") - .production(false) - .routesUrl("/v2/apps/522c5382-29e9-48aa-9db0-9f6cfa643ec1/routes") - .routeMappingsUrl("/v2/apps/522c5382-29e9-48aa-9db0-9f6cfa643ec1/route_mappings") - .serviceBindingsUrl - ("/v2/apps/522c5382-29e9-48aa-9db0-9f6cfa643ec1/service_bindings") - .spaceId("cf929611-97ab-4c42-93e5-9ec26e26f456") - .spaceUrl("/v2/spaces/cf929611-97ab-4c42-93e5-9ec26e26f456") - .stackId("14b4a0b7-7c7b-4cf2-99f0-cc3ed1473f09") - .stackUrl("/v2/stacks/14b4a0b7-7c7b-4cf2-99f0-cc3ed1473f09") - .state("STOPPED") - .version("cddf0ec1-acf6-48e7-831b-884972cb7ac3") - .build()) - .build()) - .resource(ApplicationResource.builder() - .metadata(Metadata.builder() - .id("ec31bfbd-ab5c-490d-8e83-3c1ea5d1bedf") - .url("/v2/apps/ec31bfbd-ab5c-490d-8e83-3c1ea5d1bedf") - .createdAt("2015-07-27T22:43:20Z") - .updatedAt("2015-07-27T22:43:20Z") - .build()) - .entity(ApplicationEntity.builder() - .console(false) - .detectedStartCommand("") - .diego(false) - .diskQuota(1024) - .dockerCredentials(DockerCredentials.builder().build()) - .enableSsh(true) - .eventsUrl("/v2/apps/ec31bfbd-ab5c-490d-8e83-3c1ea5d1bedf/events") - .healthCheckType("port") - .instances(1) - .memory(1024) - .name("name-771") - .packageState("PENDING") - .packageUpdatedAt("2015-07-27T22:43:20Z") - .production(false) - .routesUrl("/v2/apps/ec31bfbd-ab5c-490d-8e83-3c1ea5d1bedf/routes") - .routeMappingsUrl("/v2/apps/ec31bfbd-ab5c-490d-8e83-3c1ea5d1bedf/route_mappings") - .serviceBindingsUrl - ("/v2/apps/ec31bfbd-ab5c-490d-8e83-3c1ea5d1bedf/service_bindings") - .spaceId("e438b2bf-17d6-4265-8813-18e0ab95c029") - .spaceUrl("/v2/spaces/e438b2bf-17d6-4265-8813-18e0ab95c029") - .stackId("8d42ba27-60df-420e-9208-535e753b706a") - .stackUrl("/v2/stacks/8d42ba27-60df-420e-9208-535e753b706a") - .state("STOPPED") - .version("8e74d312-1bc9-4953-b4fe-d2613ea4972a") - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .list(ListApplicationsRequest.builder().name("test-name").page(-1).build()) + .as(StepVerifier::create) + .expectNext( + ListApplicationsResponse.builder() + .totalResults(3) + .totalPages(1) + .resource( + ApplicationResource.builder() + .metadata( + Metadata.builder() + .id( + "3d294ed0-105c-4ccd-8f79-5605d6b7198c") + .url( + "/v2/apps/3d294ed0-105c-4ccd-8f79-5605d6b7198c") + .createdAt("2015-07-27T22:43:20Z") + .updatedAt("2015-07-27T22:43:20Z") + .build()) + .entity( + ApplicationEntity.builder() + .console(false) + .detectedStartCommand("") + .diego(false) + .diskQuota(1024) + .dockerCredentials( + DockerCredentials.builder() + .build()) + .enableSsh(true) + .eventsUrl( + "/v2/apps/3d294ed0-105c-4ccd-8f79-5605d6b7198c/events") + .healthCheckType("port") + .instances(1) + .memory(1024) + .name("name-761") + .packageState("PENDING") + .packageUpdatedAt( + "2015-07-27T22:43:20Z") + .production(false) + .routesUrl( + "/v2/apps/3d294ed0-105c-4ccd-8f79-5605d6b7198c/routes") + .routeMappingsUrl( + "/v2/apps/3d294ed0-105c-4ccd-8f79-5605d6b7198c/route_mappings") + .serviceBindingsUrl( + "/v2/apps/3d294ed0-105c-4ccd-8f79-5605d6b7198c/service_bindings") + .spaceId( + "30d5165d-0bef-4103-97cd-72269b9d7a4c") + .spaceUrl( + "/v2/spaces/30d5165d-0bef-4103-97cd-72269b9d7a4c") + .stackId( + "d3476df6-534d-4140-b85b-401fa4923234") + .stackUrl( + "/v2/stacks/d3476df6-534d-4140-b85b-401fa4923234") + .state("STOPPED") + .version( + "3ca77d11-93e0-4a60-bab5-30f38b8a8649") + .build()) + .build()) + .resource( + ApplicationResource.builder() + .metadata( + Metadata.builder() + .id( + "522c5382-29e9-48aa-9db0-9f6cfa643ec1") + .url( + "/v2/apps/522c5382-29e9-48aa-9db0-9f6cfa643ec1") + .createdAt("2015-07-27T22:43:20Z") + .updatedAt("2015-07-27T22:43:20Z") + .build()) + .entity( + ApplicationEntity.builder() + .console(false) + .detectedStartCommand("") + .diego(false) + .diskQuota(1024) + .dockerCredentials( + DockerCredentials.builder() + .build()) + .enableSsh(true) + .eventsUrl( + "/v2/apps/522c5382-29e9-48aa-9db0-9f6cfa643ec1/events") + .healthCheckType("port") + .instances(1) + .memory(1024) + .name("name-766") + .packageState("PENDING") + .packageUpdatedAt( + "2015-07-27T22:43:20Z") + .production(false) + .routesUrl( + "/v2/apps/522c5382-29e9-48aa-9db0-9f6cfa643ec1/routes") + .routeMappingsUrl( + "/v2/apps/522c5382-29e9-48aa-9db0-9f6cfa643ec1/route_mappings") + .serviceBindingsUrl( + "/v2/apps/522c5382-29e9-48aa-9db0-9f6cfa643ec1/service_bindings") + .spaceId( + "cf929611-97ab-4c42-93e5-9ec26e26f456") + .spaceUrl( + "/v2/spaces/cf929611-97ab-4c42-93e5-9ec26e26f456") + .stackId( + "14b4a0b7-7c7b-4cf2-99f0-cc3ed1473f09") + .stackUrl( + "/v2/stacks/14b4a0b7-7c7b-4cf2-99f0-cc3ed1473f09") + .state("STOPPED") + .version( + "cddf0ec1-acf6-48e7-831b-884972cb7ac3") + .build()) + .build()) + .resource( + ApplicationResource.builder() + .metadata( + Metadata.builder() + .id( + "ec31bfbd-ab5c-490d-8e83-3c1ea5d1bedf") + .url( + "/v2/apps/ec31bfbd-ab5c-490d-8e83-3c1ea5d1bedf") + .createdAt("2015-07-27T22:43:20Z") + .updatedAt("2015-07-27T22:43:20Z") + .build()) + .entity( + ApplicationEntity.builder() + .console(false) + .detectedStartCommand("") + .diego(false) + .diskQuota(1024) + .dockerCredentials( + DockerCredentials.builder() + .build()) + .enableSsh(true) + .eventsUrl( + "/v2/apps/ec31bfbd-ab5c-490d-8e83-3c1ea5d1bedf/events") + .healthCheckType("port") + .instances(1) + .memory(1024) + .name("name-771") + .packageState("PENDING") + .packageUpdatedAt( + "2015-07-27T22:43:20Z") + .production(false) + .routesUrl( + "/v2/apps/ec31bfbd-ab5c-490d-8e83-3c1ea5d1bedf/routes") + .routeMappingsUrl( + "/v2/apps/ec31bfbd-ab5c-490d-8e83-3c1ea5d1bedf/route_mappings") + .serviceBindingsUrl( + "/v2/apps/ec31bfbd-ab5c-490d-8e83-3c1ea5d1bedf/service_bindings") + .spaceId( + "e438b2bf-17d6-4265-8813-18e0ab95c029") + .spaceUrl( + "/v2/spaces/e438b2bf-17d6-4265-8813-18e0ab95c029") + .stackId( + "8d42ba27-60df-420e-9208-535e753b706a") + .stackUrl( + "/v2/stacks/8d42ba27-60df-420e-9208-535e753b706a") + .state("STOPPED") + .version( + "8e74d312-1bc9-4953-b4fe-d2613ea4972a") + .build()) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void listRoutes() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/apps/test-application-id/routes?page=-1") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/apps/GET_{id}_routes_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/apps/test-application-id/routes?page=-1") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/apps/GET_{id}_routes_response.json") + .build()) + .build()); this.applications - .listRoutes(ListApplicationRoutesRequest.builder() - .applicationId("test-application-id") - .page(-1) - .build()) - .as(StepVerifier::create) - .expectNext(ListApplicationRoutesResponse.builder() - .totalResults(1) - .totalPages(1) - .resource(RouteResource.builder() - .metadata(Metadata.builder() - .id("893e7d4e-2038-4253-8dd6-1e056d5b24b3") - .url("/v2/routes/893e7d4e-2038-4253-8dd6-1e056d5b24b3") - .createdAt("2016-03-17T21:41:11Z") - .build()) - .entity(RouteEntity.builder() - .host("host-1") - .path("") - .domainId("b7174cc3-c108-40a6-bc21-87da4475b759") - .spaceId("ccba126a-e222-4845-82fd-5b84a805158a") - .port(0) - .domainUrl("/v2/domains/b7174cc3-c108-40a6-bc21-87da4475b759") - .spaceUrl("/v2/spaces/ccba126a-e222-4845-82fd-5b84a805158a") - .applicationsUrl("/v2/routes/893e7d4e-2038-4253-8dd6-1e056d5b24b3/apps") - .routeMappingsUrl("/v2/routes/893e7d4e-2038-4253-8dd6-1e056d5b24b3/route_mappings") - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .listRoutes( + ListApplicationRoutesRequest.builder() + .applicationId("test-application-id") + .page(-1) + .build()) + .as(StepVerifier::create) + .expectNext( + ListApplicationRoutesResponse.builder() + .totalResults(1) + .totalPages(1) + .resource( + RouteResource.builder() + .metadata( + Metadata.builder() + .id( + "893e7d4e-2038-4253-8dd6-1e056d5b24b3") + .url( + "/v2/routes/893e7d4e-2038-4253-8dd6-1e056d5b24b3") + .createdAt("2016-03-17T21:41:11Z") + .build()) + .entity( + RouteEntity.builder() + .host("host-1") + .path("") + .domainId( + "b7174cc3-c108-40a6-bc21-87da4475b759") + .spaceId( + "ccba126a-e222-4845-82fd-5b84a805158a") + .port(0) + .domainUrl( + "/v2/domains/b7174cc3-c108-40a6-bc21-87da4475b759") + .spaceUrl( + "/v2/spaces/ccba126a-e222-4845-82fd-5b84a805158a") + .applicationsUrl( + "/v2/routes/893e7d4e-2038-4253-8dd6-1e056d5b24b3/apps") + .routeMappingsUrl( + "/v2/routes/893e7d4e-2038-4253-8dd6-1e056d5b24b3/route_mappings") + .build()) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void listServiceBindings() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/apps/test-application-id/service_bindings?q=service_instance_guid%3Atest-instance-id&page=-1") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/apps/GET_{id}_service_bindings_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path( + "/apps/test-application-id/service_bindings?q=service_instance_guid%3Atest-instance-id&page=-1") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/apps/GET_{id}_service_bindings_response.json") + .build()) + .build()); this.applications - .listServiceBindings(ListApplicationServiceBindingsRequest.builder() - .applicationId("test-application-id") - .serviceInstanceId("test-instance-id") - .page(-1) - .build()) - .as(StepVerifier::create) - .expectNext(ListApplicationServiceBindingsResponse.builder() - .totalResults(1) - .totalPages(1) - .resource(ServiceBindingResource.builder() - .metadata(Metadata.builder() - .createdAt("2015-07-27T22:43:20Z") - .id("42eda707-fe4d-4eed-9b39-7cb5e665c226") - .url("/v2/service_bindings/42eda707-fe4d-4eed-9b39-7cb5e665c226") - .build()) - .entity(ServiceBindingEntity.builder() - .applicationId("26ddc1de-3eeb-424b-82f3-f7f30a38b610") - .bindingOptions(Collections.emptyMap()) - .serviceInstanceId("650d0eb7-3b83-414a-82a0-d503d1c8eb5f") - .credential("creds-key-356", "creds-val-356") - .gatewayName("") - .applicationUrl("/v2/apps/26ddc1de-3eeb-424b-82f3-f7f30a38b610") - .serviceInstanceUrl("/v2/service_instances/650d0eb7-3b83-414a-82a0-d503d1c8eb5f") - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .listServiceBindings( + ListApplicationServiceBindingsRequest.builder() + .applicationId("test-application-id") + .serviceInstanceId("test-instance-id") + .page(-1) + .build()) + .as(StepVerifier::create) + .expectNext( + ListApplicationServiceBindingsResponse.builder() + .totalResults(1) + .totalPages(1) + .resource( + ServiceBindingResource.builder() + .metadata( + Metadata.builder() + .createdAt("2015-07-27T22:43:20Z") + .id( + "42eda707-fe4d-4eed-9b39-7cb5e665c226") + .url( + "/v2/service_bindings/42eda707-fe4d-4eed-9b39-7cb5e665c226") + .build()) + .entity( + ServiceBindingEntity.builder() + .applicationId( + "26ddc1de-3eeb-424b-82f3-f7f30a38b610") + .bindingOptions( + Collections.emptyMap()) + .serviceInstanceId( + "650d0eb7-3b83-414a-82a0-d503d1c8eb5f") + .credential( + "creds-key-356", + "creds-val-356") + .gatewayName("") + .applicationUrl( + "/v2/apps/26ddc1de-3eeb-424b-82f3-f7f30a38b610") + .serviceInstanceUrl( + "/v2/service_instances/650d0eb7-3b83-414a-82a0-d503d1c8eb5f") + .build()) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void removeRoute() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(DELETE).path("/apps/test-application-id/routes/test-route-id") - .build()) - .response(TestResponse.builder() - .status(NO_CONTENT) - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(DELETE) + .path("/apps/test-application-id/routes/test-route-id") + .build()) + .response(TestResponse.builder().status(NO_CONTENT).build()) + .build()); this.applications - .removeRoute(RemoveApplicationRouteRequest.builder() - .applicationId("test-application-id") - .routeId("test-route-id") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .removeRoute( + RemoveApplicationRouteRequest.builder() + .applicationId("test-application-id") + .routeId("test-route-id") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void removeServiceBinding() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(DELETE).path("/apps/test-application-id/service_bindings/test-service-binding-id") - .build()) - .response(TestResponse.builder() - .status(NO_CONTENT) - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(DELETE) + .path( + "/apps/test-application-id/service_bindings/test-service-binding-id") + .build()) + .response(TestResponse.builder().status(NO_CONTENT).build()) + .build()); this.applications - .removeServiceBinding(RemoveApplicationServiceBindingRequest.builder() - .applicationId("test-application-id") - .serviceBindingId("test-service-binding-id") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .removeServiceBinding( + RemoveApplicationServiceBindingRequest.builder() + .applicationId("test-application-id") + .serviceBindingId("test-service-binding-id") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @SuppressWarnings("deprecation") @Test public void restage() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(POST).path("/apps/test-application-id/restage") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/apps/POST_{id}_restage_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(POST) + .path("/apps/test-application-id/restage") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/apps/POST_{id}_restage_response.json") + .build()) + .build()); this.applications - .restage(RestageApplicationRequest.builder() - .applicationId("test-application-id") - .build()) - .as(StepVerifier::create) - .expectNext(RestageApplicationResponse.builder() - .metadata(Metadata.builder() - .createdAt("2015-07-27T22:43:33Z") - .id("2c6b3d3c-47bb-4060-be49-a56496ab57d4") - .url("/v2/apps/2c6b3d3c-47bb-4060-be49-a56496ab57d4") - .updatedAt("2015-07-27T22:43:33Z") - .build()) - .entity(RestageApplicationEntity.builder() - .name("name-2307") - .production(false) - .spaceId("1b59d670-770e-48b7-9056-b2eb64c8445d") - .stackId("ae6c816a-887f-44a4-af1a-a611902ba09c") - .environmentJsons(Collections.emptyMap()) - .memory(1024) - .instances(1) - .diskQuota(1024) - .state("STARTED") - .version("102573ce-4e28-4271-b042-3539098c7b30") - .console(false) - .packageState("PENDING") - .healthCheckType("port") - .diego(false) - .ports(Collections.emptyList()) - .packageUpdatedAt("2015-07-27T22:43:33Z") - .detectedStartCommand("") - .enableSsh(true) - .dockerCredentials(DockerCredentials.builder().build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .restage( + RestageApplicationRequest.builder() + .applicationId("test-application-id") + .build()) + .as(StepVerifier::create) + .expectNext( + RestageApplicationResponse.builder() + .metadata( + Metadata.builder() + .createdAt("2015-07-27T22:43:33Z") + .id("2c6b3d3c-47bb-4060-be49-a56496ab57d4") + .url( + "/v2/apps/2c6b3d3c-47bb-4060-be49-a56496ab57d4") + .updatedAt("2015-07-27T22:43:33Z") + .build()) + .entity( + RestageApplicationEntity.builder() + .name("name-2307") + .production(false) + .spaceId("1b59d670-770e-48b7-9056-b2eb64c8445d") + .stackId("ae6c816a-887f-44a4-af1a-a611902ba09c") + .environmentJsons(Collections.emptyMap()) + .memory(1024) + .instances(1) + .diskQuota(1024) + .state("STARTED") + .version("102573ce-4e28-4271-b042-3539098c7b30") + .console(false) + .packageState("PENDING") + .healthCheckType("port") + .diego(false) + .ports(Collections.emptyList()) + .packageUpdatedAt("2015-07-27T22:43:33Z") + .detectedStartCommand("") + .enableSsh(true) + .dockerCredentials( + DockerCredentials.builder().build()) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void statistics() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/apps/test-application-id/stats") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/apps/GET_{id}_stats_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/apps/test-application-id/stats") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/apps/GET_{id}_stats_response.json") + .build()) + .build()); this.applications - .statistics(ApplicationStatisticsRequest.builder() - .applicationId("test-application-id") - .build()) - .as(StepVerifier::create) - .expectNext(ApplicationStatisticsResponse.builder() - .instance("0", InstanceStatistics.builder() - .state("RUNNING") - .isolationSegment("iso-seg-name") - .statistics(org.cloudfoundry.client.v2.applications.Statistics.builder() - .usage(Usage.builder() - .disk(66392064L) - .memory(29880320L) - .cpu(0.13511219703079957d) - .time("2014-06-19 22:37:58 +0000") - .build()) - .name("app_name") - .uri("app_name.example.com") - .host("10.0.0.1") - .port(61035) - .uptime(65007L) - .memoryQuota(536870912L) - .diskQuota(1073741824L) - .fdsQuota(16384) - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .statistics( + ApplicationStatisticsRequest.builder() + .applicationId("test-application-id") + .build()) + .as(StepVerifier::create) + .expectNext( + ApplicationStatisticsResponse.builder() + .instance( + "0", + InstanceStatistics.builder() + .state("RUNNING") + .isolationSegment("iso-seg-name") + .statistics( + org.cloudfoundry.client.v2.applications + .Statistics.builder() + .usage( + Usage.builder() + .disk(66392064L) + .memory(29880320L) + .cpu( + 0.13511219703079957d) + .time( + "2014-06-19" + + " 22:37:58" + + " +0000") + .build()) + .name("app_name") + .uri("app_name.example.com") + .host("10.0.0.1") + .port(61035) + .uptime(65007L) + .memoryQuota(536870912L) + .diskQuota(1073741824L) + .fdsQuota(16384) + .build()) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @SuppressWarnings("deprecation") @Test public void summary() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/apps/test-application-id/summary") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/apps/GET_{id}_summary_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/apps/test-application-id/summary") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/apps/GET_{id}_summary_response.json") + .build()) + .build()); this.applications - .summary(SummaryApplicationRequest.builder() - .applicationId("test-application-id") - .build()) - .as(StepVerifier::create) - .expectNext(SummaryApplicationResponse.builder() - .id("2ee5ef3f-3884-4240-ab99-c747ea21663b") - .name("name-1136") - .route(Route.builder() - .id("704e6015-9785-42a3-b23c-06598154594d") - .host("host-23") - .path("") - .domain(Domain.builder() - .id("ebddac49-b094-4ce7-8c9b-0e00b4bc7525") - .name("domain-72.example.com") - .build()) - .build()) - .runningInstances(0) - .service(ServiceInstance.builder() - .id("01826f41-9d8b-4458-88c6-9b8ddb04d0e8") - .name("name-1138") - .boundApplicationCount(1) - .servicePlan(builder() - .id("6dce1c90-929b-466c-98d1-1b856dc6e221") - .name("name-1139") - .service(Service.builder() - .id("994dae37-1a53-4959-aaa6-ba85e77d35e6") - .label("label-46") - .build()) - .build()) - .build()) - .availableDomain(Domain.builder() - .id("ebddac49-b094-4ce7-8c9b-0e00b4bc7525") - .name("domain-72.example.com") - .owningOrganizationId("48e781a9-3ccd-469c-a5cc-91bc86722924") - .build()) - .availableDomain(Domain.builder() - .id("4f6e6f6e-695a-44df-816b-3d48ec05702b") - .name("customer-app-domain1.com") - .build()) - .availableDomain(Domain.builder() - .id("43c8f83f-95b4-46fe-94cc-7748565d9a2b") - .name("customer-app-domain2.com") - .build()) - .production(false) - .spaceId("1fa31e11-a974-45b6-873c-ef690ce93e2b") - .stackId("4a447da1-c518-4acb-b691-8d370df83b48") - .memory(1_024) - .instances(1) - .diskQuota(1_024) - .state("STOPPED") - .version("0a5fecd5-d790-43cc-a9bf-640db1b00b1b") - .console(false) - .packageState("PENDING") - .healthCheckType("port") - .diego(false) - .packageUpdatedAt("2016-04-22T19:33:29Z") - .ports(Collections.emptyList()) - .detectedStartCommand("") - .enableSsh(true) - .dockerCredentials(DockerCredentials.builder().build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .summary( + SummaryApplicationRequest.builder() + .applicationId("test-application-id") + .build()) + .as(StepVerifier::create) + .expectNext( + SummaryApplicationResponse.builder() + .id("2ee5ef3f-3884-4240-ab99-c747ea21663b") + .name("name-1136") + .route( + Route.builder() + .id("704e6015-9785-42a3-b23c-06598154594d") + .host("host-23") + .path("") + .domain( + Domain.builder() + .id( + "ebddac49-b094-4ce7-8c9b-0e00b4bc7525") + .name("domain-72.example.com") + .build()) + .build()) + .runningInstances(0) + .service( + ServiceInstance.builder() + .id("01826f41-9d8b-4458-88c6-9b8ddb04d0e8") + .name("name-1138") + .boundApplicationCount(1) + .servicePlan( + builder() + .id( + "6dce1c90-929b-466c-98d1-1b856dc6e221") + .name("name-1139") + .service( + Service.builder() + .id( + "994dae37-1a53-4959-aaa6-ba85e77d35e6") + .label("label-46") + .build()) + .build()) + .build()) + .availableDomain( + Domain.builder() + .id("ebddac49-b094-4ce7-8c9b-0e00b4bc7525") + .name("domain-72.example.com") + .owningOrganizationId( + "48e781a9-3ccd-469c-a5cc-91bc86722924") + .build()) + .availableDomain( + Domain.builder() + .id("4f6e6f6e-695a-44df-816b-3d48ec05702b") + .name("customer-app-domain1.com") + .build()) + .availableDomain( + Domain.builder() + .id("43c8f83f-95b4-46fe-94cc-7748565d9a2b") + .name("customer-app-domain2.com") + .build()) + .production(false) + .spaceId("1fa31e11-a974-45b6-873c-ef690ce93e2b") + .stackId("4a447da1-c518-4acb-b691-8d370df83b48") + .memory(1_024) + .instances(1) + .diskQuota(1_024) + .state("STOPPED") + .version("0a5fecd5-d790-43cc-a9bf-640db1b00b1b") + .console(false) + .packageState("PENDING") + .healthCheckType("port") + .diego(false) + .packageUpdatedAt("2016-04-22T19:33:29Z") + .ports(Collections.emptyList()) + .detectedStartCommand("") + .enableSsh(true) + .dockerCredentials(DockerCredentials.builder().build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void terminateInstance() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(DELETE).path("/apps/test-application-id/instances/0") - .build()) - .response(TestResponse.builder() - .status(NO_CONTENT) - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(DELETE) + .path("/apps/test-application-id/instances/0") + .build()) + .response(TestResponse.builder().status(NO_CONTENT).build()) + .build()); this.applications - .terminateInstance(TerminateApplicationInstanceRequest.builder() - .applicationId("test-application-id") - .index("0") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .terminateInstance( + TerminateApplicationInstanceRequest.builder() + .applicationId("test-application-id") + .index("0") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @SuppressWarnings("deprecation") @Test public void update() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(PUT).path("/apps/test-application-id") - .payload("fixtures/client/v2/apps/PUT_{id}_request.json") - .build()) - .response(TestResponse.builder() - .status(CREATED) - .payload("fixtures/client/v2/apps/PUT_{id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(PUT) + .path("/apps/test-application-id") + .payload("fixtures/client/v2/apps/PUT_{id}_request.json") + .build()) + .response( + TestResponse.builder() + .status(CREATED) + .payload("fixtures/client/v2/apps/PUT_{id}_response.json") + .build()) + .build()); this.applications - .update(UpdateApplicationRequest.builder() - .applicationId("test-application-id") - .name("new_name") - .environmentJsons(Collections.emptyMap()) - .build()) - .as(StepVerifier::create) - .expectNext(UpdateApplicationResponse.builder() - .entity(ApplicationEntity.builder() - .name("new_name") - .production(false) - .spaceId("701aebe5-92fd-44cf-a7e6-bc54685c32ea") - .stackId("2cdc06a4-cb6e-4191-9ce8-b6bca4a16aaf") - .environmentJsons(Collections.emptyMap()) - .memory(1024) - .instances(1) - .diskQuota(1024) - .state("STOPPED") - .version("89c2beaa-5f16-49f2-bf8c-cbe49edf555b") - .console(false) - .packageState("PENDING") - .healthCheckType("port") - .diego(false) - .packageUpdatedAt("2015-07-27T22:43:21Z") - .detectedStartCommand("") - .ports(Collections.emptyList()) - .enableSsh(true) - .dockerCredentials(DockerCredentials.builder().build()) - .spaceUrl("/v2/spaces/701aebe5-92fd-44cf-a7e6-bc54685c32ea") - .stackUrl("/v2/stacks/2cdc06a4-cb6e-4191-9ce8-b6bca4a16aaf") - .eventsUrl("/v2/apps/0c71909b-3d44-49c3-b65d-13894d70972c/events") - .serviceBindingsUrl("/v2/apps/0c71909b-3d44-49c3-b65d-13894d70972c/service_bindings") - .routesUrl("/v2/apps/0c71909b-3d44-49c3-b65d-13894d70972c/routes") - .routeMappingsUrl("/v2/apps/0c71909b-3d44-49c3-b65d-13894d70972c/route_mappings") - .build()) - .metadata(Metadata.builder() - .updatedAt("2015-07-27T22:43:21Z") - .createdAt("2015-07-27T22:43:21Z") - .id("0c71909b-3d44-49c3-b65d-13894d70972c") - .url("/v2/apps/0c71909b-3d44-49c3-b65d-13894d70972c") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .update( + UpdateApplicationRequest.builder() + .applicationId("test-application-id") + .name("new_name") + .environmentJsons(Collections.emptyMap()) + .build()) + .as(StepVerifier::create) + .expectNext( + UpdateApplicationResponse.builder() + .entity( + ApplicationEntity.builder() + .name("new_name") + .production(false) + .spaceId("701aebe5-92fd-44cf-a7e6-bc54685c32ea") + .stackId("2cdc06a4-cb6e-4191-9ce8-b6bca4a16aaf") + .environmentJsons(Collections.emptyMap()) + .memory(1024) + .instances(1) + .diskQuota(1024) + .state("STOPPED") + .version("89c2beaa-5f16-49f2-bf8c-cbe49edf555b") + .console(false) + .packageState("PENDING") + .healthCheckType("port") + .diego(false) + .packageUpdatedAt("2015-07-27T22:43:21Z") + .detectedStartCommand("") + .ports(Collections.emptyList()) + .enableSsh(true) + .dockerCredentials( + DockerCredentials.builder().build()) + .spaceUrl( + "/v2/spaces/701aebe5-92fd-44cf-a7e6-bc54685c32ea") + .stackUrl( + "/v2/stacks/2cdc06a4-cb6e-4191-9ce8-b6bca4a16aaf") + .eventsUrl( + "/v2/apps/0c71909b-3d44-49c3-b65d-13894d70972c/events") + .serviceBindingsUrl( + "/v2/apps/0c71909b-3d44-49c3-b65d-13894d70972c/service_bindings") + .routesUrl( + "/v2/apps/0c71909b-3d44-49c3-b65d-13894d70972c/routes") + .routeMappingsUrl( + "/v2/apps/0c71909b-3d44-49c3-b65d-13894d70972c/route_mappings") + .build()) + .metadata( + Metadata.builder() + .updatedAt("2015-07-27T22:43:21Z") + .createdAt("2015-07-27T22:43:21Z") + .id("0c71909b-3d44-49c3-b65d-13894d70972c") + .url( + "/v2/apps/0c71909b-3d44-49c3-b65d-13894d70972c") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void upload() throws IOException { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(PUT).path("/apps/test-application-id/bits") - .contents(consumer((headers, body) -> { - String boundary = extractBoundary(headers); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(PUT) + .path("/apps/test-application-id/bits") + .contents( + consumer( + (headers, body) -> { + String boundary = + extractBoundary(headers); - assertThat(body.readString(Charset.defaultCharset())) - .isEqualTo("--" + boundary + "\r\n" + - "content-disposition: form-data; name=\"resources\"\r\n" + - "content-length: 178\r\n" + - "content-type: application/json\r\n" + - "content-transfer-encoding: binary\r\n" + - "\r\n" + - "[{\"sha1\":\"b907173290db6a155949ab4dc9b2d019dea0c901\",\"fn\":\"path/to/content.txt\",\"size\":123}," + - "{\"sha1\":\"ff84f89760317996b9dd180ab996b079f418396f\",\"fn\":\"path/to/code.jar\",\"size\":123}]" + - "\r\n" + "--" + boundary + "\r\n" + - "content-disposition: form-data; name=\"application\"; filename=\"test-application.zip\"\r\n" + - "content-length: 12\r\n" + - "content-type: application/zip\r\n" + - "content-transfer-encoding: binary\r\n" + - "\r\n" + - "test-content" + - "\r\n" + - "--" + boundary + "--\r\n"); - })) - .build()) - .response(TestResponse.builder() - .status(CREATED) - .payload("fixtures/client/v2/apps/PUT_{id}_bits_response.json") - .build()) - .build()); + assertThat( + body.readString( + Charset + .defaultCharset())) + .isEqualTo( + "--" + + boundary + + "\r\n" + + "content-disposition:" + + " form-data;" + + " name=\"resources\"\r\n" + + "content-length:" + + " 178\r\n" + + "content-type:" + + " application/json\r\n" + + "content-transfer-encoding:" + + " binary\r\n" + + "\r\n" + + "[{\"sha1\":\"b907173290db6a155949ab4dc9b2d019dea0c901\",\"fn\":\"path/to/content.txt\",\"size\":123},{\"sha1\":\"ff84f89760317996b9dd180ab996b079f418396f\",\"fn\":\"path/to/code.jar\",\"size\":123}]\r\n" + + "--" + + boundary + + "\r\n" + + "content-disposition:" + + " form-data;" + + " name=\"application\";" + + " filename=\"test-application.zip\"\r\n" + + "content-length:" + + " 12\r\n" + + "content-type:" + + " application/zip\r\n" + + "content-transfer-encoding:" + + " binary\r\n" + + "\r\n" + + "test-content\r\n" + + "--" + + boundary + + "--\r\n"); + })) + .build()) + .response( + TestResponse.builder() + .status(CREATED) + .payload( + "fixtures/client/v2/apps/PUT_{id}_bits_response.json") + .build()) + .build()); this.applications - .upload(UploadApplicationRequest.builder() - .application(new ClassPathResource("fixtures/client/v2/apps/test-application.zip").getFile().toPath()) - .applicationId("test-application-id") - .resource(Resource.builder() - .hash("b907173290db6a155949ab4dc9b2d019dea0c901") - .path("path/to/content.txt") - .size(123) - .build()) - .resource(Resource.builder() - .hash("ff84f89760317996b9dd180ab996b079f418396f") - .path("path/to/code.jar") - .size(123) - .build()) - .build()) - .as(StepVerifier::create) - .expectNext(UploadApplicationResponse.builder() - .entity(JobEntity.builder() - .id("eff6a47e-67a1-4e3b-99a5-4f9bcab7620a") - .status("queued") - .build()) - .metadata(Metadata.builder() - .createdAt("2015-07-27T22:43:33Z") - .id("eff6a47e-67a1-4e3b-99a5-4f9bcab7620a") - .url("/v2/jobs/eff6a47e-67a1-4e3b-99a5-4f9bcab7620a") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .upload( + UploadApplicationRequest.builder() + .application( + new ClassPathResource( + "fixtures/client/v2/apps/test-application.zip") + .getFile() + .toPath()) + .applicationId("test-application-id") + .resource( + Resource.builder() + .hash("b907173290db6a155949ab4dc9b2d019dea0c901") + .path("path/to/content.txt") + .size(123) + .build()) + .resource( + Resource.builder() + .hash("ff84f89760317996b9dd180ab996b079f418396f") + .path("path/to/code.jar") + .size(123) + .build()) + .build()) + .as(StepVerifier::create) + .expectNext( + UploadApplicationResponse.builder() + .entity( + JobEntity.builder() + .id("eff6a47e-67a1-4e3b-99a5-4f9bcab7620a") + .status("queued") + .build()) + .metadata( + Metadata.builder() + .createdAt("2015-07-27T22:43:33Z") + .id("eff6a47e-67a1-4e3b-99a5-4f9bcab7620a") + .url( + "/v2/jobs/eff6a47e-67a1-4e3b-99a5-4f9bcab7620a") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void uploadDroplet() throws IOException { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(PUT).path("/apps/test-application-id/droplet/upload") - .contents(consumer((headers, body) -> { - String boundary = extractBoundary(headers); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(PUT) + .path("/apps/test-application-id/droplet/upload") + .contents( + consumer( + (headers, body) -> { + String boundary = + extractBoundary(headers); - assertThat(body.readString(Charset.defaultCharset())) - .isEqualTo("--" + boundary + "\r\n" + - "content-disposition: form-data; name=\"droplet\"; filename=\"test-droplet.tgz\"\r\n" + - "content-length: 12\r\n" + - "content-type: application/octet-stream\r\n" + - "content-transfer-encoding: binary\r\n" + - "\r\n" + - "test-content" + - "\r\n" + - "--" + boundary + "--\r\n"); - })) - .build()) - .response(TestResponse.builder() - .status(CREATED) - .payload("fixtures/client/v2/apps/PUT_{id}_droplet_upload_response.json") - .build()) - .build()); + assertThat( + body.readString( + Charset + .defaultCharset())) + .isEqualTo( + "--" + + boundary + + "\r\n" + + "content-disposition:" + + " form-data;" + + " name=\"droplet\";" + + " filename=\"test-droplet.tgz\"\r\n" + + "content-length:" + + " 12\r\n" + + "content-type:" + + " application/octet-stream\r\n" + + "content-transfer-encoding:" + + " binary\r\n" + + "\r\n" + + "test-content\r\n" + + "--" + + boundary + + "--\r\n"); + })) + .build()) + .response( + TestResponse.builder() + .status(CREATED) + .payload( + "fixtures/client/v2/apps/PUT_{id}_droplet_upload_response.json") + .build()) + .build()); this.applications - .uploadDroplet(UploadApplicationDropletRequest.builder() - .droplet(new ClassPathResource("fixtures/client/v2/apps/test-droplet.tgz").getFile().toPath()) - .applicationId("test-application-id") - .build()) - .as(StepVerifier::create) - .expectNext(UploadApplicationDropletResponse.builder() - .entity(JobEntity.builder() - .id("8d321cee-8633-42e9-a021-78876d0d389c") - .status("queued") - .build()) - .metadata(Metadata.builder() - .createdAt("2016-06-08T16:41:21Z") - .id("8d321cee-8633-42e9-a021-78876d0d389c") - .url("/v2/jobs/8d321cee-8633-42e9-a021-78876d0d389c") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .uploadDroplet( + UploadApplicationDropletRequest.builder() + .droplet( + new ClassPathResource( + "fixtures/client/v2/apps/test-droplet.tgz") + .getFile() + .toPath()) + .applicationId("test-application-id") + .build()) + .as(StepVerifier::create) + .expectNext( + UploadApplicationDropletResponse.builder() + .entity( + JobEntity.builder() + .id("8d321cee-8633-42e9-a021-78876d0d389c") + .status("queued") + .build()) + .metadata( + Metadata.builder() + .createdAt("2016-06-08T16:41:21Z") + .id("8d321cee-8633-42e9-a021-78876d0d389c") + .url( + "/v2/jobs/8d321cee-8633-42e9-a021-78876d0d389c") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } - } diff --git a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/applicationusageevents/ReactorApplicationUsageEventsTest.java b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/applicationusageevents/ReactorApplicationUsageEventsTest.java index 14b5d65530..058947a635 100644 --- a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/applicationusageevents/ReactorApplicationUsageEventsTest.java +++ b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/applicationusageevents/ReactorApplicationUsageEventsTest.java @@ -16,6 +16,13 @@ package org.cloudfoundry.reactor.client.v2.applicationusageevents; +import static io.netty.handler.codec.http.HttpMethod.GET; +import static io.netty.handler.codec.http.HttpMethod.POST; +import static io.netty.handler.codec.http.HttpResponseStatus.NO_CONTENT; +import static io.netty.handler.codec.http.HttpResponseStatus.OK; + +import java.time.Duration; +import java.util.Collections; import org.cloudfoundry.client.v2.Metadata; import org.cloudfoundry.client.v2.applicationusageevents.ApplicationUsageEventEntity; import org.cloudfoundry.client.v2.applicationusageevents.ApplicationUsageEventResource; @@ -31,125 +38,153 @@ import org.junit.Test; import reactor.test.StepVerifier; -import java.time.Duration; -import java.util.Collections; - -import static io.netty.handler.codec.http.HttpMethod.GET; -import static io.netty.handler.codec.http.HttpMethod.POST; -import static io.netty.handler.codec.http.HttpResponseStatus.NO_CONTENT; -import static io.netty.handler.codec.http.HttpResponseStatus.OK; - public final class ReactorApplicationUsageEventsTest extends AbstractClientApiTest { - private final ReactorApplicationUsageEvents applicationUsageEvents = new ReactorApplicationUsageEvents(CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); + private final ReactorApplicationUsageEvents applicationUsageEvents = + new ReactorApplicationUsageEvents( + CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); @Test public void get() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/app_usage_events/caac0ed4-febf-48a4-951f-c0a7fadf6a68") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/app_usage_events/GET_{id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path( + "/app_usage_events/caac0ed4-febf-48a4-951f-c0a7fadf6a68") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/app_usage_events/GET_{id}_response.json") + .build()) + .build()); this.applicationUsageEvents - .get(GetApplicationUsageEventRequest.builder() - .applicationUsageEventId("caac0ed4-febf-48a4-951f-c0a7fadf6a68") - .build()) - .as(StepVerifier::create) - .expectNext(GetApplicationUsageEventResponse.builder() - .metadata(Metadata.builder() - .createdAt("2016-03-17T21:41:21Z") - .id("caac0ed4-febf-48a4-951f-c0a7fadf6a68") - .url("/v2/app_usage_events/caac0ed4-febf-48a4-951f-c0a7fadf6a68") - .build()) - .entity(ApplicationUsageEventEntity.builder() - .applicationId("guid-8cdd38d1-2c13-46a5-8f5e-e91a6cc4b060") - .applicationName("name-1103") - .buildpackId("guid-1ffac859-4635-41fd-91bb-3ba07768a5ec") - .buildpackName("name-1105") - .instanceCount(1) - .memoryInMbPerInstance(564) - .organizationId("guid-1ed968f6-a9f7-469b-a04f-ed1ebc2df1e7") - .packageState("STAGED") - .processType("web") - .spaceId("guid-9c4485f6-7579-45da-8c07-f62e1bc8c499") - .spaceName("name-1104") - .state("STARTED") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .get( + GetApplicationUsageEventRequest.builder() + .applicationUsageEventId("caac0ed4-febf-48a4-951f-c0a7fadf6a68") + .build()) + .as(StepVerifier::create) + .expectNext( + GetApplicationUsageEventResponse.builder() + .metadata( + Metadata.builder() + .createdAt("2016-03-17T21:41:21Z") + .id("caac0ed4-febf-48a4-951f-c0a7fadf6a68") + .url( + "/v2/app_usage_events/caac0ed4-febf-48a4-951f-c0a7fadf6a68") + .build()) + .entity( + ApplicationUsageEventEntity.builder() + .applicationId( + "guid-8cdd38d1-2c13-46a5-8f5e-e91a6cc4b060") + .applicationName("name-1103") + .buildpackId( + "guid-1ffac859-4635-41fd-91bb-3ba07768a5ec") + .buildpackName("name-1105") + .instanceCount(1) + .memoryInMbPerInstance(564) + .organizationId( + "guid-1ed968f6-a9f7-469b-a04f-ed1ebc2df1e7") + .packageState("STAGED") + .processType("web") + .spaceId( + "guid-9c4485f6-7579-45da-8c07-f62e1bc8c499") + .spaceName("name-1104") + .state("STARTED") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void list() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/app_usage_events?after_guid=f1d8ddec-d36a-4670-acb8-6082a1f1a95f&results-per-page=1") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/app_usage_events/GET_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path( + "/app_usage_events?after_guid=f1d8ddec-d36a-4670-acb8-6082a1f1a95f&results-per-page=1") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/app_usage_events/GET_response.json") + .build()) + .build()); this.applicationUsageEvents - .list(ListApplicationUsageEventsRequest.builder() - .afterApplicationUsageEventId("f1d8ddec-d36a-4670-acb8-6082a1f1a95f") - .resultsPerPage(1) - .build()) - .as(StepVerifier::create) - .expectNext(ListApplicationUsageEventsResponse.builder() - .nextUrl("/v2/app_usage_events?after_guid=f1d8ddec-d36a-4670-acb8-6082a1f1a95f&order-direction=asc&page=2&results-per-page=1") - .totalPages(2) - .totalResults(2) - .resource(ApplicationUsageEventResource.builder() - .metadata(Metadata.builder() - .createdAt("2016-03-14T22:30:38Z") - .id("12dc4396-b7d1-444e-a3b4-9497c4ca0d14") - .url("/v2/app_usage_events/12dc4396-b7d1-444e-a3b4-9497c4ca0d14") - .build()) - .entity(ApplicationUsageEventEntity.builder() - .applicationId("guid-1460025b-eb6a-4459-8f43-0d7db43dc71f") - .applicationName("name-1783") - .buildpackId("guid-c17e9ffa-a1f8-4140-9718-f627be3a3459") - .buildpackName("name-1785") - .instanceCount(1) - .memoryInMbPerInstance(564) - .organizationId("guid-7f111ae5-9017-49f6-afe7-3a175b9f7a79") - .packageState("STAGED") - .processType("web") - .spaceId("guid-766a0db1-6391-4d9e-9ce9-f2f7cdf93190") - .spaceName("name-1784") - .state("STARTED") - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .list( + ListApplicationUsageEventsRequest.builder() + .afterApplicationUsageEventId( + "f1d8ddec-d36a-4670-acb8-6082a1f1a95f") + .resultsPerPage(1) + .build()) + .as(StepVerifier::create) + .expectNext( + ListApplicationUsageEventsResponse.builder() + .nextUrl( + "/v2/app_usage_events?after_guid=f1d8ddec-d36a-4670-acb8-6082a1f1a95f&order-direction=asc&page=2&results-per-page=1") + .totalPages(2) + .totalResults(2) + .resource( + ApplicationUsageEventResource.builder() + .metadata( + Metadata.builder() + .createdAt("2016-03-14T22:30:38Z") + .id( + "12dc4396-b7d1-444e-a3b4-9497c4ca0d14") + .url( + "/v2/app_usage_events/12dc4396-b7d1-444e-a3b4-9497c4ca0d14") + .build()) + .entity( + ApplicationUsageEventEntity.builder() + .applicationId( + "guid-1460025b-eb6a-4459-8f43-0d7db43dc71f") + .applicationName("name-1783") + .buildpackId( + "guid-c17e9ffa-a1f8-4140-9718-f627be3a3459") + .buildpackName("name-1785") + .instanceCount(1) + .memoryInMbPerInstance(564) + .organizationId( + "guid-7f111ae5-9017-49f6-afe7-3a175b9f7a79") + .packageState("STAGED") + .processType("web") + .spaceId( + "guid-766a0db1-6391-4d9e-9ce9-f2f7cdf93190") + .spaceName("name-1784") + .state("STARTED") + .build()) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void purgeAndReseed() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(POST).path("/app_usage_events/destructively_purge_all_and_reseed_started_apps") - .build()) - .response(TestResponse.builder() - .status(NO_CONTENT) - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(POST) + .path( + "/app_usage_events/destructively_purge_all_and_reseed_started_apps") + .build()) + .response(TestResponse.builder().status(NO_CONTENT).build()) + .build()); this.applicationUsageEvents - .purgeAndReseed(PurgeAndReseedApplicationUsageEventsRequest.builder() - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .purgeAndReseed(PurgeAndReseedApplicationUsageEventsRequest.builder().build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } - } diff --git a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/blobstores/ReactorBlobstoresTest.java b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/blobstores/ReactorBlobstoresTest.java index 86ec55922d..180a60c1d3 100644 --- a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/blobstores/ReactorBlobstoresTest.java +++ b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/blobstores/ReactorBlobstoresTest.java @@ -16,6 +16,11 @@ package org.cloudfoundry.reactor.client.v2.blobstores; +import static io.netty.handler.codec.http.HttpMethod.DELETE; +import static io.netty.handler.codec.http.HttpResponseStatus.OK; + +import java.time.Duration; +import java.util.Collections; import org.cloudfoundry.client.v2.Metadata; import org.cloudfoundry.client.v2.blobstores.DeleteBlobstoreBuildpackCachesRequest; import org.cloudfoundry.client.v2.blobstores.DeleteBlobstoreBuildpackCachesResponse; @@ -27,45 +32,48 @@ import org.junit.Test; import reactor.test.StepVerifier; -import java.time.Duration; -import java.util.Collections; - -import static io.netty.handler.codec.http.HttpMethod.DELETE; -import static io.netty.handler.codec.http.HttpResponseStatus.OK; - public final class ReactorBlobstoresTest extends AbstractClientApiTest { - private ReactorBlobstores blobstores = new ReactorBlobstores(CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); + private ReactorBlobstores blobstores = + new ReactorBlobstores( + CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); @Test public void delete() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(DELETE).path("/blobstores/buildpack_cache") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/blobstores/DELETE_buildpack_cache_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(DELETE) + .path("/blobstores/buildpack_cache") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/blobstores/DELETE_buildpack_cache_response.json") + .build()) + .build()); this.blobstores - .deleteBuildpackCaches(DeleteBlobstoreBuildpackCachesRequest.builder() - .build()) - .as(StepVerifier::create) - .expectNext(DeleteBlobstoreBuildpackCachesResponse.builder() - .metadata(Metadata.builder() - .createdAt("2016-06-08T16:41:31Z") - .id("919a6964-ea88-43cc-9ac1-0dbc3769f743") - .url("/v2/jobs/919a6964-ea88-43cc-9ac1-0dbc3769f743") - .build()) - .entity(JobEntity.builder() - .id("919a6964-ea88-43cc-9ac1-0dbc3769f743") - .status("queued") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .deleteBuildpackCaches(DeleteBlobstoreBuildpackCachesRequest.builder().build()) + .as(StepVerifier::create) + .expectNext( + DeleteBlobstoreBuildpackCachesResponse.builder() + .metadata( + Metadata.builder() + .createdAt("2016-06-08T16:41:31Z") + .id("919a6964-ea88-43cc-9ac1-0dbc3769f743") + .url( + "/v2/jobs/919a6964-ea88-43cc-9ac1-0dbc3769f743") + .build()) + .entity( + JobEntity.builder() + .id("919a6964-ea88-43cc-9ac1-0dbc3769f743") + .status("queued") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } - } diff --git a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/buildpacks/ReactorBuildpacksTest.java b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/buildpacks/ReactorBuildpacksTest.java index aa37b49d90..2f13b65305 100644 --- a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/buildpacks/ReactorBuildpacksTest.java +++ b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/buildpacks/ReactorBuildpacksTest.java @@ -16,6 +16,19 @@ package org.cloudfoundry.reactor.client.v2.buildpacks; +import static io.netty.handler.codec.http.HttpMethod.DELETE; +import static io.netty.handler.codec.http.HttpMethod.GET; +import static io.netty.handler.codec.http.HttpMethod.POST; +import static io.netty.handler.codec.http.HttpMethod.PUT; +import static io.netty.handler.codec.http.HttpResponseStatus.CREATED; +import static io.netty.handler.codec.http.HttpResponseStatus.OK; +import static org.assertj.core.api.Assertions.assertThat; +import static org.cloudfoundry.util.tuple.TupleUtils.consumer; + +import java.io.IOException; +import java.nio.charset.Charset; +import java.time.Duration; +import java.util.Collections; import org.cloudfoundry.client.v2.Metadata; import org.cloudfoundry.client.v2.buildpacks.BuildpackEntity; import org.cloudfoundry.client.v2.buildpacks.BuildpackResource; @@ -40,286 +53,353 @@ import org.springframework.core.io.ClassPathResource; import reactor.test.StepVerifier; -import java.io.IOException; -import java.nio.charset.Charset; -import java.time.Duration; -import java.util.Collections; - -import static io.netty.handler.codec.http.HttpMethod.DELETE; -import static io.netty.handler.codec.http.HttpMethod.GET; -import static io.netty.handler.codec.http.HttpMethod.POST; -import static io.netty.handler.codec.http.HttpMethod.PUT; -import static io.netty.handler.codec.http.HttpResponseStatus.CREATED; -import static io.netty.handler.codec.http.HttpResponseStatus.OK; -import static org.assertj.core.api.Assertions.assertThat; -import static org.cloudfoundry.util.tuple.TupleUtils.consumer; - public final class ReactorBuildpacksTest extends AbstractClientApiTest { - private final ReactorBuildpacks buildpacks = new ReactorBuildpacks(CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); + private final ReactorBuildpacks buildpacks = + new ReactorBuildpacks( + CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); @Test public void create() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(POST).path("/buildpacks") - .payload("fixtures/client/v2/buildpacks/POST_request.json") - .build()) - .response(TestResponse.builder() - .status(CREATED) - .payload("fixtures/client/v2/buildpacks/POST_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(POST) + .path("/buildpacks") + .payload("fixtures/client/v2/buildpacks/POST_request.json") + .build()) + .response( + TestResponse.builder() + .status(CREATED) + .payload("fixtures/client/v2/buildpacks/POST_response.json") + .build()) + .build()); this.buildpacks - .create(CreateBuildpackRequest.builder() - .name("Golang_buildpack") - .build()) - .as(StepVerifier::create) - .expectNext(CreateBuildpackResponse.builder() - .metadata(Metadata.builder() - .createdAt("2016-06-08T16:41:31Z") - .id("11bd4dd1-134e-4d15-b8fe-dd9f36bae66a") - .updatedAt("2016-06-08T16:41:26Z") - .url("/v2/buildpacks/11bd4dd1-134e-4d15-b8fe-dd9f36bae66a") - .build()) - .entity(BuildpackEntity.builder() - .enabled(true) - .locked(false) - .name("Golang_buildpack") - .position(1) - .stack("cflinuxfs2") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .create(CreateBuildpackRequest.builder().name("Golang_buildpack").build()) + .as(StepVerifier::create) + .expectNext( + CreateBuildpackResponse.builder() + .metadata( + Metadata.builder() + .createdAt("2016-06-08T16:41:31Z") + .id("11bd4dd1-134e-4d15-b8fe-dd9f36bae66a") + .updatedAt("2016-06-08T16:41:26Z") + .url( + "/v2/buildpacks/11bd4dd1-134e-4d15-b8fe-dd9f36bae66a") + .build()) + .entity( + BuildpackEntity.builder() + .enabled(true) + .locked(false) + .name("Golang_buildpack") + .position(1) + .stack("cflinuxfs2") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void delete() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(DELETE).path("/buildpacks/test-buildpack-id?async=true") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/buildpacks/DELETE_{id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(DELETE) + .path("/buildpacks/test-buildpack-id?async=true") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/buildpacks/DELETE_{id}_response.json") + .build()) + .build()); this.buildpacks - .delete(DeleteBuildpackRequest.builder() - .async(true) - .buildpackId("test-buildpack-id") - .build()) - .as(StepVerifier::create) - .expectNext(DeleteBuildpackResponse.builder() - .metadata(Metadata.builder() - .createdAt("2015-07-27T22:43:34Z") - .id("c900719e-c70a-4c75-9e6a-9535f118acc3") - .url("/v2/jobs/c900719e-c70a-4c75-9e6a-9535f118acc3") - .build()) - .entity(JobEntity.builder() - .id("c900719e-c70a-4c75-9e6a-9535f118acc3") - .status("queued") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .delete( + DeleteBuildpackRequest.builder() + .async(true) + .buildpackId("test-buildpack-id") + .build()) + .as(StepVerifier::create) + .expectNext( + DeleteBuildpackResponse.builder() + .metadata( + Metadata.builder() + .createdAt("2015-07-27T22:43:34Z") + .id("c900719e-c70a-4c75-9e6a-9535f118acc3") + .url( + "/v2/jobs/c900719e-c70a-4c75-9e6a-9535f118acc3") + .build()) + .entity( + JobEntity.builder() + .id("c900719e-c70a-4c75-9e6a-9535f118acc3") + .status("queued") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void get() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/buildpacks/test-buildpack-id") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/buildpacks/GET_{id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/buildpacks/test-buildpack-id") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/buildpacks/GET_{id}_response.json") + .build()) + .build()); this.buildpacks - .get(GetBuildpackRequest.builder() - .buildpackId("test-buildpack-id") - .build()) - .as(StepVerifier::create) - .expectNext(GetBuildpackResponse.builder() - .metadata(Metadata.builder() - .createdAt("2016-03-17T21:41:28Z") - .id("35d3fa06-08db-4b9e-b2a7-58724a179687") - .url("/v2/buildpacks/35d3fa06-08db-4b9e-b2a7-58724a179687") - .build() - ) - .entity(BuildpackEntity.builder() - .enabled(true) - .filename("name-2302") - .locked(false) - .name("name_1") - .position(1) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .get(GetBuildpackRequest.builder().buildpackId("test-buildpack-id").build()) + .as(StepVerifier::create) + .expectNext( + GetBuildpackResponse.builder() + .metadata( + Metadata.builder() + .createdAt("2016-03-17T21:41:28Z") + .id("35d3fa06-08db-4b9e-b2a7-58724a179687") + .url( + "/v2/buildpacks/35d3fa06-08db-4b9e-b2a7-58724a179687") + .build()) + .entity( + BuildpackEntity.builder() + .enabled(true) + .filename("name-2302") + .locked(false) + .name("name_1") + .position(1) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void list() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/buildpacks?q=name%3Atest-name&page=-1") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/buildpacks/GET_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/buildpacks?q=name%3Atest-name&page=-1") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload("fixtures/client/v2/buildpacks/GET_response.json") + .build()) + .build()); this.buildpacks - .list(ListBuildpacksRequest.builder() - .name("test-name") - .page(-1) - .build()) - .as(StepVerifier::create) - .expectNext(ListBuildpacksResponse.builder() - .totalResults(3) - .totalPages(1) - .resource(BuildpackResource.builder() - .metadata(Metadata.builder() - .id("45203d32-475b-4d55-9d34-3ffc935edd49") - .url("/v2/buildpacks/45203d32-475b-4d55-9d34-3ffc935edd49") - .createdAt("2016-03-17T21:41:28Z") - .build()) - .entity(BuildpackEntity.builder() - .enabled(true) - .filename("name-2308") - .locked(false) - .name("name_1") - .position(1) - .build()) - .build()) - .resource(BuildpackResource.builder() - .metadata(Metadata.builder() - .id("1aeb95ef-7058-495c-b260-dea2e8efb976") - .url("/v2/buildpacks/1aeb95ef-7058-495c-b260-dea2e8efb976") - .createdAt("2016-03-17T21:41:28Z") - .build()) - .entity(BuildpackEntity.builder() - .enabled(true) - .filename("name-2309") - .locked(false) - .name("name_2") - .position(2) - .build()) - .build()) - .resource(BuildpackResource.builder() - .metadata(Metadata.builder() - .id("4dd0046a-7a54-4f57-a31f-06d7e57eb463") - .url("/v2/buildpacks/4dd0046a-7a54-4f57-a31f-06d7e57eb463") - .createdAt("2016-03-17T21:41:28Z") - .build()) - .entity(BuildpackEntity.builder() - .enabled(true) - .filename("name-2310") - .locked(false) - .name("name_3") - .position(3) - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .list(ListBuildpacksRequest.builder().name("test-name").page(-1).build()) + .as(StepVerifier::create) + .expectNext( + ListBuildpacksResponse.builder() + .totalResults(3) + .totalPages(1) + .resource( + BuildpackResource.builder() + .metadata( + Metadata.builder() + .id( + "45203d32-475b-4d55-9d34-3ffc935edd49") + .url( + "/v2/buildpacks/45203d32-475b-4d55-9d34-3ffc935edd49") + .createdAt("2016-03-17T21:41:28Z") + .build()) + .entity( + BuildpackEntity.builder() + .enabled(true) + .filename("name-2308") + .locked(false) + .name("name_1") + .position(1) + .build()) + .build()) + .resource( + BuildpackResource.builder() + .metadata( + Metadata.builder() + .id( + "1aeb95ef-7058-495c-b260-dea2e8efb976") + .url( + "/v2/buildpacks/1aeb95ef-7058-495c-b260-dea2e8efb976") + .createdAt("2016-03-17T21:41:28Z") + .build()) + .entity( + BuildpackEntity.builder() + .enabled(true) + .filename("name-2309") + .locked(false) + .name("name_2") + .position(2) + .build()) + .build()) + .resource( + BuildpackResource.builder() + .metadata( + Metadata.builder() + .id( + "4dd0046a-7a54-4f57-a31f-06d7e57eb463") + .url( + "/v2/buildpacks/4dd0046a-7a54-4f57-a31f-06d7e57eb463") + .createdAt("2016-03-17T21:41:28Z") + .build()) + .entity( + BuildpackEntity.builder() + .enabled(true) + .filename("name-2310") + .locked(false) + .name("name_3") + .position(3) + .build()) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void update() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(PUT).path("/buildpacks/test-buildpack-id") - .payload("fixtures/client/v2/buildpacks/PUT_{id}_request.json") - .build()) - .response(TestResponse.builder() - .status(CREATED) - .payload("fixtures/client/v2/buildpacks/PUT_{id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(PUT) + .path("/buildpacks/test-buildpack-id") + .payload( + "fixtures/client/v2/buildpacks/PUT_{id}_request.json") + .build()) + .response( + TestResponse.builder() + .status(CREATED) + .payload( + "fixtures/client/v2/buildpacks/PUT_{id}_response.json") + .build()) + .build()); this.buildpacks - .update(UpdateBuildpackRequest.builder() - .buildpackId("test-buildpack-id") - .enabled(false) - .build()) - .as(StepVerifier::create) - .expectNext(UpdateBuildpackResponse.builder() - .metadata(Metadata.builder() - .createdAt("2016-03-17T21:41:28Z") - .id("edd64481-e13c-4193-b6cc-2a727a62e817") - .updatedAt("2016-03-17T21:41:28Z") - .url("/v2/buildpacks/edd64481-e13c-4193-b6cc-2a727a62e817") - .build()) - .entity(BuildpackEntity.builder() - .enabled(false) - .filename("name-2314") - .locked(false) - .name("name_1") - .position(1) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .update( + UpdateBuildpackRequest.builder() + .buildpackId("test-buildpack-id") + .enabled(false) + .build()) + .as(StepVerifier::create) + .expectNext( + UpdateBuildpackResponse.builder() + .metadata( + Metadata.builder() + .createdAt("2016-03-17T21:41:28Z") + .id("edd64481-e13c-4193-b6cc-2a727a62e817") + .updatedAt("2016-03-17T21:41:28Z") + .url( + "/v2/buildpacks/edd64481-e13c-4193-b6cc-2a727a62e817") + .build()) + .entity( + BuildpackEntity.builder() + .enabled(false) + .filename("name-2314") + .locked(false) + .name("name_1") + .position(1) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void upload() throws IOException { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(PUT).path("/buildpacks/test-buildpack-id/bits") - .contents(consumer((headers, body) -> { - String boundary = extractBoundary(headers); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(PUT) + .path("/buildpacks/test-buildpack-id/bits") + .contents( + consumer( + (headers, body) -> { + String boundary = + extractBoundary(headers); - assertThat(body.readString(Charset.defaultCharset())) - .isEqualTo("--" + boundary + "\r\n" + - "content-disposition: form-data; name=\"buildpack\"; filename=\"test-filename\"\r\n" + - "content-length: 12\r\n" + - "content-type: application/zip\r\n" + - "content-transfer-encoding: binary\r\n" + - "\r\n" + - "test-content" + - "\r\n" + - "--" + boundary + "--\r\n"); - })) - .build()) - .response(TestResponse.builder() - .status(CREATED) - .payload("fixtures/client/v2/buildpacks/PUT_{id}_bits_response.json") - .build()) - .build()); + assertThat( + body.readString( + Charset + .defaultCharset())) + .isEqualTo( + "--" + + boundary + + "\r\n" + + "content-disposition:" + + " form-data;" + + " name=\"buildpack\";" + + " filename=\"test-filename\"\r\n" + + "content-length:" + + " 12\r\n" + + "content-type:" + + " application/zip\r\n" + + "content-transfer-encoding:" + + " binary\r\n" + + "\r\n" + + "test-content\r\n" + + "--" + + boundary + + "--\r\n"); + })) + .build()) + .response( + TestResponse.builder() + .status(CREATED) + .payload( + "fixtures/client/v2/buildpacks/PUT_{id}_bits_response.json") + .build()) + .build()); this.buildpacks - .upload(UploadBuildpackRequest.builder() - .buildpack(new ClassPathResource("fixtures/client/v2/buildpacks/test-buildpack.zip").getFile().toPath()) - .buildpackId("test-buildpack-id") - .filename("test-filename") - .build()) - .as(StepVerifier::create) - .expectNext(UploadBuildpackResponse.builder() - .metadata(Metadata.builder() - .createdAt("2016-04-21T08:51:39Z") - .id("353360ea-59bb-414b-a90e-100c37317a02") - .updatedAt("2016-04-21T09:38:16Z") - .url("/v2/buildpacks/353360ea-59bb-414b-a90e-100c37317a02") - .build()) - .entity(BuildpackEntity.builder() - .enabled(true) - .filename("binary_buildpack-cached-v1.0.1.zip") - .locked(false) - .name("binary_buildpack") - .position(8) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .upload( + UploadBuildpackRequest.builder() + .buildpack( + new ClassPathResource( + "fixtures/client/v2/buildpacks/test-buildpack.zip") + .getFile() + .toPath()) + .buildpackId("test-buildpack-id") + .filename("test-filename") + .build()) + .as(StepVerifier::create) + .expectNext( + UploadBuildpackResponse.builder() + .metadata( + Metadata.builder() + .createdAt("2016-04-21T08:51:39Z") + .id("353360ea-59bb-414b-a90e-100c37317a02") + .updatedAt("2016-04-21T09:38:16Z") + .url( + "/v2/buildpacks/353360ea-59bb-414b-a90e-100c37317a02") + .build()) + .entity( + BuildpackEntity.builder() + .enabled(true) + .filename("binary_buildpack-cached-v1.0.1.zip") + .locked(false) + .name("binary_buildpack") + .position(8) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } - } diff --git a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/domains/ReactorDomainsTest.java b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/domains/ReactorDomainsTest.java index e1f2fa2fde..300dd57fa5 100644 --- a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/domains/ReactorDomainsTest.java +++ b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/domains/ReactorDomainsTest.java @@ -16,6 +16,15 @@ package org.cloudfoundry.reactor.client.v2.domains; +import static io.netty.handler.codec.http.HttpMethod.DELETE; +import static io.netty.handler.codec.http.HttpMethod.GET; +import static io.netty.handler.codec.http.HttpMethod.POST; +import static io.netty.handler.codec.http.HttpResponseStatus.ACCEPTED; +import static io.netty.handler.codec.http.HttpResponseStatus.NO_CONTENT; +import static io.netty.handler.codec.http.HttpResponseStatus.OK; + +import java.time.Duration; +import java.util.Collections; import org.cloudfoundry.client.v2.Metadata; import org.cloudfoundry.client.v2.domains.CreateDomainRequest; import org.cloudfoundry.client.v2.domains.CreateDomainResponse; @@ -39,257 +48,322 @@ import org.junit.Test; import reactor.test.StepVerifier; -import java.time.Duration; -import java.util.Collections; - -import static io.netty.handler.codec.http.HttpMethod.DELETE; -import static io.netty.handler.codec.http.HttpMethod.GET; -import static io.netty.handler.codec.http.HttpMethod.POST; -import static io.netty.handler.codec.http.HttpResponseStatus.ACCEPTED; -import static io.netty.handler.codec.http.HttpResponseStatus.NO_CONTENT; -import static io.netty.handler.codec.http.HttpResponseStatus.OK; - public final class ReactorDomainsTest extends AbstractClientApiTest { - private final ReactorDomains domains = new ReactorDomains(CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); + private final ReactorDomains domains = + new ReactorDomains( + CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); @Test public void create() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(POST).path("/domains") - .payload("fixtures/client/v2/domains/POST_request.json") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/domains/POST_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(POST) + .path("/domains") + .payload("fixtures/client/v2/domains/POST_request.json") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload("fixtures/client/v2/domains/POST_response.json") + .build()) + .build()); this.domains - .create(CreateDomainRequest.builder() - .name("exmaple.com") - .owningOrganizationId("09e0d56f-4e50-4bff-af83-9bd87a7d7f00") - .wildcard(true) - .build()) - .as(StepVerifier::create) - .expectNext(CreateDomainResponse.builder() - .metadata(Metadata.builder() - .id("abb8338f-eaea-4149-85c0-61888bac0737") - .url("/v2/domains/abb8338f-eaea-4149-85c0-61888bac0737") - .createdAt("2015-07-27T22:43:33Z") - .build()) - .entity(DomainEntity.builder() - .name("exmaple.com") - .owningOrganizationId("09e0d56f-4e50-4bff-af83-9bd87a7d7f00") - .owningOrganizationUrl("/v2/organizations/09e0d56f-4e50-4bff-af83-9bd87a7d7f00") - .sharedOrganizations(Collections.emptyList()) - .spacesUrl("/v2/domains/abb8338f-eaea-4149-85c0-61888bac0737/spaces") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .create( + CreateDomainRequest.builder() + .name("exmaple.com") + .owningOrganizationId("09e0d56f-4e50-4bff-af83-9bd87a7d7f00") + .wildcard(true) + .build()) + .as(StepVerifier::create) + .expectNext( + CreateDomainResponse.builder() + .metadata( + Metadata.builder() + .id("abb8338f-eaea-4149-85c0-61888bac0737") + .url( + "/v2/domains/abb8338f-eaea-4149-85c0-61888bac0737") + .createdAt("2015-07-27T22:43:33Z") + .build()) + .entity( + DomainEntity.builder() + .name("exmaple.com") + .owningOrganizationId( + "09e0d56f-4e50-4bff-af83-9bd87a7d7f00") + .owningOrganizationUrl( + "/v2/organizations/09e0d56f-4e50-4bff-af83-9bd87a7d7f00") + .sharedOrganizations(Collections.emptyList()) + .spacesUrl( + "/v2/domains/abb8338f-eaea-4149-85c0-61888bac0737/spaces") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void delete() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(DELETE).path("/domains/test-domain-id") - .build()) - .response(TestResponse.builder() - .status(NO_CONTENT) - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(DELETE) + .path("/domains/test-domain-id") + .build()) + .response(TestResponse.builder().status(NO_CONTENT).build()) + .build()); this.domains - .delete(DeleteDomainRequest.builder() - .domainId("test-domain-id") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .delete(DeleteDomainRequest.builder().domainId("test-domain-id").build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void deleteAsync() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(DELETE).path("/domains/test-domain-id?async=true") - .build()) - .response(TestResponse.builder() - .status(ACCEPTED) - .payload("fixtures/client/v2/domains/DELETE_{id}_async_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(DELETE) + .path("/domains/test-domain-id?async=true") + .build()) + .response( + TestResponse.builder() + .status(ACCEPTED) + .payload( + "fixtures/client/v2/domains/DELETE_{id}_async_response.json") + .build()) + .build()); this.domains - .delete(DeleteDomainRequest.builder() - .async(true) - .domainId("test-domain-id") - .build()) - .as(StepVerifier::create) - .expectNext(DeleteDomainResponse.builder() - .metadata(Metadata.builder() - .id("2d9707ba-6f0b-4aef-a3de-fe9bdcf0c9d1") - .createdAt("2016-02-02T17:16:31Z") - .url("/v2/jobs/2d9707ba-6f0b-4aef-a3de-fe9bdcf0c9d1") - .build()) - .entity(JobEntity.builder() - .id("2d9707ba-6f0b-4aef-a3de-fe9bdcf0c9d1") - .status("queued") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .delete( + DeleteDomainRequest.builder() + .async(true) + .domainId("test-domain-id") + .build()) + .as(StepVerifier::create) + .expectNext( + DeleteDomainResponse.builder() + .metadata( + Metadata.builder() + .id("2d9707ba-6f0b-4aef-a3de-fe9bdcf0c9d1") + .createdAt("2016-02-02T17:16:31Z") + .url( + "/v2/jobs/2d9707ba-6f0b-4aef-a3de-fe9bdcf0c9d1") + .build()) + .entity( + JobEntity.builder() + .id("2d9707ba-6f0b-4aef-a3de-fe9bdcf0c9d1") + .status("queued") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void get() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/domains/test-domain-id") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/domains/GET_{id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/domains/test-domain-id") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/domains/GET_{id}_response.json") + .build()) + .build()); this.domains - .get(GetDomainRequest.builder() - .domainId("test-domain-id") - .build()) - .as(StepVerifier::create) - .expectNext(GetDomainResponse.builder() - .metadata(Metadata.builder() - .id("7cd249aa-197c-425c-8831-57cbc24e8e26") - .url("/v2/domains/7cd249aa-197c-425c-8831-57cbc24e8e26") - .createdAt("2015-07-27T22:43:33Z") - .build()) - .entity(DomainEntity.builder() - .name("domain-63.example.com") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .get(GetDomainRequest.builder().domainId("test-domain-id").build()) + .as(StepVerifier::create) + .expectNext( + GetDomainResponse.builder() + .metadata( + Metadata.builder() + .id("7cd249aa-197c-425c-8831-57cbc24e8e26") + .url( + "/v2/domains/7cd249aa-197c-425c-8831-57cbc24e8e26") + .createdAt("2015-07-27T22:43:33Z") + .build()) + .entity( + DomainEntity.builder() + .name("domain-63.example.com") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void listDomains() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/domains?page=-1") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/domains/GET_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request(TestRequest.builder().method(GET).path("/domains?page=-1").build()) + .response( + TestResponse.builder() + .status(OK) + .payload("fixtures/client/v2/domains/GET_response.json") + .build()) + .build()); this.domains - .list(ListDomainsRequest.builder() - .page(-1) - .build()) - .as(StepVerifier::create) - .expectNext(ListDomainsResponse.builder() - .totalResults(4) - .totalPages(1) - .resource(DomainResource.builder() - .metadata(Metadata.builder() - .id("c8e670ff-2473-4e21-8047-afc6e0c62ce7") - .url("/v2/domains/c8e670ff-2473-4e21-8047-afc6e0c62ce7") - .createdAt("2015-07-27T22:43:31Z") - .build()) - .entity(DomainEntity.builder() - .name("customer-app-domain1.com") - .build()) - .build()) - .resource(DomainResource.builder() - .metadata(Metadata.builder() - .id("2b63d3fa-52e9-4f12-87d1-a96af5bd3cd4") - .url("/v2/domains/2b63d3fa-52e9-4f12-87d1-a96af5bd3cd4") - .createdAt("2015-07-27T22:43:31Z") - .build()) - .entity(DomainEntity.builder() - .name("customer-app-domain2.com") - .build()) - .build()) - .resource(DomainResource.builder() - .metadata(Metadata.builder() - .id("2c60a78c-0f6e-4ef8-81db-f3a6cb5e31da") - .url("/v2/domains/2c60a78c-0f6e-4ef8-81db-f3a6cb5e31da") - .createdAt("2015-07-27T22:43:31Z") - .build()) - .entity(DomainEntity.builder() - .name("vcap.me") - .owningOrganizationId("f93d5a41-5d35-4e21-ac32-421dfd545d3c") - .owningOrganizationUrl("/v2/organizations/f93d5a41-5d35-4e21-ac32-421dfd545d3c") - .spacesUrl("/v2/domains/2c60a78c-0f6e-4ef8-81db-f3a6cb5e31da/spaces") - .build()) - .build()) - .resource(DomainResource.builder() - .metadata(Metadata.builder() - .id("b37aab98-5882-420a-a91f-65539e36e860") - .url("/v2/domains/b37aab98-5882-420a-a91f-65539e36e860") - .createdAt("2015-07-27T22:43:33Z") - .build()) - .entity(DomainEntity.builder() - .name("domain-62.example.com") - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .list(ListDomainsRequest.builder().page(-1).build()) + .as(StepVerifier::create) + .expectNext( + ListDomainsResponse.builder() + .totalResults(4) + .totalPages(1) + .resource( + DomainResource.builder() + .metadata( + Metadata.builder() + .id( + "c8e670ff-2473-4e21-8047-afc6e0c62ce7") + .url( + "/v2/domains/c8e670ff-2473-4e21-8047-afc6e0c62ce7") + .createdAt("2015-07-27T22:43:31Z") + .build()) + .entity( + DomainEntity.builder() + .name("customer-app-domain1.com") + .build()) + .build()) + .resource( + DomainResource.builder() + .metadata( + Metadata.builder() + .id( + "2b63d3fa-52e9-4f12-87d1-a96af5bd3cd4") + .url( + "/v2/domains/2b63d3fa-52e9-4f12-87d1-a96af5bd3cd4") + .createdAt("2015-07-27T22:43:31Z") + .build()) + .entity( + DomainEntity.builder() + .name("customer-app-domain2.com") + .build()) + .build()) + .resource( + DomainResource.builder() + .metadata( + Metadata.builder() + .id( + "2c60a78c-0f6e-4ef8-81db-f3a6cb5e31da") + .url( + "/v2/domains/2c60a78c-0f6e-4ef8-81db-f3a6cb5e31da") + .createdAt("2015-07-27T22:43:31Z") + .build()) + .entity( + DomainEntity.builder() + .name("vcap.me") + .owningOrganizationId( + "f93d5a41-5d35-4e21-ac32-421dfd545d3c") + .owningOrganizationUrl( + "/v2/organizations/f93d5a41-5d35-4e21-ac32-421dfd545d3c") + .spacesUrl( + "/v2/domains/2c60a78c-0f6e-4ef8-81db-f3a6cb5e31da/spaces") + .build()) + .build()) + .resource( + DomainResource.builder() + .metadata( + Metadata.builder() + .id( + "b37aab98-5882-420a-a91f-65539e36e860") + .url( + "/v2/domains/b37aab98-5882-420a-a91f-65539e36e860") + .createdAt("2015-07-27T22:43:33Z") + .build()) + .entity( + DomainEntity.builder() + .name("domain-62.example.com") + .build()) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void listSpaces() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/domains/test-domain-id/spaces?page=-1") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/domains/GET_{id}_spaces_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/domains/test-domain-id/spaces?page=-1") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/domains/GET_{id}_spaces_response.json") + .build()) + .build()); this.domains - .listSpaces(ListDomainSpacesRequest.builder() - .domainId("test-domain-id") - .page(-1) - .build()) - .as(StepVerifier::create) - .expectNext(ListDomainSpacesResponse.builder() - .totalResults(1) - .totalPages(1) - .resource(SpaceResource.builder() - .metadata(Metadata.builder() - .id("d1686ef7-59dc-4ada-8900-85e89d749046") - .url("/v2/spaces/d1686ef7-59dc-4ada-8900-85e89d749046") - .createdAt("2015-07-27T22:43:33Z") - .build()) - .entity(SpaceEntity.builder() - .name("name-2311") - .organizationId("836b112a-30bc-4d55-b8e4-7323849759d1") - .allowSsh(true) - .organizationUrl("/v2/organizations/836b112a-30bc-4d55-b8e4-7323849759d1") - .developersUrl("/v2/spaces/d1686ef7-59dc-4ada-8900-85e89d749046/developers") - .managersUrl("/v2/spaces/d1686ef7-59dc-4ada-8900-85e89d749046/managers") - .auditorsUrl("/v2/spaces/d1686ef7-59dc-4ada-8900-85e89d749046/auditors") - .applicationsUrl("/v2/spaces/d1686ef7-59dc-4ada-8900-85e89d749046/apps") - .routesUrl("/v2/spaces/d1686ef7-59dc-4ada-8900-85e89d749046/routes") - .domainsUrl("/v2/spaces/d1686ef7-59dc-4ada-8900-85e89d749046/domains") - .serviceInstancesUrl("/v2/spaces/d1686ef7-59dc-4ada-8900-85e89d749046/service_instances") - .applicationEventsUrl("/v2/spaces/d1686ef7-59dc-4ada-8900-85e89d749046/app_events") - .eventsUrl("/v2/spaces/d1686ef7-59dc-4ada-8900-85e89d749046/events") - .securityGroupsUrl("/v2/spaces/d1686ef7-59dc-4ada-8900-85e89d749046/security_groups") - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .listSpaces( + ListDomainSpacesRequest.builder() + .domainId("test-domain-id") + .page(-1) + .build()) + .as(StepVerifier::create) + .expectNext( + ListDomainSpacesResponse.builder() + .totalResults(1) + .totalPages(1) + .resource( + SpaceResource.builder() + .metadata( + Metadata.builder() + .id( + "d1686ef7-59dc-4ada-8900-85e89d749046") + .url( + "/v2/spaces/d1686ef7-59dc-4ada-8900-85e89d749046") + .createdAt("2015-07-27T22:43:33Z") + .build()) + .entity( + SpaceEntity.builder() + .name("name-2311") + .organizationId( + "836b112a-30bc-4d55-b8e4-7323849759d1") + .allowSsh(true) + .organizationUrl( + "/v2/organizations/836b112a-30bc-4d55-b8e4-7323849759d1") + .developersUrl( + "/v2/spaces/d1686ef7-59dc-4ada-8900-85e89d749046/developers") + .managersUrl( + "/v2/spaces/d1686ef7-59dc-4ada-8900-85e89d749046/managers") + .auditorsUrl( + "/v2/spaces/d1686ef7-59dc-4ada-8900-85e89d749046/auditors") + .applicationsUrl( + "/v2/spaces/d1686ef7-59dc-4ada-8900-85e89d749046/apps") + .routesUrl( + "/v2/spaces/d1686ef7-59dc-4ada-8900-85e89d749046/routes") + .domainsUrl( + "/v2/spaces/d1686ef7-59dc-4ada-8900-85e89d749046/domains") + .serviceInstancesUrl( + "/v2/spaces/d1686ef7-59dc-4ada-8900-85e89d749046/service_instances") + .applicationEventsUrl( + "/v2/spaces/d1686ef7-59dc-4ada-8900-85e89d749046/app_events") + .eventsUrl( + "/v2/spaces/d1686ef7-59dc-4ada-8900-85e89d749046/events") + .securityGroupsUrl( + "/v2/spaces/d1686ef7-59dc-4ada-8900-85e89d749046/security_groups") + .build()) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } - } diff --git a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/environmentvariablegroups/ReactorEnvironmentVariableGroupsTest.java b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/environmentvariablegroups/ReactorEnvironmentVariableGroupsTest.java index 4bfe7ae9c5..b01dbeaa2a 100644 --- a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/environmentvariablegroups/ReactorEnvironmentVariableGroupsTest.java +++ b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/environmentvariablegroups/ReactorEnvironmentVariableGroupsTest.java @@ -16,6 +16,12 @@ package org.cloudfoundry.reactor.client.v2.environmentvariablegroups; +import static io.netty.handler.codec.http.HttpMethod.GET; +import static io.netty.handler.codec.http.HttpMethod.PUT; +import static io.netty.handler.codec.http.HttpResponseStatus.OK; + +import java.time.Duration; +import java.util.Collections; import org.cloudfoundry.client.v2.environmentvariablegroups.GetRunningEnvironmentVariablesRequest; import org.cloudfoundry.client.v2.environmentvariablegroups.GetRunningEnvironmentVariablesResponse; import org.cloudfoundry.client.v2.environmentvariablegroups.GetStagingEnvironmentVariablesRequest; @@ -31,167 +37,205 @@ import org.junit.Test; import reactor.test.StepVerifier; -import java.time.Duration; -import java.util.Collections; - -import static io.netty.handler.codec.http.HttpMethod.GET; -import static io.netty.handler.codec.http.HttpMethod.PUT; -import static io.netty.handler.codec.http.HttpResponseStatus.OK; - public class ReactorEnvironmentVariableGroupsTest extends AbstractClientApiTest { - private ReactorEnvironmentVariableGroups environmentVariableGroups = new ReactorEnvironmentVariableGroups(CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); + private ReactorEnvironmentVariableGroups environmentVariableGroups = + new ReactorEnvironmentVariableGroups( + CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); @Test public void getRunningEnvironmentVariables() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/config/environment_variable_groups/running") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/environment_variable_groups/GET_running_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/config/environment_variable_groups/running") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/environment_variable_groups/GET_running_response.json") + .build()) + .build()); this.environmentVariableGroups - .getRunningEnvironmentVariables(GetRunningEnvironmentVariablesRequest.builder() - .build()) - .as(StepVerifier::create) - .expectNext(GetRunningEnvironmentVariablesResponse.builder() - .environmentVariable("abc", 123) - .environmentVariable("do-re-me", "far-so-la-tee") - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .getRunningEnvironmentVariables( + GetRunningEnvironmentVariablesRequest.builder().build()) + .as(StepVerifier::create) + .expectNext( + GetRunningEnvironmentVariablesResponse.builder() + .environmentVariable("abc", 123) + .environmentVariable("do-re-me", "far-so-la-tee") + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void getStagingEnvironmentVariables() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/config/environment_variable_groups/staging") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/environment_variable_groups/GET_staging_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/config/environment_variable_groups/staging") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/environment_variable_groups/GET_staging_response.json") + .build()) + .build()); this.environmentVariableGroups - .getStagingEnvironmentVariables(GetStagingEnvironmentVariablesRequest.builder() - .build()) - .as(StepVerifier::create) - .expectNext(GetStagingEnvironmentVariablesResponse.builder() - .environmentVariable("abc", 123) - .environmentVariable("do-re-me", "far-so-la-tee") - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .getStagingEnvironmentVariables( + GetStagingEnvironmentVariablesRequest.builder().build()) + .as(StepVerifier::create) + .expectNext( + GetStagingEnvironmentVariablesResponse.builder() + .environmentVariable("abc", 123) + .environmentVariable("do-re-me", "far-so-la-tee") + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void updateRunningEnvironmentVariables() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(PUT).path("/config/environment_variable_groups/running") - .payload("fixtures/client/v2/environment_variable_groups/PUT_running_request.json") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/environment_variable_groups/PUT_running_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(PUT) + .path("/config/environment_variable_groups/running") + .payload( + "fixtures/client/v2/environment_variable_groups/PUT_running_request.json") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/environment_variable_groups/PUT_running_response.json") + .build()) + .build()); this.environmentVariableGroups - .updateRunningEnvironmentVariables(UpdateRunningEnvironmentVariablesRequest.builder() - .environmentVariable("abc", 123) - .environmentVariable("do-re-me", "fa-so-la-tee") - .build()) - .as(StepVerifier::create) - .expectNext(UpdateRunningEnvironmentVariablesResponse.builder() - .environmentVariable("abc", 123) - .environmentVariable("do-re-me", "fa-so-la-tee") - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .updateRunningEnvironmentVariables( + UpdateRunningEnvironmentVariablesRequest.builder() + .environmentVariable("abc", 123) + .environmentVariable("do-re-me", "fa-so-la-tee") + .build()) + .as(StepVerifier::create) + .expectNext( + UpdateRunningEnvironmentVariablesResponse.builder() + .environmentVariable("abc", 123) + .environmentVariable("do-re-me", "fa-so-la-tee") + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void updateRunningEnvironmentVariablesEmpty() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(PUT).path("/config/environment_variable_groups/running") - .payload("fixtures/client/v2/environment_variable_groups/PUT_running_request_empty.json") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/environment_variable_groups/PUT_running_response_empty.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(PUT) + .path("/config/environment_variable_groups/running") + .payload( + "fixtures/client/v2/environment_variable_groups/PUT_running_request_empty.json") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/environment_variable_groups/PUT_running_response_empty.json") + .build()) + .build()); this.environmentVariableGroups - .updateRunningEnvironmentVariables(UpdateRunningEnvironmentVariablesRequest.builder() - .environmentVariables(Collections.emptyMap()) - .build()) - .as(StepVerifier::create) - .expectNext(UpdateRunningEnvironmentVariablesResponse.builder() - .environmentVariables(Collections.emptyMap()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .updateRunningEnvironmentVariables( + UpdateRunningEnvironmentVariablesRequest.builder() + .environmentVariables(Collections.emptyMap()) + .build()) + .as(StepVerifier::create) + .expectNext( + UpdateRunningEnvironmentVariablesResponse.builder() + .environmentVariables(Collections.emptyMap()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void updateStagingEnvironmentVariables() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(PUT).path("/config/environment_variable_groups/staging") - .payload("fixtures/client/v2/environment_variable_groups/PUT_staging_request.json") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/environment_variable_groups/PUT_staging_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(PUT) + .path("/config/environment_variable_groups/staging") + .payload( + "fixtures/client/v2/environment_variable_groups/PUT_staging_request.json") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/environment_variable_groups/PUT_staging_response.json") + .build()) + .build()); this.environmentVariableGroups - .updateStagingEnvironmentVariables(UpdateStagingEnvironmentVariablesRequest.builder() - .environmentVariable("abc", 123) - .environmentVariable("do-re-me", "far-so-la-tee") - .build()) - .as(StepVerifier::create) - .expectNext(UpdateStagingEnvironmentVariablesResponse.builder() - .environmentVariable("abc", 123) - .environmentVariable("do-re-me", "far-so-la-tee") - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .updateStagingEnvironmentVariables( + UpdateStagingEnvironmentVariablesRequest.builder() + .environmentVariable("abc", 123) + .environmentVariable("do-re-me", "far-so-la-tee") + .build()) + .as(StepVerifier::create) + .expectNext( + UpdateStagingEnvironmentVariablesResponse.builder() + .environmentVariable("abc", 123) + .environmentVariable("do-re-me", "far-so-la-tee") + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void updateStagingEnvironmentVariablesEmpty() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(PUT).path("/config/environment_variable_groups/staging") - .payload("fixtures/client/v2/environment_variable_groups/PUT_staging_request_empty.json") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/environment_variable_groups/PUT_staging_response_empty.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(PUT) + .path("/config/environment_variable_groups/staging") + .payload( + "fixtures/client/v2/environment_variable_groups/PUT_staging_request_empty.json") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/environment_variable_groups/PUT_staging_response_empty.json") + .build()) + .build()); this.environmentVariableGroups - .updateStagingEnvironmentVariables(UpdateStagingEnvironmentVariablesRequest.builder() - .environmentVariables(Collections.emptyMap()) - .build()) - .as(StepVerifier::create) - .expectNext(UpdateStagingEnvironmentVariablesResponse.builder() - .environmentVariables(Collections.emptyMap()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .updateStagingEnvironmentVariables( + UpdateStagingEnvironmentVariablesRequest.builder() + .environmentVariables(Collections.emptyMap()) + .build()) + .as(StepVerifier::create) + .expectNext( + UpdateStagingEnvironmentVariablesResponse.builder() + .environmentVariables(Collections.emptyMap()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } - } diff --git a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/events/ReactorEventsTest.java b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/events/ReactorEventsTest.java index 215d0404e7..17ad996190 100644 --- a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/events/ReactorEventsTest.java +++ b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/events/ReactorEventsTest.java @@ -16,6 +16,11 @@ package org.cloudfoundry.reactor.client.v2.events; +import static io.netty.handler.codec.http.HttpMethod.GET; +import static io.netty.handler.codec.http.HttpResponseStatus.OK; + +import java.time.Duration; +import java.util.Collections; import org.cloudfoundry.client.v2.Metadata; import org.cloudfoundry.client.v2.events.EventEntity; import org.cloudfoundry.client.v2.events.EventResource; @@ -30,141 +35,172 @@ import org.junit.Test; import reactor.test.StepVerifier; -import java.time.Duration; -import java.util.Collections; - -import static io.netty.handler.codec.http.HttpMethod.GET; -import static io.netty.handler.codec.http.HttpResponseStatus.OK; - public final class ReactorEventsTest extends AbstractClientApiTest { - private final ReactorEvents events = new ReactorEvents(CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); + private final ReactorEvents events = + new ReactorEvents( + CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); @Test public void get() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/events/test-event-id") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/events/GET_{id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/events/test-event-id") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload("fixtures/client/v2/events/GET_{id}_response.json") + .build()) + .build()); this.events - .get(GetEventRequest.builder() - .eventId("test-event-id") - .build()) - .as(StepVerifier::create) - .expectNext(GetEventResponse.builder() - .metadata(Metadata.builder() - .id("8f1366e5-1fe2-418c-ae33-38bf29ad857a") - .url("/v2/events/8f1366e5-1fe2-418c-ae33-38bf29ad857a") - .createdAt("2015-07-27T22:43:23Z") - .build()) - .entity(EventEntity.builder() - .type("name-1010") - .actor("guid-a01d98f8-ba9a-40b0-86ba-3deacc2978c2") - .actorType("name-1011") - .actorName("name-1012") - .actee("guid-ff2c9780-b8db-4276-ba5f-b06adb724873") - .acteeType("name-1013") - .acteeName("name-1014") - .timestamp("2015-07-27T22:43:23Z") - .metadatas(Collections.emptyMap()) - .spaceId("dcb0dcdd-5236-4af3-abc2-1ab0ff424794") - .organizationId("3317f885-4670-4249-9861-7c75d851d492") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .get(GetEventRequest.builder().eventId("test-event-id").build()) + .as(StepVerifier::create) + .expectNext( + GetEventResponse.builder() + .metadata( + Metadata.builder() + .id("8f1366e5-1fe2-418c-ae33-38bf29ad857a") + .url( + "/v2/events/8f1366e5-1fe2-418c-ae33-38bf29ad857a") + .createdAt("2015-07-27T22:43:23Z") + .build()) + .entity( + EventEntity.builder() + .type("name-1010") + .actor("guid-a01d98f8-ba9a-40b0-86ba-3deacc2978c2") + .actorType("name-1011") + .actorName("name-1012") + .actee("guid-ff2c9780-b8db-4276-ba5f-b06adb724873") + .acteeType("name-1013") + .acteeName("name-1014") + .timestamp("2015-07-27T22:43:23Z") + .metadatas(Collections.emptyMap()) + .spaceId("dcb0dcdd-5236-4af3-abc2-1ab0ff424794") + .organizationId( + "3317f885-4670-4249-9861-7c75d851d492") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void list() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/events?q=actee%3Atest-actee&page=-1") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/events/GET_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/events?q=actee%3Atest-actee&page=-1") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload("fixtures/client/v2/events/GET_response.json") + .build()) + .build()); this.events - .list(ListEventsRequest.builder() - .actee("test-actee") - .page(-1) - .build()) - .as(StepVerifier::create) - .expectNext(ListEventsResponse.builder() - .totalResults(3) - .totalPages(1) - .resource(EventResource.builder() - .metadata(Metadata.builder() - .id("2cc565c7-18e7-4fff-8fb0-52525f09ee6b") - .url("/v2/events/2cc565c7-18e7-4fff-8fb0-52525f09ee6b") - .createdAt("2015-07-27T22:43:23Z") - .build()) - .entity(EventEntity.builder() - .type("name-1034") - .actor("guid-ddc7f725-c67f-4e68-8118-1ae1687f9fff") - .actorType("name-1035") - .actorName("name-1036") - .actee("guid-16ac41e9-c30c-45e1-b51c-226fb37e4197") - .acteeType("name-1037") - .acteeName("name-1038") - .timestamp("2015-07-27T22:43:23Z") - .metadatas(Collections.emptyMap()) - .spaceId("1a769af6-8ddb-4508-a35a-cc61c51fdcdf") - .organizationId("49723c2a-a11e-43f8-971a-b34e9134ce00") - .build()) - .build()) - .resource(EventResource.builder() - .metadata(Metadata.builder() - .id("a82493b7-bd16-421b-aef0-d0b5c40869e8") - .url("/v2/events/a82493b7-bd16-421b-aef0-d0b5c40869e8") - .createdAt("2015-07-27T22:43:23Z") - .build()) - .entity(EventEntity.builder() - .type("name-1042") - .actor("guid-e68c8d10-dc83-4466-8735-9c4201166af9") - .actorType("name-1043") - .actorName("name-1044") - .actee("guid-d3ecb6be-c8a0-4e3b-9838-b78c58a88b65") - .acteeType("name-1045") - .acteeName("name-1046") - .timestamp("2015-07-27T22:43:23Z") - .metadatas(Collections.emptyMap()) - .spaceId("dbe6bbdc-0d9c-495c-abbb-0b5eb93c8494") - .organizationId("52c7fb45-e31b-4271-9f16-8c94df30d8c7") - .build()) - .build()) - .resource(EventResource.builder() - .metadata(Metadata.builder() - .id("4a0e6a34-2807-44cd-a5cc-b61890662ade") - .url("/v2/events/4a0e6a34-2807-44cd-a5cc-b61890662ade") - .createdAt("2015-07-27T22:43:23Z") - .build()) - .entity(EventEntity.builder() - .type("name-1050") - .actor("guid-69e5e7e7-7723-4af8-a7cb-255d9a90c8db") - .actorType("name-1051") - .actorName("name-1052") - .actee("guid-cc1f17ce-85ab-4cc2-988b-9fca0f3a1d03") - .acteeType("name-1053") - .acteeName("name-1054") - .timestamp("2015-07-27T22:43:23Z") - .metadatas(Collections.emptyMap()) - .spaceId("38a2f075-fe19-4edc-8787-5571f2af7051") - .organizationId("9160433e-860d-4251-bd6d-140187a2c5db") - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .list(ListEventsRequest.builder().actee("test-actee").page(-1).build()) + .as(StepVerifier::create) + .expectNext( + ListEventsResponse.builder() + .totalResults(3) + .totalPages(1) + .resource( + EventResource.builder() + .metadata( + Metadata.builder() + .id( + "2cc565c7-18e7-4fff-8fb0-52525f09ee6b") + .url( + "/v2/events/2cc565c7-18e7-4fff-8fb0-52525f09ee6b") + .createdAt("2015-07-27T22:43:23Z") + .build()) + .entity( + EventEntity.builder() + .type("name-1034") + .actor( + "guid-ddc7f725-c67f-4e68-8118-1ae1687f9fff") + .actorType("name-1035") + .actorName("name-1036") + .actee( + "guid-16ac41e9-c30c-45e1-b51c-226fb37e4197") + .acteeType("name-1037") + .acteeName("name-1038") + .timestamp("2015-07-27T22:43:23Z") + .metadatas(Collections.emptyMap()) + .spaceId( + "1a769af6-8ddb-4508-a35a-cc61c51fdcdf") + .organizationId( + "49723c2a-a11e-43f8-971a-b34e9134ce00") + .build()) + .build()) + .resource( + EventResource.builder() + .metadata( + Metadata.builder() + .id( + "a82493b7-bd16-421b-aef0-d0b5c40869e8") + .url( + "/v2/events/a82493b7-bd16-421b-aef0-d0b5c40869e8") + .createdAt("2015-07-27T22:43:23Z") + .build()) + .entity( + EventEntity.builder() + .type("name-1042") + .actor( + "guid-e68c8d10-dc83-4466-8735-9c4201166af9") + .actorType("name-1043") + .actorName("name-1044") + .actee( + "guid-d3ecb6be-c8a0-4e3b-9838-b78c58a88b65") + .acteeType("name-1045") + .acteeName("name-1046") + .timestamp("2015-07-27T22:43:23Z") + .metadatas(Collections.emptyMap()) + .spaceId( + "dbe6bbdc-0d9c-495c-abbb-0b5eb93c8494") + .organizationId( + "52c7fb45-e31b-4271-9f16-8c94df30d8c7") + .build()) + .build()) + .resource( + EventResource.builder() + .metadata( + Metadata.builder() + .id( + "4a0e6a34-2807-44cd-a5cc-b61890662ade") + .url( + "/v2/events/4a0e6a34-2807-44cd-a5cc-b61890662ade") + .createdAt("2015-07-27T22:43:23Z") + .build()) + .entity( + EventEntity.builder() + .type("name-1050") + .actor( + "guid-69e5e7e7-7723-4af8-a7cb-255d9a90c8db") + .actorType("name-1051") + .actorName("name-1052") + .actee( + "guid-cc1f17ce-85ab-4cc2-988b-9fca0f3a1d03") + .acteeType("name-1053") + .acteeName("name-1054") + .timestamp("2015-07-27T22:43:23Z") + .metadatas(Collections.emptyMap()) + .spaceId( + "38a2f075-fe19-4edc-8787-5571f2af7051") + .organizationId( + "9160433e-860d-4251-bd6d-140187a2c5db") + .build()) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } - } diff --git a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/featureflags/ReactorFeatureFlagsTest.java b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/featureflags/ReactorFeatureFlagsTest.java index 9942267029..7efad2ab99 100644 --- a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/featureflags/ReactorFeatureFlagsTest.java +++ b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/featureflags/ReactorFeatureFlagsTest.java @@ -16,6 +16,12 @@ package org.cloudfoundry.reactor.client.v2.featureflags; +import static io.netty.handler.codec.http.HttpMethod.GET; +import static io.netty.handler.codec.http.HttpMethod.PUT; +import static io.netty.handler.codec.http.HttpResponseStatus.OK; + +import java.time.Duration; +import java.util.Collections; import org.cloudfoundry.client.v2.featureflags.FeatureFlagEntity; import org.cloudfoundry.client.v2.featureflags.GetFeatureFlagRequest; import org.cloudfoundry.client.v2.featureflags.GetFeatureFlagResponse; @@ -30,190 +36,211 @@ import org.junit.Test; import reactor.test.StepVerifier; -import java.time.Duration; -import java.util.Collections; - -import static io.netty.handler.codec.http.HttpMethod.GET; -import static io.netty.handler.codec.http.HttpMethod.PUT; -import static io.netty.handler.codec.http.HttpResponseStatus.OK; - public final class ReactorFeatureFlagsTest extends AbstractClientApiTest { - private final ReactorFeatureFlags featureFlags = new ReactorFeatureFlags(CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); + private final ReactorFeatureFlags featureFlags = + new ReactorFeatureFlags( + CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); @Test public void getAppScaling() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/config/feature_flags/app_scaling") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/feature_flags/GET_app_scaling_flag_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/config/feature_flags/app_scaling") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/feature_flags/GET_app_scaling_flag_response.json") + .build()) + .build()); this.featureFlags - .get(GetFeatureFlagRequest.builder() - .name("app_scaling") - .build()) - .as(StepVerifier::create) - .expectNext(GetFeatureFlagResponse.builder() - .name("app_scaling") - .enabled(true) - .url("/v2/config/feature_flags/app_scaling") - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .get(GetFeatureFlagRequest.builder().name("app_scaling").build()) + .as(StepVerifier::create) + .expectNext( + GetFeatureFlagResponse.builder() + .name("app_scaling") + .enabled(true) + .url("/v2/config/feature_flags/app_scaling") + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void getUserRoles() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/config/feature_flags/set_roles_by_username") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/feature_flags/GET_set_user_roles_flag_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/config/feature_flags/set_roles_by_username") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/feature_flags/GET_set_user_roles_flag_response.json") + .build()) + .build()); this.featureFlags - .get(GetFeatureFlagRequest.builder() - .name("set_roles_by_username") - .build()) - .as(StepVerifier::create) - .expectNext(GetFeatureFlagResponse.builder() - .name("set_roles_by_username") - .enabled(true) - .url("/v2/config/feature_flags/set_roles_by_username") - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .get(GetFeatureFlagRequest.builder().name("set_roles_by_username").build()) + .as(StepVerifier::create) + .expectNext( + GetFeatureFlagResponse.builder() + .name("set_roles_by_username") + .enabled(true) + .url("/v2/config/feature_flags/set_roles_by_username") + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void list() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/config/feature_flags") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/feature_flags/GET_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/config/feature_flags") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/feature_flags/GET_response.json") + .build()) + .build()); this.featureFlags - .list(ListFeatureFlagsRequest.builder() - .build()) - .as(StepVerifier::create) - .expectNext(ListFeatureFlagsResponse.builder() - .featureFlag(FeatureFlagEntity.builder() - .name("user_org_creation") - .enabled(false) - .url("/v2/config/feature_flags/user_org_creation") - .build() - ) - .featureFlag(FeatureFlagEntity.builder() - .name("private_domain_creation") - .enabled(false) - .errorMessage("foobar") - .url("/v2/config/feature_flags/private_domain_creation") - .build() - ) - .featureFlag(FeatureFlagEntity.builder() - .name("app_bits_upload") - .enabled(true) - .url("/v2/config/feature_flags/app_bits_upload") - .build() - ) - .featureFlag(FeatureFlagEntity.builder() - .name("app_scaling") - .enabled(true) - .url("/v2/config/feature_flags/app_scaling") - .build() - ) - .featureFlag(FeatureFlagEntity.builder() - .name("route_creation") - .enabled(true) - .url("/v2/config/feature_flags/route_creation") - .build() - ) - .featureFlag(FeatureFlagEntity.builder() - .name("service_instance_creation") - .enabled(true) - .url("/v2/config/feature_flags/service_instance_creation") - .build() - ) - .featureFlag(FeatureFlagEntity.builder() - .name("diego_docker") - .enabled(false) - .url("/v2/config/feature_flags/diego_docker") - .build() - ) - .featureFlag(FeatureFlagEntity.builder() - .name("set_roles_by_username") - .enabled(true) - .url("/v2/config/feature_flags/set_roles_by_username") - .build() - ) - .featureFlag(FeatureFlagEntity.builder() - .name("unset_roles_by_username") - .enabled(true) - .url("/v2/config/feature_flags/unset_roles_by_username") - .build() - ) - .featureFlag(FeatureFlagEntity.builder() - .name("task_creation") - .enabled(false) - .url("/v2/config/feature_flags/task_creation") - .build() - ) - .featureFlag(FeatureFlagEntity.builder() - .name("space_scoped_private_broker_creation") - .enabled(true) - .url("/v2/config/feature_flags/space_scoped_private_broker_creation") - .build() - ) - .featureFlag(FeatureFlagEntity.builder() - .name("space_developer_env_var_visibility") - .enabled(true) - .url("/v2/config/feature_flags/space_developer_env_var_visibility") - .build() - ) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .list(ListFeatureFlagsRequest.builder().build()) + .as(StepVerifier::create) + .expectNext( + ListFeatureFlagsResponse.builder() + .featureFlag( + FeatureFlagEntity.builder() + .name("user_org_creation") + .enabled(false) + .url("/v2/config/feature_flags/user_org_creation") + .build()) + .featureFlag( + FeatureFlagEntity.builder() + .name("private_domain_creation") + .enabled(false) + .errorMessage("foobar") + .url( + "/v2/config/feature_flags/private_domain_creation") + .build()) + .featureFlag( + FeatureFlagEntity.builder() + .name("app_bits_upload") + .enabled(true) + .url("/v2/config/feature_flags/app_bits_upload") + .build()) + .featureFlag( + FeatureFlagEntity.builder() + .name("app_scaling") + .enabled(true) + .url("/v2/config/feature_flags/app_scaling") + .build()) + .featureFlag( + FeatureFlagEntity.builder() + .name("route_creation") + .enabled(true) + .url("/v2/config/feature_flags/route_creation") + .build()) + .featureFlag( + FeatureFlagEntity.builder() + .name("service_instance_creation") + .enabled(true) + .url( + "/v2/config/feature_flags/service_instance_creation") + .build()) + .featureFlag( + FeatureFlagEntity.builder() + .name("diego_docker") + .enabled(false) + .url("/v2/config/feature_flags/diego_docker") + .build()) + .featureFlag( + FeatureFlagEntity.builder() + .name("set_roles_by_username") + .enabled(true) + .url( + "/v2/config/feature_flags/set_roles_by_username") + .build()) + .featureFlag( + FeatureFlagEntity.builder() + .name("unset_roles_by_username") + .enabled(true) + .url( + "/v2/config/feature_flags/unset_roles_by_username") + .build()) + .featureFlag( + FeatureFlagEntity.builder() + .name("task_creation") + .enabled(false) + .url("/v2/config/feature_flags/task_creation") + .build()) + .featureFlag( + FeatureFlagEntity.builder() + .name("space_scoped_private_broker_creation") + .enabled(true) + .url( + "/v2/config/feature_flags/space_scoped_private_broker_creation") + .build()) + .featureFlag( + FeatureFlagEntity.builder() + .name("space_developer_env_var_visibility") + .enabled(true) + .url( + "/v2/config/feature_flags/space_developer_env_var_visibility") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void set() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(PUT).path("/config/feature_flags/user_org_creation") - .payload("fixtures/client/v2/feature_flags/PUT_user_org_creation_request.json") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/feature_flags/PUT_user_org_creation_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(PUT) + .path("/config/feature_flags/user_org_creation") + .payload( + "fixtures/client/v2/feature_flags/PUT_user_org_creation_request.json") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/feature_flags/PUT_user_org_creation_response.json") + .build()) + .build()); this.featureFlags - .set(SetFeatureFlagRequest.builder() - .enabled(true) - .name("user_org_creation") - .build()) - .as(StepVerifier::create) - .expectNext(SetFeatureFlagResponse.builder() - .name("user_org_creation") - .enabled(true) - .url("/v2/config/feature_flags/user_org_creation") - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .set( + SetFeatureFlagRequest.builder() + .enabled(true) + .name("user_org_creation") + .build()) + .as(StepVerifier::create) + .expectNext( + SetFeatureFlagResponse.builder() + .name("user_org_creation") + .enabled(true) + .url("/v2/config/feature_flags/user_org_creation") + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } - } diff --git a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/info/ReactorInfoTest.java b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/info/ReactorInfoTest.java index d89576d48b..cd4db2d196 100644 --- a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/info/ReactorInfoTest.java +++ b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/info/ReactorInfoTest.java @@ -16,6 +16,11 @@ package org.cloudfoundry.reactor.client.v2.info; +import static io.netty.handler.codec.http.HttpMethod.GET; +import static io.netty.handler.codec.http.HttpResponseStatus.OK; + +import java.time.Duration; +import java.util.Collections; import org.cloudfoundry.client.v2.info.GetInfoRequest; import org.cloudfoundry.client.v2.info.GetInfoResponse; import org.cloudfoundry.reactor.InteractionContext; @@ -25,49 +30,44 @@ import org.junit.Test; import reactor.test.StepVerifier; -import java.time.Duration; -import java.util.Collections; - -import static io.netty.handler.codec.http.HttpMethod.GET; -import static io.netty.handler.codec.http.HttpResponseStatus.OK; - public final class ReactorInfoTest extends AbstractClientApiTest { - private final ReactorInfo info = new ReactorInfo(CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); + private final ReactorInfo info = + new ReactorInfo(CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); @Test public void get() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/info") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/info/GET_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request(TestRequest.builder().method(GET).path("/info").build()) + .response( + TestResponse.builder() + .status(OK) + .payload("fixtures/client/v2/info/GET_response.json") + .build()) + .build()); this.info - .get(GetInfoRequest.builder() - .build()) - .as(StepVerifier::create) - .expectNext(GetInfoResponse.builder() - .name("vcap") - .buildNumber("2222") - .support("http://support.cloudfoundry.com") - .version(2) - .description("Cloud Foundry sponsored by Pivotal") - .authorizationEndpoint("http://localhost:8080/uaa") - .tokenEndpoint("http://localhost:8080/uaa") - .apiVersion("2.44.0") - .applicationSshEndpoint("ssh.system.domain.example.com:2222") - .applicationSshHostKeyFingerprint("47:0d:d1:c8:c3:3d:0a:36:d1:49:2f:f2:90:27:31:d0") - .routingEndpoint("http://localhost:3000") - .loggingEndpoint("ws://loggregator.vcap.me:80") - .dopplerLoggingEndpoint("ws://doppler.vcap.me:80") - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .get(GetInfoRequest.builder().build()) + .as(StepVerifier::create) + .expectNext( + GetInfoResponse.builder() + .name("vcap") + .buildNumber("2222") + .support("http://support.cloudfoundry.com") + .version(2) + .description("Cloud Foundry sponsored by Pivotal") + .authorizationEndpoint("http://localhost:8080/uaa") + .tokenEndpoint("http://localhost:8080/uaa") + .apiVersion("2.44.0") + .applicationSshEndpoint("ssh.system.domain.example.com:2222") + .applicationSshHostKeyFingerprint( + "47:0d:d1:c8:c3:3d:0a:36:d1:49:2f:f2:90:27:31:d0") + .routingEndpoint("http://localhost:3000") + .loggingEndpoint("ws://loggregator.vcap.me:80") + .dopplerLoggingEndpoint("ws://doppler.vcap.me:80") + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } - } diff --git a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/jobs/ReactorJobsTest.java b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/jobs/ReactorJobsTest.java index 4ea4132506..b26257b66f 100644 --- a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/jobs/ReactorJobsTest.java +++ b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/jobs/ReactorJobsTest.java @@ -16,6 +16,11 @@ package org.cloudfoundry.reactor.client.v2.jobs; +import static io.netty.handler.codec.http.HttpMethod.GET; +import static io.netty.handler.codec.http.HttpResponseStatus.OK; + +import java.time.Duration; +import java.util.Collections; import org.cloudfoundry.client.v2.Metadata; import org.cloudfoundry.client.v2.jobs.ErrorDetails; import org.cloudfoundry.client.v2.jobs.GetJobRequest; @@ -28,52 +33,54 @@ import org.junit.Test; import reactor.test.StepVerifier; -import java.time.Duration; -import java.util.Collections; - -import static io.netty.handler.codec.http.HttpMethod.GET; -import static io.netty.handler.codec.http.HttpResponseStatus.OK; - public final class ReactorJobsTest extends AbstractClientApiTest { - private final ReactorJobs jobs = new ReactorJobs(CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); + private final ReactorJobs jobs = + new ReactorJobs(CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); @Test public void get() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/jobs/test-job-id") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/jobs/GET_{id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder().method(GET).path("/jobs/test-job-id").build()) + .response( + TestResponse.builder() + .status(OK) + .payload("fixtures/client/v2/jobs/GET_{id}_response.json") + .build()) + .build()); this.jobs - .get(GetJobRequest.builder() - .jobId("test-job-id") - .build()) - .as(StepVerifier::create) - .expectNext(GetJobResponse.builder() - .metadata(Metadata.builder() - .id("e86ffe00-a243-48f7-be05-8f1f41bee864") - .createdAt("2015-11-30T23:38:44Z") - .url("/v2/jobs/e86ffe00-a243-48f7-be05-8f1f41bee864") - .build()) - .entity(JobEntity.builder() - .id("e86ffe00-a243-48f7-be05-8f1f41bee864") - .status("failed") - .error("Use of entity>error is deprecated in favor of entity>error_details.") - .errorDetails(ErrorDetails.builder() - .errorCode("UnknownError") - .description("An unknown error occurred.") - .code(10001) - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .get(GetJobRequest.builder().jobId("test-job-id").build()) + .as(StepVerifier::create) + .expectNext( + GetJobResponse.builder() + .metadata( + Metadata.builder() + .id("e86ffe00-a243-48f7-be05-8f1f41bee864") + .createdAt("2015-11-30T23:38:44Z") + .url( + "/v2/jobs/e86ffe00-a243-48f7-be05-8f1f41bee864") + .build()) + .entity( + JobEntity.builder() + .id("e86ffe00-a243-48f7-be05-8f1f41bee864") + .status("failed") + .error( + "Use of entity>error is deprecated in favor" + + " of entity>error_details.") + .errorDetails( + ErrorDetails.builder() + .errorCode("UnknownError") + .description( + "An unknown error" + + " occurred.") + .code(10001) + .build()) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } - } diff --git a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/organizationquotadefinitions/ReactorOrganizationQuotaDefinitionsTest.java b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/organizationquotadefinitions/ReactorOrganizationQuotaDefinitionsTest.java index 9ffb5c4b04..68e671e293 100644 --- a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/organizationquotadefinitions/ReactorOrganizationQuotaDefinitionsTest.java +++ b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/organizationquotadefinitions/ReactorOrganizationQuotaDefinitionsTest.java @@ -16,6 +16,16 @@ package org.cloudfoundry.reactor.client.v2.organizationquotadefinitions; +import static io.netty.handler.codec.http.HttpMethod.DELETE; +import static io.netty.handler.codec.http.HttpMethod.GET; +import static io.netty.handler.codec.http.HttpMethod.POST; +import static io.netty.handler.codec.http.HttpMethod.PUT; +import static io.netty.handler.codec.http.HttpResponseStatus.CREATED; +import static io.netty.handler.codec.http.HttpResponseStatus.NO_CONTENT; +import static io.netty.handler.codec.http.HttpResponseStatus.OK; + +import java.time.Duration; +import java.util.Collections; import org.cloudfoundry.client.v2.Metadata; import org.cloudfoundry.client.v2.organizationquotadefinitions.CreateOrganizationQuotaDefinitionRequest; import org.cloudfoundry.client.v2.organizationquotadefinitions.CreateOrganizationQuotaDefinitionResponse; @@ -35,225 +45,258 @@ import org.junit.Test; import reactor.test.StepVerifier; -import java.time.Duration; -import java.util.Collections; - -import static io.netty.handler.codec.http.HttpMethod.DELETE; -import static io.netty.handler.codec.http.HttpMethod.GET; -import static io.netty.handler.codec.http.HttpMethod.POST; -import static io.netty.handler.codec.http.HttpMethod.PUT; -import static io.netty.handler.codec.http.HttpResponseStatus.CREATED; -import static io.netty.handler.codec.http.HttpResponseStatus.NO_CONTENT; -import static io.netty.handler.codec.http.HttpResponseStatus.OK; - public final class ReactorOrganizationQuotaDefinitionsTest extends AbstractClientApiTest { - private final ReactorOrganizationQuotaDefinitions quotaDefinitions = new ReactorOrganizationQuotaDefinitions(CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); + private final ReactorOrganizationQuotaDefinitions quotaDefinitions = + new ReactorOrganizationQuotaDefinitions( + CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); @SuppressWarnings("deprecation") @Test public void create() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(POST).path("/quota_definitions") - .payload("fixtures/client/v2/quota_definitions/POST_request.json") - .build()) - .response(TestResponse.builder() - .status(CREATED) - .payload("fixtures/client/v2/quota_definitions/POST_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(POST) + .path("/quota_definitions") + .payload( + "fixtures/client/v2/quota_definitions/POST_request.json") + .build()) + .response( + TestResponse.builder() + .status(CREATED) + .payload( + "fixtures/client/v2/quota_definitions/POST_response.json") + .build()) + .build()); this.quotaDefinitions - .create(CreateOrganizationQuotaDefinitionRequest.builder() - .applicationInstanceLimit(10) - .applicationTaskLimit(5) - .instanceMemoryLimit(10240) - .memoryLimit(5120) - .name("gold_quota") - .nonBasicServicesAllowed(true) - .totalReservedRoutePorts(3) - .totalRoutes(4) - .totalServices(-1) - .build()) - .as(StepVerifier::create) - .expectNext(CreateOrganizationQuotaDefinitionResponse.builder() - .metadata(Metadata.builder() - .createdAt("2016-06-08T16:41:39Z") - .id("0a3df5cb-122e-4849-a6b1-abb70d1b1296") - .updatedAt("2016-06-08T16:41:26Z") - .url("/v2/quota_definitions/0a3df5cb-122e-4849-a6b1-abb70d1b1296") - .build()) - .entity(OrganizationQuotaDefinitionEntity.builder() - .applicationInstanceLimit(10) - .applicationTaskLimit(5) - .instanceMemoryLimit(10240) - .memoryLimit(5120) - .name("gold_quota") - .nonBasicServicesAllowed(true) - .totalPrivateDomains(-1) - .totalReservedRoutePorts(3) - .totalRoutes(4) - .totalServiceKeys(-1) - .totalServices(-1) - .trialDatabaseAllowed(false) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .create( + CreateOrganizationQuotaDefinitionRequest.builder() + .applicationInstanceLimit(10) + .applicationTaskLimit(5) + .instanceMemoryLimit(10240) + .memoryLimit(5120) + .name("gold_quota") + .nonBasicServicesAllowed(true) + .totalReservedRoutePorts(3) + .totalRoutes(4) + .totalServices(-1) + .build()) + .as(StepVerifier::create) + .expectNext( + CreateOrganizationQuotaDefinitionResponse.builder() + .metadata( + Metadata.builder() + .createdAt("2016-06-08T16:41:39Z") + .id("0a3df5cb-122e-4849-a6b1-abb70d1b1296") + .updatedAt("2016-06-08T16:41:26Z") + .url( + "/v2/quota_definitions/0a3df5cb-122e-4849-a6b1-abb70d1b1296") + .build()) + .entity( + OrganizationQuotaDefinitionEntity.builder() + .applicationInstanceLimit(10) + .applicationTaskLimit(5) + .instanceMemoryLimit(10240) + .memoryLimit(5120) + .name("gold_quota") + .nonBasicServicesAllowed(true) + .totalPrivateDomains(-1) + .totalReservedRoutePorts(3) + .totalRoutes(4) + .totalServiceKeys(-1) + .totalServices(-1) + .trialDatabaseAllowed(false) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void delete() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(DELETE).path("/quota_definitions/test-quota-definition-id") - .build()) - .response(TestResponse.builder() - .status(NO_CONTENT) - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(DELETE) + .path("/quota_definitions/test-quota-definition-id") + .build()) + .response(TestResponse.builder().status(NO_CONTENT).build()) + .build()); this.quotaDefinitions - .delete(DeleteOrganizationQuotaDefinitionRequest.builder() - .organizationQuotaDefinitionId("test-quota-definition-id") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .delete( + DeleteOrganizationQuotaDefinitionRequest.builder() + .organizationQuotaDefinitionId("test-quota-definition-id") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @SuppressWarnings("deprecation") @Test public void get() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/quota_definitions/test-quota-definition-id") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/quota_definitions/GET_{id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/quota_definitions/test-quota-definition-id") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/quota_definitions/GET_{id}_response.json") + .build()) + .build()); this.quotaDefinitions - .get(GetOrganizationQuotaDefinitionRequest.builder() - .organizationQuotaDefinitionId("test-quota-definition-id") - .build()) - .as(StepVerifier::create) - .expectNext(GetOrganizationQuotaDefinitionResponse.builder() - .metadata(Metadata.builder() - .id("c1b8a422-e2b2-4e28-8a16-90ebef2a6922") - .url("/v2/quota_definitions/c1b8a422-e2b2-4e28-8a16-90ebef2a6922") - .createdAt("2016-01-26T22:20:36Z") - .build()) - .entity(OrganizationQuotaDefinitionEntity.builder() - .name("name-2527") - .nonBasicServicesAllowed(true) - .totalServices(60) - .totalRoutes(1000) - .totalPrivateDomains(-1) - .memoryLimit(20480) - .trialDatabaseAllowed(false) - .instanceMemoryLimit(-1) - .applicationInstanceLimit(-1) - .applicationTaskLimit(-1) - .totalServiceKeys(-1) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .get( + GetOrganizationQuotaDefinitionRequest.builder() + .organizationQuotaDefinitionId("test-quota-definition-id") + .build()) + .as(StepVerifier::create) + .expectNext( + GetOrganizationQuotaDefinitionResponse.builder() + .metadata( + Metadata.builder() + .id("c1b8a422-e2b2-4e28-8a16-90ebef2a6922") + .url( + "/v2/quota_definitions/c1b8a422-e2b2-4e28-8a16-90ebef2a6922") + .createdAt("2016-01-26T22:20:36Z") + .build()) + .entity( + OrganizationQuotaDefinitionEntity.builder() + .name("name-2527") + .nonBasicServicesAllowed(true) + .totalServices(60) + .totalRoutes(1000) + .totalPrivateDomains(-1) + .memoryLimit(20480) + .trialDatabaseAllowed(false) + .instanceMemoryLimit(-1) + .applicationInstanceLimit(-1) + .applicationTaskLimit(-1) + .totalServiceKeys(-1) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @SuppressWarnings("deprecation") @Test public void list() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/quota_definitions?page=-1") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/quota_definitions/GET_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/quota_definitions?page=-1") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/quota_definitions/GET_response.json") + .build()) + .build()); this.quotaDefinitions - .list(ListOrganizationQuotaDefinitionsRequest.builder() - .page(-1) - .build()) - .as(StepVerifier::create) - .expectNext(ListOrganizationQuotaDefinitionsResponse.builder() - .totalPages(1) - .totalResults(1) - .resource(OrganizationQuotaDefinitionResource.builder() - .metadata(Metadata.builder() - .id("9a76e262-9dc1-4316-87ad-a8b3bfbb11d4") - .url("/v2/quota_definitions/9a76e262-9dc1-4316-87ad-a8b3bfbb11d4") - .createdAt("2016-01-26T22:20:04Z") - .build()) - .entity(OrganizationQuotaDefinitionEntity.builder() - .applicationInstanceLimit(-1) - .instanceMemoryLimit(-1) - .memoryLimit(10240) - .name("default") - .nonBasicServicesAllowed(true) - .totalPrivateDomains(-1) - .totalRoutes(1000) - .totalServices(100) - .trialDatabaseAllowed(false) - .applicationTaskLimit(-1) - .totalServiceKeys(-1) - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .list(ListOrganizationQuotaDefinitionsRequest.builder().page(-1).build()) + .as(StepVerifier::create) + .expectNext( + ListOrganizationQuotaDefinitionsResponse.builder() + .totalPages(1) + .totalResults(1) + .resource( + OrganizationQuotaDefinitionResource.builder() + .metadata( + Metadata.builder() + .id( + "9a76e262-9dc1-4316-87ad-a8b3bfbb11d4") + .url( + "/v2/quota_definitions/9a76e262-9dc1-4316-87ad-a8b3bfbb11d4") + .createdAt("2016-01-26T22:20:04Z") + .build()) + .entity( + OrganizationQuotaDefinitionEntity.builder() + .applicationInstanceLimit(-1) + .instanceMemoryLimit(-1) + .memoryLimit(10240) + .name("default") + .nonBasicServicesAllowed(true) + .totalPrivateDomains(-1) + .totalRoutes(1000) + .totalServices(100) + .trialDatabaseAllowed(false) + .applicationTaskLimit(-1) + .totalServiceKeys(-1) + .build()) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @SuppressWarnings("deprecation") @Test public void update() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(PUT).path("/quota_definitions/test-quota-definition-id") - .payload("fixtures/client/v2/quota_definitions/PUT_{id}_request.json") - .build()) - .response(TestResponse.builder() - .status(CREATED) - .payload("fixtures/client/v2/quota_definitions/PUT_{id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(PUT) + .path("/quota_definitions/test-quota-definition-id") + .payload( + "fixtures/client/v2/quota_definitions/PUT_{id}_request.json") + .build()) + .response( + TestResponse.builder() + .status(CREATED) + .payload( + "fixtures/client/v2/quota_definitions/PUT_{id}_response.json") + .build()) + .build()); this.quotaDefinitions - .update(UpdateOrganizationQuotaDefinitionRequest.builder() - .organizationQuotaDefinitionId("test-quota-definition-id") - .build()) - .as(StepVerifier::create) - .expectNext(UpdateOrganizationQuotaDefinitionResponse.builder() - .metadata(Metadata.builder() - .createdAt("2016-06-08T16:41:39Z") - .id("213b27a0-c937-4074-aade-bba2226980aa") - .updatedAt("2016-06-08T16:41:39Z") - .url("/v2/quota_definitions/213b27a0-c937-4074-aade-bba2226980aa") - .build()) - .entity(OrganizationQuotaDefinitionEntity.builder() - .applicationInstanceLimit(-1) - .applicationTaskLimit(-1) - .instanceMemoryLimit(-1) - .memoryLimit(20480) - .name("name-1998") - .nonBasicServicesAllowed(true) - .totalPrivateDomains(-1) - .totalReservedRoutePorts(5) - .totalRoutes(1000) - .totalServiceKeys(-1) - .totalServices(60) - .trialDatabaseAllowed(false) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .update( + UpdateOrganizationQuotaDefinitionRequest.builder() + .organizationQuotaDefinitionId("test-quota-definition-id") + .build()) + .as(StepVerifier::create) + .expectNext( + UpdateOrganizationQuotaDefinitionResponse.builder() + .metadata( + Metadata.builder() + .createdAt("2016-06-08T16:41:39Z") + .id("213b27a0-c937-4074-aade-bba2226980aa") + .updatedAt("2016-06-08T16:41:39Z") + .url( + "/v2/quota_definitions/213b27a0-c937-4074-aade-bba2226980aa") + .build()) + .entity( + OrganizationQuotaDefinitionEntity.builder() + .applicationInstanceLimit(-1) + .applicationTaskLimit(-1) + .instanceMemoryLimit(-1) + .memoryLimit(20480) + .name("name-1998") + .nonBasicServicesAllowed(true) + .totalPrivateDomains(-1) + .totalReservedRoutePorts(5) + .totalRoutes(1000) + .totalServiceKeys(-1) + .totalServices(60) + .trialDatabaseAllowed(false) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } - } diff --git a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/organizations/ReactorOrganizationsTest.java b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/organizations/ReactorOrganizationsTest.java index 1797a6ac9b..94ed6d425c 100644 --- a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/organizations/ReactorOrganizationsTest.java +++ b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/organizations/ReactorOrganizationsTest.java @@ -16,6 +16,17 @@ package org.cloudfoundry.reactor.client.v2.organizations; +import static io.netty.handler.codec.http.HttpMethod.DELETE; +import static io.netty.handler.codec.http.HttpMethod.GET; +import static io.netty.handler.codec.http.HttpMethod.POST; +import static io.netty.handler.codec.http.HttpMethod.PUT; +import static io.netty.handler.codec.http.HttpResponseStatus.ACCEPTED; +import static io.netty.handler.codec.http.HttpResponseStatus.CREATED; +import static io.netty.handler.codec.http.HttpResponseStatus.NO_CONTENT; +import static io.netty.handler.codec.http.HttpResponseStatus.OK; + +import java.time.Duration; +import java.util.Collections; import org.cloudfoundry.client.v2.Metadata; import org.cloudfoundry.client.v2.domains.DomainEntity; import org.cloudfoundry.client.v2.domains.DomainResource; @@ -105,1423 +116,1940 @@ import org.junit.Test; import reactor.test.StepVerifier; -import java.time.Duration; -import java.util.Collections; - -import static io.netty.handler.codec.http.HttpMethod.DELETE; -import static io.netty.handler.codec.http.HttpMethod.GET; -import static io.netty.handler.codec.http.HttpMethod.POST; -import static io.netty.handler.codec.http.HttpMethod.PUT; -import static io.netty.handler.codec.http.HttpResponseStatus.ACCEPTED; -import static io.netty.handler.codec.http.HttpResponseStatus.CREATED; -import static io.netty.handler.codec.http.HttpResponseStatus.NO_CONTENT; -import static io.netty.handler.codec.http.HttpResponseStatus.OK; - public final class ReactorOrganizationsTest extends AbstractClientApiTest { - private final ReactorOrganizations organizations = new ReactorOrganizations(CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); + private final ReactorOrganizations organizations = + new ReactorOrganizations( + CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); @Test public void associateOrganizationAuditor() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(PUT).path("/organizations/test-organization-id/auditors/uaa-id-71") - .build()) - .response(TestResponse.builder() - .status(CREATED) - .payload("fixtures/client/v2/organizations/PUT_{id}_auditors_{auditor-id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(PUT) + .path( + "/organizations/test-organization-id/auditors/uaa-id-71") + .build()) + .response( + TestResponse.builder() + .status(CREATED) + .payload( + "fixtures/client/v2/organizations/PUT_{id}_auditors_{auditor-id}_response.json") + .build()) + .build()); this.organizations - .associateAuditor(AssociateOrganizationAuditorRequest.builder() - .auditorId("uaa-id-71") - .organizationId("test-organization-id") - .build()) - .as(StepVerifier::create) - .expectNext(AssociateOrganizationAuditorResponse.builder() - .metadata(Metadata.builder() - .id("83c4fac5-cd9e-41ee-96df-b4f50fff4aef") - .url("/v2/organizations/83c4fac5-cd9e-41ee-96df-b4f50fff4aef") - .createdAt("2015-07-27T22:43:10Z") - .build()) - .entity(OrganizationEntity.builder() - .name("name-187") - .billingEnabled(false) - .quotaDefinitionId("1d18a00b-4e36-412b-9308-2f5f2402e880") - .status("active") - .quotaDefinitionUrl("/v2/quota_definitions/1d18a00b-4e36-412b-9308-2f5f2402e880") - .spacesUrl("/v2/organizations/83c4fac5-cd9e-41ee-96df-b4f50fff4aef/spaces") - .domainsUrl("/v2/organizations/83c4fac5-cd9e-41ee-96df-b4f50fff4aef/domains") - .privateDomainsUrl("/v2/organizations/83c4fac5-cd9e-41ee-96df-b4f50fff4aef/private_domains") - .usersUrl("/v2/organizations/83c4fac5-cd9e-41ee-96df-b4f50fff4aef/users") - .managersUrl("/v2/organizations/83c4fac5-cd9e-41ee-96df-b4f50fff4aef/managers") - .billingManagersUrl("/v2/organizations/83c4fac5-cd9e-41ee-96df-b4f50fff4aef/billing_managers") - .auditorsUrl("/v2/organizations/83c4fac5-cd9e-41ee-96df-b4f50fff4aef/auditors") - .applicationEventsUrl("/v2/organizations/83c4fac5-cd9e-41ee-96df-b4f50fff4aef/app_events") - .spaceQuotaDefinitionsUrl("/v2/organizations/83c4fac5-cd9e-41ee-96df-b4f50fff4aef/space_quota_definitions") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .associateAuditor( + AssociateOrganizationAuditorRequest.builder() + .auditorId("uaa-id-71") + .organizationId("test-organization-id") + .build()) + .as(StepVerifier::create) + .expectNext( + AssociateOrganizationAuditorResponse.builder() + .metadata( + Metadata.builder() + .id("83c4fac5-cd9e-41ee-96df-b4f50fff4aef") + .url( + "/v2/organizations/83c4fac5-cd9e-41ee-96df-b4f50fff4aef") + .createdAt("2015-07-27T22:43:10Z") + .build()) + .entity( + OrganizationEntity.builder() + .name("name-187") + .billingEnabled(false) + .quotaDefinitionId( + "1d18a00b-4e36-412b-9308-2f5f2402e880") + .status("active") + .quotaDefinitionUrl( + "/v2/quota_definitions/1d18a00b-4e36-412b-9308-2f5f2402e880") + .spacesUrl( + "/v2/organizations/83c4fac5-cd9e-41ee-96df-b4f50fff4aef/spaces") + .domainsUrl( + "/v2/organizations/83c4fac5-cd9e-41ee-96df-b4f50fff4aef/domains") + .privateDomainsUrl( + "/v2/organizations/83c4fac5-cd9e-41ee-96df-b4f50fff4aef/private_domains") + .usersUrl( + "/v2/organizations/83c4fac5-cd9e-41ee-96df-b4f50fff4aef/users") + .managersUrl( + "/v2/organizations/83c4fac5-cd9e-41ee-96df-b4f50fff4aef/managers") + .billingManagersUrl( + "/v2/organizations/83c4fac5-cd9e-41ee-96df-b4f50fff4aef/billing_managers") + .auditorsUrl( + "/v2/organizations/83c4fac5-cd9e-41ee-96df-b4f50fff4aef/auditors") + .applicationEventsUrl( + "/v2/organizations/83c4fac5-cd9e-41ee-96df-b4f50fff4aef/app_events") + .spaceQuotaDefinitionsUrl( + "/v2/organizations/83c4fac5-cd9e-41ee-96df-b4f50fff4aef/space_quota_definitions") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void associateOrganizationAuditorByUsername() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(PUT).path("/organizations/test-organization-id/auditors") - .payload("fixtures/client/v2/organizations/PUT_{id}_auditors_request.json") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/organizations/PUT_{id}_auditors_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(PUT) + .path("/organizations/test-organization-id/auditors") + .payload( + "fixtures/client/v2/organizations/PUT_{id}_auditors_request.json") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/organizations/PUT_{id}_auditors_response.json") + .build()) + .build()); this.organizations - .associateAuditorByUsername(AssociateOrganizationAuditorByUsernameRequest.builder() - .organizationId("test-organization-id") - .username("user@example.com") - .build()) - .as(StepVerifier::create) - .expectNext(AssociateOrganizationAuditorByUsernameResponse.builder() - .metadata(Metadata.builder() - .id("50dfb04d-cd49-477d-a54c-32e00e180022") - .url("/v2/organizations/50dfb04d-cd49-477d-a54c-32e00e180022") - .createdAt("2015-11-30T23:38:58Z") - .build()) - .entity(OrganizationEntity.builder() - .name("name-2476") - .billingEnabled(false) - .quotaDefinitionId("8de0754e-bb1e-4739-be6e-91104bbab281") - .status("active") - .quotaDefinitionUrl("/v2/quota_definitions/8de0754e-bb1e-4739-be6e-91104bbab281") - .spacesUrl("/v2/organizations/50dfb04d-cd49-477d-a54c-32e00e180022/spaces") - .domainsUrl("/v2/organizations/50dfb04d-cd49-477d-a54c-32e00e180022/domains") - .privateDomainsUrl("/v2/organizations/50dfb04d-cd49-477d-a54c-32e00e180022/private_domains") - .usersUrl("/v2/organizations/50dfb04d-cd49-477d-a54c-32e00e180022/users") - .managersUrl("/v2/organizations/50dfb04d-cd49-477d-a54c-32e00e180022/managers") - .billingManagersUrl("/v2/organizations/50dfb04d-cd49-477d-a54c-32e00e180022/billing_managers") - .auditorsUrl("/v2/organizations/50dfb04d-cd49-477d-a54c-32e00e180022/auditors") - .applicationEventsUrl("/v2/organizations/50dfb04d-cd49-477d-a54c-32e00e180022/app_events") - .spaceQuotaDefinitionsUrl("/v2/organizations/50dfb04d-cd49-477d-a54c-32e00e180022/space_quota_definitions") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .associateAuditorByUsername( + AssociateOrganizationAuditorByUsernameRequest.builder() + .organizationId("test-organization-id") + .username("user@example.com") + .build()) + .as(StepVerifier::create) + .expectNext( + AssociateOrganizationAuditorByUsernameResponse.builder() + .metadata( + Metadata.builder() + .id("50dfb04d-cd49-477d-a54c-32e00e180022") + .url( + "/v2/organizations/50dfb04d-cd49-477d-a54c-32e00e180022") + .createdAt("2015-11-30T23:38:58Z") + .build()) + .entity( + OrganizationEntity.builder() + .name("name-2476") + .billingEnabled(false) + .quotaDefinitionId( + "8de0754e-bb1e-4739-be6e-91104bbab281") + .status("active") + .quotaDefinitionUrl( + "/v2/quota_definitions/8de0754e-bb1e-4739-be6e-91104bbab281") + .spacesUrl( + "/v2/organizations/50dfb04d-cd49-477d-a54c-32e00e180022/spaces") + .domainsUrl( + "/v2/organizations/50dfb04d-cd49-477d-a54c-32e00e180022/domains") + .privateDomainsUrl( + "/v2/organizations/50dfb04d-cd49-477d-a54c-32e00e180022/private_domains") + .usersUrl( + "/v2/organizations/50dfb04d-cd49-477d-a54c-32e00e180022/users") + .managersUrl( + "/v2/organizations/50dfb04d-cd49-477d-a54c-32e00e180022/managers") + .billingManagersUrl( + "/v2/organizations/50dfb04d-cd49-477d-a54c-32e00e180022/billing_managers") + .auditorsUrl( + "/v2/organizations/50dfb04d-cd49-477d-a54c-32e00e180022/auditors") + .applicationEventsUrl( + "/v2/organizations/50dfb04d-cd49-477d-a54c-32e00e180022/app_events") + .spaceQuotaDefinitionsUrl( + "/v2/organizations/50dfb04d-cd49-477d-a54c-32e00e180022/space_quota_definitions") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void associateOrganizationBillingManager() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(PUT).path("/organizations/test-organization-id/billing_managers/test-billing-manager-id") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/organizations/PUT_{id}_billing_managers_{billing-manager-id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(PUT) + .path( + "/organizations/test-organization-id/billing_managers/test-billing-manager-id") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/organizations/PUT_{id}_billing_managers_{billing-manager-id}_response.json") + .build()) + .build()); this.organizations - .associateBillingManager(AssociateOrganizationBillingManagerRequest.builder() - .billingManagerId("test-billing-manager-id") - .organizationId("test-organization-id") - .build()) - .as(StepVerifier::create) - .expectNext(AssociateOrganizationBillingManagerResponse.builder() - .entity(OrganizationEntity.builder() - .applicationEventsUrl("/v2/organizations/39ab104d-79f9-4bac-82e0-35b826a236b8/app_events") - .auditorsUrl("/v2/organizations/39ab104d-79f9-4bac-82e0-35b826a236b8/auditors") - .billingEnabled(false) - .billingManagersUrl("/v2/organizations/39ab104d-79f9-4bac-82e0-35b826a236b8/billing_managers") - .domainsUrl("/v2/organizations/39ab104d-79f9-4bac-82e0-35b826a236b8/domains") - .managersUrl("/v2/organizations/39ab104d-79f9-4bac-82e0-35b826a236b8/managers") - .name("name-200") - .privateDomainsUrl("/v2/organizations/39ab104d-79f9-4bac-82e0-35b826a236b8/private_domains") - .quotaDefinitionId("ab51f0d8-1920-4bfc-9401-cd0e978e8c5e") - .quotaDefinitionUrl("/v2/quota_definitions/ab51f0d8-1920-4bfc-9401-cd0e978e8c5e") - .spaceQuotaDefinitionsUrl("/v2/organizations/39ab104d-79f9-4bac-82e0-35b826a236b8/space_quota_definitions") - .spacesUrl("/v2/organizations/39ab104d-79f9-4bac-82e0-35b826a236b8/spaces") - .status("active") - .usersUrl("/v2/organizations/39ab104d-79f9-4bac-82e0-35b826a236b8/users") - .build()) - .metadata(Metadata.builder() - .createdAt("2015-07-27T22:43:10Z") - .id("39ab104d-79f9-4bac-82e0-35b826a236b8") - .url("/v2/organizations/39ab104d-79f9-4bac-82e0-35b826a236b8") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .associateBillingManager( + AssociateOrganizationBillingManagerRequest.builder() + .billingManagerId("test-billing-manager-id") + .organizationId("test-organization-id") + .build()) + .as(StepVerifier::create) + .expectNext( + AssociateOrganizationBillingManagerResponse.builder() + .entity( + OrganizationEntity.builder() + .applicationEventsUrl( + "/v2/organizations/39ab104d-79f9-4bac-82e0-35b826a236b8/app_events") + .auditorsUrl( + "/v2/organizations/39ab104d-79f9-4bac-82e0-35b826a236b8/auditors") + .billingEnabled(false) + .billingManagersUrl( + "/v2/organizations/39ab104d-79f9-4bac-82e0-35b826a236b8/billing_managers") + .domainsUrl( + "/v2/organizations/39ab104d-79f9-4bac-82e0-35b826a236b8/domains") + .managersUrl( + "/v2/organizations/39ab104d-79f9-4bac-82e0-35b826a236b8/managers") + .name("name-200") + .privateDomainsUrl( + "/v2/organizations/39ab104d-79f9-4bac-82e0-35b826a236b8/private_domains") + .quotaDefinitionId( + "ab51f0d8-1920-4bfc-9401-cd0e978e8c5e") + .quotaDefinitionUrl( + "/v2/quota_definitions/ab51f0d8-1920-4bfc-9401-cd0e978e8c5e") + .spaceQuotaDefinitionsUrl( + "/v2/organizations/39ab104d-79f9-4bac-82e0-35b826a236b8/space_quota_definitions") + .spacesUrl( + "/v2/organizations/39ab104d-79f9-4bac-82e0-35b826a236b8/spaces") + .status("active") + .usersUrl( + "/v2/organizations/39ab104d-79f9-4bac-82e0-35b826a236b8/users") + .build()) + .metadata( + Metadata.builder() + .createdAt("2015-07-27T22:43:10Z") + .id("39ab104d-79f9-4bac-82e0-35b826a236b8") + .url( + "/v2/organizations/39ab104d-79f9-4bac-82e0-35b826a236b8") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void associateOrganizationBillingManagerByUsername() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(PUT).path("/organizations/test-organization-id/billing_managers") - .payload("fixtures/client/v2/organizations/PUT_{id}_billing_managers_request.json") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/organizations/PUT_{id}_billing_managers_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(PUT) + .path( + "/organizations/test-organization-id/billing_managers") + .payload( + "fixtures/client/v2/organizations/PUT_{id}_billing_managers_request.json") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/organizations/PUT_{id}_billing_managers_response.json") + .build()) + .build()); this.organizations - .associateBillingManagerByUsername(AssociateOrganizationBillingManagerByUsernameRequest.builder() - .organizationId("test-organization-id") - .username("user@example.com") - .build()) - .as(StepVerifier::create) - .expectNext(AssociateOrganizationBillingManagerByUsernameResponse.builder() - .metadata(Metadata.builder() - .id("c8d4f13c-8880-4859-8e03-fc690efd8f48") - .url("/v2/organizations/c8d4f13c-8880-4859-8e03-fc690efd8f48") - .createdAt("2015-11-30T23:38:58Z") - .build()) - .entity(OrganizationEntity.builder() - .name("name-2470") - .billingEnabled(false) - .quotaDefinitionId("4ad7378e-e90a-4714-b906-a451dd0d5507") - .status("active") - .quotaDefinitionUrl("/v2/quota_definitions/4ad7378e-e90a-4714-b906-a451dd0d5507") - .spacesUrl("/v2/organizations/c8d4f13c-8880-4859-8e03-fc690efd8f48/spaces") - .domainsUrl("/v2/organizations/c8d4f13c-8880-4859-8e03-fc690efd8f48/domains") - .privateDomainsUrl("/v2/organizations/c8d4f13c-8880-4859-8e03-fc690efd8f48/private_domains") - .usersUrl("/v2/organizations/c8d4f13c-8880-4859-8e03-fc690efd8f48/users") - .managersUrl("/v2/organizations/c8d4f13c-8880-4859-8e03-fc690efd8f48/managers") - .billingManagersUrl("/v2/organizations/c8d4f13c-8880-4859-8e03-fc690efd8f48/billing_managers") - .auditorsUrl("/v2/organizations/c8d4f13c-8880-4859-8e03-fc690efd8f48/auditors") - .applicationEventsUrl("/v2/organizations/c8d4f13c-8880-4859-8e03-fc690efd8f48/app_events") - .spaceQuotaDefinitionsUrl("/v2/organizations/c8d4f13c-8880-4859-8e03-fc690efd8f48/space_quota_definitions") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .associateBillingManagerByUsername( + AssociateOrganizationBillingManagerByUsernameRequest.builder() + .organizationId("test-organization-id") + .username("user@example.com") + .build()) + .as(StepVerifier::create) + .expectNext( + AssociateOrganizationBillingManagerByUsernameResponse.builder() + .metadata( + Metadata.builder() + .id("c8d4f13c-8880-4859-8e03-fc690efd8f48") + .url( + "/v2/organizations/c8d4f13c-8880-4859-8e03-fc690efd8f48") + .createdAt("2015-11-30T23:38:58Z") + .build()) + .entity( + OrganizationEntity.builder() + .name("name-2470") + .billingEnabled(false) + .quotaDefinitionId( + "4ad7378e-e90a-4714-b906-a451dd0d5507") + .status("active") + .quotaDefinitionUrl( + "/v2/quota_definitions/4ad7378e-e90a-4714-b906-a451dd0d5507") + .spacesUrl( + "/v2/organizations/c8d4f13c-8880-4859-8e03-fc690efd8f48/spaces") + .domainsUrl( + "/v2/organizations/c8d4f13c-8880-4859-8e03-fc690efd8f48/domains") + .privateDomainsUrl( + "/v2/organizations/c8d4f13c-8880-4859-8e03-fc690efd8f48/private_domains") + .usersUrl( + "/v2/organizations/c8d4f13c-8880-4859-8e03-fc690efd8f48/users") + .managersUrl( + "/v2/organizations/c8d4f13c-8880-4859-8e03-fc690efd8f48/managers") + .billingManagersUrl( + "/v2/organizations/c8d4f13c-8880-4859-8e03-fc690efd8f48/billing_managers") + .auditorsUrl( + "/v2/organizations/c8d4f13c-8880-4859-8e03-fc690efd8f48/auditors") + .applicationEventsUrl( + "/v2/organizations/c8d4f13c-8880-4859-8e03-fc690efd8f48/app_events") + .spaceQuotaDefinitionsUrl( + "/v2/organizations/c8d4f13c-8880-4859-8e03-fc690efd8f48/space_quota_definitions") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void associateOrganizationManager() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(PUT).path("/organizations/test-organization-id/managers/test-manager-id") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/organizations/PUT_{id}_managers_{manager-id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(PUT) + .path( + "/organizations/test-organization-id/managers/test-manager-id") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/organizations/PUT_{id}_managers_{manager-id}_response.json") + .build()) + .build()); this.organizations - .associateManager(AssociateOrganizationManagerRequest.builder() - .organizationId("test-organization-id") - .managerId("test-manager-id") - .build()) - .as(StepVerifier::create) - .expectNext(AssociateOrganizationManagerResponse.builder() - .metadata(Metadata.builder() - .id("cc7c5224-f973-4358-a95a-dd72decbb20f") - .url("/v2/organizations/cc7c5224-f973-4358-a95a-dd72decbb20f") - .createdAt("2015-07-27T22:43:10Z") - .build()) - .entity(OrganizationEntity.builder() - .name("name-218") - .billingEnabled(false) - .quotaDefinitionId("57f59bb7-7581-4257-9502-cbd60bb92d99") - .status("active") - .quotaDefinitionUrl("/v2/quota_definitions/57f59bb7-7581-4257-9502-cbd60bb92d99") - .spacesUrl("/v2/organizations/cc7c5224-f973-4358-a95a-dd72decbb20f/spaces") - .domainsUrl("/v2/organizations/cc7c5224-f973-4358-a95a-dd72decbb20f/domains") - .privateDomainsUrl("/v2/organizations/cc7c5224-f973-4358-a95a-dd72decbb20f/private_domains") - .usersUrl("/v2/organizations/cc7c5224-f973-4358-a95a-dd72decbb20f/users") - .managersUrl("/v2/organizations/cc7c5224-f973-4358-a95a-dd72decbb20f/managers") - .billingManagersUrl("/v2/organizations/cc7c5224-f973-4358-a95a-dd72decbb20f/billing_managers") - .auditorsUrl("/v2/organizations/cc7c5224-f973-4358-a95a-dd72decbb20f/auditors") - .applicationEventsUrl("/v2/organizations/cc7c5224-f973-4358-a95a-dd72decbb20f/app_events") - .spaceQuotaDefinitionsUrl("/v2/organizations/cc7c5224-f973-4358-a95a-dd72decbb20f/space_quota_definitions") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .associateManager( + AssociateOrganizationManagerRequest.builder() + .organizationId("test-organization-id") + .managerId("test-manager-id") + .build()) + .as(StepVerifier::create) + .expectNext( + AssociateOrganizationManagerResponse.builder() + .metadata( + Metadata.builder() + .id("cc7c5224-f973-4358-a95a-dd72decbb20f") + .url( + "/v2/organizations/cc7c5224-f973-4358-a95a-dd72decbb20f") + .createdAt("2015-07-27T22:43:10Z") + .build()) + .entity( + OrganizationEntity.builder() + .name("name-218") + .billingEnabled(false) + .quotaDefinitionId( + "57f59bb7-7581-4257-9502-cbd60bb92d99") + .status("active") + .quotaDefinitionUrl( + "/v2/quota_definitions/57f59bb7-7581-4257-9502-cbd60bb92d99") + .spacesUrl( + "/v2/organizations/cc7c5224-f973-4358-a95a-dd72decbb20f/spaces") + .domainsUrl( + "/v2/organizations/cc7c5224-f973-4358-a95a-dd72decbb20f/domains") + .privateDomainsUrl( + "/v2/organizations/cc7c5224-f973-4358-a95a-dd72decbb20f/private_domains") + .usersUrl( + "/v2/organizations/cc7c5224-f973-4358-a95a-dd72decbb20f/users") + .managersUrl( + "/v2/organizations/cc7c5224-f973-4358-a95a-dd72decbb20f/managers") + .billingManagersUrl( + "/v2/organizations/cc7c5224-f973-4358-a95a-dd72decbb20f/billing_managers") + .auditorsUrl( + "/v2/organizations/cc7c5224-f973-4358-a95a-dd72decbb20f/auditors") + .applicationEventsUrl( + "/v2/organizations/cc7c5224-f973-4358-a95a-dd72decbb20f/app_events") + .spaceQuotaDefinitionsUrl( + "/v2/organizations/cc7c5224-f973-4358-a95a-dd72decbb20f/space_quota_definitions") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void associateOrganizationManagerByUsername() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(PUT).path("/organizations/test-organization-id/managers") - .payload("fixtures/client/v2/organizations/PUT_{id}_managers_request.json") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/organizations/PUT_{id}_managers_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(PUT) + .path("/organizations/test-organization-id/managers") + .payload( + "fixtures/client/v2/organizations/PUT_{id}_managers_request.json") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/organizations/PUT_{id}_managers_response.json") + .build()) + .build()); this.organizations - .associateManagerByUsername(AssociateOrganizationManagerByUsernameRequest.builder() - .organizationId("test-organization-id") - .username("user@example.com") - .build()) - .as(StepVerifier::create) - .expectNext(AssociateOrganizationManagerByUsernameResponse.builder() - .metadata(Metadata.builder() - .id("8d2238e2-2fb3-4ede-b188-1fd3a533c4b4") - .url("/v2/organizations/8d2238e2-2fb3-4ede-b188-1fd3a533c4b4") - .createdAt("2015-11-30T23:38:59Z") - .build()) - .entity(OrganizationEntity.builder() - .name("name-2523") - .billingEnabled(false) - .quotaDefinitionId("0e36ae22-a752-4e37-9dbf-0bac5c1b93c1") - .status("active") - .quotaDefinitionUrl("/v2/quota_definitions/0e36ae22-a752-4e37-9dbf-0bac5c1b93c1") - .spacesUrl("/v2/organizations/8d2238e2-2fb3-4ede-b188-1fd3a533c4b4/spaces") - .domainsUrl("/v2/organizations/8d2238e2-2fb3-4ede-b188-1fd3a533c4b4/domains") - .privateDomainsUrl("/v2/organizations/8d2238e2-2fb3-4ede-b188-1fd3a533c4b4/private_domains") - .usersUrl("/v2/organizations/8d2238e2-2fb3-4ede-b188-1fd3a533c4b4/users") - .managersUrl("/v2/organizations/8d2238e2-2fb3-4ede-b188-1fd3a533c4b4/managers") - .billingManagersUrl("/v2/organizations/8d2238e2-2fb3-4ede-b188-1fd3a533c4b4/billing_managers") - .auditorsUrl("/v2/organizations/8d2238e2-2fb3-4ede-b188-1fd3a533c4b4/auditors") - .applicationEventsUrl("/v2/organizations/8d2238e2-2fb3-4ede-b188-1fd3a533c4b4/app_events") - .spaceQuotaDefinitionsUrl("/v2/organizations/8d2238e2-2fb3-4ede-b188-1fd3a533c4b4/space_quota_definitions") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .associateManagerByUsername( + AssociateOrganizationManagerByUsernameRequest.builder() + .organizationId("test-organization-id") + .username("user@example.com") + .build()) + .as(StepVerifier::create) + .expectNext( + AssociateOrganizationManagerByUsernameResponse.builder() + .metadata( + Metadata.builder() + .id("8d2238e2-2fb3-4ede-b188-1fd3a533c4b4") + .url( + "/v2/organizations/8d2238e2-2fb3-4ede-b188-1fd3a533c4b4") + .createdAt("2015-11-30T23:38:59Z") + .build()) + .entity( + OrganizationEntity.builder() + .name("name-2523") + .billingEnabled(false) + .quotaDefinitionId( + "0e36ae22-a752-4e37-9dbf-0bac5c1b93c1") + .status("active") + .quotaDefinitionUrl( + "/v2/quota_definitions/0e36ae22-a752-4e37-9dbf-0bac5c1b93c1") + .spacesUrl( + "/v2/organizations/8d2238e2-2fb3-4ede-b188-1fd3a533c4b4/spaces") + .domainsUrl( + "/v2/organizations/8d2238e2-2fb3-4ede-b188-1fd3a533c4b4/domains") + .privateDomainsUrl( + "/v2/organizations/8d2238e2-2fb3-4ede-b188-1fd3a533c4b4/private_domains") + .usersUrl( + "/v2/organizations/8d2238e2-2fb3-4ede-b188-1fd3a533c4b4/users") + .managersUrl( + "/v2/organizations/8d2238e2-2fb3-4ede-b188-1fd3a533c4b4/managers") + .billingManagersUrl( + "/v2/organizations/8d2238e2-2fb3-4ede-b188-1fd3a533c4b4/billing_managers") + .auditorsUrl( + "/v2/organizations/8d2238e2-2fb3-4ede-b188-1fd3a533c4b4/auditors") + .applicationEventsUrl( + "/v2/organizations/8d2238e2-2fb3-4ede-b188-1fd3a533c4b4/app_events") + .spaceQuotaDefinitionsUrl( + "/v2/organizations/8d2238e2-2fb3-4ede-b188-1fd3a533c4b4/space_quota_definitions") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void associateOrganizationUser() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(PUT).path("/organizations/test-organization-id/users/test-user-id") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/organizations/PUT_{id}_users_{user-id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(PUT) + .path( + "/organizations/test-organization-id/users/test-user-id") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/organizations/PUT_{id}_users_{user-id}_response.json") + .build()) + .build()); this.organizations - .associateUser(AssociateOrganizationUserRequest.builder() - .organizationId("test-organization-id") - .userId("test-user-id") - .build()) - .as(StepVerifier::create) - .expectNext(AssociateOrganizationUserResponse.builder() - .metadata(Metadata.builder() - .id("584664d0-e5bb-449b-bfe5-0136c30c4ff8") - .url("/v2/organizations/584664d0-e5bb-449b-bfe5-0136c30c4ff8") - .createdAt("2015-07-27T22:43:11Z") - .build()) - .entity(OrganizationEntity.builder() - .name("name-234") - .billingEnabled(false) - .quotaDefinitionId("51a2f10b-9803-4f35-ad69-0350ff4b66d4") - .status("active") - .quotaDefinitionUrl("/v2/quota_definitions/51a2f10b-9803-4f35-ad69-0350ff4b66d4") - .spacesUrl("/v2/organizations/584664d0-e5bb-449b-bfe5-0136c30c4ff8/spaces") - .domainsUrl("/v2/organizations/584664d0-e5bb-449b-bfe5-0136c30c4ff8/domains") - .privateDomainsUrl("/v2/organizations/584664d0-e5bb-449b-bfe5-0136c30c4ff8/private_domains") - .usersUrl("/v2/organizations/584664d0-e5bb-449b-bfe5-0136c30c4ff8/users") - .managersUrl("/v2/organizations/584664d0-e5bb-449b-bfe5-0136c30c4ff8/managers") - .billingManagersUrl("/v2/organizations/584664d0-e5bb-449b-bfe5-0136c30c4ff8/billing_managers") - .auditorsUrl("/v2/organizations/584664d0-e5bb-449b-bfe5-0136c30c4ff8/auditors") - .applicationEventsUrl("/v2/organizations/584664d0-e5bb-449b-bfe5-0136c30c4ff8/app_events") - .spaceQuotaDefinitionsUrl("/v2/organizations/584664d0-e5bb-449b-bfe5-0136c30c4ff8/space_quota_definitions") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .associateUser( + AssociateOrganizationUserRequest.builder() + .organizationId("test-organization-id") + .userId("test-user-id") + .build()) + .as(StepVerifier::create) + .expectNext( + AssociateOrganizationUserResponse.builder() + .metadata( + Metadata.builder() + .id("584664d0-e5bb-449b-bfe5-0136c30c4ff8") + .url( + "/v2/organizations/584664d0-e5bb-449b-bfe5-0136c30c4ff8") + .createdAt("2015-07-27T22:43:11Z") + .build()) + .entity( + OrganizationEntity.builder() + .name("name-234") + .billingEnabled(false) + .quotaDefinitionId( + "51a2f10b-9803-4f35-ad69-0350ff4b66d4") + .status("active") + .quotaDefinitionUrl( + "/v2/quota_definitions/51a2f10b-9803-4f35-ad69-0350ff4b66d4") + .spacesUrl( + "/v2/organizations/584664d0-e5bb-449b-bfe5-0136c30c4ff8/spaces") + .domainsUrl( + "/v2/organizations/584664d0-e5bb-449b-bfe5-0136c30c4ff8/domains") + .privateDomainsUrl( + "/v2/organizations/584664d0-e5bb-449b-bfe5-0136c30c4ff8/private_domains") + .usersUrl( + "/v2/organizations/584664d0-e5bb-449b-bfe5-0136c30c4ff8/users") + .managersUrl( + "/v2/organizations/584664d0-e5bb-449b-bfe5-0136c30c4ff8/managers") + .billingManagersUrl( + "/v2/organizations/584664d0-e5bb-449b-bfe5-0136c30c4ff8/billing_managers") + .auditorsUrl( + "/v2/organizations/584664d0-e5bb-449b-bfe5-0136c30c4ff8/auditors") + .applicationEventsUrl( + "/v2/organizations/584664d0-e5bb-449b-bfe5-0136c30c4ff8/app_events") + .spaceQuotaDefinitionsUrl( + "/v2/organizations/584664d0-e5bb-449b-bfe5-0136c30c4ff8/space_quota_definitions") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void associateOrganizationUserByUsername() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(PUT).path("/organizations/test-organization-id/users") - .payload("fixtures/client/v2/organizations/PUT_{id}_users_request.json") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/organizations/PUT_{id}_users_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(PUT) + .path("/organizations/test-organization-id/users") + .payload( + "fixtures/client/v2/organizations/PUT_{id}_users_request.json") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/organizations/PUT_{id}_users_response.json") + .build()) + .build()); this.organizations - .associateUserByUsername(AssociateOrganizationUserByUsernameRequest.builder() - .organizationId("test-organization-id") - .username("user@example.com") - .build()) - .as(StepVerifier::create) - .expectNext(AssociateOrganizationUserByUsernameResponse.builder() - .metadata(Metadata.builder() - .id("1a93417a-811a-46c7-85fa-4a0507c53f08") - .url("/v2/organizations/1a93417a-811a-46c7-85fa-4a0507c53f08") - .createdAt("2015-11-30T23:38:59Z") - .build()) - .entity(OrganizationEntity.builder() - .name("name-2510") - .billingEnabled(false) - .quotaDefinitionId("4df84394-d265-4b78-a679-c31bb2e5379c") - .status("active") - .quotaDefinitionUrl("/v2/quota_definitions/4df84394-d265-4b78-a679-c31bb2e5379c") - .spacesUrl("/v2/organizations/1a93417a-811a-46c7-85fa-4a0507c53f08/spaces") - .domainsUrl("/v2/organizations/1a93417a-811a-46c7-85fa-4a0507c53f08/domains") - .privateDomainsUrl("/v2/organizations/1a93417a-811a-46c7-85fa-4a0507c53f08/private_domains") - .usersUrl("/v2/organizations/1a93417a-811a-46c7-85fa-4a0507c53f08/users") - .managersUrl("/v2/organizations/1a93417a-811a-46c7-85fa-4a0507c53f08/managers") - .billingManagersUrl("/v2/organizations/1a93417a-811a-46c7-85fa-4a0507c53f08/billing_managers") - .auditorsUrl("/v2/organizations/1a93417a-811a-46c7-85fa-4a0507c53f08/auditors") - .applicationEventsUrl("/v2/organizations/1a93417a-811a-46c7-85fa-4a0507c53f08/app_events") - .spaceQuotaDefinitionsUrl("/v2/organizations/1a93417a-811a-46c7-85fa-4a0507c53f08/space_quota_definitions") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .associateUserByUsername( + AssociateOrganizationUserByUsernameRequest.builder() + .organizationId("test-organization-id") + .username("user@example.com") + .build()) + .as(StepVerifier::create) + .expectNext( + AssociateOrganizationUserByUsernameResponse.builder() + .metadata( + Metadata.builder() + .id("1a93417a-811a-46c7-85fa-4a0507c53f08") + .url( + "/v2/organizations/1a93417a-811a-46c7-85fa-4a0507c53f08") + .createdAt("2015-11-30T23:38:59Z") + .build()) + .entity( + OrganizationEntity.builder() + .name("name-2510") + .billingEnabled(false) + .quotaDefinitionId( + "4df84394-d265-4b78-a679-c31bb2e5379c") + .status("active") + .quotaDefinitionUrl( + "/v2/quota_definitions/4df84394-d265-4b78-a679-c31bb2e5379c") + .spacesUrl( + "/v2/organizations/1a93417a-811a-46c7-85fa-4a0507c53f08/spaces") + .domainsUrl( + "/v2/organizations/1a93417a-811a-46c7-85fa-4a0507c53f08/domains") + .privateDomainsUrl( + "/v2/organizations/1a93417a-811a-46c7-85fa-4a0507c53f08/private_domains") + .usersUrl( + "/v2/organizations/1a93417a-811a-46c7-85fa-4a0507c53f08/users") + .managersUrl( + "/v2/organizations/1a93417a-811a-46c7-85fa-4a0507c53f08/managers") + .billingManagersUrl( + "/v2/organizations/1a93417a-811a-46c7-85fa-4a0507c53f08/billing_managers") + .auditorsUrl( + "/v2/organizations/1a93417a-811a-46c7-85fa-4a0507c53f08/auditors") + .applicationEventsUrl( + "/v2/organizations/1a93417a-811a-46c7-85fa-4a0507c53f08/app_events") + .spaceQuotaDefinitionsUrl( + "/v2/organizations/1a93417a-811a-46c7-85fa-4a0507c53f08/space_quota_definitions") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void associatePrivateDomain() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(PUT).path("/organizations/test-organization-id/private_domains/test-private-domain-id") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/organizations/PUT_{id}_private_domains_{private-domain-id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(PUT) + .path( + "/organizations/test-organization-id/private_domains/test-private-domain-id") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/organizations/PUT_{id}_private_domains_{private-domain-id}_response.json") + .build()) + .build()); this.organizations - .associatePrivateDomain(AssociateOrganizationPrivateDomainRequest.builder() - .organizationId("test-organization-id") - .privateDomainId("test-private-domain-id") - .build()) - .as(StepVerifier::create) - .expectNext(AssociateOrganizationPrivateDomainResponse.builder() - .entity(OrganizationEntity.builder() - .name("name-228") - .billingEnabled(false) - .quotaDefinitionId("855b0cb8-5c58-4ebc-8189-6582c37060e6") - .status("active") - .quotaDefinitionUrl("/v2/quota_definitions/855b0cb8-5c58-4ebc-8189-6582c37060e6") - .spacesUrl("/v2/organizations/676f9ff8-8c35-49ed-8ebf-fdf3db34cde7/spaces") - .domainsUrl("/v2/organizations/676f9ff8-8c35-49ed-8ebf-fdf3db34cde7/domains") - .privateDomainsUrl("/v2/organizations/676f9ff8-8c35-49ed-8ebf-fdf3db34cde7/private_domains") - .usersUrl("/v2/organizations/676f9ff8-8c35-49ed-8ebf-fdf3db34cde7/users") - .managersUrl("/v2/organizations/676f9ff8-8c35-49ed-8ebf-fdf3db34cde7/managers") - .billingManagersUrl("/v2/organizations/676f9ff8-8c35-49ed-8ebf-fdf3db34cde7/billing_managers") - .auditorsUrl("/v2/organizations/676f9ff8-8c35-49ed-8ebf-fdf3db34cde7/auditors") - .applicationEventsUrl("/v2/organizations/676f9ff8-8c35-49ed-8ebf-fdf3db34cde7/app_events") - .spaceQuotaDefinitionsUrl("/v2/organizations/676f9ff8-8c35-49ed-8ebf-fdf3db34cde7/space_quota_definitions") - .build()) - .metadata(Metadata.builder() - .createdAt("2015-07-27T22:43:10Z") - .id("676f9ff8-8c35-49ed-8ebf-fdf3db34cde7") - .url("/v2/organizations/676f9ff8-8c35-49ed-8ebf-fdf3db34cde7") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .associatePrivateDomain( + AssociateOrganizationPrivateDomainRequest.builder() + .organizationId("test-organization-id") + .privateDomainId("test-private-domain-id") + .build()) + .as(StepVerifier::create) + .expectNext( + AssociateOrganizationPrivateDomainResponse.builder() + .entity( + OrganizationEntity.builder() + .name("name-228") + .billingEnabled(false) + .quotaDefinitionId( + "855b0cb8-5c58-4ebc-8189-6582c37060e6") + .status("active") + .quotaDefinitionUrl( + "/v2/quota_definitions/855b0cb8-5c58-4ebc-8189-6582c37060e6") + .spacesUrl( + "/v2/organizations/676f9ff8-8c35-49ed-8ebf-fdf3db34cde7/spaces") + .domainsUrl( + "/v2/organizations/676f9ff8-8c35-49ed-8ebf-fdf3db34cde7/domains") + .privateDomainsUrl( + "/v2/organizations/676f9ff8-8c35-49ed-8ebf-fdf3db34cde7/private_domains") + .usersUrl( + "/v2/organizations/676f9ff8-8c35-49ed-8ebf-fdf3db34cde7/users") + .managersUrl( + "/v2/organizations/676f9ff8-8c35-49ed-8ebf-fdf3db34cde7/managers") + .billingManagersUrl( + "/v2/organizations/676f9ff8-8c35-49ed-8ebf-fdf3db34cde7/billing_managers") + .auditorsUrl( + "/v2/organizations/676f9ff8-8c35-49ed-8ebf-fdf3db34cde7/auditors") + .applicationEventsUrl( + "/v2/organizations/676f9ff8-8c35-49ed-8ebf-fdf3db34cde7/app_events") + .spaceQuotaDefinitionsUrl( + "/v2/organizations/676f9ff8-8c35-49ed-8ebf-fdf3db34cde7/space_quota_definitions") + .build()) + .metadata( + Metadata.builder() + .createdAt("2015-07-27T22:43:10Z") + .id("676f9ff8-8c35-49ed-8ebf-fdf3db34cde7") + .url( + "/v2/organizations/676f9ff8-8c35-49ed-8ebf-fdf3db34cde7") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void create() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(POST).path("/organizations") - .payload("fixtures/client/v2/organizations/POST_request.json") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/organizations/POST_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(POST) + .path("/organizations") + .payload( + "fixtures/client/v2/organizations/POST_request.json") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/organizations/POST_response.json") + .build()) + .build()); this.organizations - .create(CreateOrganizationRequest.builder() - .name("my-org-name") - .quotaDefinitionId("ffc919cd-3e21-43a6-9e4e-62802d149cdb") - .build()) - .as(StepVerifier::create) - .expectNext(CreateOrganizationResponse.builder() - .metadata(Metadata.builder() - .id("137bfc86-5a2f-4759-9c0c-59ef614cd0be") - .url("/v2/organizations/137bfc86-5a2f-4759-9c0c-59ef614cd0be") - .createdAt("2015-07-27T22:43:11Z") - .build()) - .entity(OrganizationEntity.builder() - .name("my-org-name") - .billingEnabled(false) - .quotaDefinitionId("ffc919cd-3e21-43a6-9e4e-62802d149cdb") - .status("active") - .quotaDefinitionUrl("/v2/quota_definitions/ffc919cd-3e21-43a6-9e4e-62802d149cdb") - .spacesUrl("/v2/organizations/137bfc86-5a2f-4759-9c0c-59ef614cd0be/spaces") - .domainsUrl("/v2/organizations/137bfc86-5a2f-4759-9c0c-59ef614cd0be/domains") - .privateDomainsUrl("/v2/organizations/137bfc86-5a2f-4759-9c0c-59ef614cd0be/private_domains") - .usersUrl("/v2/organizations/137bfc86-5a2f-4759-9c0c-59ef614cd0be/users") - .managersUrl("/v2/organizations/137bfc86-5a2f-4759-9c0c-59ef614cd0be/managers") - .billingManagersUrl("/v2/organizations/137bfc86-5a2f-4759-9c0c-59ef614cd0be/billing_managers") - .auditorsUrl("/v2/organizations/137bfc86-5a2f-4759-9c0c-59ef614cd0be/auditors") - .applicationEventsUrl("/v2/organizations/137bfc86-5a2f-4759-9c0c-59ef614cd0be/app_events") - .spaceQuotaDefinitionsUrl("/v2/organizations/137bfc86-5a2f-4759-9c0c-59ef614cd0be/space_quota_definitions") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .create( + CreateOrganizationRequest.builder() + .name("my-org-name") + .quotaDefinitionId("ffc919cd-3e21-43a6-9e4e-62802d149cdb") + .build()) + .as(StepVerifier::create) + .expectNext( + CreateOrganizationResponse.builder() + .metadata( + Metadata.builder() + .id("137bfc86-5a2f-4759-9c0c-59ef614cd0be") + .url( + "/v2/organizations/137bfc86-5a2f-4759-9c0c-59ef614cd0be") + .createdAt("2015-07-27T22:43:11Z") + .build()) + .entity( + OrganizationEntity.builder() + .name("my-org-name") + .billingEnabled(false) + .quotaDefinitionId( + "ffc919cd-3e21-43a6-9e4e-62802d149cdb") + .status("active") + .quotaDefinitionUrl( + "/v2/quota_definitions/ffc919cd-3e21-43a6-9e4e-62802d149cdb") + .spacesUrl( + "/v2/organizations/137bfc86-5a2f-4759-9c0c-59ef614cd0be/spaces") + .domainsUrl( + "/v2/organizations/137bfc86-5a2f-4759-9c0c-59ef614cd0be/domains") + .privateDomainsUrl( + "/v2/organizations/137bfc86-5a2f-4759-9c0c-59ef614cd0be/private_domains") + .usersUrl( + "/v2/organizations/137bfc86-5a2f-4759-9c0c-59ef614cd0be/users") + .managersUrl( + "/v2/organizations/137bfc86-5a2f-4759-9c0c-59ef614cd0be/managers") + .billingManagersUrl( + "/v2/organizations/137bfc86-5a2f-4759-9c0c-59ef614cd0be/billing_managers") + .auditorsUrl( + "/v2/organizations/137bfc86-5a2f-4759-9c0c-59ef614cd0be/auditors") + .applicationEventsUrl( + "/v2/organizations/137bfc86-5a2f-4759-9c0c-59ef614cd0be/app_events") + .spaceQuotaDefinitionsUrl( + "/v2/organizations/137bfc86-5a2f-4759-9c0c-59ef614cd0be/space_quota_definitions") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void delete() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(DELETE).path("/organizations/test-organization-id") - .build()) - .response(TestResponse.builder() - .status(NO_CONTENT) - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(DELETE) + .path("/organizations/test-organization-id") + .build()) + .response(TestResponse.builder().status(NO_CONTENT).build()) + .build()); this.organizations - .delete(DeleteOrganizationRequest.builder() - .organizationId("test-organization-id") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .delete( + DeleteOrganizationRequest.builder() + .organizationId("test-organization-id") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void deleteAsync() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(DELETE).path("/organizations/test-organization-id?async=true") - .build()) - .response(TestResponse.builder() - .status(ACCEPTED) - .payload("fixtures/client/v2/organizations/DELETE_{id}_async_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(DELETE) + .path("/organizations/test-organization-id?async=true") + .build()) + .response( + TestResponse.builder() + .status(ACCEPTED) + .payload( + "fixtures/client/v2/organizations/DELETE_{id}_async_response.json") + .build()) + .build()); this.organizations - .delete(DeleteOrganizationRequest.builder() - .async(true) - .organizationId("test-organization-id") - .build()) - .as(StepVerifier::create) - .expectNext(DeleteOrganizationResponse.builder() - .metadata(Metadata.builder() - .id("2d9707ba-6f0b-4aef-a3de-fe9bdcf0c9d1") - .createdAt("2016-02-02T17:16:31Z") - .url("/v2/jobs/2d9707ba-6f0b-4aef-a3de-fe9bdcf0c9d1") - .build()) - .entity(JobEntity.builder() - .id("2d9707ba-6f0b-4aef-a3de-fe9bdcf0c9d1") - .status("queued") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .delete( + DeleteOrganizationRequest.builder() + .async(true) + .organizationId("test-organization-id") + .build()) + .as(StepVerifier::create) + .expectNext( + DeleteOrganizationResponse.builder() + .metadata( + Metadata.builder() + .id("2d9707ba-6f0b-4aef-a3de-fe9bdcf0c9d1") + .createdAt("2016-02-02T17:16:31Z") + .url( + "/v2/jobs/2d9707ba-6f0b-4aef-a3de-fe9bdcf0c9d1") + .build()) + .entity( + JobEntity.builder() + .id("2d9707ba-6f0b-4aef-a3de-fe9bdcf0c9d1") + .status("queued") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void get() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/organizations/test-organization-id") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/organizations/GET_{id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/organizations/test-organization-id") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/organizations/GET_{id}_response.json") + .build()) + .build()); this.organizations - .get(GetOrganizationRequest.builder() - .organizationId("test-organization-id") - .build()) - .as(StepVerifier::create) - .expectNext(GetOrganizationResponse.builder() - .metadata(Metadata.builder() - .id("027616f3-66c4-412c-8214-7e43db2d587b") - .url("/v2/organizations/027616f3-66c4-412c-8214-7e43db2d587b") - .createdAt("2015-07-27T22:43:11Z") - .build()) - .entity(OrganizationEntity.builder() - .name("name-240") - .billingEnabled(false) - .quotaDefinitionId("f3f0b830-d50a-4265-b8f8-3c430aa0313b") - .status("active") - .quotaDefinitionUrl("/v2/quota_definitions/f3f0b830-d50a-4265-b8f8-3c430aa0313b") - .spacesUrl("/v2/organizations/027616f3-66c4-412c-8214-7e43db2d587b/spaces") - .domainsUrl("/v2/organizations/027616f3-66c4-412c-8214-7e43db2d587b/domains") - .privateDomainsUrl("/v2/organizations/027616f3-66c4-412c-8214-7e43db2d587b/private_domains") - .usersUrl("/v2/organizations/027616f3-66c4-412c-8214-7e43db2d587b/users") - .managersUrl("/v2/organizations/027616f3-66c4-412c-8214-7e43db2d587b/managers") - .billingManagersUrl("/v2/organizations/027616f3-66c4-412c-8214-7e43db2d587b/billing_managers") - .auditorsUrl("/v2/organizations/027616f3-66c4-412c-8214-7e43db2d587b/auditors") - .applicationEventsUrl("/v2/organizations/027616f3-66c4-412c-8214-7e43db2d587b/app_events") - .spaceQuotaDefinitionsUrl("/v2/organizations/027616f3-66c4-412c-8214-7e43db2d587b/space_quota_definitions") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .get( + GetOrganizationRequest.builder() + .organizationId("test-organization-id") + .build()) + .as(StepVerifier::create) + .expectNext( + GetOrganizationResponse.builder() + .metadata( + Metadata.builder() + .id("027616f3-66c4-412c-8214-7e43db2d587b") + .url( + "/v2/organizations/027616f3-66c4-412c-8214-7e43db2d587b") + .createdAt("2015-07-27T22:43:11Z") + .build()) + .entity( + OrganizationEntity.builder() + .name("name-240") + .billingEnabled(false) + .quotaDefinitionId( + "f3f0b830-d50a-4265-b8f8-3c430aa0313b") + .status("active") + .quotaDefinitionUrl( + "/v2/quota_definitions/f3f0b830-d50a-4265-b8f8-3c430aa0313b") + .spacesUrl( + "/v2/organizations/027616f3-66c4-412c-8214-7e43db2d587b/spaces") + .domainsUrl( + "/v2/organizations/027616f3-66c4-412c-8214-7e43db2d587b/domains") + .privateDomainsUrl( + "/v2/organizations/027616f3-66c4-412c-8214-7e43db2d587b/private_domains") + .usersUrl( + "/v2/organizations/027616f3-66c4-412c-8214-7e43db2d587b/users") + .managersUrl( + "/v2/organizations/027616f3-66c4-412c-8214-7e43db2d587b/managers") + .billingManagersUrl( + "/v2/organizations/027616f3-66c4-412c-8214-7e43db2d587b/billing_managers") + .auditorsUrl( + "/v2/organizations/027616f3-66c4-412c-8214-7e43db2d587b/auditors") + .applicationEventsUrl( + "/v2/organizations/027616f3-66c4-412c-8214-7e43db2d587b/app_events") + .spaceQuotaDefinitionsUrl( + "/v2/organizations/027616f3-66c4-412c-8214-7e43db2d587b/space_quota_definitions") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void getInstanceUsage() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/organizations/test-organization-id/instance_usage") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/organizations/GET_{id}_instance_usage_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/organizations/test-organization-id/instance_usage") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/organizations/GET_{id}_instance_usage_response.json") + .build()) + .build()); this.organizations - .getInstanceUsage(GetOrganizationInstanceUsageRequest.builder() - .organizationId("test-organization-id") - .build()) - .as(StepVerifier::create) - .expectNext(GetOrganizationInstanceUsageResponse.builder() - .instanceUsage(3) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .getInstanceUsage( + GetOrganizationInstanceUsageRequest.builder() + .organizationId("test-organization-id") + .build()) + .as(StepVerifier::create) + .expectNext(GetOrganizationInstanceUsageResponse.builder().instanceUsage(3).build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void getMemoryUsage() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/organizations/test-organization-id/memory_usage") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/organizations/GET_{id}_memory_usage_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/organizations/test-organization-id/memory_usage") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/organizations/GET_{id}_memory_usage_response.json") + .build()) + .build()); this.organizations - .getMemoryUsage(GetOrganizationMemoryUsageRequest.builder() - .organizationId("test-organization-id") - .build()) - .as(StepVerifier::create) - .expectNext(GetOrganizationMemoryUsageResponse.builder() - .memoryUsageInMb(0) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .getMemoryUsage( + GetOrganizationMemoryUsageRequest.builder() + .organizationId("test-organization-id") + .build()) + .as(StepVerifier::create) + .expectNext(GetOrganizationMemoryUsageResponse.builder().memoryUsageInMb(0).build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void getUserRoles() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/organizations/test-organization-id/user_roles?page=-1") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/organizations/GET_{id}_user_roles_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path( + "/organizations/test-organization-id/user_roles?page=-1") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/organizations/GET_{id}_user_roles_response.json") + .build()) + .build()); this.organizations - .getUserRoles(GetOrganizationUserRolesRequest.builder() - .organizationId("test-organization-id") - .page(-1) - .build()) - .as(StepVerifier::create) - .expectNext(GetOrganizationUserRolesResponse.builder() - .totalResults(2) - .totalPages(2) - .nextUrl("/v2/organizations/6fd1790e-0785-41ec-aff0-99915ce000c1/user_roles?order-direction=asc&page=2&results-per-page=1") - .resource(UserOrganizationRoleResource.builder() - .metadata(Metadata.builder() - .id("uaa-id-92") - .url("/v2/users/uaa-id-92") - .createdAt("2015-07-27T22:43:10Z") - .build()) - .entity(UserOrganizationRoleEntity.builder() - .admin(false) - .active(false) - .defaultSpaceId(null) - .username("everything@example.com") - .organizationRole("org_user") - .organizationRole("org_manager") - .organizationRole("org_auditor") - .organizationRole("billing_manager") - .spacesUrl("/v2/users/uaa-id-92/spaces") - .organizationsUrl("/v2/users/uaa-id-92/organizations") - .managedOrganizationsUrl("/v2/users/uaa-id-92/managed_organizations") - .billingManagedOrganizationsUrl("/v2/users/uaa-id-92/billing_managed_organizations") - .auditedOrganizationsUrl("/v2/users/uaa-id-92/audited_organizations") - .managedSpacesUrl("/v2/users/uaa-id-92/managed_spaces") - .auditedSpacesUrl("/v2/users/uaa-id-92/audited_spaces") - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .getUserRoles( + GetOrganizationUserRolesRequest.builder() + .organizationId("test-organization-id") + .page(-1) + .build()) + .as(StepVerifier::create) + .expectNext( + GetOrganizationUserRolesResponse.builder() + .totalResults(2) + .totalPages(2) + .nextUrl( + "/v2/organizations/6fd1790e-0785-41ec-aff0-99915ce000c1/user_roles?order-direction=asc&page=2&results-per-page=1") + .resource( + UserOrganizationRoleResource.builder() + .metadata( + Metadata.builder() + .id("uaa-id-92") + .url("/v2/users/uaa-id-92") + .createdAt("2015-07-27T22:43:10Z") + .build()) + .entity( + UserOrganizationRoleEntity.builder() + .admin(false) + .active(false) + .defaultSpaceId(null) + .username("everything@example.com") + .organizationRole("org_user") + .organizationRole("org_manager") + .organizationRole("org_auditor") + .organizationRole("billing_manager") + .spacesUrl( + "/v2/users/uaa-id-92/spaces") + .organizationsUrl( + "/v2/users/uaa-id-92/organizations") + .managedOrganizationsUrl( + "/v2/users/uaa-id-92/managed_organizations") + .billingManagedOrganizationsUrl( + "/v2/users/uaa-id-92/billing_managed_organizations") + .auditedOrganizationsUrl( + "/v2/users/uaa-id-92/audited_organizations") + .managedSpacesUrl( + "/v2/users/uaa-id-92/managed_spaces") + .auditedSpacesUrl( + "/v2/users/uaa-id-92/audited_spaces") + .build()) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void list() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/organizations?q=name%3Atest-name&page=-1") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/organizations/GET_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/organizations?q=name%3Atest-name&page=-1") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/organizations/GET_response.json") + .build()) + .build()); this.organizations - .list(ListOrganizationsRequest.builder() - .name("test-name") - .page(-1) - .build()) - .as(StepVerifier::create) - .expectNext(ListOrganizationsResponse.builder() - .totalResults(1) - .totalPages(1) - .resource(OrganizationResource.builder() - .metadata(Metadata.builder() - .id("deb3c359-2261-45ba-b34f-ee7487acd71a") - .url("/v2/organizations/deb3c359-2261-45ba-b34f-ee7487acd71a") - .createdAt("2015-07-27T22:43:05Z") - .build()) - .entity(OrganizationEntity.builder() - .name("the-system_domain-org-name") - .billingEnabled(false) - .quotaDefinitionId("9b56a1ec-4981-4a1e-9348-0d78eeca842c") - .status("active") - .quotaDefinitionUrl("/v2/quota_definitions/9b56a1ec-4981-4a1e-9348-0d78eeca842c") - .spacesUrl("/v2/organizations/deb3c359-2261-45ba-b34f-ee7487acd71a/spaces") - .domainsUrl("/v2/organizations/deb3c359-2261-45ba-b34f-ee7487acd71a/domains") - .privateDomainsUrl("/v2/organizations/deb3c359-2261-45ba-b34f-ee7487acd71a/private_domains") - .usersUrl("/v2/organizations/deb3c359-2261-45ba-b34f-ee7487acd71a/users") - .managersUrl("/v2/organizations/deb3c359-2261-45ba-b34f-ee7487acd71a/managers") - .billingManagersUrl("/v2/organizations/deb3c359-2261-45ba-b34f-ee7487acd71a/billing_managers") - .auditorsUrl("/v2/organizations/deb3c359-2261-45ba-b34f-ee7487acd71a/auditors") - .applicationEventsUrl("/v2/organizations/deb3c359-2261-45ba-b34f-ee7487acd71a/app_events") - .spaceQuotaDefinitionsUrl("/v2/organizations/deb3c359-2261-45ba-b34f-ee7487acd71a/space_quota_definitions") - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .list(ListOrganizationsRequest.builder().name("test-name").page(-1).build()) + .as(StepVerifier::create) + .expectNext( + ListOrganizationsResponse.builder() + .totalResults(1) + .totalPages(1) + .resource( + OrganizationResource.builder() + .metadata( + Metadata.builder() + .id( + "deb3c359-2261-45ba-b34f-ee7487acd71a") + .url( + "/v2/organizations/deb3c359-2261-45ba-b34f-ee7487acd71a") + .createdAt("2015-07-27T22:43:05Z") + .build()) + .entity( + OrganizationEntity.builder() + .name("the-system_domain-org-name") + .billingEnabled(false) + .quotaDefinitionId( + "9b56a1ec-4981-4a1e-9348-0d78eeca842c") + .status("active") + .quotaDefinitionUrl( + "/v2/quota_definitions/9b56a1ec-4981-4a1e-9348-0d78eeca842c") + .spacesUrl( + "/v2/organizations/deb3c359-2261-45ba-b34f-ee7487acd71a/spaces") + .domainsUrl( + "/v2/organizations/deb3c359-2261-45ba-b34f-ee7487acd71a/domains") + .privateDomainsUrl( + "/v2/organizations/deb3c359-2261-45ba-b34f-ee7487acd71a/private_domains") + .usersUrl( + "/v2/organizations/deb3c359-2261-45ba-b34f-ee7487acd71a/users") + .managersUrl( + "/v2/organizations/deb3c359-2261-45ba-b34f-ee7487acd71a/managers") + .billingManagersUrl( + "/v2/organizations/deb3c359-2261-45ba-b34f-ee7487acd71a/billing_managers") + .auditorsUrl( + "/v2/organizations/deb3c359-2261-45ba-b34f-ee7487acd71a/auditors") + .applicationEventsUrl( + "/v2/organizations/deb3c359-2261-45ba-b34f-ee7487acd71a/app_events") + .spaceQuotaDefinitionsUrl( + "/v2/organizations/deb3c359-2261-45ba-b34f-ee7487acd71a/space_quota_definitions") + .build()) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void listAuditors() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/organizations/test-organization-id/auditors?page=-1") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/organizations/GET_{id}_auditors_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path( + "/organizations/test-organization-id/auditors?page=-1") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/organizations/GET_{id}_auditors_response.json") + .build()) + .build()); this.organizations - .listAuditors(ListOrganizationAuditorsRequest.builder() - .organizationId("test-organization-id") - .page(-1) - .build()) - .as(StepVerifier::create) - .expectNext(ListOrganizationAuditorsResponse.builder() - .totalResults(1) - .totalPages(1) - .resource(UserResource.builder() - .metadata(Metadata.builder() - .id("uaa-id-73") - .url("/v2/users/uaa-id-73") - .createdAt("2015-07-27T22:43:10Z") - .build()) - .entity(UserEntity.builder() - .admin(false) - .active(false) - .defaultSpaceId(null) - .username("auditor@example.com") - .spacesUrl("/v2/users/uaa-id-73/spaces") - .organizationsUrl("/v2/users/uaa-id-73/organizations") - .managedOrganizationsUrl("/v2/users/uaa-id-73/managed_organizations") - .billingManagedOrganizationsUrl("/v2/users/uaa-id-73/billing_managed_organizations") - .auditedOrganizationsUrl("/v2/users/uaa-id-73/audited_organizations") - .managedSpacesUrl("/v2/users/uaa-id-73/managed_spaces") - .auditedSpacesUrl("/v2/users/uaa-id-73/audited_spaces") - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .listAuditors( + ListOrganizationAuditorsRequest.builder() + .organizationId("test-organization-id") + .page(-1) + .build()) + .as(StepVerifier::create) + .expectNext( + ListOrganizationAuditorsResponse.builder() + .totalResults(1) + .totalPages(1) + .resource( + UserResource.builder() + .metadata( + Metadata.builder() + .id("uaa-id-73") + .url("/v2/users/uaa-id-73") + .createdAt("2015-07-27T22:43:10Z") + .build()) + .entity( + UserEntity.builder() + .admin(false) + .active(false) + .defaultSpaceId(null) + .username("auditor@example.com") + .spacesUrl( + "/v2/users/uaa-id-73/spaces") + .organizationsUrl( + "/v2/users/uaa-id-73/organizations") + .managedOrganizationsUrl( + "/v2/users/uaa-id-73/managed_organizations") + .billingManagedOrganizationsUrl( + "/v2/users/uaa-id-73/billing_managed_organizations") + .auditedOrganizationsUrl( + "/v2/users/uaa-id-73/audited_organizations") + .managedSpacesUrl( + "/v2/users/uaa-id-73/managed_spaces") + .auditedSpacesUrl( + "/v2/users/uaa-id-73/audited_spaces") + .build()) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void listBillingManagers() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/organizations/test-organization-id/billing_managers?page=-1") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/organizations/GET_{id}_billing_managers_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path( + "/organizations/test-organization-id/billing_managers?page=-1") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/organizations/GET_{id}_billing_managers_response.json") + .build()) + .build()); this.organizations - .listBillingManagers(ListOrganizationBillingManagersRequest.builder() - .organizationId("test-organization-id") - .page(-1) - .build()) - .as(StepVerifier::create) - .expectNext(ListOrganizationBillingManagersResponse.builder() - .totalResults(1) - .totalPages(1) - .resource(UserResource.builder() - .metadata(Metadata.builder() - .id("uaa-id-84") - .url("/v2/users/uaa-id-84") - .createdAt("2015-07-27T22:43:10Z") - .build()) - .entity(UserEntity.builder() - .admin(false) - .active(false) - .defaultSpaceId(null) - .username("billing_manager@example.com") - .spacesUrl("/v2/users/uaa-id-84/spaces") - .organizationsUrl("/v2/users/uaa-id-84/organizations") - .managedOrganizationsUrl("/v2/users/uaa-id-84/managed_organizations") - .billingManagedOrganizationsUrl("/v2/users/uaa-id-84/billing_managed_organizations") - .auditedOrganizationsUrl("/v2/users/uaa-id-84/audited_organizations") - .managedSpacesUrl("/v2/users/uaa-id-84/managed_spaces") - .auditedSpacesUrl("/v2/users/uaa-id-84/audited_spaces") - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .listBillingManagers( + ListOrganizationBillingManagersRequest.builder() + .organizationId("test-organization-id") + .page(-1) + .build()) + .as(StepVerifier::create) + .expectNext( + ListOrganizationBillingManagersResponse.builder() + .totalResults(1) + .totalPages(1) + .resource( + UserResource.builder() + .metadata( + Metadata.builder() + .id("uaa-id-84") + .url("/v2/users/uaa-id-84") + .createdAt("2015-07-27T22:43:10Z") + .build()) + .entity( + UserEntity.builder() + .admin(false) + .active(false) + .defaultSpaceId(null) + .username( + "billing_manager@example.com") + .spacesUrl( + "/v2/users/uaa-id-84/spaces") + .organizationsUrl( + "/v2/users/uaa-id-84/organizations") + .managedOrganizationsUrl( + "/v2/users/uaa-id-84/managed_organizations") + .billingManagedOrganizationsUrl( + "/v2/users/uaa-id-84/billing_managed_organizations") + .auditedOrganizationsUrl( + "/v2/users/uaa-id-84/audited_organizations") + .managedSpacesUrl( + "/v2/users/uaa-id-84/managed_spaces") + .auditedSpacesUrl( + "/v2/users/uaa-id-84/audited_spaces") + .build()) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void listDomains() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/organizations/test-organization-id/domains?page=-1") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/organizations/GET_{id}_domains_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/organizations/test-organization-id/domains?page=-1") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/organizations/GET_{id}_domains_response.json") + .build()) + .build()); this.organizations - .listDomains(ListOrganizationDomainsRequest.builder() - .organizationId("test-organization-id") - .page(-1) - .build()) - .as(StepVerifier::create) - .expectNext(ListOrganizationDomainsResponse.builder() - .totalResults(2) - .totalPages(1) - .resource(DomainResource.builder() - .metadata(Metadata.builder() - .id("0010dd3b-aca0-4647-87d3-679059d67600") - .url("/v2/domains/0010dd3b-aca0-4647-87d3-679059d67600") - .createdAt("2016-01-26T22:20:04Z") - .build()) - .entity(DomainEntity.builder() - .name("customer-app-domain1.com") - .build()) - .build()) - .resource(DomainResource.builder() - .metadata(Metadata.builder() - .id("e366a4ce-73d2-4a5a-8194-04c8ff4adfe1") - .url("/v2/domains/e366a4ce-73d2-4a5a-8194-04c8ff4adfe1") - .createdAt("2016-01-26T22:20:04Z") - .build()) - .entity(DomainEntity.builder() - .name("customer-app-domain2.com") - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .listDomains( + ListOrganizationDomainsRequest.builder() + .organizationId("test-organization-id") + .page(-1) + .build()) + .as(StepVerifier::create) + .expectNext( + ListOrganizationDomainsResponse.builder() + .totalResults(2) + .totalPages(1) + .resource( + DomainResource.builder() + .metadata( + Metadata.builder() + .id( + "0010dd3b-aca0-4647-87d3-679059d67600") + .url( + "/v2/domains/0010dd3b-aca0-4647-87d3-679059d67600") + .createdAt("2016-01-26T22:20:04Z") + .build()) + .entity( + DomainEntity.builder() + .name("customer-app-domain1.com") + .build()) + .build()) + .resource( + DomainResource.builder() + .metadata( + Metadata.builder() + .id( + "e366a4ce-73d2-4a5a-8194-04c8ff4adfe1") + .url( + "/v2/domains/e366a4ce-73d2-4a5a-8194-04c8ff4adfe1") + .createdAt("2016-01-26T22:20:04Z") + .build()) + .entity( + DomainEntity.builder() + .name("customer-app-domain2.com") + .build()) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void listManagers() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/organizations/test-organization-id/managers?page=-1") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/organizations/GET_{id}_managers_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path( + "/organizations/test-organization-id/managers?page=-1") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/organizations/GET_{id}_managers_response.json") + .build()) + .build()); this.organizations - .listManagers(ListOrganizationManagersRequest.builder() - .organizationId("test-organization-id") - .page(-1) - .build()) - .as(StepVerifier::create) - .expectNext(ListOrganizationManagersResponse.builder() - .totalResults(2) - .totalPages(1) - .resource(UserResource.builder() - .metadata(Metadata.builder() - .id("uaa-id-99") - .url("/v2/users/uaa-id-99") - .createdAt("2015-07-27T22:43:10Z") - .build()) - .entity(UserEntity.builder() - .admin(false) - .active(false) - .defaultSpaceId(null) - .username("manager@example.com") - .spacesUrl("/v2/users/uaa-id-99/spaces") - .organizationsUrl("/v2/users/uaa-id-99/organizations") - .managedOrganizationsUrl("/v2/users/uaa-id-99/managed_organizations") - .billingManagedOrganizationsUrl("/v2/users/uaa-id-99/billing_managed_organizations") - .auditedOrganizationsUrl("/v2/users/uaa-id-99/audited_organizations") - .managedSpacesUrl("/v2/users/uaa-id-99/managed_spaces") - .auditedSpacesUrl("/v2/users/uaa-id-99/audited_spaces") - .build()) - .build()) - .resource(UserResource.builder() - .metadata(Metadata.builder() - .id("uaa-id-100") - .url("/v2/users/uaa-id-100") - .createdAt("2015-07-27T22:43:10Z") - .build()) - .entity(UserEntity.builder() - .admin(false) - .active(false) - .defaultSpaceId(null) - .spacesUrl("/v2/users/uaa-id-100/spaces") - .organizationsUrl("/v2/users/uaa-id-100/organizations") - .managedOrganizationsUrl("/v2/users/uaa-id-100/managed_organizations") - .billingManagedOrganizationsUrl("/v2/users/uaa-id-100/billing_managed_organizations") - .auditedOrganizationsUrl("/v2/users/uaa-id-100/audited_organizations") - .managedSpacesUrl("/v2/users/uaa-id-100/managed_spaces") - .auditedSpacesUrl("/v2/users/uaa-id-100/audited_spaces") - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .listManagers( + ListOrganizationManagersRequest.builder() + .organizationId("test-organization-id") + .page(-1) + .build()) + .as(StepVerifier::create) + .expectNext( + ListOrganizationManagersResponse.builder() + .totalResults(2) + .totalPages(1) + .resource( + UserResource.builder() + .metadata( + Metadata.builder() + .id("uaa-id-99") + .url("/v2/users/uaa-id-99") + .createdAt("2015-07-27T22:43:10Z") + .build()) + .entity( + UserEntity.builder() + .admin(false) + .active(false) + .defaultSpaceId(null) + .username("manager@example.com") + .spacesUrl( + "/v2/users/uaa-id-99/spaces") + .organizationsUrl( + "/v2/users/uaa-id-99/organizations") + .managedOrganizationsUrl( + "/v2/users/uaa-id-99/managed_organizations") + .billingManagedOrganizationsUrl( + "/v2/users/uaa-id-99/billing_managed_organizations") + .auditedOrganizationsUrl( + "/v2/users/uaa-id-99/audited_organizations") + .managedSpacesUrl( + "/v2/users/uaa-id-99/managed_spaces") + .auditedSpacesUrl( + "/v2/users/uaa-id-99/audited_spaces") + .build()) + .build()) + .resource( + UserResource.builder() + .metadata( + Metadata.builder() + .id("uaa-id-100") + .url("/v2/users/uaa-id-100") + .createdAt("2015-07-27T22:43:10Z") + .build()) + .entity( + UserEntity.builder() + .admin(false) + .active(false) + .defaultSpaceId(null) + .spacesUrl( + "/v2/users/uaa-id-100/spaces") + .organizationsUrl( + "/v2/users/uaa-id-100/organizations") + .managedOrganizationsUrl( + "/v2/users/uaa-id-100/managed_organizations") + .billingManagedOrganizationsUrl( + "/v2/users/uaa-id-100/billing_managed_organizations") + .auditedOrganizationsUrl( + "/v2/users/uaa-id-100/audited_organizations") + .managedSpacesUrl( + "/v2/users/uaa-id-100/managed_spaces") + .auditedSpacesUrl( + "/v2/users/uaa-id-100/audited_spaces") + .build()) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void listPrivateDomains() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/organizations/test-organization-id/private_domains?page=-1") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/organizations/GET_{id}_private_domains_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path( + "/organizations/test-organization-id/private_domains?page=-1") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/organizations/GET_{id}_private_domains_response.json") + .build()) + .build()); this.organizations - .listPrivateDomains(ListOrganizationPrivateDomainsRequest.builder() - .organizationId("test-organization-id") - .page(-1) - .build()) - .as(StepVerifier::create) - .expectNext(ListOrganizationPrivateDomainsResponse.builder() - .totalResults(1) - .totalPages(1) - .resource(PrivateDomainResource.builder() - .metadata(Metadata.builder() - .id("4625debe-c7ac-4d8e-84d2-448691c30ebc") - .url("/v2/private_domains/4625debe-c7ac-4d8e-84d2-448691c30ebc") - .createdAt("2015-07-27T22:43:10Z") - .build()) - .entity(PrivateDomainEntity.builder() - .name("domain-2.example.com") - .owningOrganizationId("09beeba3-f2ed-4e45-90f9-fc2119e02e9e") - .owningOrganizationUrl("/v2/organizations/09beeba3-f2ed-4e45-90f9-fc2119e02e9e") - .sharedOrganizationsUrl - ("/v2/private_domains/4625debe-c7ac-4d8e-84d2-448691c30ebc/shared_organizations") - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .listPrivateDomains( + ListOrganizationPrivateDomainsRequest.builder() + .organizationId("test-organization-id") + .page(-1) + .build()) + .as(StepVerifier::create) + .expectNext( + ListOrganizationPrivateDomainsResponse.builder() + .totalResults(1) + .totalPages(1) + .resource( + PrivateDomainResource.builder() + .metadata( + Metadata.builder() + .id( + "4625debe-c7ac-4d8e-84d2-448691c30ebc") + .url( + "/v2/private_domains/4625debe-c7ac-4d8e-84d2-448691c30ebc") + .createdAt("2015-07-27T22:43:10Z") + .build()) + .entity( + PrivateDomainEntity.builder() + .name("domain-2.example.com") + .owningOrganizationId( + "09beeba3-f2ed-4e45-90f9-fc2119e02e9e") + .owningOrganizationUrl( + "/v2/organizations/09beeba3-f2ed-4e45-90f9-fc2119e02e9e") + .sharedOrganizationsUrl( + "/v2/private_domains/4625debe-c7ac-4d8e-84d2-448691c30ebc/shared_organizations") + .build()) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void listServices() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/organizations/test-organization-id/services?page=-1") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/organizations/GET_{id}_services_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path( + "/organizations/test-organization-id/services?page=-1") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/organizations/GET_{id}_services_response.json") + .build()) + .build()); this.organizations - .listServices(ListOrganizationServicesRequest.builder() - .organizationId("test-organization-id") - .page(-1) - .build()) - .as(StepVerifier::create) - .expectNext(ListOrganizationServicesResponse.builder() - .totalResults(1) - .totalPages(1) - .resource(ServiceResource.builder() - .metadata(Metadata.builder() - .id("5529fa75-d2f3-426c-b864-4ae45c3622da") - .url("/v2/services/5529fa75-d2f3-426c-b864-4ae45c3622da") - .createdAt("2015-07-27T22:43:10Z") - .build()) - .entity(ServiceEntity.builder() - .label("label-16") - .description("desc-39") - .active(true) - .bindable(true) - .requires(Collections.emptyList()) - .uniqueId("4d4e8356-f753-433e-8514-88ee78c4e153") - .serviceBrokerId("bf5b5cf7-acac-426b-8e79-cc57a227cd3c") - .planUpdateable(false) - .servicePlansUrl("/v2/services/5529fa75-d2f3-426c-b864-4ae45c3622da/service_plans") - .tags(Collections.emptyList()) - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .listServices( + ListOrganizationServicesRequest.builder() + .organizationId("test-organization-id") + .page(-1) + .build()) + .as(StepVerifier::create) + .expectNext( + ListOrganizationServicesResponse.builder() + .totalResults(1) + .totalPages(1) + .resource( + ServiceResource.builder() + .metadata( + Metadata.builder() + .id( + "5529fa75-d2f3-426c-b864-4ae45c3622da") + .url( + "/v2/services/5529fa75-d2f3-426c-b864-4ae45c3622da") + .createdAt("2015-07-27T22:43:10Z") + .build()) + .entity( + ServiceEntity.builder() + .label("label-16") + .description("desc-39") + .active(true) + .bindable(true) + .requires(Collections.emptyList()) + .uniqueId( + "4d4e8356-f753-433e-8514-88ee78c4e153") + .serviceBrokerId( + "bf5b5cf7-acac-426b-8e79-cc57a227cd3c") + .planUpdateable(false) + .servicePlansUrl( + "/v2/services/5529fa75-d2f3-426c-b864-4ae45c3622da/service_plans") + .tags(Collections.emptyList()) + .build()) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void listSpaceQuotaDefinitions() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/organizations/test-organization-id/space_quota_definitions?page=-1") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/organizations/GET_{id}_space_quota_definitions_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path( + "/organizations/test-organization-id/space_quota_definitions?page=-1") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/organizations/GET_{id}_space_quota_definitions_response.json") + .build()) + .build()); this.organizations - .listSpaceQuotaDefinitions(ListOrganizationSpaceQuotaDefinitionsRequest.builder() - .organizationId("test-organization-id") - .page(-1) - .build()) - .as(StepVerifier::create) - .expectNext(ListOrganizationSpaceQuotaDefinitionsResponse.builder() - .totalResults(1) - .totalPages(1) - .resource(SpaceQuotaDefinitionResource.builder() - .metadata(Metadata.builder() - .id("d0bf6c52-a880-4c8f-b7d9-d9302a2ac6c9") - .url("/v2/space_quota_definitions/d0bf6c52-a880-4c8f-b7d9-d9302a2ac6c9") - .createdAt("2015-07-27T22:43:10Z") - .build()) - .entity(SpaceQuotaDefinitionEntity.builder() - .instanceMemoryLimit(-1) - .memoryLimit(20480) - .name("name-199") - .nonBasicServicesAllowed(true) - .organizationId("a163840f-5bd5-48a0-8736-1d837bda1353") - .organizationUrl("/v2/organizations/a163840f-5bd5-48a0-8736-1d837bda1353") - .spacesUrl("/v2/space_quota_definitions/d0bf6c52-a880-4c8f-b7d9-d9302a2ac6c9/spaces") - .totalRoutes(1000) - .totalServices(60) - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .listSpaceQuotaDefinitions( + ListOrganizationSpaceQuotaDefinitionsRequest.builder() + .organizationId("test-organization-id") + .page(-1) + .build()) + .as(StepVerifier::create) + .expectNext( + ListOrganizationSpaceQuotaDefinitionsResponse.builder() + .totalResults(1) + .totalPages(1) + .resource( + SpaceQuotaDefinitionResource.builder() + .metadata( + Metadata.builder() + .id( + "d0bf6c52-a880-4c8f-b7d9-d9302a2ac6c9") + .url( + "/v2/space_quota_definitions/d0bf6c52-a880-4c8f-b7d9-d9302a2ac6c9") + .createdAt("2015-07-27T22:43:10Z") + .build()) + .entity( + SpaceQuotaDefinitionEntity.builder() + .instanceMemoryLimit(-1) + .memoryLimit(20480) + .name("name-199") + .nonBasicServicesAllowed(true) + .organizationId( + "a163840f-5bd5-48a0-8736-1d837bda1353") + .organizationUrl( + "/v2/organizations/a163840f-5bd5-48a0-8736-1d837bda1353") + .spacesUrl( + "/v2/space_quota_definitions/d0bf6c52-a880-4c8f-b7d9-d9302a2ac6c9/spaces") + .totalRoutes(1000) + .totalServices(60) + .build()) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void listSpaces() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/organizations/test-organization-id/spaces?page=-1") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/organizations/GET_{id}_spaces_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/organizations/test-organization-id/spaces?page=-1") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/organizations/GET_{id}_spaces_response.json") + .build()) + .build()); this.organizations - .listSpaces(ListOrganizationSpacesRequest.builder() - .organizationId("test-organization-id") - .page(-1) - .build()) - .as(StepVerifier::create) - .expectNext(ListOrganizationSpacesResponse.builder() - .totalResults(1) - .totalPages(1) - .resource(SpaceResource.builder() - .metadata(Metadata.builder() - .id("9f6ce6e0-e3db-42ae-9572-bbc38f4f541b") - .url("/v2/spaces/9f6ce6e0-e3db-42ae-9572-bbc38f4f541b") - .createdAt("2015-07-27T22:43:10Z") - .build()) - .entity(SpaceEntity.builder() - .name("name-215") - .organizationId("4df92169-5b8d-489b-ba0f-7114168aa476") - .spaceQuotaDefinitionId(null) - .allowSsh(true) - .organizationUrl("/v2/organizations/4df92169-5b8d-489b-ba0f-7114168aa476") - .developersUrl("/v2/spaces/9f6ce6e0-e3db-42ae-9572-bbc38f4f541b/developers") - .managersUrl("/v2/spaces/9f6ce6e0-e3db-42ae-9572-bbc38f4f541b/managers") - .auditorsUrl("/v2/spaces/9f6ce6e0-e3db-42ae-9572-bbc38f4f541b/auditors") - .applicationsUrl("/v2/spaces/9f6ce6e0-e3db-42ae-9572-bbc38f4f541b/apps") - .routesUrl("/v2/spaces/9f6ce6e0-e3db-42ae-9572-bbc38f4f541b/routes") - .domainsUrl("/v2/spaces/9f6ce6e0-e3db-42ae-9572-bbc38f4f541b/domains") - .serviceInstancesUrl("/v2/spaces/9f6ce6e0-e3db-42ae-9572-bbc38f4f541b/service_instances") - .applicationEventsUrl("/v2/spaces/9f6ce6e0-e3db-42ae-9572-bbc38f4f541b/app_events") - .eventsUrl("/v2/spaces/9f6ce6e0-e3db-42ae-9572-bbc38f4f541b/events") - .securityGroupsUrl("/v2/spaces/9f6ce6e0-e3db-42ae-9572-bbc38f4f541b/security_groups") - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .listSpaces( + ListOrganizationSpacesRequest.builder() + .organizationId("test-organization-id") + .page(-1) + .build()) + .as(StepVerifier::create) + .expectNext( + ListOrganizationSpacesResponse.builder() + .totalResults(1) + .totalPages(1) + .resource( + SpaceResource.builder() + .metadata( + Metadata.builder() + .id( + "9f6ce6e0-e3db-42ae-9572-bbc38f4f541b") + .url( + "/v2/spaces/9f6ce6e0-e3db-42ae-9572-bbc38f4f541b") + .createdAt("2015-07-27T22:43:10Z") + .build()) + .entity( + SpaceEntity.builder() + .name("name-215") + .organizationId( + "4df92169-5b8d-489b-ba0f-7114168aa476") + .spaceQuotaDefinitionId(null) + .allowSsh(true) + .organizationUrl( + "/v2/organizations/4df92169-5b8d-489b-ba0f-7114168aa476") + .developersUrl( + "/v2/spaces/9f6ce6e0-e3db-42ae-9572-bbc38f4f541b/developers") + .managersUrl( + "/v2/spaces/9f6ce6e0-e3db-42ae-9572-bbc38f4f541b/managers") + .auditorsUrl( + "/v2/spaces/9f6ce6e0-e3db-42ae-9572-bbc38f4f541b/auditors") + .applicationsUrl( + "/v2/spaces/9f6ce6e0-e3db-42ae-9572-bbc38f4f541b/apps") + .routesUrl( + "/v2/spaces/9f6ce6e0-e3db-42ae-9572-bbc38f4f541b/routes") + .domainsUrl( + "/v2/spaces/9f6ce6e0-e3db-42ae-9572-bbc38f4f541b/domains") + .serviceInstancesUrl( + "/v2/spaces/9f6ce6e0-e3db-42ae-9572-bbc38f4f541b/service_instances") + .applicationEventsUrl( + "/v2/spaces/9f6ce6e0-e3db-42ae-9572-bbc38f4f541b/app_events") + .eventsUrl( + "/v2/spaces/9f6ce6e0-e3db-42ae-9572-bbc38f4f541b/events") + .securityGroupsUrl( + "/v2/spaces/9f6ce6e0-e3db-42ae-9572-bbc38f4f541b/security_groups") + .build()) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void listUsers() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/organizations/test-organization-id/users?page=-1") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/organizations/GET_{id}_users_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/organizations/test-organization-id/users?page=-1") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/organizations/GET_{id}_users_response.json") + .build()) + .build()); this.organizations - .listUsers(ListOrganizationUsersRequest.builder() - .organizationId("test-organization-id") - .page(-1) - .build()) - .as(StepVerifier::create) - .expectNext(ListOrganizationUsersResponse.builder() - .totalResults(1) - .totalPages(1) - .resource(UserResource.builder() - .metadata(Metadata.builder() - .id("uaa-id-111") - .url("/v2/users/uaa-id-111") - .createdAt("2015-07-27T22:43:11Z") - .build()) - .entity(UserEntity.builder() - .admin(false) - .active(false) - .defaultSpaceId(null) - .username("user@example.com") - .spacesUrl("/v2/users/uaa-id-111/spaces") - .organizationsUrl("/v2/users/uaa-id-111/organizations") - .managedOrganizationsUrl("/v2/users/uaa-id-111/managed_organizations") - .billingManagedOrganizationsUrl("/v2/users/uaa-id-111/billing_managed_organizations") - .auditedOrganizationsUrl("/v2/users/uaa-id-111/audited_organizations") - .managedSpacesUrl("/v2/users/uaa-id-111/managed_spaces") - .auditedSpacesUrl("/v2/users/uaa-id-111/audited_spaces") - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .listUsers( + ListOrganizationUsersRequest.builder() + .organizationId("test-organization-id") + .page(-1) + .build()) + .as(StepVerifier::create) + .expectNext( + ListOrganizationUsersResponse.builder() + .totalResults(1) + .totalPages(1) + .resource( + UserResource.builder() + .metadata( + Metadata.builder() + .id("uaa-id-111") + .url("/v2/users/uaa-id-111") + .createdAt("2015-07-27T22:43:11Z") + .build()) + .entity( + UserEntity.builder() + .admin(false) + .active(false) + .defaultSpaceId(null) + .username("user@example.com") + .spacesUrl( + "/v2/users/uaa-id-111/spaces") + .organizationsUrl( + "/v2/users/uaa-id-111/organizations") + .managedOrganizationsUrl( + "/v2/users/uaa-id-111/managed_organizations") + .billingManagedOrganizationsUrl( + "/v2/users/uaa-id-111/billing_managed_organizations") + .auditedOrganizationsUrl( + "/v2/users/uaa-id-111/audited_organizations") + .managedSpacesUrl( + "/v2/users/uaa-id-111/managed_spaces") + .auditedSpacesUrl( + "/v2/users/uaa-id-111/audited_spaces") + .build()) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void removeAuditor() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(DELETE).path("/organizations/test-organization-id/auditors/test-auditor-id") - .build()) - .response(TestResponse.builder() - .status(NO_CONTENT) - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(DELETE) + .path( + "/organizations/test-organization-id/auditors/test-auditor-id") + .build()) + .response(TestResponse.builder().status(NO_CONTENT).build()) + .build()); this.organizations - .removeAuditor(RemoveOrganizationAuditorRequest.builder() - .auditorId("test-auditor-id") - .organizationId("test-organization-id") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .removeAuditor( + RemoveOrganizationAuditorRequest.builder() + .auditorId("test-auditor-id") + .organizationId("test-organization-id") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void removeAuditorByUsername() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(DELETE).path("/organizations/test-organization-id/auditors") - .payload("fixtures/client/v2/organizations/DELETE_{id}_auditors_request.json") - .build()) - .response(TestResponse.builder() - .status(NO_CONTENT) - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(DELETE) + .path("/organizations/test-organization-id/auditors") + .payload( + "fixtures/client/v2/organizations/DELETE_{id}_auditors_request.json") + .build()) + .response(TestResponse.builder().status(NO_CONTENT).build()) + .build()); this.organizations - .removeAuditorByUsername(RemoveOrganizationAuditorByUsernameRequest.builder() - .organizationId("test-organization-id") - .username("auditor@example.com") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .removeAuditorByUsername( + RemoveOrganizationAuditorByUsernameRequest.builder() + .organizationId("test-organization-id") + .username("auditor@example.com") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void removeBillingManager() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(DELETE).path("/organizations/test-organization-id/billing_managers/test-billing-manager-id") - .build()) - .response(TestResponse.builder() - .status(NO_CONTENT) - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(DELETE) + .path( + "/organizations/test-organization-id/billing_managers/test-billing-manager-id") + .build()) + .response(TestResponse.builder().status(NO_CONTENT).build()) + .build()); this.organizations - .removeBillingManager(RemoveOrganizationBillingManagerRequest.builder() - .billingManagerId("test-billing-manager-id") - .organizationId("test-organization-id") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .removeBillingManager( + RemoveOrganizationBillingManagerRequest.builder() + .billingManagerId("test-billing-manager-id") + .organizationId("test-organization-id") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void removeManager() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(DELETE).path("/organizations/test-organization-id/managers/test-manager-id") - .build()) - .response(TestResponse.builder() - .status(NO_CONTENT) - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(DELETE) + .path( + "/organizations/test-organization-id/managers/test-manager-id") + .build()) + .response(TestResponse.builder().status(NO_CONTENT).build()) + .build()); this.organizations - .removeManager(RemoveOrganizationManagerRequest.builder() - .organizationId("test-organization-id") - .managerId("test-manager-id") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .removeManager( + RemoveOrganizationManagerRequest.builder() + .organizationId("test-organization-id") + .managerId("test-manager-id") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void removeOrganizationBillingManagerByUsername() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(DELETE).path("/organizations/test-organization-id/billing_managers") - .payload("fixtures/client/v2/organizations/DELETE_{id}_billing_managers_request.json") - .build()) - .response(TestResponse.builder() - .status(NO_CONTENT) - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(DELETE) + .path( + "/organizations/test-organization-id/billing_managers") + .payload( + "fixtures/client/v2/organizations/DELETE_{id}_billing_managers_request.json") + .build()) + .response(TestResponse.builder().status(NO_CONTENT).build()) + .build()); this.organizations - .removeBillingManagerByUsername(RemoveOrganizationBillingManagerByUsernameRequest.builder() - .organizationId("test-organization-id") - .username("billing_manager@example.com") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .removeBillingManagerByUsername( + RemoveOrganizationBillingManagerByUsernameRequest.builder() + .organizationId("test-organization-id") + .username("billing_manager@example.com") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void removeOrganizationManagerByUsername() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(DELETE).path("/organizations/test-organization-id/managers") - .payload("fixtures/client/v2/organizations/DELETE_{id}_managers_request.json") - .build()) - .response(TestResponse.builder() - .status(NO_CONTENT) - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(DELETE) + .path("/organizations/test-organization-id/managers") + .payload( + "fixtures/client/v2/organizations/DELETE_{id}_managers_request.json") + .build()) + .response(TestResponse.builder().status(NO_CONTENT).build()) + .build()); this.organizations - .removeManagerByUsername(RemoveOrganizationManagerByUsernameRequest.builder() - .organizationId("test-organization-id") - .username("manage@example.com") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .removeManagerByUsername( + RemoveOrganizationManagerByUsernameRequest.builder() + .organizationId("test-organization-id") + .username("manage@example.com") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void removePrivateDomain() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(DELETE).path("/organizations/test-organization-id/private_domains/test-private-domain-id") - .build()) - .response(TestResponse.builder() - .status(NO_CONTENT) - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(DELETE) + .path( + "/organizations/test-organization-id/private_domains/test-private-domain-id") + .build()) + .response(TestResponse.builder().status(NO_CONTENT).build()) + .build()); this.organizations - .removePrivateDomain(RemoveOrganizationPrivateDomainRequest.builder() - .organizationId("test-organization-id") - .privateDomainId("test-private-domain-id") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .removePrivateDomain( + RemoveOrganizationPrivateDomainRequest.builder() + .organizationId("test-organization-id") + .privateDomainId("test-private-domain-id") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void removeUser() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(DELETE).path("/organizations/test-organization-id/users/test-user-id") - .build()) - .response(TestResponse.builder() - .status(NO_CONTENT) - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(DELETE) + .path( + "/organizations/test-organization-id/users/test-user-id") + .build()) + .response(TestResponse.builder().status(NO_CONTENT).build()) + .build()); this.organizations - .removeUser(RemoveOrganizationUserRequest.builder() - .organizationId("test-organization-id") - .userId("test-user-id") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .removeUser( + RemoveOrganizationUserRequest.builder() + .organizationId("test-organization-id") + .userId("test-user-id") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void removeUserByUsername() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(DELETE).path("/organizations/test-organization-id/users") - .payload("fixtures/client/v2/organizations/DELETE_{id}_users_request.json") - .build()) - .response(TestResponse.builder() - .status(NO_CONTENT) - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(DELETE) + .path("/organizations/test-organization-id/users") + .payload( + "fixtures/client/v2/organizations/DELETE_{id}_users_request.json") + .build()) + .response(TestResponse.builder().status(NO_CONTENT).build()) + .build()); this.organizations - .removeUserByUsername(RemoveOrganizationUserByUsernameRequest.builder() - .organizationId("test-organization-id") - .username("user@example.com") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .removeUserByUsername( + RemoveOrganizationUserByUsernameRequest.builder() + .organizationId("test-organization-id") + .username("user@example.com") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void summary() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/organizations/test-organization-id/summary") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/organizations/GET_{id}_summary_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/organizations/test-organization-id/summary") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/organizations/GET_{id}_summary_response.json") + .build()) + .build()); this.organizations - .summary(SummaryOrganizationRequest.builder() - .organizationId("test-organization-id") - .build()) - .as(StepVerifier::create) - .expectNext(SummaryOrganizationResponse.builder() - .id("525a6450-9202-4ea1-beca-6fdda210710e") - .name("name-357") - .status("active") - .space(OrganizationSpaceSummary.builder() - .id("dec1c7b0-8ea6-488a-9410-f73649d30228") - .name("name-359") - .serviceCount(0) - .applicationCount(0) - .memoryDevelopmentTotal(0) - .memoryProductionTotal(0) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .summary( + SummaryOrganizationRequest.builder() + .organizationId("test-organization-id") + .build()) + .as(StepVerifier::create) + .expectNext( + SummaryOrganizationResponse.builder() + .id("525a6450-9202-4ea1-beca-6fdda210710e") + .name("name-357") + .status("active") + .space( + OrganizationSpaceSummary.builder() + .id("dec1c7b0-8ea6-488a-9410-f73649d30228") + .name("name-359") + .serviceCount(0) + .applicationCount(0) + .memoryDevelopmentTotal(0) + .memoryProductionTotal(0) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void update() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(PUT).path("/organizations/test-organization-id") - .payload("fixtures/client/v2/organizations/PUT_{id}_request.json") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/organizations/PUT_{id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(PUT) + .path("/organizations/test-organization-id") + .payload( + "fixtures/client/v2/organizations/PUT_{id}_request.json") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/organizations/PUT_{id}_response.json") + .build()) + .build()); this.organizations - .update(UpdateOrganizationRequest.builder() - .organizationId("test-organization-id") - .name("New Organization Name") - .quotaDefinitionId("7df44b58-1834-486f-aed8-d5d97126e603") - .build()) - .as(StepVerifier::create) - .expectNext(UpdateOrganizationResponse.builder() - .metadata(Metadata.builder() - .id("31a539be-dbfd-4db6-aec1-6565ebe975ed") - .url("/v2/organizations/31a539be-dbfd-4db6-aec1-6565ebe975ed") - .createdAt("2015-07-27T22:43:11Z") - .updatedAt("2015-07-27T22:43:11Z") - .build()) - .entity(OrganizationEntity.builder() - .name("New Organization Name") - .billingEnabled(false) - .quotaDefinitionId("7df44b58-1834-486f-aed8-d5d97126e603") - .status("active") - .quotaDefinitionUrl("/v2/quota_definitions/7df44b58-1834-486f-aed8-d5d97126e603") - .spacesUrl("/v2/organizations/31a539be-dbfd-4db6-aec1-6565ebe975ed/spaces") - .domainsUrl("/v2/organizations/31a539be-dbfd-4db6-aec1-6565ebe975ed/domains") - .privateDomainsUrl("/v2/organizations/31a539be-dbfd-4db6-aec1-6565ebe975ed/private_domains") - .usersUrl("/v2/organizations/31a539be-dbfd-4db6-aec1-6565ebe975ed/users") - .managersUrl("/v2/organizations/31a539be-dbfd-4db6-aec1-6565ebe975ed/managers") - .billingManagersUrl("/v2/organizations/31a539be-dbfd-4db6-aec1-6565ebe975ed/billing_managers") - .auditorsUrl("/v2/organizations/31a539be-dbfd-4db6-aec1-6565ebe975ed/auditors") - .applicationEventsUrl("/v2/organizations/31a539be-dbfd-4db6-aec1-6565ebe975ed/app_events") - .spaceQuotaDefinitionsUrl("/v2/organizations/31a539be-dbfd-4db6-aec1-6565ebe975ed/space_quota_definitions") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .update( + UpdateOrganizationRequest.builder() + .organizationId("test-organization-id") + .name("New Organization Name") + .quotaDefinitionId("7df44b58-1834-486f-aed8-d5d97126e603") + .build()) + .as(StepVerifier::create) + .expectNext( + UpdateOrganizationResponse.builder() + .metadata( + Metadata.builder() + .id("31a539be-dbfd-4db6-aec1-6565ebe975ed") + .url( + "/v2/organizations/31a539be-dbfd-4db6-aec1-6565ebe975ed") + .createdAt("2015-07-27T22:43:11Z") + .updatedAt("2015-07-27T22:43:11Z") + .build()) + .entity( + OrganizationEntity.builder() + .name("New Organization Name") + .billingEnabled(false) + .quotaDefinitionId( + "7df44b58-1834-486f-aed8-d5d97126e603") + .status("active") + .quotaDefinitionUrl( + "/v2/quota_definitions/7df44b58-1834-486f-aed8-d5d97126e603") + .spacesUrl( + "/v2/organizations/31a539be-dbfd-4db6-aec1-6565ebe975ed/spaces") + .domainsUrl( + "/v2/organizations/31a539be-dbfd-4db6-aec1-6565ebe975ed/domains") + .privateDomainsUrl( + "/v2/organizations/31a539be-dbfd-4db6-aec1-6565ebe975ed/private_domains") + .usersUrl( + "/v2/organizations/31a539be-dbfd-4db6-aec1-6565ebe975ed/users") + .managersUrl( + "/v2/organizations/31a539be-dbfd-4db6-aec1-6565ebe975ed/managers") + .billingManagersUrl( + "/v2/organizations/31a539be-dbfd-4db6-aec1-6565ebe975ed/billing_managers") + .auditorsUrl( + "/v2/organizations/31a539be-dbfd-4db6-aec1-6565ebe975ed/auditors") + .applicationEventsUrl( + "/v2/organizations/31a539be-dbfd-4db6-aec1-6565ebe975ed/app_events") + .spaceQuotaDefinitionsUrl( + "/v2/organizations/31a539be-dbfd-4db6-aec1-6565ebe975ed/space_quota_definitions") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } - } diff --git a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/privatedomains/ReactorPrivateDomainsTest.java b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/privatedomains/ReactorPrivateDomainsTest.java index 927191f0f0..66596b84e5 100644 --- a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/privatedomains/ReactorPrivateDomainsTest.java +++ b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/privatedomains/ReactorPrivateDomainsTest.java @@ -16,6 +16,15 @@ package org.cloudfoundry.reactor.client.v2.privatedomains; +import static io.netty.handler.codec.http.HttpMethod.DELETE; +import static io.netty.handler.codec.http.HttpMethod.GET; +import static io.netty.handler.codec.http.HttpMethod.POST; +import static io.netty.handler.codec.http.HttpResponseStatus.ACCEPTED; +import static io.netty.handler.codec.http.HttpResponseStatus.NO_CONTENT; +import static io.netty.handler.codec.http.HttpResponseStatus.OK; + +import java.time.Duration; +import java.util.Collections; import org.cloudfoundry.client.v2.Metadata; import org.cloudfoundry.client.v2.jobs.JobEntity; import org.cloudfoundry.client.v2.organizations.OrganizationEntity; @@ -39,229 +48,294 @@ import org.junit.Test; import reactor.test.StepVerifier; -import java.time.Duration; -import java.util.Collections; - -import static io.netty.handler.codec.http.HttpMethod.DELETE; -import static io.netty.handler.codec.http.HttpMethod.GET; -import static io.netty.handler.codec.http.HttpMethod.POST; -import static io.netty.handler.codec.http.HttpResponseStatus.ACCEPTED; -import static io.netty.handler.codec.http.HttpResponseStatus.NO_CONTENT; -import static io.netty.handler.codec.http.HttpResponseStatus.OK; - public final class ReactorPrivateDomainsTest extends AbstractClientApiTest { - private final ReactorPrivateDomains privateDomains = new ReactorPrivateDomains(CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); + private final ReactorPrivateDomains privateDomains = + new ReactorPrivateDomains( + CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); @Test public void create() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(POST).path("/private_domains") - .payload("fixtures/client/v2/private_domains/POST_request.json") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/private_domains/POST_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(POST) + .path("/private_domains") + .payload( + "fixtures/client/v2/private_domains/POST_request.json") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/private_domains/POST_response.json") + .build()) + .build()); this.privateDomains - .create(CreatePrivateDomainRequest.builder() - .name("exmaple.com") - .owningOrganizationId("22bb8ae1-6324-40eb-b077-bd1bfad773f8") - .build()) - .as(StepVerifier::create) - .expectNext(CreatePrivateDomainResponse.builder() - .metadata(Metadata.builder() - .id("4af3234e-813d-453f-b3ae-fcdecfd87a47") - .url("/v2/private_domains/4af3234e-813d-453f-b3ae-fcdecfd87a47") - .createdAt("2016-01-19T19:41:12Z") - .build()) - .entity(PrivateDomainEntity.builder() - .name("exmaple.com") - .owningOrganizationId("22bb8ae1-6324-40eb-b077-bd1bfad773f8") - .owningOrganizationUrl("/v2/organizations/22bb8ae1-6324-40eb-b077-bd1bfad773f8") - .sharedOrganizationsUrl("/v2/private_domains/4af3234e-813d-453f-b3ae-fcdecfd87a47/shared_organizations") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .create( + CreatePrivateDomainRequest.builder() + .name("exmaple.com") + .owningOrganizationId("22bb8ae1-6324-40eb-b077-bd1bfad773f8") + .build()) + .as(StepVerifier::create) + .expectNext( + CreatePrivateDomainResponse.builder() + .metadata( + Metadata.builder() + .id("4af3234e-813d-453f-b3ae-fcdecfd87a47") + .url( + "/v2/private_domains/4af3234e-813d-453f-b3ae-fcdecfd87a47") + .createdAt("2016-01-19T19:41:12Z") + .build()) + .entity( + PrivateDomainEntity.builder() + .name("exmaple.com") + .owningOrganizationId( + "22bb8ae1-6324-40eb-b077-bd1bfad773f8") + .owningOrganizationUrl( + "/v2/organizations/22bb8ae1-6324-40eb-b077-bd1bfad773f8") + .sharedOrganizationsUrl( + "/v2/private_domains/4af3234e-813d-453f-b3ae-fcdecfd87a47/shared_organizations") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void delete() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(DELETE).path("/private_domains/test-private-domain-id") - .build()) - .response(TestResponse.builder() - .status(NO_CONTENT) - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(DELETE) + .path("/private_domains/test-private-domain-id") + .build()) + .response(TestResponse.builder().status(NO_CONTENT).build()) + .build()); this.privateDomains - .delete(DeletePrivateDomainRequest.builder() - .privateDomainId("test-private-domain-id") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .delete( + DeletePrivateDomainRequest.builder() + .privateDomainId("test-private-domain-id") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void deleteAsync() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(DELETE).path("/private_domains/test-private-domain-id?async=true") - .build()) - .response(TestResponse.builder() - .status(ACCEPTED) - .payload("fixtures/client/v2/private_domains/DELETE_{id}_async_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(DELETE) + .path("/private_domains/test-private-domain-id?async=true") + .build()) + .response( + TestResponse.builder() + .status(ACCEPTED) + .payload( + "fixtures/client/v2/private_domains/DELETE_{id}_async_response.json") + .build()) + .build()); this.privateDomains - .delete(DeletePrivateDomainRequest.builder() - .async(true) - .privateDomainId("test-private-domain-id") - .build()) - .as(StepVerifier::create) - .expectNext(DeletePrivateDomainResponse.builder() - .metadata(Metadata.builder() - .id("2d9707ba-6f0b-4aef-a3de-fe9bdcf0c9d1") - .createdAt("2016-02-02T17:16:31Z") - .url("/v2/jobs/2d9707ba-6f0b-4aef-a3de-fe9bdcf0c9d1") - .build()) - .entity(JobEntity.builder() - .id("2d9707ba-6f0b-4aef-a3de-fe9bdcf0c9d1") - .status("queued") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .delete( + DeletePrivateDomainRequest.builder() + .async(true) + .privateDomainId("test-private-domain-id") + .build()) + .as(StepVerifier::create) + .expectNext( + DeletePrivateDomainResponse.builder() + .metadata( + Metadata.builder() + .id("2d9707ba-6f0b-4aef-a3de-fe9bdcf0c9d1") + .createdAt("2016-02-02T17:16:31Z") + .url( + "/v2/jobs/2d9707ba-6f0b-4aef-a3de-fe9bdcf0c9d1") + .build()) + .entity( + JobEntity.builder() + .id("2d9707ba-6f0b-4aef-a3de-fe9bdcf0c9d1") + .status("queued") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void get() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/private_domains/test-private-domain-id") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/private_domains/GET_{id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/private_domains/test-private-domain-id") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/private_domains/GET_{id}_response.json") + .build()) + .build()); this.privateDomains - .get(GetPrivateDomainRequest.builder() - .privateDomainId("test-private-domain-id") - .build()) - .as(StepVerifier::create) - .expectNext(GetPrivateDomainResponse.builder() - .metadata(Metadata.builder() - .id("3de9db5f-8e3b-4d10-a8c9-8137caafe43d") - .url("/v2/private_domains/3de9db5f-8e3b-4d10-a8c9-8137caafe43d") - .createdAt("2016-02-19T02:04:00Z") - .build()) - .entity(PrivateDomainEntity.builder() - .name("my-domain.com") - .owningOrganizationId("2f70efed-abb2-4b7a-9f31-d4fe4d849932") - .owningOrganizationUrl("/v2/organizations/2f70efed-abb2-4b7a-9f31-d4fe4d849932") - .sharedOrganizationsUrl("/v2/private_domains/3de9db5f-8e3b-4d10-a8c9-8137caafe43d/shared_organizations") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .get( + GetPrivateDomainRequest.builder() + .privateDomainId("test-private-domain-id") + .build()) + .as(StepVerifier::create) + .expectNext( + GetPrivateDomainResponse.builder() + .metadata( + Metadata.builder() + .id("3de9db5f-8e3b-4d10-a8c9-8137caafe43d") + .url( + "/v2/private_domains/3de9db5f-8e3b-4d10-a8c9-8137caafe43d") + .createdAt("2016-02-19T02:04:00Z") + .build()) + .entity( + PrivateDomainEntity.builder() + .name("my-domain.com") + .owningOrganizationId( + "2f70efed-abb2-4b7a-9f31-d4fe4d849932") + .owningOrganizationUrl( + "/v2/organizations/2f70efed-abb2-4b7a-9f31-d4fe4d849932") + .sharedOrganizationsUrl( + "/v2/private_domains/3de9db5f-8e3b-4d10-a8c9-8137caafe43d/shared_organizations") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void list() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/private_domains?q=name%3Atest-name.com&page=-1") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/private_domains/GET_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/private_domains?q=name%3Atest-name.com&page=-1") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/private_domains/GET_response.json") + .build()) + .build()); this.privateDomains - .list(ListPrivateDomainsRequest.builder() - .name("test-name.com") - .page(-1) - .build()) - .as(StepVerifier::create) - .expectNext(ListPrivateDomainsResponse.builder() - .totalResults(1) - .totalPages(1) - .resource(PrivateDomainResource.builder() - .metadata(Metadata.builder() - .id("3de9db5f-8e3b-4d10-a8c9-8137caafe43d") - .url("/v2/private_domains/3de9db5f-8e3b-4d10-a8c9-8137caafe43d") - .createdAt("2016-02-19T02:04:00Z") - .build()) - .entity(PrivateDomainEntity.builder() - .name("my-domain.com") - .owningOrganizationId("2f70efed-abb2-4b7a-9f31-d4fe4d849932") - .owningOrganizationUrl("/v2/organizations/2f70efed-abb2-4b7a-9f31-d4fe4d849932") - .sharedOrganizationsUrl("/v2/private_domains/3de9db5f-8e3b-4d10-a8c9-8137caafe43d/shared_organizations") - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .list(ListPrivateDomainsRequest.builder().name("test-name.com").page(-1).build()) + .as(StepVerifier::create) + .expectNext( + ListPrivateDomainsResponse.builder() + .totalResults(1) + .totalPages(1) + .resource( + PrivateDomainResource.builder() + .metadata( + Metadata.builder() + .id( + "3de9db5f-8e3b-4d10-a8c9-8137caafe43d") + .url( + "/v2/private_domains/3de9db5f-8e3b-4d10-a8c9-8137caafe43d") + .createdAt("2016-02-19T02:04:00Z") + .build()) + .entity( + PrivateDomainEntity.builder() + .name("my-domain.com") + .owningOrganizationId( + "2f70efed-abb2-4b7a-9f31-d4fe4d849932") + .owningOrganizationUrl( + "/v2/organizations/2f70efed-abb2-4b7a-9f31-d4fe4d849932") + .sharedOrganizationsUrl( + "/v2/private_domains/3de9db5f-8e3b-4d10-a8c9-8137caafe43d/shared_organizations") + .build()) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void listSharedOrganizations() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/private_domains/b2a35f0c-d5ad-4a59-bea7-461711d96b0d/shared_organizations") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/private_domains/GET_{id}_shared_organizations_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path( + "/private_domains/b2a35f0c-d5ad-4a59-bea7-461711d96b0d/shared_organizations") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/private_domains/GET_{id}_shared_organizations_response.json") + .build()) + .build()); this.privateDomains - .listSharedOrganizations(ListPrivateDomainSharedOrganizationsRequest.builder() - .privateDomainId("b2a35f0c-d5ad-4a59-bea7-461711d96b0d") - .build()) - .as(StepVerifier::create) - .expectNext(ListPrivateDomainSharedOrganizationsResponse.builder() - .totalResults(1) - .totalPages(1) - .resource(OrganizationResource.builder() - .metadata(Metadata.builder() - .id("420bb3ef-6064-42ed-9131-c1fe980bf9c6") - .createdAt("2016-06-08T16:41:39Z") - .updatedAt("2016-06-08T16:41:26Z") - .url("/v2/organizations/420bb3ef-6064-42ed-9131-c1fe980bf9c6") - .build()) - .entity(OrganizationEntity.builder() - .name("name-2005") - .billingEnabled(false) - .quotaDefinitionId("2e863ad3-7bb9-4c5c-928c-cde2caec341b") - .status("active") - .quotaDefinitionUrl("/v2/quota_definitions/2e863ad3-7bb9-4c5c-928c-cde2caec341b") - .spacesUrl("/v2/organizations/420bb3ef-6064-42ed-9131-c1fe980bf9c6/spaces") - .domainsUrl("/v2/organizations/420bb3ef-6064-42ed-9131-c1fe980bf9c6/domains") - .privateDomainsUrl("/v2/organizations/420bb3ef-6064-42ed-9131-c1fe980bf9c6/private_domains") - .usersUrl("/v2/organizations/420bb3ef-6064-42ed-9131-c1fe980bf9c6/users") - .managersUrl("/v2/organizations/420bb3ef-6064-42ed-9131-c1fe980bf9c6/managers") - .billingManagersUrl("/v2/organizations/420bb3ef-6064-42ed-9131-c1fe980bf9c6/billing_managers") - .auditorsUrl("/v2/organizations/420bb3ef-6064-42ed-9131-c1fe980bf9c6/auditors") - .applicationEventsUrl("/v2/organizations/420bb3ef-6064-42ed-9131-c1fe980bf9c6/app_events") - .spaceQuotaDefinitionsUrl("/v2/organizations/420bb3ef-6064-42ed-9131-c1fe980bf9c6/space_quota_definitions") - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .listSharedOrganizations( + ListPrivateDomainSharedOrganizationsRequest.builder() + .privateDomainId("b2a35f0c-d5ad-4a59-bea7-461711d96b0d") + .build()) + .as(StepVerifier::create) + .expectNext( + ListPrivateDomainSharedOrganizationsResponse.builder() + .totalResults(1) + .totalPages(1) + .resource( + OrganizationResource.builder() + .metadata( + Metadata.builder() + .id( + "420bb3ef-6064-42ed-9131-c1fe980bf9c6") + .createdAt("2016-06-08T16:41:39Z") + .updatedAt("2016-06-08T16:41:26Z") + .url( + "/v2/organizations/420bb3ef-6064-42ed-9131-c1fe980bf9c6") + .build()) + .entity( + OrganizationEntity.builder() + .name("name-2005") + .billingEnabled(false) + .quotaDefinitionId( + "2e863ad3-7bb9-4c5c-928c-cde2caec341b") + .status("active") + .quotaDefinitionUrl( + "/v2/quota_definitions/2e863ad3-7bb9-4c5c-928c-cde2caec341b") + .spacesUrl( + "/v2/organizations/420bb3ef-6064-42ed-9131-c1fe980bf9c6/spaces") + .domainsUrl( + "/v2/organizations/420bb3ef-6064-42ed-9131-c1fe980bf9c6/domains") + .privateDomainsUrl( + "/v2/organizations/420bb3ef-6064-42ed-9131-c1fe980bf9c6/private_domains") + .usersUrl( + "/v2/organizations/420bb3ef-6064-42ed-9131-c1fe980bf9c6/users") + .managersUrl( + "/v2/organizations/420bb3ef-6064-42ed-9131-c1fe980bf9c6/managers") + .billingManagersUrl( + "/v2/organizations/420bb3ef-6064-42ed-9131-c1fe980bf9c6/billing_managers") + .auditorsUrl( + "/v2/organizations/420bb3ef-6064-42ed-9131-c1fe980bf9c6/auditors") + .applicationEventsUrl( + "/v2/organizations/420bb3ef-6064-42ed-9131-c1fe980bf9c6/app_events") + .spaceQuotaDefinitionsUrl( + "/v2/organizations/420bb3ef-6064-42ed-9131-c1fe980bf9c6/space_quota_definitions") + .build()) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } - } diff --git a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/resourcematch/ReactorResourceMatchTest.java b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/resourcematch/ReactorResourceMatchTest.java index cf7d285e8d..c0917f56cf 100644 --- a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/resourcematch/ReactorResourceMatchTest.java +++ b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/resourcematch/ReactorResourceMatchTest.java @@ -16,6 +16,11 @@ package org.cloudfoundry.reactor.client.v2.resourcematch; +import static io.netty.handler.codec.http.HttpMethod.PUT; +import static io.netty.handler.codec.http.HttpResponseStatus.OK; + +import java.time.Duration; +import java.util.Collections; import org.cloudfoundry.client.v2.resourcematch.ListMatchingResourcesRequest; import org.cloudfoundry.client.v2.resourcematch.ListMatchingResourcesResponse; import org.cloudfoundry.client.v2.resourcematch.Resource; @@ -26,49 +31,55 @@ import org.junit.Test; import reactor.test.StepVerifier; -import java.time.Duration; -import java.util.Collections; - -import static io.netty.handler.codec.http.HttpMethod.PUT; -import static io.netty.handler.codec.http.HttpResponseStatus.OK; - public final class ReactorResourceMatchTest extends AbstractClientApiTest { - private final ReactorResourceMatch resourceMatch = new ReactorResourceMatch(CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); + private final ReactorResourceMatch resourceMatch = + new ReactorResourceMatch( + CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); @Test public void list() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(PUT).path("/resource_match") - .payload("fixtures/client/v2/resource_match/PUT_request.json") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/resource_match/PUT_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(PUT) + .path("/resource_match") + .payload( + "fixtures/client/v2/resource_match/PUT_request.json") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/resource_match/PUT_response.json") + .build()) + .build()); this.resourceMatch - .list(ListMatchingResourcesRequest.builder() - .resource(Resource.builder() - .hash("002d760bea1be268e27077412e11a320d0f164d3") - .size(36) - .build()) - .resource(Resource.builder() - .hash("a9993e364706816aba3e25717850c26c9cd0d89d") - .size(1) - .build()) - .build()) - .as(StepVerifier::create) - .expectNext(ListMatchingResourcesResponse.builder() - .resource(Resource.builder() - .hash("002d760bea1be268e27077412e11a320d0f164d3") - .size(36) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .list( + ListMatchingResourcesRequest.builder() + .resource( + Resource.builder() + .hash("002d760bea1be268e27077412e11a320d0f164d3") + .size(36) + .build()) + .resource( + Resource.builder() + .hash("a9993e364706816aba3e25717850c26c9cd0d89d") + .size(1) + .build()) + .build()) + .as(StepVerifier::create) + .expectNext( + ListMatchingResourcesResponse.builder() + .resource( + Resource.builder() + .hash("002d760bea1be268e27077412e11a320d0f164d3") + .size(36) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } - } diff --git a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/routemappings/ReactorRouteMappingsTest.java b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/routemappings/ReactorRouteMappingsTest.java index c42e9470a8..9827a00653 100644 --- a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/routemappings/ReactorRouteMappingsTest.java +++ b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/routemappings/ReactorRouteMappingsTest.java @@ -16,6 +16,16 @@ package org.cloudfoundry.reactor.client.v2.routemappings; +import static io.netty.handler.codec.http.HttpMethod.DELETE; +import static io.netty.handler.codec.http.HttpMethod.GET; +import static io.netty.handler.codec.http.HttpMethod.POST; +import static io.netty.handler.codec.http.HttpResponseStatus.ACCEPTED; +import static io.netty.handler.codec.http.HttpResponseStatus.CREATED; +import static io.netty.handler.codec.http.HttpResponseStatus.NO_CONTENT; +import static io.netty.handler.codec.http.HttpResponseStatus.OK; + +import java.time.Duration; +import java.util.Collections; import org.cloudfoundry.client.v2.Metadata; import org.cloudfoundry.client.v2.jobs.JobEntity; import org.cloudfoundry.client.v2.routemappings.CreateRouteMappingRequest; @@ -35,184 +45,223 @@ import org.junit.Test; import reactor.test.StepVerifier; -import java.time.Duration; -import java.util.Collections; - -import static io.netty.handler.codec.http.HttpMethod.DELETE; -import static io.netty.handler.codec.http.HttpMethod.GET; -import static io.netty.handler.codec.http.HttpMethod.POST; -import static io.netty.handler.codec.http.HttpResponseStatus.ACCEPTED; -import static io.netty.handler.codec.http.HttpResponseStatus.CREATED; -import static io.netty.handler.codec.http.HttpResponseStatus.NO_CONTENT; -import static io.netty.handler.codec.http.HttpResponseStatus.OK; - public final class ReactorRouteMappingsTest extends AbstractClientApiTest { - private final ReactorRouteMappings routeMappings = new ReactorRouteMappings(CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); + private final ReactorRouteMappings routeMappings = + new ReactorRouteMappings( + CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); @Test public void create() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(POST).path("/route_mappings") - .payload("fixtures/client/v2/route_mappings/POST_request.json") - .build()) - .response(TestResponse.builder() - .status(CREATED) - .payload("fixtures/client/v2/route_mappings/POST_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(POST) + .path("/route_mappings") + .payload( + "fixtures/client/v2/route_mappings/POST_request.json") + .build()) + .response( + TestResponse.builder() + .status(CREATED) + .payload( + "fixtures/client/v2/route_mappings/POST_response.json") + .build()) + .build()); this.routeMappings - .create(CreateRouteMappingRequest.builder() - .applicationId("d232b485-b035-4d65-9f77-6b867d859de5") - .routeId("c041e8a3-64d0-4beb-bac8-1900e3aedd07") - .applicationPort(8888) - .build()) - .as(StepVerifier::create) - .expectNext(CreateRouteMappingResponse.builder() - .metadata(Metadata.builder() - .createdAt("2016-01-19T19:40:59Z") - .id("ca9cdd28-53c4-4b8e-a7e0-1838f69b8f91") - .url("/v2/route_mappings/ca9cdd28-53c4-4b8e-a7e0-1838f69b8f91") - .build()) - .entity(RouteMappingEntity.builder() - .applicationId("d232b485-b035-4d65-9f77-6b867d859de5") - .applicationPort(8888) - .routeId("c041e8a3-64d0-4beb-bac8-1900e3aedd07") - .applicationUrl("/v2/apps/d232b485-b035-4d65-9f77-6b867d859de5") - .routeUrl("/v2/routes/c041e8a3-64d0-4beb-bac8-1900e3aedd07") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .create( + CreateRouteMappingRequest.builder() + .applicationId("d232b485-b035-4d65-9f77-6b867d859de5") + .routeId("c041e8a3-64d0-4beb-bac8-1900e3aedd07") + .applicationPort(8888) + .build()) + .as(StepVerifier::create) + .expectNext( + CreateRouteMappingResponse.builder() + .metadata( + Metadata.builder() + .createdAt("2016-01-19T19:40:59Z") + .id("ca9cdd28-53c4-4b8e-a7e0-1838f69b8f91") + .url( + "/v2/route_mappings/ca9cdd28-53c4-4b8e-a7e0-1838f69b8f91") + .build()) + .entity( + RouteMappingEntity.builder() + .applicationId( + "d232b485-b035-4d65-9f77-6b867d859de5") + .applicationPort(8888) + .routeId("c041e8a3-64d0-4beb-bac8-1900e3aedd07") + .applicationUrl( + "/v2/apps/d232b485-b035-4d65-9f77-6b867d859de5") + .routeUrl( + "/v2/routes/c041e8a3-64d0-4beb-bac8-1900e3aedd07") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void delete() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(DELETE).path("/route_mappings/random-route-mapping-id") - .build()) - .response(TestResponse.builder() - .status(NO_CONTENT) - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(DELETE) + .path("/route_mappings/random-route-mapping-id") + .build()) + .response(TestResponse.builder().status(NO_CONTENT).build()) + .build()); this.routeMappings - .delete(DeleteRouteMappingRequest.builder() - .routeMappingId("random-route-mapping-id") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .delete( + DeleteRouteMappingRequest.builder() + .routeMappingId("random-route-mapping-id") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void deleteAsync() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(DELETE).path("/route_mappings/random-route-mapping-id?async=true") - .build()) - .response(TestResponse.builder() - .status(ACCEPTED) - .payload("fixtures/client/v2/route_mappings/DELETE_{id}_async_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(DELETE) + .path("/route_mappings/random-route-mapping-id?async=true") + .build()) + .response( + TestResponse.builder() + .status(ACCEPTED) + .payload( + "fixtures/client/v2/route_mappings/DELETE_{id}_async_response.json") + .build()) + .build()); this.routeMappings - .delete(DeleteRouteMappingRequest.builder() - .async(true) - .routeMappingId("random-route-mapping-id") - .build()) - .as(StepVerifier::create) - .expectNext(DeleteRouteMappingResponse.builder() - .metadata(Metadata.builder() - .id("2d9707ba-6f0b-4aef-a3de-fe9bdcf0c9d1") - .createdAt("2016-02-02T17:16:31Z") - .url("/v2/jobs/2d9707ba-6f0b-4aef-a3de-fe9bdcf0c9d1") - .build()) - .entity(JobEntity.builder() - .id("2d9707ba-6f0b-4aef-a3de-fe9bdcf0c9d1") - .status("queued") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .delete( + DeleteRouteMappingRequest.builder() + .async(true) + .routeMappingId("random-route-mapping-id") + .build()) + .as(StepVerifier::create) + .expectNext( + DeleteRouteMappingResponse.builder() + .metadata( + Metadata.builder() + .id("2d9707ba-6f0b-4aef-a3de-fe9bdcf0c9d1") + .createdAt("2016-02-02T17:16:31Z") + .url( + "/v2/jobs/2d9707ba-6f0b-4aef-a3de-fe9bdcf0c9d1") + .build()) + .entity( + JobEntity.builder() + .id("2d9707ba-6f0b-4aef-a3de-fe9bdcf0c9d1") + .status("queued") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void get() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/route_mappings/route-mapping-id") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/route_mappings/GET_{id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/route_mappings/route-mapping-id") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/route_mappings/GET_{id}_response.json") + .build()) + .build()); this.routeMappings - .get(GetRouteMappingRequest.builder() - .routeMappingId("route-mapping-id") - .build()) - .as(StepVerifier::create) - .expectNext(GetRouteMappingResponse.builder() - .metadata(Metadata.builder() - .id("304bead7-ad5a-4f6e-a093-f2a85d30c54a") - .createdAt("2016-04-06T00:17:40Z") - .url("/v2/route_mappings/304bead7-ad5a-4f6e-a093-f2a85d30c54a") - .build()) - .entity(RouteMappingEntity.builder() - .applicationId("65489f49-f437-431a-8f58-c118ce08d83a") - .applicationPort(8888) - .applicationUrl("/v2/apps/65489f49-f437-431a-8f58-c118ce08d83a") - .routeId("c7ce0cac-f1d6-405c-83fd-c2d75513eb23") - .routeUrl("/v2/routes/c7ce0cac-f1d6-405c-83fd-c2d75513eb23") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .get(GetRouteMappingRequest.builder().routeMappingId("route-mapping-id").build()) + .as(StepVerifier::create) + .expectNext( + GetRouteMappingResponse.builder() + .metadata( + Metadata.builder() + .id("304bead7-ad5a-4f6e-a093-f2a85d30c54a") + .createdAt("2016-04-06T00:17:40Z") + .url( + "/v2/route_mappings/304bead7-ad5a-4f6e-a093-f2a85d30c54a") + .build()) + .entity( + RouteMappingEntity.builder() + .applicationId( + "65489f49-f437-431a-8f58-c118ce08d83a") + .applicationPort(8888) + .applicationUrl( + "/v2/apps/65489f49-f437-431a-8f58-c118ce08d83a") + .routeId("c7ce0cac-f1d6-405c-83fd-c2d75513eb23") + .routeUrl( + "/v2/routes/c7ce0cac-f1d6-405c-83fd-c2d75513eb23") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void list() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/route_mappings?page=-1") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/route_mappings/GET_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/route_mappings?page=-1") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/route_mappings/GET_response.json") + .build()) + .build()); this.routeMappings - .list(ListRouteMappingsRequest.builder() - .page(-1) - .build()) - .as(StepVerifier::create) - .expectNext(ListRouteMappingsResponse.builder() - .totalPages(1) - .totalResults(1) - .resource(RouteMappingResource.builder() - .metadata(Metadata.builder() - .createdAt("2016-04-06T00:17:40Z") - .id("50dedf28-08db-4cdd-9903-0d74f3b8708d") - .url("/v2/route_mappings/50dedf28-08db-4cdd-9903-0d74f3b8708d") - .build()) - .entity(RouteMappingEntity.builder() - .applicationId("fbfe5df8-5391-4e75-966b-69fe34b7ee5d") - .applicationPort(8888) - .routeId("b683ae9e-0a54-4445-a2ea-5d78d9f89266") - .applicationUrl("/v2/apps/fbfe5df8-5391-4e75-966b-69fe34b7ee5d") - .routeUrl("/v2/routes/b683ae9e-0a54-4445-a2ea-5d78d9f89266") - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .list(ListRouteMappingsRequest.builder().page(-1).build()) + .as(StepVerifier::create) + .expectNext( + ListRouteMappingsResponse.builder() + .totalPages(1) + .totalResults(1) + .resource( + RouteMappingResource.builder() + .metadata( + Metadata.builder() + .createdAt("2016-04-06T00:17:40Z") + .id( + "50dedf28-08db-4cdd-9903-0d74f3b8708d") + .url( + "/v2/route_mappings/50dedf28-08db-4cdd-9903-0d74f3b8708d") + .build()) + .entity( + RouteMappingEntity.builder() + .applicationId( + "fbfe5df8-5391-4e75-966b-69fe34b7ee5d") + .applicationPort(8888) + .routeId( + "b683ae9e-0a54-4445-a2ea-5d78d9f89266") + .applicationUrl( + "/v2/apps/fbfe5df8-5391-4e75-966b-69fe34b7ee5d") + .routeUrl( + "/v2/routes/b683ae9e-0a54-4445-a2ea-5d78d9f89266") + .build()) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } - } diff --git a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/routes/ReactorRoutesTest.java b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/routes/ReactorRoutesTest.java index 249eb27c09..b4082b19ff 100644 --- a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/routes/ReactorRoutesTest.java +++ b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/routes/ReactorRoutesTest.java @@ -16,6 +16,17 @@ package org.cloudfoundry.reactor.client.v2.routes; +import static io.netty.handler.codec.http.HttpMethod.DELETE; +import static io.netty.handler.codec.http.HttpMethod.GET; +import static io.netty.handler.codec.http.HttpMethod.POST; +import static io.netty.handler.codec.http.HttpMethod.PUT; +import static io.netty.handler.codec.http.HttpResponseStatus.ACCEPTED; +import static io.netty.handler.codec.http.HttpResponseStatus.CREATED; +import static io.netty.handler.codec.http.HttpResponseStatus.NO_CONTENT; +import static io.netty.handler.codec.http.HttpResponseStatus.OK; + +import java.time.Duration; +import java.util.Collections; import org.cloudfoundry.client.v2.Metadata; import org.cloudfoundry.client.v2.applications.ApplicationEntity; import org.cloudfoundry.client.v2.applications.ApplicationResource; @@ -50,426 +61,527 @@ import org.junit.Test; import reactor.test.StepVerifier; -import java.time.Duration; -import java.util.Collections; - -import static io.netty.handler.codec.http.HttpMethod.DELETE; -import static io.netty.handler.codec.http.HttpMethod.GET; -import static io.netty.handler.codec.http.HttpMethod.POST; -import static io.netty.handler.codec.http.HttpMethod.PUT; -import static io.netty.handler.codec.http.HttpResponseStatus.ACCEPTED; -import static io.netty.handler.codec.http.HttpResponseStatus.CREATED; -import static io.netty.handler.codec.http.HttpResponseStatus.NO_CONTENT; -import static io.netty.handler.codec.http.HttpResponseStatus.OK; - public final class ReactorRoutesTest extends AbstractClientApiTest { - private final ReactorRoutes routes = new ReactorRoutes(CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); + private final ReactorRoutes routes = + new ReactorRoutes( + CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); @Test public void associateApplication() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(PUT).path("/routes/test-route-id/apps/test-app-id") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/routes/PUT_{id}_apps_{app-id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(PUT) + .path("/routes/test-route-id/apps/test-app-id") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/routes/PUT_{id}_apps_{app-id}_response.json") + .build()) + .build()); this.routes - .associateApplication(AssociateRouteApplicationRequest.builder() - .applicationId("test-app-id") - .routeId("test-route-id") - .build()) - .as(StepVerifier::create) - .expectNext(AssociateRouteApplicationResponse.builder() - .metadata(Metadata.builder() - .id("a05c94a3-e4b3-456e-b044-475270919ea7") - .url("/v2/routes/a05c94a3-e4b3-456e-b044-475270919ea7") - .createdAt("2016-03-17T21:41:19Z") - .build()) - .entity(RouteEntity.builder() - .host("host-20") - .path("") - .port(0) - .domainId("f5804a26-df58-412e-95ed-fa2f2a699c18") - .spaceId("4886c9ec-4b1a-4a4c-8c8f-acfdd3d97d22") - .domainUrl("/v2/domains/f5804a26-df58-412e-95ed-fa2f2a699c18") - .spaceUrl("/v2/spaces/4886c9ec-4b1a-4a4c-8c8f-acfdd3d97d22") - .applicationsUrl("/v2/routes/a05c94a3-e4b3-456e-b044-475270919ea7/apps") - .routeMappingsUrl("/v2/routes/a05c94a3-e4b3-456e-b044-475270919ea7/route_mappings") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .associateApplication( + AssociateRouteApplicationRequest.builder() + .applicationId("test-app-id") + .routeId("test-route-id") + .build()) + .as(StepVerifier::create) + .expectNext( + AssociateRouteApplicationResponse.builder() + .metadata( + Metadata.builder() + .id("a05c94a3-e4b3-456e-b044-475270919ea7") + .url( + "/v2/routes/a05c94a3-e4b3-456e-b044-475270919ea7") + .createdAt("2016-03-17T21:41:19Z") + .build()) + .entity( + RouteEntity.builder() + .host("host-20") + .path("") + .port(0) + .domainId("f5804a26-df58-412e-95ed-fa2f2a699c18") + .spaceId("4886c9ec-4b1a-4a4c-8c8f-acfdd3d97d22") + .domainUrl( + "/v2/domains/f5804a26-df58-412e-95ed-fa2f2a699c18") + .spaceUrl( + "/v2/spaces/4886c9ec-4b1a-4a4c-8c8f-acfdd3d97d22") + .applicationsUrl( + "/v2/routes/a05c94a3-e4b3-456e-b044-475270919ea7/apps") + .routeMappingsUrl( + "/v2/routes/a05c94a3-e4b3-456e-b044-475270919ea7/route_mappings") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void create() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(POST).path("/routes") - .payload("fixtures/client/v2/routes/POST_request.json") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/routes/POST_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(POST) + .path("/routes") + .payload("fixtures/client/v2/routes/POST_request.json") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload("fixtures/client/v2/routes/POST_response.json") + .build()) + .build()); this.routes - .create(CreateRouteRequest.builder() - .domainId("4d9e6314-58ca-4f09-a736-d8bcc903b95e") - .port(10000) - .spaceId("2f093daf-c030-4b57-99c2-9b8858b200e4") - .build()) - .as(StepVerifier::create) - .expectNext(CreateRouteResponse.builder() - .metadata(Metadata.builder() - .id("ad307f5b-efec-4034-8cf1-1f86515ee093") - .url("/v2/routes/ad307f5b-efec-4034-8cf1-1f86515ee093") - .createdAt("2016-03-17T21:41:19Z") - .build()) - .entity(RouteEntity.builder() - .host("") - .path("") - .domainId("c94d8b7e-081e-4293-8f24-964a2fe2b16c") - .spaceId("759cb2e0-239b-4202-ab83-1e6fd66becee") - .port(10000) - .domainUrl("/v2/domains/c94d8b7e-081e-4293-8f24-964a2fe2b16c") - .spaceUrl("/v2/spaces/759cb2e0-239b-4202-ab83-1e6fd66becee") - .applicationsUrl("/v2/routes/ad307f5b-efec-4034-8cf1-1f86515ee093/apps") - .routeMappingsUrl("/v2/routes/ad307f5b-efec-4034-8cf1-1f86515ee093/route_mappings") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .create( + CreateRouteRequest.builder() + .domainId("4d9e6314-58ca-4f09-a736-d8bcc903b95e") + .port(10000) + .spaceId("2f093daf-c030-4b57-99c2-9b8858b200e4") + .build()) + .as(StepVerifier::create) + .expectNext( + CreateRouteResponse.builder() + .metadata( + Metadata.builder() + .id("ad307f5b-efec-4034-8cf1-1f86515ee093") + .url( + "/v2/routes/ad307f5b-efec-4034-8cf1-1f86515ee093") + .createdAt("2016-03-17T21:41:19Z") + .build()) + .entity( + RouteEntity.builder() + .host("") + .path("") + .domainId("c94d8b7e-081e-4293-8f24-964a2fe2b16c") + .spaceId("759cb2e0-239b-4202-ab83-1e6fd66becee") + .port(10000) + .domainUrl( + "/v2/domains/c94d8b7e-081e-4293-8f24-964a2fe2b16c") + .spaceUrl( + "/v2/spaces/759cb2e0-239b-4202-ab83-1e6fd66becee") + .applicationsUrl( + "/v2/routes/ad307f5b-efec-4034-8cf1-1f86515ee093/apps") + .routeMappingsUrl( + "/v2/routes/ad307f5b-efec-4034-8cf1-1f86515ee093/route_mappings") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void delete() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(DELETE).path("/routes/test-route-id") - .build()) - .response(TestResponse.builder() - .status(NO_CONTENT) - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(DELETE) + .path("/routes/test-route-id") + .build()) + .response(TestResponse.builder().status(NO_CONTENT).build()) + .build()); this.routes - .delete(DeleteRouteRequest.builder() - .routeId("test-route-id") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .delete(DeleteRouteRequest.builder().routeId("test-route-id").build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void deleteAsync() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(DELETE).path("/routes/test-route-id?async=true") - .build()) - .response(TestResponse.builder() - .status(ACCEPTED) - .payload("fixtures/client/v2/routes/DELETE_{id}_async_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(DELETE) + .path("/routes/test-route-id?async=true") + .build()) + .response( + TestResponse.builder() + .status(ACCEPTED) + .payload( + "fixtures/client/v2/routes/DELETE_{id}_async_response.json") + .build()) + .build()); this.routes - .delete(DeleteRouteRequest.builder() - .async(true) - .routeId("test-route-id") - .build()) - .as(StepVerifier::create) - .expectNext(DeleteRouteResponse.builder() - .metadata(Metadata.builder() - .id("2d9707ba-6f0b-4aef-a3de-fe9bdcf0c9d1") - .createdAt("2016-02-02T17:16:31Z") - .url("/v2/jobs/2d9707ba-6f0b-4aef-a3de-fe9bdcf0c9d1") - .build()) - .entity(JobEntity.builder() - .id("2d9707ba-6f0b-4aef-a3de-fe9bdcf0c9d1") - .status("queued") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .delete(DeleteRouteRequest.builder().async(true).routeId("test-route-id").build()) + .as(StepVerifier::create) + .expectNext( + DeleteRouteResponse.builder() + .metadata( + Metadata.builder() + .id("2d9707ba-6f0b-4aef-a3de-fe9bdcf0c9d1") + .createdAt("2016-02-02T17:16:31Z") + .url( + "/v2/jobs/2d9707ba-6f0b-4aef-a3de-fe9bdcf0c9d1") + .build()) + .entity( + JobEntity.builder() + .id("2d9707ba-6f0b-4aef-a3de-fe9bdcf0c9d1") + .status("queued") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void exists() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/routes/reserved/domain/test-domain-id/host/test-host?path=test-path") - .build()) - .response(TestResponse.builder() - .status(NO_CONTENT) - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path( + "/routes/reserved/domain/test-domain-id/host/test-host?path=test-path") + .build()) + .response(TestResponse.builder().status(NO_CONTENT).build()) + .build()); this.routes - .exists(RouteExistsRequest.builder() - .domainId("test-domain-id") - .host("test-host") - .path("test-path") - .build()) - .as(StepVerifier::create) - .expectNext(true) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .exists( + RouteExistsRequest.builder() + .domainId("test-domain-id") + .host("test-host") + .path("test-path") + .build()) + .as(StepVerifier::create) + .expectNext(true) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void get() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/routes/test-route-id") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/routes/GET_{id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/routes/test-route-id") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload("fixtures/client/v2/routes/GET_{id}_response.json") + .build()) + .build()); this.routes - .get(GetRouteRequest.builder() - .routeId("test-route-id") - .build()) - .as(StepVerifier::create) - .expectNext(GetRouteResponse.builder() - .metadata(Metadata.builder() - .id("e6c3ae35-9083-4816-9432-ee8ad700fd03") - .url("/v2/routes/e6c3ae35-9083-4816-9432-ee8ad700fd03") - .createdAt("2016-03-17T21:41:19Z") - .build()) - .entity(RouteEntity.builder() - .host("host-24") - .path("") - .domainId("f268feb8-2dec-4709-8b2d-db2e6c764093") - .spaceId("dd4e9e11-1b61-44a9-a4c5-6a5eb393c2a0") - .serviceInstanceId("492eb6e7-820e-40dc-847c-6b30a6fc7b64") - .port(0) - .domainUrl("/v2/domains/f268feb8-2dec-4709-8b2d-db2e6c764093") - .spaceUrl("/v2/spaces/dd4e9e11-1b61-44a9-a4c5-6a5eb393c2a0") - .serviceInstanceUrl("/v2/service_instances/492eb6e7-820e-40dc-847c-6b30a6fc7b64") - .applicationsUrl("/v2/routes/e6c3ae35-9083-4816-9432-ee8ad700fd03/apps") - .routeMappingsUrl("/v2/routes/e6c3ae35-9083-4816-9432-ee8ad700fd03/route_mappings") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .get(GetRouteRequest.builder().routeId("test-route-id").build()) + .as(StepVerifier::create) + .expectNext( + GetRouteResponse.builder() + .metadata( + Metadata.builder() + .id("e6c3ae35-9083-4816-9432-ee8ad700fd03") + .url( + "/v2/routes/e6c3ae35-9083-4816-9432-ee8ad700fd03") + .createdAt("2016-03-17T21:41:19Z") + .build()) + .entity( + RouteEntity.builder() + .host("host-24") + .path("") + .domainId("f268feb8-2dec-4709-8b2d-db2e6c764093") + .spaceId("dd4e9e11-1b61-44a9-a4c5-6a5eb393c2a0") + .serviceInstanceId( + "492eb6e7-820e-40dc-847c-6b30a6fc7b64") + .port(0) + .domainUrl( + "/v2/domains/f268feb8-2dec-4709-8b2d-db2e6c764093") + .spaceUrl( + "/v2/spaces/dd4e9e11-1b61-44a9-a4c5-6a5eb393c2a0") + .serviceInstanceUrl( + "/v2/service_instances/492eb6e7-820e-40dc-847c-6b30a6fc7b64") + .applicationsUrl( + "/v2/routes/e6c3ae35-9083-4816-9432-ee8ad700fd03/apps") + .routeMappingsUrl( + "/v2/routes/e6c3ae35-9083-4816-9432-ee8ad700fd03/route_mappings") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void list() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/routes?page=-1") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/routes/GET_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request(TestRequest.builder().method(GET).path("/routes?page=-1").build()) + .response( + TestResponse.builder() + .status(OK) + .payload("fixtures/client/v2/routes/GET_response.json") + .build()) + .build()); this.routes - .list(ListRoutesRequest.builder() - .page(-1) - .build()) - .as(StepVerifier::create) - .expectNext(ListRoutesResponse.builder() - .totalResults(1) - .totalPages(1) - .resource(RouteResource.builder() - .metadata(Metadata.builder() - .id("8fd7433e-e9c7-4897-809f-9a9696f72986") - .url("/v2/routes/8fd7433e-e9c7-4897-809f-9a9696f72986") - .createdAt("2016-03-17T21:41:19Z") - .build()) - .entity(RouteEntity.builder() - .host("host-25") - .path("") - .domainId("76d083f5-a5cc-4179-81b8-530a134cccf6") - .spaceId("34453e18-fe59-4208-b29c-ae9f7b46985c") - .serviceInstanceId("8479be64-245d-4385-a553-593ffcc6b886") - .port(0) - .domainUrl("/v2/domains/76d083f5-a5cc-4179-81b8-530a134cccf6") - .spaceUrl("/v2/spaces/34453e18-fe59-4208-b29c-ae9f7b46985c") - .serviceInstanceUrl("/v2/service_instances/8479be64-245d-4385-a553-593ffcc6b886") - .applicationsUrl("/v2/routes/8fd7433e-e9c7-4897-809f-9a9696f72986/apps") - .routeMappingsUrl("/v2/routes/8fd7433e-e9c7-4897-809f-9a9696f72986/route_mappings") - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .list(ListRoutesRequest.builder().page(-1).build()) + .as(StepVerifier::create) + .expectNext( + ListRoutesResponse.builder() + .totalResults(1) + .totalPages(1) + .resource( + RouteResource.builder() + .metadata( + Metadata.builder() + .id( + "8fd7433e-e9c7-4897-809f-9a9696f72986") + .url( + "/v2/routes/8fd7433e-e9c7-4897-809f-9a9696f72986") + .createdAt("2016-03-17T21:41:19Z") + .build()) + .entity( + RouteEntity.builder() + .host("host-25") + .path("") + .domainId( + "76d083f5-a5cc-4179-81b8-530a134cccf6") + .spaceId( + "34453e18-fe59-4208-b29c-ae9f7b46985c") + .serviceInstanceId( + "8479be64-245d-4385-a553-593ffcc6b886") + .port(0) + .domainUrl( + "/v2/domains/76d083f5-a5cc-4179-81b8-530a134cccf6") + .spaceUrl( + "/v2/spaces/34453e18-fe59-4208-b29c-ae9f7b46985c") + .serviceInstanceUrl( + "/v2/service_instances/8479be64-245d-4385-a553-593ffcc6b886") + .applicationsUrl( + "/v2/routes/8fd7433e-e9c7-4897-809f-9a9696f72986/apps") + .routeMappingsUrl( + "/v2/routes/8fd7433e-e9c7-4897-809f-9a9696f72986/route_mappings") + .build()) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @SuppressWarnings("deprecation") @Test public void listApplications() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/routes/81464707-0f48-4ab9-87dc-667ef15489fb/apps?app_guid=6e62b293-f4c8-405a-be2b-b719e2848984") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/routes/GET_{id}_apps_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path( + "/routes/81464707-0f48-4ab9-87dc-667ef15489fb/apps?app_guid=6e62b293-f4c8-405a-be2b-b719e2848984") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/routes/GET_{id}_apps_response.json") + .build()) + .build()); this.routes - .listApplications(ListRouteApplicationsRequest.builder() - .routeId("81464707-0f48-4ab9-87dc-667ef15489fb") - .applicationId("6e62b293-f4c8-405a-be2b-b719e2848984") - .build()) - .as(StepVerifier::create) - .expectNext(ListRouteApplicationsResponse.builder() - .totalResults(1) - .totalPages(1) - .resource(ApplicationResource.builder() - .metadata(Metadata.builder() - .createdAt("2016-06-08T16:41:28Z") - .id("6141e57e-7636-480b-8f17-78c6049813f6") - .updatedAt("2016-06-08T16:41:28Z") - .url("/v2/apps/6141e57e-7636-480b-8f17-78c6049813f6") - .build()) - .entity(ApplicationEntity.builder() - .console(false) - .detectedStartCommand("") - .diego(false) - .diskQuota(1024) - .dockerCredentials(DockerCredentials.builder().build()) - .enableSsh(true) - .eventsUrl("/v2/apps/6141e57e-7636-480b-8f17-78c6049813f6/events") - .memory(1024) - .healthCheckType("port") - .instances(1) - .name("name-1412") - .packageState("PENDING") - .packageUpdatedAt("2016-06-08T16:41:28Z") - .production(false) - .routeMappingsUrl("/v2/apps/6141e57e-7636-480b-8f17-78c6049813f6/route_mappings") - .routesUrl("/v2/apps/6141e57e-7636-480b-8f17-78c6049813f6/routes") - .serviceBindingsUrl("/v2/apps/6141e57e-7636-480b-8f17-78c6049813f6/service_bindings") - .spaceId("93e43758-13fe-4751-8edc-caf225e27647") - .spaceUrl("/v2/spaces/93e43758-13fe-4751-8edc-caf225e27647") - .stackId("0459956d-e777-412d-af7e-d45f8d172edc") - .stackUrl("/v2/stacks/0459956d-e777-412d-af7e-d45f8d172edc") - .state("STOPPED") - .version("51207851-f39e-428e-9a16-1372f4d6d4f6") - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .listApplications( + ListRouteApplicationsRequest.builder() + .routeId("81464707-0f48-4ab9-87dc-667ef15489fb") + .applicationId("6e62b293-f4c8-405a-be2b-b719e2848984") + .build()) + .as(StepVerifier::create) + .expectNext( + ListRouteApplicationsResponse.builder() + .totalResults(1) + .totalPages(1) + .resource( + ApplicationResource.builder() + .metadata( + Metadata.builder() + .createdAt("2016-06-08T16:41:28Z") + .id( + "6141e57e-7636-480b-8f17-78c6049813f6") + .updatedAt("2016-06-08T16:41:28Z") + .url( + "/v2/apps/6141e57e-7636-480b-8f17-78c6049813f6") + .build()) + .entity( + ApplicationEntity.builder() + .console(false) + .detectedStartCommand("") + .diego(false) + .diskQuota(1024) + .dockerCredentials( + DockerCredentials.builder() + .build()) + .enableSsh(true) + .eventsUrl( + "/v2/apps/6141e57e-7636-480b-8f17-78c6049813f6/events") + .memory(1024) + .healthCheckType("port") + .instances(1) + .name("name-1412") + .packageState("PENDING") + .packageUpdatedAt( + "2016-06-08T16:41:28Z") + .production(false) + .routeMappingsUrl( + "/v2/apps/6141e57e-7636-480b-8f17-78c6049813f6/route_mappings") + .routesUrl( + "/v2/apps/6141e57e-7636-480b-8f17-78c6049813f6/routes") + .serviceBindingsUrl( + "/v2/apps/6141e57e-7636-480b-8f17-78c6049813f6/service_bindings") + .spaceId( + "93e43758-13fe-4751-8edc-caf225e27647") + .spaceUrl( + "/v2/spaces/93e43758-13fe-4751-8edc-caf225e27647") + .stackId( + "0459956d-e777-412d-af7e-d45f8d172edc") + .stackUrl( + "/v2/stacks/0459956d-e777-412d-af7e-d45f8d172edc") + .state("STOPPED") + .version( + "51207851-f39e-428e-9a16-1372f4d6d4f6") + .build()) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void listMappings() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/routes/521c375d-a7e2-4f87-9527-7fd1db1b2010/route_mappings") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/routes/GET_{id}_route_mappings_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path( + "/routes/521c375d-a7e2-4f87-9527-7fd1db1b2010/route_mappings") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/routes/GET_{id}_route_mappings_response.json") + .build()) + .build()); this.routes - .listMappings(ListRouteMappingsRequest.builder() - .routeId("521c375d-a7e2-4f87-9527-7fd1db1b2010") - .build()) - .as(StepVerifier::create) - .expectNext(ListRouteMappingsResponse.builder() - .totalResults(1) - .totalPages(1) - .resource(RouteMappingResource.builder() - .metadata(Metadata.builder() - .createdAt("2016-06-08T16:41:28Z") - .id("9feb9667-9249-44b7-9e4e-92157a2aaefb") - .updatedAt("2016-06-08T16:41:26Z") - .url("/v2/route_mappings/9feb9667-9249-44b7-9e4e-92157a2aaefb") - .build()) - .entity(RouteMappingEntity.builder() - .applicationId("bf65b03d-5416-4603-9de2-ef74491d29b6") - .applicationUrl("/v2/apps/bf65b03d-5416-4603-9de2-ef74491d29b6") - .routeId("521c375d-a7e2-4f87-9527-7fd1db1b2010") - .routeUrl("/v2/routes/521c375d-a7e2-4f87-9527-7fd1db1b2010") - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .listMappings( + ListRouteMappingsRequest.builder() + .routeId("521c375d-a7e2-4f87-9527-7fd1db1b2010") + .build()) + .as(StepVerifier::create) + .expectNext( + ListRouteMappingsResponse.builder() + .totalResults(1) + .totalPages(1) + .resource( + RouteMappingResource.builder() + .metadata( + Metadata.builder() + .createdAt("2016-06-08T16:41:28Z") + .id( + "9feb9667-9249-44b7-9e4e-92157a2aaefb") + .updatedAt("2016-06-08T16:41:26Z") + .url( + "/v2/route_mappings/9feb9667-9249-44b7-9e4e-92157a2aaefb") + .build()) + .entity( + RouteMappingEntity.builder() + .applicationId( + "bf65b03d-5416-4603-9de2-ef74491d29b6") + .applicationUrl( + "/v2/apps/bf65b03d-5416-4603-9de2-ef74491d29b6") + .routeId( + "521c375d-a7e2-4f87-9527-7fd1db1b2010") + .routeUrl( + "/v2/routes/521c375d-a7e2-4f87-9527-7fd1db1b2010") + .build()) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void removeApplication() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(DELETE).path("/routes/test-route-id/apps/test-app-id") - .build()) - .response(TestResponse.builder() - .status(NO_CONTENT) - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(DELETE) + .path("/routes/test-route-id/apps/test-app-id") + .build()) + .response(TestResponse.builder().status(NO_CONTENT).build()) + .build()); this.routes - .removeApplication(RemoveRouteApplicationRequest.builder() - .applicationId("test-app-id") - .routeId("test-route-id") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .removeApplication( + RemoveRouteApplicationRequest.builder() + .applicationId("test-app-id") + .routeId("test-route-id") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void update() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(PUT).path("/routes/test-route-id") - .payload("fixtures/client/v2/routes/PUT_{id}_request.json") - .build()) - .response(TestResponse.builder() - .status(CREATED) - .payload("fixtures/client/v2/routes/PUT_{id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(PUT) + .path("/routes/test-route-id") + .payload("fixtures/client/v2/routes/PUT_{id}_request.json") + .build()) + .response( + TestResponse.builder() + .status(CREATED) + .payload("fixtures/client/v2/routes/PUT_{id}_response.json") + .build()) + .build()); this.routes - .update(UpdateRouteRequest.builder() - .routeId("test-route-id") - .port(10000) - .build()) - .as(StepVerifier::create) - .expectNext(UpdateRouteResponse.builder() - .metadata(Metadata.builder() - .id("fc72a0ae-374b-4f06-b96d-38a3864ee91b") - .url("/v2/routes/fc72a0ae-374b-4f06-b96d-38a3864ee91b") - .createdAt("2016-03-17T21:41:19Z") - .updatedAt("2016-03-17T21:41:19Z") - .build()) - .entity(RouteEntity.builder() - .host("host-23") - .path("") - .domainId("6077a91b-66f9-4c52-be1f-f7b4b17a8c0d") - .spaceId("afed22fe-2b38-4976-9a7d-b81356c82531") - .port(10000) - .domainUrl("/v2/domains/6077a91b-66f9-4c52-be1f-f7b4b17a8c0d") - .spaceUrl("/v2/spaces/afed22fe-2b38-4976-9a7d-b81356c82531") - .applicationsUrl("/v2/routes/fc72a0ae-374b-4f06-b96d-38a3864ee91b/apps") - .routeMappingsUrl("/v2/routes/fc72a0ae-374b-4f06-b96d-38a3864ee91b/route_mappings") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .update(UpdateRouteRequest.builder().routeId("test-route-id").port(10000).build()) + .as(StepVerifier::create) + .expectNext( + UpdateRouteResponse.builder() + .metadata( + Metadata.builder() + .id("fc72a0ae-374b-4f06-b96d-38a3864ee91b") + .url( + "/v2/routes/fc72a0ae-374b-4f06-b96d-38a3864ee91b") + .createdAt("2016-03-17T21:41:19Z") + .updatedAt("2016-03-17T21:41:19Z") + .build()) + .entity( + RouteEntity.builder() + .host("host-23") + .path("") + .domainId("6077a91b-66f9-4c52-be1f-f7b4b17a8c0d") + .spaceId("afed22fe-2b38-4976-9a7d-b81356c82531") + .port(10000) + .domainUrl( + "/v2/domains/6077a91b-66f9-4c52-be1f-f7b4b17a8c0d") + .spaceUrl( + "/v2/spaces/afed22fe-2b38-4976-9a7d-b81356c82531") + .applicationsUrl( + "/v2/routes/fc72a0ae-374b-4f06-b96d-38a3864ee91b/apps") + .routeMappingsUrl( + "/v2/routes/fc72a0ae-374b-4f06-b96d-38a3864ee91b/route_mappings") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } - } diff --git a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/securitygroups/ReactorSecurityGroupsTest.java b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/securitygroups/ReactorSecurityGroupsTest.java index 9161ad28f4..e35ba36322 100644 --- a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/securitygroups/ReactorSecurityGroupsTest.java +++ b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/securitygroups/ReactorSecurityGroupsTest.java @@ -16,6 +16,20 @@ package org.cloudfoundry.reactor.client.v2.securitygroups; +import static io.netty.handler.codec.http.HttpMethod.DELETE; +import static io.netty.handler.codec.http.HttpMethod.GET; +import static io.netty.handler.codec.http.HttpMethod.POST; +import static io.netty.handler.codec.http.HttpMethod.PUT; +import static io.netty.handler.codec.http.HttpResponseStatus.ACCEPTED; +import static io.netty.handler.codec.http.HttpResponseStatus.NO_CONTENT; +import static io.netty.handler.codec.http.HttpResponseStatus.OK; +import static org.cloudfoundry.client.v2.securitygroups.Protocol.ALL; +import static org.cloudfoundry.client.v2.securitygroups.Protocol.ICMP; +import static org.cloudfoundry.client.v2.securitygroups.Protocol.TCP; +import static org.cloudfoundry.client.v2.securitygroups.Protocol.UDP; + +import java.time.Duration; +import java.util.Collections; import org.cloudfoundry.client.v2.Metadata; import org.cloudfoundry.client.v2.jobs.JobEntity; import org.cloudfoundry.client.v2.securitygroups.AssociateSecurityGroupSpaceRequest; @@ -55,644 +69,814 @@ import org.junit.Test; import reactor.test.StepVerifier; -import java.time.Duration; -import java.util.Collections; - -import static io.netty.handler.codec.http.HttpMethod.DELETE; -import static io.netty.handler.codec.http.HttpMethod.GET; -import static io.netty.handler.codec.http.HttpMethod.POST; -import static io.netty.handler.codec.http.HttpMethod.PUT; -import static io.netty.handler.codec.http.HttpResponseStatus.ACCEPTED; -import static io.netty.handler.codec.http.HttpResponseStatus.NO_CONTENT; -import static io.netty.handler.codec.http.HttpResponseStatus.OK; -import static org.cloudfoundry.client.v2.securitygroups.Protocol.ALL; -import static org.cloudfoundry.client.v2.securitygroups.Protocol.ICMP; -import static org.cloudfoundry.client.v2.securitygroups.Protocol.TCP; -import static org.cloudfoundry.client.v2.securitygroups.Protocol.UDP; - public final class ReactorSecurityGroupsTest extends AbstractClientApiTest { - private final ReactorSecurityGroups securityGroups = new ReactorSecurityGroups(CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); + private final ReactorSecurityGroups securityGroups = + new ReactorSecurityGroups( + CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); @Test public void associateSpace() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(PUT).path("/security_groups/1452e164-0c3e-4a6c-b3c3-c40ad9fd0159/spaces/1305ec2b-a31c-4d2e-adc8-d9b764237e96") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/security_groups/PUT_{id}_spaces_{space-id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(PUT) + .path( + "/security_groups/1452e164-0c3e-4a6c-b3c3-c40ad9fd0159/spaces/1305ec2b-a31c-4d2e-adc8-d9b764237e96") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/security_groups/PUT_{id}_spaces_{space-id}_response.json") + .build()) + .build()); this.securityGroups - .associateSpace(AssociateSecurityGroupSpaceRequest.builder() - .securityGroupId("1452e164-0c3e-4a6c-b3c3-c40ad9fd0159") - .spaceId("1305ec2b-a31c-4d2e-adc8-d9b764237e96") - .build()) - .as(StepVerifier::create) - .expectNext(AssociateSecurityGroupSpaceResponse.builder() - .metadata(Metadata.builder() - .createdAt("2016-06-08T16:41:21Z") - .id("1452e164-0c3e-4a6c-b3c3-c40ad9fd0159") - .updatedAt("2016-06-08T16:41:26Z") - .url("/v2/security_groups/1452e164-0c3e-4a6c-b3c3-c40ad9fd0159") - .build()) - .entity(SecurityGroupEntity.builder() - .name("dummy1") - .rules() - .runningDefault(false) - .stagingDefault(false) - .spacesUrl("/v2/security_groups/1452e164-0c3e-4a6c-b3c3-c40ad9fd0159/spaces") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .associateSpace( + AssociateSecurityGroupSpaceRequest.builder() + .securityGroupId("1452e164-0c3e-4a6c-b3c3-c40ad9fd0159") + .spaceId("1305ec2b-a31c-4d2e-adc8-d9b764237e96") + .build()) + .as(StepVerifier::create) + .expectNext( + AssociateSecurityGroupSpaceResponse.builder() + .metadata( + Metadata.builder() + .createdAt("2016-06-08T16:41:21Z") + .id("1452e164-0c3e-4a6c-b3c3-c40ad9fd0159") + .updatedAt("2016-06-08T16:41:26Z") + .url( + "/v2/security_groups/1452e164-0c3e-4a6c-b3c3-c40ad9fd0159") + .build()) + .entity( + SecurityGroupEntity.builder() + .name("dummy1") + .rules() + .runningDefault(false) + .stagingDefault(false) + .spacesUrl( + "/v2/security_groups/1452e164-0c3e-4a6c-b3c3-c40ad9fd0159/spaces") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void create() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(POST).path("/security_groups") - .payload("fixtures/client/v2/security_groups/POST_request.json") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/security_groups/POST_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(POST) + .path("/security_groups") + .payload( + "fixtures/client/v2/security_groups/POST_request.json") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/security_groups/POST_response.json") + .build()) + .build()); this.securityGroups - .create(CreateSecurityGroupRequest.builder() - .name("my_super_sec_group") - .rule(RuleEntity.builder() - .protocol(ICMP) - .destination("0.0.0.0/0") - .type(0) - .code(1) - .build()) - .rule(RuleEntity.builder() - .protocol(TCP) - .destination("0.0.0.0/0") - .ports("2048-3000") - .log(true) - .build()) - .rule(RuleEntity.builder() - .protocol(UDP) - .destination("0.0.0.0/0") - .ports("53, 5353") - .build()) - .rule(RuleEntity.builder() - .protocol(ALL) - .destination("0.0.0.0/0") - .build()) - .build()) - .as(StepVerifier::create) - .expectNext(CreateSecurityGroupResponse.builder() - .metadata(Metadata.builder() - .createdAt("2016-05-12T00:45:26Z") - .id("966e7ac0-1c1a-4ca9-8a5f-77c96576beb7") - .url("/v2/security_groups/966e7ac0-1c1a-4ca9-8a5f-77c96576beb7") - .build()) - .entity(SecurityGroupEntity.builder() - .name("my_super_sec_group") - .rule(RuleEntity.builder() - .protocol(ICMP) - .destination("0.0.0.0/0") - .type(0) - .code(1) - .build()) - .rule(RuleEntity.builder() - .protocol(TCP) - .destination("0.0.0.0/0") - .ports("2048-3000") - .log(true) - .build()) - .rule(RuleEntity.builder() - .protocol(UDP) - .destination("0.0.0.0/0") - .ports("53, 5353") - .build()) - .rule(RuleEntity.builder() - .protocol(ALL) - .destination("0.0.0.0/0") - .build()) - .runningDefault(false) - .stagingDefault(false) - .spacesUrl("/v2/security_groups/966e7ac0-1c1a-4ca9-8a5f-77c96576beb7/spaces") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .create( + CreateSecurityGroupRequest.builder() + .name("my_super_sec_group") + .rule( + RuleEntity.builder() + .protocol(ICMP) + .destination("0.0.0.0/0") + .type(0) + .code(1) + .build()) + .rule( + RuleEntity.builder() + .protocol(TCP) + .destination("0.0.0.0/0") + .ports("2048-3000") + .log(true) + .build()) + .rule( + RuleEntity.builder() + .protocol(UDP) + .destination("0.0.0.0/0") + .ports("53, 5353") + .build()) + .rule( + RuleEntity.builder() + .protocol(ALL) + .destination("0.0.0.0/0") + .build()) + .build()) + .as(StepVerifier::create) + .expectNext( + CreateSecurityGroupResponse.builder() + .metadata( + Metadata.builder() + .createdAt("2016-05-12T00:45:26Z") + .id("966e7ac0-1c1a-4ca9-8a5f-77c96576beb7") + .url( + "/v2/security_groups/966e7ac0-1c1a-4ca9-8a5f-77c96576beb7") + .build()) + .entity( + SecurityGroupEntity.builder() + .name("my_super_sec_group") + .rule( + RuleEntity.builder() + .protocol(ICMP) + .destination("0.0.0.0/0") + .type(0) + .code(1) + .build()) + .rule( + RuleEntity.builder() + .protocol(TCP) + .destination("0.0.0.0/0") + .ports("2048-3000") + .log(true) + .build()) + .rule( + RuleEntity.builder() + .protocol(UDP) + .destination("0.0.0.0/0") + .ports("53, 5353") + .build()) + .rule( + RuleEntity.builder() + .protocol(ALL) + .destination("0.0.0.0/0") + .build()) + .runningDefault(false) + .stagingDefault(false) + .spacesUrl( + "/v2/security_groups/966e7ac0-1c1a-4ca9-8a5f-77c96576beb7/spaces") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void delete() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(DELETE).path("/security_groups/test-id") - .build()) - .response(TestResponse.builder() - .status(NO_CONTENT) - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(DELETE) + .path("/security_groups/test-id") + .build()) + .response(TestResponse.builder().status(NO_CONTENT).build()) + .build()); this.securityGroups - .delete(DeleteSecurityGroupRequest.builder() - .securityGroupId("test-id") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .delete(DeleteSecurityGroupRequest.builder().securityGroupId("test-id").build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void deleteAsync() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(DELETE).path("/security_groups/test-id?async=true") - .build()) - .response(TestResponse.builder() - .status(ACCEPTED) - .payload("fixtures/client/v2/security_groups/DELETE_{id}_async_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(DELETE) + .path("/security_groups/test-id?async=true") + .build()) + .response( + TestResponse.builder() + .status(ACCEPTED) + .payload( + "fixtures/client/v2/security_groups/DELETE_{id}_async_response.json") + .build()) + .build()); this.securityGroups - .delete(DeleteSecurityGroupRequest.builder() - .async(true) - .securityGroupId("test-id") - .build()) - .as(StepVerifier::create) - .expectNext(DeleteSecurityGroupResponse.builder() - .metadata(Metadata.builder() - .id("260ba675-47b6-4094-be7a-349d58e3d36a") - .createdAt("2016-02-02T17:16:31Z") - .url("/v2/jobs/260ba675-47b6-4094-be7a-349d58e3d36a") - .build()) - .entity(JobEntity.builder() - .id("260ba675-47b6-4094-be7a-349d58e3d36a") - .status("queued") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .delete( + DeleteSecurityGroupRequest.builder() + .async(true) + .securityGroupId("test-id") + .build()) + .as(StepVerifier::create) + .expectNext( + DeleteSecurityGroupResponse.builder() + .metadata( + Metadata.builder() + .id("260ba675-47b6-4094-be7a-349d58e3d36a") + .createdAt("2016-02-02T17:16:31Z") + .url( + "/v2/jobs/260ba675-47b6-4094-be7a-349d58e3d36a") + .build()) + .entity( + JobEntity.builder() + .id("260ba675-47b6-4094-be7a-349d58e3d36a") + .status("queued") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void deleteRunning() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(DELETE).path("/config/running_security_groups/test-id") - .build()) - .response(TestResponse.builder() - .status(NO_CONTENT) - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(DELETE) + .path("/config/running_security_groups/test-id") + .build()) + .response(TestResponse.builder().status(NO_CONTENT).build()) + .build()); this.securityGroups - .removeRunningDefault(RemoveSecurityGroupRunningDefaultRequest.builder() - .securityGroupId("test-id") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .removeRunningDefault( + RemoveSecurityGroupRunningDefaultRequest.builder() + .securityGroupId("test-id") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void deleteStaging() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(DELETE).path("/config/staging_security_groups/test-id") - .build()) - .response(TestResponse.builder() - .status(NO_CONTENT) - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(DELETE) + .path("/config/staging_security_groups/test-id") + .build()) + .response(TestResponse.builder().status(NO_CONTENT).build()) + .build()); this.securityGroups - .removeStagingDefault(RemoveSecurityGroupStagingDefaultRequest.builder() - .securityGroupId("test-id") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .removeStagingDefault( + RemoveSecurityGroupStagingDefaultRequest.builder() + .securityGroupId("test-id") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void get() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/security_groups/1452e164-0c3e-4a6c-b3c3-c40ad9fd0159") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/security_groups/GET_{id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path( + "/security_groups/1452e164-0c3e-4a6c-b3c3-c40ad9fd0159") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/security_groups/GET_{id}_response.json") + .build()) + .build()); this.securityGroups - .get(GetSecurityGroupRequest.builder() - .securityGroupId("1452e164-0c3e-4a6c-b3c3-c40ad9fd0159") - .build()) - .as(StepVerifier::create) - .expectNext(GetSecurityGroupResponse.builder() - .metadata(Metadata.builder() - .createdAt("2016-06-08T16:41:21Z") - .id("1452e164-0c3e-4a6c-b3c3-c40ad9fd0159") - .updatedAt("2016-06-08T16:41:26Z") - .url("/v2/security_groups/1452e164-0c3e-4a6c-b3c3-c40ad9fd0159") - .build()) - .entity(SecurityGroupEntity.builder() - .name("dummy1") - .rules() - .runningDefault(false) - .stagingDefault(false) - .spacesUrl("/v2/security_groups/1452e164-0c3e-4a6c-b3c3-c40ad9fd0159/spaces") - .stagingSpacesUrl("/v2/security_groups/1452e164-0c3e-4a6c-b3c3-c40ad9fd0159/staging_spaces") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .get( + GetSecurityGroupRequest.builder() + .securityGroupId("1452e164-0c3e-4a6c-b3c3-c40ad9fd0159") + .build()) + .as(StepVerifier::create) + .expectNext( + GetSecurityGroupResponse.builder() + .metadata( + Metadata.builder() + .createdAt("2016-06-08T16:41:21Z") + .id("1452e164-0c3e-4a6c-b3c3-c40ad9fd0159") + .updatedAt("2016-06-08T16:41:26Z") + .url( + "/v2/security_groups/1452e164-0c3e-4a6c-b3c3-c40ad9fd0159") + .build()) + .entity( + SecurityGroupEntity.builder() + .name("dummy1") + .rules() + .runningDefault(false) + .stagingDefault(false) + .spacesUrl( + "/v2/security_groups/1452e164-0c3e-4a6c-b3c3-c40ad9fd0159/spaces") + .stagingSpacesUrl( + "/v2/security_groups/1452e164-0c3e-4a6c-b3c3-c40ad9fd0159/staging_spaces") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void list() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/security_groups") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/security_groups/GET_security_groups_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request(TestRequest.builder().method(GET).path("/security_groups").build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/security_groups/GET_security_groups_response.json") + .build()) + .build()); this.securityGroups - .list(ListSecurityGroupsRequest.builder() - .build()) - .as(StepVerifier::create) - .expectNext(ListSecurityGroupsResponse.builder() - .totalResults(5) - .totalPages(1) - .resource(SecurityGroupResource.builder() - .metadata(Metadata.builder() - .id("1452e164-0c3e-4a6c-b3c3-c40ad9fd0159") - .url("/v2/security_groups/1452e164-0c3e-4a6c-b3c3-c40ad9fd0159") - .createdAt("2016-06-08T16:41:21Z") - .build()) - .entity(SecurityGroupEntity.builder() - .name("dummy1") - .rules() - .runningDefault(false) - .stagingDefault(false) - .spacesUrl("/v2/security_groups/1452e164-0c3e-4a6c-b3c3-c40ad9fd0159/spaces") - .build()) - .build()) - .resource(SecurityGroupResource.builder() - .metadata(Metadata.builder() - .id("61a3df25-f372-4554-9b77-811aaa5374c1") - .url("/v2/security_groups/61a3df25-f372-4554-9b77-811aaa5374c1") - .createdAt("2016-06-08T16:41:21Z") - .build()) - .entity(SecurityGroupEntity.builder() - .name("dummy2") - .rules() - .runningDefault(false) - .stagingDefault(false) - .spacesUrl("/v2/security_groups/61a3df25-f372-4554-9b77-811aaa5374c1/spaces") - .build()) - .build()) - .resource(SecurityGroupResource.builder() - .metadata(Metadata.builder() - .id("26bdad19-b077-4542-aac0-f7e4c53c344d") - .url("/v2/security_groups/26bdad19-b077-4542-aac0-f7e4c53c344d") - .createdAt("2016-06-08T16:41:22Z") - .build()) - .entity(SecurityGroupEntity.builder() - .name("name-67") - .rule(RuleEntity.builder() - .protocol(UDP) - .ports("8080") - .destination("198.41.191.47/1") - .build()) - .runningDefault(false) - .stagingDefault(false) - .spacesUrl("/v2/security_groups/26bdad19-b077-4542-aac0-f7e4c53c344d/spaces") - .build()) - .build()) - .resource(SecurityGroupResource.builder() - .metadata(Metadata.builder() - .id("0a2b8908-66f5-4bef-80f3-ca21ed86fbb3") - .url("/v2/security_groups/0a2b8908-66f5-4bef-80f3-ca21ed86fbb3") - .createdAt("2016-06-08T16:41:22Z") - .build()) - .entity(SecurityGroupEntity.builder() - .name("name-68") - .rule(RuleEntity.builder() - .protocol(UDP) - .ports("8080") - .destination("198.41.191.47/1") - .build()) - .runningDefault(false) - .stagingDefault(false) - .spacesUrl("/v2/security_groups/0a2b8908-66f5-4bef-80f3-ca21ed86fbb3/spaces") - .build()) - .build()) - .resource(SecurityGroupResource.builder() - .metadata(Metadata.builder() - .id("f5b93b76-cd25-4fed-bed6-0d9d0acff542") - .url("/v2/security_groups/f5b93b76-cd25-4fed-bed6-0d9d0acff542") - .createdAt("2016-06-08T16:41:22Z") - .build()) - .entity(SecurityGroupEntity.builder() - .name("name-69") - .rule(RuleEntity.builder() - .protocol(UDP) - .ports("8080") - .destination("198.41.191.47/1") - .build()) - .runningDefault(false) - .stagingDefault(false) - .spacesUrl("/v2/security_groups/f5b93b76-cd25-4fed-bed6-0d9d0acff542/spaces") - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .list(ListSecurityGroupsRequest.builder().build()) + .as(StepVerifier::create) + .expectNext( + ListSecurityGroupsResponse.builder() + .totalResults(5) + .totalPages(1) + .resource( + SecurityGroupResource.builder() + .metadata( + Metadata.builder() + .id( + "1452e164-0c3e-4a6c-b3c3-c40ad9fd0159") + .url( + "/v2/security_groups/1452e164-0c3e-4a6c-b3c3-c40ad9fd0159") + .createdAt("2016-06-08T16:41:21Z") + .build()) + .entity( + SecurityGroupEntity.builder() + .name("dummy1") + .rules() + .runningDefault(false) + .stagingDefault(false) + .spacesUrl( + "/v2/security_groups/1452e164-0c3e-4a6c-b3c3-c40ad9fd0159/spaces") + .build()) + .build()) + .resource( + SecurityGroupResource.builder() + .metadata( + Metadata.builder() + .id( + "61a3df25-f372-4554-9b77-811aaa5374c1") + .url( + "/v2/security_groups/61a3df25-f372-4554-9b77-811aaa5374c1") + .createdAt("2016-06-08T16:41:21Z") + .build()) + .entity( + SecurityGroupEntity.builder() + .name("dummy2") + .rules() + .runningDefault(false) + .stagingDefault(false) + .spacesUrl( + "/v2/security_groups/61a3df25-f372-4554-9b77-811aaa5374c1/spaces") + .build()) + .build()) + .resource( + SecurityGroupResource.builder() + .metadata( + Metadata.builder() + .id( + "26bdad19-b077-4542-aac0-f7e4c53c344d") + .url( + "/v2/security_groups/26bdad19-b077-4542-aac0-f7e4c53c344d") + .createdAt("2016-06-08T16:41:22Z") + .build()) + .entity( + SecurityGroupEntity.builder() + .name("name-67") + .rule( + RuleEntity.builder() + .protocol(UDP) + .ports("8080") + .destination( + "198.41.191.47/1") + .build()) + .runningDefault(false) + .stagingDefault(false) + .spacesUrl( + "/v2/security_groups/26bdad19-b077-4542-aac0-f7e4c53c344d/spaces") + .build()) + .build()) + .resource( + SecurityGroupResource.builder() + .metadata( + Metadata.builder() + .id( + "0a2b8908-66f5-4bef-80f3-ca21ed86fbb3") + .url( + "/v2/security_groups/0a2b8908-66f5-4bef-80f3-ca21ed86fbb3") + .createdAt("2016-06-08T16:41:22Z") + .build()) + .entity( + SecurityGroupEntity.builder() + .name("name-68") + .rule( + RuleEntity.builder() + .protocol(UDP) + .ports("8080") + .destination( + "198.41.191.47/1") + .build()) + .runningDefault(false) + .stagingDefault(false) + .spacesUrl( + "/v2/security_groups/0a2b8908-66f5-4bef-80f3-ca21ed86fbb3/spaces") + .build()) + .build()) + .resource( + SecurityGroupResource.builder() + .metadata( + Metadata.builder() + .id( + "f5b93b76-cd25-4fed-bed6-0d9d0acff542") + .url( + "/v2/security_groups/f5b93b76-cd25-4fed-bed6-0d9d0acff542") + .createdAt("2016-06-08T16:41:22Z") + .build()) + .entity( + SecurityGroupEntity.builder() + .name("name-69") + .rule( + RuleEntity.builder() + .protocol(UDP) + .ports("8080") + .destination( + "198.41.191.47/1") + .build()) + .runningDefault(false) + .stagingDefault(false) + .spacesUrl( + "/v2/security_groups/f5b93b76-cd25-4fed-bed6-0d9d0acff542/spaces") + .build()) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void listRunning() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/config/running_security_groups") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/config/GET_running_security_groups_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/config/running_security_groups") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/config/GET_running_security_groups_response.json") + .build()) + .build()); this.securityGroups - .listRunningDefaults(ListSecurityGroupRunningDefaultsRequest.builder() - .build()) - .as(StepVerifier::create) - .expectNext(ListSecurityGroupRunningDefaultsResponse.builder() - .totalPages(1) - .totalResults(1) - .resource(SecurityGroupResource.builder() - .metadata(Metadata.builder() - .createdAt("2016-04-06T00:17:17Z") - .id("1f2f24f8-f68c-4a3b-b51a-8134fe2626d8") - .url("/v2/config/running_security_groups/1f2f24f8-f68c-4a3b-b51a-8134fe2626d8") - .build()) - .entity(SecurityGroupEntity.builder() - .name("name-114") - .rule(RuleEntity.builder() - .destination("198.41.191.47/1") - .ports("8080") - .protocol(UDP) - .build()) - .runningDefault(true) - .stagingDefault(false) - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .listRunningDefaults(ListSecurityGroupRunningDefaultsRequest.builder().build()) + .as(StepVerifier::create) + .expectNext( + ListSecurityGroupRunningDefaultsResponse.builder() + .totalPages(1) + .totalResults(1) + .resource( + SecurityGroupResource.builder() + .metadata( + Metadata.builder() + .createdAt("2016-04-06T00:17:17Z") + .id( + "1f2f24f8-f68c-4a3b-b51a-8134fe2626d8") + .url( + "/v2/config/running_security_groups/1f2f24f8-f68c-4a3b-b51a-8134fe2626d8") + .build()) + .entity( + SecurityGroupEntity.builder() + .name("name-114") + .rule( + RuleEntity.builder() + .destination( + "198.41.191.47/1") + .ports("8080") + .protocol(UDP) + .build()) + .runningDefault(true) + .stagingDefault(false) + .build()) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void listSpaces() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/security_groups/1452e164-0c3e-4a6c-b3c3-c40ad9fd0159/spaces?space_guid=09a060b2-f97a-4a57-b7d2-35e06ad71050") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/config/GET_{id}_spaces_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path( + "/security_groups/1452e164-0c3e-4a6c-b3c3-c40ad9fd0159/spaces?space_guid=09a060b2-f97a-4a57-b7d2-35e06ad71050") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/config/GET_{id}_spaces_response.json") + .build()) + .build()); this.securityGroups - .listSpaces(ListSecurityGroupSpacesRequest.builder() - .securityGroupId("1452e164-0c3e-4a6c-b3c3-c40ad9fd0159") - .spaceId("09a060b2-f97a-4a57-b7d2-35e06ad71050") - .build()) - .as(StepVerifier::create) - .expectNext(ListSecurityGroupSpacesResponse.builder() - .totalPages(1) - .totalResults(1) - .resource(SpaceResource.builder() - .metadata(Metadata.builder() - .createdAt("2016-06-08T16:41:21Z") - .id("3435dd59-f289-4191-83e6-6201d6fb6a22") - .updatedAt("2016-06-08T16:41:26Z") - .url("/v2/spaces/3435dd59-f289-4191-83e6-6201d6fb6a22") - .build()) - .entity(SpaceEntity.builder() - .allowSsh(true) - .applicationEventsUrl("/v2/spaces/3435dd59-f289-4191-83e6-6201d6fb6a22/app_events") - .applicationsUrl("/v2/spaces/3435dd59-f289-4191-83e6-6201d6fb6a22/apps") - .auditorsUrl("/v2/spaces/3435dd59-f289-4191-83e6-6201d6fb6a22/auditors") - .developersUrl("/v2/spaces/3435dd59-f289-4191-83e6-6201d6fb6a22/developers") - .domainsUrl("/v2/spaces/3435dd59-f289-4191-83e6-6201d6fb6a22/domains") - .eventsUrl("/v2/spaces/3435dd59-f289-4191-83e6-6201d6fb6a22/events") - .managersUrl("/v2/spaces/3435dd59-f289-4191-83e6-6201d6fb6a22/managers") - .name("name-40") - .organizationId("1d1dd3f4-36bd-4380-8d01-3c7a934a9281") - .organizationUrl("/v2/organizations/1d1dd3f4-36bd-4380-8d01-3c7a934a9281") - .routesUrl("/v2/spaces/3435dd59-f289-4191-83e6-6201d6fb6a22/routes") - .securityGroupsUrl("/v2/spaces/3435dd59-f289-4191-83e6-6201d6fb6a22/security_groups") - .serviceInstancesUrl("/v2/spaces/3435dd59-f289-4191-83e6-6201d6fb6a22/service_instances") - .spaceQuotaDefinitionId(null) - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .listSpaces( + ListSecurityGroupSpacesRequest.builder() + .securityGroupId("1452e164-0c3e-4a6c-b3c3-c40ad9fd0159") + .spaceId("09a060b2-f97a-4a57-b7d2-35e06ad71050") + .build()) + .as(StepVerifier::create) + .expectNext( + ListSecurityGroupSpacesResponse.builder() + .totalPages(1) + .totalResults(1) + .resource( + SpaceResource.builder() + .metadata( + Metadata.builder() + .createdAt("2016-06-08T16:41:21Z") + .id( + "3435dd59-f289-4191-83e6-6201d6fb6a22") + .updatedAt("2016-06-08T16:41:26Z") + .url( + "/v2/spaces/3435dd59-f289-4191-83e6-6201d6fb6a22") + .build()) + .entity( + SpaceEntity.builder() + .allowSsh(true) + .applicationEventsUrl( + "/v2/spaces/3435dd59-f289-4191-83e6-6201d6fb6a22/app_events") + .applicationsUrl( + "/v2/spaces/3435dd59-f289-4191-83e6-6201d6fb6a22/apps") + .auditorsUrl( + "/v2/spaces/3435dd59-f289-4191-83e6-6201d6fb6a22/auditors") + .developersUrl( + "/v2/spaces/3435dd59-f289-4191-83e6-6201d6fb6a22/developers") + .domainsUrl( + "/v2/spaces/3435dd59-f289-4191-83e6-6201d6fb6a22/domains") + .eventsUrl( + "/v2/spaces/3435dd59-f289-4191-83e6-6201d6fb6a22/events") + .managersUrl( + "/v2/spaces/3435dd59-f289-4191-83e6-6201d6fb6a22/managers") + .name("name-40") + .organizationId( + "1d1dd3f4-36bd-4380-8d01-3c7a934a9281") + .organizationUrl( + "/v2/organizations/1d1dd3f4-36bd-4380-8d01-3c7a934a9281") + .routesUrl( + "/v2/spaces/3435dd59-f289-4191-83e6-6201d6fb6a22/routes") + .securityGroupsUrl( + "/v2/spaces/3435dd59-f289-4191-83e6-6201d6fb6a22/security_groups") + .serviceInstancesUrl( + "/v2/spaces/3435dd59-f289-4191-83e6-6201d6fb6a22/service_instances") + .spaceQuotaDefinitionId(null) + .build()) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void listStaging() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/config/staging_security_groups") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/config/GET_staging_security_groups_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/config/staging_security_groups") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/config/GET_staging_security_groups_response.json") + .build()) + .build()); this.securityGroups - .listStagingDefaults(ListSecurityGroupStagingDefaultsRequest.builder() - .build()) - .as(StepVerifier::create) - .expectNext(ListSecurityGroupStagingDefaultsResponse.builder() - .totalPages(1) - .totalResults(1) - .resource(SecurityGroupResource.builder() - .metadata(Metadata.builder() - .createdAt("2016-04-16T01:23:52Z") - .id("c0bb3afb-ae01-4af0-96cf-a5b0d2dca894") - .url("/v2/config/staging_security_groups/c0bb3afb-ae01-4af0-96cf-a5b0d2dca894") - .build()) - .entity(SecurityGroupEntity.builder() - .name("name-570") - .rule(RuleEntity.builder() - .destination("198.41.191.47/1") - .ports("8080") - .protocol(UDP) - .build()) - .runningDefault(false) - .stagingDefault(true) - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .listStagingDefaults(ListSecurityGroupStagingDefaultsRequest.builder().build()) + .as(StepVerifier::create) + .expectNext( + ListSecurityGroupStagingDefaultsResponse.builder() + .totalPages(1) + .totalResults(1) + .resource( + SecurityGroupResource.builder() + .metadata( + Metadata.builder() + .createdAt("2016-04-16T01:23:52Z") + .id( + "c0bb3afb-ae01-4af0-96cf-a5b0d2dca894") + .url( + "/v2/config/staging_security_groups/c0bb3afb-ae01-4af0-96cf-a5b0d2dca894") + .build()) + .entity( + SecurityGroupEntity.builder() + .name("name-570") + .rule( + RuleEntity.builder() + .destination( + "198.41.191.47/1") + .ports("8080") + .protocol(UDP) + .build()) + .runningDefault(false) + .stagingDefault(true) + .build()) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void removeSpace() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(DELETE).path("/security_groups/1452e164-0c3e-4a6c-b3c3-c40ad9fd0159/spaces/ca8f04d1-bc2b-40ef-975e-fda2cc785c2a") - .build()) - .response(TestResponse.builder() - .status(NO_CONTENT) - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(DELETE) + .path( + "/security_groups/1452e164-0c3e-4a6c-b3c3-c40ad9fd0159/spaces/ca8f04d1-bc2b-40ef-975e-fda2cc785c2a") + .build()) + .response(TestResponse.builder().status(NO_CONTENT).build()) + .build()); this.securityGroups - .removeSpace(RemoveSecurityGroupSpaceRequest.builder() - .securityGroupId("1452e164-0c3e-4a6c-b3c3-c40ad9fd0159") - .spaceId("ca8f04d1-bc2b-40ef-975e-fda2cc785c2a") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .removeSpace( + RemoveSecurityGroupSpaceRequest.builder() + .securityGroupId("1452e164-0c3e-4a6c-b3c3-c40ad9fd0159") + .spaceId("ca8f04d1-bc2b-40ef-975e-fda2cc785c2a") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void setRunning() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(PUT).path("/config/running_security_groups/test-security-group-default-id") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/config/PUT_{id}_running_security_groups_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(PUT) + .path( + "/config/running_security_groups/test-security-group-default-id") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/config/PUT_{id}_running_security_groups_response.json") + .build()) + .build()); this.securityGroups - .setRunningDefault(SetSecurityGroupRunningDefaultRequest.builder() - .securityGroupId("test-security-group-default-id") - .build()) - .as(StepVerifier::create) - .expectNext(SetSecurityGroupRunningDefaultResponse.builder() - .metadata(Metadata.builder() - .createdAt("2016-04-06T00:17:17Z") - .id("9aa7ab9c-997f-4f87-be50-87105521881a") - .url("/v2/config/running_security_groups/9aa7ab9c-997f-4f87-be50-87105521881a") - .updatedAt("2016-04-06T00:17:17Z") - .build()) - .entity(SecurityGroupEntity.builder() - .name("name-109") - .rule(RuleEntity.builder() - .destination("198.41.191.47/1") - .ports("8080") - .protocol(UDP) - .build()) - .runningDefault(true) - .stagingDefault(false) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .setRunningDefault( + SetSecurityGroupRunningDefaultRequest.builder() + .securityGroupId("test-security-group-default-id") + .build()) + .as(StepVerifier::create) + .expectNext( + SetSecurityGroupRunningDefaultResponse.builder() + .metadata( + Metadata.builder() + .createdAt("2016-04-06T00:17:17Z") + .id("9aa7ab9c-997f-4f87-be50-87105521881a") + .url( + "/v2/config/running_security_groups/9aa7ab9c-997f-4f87-be50-87105521881a") + .updatedAt("2016-04-06T00:17:17Z") + .build()) + .entity( + SecurityGroupEntity.builder() + .name("name-109") + .rule( + RuleEntity.builder() + .destination("198.41.191.47/1") + .ports("8080") + .protocol(UDP) + .build()) + .runningDefault(true) + .stagingDefault(false) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void setStaging() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(PUT).path("/config/staging_security_groups/test-security-group-default-id") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/config/PUT_{id}_staging_security_groups_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(PUT) + .path( + "/config/staging_security_groups/test-security-group-default-id") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/config/PUT_{id}_staging_security_groups_response.json") + .build()) + .build()); this.securityGroups - .setStagingDefault(SetSecurityGroupStagingDefaultRequest.builder() - .securityGroupId("test-security-group-default-id") - .build()) - .as(StepVerifier::create) - .expectNext(SetSecurityGroupStagingDefaultResponse.builder() - .metadata(Metadata.builder() - .createdAt("2016-04-16T01:23:52Z") - .id("50165fce-6c41-4c35-a4d8-3858ee217d36") - .url("/v2/config/staging_security_groups/50165fce-6c41-4c35-a4d8-3858ee217d36") - .updatedAt("2016-04-16T01:23:52Z") - .build()) - .entity(SecurityGroupEntity.builder() - .name("name-567") - .rule(RuleEntity.builder() - .destination("198.41.191.47/1") - .ports("8080") - .protocol(UDP) - .build()) - .runningDefault(false) - .stagingDefault(true) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .setStagingDefault( + SetSecurityGroupStagingDefaultRequest.builder() + .securityGroupId("test-security-group-default-id") + .build()) + .as(StepVerifier::create) + .expectNext( + SetSecurityGroupStagingDefaultResponse.builder() + .metadata( + Metadata.builder() + .createdAt("2016-04-16T01:23:52Z") + .id("50165fce-6c41-4c35-a4d8-3858ee217d36") + .url( + "/v2/config/staging_security_groups/50165fce-6c41-4c35-a4d8-3858ee217d36") + .updatedAt("2016-04-16T01:23:52Z") + .build()) + .entity( + SecurityGroupEntity.builder() + .name("name-567") + .rule( + RuleEntity.builder() + .destination("198.41.191.47/1") + .ports("8080") + .protocol(UDP) + .build()) + .runningDefault(false) + .stagingDefault(true) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void update() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(PUT).path("/security_groups/1452e164-0c3e-4a6c-b3c3-c40ad9fd0159") - .payload("fixtures/client/v2/security_groups/PUT_{id}_request.json") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/security_groups/PUT_{id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(PUT) + .path( + "/security_groups/1452e164-0c3e-4a6c-b3c3-c40ad9fd0159") + .payload( + "fixtures/client/v2/security_groups/PUT_{id}_request.json") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/security_groups/PUT_{id}_response.json") + .build()) + .build()); this.securityGroups - .update(UpdateSecurityGroupRequest.builder() - .name("new_name") - .rules() - .securityGroupId("1452e164-0c3e-4a6c-b3c3-c40ad9fd0159") - .build()) - .as(StepVerifier::create) - .expectNext(UpdateSecurityGroupResponse.builder() - .metadata(Metadata.builder() - .createdAt("2016-06-08T16:41:21Z") - .id("1452e164-0c3e-4a6c-b3c3-c40ad9fd0159") - .updatedAt("2016-06-08T16:41:21Z") - .url("/v2/security_groups/1452e164-0c3e-4a6c-b3c3-c40ad9fd0159") - .build()) - .entity(SecurityGroupEntity.builder() - .name("new_name") - .rules() - .runningDefault(false) - .stagingDefault(false) - .spacesUrl("/v2/security_groups/1452e164-0c3e-4a6c-b3c3-c40ad9fd0159/spaces") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .update( + UpdateSecurityGroupRequest.builder() + .name("new_name") + .rules() + .securityGroupId("1452e164-0c3e-4a6c-b3c3-c40ad9fd0159") + .build()) + .as(StepVerifier::create) + .expectNext( + UpdateSecurityGroupResponse.builder() + .metadata( + Metadata.builder() + .createdAt("2016-06-08T16:41:21Z") + .id("1452e164-0c3e-4a6c-b3c3-c40ad9fd0159") + .updatedAt("2016-06-08T16:41:21Z") + .url( + "/v2/security_groups/1452e164-0c3e-4a6c-b3c3-c40ad9fd0159") + .build()) + .entity( + SecurityGroupEntity.builder() + .name("new_name") + .rules() + .runningDefault(false) + .stagingDefault(false) + .spacesUrl( + "/v2/security_groups/1452e164-0c3e-4a6c-b3c3-c40ad9fd0159/spaces") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } - } diff --git a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/servicebindings/ReactorServiceBindingsV2Test.java b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/servicebindings/ReactorServiceBindingsV2Test.java index ed90d1136b..385b1a4a40 100644 --- a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/servicebindings/ReactorServiceBindingsV2Test.java +++ b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/servicebindings/ReactorServiceBindingsV2Test.java @@ -16,6 +16,16 @@ package org.cloudfoundry.reactor.client.v2.servicebindings; +import static io.netty.handler.codec.http.HttpMethod.DELETE; +import static io.netty.handler.codec.http.HttpMethod.GET; +import static io.netty.handler.codec.http.HttpMethod.POST; +import static io.netty.handler.codec.http.HttpResponseStatus.ACCEPTED; +import static io.netty.handler.codec.http.HttpResponseStatus.CREATED; +import static io.netty.handler.codec.http.HttpResponseStatus.NO_CONTENT; +import static io.netty.handler.codec.http.HttpResponseStatus.OK; + +import java.time.Duration; +import java.util.Collections; import org.cloudfoundry.client.v2.Metadata; import org.cloudfoundry.client.v2.jobs.JobEntity; import org.cloudfoundry.client.v2.servicebindings.CreateServiceBindingRequest; @@ -38,269 +48,350 @@ import org.junit.Test; import reactor.test.StepVerifier; -import java.time.Duration; -import java.util.Collections; - -import static io.netty.handler.codec.http.HttpMethod.DELETE; -import static io.netty.handler.codec.http.HttpMethod.GET; -import static io.netty.handler.codec.http.HttpMethod.POST; -import static io.netty.handler.codec.http.HttpResponseStatus.ACCEPTED; -import static io.netty.handler.codec.http.HttpResponseStatus.CREATED; -import static io.netty.handler.codec.http.HttpResponseStatus.NO_CONTENT; -import static io.netty.handler.codec.http.HttpResponseStatus.OK; - public final class ReactorServiceBindingsV2Test extends AbstractClientApiTest { - private final ReactorServiceBindingsV2 serviceBindings = new ReactorServiceBindingsV2(CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); + private final ReactorServiceBindingsV2 serviceBindings = + new ReactorServiceBindingsV2( + CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); @Test public void create() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(POST) - .path("/service_bindings") - .payload("fixtures/client/v2/service_bindings/POST_request.json") - .build()) - .response(TestResponse.builder() - .status(CREATED) - .payload("fixtures/client/v2/service_bindings/POST_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(POST) + .path("/service_bindings") + .payload( + "fixtures/client/v2/service_bindings/POST_request.json") + .build()) + .response( + TestResponse.builder() + .status(CREATED) + .payload( + "fixtures/client/v2/service_bindings/POST_response.json") + .build()) + .build()); this.serviceBindings - .create(CreateServiceBindingRequest.builder() - .applicationId("26ddc1de-3eeb-424b-82f3-f7f30a38b610") - .serviceInstanceId("650d0eb7-3b83-414a-82a0-d503d1c8eb5f") - .parameters(Collections.singletonMap("the_service_broker", - (Object) "wants this object")) - .build()) - .as(StepVerifier::create) - .expectNext(CreateServiceBindingResponse.builder() - .metadata(Metadata.builder() - .createdAt("2015-07-27T22:43:20Z") - .id("42eda707-fe4d-4eed-9b39-7cb5e665c226") - .url("/v2/service_bindings/42eda707-fe4d-4eed-9b39-7cb5e665c226") - .build()) - .entity(ServiceBindingEntity.builder() - .applicationId("26ddc1de-3eeb-424b-82f3-f7f30a38b610") - .serviceInstanceId("650d0eb7-3b83-414a-82a0-d503d1c8eb5f") - .bindingOptions(Collections.emptyMap()) - .credential("creds-key-356", "creds-val-356") - .gatewayName("") - .applicationUrl("/v2/apps/26ddc1de-3eeb-424b-82f3-f7f30a38b610") - .serviceInstanceUrl("/v2/service_instances/650d0eb7-3b83-414a-82a0-d503d1c8eb5f") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .create( + CreateServiceBindingRequest.builder() + .applicationId("26ddc1de-3eeb-424b-82f3-f7f30a38b610") + .serviceInstanceId("650d0eb7-3b83-414a-82a0-d503d1c8eb5f") + .parameters( + Collections.singletonMap( + "the_service_broker", (Object) "wants this object")) + .build()) + .as(StepVerifier::create) + .expectNext( + CreateServiceBindingResponse.builder() + .metadata( + Metadata.builder() + .createdAt("2015-07-27T22:43:20Z") + .id("42eda707-fe4d-4eed-9b39-7cb5e665c226") + .url( + "/v2/service_bindings/42eda707-fe4d-4eed-9b39-7cb5e665c226") + .build()) + .entity( + ServiceBindingEntity.builder() + .applicationId( + "26ddc1de-3eeb-424b-82f3-f7f30a38b610") + .serviceInstanceId( + "650d0eb7-3b83-414a-82a0-d503d1c8eb5f") + .bindingOptions(Collections.emptyMap()) + .credential("creds-key-356", "creds-val-356") + .gatewayName("") + .applicationUrl( + "/v2/apps/26ddc1de-3eeb-424b-82f3-f7f30a38b610") + .serviceInstanceUrl( + "/v2/service_instances/650d0eb7-3b83-414a-82a0-d503d1c8eb5f") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void delete() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(DELETE) - .path("/service_bindings/test-service-binding-id") - .build()) - .response(TestResponse.builder() - .status(NO_CONTENT) - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(DELETE) + .path("/service_bindings/test-service-binding-id") + .build()) + .response(TestResponse.builder().status(NO_CONTENT).build()) + .build()); this.serviceBindings - .delete(DeleteServiceBindingRequest.builder() - .serviceBindingId("test-service-binding-id") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .delete( + DeleteServiceBindingRequest.builder() + .serviceBindingId("test-service-binding-id") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void deleteAsync() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(DELETE) - .path("/service_bindings/test-service-binding-id?async=true") - .build()) - .response(TestResponse.builder() - .status(ACCEPTED) - .payload("fixtures/client/v2/service_bindings/DELETE_{id}_async_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(DELETE) + .path( + "/service_bindings/test-service-binding-id?async=true") + .build()) + .response( + TestResponse.builder() + .status(ACCEPTED) + .payload( + "fixtures/client/v2/service_bindings/DELETE_{id}_async_response.json") + .build()) + .build()); this.serviceBindings - .delete(DeleteServiceBindingRequest.builder() - .async(true) - .serviceBindingId("test-service-binding-id") - .build()) - .as(StepVerifier::create) - .expectNext(DeleteServiceBindingResponse.builder() - .metadata(Metadata.builder() - .id("c4faac01-5bbd-494f-8849-256a3bab06b8") - .createdAt("2016-03-14T22:30:51Z") - .url("/v2/jobs/c4faac01-5bbd-494f-8849-256a3bab06b8") - .build()) - .entity(JobEntity.builder() - .id("c4faac01-5bbd-494f-8849-256a3bab06b8") - .status("queued") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .delete( + DeleteServiceBindingRequest.builder() + .async(true) + .serviceBindingId("test-service-binding-id") + .build()) + .as(StepVerifier::create) + .expectNext( + DeleteServiceBindingResponse.builder() + .metadata( + Metadata.builder() + .id("c4faac01-5bbd-494f-8849-256a3bab06b8") + .createdAt("2016-03-14T22:30:51Z") + .url( + "/v2/jobs/c4faac01-5bbd-494f-8849-256a3bab06b8") + .build()) + .entity( + JobEntity.builder() + .id("c4faac01-5bbd-494f-8849-256a3bab06b8") + .status("queued") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void get() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET) - .path("/service_bindings/test-service-binding-id") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/service_bindings/GET_{id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/service_bindings/test-service-binding-id") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/service_bindings/GET_{id}_response.json") + .build()) + .build()); this.serviceBindings - .get(GetServiceBindingRequest.builder() - .serviceBindingId("test-service-binding-id") - .build()) - .as(StepVerifier::create) - .expectNext(GetServiceBindingResponse.builder() - .metadata(Metadata.builder() - .createdAt("2016-06-08T16:41:43Z") - .id("ddd7fb26-c42d-4acf-a035-60fdd094a167") - .updatedAt("2016-06-08T16:41:26Z") - .url("/v2/service_bindings/ddd7fb26-c42d-4acf-a035-60fdd094a167") - .build()) - .entity(ServiceBindingEntity.builder() - .applicationId("784bca1b-c4d9-4d99-9961-9f413620031a") - .applicationUrl("/v2/apps/784bca1b-c4d9-4d99-9961-9f413620031a") - .bindingOptions(Collections.emptyMap()) - .credential("creds-key-64", "creds-val-64") - .gatewayName("") - .lastOperation(LastOperation.builder() - .createdAt("2018-02-28T16:25:19Z") - .description("") - .state("succeeded") - .type("create") - .updatedAt("2018-02-28T16:25:19Z") - .build()) - .name("prod-db") - .serviceBindingParametersUrl("/v2/service_bindings/ddd7fb26-c42d-4acf-a035-60fdd094a167/parameters") - .serviceInstanceId("ada8700c-dd02-467c-937b-32ce498302f6") - .serviceInstanceUrl("/v2/service_instances/ada8700c-dd02-467c-937b-32ce498302f6") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .get( + GetServiceBindingRequest.builder() + .serviceBindingId("test-service-binding-id") + .build()) + .as(StepVerifier::create) + .expectNext( + GetServiceBindingResponse.builder() + .metadata( + Metadata.builder() + .createdAt("2016-06-08T16:41:43Z") + .id("ddd7fb26-c42d-4acf-a035-60fdd094a167") + .updatedAt("2016-06-08T16:41:26Z") + .url( + "/v2/service_bindings/ddd7fb26-c42d-4acf-a035-60fdd094a167") + .build()) + .entity( + ServiceBindingEntity.builder() + .applicationId( + "784bca1b-c4d9-4d99-9961-9f413620031a") + .applicationUrl( + "/v2/apps/784bca1b-c4d9-4d99-9961-9f413620031a") + .bindingOptions(Collections.emptyMap()) + .credential("creds-key-64", "creds-val-64") + .gatewayName("") + .lastOperation( + LastOperation.builder() + .createdAt("2018-02-28T16:25:19Z") + .description("") + .state("succeeded") + .type("create") + .updatedAt("2018-02-28T16:25:19Z") + .build()) + .name("prod-db") + .serviceBindingParametersUrl( + "/v2/service_bindings/ddd7fb26-c42d-4acf-a035-60fdd094a167/parameters") + .serviceInstanceId( + "ada8700c-dd02-467c-937b-32ce498302f6") + .serviceInstanceUrl( + "/v2/service_instances/ada8700c-dd02-467c-937b-32ce498302f6") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void getParameters() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET) - .path("/service_bindings/test-service-binding-id/parameters") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/service_bindings/GET_{id}_parameters_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path( + "/service_bindings/test-service-binding-id/parameters") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/service_bindings/GET_{id}_parameters_response.json") + .build()) + .build()); this.serviceBindings - .getParameters(GetServiceBindingParametersRequest.builder() - .serviceBindingId("test-service-binding-id") - .build()) - .as(StepVerifier::create) - .expectNext(GetServiceBindingParametersResponse.builder() - .parameter("test-param-key-1", "test-param-value-1") - .parameter("test-param-key-2", 12345) - .parameter("test-param-key-3", false) - .parameter("test-param-key-4", 3.141) - .parameter("test-param-key-5", null) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .getParameters( + GetServiceBindingParametersRequest.builder() + .serviceBindingId("test-service-binding-id") + .build()) + .as(StepVerifier::create) + .expectNext( + GetServiceBindingParametersResponse.builder() + .parameter("test-param-key-1", "test-param-value-1") + .parameter("test-param-key-2", 12345) + .parameter("test-param-key-3", false) + .parameter("test-param-key-4", 3.141) + .parameter("test-param-key-5", null) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void list() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET) - .path("/service_bindings?q=app_guid%3Add44fd4f-5e20-4c52-b66d-7af6e201f01e&page=-1") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/service_bindings/GET_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path( + "/service_bindings?q=app_guid%3Add44fd4f-5e20-4c52-b66d-7af6e201f01e&page=-1") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/service_bindings/GET_response.json") + .build()) + .build()); this.serviceBindings - .list(ListServiceBindingsRequest.builder() - .applicationId("dd44fd4f-5e20-4c52-b66d-7af6e201f01e") - .page(-1) - .build()) - .as(StepVerifier::create) - .expectNext(ListServiceBindingsResponse.builder() - .totalResults(3) - .totalPages(1) - .resource(ServiceBindingResource.builder() - .metadata(Metadata.builder() - .createdAt("2015-07-27T22:43:06Z") - .id("d6d87c3d-a38f-4b31-9bbe-2432d2faaa1d") - .url("/v2/service_bindings/d6d87c3d-a38f-4b31-9bbe-2432d2faaa1d") - .build()) - .entity(ServiceBindingEntity.builder() - .applicationId("dd44fd4f-5e20-4c52-b66d-7af6e201f01e") - .serviceInstanceId("bbd1f170-bb1f-481d-bcf7-def2bbe6a3a2") - .bindingOptions(Collections.emptyMap()) - .credential("creds-key-3", "creds-val-3") - .gatewayName("") - .applicationUrl("/v2/apps/dd44fd4f-5e20-4c52-b66d-7af6e201f01e") - .serviceInstanceUrl("/v2/service_instances/bbd1f170-bb1f-481d-bcf7-def2bbe6a3a2") - .build()) - .build()) - .resource(ServiceBindingResource.builder() - .metadata(Metadata.builder() - .createdAt("2015-11-03T00:53:50Z") - .id("925d8848-4808-47cf-a3e8-049aa0163328") - .updatedAt("2015-11-04T12:54:50Z") - .url("/v2/service_bindings/925d8848-4808-47cf-a3e8-049aa0163328") - .build()) - .entity(ServiceBindingEntity.builder() - .applicationId("dd44fd4f-5e20-4c52-b66d-7af6e201f01e") - .serviceInstanceId("f99b3d23-55f9-48b5-add3-d7ab08b2ff0c") - .bindingOptions(Collections.emptyMap()) - .credential("creds-key-108", "creds-val-108") - .gatewayName("") - .applicationUrl("/v2/apps/dd44fd4f-5e20-4c52-b66d-7af6e201f01e") - .serviceInstanceUrl("/v2/service_instances/f99b3d23-55f9-48b5-add3-d7ab08b2ff0c") - .build()) - .build()) - .resource(ServiceBindingResource.builder() - .metadata(Metadata.builder() - .createdAt("2015-07-27T22:43:20Z") - .id("42eda707-fe4d-4eed-9b39-7cb5e665c226") - .url("/v2/service_bindings/42eda707-fe4d-4eed-9b39-7cb5e665c226") - .build()) - .entity(ServiceBindingEntity.builder() - .applicationId("dd44fd4f-5e20-4c52-b66d-7af6e201f01e") - .serviceInstanceId("650d0eb7-3b83-414a-82a0-d503d1c8eb5f") - .bindingOptions(Collections.emptyMap()) - .credential("creds-key-356", "creds-val-356") - .gatewayName("") - .applicationUrl("/v2/apps/dd44fd4f-5e20-4c52-b66d-7af6e201f01e") - .serviceInstanceUrl("/v2/service_instances/650d0eb7-3b83-414a-82a0-d503d1c8eb5f") - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .list( + ListServiceBindingsRequest.builder() + .applicationId("dd44fd4f-5e20-4c52-b66d-7af6e201f01e") + .page(-1) + .build()) + .as(StepVerifier::create) + .expectNext( + ListServiceBindingsResponse.builder() + .totalResults(3) + .totalPages(1) + .resource( + ServiceBindingResource.builder() + .metadata( + Metadata.builder() + .createdAt("2015-07-27T22:43:06Z") + .id( + "d6d87c3d-a38f-4b31-9bbe-2432d2faaa1d") + .url( + "/v2/service_bindings/d6d87c3d-a38f-4b31-9bbe-2432d2faaa1d") + .build()) + .entity( + ServiceBindingEntity.builder() + .applicationId( + "dd44fd4f-5e20-4c52-b66d-7af6e201f01e") + .serviceInstanceId( + "bbd1f170-bb1f-481d-bcf7-def2bbe6a3a2") + .bindingOptions( + Collections.emptyMap()) + .credential( + "creds-key-3", + "creds-val-3") + .gatewayName("") + .applicationUrl( + "/v2/apps/dd44fd4f-5e20-4c52-b66d-7af6e201f01e") + .serviceInstanceUrl( + "/v2/service_instances/bbd1f170-bb1f-481d-bcf7-def2bbe6a3a2") + .build()) + .build()) + .resource( + ServiceBindingResource.builder() + .metadata( + Metadata.builder() + .createdAt("2015-11-03T00:53:50Z") + .id( + "925d8848-4808-47cf-a3e8-049aa0163328") + .updatedAt("2015-11-04T12:54:50Z") + .url( + "/v2/service_bindings/925d8848-4808-47cf-a3e8-049aa0163328") + .build()) + .entity( + ServiceBindingEntity.builder() + .applicationId( + "dd44fd4f-5e20-4c52-b66d-7af6e201f01e") + .serviceInstanceId( + "f99b3d23-55f9-48b5-add3-d7ab08b2ff0c") + .bindingOptions( + Collections.emptyMap()) + .credential( + "creds-key-108", + "creds-val-108") + .gatewayName("") + .applicationUrl( + "/v2/apps/dd44fd4f-5e20-4c52-b66d-7af6e201f01e") + .serviceInstanceUrl( + "/v2/service_instances/f99b3d23-55f9-48b5-add3-d7ab08b2ff0c") + .build()) + .build()) + .resource( + ServiceBindingResource.builder() + .metadata( + Metadata.builder() + .createdAt("2015-07-27T22:43:20Z") + .id( + "42eda707-fe4d-4eed-9b39-7cb5e665c226") + .url( + "/v2/service_bindings/42eda707-fe4d-4eed-9b39-7cb5e665c226") + .build()) + .entity( + ServiceBindingEntity.builder() + .applicationId( + "dd44fd4f-5e20-4c52-b66d-7af6e201f01e") + .serviceInstanceId( + "650d0eb7-3b83-414a-82a0-d503d1c8eb5f") + .bindingOptions( + Collections.emptyMap()) + .credential( + "creds-key-356", + "creds-val-356") + .gatewayName("") + .applicationUrl( + "/v2/apps/dd44fd4f-5e20-4c52-b66d-7af6e201f01e") + .serviceInstanceUrl( + "/v2/service_instances/650d0eb7-3b83-414a-82a0-d503d1c8eb5f") + .build()) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } - } diff --git a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/servicebrokers/ReactorServiceBrokersTest.java b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/servicebrokers/ReactorServiceBrokersTest.java index 25caf72c69..da40b3107d 100644 --- a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/servicebrokers/ReactorServiceBrokersTest.java +++ b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/servicebrokers/ReactorServiceBrokersTest.java @@ -16,6 +16,16 @@ package org.cloudfoundry.reactor.client.v2.servicebrokers; +import static io.netty.handler.codec.http.HttpMethod.DELETE; +import static io.netty.handler.codec.http.HttpMethod.GET; +import static io.netty.handler.codec.http.HttpMethod.POST; +import static io.netty.handler.codec.http.HttpMethod.PUT; +import static io.netty.handler.codec.http.HttpResponseStatus.CREATED; +import static io.netty.handler.codec.http.HttpResponseStatus.NO_CONTENT; +import static io.netty.handler.codec.http.HttpResponseStatus.OK; + +import java.time.Duration; +import java.util.Collections; import org.cloudfoundry.client.v2.Metadata; import org.cloudfoundry.client.v2.servicebrokers.CreateServiceBrokerRequest; import org.cloudfoundry.client.v2.servicebrokers.CreateServiceBrokerResponse; @@ -35,214 +45,260 @@ import org.junit.Test; import reactor.test.StepVerifier; -import java.time.Duration; -import java.util.Collections; - -import static io.netty.handler.codec.http.HttpMethod.DELETE; -import static io.netty.handler.codec.http.HttpMethod.GET; -import static io.netty.handler.codec.http.HttpMethod.POST; -import static io.netty.handler.codec.http.HttpMethod.PUT; -import static io.netty.handler.codec.http.HttpResponseStatus.CREATED; -import static io.netty.handler.codec.http.HttpResponseStatus.NO_CONTENT; -import static io.netty.handler.codec.http.HttpResponseStatus.OK; - public final class ReactorServiceBrokersTest extends AbstractClientApiTest { - private final ReactorServiceBrokers serviceBrokers = new ReactorServiceBrokers(CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); + private final ReactorServiceBrokers serviceBrokers = + new ReactorServiceBrokers( + CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); @Test public void create() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(POST).path("/service_brokers") - .payload("fixtures/client/v2/service_brokers/POST_request.json") - .build()) - .response(TestResponse.builder() - .status(CREATED) - .payload("fixtures/client/v2/service_brokers/POST_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(POST) + .path("/service_brokers") + .payload( + "fixtures/client/v2/service_brokers/POST_request.json") + .build()) + .response( + TestResponse.builder() + .status(CREATED) + .payload( + "fixtures/client/v2/service_brokers/POST_response.json") + .build()) + .build()); this.serviceBrokers - .create(CreateServiceBrokerRequest.builder() - .name("service-broker-name") - .authenticationPassword("secretpassw0rd") - .authenticationUsername("admin") - .brokerUrl("https://broker.example.com") - .build()) - .as(StepVerifier::create) - .expectNext(CreateServiceBrokerResponse.builder() - .metadata(Metadata.builder() - .createdAt("2015-07-27T22:43:23Z") - .id("1e86a649-e4a2-4bed-830d-b12435ed4cd9") - .url("/v2/service_brokers/1e86a649-e4a2-4bed-830d-b12435ed4cd9") - .build()) - .entity(ServiceBrokerEntity.builder() - .name("service-broker-name") - .brokerUrl("https://broker.example.com") - .authenticationUsername("admin") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .create( + CreateServiceBrokerRequest.builder() + .name("service-broker-name") + .authenticationPassword("secretpassw0rd") + .authenticationUsername("admin") + .brokerUrl("https://broker.example.com") + .build()) + .as(StepVerifier::create) + .expectNext( + CreateServiceBrokerResponse.builder() + .metadata( + Metadata.builder() + .createdAt("2015-07-27T22:43:23Z") + .id("1e86a649-e4a2-4bed-830d-b12435ed4cd9") + .url( + "/v2/service_brokers/1e86a649-e4a2-4bed-830d-b12435ed4cd9") + .build()) + .entity( + ServiceBrokerEntity.builder() + .name("service-broker-name") + .brokerUrl("https://broker.example.com") + .authenticationUsername("admin") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void delete() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(DELETE).path("/service_brokers/test-service-broker-id") - .build()) - .response(TestResponse.builder() - .status(NO_CONTENT) - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(DELETE) + .path("/service_brokers/test-service-broker-id") + .build()) + .response(TestResponse.builder().status(NO_CONTENT).build()) + .build()); this.serviceBrokers - .delete(DeleteServiceBrokerRequest.builder() - .serviceBrokerId("test-service-broker-id") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .delete( + DeleteServiceBrokerRequest.builder() + .serviceBrokerId("test-service-broker-id") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void get() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/service_brokers/test-service-broker-id") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/service_brokers/GET_{id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/service_brokers/test-service-broker-id") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/service_brokers/GET_{id}_response.json") + .build()) + .build()); this.serviceBrokers - .get(GetServiceBrokerRequest.builder() - .serviceBrokerId("test-service-broker-id") - .build()) - .as(StepVerifier::create) - .expectNext(GetServiceBrokerResponse.builder() - .metadata(Metadata.builder() - .createdAt("2015-07-27T22:43:23Z") - .id("1311f77f-cfb6-499e-bcba-82c7ef968ae6") - .updatedAt("2015-07-27T22:43:23Z") - .url("/v2/service_brokers/1311f77f-cfb6-499e-bcba-82c7ef968ae6") - .build()) - .entity(ServiceBrokerEntity.builder() - .name("name-974") - .brokerUrl("https://foo.com/url-36") - .authenticationUsername("auth_username-36") - .spaceId("7878cee1-a484-4148-92bf-84beae20842f") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .get( + GetServiceBrokerRequest.builder() + .serviceBrokerId("test-service-broker-id") + .build()) + .as(StepVerifier::create) + .expectNext( + GetServiceBrokerResponse.builder() + .metadata( + Metadata.builder() + .createdAt("2015-07-27T22:43:23Z") + .id("1311f77f-cfb6-499e-bcba-82c7ef968ae6") + .updatedAt("2015-07-27T22:43:23Z") + .url( + "/v2/service_brokers/1311f77f-cfb6-499e-bcba-82c7ef968ae6") + .build()) + .entity( + ServiceBrokerEntity.builder() + .name("name-974") + .brokerUrl("https://foo.com/url-36") + .authenticationUsername("auth_username-36") + .spaceId("7878cee1-a484-4148-92bf-84beae20842f") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void list() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/service_brokers?q=name%3Atest-name&page=-1") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/service_brokers/GET_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/service_brokers?q=name%3Atest-name&page=-1") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/service_brokers/GET_response.json") + .build()) + .build()); this.serviceBrokers - .list(ListServiceBrokersRequest.builder() - .name("test-name") - .page(-1) - .build()) - .as(StepVerifier::create) - .expectNext(ListServiceBrokersResponse.builder() - .totalResults(3) - .totalPages(1) - .resource(ServiceBrokerResource.builder() - .metadata(Metadata.builder() - .createdAt("2015-07-27T22:43:23Z") - .id("b52de6f1-15dd-4069-8b42-f052cc9333fc") - .updatedAt("2015-07-27T22:43:23Z") - .url("/v2/service_brokers/b52de6f1-15dd-4069-8b42-f052cc9333fc") - .build()) - .entity(ServiceBrokerEntity.builder() - .name("name-980") - .brokerUrl("https://foo.com/url-39") - .authenticationUsername("auth_username-39") - .spaceId("4f34c35e-be0d-409e-9279-1ccd7058c5d8") - .build()) - .build()) - .resource(ServiceBrokerResource.builder() - .metadata(Metadata.builder() - .createdAt("2015-07-27T22:43:23Z") - .id("812e9e7f-b5b0-4587-ba3c-b4a7c574fb88") - .url("/v2/service_brokers/812e9e7f-b5b0-4587-ba3c-b4a7c574fb88") - .build()) - .entity(ServiceBrokerEntity.builder() - .name("name-981") - .brokerUrl("https://foo.com/url-40") - .authenticationUsername("auth_username-40") - .build()) - .build()) - .resource(ServiceBrokerResource.builder() - .metadata(Metadata.builder() - .createdAt("2015-07-27T22:43:23Z") - .id("93e760c4-ff3d-447a-9cff-a17f4454eaee") - .url("/v2/service_brokers/93e760c4-ff3d-447a-9cff-a17f4454eaee") - .build()) - .entity(ServiceBrokerEntity.builder() - .name("name-982") - .brokerUrl("https://foo.com/url-41") - .authenticationUsername("auth_username-41") - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .list(ListServiceBrokersRequest.builder().name("test-name").page(-1).build()) + .as(StepVerifier::create) + .expectNext( + ListServiceBrokersResponse.builder() + .totalResults(3) + .totalPages(1) + .resource( + ServiceBrokerResource.builder() + .metadata( + Metadata.builder() + .createdAt("2015-07-27T22:43:23Z") + .id( + "b52de6f1-15dd-4069-8b42-f052cc9333fc") + .updatedAt("2015-07-27T22:43:23Z") + .url( + "/v2/service_brokers/b52de6f1-15dd-4069-8b42-f052cc9333fc") + .build()) + .entity( + ServiceBrokerEntity.builder() + .name("name-980") + .brokerUrl("https://foo.com/url-39") + .authenticationUsername( + "auth_username-39") + .spaceId( + "4f34c35e-be0d-409e-9279-1ccd7058c5d8") + .build()) + .build()) + .resource( + ServiceBrokerResource.builder() + .metadata( + Metadata.builder() + .createdAt("2015-07-27T22:43:23Z") + .id( + "812e9e7f-b5b0-4587-ba3c-b4a7c574fb88") + .url( + "/v2/service_brokers/812e9e7f-b5b0-4587-ba3c-b4a7c574fb88") + .build()) + .entity( + ServiceBrokerEntity.builder() + .name("name-981") + .brokerUrl("https://foo.com/url-40") + .authenticationUsername( + "auth_username-40") + .build()) + .build()) + .resource( + ServiceBrokerResource.builder() + .metadata( + Metadata.builder() + .createdAt("2015-07-27T22:43:23Z") + .id( + "93e760c4-ff3d-447a-9cff-a17f4454eaee") + .url( + "/v2/service_brokers/93e760c4-ff3d-447a-9cff-a17f4454eaee") + .build()) + .entity( + ServiceBrokerEntity.builder() + .name("name-982") + .brokerUrl("https://foo.com/url-41") + .authenticationUsername( + "auth_username-41") + .build()) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void update() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(PUT).path("/service_brokers/test-service-broker-id") - .payload("fixtures/client/v2/service_brokers/PUT_{id}_request.json") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/service_brokers/PUT_{id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(PUT) + .path("/service_brokers/test-service-broker-id") + .payload( + "fixtures/client/v2/service_brokers/PUT_{id}_request.json") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/service_brokers/PUT_{id}_response.json") + .build()) + .build()); this.serviceBrokers - .update(UpdateServiceBrokerRequest.builder() - .authenticationUsername("admin-user") - .authenticationPassword("some-secret") - .brokerUrl("https://mybroker.example.com") - .serviceBrokerId("test-service-broker-id") - .build()) - .as(StepVerifier::create) - .expectNext(UpdateServiceBrokerResponse.builder() - .metadata(Metadata.builder() - .createdAt("2015-07-27T22:43:23Z") - .id("92b935f5-20e2-4377-a7e2-f15faa110eab") - .updatedAt("2015-07-27T22:43:23Z") - .url("/v2/service_brokers/92b935f5-20e2-4377-a7e2-f15faa110eab") - .build()) - .entity(ServiceBrokerEntity.builder() - .name("name-998") - .brokerUrl("https://mybroker.example.com") - .authenticationUsername("admin-user") - .spaceId("85e59d96-b68b-4908-8ff5-8d54f4371f14") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .update( + UpdateServiceBrokerRequest.builder() + .authenticationUsername("admin-user") + .authenticationPassword("some-secret") + .brokerUrl("https://mybroker.example.com") + .serviceBrokerId("test-service-broker-id") + .build()) + .as(StepVerifier::create) + .expectNext( + UpdateServiceBrokerResponse.builder() + .metadata( + Metadata.builder() + .createdAt("2015-07-27T22:43:23Z") + .id("92b935f5-20e2-4377-a7e2-f15faa110eab") + .updatedAt("2015-07-27T22:43:23Z") + .url( + "/v2/service_brokers/92b935f5-20e2-4377-a7e2-f15faa110eab") + .build()) + .entity( + ServiceBrokerEntity.builder() + .name("name-998") + .brokerUrl("https://mybroker.example.com") + .authenticationUsername("admin-user") + .spaceId("85e59d96-b68b-4908-8ff5-8d54f4371f14") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } - } diff --git a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/serviceinstances/ReactorServiceInstancesTest.java b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/serviceinstances/ReactorServiceInstancesTest.java index fa0ca0195d..18c9b8d10e 100644 --- a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/serviceinstances/ReactorServiceInstancesTest.java +++ b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/serviceinstances/ReactorServiceInstancesTest.java @@ -16,6 +16,17 @@ package org.cloudfoundry.reactor.client.v2.serviceinstances; +import static io.netty.handler.codec.http.HttpMethod.DELETE; +import static io.netty.handler.codec.http.HttpMethod.GET; +import static io.netty.handler.codec.http.HttpMethod.POST; +import static io.netty.handler.codec.http.HttpMethod.PUT; +import static io.netty.handler.codec.http.HttpResponseStatus.ACCEPTED; +import static io.netty.handler.codec.http.HttpResponseStatus.CREATED; +import static io.netty.handler.codec.http.HttpResponseStatus.NO_CONTENT; +import static io.netty.handler.codec.http.HttpResponseStatus.OK; + +import java.time.Duration; +import java.util.Collections; import org.cloudfoundry.client.v2.MaintenanceInfo; import org.cloudfoundry.client.v2.Metadata; import org.cloudfoundry.client.v2.jobs.JobEntity; @@ -58,607 +69,796 @@ import org.junit.Test; import reactor.test.StepVerifier; -import java.time.Duration; -import java.util.Collections; - -import static io.netty.handler.codec.http.HttpMethod.DELETE; -import static io.netty.handler.codec.http.HttpMethod.GET; -import static io.netty.handler.codec.http.HttpMethod.POST; -import static io.netty.handler.codec.http.HttpMethod.PUT; -import static io.netty.handler.codec.http.HttpResponseStatus.ACCEPTED; -import static io.netty.handler.codec.http.HttpResponseStatus.CREATED; -import static io.netty.handler.codec.http.HttpResponseStatus.NO_CONTENT; -import static io.netty.handler.codec.http.HttpResponseStatus.OK; - public final class ReactorServiceInstancesTest extends AbstractClientApiTest { - private final ReactorServiceInstances serviceInstances = new ReactorServiceInstances(CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); + private final ReactorServiceInstances serviceInstances = + new ReactorServiceInstances( + CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); @Test public void bindRoute() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(PUT) - .path("/service_instances/test-service-instance-id/routes/route-id") - .payload("fixtures/client/v2/service_instances/PUT_{id}_routes_request.json") - .build()) - .response(TestResponse.builder() - .status(CREATED) - .payload("fixtures/client/v2/service_instances/PUT_{id}_routes_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(PUT) + .path( + "/service_instances/test-service-instance-id/routes/route-id") + .payload( + "fixtures/client/v2/service_instances/PUT_{id}_routes_request.json") + .build()) + .response( + TestResponse.builder() + .status(CREATED) + .payload( + "fixtures/client/v2/service_instances/PUT_{id}_routes_response.json") + .build()) + .build()); this.serviceInstances - .bindRoute(BindServiceInstanceRouteRequest.builder() - .serviceInstanceId("test-service-instance-id") - .routeId("route-id") - .parameter("the_service_broker", "wants this object") - .build()) - .as(StepVerifier::create) - .expectNext(BindServiceInstanceRouteResponse.builder() - .metadata(Metadata.builder() - .createdAt("2015-12-22T18:27:58Z") - .id("e7e5b08e-c530-4c1c-b420-fa0b09b3770d") - .url("/v2/service_instances/e7e5b08e-c530-4c1c-b420-fa0b09b3770d") - .build()) - .entity(ServiceInstanceEntity.builder() - .name("name-160") - .credential("creds-key-89", "creds-val-89") - .servicePlanId("957307f5-6811-4eba-8667-ffee5a704a4a") - .spaceId("36b01ada-ef02-4ff5-9f78-cd9e704211d2") - .type("managed_service_instance") - .tags(Collections.emptyList()) - .spaceUrl("/v2/spaces/36b01ada-ef02-4ff5-9f78-cd9e704211d2") - .servicePlanUrl("/v2/service_plans/957307f5-6811-4eba-8667-ffee5a704a4a") - .serviceBindingsUrl("/v2/service_instances/e7e5b08e-c530-4c1c-b420-fa0b09b3770d/service_bindings") - .serviceKeysUrl("/v2/service_instances/e7e5b08e-c530-4c1c-b420-fa0b09b3770d/service_keys") - .routesUrl("/v2/service_instances/e7e5b08e-c530-4c1c-b420-fa0b09b3770d/routes") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .bindRoute( + BindServiceInstanceRouteRequest.builder() + .serviceInstanceId("test-service-instance-id") + .routeId("route-id") + .parameter("the_service_broker", "wants this object") + .build()) + .as(StepVerifier::create) + .expectNext( + BindServiceInstanceRouteResponse.builder() + .metadata( + Metadata.builder() + .createdAt("2015-12-22T18:27:58Z") + .id("e7e5b08e-c530-4c1c-b420-fa0b09b3770d") + .url( + "/v2/service_instances/e7e5b08e-c530-4c1c-b420-fa0b09b3770d") + .build()) + .entity( + ServiceInstanceEntity.builder() + .name("name-160") + .credential("creds-key-89", "creds-val-89") + .servicePlanId( + "957307f5-6811-4eba-8667-ffee5a704a4a") + .spaceId("36b01ada-ef02-4ff5-9f78-cd9e704211d2") + .type("managed_service_instance") + .tags(Collections.emptyList()) + .spaceUrl( + "/v2/spaces/36b01ada-ef02-4ff5-9f78-cd9e704211d2") + .servicePlanUrl( + "/v2/service_plans/957307f5-6811-4eba-8667-ffee5a704a4a") + .serviceBindingsUrl( + "/v2/service_instances/e7e5b08e-c530-4c1c-b420-fa0b09b3770d/service_bindings") + .serviceKeysUrl( + "/v2/service_instances/e7e5b08e-c530-4c1c-b420-fa0b09b3770d/service_keys") + .routesUrl( + "/v2/service_instances/e7e5b08e-c530-4c1c-b420-fa0b09b3770d/routes") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void create() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(POST) - .path("/service_instances?accepts_incomplete=true") - .payload("fixtures/client/v2/service_instances/POST_request.json") - .build()) - .response(TestResponse.builder() - .status(CREATED) - .payload("fixtures/client/v2/service_instances/POST_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(POST) + .path("/service_instances?accepts_incomplete=true") + .payload( + "fixtures/client/v2/service_instances/POST_request.json") + .build()) + .response( + TestResponse.builder() + .status(CREATED) + .payload( + "fixtures/client/v2/service_instances/POST_response.json") + .build()) + .build()); this.serviceInstances - .create(CreateServiceInstanceRequest.builder() - .acceptsIncomplete(true) - .name("my-service-instance") - .servicePlanId("2048a369-d2d3-48cf-bcfd-eaf9032fa0ab") - .spaceId("86b29f7e-721d-4eb8-b34f-3b1d1eccdf23") - .parameter("the_service_broker", "wants this object") - .tag("accounting") - .tag("mongodb") - .build()) - .as(StepVerifier::create) - .expectNext(CreateServiceInstanceResponse.builder() - .metadata(Metadata.builder() - .createdAt("2015-07-27T22:43:08Z") - .id("8b2b3c5e-c1ba-41d0-ac87-08c776cfc25a") - .url("/v2/service_instances/8b2b3c5e-c1ba-41d0-ac87-08c776cfc25a") - .build()) - .entity(ServiceInstanceEntity.builder() - .name("my-service-instance") - .credential("creds-key-356", "creds-val-356") - .servicePlanId("2048a369-d2d3-48cf-bcfd-eaf9032fa0ab") - .spaceId("86b29f7e-721d-4eb8-b34f-3b1d1eccdf23") - .type("managed_service_instance") - .lastOperation(LastOperation.builder() - .createdAt("2015-07-27T22:43:08Z") - .updatedAt("2015-07-27T22:43:08Z") - .description("") - .state("in progress") - .type("create") - .build()) - .tag("accounting") - .tag("mongodb") - .spaceUrl("/v2/spaces/86b29f7e-721d-4eb8-b34f-3b1d1eccdf23") - .servicePlanUrl("/v2/service_plans/2048a369-d2d3-48cf-bcfd-eaf9032fa0ab") - .serviceBindingsUrl("/v2/service_instances/8b2b3c5e-c1ba-41d0-ac87-08c776cfc25a/service_bindings") - .serviceKeysUrl("/v2/service_instances/8b2b3c5e-c1ba-41d0-ac87-08c776cfc25a/service_keys") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .create( + CreateServiceInstanceRequest.builder() + .acceptsIncomplete(true) + .name("my-service-instance") + .servicePlanId("2048a369-d2d3-48cf-bcfd-eaf9032fa0ab") + .spaceId("86b29f7e-721d-4eb8-b34f-3b1d1eccdf23") + .parameter("the_service_broker", "wants this object") + .tag("accounting") + .tag("mongodb") + .build()) + .as(StepVerifier::create) + .expectNext( + CreateServiceInstanceResponse.builder() + .metadata( + Metadata.builder() + .createdAt("2015-07-27T22:43:08Z") + .id("8b2b3c5e-c1ba-41d0-ac87-08c776cfc25a") + .url( + "/v2/service_instances/8b2b3c5e-c1ba-41d0-ac87-08c776cfc25a") + .build()) + .entity( + ServiceInstanceEntity.builder() + .name("my-service-instance") + .credential("creds-key-356", "creds-val-356") + .servicePlanId( + "2048a369-d2d3-48cf-bcfd-eaf9032fa0ab") + .spaceId("86b29f7e-721d-4eb8-b34f-3b1d1eccdf23") + .type("managed_service_instance") + .lastOperation( + LastOperation.builder() + .createdAt("2015-07-27T22:43:08Z") + .updatedAt("2015-07-27T22:43:08Z") + .description("") + .state("in progress") + .type("create") + .build()) + .tag("accounting") + .tag("mongodb") + .spaceUrl( + "/v2/spaces/86b29f7e-721d-4eb8-b34f-3b1d1eccdf23") + .servicePlanUrl( + "/v2/service_plans/2048a369-d2d3-48cf-bcfd-eaf9032fa0ab") + .serviceBindingsUrl( + "/v2/service_instances/8b2b3c5e-c1ba-41d0-ac87-08c776cfc25a/service_bindings") + .serviceKeysUrl( + "/v2/service_instances/8b2b3c5e-c1ba-41d0-ac87-08c776cfc25a/service_keys") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void delete() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(DELETE) - .path("/service_instances/test-service-instance-id?accepts_incomplete=true&purge=true") - .build()) - .response(TestResponse.builder() - .status(NO_CONTENT) - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(DELETE) + .path( + "/service_instances/test-service-instance-id?accepts_incomplete=true&purge=true") + .build()) + .response(TestResponse.builder().status(NO_CONTENT).build()) + .build()); this.serviceInstances - .delete(DeleteServiceInstanceRequest.builder() - .serviceInstanceId("test-service-instance-id") - .acceptsIncomplete(true) - .purge(true) - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .delete( + DeleteServiceInstanceRequest.builder() + .serviceInstanceId("test-service-instance-id") + .acceptsIncomplete(true) + .purge(true) + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void deleteAcceptsIncomplete() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(DELETE) - .path("/service_instances/test-service-instance-id?accepts_incomplete=true") - .build()) - .response(TestResponse.builder() - .status(ACCEPTED) - .payload("fixtures/client/v2/service_instances/DELETE_{id}_accepts_incomplete_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(DELETE) + .path( + "/service_instances/test-service-instance-id?accepts_incomplete=true") + .build()) + .response( + TestResponse.builder() + .status(ACCEPTED) + .payload( + "fixtures/client/v2/service_instances/DELETE_{id}_accepts_incomplete_response.json") + .build()) + .build()); this.serviceInstances - .delete(DeleteServiceInstanceRequest.builder() - .serviceInstanceId("test-service-instance-id") - .acceptsIncomplete(true) - .build()) - .as(StepVerifier::create) - .expectNext(DeleteServiceInstanceResponse.builder() - .metadata(Metadata.builder() - .id("2e20eccf-6828-4c56-81cb-28c0e295ce19") - .url("/v2/service_instances/2e20eccf-6828-4c56-81cb-28c0e295ce19") - .createdAt("2017-02-27T12:30:29Z") - .updatedAt("2017-02-27T12:30:29Z") - .build()) - .entity(ServiceInstanceEntity.builder() - .name("test-service") - .servicePlanId("07c64d77-4df5-4974-a4b2-3bc58cafcf0d") - .spaceId("840d3266-8547-40fe-986e-ffc20eaba235") - .dashboardUrl("http://test-dashboard-host/2e20eccf-6828-4c56-81cb-28c0e295ce19") - .type("managed_service_instance") - .lastOperation(LastOperation.builder() - .type("delete") - .state("in progress") - .description("") - .updatedAt("2017-02-27T12:30:59Z") - .createdAt("2017-02-27T12:30:59Z") - .build()) - .spaceUrl("/v2/spaces/840d3266-8547-40fe-986e-ffc20eaba235") - .servicePlanUrl("/v2/service_plans/07c64d77-4df5-4974-a4b2-3bc58cafcf0d") - .serviceBindingsUrl("/v2/service_instances/2e20eccf-6828-4c56-81cb-28c0e295ce19/service_bindings") - .serviceKeysUrl("/v2/service_instances/2e20eccf-6828-4c56-81cb-28c0e295ce19/service_keys") - .routesUrl("/v2/service_instances/2e20eccf-6828-4c56-81cb-28c0e295ce19/routes") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .delete( + DeleteServiceInstanceRequest.builder() + .serviceInstanceId("test-service-instance-id") + .acceptsIncomplete(true) + .build()) + .as(StepVerifier::create) + .expectNext( + DeleteServiceInstanceResponse.builder() + .metadata( + Metadata.builder() + .id("2e20eccf-6828-4c56-81cb-28c0e295ce19") + .url( + "/v2/service_instances/2e20eccf-6828-4c56-81cb-28c0e295ce19") + .createdAt("2017-02-27T12:30:29Z") + .updatedAt("2017-02-27T12:30:29Z") + .build()) + .entity( + ServiceInstanceEntity.builder() + .name("test-service") + .servicePlanId( + "07c64d77-4df5-4974-a4b2-3bc58cafcf0d") + .spaceId("840d3266-8547-40fe-986e-ffc20eaba235") + .dashboardUrl( + "http://test-dashboard-host/2e20eccf-6828-4c56-81cb-28c0e295ce19") + .type("managed_service_instance") + .lastOperation( + LastOperation.builder() + .type("delete") + .state("in progress") + .description("") + .updatedAt("2017-02-27T12:30:59Z") + .createdAt("2017-02-27T12:30:59Z") + .build()) + .spaceUrl( + "/v2/spaces/840d3266-8547-40fe-986e-ffc20eaba235") + .servicePlanUrl( + "/v2/service_plans/07c64d77-4df5-4974-a4b2-3bc58cafcf0d") + .serviceBindingsUrl( + "/v2/service_instances/2e20eccf-6828-4c56-81cb-28c0e295ce19/service_bindings") + .serviceKeysUrl( + "/v2/service_instances/2e20eccf-6828-4c56-81cb-28c0e295ce19/service_keys") + .routesUrl( + "/v2/service_instances/2e20eccf-6828-4c56-81cb-28c0e295ce19/routes") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void deleteAsync() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(DELETE) - .path("/service_instances/test-service-instance-id?async=true&purge=true") - .build()) - .response(TestResponse.builder() - .status(ACCEPTED) - .payload("fixtures/client/v2/service_instances/DELETE_{id}_async_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(DELETE) + .path( + "/service_instances/test-service-instance-id?async=true&purge=true") + .build()) + .response( + TestResponse.builder() + .status(ACCEPTED) + .payload( + "fixtures/client/v2/service_instances/DELETE_{id}_async_response.json") + .build()) + .build()); this.serviceInstances - .delete(DeleteServiceInstanceRequest.builder() - .async(true) - .serviceInstanceId("test-service-instance-id") - .purge(true) - .build()) - .as(StepVerifier::create) - .expectNext(DeleteServiceInstanceResponse.builder() - .metadata(Metadata.builder() - .id("2d9707ba-6f0b-4aef-a3de-fe9bdcf0c9d1") - .createdAt("2016-02-02T17:16:31Z") - .url("/v2/jobs/2d9707ba-6f0b-4aef-a3de-fe9bdcf0c9d1") - .build()) - .entity(JobEntity.builder() - .id("2d9707ba-6f0b-4aef-a3de-fe9bdcf0c9d1") - .status("queued") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .delete( + DeleteServiceInstanceRequest.builder() + .async(true) + .serviceInstanceId("test-service-instance-id") + .purge(true) + .build()) + .as(StepVerifier::create) + .expectNext( + DeleteServiceInstanceResponse.builder() + .metadata( + Metadata.builder() + .id("2d9707ba-6f0b-4aef-a3de-fe9bdcf0c9d1") + .createdAt("2016-02-02T17:16:31Z") + .url( + "/v2/jobs/2d9707ba-6f0b-4aef-a3de-fe9bdcf0c9d1") + .build()) + .entity( + JobEntity.builder() + .id("2d9707ba-6f0b-4aef-a3de-fe9bdcf0c9d1") + .status("queued") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void get() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET) - .path("/service_instances/test-service-instance-id") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/service_instances/GET_{id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/service_instances/test-service-instance-id") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/service_instances/GET_{id}_response.json") + .build()) + .build()); this.serviceInstances - .get(GetServiceInstanceRequest.builder() - .serviceInstanceId("test-service-instance-id") - .build()) - .as(StepVerifier::create) - .expectNext(GetServiceInstanceResponse.builder() - .metadata(Metadata.builder() - .createdAt("2016-06-08T16:41:29Z") - .id("0d632575-bb06-4ea5-bb19-a451a9644d92") - .updatedAt("2016-06-08T16:41:26Z") - .url("/v2/service_instances/0d632575-bb06-4ea5-bb19-a451a9644d92") - .build()) - .entity(ServiceInstanceEntity.builder() - .credential("creds-key-38", "creds-val-38") - .lastOperation(LastOperation.builder() - .createdAt("2016-06-08T16:41:29Z") - .description("service broker-provided description") - .state("succeeded") - .type("create") - .updatedAt("2016-06-08T16:41:29Z") - .build()) - .name("name-1508") - .routesUrl("/v2/service_instances/0d632575-bb06-4ea5-bb19-a451a9644d92/routes") - .serviceBindingsUrl("/v2/service_instances/0d632575-bb06-4ea5-bb19-a451a9644d92/service_bindings") - .serviceId("a14baddf-1ccc-5299-0152-ab9s49de4422") - .serviceInstanceParametersUrl("/v2/service_instances/0d632575-bb06-4ea5-bb19-a451a9644d92/parameters") - .serviceKeysUrl("/v2/service_instances/0d632575-bb06-4ea5-bb19-a451a9644d92/service_keys") - .servicePlanId("779d2df0-9cdd-48e8-9781-ea05301cedb1") - .servicePlanUrl("/v2/service_plans/779d2df0-9cdd-48e8-9781-ea05301cedb1") - .serviceUrl("/v2/services/a14baddf-1ccc-5299-0152-ab9s49de4422") - .sharedFromUrl("/v2/service_instances/0d632575-bb06-4ea5-bb19-a451a9644d92/shared_from") - .sharedToUrl("/v2/service_instances/0d632575-bb06-4ea5-bb19-a451a9644d92/shared_to") - .spaceId("38511660-89d9-4a6e-a889-c32c7e94f139") - .spaceUrl("/v2/spaces/38511660-89d9-4a6e-a889-c32c7e94f139") - .tag("accounting") - .tag("mongodb") - .type("managed_service_instance") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .get( + GetServiceInstanceRequest.builder() + .serviceInstanceId("test-service-instance-id") + .build()) + .as(StepVerifier::create) + .expectNext( + GetServiceInstanceResponse.builder() + .metadata( + Metadata.builder() + .createdAt("2016-06-08T16:41:29Z") + .id("0d632575-bb06-4ea5-bb19-a451a9644d92") + .updatedAt("2016-06-08T16:41:26Z") + .url( + "/v2/service_instances/0d632575-bb06-4ea5-bb19-a451a9644d92") + .build()) + .entity( + ServiceInstanceEntity.builder() + .credential("creds-key-38", "creds-val-38") + .lastOperation( + LastOperation.builder() + .createdAt("2016-06-08T16:41:29Z") + .description( + "service broker-provided" + + " description") + .state("succeeded") + .type("create") + .updatedAt("2016-06-08T16:41:29Z") + .build()) + .name("name-1508") + .routesUrl( + "/v2/service_instances/0d632575-bb06-4ea5-bb19-a451a9644d92/routes") + .serviceBindingsUrl( + "/v2/service_instances/0d632575-bb06-4ea5-bb19-a451a9644d92/service_bindings") + .serviceId("a14baddf-1ccc-5299-0152-ab9s49de4422") + .serviceInstanceParametersUrl( + "/v2/service_instances/0d632575-bb06-4ea5-bb19-a451a9644d92/parameters") + .serviceKeysUrl( + "/v2/service_instances/0d632575-bb06-4ea5-bb19-a451a9644d92/service_keys") + .servicePlanId( + "779d2df0-9cdd-48e8-9781-ea05301cedb1") + .servicePlanUrl( + "/v2/service_plans/779d2df0-9cdd-48e8-9781-ea05301cedb1") + .serviceUrl( + "/v2/services/a14baddf-1ccc-5299-0152-ab9s49de4422") + .sharedFromUrl( + "/v2/service_instances/0d632575-bb06-4ea5-bb19-a451a9644d92/shared_from") + .sharedToUrl( + "/v2/service_instances/0d632575-bb06-4ea5-bb19-a451a9644d92/shared_to") + .spaceId("38511660-89d9-4a6e-a889-c32c7e94f139") + .spaceUrl( + "/v2/spaces/38511660-89d9-4a6e-a889-c32c7e94f139") + .tag("accounting") + .tag("mongodb") + .type("managed_service_instance") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void getParameters() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET) - .path("/service_instances/test-service-instance-id/parameters") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/service_instances/GET_{id}_parameters_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path( + "/service_instances/test-service-instance-id/parameters") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/service_instances/GET_{id}_parameters_response.json") + .build()) + .build()); this.serviceInstances - .getParameters(GetServiceInstanceParametersRequest.builder() - .serviceInstanceId("test-service-instance-id") - .build()) - .as(StepVerifier::create) - .expectNext(GetServiceInstanceParametersResponse.builder() - .parameter("test-param-key-1", "test-param-value-1") - .parameter("test-param-key-2", 12345) - .parameter("test-param-key-3", false) - .parameter("test-param-key-4", 3.141) - .parameter("test-param-key-5", null) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .getParameters( + GetServiceInstanceParametersRequest.builder() + .serviceInstanceId("test-service-instance-id") + .build()) + .as(StepVerifier::create) + .expectNext( + GetServiceInstanceParametersResponse.builder() + .parameter("test-param-key-1", "test-param-value-1") + .parameter("test-param-key-2", 12345) + .parameter("test-param-key-3", false) + .parameter("test-param-key-4", 3.141) + .parameter("test-param-key-5", null) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void getPermissions() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET) - .path("/service_instances/test-service-instance-id/permissions") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/service_instances/GET_{id}_permissions_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path( + "/service_instances/test-service-instance-id/permissions") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/service_instances/GET_{id}_permissions_response.json") + .build()) + .build()); this.serviceInstances - .getPermissions(GetServiceInstancePermissionsRequest.builder() - .serviceInstanceId("test-service-instance-id") - .build()) - .as(StepVerifier::create) - .expectNext(GetServiceInstancePermissionsResponse.builder() - .manage(true) - .read(true) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .getPermissions( + GetServiceInstancePermissionsRequest.builder() + .serviceInstanceId("test-service-instance-id") + .build()) + .as(StepVerifier::create) + .expectNext( + GetServiceInstancePermissionsResponse.builder() + .manage(true) + .read(true) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void list() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET) - .path("/service_instances?q=name%3Atest-name&page=-1") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/service_instances/GET_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/service_instances?q=name%3Atest-name&page=-1") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/service_instances/GET_response.json") + .build()) + .build()); this.serviceInstances - .list(ListServiceInstancesRequest.builder() - .name("test-name") - .page(-1) - .build()) - .as(StepVerifier::create) - .expectNext(ListServiceInstancesResponse.builder() - .totalResults(1) - .totalPages(1) - .resource(ServiceInstanceResource.builder() - .metadata(Metadata.builder() - .id("24ec15f9-f6c7-434a-8893-51baab8408d8") - .url("/v2/service_instances/24ec15f9-f6c7-434a-8893-51baab8408d8") - .createdAt("2015-07-27T22:43:08Z") - .build()) - .entity(ServiceInstanceEntity.builder() - .name("name-133") - .credential("creds-key-72", "creds-val-72") - .servicePlanId("2b53255a-8b40-4671-803d-21d3f5d4183a") - .spaceId("83b3e705-49fd-4c40-8adf-f5e34f622a19") - .type("managed_service_instance") - .lastOperation(LastOperation.builder() - .type("create") - .state("succeeded") - .description("service broker-provided description") - .updatedAt("2015-07-27T22:43:08Z") - .createdAt("2015-07-27T22:43:08Z") - .build()) - .tag("accounting") - .tag("mongodb") - .spaceUrl("/v2/spaces/83b3e705-49fd-4c40-8adf-f5e34f622a19") - .servicePlanUrl("/v2/service_plans/2b53255a-8b40-4671-803d-21d3f5d4183a") - .serviceBindingsUrl("/v2/service_instances/24ec15f9-f6c7-434a-8893-51baab8408d8/service_bindings") - .serviceKeysUrl("/v2/service_instances/24ec15f9-f6c7-434a-8893-51baab8408d8/service_keys") - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .list(ListServiceInstancesRequest.builder().name("test-name").page(-1).build()) + .as(StepVerifier::create) + .expectNext( + ListServiceInstancesResponse.builder() + .totalResults(1) + .totalPages(1) + .resource( + ServiceInstanceResource.builder() + .metadata( + Metadata.builder() + .id( + "24ec15f9-f6c7-434a-8893-51baab8408d8") + .url( + "/v2/service_instances/24ec15f9-f6c7-434a-8893-51baab8408d8") + .createdAt("2015-07-27T22:43:08Z") + .build()) + .entity( + ServiceInstanceEntity.builder() + .name("name-133") + .credential( + "creds-key-72", + "creds-val-72") + .servicePlanId( + "2b53255a-8b40-4671-803d-21d3f5d4183a") + .spaceId( + "83b3e705-49fd-4c40-8adf-f5e34f622a19") + .type("managed_service_instance") + .lastOperation( + LastOperation.builder() + .type("create") + .state("succeeded") + .description( + "service" + + " broker-provided" + + " description") + .updatedAt( + "2015-07-27T22:43:08Z") + .createdAt( + "2015-07-27T22:43:08Z") + .build()) + .tag("accounting") + .tag("mongodb") + .spaceUrl( + "/v2/spaces/83b3e705-49fd-4c40-8adf-f5e34f622a19") + .servicePlanUrl( + "/v2/service_plans/2b53255a-8b40-4671-803d-21d3f5d4183a") + .serviceBindingsUrl( + "/v2/service_instances/24ec15f9-f6c7-434a-8893-51baab8408d8/service_bindings") + .serviceKeysUrl( + "/v2/service_instances/24ec15f9-f6c7-434a-8893-51baab8408d8/service_keys") + .build()) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void listRoutes() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET) - .path("/service_instances/26fae4d0-df82-42f3-ac67-da5873e3a277/routes") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/service_instances/GET_{id}_routes_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path( + "/service_instances/26fae4d0-df82-42f3-ac67-da5873e3a277/routes") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/service_instances/GET_{id}_routes_response.json") + .build()) + .build()); this.serviceInstances - .listRoutes(ListServiceInstanceRoutesRequest.builder() - .serviceInstanceId("26fae4d0-df82-42f3-ac67-da5873e3a277") - .build()) - .as(StepVerifier::create) - .expectNext(ListServiceInstanceRoutesResponse.builder() - .totalResults(1) - .totalPages(1) - .resource(RouteResource.builder() - .metadata(Metadata.builder() - .createdAt("2016-06-08T16:41:30Z") - .id("674b6eac-4a22-4a9d-bee2-b61299a57bf4") - .updatedAt("2016-06-08T16:41:26Z") - .url("/v2/routes/674b6eac-4a22-4a9d-bee2-b61299a57bf4") - .build()) - .entity(RouteEntity.builder() - .applicationsUrl("/v2/routes/674b6eac-4a22-4a9d-bee2-b61299a57bf4/apps") - .domainId("8580604f-60e0-4903-a73f-f2e5e6660a68") - .domainUrl("/v2/private_domains/8580604f-60e0-4903-a73f-f2e5e6660a68") - .host("host-17") - .path("") - .routeMappingsUrl("/v2/routes/674b6eac-4a22-4a9d-bee2-b61299a57bf4/route_mappings") - .serviceInstanceId("26fae4d0-df82-42f3-ac67-da5873e3a277") - .serviceInstanceUrl("/v2/service_instances/26fae4d0-df82-42f3-ac67-da5873e3a277") - .spaceId("276011c4-0550-4a01-82d5-7e9c95feb9ae") - .spaceUrl("/v2/spaces/276011c4-0550-4a01-82d5-7e9c95feb9ae") - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .listRoutes( + ListServiceInstanceRoutesRequest.builder() + .serviceInstanceId("26fae4d0-df82-42f3-ac67-da5873e3a277") + .build()) + .as(StepVerifier::create) + .expectNext( + ListServiceInstanceRoutesResponse.builder() + .totalResults(1) + .totalPages(1) + .resource( + RouteResource.builder() + .metadata( + Metadata.builder() + .createdAt("2016-06-08T16:41:30Z") + .id( + "674b6eac-4a22-4a9d-bee2-b61299a57bf4") + .updatedAt("2016-06-08T16:41:26Z") + .url( + "/v2/routes/674b6eac-4a22-4a9d-bee2-b61299a57bf4") + .build()) + .entity( + RouteEntity.builder() + .applicationsUrl( + "/v2/routes/674b6eac-4a22-4a9d-bee2-b61299a57bf4/apps") + .domainId( + "8580604f-60e0-4903-a73f-f2e5e6660a68") + .domainUrl( + "/v2/private_domains/8580604f-60e0-4903-a73f-f2e5e6660a68") + .host("host-17") + .path("") + .routeMappingsUrl( + "/v2/routes/674b6eac-4a22-4a9d-bee2-b61299a57bf4/route_mappings") + .serviceInstanceId( + "26fae4d0-df82-42f3-ac67-da5873e3a277") + .serviceInstanceUrl( + "/v2/service_instances/26fae4d0-df82-42f3-ac67-da5873e3a277") + .spaceId( + "276011c4-0550-4a01-82d5-7e9c95feb9ae") + .spaceUrl( + "/v2/spaces/276011c4-0550-4a01-82d5-7e9c95feb9ae") + .build()) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void listServiceBindings() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET) - .path("/service_instances/test-service-instance-id/service_bindings?q=app_guid%3Atest-application-id&page=-1") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/service_instances/GET_{id}_service_bindings_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path( + "/service_instances/test-service-instance-id/service_bindings?q=app_guid%3Atest-application-id&page=-1") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/service_instances/GET_{id}_service_bindings_response.json") + .build()) + .build()); this.serviceInstances - .listServiceBindings(ListServiceInstanceServiceBindingsRequest.builder() - .serviceInstanceId("test-service-instance-id") - .applicationId("test-application-id") - .page(-1) - .build()) - .as(StepVerifier::create) - .expectNext(ListServiceInstanceServiceBindingsResponse.builder() - .totalResults(1) - .totalPages(1) - .resource(ServiceBindingResource.builder() - .metadata(Metadata.builder() - .createdAt("2015-07-27T22:43:09Z") - .id("05f3ec3c-8d97-4bd8-bf86-e44cc835a154") - .url("/v2/service_bindings/05f3ec3c-8d97-4bd8-bf86-e44cc835a154") - .build()) - .entity(ServiceBindingEntity.builder() - .applicationId("8a50163b-a39d-4f44-aece-dc5a956da848") - .serviceInstanceId("a5a0567e-edbf-4da9-ae90-dce24af308a1") - .bindingOptions(Collections.emptyMap()) - .credential("creds-key-85", "creds-val-85") - .gatewayName("") - .applicationUrl("/v2/apps/8a50163b-a39d-4f44-aece-dc5a956da848") - .serviceInstanceUrl("/v2/service_instances/a5a0567e-edbf-4da9-ae90-dce24af308a1") - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .listServiceBindings( + ListServiceInstanceServiceBindingsRequest.builder() + .serviceInstanceId("test-service-instance-id") + .applicationId("test-application-id") + .page(-1) + .build()) + .as(StepVerifier::create) + .expectNext( + ListServiceInstanceServiceBindingsResponse.builder() + .totalResults(1) + .totalPages(1) + .resource( + ServiceBindingResource.builder() + .metadata( + Metadata.builder() + .createdAt("2015-07-27T22:43:09Z") + .id( + "05f3ec3c-8d97-4bd8-bf86-e44cc835a154") + .url( + "/v2/service_bindings/05f3ec3c-8d97-4bd8-bf86-e44cc835a154") + .build()) + .entity( + ServiceBindingEntity.builder() + .applicationId( + "8a50163b-a39d-4f44-aece-dc5a956da848") + .serviceInstanceId( + "a5a0567e-edbf-4da9-ae90-dce24af308a1") + .bindingOptions( + Collections.emptyMap()) + .credential( + "creds-key-85", + "creds-val-85") + .gatewayName("") + .applicationUrl( + "/v2/apps/8a50163b-a39d-4f44-aece-dc5a956da848") + .serviceInstanceUrl( + "/v2/service_instances/a5a0567e-edbf-4da9-ae90-dce24af308a1") + .build()) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void listServiceKeys() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET) - .path("/service_instances/test-service-instance-id/service_keys?page=-1") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/service_instances/GET_{id}_service_keys_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path( + "/service_instances/test-service-instance-id/service_keys?page=-1") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/service_instances/GET_{id}_service_keys_response.json") + .build()) + .build()); this.serviceInstances - .listServiceKeys(ListServiceInstanceServiceKeysRequest.builder() - .serviceInstanceId("test-service-instance-id") - .page(-1) - .build()) - .as(StepVerifier::create) - .expectNext(ListServiceInstanceServiceKeysResponse.builder() - .totalResults(1) - .totalPages(1) - .resource(ServiceKeyResource.builder() - .metadata(Metadata.builder() - .id("03ddc0ba-f792-4762-b4e4-dc08b307dc4f") - .url("/v2/service_keys/03ddc0ba-f792-4762-b4e4-dc08b307dc4f") - .createdAt("2016-05-04T04:49:09Z") - .build()) - .entity(ServiceKeyEntity.builder() - .name("a-service-key") - .serviceInstanceId("28120eae-4a44-42da-a3db-2a34aea8dcaa") - .credential("creds-key-68", "creds-val-68") - .serviceInstanceUrl("/v2/service_instances/28120eae-4a44-42da-a3db-2a34aea8dcaa") - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .listServiceKeys( + ListServiceInstanceServiceKeysRequest.builder() + .serviceInstanceId("test-service-instance-id") + .page(-1) + .build()) + .as(StepVerifier::create) + .expectNext( + ListServiceInstanceServiceKeysResponse.builder() + .totalResults(1) + .totalPages(1) + .resource( + ServiceKeyResource.builder() + .metadata( + Metadata.builder() + .id( + "03ddc0ba-f792-4762-b4e4-dc08b307dc4f") + .url( + "/v2/service_keys/03ddc0ba-f792-4762-b4e4-dc08b307dc4f") + .createdAt("2016-05-04T04:49:09Z") + .build()) + .entity( + ServiceKeyEntity.builder() + .name("a-service-key") + .serviceInstanceId( + "28120eae-4a44-42da-a3db-2a34aea8dcaa") + .credential( + "creds-key-68", + "creds-val-68") + .serviceInstanceUrl( + "/v2/service_instances/28120eae-4a44-42da-a3db-2a34aea8dcaa") + .build()) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void unbindRoute() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(DELETE) - .path("/service_instances/8fe97ac9-d53a-4858-b6a4-53c20f1fe409/routes/3bbd74b5-516d-409e-a107-19eaf9b2da18") - .build()) - .response(TestResponse.builder() - .status(NO_CONTENT) - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(DELETE) + .path( + "/service_instances/8fe97ac9-d53a-4858-b6a4-53c20f1fe409/routes/3bbd74b5-516d-409e-a107-19eaf9b2da18") + .build()) + .response(TestResponse.builder().status(NO_CONTENT).build()) + .build()); this.serviceInstances - .unbindRoute(UnbindServiceInstanceRouteRequest.builder() - .routeId("3bbd74b5-516d-409e-a107-19eaf9b2da18") - .serviceInstanceId("8fe97ac9-d53a-4858-b6a4-53c20f1fe409") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .unbindRoute( + UnbindServiceInstanceRouteRequest.builder() + .routeId("3bbd74b5-516d-409e-a107-19eaf9b2da18") + .serviceInstanceId("8fe97ac9-d53a-4858-b6a4-53c20f1fe409") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void update() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(PUT) - .path("/service_instances/test-service-instance-id?accepts_incomplete=true") - .payload("fixtures/client/v2/service_instances/PUT_{id}_request.json") - .build()) - .response(TestResponse.builder() - .status(CREATED) - .payload("fixtures/client/v2/service_instances/PUT_{id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(PUT) + .path( + "/service_instances/test-service-instance-id?accepts_incomplete=true") + .payload( + "fixtures/client/v2/service_instances/PUT_{id}_request.json") + .build()) + .response( + TestResponse.builder() + .status(CREATED) + .payload( + "fixtures/client/v2/service_instances/PUT_{id}_response.json") + .build()) + .build()); this.serviceInstances - .update(UpdateServiceInstanceRequest.builder() - .acceptsIncomplete(true) - .serviceInstanceId("test-service-instance-id") - .servicePlanId("5b5e984f-bbf6-477b-9d3a-b6d5df941b50") - .parameter("the_service_broker", "wants this object") - .tags(Collections.emptyList()) - .build()) - .as(StepVerifier::create) - .expectNext(UpdateServiceInstanceResponse.builder() - .metadata(Metadata.builder() - .createdAt("2016-06-08T16:41:30Z") - .id("a34f1423-4b84-4727-ab49-3f1522c4cb16") - .updatedAt("2016-06-08T16:41:26Z") - .url("/v2/service_instances/a34f1423-4b84-4727-ab49-3f1522c4cb16") - .build()) - .entity(ServiceInstanceEntity.builder() - .name("name-1529") - .credential("creds-key-41", "creds-val-41") - .servicePlanId("4ec73bf4-9f3a-44c7-bbac-61ee9cb5a511") - .spaceId("da37b4b7-2439-4b30-9eb3-bded0dbf690f") - .type("managed_service_instance") - .tags(Collections.emptyList()) - .lastOperation(LastOperation.builder() - .createdAt("2016-06-08T16:41:30Z") - .updatedAt("2016-06-08T16:41:30Z") - .description("") - .state("in progress") - .type("update") - .build()) - .maintenanceInfo(MaintenanceInfo.builder() - .description("OS image update.\nExpect downtime.") - .version("2.1.0") - .build()) - .routesUrl("/v2/service_instances/a34f1423-4b84-4727-ab49-3f1522c4cb16/routes") - .spaceUrl("/v2/spaces/da37b4b7-2439-4b30-9eb3-bded0dbf690f") - .servicePlanUrl("/v2/service_plans/4ec73bf4-9f3a-44c7-bbac-61ee9cb5a511") - .serviceBindingsUrl("/v2/service_instances/a34f1423-4b84-4727-ab49-3f1522c4cb16/service_bindings") - .serviceKeysUrl("/v2/service_instances/a34f1423-4b84-4727-ab49-3f1522c4cb16/service_keys") - .sharedFromUrl("/v2/service_instances/0d632575-bb06-4ea5-bb19-a451a9644d92/shared_from") - .sharedToUrl("/v2/service_instances/0d632575-bb06-4ea5-bb19-a451a9644d92/shared_to") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .update( + UpdateServiceInstanceRequest.builder() + .acceptsIncomplete(true) + .serviceInstanceId("test-service-instance-id") + .servicePlanId("5b5e984f-bbf6-477b-9d3a-b6d5df941b50") + .parameter("the_service_broker", "wants this object") + .tags(Collections.emptyList()) + .build()) + .as(StepVerifier::create) + .expectNext( + UpdateServiceInstanceResponse.builder() + .metadata( + Metadata.builder() + .createdAt("2016-06-08T16:41:30Z") + .id("a34f1423-4b84-4727-ab49-3f1522c4cb16") + .updatedAt("2016-06-08T16:41:26Z") + .url( + "/v2/service_instances/a34f1423-4b84-4727-ab49-3f1522c4cb16") + .build()) + .entity( + ServiceInstanceEntity.builder() + .name("name-1529") + .credential("creds-key-41", "creds-val-41") + .servicePlanId( + "4ec73bf4-9f3a-44c7-bbac-61ee9cb5a511") + .spaceId("da37b4b7-2439-4b30-9eb3-bded0dbf690f") + .type("managed_service_instance") + .tags(Collections.emptyList()) + .lastOperation( + LastOperation.builder() + .createdAt("2016-06-08T16:41:30Z") + .updatedAt("2016-06-08T16:41:30Z") + .description("") + .state("in progress") + .type("update") + .build()) + .maintenanceInfo( + MaintenanceInfo.builder() + .description( + "OS image update.\n" + + "Expect downtime.") + .version("2.1.0") + .build()) + .routesUrl( + "/v2/service_instances/a34f1423-4b84-4727-ab49-3f1522c4cb16/routes") + .spaceUrl( + "/v2/spaces/da37b4b7-2439-4b30-9eb3-bded0dbf690f") + .servicePlanUrl( + "/v2/service_plans/4ec73bf4-9f3a-44c7-bbac-61ee9cb5a511") + .serviceBindingsUrl( + "/v2/service_instances/a34f1423-4b84-4727-ab49-3f1522c4cb16/service_bindings") + .serviceKeysUrl( + "/v2/service_instances/a34f1423-4b84-4727-ab49-3f1522c4cb16/service_keys") + .sharedFromUrl( + "/v2/service_instances/0d632575-bb06-4ea5-bb19-a451a9644d92/shared_from") + .sharedToUrl( + "/v2/service_instances/0d632575-bb06-4ea5-bb19-a451a9644d92/shared_to") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } - } diff --git a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/servicekeys/ReactorServiceKeysTest.java b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/servicekeys/ReactorServiceKeysTest.java index a51e42f43e..fbf2570d5d 100644 --- a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/servicekeys/ReactorServiceKeysTest.java +++ b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/servicekeys/ReactorServiceKeysTest.java @@ -16,6 +16,15 @@ package org.cloudfoundry.reactor.client.v2.servicekeys; +import static io.netty.handler.codec.http.HttpMethod.DELETE; +import static io.netty.handler.codec.http.HttpMethod.GET; +import static io.netty.handler.codec.http.HttpMethod.POST; +import static io.netty.handler.codec.http.HttpResponseStatus.CREATED; +import static io.netty.handler.codec.http.HttpResponseStatus.NO_CONTENT; +import static io.netty.handler.codec.http.HttpResponseStatus.OK; + +import java.time.Duration; +import java.util.Collections; import org.cloudfoundry.client.v2.Metadata; import org.cloudfoundry.client.v2.servicekeys.CreateServiceKeyRequest; import org.cloudfoundry.client.v2.servicekeys.CreateServiceKeyResponse; @@ -33,149 +42,177 @@ import org.junit.Test; import reactor.test.StepVerifier; -import java.time.Duration; -import java.util.Collections; - -import static io.netty.handler.codec.http.HttpMethod.DELETE; -import static io.netty.handler.codec.http.HttpMethod.GET; -import static io.netty.handler.codec.http.HttpMethod.POST; -import static io.netty.handler.codec.http.HttpResponseStatus.CREATED; -import static io.netty.handler.codec.http.HttpResponseStatus.NO_CONTENT; -import static io.netty.handler.codec.http.HttpResponseStatus.OK; - public final class ReactorServiceKeysTest extends AbstractClientApiTest { - private final ReactorServiceKeys serviceKeys = new ReactorServiceKeys(CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); + private final ReactorServiceKeys serviceKeys = + new ReactorServiceKeys( + CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); @Test public void create() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(POST).path("/service_keys") - .payload("fixtures/client/v2/service_keys/POST_request.json") - .build()) - .response(TestResponse.builder() - .status(CREATED) - .payload("fixtures/client/v2/service_keys/POST_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(POST) + .path("/service_keys") + .payload( + "fixtures/client/v2/service_keys/POST_request.json") + .build()) + .response( + TestResponse.builder() + .status(CREATED) + .payload( + "fixtures/client/v2/service_keys/POST_response.json") + .build()) + .build()); this.serviceKeys - .create(CreateServiceKeyRequest.builder() - .name("name-960") - .serviceInstanceId("132944c8-c31d-4bb8-9155-ae4e2ebe1a0c") - .build()) - .as(StepVerifier::create) - .expectNext(CreateServiceKeyResponse.builder() - .metadata(Metadata.builder() - .createdAt("2015-07-27T22:43:22Z") - .id("79aa4b11-99f3-484b-adfc-a63fa818c4d1") - .url("/v2/service_keys/79aa4b11-99f3-484b-adfc-a63fa818c4d1") - .build()) - .entity(ServiceKeyEntity.builder() - .credential("creds-key-392", "creds-val-392") - .name("name-960") - .serviceInstanceId("132944c8-c31d-4bb8-9155-ae4e2ebe1a0c") - .serviceInstanceUrl("/v2/service_instances/132944c8-c31d-4bb8-9155-ae4e2ebe1a0c") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .create( + CreateServiceKeyRequest.builder() + .name("name-960") + .serviceInstanceId("132944c8-c31d-4bb8-9155-ae4e2ebe1a0c") + .build()) + .as(StepVerifier::create) + .expectNext( + CreateServiceKeyResponse.builder() + .metadata( + Metadata.builder() + .createdAt("2015-07-27T22:43:22Z") + .id("79aa4b11-99f3-484b-adfc-a63fa818c4d1") + .url( + "/v2/service_keys/79aa4b11-99f3-484b-adfc-a63fa818c4d1") + .build()) + .entity( + ServiceKeyEntity.builder() + .credential("creds-key-392", "creds-val-392") + .name("name-960") + .serviceInstanceId( + "132944c8-c31d-4bb8-9155-ae4e2ebe1a0c") + .serviceInstanceUrl( + "/v2/service_instances/132944c8-c31d-4bb8-9155-ae4e2ebe1a0c") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void delete() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(DELETE).path("/service_keys/test-service-key-id") - .build()) - .response(TestResponse.builder() - .status(NO_CONTENT) - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(DELETE) + .path("/service_keys/test-service-key-id") + .build()) + .response(TestResponse.builder().status(NO_CONTENT).build()) + .build()); this.serviceKeys - .delete(DeleteServiceKeyRequest.builder() - .serviceKeyId("test-service-key-id") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .delete( + DeleteServiceKeyRequest.builder() + .serviceKeyId("test-service-key-id") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void get() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/service_keys/test-service-key-id") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/service_keys/GET_{id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/service_keys/test-service-key-id") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/service_keys/GET_{id}_response.json") + .build()) + .build()); this.serviceKeys - .get(GetServiceKeyRequest.builder() - .serviceKeyId("test-service-key-id") - .build()) - .as(StepVerifier::create) - .expectNext(GetServiceKeyResponse.builder() - .metadata(Metadata.builder() - .createdAt("2016-06-08T16:41:23Z") - .id("6ad2cc9b-1996-49a3-9538-dfc0da3b1f32") - .updatedAt("2016-06-08T16:41:26Z") - .url("/v2/service_keys/6ad2cc9b-1996-49a3-9538-dfc0da3b1f32") - .build()) - .entity(ServiceKeyEntity.builder() - .credential("creds-key-7", "creds-val-7") - .name("name-140") - .serviceInstanceId("ca567b3d-e142-4139-94e3-1e0c010ba728") - .serviceInstanceUrl("/v2/service_instances/ca567b3d-e142-4139-94e3-1e0c010ba728") - .serviceKeyParametersUrl("/v2/service_keys/6ad2cc9b-1996-49a3-9538-dfc0da3b1f32/parameters") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .get(GetServiceKeyRequest.builder().serviceKeyId("test-service-key-id").build()) + .as(StepVerifier::create) + .expectNext( + GetServiceKeyResponse.builder() + .metadata( + Metadata.builder() + .createdAt("2016-06-08T16:41:23Z") + .id("6ad2cc9b-1996-49a3-9538-dfc0da3b1f32") + .updatedAt("2016-06-08T16:41:26Z") + .url( + "/v2/service_keys/6ad2cc9b-1996-49a3-9538-dfc0da3b1f32") + .build()) + .entity( + ServiceKeyEntity.builder() + .credential("creds-key-7", "creds-val-7") + .name("name-140") + .serviceInstanceId( + "ca567b3d-e142-4139-94e3-1e0c010ba728") + .serviceInstanceUrl( + "/v2/service_instances/ca567b3d-e142-4139-94e3-1e0c010ba728") + .serviceKeyParametersUrl( + "/v2/service_keys/6ad2cc9b-1996-49a3-9538-dfc0da3b1f32/parameters") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void list() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/service_keys?q=name%3Atest-name&page=-1") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/service_keys/GET_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/service_keys?q=name%3Atest-name&page=-1") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/service_keys/GET_response.json") + .build()) + .build()); this.serviceKeys - .list(ListServiceKeysRequest.builder() - .name("test-name") - .page(-1) - .build()) - .as(StepVerifier::create) - .expectNext(ListServiceKeysResponse.builder() - .totalResults(1) - .totalPages(1) - .resource(ServiceKeyResource.builder() - .metadata(Metadata.builder() - .createdAt("2015-07-27T22:43:22Z") - .id("3936801c-9d3f-4b9f-8465-aa3bd263612e") - .url("/v2/service_keys/3936801c-9d3f-4b9f-8465-aa3bd263612e") - .build()) - .entity(ServiceKeyEntity.builder() - .credential("creds-key-383", "creds-val-383") - .name("name-934") - .serviceInstanceId("84d384d9-42c2-4e4b-a8c6-865e9446e024") - .serviceInstanceUrl("/v2/service_instances/84d384d9-42c2-4e4b-a8c6-865e9446e024") - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .list(ListServiceKeysRequest.builder().name("test-name").page(-1).build()) + .as(StepVerifier::create) + .expectNext( + ListServiceKeysResponse.builder() + .totalResults(1) + .totalPages(1) + .resource( + ServiceKeyResource.builder() + .metadata( + Metadata.builder() + .createdAt("2015-07-27T22:43:22Z") + .id( + "3936801c-9d3f-4b9f-8465-aa3bd263612e") + .url( + "/v2/service_keys/3936801c-9d3f-4b9f-8465-aa3bd263612e") + .build()) + .entity( + ServiceKeyEntity.builder() + .credential( + "creds-key-383", + "creds-val-383") + .name("name-934") + .serviceInstanceId( + "84d384d9-42c2-4e4b-a8c6-865e9446e024") + .serviceInstanceUrl( + "/v2/service_instances/84d384d9-42c2-4e4b-a8c6-865e9446e024") + .build()) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } - } diff --git a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/serviceplans/ReactorServicePlansTest.java b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/serviceplans/ReactorServicePlansTest.java index a3624dc3d5..7fa7ceb3d0 100644 --- a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/serviceplans/ReactorServicePlansTest.java +++ b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/serviceplans/ReactorServicePlansTest.java @@ -16,6 +16,18 @@ package org.cloudfoundry.reactor.client.v2.serviceplans; +import static io.netty.handler.codec.http.HttpMethod.DELETE; +import static io.netty.handler.codec.http.HttpMethod.GET; +import static io.netty.handler.codec.http.HttpMethod.PUT; +import static io.netty.handler.codec.http.HttpResponseStatus.ACCEPTED; +import static io.netty.handler.codec.http.HttpResponseStatus.CREATED; +import static io.netty.handler.codec.http.HttpResponseStatus.NO_CONTENT; +import static io.netty.handler.codec.http.HttpResponseStatus.OK; + +import java.time.Duration; +import java.util.Collections; +import java.util.HashMap; +import java.util.Map; import org.cloudfoundry.client.v2.Metadata; import org.cloudfoundry.client.v2.jobs.JobEntity; import org.cloudfoundry.client.v2.serviceinstances.ServiceInstanceEntity; @@ -44,266 +56,336 @@ import org.junit.Test; import reactor.test.StepVerifier; -import java.time.Duration; -import java.util.Collections; -import java.util.HashMap; -import java.util.Map; - -import static io.netty.handler.codec.http.HttpMethod.DELETE; -import static io.netty.handler.codec.http.HttpMethod.GET; -import static io.netty.handler.codec.http.HttpMethod.PUT; -import static io.netty.handler.codec.http.HttpResponseStatus.ACCEPTED; -import static io.netty.handler.codec.http.HttpResponseStatus.CREATED; -import static io.netty.handler.codec.http.HttpResponseStatus.NO_CONTENT; -import static io.netty.handler.codec.http.HttpResponseStatus.OK; - public final class ReactorServicePlansTest extends AbstractClientApiTest { - private final ReactorServicePlans servicePlans = new ReactorServicePlans(CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); + private final ReactorServicePlans servicePlans = + new ReactorServicePlans( + CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); @Test public void delete() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(DELETE).path("/service_plans/test-service-plan-id") - .build()) - .response(TestResponse.builder() - .status(NO_CONTENT) - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(DELETE) + .path("/service_plans/test-service-plan-id") + .build()) + .response(TestResponse.builder().status(NO_CONTENT).build()) + .build()); this.servicePlans - .delete(DeleteServicePlanRequest.builder() - .servicePlanId("test-service-plan-id") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .delete( + DeleteServicePlanRequest.builder() + .servicePlanId("test-service-plan-id") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void deleteAsync() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(DELETE).path("/service_plans/test-service-plan-id?async=true") - .build()) - .response(TestResponse.builder() - .status(ACCEPTED) - .payload("fixtures/client/v2/service_plans/DELETE_{id}_async_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(DELETE) + .path("/service_plans/test-service-plan-id?async=true") + .build()) + .response( + TestResponse.builder() + .status(ACCEPTED) + .payload( + "fixtures/client/v2/service_plans/DELETE_{id}_async_response.json") + .build()) + .build()); this.servicePlans - .delete(DeleteServicePlanRequest.builder() - .async(true) - .servicePlanId("test-service-plan-id") - .build()) - .as(StepVerifier::create) - .expectNext(DeleteServicePlanResponse.builder() - .metadata(Metadata.builder() - .id("2d9707ba-6f0b-4aef-a3de-fe9bdcf0c9d1") - .createdAt("2016-02-02T17:16:31Z") - .url("/v2/jobs/2d9707ba-6f0b-4aef-a3de-fe9bdcf0c9d1") - .build()) - .entity(JobEntity.builder() - .id("2d9707ba-6f0b-4aef-a3de-fe9bdcf0c9d1") - .status("queued") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .delete( + DeleteServicePlanRequest.builder() + .async(true) + .servicePlanId("test-service-plan-id") + .build()) + .as(StepVerifier::create) + .expectNext( + DeleteServicePlanResponse.builder() + .metadata( + Metadata.builder() + .id("2d9707ba-6f0b-4aef-a3de-fe9bdcf0c9d1") + .createdAt("2016-02-02T17:16:31Z") + .url( + "/v2/jobs/2d9707ba-6f0b-4aef-a3de-fe9bdcf0c9d1") + .build()) + .entity( + JobEntity.builder() + .id("2d9707ba-6f0b-4aef-a3de-fe9bdcf0c9d1") + .status("queued") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void get() { Map details = new HashMap<>(); - details.put("description", "Billing account number used to charge use of shared fake server."); + details.put( + "description", "Billing account number used to charge use of shared fake server."); details.put("type", "string"); - Schema testSchema = Schema.builder() - .parameters(Parameters.builder() - .jsonSchema("http://json-schema.org/draft-04/schema#") - .properties(Collections.singletonMap("billing-account", details)) - .type("object") - .build()) - .build(); + Schema testSchema = + Schema.builder() + .parameters( + Parameters.builder() + .jsonSchema("http://json-schema.org/draft-04/schema#") + .properties( + Collections.singletonMap( + "billing-account", details)) + .type("object") + .build()) + .build(); - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/service_plans/test-service-plan-id") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/service_plans/GET_{id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/service_plans/test-service-plan-id") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/service_plans/GET_{id}_response.json") + .build()) + .build()); this.servicePlans - .get(GetServicePlanRequest.builder() - .servicePlanId("test-service-plan-id") - .build()) - .as(StepVerifier::create) - .expectNext(GetServicePlanResponse.builder() - .metadata(Metadata.builder() - .createdAt("2015-07-27T22:43:16Z") - .id("f6ceb8a2-e6fc-43d5-a11b-7ced9e1b47c7") - .url("/v2/service_plans/f6ceb8a2-e6fc-43d5-a11b-7ced9e1b47c7") - .build()) - .entity(ServicePlanEntity.builder() - .name("name-462") - .free(false) - .description("desc-52") - .serviceId("8ac39757-0f9d-4295-9b6f-e626f7ee3cd4") - .uniqueId("2aa0162c-9c88-4084-ad1d-566a09e8d316") - .publiclyVisible(true) - .active(true) - .schemas(Schemas.builder() - .serviceBinding(ServiceBindingSchema.builder() - .create(testSchema) - .build()) - .serviceInstance(ServiceInstanceSchema.builder() - .create(testSchema) - .update(testSchema) - .build()) - .build()) - .serviceUrl("/v2/services/8ac39757-0f9d-4295-9b6f-e626f7ee3cd4") - .serviceInstancesUrl("/v2/service_plans/f6ceb8a2-e6fc-43d5-a11b-7ced9e1b47c7/service_instances") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .get(GetServicePlanRequest.builder().servicePlanId("test-service-plan-id").build()) + .as(StepVerifier::create) + .expectNext( + GetServicePlanResponse.builder() + .metadata( + Metadata.builder() + .createdAt("2015-07-27T22:43:16Z") + .id("f6ceb8a2-e6fc-43d5-a11b-7ced9e1b47c7") + .url( + "/v2/service_plans/f6ceb8a2-e6fc-43d5-a11b-7ced9e1b47c7") + .build()) + .entity( + ServicePlanEntity.builder() + .name("name-462") + .free(false) + .description("desc-52") + .serviceId("8ac39757-0f9d-4295-9b6f-e626f7ee3cd4") + .uniqueId("2aa0162c-9c88-4084-ad1d-566a09e8d316") + .publiclyVisible(true) + .active(true) + .schemas( + Schemas.builder() + .serviceBinding( + ServiceBindingSchema + .builder() + .create(testSchema) + .build()) + .serviceInstance( + ServiceInstanceSchema + .builder() + .create(testSchema) + .update(testSchema) + .build()) + .build()) + .serviceUrl( + "/v2/services/8ac39757-0f9d-4295-9b6f-e626f7ee3cd4") + .serviceInstancesUrl( + "/v2/service_plans/f6ceb8a2-e6fc-43d5-a11b-7ced9e1b47c7/service_instances") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void list() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/service_plans?q=service_guid%3Atest-service-id&page=-1") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/service_plans/GET_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path( + "/service_plans?q=service_guid%3Atest-service-id&page=-1") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/service_plans/GET_response.json") + .build()) + .build()); this.servicePlans - .list(ListServicePlansRequest.builder() - .serviceId("test-service-id") - .page(-1) - .build()) - .as(StepVerifier::create) - .expectNext(ListServicePlansResponse.builder() - .totalResults(1) - .totalPages(1) - .resource(ServicePlanResource.builder() - .metadata(Metadata.builder() - .createdAt("2015-07-27T22:43:16Z") - .id("956cb355-3acc-4ced-8161-a57b9b5c7943") - .url("/v2/service_plans/956cb355-3acc-4ced-8161-a57b9b5c7943") - .build()) - .entity(ServicePlanEntity.builder() - .name("name-464") - .free(false) - .description("desc-54") - .serviceId("83dc64ef-eb0a-454c-b3d9-c554921f3bd2") - .uniqueId("49aee95b-2108-4bbb-9769-c6197f308acf") - .publiclyVisible(true) - .active(true) - .serviceUrl("/v2/services/83dc64ef-eb0a-454c-b3d9-c554921f3bd2") - .serviceInstancesUrl("/v2/service_plans/956cb355-3acc-4ced-8161-a57b9b5c7943/service_instances") - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .list( + ListServicePlansRequest.builder() + .serviceId("test-service-id") + .page(-1) + .build()) + .as(StepVerifier::create) + .expectNext( + ListServicePlansResponse.builder() + .totalResults(1) + .totalPages(1) + .resource( + ServicePlanResource.builder() + .metadata( + Metadata.builder() + .createdAt("2015-07-27T22:43:16Z") + .id( + "956cb355-3acc-4ced-8161-a57b9b5c7943") + .url( + "/v2/service_plans/956cb355-3acc-4ced-8161-a57b9b5c7943") + .build()) + .entity( + ServicePlanEntity.builder() + .name("name-464") + .free(false) + .description("desc-54") + .serviceId( + "83dc64ef-eb0a-454c-b3d9-c554921f3bd2") + .uniqueId( + "49aee95b-2108-4bbb-9769-c6197f308acf") + .publiclyVisible(true) + .active(true) + .serviceUrl( + "/v2/services/83dc64ef-eb0a-454c-b3d9-c554921f3bd2") + .serviceInstancesUrl( + "/v2/service_plans/956cb355-3acc-4ced-8161-a57b9b5c7943/service_instances") + .build()) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void listServiceInstances() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/service_plans/test-service-plan-id/service_instances?q=space_guid%3Atest-space-id&page=-1") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/service_plans/GET_{id}_service_instances_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path( + "/service_plans/test-service-plan-id/service_instances?q=space_guid%3Atest-space-id&page=-1") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/service_plans/GET_{id}_service_instances_response.json") + .build()) + .build()); this.servicePlans - .listServiceInstances(ListServicePlanServiceInstancesRequest.builder() - .servicePlanId("test-service-plan-id") - .spaceId("test-space-id") - .page(-1) - .build()) - .as(StepVerifier::create) - .expectNext(ListServicePlanServiceInstancesResponse.builder() - .totalResults(1) - .totalPages(1) - .resource(ServiceInstanceResource.builder() - .metadata(Metadata.builder() - .createdAt("2015-07-27T22:43:16Z") - .id("b95c56b9-f81b-4d34-9a00-a1a1ddba5f2f") - .url("/v2/service_instances/b95c56b9-f81b-4d34-9a00-a1a1ddba5f2f") - .build()) - .entity(ServiceInstanceEntity.builder() - .name("name-457") - .credential("creds-key-268", "creds-val-268") - .servicePlanId("bb29926c-7482-4ae5-803c-ec99e95aa278") - .spaceId("cf5812f5-bf43-40cc-88d4-d50b76d7797d") - .type("managed_service_instance") - .tags(Collections.emptyList()) - .spaceUrl("/v2/spaces/cf5812f5-bf43-40cc-88d4-d50b76d7797d") - .servicePlanUrl("/v2/service_plans/bb29926c-7482-4ae5-803c-ec99e95aa278") - .serviceBindingsUrl("/v2/service_instances/b95c56b9-f81b-4d34-9a00-a1a1ddba5f2f/service_bindings") - .serviceKeysUrl("/v2/service_instances/b95c56b9-f81b-4d34-9a00-a1a1ddba5f2f/service_keys") - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .listServiceInstances( + ListServicePlanServiceInstancesRequest.builder() + .servicePlanId("test-service-plan-id") + .spaceId("test-space-id") + .page(-1) + .build()) + .as(StepVerifier::create) + .expectNext( + ListServicePlanServiceInstancesResponse.builder() + .totalResults(1) + .totalPages(1) + .resource( + ServiceInstanceResource.builder() + .metadata( + Metadata.builder() + .createdAt("2015-07-27T22:43:16Z") + .id( + "b95c56b9-f81b-4d34-9a00-a1a1ddba5f2f") + .url( + "/v2/service_instances/b95c56b9-f81b-4d34-9a00-a1a1ddba5f2f") + .build()) + .entity( + ServiceInstanceEntity.builder() + .name("name-457") + .credential( + "creds-key-268", + "creds-val-268") + .servicePlanId( + "bb29926c-7482-4ae5-803c-ec99e95aa278") + .spaceId( + "cf5812f5-bf43-40cc-88d4-d50b76d7797d") + .type("managed_service_instance") + .tags(Collections.emptyList()) + .spaceUrl( + "/v2/spaces/cf5812f5-bf43-40cc-88d4-d50b76d7797d") + .servicePlanUrl( + "/v2/service_plans/bb29926c-7482-4ae5-803c-ec99e95aa278") + .serviceBindingsUrl( + "/v2/service_instances/b95c56b9-f81b-4d34-9a00-a1a1ddba5f2f/service_bindings") + .serviceKeysUrl( + "/v2/service_instances/b95c56b9-f81b-4d34-9a00-a1a1ddba5f2f/service_keys") + .build()) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void update() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(PUT).path("/service_plans/test-service-plan-id") - .payload("fixtures/client/v2/service_plans/PUT_{id}_request.json") - .build()) - .response(TestResponse.builder() - .status(CREATED) - .payload("fixtures/client/v2/service_plans/PUT_{id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(PUT) + .path("/service_plans/test-service-plan-id") + .payload( + "fixtures/client/v2/service_plans/PUT_{id}_request.json") + .build()) + .response( + TestResponse.builder() + .status(CREATED) + .payload( + "fixtures/client/v2/service_plans/PUT_{id}_response.json") + .build()) + .build()); this.servicePlans - .update(UpdateServicePlanRequest.builder() - .servicePlanId("test-service-plan-id") - .publiclyVisible(false) - .build()) - .as(StepVerifier::create) - .expectNext(UpdateServicePlanResponse.builder() - .metadata(Metadata.builder() - .id("195f6bd5-0aa4-4a97-9c8d-5410e5e6d4b6") - .url("/v2/service_plans/195f6bd5-0aa4-4a97-9c8d-5410e5e6d4b6") - .createdAt("2016-02-19T02:04:09Z") - .updatedAt("2016-02-19T02:04:09Z") - .build()) - .entity(ServicePlanEntity.builder() - .name("name-2674") - .free(false) - .description("desc-225") - .serviceId("42bea093-8fe5-491a-8a34-b1943dc3709a") - .uniqueId("7c4f2f8a-aa82-49e9-9f0c-76248aa1036d") - .publiclyVisible(false) - .active(true) - .serviceUrl("/v2/services/42bea093-8fe5-491a-8a34-b1943dc3709a") - .serviceInstancesUrl("/v2/service_plans/195f6bd5-0aa4-4a97-9c8d-5410e5e6d4b6/service_instances") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .update( + UpdateServicePlanRequest.builder() + .servicePlanId("test-service-plan-id") + .publiclyVisible(false) + .build()) + .as(StepVerifier::create) + .expectNext( + UpdateServicePlanResponse.builder() + .metadata( + Metadata.builder() + .id("195f6bd5-0aa4-4a97-9c8d-5410e5e6d4b6") + .url( + "/v2/service_plans/195f6bd5-0aa4-4a97-9c8d-5410e5e6d4b6") + .createdAt("2016-02-19T02:04:09Z") + .updatedAt("2016-02-19T02:04:09Z") + .build()) + .entity( + ServicePlanEntity.builder() + .name("name-2674") + .free(false) + .description("desc-225") + .serviceId("42bea093-8fe5-491a-8a34-b1943dc3709a") + .uniqueId("7c4f2f8a-aa82-49e9-9f0c-76248aa1036d") + .publiclyVisible(false) + .active(true) + .serviceUrl( + "/v2/services/42bea093-8fe5-491a-8a34-b1943dc3709a") + .serviceInstancesUrl( + "/v2/service_plans/195f6bd5-0aa4-4a97-9c8d-5410e5e6d4b6/service_instances") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } - } diff --git a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/serviceplanvisibilities/ReactorServicePlanVisibilitiesTest.java b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/serviceplanvisibilities/ReactorServicePlanVisibilitiesTest.java index 62e153d09d..df064ee4a3 100644 --- a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/serviceplanvisibilities/ReactorServicePlanVisibilitiesTest.java +++ b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/serviceplanvisibilities/ReactorServicePlanVisibilitiesTest.java @@ -16,6 +16,17 @@ package org.cloudfoundry.reactor.client.v2.serviceplanvisibilities; +import static io.netty.handler.codec.http.HttpMethod.DELETE; +import static io.netty.handler.codec.http.HttpMethod.GET; +import static io.netty.handler.codec.http.HttpMethod.POST; +import static io.netty.handler.codec.http.HttpMethod.PUT; +import static io.netty.handler.codec.http.HttpResponseStatus.ACCEPTED; +import static io.netty.handler.codec.http.HttpResponseStatus.CREATED; +import static io.netty.handler.codec.http.HttpResponseStatus.NO_CONTENT; +import static io.netty.handler.codec.http.HttpResponseStatus.OK; + +import java.time.Duration; +import java.util.Collections; import org.cloudfoundry.client.v2.Metadata; import org.cloudfoundry.client.v2.jobs.JobEntity; import org.cloudfoundry.client.v2.serviceplanvisibilities.CreateServicePlanVisibilityRequest; @@ -38,221 +49,286 @@ import org.junit.Test; import reactor.test.StepVerifier; -import java.time.Duration; -import java.util.Collections; - -import static io.netty.handler.codec.http.HttpMethod.DELETE; -import static io.netty.handler.codec.http.HttpMethod.GET; -import static io.netty.handler.codec.http.HttpMethod.POST; -import static io.netty.handler.codec.http.HttpMethod.PUT; -import static io.netty.handler.codec.http.HttpResponseStatus.ACCEPTED; -import static io.netty.handler.codec.http.HttpResponseStatus.CREATED; -import static io.netty.handler.codec.http.HttpResponseStatus.NO_CONTENT; -import static io.netty.handler.codec.http.HttpResponseStatus.OK; - public final class ReactorServicePlanVisibilitiesTest extends AbstractClientApiTest { - private final ServicePlanVisibilities servicePlanVisibilities = new ReactorServicePlanVisibilities(CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); + private final ServicePlanVisibilities servicePlanVisibilities = + new ReactorServicePlanVisibilities( + CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); @Test public void create() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(POST).path("/service_plan_visibilities") - .payload("fixtures/client/v2/service_plan_visibilities/POST_request.json") - .build()) - .response(TestResponse.builder() - .status(CREATED) - .payload("fixtures/client/v2/service_plan_visibilities/POST_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(POST) + .path("/service_plan_visibilities") + .payload( + "fixtures/client/v2/service_plan_visibilities/POST_request.json") + .build()) + .response( + TestResponse.builder() + .status(CREATED) + .payload( + "fixtures/client/v2/service_plan_visibilities/POST_response.json") + .build()) + .build()); this.servicePlanVisibilities - .create(CreateServicePlanVisibilityRequest.builder() - .organizationId("09be17a1-0cc6-4edb-955c-cf2a2ae85470") - .servicePlanId("43f5496b-9117-404a-a637-eb38141b05af") - .build()) - .as(StepVerifier::create) - .expectNext(CreateServicePlanVisibilityResponse.builder() - .metadata(Metadata.builder() - .createdAt("2015-07-27T22:43:28Z") - .id("28a22749-25f4-44bd-a371-c37e2ee53175") - .url("/v2/service_plan_visibilities/28a22749-25f4-44bd-a371-c37e2ee53175") - .build()) - .entity(ServicePlanVisibilityEntity.builder() - .organizationId("09be17a1-0cc6-4edb-955c-cf2a2ae85470") - .organizationUrl("/v2/organizations/09be17a1-0cc6-4edb-955c-cf2a2ae85470") - .servicePlanId("43f5496b-9117-404a-a637-eb38141b05af") - .servicePlanUrl("/v2/service_plans/43f5496b-9117-404a-a637-eb38141b05af") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .create( + CreateServicePlanVisibilityRequest.builder() + .organizationId("09be17a1-0cc6-4edb-955c-cf2a2ae85470") + .servicePlanId("43f5496b-9117-404a-a637-eb38141b05af") + .build()) + .as(StepVerifier::create) + .expectNext( + CreateServicePlanVisibilityResponse.builder() + .metadata( + Metadata.builder() + .createdAt("2015-07-27T22:43:28Z") + .id("28a22749-25f4-44bd-a371-c37e2ee53175") + .url( + "/v2/service_plan_visibilities/28a22749-25f4-44bd-a371-c37e2ee53175") + .build()) + .entity( + ServicePlanVisibilityEntity.builder() + .organizationId( + "09be17a1-0cc6-4edb-955c-cf2a2ae85470") + .organizationUrl( + "/v2/organizations/09be17a1-0cc6-4edb-955c-cf2a2ae85470") + .servicePlanId( + "43f5496b-9117-404a-a637-eb38141b05af") + .servicePlanUrl( + "/v2/service_plans/43f5496b-9117-404a-a637-eb38141b05af") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void delete() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(DELETE).path("/service_plan_visibilities/test-service-plan-visibility-id") - .build()) - .response(TestResponse.builder() - .status(NO_CONTENT) - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(DELETE) + .path( + "/service_plan_visibilities/test-service-plan-visibility-id") + .build()) + .response(TestResponse.builder().status(NO_CONTENT).build()) + .build()); this.servicePlanVisibilities - .delete(DeleteServicePlanVisibilityRequest.builder() - .servicePlanVisibilityId("test-service-plan-visibility-id") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .delete( + DeleteServicePlanVisibilityRequest.builder() + .servicePlanVisibilityId("test-service-plan-visibility-id") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void deleteAsync() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(DELETE).path("/service_plan_visibilities/test-service-plan-visibility-id?async=true") - .build()) - .response(TestResponse.builder() - .status(ACCEPTED) - .payload("fixtures/client/v2/service_plan_visibilities/DELETE_{id}_async_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(DELETE) + .path( + "/service_plan_visibilities/test-service-plan-visibility-id?async=true") + .build()) + .response( + TestResponse.builder() + .status(ACCEPTED) + .payload( + "fixtures/client/v2/service_plan_visibilities/DELETE_{id}_async_response.json") + .build()) + .build()); this.servicePlanVisibilities - .delete(DeleteServicePlanVisibilityRequest.builder() - .async(true) - .servicePlanVisibilityId("test-service-plan-visibility-id") - .build()) - .as(StepVerifier::create) - .expectNext(DeleteServicePlanVisibilityResponse.builder() - .metadata(Metadata.builder() - .id("2d9707ba-6f0b-4aef-a3de-fe9bdcf0c9d1") - .createdAt("2016-02-02T17:16:31Z") - .url("/v2/jobs/2d9707ba-6f0b-4aef-a3de-fe9bdcf0c9d1") - .build()) - .entity(JobEntity.builder() - .id("2d9707ba-6f0b-4aef-a3de-fe9bdcf0c9d1") - .status("queued") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .delete( + DeleteServicePlanVisibilityRequest.builder() + .async(true) + .servicePlanVisibilityId("test-service-plan-visibility-id") + .build()) + .as(StepVerifier::create) + .expectNext( + DeleteServicePlanVisibilityResponse.builder() + .metadata( + Metadata.builder() + .id("2d9707ba-6f0b-4aef-a3de-fe9bdcf0c9d1") + .createdAt("2016-02-02T17:16:31Z") + .url( + "/v2/jobs/2d9707ba-6f0b-4aef-a3de-fe9bdcf0c9d1") + .build()) + .entity( + JobEntity.builder() + .id("2d9707ba-6f0b-4aef-a3de-fe9bdcf0c9d1") + .status("queued") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void get() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/service_plan_visibilities/test-service-plan-visibility-id") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/service_plan_visibilities/GET_{id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path( + "/service_plan_visibilities/test-service-plan-visibility-id") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/service_plan_visibilities/GET_{id}_response.json") + .build()) + .build()); this.servicePlanVisibilities - .get(GetServicePlanVisibilityRequest.builder() - .servicePlanVisibilityId("test-service-plan-visibility-id") - .build()) - .as(StepVerifier::create) - .expectNext(GetServicePlanVisibilityResponse.builder() - .metadata(Metadata.builder() - .createdAt("2015-07-27T22:43:28Z") - .id("18365c25-898b-4365-911d-6f6a09154297") - .url("/v2/service_plan_visibilities/18365c25-898b-4365-911d-6f6a09154297") - .build()) - .entity(ServicePlanVisibilityEntity.builder() - .organizationId("a1cc950b-ed5b-41eb-8eee-d9a8f85aa1ea") - .organizationUrl("/v2/organizations/a1cc950b-ed5b-41eb-8eee-d9a8f85aa1ea") - .servicePlanId("ea1ba716-e720-4aef-8a90-439924bb53d0") - .servicePlanUrl("/v2/service_plans/ea1ba716-e720-4aef-8a90-439924bb53d0") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .get( + GetServicePlanVisibilityRequest.builder() + .servicePlanVisibilityId("test-service-plan-visibility-id") + .build()) + .as(StepVerifier::create) + .expectNext( + GetServicePlanVisibilityResponse.builder() + .metadata( + Metadata.builder() + .createdAt("2015-07-27T22:43:28Z") + .id("18365c25-898b-4365-911d-6f6a09154297") + .url( + "/v2/service_plan_visibilities/18365c25-898b-4365-911d-6f6a09154297") + .build()) + .entity( + ServicePlanVisibilityEntity.builder() + .organizationId( + "a1cc950b-ed5b-41eb-8eee-d9a8f85aa1ea") + .organizationUrl( + "/v2/organizations/a1cc950b-ed5b-41eb-8eee-d9a8f85aa1ea") + .servicePlanId( + "ea1ba716-e720-4aef-8a90-439924bb53d0") + .servicePlanUrl( + "/v2/service_plans/ea1ba716-e720-4aef-8a90-439924bb53d0") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void list() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/service_plan_visibilities?q=organization_guid%3Atest-organization-id&page=-1") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/service_plan_visibilities/GET_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path( + "/service_plan_visibilities?q=organization_guid%3Atest-organization-id&page=-1") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/service_plan_visibilities/GET_response.json") + .build()) + .build()); this.servicePlanVisibilities - .list(ListServicePlanVisibilitiesRequest.builder() - .organizationId("test-organization-id") - .page(-1) - .build()) - .as(StepVerifier::create) - .expectNext(ListServicePlanVisibilitiesResponse.builder() - .totalPages(1) - .totalResults(1) - .resource(ServicePlanVisibilityResource.builder() - .metadata(Metadata.builder() - .id("3d5c0584-fbf0-4d75-b68e-226e77496f69") - .url("/v2/service_plan_visibilities/3d5c0584-fbf0-4d75-b68e-226e77496f69") - .createdAt("2015-07-27T22:43:28Z") - .build()) - .entity(ServicePlanVisibilityEntity.builder() - .organizationId("1dbe25db-6a8c-43e7-a941-cc483bb45570") - .organizationUrl("/v2/organizations/1dbe25db-6a8c-43e7-a941-cc483bb45570") - .servicePlanId("69cab29d-826c-48bf-b435-b43013f9c11b") - .servicePlanUrl("/v2/service_plans/69cab29d-826c-48bf-b435-b43013f9c11b") - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .list( + ListServicePlanVisibilitiesRequest.builder() + .organizationId("test-organization-id") + .page(-1) + .build()) + .as(StepVerifier::create) + .expectNext( + ListServicePlanVisibilitiesResponse.builder() + .totalPages(1) + .totalResults(1) + .resource( + ServicePlanVisibilityResource.builder() + .metadata( + Metadata.builder() + .id( + "3d5c0584-fbf0-4d75-b68e-226e77496f69") + .url( + "/v2/service_plan_visibilities/3d5c0584-fbf0-4d75-b68e-226e77496f69") + .createdAt("2015-07-27T22:43:28Z") + .build()) + .entity( + ServicePlanVisibilityEntity.builder() + .organizationId( + "1dbe25db-6a8c-43e7-a941-cc483bb45570") + .organizationUrl( + "/v2/organizations/1dbe25db-6a8c-43e7-a941-cc483bb45570") + .servicePlanId( + "69cab29d-826c-48bf-b435-b43013f9c11b") + .servicePlanUrl( + "/v2/service_plans/69cab29d-826c-48bf-b435-b43013f9c11b") + .build()) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void update() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(PUT).path("/service_plan_visibilities/test-service-plan-visibility-id") - .payload("fixtures/client/v2/service_plan_visibilities/PUT_{id}_request.json") - .build()) - .response(TestResponse.builder() - .status(CREATED) - .payload("fixtures/client/v2/service_plan_visibilities/PUT_{id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(PUT) + .path( + "/service_plan_visibilities/test-service-plan-visibility-id") + .payload( + "fixtures/client/v2/service_plan_visibilities/PUT_{id}_request.json") + .build()) + .response( + TestResponse.builder() + .status(CREATED) + .payload( + "fixtures/client/v2/service_plan_visibilities/PUT_{id}_response.json") + .build()) + .build()); this.servicePlanVisibilities - .update(UpdateServicePlanVisibilityRequest.builder() - .organizationId("e4d0b68b-9e73-4253-b03f-2bfda6cd814b") - .servicePlanId("7288464d-3866-436a-915c-2bada4725e7e") - .servicePlanVisibilityId("test-service-plan-visibility-id") - .build()) - .as(StepVerifier::create) - .expectNext(UpdateServicePlanVisibilityResponse.builder() - .metadata(Metadata.builder() - .createdAt("2015-07-27T22:43:28Z") - .id("5f1514f9-66ee-4799-9de2-69f2ec3cb5f1") - .updatedAt("2015-07-27T22:43:28Z") - .url("/v2/service_plan_visibilities/5f1514f9-66ee-4799-9de2-69f2ec3cb5f1") - .build()) - .entity(ServicePlanVisibilityEntity.builder() - .organizationId("e4d0b68b-9e73-4253-b03f-2bfda6cd814b") - .organizationUrl("/v2/organizations/e4d0b68b-9e73-4253-b03f-2bfda6cd814b") - .servicePlanId("7288464d-3866-436a-915c-2bada4725e7e") - .servicePlanUrl("/v2/service_plans/7288464d-3866-436a-915c-2bada4725e7e") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .update( + UpdateServicePlanVisibilityRequest.builder() + .organizationId("e4d0b68b-9e73-4253-b03f-2bfda6cd814b") + .servicePlanId("7288464d-3866-436a-915c-2bada4725e7e") + .servicePlanVisibilityId("test-service-plan-visibility-id") + .build()) + .as(StepVerifier::create) + .expectNext( + UpdateServicePlanVisibilityResponse.builder() + .metadata( + Metadata.builder() + .createdAt("2015-07-27T22:43:28Z") + .id("5f1514f9-66ee-4799-9de2-69f2ec3cb5f1") + .updatedAt("2015-07-27T22:43:28Z") + .url( + "/v2/service_plan_visibilities/5f1514f9-66ee-4799-9de2-69f2ec3cb5f1") + .build()) + .entity( + ServicePlanVisibilityEntity.builder() + .organizationId( + "e4d0b68b-9e73-4253-b03f-2bfda6cd814b") + .organizationUrl( + "/v2/organizations/e4d0b68b-9e73-4253-b03f-2bfda6cd814b") + .servicePlanId( + "7288464d-3866-436a-915c-2bada4725e7e") + .servicePlanUrl( + "/v2/service_plans/7288464d-3866-436a-915c-2bada4725e7e") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } - - } diff --git a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/services/ReactorServicesTest.java b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/services/ReactorServicesTest.java index a570724849..031ddd8da6 100644 --- a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/services/ReactorServicesTest.java +++ b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/services/ReactorServicesTest.java @@ -16,6 +16,14 @@ package org.cloudfoundry.reactor.client.v2.services; +import static io.netty.handler.codec.http.HttpMethod.DELETE; +import static io.netty.handler.codec.http.HttpMethod.GET; +import static io.netty.handler.codec.http.HttpResponseStatus.ACCEPTED; +import static io.netty.handler.codec.http.HttpResponseStatus.NO_CONTENT; +import static io.netty.handler.codec.http.HttpResponseStatus.OK; + +import java.time.Duration; +import java.util.Collections; import org.cloudfoundry.client.v2.Metadata; import org.cloudfoundry.client.v2.jobs.JobEntity; import org.cloudfoundry.client.v2.serviceplans.ServicePlanEntity; @@ -37,201 +45,241 @@ import org.junit.Test; import reactor.test.StepVerifier; -import java.time.Duration; -import java.util.Collections; - -import static io.netty.handler.codec.http.HttpMethod.DELETE; -import static io.netty.handler.codec.http.HttpMethod.GET; -import static io.netty.handler.codec.http.HttpResponseStatus.ACCEPTED; -import static io.netty.handler.codec.http.HttpResponseStatus.NO_CONTENT; -import static io.netty.handler.codec.http.HttpResponseStatus.OK; - public final class ReactorServicesTest extends AbstractClientApiTest { - private final ReactorServices services = new ReactorServices(CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); + private final ReactorServices services = + new ReactorServices( + CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); @Test public void delete() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(DELETE).path("/services/test-service-id?purge=true") - .build()) - .response(TestResponse.builder() - .status(NO_CONTENT) - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(DELETE) + .path("/services/test-service-id?purge=true") + .build()) + .response(TestResponse.builder().status(NO_CONTENT).build()) + .build()); this.services - .delete(DeleteServiceRequest.builder() - .purge(true) - .serviceId("test-service-id") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .delete( + DeleteServiceRequest.builder() + .purge(true) + .serviceId("test-service-id") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void deleteAsync() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(DELETE).path("/services/test-service-id?async=true") - .build()) - .response(TestResponse.builder() - .status(ACCEPTED) - .payload("fixtures/client/v2/services/DELETE_{id}_async_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(DELETE) + .path("/services/test-service-id?async=true") + .build()) + .response( + TestResponse.builder() + .status(ACCEPTED) + .payload( + "fixtures/client/v2/services/DELETE_{id}_async_response.json") + .build()) + .build()); this.services - .delete(DeleteServiceRequest.builder() - .async(true) - .serviceId("test-service-id") - .build()) - .as(StepVerifier::create) - .expectNext(DeleteServiceResponse.builder() - .metadata(Metadata.builder() - .id("2d9707ba-6f0b-4aef-a3de-fe9bdcf0c9d1") - .createdAt("2016-02-02T17:16:31Z") - .url("/v2/jobs/2d9707ba-6f0b-4aef-a3de-fe9bdcf0c9d1") - .build()) - .entity(JobEntity.builder() - .id("2d9707ba-6f0b-4aef-a3de-fe9bdcf0c9d1") - .status("queued") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .delete( + DeleteServiceRequest.builder() + .async(true) + .serviceId("test-service-id") + .build()) + .as(StepVerifier::create) + .expectNext( + DeleteServiceResponse.builder() + .metadata( + Metadata.builder() + .id("2d9707ba-6f0b-4aef-a3de-fe9bdcf0c9d1") + .createdAt("2016-02-02T17:16:31Z") + .url( + "/v2/jobs/2d9707ba-6f0b-4aef-a3de-fe9bdcf0c9d1") + .build()) + .entity( + JobEntity.builder() + .id("2d9707ba-6f0b-4aef-a3de-fe9bdcf0c9d1") + .status("queued") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void get() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/services/test-service-id") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/services/GET_{id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/services/test-service-id") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/services/GET_{id}_response.json") + .build()) + .build()); this.services - .get(GetServiceRequest.builder() - .serviceId("test-service-id") - .build()) - .as(StepVerifier::create) - .expectNext(GetServiceResponse.builder() - .metadata(Metadata.builder() - .createdAt("2016-06-08T16:41:32Z") - .id("53f52780-e93c-4af7-a96c-6958311c40e5") - .updatedAt("2016-06-08T16:41:26Z") - .url("/v2/services/53f52780-e93c-4af7-a96c-6958311c40e5") - .build()) - .entity(ServiceEntity.builder() - .active(true) - .bindable(true) - .bindingsRetrievable(false) - .description("desc-135") - .instancesRetrievable(false) - .label("label-58") - .planUpdateable(false) - .serviceBrokerId("0e7250aa-364f-42c2-8fd2-808b0224376f") - .servicePlansUrl("/v2/services/53f52780-e93c-4af7-a96c-6958311c40e5/service_plans") - .uniqueId("c181996b-f233-43d1-8901-3a43eafcaacf") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .get(GetServiceRequest.builder().serviceId("test-service-id").build()) + .as(StepVerifier::create) + .expectNext( + GetServiceResponse.builder() + .metadata( + Metadata.builder() + .createdAt("2016-06-08T16:41:32Z") + .id("53f52780-e93c-4af7-a96c-6958311c40e5") + .updatedAt("2016-06-08T16:41:26Z") + .url( + "/v2/services/53f52780-e93c-4af7-a96c-6958311c40e5") + .build()) + .entity( + ServiceEntity.builder() + .active(true) + .bindable(true) + .bindingsRetrievable(false) + .description("desc-135") + .instancesRetrievable(false) + .label("label-58") + .planUpdateable(false) + .serviceBrokerId( + "0e7250aa-364f-42c2-8fd2-808b0224376f") + .servicePlansUrl( + "/v2/services/53f52780-e93c-4af7-a96c-6958311c40e5/service_plans") + .uniqueId("c181996b-f233-43d1-8901-3a43eafcaacf") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void list() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/services?q=label%3Atest-label&page=-1") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/services/GET_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/services?q=label%3Atest-label&page=-1") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload("fixtures/client/v2/services/GET_response.json") + .build()) + .build()); this.services - .list(ListServicesRequest.builder() - .label("test-label") - .page(-1) - .build()) - .as(StepVerifier::create) - .expectNext(ListServicesResponse.builder() - .totalResults(1) - .totalPages(1) - .resource(ServiceResource.builder() - .metadata(Metadata.builder() - .id("69b84c38-e786-4270-9cca-59d02a700798") - .url("/v2/services/69b84c38-e786-4270-9cca-59d02a700798") - .createdAt("2015-07-27T22:43:35Z") - .build()) - .entity(ServiceEntity.builder() - .label("label-87") - .description("desc-220") - .active(true) - .bindable(true) - .requires(Collections.emptyList()) - .tags(Collections.emptyList()) - .uniqueId("e46b095e-aa85-4ffb-98d9-0bc94b84d45c") - .serviceBrokerId("5c323c18-e26c-45ff-a4f9-6a8916912a22") - .planUpdateable(false) - .servicePlansUrl("/v2/services/69b84c38-e786-4270-9cca-59d02a700798/service_plans") - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .list(ListServicesRequest.builder().label("test-label").page(-1).build()) + .as(StepVerifier::create) + .expectNext( + ListServicesResponse.builder() + .totalResults(1) + .totalPages(1) + .resource( + ServiceResource.builder() + .metadata( + Metadata.builder() + .id( + "69b84c38-e786-4270-9cca-59d02a700798") + .url( + "/v2/services/69b84c38-e786-4270-9cca-59d02a700798") + .createdAt("2015-07-27T22:43:35Z") + .build()) + .entity( + ServiceEntity.builder() + .label("label-87") + .description("desc-220") + .active(true) + .bindable(true) + .requires(Collections.emptyList()) + .tags(Collections.emptyList()) + .uniqueId( + "e46b095e-aa85-4ffb-98d9-0bc94b84d45c") + .serviceBrokerId( + "5c323c18-e26c-45ff-a4f9-6a8916912a22") + .planUpdateable(false) + .servicePlansUrl( + "/v2/services/69b84c38-e786-4270-9cca-59d02a700798/service_plans") + .build()) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void listServicePlans() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/services/f1b0edbe-fac4-4512-9071-8b26045413bb/service_plans?page=-1") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/services/GET_{id}_service_plans_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path( + "/services/f1b0edbe-fac4-4512-9071-8b26045413bb/service_plans?page=-1") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/services/GET_{id}_service_plans_response.json") + .build()) + .build()); this.services - .listServicePlans(ListServiceServicePlansRequest.builder() - .serviceId("f1b0edbe-fac4-4512-9071-8b26045413bb") - .page(-1) - .build()) - .as(StepVerifier::create) - .expectNext(ListServiceServicePlansResponse.builder() - .totalResults(1) - .totalPages(1) - .resource(ServicePlanResource.builder() - .metadata(Metadata.builder() - .createdAt("2015-07-27T22:43:35Z") - .id("51067400-d79f-4ca5-9400-1f36f5dd09e7") - .url("/v2/service_plans/51067400-d79f-4ca5-9400-1f36f5dd09e7") - .build()) - .entity(ServicePlanEntity.builder() - .name("name-2409") - .free(false) - .description("desc-218") - .serviceId("f1b0edbe-fac4-4512-9071-8b26045413bb") - .uniqueId("48fb5a34-1c14-4da5-944e-a14fa1ba5325") - .publiclyVisible(true) - .active(true) - .serviceUrl("/v2/services/f1b0edbe-fac4-4512-9071-8b26045413bb") - .serviceInstancesUrl("/v2/service_plans/51067400-d79f-4ca5-9400-1f36f5dd09e7/service_instances") - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .listServicePlans( + ListServiceServicePlansRequest.builder() + .serviceId("f1b0edbe-fac4-4512-9071-8b26045413bb") + .page(-1) + .build()) + .as(StepVerifier::create) + .expectNext( + ListServiceServicePlansResponse.builder() + .totalResults(1) + .totalPages(1) + .resource( + ServicePlanResource.builder() + .metadata( + Metadata.builder() + .createdAt("2015-07-27T22:43:35Z") + .id( + "51067400-d79f-4ca5-9400-1f36f5dd09e7") + .url( + "/v2/service_plans/51067400-d79f-4ca5-9400-1f36f5dd09e7") + .build()) + .entity( + ServicePlanEntity.builder() + .name("name-2409") + .free(false) + .description("desc-218") + .serviceId( + "f1b0edbe-fac4-4512-9071-8b26045413bb") + .uniqueId( + "48fb5a34-1c14-4da5-944e-a14fa1ba5325") + .publiclyVisible(true) + .active(true) + .serviceUrl( + "/v2/services/f1b0edbe-fac4-4512-9071-8b26045413bb") + .serviceInstancesUrl( + "/v2/service_plans/51067400-d79f-4ca5-9400-1f36f5dd09e7/service_instances") + .build()) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } - } diff --git a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/serviceusageevents/ReactorServiceUsageEventsTest.java b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/serviceusageevents/ReactorServiceUsageEventsTest.java index 19d6b3529f..fcb0afd015 100644 --- a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/serviceusageevents/ReactorServiceUsageEventsTest.java +++ b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/serviceusageevents/ReactorServiceUsageEventsTest.java @@ -16,6 +16,13 @@ package org.cloudfoundry.reactor.client.v2.serviceusageevents; +import static io.netty.handler.codec.http.HttpMethod.GET; +import static io.netty.handler.codec.http.HttpMethod.POST; +import static io.netty.handler.codec.http.HttpResponseStatus.NO_CONTENT; +import static io.netty.handler.codec.http.HttpResponseStatus.OK; + +import java.time.Duration; +import java.util.Collections; import org.cloudfoundry.client.v2.Metadata; import org.cloudfoundry.client.v2.serviceusageevents.GetServiceUsageEventRequest; import org.cloudfoundry.client.v2.serviceusageevents.GetServiceUsageEventResponse; @@ -31,122 +38,150 @@ import org.junit.Test; import reactor.test.StepVerifier; -import java.time.Duration; -import java.util.Collections; - -import static io.netty.handler.codec.http.HttpMethod.GET; -import static io.netty.handler.codec.http.HttpMethod.POST; -import static io.netty.handler.codec.http.HttpResponseStatus.NO_CONTENT; -import static io.netty.handler.codec.http.HttpResponseStatus.OK; - public final class ReactorServiceUsageEventsTest extends AbstractClientApiTest { - private final ReactorServiceUsageEvents serviceUsageEvents = new ReactorServiceUsageEvents(CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); + private final ReactorServiceUsageEvents serviceUsageEvents = + new ReactorServiceUsageEvents( + CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); @Test public void get() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/service_usage_events/9470627d-0488-4d9a-8564-f97571487893") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/service_usage_events/GET_{id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path( + "/service_usage_events/9470627d-0488-4d9a-8564-f97571487893") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/service_usage_events/GET_{id}_response.json") + .build()) + .build()); this.serviceUsageEvents - .get(GetServiceUsageEventRequest.builder() - .serviceUsageEventId("9470627d-0488-4d9a-8564-f97571487893") - .build()) - .as(StepVerifier::create) - .expectNext(GetServiceUsageEventResponse.builder() - .metadata(Metadata.builder() - .createdAt("2015-07-27T22:43:30Z") - .id("9470627d-0488-4d9a-8564-f97571487893") - .url("/v2/service_usage_events/9470627d-0488-4d9a-8564-f97571487893") - .build()) - .entity(ServiceUsageEventEntity.builder() - .state("CREATED") - .organizationId("guid-3f19bc03-d183-4189-bdeb-9f33468181da") - .spaceId("guid-d565b0c4-3c38-41dd-a102-1c113c759fbf") - .spaceName("name-2160") - .serviceInstanceId("guid-4cef8892-46fc-4d70-a5d5-36385989f5df") - .serviceInstanceName("name-2161") - .serviceInstanceType("type-4") - .servicePlanId("guid-f2a17886-488c-4066-9155-a1dbb64adadd") - .servicePlanName("name-2162") - .serviceId("guid-fdff7ee0-cc1b-4bdb-87d6-b0c3b47cb2b2") - .serviceLabel("label-79") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .get( + GetServiceUsageEventRequest.builder() + .serviceUsageEventId("9470627d-0488-4d9a-8564-f97571487893") + .build()) + .as(StepVerifier::create) + .expectNext( + GetServiceUsageEventResponse.builder() + .metadata( + Metadata.builder() + .createdAt("2015-07-27T22:43:30Z") + .id("9470627d-0488-4d9a-8564-f97571487893") + .url( + "/v2/service_usage_events/9470627d-0488-4d9a-8564-f97571487893") + .build()) + .entity( + ServiceUsageEventEntity.builder() + .state("CREATED") + .organizationId( + "guid-3f19bc03-d183-4189-bdeb-9f33468181da") + .spaceId( + "guid-d565b0c4-3c38-41dd-a102-1c113c759fbf") + .spaceName("name-2160") + .serviceInstanceId( + "guid-4cef8892-46fc-4d70-a5d5-36385989f5df") + .serviceInstanceName("name-2161") + .serviceInstanceType("type-4") + .servicePlanId( + "guid-f2a17886-488c-4066-9155-a1dbb64adadd") + .servicePlanName("name-2162") + .serviceId( + "guid-fdff7ee0-cc1b-4bdb-87d6-b0c3b47cb2b2") + .serviceLabel("label-79") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void list() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/service_usage_events?after_guid=e5defac2-4ae1-44ac-a3d0-1684ae657453&page=-1") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/service_usage_events/GET_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path( + "/service_usage_events?after_guid=e5defac2-4ae1-44ac-a3d0-1684ae657453&page=-1") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/service_usage_events/GET_response.json") + .build()) + .build()); this.serviceUsageEvents - .list(ListServiceUsageEventsRequest.builder() - .afterServiceUsageEventId("e5defac2-4ae1-44ac-a3d0-1684ae657453") - .page(-1) - .build()) - .as(StepVerifier::create) - .expectNext(ListServiceUsageEventsResponse.builder() - .totalPages(1) - .totalResults(1) - .resource(ServiceUsageEventResource.builder() - .metadata(Metadata.builder() - .createdAt("2015-07-27T22:43:30Z") - .id("0c9c59b8-3462-4acf-be39-aa987f087146") - .url("/v2/service_usage_events/0c9c59b8-3462-4acf-be39-aa987f087146") - .build()) - .entity(ServiceUsageEventEntity.builder() - .state("CREATED") - .organizationId("guid-4dd5a051-3460-4246-a842-1dc2d5983c51") - .spaceId("guid-76bd662b-fd5b-4b5c-a393-d65e67f99d53") - .spaceName("name-2154") - .serviceInstanceId("guid-15a7c119-838d-4516-acd9-062dec25d934") - .serviceInstanceName("name-2155") - .serviceInstanceType("type-2") - .servicePlanId("guid-eddab64c-7be0-407e-91b0-82a8093cdfc5") - .servicePlanName("name-2156") - .serviceId("guid-d471c693-824c-44a6-b069-a679e323326d") - .serviceLabel("label-77") - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .list( + ListServiceUsageEventsRequest.builder() + .afterServiceUsageEventId("e5defac2-4ae1-44ac-a3d0-1684ae657453") + .page(-1) + .build()) + .as(StepVerifier::create) + .expectNext( + ListServiceUsageEventsResponse.builder() + .totalPages(1) + .totalResults(1) + .resource( + ServiceUsageEventResource.builder() + .metadata( + Metadata.builder() + .createdAt("2015-07-27T22:43:30Z") + .id( + "0c9c59b8-3462-4acf-be39-aa987f087146") + .url( + "/v2/service_usage_events/0c9c59b8-3462-4acf-be39-aa987f087146") + .build()) + .entity( + ServiceUsageEventEntity.builder() + .state("CREATED") + .organizationId( + "guid-4dd5a051-3460-4246-a842-1dc2d5983c51") + .spaceId( + "guid-76bd662b-fd5b-4b5c-a393-d65e67f99d53") + .spaceName("name-2154") + .serviceInstanceId( + "guid-15a7c119-838d-4516-acd9-062dec25d934") + .serviceInstanceName("name-2155") + .serviceInstanceType("type-2") + .servicePlanId( + "guid-eddab64c-7be0-407e-91b0-82a8093cdfc5") + .servicePlanName("name-2156") + .serviceId( + "guid-d471c693-824c-44a6-b069-a679e323326d") + .serviceLabel("label-77") + .build()) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void purgeAndReseed() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(POST).path("/service_usage_events/destructively_purge_all_and_reseed_existing_instances") - .build()) - .response(TestResponse.builder() - .status(NO_CONTENT) - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(POST) + .path( + "/service_usage_events/destructively_purge_all_and_reseed_existing_instances") + .build()) + .response(TestResponse.builder().status(NO_CONTENT).build()) + .build()); this.serviceUsageEvents - .purgeAndReseed(PurgeAndReseedServiceUsageEventsRequest.builder() - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .purgeAndReseed(PurgeAndReseedServiceUsageEventsRequest.builder().build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } - } diff --git a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/shareddomains/ReactorSharedDomainsTest.java b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/shareddomains/ReactorSharedDomainsTest.java index e97c8f5665..c90d6248ba 100644 --- a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/shareddomains/ReactorSharedDomainsTest.java +++ b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/shareddomains/ReactorSharedDomainsTest.java @@ -16,6 +16,15 @@ package org.cloudfoundry.reactor.client.v2.shareddomains; +import static io.netty.handler.codec.http.HttpMethod.DELETE; +import static io.netty.handler.codec.http.HttpMethod.GET; +import static io.netty.handler.codec.http.HttpMethod.POST; +import static io.netty.handler.codec.http.HttpResponseStatus.ACCEPTED; +import static io.netty.handler.codec.http.HttpResponseStatus.NO_CONTENT; +import static io.netty.handler.codec.http.HttpResponseStatus.OK; + +import java.time.Duration; +import java.util.Collections; import org.cloudfoundry.client.v2.Metadata; import org.cloudfoundry.client.v2.jobs.JobEntity; import org.cloudfoundry.client.v2.shareddomains.CreateSharedDomainRequest; @@ -35,222 +44,277 @@ import org.junit.Test; import reactor.test.StepVerifier; -import java.time.Duration; -import java.util.Collections; - -import static io.netty.handler.codec.http.HttpMethod.DELETE; -import static io.netty.handler.codec.http.HttpMethod.GET; -import static io.netty.handler.codec.http.HttpMethod.POST; -import static io.netty.handler.codec.http.HttpResponseStatus.ACCEPTED; -import static io.netty.handler.codec.http.HttpResponseStatus.NO_CONTENT; -import static io.netty.handler.codec.http.HttpResponseStatus.OK; - public final class ReactorSharedDomainsTest extends AbstractClientApiTest { - private final ReactorSharedDomains sharedDomains = new ReactorSharedDomains(CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); + private final ReactorSharedDomains sharedDomains = + new ReactorSharedDomains( + CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); @Test public void create() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(POST).path("/shared_domains") - .payload("fixtures/client/v2/shared_domains/POST_request.json") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/shared_domains/POST_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(POST) + .path("/shared_domains") + .payload( + "fixtures/client/v2/shared_domains/POST_request.json") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/shared_domains/POST_response.json") + .build()) + .build()); this.sharedDomains - .create(CreateSharedDomainRequest.builder() - .name("shared-domain.com") - .routerGroupId("random-guid") - .build()) - .as(StepVerifier::create) - .expectNext(CreateSharedDomainResponse.builder() - .metadata(Metadata.builder() - .id("d6c7d452-70bb-4edd-bbf1-a925dd51732c") - .url("/v2/shared_domains/d6c7d452-70bb-4edd-bbf1-a925dd51732c") - .createdAt("2016-04-22T19:33:17Z") - .build()) - .entity(SharedDomainEntity.builder() - .name("example.com") - .routerGroupId("my-random-guid") - .routerGroupType("tcp") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .create( + CreateSharedDomainRequest.builder() + .name("shared-domain.com") + .routerGroupId("random-guid") + .build()) + .as(StepVerifier::create) + .expectNext( + CreateSharedDomainResponse.builder() + .metadata( + Metadata.builder() + .id("d6c7d452-70bb-4edd-bbf1-a925dd51732c") + .url( + "/v2/shared_domains/d6c7d452-70bb-4edd-bbf1-a925dd51732c") + .createdAt("2016-04-22T19:33:17Z") + .build()) + .entity( + SharedDomainEntity.builder() + .name("example.com") + .routerGroupId("my-random-guid") + .routerGroupType("tcp") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void delete() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(DELETE).path("/shared_domains/fa1385de-55ba-41d3-beb2-f83919c634d6") - .build()) - .response(TestResponse.builder() - .status(NO_CONTENT) - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(DELETE) + .path( + "/shared_domains/fa1385de-55ba-41d3-beb2-f83919c634d6") + .build()) + .response(TestResponse.builder().status(NO_CONTENT).build()) + .build()); this.sharedDomains - .delete(DeleteSharedDomainRequest.builder() - .sharedDomainId("fa1385de-55ba-41d3-beb2-f83919c634d6") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .delete( + DeleteSharedDomainRequest.builder() + .sharedDomainId("fa1385de-55ba-41d3-beb2-f83919c634d6") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void deleteAsync() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(DELETE).path("/shared_domains/fa1385de-55ba-41d3-beb2-f83919c634d6?async=true") - .build()) - .response(TestResponse.builder() - .status(ACCEPTED) - .payload("fixtures/client/v2/shared_domains/DELETE_{id}_async_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(DELETE) + .path( + "/shared_domains/fa1385de-55ba-41d3-beb2-f83919c634d6?async=true") + .build()) + .response( + TestResponse.builder() + .status(ACCEPTED) + .payload( + "fixtures/client/v2/shared_domains/DELETE_{id}_async_response.json") + .build()) + .build()); this.sharedDomains - .delete(DeleteSharedDomainRequest.builder() - .async(true) - .sharedDomainId("fa1385de-55ba-41d3-beb2-f83919c634d6") - .build()) - .as(StepVerifier::create) - .expectNext(DeleteSharedDomainResponse.builder() - .metadata(Metadata.builder() - .id("2d9707ba-6f0b-4aef-a3de-fe9bdcf0c9d1") - .createdAt("2016-02-02T17:16:31Z") - .url("/v2/jobs/2d9707ba-6f0b-4aef-a3de-fe9bdcf0c9d1") - .build()) - .entity(JobEntity.builder() - .id("2d9707ba-6f0b-4aef-a3de-fe9bdcf0c9d1") - .status("queued") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .delete( + DeleteSharedDomainRequest.builder() + .async(true) + .sharedDomainId("fa1385de-55ba-41d3-beb2-f83919c634d6") + .build()) + .as(StepVerifier::create) + .expectNext( + DeleteSharedDomainResponse.builder() + .metadata( + Metadata.builder() + .id("2d9707ba-6f0b-4aef-a3de-fe9bdcf0c9d1") + .createdAt("2016-02-02T17:16:31Z") + .url( + "/v2/jobs/2d9707ba-6f0b-4aef-a3de-fe9bdcf0c9d1") + .build()) + .entity( + JobEntity.builder() + .id("2d9707ba-6f0b-4aef-a3de-fe9bdcf0c9d1") + .status("queued") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void listSharedDomains() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/shared_domains?page=-1") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/shared_domains/GET_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/shared_domains?page=-1") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/shared_domains/GET_response.json") + .build()) + .build()); this.sharedDomains - .list(ListSharedDomainsRequest.builder() - .page(-1) - .build()) - .as(StepVerifier::create) - .expectNext(ListSharedDomainsResponse.builder() - .totalResults(5) - .totalPages(1) - .resource(SharedDomainResource.builder() - .metadata(Metadata.builder() - .id("f01b174d-c750-46b0-9ddf-3aeb2064d796") - .url("/v2/shared_domains/f01b174d-c750-46b0-9ddf-3aeb2064d796") - .createdAt("2015-11-30T23:38:35Z") - .build()) - .entity(SharedDomainEntity.builder() - .name("customer-app-domain1.com") - .build()) - .build()) - .resource(SharedDomainResource.builder() - .metadata(Metadata.builder() - .id("3595f6cb-81cf-424e-a546-533877ccccfd") - .url("/v2/shared_domains/3595f6cb-81cf-424e-a546-533877ccccfd") - .createdAt("2015-11-30T23:38:35Z") - .build()) - .entity(SharedDomainEntity.builder() - .name("customer-app-domain2.com") - .build()) - .build()) - .resource(SharedDomainResource.builder() - .metadata(Metadata.builder() - .id("d0d28c59-86ee-4415-9269-500976f18e72") - .url("/v2/shared_domains/d0d28c59-86ee-4415-9269-500976f18e72") - .createdAt("2015-11-30T23:38:35Z") - .build()) - .entity(SharedDomainEntity.builder() - .name("domain-19.example.com") - .build()) - .build()) - .resource(SharedDomainResource.builder() - .metadata(Metadata.builder() - .id("b7242cdb-f81a-4469-b897-d5a218470fdf") - .url("/v2/shared_domains/b7242cdb-f81a-4469-b897-d5a218470fdf") - .createdAt("2015-11-30T23:38:35Z") - .build()) - .entity(SharedDomainEntity.builder() - .name("domain-20.example.com") - .build()) - .build()) - .resource(SharedDomainResource.builder() - .metadata(Metadata.builder() - .id("130c193c-c1c6-41c9-98c2-4a0e16a948bf") - .url("/v2/shared_domains/130c193c-c1c6-41c9-98c2-4a0e16a948bf") - .createdAt("2015-11-30T23:38:35Z") - .build()) - .entity(SharedDomainEntity.builder() - .name("domain-21.example.com") - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .list(ListSharedDomainsRequest.builder().page(-1).build()) + .as(StepVerifier::create) + .expectNext( + ListSharedDomainsResponse.builder() + .totalResults(5) + .totalPages(1) + .resource( + SharedDomainResource.builder() + .metadata( + Metadata.builder() + .id( + "f01b174d-c750-46b0-9ddf-3aeb2064d796") + .url( + "/v2/shared_domains/f01b174d-c750-46b0-9ddf-3aeb2064d796") + .createdAt("2015-11-30T23:38:35Z") + .build()) + .entity( + SharedDomainEntity.builder() + .name("customer-app-domain1.com") + .build()) + .build()) + .resource( + SharedDomainResource.builder() + .metadata( + Metadata.builder() + .id( + "3595f6cb-81cf-424e-a546-533877ccccfd") + .url( + "/v2/shared_domains/3595f6cb-81cf-424e-a546-533877ccccfd") + .createdAt("2015-11-30T23:38:35Z") + .build()) + .entity( + SharedDomainEntity.builder() + .name("customer-app-domain2.com") + .build()) + .build()) + .resource( + SharedDomainResource.builder() + .metadata( + Metadata.builder() + .id( + "d0d28c59-86ee-4415-9269-500976f18e72") + .url( + "/v2/shared_domains/d0d28c59-86ee-4415-9269-500976f18e72") + .createdAt("2015-11-30T23:38:35Z") + .build()) + .entity( + SharedDomainEntity.builder() + .name("domain-19.example.com") + .build()) + .build()) + .resource( + SharedDomainResource.builder() + .metadata( + Metadata.builder() + .id( + "b7242cdb-f81a-4469-b897-d5a218470fdf") + .url( + "/v2/shared_domains/b7242cdb-f81a-4469-b897-d5a218470fdf") + .createdAt("2015-11-30T23:38:35Z") + .build()) + .entity( + SharedDomainEntity.builder() + .name("domain-20.example.com") + .build()) + .build()) + .resource( + SharedDomainResource.builder() + .metadata( + Metadata.builder() + .id( + "130c193c-c1c6-41c9-98c2-4a0e16a948bf") + .url( + "/v2/shared_domains/130c193c-c1c6-41c9-98c2-4a0e16a948bf") + .createdAt("2015-11-30T23:38:35Z") + .build()) + .entity( + SharedDomainEntity.builder() + .name("domain-21.example.com") + .build()) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } public static final class Get extends AbstractClientApiTest { - private final ReactorSharedDomains sharedDomains = new ReactorSharedDomains(CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); + private final ReactorSharedDomains sharedDomains = + new ReactorSharedDomains( + CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); @Test public void get() { mockRequest(interactionContext()); this.sharedDomains - .get(GetSharedDomainRequest.builder() - .sharedDomainId("fa1385de-55ba-41d3-beb2-f83919c634d6") - .build()) - .as(StepVerifier::create) - .expectNext(GetSharedDomainResponse.builder() - .metadata(Metadata.builder() - .id("fa1385de-55ba-41d3-beb2-f83919c634d6") - .url("/v2/shared_domains/fa1385de-55ba-41d3-beb2-f83919c634d6") - .createdAt("2016-06-08T16:41:33Z") - .build()) - .entity(SharedDomainEntity.builder() - .name("customer-app-domain1.com") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .get( + GetSharedDomainRequest.builder() + .sharedDomainId("fa1385de-55ba-41d3-beb2-f83919c634d6") + .build()) + .as(StepVerifier::create) + .expectNext( + GetSharedDomainResponse.builder() + .metadata( + Metadata.builder() + .id("fa1385de-55ba-41d3-beb2-f83919c634d6") + .url( + "/v2/shared_domains/fa1385de-55ba-41d3-beb2-f83919c634d6") + .createdAt("2016-06-08T16:41:33Z") + .build()) + .entity( + SharedDomainEntity.builder() + .name("customer-app-domain1.com") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } public InteractionContext interactionContext() { return InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/shared_domains/fa1385de-55ba-41d3-beb2-f83919c634d6") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/shared_domains/GET_{id}_response.json") - .build()) - .build(); + .request( + TestRequest.builder() + .method(GET) + .path("/shared_domains/fa1385de-55ba-41d3-beb2-f83919c634d6") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/shared_domains/GET_{id}_response.json") + .build()) + .build(); } - } - } diff --git a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/spacequotadefinitions/ReactorSpaceQuotaDefinitionsTest.java b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/spacequotadefinitions/ReactorSpaceQuotaDefinitionsTest.java index 9c12fd928d..1ccebd1fb7 100644 --- a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/spacequotadefinitions/ReactorSpaceQuotaDefinitionsTest.java +++ b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/spacequotadefinitions/ReactorSpaceQuotaDefinitionsTest.java @@ -16,6 +16,17 @@ package org.cloudfoundry.reactor.client.v2.spacequotadefinitions; +import static io.netty.handler.codec.http.HttpMethod.DELETE; +import static io.netty.handler.codec.http.HttpMethod.GET; +import static io.netty.handler.codec.http.HttpMethod.POST; +import static io.netty.handler.codec.http.HttpMethod.PUT; +import static io.netty.handler.codec.http.HttpResponseStatus.ACCEPTED; +import static io.netty.handler.codec.http.HttpResponseStatus.CREATED; +import static io.netty.handler.codec.http.HttpResponseStatus.NO_CONTENT; +import static io.netty.handler.codec.http.HttpResponseStatus.OK; + +import java.time.Duration; +import java.util.Collections; import org.cloudfoundry.client.v2.Metadata; import org.cloudfoundry.client.v2.jobs.JobEntity; import org.cloudfoundry.client.v2.spacequotadefinitions.AssociateSpaceQuotaDefinitionRequest; @@ -44,367 +55,469 @@ import org.junit.Test; import reactor.test.StepVerifier; -import java.time.Duration; -import java.util.Collections; - -import static io.netty.handler.codec.http.HttpMethod.DELETE; -import static io.netty.handler.codec.http.HttpMethod.GET; -import static io.netty.handler.codec.http.HttpMethod.POST; -import static io.netty.handler.codec.http.HttpMethod.PUT; -import static io.netty.handler.codec.http.HttpResponseStatus.ACCEPTED; -import static io.netty.handler.codec.http.HttpResponseStatus.CREATED; -import static io.netty.handler.codec.http.HttpResponseStatus.NO_CONTENT; -import static io.netty.handler.codec.http.HttpResponseStatus.OK; - public final class ReactorSpaceQuotaDefinitionsTest extends AbstractClientApiTest { - private final ReactorSpaceQuotaDefinitions spaceQuotaDefinitions = new ReactorSpaceQuotaDefinitions(CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); + private final ReactorSpaceQuotaDefinitions spaceQuotaDefinitions = + new ReactorSpaceQuotaDefinitions( + CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); @Test public void associateSpace() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(PUT).path("/space_quota_definitions/test-space-quota-definition-id/spaces/test-space-id") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/space_quota_definitions/PUT_{id}_spaces_{id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(PUT) + .path( + "/space_quota_definitions/test-space-quota-definition-id/spaces/test-space-id") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/space_quota_definitions/PUT_{id}_spaces_{id}_response.json") + .build()) + .build()); this.spaceQuotaDefinitions - .associateSpace(AssociateSpaceQuotaDefinitionRequest.builder() - .spaceId("test-space-id") - .spaceQuotaDefinitionId("test-space-quota-definition-id") - .build()) - .as(StepVerifier::create) - .expectNext(AssociateSpaceQuotaDefinitionResponse.builder() - .metadata(Metadata.builder() - .id("ea82f16c-c21a-4a8a-947a-f7606e7f63fa") - .url("/v2/space_quota_definitions/ea82f16c-c21a-4a8a-947a-f7606e7f63fa") - .createdAt("2015-11-30T23:38:46Z") - .build()) - .entity(SpaceQuotaDefinitionEntity.builder() - .name("name-1887") - .organizationId("e188543a-cb71-4786-8703-9addbebc5bbf") - .nonBasicServicesAllowed(true) - .totalServices(60) - .totalRoutes(1000) - .memoryLimit(20480) - .instanceMemoryLimit(-1) - .applicationInstanceLimit(-1) - .organizationUrl("/v2/organizations/e188543a-cb71-4786-8703-9addbebc5bbf") - .spacesUrl("/v2/space_quota_definitions/ea82f16c-c21a-4a8a-947a-f7606e7f63fa/spaces") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .associateSpace( + AssociateSpaceQuotaDefinitionRequest.builder() + .spaceId("test-space-id") + .spaceQuotaDefinitionId("test-space-quota-definition-id") + .build()) + .as(StepVerifier::create) + .expectNext( + AssociateSpaceQuotaDefinitionResponse.builder() + .metadata( + Metadata.builder() + .id("ea82f16c-c21a-4a8a-947a-f7606e7f63fa") + .url( + "/v2/space_quota_definitions/ea82f16c-c21a-4a8a-947a-f7606e7f63fa") + .createdAt("2015-11-30T23:38:46Z") + .build()) + .entity( + SpaceQuotaDefinitionEntity.builder() + .name("name-1887") + .organizationId( + "e188543a-cb71-4786-8703-9addbebc5bbf") + .nonBasicServicesAllowed(true) + .totalServices(60) + .totalRoutes(1000) + .memoryLimit(20480) + .instanceMemoryLimit(-1) + .applicationInstanceLimit(-1) + .organizationUrl( + "/v2/organizations/e188543a-cb71-4786-8703-9addbebc5bbf") + .spacesUrl( + "/v2/space_quota_definitions/ea82f16c-c21a-4a8a-947a-f7606e7f63fa/spaces") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void create() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(POST).path("/space_quota_definitions") - .payload("fixtures/client/v2/space_quota_definitions/POST_request.json") - .build()) - .response(TestResponse.builder() - .status(CREATED) - .payload("fixtures/client/v2/space_quota_definitions/POST_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(POST) + .path("/space_quota_definitions") + .payload( + "fixtures/client/v2/space_quota_definitions/POST_request.json") + .build()) + .response( + TestResponse.builder() + .status(CREATED) + .payload( + "fixtures/client/v2/space_quota_definitions/POST_response.json") + .build()) + .build()); this.spaceQuotaDefinitions - .create(CreateSpaceQuotaDefinitionRequest.builder() - .name("gold_quota") - .nonBasicServicesAllowed(true) - .totalServices(-1) - .totalRoutes(10) - .memoryLimit(5120) - .organizationId("c9b4ac17-ab4b-4368-b3e2-5cbf09b17a24") - .totalReservedRoutePorts(5) - .build()) - .as(StepVerifier::create) - .expectNext(CreateSpaceQuotaDefinitionResponse.builder() - .metadata(Metadata.builder() - .id("17f055b8-b4c8-47cf-8737-0220d5706b4a") - .url("/v2/space_quota_definitions/17f055b8-b4c8-47cf-8737-0220d5706b4a") - .createdAt("2016-06-08T16:41:29Z") - .build()) - .entity(SpaceQuotaDefinitionEntity.builder() - .name("gold_quota") - .organizationId("c9b4ac17-ab4b-4368-b3e2-5cbf09b17a24") - .nonBasicServicesAllowed(true) - .totalServices(-1) - .totalRoutes(10) - .memoryLimit(5120) - .instanceMemoryLimit(-1) - .applicationInstanceLimit(-1) - .applicationTaskLimit(5) - .totalServiceKeys(-1) - .totalReservedRoutePorts(5) - .organizationUrl("/v2/organizations/c9b4ac17-ab4b-4368-b3e2-5cbf09b17a24") - .spacesUrl("/v2/space_quota_definitions/17f055b8-b4c8-47cf-8737-0220d5706b4a/spaces") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .create( + CreateSpaceQuotaDefinitionRequest.builder() + .name("gold_quota") + .nonBasicServicesAllowed(true) + .totalServices(-1) + .totalRoutes(10) + .memoryLimit(5120) + .organizationId("c9b4ac17-ab4b-4368-b3e2-5cbf09b17a24") + .totalReservedRoutePorts(5) + .build()) + .as(StepVerifier::create) + .expectNext( + CreateSpaceQuotaDefinitionResponse.builder() + .metadata( + Metadata.builder() + .id("17f055b8-b4c8-47cf-8737-0220d5706b4a") + .url( + "/v2/space_quota_definitions/17f055b8-b4c8-47cf-8737-0220d5706b4a") + .createdAt("2016-06-08T16:41:29Z") + .build()) + .entity( + SpaceQuotaDefinitionEntity.builder() + .name("gold_quota") + .organizationId( + "c9b4ac17-ab4b-4368-b3e2-5cbf09b17a24") + .nonBasicServicesAllowed(true) + .totalServices(-1) + .totalRoutes(10) + .memoryLimit(5120) + .instanceMemoryLimit(-1) + .applicationInstanceLimit(-1) + .applicationTaskLimit(5) + .totalServiceKeys(-1) + .totalReservedRoutePorts(5) + .organizationUrl( + "/v2/organizations/c9b4ac17-ab4b-4368-b3e2-5cbf09b17a24") + .spacesUrl( + "/v2/space_quota_definitions/17f055b8-b4c8-47cf-8737-0220d5706b4a/spaces") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void delete() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(DELETE).path("/space_quota_definitions/test-space-quota-definition-id") - .build()) - .response(TestResponse.builder() - .status(NO_CONTENT) - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(DELETE) + .path( + "/space_quota_definitions/test-space-quota-definition-id") + .build()) + .response(TestResponse.builder().status(NO_CONTENT).build()) + .build()); this.spaceQuotaDefinitions - .delete(DeleteSpaceQuotaDefinitionRequest.builder() - .spaceQuotaDefinitionId("test-space-quota-definition-id") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .delete( + DeleteSpaceQuotaDefinitionRequest.builder() + .spaceQuotaDefinitionId("test-space-quota-definition-id") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void deleteAsync() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(DELETE).path("/space_quota_definitions/test-space-quota-definition-id?async=true") - .build()) - .response(TestResponse.builder() - .status(ACCEPTED) - .payload("fixtures/client/v2/space_quota_definitions/DELETE_{id}_async_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(DELETE) + .path( + "/space_quota_definitions/test-space-quota-definition-id?async=true") + .build()) + .response( + TestResponse.builder() + .status(ACCEPTED) + .payload( + "fixtures/client/v2/space_quota_definitions/DELETE_{id}_async_response.json") + .build()) + .build()); this.spaceQuotaDefinitions - .delete(DeleteSpaceQuotaDefinitionRequest.builder() - .spaceQuotaDefinitionId("test-space-quota-definition-id") - .async(true) - .build()) - .as(StepVerifier::create) - .expectNext(DeleteSpaceQuotaDefinitionResponse.builder() - .metadata(Metadata.builder() - .id("2d9707ba-6f0b-4aef-a3de-fe9bdcf0c9d1") - .url("/v2/jobs/2d9707ba-6f0b-4aef-a3de-fe9bdcf0c9d1") - .createdAt("2016-02-02T17:16:31Z") - .build()) - .entity(JobEntity.builder() - .id("2d9707ba-6f0b-4aef-a3de-fe9bdcf0c9d1") - .status("queued") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .delete( + DeleteSpaceQuotaDefinitionRequest.builder() + .spaceQuotaDefinitionId("test-space-quota-definition-id") + .async(true) + .build()) + .as(StepVerifier::create) + .expectNext( + DeleteSpaceQuotaDefinitionResponse.builder() + .metadata( + Metadata.builder() + .id("2d9707ba-6f0b-4aef-a3de-fe9bdcf0c9d1") + .url( + "/v2/jobs/2d9707ba-6f0b-4aef-a3de-fe9bdcf0c9d1") + .createdAt("2016-02-02T17:16:31Z") + .build()) + .entity( + JobEntity.builder() + .id("2d9707ba-6f0b-4aef-a3de-fe9bdcf0c9d1") + .status("queued") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void getSpaceQuotaDefinition() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/space_quota_definitions/test-space-quota-definition-id") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/space_quota_definitions/GET_{id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path( + "/space_quota_definitions/test-space-quota-definition-id") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/space_quota_definitions/GET_{id}_response.json") + .build()) + .build()); this.spaceQuotaDefinitions - .get(GetSpaceQuotaDefinitionRequest.builder() - .spaceQuotaDefinitionId("test-space-quota-definition-id") - .build()) - .as(StepVerifier::create) - .expectNext(GetSpaceQuotaDefinitionResponse.builder() - .metadata(Metadata.builder() - .id("4b8e7d14-71bd-4abb-b474-183375c75c84") - .url("/v2/space_quota_definitions/4b8e7d14-71bd-4abb-b474-183375c75c84") - .createdAt("2015-11-30T23:38:46Z") - .build()) - .entity(SpaceQuotaDefinitionEntity.builder() - .name("name-1892") - .organizationId("0dbbac8c-16ac-4ba5-8f59-3d3a79874f5d") - .nonBasicServicesAllowed(true) - .totalServices(60) - .totalRoutes(1000) - .memoryLimit(20480) - .instanceMemoryLimit(-1) - .applicationInstanceLimit(-1) - .organizationUrl("/v2/organizations/0dbbac8c-16ac-4ba5-8f59-3d3a79874f5d") - .spacesUrl("/v2/space_quota_definitions/4b8e7d14-71bd-4abb-b474-183375c75c84/spaces") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .get( + GetSpaceQuotaDefinitionRequest.builder() + .spaceQuotaDefinitionId("test-space-quota-definition-id") + .build()) + .as(StepVerifier::create) + .expectNext( + GetSpaceQuotaDefinitionResponse.builder() + .metadata( + Metadata.builder() + .id("4b8e7d14-71bd-4abb-b474-183375c75c84") + .url( + "/v2/space_quota_definitions/4b8e7d14-71bd-4abb-b474-183375c75c84") + .createdAt("2015-11-30T23:38:46Z") + .build()) + .entity( + SpaceQuotaDefinitionEntity.builder() + .name("name-1892") + .organizationId( + "0dbbac8c-16ac-4ba5-8f59-3d3a79874f5d") + .nonBasicServicesAllowed(true) + .totalServices(60) + .totalRoutes(1000) + .memoryLimit(20480) + .instanceMemoryLimit(-1) + .applicationInstanceLimit(-1) + .organizationUrl( + "/v2/organizations/0dbbac8c-16ac-4ba5-8f59-3d3a79874f5d") + .spacesUrl( + "/v2/space_quota_definitions/4b8e7d14-71bd-4abb-b474-183375c75c84/spaces") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void list() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/space_quota_definitions?page=-1") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/space_quota_definitions/GET_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/space_quota_definitions?page=-1") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/space_quota_definitions/GET_response.json") + .build()) + .build()); this.spaceQuotaDefinitions - .list(ListSpaceQuotaDefinitionsRequest.builder() - .page(-1) - .build()) - .as(StepVerifier::create) - .expectNext(ListSpaceQuotaDefinitionsResponse.builder() - .totalResults(1) - .totalPages(1) - .resource(SpaceQuotaDefinitionResource.builder() - .metadata(Metadata.builder() - .id("be2d5c01-3413-43db-bea2-49b0b60ec74d") - .url("/v2/space_quota_definitions/be2d5c01-3413-43db-bea2-49b0b60ec74d") - .createdAt("2015-07-27T22:43:32Z") - .build()) - .entity(SpaceQuotaDefinitionEntity.builder() - .name("name-2236") - .organizationId("a81d5218-b473-474e-9afb-3223a8b2ae9f") - .nonBasicServicesAllowed(true) - .totalServices(60) - .totalRoutes(1000) - .memoryLimit(20480) - .instanceMemoryLimit(-1) - .organizationUrl("/v2/organizations/a81d5218-b473-474e-9afb-3223a8b2ae9f") - .spacesUrl - ("/v2/space_quota_definitions/be2d5c01-3413-43db-bea2-49b0b60ec74d/spaces") - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .list(ListSpaceQuotaDefinitionsRequest.builder().page(-1).build()) + .as(StepVerifier::create) + .expectNext( + ListSpaceQuotaDefinitionsResponse.builder() + .totalResults(1) + .totalPages(1) + .resource( + SpaceQuotaDefinitionResource.builder() + .metadata( + Metadata.builder() + .id( + "be2d5c01-3413-43db-bea2-49b0b60ec74d") + .url( + "/v2/space_quota_definitions/be2d5c01-3413-43db-bea2-49b0b60ec74d") + .createdAt("2015-07-27T22:43:32Z") + .build()) + .entity( + SpaceQuotaDefinitionEntity.builder() + .name("name-2236") + .organizationId( + "a81d5218-b473-474e-9afb-3223a8b2ae9f") + .nonBasicServicesAllowed(true) + .totalServices(60) + .totalRoutes(1000) + .memoryLimit(20480) + .instanceMemoryLimit(-1) + .organizationUrl( + "/v2/organizations/a81d5218-b473-474e-9afb-3223a8b2ae9f") + .spacesUrl( + "/v2/space_quota_definitions/be2d5c01-3413-43db-bea2-49b0b60ec74d/spaces") + .build()) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void listSpaces() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/space_quota_definitions/e37cdd97-af56-4417-a99d-060093057275/spaces") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/space_quota_definitions/GET_{id}_spaces_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path( + "/space_quota_definitions/e37cdd97-af56-4417-a99d-060093057275/spaces") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/space_quota_definitions/GET_{id}_spaces_response.json") + .build()) + .build()); this.spaceQuotaDefinitions - .listSpaces(ListSpaceQuotaDefinitionSpacesRequest.builder() - .spaceQuotaDefinitionId("e37cdd97-af56-4417-a99d-060093057275") - .build()) - .as(StepVerifier::create) - .expectNext(ListSpaceQuotaDefinitionSpacesResponse.builder() - .totalResults(1) - .totalPages(1) - .resource(SpaceResource.builder() - .metadata(Metadata.builder() - .createdAt("2016-06-08T16:41:29Z") - .id("a1f21571-07a6-42df-b9c0-501b97fac05b") - .updatedAt("2016-06-08T16:41:29Z") - .url("/v2/spaces/a1f21571-07a6-42df-b9c0-501b97fac05b") - .build()) - .entity(SpaceEntity.builder() - .name("name-1473") - .organizationId("e0878e36-e2f3-4290-b7c6-50f825ce6c77") - .organizationUrl("/v2/organizations/e0878e36-e2f3-4290-b7c6-50f825ce6c77") - .spaceQuotaDefinitionId("e37cdd97-af56-4417-a99d-060093057275") - .spaceQuotaDefinitionUrl("/v2/space_quota_definitions/e37cdd97-af56-4417-a99d-060093057275") - .allowSsh(true) - .developersUrl("/v2/spaces/a1f21571-07a6-42df-b9c0-501b97fac05b/developers") - .managersUrl("/v2/spaces/a1f21571-07a6-42df-b9c0-501b97fac05b/managers") - .auditorsUrl("/v2/spaces/a1f21571-07a6-42df-b9c0-501b97fac05b/auditors") - .applicationsUrl("/v2/spaces/a1f21571-07a6-42df-b9c0-501b97fac05b/apps") - .routesUrl("/v2/spaces/a1f21571-07a6-42df-b9c0-501b97fac05b/routes") - .domainsUrl("/v2/spaces/a1f21571-07a6-42df-b9c0-501b97fac05b/domains") - .serviceInstancesUrl("/v2/spaces/a1f21571-07a6-42df-b9c0-501b97fac05b/service_instances") - .applicationEventsUrl("/v2/spaces/a1f21571-07a6-42df-b9c0-501b97fac05b/app_events") - .eventsUrl("/v2/spaces/a1f21571-07a6-42df-b9c0-501b97fac05b/events") - .securityGroupsUrl("/v2/spaces/a1f21571-07a6-42df-b9c0-501b97fac05b/security_groups") - .stagingSecurityGroupsUrl("/v2/spaces/a1f21571-07a6-42df-b9c0-501b97fac05b/staging_security_groups") - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .listSpaces( + ListSpaceQuotaDefinitionSpacesRequest.builder() + .spaceQuotaDefinitionId("e37cdd97-af56-4417-a99d-060093057275") + .build()) + .as(StepVerifier::create) + .expectNext( + ListSpaceQuotaDefinitionSpacesResponse.builder() + .totalResults(1) + .totalPages(1) + .resource( + SpaceResource.builder() + .metadata( + Metadata.builder() + .createdAt("2016-06-08T16:41:29Z") + .id( + "a1f21571-07a6-42df-b9c0-501b97fac05b") + .updatedAt("2016-06-08T16:41:29Z") + .url( + "/v2/spaces/a1f21571-07a6-42df-b9c0-501b97fac05b") + .build()) + .entity( + SpaceEntity.builder() + .name("name-1473") + .organizationId( + "e0878e36-e2f3-4290-b7c6-50f825ce6c77") + .organizationUrl( + "/v2/organizations/e0878e36-e2f3-4290-b7c6-50f825ce6c77") + .spaceQuotaDefinitionId( + "e37cdd97-af56-4417-a99d-060093057275") + .spaceQuotaDefinitionUrl( + "/v2/space_quota_definitions/e37cdd97-af56-4417-a99d-060093057275") + .allowSsh(true) + .developersUrl( + "/v2/spaces/a1f21571-07a6-42df-b9c0-501b97fac05b/developers") + .managersUrl( + "/v2/spaces/a1f21571-07a6-42df-b9c0-501b97fac05b/managers") + .auditorsUrl( + "/v2/spaces/a1f21571-07a6-42df-b9c0-501b97fac05b/auditors") + .applicationsUrl( + "/v2/spaces/a1f21571-07a6-42df-b9c0-501b97fac05b/apps") + .routesUrl( + "/v2/spaces/a1f21571-07a6-42df-b9c0-501b97fac05b/routes") + .domainsUrl( + "/v2/spaces/a1f21571-07a6-42df-b9c0-501b97fac05b/domains") + .serviceInstancesUrl( + "/v2/spaces/a1f21571-07a6-42df-b9c0-501b97fac05b/service_instances") + .applicationEventsUrl( + "/v2/spaces/a1f21571-07a6-42df-b9c0-501b97fac05b/app_events") + .eventsUrl( + "/v2/spaces/a1f21571-07a6-42df-b9c0-501b97fac05b/events") + .securityGroupsUrl( + "/v2/spaces/a1f21571-07a6-42df-b9c0-501b97fac05b/security_groups") + .stagingSecurityGroupsUrl( + "/v2/spaces/a1f21571-07a6-42df-b9c0-501b97fac05b/staging_security_groups") + .build()) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void removeSpace() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(DELETE).path("/space_quota_definitions/test-space-quota-definition-id/spaces/test-space-id") - .build()) - .response(TestResponse.builder() - .status(NO_CONTENT) - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(DELETE) + .path( + "/space_quota_definitions/test-space-quota-definition-id/spaces/test-space-id") + .build()) + .response(TestResponse.builder().status(NO_CONTENT).build()) + .build()); this.spaceQuotaDefinitions - .removeSpace(RemoveSpaceQuotaDefinitionRequest.builder() - .spaceId("test-space-id") - .spaceQuotaDefinitionId("test-space-quota-definition-id") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .removeSpace( + RemoveSpaceQuotaDefinitionRequest.builder() + .spaceId("test-space-id") + .spaceQuotaDefinitionId("test-space-quota-definition-id") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void update() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(PUT).path("/space_quota_definitions/bbd837ac-309d-4f53-9d49-67cb75364904") - .payload("fixtures/client/v2/space_quota_definitions/PUT_{id}_request.json") - .build()) - .response(TestResponse.builder() - .status(CREATED) - .payload("fixtures/client/v2/space_quota_definitions/PUT_{id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(PUT) + .path( + "/space_quota_definitions/bbd837ac-309d-4f53-9d49-67cb75364904") + .payload( + "fixtures/client/v2/space_quota_definitions/PUT_{id}_request.json") + .build()) + .response( + TestResponse.builder() + .status(CREATED) + .payload( + "fixtures/client/v2/space_quota_definitions/PUT_{id}_response.json") + .build()) + .build()); this.spaceQuotaDefinitions - .update(UpdateSpaceQuotaDefinitionRequest.builder() - .name("new_name") - .spaceQuotaDefinitionId("bbd837ac-309d-4f53-9d49-67cb75364904") - .build()) - .as(StepVerifier::create) - .expectNext(UpdateSpaceQuotaDefinitionResponse.builder() - .metadata(Metadata.builder() - .createdAt("2016-06-08T16:41:29Z") - .id("bbd837ac-309d-4f53-9d49-67cb75364904") - .updatedAt("2016-06-08T16:41:29Z") - .url("/v2/space_quota_definitions/bbd837ac-309d-4f53-9d49-67cb75364904") - .build()) - .entity(SpaceQuotaDefinitionEntity.builder() - .applicationInstanceLimit(-1) - .applicationTaskLimit(5) - .instanceMemoryLimit(-1) - .memoryLimit(20480) - .name("new_name") - .nonBasicServicesAllowed(true) - .organizationId("dbd76462-6fec-4add-aaca-35b2ca7493bb") - .organizationUrl("/v2/organizations/dbd76462-6fec-4add-aaca-35b2ca7493bb") - .spacesUrl("/v2/space_quota_definitions/bbd837ac-309d-4f53-9d49-67cb75364904/spaces") - .totalReservedRoutePorts(-1) - .totalRoutes(1000) - .totalServices(60) - .totalServiceKeys(600) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .update( + UpdateSpaceQuotaDefinitionRequest.builder() + .name("new_name") + .spaceQuotaDefinitionId("bbd837ac-309d-4f53-9d49-67cb75364904") + .build()) + .as(StepVerifier::create) + .expectNext( + UpdateSpaceQuotaDefinitionResponse.builder() + .metadata( + Metadata.builder() + .createdAt("2016-06-08T16:41:29Z") + .id("bbd837ac-309d-4f53-9d49-67cb75364904") + .updatedAt("2016-06-08T16:41:29Z") + .url( + "/v2/space_quota_definitions/bbd837ac-309d-4f53-9d49-67cb75364904") + .build()) + .entity( + SpaceQuotaDefinitionEntity.builder() + .applicationInstanceLimit(-1) + .applicationTaskLimit(5) + .instanceMemoryLimit(-1) + .memoryLimit(20480) + .name("new_name") + .nonBasicServicesAllowed(true) + .organizationId( + "dbd76462-6fec-4add-aaca-35b2ca7493bb") + .organizationUrl( + "/v2/organizations/dbd76462-6fec-4add-aaca-35b2ca7493bb") + .spacesUrl( + "/v2/space_quota_definitions/bbd837ac-309d-4f53-9d49-67cb75364904/spaces") + .totalReservedRoutePorts(-1) + .totalRoutes(1000) + .totalServices(60) + .totalServiceKeys(600) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } - } diff --git a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/spaces/ReactorSpacesTest.java b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/spaces/ReactorSpacesTest.java index 94ba890542..670f6c06f3 100644 --- a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/spaces/ReactorSpacesTest.java +++ b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/spaces/ReactorSpacesTest.java @@ -16,6 +16,19 @@ package org.cloudfoundry.reactor.client.v2.spaces; +import static io.netty.handler.codec.http.HttpMethod.DELETE; +import static io.netty.handler.codec.http.HttpMethod.GET; +import static io.netty.handler.codec.http.HttpMethod.POST; +import static io.netty.handler.codec.http.HttpMethod.PUT; +import static io.netty.handler.codec.http.HttpResponseStatus.ACCEPTED; +import static io.netty.handler.codec.http.HttpResponseStatus.NO_CONTENT; +import static io.netty.handler.codec.http.HttpResponseStatus.OK; +import static org.cloudfoundry.client.v2.securitygroups.Protocol.UDP; +import static org.cloudfoundry.client.v2.serviceinstances.ServiceInstance.builder; + +import java.time.Duration; +import java.util.Collections; +import java.util.Optional; import org.cloudfoundry.client.v2.Metadata; import org.cloudfoundry.client.v2.applications.ApplicationEntity; import org.cloudfoundry.client.v2.applications.ApplicationResource; @@ -112,1427 +125,1942 @@ import org.junit.Test; import reactor.test.StepVerifier; -import java.time.Duration; -import java.util.Collections; -import java.util.Optional; - -import static io.netty.handler.codec.http.HttpMethod.DELETE; -import static io.netty.handler.codec.http.HttpMethod.GET; -import static io.netty.handler.codec.http.HttpMethod.POST; -import static io.netty.handler.codec.http.HttpMethod.PUT; -import static io.netty.handler.codec.http.HttpResponseStatus.ACCEPTED; -import static io.netty.handler.codec.http.HttpResponseStatus.NO_CONTENT; -import static io.netty.handler.codec.http.HttpResponseStatus.OK; -import static org.cloudfoundry.client.v2.securitygroups.Protocol.UDP; -import static org.cloudfoundry.client.v2.serviceinstances.ServiceInstance.builder; - public final class ReactorSpacesTest extends AbstractClientApiTest { - private final ReactorSpaces spaces = new ReactorSpaces(CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); + private final ReactorSpaces spaces = + new ReactorSpaces( + CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); @Test public void associateAuditor() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(PUT).path("/spaces/test-space-id/auditors/test-auditor-id") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/spaces/PUT_{id}_auditors_{id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(PUT) + .path("/spaces/test-space-id/auditors/test-auditor-id") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/spaces/PUT_{id}_auditors_{id}_response.json") + .build()) + .build()); this.spaces - .associateAuditor(AssociateSpaceAuditorRequest.builder() - .spaceId("test-space-id") - .auditorId("test-auditor-id") - .build()) - .as(StepVerifier::create) - .expectNext(AssociateSpaceAuditorResponse.builder() - .metadata(Metadata.builder() - .id("9639c996-9005-4b70-b852-d40f346d58dc") - .url("/v2/spaces/9639c996-9005-4b70-b852-d40f346d58dc") - .createdAt("2015-07-27T22:43:07Z") - .build()) - .entity(SpaceEntity.builder() - .name("name-59") - .organizationId("bc168e1d-b399-4624-b7f6-fbe64eeb870f") - .allowSsh(true) - .organizationUrl("/v2/organizations/bc168e1d-b399-4624-b7f6-fbe64eeb870f") - .developersUrl("/v2/spaces/9639c996-9005-4b70-b852-d40f346d58dc/developers") - .managersUrl("/v2/spaces/9639c996-9005-4b70-b852-d40f346d58dc/managers") - .auditorsUrl("/v2/spaces/9639c996-9005-4b70-b852-d40f346d58dc/auditors") - .applicationsUrl("/v2/spaces/9639c996-9005-4b70-b852-d40f346d58dc/apps") - .routesUrl("/v2/spaces/9639c996-9005-4b70-b852-d40f346d58dc/routes") - .domainsUrl("/v2/spaces/9639c996-9005-4b70-b852-d40f346d58dc/domains") - .serviceInstancesUrl("/v2/spaces/9639c996-9005-4b70-b852-d40f346d58dc/service_instances") - .applicationEventsUrl("/v2/spaces/9639c996-9005-4b70-b852-d40f346d58dc/app_events") - .eventsUrl("/v2/spaces/9639c996-9005-4b70-b852-d40f346d58dc/events") - .securityGroupsUrl("/v2/spaces/9639c996-9005-4b70-b852-d40f346d58dc/security_groups") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .associateAuditor( + AssociateSpaceAuditorRequest.builder() + .spaceId("test-space-id") + .auditorId("test-auditor-id") + .build()) + .as(StepVerifier::create) + .expectNext( + AssociateSpaceAuditorResponse.builder() + .metadata( + Metadata.builder() + .id("9639c996-9005-4b70-b852-d40f346d58dc") + .url( + "/v2/spaces/9639c996-9005-4b70-b852-d40f346d58dc") + .createdAt("2015-07-27T22:43:07Z") + .build()) + .entity( + SpaceEntity.builder() + .name("name-59") + .organizationId( + "bc168e1d-b399-4624-b7f6-fbe64eeb870f") + .allowSsh(true) + .organizationUrl( + "/v2/organizations/bc168e1d-b399-4624-b7f6-fbe64eeb870f") + .developersUrl( + "/v2/spaces/9639c996-9005-4b70-b852-d40f346d58dc/developers") + .managersUrl( + "/v2/spaces/9639c996-9005-4b70-b852-d40f346d58dc/managers") + .auditorsUrl( + "/v2/spaces/9639c996-9005-4b70-b852-d40f346d58dc/auditors") + .applicationsUrl( + "/v2/spaces/9639c996-9005-4b70-b852-d40f346d58dc/apps") + .routesUrl( + "/v2/spaces/9639c996-9005-4b70-b852-d40f346d58dc/routes") + .domainsUrl( + "/v2/spaces/9639c996-9005-4b70-b852-d40f346d58dc/domains") + .serviceInstancesUrl( + "/v2/spaces/9639c996-9005-4b70-b852-d40f346d58dc/service_instances") + .applicationEventsUrl( + "/v2/spaces/9639c996-9005-4b70-b852-d40f346d58dc/app_events") + .eventsUrl( + "/v2/spaces/9639c996-9005-4b70-b852-d40f346d58dc/events") + .securityGroupsUrl( + "/v2/spaces/9639c996-9005-4b70-b852-d40f346d58dc/security_groups") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void associateAuditorByUsername() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(PUT).path("/spaces/test-space-id/auditors") - .payload("fixtures/client/v2/spaces/PUT_{id}_auditors_request.json") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/spaces/PUT_{id}_auditors_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(PUT) + .path("/spaces/test-space-id/auditors") + .payload( + "fixtures/client/v2/spaces/PUT_{id}_auditors_request.json") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/spaces/PUT_{id}_auditors_response.json") + .build()) + .build()); this.spaces - .associateAuditorByUsername(AssociateSpaceAuditorByUsernameRequest.builder() - .spaceId("test-space-id") - .username("user@example.com") - .build()) - .as(StepVerifier::create) - .expectNext(AssociateSpaceAuditorByUsernameResponse.builder() - .metadata(Metadata.builder() - .id("873193ee-878c-436f-80bd-10d68927937d") - .url("/v2/spaces/873193ee-878c-436f-80bd-10d68927937d") - .createdAt("2015-11-30T23:38:28Z") - .build()) - .entity(SpaceEntity.builder() - .allowSsh(true) - .applicationEventsUrl("/v2/spaces/873193ee-878c-436f-80bd-10d68927937d/app_events") - .applicationsUrl("/v2/spaces/873193ee-878c-436f-80bd-10d68927937d/apps") - .auditorsUrl("/v2/spaces/873193ee-878c-436f-80bd-10d68927937d/auditors") - .developersUrl("/v2/spaces/873193ee-878c-436f-80bd-10d68927937d/developers") - .domainsUrl("/v2/spaces/873193ee-878c-436f-80bd-10d68927937d/domains") - .eventsUrl("/v2/spaces/873193ee-878c-436f-80bd-10d68927937d/events") - .managersUrl("/v2/spaces/873193ee-878c-436f-80bd-10d68927937d/managers") - .name("name-101") - .organizationId("5fddaf61-092d-4b33-9490-8350963db89e") - .organizationUrl("/v2/organizations/5fddaf61-092d-4b33-9490-8350963db89e") - .routesUrl("/v2/spaces/873193ee-878c-436f-80bd-10d68927937d/routes") - .securityGroupsUrl("/v2/spaces/873193ee-878c-436f-80bd-10d68927937d/security_groups") - .serviceInstancesUrl("/v2/spaces/873193ee-878c-436f-80bd-10d68927937d/service_instances") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .associateAuditorByUsername( + AssociateSpaceAuditorByUsernameRequest.builder() + .spaceId("test-space-id") + .username("user@example.com") + .build()) + .as(StepVerifier::create) + .expectNext( + AssociateSpaceAuditorByUsernameResponse.builder() + .metadata( + Metadata.builder() + .id("873193ee-878c-436f-80bd-10d68927937d") + .url( + "/v2/spaces/873193ee-878c-436f-80bd-10d68927937d") + .createdAt("2015-11-30T23:38:28Z") + .build()) + .entity( + SpaceEntity.builder() + .allowSsh(true) + .applicationEventsUrl( + "/v2/spaces/873193ee-878c-436f-80bd-10d68927937d/app_events") + .applicationsUrl( + "/v2/spaces/873193ee-878c-436f-80bd-10d68927937d/apps") + .auditorsUrl( + "/v2/spaces/873193ee-878c-436f-80bd-10d68927937d/auditors") + .developersUrl( + "/v2/spaces/873193ee-878c-436f-80bd-10d68927937d/developers") + .domainsUrl( + "/v2/spaces/873193ee-878c-436f-80bd-10d68927937d/domains") + .eventsUrl( + "/v2/spaces/873193ee-878c-436f-80bd-10d68927937d/events") + .managersUrl( + "/v2/spaces/873193ee-878c-436f-80bd-10d68927937d/managers") + .name("name-101") + .organizationId( + "5fddaf61-092d-4b33-9490-8350963db89e") + .organizationUrl( + "/v2/organizations/5fddaf61-092d-4b33-9490-8350963db89e") + .routesUrl( + "/v2/spaces/873193ee-878c-436f-80bd-10d68927937d/routes") + .securityGroupsUrl( + "/v2/spaces/873193ee-878c-436f-80bd-10d68927937d/security_groups") + .serviceInstancesUrl( + "/v2/spaces/873193ee-878c-436f-80bd-10d68927937d/service_instances") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void associateDeveloper() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(PUT).path("/spaces/test-space-id/developers/test-developer-id") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/spaces/PUT_{id}_developers_{id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(PUT) + .path("/spaces/test-space-id/developers/test-developer-id") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/spaces/PUT_{id}_developers_{id}_response.json") + .build()) + .build()); this.spaces - .associateDeveloper(AssociateSpaceDeveloperRequest.builder() - .spaceId("test-space-id") - .developerId("test-developer-id") - .build()) - .as(StepVerifier::create) - .expectNext(AssociateSpaceDeveloperResponse.builder() - .metadata(Metadata.builder() - .id("6f8f8e0d-54f2-4736-a08e-1044fcf061d3") - .url("/v2/spaces/6f8f8e0d-54f2-4736-a08e-1044fcf061d3") - .createdAt("2015-07-27T22:43:07Z") - .build()) - .entity(SpaceEntity.builder() - .name("name-68") - .organizationId("5b556f7c-63f5-43e5-9522-c4fec533b09d") - .allowSsh(true) - .organizationUrl("/v2/organizations/5b556f7c-63f5-43e5-9522-c4fec533b09d") - .developersUrl("/v2/spaces/6f8f8e0d-54f2-4736-a08e-1044fcf061d3/developers") - .managersUrl("/v2/spaces/6f8f8e0d-54f2-4736-a08e-1044fcf061d3/managers") - .auditorsUrl("/v2/spaces/6f8f8e0d-54f2-4736-a08e-1044fcf061d3/auditors") - .applicationsUrl("/v2/spaces/6f8f8e0d-54f2-4736-a08e-1044fcf061d3/apps") - .routesUrl("/v2/spaces/6f8f8e0d-54f2-4736-a08e-1044fcf061d3/routes") - .domainsUrl("/v2/spaces/6f8f8e0d-54f2-4736-a08e-1044fcf061d3/domains") - .serviceInstancesUrl("/v2/spaces/6f8f8e0d-54f2-4736-a08e-1044fcf061d3/service_instances") - .applicationEventsUrl("/v2/spaces/6f8f8e0d-54f2-4736-a08e-1044fcf061d3/app_events") - .eventsUrl("/v2/spaces/6f8f8e0d-54f2-4736-a08e-1044fcf061d3/events") - .securityGroupsUrl("/v2/spaces/6f8f8e0d-54f2-4736-a08e-1044fcf061d3/security_groups") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .associateDeveloper( + AssociateSpaceDeveloperRequest.builder() + .spaceId("test-space-id") + .developerId("test-developer-id") + .build()) + .as(StepVerifier::create) + .expectNext( + AssociateSpaceDeveloperResponse.builder() + .metadata( + Metadata.builder() + .id("6f8f8e0d-54f2-4736-a08e-1044fcf061d3") + .url( + "/v2/spaces/6f8f8e0d-54f2-4736-a08e-1044fcf061d3") + .createdAt("2015-07-27T22:43:07Z") + .build()) + .entity( + SpaceEntity.builder() + .name("name-68") + .organizationId( + "5b556f7c-63f5-43e5-9522-c4fec533b09d") + .allowSsh(true) + .organizationUrl( + "/v2/organizations/5b556f7c-63f5-43e5-9522-c4fec533b09d") + .developersUrl( + "/v2/spaces/6f8f8e0d-54f2-4736-a08e-1044fcf061d3/developers") + .managersUrl( + "/v2/spaces/6f8f8e0d-54f2-4736-a08e-1044fcf061d3/managers") + .auditorsUrl( + "/v2/spaces/6f8f8e0d-54f2-4736-a08e-1044fcf061d3/auditors") + .applicationsUrl( + "/v2/spaces/6f8f8e0d-54f2-4736-a08e-1044fcf061d3/apps") + .routesUrl( + "/v2/spaces/6f8f8e0d-54f2-4736-a08e-1044fcf061d3/routes") + .domainsUrl( + "/v2/spaces/6f8f8e0d-54f2-4736-a08e-1044fcf061d3/domains") + .serviceInstancesUrl( + "/v2/spaces/6f8f8e0d-54f2-4736-a08e-1044fcf061d3/service_instances") + .applicationEventsUrl( + "/v2/spaces/6f8f8e0d-54f2-4736-a08e-1044fcf061d3/app_events") + .eventsUrl( + "/v2/spaces/6f8f8e0d-54f2-4736-a08e-1044fcf061d3/events") + .securityGroupsUrl( + "/v2/spaces/6f8f8e0d-54f2-4736-a08e-1044fcf061d3/security_groups") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void associateManager() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(PUT).path("/spaces/test-space-id/managers/test-manager-id") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/spaces/PUT_{id}_managers_{id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(PUT) + .path("/spaces/test-space-id/managers/test-manager-id") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/spaces/PUT_{id}_managers_{id}_response.json") + .build()) + .build()); this.spaces - .associateManager(AssociateSpaceManagerRequest.builder() - .spaceId("test-space-id") - .managerId("test-manager-id") - .build()) - .as(StepVerifier::create) - .expectNext(AssociateSpaceManagerResponse.builder() - .metadata(Metadata.builder() - .id("542943ff-a40b-4004-9559-434b0169508c") - .url("/v2/spaces/542943ff-a40b-4004-9559-434b0169508c") - .createdAt("2015-07-27T22:43:07Z") - .build()) - .entity(SpaceEntity.builder() - .name("name-85") - .organizationId("0a68fcd5-dc1c-48d0-98dc-33008ce0d7ce") - .allowSsh(true) - .organizationUrl("/v2/organizations/0a68fcd5-dc1c-48d0-98dc-33008ce0d7ce") - .developersUrl("/v2/spaces/542943ff-a40b-4004-9559-434b0169508c/developers") - .managersUrl("/v2/spaces/542943ff-a40b-4004-9559-434b0169508c/managers") - .auditorsUrl("/v2/spaces/542943ff-a40b-4004-9559-434b0169508c/auditors") - .applicationsUrl("/v2/spaces/542943ff-a40b-4004-9559-434b0169508c/apps") - .routesUrl("/v2/spaces/542943ff-a40b-4004-9559-434b0169508c/routes") - .domainsUrl("/v2/spaces/542943ff-a40b-4004-9559-434b0169508c/domains") - .serviceInstancesUrl("/v2/spaces/542943ff-a40b-4004-9559-434b0169508c/service_instances") - .applicationEventsUrl("/v2/spaces/542943ff-a40b-4004-9559-434b0169508c/app_events") - .eventsUrl("/v2/spaces/542943ff-a40b-4004-9559-434b0169508c/events") - .securityGroupsUrl("/v2/spaces/542943ff-a40b-4004-9559-434b0169508c/security_groups") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .associateManager( + AssociateSpaceManagerRequest.builder() + .spaceId("test-space-id") + .managerId("test-manager-id") + .build()) + .as(StepVerifier::create) + .expectNext( + AssociateSpaceManagerResponse.builder() + .metadata( + Metadata.builder() + .id("542943ff-a40b-4004-9559-434b0169508c") + .url( + "/v2/spaces/542943ff-a40b-4004-9559-434b0169508c") + .createdAt("2015-07-27T22:43:07Z") + .build()) + .entity( + SpaceEntity.builder() + .name("name-85") + .organizationId( + "0a68fcd5-dc1c-48d0-98dc-33008ce0d7ce") + .allowSsh(true) + .organizationUrl( + "/v2/organizations/0a68fcd5-dc1c-48d0-98dc-33008ce0d7ce") + .developersUrl( + "/v2/spaces/542943ff-a40b-4004-9559-434b0169508c/developers") + .managersUrl( + "/v2/spaces/542943ff-a40b-4004-9559-434b0169508c/managers") + .auditorsUrl( + "/v2/spaces/542943ff-a40b-4004-9559-434b0169508c/auditors") + .applicationsUrl( + "/v2/spaces/542943ff-a40b-4004-9559-434b0169508c/apps") + .routesUrl( + "/v2/spaces/542943ff-a40b-4004-9559-434b0169508c/routes") + .domainsUrl( + "/v2/spaces/542943ff-a40b-4004-9559-434b0169508c/domains") + .serviceInstancesUrl( + "/v2/spaces/542943ff-a40b-4004-9559-434b0169508c/service_instances") + .applicationEventsUrl( + "/v2/spaces/542943ff-a40b-4004-9559-434b0169508c/app_events") + .eventsUrl( + "/v2/spaces/542943ff-a40b-4004-9559-434b0169508c/events") + .securityGroupsUrl( + "/v2/spaces/542943ff-a40b-4004-9559-434b0169508c/security_groups") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void associateSecurityGroup() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(PUT).path("/spaces/test-space-id/security_groups/test-security-group-id") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/spaces/PUT_{id}_security_group_{id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(PUT) + .path( + "/spaces/test-space-id/security_groups/test-security-group-id") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/spaces/PUT_{id}_security_group_{id}_response.json") + .build()) + .build()); this.spaces - .associateSecurityGroup(AssociateSpaceSecurityGroupRequest.builder() - .spaceId("test-space-id") - .securityGroupId("test-security-group-id") - .build()) - .as(StepVerifier::create) - .expectNext(AssociateSpaceSecurityGroupResponse.builder() - .metadata(Metadata.builder() - .id("c9424692-395b-403b-90e6-10049bbd9e23") - .url("/v2/spaces/c9424692-395b-403b-90e6-10049bbd9e23") - .createdAt("2015-07-27T22:43:06Z") - .build()) - .entity(SpaceEntity.builder() - .name("name-39") - .organizationId("67096164-bdcf-4b53-92e1-a2991882a066") - .allowSsh(true) - .organizationUrl("/v2/organizations/67096164-bdcf-4b53-92e1-a2991882a066") - .developersUrl("/v2/spaces/c9424692-395b-403b-90e6-10049bbd9e23/developers") - .managersUrl("/v2/spaces/c9424692-395b-403b-90e6-10049bbd9e23/managers") - .auditorsUrl("/v2/spaces/c9424692-395b-403b-90e6-10049bbd9e23/auditors") - .applicationsUrl("/v2/spaces/c9424692-395b-403b-90e6-10049bbd9e23/apps") - .routesUrl("/v2/spaces/c9424692-395b-403b-90e6-10049bbd9e23/routes") - .domainsUrl("/v2/spaces/c9424692-395b-403b-90e6-10049bbd9e23/domains") - .serviceInstancesUrl("/v2/spaces/c9424692-395b-403b-90e6-10049bbd9e23/service_instances") - .applicationEventsUrl("/v2/spaces/c9424692-395b-403b-90e6-10049bbd9e23/app_events") - .eventsUrl("/v2/spaces/c9424692-395b-403b-90e6-10049bbd9e23/events") - .securityGroupsUrl("/v2/spaces/c9424692-395b-403b-90e6-10049bbd9e23/security_groups") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .associateSecurityGroup( + AssociateSpaceSecurityGroupRequest.builder() + .spaceId("test-space-id") + .securityGroupId("test-security-group-id") + .build()) + .as(StepVerifier::create) + .expectNext( + AssociateSpaceSecurityGroupResponse.builder() + .metadata( + Metadata.builder() + .id("c9424692-395b-403b-90e6-10049bbd9e23") + .url( + "/v2/spaces/c9424692-395b-403b-90e6-10049bbd9e23") + .createdAt("2015-07-27T22:43:06Z") + .build()) + .entity( + SpaceEntity.builder() + .name("name-39") + .organizationId( + "67096164-bdcf-4b53-92e1-a2991882a066") + .allowSsh(true) + .organizationUrl( + "/v2/organizations/67096164-bdcf-4b53-92e1-a2991882a066") + .developersUrl( + "/v2/spaces/c9424692-395b-403b-90e6-10049bbd9e23/developers") + .managersUrl( + "/v2/spaces/c9424692-395b-403b-90e6-10049bbd9e23/managers") + .auditorsUrl( + "/v2/spaces/c9424692-395b-403b-90e6-10049bbd9e23/auditors") + .applicationsUrl( + "/v2/spaces/c9424692-395b-403b-90e6-10049bbd9e23/apps") + .routesUrl( + "/v2/spaces/c9424692-395b-403b-90e6-10049bbd9e23/routes") + .domainsUrl( + "/v2/spaces/c9424692-395b-403b-90e6-10049bbd9e23/domains") + .serviceInstancesUrl( + "/v2/spaces/c9424692-395b-403b-90e6-10049bbd9e23/service_instances") + .applicationEventsUrl( + "/v2/spaces/c9424692-395b-403b-90e6-10049bbd9e23/app_events") + .eventsUrl( + "/v2/spaces/c9424692-395b-403b-90e6-10049bbd9e23/events") + .securityGroupsUrl( + "/v2/spaces/c9424692-395b-403b-90e6-10049bbd9e23/security_groups") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void associateSpaceDeveloperByUsername() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(PUT).path("/spaces/test-space-id/developers") - .payload("fixtures/client/v2/spaces/PUT_{id}_developers_request.json") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/spaces/PUT_{id}_developers_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(PUT) + .path("/spaces/test-space-id/developers") + .payload( + "fixtures/client/v2/spaces/PUT_{id}_developers_request.json") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/spaces/PUT_{id}_developers_response.json") + .build()) + .build()); this.spaces - .associateDeveloperByUsername(AssociateSpaceDeveloperByUsernameRequest.builder() - .spaceId("test-space-id") - .username("user@example.com") - .build()) - .as(StepVerifier::create) - .expectNext(AssociateSpaceDeveloperByUsernameResponse.builder() - .metadata(Metadata.builder() - .id("b6d11f17-1cea-4c00-a951-fef3223b8c84") - .url("/v2/spaces/b6d11f17-1cea-4c00-a951-fef3223b8c84") - .createdAt("2015-11-30T23:38:27Z") - .build()) - .entity(SpaceEntity.builder() - .name("name-58") - .organizationId("b13bbebe-427e-424d-8820-2937f7e218d5") - .allowSsh(true) - .organizationUrl("/v2/organizations/b13bbebe-427e-424d-8820-2937f7e218d5") - .developersUrl("/v2/spaces/b6d11f17-1cea-4c00-a951-fef3223b8c84/developers") - .managersUrl("/v2/spaces/b6d11f17-1cea-4c00-a951-fef3223b8c84/managers") - .auditorsUrl("/v2/spaces/b6d11f17-1cea-4c00-a951-fef3223b8c84/auditors") - .applicationsUrl("/v2/spaces/b6d11f17-1cea-4c00-a951-fef3223b8c84/apps") - .routesUrl("/v2/spaces/b6d11f17-1cea-4c00-a951-fef3223b8c84/routes") - .domainsUrl("/v2/spaces/b6d11f17-1cea-4c00-a951-fef3223b8c84/domains") - .serviceInstancesUrl("/v2/spaces/b6d11f17-1cea-4c00-a951-fef3223b8c84/service_instances") - .applicationEventsUrl("/v2/spaces/b6d11f17-1cea-4c00-a951-fef3223b8c84/app_events") - .eventsUrl("/v2/spaces/b6d11f17-1cea-4c00-a951-fef3223b8c84/events") - .securityGroupsUrl("/v2/spaces/b6d11f17-1cea-4c00-a951-fef3223b8c84/security_groups") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .associateDeveloperByUsername( + AssociateSpaceDeveloperByUsernameRequest.builder() + .spaceId("test-space-id") + .username("user@example.com") + .build()) + .as(StepVerifier::create) + .expectNext( + AssociateSpaceDeveloperByUsernameResponse.builder() + .metadata( + Metadata.builder() + .id("b6d11f17-1cea-4c00-a951-fef3223b8c84") + .url( + "/v2/spaces/b6d11f17-1cea-4c00-a951-fef3223b8c84") + .createdAt("2015-11-30T23:38:27Z") + .build()) + .entity( + SpaceEntity.builder() + .name("name-58") + .organizationId( + "b13bbebe-427e-424d-8820-2937f7e218d5") + .allowSsh(true) + .organizationUrl( + "/v2/organizations/b13bbebe-427e-424d-8820-2937f7e218d5") + .developersUrl( + "/v2/spaces/b6d11f17-1cea-4c00-a951-fef3223b8c84/developers") + .managersUrl( + "/v2/spaces/b6d11f17-1cea-4c00-a951-fef3223b8c84/managers") + .auditorsUrl( + "/v2/spaces/b6d11f17-1cea-4c00-a951-fef3223b8c84/auditors") + .applicationsUrl( + "/v2/spaces/b6d11f17-1cea-4c00-a951-fef3223b8c84/apps") + .routesUrl( + "/v2/spaces/b6d11f17-1cea-4c00-a951-fef3223b8c84/routes") + .domainsUrl( + "/v2/spaces/b6d11f17-1cea-4c00-a951-fef3223b8c84/domains") + .serviceInstancesUrl( + "/v2/spaces/b6d11f17-1cea-4c00-a951-fef3223b8c84/service_instances") + .applicationEventsUrl( + "/v2/spaces/b6d11f17-1cea-4c00-a951-fef3223b8c84/app_events") + .eventsUrl( + "/v2/spaces/b6d11f17-1cea-4c00-a951-fef3223b8c84/events") + .securityGroupsUrl( + "/v2/spaces/b6d11f17-1cea-4c00-a951-fef3223b8c84/security_groups") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void associateSpaceManagerByUsername() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(PUT).path("/spaces/test-space-id/managers") - .payload("fixtures/client/v2/spaces/PUT_{id}_managers_request.json") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/spaces/PUT_{id}_managers_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(PUT) + .path("/spaces/test-space-id/managers") + .payload( + "fixtures/client/v2/spaces/PUT_{id}_managers_request.json") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/spaces/PUT_{id}_managers_response.json") + .build()) + .build()); this.spaces - .associateManagerByUsername(AssociateSpaceManagerByUsernameRequest.builder() - .spaceId("test-space-id") - .username("user@example.com") - .build()) - .as(StepVerifier::create) - .expectNext(AssociateSpaceManagerByUsernameResponse.builder() - .metadata(Metadata.builder() - .id("4351f97b-3485-4738-821b-5bf77bed44eb") - .url("/v2/spaces/4351f97b-3485-4738-821b-5bf77bed44eb") - .createdAt("2015-11-30T23:38:28Z") - .build()) - .entity(SpaceEntity.builder() - .name("name-98") - .organizationId("a488910d-2d69-46a2-bf6e-319248e03705") - .allowSsh(true) - .organizationUrl("/v2/organizations/a488910d-2d69-46a2-bf6e-319248e03705") - .developersUrl("/v2/spaces/4351f97b-3485-4738-821b-5bf77bed44eb/developers") - .managersUrl("/v2/spaces/4351f97b-3485-4738-821b-5bf77bed44eb/managers") - .auditorsUrl("/v2/spaces/4351f97b-3485-4738-821b-5bf77bed44eb/auditors") - .applicationsUrl("/v2/spaces/4351f97b-3485-4738-821b-5bf77bed44eb/apps") - .routesUrl("/v2/spaces/4351f97b-3485-4738-821b-5bf77bed44eb/routes") - .domainsUrl("/v2/spaces/4351f97b-3485-4738-821b-5bf77bed44eb/domains") - .serviceInstancesUrl("/v2/spaces/4351f97b-3485-4738-821b-5bf77bed44eb/service_instances") - .applicationEventsUrl("/v2/spaces/4351f97b-3485-4738-821b-5bf77bed44eb/app_events") - .eventsUrl("/v2/spaces/4351f97b-3485-4738-821b-5bf77bed44eb/events") - .securityGroupsUrl("/v2/spaces/4351f97b-3485-4738-821b-5bf77bed44eb/security_groups") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .associateManagerByUsername( + AssociateSpaceManagerByUsernameRequest.builder() + .spaceId("test-space-id") + .username("user@example.com") + .build()) + .as(StepVerifier::create) + .expectNext( + AssociateSpaceManagerByUsernameResponse.builder() + .metadata( + Metadata.builder() + .id("4351f97b-3485-4738-821b-5bf77bed44eb") + .url( + "/v2/spaces/4351f97b-3485-4738-821b-5bf77bed44eb") + .createdAt("2015-11-30T23:38:28Z") + .build()) + .entity( + SpaceEntity.builder() + .name("name-98") + .organizationId( + "a488910d-2d69-46a2-bf6e-319248e03705") + .allowSsh(true) + .organizationUrl( + "/v2/organizations/a488910d-2d69-46a2-bf6e-319248e03705") + .developersUrl( + "/v2/spaces/4351f97b-3485-4738-821b-5bf77bed44eb/developers") + .managersUrl( + "/v2/spaces/4351f97b-3485-4738-821b-5bf77bed44eb/managers") + .auditorsUrl( + "/v2/spaces/4351f97b-3485-4738-821b-5bf77bed44eb/auditors") + .applicationsUrl( + "/v2/spaces/4351f97b-3485-4738-821b-5bf77bed44eb/apps") + .routesUrl( + "/v2/spaces/4351f97b-3485-4738-821b-5bf77bed44eb/routes") + .domainsUrl( + "/v2/spaces/4351f97b-3485-4738-821b-5bf77bed44eb/domains") + .serviceInstancesUrl( + "/v2/spaces/4351f97b-3485-4738-821b-5bf77bed44eb/service_instances") + .applicationEventsUrl( + "/v2/spaces/4351f97b-3485-4738-821b-5bf77bed44eb/app_events") + .eventsUrl( + "/v2/spaces/4351f97b-3485-4738-821b-5bf77bed44eb/events") + .securityGroupsUrl( + "/v2/spaces/4351f97b-3485-4738-821b-5bf77bed44eb/security_groups") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void create() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(POST).path("/spaces") - .payload("fixtures/client/v2/spaces/POST_request.json") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/spaces/POST_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(POST) + .path("/spaces") + .payload("fixtures/client/v2/spaces/POST_request.json") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload("fixtures/client/v2/spaces/POST_response.json") + .build()) + .build()); this.spaces - .create(CreateSpaceRequest.builder() - .name("development") - .organizationId("c523070c-3006-4715-86dd-414afaecd949") - .build()) - .as(StepVerifier::create) - .expectNext(CreateSpaceResponse.builder() - .metadata(Metadata.builder() - .id("d29dc30c-793c-49a6-97fe-9aff75dcbd12") - .url("/v2/spaces/d29dc30c-793c-49a6-97fe-9aff75dcbd12") - .createdAt("2015-07-27T22:43:08Z") - .build()) - .entity(SpaceEntity.builder() - .name("development") - .organizationId("c523070c-3006-4715-86dd-414afaecd949") - .allowSsh(true) - .organizationUrl("/v2/organizations/c523070c-3006-4715-86dd-414afaecd949") - .developersUrl("/v2/spaces/d29dc30c-793c-49a6-97fe-9aff75dcbd12/developers") - .managersUrl("/v2/spaces/d29dc30c-793c-49a6-97fe-9aff75dcbd12/managers") - .auditorsUrl("/v2/spaces/d29dc30c-793c-49a6-97fe-9aff75dcbd12/auditors") - .applicationsUrl("/v2/spaces/d29dc30c-793c-49a6-97fe-9aff75dcbd12/apps") - .routesUrl("/v2/spaces/d29dc30c-793c-49a6-97fe-9aff75dcbd12/routes") - .domainsUrl("/v2/spaces/d29dc30c-793c-49a6-97fe-9aff75dcbd12/domains") - .serviceInstancesUrl("/v2/spaces/d29dc30c-793c-49a6-97fe-9aff75dcbd12/service_instances") - .applicationEventsUrl("/v2/spaces/d29dc30c-793c-49a6-97fe-9aff75dcbd12/app_events") - .eventsUrl("/v2/spaces/d29dc30c-793c-49a6-97fe-9aff75dcbd12/events") - .securityGroupsUrl("/v2/spaces/d29dc30c-793c-49a6-97fe-9aff75dcbd12/security_groups") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .create( + CreateSpaceRequest.builder() + .name("development") + .organizationId("c523070c-3006-4715-86dd-414afaecd949") + .build()) + .as(StepVerifier::create) + .expectNext( + CreateSpaceResponse.builder() + .metadata( + Metadata.builder() + .id("d29dc30c-793c-49a6-97fe-9aff75dcbd12") + .url( + "/v2/spaces/d29dc30c-793c-49a6-97fe-9aff75dcbd12") + .createdAt("2015-07-27T22:43:08Z") + .build()) + .entity( + SpaceEntity.builder() + .name("development") + .organizationId( + "c523070c-3006-4715-86dd-414afaecd949") + .allowSsh(true) + .organizationUrl( + "/v2/organizations/c523070c-3006-4715-86dd-414afaecd949") + .developersUrl( + "/v2/spaces/d29dc30c-793c-49a6-97fe-9aff75dcbd12/developers") + .managersUrl( + "/v2/spaces/d29dc30c-793c-49a6-97fe-9aff75dcbd12/managers") + .auditorsUrl( + "/v2/spaces/d29dc30c-793c-49a6-97fe-9aff75dcbd12/auditors") + .applicationsUrl( + "/v2/spaces/d29dc30c-793c-49a6-97fe-9aff75dcbd12/apps") + .routesUrl( + "/v2/spaces/d29dc30c-793c-49a6-97fe-9aff75dcbd12/routes") + .domainsUrl( + "/v2/spaces/d29dc30c-793c-49a6-97fe-9aff75dcbd12/domains") + .serviceInstancesUrl( + "/v2/spaces/d29dc30c-793c-49a6-97fe-9aff75dcbd12/service_instances") + .applicationEventsUrl( + "/v2/spaces/d29dc30c-793c-49a6-97fe-9aff75dcbd12/app_events") + .eventsUrl( + "/v2/spaces/d29dc30c-793c-49a6-97fe-9aff75dcbd12/events") + .securityGroupsUrl( + "/v2/spaces/d29dc30c-793c-49a6-97fe-9aff75dcbd12/security_groups") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void delete() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(DELETE).path("/spaces/test-space-id") - .build()) - .response(TestResponse.builder() - .status(NO_CONTENT) - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(DELETE) + .path("/spaces/test-space-id") + .build()) + .response(TestResponse.builder().status(NO_CONTENT).build()) + .build()); this.spaces - .delete(DeleteSpaceRequest.builder() - .spaceId("test-space-id") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .delete(DeleteSpaceRequest.builder().spaceId("test-space-id").build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void deleteAsync() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(DELETE).path("/spaces/test-space-id?async=true") - .build()) - .response(TestResponse.builder() - .status(ACCEPTED) - .payload("fixtures/client/v2/spaces/DELETE_{id}_async_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(DELETE) + .path("/spaces/test-space-id?async=true") + .build()) + .response( + TestResponse.builder() + .status(ACCEPTED) + .payload( + "fixtures/client/v2/spaces/DELETE_{id}_async_response.json") + .build()) + .build()); this.spaces - .delete(DeleteSpaceRequest.builder() - .async(true) - .spaceId("test-space-id") - .build()) - .as(StepVerifier::create) - .expectNext(DeleteSpaceResponse.builder() - .metadata(Metadata.builder() - .id("2d9707ba-6f0b-4aef-a3de-fe9bdcf0c9d1") - .createdAt("2016-02-02T17:16:31Z") - .url("/v2/jobs/2d9707ba-6f0b-4aef-a3de-fe9bdcf0c9d1") - .build()) - .entity(JobEntity.builder() - .id("2d9707ba-6f0b-4aef-a3de-fe9bdcf0c9d1") - .status("queued") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .delete(DeleteSpaceRequest.builder().async(true).spaceId("test-space-id").build()) + .as(StepVerifier::create) + .expectNext( + DeleteSpaceResponse.builder() + .metadata( + Metadata.builder() + .id("2d9707ba-6f0b-4aef-a3de-fe9bdcf0c9d1") + .createdAt("2016-02-02T17:16:31Z") + .url( + "/v2/jobs/2d9707ba-6f0b-4aef-a3de-fe9bdcf0c9d1") + .build()) + .entity( + JobEntity.builder() + .id("2d9707ba-6f0b-4aef-a3de-fe9bdcf0c9d1") + .status("queued") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void deleteRecursive() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(DELETE).path("/spaces/test-space-id?recursive=true") - .build()) - .response(TestResponse.builder() - .status(NO_CONTENT) - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(DELETE) + .path("/spaces/test-space-id?recursive=true") + .build()) + .response(TestResponse.builder().status(NO_CONTENT).build()) + .build()); this.spaces - .delete(DeleteSpaceRequest.builder() - .recursive(true) - .spaceId("test-space-id") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .delete( + DeleteSpaceRequest.builder() + .recursive(true) + .spaceId("test-space-id") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void get() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/spaces/test-space-id") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/spaces/GET_{id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/spaces/test-space-id") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload("fixtures/client/v2/spaces/GET_{id}_response.json") + .build()) + .build()); this.spaces - .get(GetSpaceRequest.builder() - .spaceId("test-space-id") - .build()) - .as(StepVerifier::create) - .expectNext(GetSpaceResponse.builder() - .metadata(Metadata.builder() - .id("0f102457-c1fc-42e5-9c81-c7be2bc65dcd") - .url("/v2/spaces/0f102457-c1fc-42e5-9c81-c7be2bc65dcd") - .createdAt("2015-07-27T22:43:08Z") - .build()) - .entity(SpaceEntity.builder() - .name("name-108") - .organizationId("525a31fb-bc2b-4f7f-865e-1c93b42a6762") - .allowSsh(true) - .organizationUrl("/v2/organizations/525a31fb-bc2b-4f7f-865e-1c93b42a6762") - .developersUrl("/v2/spaces/0f102457-c1fc-42e5-9c81-c7be2bc65dcd/developers") - .managersUrl("/v2/spaces/0f102457-c1fc-42e5-9c81-c7be2bc65dcd/managers") - .auditorsUrl("/v2/spaces/0f102457-c1fc-42e5-9c81-c7be2bc65dcd/auditors") - .applicationsUrl("/v2/spaces/0f102457-c1fc-42e5-9c81-c7be2bc65dcd/apps") - .routesUrl("/v2/spaces/0f102457-c1fc-42e5-9c81-c7be2bc65dcd/routes") - .domainsUrl("/v2/spaces/0f102457-c1fc-42e5-9c81-c7be2bc65dcd/domains") - .serviceInstancesUrl("/v2/spaces/0f102457-c1fc-42e5-9c81-c7be2bc65dcd/service_instances") - .applicationEventsUrl("/v2/spaces/0f102457-c1fc-42e5-9c81-c7be2bc65dcd/app_events") - .eventsUrl("/v2/spaces/0f102457-c1fc-42e5-9c81-c7be2bc65dcd/events") - .securityGroupsUrl("/v2/spaces/0f102457-c1fc-42e5-9c81-c7be2bc65dcd/security_groups") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .get(GetSpaceRequest.builder().spaceId("test-space-id").build()) + .as(StepVerifier::create) + .expectNext( + GetSpaceResponse.builder() + .metadata( + Metadata.builder() + .id("0f102457-c1fc-42e5-9c81-c7be2bc65dcd") + .url( + "/v2/spaces/0f102457-c1fc-42e5-9c81-c7be2bc65dcd") + .createdAt("2015-07-27T22:43:08Z") + .build()) + .entity( + SpaceEntity.builder() + .name("name-108") + .organizationId( + "525a31fb-bc2b-4f7f-865e-1c93b42a6762") + .allowSsh(true) + .organizationUrl( + "/v2/organizations/525a31fb-bc2b-4f7f-865e-1c93b42a6762") + .developersUrl( + "/v2/spaces/0f102457-c1fc-42e5-9c81-c7be2bc65dcd/developers") + .managersUrl( + "/v2/spaces/0f102457-c1fc-42e5-9c81-c7be2bc65dcd/managers") + .auditorsUrl( + "/v2/spaces/0f102457-c1fc-42e5-9c81-c7be2bc65dcd/auditors") + .applicationsUrl( + "/v2/spaces/0f102457-c1fc-42e5-9c81-c7be2bc65dcd/apps") + .routesUrl( + "/v2/spaces/0f102457-c1fc-42e5-9c81-c7be2bc65dcd/routes") + .domainsUrl( + "/v2/spaces/0f102457-c1fc-42e5-9c81-c7be2bc65dcd/domains") + .serviceInstancesUrl( + "/v2/spaces/0f102457-c1fc-42e5-9c81-c7be2bc65dcd/service_instances") + .applicationEventsUrl( + "/v2/spaces/0f102457-c1fc-42e5-9c81-c7be2bc65dcd/app_events") + .eventsUrl( + "/v2/spaces/0f102457-c1fc-42e5-9c81-c7be2bc65dcd/events") + .securityGroupsUrl( + "/v2/spaces/0f102457-c1fc-42e5-9c81-c7be2bc65dcd/security_groups") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @SuppressWarnings("deprecation") @Test public void getSummary() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/spaces/test-space-id/summary") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/spaces/GET_{id}_summary_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/spaces/test-space-id/summary") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/spaces/GET_{id}_summary_response.json") + .build()) + .build()); this.spaces - .getSummary(GetSpaceSummaryRequest.builder() - .spaceId("test-space-id") - .build()) - .as(StepVerifier::create) - .expectNext(GetSpaceSummaryResponse.builder() - .id("c6473a38-92f4-4595-9462-01af4c4b1893") - .name("name-159") - .application(SpaceApplicationSummary.builder() - .id("e378968e-89d4-4e84-bce5-ee997daea898") - .url("host-1.domain-5.example.com") - .route(Route.builder() - .id("812c7de6-b14f-4193-8c95-74449c5ae0e4") - .host("host-1") - .path("") - .domain(Domain.builder() - .id("0a7c349f-84c4-4fde-867d-a73814c66168") - .name("domain-5.example.com") - .build()) - .build()) - .serviceCount(1) - .environmentJsons(Collections.emptyMap()) - .serviceName("name-162") - .runningInstances(0) - .name("name-165") - .production(false) - .spaceId("c6473a38-92f4-4595-9462-01af4c4b1893") - .stackId("eefe21a1-6878-40d1-8485-80a88cfdbbe4") - .memory(1024) - .instances(1) - .diskQuota(1024) - .state("STOPPED") - .version("2bea31d1-b0b7-467d-9794-62dd7f0dd200") - .console(false) - .packageState("PENDING") - .healthCheckType("port") - .diego(false) - .ports(Collections.emptyList()) - .packageUpdatedAt("2016-04-22T19:33:13Z") - .detectedStartCommand("") - .enableSsh(true) - .dockerCredentials(DockerCredentials.builder().build()) - .build()) - .service(builder() - .id("a049e5e8-8597-469e-b1c6-ddb8eb2c0af0") - .name("name-162") - .boundApplicationCount(1) - .lastOperation(LastOperation.builder() - .type("create") - .state("succeeded") - .description("description goes here") - .updatedAt("2016-04-22T19:33:13Z") - .createdAt("2016-04-22T19:33:13Z") - .build()) - .servicePlan(Plan.builder() - .id("b9cb2cd3-2761-4e9b-9215-d64840ee3bf5") - .name("name-163") - .service(Service.builder() - .id("00f143db-8b79-4e4a-bf03-021cf93131f4") - .label("label-16") - .build()) - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .getSummary(GetSpaceSummaryRequest.builder().spaceId("test-space-id").build()) + .as(StepVerifier::create) + .expectNext( + GetSpaceSummaryResponse.builder() + .id("c6473a38-92f4-4595-9462-01af4c4b1893") + .name("name-159") + .application( + SpaceApplicationSummary.builder() + .id("e378968e-89d4-4e84-bce5-ee997daea898") + .url("host-1.domain-5.example.com") + .route( + Route.builder() + .id( + "812c7de6-b14f-4193-8c95-74449c5ae0e4") + .host("host-1") + .path("") + .domain( + Domain.builder() + .id( + "0a7c349f-84c4-4fde-867d-a73814c66168") + .name( + "domain-5.example.com") + .build()) + .build()) + .serviceCount(1) + .environmentJsons(Collections.emptyMap()) + .serviceName("name-162") + .runningInstances(0) + .name("name-165") + .production(false) + .spaceId("c6473a38-92f4-4595-9462-01af4c4b1893") + .stackId("eefe21a1-6878-40d1-8485-80a88cfdbbe4") + .memory(1024) + .instances(1) + .diskQuota(1024) + .state("STOPPED") + .version("2bea31d1-b0b7-467d-9794-62dd7f0dd200") + .console(false) + .packageState("PENDING") + .healthCheckType("port") + .diego(false) + .ports(Collections.emptyList()) + .packageUpdatedAt("2016-04-22T19:33:13Z") + .detectedStartCommand("") + .enableSsh(true) + .dockerCredentials( + DockerCredentials.builder().build()) + .build()) + .service( + builder() + .id("a049e5e8-8597-469e-b1c6-ddb8eb2c0af0") + .name("name-162") + .boundApplicationCount(1) + .lastOperation( + LastOperation.builder() + .type("create") + .state("succeeded") + .description( + "description goes here") + .updatedAt("2016-04-22T19:33:13Z") + .createdAt("2016-04-22T19:33:13Z") + .build()) + .servicePlan( + Plan.builder() + .id( + "b9cb2cd3-2761-4e9b-9215-d64840ee3bf5") + .name("name-163") + .service( + Service.builder() + .id( + "00f143db-8b79-4e4a-bf03-021cf93131f4") + .label("label-16") + .build()) + .build()) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void list() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/spaces?q=name%3Atest-name&page=-1") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/spaces/GET_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/spaces?q=name%3Atest-name&page=-1") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload("fixtures/client/v2/spaces/GET_response.json") + .build()) + .build()); this.spaces - .list(ListSpacesRequest.builder() - .name("test-name") - .page(-1) - .build()) - .as(StepVerifier::create) - .expectNext(ListSpacesResponse.builder() - .totalResults(1) - .totalPages(1) - .resource(SpaceResource.builder() - .metadata(Metadata.builder() - .id("b4293b09-8316-472c-a29a-6468a3adff59") - .url("/v2/spaces/b4293b09-8316-472c-a29a-6468a3adff59") - .createdAt("2015-07-27T22:43:08Z") - .build()) - .entity(SpaceEntity.builder() - .name("name-111") - .organizationId("3ce736dd-3b8c-4f64-acab-ed76488b79a3") - .allowSsh(true) - .organizationUrl("/v2/organizations/3ce736dd-3b8c-4f64-acab-ed76488b79a3") - .developersUrl("/v2/spaces/b4293b09-8316-472c-a29a-6468a3adff59/developers") - .managersUrl("/v2/spaces/b4293b09-8316-472c-a29a-6468a3adff59/managers") - .auditorsUrl("/v2/spaces/b4293b09-8316-472c-a29a-6468a3adff59/auditors") - .applicationsUrl("/v2/spaces/b4293b09-8316-472c-a29a-6468a3adff59/apps") - .routesUrl("/v2/spaces/b4293b09-8316-472c-a29a-6468a3adff59/routes") - .domainsUrl("/v2/spaces/b4293b09-8316-472c-a29a-6468a3adff59/domains") - .serviceInstancesUrl("/v2/spaces/b4293b09-8316-472c-a29a-6468a3adff59/service_instances") - .applicationEventsUrl("/v2/spaces/b4293b09-8316-472c-a29a-6468a3adff59/app_events") - .eventsUrl("/v2/spaces/b4293b09-8316-472c-a29a-6468a3adff59/events") - .securityGroupsUrl("/v2/spaces/b4293b09-8316-472c-a29a-6468a3adff59/security_groups") - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .list(ListSpacesRequest.builder().name("test-name").page(-1).build()) + .as(StepVerifier::create) + .expectNext( + ListSpacesResponse.builder() + .totalResults(1) + .totalPages(1) + .resource( + SpaceResource.builder() + .metadata( + Metadata.builder() + .id( + "b4293b09-8316-472c-a29a-6468a3adff59") + .url( + "/v2/spaces/b4293b09-8316-472c-a29a-6468a3adff59") + .createdAt("2015-07-27T22:43:08Z") + .build()) + .entity( + SpaceEntity.builder() + .name("name-111") + .organizationId( + "3ce736dd-3b8c-4f64-acab-ed76488b79a3") + .allowSsh(true) + .organizationUrl( + "/v2/organizations/3ce736dd-3b8c-4f64-acab-ed76488b79a3") + .developersUrl( + "/v2/spaces/b4293b09-8316-472c-a29a-6468a3adff59/developers") + .managersUrl( + "/v2/spaces/b4293b09-8316-472c-a29a-6468a3adff59/managers") + .auditorsUrl( + "/v2/spaces/b4293b09-8316-472c-a29a-6468a3adff59/auditors") + .applicationsUrl( + "/v2/spaces/b4293b09-8316-472c-a29a-6468a3adff59/apps") + .routesUrl( + "/v2/spaces/b4293b09-8316-472c-a29a-6468a3adff59/routes") + .domainsUrl( + "/v2/spaces/b4293b09-8316-472c-a29a-6468a3adff59/domains") + .serviceInstancesUrl( + "/v2/spaces/b4293b09-8316-472c-a29a-6468a3adff59/service_instances") + .applicationEventsUrl( + "/v2/spaces/b4293b09-8316-472c-a29a-6468a3adff59/app_events") + .eventsUrl( + "/v2/spaces/b4293b09-8316-472c-a29a-6468a3adff59/events") + .securityGroupsUrl( + "/v2/spaces/b4293b09-8316-472c-a29a-6468a3adff59/security_groups") + .build()) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @SuppressWarnings("deprecation") @Test public void listApplications() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/spaces/test-space-id/apps?q=name%3Atest-name&page=-1") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/spaces/GET_{id}_apps_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path( + "/spaces/test-space-id/apps?q=name%3Atest-name&page=-1") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/spaces/GET_{id}_apps_response.json") + .build()) + .build()); this.spaces - .listApplications(ListSpaceApplicationsRequest.builder() - .spaceId("test-space-id") - .name("test-name") - .page(-1) - .build()) - .as(StepVerifier::create) - .expectNext(ListSpaceApplicationsResponse.builder() - .totalResults(1) - .totalPages(1) - .resource(ApplicationResource.builder() - .metadata(Metadata.builder() - .id("4ee31730-3c0e-4ec6-8329-26e727ab8ccd") - .url("/v2/apps/4ee31730-3c0e-4ec6-8329-26e727ab8ccd") - .createdAt("2015-07-27T22:43:08Z") - .updatedAt("2015-07-27T22:43:08Z") - .build()) - .entity(ApplicationEntity.builder() - .name("name-103") - .production(false) - .spaceId("ca816a1b-ed3e-4ea8-bda2-2031d2e5b89f") - .stackId("e458a99f-53a4-4da4-b78a-5f2eb212cc47") - .memory(1024) - .instances(1) - .diskQuota(1024) - .state("STOPPED") - .version("cc21d137-45d6-4687-ab71-8288ac0e5724") - .console(false) - .packageState("PENDING") - .healthCheckType("port") - .diego(false) - .packageUpdatedAt("2015-07-27T22:43:08Z") - .detectedStartCommand("") - .enableSsh(true) - .dockerCredentials(DockerCredentials.builder().build()) - .spaceUrl("/v2/spaces/ca816a1b-ed3e-4ea8-bda2-2031d2e5b89f") - .stackUrl("/v2/stacks/e458a99f-53a4-4da4-b78a-5f2eb212cc47") - .eventsUrl("/v2/apps/4ee31730-3c0e-4ec6-8329-26e727ab8ccd/events") - .serviceBindingsUrl("/v2/apps/4ee31730-3c0e-4ec6-8329-26e727ab8ccd/service_bindings") - .routesUrl("/v2/apps/4ee31730-3c0e-4ec6-8329-26e727ab8ccd/routes") - .routeMappingsUrl("/v2/apps/4ee31730-3c0e-4ec6-8329-26e727ab8ccd/route_mappings") - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .listApplications( + ListSpaceApplicationsRequest.builder() + .spaceId("test-space-id") + .name("test-name") + .page(-1) + .build()) + .as(StepVerifier::create) + .expectNext( + ListSpaceApplicationsResponse.builder() + .totalResults(1) + .totalPages(1) + .resource( + ApplicationResource.builder() + .metadata( + Metadata.builder() + .id( + "4ee31730-3c0e-4ec6-8329-26e727ab8ccd") + .url( + "/v2/apps/4ee31730-3c0e-4ec6-8329-26e727ab8ccd") + .createdAt("2015-07-27T22:43:08Z") + .updatedAt("2015-07-27T22:43:08Z") + .build()) + .entity( + ApplicationEntity.builder() + .name("name-103") + .production(false) + .spaceId( + "ca816a1b-ed3e-4ea8-bda2-2031d2e5b89f") + .stackId( + "e458a99f-53a4-4da4-b78a-5f2eb212cc47") + .memory(1024) + .instances(1) + .diskQuota(1024) + .state("STOPPED") + .version( + "cc21d137-45d6-4687-ab71-8288ac0e5724") + .console(false) + .packageState("PENDING") + .healthCheckType("port") + .diego(false) + .packageUpdatedAt( + "2015-07-27T22:43:08Z") + .detectedStartCommand("") + .enableSsh(true) + .dockerCredentials( + DockerCredentials.builder() + .build()) + .spaceUrl( + "/v2/spaces/ca816a1b-ed3e-4ea8-bda2-2031d2e5b89f") + .stackUrl( + "/v2/stacks/e458a99f-53a4-4da4-b78a-5f2eb212cc47") + .eventsUrl( + "/v2/apps/4ee31730-3c0e-4ec6-8329-26e727ab8ccd/events") + .serviceBindingsUrl( + "/v2/apps/4ee31730-3c0e-4ec6-8329-26e727ab8ccd/service_bindings") + .routesUrl( + "/v2/apps/4ee31730-3c0e-4ec6-8329-26e727ab8ccd/routes") + .routeMappingsUrl( + "/v2/apps/4ee31730-3c0e-4ec6-8329-26e727ab8ccd/route_mappings") + .build()) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void listAuditors() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/spaces/test-space-id/auditors?page=-1") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/spaces/GET_{id}_auditors_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/spaces/test-space-id/auditors?page=-1") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/spaces/GET_{id}_auditors_response.json") + .build()) + .build()); this.spaces - .listAuditors(ListSpaceAuditorsRequest.builder() - .spaceId("test-space-id") - .page(-1) - .build()) - .as(StepVerifier::create) - .expectNext(ListSpaceAuditorsResponse.builder() - .totalResults(1) - .totalPages(1) - .resource(UserResource.builder() - .metadata(Metadata.builder() - .id("uaa-id-15") - .url("/v2/users/uaa-id-15") - .createdAt("2015-07-27T22:43:07Z") - .build()) - .entity(UserEntity.builder() - .admin(false) - .active(false) - .defaultSpaceId(null) - .username("auditor@example.com") - .spacesUrl("/v2/users/uaa-id-15/spaces") - .organizationsUrl("/v2/users/uaa-id-15/organizations") - .managedOrganizationsUrl("/v2/users/uaa-id-15/managed_organizations") - .billingManagedOrganizationsUrl("/v2/users/uaa-id-15/billing_managed_organizations") - .auditedOrganizationsUrl("/v2/users/uaa-id-15/audited_organizations") - .managedSpacesUrl("/v2/users/uaa-id-15/managed_spaces") - .auditedSpacesUrl("/v2/users/uaa-id-15/audited_spaces") - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .listAuditors( + ListSpaceAuditorsRequest.builder() + .spaceId("test-space-id") + .page(-1) + .build()) + .as(StepVerifier::create) + .expectNext( + ListSpaceAuditorsResponse.builder() + .totalResults(1) + .totalPages(1) + .resource( + UserResource.builder() + .metadata( + Metadata.builder() + .id("uaa-id-15") + .url("/v2/users/uaa-id-15") + .createdAt("2015-07-27T22:43:07Z") + .build()) + .entity( + UserEntity.builder() + .admin(false) + .active(false) + .defaultSpaceId(null) + .username("auditor@example.com") + .spacesUrl( + "/v2/users/uaa-id-15/spaces") + .organizationsUrl( + "/v2/users/uaa-id-15/organizations") + .managedOrganizationsUrl( + "/v2/users/uaa-id-15/managed_organizations") + .billingManagedOrganizationsUrl( + "/v2/users/uaa-id-15/billing_managed_organizations") + .auditedOrganizationsUrl( + "/v2/users/uaa-id-15/audited_organizations") + .managedSpacesUrl( + "/v2/users/uaa-id-15/managed_spaces") + .auditedSpacesUrl( + "/v2/users/uaa-id-15/audited_spaces") + .build()) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void listDevelopers() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/spaces/test-space-id/developers?page=-1") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/spaces/GET_{id}_developers_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/spaces/test-space-id/developers?page=-1") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/spaces/GET_{id}_developers_response.json") + .build()) + .build()); this.spaces - .listDevelopers(ListSpaceDevelopersRequest.builder() - .spaceId("test-space-id") - .page(-1) - .build()) - .as(StepVerifier::create) - .expectNext(ListSpaceDevelopersResponse.builder() - .totalResults(1) - .totalPages(1) - .resource(UserResource.builder() - .metadata(Metadata.builder() - .id("uaa-id-24") - .url("/v2/users/uaa-id-24") - .createdAt("2015-07-27T22:43:07Z") - .build()) - .entity(UserEntity.builder() - .admin(false) - .active(false) - .defaultSpaceId(null) - .username("developer@example.com") - .spacesUrl("/v2/users/uaa-id-24/spaces") - .organizationsUrl("/v2/users/uaa-id-24/organizations") - .managedOrganizationsUrl("/v2/users/uaa-id-24/managed_organizations") - .billingManagedOrganizationsUrl("/v2/users/uaa-id-24/billing_managed_organizations") - .auditedOrganizationsUrl("/v2/users/uaa-id-24/audited_organizations") - .managedSpacesUrl("/v2/users/uaa-id-24/managed_spaces") - .auditedSpacesUrl("/v2/users/uaa-id-24/audited_spaces") - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .listDevelopers( + ListSpaceDevelopersRequest.builder() + .spaceId("test-space-id") + .page(-1) + .build()) + .as(StepVerifier::create) + .expectNext( + ListSpaceDevelopersResponse.builder() + .totalResults(1) + .totalPages(1) + .resource( + UserResource.builder() + .metadata( + Metadata.builder() + .id("uaa-id-24") + .url("/v2/users/uaa-id-24") + .createdAt("2015-07-27T22:43:07Z") + .build()) + .entity( + UserEntity.builder() + .admin(false) + .active(false) + .defaultSpaceId(null) + .username("developer@example.com") + .spacesUrl( + "/v2/users/uaa-id-24/spaces") + .organizationsUrl( + "/v2/users/uaa-id-24/organizations") + .managedOrganizationsUrl( + "/v2/users/uaa-id-24/managed_organizations") + .billingManagedOrganizationsUrl( + "/v2/users/uaa-id-24/billing_managed_organizations") + .auditedOrganizationsUrl( + "/v2/users/uaa-id-24/audited_organizations") + .managedSpacesUrl( + "/v2/users/uaa-id-24/managed_spaces") + .auditedSpacesUrl( + "/v2/users/uaa-id-24/audited_spaces") + .build()) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void listDomains() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/spaces/test-space-id/domains?page=-1") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/spaces/GET_{id}_domains_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/spaces/test-space-id/domains?page=-1") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/spaces/GET_{id}_domains_response.json") + .build()) + .build()); this.spaces - .listDomains(ListSpaceDomainsRequest.builder() - .spaceId("test-space-id") - .page(-1) - .build()) - .as(StepVerifier::create) - .expectNext(ListSpaceDomainsResponse.builder() - .totalResults(2) - .totalPages(1) - .resource(DomainResource.builder() - .metadata(Metadata.builder() - .id("08ac844a-e880-48ef-a90c-f95131582fcc") - .url("/v2/domains/08ac844a-e880-48ef-a90c-f95131582fcc") - .createdAt("2015-07-27T22:43:05Z") - .build()) - .entity(DomainEntity.builder() - .name("customer-app-domain1.com") - .build()) - .build()) - .resource(DomainResource.builder() - .metadata(Metadata.builder() - .id("973dcea1-5011-4bd0-aa9e-fa232bfaada7") - .url("/v2/domains/973dcea1-5011-4bd0-aa9e-fa232bfaada7") - .createdAt("2015-07-27T22:43:05Z") - .build()) - .entity(DomainEntity.builder() - .name("customer-app-domain2.com") - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .listDomains( + ListSpaceDomainsRequest.builder().spaceId("test-space-id").page(-1).build()) + .as(StepVerifier::create) + .expectNext( + ListSpaceDomainsResponse.builder() + .totalResults(2) + .totalPages(1) + .resource( + DomainResource.builder() + .metadata( + Metadata.builder() + .id( + "08ac844a-e880-48ef-a90c-f95131582fcc") + .url( + "/v2/domains/08ac844a-e880-48ef-a90c-f95131582fcc") + .createdAt("2015-07-27T22:43:05Z") + .build()) + .entity( + DomainEntity.builder() + .name("customer-app-domain1.com") + .build()) + .build()) + .resource( + DomainResource.builder() + .metadata( + Metadata.builder() + .id( + "973dcea1-5011-4bd0-aa9e-fa232bfaada7") + .url( + "/v2/domains/973dcea1-5011-4bd0-aa9e-fa232bfaada7") + .createdAt("2015-07-27T22:43:05Z") + .build()) + .entity( + DomainEntity.builder() + .name("customer-app-domain2.com") + .build()) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void listEvents() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/spaces/test-space-id/events?page=-1") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/spaces/GET_{id}_events_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/spaces/test-space-id/events?page=-1") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/spaces/GET_{id}_events_response.json") + .build()) + .build()); this.spaces - .listEvents(ListSpaceEventsRequest.builder() - .spaceId("test-space-id") - .page(-1) - .build()) - .as(StepVerifier::create) - .expectNext(ListSpaceEventsResponse.builder() - .totalResults(1) - .totalPages(1) - .resource(EventResource.builder() - .metadata(Metadata.builder() - .id("cbb42f10-2737-4522-95dc-3ada35056fa8") - .url("/v2/events/cbb42f10-2737-4522-95dc-3ada35056fa8") - .createdAt("2015-07-27T22:43:07Z") - .build()) - .entity(EventEntity.builder() - .type("audit.space.update") - .actor("uaa-id-10") - .actorType("user") - .actorName("user@example.com") - .actee("33d44b03-6203-47a7-b71c-9bf6fcaeb54a") - .acteeType("space") - .acteeName("name-56") - .timestamp("2015-07-27T22:43:07Z") - .metadata("request", Optional.of(FluentMap.builder() - .entry("name", "new_name") - .build())) - .spaceId("33d44b03-6203-47a7-b71c-9bf6fcaeb54a") - .organizationId("ab7dff90-0bc7-4ce0-be5b-b8ecc676bc4a") - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .listEvents( + ListSpaceEventsRequest.builder().spaceId("test-space-id").page(-1).build()) + .as(StepVerifier::create) + .expectNext( + ListSpaceEventsResponse.builder() + .totalResults(1) + .totalPages(1) + .resource( + EventResource.builder() + .metadata( + Metadata.builder() + .id( + "cbb42f10-2737-4522-95dc-3ada35056fa8") + .url( + "/v2/events/cbb42f10-2737-4522-95dc-3ada35056fa8") + .createdAt("2015-07-27T22:43:07Z") + .build()) + .entity( + EventEntity.builder() + .type("audit.space.update") + .actor("uaa-id-10") + .actorType("user") + .actorName("user@example.com") + .actee( + "33d44b03-6203-47a7-b71c-9bf6fcaeb54a") + .acteeType("space") + .acteeName("name-56") + .timestamp("2015-07-27T22:43:07Z") + .metadata( + "request", + Optional.of( + FluentMap.builder() + .entry( + "name", + "new_name") + .build())) + .spaceId( + "33d44b03-6203-47a7-b71c-9bf6fcaeb54a") + .organizationId( + "ab7dff90-0bc7-4ce0-be5b-b8ecc676bc4a") + .build()) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void listManagers() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/spaces/test-space-id/managers?page=-1") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/spaces/GET_{id}_managers_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/spaces/test-space-id/managers?page=-1") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/spaces/GET_{id}_managers_response.json") + .build()) + .build()); this.spaces - .listManagers(ListSpaceManagersRequest.builder() - .spaceId("test-space-id") - .page(-1) - .build()) - .as(StepVerifier::create) - .expectNext(ListSpaceManagersResponse.builder() - .totalResults(1) - .totalPages(1) - .resource(UserResource.builder() - .metadata(Metadata.builder() - .id("uaa-id-35") - .url("/v2/users/uaa-id-35") - .createdAt("2015-07-27T22:43:07Z") - .build()) - .entity(UserEntity.builder() - .admin(false) - .active(false) - .defaultSpaceId(null) - .username("manager@example.com") - .spacesUrl("/v2/users/uaa-id-35/spaces") - .organizationsUrl("/v2/users/uaa-id-35/organizations") - .managedOrganizationsUrl("/v2/users/uaa-id-35/managed_organizations") - .billingManagedOrganizationsUrl("/v2/users/uaa-id-35/billing_managed_organizations") - .auditedOrganizationsUrl("/v2/users/uaa-id-35/audited_organizations") - .managedSpacesUrl("/v2/users/uaa-id-35/managed_spaces") - .auditedSpacesUrl("/v2/users/uaa-id-35/audited_spaces") - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .listManagers( + ListSpaceManagersRequest.builder() + .spaceId("test-space-id") + .page(-1) + .build()) + .as(StepVerifier::create) + .expectNext( + ListSpaceManagersResponse.builder() + .totalResults(1) + .totalPages(1) + .resource( + UserResource.builder() + .metadata( + Metadata.builder() + .id("uaa-id-35") + .url("/v2/users/uaa-id-35") + .createdAt("2015-07-27T22:43:07Z") + .build()) + .entity( + UserEntity.builder() + .admin(false) + .active(false) + .defaultSpaceId(null) + .username("manager@example.com") + .spacesUrl( + "/v2/users/uaa-id-35/spaces") + .organizationsUrl( + "/v2/users/uaa-id-35/organizations") + .managedOrganizationsUrl( + "/v2/users/uaa-id-35/managed_organizations") + .billingManagedOrganizationsUrl( + "/v2/users/uaa-id-35/billing_managed_organizations") + .auditedOrganizationsUrl( + "/v2/users/uaa-id-35/audited_organizations") + .managedSpacesUrl( + "/v2/users/uaa-id-35/managed_spaces") + .auditedSpacesUrl( + "/v2/users/uaa-id-35/audited_spaces") + .build()) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void listRoutes() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/spaces/test-space-id/routes?page=-1") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/spaces/GET_{id}_routes_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/spaces/test-space-id/routes?page=-1") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/spaces/GET_{id}_routes_response.json") + .build()) + .build()); this.spaces - .listRoutes(ListSpaceRoutesRequest.builder() - .spaceId("test-space-id") - .page(-1) - .build()) - .as(StepVerifier::create) - .expectNext(ListSpaceRoutesResponse.builder() - .totalResults(1) - .totalPages(1) - .resource(RouteResource.builder() - .metadata(Metadata.builder() - .id("f975dbb5-f6d2-4cac-8014-49994ce01853") - .url("/v2/routes/f975dbb5-f6d2-4cac-8014-49994ce01853") - .createdAt("2016-03-17T21:41:14Z") - .build()) - .entity(RouteEntity.builder() - .host("host-12") - .path("") - .domainId("b3ed68d6-c35f-4b17-bacb-ebc90da7fce1") - .spaceId("e3e2198a-e098-4473-b430-39a1d53a1d5b") - .port(0) - .domainUrl("/v2/domains/b3ed68d6-c35f-4b17-bacb-ebc90da7fce1") - .spaceUrl("/v2/spaces/e3e2198a-e098-4473-b430-39a1d53a1d5b") - .applicationsUrl("/v2/routes/f975dbb5-f6d2-4cac-8014-49994ce01853/apps") - .routeMappingsUrl("/v2/routes/f975dbb5-f6d2-4cac-8014-49994ce01853/route_mappings") - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .listRoutes( + ListSpaceRoutesRequest.builder().spaceId("test-space-id").page(-1).build()) + .as(StepVerifier::create) + .expectNext( + ListSpaceRoutesResponse.builder() + .totalResults(1) + .totalPages(1) + .resource( + RouteResource.builder() + .metadata( + Metadata.builder() + .id( + "f975dbb5-f6d2-4cac-8014-49994ce01853") + .url( + "/v2/routes/f975dbb5-f6d2-4cac-8014-49994ce01853") + .createdAt("2016-03-17T21:41:14Z") + .build()) + .entity( + RouteEntity.builder() + .host("host-12") + .path("") + .domainId( + "b3ed68d6-c35f-4b17-bacb-ebc90da7fce1") + .spaceId( + "e3e2198a-e098-4473-b430-39a1d53a1d5b") + .port(0) + .domainUrl( + "/v2/domains/b3ed68d6-c35f-4b17-bacb-ebc90da7fce1") + .spaceUrl( + "/v2/spaces/e3e2198a-e098-4473-b430-39a1d53a1d5b") + .applicationsUrl( + "/v2/routes/f975dbb5-f6d2-4cac-8014-49994ce01853/apps") + .routeMappingsUrl( + "/v2/routes/f975dbb5-f6d2-4cac-8014-49994ce01853/route_mappings") + .build()) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void listSecurityGroups() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/spaces/test-space-id/security_groups?page=-1") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/spaces/GET_{id}_security_groups_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/spaces/test-space-id/security_groups?page=-1") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/spaces/GET_{id}_security_groups_response.json") + .build()) + .build()); this.spaces - .listSecurityGroups(ListSpaceSecurityGroupsRequest.builder() - .spaceId("test-space-id") - .page(-1) - .build()) - .as(StepVerifier::create) - .expectNext(ListSpaceSecurityGroupsResponse.builder() - .totalResults(1) - .totalPages(1) - .resource(SecurityGroupResource.builder() - .metadata(Metadata.builder() - .id("a3728437-fe41-42c1-875c-b59cffc7498c") - .url("/v2/security_groups/a3728437-fe41-42c1-875c-b59cffc7498c") - .createdAt("2015-07-27T22:43:07Z") - .build()) - .entity(SecurityGroupEntity.builder() - .name("name-47") - .rule(RuleEntity.builder() - .destination("198.41.191.47/1") - .ports("8080") - .protocol(UDP) - .build()) - .runningDefault(false) - .spacesUrl("/v2/security_groups/a3728437-fe41-42c1-875c-b59cffc7498c/spaces") - .stagingDefault(false) - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .listSecurityGroups( + ListSpaceSecurityGroupsRequest.builder() + .spaceId("test-space-id") + .page(-1) + .build()) + .as(StepVerifier::create) + .expectNext( + ListSpaceSecurityGroupsResponse.builder() + .totalResults(1) + .totalPages(1) + .resource( + SecurityGroupResource.builder() + .metadata( + Metadata.builder() + .id( + "a3728437-fe41-42c1-875c-b59cffc7498c") + .url( + "/v2/security_groups/a3728437-fe41-42c1-875c-b59cffc7498c") + .createdAt("2015-07-27T22:43:07Z") + .build()) + .entity( + SecurityGroupEntity.builder() + .name("name-47") + .rule( + RuleEntity.builder() + .destination( + "198.41.191.47/1") + .ports("8080") + .protocol(UDP) + .build()) + .runningDefault(false) + .spacesUrl( + "/v2/security_groups/a3728437-fe41-42c1-875c-b59cffc7498c/spaces") + .stagingDefault(false) + .build()) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void listServiceInstances() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/spaces/test-space-id/service_instances?page=-1&return_user_provided_service_instances=true") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/spaces/GET_{id}_service_instances_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path( + "/spaces/test-space-id/service_instances?page=-1&return_user_provided_service_instances=true") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/spaces/GET_{id}_service_instances_response.json") + .build()) + .build()); this.spaces - .listServiceInstances(ListSpaceServiceInstancesRequest.builder() - .spaceId("test-space-id") - .returnUserProvidedServiceInstances(true) - .page(-1) - .build()) - .as(StepVerifier::create) - .expectNext(ListSpaceServiceInstancesResponse.builder() - .totalResults(1) - .totalPages(1) - .resource(UnionServiceInstanceResource.builder() - .metadata(Metadata.builder() - .id("7046d37c-8a50-49d5-ba53-abb103a92142") - .url("/v2/service_instances/7046d37c-8a50-49d5-ba53-abb103a92142") - .createdAt("2015-07-27T22:43:08Z") - .build()) - .entity(UnionServiceInstanceEntity.builder() - .name("name-97") - .credential("creds-key-52", "creds-val-52") - .servicePlanId("77157c85-203a-4fac-b9a3-003988ff879a") - .spaceId("aead50c9-0d45-410c-befd-431c8b7b3e30") - .type("managed_service_instance") - .tags(Collections.emptyList()) - .spaceUrl("/v2/spaces/aead50c9-0d45-410c-befd-431c8b7b3e30") - .servicePlanUrl("/v2/service_plans/77157c85-203a-4fac-b9a3-003988ff879a") - .serviceBindingsUrl - ("/v2/service_instances/7046d37c-8a50-49d5-ba53-abb103a92142/service_bindings") - .serviceKeysUrl - ("/v2/service_instances/7046d37c-8a50-49d5-ba53-abb103a92142/service_keys") - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .listServiceInstances( + ListSpaceServiceInstancesRequest.builder() + .spaceId("test-space-id") + .returnUserProvidedServiceInstances(true) + .page(-1) + .build()) + .as(StepVerifier::create) + .expectNext( + ListSpaceServiceInstancesResponse.builder() + .totalResults(1) + .totalPages(1) + .resource( + UnionServiceInstanceResource.builder() + .metadata( + Metadata.builder() + .id( + "7046d37c-8a50-49d5-ba53-abb103a92142") + .url( + "/v2/service_instances/7046d37c-8a50-49d5-ba53-abb103a92142") + .createdAt("2015-07-27T22:43:08Z") + .build()) + .entity( + UnionServiceInstanceEntity.builder() + .name("name-97") + .credential( + "creds-key-52", + "creds-val-52") + .servicePlanId( + "77157c85-203a-4fac-b9a3-003988ff879a") + .spaceId( + "aead50c9-0d45-410c-befd-431c8b7b3e30") + .type("managed_service_instance") + .tags(Collections.emptyList()) + .spaceUrl( + "/v2/spaces/aead50c9-0d45-410c-befd-431c8b7b3e30") + .servicePlanUrl( + "/v2/service_plans/77157c85-203a-4fac-b9a3-003988ff879a") + .serviceBindingsUrl( + "/v2/service_instances/7046d37c-8a50-49d5-ba53-abb103a92142/service_bindings") + .serviceKeysUrl( + "/v2/service_instances/7046d37c-8a50-49d5-ba53-abb103a92142/service_keys") + .build()) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void listServices() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/spaces/test-space-id/services?page=-1") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/spaces/GET_{id}_services_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/spaces/test-space-id/services?page=-1") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/spaces/GET_{id}_services_response.json") + .build()) + .build()); this.spaces - .listServices(ListSpaceServicesRequest.builder() - .spaceId("test-space-id") - .page(-1) - .build()) - .as(StepVerifier::create) - .expectNext(ListSpaceServicesResponse.builder() - .totalResults(1) - .totalPages(1) - .resource(ServiceResource.builder() - .metadata(Metadata.builder() - .id("fcc4261f-da9a-40ba-9194-6919e0ab87f8") - .url("/v2/services/fcc4261f-da9a-40ba-9194-6919e0ab87f8") - .createdAt("2015-07-27T22:43:07Z") - .build()) - .entity(ServiceEntity.builder() - .label("label-5") - .description("desc-14") - .active(true) - .bindable(true) - .requires(Collections.emptyList()) - .tags(Collections.emptyList()) - .uniqueId("666902ad-81dc-41e9-a351-58e1055e3ab2") - .serviceBrokerId("15f1c3a0-910c-4b92-9386-377acada14cb") - .planUpdateable(false) - .servicePlansUrl("/v2/services/fcc4261f-da9a-40ba-9194-6919e0ab87f8/service_plans") - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .listServices( + ListSpaceServicesRequest.builder() + .spaceId("test-space-id") + .page(-1) + .build()) + .as(StepVerifier::create) + .expectNext( + ListSpaceServicesResponse.builder() + .totalResults(1) + .totalPages(1) + .resource( + ServiceResource.builder() + .metadata( + Metadata.builder() + .id( + "fcc4261f-da9a-40ba-9194-6919e0ab87f8") + .url( + "/v2/services/fcc4261f-da9a-40ba-9194-6919e0ab87f8") + .createdAt("2015-07-27T22:43:07Z") + .build()) + .entity( + ServiceEntity.builder() + .label("label-5") + .description("desc-14") + .active(true) + .bindable(true) + .requires(Collections.emptyList()) + .tags(Collections.emptyList()) + .uniqueId( + "666902ad-81dc-41e9-a351-58e1055e3ab2") + .serviceBrokerId( + "15f1c3a0-910c-4b92-9386-377acada14cb") + .planUpdateable(false) + .servicePlansUrl( + "/v2/services/fcc4261f-da9a-40ba-9194-6919e0ab87f8/service_plans") + .build()) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void listUserRoles() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/spaces/test-space-id/user_roles?page=-1") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/spaces/GET_{id}_user_roles_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/spaces/test-space-id/user_roles?page=-1") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/spaces/GET_{id}_user_roles_response.json") + .build()) + .build()); this.spaces - .listUserRoles(ListSpaceUserRolesRequest.builder() - .spaceId("test-space-id") - .page(-1) - .build()) - .as(StepVerifier::create) - .expectNext(ListSpaceUserRolesResponse.builder() - .totalResults(1) - .totalPages(1) - .resource(UserSpaceRoleResource.builder() - .metadata(Metadata.builder() - .id("uaa-id-8") - .url("/v2/users/uaa-id-8") - .createdAt("2015-07-27T22:43:07Z") - .build()) - .entity(UserSpaceRoleEntity.builder() - .admin(false) - .active(false) - .defaultSpaceId(null) - .username("everything@example.com") - .spaceRole("space_developer") - .spaceRole("space_manager") - .spaceRole("space_auditor") - .spacesUrl("/v2/users/uaa-id-8/spaces") - .organizationsUrl("/v2/users/uaa-id-8/organizations") - .managedOrganizationsUrl("/v2/users/uaa-id-8/managed_organizations") - .billingManagedOrganizationsUrl("/v2/users/uaa-id-8/billing_managed_organizations") - .auditedOrganizationsUrl("/v2/users/uaa-id-8/audited_organizations") - .managedSpacesUrl("/v2/users/uaa-id-8/managed_spaces") - .auditedSpacesUrl("/v2/users/uaa-id-8/audited_spaces") - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .listUserRoles( + ListSpaceUserRolesRequest.builder() + .spaceId("test-space-id") + .page(-1) + .build()) + .as(StepVerifier::create) + .expectNext( + ListSpaceUserRolesResponse.builder() + .totalResults(1) + .totalPages(1) + .resource( + UserSpaceRoleResource.builder() + .metadata( + Metadata.builder() + .id("uaa-id-8") + .url("/v2/users/uaa-id-8") + .createdAt("2015-07-27T22:43:07Z") + .build()) + .entity( + UserSpaceRoleEntity.builder() + .admin(false) + .active(false) + .defaultSpaceId(null) + .username("everything@example.com") + .spaceRole("space_developer") + .spaceRole("space_manager") + .spaceRole("space_auditor") + .spacesUrl( + "/v2/users/uaa-id-8/spaces") + .organizationsUrl( + "/v2/users/uaa-id-8/organizations") + .managedOrganizationsUrl( + "/v2/users/uaa-id-8/managed_organizations") + .billingManagedOrganizationsUrl( + "/v2/users/uaa-id-8/billing_managed_organizations") + .auditedOrganizationsUrl( + "/v2/users/uaa-id-8/audited_organizations") + .managedSpacesUrl( + "/v2/users/uaa-id-8/managed_spaces") + .auditedSpacesUrl( + "/v2/users/uaa-id-8/audited_spaces") + .build()) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void removeAuditor() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(DELETE).path("/spaces/test-space-id/auditors/test-auditor-id") - .build()) - .response(TestResponse.builder() - .status(NO_CONTENT) - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(DELETE) + .path("/spaces/test-space-id/auditors/test-auditor-id") + .build()) + .response(TestResponse.builder().status(NO_CONTENT).build()) + .build()); this.spaces - .removeAuditor(RemoveSpaceAuditorRequest.builder() - .auditorId("test-auditor-id") - .spaceId("test-space-id") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .removeAuditor( + RemoveSpaceAuditorRequest.builder() + .auditorId("test-auditor-id") + .spaceId("test-space-id") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void removeAuditorByUsername() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(DELETE).path("/spaces/test-space-id/auditors") - .payload("fixtures/client/v2/spaces/DELETE_{id}_auditors_request.json") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/spaces/DELETE_{id}_auditors_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(DELETE) + .path("/spaces/test-space-id/auditors") + .payload( + "fixtures/client/v2/spaces/DELETE_{id}_auditors_request.json") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/spaces/DELETE_{id}_auditors_response.json") + .build()) + .build()); this.spaces - .removeAuditorByUsername(RemoveSpaceAuditorByUsernameRequest.builder() - .spaceId("test-space-id") - .username("auditor@example.com") - .build()) - .as(StepVerifier::create) - .expectNext(RemoveSpaceAuditorByUsernameResponse.builder() - .metadata(Metadata.builder() - .id("6ee704bb-fc88-40f6-9ab9-02fe8df35730") - .url("/v2/spaces/6ee704bb-fc88-40f6-9ab9-02fe8df35730") - .createdAt("2016-04-22T19:33:25Z") - .build()) - .entity(SpaceEntity.builder() - .name("name-979") - .organizationId("c6aa1f1e-e5b4-4eff-8ae5-3a430866f5ea") - .allowSsh(true) - .organizationUrl("/v2/organizations/c6aa1f1e-e5b4-4eff-8ae5-3a430866f5ea") - .developersUrl("/v2/spaces/6ee704bb-fc88-40f6-9ab9-02fe8df35730/developers") - .managersUrl("/v2/spaces/6ee704bb-fc88-40f6-9ab9-02fe8df35730/managers") - .auditorsUrl("/v2/spaces/6ee704bb-fc88-40f6-9ab9-02fe8df35730/auditors") - .applicationsUrl("/v2/spaces/6ee704bb-fc88-40f6-9ab9-02fe8df35730/apps") - .routesUrl("/v2/spaces/6ee704bb-fc88-40f6-9ab9-02fe8df35730/routes") - .domainsUrl("/v2/spaces/6ee704bb-fc88-40f6-9ab9-02fe8df35730/domains") - .serviceInstancesUrl("/v2/spaces/6ee704bb-fc88-40f6-9ab9-02fe8df35730/service_instances") - .applicationEventsUrl("/v2/spaces/6ee704bb-fc88-40f6-9ab9-02fe8df35730/app_events") - .eventsUrl("/v2/spaces/6ee704bb-fc88-40f6-9ab9-02fe8df35730/events") - .securityGroupsUrl("/v2/spaces/6ee704bb-fc88-40f6-9ab9-02fe8df35730/security_groups") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .removeAuditorByUsername( + RemoveSpaceAuditorByUsernameRequest.builder() + .spaceId("test-space-id") + .username("auditor@example.com") + .build()) + .as(StepVerifier::create) + .expectNext( + RemoveSpaceAuditorByUsernameResponse.builder() + .metadata( + Metadata.builder() + .id("6ee704bb-fc88-40f6-9ab9-02fe8df35730") + .url( + "/v2/spaces/6ee704bb-fc88-40f6-9ab9-02fe8df35730") + .createdAt("2016-04-22T19:33:25Z") + .build()) + .entity( + SpaceEntity.builder() + .name("name-979") + .organizationId( + "c6aa1f1e-e5b4-4eff-8ae5-3a430866f5ea") + .allowSsh(true) + .organizationUrl( + "/v2/organizations/c6aa1f1e-e5b4-4eff-8ae5-3a430866f5ea") + .developersUrl( + "/v2/spaces/6ee704bb-fc88-40f6-9ab9-02fe8df35730/developers") + .managersUrl( + "/v2/spaces/6ee704bb-fc88-40f6-9ab9-02fe8df35730/managers") + .auditorsUrl( + "/v2/spaces/6ee704bb-fc88-40f6-9ab9-02fe8df35730/auditors") + .applicationsUrl( + "/v2/spaces/6ee704bb-fc88-40f6-9ab9-02fe8df35730/apps") + .routesUrl( + "/v2/spaces/6ee704bb-fc88-40f6-9ab9-02fe8df35730/routes") + .domainsUrl( + "/v2/spaces/6ee704bb-fc88-40f6-9ab9-02fe8df35730/domains") + .serviceInstancesUrl( + "/v2/spaces/6ee704bb-fc88-40f6-9ab9-02fe8df35730/service_instances") + .applicationEventsUrl( + "/v2/spaces/6ee704bb-fc88-40f6-9ab9-02fe8df35730/app_events") + .eventsUrl( + "/v2/spaces/6ee704bb-fc88-40f6-9ab9-02fe8df35730/events") + .securityGroupsUrl( + "/v2/spaces/6ee704bb-fc88-40f6-9ab9-02fe8df35730/security_groups") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void removeDeveloper() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(DELETE).path("/spaces/test-space-id/developers/test-developer-id") - .build()) - .response(TestResponse.builder() - .status(NO_CONTENT) - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(DELETE) + .path("/spaces/test-space-id/developers/test-developer-id") + .build()) + .response(TestResponse.builder().status(NO_CONTENT).build()) + .build()); this.spaces - .removeDeveloper(RemoveSpaceDeveloperRequest.builder() - .developerId("test-developer-id") - .spaceId("test-space-id") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .removeDeveloper( + RemoveSpaceDeveloperRequest.builder() + .developerId("test-developer-id") + .spaceId("test-space-id") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void removeDeveloperByUsername() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(DELETE).path("/spaces/test-space-id/developers") - .payload("fixtures/client/v2/spaces/DELETE_{id}_developers_request.json") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/spaces/DELETE_{id}_developers_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(DELETE) + .path("/spaces/test-space-id/developers") + .payload( + "fixtures/client/v2/spaces/DELETE_{id}_developers_request.json") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/spaces/DELETE_{id}_developers_response.json") + .build()) + .build()); this.spaces - .removeDeveloperByUsername(RemoveSpaceDeveloperByUsernameRequest.builder() - .spaceId("test-space-id") - .username("developer@example.com") - .build()) - .as(StepVerifier::create) - .expectNext(RemoveSpaceDeveloperByUsernameResponse.builder() - .metadata(Metadata.builder() - .id("998375df-21ec-4d73-a0fd-83c11b7c7c1d") - .url("/v2/spaces/998375df-21ec-4d73-a0fd-83c11b7c7c1d") - .createdAt("2016-04-22T19:33:26Z") - .build()) - .entity(SpaceEntity.builder() - .name("name-1016") - .organizationId("d2ba20ee-07f8-4bab-91c7-41a5e103ca57") - .allowSsh(true) - .organizationUrl("/v2/organizations/d2ba20ee-07f8-4bab-91c7-41a5e103ca57") - .developersUrl("/v2/spaces/998375df-21ec-4d73-a0fd-83c11b7c7c1d/developers") - .managersUrl("/v2/spaces/998375df-21ec-4d73-a0fd-83c11b7c7c1d/managers") - .auditorsUrl("/v2/spaces/998375df-21ec-4d73-a0fd-83c11b7c7c1d/auditors") - .applicationsUrl("/v2/spaces/998375df-21ec-4d73-a0fd-83c11b7c7c1d/apps") - .routesUrl("/v2/spaces/998375df-21ec-4d73-a0fd-83c11b7c7c1d/routes") - .domainsUrl("/v2/spaces/998375df-21ec-4d73-a0fd-83c11b7c7c1d/domains") - .serviceInstancesUrl("/v2/spaces/998375df-21ec-4d73-a0fd-83c11b7c7c1d/service_instances") - .applicationEventsUrl("/v2/spaces/998375df-21ec-4d73-a0fd-83c11b7c7c1d/app_events") - .eventsUrl("/v2/spaces/998375df-21ec-4d73-a0fd-83c11b7c7c1d/events") - .securityGroupsUrl("/v2/spaces/998375df-21ec-4d73-a0fd-83c11b7c7c1d/security_groups") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .removeDeveloperByUsername( + RemoveSpaceDeveloperByUsernameRequest.builder() + .spaceId("test-space-id") + .username("developer@example.com") + .build()) + .as(StepVerifier::create) + .expectNext( + RemoveSpaceDeveloperByUsernameResponse.builder() + .metadata( + Metadata.builder() + .id("998375df-21ec-4d73-a0fd-83c11b7c7c1d") + .url( + "/v2/spaces/998375df-21ec-4d73-a0fd-83c11b7c7c1d") + .createdAt("2016-04-22T19:33:26Z") + .build()) + .entity( + SpaceEntity.builder() + .name("name-1016") + .organizationId( + "d2ba20ee-07f8-4bab-91c7-41a5e103ca57") + .allowSsh(true) + .organizationUrl( + "/v2/organizations/d2ba20ee-07f8-4bab-91c7-41a5e103ca57") + .developersUrl( + "/v2/spaces/998375df-21ec-4d73-a0fd-83c11b7c7c1d/developers") + .managersUrl( + "/v2/spaces/998375df-21ec-4d73-a0fd-83c11b7c7c1d/managers") + .auditorsUrl( + "/v2/spaces/998375df-21ec-4d73-a0fd-83c11b7c7c1d/auditors") + .applicationsUrl( + "/v2/spaces/998375df-21ec-4d73-a0fd-83c11b7c7c1d/apps") + .routesUrl( + "/v2/spaces/998375df-21ec-4d73-a0fd-83c11b7c7c1d/routes") + .domainsUrl( + "/v2/spaces/998375df-21ec-4d73-a0fd-83c11b7c7c1d/domains") + .serviceInstancesUrl( + "/v2/spaces/998375df-21ec-4d73-a0fd-83c11b7c7c1d/service_instances") + .applicationEventsUrl( + "/v2/spaces/998375df-21ec-4d73-a0fd-83c11b7c7c1d/app_events") + .eventsUrl( + "/v2/spaces/998375df-21ec-4d73-a0fd-83c11b7c7c1d/events") + .securityGroupsUrl( + "/v2/spaces/998375df-21ec-4d73-a0fd-83c11b7c7c1d/security_groups") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void removeManager() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(DELETE).path("/spaces/test-space-id/managers/test-manager-id") - .build()) - .response(TestResponse.builder() - .status(NO_CONTENT) - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(DELETE) + .path("/spaces/test-space-id/managers/test-manager-id") + .build()) + .response(TestResponse.builder().status(NO_CONTENT).build()) + .build()); this.spaces - .removeManager(RemoveSpaceManagerRequest.builder() - .spaceId("test-space-id") - .managerId("test-manager-id") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .removeManager( + RemoveSpaceManagerRequest.builder() + .spaceId("test-space-id") + .managerId("test-manager-id") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void removeManagerByUsername() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(DELETE).path("/spaces/test-space-id/managers") - .payload("fixtures/client/v2/spaces/DELETE_{id}_managers_request.json") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/spaces/DELETE_{id}_managers_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(DELETE) + .path("/spaces/test-space-id/managers") + .payload( + "fixtures/client/v2/spaces/DELETE_{id}_managers_request.json") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/spaces/DELETE_{id}_managers_response.json") + .build()) + .build()); this.spaces - .removeManagerByUsername(RemoveSpaceManagerByUsernameRequest.builder() - .spaceId("test-space-id") - .username("manager@example.com") - .build()) - .as(StepVerifier::create) - .expectNext(RemoveSpaceManagerByUsernameResponse.builder() - .metadata(Metadata.builder() - .id("9f29c6d5-10cf-4d2c-a934-b0f2ea054bd2") - .url("/v2/spaces/9f29c6d5-10cf-4d2c-a934-b0f2ea054bd2") - .createdAt("2016-04-22T19:33:27Z") - .build()) - .entity(SpaceEntity.builder() - .name("name-1041") - .organizationId("2e1dbf6f-426e-4ad7-b48e-347bbd2bdaa6") - .allowSsh(true) - .organizationUrl("/v2/organizations/2e1dbf6f-426e-4ad7-b48e-347bbd2bdaa6") - .developersUrl("/v2/spaces/9f29c6d5-10cf-4d2c-a934-b0f2ea054bd2/developers") - .managersUrl("/v2/spaces/9f29c6d5-10cf-4d2c-a934-b0f2ea054bd2/managers") - .auditorsUrl("/v2/spaces/9f29c6d5-10cf-4d2c-a934-b0f2ea054bd2/auditors") - .applicationsUrl("/v2/spaces/9f29c6d5-10cf-4d2c-a934-b0f2ea054bd2/apps") - .routesUrl("/v2/spaces/9f29c6d5-10cf-4d2c-a934-b0f2ea054bd2/routes") - .domainsUrl("/v2/spaces/9f29c6d5-10cf-4d2c-a934-b0f2ea054bd2/domains") - .serviceInstancesUrl("/v2/spaces/9f29c6d5-10cf-4d2c-a934-b0f2ea054bd2/service_instances") - .applicationEventsUrl("/v2/spaces/9f29c6d5-10cf-4d2c-a934-b0f2ea054bd2/app_events") - .eventsUrl("/v2/spaces/9f29c6d5-10cf-4d2c-a934-b0f2ea054bd2/events") - .securityGroupsUrl("/v2/spaces/9f29c6d5-10cf-4d2c-a934-b0f2ea054bd2/security_groups") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .removeManagerByUsername( + RemoveSpaceManagerByUsernameRequest.builder() + .spaceId("test-space-id") + .username("manager@example.com") + .build()) + .as(StepVerifier::create) + .expectNext( + RemoveSpaceManagerByUsernameResponse.builder() + .metadata( + Metadata.builder() + .id("9f29c6d5-10cf-4d2c-a934-b0f2ea054bd2") + .url( + "/v2/spaces/9f29c6d5-10cf-4d2c-a934-b0f2ea054bd2") + .createdAt("2016-04-22T19:33:27Z") + .build()) + .entity( + SpaceEntity.builder() + .name("name-1041") + .organizationId( + "2e1dbf6f-426e-4ad7-b48e-347bbd2bdaa6") + .allowSsh(true) + .organizationUrl( + "/v2/organizations/2e1dbf6f-426e-4ad7-b48e-347bbd2bdaa6") + .developersUrl( + "/v2/spaces/9f29c6d5-10cf-4d2c-a934-b0f2ea054bd2/developers") + .managersUrl( + "/v2/spaces/9f29c6d5-10cf-4d2c-a934-b0f2ea054bd2/managers") + .auditorsUrl( + "/v2/spaces/9f29c6d5-10cf-4d2c-a934-b0f2ea054bd2/auditors") + .applicationsUrl( + "/v2/spaces/9f29c6d5-10cf-4d2c-a934-b0f2ea054bd2/apps") + .routesUrl( + "/v2/spaces/9f29c6d5-10cf-4d2c-a934-b0f2ea054bd2/routes") + .domainsUrl( + "/v2/spaces/9f29c6d5-10cf-4d2c-a934-b0f2ea054bd2/domains") + .serviceInstancesUrl( + "/v2/spaces/9f29c6d5-10cf-4d2c-a934-b0f2ea054bd2/service_instances") + .applicationEventsUrl( + "/v2/spaces/9f29c6d5-10cf-4d2c-a934-b0f2ea054bd2/app_events") + .eventsUrl( + "/v2/spaces/9f29c6d5-10cf-4d2c-a934-b0f2ea054bd2/events") + .securityGroupsUrl( + "/v2/spaces/9f29c6d5-10cf-4d2c-a934-b0f2ea054bd2/security_groups") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void removeSecurityGroup() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(DELETE).path("/spaces/test-space-id/security_groups/test-security-group-id") - .build()) - .response(TestResponse.builder() - .status(NO_CONTENT) - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(DELETE) + .path( + "/spaces/test-space-id/security_groups/test-security-group-id") + .build()) + .response(TestResponse.builder().status(NO_CONTENT).build()) + .build()); this.spaces - .removeSecurityGroup(RemoveSpaceSecurityGroupRequest.builder() - .spaceId("test-space-id") - .securityGroupId("test-security-group-id") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .removeSecurityGroup( + RemoveSpaceSecurityGroupRequest.builder() + .spaceId("test-space-id") + .securityGroupId("test-security-group-id") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void update() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(PUT).path("/spaces/test-space-id") - .payload("fixtures/client/v2/spaces/PUT_{id}_request.json") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/spaces/PUT_{id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(PUT) + .path("/spaces/test-space-id") + .payload("fixtures/client/v2/spaces/PUT_{id}_request.json") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload("fixtures/client/v2/spaces/PUT_{id}_response.json") + .build()) + .build()); this.spaces - .update(UpdateSpaceRequest.builder() - .spaceId("test-space-id") - .name("New Space Name") - .auditorIds(Collections.emptyList()) - .build()) - .as(StepVerifier::create) - .expectNext(UpdateSpaceResponse.builder() - .metadata(Metadata.builder() - .id("e7b9e252-88cb-415c-ace4-2864922e550c") - .url("/v2/spaces/e7b9e252-88cb-415c-ace4-2864922e550c") - .createdAt("2015-07-27T22:43:08Z") - .updatedAt("2015-07-27T22:43:08Z") - .build()) - .entity(SpaceEntity.builder() - .name("New Space Name") - .organizationId("71c72756-e8b8-4c4a-b832-b3f9e3052c70") - .allowSsh(true) - .organizationUrl("/v2/organizations/71c72756-e8b8-4c4a-b832-b3f9e3052c70") - .developersUrl("/v2/spaces/e7b9e252-88cb-415c-ace4-2864922e550c/developers") - .managersUrl("/v2/spaces/e7b9e252-88cb-415c-ace4-2864922e550c/managers") - .auditorsUrl("/v2/spaces/e7b9e252-88cb-415c-ace4-2864922e550c/auditors") - .applicationsUrl("/v2/spaces/e7b9e252-88cb-415c-ace4-2864922e550c/apps") - .routesUrl("/v2/spaces/e7b9e252-88cb-415c-ace4-2864922e550c/routes") - .domainsUrl("/v2/spaces/e7b9e252-88cb-415c-ace4-2864922e550c/domains") - .serviceInstancesUrl("/v2/spaces/e7b9e252-88cb-415c-ace4-2864922e550c/service_instances") - .applicationEventsUrl("/v2/spaces/e7b9e252-88cb-415c-ace4-2864922e550c/app_events") - .eventsUrl("/v2/spaces/e7b9e252-88cb-415c-ace4-2864922e550c/events") - .securityGroupsUrl("/v2/spaces/e7b9e252-88cb-415c-ace4-2864922e550c/security_groups") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .update( + UpdateSpaceRequest.builder() + .spaceId("test-space-id") + .name("New Space Name") + .auditorIds(Collections.emptyList()) + .build()) + .as(StepVerifier::create) + .expectNext( + UpdateSpaceResponse.builder() + .metadata( + Metadata.builder() + .id("e7b9e252-88cb-415c-ace4-2864922e550c") + .url( + "/v2/spaces/e7b9e252-88cb-415c-ace4-2864922e550c") + .createdAt("2015-07-27T22:43:08Z") + .updatedAt("2015-07-27T22:43:08Z") + .build()) + .entity( + SpaceEntity.builder() + .name("New Space Name") + .organizationId( + "71c72756-e8b8-4c4a-b832-b3f9e3052c70") + .allowSsh(true) + .organizationUrl( + "/v2/organizations/71c72756-e8b8-4c4a-b832-b3f9e3052c70") + .developersUrl( + "/v2/spaces/e7b9e252-88cb-415c-ace4-2864922e550c/developers") + .managersUrl( + "/v2/spaces/e7b9e252-88cb-415c-ace4-2864922e550c/managers") + .auditorsUrl( + "/v2/spaces/e7b9e252-88cb-415c-ace4-2864922e550c/auditors") + .applicationsUrl( + "/v2/spaces/e7b9e252-88cb-415c-ace4-2864922e550c/apps") + .routesUrl( + "/v2/spaces/e7b9e252-88cb-415c-ace4-2864922e550c/routes") + .domainsUrl( + "/v2/spaces/e7b9e252-88cb-415c-ace4-2864922e550c/domains") + .serviceInstancesUrl( + "/v2/spaces/e7b9e252-88cb-415c-ace4-2864922e550c/service_instances") + .applicationEventsUrl( + "/v2/spaces/e7b9e252-88cb-415c-ace4-2864922e550c/app_events") + .eventsUrl( + "/v2/spaces/e7b9e252-88cb-415c-ace4-2864922e550c/events") + .securityGroupsUrl( + "/v2/spaces/e7b9e252-88cb-415c-ace4-2864922e550c/security_groups") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } - } diff --git a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/stacks/ReactorStacksTest.java b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/stacks/ReactorStacksTest.java index 4071e720eb..f5fad758c6 100644 --- a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/stacks/ReactorStacksTest.java +++ b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/stacks/ReactorStacksTest.java @@ -16,6 +16,14 @@ package org.cloudfoundry.reactor.client.v2.stacks; +import static io.netty.handler.codec.http.HttpMethod.DELETE; +import static io.netty.handler.codec.http.HttpMethod.GET; +import static io.netty.handler.codec.http.HttpMethod.POST; +import static io.netty.handler.codec.http.HttpResponseStatus.NO_CONTENT; +import static io.netty.handler.codec.http.HttpResponseStatus.OK; + +import java.time.Duration; +import java.util.Collections; import org.cloudfoundry.client.v2.Metadata; import org.cloudfoundry.client.v2.jobs.JobEntity; import org.cloudfoundry.client.v2.stacks.CreateStackRequest; @@ -35,196 +43,226 @@ import org.junit.Test; import reactor.test.StepVerifier; -import java.time.Duration; -import java.util.Collections; - -import static io.netty.handler.codec.http.HttpMethod.DELETE; -import static io.netty.handler.codec.http.HttpMethod.GET; -import static io.netty.handler.codec.http.HttpMethod.POST; -import static io.netty.handler.codec.http.HttpResponseStatus.NO_CONTENT; -import static io.netty.handler.codec.http.HttpResponseStatus.OK; - public final class ReactorStacksTest extends AbstractClientApiTest { - private final ReactorStacks stacks = new ReactorStacks(CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); + private final ReactorStacks stacks = + new ReactorStacks( + CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); @Test public void create() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(POST).path("/stacks") - .payload("fixtures/client/v2/stacks/POST_request.json") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/stacks/POST_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(POST) + .path("/stacks") + .payload("fixtures/client/v2/stacks/POST_request.json") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload("fixtures/client/v2/stacks/POST_response.json") + .build()) + .build()); this.stacks - .create(CreateStackRequest.builder() - .description("Description for the example stack") - .name("example_stack") - .build()) - .as(StepVerifier::create) - .expectNext(CreateStackResponse.builder() - .metadata(Metadata.builder() - .createdAt("2016-06-08T16:41:23Z") - .id("c7d0b591-2572-4d23-bf7c-9dac95074a9e") - .updatedAt("2016-06-08T16:41:26Z") - .url("/v2/stacks/c7d0b591-2572-4d23-bf7c-9dac95074a9e") - .build()) - .entity(StackEntity.builder() - .description("Description for the example stack") - .name("example_stack") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .create( + CreateStackRequest.builder() + .description("Description for the example stack") + .name("example_stack") + .build()) + .as(StepVerifier::create) + .expectNext( + CreateStackResponse.builder() + .metadata( + Metadata.builder() + .createdAt("2016-06-08T16:41:23Z") + .id("c7d0b591-2572-4d23-bf7c-9dac95074a9e") + .updatedAt("2016-06-08T16:41:26Z") + .url( + "/v2/stacks/c7d0b591-2572-4d23-bf7c-9dac95074a9e") + .build()) + .entity( + StackEntity.builder() + .description("Description for the example stack") + .name("example_stack") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void delete() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(DELETE).path("/stacks/test-stack-id") - .build()) - .response(TestResponse.builder() - .status(NO_CONTENT) - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(DELETE) + .path("/stacks/test-stack-id") + .build()) + .response(TestResponse.builder().status(NO_CONTENT).build()) + .build()); this.stacks - .delete(DeleteStackRequest.builder() - .stackId("test-stack-id") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .delete(DeleteStackRequest.builder().stackId("test-stack-id").build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void deleteAsync() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(DELETE).path("/stacks/test-stack-id?async=true") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/stacks/DELETE_{id}_async_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(DELETE) + .path("/stacks/test-stack-id?async=true") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/stacks/DELETE_{id}_async_response.json") + .build()) + .build()); this.stacks - .delete(DeleteStackRequest.builder() - .async(true) - .stackId("test-stack-id") - .build()) - .as(StepVerifier::create) - .expectNext(DeleteStackResponse.builder() - .metadata(Metadata.builder() - .createdAt("2016-02-02T17:16:31Z") - .id("2d9707ba-6f0b-4aef-a3de-fe9bdcf0c9d1") - .url("/v2/jobs/2d9707ba-6f0b-4aef-a3de-fe9bdcf0c9d1") - .build()) - .entity(JobEntity.builder() - .id("2d9707ba-6f0b-4aef-a3de-fe9bdcf0c9d1") - .status("queued") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .delete(DeleteStackRequest.builder().async(true).stackId("test-stack-id").build()) + .as(StepVerifier::create) + .expectNext( + DeleteStackResponse.builder() + .metadata( + Metadata.builder() + .createdAt("2016-02-02T17:16:31Z") + .id("2d9707ba-6f0b-4aef-a3de-fe9bdcf0c9d1") + .url( + "/v2/jobs/2d9707ba-6f0b-4aef-a3de-fe9bdcf0c9d1") + .build()) + .entity( + JobEntity.builder() + .id("2d9707ba-6f0b-4aef-a3de-fe9bdcf0c9d1") + .status("queued") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void get() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/stacks/test-stack-id") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/stacks/GET_{id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/stacks/test-stack-id") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload("fixtures/client/v2/stacks/GET_{id}_response.json") + .build()) + .build()); this.stacks - .get(GetStackRequest.builder() - .stackId("test-stack-id") - .build()) - .as(StepVerifier::create) - .expectNext(GetStackResponse.builder() - .metadata(Metadata.builder() - .id("fe4999cf-a207-4d40-bb03-f4bbf697edac") - .url("/v2/stacks/fe4999cf-a207-4d40-bb03-f4bbf697edac") - .createdAt("2015-12-22T18:27:59Z") - .build()) - .entity(StackEntity.builder() - .name("cflinuxfs2") - .description("cflinuxfs2") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .get(GetStackRequest.builder().stackId("test-stack-id").build()) + .as(StepVerifier::create) + .expectNext( + GetStackResponse.builder() + .metadata( + Metadata.builder() + .id("fe4999cf-a207-4d40-bb03-f4bbf697edac") + .url( + "/v2/stacks/fe4999cf-a207-4d40-bb03-f4bbf697edac") + .createdAt("2015-12-22T18:27:59Z") + .build()) + .entity( + StackEntity.builder() + .name("cflinuxfs2") + .description("cflinuxfs2") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void list() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/stacks?q=name%3Atest-name&page=-1") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/stacks/GET_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/stacks?q=name%3Atest-name&page=-1") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload("fixtures/client/v2/stacks/GET_response.json") + .build()) + .build()); this.stacks - .list(ListStacksRequest.builder() - .name("test-name") - .page(-1) - .build()) - .as(StepVerifier::create) - .expectNext(ListStacksResponse.builder() - .totalResults(3) - .totalPages(1) - .resource(StackResource.builder() - .metadata(Metadata.builder() - .id("fe4999cf-a207-4d40-bb03-f4bbf697edac") - .url("/v2/stacks/fe4999cf-a207-4d40-bb03-f4bbf697edac") - .createdAt("2015-12-22T18:27:59Z") - .build()) - .entity(StackEntity.builder() - .name("cflinuxfs2") - .description("cflinuxfs2") - .build()) - .build()) - .resource(StackResource.builder() - .metadata(Metadata.builder() - .id("ff0f87c9-9add-477a-8674-c11c012667a6") - .url("/v2/stacks/ff0f87c9-9add-477a-8674-c11c012667a6") - .createdAt("2015-12-22T18:27:59Z") - .build()) - .entity(StackEntity.builder() - .name("default-stack-name") - .description("default-stack-description") - .build()) - .build()) - .resource(StackResource.builder() - .metadata(Metadata.builder() - .id("01bd93b4-f252-4517-a4a5-191eb4c7fc7e") - .url("/v2/stacks/01bd93b4-f252-4517-a4a5-191eb4c7fc7e") - .createdAt("2015-12-22T18:27:59Z") - .build()) - .entity(StackEntity.builder() - .name("cider") - .description("cider-description") - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .list(ListStacksRequest.builder().name("test-name").page(-1).build()) + .as(StepVerifier::create) + .expectNext( + ListStacksResponse.builder() + .totalResults(3) + .totalPages(1) + .resource( + StackResource.builder() + .metadata( + Metadata.builder() + .id( + "fe4999cf-a207-4d40-bb03-f4bbf697edac") + .url( + "/v2/stacks/fe4999cf-a207-4d40-bb03-f4bbf697edac") + .createdAt("2015-12-22T18:27:59Z") + .build()) + .entity( + StackEntity.builder() + .name("cflinuxfs2") + .description("cflinuxfs2") + .build()) + .build()) + .resource( + StackResource.builder() + .metadata( + Metadata.builder() + .id( + "ff0f87c9-9add-477a-8674-c11c012667a6") + .url( + "/v2/stacks/ff0f87c9-9add-477a-8674-c11c012667a6") + .createdAt("2015-12-22T18:27:59Z") + .build()) + .entity( + StackEntity.builder() + .name("default-stack-name") + .description( + "default-stack-description") + .build()) + .build()) + .resource( + StackResource.builder() + .metadata( + Metadata.builder() + .id( + "01bd93b4-f252-4517-a4a5-191eb4c7fc7e") + .url( + "/v2/stacks/01bd93b4-f252-4517-a4a5-191eb4c7fc7e") + .createdAt("2015-12-22T18:27:59Z") + .build()) + .entity( + StackEntity.builder() + .name("cider") + .description("cider-description") + .build()) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } - } diff --git a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/userprovidedserviceinstances/ReactorUserProvidedServiceInstancesTest.java b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/userprovidedserviceinstances/ReactorUserProvidedServiceInstancesTest.java index dd1992fb98..adedafe430 100644 --- a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/userprovidedserviceinstances/ReactorUserProvidedServiceInstancesTest.java +++ b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/userprovidedserviceinstances/ReactorUserProvidedServiceInstancesTest.java @@ -16,6 +16,17 @@ package org.cloudfoundry.reactor.client.v2.userprovidedserviceinstances; +import static io.netty.handler.codec.http.HttpMethod.DELETE; +import static io.netty.handler.codec.http.HttpMethod.GET; +import static io.netty.handler.codec.http.HttpMethod.POST; +import static io.netty.handler.codec.http.HttpMethod.PUT; +import static io.netty.handler.codec.http.HttpResponseStatus.ACCEPTED; +import static io.netty.handler.codec.http.HttpResponseStatus.CREATED; +import static io.netty.handler.codec.http.HttpResponseStatus.NO_CONTENT; +import static io.netty.handler.codec.http.HttpResponseStatus.OK; + +import java.time.Duration; +import java.util.Collections; import org.cloudfoundry.client.v2.Metadata; import org.cloudfoundry.client.v2.routes.RouteEntity; import org.cloudfoundry.client.v2.routes.RouteResource; @@ -46,402 +57,535 @@ import org.junit.Test; import reactor.test.StepVerifier; -import java.time.Duration; -import java.util.Collections; - -import static io.netty.handler.codec.http.HttpMethod.DELETE; -import static io.netty.handler.codec.http.HttpMethod.GET; -import static io.netty.handler.codec.http.HttpMethod.POST; -import static io.netty.handler.codec.http.HttpMethod.PUT; -import static io.netty.handler.codec.http.HttpResponseStatus.ACCEPTED; -import static io.netty.handler.codec.http.HttpResponseStatus.CREATED; -import static io.netty.handler.codec.http.HttpResponseStatus.NO_CONTENT; -import static io.netty.handler.codec.http.HttpResponseStatus.OK; - public final class ReactorUserProvidedServiceInstancesTest extends AbstractClientApiTest { - private final ReactorUserProvidedServiceInstances userProvidedServiceInstances = new ReactorUserProvidedServiceInstances(CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); + private final ReactorUserProvidedServiceInstances userProvidedServiceInstances = + new ReactorUserProvidedServiceInstances( + CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); @Test public void associateRoute() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(PUT).path("/user_provided_service_instances/5badd282-6e07-4fc6-a8c4-78be99040774/routes/237d9236-7997-4b1a-be8d-2aaf2d85421a") - .payload("fixtures/client/v2/user_provided_service_instances/PUT_{id}_route_request.json") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/user_provided_service_instances/PUT_{id}_route_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(PUT) + .path( + "/user_provided_service_instances/5badd282-6e07-4fc6-a8c4-78be99040774/routes/237d9236-7997-4b1a-be8d-2aaf2d85421a") + .payload( + "fixtures/client/v2/user_provided_service_instances/PUT_{id}_route_request.json") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/user_provided_service_instances/PUT_{id}_route_response.json") + .build()) + .build()); this.userProvidedServiceInstances - .associateRoute(AssociateUserProvidedServiceInstanceRouteRequest.builder() - .routeId("237d9236-7997-4b1a-be8d-2aaf2d85421a") - .userProvidedServiceInstanceId("5badd282-6e07-4fc6-a8c4-78be99040774") - .build()) - .as(StepVerifier::create) - .expectNext(AssociateUserProvidedServiceInstanceRouteResponse.builder() - .metadata(Metadata.builder() - .createdAt("2016-06-08T16:41:33Z") - .id("5badd282-6e07-4fc6-a8c4-78be99040774") - .url("/v2/user_provided_service_instances/5badd282-6e07-4fc6-a8c4-78be99040774") - .build()) - .entity(UserProvidedServiceInstanceEntity.builder() - .credential("creds-key-52", "creds-val-52") - .name("name-1676") - .routeServiceUrl("https://foo.com/url-92") - .routesUrl("/v2/user_provided_service_instances/5badd282-6e07-4fc6-a8c4-78be99040774/routes") - .serviceBindingsUrl("/v2/user_provided_service_instances/5badd282-6e07-4fc6-a8c4-78be99040774/service_bindings") - .spaceId("91b53184-6430-4891-8d4b-fabbe96a84f6") - .spaceUrl("/v2/spaces/91b53184-6430-4891-8d4b-fabbe96a84f6") - .syslogDrainUrl("https://foo.com/url-93") - .type("user_provided_service_instance") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .associateRoute( + AssociateUserProvidedServiceInstanceRouteRequest.builder() + .routeId("237d9236-7997-4b1a-be8d-2aaf2d85421a") + .userProvidedServiceInstanceId( + "5badd282-6e07-4fc6-a8c4-78be99040774") + .build()) + .as(StepVerifier::create) + .expectNext( + AssociateUserProvidedServiceInstanceRouteResponse.builder() + .metadata( + Metadata.builder() + .createdAt("2016-06-08T16:41:33Z") + .id("5badd282-6e07-4fc6-a8c4-78be99040774") + .url( + "/v2/user_provided_service_instances/5badd282-6e07-4fc6-a8c4-78be99040774") + .build()) + .entity( + UserProvidedServiceInstanceEntity.builder() + .credential("creds-key-52", "creds-val-52") + .name("name-1676") + .routeServiceUrl("https://foo.com/url-92") + .routesUrl( + "/v2/user_provided_service_instances/5badd282-6e07-4fc6-a8c4-78be99040774/routes") + .serviceBindingsUrl( + "/v2/user_provided_service_instances/5badd282-6e07-4fc6-a8c4-78be99040774/service_bindings") + .spaceId("91b53184-6430-4891-8d4b-fabbe96a84f6") + .spaceUrl( + "/v2/spaces/91b53184-6430-4891-8d4b-fabbe96a84f6") + .syslogDrainUrl("https://foo.com/url-93") + .type("user_provided_service_instance") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void create() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(POST).path("/user_provided_service_instances") - .payload("fixtures/client/v2/user_provided_service_instances/POST_request.json") - .build()) - .response(TestResponse.builder() - .status(CREATED) - .payload("fixtures/client/v2/user_provided_service_instances/POST_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(POST) + .path("/user_provided_service_instances") + .payload( + "fixtures/client/v2/user_provided_service_instances/POST_request.json") + .build()) + .response( + TestResponse.builder() + .status(CREATED) + .payload( + "fixtures/client/v2/user_provided_service_instances/POST_response.json") + .build()) + .build()); this.userProvidedServiceInstances - .create(CreateUserProvidedServiceInstanceRequest.builder() - .spaceId("0d45d43f-7d50-43c6-9981-b32ce8d5a373") - .name("my-user-provided-instance") - .credential("somekey", "somevalue") - .routeServiceUrl("https://logger.example.com") - .syslogDrainUrl("syslog://example.com") - .tags("tag1", "tag2") - .build()) - .as(StepVerifier::create) - .expectNext(CreateUserProvidedServiceInstanceResponse.builder() - .metadata(Metadata.builder() - .createdAt("2015-07-27T22:43:35Z") - .id("34d5500e-712d-49ef-8bbe-c9ac349532da") - .url("/v2/user_provided_service_instances/34d5500e-712d-49ef-8bbe-c9ac349532da") - .build()) - .entity(UserProvidedServiceInstanceEntity.builder() - .name("my-user-provided-instance") - .credential("somekey", "somevalue") - .spaceId("0d45d43f-7d50-43c6-9981-b32ce8d5a373") - .type("user_provided_service_instance") - .syslogDrainUrl("syslog://example.com") - .routeServiceUrl("https://logger.example.com") - .tags("tag1", "tag2") - .spaceUrl("/v2/spaces/0d45d43f-7d50-43c6-9981-b32ce8d5a373") - .serviceBindingsUrl("/v2/user_provided_service_instances/34d5500e-712d-49ef-8bbe-c9ac349532da/service_bindings") - .routesUrl("/v2/user_provided_service_instances/34d5500e-712d-49ef-8bbe-c9ac349532da/routes") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .create( + CreateUserProvidedServiceInstanceRequest.builder() + .spaceId("0d45d43f-7d50-43c6-9981-b32ce8d5a373") + .name("my-user-provided-instance") + .credential("somekey", "somevalue") + .routeServiceUrl("https://logger.example.com") + .syslogDrainUrl("syslog://example.com") + .tags("tag1", "tag2") + .build()) + .as(StepVerifier::create) + .expectNext( + CreateUserProvidedServiceInstanceResponse.builder() + .metadata( + Metadata.builder() + .createdAt("2015-07-27T22:43:35Z") + .id("34d5500e-712d-49ef-8bbe-c9ac349532da") + .url( + "/v2/user_provided_service_instances/34d5500e-712d-49ef-8bbe-c9ac349532da") + .build()) + .entity( + UserProvidedServiceInstanceEntity.builder() + .name("my-user-provided-instance") + .credential("somekey", "somevalue") + .spaceId("0d45d43f-7d50-43c6-9981-b32ce8d5a373") + .type("user_provided_service_instance") + .syslogDrainUrl("syslog://example.com") + .routeServiceUrl("https://logger.example.com") + .tags("tag1", "tag2") + .spaceUrl( + "/v2/spaces/0d45d43f-7d50-43c6-9981-b32ce8d5a373") + .serviceBindingsUrl( + "/v2/user_provided_service_instances/34d5500e-712d-49ef-8bbe-c9ac349532da/service_bindings") + .routesUrl( + "/v2/user_provided_service_instances/34d5500e-712d-49ef-8bbe-c9ac349532da/routes") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void delete() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(DELETE).path("/user_provided_service_instances/5b6b45c8-89be-48d2-affd-f64346ad4d93") - .build()) - .response(TestResponse.builder() - .status(NO_CONTENT) - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(DELETE) + .path( + "/user_provided_service_instances/5b6b45c8-89be-48d2-affd-f64346ad4d93") + .build()) + .response(TestResponse.builder().status(NO_CONTENT).build()) + .build()); this.userProvidedServiceInstances - .delete(DeleteUserProvidedServiceInstanceRequest.builder() - .userProvidedServiceInstanceId("5b6b45c8-89be-48d2-affd-f64346ad4d93") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .delete( + DeleteUserProvidedServiceInstanceRequest.builder() + .userProvidedServiceInstanceId( + "5b6b45c8-89be-48d2-affd-f64346ad4d93") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void get() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/user_provided_service_instances/8c12fd06-6639-4844-b5e7-a6831cadbbcc") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/user_provided_service_instances/GET_{id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path( + "/user_provided_service_instances/8c12fd06-6639-4844-b5e7-a6831cadbbcc") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/user_provided_service_instances/GET_{id}_response.json") + .build()) + .build()); this.userProvidedServiceInstances - .get(GetUserProvidedServiceInstanceRequest.builder() - .userProvidedServiceInstanceId("8c12fd06-6639-4844-b5e7-a6831cadbbcc") - .build()) - .as(StepVerifier::create) - .expectNext(GetUserProvidedServiceInstanceResponse.builder() - .metadata(Metadata.builder() - .createdAt("2016-06-08T16:41:33Z") - .id("e9358711-0ad9-4f2a-b3dc-289d47c17c87") - .updatedAt("2016-06-08T16:41:26Z") - .url("/v2/user_provided_service_instances/e9358711-0ad9-4f2a-b3dc-289d47c17c87") - .build()) - .entity(UserProvidedServiceInstanceEntity.builder() - .credential("creds-key-58", "creds-val-58") - .name("name-1700") - .routesUrl("/v2/user_provided_service_instances/e9358711-0ad9-4f2a-b3dc-289d47c17c87/routes") - .serviceBindingsUrl("/v2/user_provided_service_instances/e9358711-0ad9-4f2a-b3dc-289d47c17c87/service_bindings") - .spaceId("22236d1a-d9c7-44b7-bdad-2bb079a6c4a1") - .spaceUrl("/v2/spaces/22236d1a-d9c7-44b7-bdad-2bb079a6c4a1") - .syslogDrainUrl("https://foo.com/url-104") - .tags("accounting", "mongodb") - .type("user_provided_service_instance") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .get( + GetUserProvidedServiceInstanceRequest.builder() + .userProvidedServiceInstanceId( + "8c12fd06-6639-4844-b5e7-a6831cadbbcc") + .build()) + .as(StepVerifier::create) + .expectNext( + GetUserProvidedServiceInstanceResponse.builder() + .metadata( + Metadata.builder() + .createdAt("2016-06-08T16:41:33Z") + .id("e9358711-0ad9-4f2a-b3dc-289d47c17c87") + .updatedAt("2016-06-08T16:41:26Z") + .url( + "/v2/user_provided_service_instances/e9358711-0ad9-4f2a-b3dc-289d47c17c87") + .build()) + .entity( + UserProvidedServiceInstanceEntity.builder() + .credential("creds-key-58", "creds-val-58") + .name("name-1700") + .routesUrl( + "/v2/user_provided_service_instances/e9358711-0ad9-4f2a-b3dc-289d47c17c87/routes") + .serviceBindingsUrl( + "/v2/user_provided_service_instances/e9358711-0ad9-4f2a-b3dc-289d47c17c87/service_bindings") + .spaceId("22236d1a-d9c7-44b7-bdad-2bb079a6c4a1") + .spaceUrl( + "/v2/spaces/22236d1a-d9c7-44b7-bdad-2bb079a6c4a1") + .syslogDrainUrl("https://foo.com/url-104") + .tags("accounting", "mongodb") + .type("user_provided_service_instance") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void list() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/user_provided_service_instances?page=-1") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/user_provided_service_instances/GET_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/user_provided_service_instances?page=-1") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/user_provided_service_instances/GET_response.json") + .build()) + .build()); this.userProvidedServiceInstances - .list(ListUserProvidedServiceInstancesRequest.builder() - .page(-1) - .build()) - .as(StepVerifier::create) - .expectNext(ListUserProvidedServiceInstancesResponse.builder() - .totalPages(1) - .totalResults(1) - .resource(UserProvidedServiceInstanceResource.builder() - .metadata(Metadata.builder() - .createdAt("2015-07-27T22:43:34Z") - .id("8db6d37b-1ca8-4d0a-b1d3-2a6aaceae866") - .url("/v2/user_provided_service_instances/8db6d37b-1ca8-4d0a-b1d3-2a6aaceae866") - .build()) - .entity(UserProvidedServiceInstanceEntity.builder() - .name("name-2365") - .credential("creds-key-665", "creds-val-665") - .spaceId("2fff6e71-d329-4991-9c89-7fa8abca70df") - .type("user_provided_service_instance") - .syslogDrainUrl("https://foo.com/url-90") - .spaceUrl("/v2/spaces/2fff6e71-d329-4991-9c89-7fa8abca70df") - .serviceBindingsUrl("/v2/user_provided_service_instances/8db6d37b-1ca8-4d0a-b1d3-2a6aaceae866/service_bindings") - .routesUrl("/v2/user_provided_service_instances/8db6d37b-1ca8-4d0a-b1d3-2a6aaceae866/routes") - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .list(ListUserProvidedServiceInstancesRequest.builder().page(-1).build()) + .as(StepVerifier::create) + .expectNext( + ListUserProvidedServiceInstancesResponse.builder() + .totalPages(1) + .totalResults(1) + .resource( + UserProvidedServiceInstanceResource.builder() + .metadata( + Metadata.builder() + .createdAt("2015-07-27T22:43:34Z") + .id( + "8db6d37b-1ca8-4d0a-b1d3-2a6aaceae866") + .url( + "/v2/user_provided_service_instances/8db6d37b-1ca8-4d0a-b1d3-2a6aaceae866") + .build()) + .entity( + UserProvidedServiceInstanceEntity.builder() + .name("name-2365") + .credential( + "creds-key-665", + "creds-val-665") + .spaceId( + "2fff6e71-d329-4991-9c89-7fa8abca70df") + .type( + "user_provided_service_instance") + .syslogDrainUrl( + "https://foo.com/url-90") + .spaceUrl( + "/v2/spaces/2fff6e71-d329-4991-9c89-7fa8abca70df") + .serviceBindingsUrl( + "/v2/user_provided_service_instances/8db6d37b-1ca8-4d0a-b1d3-2a6aaceae866/service_bindings") + .routesUrl( + "/v2/user_provided_service_instances/8db6d37b-1ca8-4d0a-b1d3-2a6aaceae866/routes") + .build()) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void listRoutes() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/user_provided_service_instances/500e64c6-7f70-4e3b-ab7b-940a6303d79b/routes") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/user_provided_service_instances/GET_{id}_routes_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path( + "/user_provided_service_instances/500e64c6-7f70-4e3b-ab7b-940a6303d79b/routes") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/user_provided_service_instances/GET_{id}_routes_response.json") + .build()) + .build()); this.userProvidedServiceInstances - .listRoutes(ListUserProvidedServiceInstanceRoutesRequest.builder() - .userProvidedServiceInstanceId("500e64c6-7f70-4e3b-ab7b-940a6303d79b") - .build()) - .as(StepVerifier::create) - .expectNext(ListUserProvidedServiceInstanceRoutesResponse.builder() - .totalResults(1) - .totalPages(1) - .resource(RouteResource.builder() - .metadata(Metadata.builder() - .createdAt("2016-06-08T16:41:33Z") - .id("d6e18af9-9d84-4a53-a301-ab9bef03a7b0") - .updatedAt("2016-06-08T16:41:33Z") - .url("/v2/routes/d6e18af9-9d84-4a53-a301-ab9bef03a7b0") - .build()) - .entity(RouteEntity.builder() - .applicationsUrl("/v2/routes/d6e18af9-9d84-4a53-a301-ab9bef03a7b0/apps") - .domainId("428b9275-47a6-481b-97e3-d93ae18611ee") - .domainUrl("/v2/private_domains/428b9275-47a6-481b-97e3-d93ae18611ee") - .host("host-24") - .path("") - .routeMappingsUrl("/v2/routes/d6e18af9-9d84-4a53-a301-ab9bef03a7b0/route_mappings") - .serviceInstanceId("500e64c6-7f70-4e3b-ab7b-940a6303d79b") - .serviceInstanceUrl("/v2/user_provided_service_instances/500e64c6-7f70-4e3b-ab7b-940a6303d79b") - .spaceId("dc7dd379-1ffb-4168-b2b4-773fe141dd2e") - .spaceUrl("/v2/spaces/dc7dd379-1ffb-4168-b2b4-773fe141dd2e") - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .listRoutes( + ListUserProvidedServiceInstanceRoutesRequest.builder() + .userProvidedServiceInstanceId( + "500e64c6-7f70-4e3b-ab7b-940a6303d79b") + .build()) + .as(StepVerifier::create) + .expectNext( + ListUserProvidedServiceInstanceRoutesResponse.builder() + .totalResults(1) + .totalPages(1) + .resource( + RouteResource.builder() + .metadata( + Metadata.builder() + .createdAt("2016-06-08T16:41:33Z") + .id( + "d6e18af9-9d84-4a53-a301-ab9bef03a7b0") + .updatedAt("2016-06-08T16:41:33Z") + .url( + "/v2/routes/d6e18af9-9d84-4a53-a301-ab9bef03a7b0") + .build()) + .entity( + RouteEntity.builder() + .applicationsUrl( + "/v2/routes/d6e18af9-9d84-4a53-a301-ab9bef03a7b0/apps") + .domainId( + "428b9275-47a6-481b-97e3-d93ae18611ee") + .domainUrl( + "/v2/private_domains/428b9275-47a6-481b-97e3-d93ae18611ee") + .host("host-24") + .path("") + .routeMappingsUrl( + "/v2/routes/d6e18af9-9d84-4a53-a301-ab9bef03a7b0/route_mappings") + .serviceInstanceId( + "500e64c6-7f70-4e3b-ab7b-940a6303d79b") + .serviceInstanceUrl( + "/v2/user_provided_service_instances/500e64c6-7f70-4e3b-ab7b-940a6303d79b") + .spaceId( + "dc7dd379-1ffb-4168-b2b4-773fe141dd2e") + .spaceUrl( + "/v2/spaces/dc7dd379-1ffb-4168-b2b4-773fe141dd2e") + .build()) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void listServiceBindings() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/user_provided_service_instances/test-user-provided-service-instance-id/service_bindings?page=-1") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/user_provided_service_instances/GET_{id}_service_bindings_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path( + "/user_provided_service_instances/test-user-provided-service-instance-id/service_bindings?page=-1") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/user_provided_service_instances/GET_{id}_service_bindings_response.json") + .build()) + .build()); this.userProvidedServiceInstances - .listServiceBindings(ListUserProvidedServiceInstanceServiceBindingsRequest.builder() - .userProvidedServiceInstanceId("test-user-provided-service-instance-id") - .page(-1) - .build()) - .as(StepVerifier::create) - .expectNext(ListUserProvidedServiceInstanceServiceBindingsResponse.builder() - .totalPages(1) - .totalResults(1) - .resource(ServiceBindingResource.builder() - .metadata(Metadata.builder() - .createdAt("2016-01-26T22:20:16Z") - .id("e6b8d548-e009-47d4-ab79-675e3da6bb52") - .url("/v2/service_bindings/e6b8d548-e009-47d4-ab79-675e3da6bb52") - .build() - ) - .entity(ServiceBindingEntity.builder() - .applicationId("a9bbd896-7500-45be-a75a-25e3d254f67c") - .serviceInstanceId("16c81612-6a63-4faa-8cd5-acc80771b562") - .credential("creds-key-29", "creds-val-29") - .bindingOptions(Collections.emptyMap()) - .gatewayName("") - .applicationUrl("/v2/apps/a9bbd896-7500-45be-a75a-25e3d254f67c") - .serviceInstanceUrl("/v2/user_provided_service_instances/16c81612-6a63-4faa-8cd5-acc80771b562") - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .listServiceBindings( + ListUserProvidedServiceInstanceServiceBindingsRequest.builder() + .userProvidedServiceInstanceId( + "test-user-provided-service-instance-id") + .page(-1) + .build()) + .as(StepVerifier::create) + .expectNext( + ListUserProvidedServiceInstanceServiceBindingsResponse.builder() + .totalPages(1) + .totalResults(1) + .resource( + ServiceBindingResource.builder() + .metadata( + Metadata.builder() + .createdAt("2016-01-26T22:20:16Z") + .id( + "e6b8d548-e009-47d4-ab79-675e3da6bb52") + .url( + "/v2/service_bindings/e6b8d548-e009-47d4-ab79-675e3da6bb52") + .build()) + .entity( + ServiceBindingEntity.builder() + .applicationId( + "a9bbd896-7500-45be-a75a-25e3d254f67c") + .serviceInstanceId( + "16c81612-6a63-4faa-8cd5-acc80771b562") + .credential( + "creds-key-29", + "creds-val-29") + .bindingOptions( + Collections.emptyMap()) + .gatewayName("") + .applicationUrl( + "/v2/apps/a9bbd896-7500-45be-a75a-25e3d254f67c") + .serviceInstanceUrl( + "/v2/user_provided_service_instances/16c81612-6a63-4faa-8cd5-acc80771b562") + .build()) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void removeRoute() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(DELETE).path("/user_provided_service_instances/fd195229-117c-4bbe-9418-c5df97131eae/routes/c3bc74b0-9465-413d-b5e6-3b305fb439cc") - .build()) - .response(TestResponse.builder() - .status(NO_CONTENT) - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(DELETE) + .path( + "/user_provided_service_instances/fd195229-117c-4bbe-9418-c5df97131eae/routes/c3bc74b0-9465-413d-b5e6-3b305fb439cc") + .build()) + .response(TestResponse.builder().status(NO_CONTENT).build()) + .build()); this.userProvidedServiceInstances - .removeRoute(RemoveUserProvidedServiceInstanceRouteRequest.builder() - .routeId("c3bc74b0-9465-413d-b5e6-3b305fb439cc") - .userProvidedServiceInstanceId("fd195229-117c-4bbe-9418-c5df97131eae") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .removeRoute( + RemoveUserProvidedServiceInstanceRouteRequest.builder() + .routeId("c3bc74b0-9465-413d-b5e6-3b305fb439cc") + .userProvidedServiceInstanceId( + "fd195229-117c-4bbe-9418-c5df97131eae") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void update() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(PUT).path("/user_provided_service_instances/e2c198b1-fa15-414e-a9a4-31537996b39d") - .payload("fixtures/client/v2/user_provided_service_instances/PUT_{id}_request.json") - .build()) - .response(TestResponse.builder() - .status(ACCEPTED) - .payload("fixtures/client/v2/user_provided_service_instances/PUT_{id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(PUT) + .path( + "/user_provided_service_instances/e2c198b1-fa15-414e-a9a4-31537996b39d") + .payload( + "fixtures/client/v2/user_provided_service_instances/PUT_{id}_request.json") + .build()) + .response( + TestResponse.builder() + .status(ACCEPTED) + .payload( + "fixtures/client/v2/user_provided_service_instances/PUT_{id}_response.json") + .build()) + .build()); this.userProvidedServiceInstances - .update(UpdateUserProvidedServiceInstanceRequest.builder() - .credential("somekey", "somenewvalue") - .tag("tag1") - .userProvidedServiceInstanceId("e2c198b1-fa15-414e-a9a4-31537996b39d") - .build()) - .as(StepVerifier::create) - .expectNext(UpdateUserProvidedServiceInstanceResponse.builder() - .metadata(Metadata.builder() - .createdAt("2016-02-19T02:04:06Z") - .id("e2c198b1-fa15-414e-a9a4-31537996b39d") - .updatedAt("2016-02-19T02:04:06Z") - .url("/v2/user_provided_service_instances/e2c198b1-fa15-414e-a9a4-31537996b39d") - .build()) - .entity(UserProvidedServiceInstanceEntity.builder() - .name("name-2565") - .credential("somekey", "somenewvalue") - .spaceId("438b5923-fe7a-4459-bbcd-a7c27332bad3") - .tag("tag1") - .type("user_provided_service_instance") - .syslogDrainUrl("https://foo.com/url-91") - .spaceUrl("/v2/spaces/438b5923-fe7a-4459-bbcd-a7c27332bad3") - .serviceBindingsUrl("/v2/user_provided_service_instances/e2c198b1-fa15-414e-a9a4-31537996b39d/service_bindings") - .routesUrl("/v2/user_provided_service_instances/e2c198b1-fa15-414e-a9a4-31537996b39d/routes") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .update( + UpdateUserProvidedServiceInstanceRequest.builder() + .credential("somekey", "somenewvalue") + .tag("tag1") + .userProvidedServiceInstanceId( + "e2c198b1-fa15-414e-a9a4-31537996b39d") + .build()) + .as(StepVerifier::create) + .expectNext( + UpdateUserProvidedServiceInstanceResponse.builder() + .metadata( + Metadata.builder() + .createdAt("2016-02-19T02:04:06Z") + .id("e2c198b1-fa15-414e-a9a4-31537996b39d") + .updatedAt("2016-02-19T02:04:06Z") + .url( + "/v2/user_provided_service_instances/e2c198b1-fa15-414e-a9a4-31537996b39d") + .build()) + .entity( + UserProvidedServiceInstanceEntity.builder() + .name("name-2565") + .credential("somekey", "somenewvalue") + .spaceId("438b5923-fe7a-4459-bbcd-a7c27332bad3") + .tag("tag1") + .type("user_provided_service_instance") + .syslogDrainUrl("https://foo.com/url-91") + .spaceUrl( + "/v2/spaces/438b5923-fe7a-4459-bbcd-a7c27332bad3") + .serviceBindingsUrl( + "/v2/user_provided_service_instances/e2c198b1-fa15-414e-a9a4-31537996b39d/service_bindings") + .routesUrl( + "/v2/user_provided_service_instances/e2c198b1-fa15-414e-a9a4-31537996b39d/routes") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void updateWithEmptyCredentials() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(PUT).path("/user_provided_service_instances/e2c198b1-fa15-414e-a9a4-31537996b39d") - .payload("fixtures/client/v2/user_provided_service_instances/PUT_{id}_empty_creds_request.json") - .build()) - .response(TestResponse.builder() - .status(ACCEPTED) - .payload("fixtures/client/v2/user_provided_service_instances/PUT_{id}_empty_creds_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(PUT) + .path( + "/user_provided_service_instances/e2c198b1-fa15-414e-a9a4-31537996b39d") + .payload( + "fixtures/client/v2/user_provided_service_instances/PUT_{id}_empty_creds_request.json") + .build()) + .response( + TestResponse.builder() + .status(ACCEPTED) + .payload( + "fixtures/client/v2/user_provided_service_instances/PUT_{id}_empty_creds_response.json") + .build()) + .build()); this.userProvidedServiceInstances - .update(UpdateUserProvidedServiceInstanceRequest.builder() - .credentials(Collections.emptyMap()) - .userProvidedServiceInstanceId("e2c198b1-fa15-414e-a9a4-31537996b39d") - .build()) - .as(StepVerifier::create) - .expectNext(UpdateUserProvidedServiceInstanceResponse.builder() - .metadata(Metadata.builder() - .createdAt("2016-02-19T02:04:06Z") - .id("e2c198b1-fa15-414e-a9a4-31537996b39d") - .updatedAt("2016-02-19T02:04:06Z") - .url("/v2/user_provided_service_instances/e2c198b1-fa15-414e-a9a4-31537996b39d") - .build()) - .entity(UserProvidedServiceInstanceEntity.builder() - .credentials(Collections.emptyMap()) - .name("name-2565") - .spaceId("438b5923-fe7a-4459-bbcd-a7c27332bad3") - .type("user_provided_service_instance") - .syslogDrainUrl("https://foo.com/url-91") - .spaceUrl("/v2/spaces/438b5923-fe7a-4459-bbcd-a7c27332bad3") - .serviceBindingsUrl("/v2/user_provided_service_instances/e2c198b1-fa15-414e-a9a4-31537996b39d/service_bindings") - .routesUrl("/v2/user_provided_service_instances/e2c198b1-fa15-414e-a9a4-31537996b39d/routes") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .update( + UpdateUserProvidedServiceInstanceRequest.builder() + .credentials(Collections.emptyMap()) + .userProvidedServiceInstanceId( + "e2c198b1-fa15-414e-a9a4-31537996b39d") + .build()) + .as(StepVerifier::create) + .expectNext( + UpdateUserProvidedServiceInstanceResponse.builder() + .metadata( + Metadata.builder() + .createdAt("2016-02-19T02:04:06Z") + .id("e2c198b1-fa15-414e-a9a4-31537996b39d") + .updatedAt("2016-02-19T02:04:06Z") + .url( + "/v2/user_provided_service_instances/e2c198b1-fa15-414e-a9a4-31537996b39d") + .build()) + .entity( + UserProvidedServiceInstanceEntity.builder() + .credentials(Collections.emptyMap()) + .name("name-2565") + .spaceId("438b5923-fe7a-4459-bbcd-a7c27332bad3") + .type("user_provided_service_instance") + .syslogDrainUrl("https://foo.com/url-91") + .spaceUrl( + "/v2/spaces/438b5923-fe7a-4459-bbcd-a7c27332bad3") + .serviceBindingsUrl( + "/v2/user_provided_service_instances/e2c198b1-fa15-414e-a9a4-31537996b39d/service_bindings") + .routesUrl( + "/v2/user_provided_service_instances/e2c198b1-fa15-414e-a9a4-31537996b39d/routes") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } - } diff --git a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/users/ReactorUsersTest.java b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/users/ReactorUsersTest.java index e7f2546b2e..d5ff9f0ebb 100644 --- a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/users/ReactorUsersTest.java +++ b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v2/users/ReactorUsersTest.java @@ -16,6 +16,16 @@ package org.cloudfoundry.reactor.client.v2.users; +import static io.netty.handler.codec.http.HttpMethod.DELETE; +import static io.netty.handler.codec.http.HttpMethod.GET; +import static io.netty.handler.codec.http.HttpMethod.POST; +import static io.netty.handler.codec.http.HttpMethod.PUT; +import static io.netty.handler.codec.http.HttpResponseStatus.CREATED; +import static io.netty.handler.codec.http.HttpResponseStatus.NO_CONTENT; +import static io.netty.handler.codec.http.HttpResponseStatus.OK; + +import java.time.Duration; +import java.util.Collections; import org.cloudfoundry.client.v2.Metadata; import org.cloudfoundry.client.v2.organizationquotadefinitions.OrganizationQuotaDefinitionEntity; import org.cloudfoundry.client.v2.organizationquotadefinitions.OrganizationQuotaDefinitionResource; @@ -83,1305 +93,1871 @@ import org.junit.Test; import reactor.test.StepVerifier; -import java.time.Duration; -import java.util.Collections; - -import static io.netty.handler.codec.http.HttpMethod.DELETE; -import static io.netty.handler.codec.http.HttpMethod.GET; -import static io.netty.handler.codec.http.HttpMethod.POST; -import static io.netty.handler.codec.http.HttpMethod.PUT; -import static io.netty.handler.codec.http.HttpResponseStatus.CREATED; -import static io.netty.handler.codec.http.HttpResponseStatus.NO_CONTENT; -import static io.netty.handler.codec.http.HttpResponseStatus.OK; - public final class ReactorUsersTest extends AbstractClientApiTest { - private final ReactorUsers users = new ReactorUsers(CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); + private final ReactorUsers users = + new ReactorUsers(CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); @Test public void associateAuditedOrganization() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(PUT).path("/users/uaa-id-295/audited_organizations/52c32226-3446-4212-929a-c3b67d36f657") - .build()) - .response(TestResponse.builder() - .status(CREATED) - .payload("fixtures/client/v2/users/PUT_{id}_audited_organizations_{id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(PUT) + .path( + "/users/uaa-id-295/audited_organizations/52c32226-3446-4212-929a-c3b67d36f657") + .build()) + .response( + TestResponse.builder() + .status(CREATED) + .payload( + "fixtures/client/v2/users/PUT_{id}_audited_organizations_{id}_response.json") + .build()) + .build()); this.users - .associateAuditedOrganization(AssociateUserAuditedOrganizationRequest.builder() - .auditedOrganizationId("52c32226-3446-4212-929a-c3b67d36f657") - .userId("uaa-id-295") - .build()) - .as(StepVerifier::create) - .expectNext(AssociateUserAuditedOrganizationResponse.builder() - .metadata(Metadata.builder() - .createdAt("2016-06-08T16:41:36Z") - .id("uaa-id-295") - .updatedAt("2016-06-08T16:41:26Z") - .url("/v2/users/uaa-id-295") - .build()) - .entity(UserEntity.builder() - .active(false) - .admin(false) - .auditedOrganizationsUrl("/v2/users/uaa-id-295/audited_organizations") - .auditedSpacesUrl("/v2/users/uaa-id-295/audited_spaces") - .billingManagedOrganizationsUrl("/v2/users/uaa-id-295/billing_managed_organizations") - .defaultSpaceId("aa72aeb6-25aa-4cdc-9ef7-9231fe5b136d") - .defaultSpaceUrl("/v2/spaces/aa72aeb6-25aa-4cdc-9ef7-9231fe5b136d") - .managedOrganizationsUrl("/v2/users/uaa-id-295/managed_organizations") - .managedSpacesUrl("/v2/users/uaa-id-295/managed_spaces") - .organizationsUrl("/v2/users/uaa-id-295/organizations") - .spacesUrl("/v2/users/uaa-id-295/spaces") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .associateAuditedOrganization( + AssociateUserAuditedOrganizationRequest.builder() + .auditedOrganizationId("52c32226-3446-4212-929a-c3b67d36f657") + .userId("uaa-id-295") + .build()) + .as(StepVerifier::create) + .expectNext( + AssociateUserAuditedOrganizationResponse.builder() + .metadata( + Metadata.builder() + .createdAt("2016-06-08T16:41:36Z") + .id("uaa-id-295") + .updatedAt("2016-06-08T16:41:26Z") + .url("/v2/users/uaa-id-295") + .build()) + .entity( + UserEntity.builder() + .active(false) + .admin(false) + .auditedOrganizationsUrl( + "/v2/users/uaa-id-295/audited_organizations") + .auditedSpacesUrl( + "/v2/users/uaa-id-295/audited_spaces") + .billingManagedOrganizationsUrl( + "/v2/users/uaa-id-295/billing_managed_organizations") + .defaultSpaceId( + "aa72aeb6-25aa-4cdc-9ef7-9231fe5b136d") + .defaultSpaceUrl( + "/v2/spaces/aa72aeb6-25aa-4cdc-9ef7-9231fe5b136d") + .managedOrganizationsUrl( + "/v2/users/uaa-id-295/managed_organizations") + .managedSpacesUrl( + "/v2/users/uaa-id-295/managed_spaces") + .organizationsUrl( + "/v2/users/uaa-id-295/organizations") + .spacesUrl("/v2/users/uaa-id-295/spaces") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void associateAuditedSpace() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(PUT).path("/users/uaa-id-280/audited_spaces/012602a2-98d7-4ab7-a766-bdf5a841c2d4") - .build()) - .response(TestResponse.builder() - .status(CREATED) - .payload("fixtures/client/v2/users/PUT_{id}_audited_spaces_{id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(PUT) + .path( + "/users/uaa-id-280/audited_spaces/012602a2-98d7-4ab7-a766-bdf5a841c2d4") + .build()) + .response( + TestResponse.builder() + .status(CREATED) + .payload( + "fixtures/client/v2/users/PUT_{id}_audited_spaces_{id}_response.json") + .build()) + .build()); this.users - .associateAuditedSpace(AssociateUserAuditedSpaceRequest.builder() - .auditedSpaceId("012602a2-98d7-4ab7-a766-bdf5a841c2d4") - .userId("uaa-id-280") - .build()) - .as(StepVerifier::create) - .expectNext(AssociateUserAuditedSpaceResponse.builder() - .metadata(Metadata.builder() - .createdAt("2016-06-08T16:41:36Z") - .id("uaa-id-280") - .updatedAt("2016-06-08T16:41:26Z") - .url("/v2/users/uaa-id-280") - .build()) - .entity(UserEntity.builder() - .active(false) - .admin(false) - .auditedOrganizationsUrl("/v2/users/uaa-id-280/audited_organizations") - .auditedSpacesUrl("/v2/users/uaa-id-280/audited_spaces") - .billingManagedOrganizationsUrl("/v2/users/uaa-id-280/billing_managed_organizations") - .defaultSpaceId("06ed47f7-656a-4f31-8b3a-b0bdaaafc826") - .defaultSpaceUrl("/v2/spaces/06ed47f7-656a-4f31-8b3a-b0bdaaafc826") - .managedOrganizationsUrl("/v2/users/uaa-id-280/managed_organizations") - .managedSpacesUrl("/v2/users/uaa-id-280/managed_spaces") - .organizationsUrl("/v2/users/uaa-id-280/organizations") - .spacesUrl("/v2/users/uaa-id-280/spaces") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .associateAuditedSpace( + AssociateUserAuditedSpaceRequest.builder() + .auditedSpaceId("012602a2-98d7-4ab7-a766-bdf5a841c2d4") + .userId("uaa-id-280") + .build()) + .as(StepVerifier::create) + .expectNext( + AssociateUserAuditedSpaceResponse.builder() + .metadata( + Metadata.builder() + .createdAt("2016-06-08T16:41:36Z") + .id("uaa-id-280") + .updatedAt("2016-06-08T16:41:26Z") + .url("/v2/users/uaa-id-280") + .build()) + .entity( + UserEntity.builder() + .active(false) + .admin(false) + .auditedOrganizationsUrl( + "/v2/users/uaa-id-280/audited_organizations") + .auditedSpacesUrl( + "/v2/users/uaa-id-280/audited_spaces") + .billingManagedOrganizationsUrl( + "/v2/users/uaa-id-280/billing_managed_organizations") + .defaultSpaceId( + "06ed47f7-656a-4f31-8b3a-b0bdaaafc826") + .defaultSpaceUrl( + "/v2/spaces/06ed47f7-656a-4f31-8b3a-b0bdaaafc826") + .managedOrganizationsUrl( + "/v2/users/uaa-id-280/managed_organizations") + .managedSpacesUrl( + "/v2/users/uaa-id-280/managed_spaces") + .organizationsUrl( + "/v2/users/uaa-id-280/organizations") + .spacesUrl("/v2/users/uaa-id-280/spaces") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void associateBillingManagedOrganization() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(PUT).path("/users/uaa-id-272/billing_managed_organizations/d0b087e3-cd43-4f3c-ba09-c00556976b1c") - .build()) - .response(TestResponse.builder() - .status(CREATED) - .payload("fixtures/client/v2/users/PUT_{id}_billing_managed_organizations_{id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(PUT) + .path( + "/users/uaa-id-272/billing_managed_organizations/d0b087e3-cd43-4f3c-ba09-c00556976b1c") + .build()) + .response( + TestResponse.builder() + .status(CREATED) + .payload( + "fixtures/client/v2/users/PUT_{id}_billing_managed_organizations_{id}_response.json") + .build()) + .build()); this.users - .associateBillingManagedOrganization(AssociateUserBillingManagedOrganizationRequest.builder() - .billingManagedOrganizationId("d0b087e3-cd43-4f3c-ba09-c00556976b1c") - .userId("uaa-id-272") - .build()) - .as(StepVerifier::create) - .expectNext(AssociateUserBillingManagedOrganizationResponse.builder() - .metadata(Metadata.builder() - .createdAt("2016-06-08T16:41:36Z") - .id("uaa-id-272") - .updatedAt("2016-06-08T16:41:26Z") - .url("/v2/users/uaa-id-272") - .build()) - .entity(UserEntity.builder() - .active(false) - .admin(false) - .auditedOrganizationsUrl("/v2/users/uaa-id-272/audited_organizations") - .auditedSpacesUrl("/v2/users/uaa-id-272/audited_spaces") - .billingManagedOrganizationsUrl("/v2/users/uaa-id-272/billing_managed_organizations") - .defaultSpaceId("a1e2a260-adeb-4689-b118-05d359c51fd7") - .defaultSpaceUrl("/v2/spaces/a1e2a260-adeb-4689-b118-05d359c51fd7") - .managedOrganizationsUrl("/v2/users/uaa-id-272/managed_organizations") - .managedSpacesUrl("/v2/users/uaa-id-272/managed_spaces") - .organizationsUrl("/v2/users/uaa-id-272/organizations") - .spacesUrl("/v2/users/uaa-id-272/spaces") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .associateBillingManagedOrganization( + AssociateUserBillingManagedOrganizationRequest.builder() + .billingManagedOrganizationId( + "d0b087e3-cd43-4f3c-ba09-c00556976b1c") + .userId("uaa-id-272") + .build()) + .as(StepVerifier::create) + .expectNext( + AssociateUserBillingManagedOrganizationResponse.builder() + .metadata( + Metadata.builder() + .createdAt("2016-06-08T16:41:36Z") + .id("uaa-id-272") + .updatedAt("2016-06-08T16:41:26Z") + .url("/v2/users/uaa-id-272") + .build()) + .entity( + UserEntity.builder() + .active(false) + .admin(false) + .auditedOrganizationsUrl( + "/v2/users/uaa-id-272/audited_organizations") + .auditedSpacesUrl( + "/v2/users/uaa-id-272/audited_spaces") + .billingManagedOrganizationsUrl( + "/v2/users/uaa-id-272/billing_managed_organizations") + .defaultSpaceId( + "a1e2a260-adeb-4689-b118-05d359c51fd7") + .defaultSpaceUrl( + "/v2/spaces/a1e2a260-adeb-4689-b118-05d359c51fd7") + .managedOrganizationsUrl( + "/v2/users/uaa-id-272/managed_organizations") + .managedSpacesUrl( + "/v2/users/uaa-id-272/managed_spaces") + .organizationsUrl( + "/v2/users/uaa-id-272/organizations") + .spacesUrl("/v2/users/uaa-id-272/spaces") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void associateManagedOrganization() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(PUT).path("/users/uaa-id-287/managed_organizations/97e1bd4a-828e-4edf-b140-506533d4008e") - .build()) - .response(TestResponse.builder() - .status(CREATED) - .payload("fixtures/client/v2/users/PUT_{id}_managed_organizations_{id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(PUT) + .path( + "/users/uaa-id-287/managed_organizations/97e1bd4a-828e-4edf-b140-506533d4008e") + .build()) + .response( + TestResponse.builder() + .status(CREATED) + .payload( + "fixtures/client/v2/users/PUT_{id}_managed_organizations_{id}_response.json") + .build()) + .build()); this.users - .associateManagedOrganization(AssociateUserManagedOrganizationRequest.builder() - .managedOrganizationId("97e1bd4a-828e-4edf-b140-506533d4008e") - .userId("uaa-id-287") - .build()) - .as(StepVerifier::create) - .expectNext(AssociateUserManagedOrganizationResponse.builder() - .metadata(Metadata.builder() - .createdAt("2016-06-08T16:41:36Z") - .id("uaa-id-287") - .updatedAt("2016-06-08T16:41:26Z") - .url("/v2/users/uaa-id-287") - .build()) - .entity(UserEntity.builder() - .active(false) - .admin(false) - .auditedOrganizationsUrl("/v2/users/uaa-id-287/audited_organizations") - .auditedSpacesUrl("/v2/users/uaa-id-287/audited_spaces") - .billingManagedOrganizationsUrl("/v2/users/uaa-id-287/billing_managed_organizations") - .defaultSpaceId("2becd2d1-62ee-472e-a66f-bea5d9f0dc53") - .defaultSpaceUrl("/v2/spaces/2becd2d1-62ee-472e-a66f-bea5d9f0dc53") - .managedOrganizationsUrl("/v2/users/uaa-id-287/managed_organizations") - .managedSpacesUrl("/v2/users/uaa-id-287/managed_spaces") - .organizationsUrl("/v2/users/uaa-id-287/organizations") - .spacesUrl("/v2/users/uaa-id-287/spaces") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .associateManagedOrganization( + AssociateUserManagedOrganizationRequest.builder() + .managedOrganizationId("97e1bd4a-828e-4edf-b140-506533d4008e") + .userId("uaa-id-287") + .build()) + .as(StepVerifier::create) + .expectNext( + AssociateUserManagedOrganizationResponse.builder() + .metadata( + Metadata.builder() + .createdAt("2016-06-08T16:41:36Z") + .id("uaa-id-287") + .updatedAt("2016-06-08T16:41:26Z") + .url("/v2/users/uaa-id-287") + .build()) + .entity( + UserEntity.builder() + .active(false) + .admin(false) + .auditedOrganizationsUrl( + "/v2/users/uaa-id-287/audited_organizations") + .auditedSpacesUrl( + "/v2/users/uaa-id-287/audited_spaces") + .billingManagedOrganizationsUrl( + "/v2/users/uaa-id-287/billing_managed_organizations") + .defaultSpaceId( + "2becd2d1-62ee-472e-a66f-bea5d9f0dc53") + .defaultSpaceUrl( + "/v2/spaces/2becd2d1-62ee-472e-a66f-bea5d9f0dc53") + .managedOrganizationsUrl( + "/v2/users/uaa-id-287/managed_organizations") + .managedSpacesUrl( + "/v2/users/uaa-id-287/managed_spaces") + .organizationsUrl( + "/v2/users/uaa-id-287/organizations") + .spacesUrl("/v2/users/uaa-id-287/spaces") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void associateManagedSpace() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(PUT).path("/users/uaa-id-268/managed_spaces/b133899a-c3ea-451b-adaa-f8e2174cbfec") - .build()) - .response(TestResponse.builder() - .status(CREATED) - .payload("fixtures/client/v2/users/PUT_{id}_managed_spaces_{id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(PUT) + .path( + "/users/uaa-id-268/managed_spaces/b133899a-c3ea-451b-adaa-f8e2174cbfec") + .build()) + .response( + TestResponse.builder() + .status(CREATED) + .payload( + "fixtures/client/v2/users/PUT_{id}_managed_spaces_{id}_response.json") + .build()) + .build()); this.users - .associateManagedSpace(AssociateUserManagedSpaceRequest.builder() - .managedSpaceId("b133899a-c3ea-451b-adaa-f8e2174cbfec") - .userId("uaa-id-268") - .build()) - .as(StepVerifier::create) - .expectNext(AssociateUserManagedSpaceResponse.builder() - .metadata(Metadata.builder() - .createdAt("2016-06-08T16:41:35Z") - .id("uaa-id-268") - .updatedAt("2016-06-08T16:41:26Z") - .url("/v2/users/uaa-id-268") - .build()) - .entity(UserEntity.builder() - .active(false) - .admin(false) - .auditedOrganizationsUrl("/v2/users/uaa-id-268/audited_organizations") - .auditedSpacesUrl("/v2/users/uaa-id-268/audited_spaces") - .billingManagedOrganizationsUrl("/v2/users/uaa-id-268/billing_managed_organizations") - .defaultSpaceId("81d79071-61db-43d7-86d3-8f885d14fd4e") - .defaultSpaceUrl("/v2/spaces/81d79071-61db-43d7-86d3-8f885d14fd4e") - .managedOrganizationsUrl("/v2/users/uaa-id-268/managed_organizations") - .managedSpacesUrl("/v2/users/uaa-id-268/managed_spaces") - .organizationsUrl("/v2/users/uaa-id-268/organizations") - .spacesUrl("/v2/users/uaa-id-268/spaces") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .associateManagedSpace( + AssociateUserManagedSpaceRequest.builder() + .managedSpaceId("b133899a-c3ea-451b-adaa-f8e2174cbfec") + .userId("uaa-id-268") + .build()) + .as(StepVerifier::create) + .expectNext( + AssociateUserManagedSpaceResponse.builder() + .metadata( + Metadata.builder() + .createdAt("2016-06-08T16:41:35Z") + .id("uaa-id-268") + .updatedAt("2016-06-08T16:41:26Z") + .url("/v2/users/uaa-id-268") + .build()) + .entity( + UserEntity.builder() + .active(false) + .admin(false) + .auditedOrganizationsUrl( + "/v2/users/uaa-id-268/audited_organizations") + .auditedSpacesUrl( + "/v2/users/uaa-id-268/audited_spaces") + .billingManagedOrganizationsUrl( + "/v2/users/uaa-id-268/billing_managed_organizations") + .defaultSpaceId( + "81d79071-61db-43d7-86d3-8f885d14fd4e") + .defaultSpaceUrl( + "/v2/spaces/81d79071-61db-43d7-86d3-8f885d14fd4e") + .managedOrganizationsUrl( + "/v2/users/uaa-id-268/managed_organizations") + .managedSpacesUrl( + "/v2/users/uaa-id-268/managed_spaces") + .organizationsUrl( + "/v2/users/uaa-id-268/organizations") + .spacesUrl("/v2/users/uaa-id-268/spaces") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void associateOrganization() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(PUT).path("/users/uaa-id-301/organizations/2f0bb84e-5229-4dd4-b053-855910833d2a") - .build()) - .response(TestResponse.builder() - .status(CREATED) - .payload("fixtures/client/v2/users/PUT_{id}_organizations_{id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(PUT) + .path( + "/users/uaa-id-301/organizations/2f0bb84e-5229-4dd4-b053-855910833d2a") + .build()) + .response( + TestResponse.builder() + .status(CREATED) + .payload( + "fixtures/client/v2/users/PUT_{id}_organizations_{id}_response.json") + .build()) + .build()); this.users - .associateOrganization(AssociateUserOrganizationRequest.builder() - .organizationId("2f0bb84e-5229-4dd4-b053-855910833d2a") - .userId("uaa-id-301") - .build()) - .as(StepVerifier::create) - .expectNext(AssociateUserOrganizationResponse.builder() - .metadata(Metadata.builder() - .createdAt("2016-06-08T16:41:36Z") - .id("uaa-id-301") - .updatedAt("2016-06-08T16:41:26Z") - .url("/v2/users/uaa-id-301") - .build()) - .entity(UserEntity.builder() - .active(false) - .admin(false) - .auditedOrganizationsUrl("/v2/users/uaa-id-301/audited_organizations") - .auditedSpacesUrl("/v2/users/uaa-id-301/audited_spaces") - .billingManagedOrganizationsUrl("/v2/users/uaa-id-301/billing_managed_organizations") - .defaultSpaceId("10db6c03-3e24-4a2a-b311-a28b541376f1") - .defaultSpaceUrl("/v2/spaces/10db6c03-3e24-4a2a-b311-a28b541376f1") - .managedOrganizationsUrl("/v2/users/uaa-id-301/managed_organizations") - .managedSpacesUrl("/v2/users/uaa-id-301/managed_spaces") - .organizationsUrl("/v2/users/uaa-id-301/organizations") - .spacesUrl("/v2/users/uaa-id-301/spaces") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .associateOrganization( + AssociateUserOrganizationRequest.builder() + .organizationId("2f0bb84e-5229-4dd4-b053-855910833d2a") + .userId("uaa-id-301") + .build()) + .as(StepVerifier::create) + .expectNext( + AssociateUserOrganizationResponse.builder() + .metadata( + Metadata.builder() + .createdAt("2016-06-08T16:41:36Z") + .id("uaa-id-301") + .updatedAt("2016-06-08T16:41:26Z") + .url("/v2/users/uaa-id-301") + .build()) + .entity( + UserEntity.builder() + .active(false) + .admin(false) + .auditedOrganizationsUrl( + "/v2/users/uaa-id-301/audited_organizations") + .auditedSpacesUrl( + "/v2/users/uaa-id-301/audited_spaces") + .billingManagedOrganizationsUrl( + "/v2/users/uaa-id-301/billing_managed_organizations") + .defaultSpaceId( + "10db6c03-3e24-4a2a-b311-a28b541376f1") + .defaultSpaceUrl( + "/v2/spaces/10db6c03-3e24-4a2a-b311-a28b541376f1") + .managedOrganizationsUrl( + "/v2/users/uaa-id-301/managed_organizations") + .managedSpacesUrl( + "/v2/users/uaa-id-301/managed_spaces") + .organizationsUrl( + "/v2/users/uaa-id-301/organizations") + .spacesUrl("/v2/users/uaa-id-301/spaces") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void associateSpace() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(PUT).path("/users/uaa-id-305/spaces/063d1561-16ab-4ece-825d-30e3814f4e2f") - .build()) - .response(TestResponse.builder() - .status(CREATED) - .payload("fixtures/client/v2/users/PUT_{id}_spaces_{id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(PUT) + .path( + "/users/uaa-id-305/spaces/063d1561-16ab-4ece-825d-30e3814f4e2f") + .build()) + .response( + TestResponse.builder() + .status(CREATED) + .payload( + "fixtures/client/v2/users/PUT_{id}_spaces_{id}_response.json") + .build()) + .build()); this.users - .associateSpace(AssociateUserSpaceRequest.builder() - .spaceId("063d1561-16ab-4ece-825d-30e3814f4e2f") - .userId("uaa-id-305") - .build()) - .as(StepVerifier::create) - .expectNext(AssociateUserSpaceResponse.builder() - .metadata(Metadata.builder() - .createdAt("2016-06-08T16:41:36Z") - .id("uaa-id-305") - .updatedAt("2016-06-08T16:41:26Z") - .url("/v2/users/uaa-id-305") - .build()) - .entity(UserEntity.builder() - .active(false) - .admin(false) - .auditedOrganizationsUrl("/v2/users/uaa-id-305/audited_organizations") - .auditedSpacesUrl("/v2/users/uaa-id-305/audited_spaces") - .billingManagedOrganizationsUrl("/v2/users/uaa-id-305/billing_managed_organizations") - .defaultSpaceId("063d1561-16ab-4ece-825d-30e3814f4e2f") - .defaultSpaceUrl("/v2/spaces/063d1561-16ab-4ece-825d-30e3814f4e2f") - .managedOrganizationsUrl("/v2/users/uaa-id-305/managed_organizations") - .managedSpacesUrl("/v2/users/uaa-id-305/managed_spaces") - .organizationsUrl("/v2/users/uaa-id-305/organizations") - .spacesUrl("/v2/users/uaa-id-305/spaces") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .associateSpace( + AssociateUserSpaceRequest.builder() + .spaceId("063d1561-16ab-4ece-825d-30e3814f4e2f") + .userId("uaa-id-305") + .build()) + .as(StepVerifier::create) + .expectNext( + AssociateUserSpaceResponse.builder() + .metadata( + Metadata.builder() + .createdAt("2016-06-08T16:41:36Z") + .id("uaa-id-305") + .updatedAt("2016-06-08T16:41:26Z") + .url("/v2/users/uaa-id-305") + .build()) + .entity( + UserEntity.builder() + .active(false) + .admin(false) + .auditedOrganizationsUrl( + "/v2/users/uaa-id-305/audited_organizations") + .auditedSpacesUrl( + "/v2/users/uaa-id-305/audited_spaces") + .billingManagedOrganizationsUrl( + "/v2/users/uaa-id-305/billing_managed_organizations") + .defaultSpaceId( + "063d1561-16ab-4ece-825d-30e3814f4e2f") + .defaultSpaceUrl( + "/v2/spaces/063d1561-16ab-4ece-825d-30e3814f4e2f") + .managedOrganizationsUrl( + "/v2/users/uaa-id-305/managed_organizations") + .managedSpacesUrl( + "/v2/users/uaa-id-305/managed_spaces") + .organizationsUrl( + "/v2/users/uaa-id-305/organizations") + .spacesUrl("/v2/users/uaa-id-305/spaces") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void create() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(POST).path("/users") - .payload("fixtures/client/v2/users/POST_request.json") - .build()) - .response(TestResponse.builder() - .status(CREATED) - .payload("fixtures/client/v2/users/POST_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(POST) + .path("/users") + .payload("fixtures/client/v2/users/POST_request.json") + .build()) + .response( + TestResponse.builder() + .status(CREATED) + .payload("fixtures/client/v2/users/POST_response.json") + .build()) + .build()); this.users - .create(CreateUserRequest.builder() - .uaaId("guid-cb24b36d-4656-468e-a50d-b53113ac6177") - .build()) - .as(StepVerifier::create) - .expectNext(CreateUserResponse.builder() - .metadata(Metadata.builder() - .createdAt("2016-06-08T16:41:37Z") - .id("guid-cb24b36d-4656-468e-a50d-b53113ac6177") - .updatedAt("2016-06-08T16:41:26Z") - .url("/v2/users/guid-cb24b36d-4656-468e-a50d-b53113ac6177") - .build()) - .entity(UserEntity.builder() - .admin(false) - .active(false) - .auditedOrganizationsUrl("/v2/users/guid-cb24b36d-4656-468e-a50d-b53113ac6177/audited_organizations") - .auditedSpacesUrl("/v2/users/guid-cb24b36d-4656-468e-a50d-b53113ac6177/audited_spaces") - .billingManagedOrganizationsUrl("/v2/users/guid-cb24b36d-4656-468e-a50d-b53113ac6177/billing_managed_organizations") - .managedOrganizationsUrl("/v2/users/guid-cb24b36d-4656-468e-a50d-b53113ac6177/managed_organizations") - .managedSpacesUrl("/v2/users/guid-cb24b36d-4656-468e-a50d-b53113ac6177/managed_spaces") - .organizationsUrl("/v2/users/guid-cb24b36d-4656-468e-a50d-b53113ac6177/organizations") - .spacesUrl("/v2/users/guid-cb24b36d-4656-468e-a50d-b53113ac6177/spaces") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .create( + CreateUserRequest.builder() + .uaaId("guid-cb24b36d-4656-468e-a50d-b53113ac6177") + .build()) + .as(StepVerifier::create) + .expectNext( + CreateUserResponse.builder() + .metadata( + Metadata.builder() + .createdAt("2016-06-08T16:41:37Z") + .id("guid-cb24b36d-4656-468e-a50d-b53113ac6177") + .updatedAt("2016-06-08T16:41:26Z") + .url( + "/v2/users/guid-cb24b36d-4656-468e-a50d-b53113ac6177") + .build()) + .entity( + UserEntity.builder() + .admin(false) + .active(false) + .auditedOrganizationsUrl( + "/v2/users/guid-cb24b36d-4656-468e-a50d-b53113ac6177/audited_organizations") + .auditedSpacesUrl( + "/v2/users/guid-cb24b36d-4656-468e-a50d-b53113ac6177/audited_spaces") + .billingManagedOrganizationsUrl( + "/v2/users/guid-cb24b36d-4656-468e-a50d-b53113ac6177/billing_managed_organizations") + .managedOrganizationsUrl( + "/v2/users/guid-cb24b36d-4656-468e-a50d-b53113ac6177/managed_organizations") + .managedSpacesUrl( + "/v2/users/guid-cb24b36d-4656-468e-a50d-b53113ac6177/managed_spaces") + .organizationsUrl( + "/v2/users/guid-cb24b36d-4656-468e-a50d-b53113ac6177/organizations") + .spacesUrl( + "/v2/users/guid-cb24b36d-4656-468e-a50d-b53113ac6177/spaces") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void delete() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(DELETE).path("/users/uaa-id-319") - .build()) - .response(TestResponse.builder() - .status(NO_CONTENT) - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(DELETE) + .path("/users/uaa-id-319") + .build()) + .response(TestResponse.builder().status(NO_CONTENT).build()) + .build()); this.users - .delete(DeleteUserRequest.builder() - .userId("uaa-id-319") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .delete(DeleteUserRequest.builder().userId("uaa-id-319").build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void get() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/users/uaa-id-317") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/users/GET_{id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder().method(GET).path("/users/uaa-id-317").build()) + .response( + TestResponse.builder() + .status(OK) + .payload("fixtures/client/v2/users/GET_{id}_response.json") + .build()) + .build()); this.users - .get(GetUserRequest.builder() - .userId("uaa-id-317") - .build()) - .as(StepVerifier::create) - .expectNext(GetUserResponse.builder() - .metadata(Metadata.builder() - .createdAt("2016-06-08T16:41:37Z") - .id("uaa-id-317") - .updatedAt("2016-06-08T16:41:26Z") - .url("/v2/users/uaa-id-317") - .build()) - .entity(UserEntity.builder() - .active(false) - .admin(false) - .auditedOrganizationsUrl("/v2/users/uaa-id-317/audited_organizations") - .auditedSpacesUrl("/v2/users/uaa-id-317/audited_spaces") - .billingManagedOrganizationsUrl("/v2/users/uaa-id-317/billing_managed_organizations") - .defaultSpaceUrl("/v2/spaces/fc898723-2192-42d9-9567-c0b2e03a3169") - .defaultSpaceId("fc898723-2192-42d9-9567-c0b2e03a3169") - .managedOrganizationsUrl("/v2/users/uaa-id-317/managed_organizations") - .managedSpacesUrl("/v2/users/uaa-id-317/managed_spaces") - .organizationsUrl("/v2/users/uaa-id-317/organizations") - .spacesUrl("/v2/users/uaa-id-317/spaces") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .get(GetUserRequest.builder().userId("uaa-id-317").build()) + .as(StepVerifier::create) + .expectNext( + GetUserResponse.builder() + .metadata( + Metadata.builder() + .createdAt("2016-06-08T16:41:37Z") + .id("uaa-id-317") + .updatedAt("2016-06-08T16:41:26Z") + .url("/v2/users/uaa-id-317") + .build()) + .entity( + UserEntity.builder() + .active(false) + .admin(false) + .auditedOrganizationsUrl( + "/v2/users/uaa-id-317/audited_organizations") + .auditedSpacesUrl( + "/v2/users/uaa-id-317/audited_spaces") + .billingManagedOrganizationsUrl( + "/v2/users/uaa-id-317/billing_managed_organizations") + .defaultSpaceUrl( + "/v2/spaces/fc898723-2192-42d9-9567-c0b2e03a3169") + .defaultSpaceId( + "fc898723-2192-42d9-9567-c0b2e03a3169") + .managedOrganizationsUrl( + "/v2/users/uaa-id-317/managed_organizations") + .managedSpacesUrl( + "/v2/users/uaa-id-317/managed_spaces") + .organizationsUrl( + "/v2/users/uaa-id-317/organizations") + .spacesUrl("/v2/users/uaa-id-317/spaces") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void list() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/users?page=-1") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/users/GET_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request(TestRequest.builder().method(GET).path("/users?page=-1").build()) + .response( + TestResponse.builder() + .status(OK) + .payload("fixtures/client/v2/users/GET_response.json") + .build()) + .build()); this.users - .list(ListUsersRequest.builder() - .page(-1) - .build()) - .as(StepVerifier::create) - .expectNext(ListUsersResponse.builder() - .totalResults(2) - .totalPages(1) - .resource(UserResource.builder() - .metadata(Metadata.builder() - .createdAt("2015-12-22T18:28:01Z") - .id("uaa-id-133") - .url("/v2/users/uaa-id-133") - .build()) - .entity(UserEntity.builder() - .active(false) - .admin(false) - .auditedOrganizationsUrl("/v2/users/uaa-id-133/audited_organizations") - .auditedSpacesUrl("/v2/users/uaa-id-133/audited_spaces") - .billingManagedOrganizationsUrl("/v2/users/uaa-id-133/billing_managed_organizations") - .defaultSpaceUrl("/v2/spaces/55b306f6-b956-4c85-a7dc-64358121d39e") - .defaultSpaceId("55b306f6-b956-4c85-a7dc-64358121d39e") - .managedOrganizationsUrl("/v2/users/uaa-id-133/managed_organizations") - .managedSpacesUrl("/v2/users/uaa-id-133/managed_spaces") - .organizationsUrl("/v2/users/uaa-id-133/organizations") - .spacesUrl("/v2/users/uaa-id-133/spaces") - .username("user@example.com") - .build()) - .build()) - .resource(UserResource.builder() - .metadata(Metadata.builder() - .createdAt("2015-12-22T18:28:01Z") - .id("uaa-id-134") - .url("/v2/users/uaa-id-134") - .build()) - .entity(UserEntity.builder() - .active(true) - .admin(false) - .auditedOrganizationsUrl("/v2/users/uaa-id-134/audited_organizations") - .auditedSpacesUrl("/v2/users/uaa-id-134/audited_spaces") - .billingManagedOrganizationsUrl("/v2/users/uaa-id-134/billing_managed_organizations") - .managedOrganizationsUrl("/v2/users/uaa-id-134/managed_organizations") - .managedSpacesUrl("/v2/users/uaa-id-134/managed_spaces") - .organizationsUrl("/v2/users/uaa-id-134/organizations") - .spacesUrl("/v2/users/uaa-id-134/spaces") - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .list(ListUsersRequest.builder().page(-1).build()) + .as(StepVerifier::create) + .expectNext( + ListUsersResponse.builder() + .totalResults(2) + .totalPages(1) + .resource( + UserResource.builder() + .metadata( + Metadata.builder() + .createdAt("2015-12-22T18:28:01Z") + .id("uaa-id-133") + .url("/v2/users/uaa-id-133") + .build()) + .entity( + UserEntity.builder() + .active(false) + .admin(false) + .auditedOrganizationsUrl( + "/v2/users/uaa-id-133/audited_organizations") + .auditedSpacesUrl( + "/v2/users/uaa-id-133/audited_spaces") + .billingManagedOrganizationsUrl( + "/v2/users/uaa-id-133/billing_managed_organizations") + .defaultSpaceUrl( + "/v2/spaces/55b306f6-b956-4c85-a7dc-64358121d39e") + .defaultSpaceId( + "55b306f6-b956-4c85-a7dc-64358121d39e") + .managedOrganizationsUrl( + "/v2/users/uaa-id-133/managed_organizations") + .managedSpacesUrl( + "/v2/users/uaa-id-133/managed_spaces") + .organizationsUrl( + "/v2/users/uaa-id-133/organizations") + .spacesUrl( + "/v2/users/uaa-id-133/spaces") + .username("user@example.com") + .build()) + .build()) + .resource( + UserResource.builder() + .metadata( + Metadata.builder() + .createdAt("2015-12-22T18:28:01Z") + .id("uaa-id-134") + .url("/v2/users/uaa-id-134") + .build()) + .entity( + UserEntity.builder() + .active(true) + .admin(false) + .auditedOrganizationsUrl( + "/v2/users/uaa-id-134/audited_organizations") + .auditedSpacesUrl( + "/v2/users/uaa-id-134/audited_spaces") + .billingManagedOrganizationsUrl( + "/v2/users/uaa-id-134/billing_managed_organizations") + .managedOrganizationsUrl( + "/v2/users/uaa-id-134/managed_organizations") + .managedSpacesUrl( + "/v2/users/uaa-id-134/managed_spaces") + .organizationsUrl( + "/v2/users/uaa-id-134/organizations") + .spacesUrl( + "/v2/users/uaa-id-134/spaces") + .build()) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void listAuditedOrganizations() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/users/uaa-id-297/audited_organizations") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/users/GET_{id}_audited_organizations_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/users/uaa-id-297/audited_organizations") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/users/GET_{id}_audited_organizations_response.json") + .build()) + .build()); this.users - .listAuditedOrganizations(ListUserAuditedOrganizationsRequest.builder() - .userId("uaa-id-297") - .build()) - .as(StepVerifier::create) - .expectNext(ListUserAuditedOrganizationsResponse.builder() - .totalResults(1) - .totalPages(1) - .resource(OrganizationResource.builder() - .metadata(Metadata.builder() - .createdAt("2016-06-08T16:41:36Z") - .id("3ced0de5-e2ce-403e-9706-17e2035947b4") - .updatedAt("2016-06-08T16:41:26Z") - .url("/v2/organizations/3ced0de5-e2ce-403e-9706-17e2035947b4") - .build()) - .entity(OrganizationEntity.builder() - .applicationEventsUrl("/v2/organizations/3ced0de5-e2ce-403e-9706-17e2035947b4/app_events") - .auditorsUrl("/v2/organizations/3ced0de5-e2ce-403e-9706-17e2035947b4/auditors") - .billingEnabled(false) - .billingManagersUrl("/v2/organizations/3ced0de5-e2ce-403e-9706-17e2035947b4/billing_managers") - .domainsUrl("/v2/organizations/3ced0de5-e2ce-403e-9706-17e2035947b4/domains") - .managersUrl("/v2/organizations/3ced0de5-e2ce-403e-9706-17e2035947b4/managers") - .name("name-1914") - .privateDomainsUrl("/v2/organizations/3ced0de5-e2ce-403e-9706-17e2035947b4/private_domains") - .quotaDefinitionId("8eb22221-a9ec-4345-a2a0-4a7e816ca689") - .quotaDefinitionUrl("/v2/quota_definitions/8eb22221-a9ec-4345-a2a0-4a7e816ca689") - .spaceQuotaDefinitionsUrl("/v2/organizations/3ced0de5-e2ce-403e-9706-17e2035947b4/space_quota_definitions") - .spacesUrl("/v2/organizations/3ced0de5-e2ce-403e-9706-17e2035947b4/spaces") - .status("active") - .usersUrl("/v2/organizations/3ced0de5-e2ce-403e-9706-17e2035947b4/users") - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .listAuditedOrganizations( + ListUserAuditedOrganizationsRequest.builder().userId("uaa-id-297").build()) + .as(StepVerifier::create) + .expectNext( + ListUserAuditedOrganizationsResponse.builder() + .totalResults(1) + .totalPages(1) + .resource( + OrganizationResource.builder() + .metadata( + Metadata.builder() + .createdAt("2016-06-08T16:41:36Z") + .id( + "3ced0de5-e2ce-403e-9706-17e2035947b4") + .updatedAt("2016-06-08T16:41:26Z") + .url( + "/v2/organizations/3ced0de5-e2ce-403e-9706-17e2035947b4") + .build()) + .entity( + OrganizationEntity.builder() + .applicationEventsUrl( + "/v2/organizations/3ced0de5-e2ce-403e-9706-17e2035947b4/app_events") + .auditorsUrl( + "/v2/organizations/3ced0de5-e2ce-403e-9706-17e2035947b4/auditors") + .billingEnabled(false) + .billingManagersUrl( + "/v2/organizations/3ced0de5-e2ce-403e-9706-17e2035947b4/billing_managers") + .domainsUrl( + "/v2/organizations/3ced0de5-e2ce-403e-9706-17e2035947b4/domains") + .managersUrl( + "/v2/organizations/3ced0de5-e2ce-403e-9706-17e2035947b4/managers") + .name("name-1914") + .privateDomainsUrl( + "/v2/organizations/3ced0de5-e2ce-403e-9706-17e2035947b4/private_domains") + .quotaDefinitionId( + "8eb22221-a9ec-4345-a2a0-4a7e816ca689") + .quotaDefinitionUrl( + "/v2/quota_definitions/8eb22221-a9ec-4345-a2a0-4a7e816ca689") + .spaceQuotaDefinitionsUrl( + "/v2/organizations/3ced0de5-e2ce-403e-9706-17e2035947b4/space_quota_definitions") + .spacesUrl( + "/v2/organizations/3ced0de5-e2ce-403e-9706-17e2035947b4/spaces") + .status("active") + .usersUrl( + "/v2/organizations/3ced0de5-e2ce-403e-9706-17e2035947b4/users") + .build()) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void listAuditedSpaces() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/users/uaa-id-282/audited_spaces") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/users/GET_{id}_audited_spaces_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/users/uaa-id-282/audited_spaces") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/users/GET_{id}_audited_spaces_response.json") + .build()) + .build()); this.users - .listAuditedSpaces(ListUserAuditedSpacesRequest.builder() - .userId("uaa-id-282") - .build()) - .as(StepVerifier::create) - .expectNext(ListUserAuditedSpacesResponse.builder() - .totalResults(1) - .totalPages(1) - .resource(SpaceResource.builder() - .metadata(Metadata.builder() - .createdAt("2016-06-08T16:41:36Z") - .id("b93f27a3-3fee-49a3-987a-20407c2b029b") - .updatedAt("2016-06-08T16:41:26Z") - .url("/v2/spaces/b93f27a3-3fee-49a3-987a-20407c2b029b") - .build()) - .entity(SpaceEntity.builder() - .allowSsh(true) - .applicationEventsUrl("/v2/spaces/b93f27a3-3fee-49a3-987a-20407c2b029b/app_events") - .applicationsUrl("/v2/spaces/b93f27a3-3fee-49a3-987a-20407c2b029b/apps") - .auditorsUrl("/v2/spaces/b93f27a3-3fee-49a3-987a-20407c2b029b/auditors") - .developersUrl("/v2/spaces/b93f27a3-3fee-49a3-987a-20407c2b029b/developers") - .domainsUrl("/v2/spaces/b93f27a3-3fee-49a3-987a-20407c2b029b/domains") - .eventsUrl("/v2/spaces/b93f27a3-3fee-49a3-987a-20407c2b029b/events") - .managersUrl("/v2/spaces/b93f27a3-3fee-49a3-987a-20407c2b029b/managers") - .name("name-1868") - .organizationId("cf8bee37-4644-4792-b6c1-de14b93390a4") - .organizationUrl("/v2/organizations/cf8bee37-4644-4792-b6c1-de14b93390a4") - .routesUrl("/v2/spaces/b93f27a3-3fee-49a3-987a-20407c2b029b/routes") - .securityGroupsUrl("/v2/spaces/b93f27a3-3fee-49a3-987a-20407c2b029b/security_groups") - .serviceInstancesUrl("/v2/spaces/b93f27a3-3fee-49a3-987a-20407c2b029b/service_instances") - .stagingSecurityGroupsUrl("/v2/spaces/b93f27a3-3fee-49a3-987a-20407c2b029b/staging_security_groups") - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .listAuditedSpaces( + ListUserAuditedSpacesRequest.builder().userId("uaa-id-282").build()) + .as(StepVerifier::create) + .expectNext( + ListUserAuditedSpacesResponse.builder() + .totalResults(1) + .totalPages(1) + .resource( + SpaceResource.builder() + .metadata( + Metadata.builder() + .createdAt("2016-06-08T16:41:36Z") + .id( + "b93f27a3-3fee-49a3-987a-20407c2b029b") + .updatedAt("2016-06-08T16:41:26Z") + .url( + "/v2/spaces/b93f27a3-3fee-49a3-987a-20407c2b029b") + .build()) + .entity( + SpaceEntity.builder() + .allowSsh(true) + .applicationEventsUrl( + "/v2/spaces/b93f27a3-3fee-49a3-987a-20407c2b029b/app_events") + .applicationsUrl( + "/v2/spaces/b93f27a3-3fee-49a3-987a-20407c2b029b/apps") + .auditorsUrl( + "/v2/spaces/b93f27a3-3fee-49a3-987a-20407c2b029b/auditors") + .developersUrl( + "/v2/spaces/b93f27a3-3fee-49a3-987a-20407c2b029b/developers") + .domainsUrl( + "/v2/spaces/b93f27a3-3fee-49a3-987a-20407c2b029b/domains") + .eventsUrl( + "/v2/spaces/b93f27a3-3fee-49a3-987a-20407c2b029b/events") + .managersUrl( + "/v2/spaces/b93f27a3-3fee-49a3-987a-20407c2b029b/managers") + .name("name-1868") + .organizationId( + "cf8bee37-4644-4792-b6c1-de14b93390a4") + .organizationUrl( + "/v2/organizations/cf8bee37-4644-4792-b6c1-de14b93390a4") + .routesUrl( + "/v2/spaces/b93f27a3-3fee-49a3-987a-20407c2b029b/routes") + .securityGroupsUrl( + "/v2/spaces/b93f27a3-3fee-49a3-987a-20407c2b029b/security_groups") + .serviceInstancesUrl( + "/v2/spaces/b93f27a3-3fee-49a3-987a-20407c2b029b/service_instances") + .stagingSecurityGroupsUrl( + "/v2/spaces/b93f27a3-3fee-49a3-987a-20407c2b029b/staging_security_groups") + .build()) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void listBillingManagedOrganizations() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/users/uaa-id-276/billing_managed_organizations") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/users/GET_{id}_billing_managed_organizations_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/users/uaa-id-276/billing_managed_organizations") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/users/GET_{id}_billing_managed_organizations_response.json") + .build()) + .build()); this.users - .listBillingManagedOrganizations(ListUserBillingManagedOrganizationsRequest.builder() - .userId("uaa-id-276") - .build()) - .as(StepVerifier::create) - .expectNext(ListUserBillingManagedOrganizationsResponse.builder() - .totalResults(1) - .totalPages(1) - .resource(OrganizationResource.builder() - .metadata(Metadata.builder() - .createdAt("2016-06-08T16:41:36Z") - .id("67d9d56c-f41b-496d-bcac-833d5d71e104") - .updatedAt("2016-06-08T16:41:26Z") - .url("/v2/organizations/67d9d56c-f41b-496d-bcac-833d5d71e104") - .build()) - .entity(OrganizationEntity.builder() - .applicationEventsUrl("/v2/organizations/67d9d56c-f41b-496d-bcac-833d5d71e104/app_events") - .auditorsUrl("/v2/organizations/67d9d56c-f41b-496d-bcac-833d5d71e104/auditors") - .billingEnabled(false) - .billingManagersUrl("/v2/organizations/67d9d56c-f41b-496d-bcac-833d5d71e104/billing_managers") - .domainsUrl("/v2/organizations/67d9d56c-f41b-496d-bcac-833d5d71e104/domains") - .managersUrl("/v2/organizations/67d9d56c-f41b-496d-bcac-833d5d71e104/managers") - .name("name-1845") - .privateDomainsUrl("/v2/organizations/67d9d56c-f41b-496d-bcac-833d5d71e104/private_domains") - .quotaDefinitionId("6cb01483-4b0a-4742-b00c-f55524f15b25") - .quotaDefinitionUrl("/v2/quota_definitions/6cb01483-4b0a-4742-b00c-f55524f15b25") - .spaceQuotaDefinitionsUrl("/v2/organizations/67d9d56c-f41b-496d-bcac-833d5d71e104/space_quota_definitions") - .spacesUrl("/v2/organizations/67d9d56c-f41b-496d-bcac-833d5d71e104/spaces") - .status("active") - .usersUrl("/v2/organizations/67d9d56c-f41b-496d-bcac-833d5d71e104/users") - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .listBillingManagedOrganizations( + ListUserBillingManagedOrganizationsRequest.builder() + .userId("uaa-id-276") + .build()) + .as(StepVerifier::create) + .expectNext( + ListUserBillingManagedOrganizationsResponse.builder() + .totalResults(1) + .totalPages(1) + .resource( + OrganizationResource.builder() + .metadata( + Metadata.builder() + .createdAt("2016-06-08T16:41:36Z") + .id( + "67d9d56c-f41b-496d-bcac-833d5d71e104") + .updatedAt("2016-06-08T16:41:26Z") + .url( + "/v2/organizations/67d9d56c-f41b-496d-bcac-833d5d71e104") + .build()) + .entity( + OrganizationEntity.builder() + .applicationEventsUrl( + "/v2/organizations/67d9d56c-f41b-496d-bcac-833d5d71e104/app_events") + .auditorsUrl( + "/v2/organizations/67d9d56c-f41b-496d-bcac-833d5d71e104/auditors") + .billingEnabled(false) + .billingManagersUrl( + "/v2/organizations/67d9d56c-f41b-496d-bcac-833d5d71e104/billing_managers") + .domainsUrl( + "/v2/organizations/67d9d56c-f41b-496d-bcac-833d5d71e104/domains") + .managersUrl( + "/v2/organizations/67d9d56c-f41b-496d-bcac-833d5d71e104/managers") + .name("name-1845") + .privateDomainsUrl( + "/v2/organizations/67d9d56c-f41b-496d-bcac-833d5d71e104/private_domains") + .quotaDefinitionId( + "6cb01483-4b0a-4742-b00c-f55524f15b25") + .quotaDefinitionUrl( + "/v2/quota_definitions/6cb01483-4b0a-4742-b00c-f55524f15b25") + .spaceQuotaDefinitionsUrl( + "/v2/organizations/67d9d56c-f41b-496d-bcac-833d5d71e104/space_quota_definitions") + .spacesUrl( + "/v2/organizations/67d9d56c-f41b-496d-bcac-833d5d71e104/spaces") + .status("active") + .usersUrl( + "/v2/organizations/67d9d56c-f41b-496d-bcac-833d5d71e104/users") + .build()) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void listManagedOrganizations() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/users/uaa-id-290/managed_organizations") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/users/GET_{id}_managed_organizations_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/users/uaa-id-290/managed_organizations") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/users/GET_{id}_managed_organizations_response.json") + .build()) + .build()); this.users - .listManagedOrganizations(ListUserManagedOrganizationsRequest.builder() - .userId("uaa-id-290") - .build()) - .as(StepVerifier::create) - .expectNext(ListUserManagedOrganizationsResponse.builder() - .totalResults(1) - .totalPages(1) - .resource(OrganizationResource.builder() - .metadata(Metadata.builder() - .createdAt("2016-06-08T16:41:36Z") - .id("db26c415-f907-45ea-a2d1-a579000f0749") - .updatedAt("2016-06-08T16:41:26Z") - .url("/v2/organizations/db26c415-f907-45ea-a2d1-a579000f0749") - .build()) - .entity(OrganizationEntity.builder() - .applicationEventsUrl("/v2/organizations/db26c415-f907-45ea-a2d1-a579000f0749/app_events") - .auditorsUrl("/v2/organizations/db26c415-f907-45ea-a2d1-a579000f0749/auditors") - .billingEnabled(false) - .billingManagersUrl("/v2/organizations/db26c415-f907-45ea-a2d1-a579000f0749/billing_managers") - .domainsUrl("/v2/organizations/db26c415-f907-45ea-a2d1-a579000f0749/domains") - .managersUrl("/v2/organizations/db26c415-f907-45ea-a2d1-a579000f0749/managers") - .name("name-1893") - .privateDomainsUrl("/v2/organizations/db26c415-f907-45ea-a2d1-a579000f0749/private_domains") - .quotaDefinitionId("1677d31f-e75c-4f32-a879-fe4a7a7a3c23") - .quotaDefinitionUrl("/v2/quota_definitions/1677d31f-e75c-4f32-a879-fe4a7a7a3c23") - .spaceQuotaDefinitionsUrl("/v2/organizations/db26c415-f907-45ea-a2d1-a579000f0749/space_quota_definitions") - .spacesUrl("/v2/organizations/db26c415-f907-45ea-a2d1-a579000f0749/spaces") - .status("active") - .usersUrl("/v2/organizations/db26c415-f907-45ea-a2d1-a579000f0749/users") - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .listManagedOrganizations( + ListUserManagedOrganizationsRequest.builder().userId("uaa-id-290").build()) + .as(StepVerifier::create) + .expectNext( + ListUserManagedOrganizationsResponse.builder() + .totalResults(1) + .totalPages(1) + .resource( + OrganizationResource.builder() + .metadata( + Metadata.builder() + .createdAt("2016-06-08T16:41:36Z") + .id( + "db26c415-f907-45ea-a2d1-a579000f0749") + .updatedAt("2016-06-08T16:41:26Z") + .url( + "/v2/organizations/db26c415-f907-45ea-a2d1-a579000f0749") + .build()) + .entity( + OrganizationEntity.builder() + .applicationEventsUrl( + "/v2/organizations/db26c415-f907-45ea-a2d1-a579000f0749/app_events") + .auditorsUrl( + "/v2/organizations/db26c415-f907-45ea-a2d1-a579000f0749/auditors") + .billingEnabled(false) + .billingManagersUrl( + "/v2/organizations/db26c415-f907-45ea-a2d1-a579000f0749/billing_managers") + .domainsUrl( + "/v2/organizations/db26c415-f907-45ea-a2d1-a579000f0749/domains") + .managersUrl( + "/v2/organizations/db26c415-f907-45ea-a2d1-a579000f0749/managers") + .name("name-1893") + .privateDomainsUrl( + "/v2/organizations/db26c415-f907-45ea-a2d1-a579000f0749/private_domains") + .quotaDefinitionId( + "1677d31f-e75c-4f32-a879-fe4a7a7a3c23") + .quotaDefinitionUrl( + "/v2/quota_definitions/1677d31f-e75c-4f32-a879-fe4a7a7a3c23") + .spaceQuotaDefinitionsUrl( + "/v2/organizations/db26c415-f907-45ea-a2d1-a579000f0749/space_quota_definitions") + .spacesUrl( + "/v2/organizations/db26c415-f907-45ea-a2d1-a579000f0749/spaces") + .status("active") + .usersUrl( + "/v2/organizations/db26c415-f907-45ea-a2d1-a579000f0749/users") + .build()) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void listManagedSpaces() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/users/uaa-id-270/managed_spaces") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/users/GET_{id}_managed_spaces_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/users/uaa-id-270/managed_spaces") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/users/GET_{id}_managed_spaces_response.json") + .build()) + .build()); this.users - .listManagedSpaces(ListUserManagedSpacesRequest.builder() - .userId("uaa-id-270") - .build()) - .as(StepVerifier::create) - .expectNext(ListUserManagedSpacesResponse.builder() - .totalResults(1) - .totalPages(1) - .resource(SpaceResource.builder() - .metadata(Metadata.builder() - .createdAt("2016-06-08T16:41:35Z") - .id("b0e100bd-6d7c-4a3d-b0d3-0249d739a086") - .updatedAt("2016-06-08T16:41:26Z") - .url("/v2/spaces/b0e100bd-6d7c-4a3d-b0d3-0249d739a086") - .build()) - .entity(SpaceEntity.builder() - .allowSsh(true) - .applicationEventsUrl("/v2/spaces/b0e100bd-6d7c-4a3d-b0d3-0249d739a086/app_events") - .applicationsUrl("/v2/spaces/b0e100bd-6d7c-4a3d-b0d3-0249d739a086/apps") - .auditorsUrl("/v2/spaces/b0e100bd-6d7c-4a3d-b0d3-0249d739a086/auditors") - .developersUrl("/v2/spaces/b0e100bd-6d7c-4a3d-b0d3-0249d739a086/developers") - .domainsUrl("/v2/spaces/b0e100bd-6d7c-4a3d-b0d3-0249d739a086/domains") - .eventsUrl("/v2/spaces/b0e100bd-6d7c-4a3d-b0d3-0249d739a086/events") - .managersUrl("/v2/spaces/b0e100bd-6d7c-4a3d-b0d3-0249d739a086/managers") - .name("name-1820") - .organizationId("14766fb1-d8fa-4604-ba7a-248f341492a2") - .organizationUrl("/v2/organizations/14766fb1-d8fa-4604-ba7a-248f341492a2") - .routesUrl("/v2/spaces/b0e100bd-6d7c-4a3d-b0d3-0249d739a086/routes") - .securityGroupsUrl("/v2/spaces/b0e100bd-6d7c-4a3d-b0d3-0249d739a086/security_groups") - .serviceInstancesUrl("/v2/spaces/b0e100bd-6d7c-4a3d-b0d3-0249d739a086/service_instances") - .stagingSecurityGroupsUrl("/v2/spaces/b0e100bd-6d7c-4a3d-b0d3-0249d739a086/staging_security_groups") - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .listManagedSpaces( + ListUserManagedSpacesRequest.builder().userId("uaa-id-270").build()) + .as(StepVerifier::create) + .expectNext( + ListUserManagedSpacesResponse.builder() + .totalResults(1) + .totalPages(1) + .resource( + SpaceResource.builder() + .metadata( + Metadata.builder() + .createdAt("2016-06-08T16:41:35Z") + .id( + "b0e100bd-6d7c-4a3d-b0d3-0249d739a086") + .updatedAt("2016-06-08T16:41:26Z") + .url( + "/v2/spaces/b0e100bd-6d7c-4a3d-b0d3-0249d739a086") + .build()) + .entity( + SpaceEntity.builder() + .allowSsh(true) + .applicationEventsUrl( + "/v2/spaces/b0e100bd-6d7c-4a3d-b0d3-0249d739a086/app_events") + .applicationsUrl( + "/v2/spaces/b0e100bd-6d7c-4a3d-b0d3-0249d739a086/apps") + .auditorsUrl( + "/v2/spaces/b0e100bd-6d7c-4a3d-b0d3-0249d739a086/auditors") + .developersUrl( + "/v2/spaces/b0e100bd-6d7c-4a3d-b0d3-0249d739a086/developers") + .domainsUrl( + "/v2/spaces/b0e100bd-6d7c-4a3d-b0d3-0249d739a086/domains") + .eventsUrl( + "/v2/spaces/b0e100bd-6d7c-4a3d-b0d3-0249d739a086/events") + .managersUrl( + "/v2/spaces/b0e100bd-6d7c-4a3d-b0d3-0249d739a086/managers") + .name("name-1820") + .organizationId( + "14766fb1-d8fa-4604-ba7a-248f341492a2") + .organizationUrl( + "/v2/organizations/14766fb1-d8fa-4604-ba7a-248f341492a2") + .routesUrl( + "/v2/spaces/b0e100bd-6d7c-4a3d-b0d3-0249d739a086/routes") + .securityGroupsUrl( + "/v2/spaces/b0e100bd-6d7c-4a3d-b0d3-0249d739a086/security_groups") + .serviceInstancesUrl( + "/v2/spaces/b0e100bd-6d7c-4a3d-b0d3-0249d739a086/service_instances") + .stagingSecurityGroupsUrl( + "/v2/spaces/b0e100bd-6d7c-4a3d-b0d3-0249d739a086/staging_security_groups") + .build()) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void listOrganizations() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/users/uaa-id-299/organizations") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/users/GET_{id}_organizations_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/users/uaa-id-299/organizations") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/users/GET_{id}_organizations_response.json") + .build()) + .build()); this.users - .listOrganizations(ListUserOrganizationsRequest.builder() - .userId("uaa-id-299") - .build()) - .as(StepVerifier::create) - .expectNext(ListUserOrganizationsResponse.builder() - .totalResults(1) - .totalPages(1) - .resource(OrganizationResource.builder() - .metadata(Metadata.builder() - .createdAt("2016-06-08T16:41:36Z") - .id("72d22faf-f70c-4e1d-ad42-256939db7fca") - .updatedAt("2016-06-08T16:41:26Z") - .url("/v2/organizations/72d22faf-f70c-4e1d-ad42-256939db7fca") - .build()) - .entity(OrganizationEntity.builder() - .applicationEventsUrl("/v2/organizations/72d22faf-f70c-4e1d-ad42-256939db7fca/app_events") - .auditorsUrl("/v2/organizations/72d22faf-f70c-4e1d-ad42-256939db7fca/auditors") - .billingEnabled(false) - .billingManagersUrl("/v2/organizations/72d22faf-f70c-4e1d-ad42-256939db7fca/billing_managers") - .domainsUrl("/v2/organizations/72d22faf-f70c-4e1d-ad42-256939db7fca/domains") - .managersUrl("/v2/organizations/72d22faf-f70c-4e1d-ad42-256939db7fca/managers") - .name("name-1919") - .privateDomainsUrl("/v2/organizations/72d22faf-f70c-4e1d-ad42-256939db7fca/private_domains") - .quotaDefinitionId("8a51d151-a5fa-455f-9482-0ff0f2f50053") - .quotaDefinitionUrl("/v2/quota_definitions/8a51d151-a5fa-455f-9482-0ff0f2f50053") - .spaceQuotaDefinitionsUrl("/v2/organizations/72d22faf-f70c-4e1d-ad42-256939db7fca/space_quota_definitions") - .spacesUrl("/v2/organizations/72d22faf-f70c-4e1d-ad42-256939db7fca/spaces") - .status("active") - .usersUrl("/v2/organizations/72d22faf-f70c-4e1d-ad42-256939db7fca/users") - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .listOrganizations( + ListUserOrganizationsRequest.builder().userId("uaa-id-299").build()) + .as(StepVerifier::create) + .expectNext( + ListUserOrganizationsResponse.builder() + .totalResults(1) + .totalPages(1) + .resource( + OrganizationResource.builder() + .metadata( + Metadata.builder() + .createdAt("2016-06-08T16:41:36Z") + .id( + "72d22faf-f70c-4e1d-ad42-256939db7fca") + .updatedAt("2016-06-08T16:41:26Z") + .url( + "/v2/organizations/72d22faf-f70c-4e1d-ad42-256939db7fca") + .build()) + .entity( + OrganizationEntity.builder() + .applicationEventsUrl( + "/v2/organizations/72d22faf-f70c-4e1d-ad42-256939db7fca/app_events") + .auditorsUrl( + "/v2/organizations/72d22faf-f70c-4e1d-ad42-256939db7fca/auditors") + .billingEnabled(false) + .billingManagersUrl( + "/v2/organizations/72d22faf-f70c-4e1d-ad42-256939db7fca/billing_managers") + .domainsUrl( + "/v2/organizations/72d22faf-f70c-4e1d-ad42-256939db7fca/domains") + .managersUrl( + "/v2/organizations/72d22faf-f70c-4e1d-ad42-256939db7fca/managers") + .name("name-1919") + .privateDomainsUrl( + "/v2/organizations/72d22faf-f70c-4e1d-ad42-256939db7fca/private_domains") + .quotaDefinitionId( + "8a51d151-a5fa-455f-9482-0ff0f2f50053") + .quotaDefinitionUrl( + "/v2/quota_definitions/8a51d151-a5fa-455f-9482-0ff0f2f50053") + .spaceQuotaDefinitionsUrl( + "/v2/organizations/72d22faf-f70c-4e1d-ad42-256939db7fca/space_quota_definitions") + .spacesUrl( + "/v2/organizations/72d22faf-f70c-4e1d-ad42-256939db7fca/spaces") + .status("active") + .usersUrl( + "/v2/organizations/72d22faf-f70c-4e1d-ad42-256939db7fca/users") + .build()) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void listSpaces() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/users/uaa-id-309/spaces") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/users/GET_{id}_spaces_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/users/uaa-id-309/spaces") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/users/GET_{id}_spaces_response.json") + .build()) + .build()); this.users - .listSpaces(ListUserSpacesRequest.builder() - .userId("uaa-id-309") - .build()) - .as(StepVerifier::create) - .expectNext(ListUserSpacesResponse.builder() - .totalResults(1) - .totalPages(1) - .resource(SpaceResource.builder() - .metadata(Metadata.builder() - .createdAt("2016-06-08T16:41:37Z") - .id("9881c79e-d269-4a53-9d77-cb21b745356e") - .updatedAt("2016-06-08T16:41:26Z") - .url("/v2/spaces/9881c79e-d269-4a53-9d77-cb21b745356e") - .build()) - .entity(SpaceEntity.builder() - .allowSsh(true) - .applicationEventsUrl("/v2/spaces/9881c79e-d269-4a53-9d77-cb21b745356e/app_events") - .applicationsUrl("/v2/spaces/9881c79e-d269-4a53-9d77-cb21b745356e/apps") - .auditorsUrl("/v2/spaces/9881c79e-d269-4a53-9d77-cb21b745356e/auditors") - .developersUrl("/v2/spaces/9881c79e-d269-4a53-9d77-cb21b745356e/developers") - .domainsUrl("/v2/spaces/9881c79e-d269-4a53-9d77-cb21b745356e/domains") - .eventsUrl("/v2/spaces/9881c79e-d269-4a53-9d77-cb21b745356e/events") - .managersUrl("/v2/spaces/9881c79e-d269-4a53-9d77-cb21b745356e/managers") - .name("name-1948") - .organizationId("6a2a2d18-7620-43cf-a332-353824b431b2") - .organizationUrl("/v2/organizations/6a2a2d18-7620-43cf-a332-353824b431b2") - .routesUrl("/v2/spaces/9881c79e-d269-4a53-9d77-cb21b745356e/routes") - .securityGroupsUrl("/v2/spaces/9881c79e-d269-4a53-9d77-cb21b745356e/security_groups") - .serviceInstancesUrl("/v2/spaces/9881c79e-d269-4a53-9d77-cb21b745356e/service_instances") - .stagingSecurityGroupsUrl("/v2/spaces/9881c79e-d269-4a53-9d77-cb21b745356e/staging_security_groups") - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .listSpaces(ListUserSpacesRequest.builder().userId("uaa-id-309").build()) + .as(StepVerifier::create) + .expectNext( + ListUserSpacesResponse.builder() + .totalResults(1) + .totalPages(1) + .resource( + SpaceResource.builder() + .metadata( + Metadata.builder() + .createdAt("2016-06-08T16:41:37Z") + .id( + "9881c79e-d269-4a53-9d77-cb21b745356e") + .updatedAt("2016-06-08T16:41:26Z") + .url( + "/v2/spaces/9881c79e-d269-4a53-9d77-cb21b745356e") + .build()) + .entity( + SpaceEntity.builder() + .allowSsh(true) + .applicationEventsUrl( + "/v2/spaces/9881c79e-d269-4a53-9d77-cb21b745356e/app_events") + .applicationsUrl( + "/v2/spaces/9881c79e-d269-4a53-9d77-cb21b745356e/apps") + .auditorsUrl( + "/v2/spaces/9881c79e-d269-4a53-9d77-cb21b745356e/auditors") + .developersUrl( + "/v2/spaces/9881c79e-d269-4a53-9d77-cb21b745356e/developers") + .domainsUrl( + "/v2/spaces/9881c79e-d269-4a53-9d77-cb21b745356e/domains") + .eventsUrl( + "/v2/spaces/9881c79e-d269-4a53-9d77-cb21b745356e/events") + .managersUrl( + "/v2/spaces/9881c79e-d269-4a53-9d77-cb21b745356e/managers") + .name("name-1948") + .organizationId( + "6a2a2d18-7620-43cf-a332-353824b431b2") + .organizationUrl( + "/v2/organizations/6a2a2d18-7620-43cf-a332-353824b431b2") + .routesUrl( + "/v2/spaces/9881c79e-d269-4a53-9d77-cb21b745356e/routes") + .securityGroupsUrl( + "/v2/spaces/9881c79e-d269-4a53-9d77-cb21b745356e/security_groups") + .serviceInstancesUrl( + "/v2/spaces/9881c79e-d269-4a53-9d77-cb21b745356e/service_instances") + .stagingSecurityGroupsUrl( + "/v2/spaces/9881c79e-d269-4a53-9d77-cb21b745356e/staging_security_groups") + .build()) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void removeAuditedOrganization() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(DELETE).path("/users/uaa-id-293/audited_organizations/ab4226af-73e8-4c7d-a2e0-a713ebf9fd84") - .build()) - .response(TestResponse.builder() - .status(NO_CONTENT) - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(DELETE) + .path( + "/users/uaa-id-293/audited_organizations/ab4226af-73e8-4c7d-a2e0-a713ebf9fd84") + .build()) + .response(TestResponse.builder().status(NO_CONTENT).build()) + .build()); this.users - .removeAuditedOrganization(RemoveUserAuditedOrganizationRequest.builder() - .auditedOrganizationId("ab4226af-73e8-4c7d-a2e0-a713ebf9fd84") - .userId("uaa-id-293") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .removeAuditedOrganization( + RemoveUserAuditedOrganizationRequest.builder() + .auditedOrganizationId("ab4226af-73e8-4c7d-a2e0-a713ebf9fd84") + .userId("uaa-id-293") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void removeAuditedSpace() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(DELETE).path("/users/uaa-id-278/audited_spaces/95b843ee-9f7a-4021-a155-ad9c0f76e6fc") - .build()) - .response(TestResponse.builder() - .status(NO_CONTENT) - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(DELETE) + .path( + "/users/uaa-id-278/audited_spaces/95b843ee-9f7a-4021-a155-ad9c0f76e6fc") + .build()) + .response(TestResponse.builder().status(NO_CONTENT).build()) + .build()); this.users - .removeAuditedSpace(RemoveUserAuditedSpaceRequest.builder() - .auditedSpaceId("95b843ee-9f7a-4021-a155-ad9c0f76e6fc") - .userId("uaa-id-278") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .removeAuditedSpace( + RemoveUserAuditedSpaceRequest.builder() + .auditedSpaceId("95b843ee-9f7a-4021-a155-ad9c0f76e6fc") + .userId("uaa-id-278") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void removeBillingManagedOrganization() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(DELETE).path("/users/uaa-id-274/billing_managed_organizations/a2d908b0-504d-435c-83ef-82969d353741") - .build()) - .response(TestResponse.builder() - .status(NO_CONTENT) - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(DELETE) + .path( + "/users/uaa-id-274/billing_managed_organizations/a2d908b0-504d-435c-83ef-82969d353741") + .build()) + .response(TestResponse.builder().status(NO_CONTENT).build()) + .build()); this.users - .removeBillingManagedOrganization(RemoveUserBillingManagedOrganizationRequest.builder() - .billingManagedOrganizationId("a2d908b0-504d-435c-83ef-82969d353741") - .userId("uaa-id-274") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .removeBillingManagedOrganization( + RemoveUserBillingManagedOrganizationRequest.builder() + .billingManagedOrganizationId( + "a2d908b0-504d-435c-83ef-82969d353741") + .userId("uaa-id-274") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void removeManagedOrganization() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(DELETE).path("/users/uaa-id-284/managed_organizations/229d8290-bf5a-45f9-b6c4-2ad6500bb17e") - .build()) - .response(TestResponse.builder() - .status(NO_CONTENT) - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(DELETE) + .path( + "/users/uaa-id-284/managed_organizations/229d8290-bf5a-45f9-b6c4-2ad6500bb17e") + .build()) + .response(TestResponse.builder().status(NO_CONTENT).build()) + .build()); this.users - .removeManagedOrganization(RemoveUserManagedOrganizationRequest.builder() - .managedOrganizationId("229d8290-bf5a-45f9-b6c4-2ad6500bb17e") - .userId("uaa-id-284") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .removeManagedOrganization( + RemoveUserManagedOrganizationRequest.builder() + .managedOrganizationId("229d8290-bf5a-45f9-b6c4-2ad6500bb17e") + .userId("uaa-id-284") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void removeManagedSpace() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(DELETE).path("/users/uaa-id-266/managed_spaces/0af3c27b-d995-4a63-a9c5-26fc01210128") - .build()) - .response(TestResponse.builder() - .status(NO_CONTENT) - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(DELETE) + .path( + "/users/uaa-id-266/managed_spaces/0af3c27b-d995-4a63-a9c5-26fc01210128") + .build()) + .response(TestResponse.builder().status(NO_CONTENT).build()) + .build()); this.users - .removeManagedSpace(RemoveUserManagedSpaceRequest.builder() - .managedSpaceId("0af3c27b-d995-4a63-a9c5-26fc01210128") - .userId("uaa-id-266") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .removeManagedSpace( + RemoveUserManagedSpaceRequest.builder() + .managedSpaceId("0af3c27b-d995-4a63-a9c5-26fc01210128") + .userId("uaa-id-266") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void removeOrganization() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(DELETE).path("/users/uaa-id-303/organizations/aaac52d1-e99d-4536-a981-379980a3cb23") - .build()) - .response(TestResponse.builder() - .status(NO_CONTENT) - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(DELETE) + .path( + "/users/uaa-id-303/organizations/aaac52d1-e99d-4536-a981-379980a3cb23") + .build()) + .response(TestResponse.builder().status(NO_CONTENT).build()) + .build()); this.users - .removeOrganization(RemoveUserOrganizationRequest.builder() - .organizationId("aaac52d1-e99d-4536-a981-379980a3cb23") - .userId("uaa-id-303") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .removeOrganization( + RemoveUserOrganizationRequest.builder() + .organizationId("aaac52d1-e99d-4536-a981-379980a3cb23") + .userId("uaa-id-303") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void removeSpace() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(DELETE).path("/users/uaa-id-307/spaces/6c37bc37-f712-4399-be89-2272980b66ef") - .build()) - .response(TestResponse.builder() - .status(NO_CONTENT) - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(DELETE) + .path( + "/users/uaa-id-307/spaces/6c37bc37-f712-4399-be89-2272980b66ef") + .build()) + .response(TestResponse.builder().status(NO_CONTENT).build()) + .build()); this.users - .removeSpace(RemoveUserSpaceRequest.builder() - .spaceId("6c37bc37-f712-4399-be89-2272980b66ef") - .userId("uaa-id-307") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .removeSpace( + RemoveUserSpaceRequest.builder() + .spaceId("6c37bc37-f712-4399-be89-2272980b66ef") + .userId("uaa-id-307") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @SuppressWarnings("deprecation") @Test public void summary() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/users/uaa-id-355/summary") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v2/users/GET_{id}_summary_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/users/uaa-id-355/summary") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v2/users/GET_{id}_summary_response.json") + .build()) + .build()); this.users - .summary(SummaryUserRequest.builder() - .userId("uaa-id-355") - .build()) - .as(StepVerifier::create) - .expectNext(SummaryUserResponse.builder() - .metadata(Metadata.builder() - .createdAt("2016-06-08T16:41:40Z") - .id("uaa-id-355") - .updatedAt("2016-06-08T16:41:26Z") - .build()) - .entity(UserSummaryEntity.builder() - - .billingManagedOrganization(UserOrganizationResource.builder() - .metadata(Metadata.builder() - .createdAt("2016-06-08T16:41:40Z") - .id("a8f940a4-3b9f-4e26-9ceb-2e5062cc1513") - .updatedAt("2016-06-08T16:41:26Z") - .build()) - .entity(UserOrganizationEntity.builder() - .billingEnabled(false) - .name("name-2041") - .status("active") - .space(UserSpaceResource.builder() - .metadata(Metadata.builder() - .createdAt("2016-06-08T16:41:40Z") - .id("db69758e-14e9-4fed-b69a-353a98a05a2e") - .updatedAt("2016-06-08T16:41:26Z") - .build()) - .entity(UserSpaceEntity.builder() - .name("name-2043") - .build()) - .build()) - .quotaDefinition(OrganizationQuotaDefinitionResource.builder() - .metadata(Metadata.builder() - .createdAt("2016-06-08T16:41:40Z") - .id("6c6b51c9-823d-4c91-ab5c-9487a93360bc") - .updatedAt("2016-06-08T16:41:26Z") - .build()) - .entity(OrganizationQuotaDefinitionEntity.builder() - .applicationInstanceLimit(-1) - .applicationTaskLimit(-1) - .instanceMemoryLimit(-1) - .memoryLimit(20480) - .name("name-2042") - .nonBasicServicesAllowed(true) - .totalPrivateDomains(-1) - .totalRoutes(1000) - .totalServices(60) - .trialDatabaseAllowed(false) - .build()) - .build()) - .manager(UserResource.builder() - .metadata(Metadata.builder() - .createdAt("2016-06-08T16:41:40Z") - .id("uaa-id-355") - .updatedAt("2016-06-08T16:41:26Z") - .build()) - .entity(UserEntity.builder() - .active(false) - .admin(false) - .defaultSpaceId(null) - .build()) + .summary(SummaryUserRequest.builder().userId("uaa-id-355").build()) + .as(StepVerifier::create) + .expectNext( + SummaryUserResponse.builder() + .metadata( + Metadata.builder() + .createdAt("2016-06-08T16:41:40Z") + .id("uaa-id-355") + .updatedAt("2016-06-08T16:41:26Z") + .build()) + .entity( + UserSummaryEntity.builder() + .billingManagedOrganization( + UserOrganizationResource.builder() + .metadata( + Metadata.builder() + .createdAt( + "2016-06-08T16:41:40Z") + .id( + "a8f940a4-3b9f-4e26-9ceb-2e5062cc1513") + .updatedAt( + "2016-06-08T16:41:26Z") + .build()) + .entity( + UserOrganizationEntity + .builder() + .billingEnabled( + false) + .name("name-2041") + .status("active") + .space( + UserSpaceResource + .builder() + .metadata( + Metadata + .builder() + .createdAt( + "2016-06-08T16:41:40Z") + .id( + "db69758e-14e9-4fed-b69a-353a98a05a2e") + .updatedAt( + "2016-06-08T16:41:26Z") + .build()) + .entity( + UserSpaceEntity + .builder() + .name( + "name-2043") + .build()) + .build()) + .quotaDefinition( + OrganizationQuotaDefinitionResource + .builder() + .metadata( + Metadata + .builder() + .createdAt( + "2016-06-08T16:41:40Z") + .id( + "6c6b51c9-823d-4c91-ab5c-9487a93360bc") + .updatedAt( + "2016-06-08T16:41:26Z") + .build()) + .entity( + OrganizationQuotaDefinitionEntity + .builder() + .applicationInstanceLimit( + -1) + .applicationTaskLimit( + -1) + .instanceMemoryLimit( + -1) + .memoryLimit( + 20480) + .name( + "name-2042") + .nonBasicServicesAllowed( + true) + .totalPrivateDomains( + -1) + .totalRoutes( + 1000) + .totalServices( + 60) + .trialDatabaseAllowed( + false) + .build()) + .build()) + .manager( + UserResource + .builder() + .metadata( + Metadata + .builder() + .createdAt( + "2016-06-08T16:41:40Z") + .id( + "uaa-id-355") + .updatedAt( + "2016-06-08T16:41:26Z") + .build()) + .entity( + UserEntity + .builder() + .active( + false) + .admin( + false) + .defaultSpaceId( + null) + .build()) + .build()) + .build()) + .build()) + .auditedOrganization( + UserOrganizationResource.builder() + .metadata( + Metadata.builder() + .createdAt( + "2016-06-08T16:41:40Z") + .id( + "a8f940a4-3b9f-4e26-9ceb-2e5062cc1513") + .updatedAt( + "2016-06-08T16:41:26Z") + .build()) + .entity( + UserOrganizationEntity + .builder() + .billingEnabled( + false) + .name("name-2041") + .status("active") + .space( + UserSpaceResource + .builder() + .metadata( + Metadata + .builder() + .createdAt( + "2016-06-08T16:41:40Z") + .id( + "db69758e-14e9-4fed-b69a-353a98a05a2e") + .updatedAt( + "2016-06-08T16:41:26Z") + .build()) + .entity( + UserSpaceEntity + .builder() + .name( + "name-2043") + .build()) + .build()) + .quotaDefinition( + OrganizationQuotaDefinitionResource + .builder() + .metadata( + Metadata + .builder() + .createdAt( + "2016-06-08T16:41:40Z") + .id( + "6c6b51c9-823d-4c91-ab5c-9487a93360bc") + .updatedAt( + "2016-06-08T16:41:26Z") + .build()) + .entity( + OrganizationQuotaDefinitionEntity + .builder() + .applicationInstanceLimit( + -1) + .applicationTaskLimit( + -1) + .instanceMemoryLimit( + -1) + .memoryLimit( + 20480) + .name( + "name-2042") + .nonBasicServicesAllowed( + true) + .totalPrivateDomains( + -1) + .totalRoutes( + 1000) + .totalServices( + 60) + .trialDatabaseAllowed( + false) + .build()) + .build()) + .manager( + UserResource + .builder() + .metadata( + Metadata + .builder() + .createdAt( + "2016-06-08T16:41:40Z") + .id( + "uaa-id-355") + .updatedAt( + "2016-06-08T16:41:26Z") + .build()) + .entity( + UserEntity + .builder() + .active( + false) + .admin( + false) + .defaultSpaceId( + null) + .build()) + .build()) + .build()) + .build()) + .managedOrganization( + UserOrganizationResource.builder() + .metadata( + Metadata.builder() + .createdAt( + "2016-06-08T16:41:40Z") + .id( + "a8f940a4-3b9f-4e26-9ceb-2e5062cc1513") + .updatedAt( + "2016-06-08T16:41:26Z") + .build()) + .entity( + UserOrganizationEntity + .builder() + .billingEnabled( + false) + .name("name-2041") + .status("active") + .space( + UserSpaceResource + .builder() + .metadata( + Metadata + .builder() + .createdAt( + "2016-06-08T16:41:40Z") + .id( + "db69758e-14e9-4fed-b69a-353a98a05a2e") + .updatedAt( + "2016-06-08T16:41:26Z") + .build()) + .entity( + UserSpaceEntity + .builder() + .name( + "name-2043") + .build()) + .build()) + .quotaDefinition( + OrganizationQuotaDefinitionResource + .builder() + .metadata( + Metadata + .builder() + .createdAt( + "2016-06-08T16:41:40Z") + .id( + "6c6b51c9-823d-4c91-ab5c-9487a93360bc") + .updatedAt( + "2016-06-08T16:41:26Z") + .build()) + .entity( + OrganizationQuotaDefinitionEntity + .builder() + .applicationInstanceLimit( + -1) + .applicationTaskLimit( + -1) + .instanceMemoryLimit( + -1) + .memoryLimit( + 20480) + .name( + "name-2042") + .nonBasicServicesAllowed( + true) + .totalPrivateDomains( + -1) + .totalRoutes( + 1000) + .totalServices( + 60) + .trialDatabaseAllowed( + false) + .build()) + .build()) + .manager( + UserResource + .builder() + .metadata( + Metadata + .builder() + .createdAt( + "2016-06-08T16:41:40Z") + .id( + "uaa-id-355") + .updatedAt( + "2016-06-08T16:41:26Z") + .build()) + .entity( + UserEntity + .builder() + .active( + false) + .admin( + false) + .defaultSpaceId( + null) + .build()) + .build()) + .build()) + .build()) + .organization( + UserOrganizationResource.builder() + .metadata( + Metadata.builder() + .createdAt( + "2016-06-08T16:41:40Z") + .id( + "a8f940a4-3b9f-4e26-9ceb-2e5062cc1513") + .updatedAt( + "2016-06-08T16:41:26Z") + .build()) + .entity( + UserOrganizationEntity + .builder() + .billingEnabled( + false) + .name("name-2041") + .status("active") + .space( + UserSpaceResource + .builder() + .metadata( + Metadata + .builder() + .createdAt( + "2016-06-08T16:41:40Z") + .id( + "db69758e-14e9-4fed-b69a-353a98a05a2e") + .updatedAt( + "2016-06-08T16:41:26Z") + .build()) + .entity( + UserSpaceEntity + .builder() + .name( + "name-2043") + .build()) + .build()) + .quotaDefinition( + OrganizationQuotaDefinitionResource + .builder() + .metadata( + Metadata + .builder() + .createdAt( + "2016-06-08T16:41:40Z") + .id( + "6c6b51c9-823d-4c91-ab5c-9487a93360bc") + .updatedAt( + "2016-06-08T16:41:26Z") + .build()) + .entity( + OrganizationQuotaDefinitionEntity + .builder() + .applicationInstanceLimit( + -1) + .applicationTaskLimit( + -1) + .instanceMemoryLimit( + -1) + .memoryLimit( + 20480) + .name( + "name-2042") + .nonBasicServicesAllowed( + true) + .totalPrivateDomains( + -1) + .totalRoutes( + 1000) + .totalServices( + 60) + .trialDatabaseAllowed( + false) + .build()) + .build()) + .manager( + UserResource + .builder() + .metadata( + Metadata + .builder() + .createdAt( + "2016-06-08T16:41:40Z") + .id( + "uaa-id-355") + .updatedAt( + "2016-06-08T16:41:26Z") + .build()) + .entity( + UserEntity + .builder() + .active( + false) + .admin( + false) + .defaultSpaceId( + null) + .build()) + .build()) + .build()) + .build()) + .auditedSpace( + UserSpaceResource.builder() + .metadata( + Metadata.builder() + .createdAt( + "2016-06-08T16:41:40Z") + .id( + "db69758e-14e9-4fed-b69a-353a98a05a2e") + .updatedAt( + "2016-06-08T16:41:26Z") + .build()) + .entity( + UserSpaceEntity.builder() + .name("name-2043") + .build()) + .build()) + .managedSpace( + UserSpaceResource.builder() + .metadata( + Metadata.builder() + .createdAt( + "2016-06-08T16:41:40Z") + .id( + "db69758e-14e9-4fed-b69a-353a98a05a2e") + .updatedAt( + "2016-06-08T16:41:26Z") + .build()) + .entity( + UserSpaceEntity.builder() + .name("name-2043") + .build()) + .build()) + .space( + UserSpaceResource.builder() + .metadata( + Metadata.builder() + .createdAt( + "2016-06-08T16:41:40Z") + .id( + "db69758e-14e9-4fed-b69a-353a98a05a2e") + .updatedAt( + "2016-06-08T16:41:26Z") + .build()) + .entity( + UserSpaceEntity.builder() + .name("name-2043") + .build()) + .build()) + .build()) .build()) - .build()) - .build()) - - .auditedOrganization(UserOrganizationResource.builder() - .metadata(Metadata.builder() - .createdAt("2016-06-08T16:41:40Z") - .id("a8f940a4-3b9f-4e26-9ceb-2e5062cc1513") - .updatedAt("2016-06-08T16:41:26Z") - .build()) - .entity(UserOrganizationEntity.builder() - .billingEnabled(false) - .name("name-2041") - .status("active") - .space(UserSpaceResource.builder() - .metadata(Metadata.builder() - .createdAt("2016-06-08T16:41:40Z") - .id("db69758e-14e9-4fed-b69a-353a98a05a2e") - .updatedAt("2016-06-08T16:41:26Z") - .build()) - .entity(UserSpaceEntity.builder() - .name("name-2043") - .build()) - .build()) - .quotaDefinition(OrganizationQuotaDefinitionResource.builder() - .metadata(Metadata.builder() - .createdAt("2016-06-08T16:41:40Z") - .id("6c6b51c9-823d-4c91-ab5c-9487a93360bc") - .updatedAt("2016-06-08T16:41:26Z") - .build()) - .entity(OrganizationQuotaDefinitionEntity.builder() - .applicationInstanceLimit(-1) - .applicationTaskLimit(-1) - .instanceMemoryLimit(-1) - .memoryLimit(20480) - .name("name-2042") - .nonBasicServicesAllowed(true) - .totalPrivateDomains(-1) - .totalRoutes(1000) - .totalServices(60) - .trialDatabaseAllowed(false) - .build()) - .build()) - .manager(UserResource.builder() - .metadata(Metadata.builder() - .createdAt("2016-06-08T16:41:40Z") - .id("uaa-id-355") - .updatedAt("2016-06-08T16:41:26Z") - .build()) - .entity(UserEntity.builder() - .active(false) - .admin(false) - .defaultSpaceId(null) - .build()) - .build()) - .build()) - .build()) - - .managedOrganization(UserOrganizationResource.builder() - .metadata(Metadata.builder() - .createdAt("2016-06-08T16:41:40Z") - .id("a8f940a4-3b9f-4e26-9ceb-2e5062cc1513") - .updatedAt("2016-06-08T16:41:26Z") - .build()) - .entity(UserOrganizationEntity.builder() - .billingEnabled(false) - .name("name-2041") - .status("active") - .space(UserSpaceResource.builder() - .metadata(Metadata.builder() - .createdAt("2016-06-08T16:41:40Z") - .id("db69758e-14e9-4fed-b69a-353a98a05a2e") - .updatedAt("2016-06-08T16:41:26Z") - .build()) - .entity(UserSpaceEntity.builder() - .name("name-2043") - .build()) - .build()) - .quotaDefinition(OrganizationQuotaDefinitionResource.builder() - .metadata(Metadata.builder() - .createdAt("2016-06-08T16:41:40Z") - .id("6c6b51c9-823d-4c91-ab5c-9487a93360bc") - .updatedAt("2016-06-08T16:41:26Z") - .build()) - .entity(OrganizationQuotaDefinitionEntity.builder() - .applicationInstanceLimit(-1) - .applicationTaskLimit(-1) - .instanceMemoryLimit(-1) - .memoryLimit(20480) - .name("name-2042") - .nonBasicServicesAllowed(true) - .totalPrivateDomains(-1) - .totalRoutes(1000) - .totalServices(60) - .trialDatabaseAllowed(false) - .build()) - .build()) - .manager(UserResource.builder() - .metadata(Metadata.builder() - .createdAt("2016-06-08T16:41:40Z") - .id("uaa-id-355") - .updatedAt("2016-06-08T16:41:26Z") - .build()) - .entity(UserEntity.builder() - .active(false) - .admin(false) - .defaultSpaceId(null) - .build()) - .build()) - .build()) - .build()) - - .organization(UserOrganizationResource.builder() - .metadata(Metadata.builder() - .createdAt("2016-06-08T16:41:40Z") - .id("a8f940a4-3b9f-4e26-9ceb-2e5062cc1513") - .updatedAt("2016-06-08T16:41:26Z") - .build()) - .entity(UserOrganizationEntity.builder() - .billingEnabled(false) - .name("name-2041") - .status("active") - .space(UserSpaceResource.builder() - .metadata(Metadata.builder() - .createdAt("2016-06-08T16:41:40Z") - .id("db69758e-14e9-4fed-b69a-353a98a05a2e") - .updatedAt("2016-06-08T16:41:26Z") - .build()) - .entity(UserSpaceEntity.builder() - .name("name-2043") - .build()) - .build()) - .quotaDefinition(OrganizationQuotaDefinitionResource.builder() - .metadata(Metadata.builder() - .createdAt("2016-06-08T16:41:40Z") - .id("6c6b51c9-823d-4c91-ab5c-9487a93360bc") - .updatedAt("2016-06-08T16:41:26Z") - .build()) - .entity(OrganizationQuotaDefinitionEntity.builder() - .applicationInstanceLimit(-1) - .applicationTaskLimit(-1) - .instanceMemoryLimit(-1) - .memoryLimit(20480) - .name("name-2042") - .nonBasicServicesAllowed(true) - .totalPrivateDomains(-1) - .totalRoutes(1000) - .totalServices(60) - .trialDatabaseAllowed(false) - .build()) - .build()) - .manager(UserResource.builder() - .metadata(Metadata.builder() - .createdAt("2016-06-08T16:41:40Z") - .id("uaa-id-355") - .updatedAt("2016-06-08T16:41:26Z") - .build()) - .entity(UserEntity.builder() - .active(false) - .admin(false) - .defaultSpaceId(null) - .build()) - .build()) - .build()) - .build()) - - .auditedSpace(UserSpaceResource.builder() - .metadata(Metadata.builder() - .createdAt("2016-06-08T16:41:40Z") - .id("db69758e-14e9-4fed-b69a-353a98a05a2e") - .updatedAt("2016-06-08T16:41:26Z") - .build()) - .entity(UserSpaceEntity.builder() - .name("name-2043") - .build()) - .build()) - - .managedSpace(UserSpaceResource.builder() - .metadata(Metadata.builder() - .createdAt("2016-06-08T16:41:40Z") - .id("db69758e-14e9-4fed-b69a-353a98a05a2e") - .updatedAt("2016-06-08T16:41:26Z") - .build()) - .entity(UserSpaceEntity.builder() - .name("name-2043") - .build()) - .build()) - - .space(UserSpaceResource.builder() - .metadata(Metadata.builder() - .createdAt("2016-06-08T16:41:40Z") - .id("db69758e-14e9-4fed-b69a-353a98a05a2e") - .updatedAt("2016-06-08T16:41:26Z") - .build()) - .entity(UserSpaceEntity.builder() - .name("name-2043") - .build()) - .build()) - - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void update() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(PUT).path("/users/uaa-id-313") - .payload("fixtures/client/v2/users/PUT_{id}_request.json") - .build()) - .response(TestResponse.builder() - .status(CREATED) - .payload("fixtures/client/v2/users/PUT_{id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(PUT) + .path("/users/uaa-id-313") + .payload("fixtures/client/v2/users/PUT_{id}_request.json") + .build()) + .response( + TestResponse.builder() + .status(CREATED) + .payload("fixtures/client/v2/users/PUT_{id}_response.json") + .build()) + .build()); this.users - .update(UpdateUserRequest.builder() - .defaultSpaceId("56d8e095-b2c8-4ba9-b540-dc42ba1c7351") - .userId("uaa-id-313") - .build()) - .as(StepVerifier::create) - .expectNext(UpdateUserResponse.builder() - .metadata(Metadata.builder() - .createdAt("2016-06-08T16:41:37Z") - .id("uaa-id-313") - .updatedAt("2016-06-08T16:41:37Z") - .url("/v2/users/uaa-id-313") - .build()) - .entity(UserEntity.builder() - .admin(false) - .active(false) - .auditedOrganizationsUrl("/v2/users/uaa-id-313/audited_organizations") - .auditedSpacesUrl("/v2/users/uaa-id-313/audited_spaces") - .billingManagedOrganizationsUrl("/v2/users/uaa-id-313/billing_managed_organizations") - .defaultSpaceId("56d8e095-b2c8-4ba9-b540-dc42ba1c7351") - .defaultSpaceUrl("/v2/spaces/56d8e095-b2c8-4ba9-b540-dc42ba1c7351") - .managedOrganizationsUrl("/v2/users/uaa-id-313/managed_organizations") - .managedSpacesUrl("/v2/users/uaa-id-313/managed_spaces") - .organizationsUrl("/v2/users/uaa-id-313/organizations") - .spacesUrl("/v2/users/uaa-id-313/spaces") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .update( + UpdateUserRequest.builder() + .defaultSpaceId("56d8e095-b2c8-4ba9-b540-dc42ba1c7351") + .userId("uaa-id-313") + .build()) + .as(StepVerifier::create) + .expectNext( + UpdateUserResponse.builder() + .metadata( + Metadata.builder() + .createdAt("2016-06-08T16:41:37Z") + .id("uaa-id-313") + .updatedAt("2016-06-08T16:41:37Z") + .url("/v2/users/uaa-id-313") + .build()) + .entity( + UserEntity.builder() + .admin(false) + .active(false) + .auditedOrganizationsUrl( + "/v2/users/uaa-id-313/audited_organizations") + .auditedSpacesUrl( + "/v2/users/uaa-id-313/audited_spaces") + .billingManagedOrganizationsUrl( + "/v2/users/uaa-id-313/billing_managed_organizations") + .defaultSpaceId( + "56d8e095-b2c8-4ba9-b540-dc42ba1c7351") + .defaultSpaceUrl( + "/v2/spaces/56d8e095-b2c8-4ba9-b540-dc42ba1c7351") + .managedOrganizationsUrl( + "/v2/users/uaa-id-313/managed_organizations") + .managedSpacesUrl( + "/v2/users/uaa-id-313/managed_spaces") + .organizationsUrl( + "/v2/users/uaa-id-313/organizations") + .spacesUrl("/v2/users/uaa-id-313/spaces") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } - } diff --git a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v3/FilterBuilderTest.java b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v3/FilterBuilderTest.java index 8c9ba70c9b..48d9f0b6d8 100644 --- a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v3/FilterBuilderTest.java +++ b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v3/FilterBuilderTest.java @@ -16,6 +16,12 @@ package org.cloudfoundry.reactor.client.v3; +import static org.assertj.core.api.Assertions.assertThat; + +import java.util.Arrays; +import java.util.Collections; +import java.util.List; +import java.util.stream.Stream; import org.cloudfoundry.client.v3.FilterParameter; import org.cloudfoundry.reactor.util.UriQueryParameter; import org.cloudfoundry.reactor.util.UriQueryParameters; @@ -23,33 +29,29 @@ import org.springframework.util.MultiValueMap; import org.springframework.web.util.UriComponentsBuilder; -import java.util.Arrays; -import java.util.Collections; -import java.util.List; -import java.util.stream.Stream; - -import static org.assertj.core.api.Assertions.assertThat; - public final class FilterBuilderTest { @Test public void test() { UriComponentsBuilder builder = UriComponentsBuilder.newInstance(); - Stream parameters = new FilterBuilder().build(new StubFilterParamsSubClass()); + Stream parameters = + new FilterBuilder().build(new StubFilterParamsSubClass()); UriQueryParameters.set(builder, parameters); MultiValueMap queryParams = builder.encode().build().getQueryParams(); assertThat(queryParams).hasSize(6); assertThat(queryParams.getFirst("test-single")).isEqualTo("test-value-1"); - assertThat(queryParams.getFirst("test-collection")).isEqualTo("test-value-2%2Ctest-value-3"); + assertThat(queryParams.getFirst("test-collection")) + .isEqualTo("test-value-2%2Ctest-value-3"); assertThat(queryParams.getFirst("test-subclass")).isEqualTo("test-value-4"); assertThat(queryParams.getFirst("test-override")).isEqualTo("test-value-7"); - assertThat(queryParams.getFirst("test-reserved-characters")).isEqualTo("%3A%2F%3F%23%5B%5D%40%21%24%26%27%28%29%2A%2B%2C%3B%3D"); + assertThat(queryParams.getFirst("test-reserved-characters")) + .isEqualTo("%3A%2F%3F%23%5B%5D%40%21%24%26%27%28%29%2A%2B%2C%3B%3D"); } - public static abstract class StubFilterParams { + public abstract static class StubFilterParams { @FilterParameter("test-collection") public final List getCollection() { @@ -83,7 +85,6 @@ public final String getSingle() { @FilterParameter("test-override") abstract String getOverride(); - } public static final class StubFilterParamsSubClass extends StubFilterParams { @@ -97,7 +98,5 @@ public String getOverride() { public String getSubclass() { return "test-value-4"; } - } - } diff --git a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v3/admin/ReactorAdminV3Test.java b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v3/admin/ReactorAdminV3Test.java index 52bbad2e01..ff7b2787a9 100644 --- a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v3/admin/ReactorAdminV3Test.java +++ b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v3/admin/ReactorAdminV3Test.java @@ -16,6 +16,11 @@ package org.cloudfoundry.reactor.client.v3.admin; +import static io.netty.handler.codec.http.HttpMethod.POST; +import static io.netty.handler.codec.http.HttpResponseStatus.ACCEPTED; + +import java.time.Duration; +import java.util.Collections; import org.cloudfoundry.client.v3.admin.ClearBuildpackCacheRequest; import org.cloudfoundry.reactor.InteractionContext; import org.cloudfoundry.reactor.TestRequest; @@ -24,35 +29,35 @@ import org.junit.Test; import reactor.test.StepVerifier; -import java.time.Duration; -import java.util.Collections; - -import static io.netty.handler.codec.http.HttpMethod.POST; -import static io.netty.handler.codec.http.HttpResponseStatus.ACCEPTED; - public final class ReactorAdminV3Test extends AbstractClientApiTest { - private final ReactorAdminV3 admin = new ReactorAdminV3(CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); + private final ReactorAdminV3 admin = + new ReactorAdminV3( + CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); @Test public void clearBuildpackCache() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(POST).path("/admin/actions/clear_buildpack_cache") - .build()) - .response(TestResponse.builder() - .status(ACCEPTED) - .header("Location", "https://api.example.org/v3/jobs/[guid]") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(POST) + .path("/admin/actions/clear_buildpack_cache") + .build()) + .response( + TestResponse.builder() + .status(ACCEPTED) + .header( + "Location", + "https://api.example.org/v3/jobs/[guid]") + .build()) + .build()); this.admin - .clearBuildpackCache(ClearBuildpackCacheRequest.builder() - .build()) - .as(StepVerifier::create) - .expectNext("[guid]") - .expectComplete() - .verify(Duration.ofSeconds(5)); + .clearBuildpackCache(ClearBuildpackCacheRequest.builder().build()) + .as(StepVerifier::create) + .expectNext("[guid]") + .expectComplete() + .verify(Duration.ofSeconds(5)); } - } diff --git a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v3/applications/ReactorApplicationsV3Test.java b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v3/applications/ReactorApplicationsV3Test.java index 5c98f424b3..2cdf3bad4c 100644 --- a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v3/applications/ReactorApplicationsV3Test.java +++ b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v3/applications/ReactorApplicationsV3Test.java @@ -16,6 +16,19 @@ package org.cloudfoundry.reactor.client.v3.applications; +import static io.netty.handler.codec.http.HttpMethod.DELETE; +import static io.netty.handler.codec.http.HttpMethod.GET; +import static io.netty.handler.codec.http.HttpMethod.PATCH; +import static io.netty.handler.codec.http.HttpMethod.POST; +import static io.netty.handler.codec.http.HttpResponseStatus.ACCEPTED; +import static io.netty.handler.codec.http.HttpResponseStatus.CREATED; +import static io.netty.handler.codec.http.HttpResponseStatus.NO_CONTENT; +import static io.netty.handler.codec.http.HttpResponseStatus.OK; +import static org.cloudfoundry.client.v3.routes.Protocol.HTTP; + +import java.time.Duration; +import java.util.Arrays; +import java.util.Collections; import org.cloudfoundry.client.v3.BuildpackData; import org.cloudfoundry.client.v3.Checksum; import org.cloudfoundry.client.v3.ChecksumType; @@ -120,1721 +133,2511 @@ import org.junit.Test; import reactor.test.StepVerifier; -import java.time.Duration; -import java.util.Arrays; -import java.util.Collections; - -import static io.netty.handler.codec.http.HttpMethod.DELETE; -import static io.netty.handler.codec.http.HttpMethod.GET; -import static io.netty.handler.codec.http.HttpMethod.PATCH; -import static io.netty.handler.codec.http.HttpMethod.POST; -import static io.netty.handler.codec.http.HttpResponseStatus.ACCEPTED; -import static io.netty.handler.codec.http.HttpResponseStatus.CREATED; -import static io.netty.handler.codec.http.HttpResponseStatus.NO_CONTENT; -import static io.netty.handler.codec.http.HttpResponseStatus.OK; -import static org.cloudfoundry.client.v3.routes.Protocol.HTTP; - public final class ReactorApplicationsV3Test extends AbstractClientApiTest { - private final ReactorApplicationsV3 applications = new ReactorApplicationsV3(CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); + private final ReactorApplicationsV3 applications = + new ReactorApplicationsV3( + CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); @Test public void create() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(POST).path("/apps") - .payload("fixtures/client/v3/apps/POST_request.json") - .build()) - .response(TestResponse.builder() - .status(CREATED) - .payload("fixtures/client/v3/apps/POST_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(POST) + .path("/apps") + .payload("fixtures/client/v3/apps/POST_request.json") + .build()) + .response( + TestResponse.builder() + .status(CREATED) + .payload("fixtures/client/v3/apps/POST_response.json") + .build()) + .build()); this.applications - .create(CreateApplicationRequest.builder() - .name("my_app") - .relationships(ApplicationRelationships.builder() - .space(ToOneRelationship.builder() - .data(Relationship.builder() - .id("2f35885d-0c9d-4423-83ad-fd05066f8576") - .build()) - .build()) - .build()) - .metadata(Metadata.builder() - .annotation("version", "1.2.3") - .label("isLive", "true") - .build()) - .build()) - .as(StepVerifier::create) - .expectNext(CreateApplicationResponse.builder() - .id("1cb006ee-fb05-47e1-b541-c34179ddc446") - .name("my_app") - .state(ApplicationState.STOPPED) - .createdAt("2016-03-17T21:41:30Z") - .updatedAt("2016-06-08T16:41:26Z") - .lifecycle(Lifecycle.builder() - .type(LifecycleType.BUILDPACK) - .data(BuildpackData.builder() - .buildpack("java_buildpack") - .stack("cflinuxfs2") - .build()) - .build()) - .relationships(ApplicationRelationships.builder() - .space(ToOneRelationship.builder() - .data(Relationship.builder() - .id("2f35885d-0c9d-4423-83ad-fd05066f8576") - .build()) - .build()) - .build()) - .metadata(Metadata.builder() - .annotation("version", "1.2.3") - .label("isLive", "true") - .build()) - .link("self", Link.builder() - .href("https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446") - .build()) - .link("space", Link.builder() - .href("https://api.example.org/v3/spaces/2f35885d-0c9d-4423-83ad-fd05066f8576") - .build()) - .link("processes", Link.builder() - .href("https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/processes") - .build()) - .link("route_mappings", Link.builder() - .href("https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/route_mappings") - .build()) - .link("packages", Link.builder() - .href("https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/packages") - .build()) - .link("environment_variables", Link.builder() - .href("https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/environment_variables") - .build()) - .link("current_droplet", Link.builder() - .href("https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/droplets/current") - .build()) - .link("droplets", Link.builder() - .href("https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/droplets") - .build()) - .link("tasks", Link.builder() - .href("https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/tasks") - .build()) - .link("start", Link.builder() - .href("https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/actions/start") - .method("POST") - .build()) - .link("stop", Link.builder() - .href("https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/actions/stop") - .method("POST") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .create( + CreateApplicationRequest.builder() + .name("my_app") + .relationships( + ApplicationRelationships.builder() + .space( + ToOneRelationship.builder() + .data( + Relationship.builder() + .id( + "2f35885d-0c9d-4423-83ad-fd05066f8576") + .build()) + .build()) + .build()) + .metadata( + Metadata.builder() + .annotation("version", "1.2.3") + .label("isLive", "true") + .build()) + .build()) + .as(StepVerifier::create) + .expectNext( + CreateApplicationResponse.builder() + .id("1cb006ee-fb05-47e1-b541-c34179ddc446") + .name("my_app") + .state(ApplicationState.STOPPED) + .createdAt("2016-03-17T21:41:30Z") + .updatedAt("2016-06-08T16:41:26Z") + .lifecycle( + Lifecycle.builder() + .type(LifecycleType.BUILDPACK) + .data( + BuildpackData.builder() + .buildpack("java_buildpack") + .stack("cflinuxfs2") + .build()) + .build()) + .relationships( + ApplicationRelationships.builder() + .space( + ToOneRelationship.builder() + .data( + Relationship.builder() + .id( + "2f35885d-0c9d-4423-83ad-fd05066f8576") + .build()) + .build()) + .build()) + .metadata( + Metadata.builder() + .annotation("version", "1.2.3") + .label("isLive", "true") + .build()) + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446") + .build()) + .link( + "space", + Link.builder() + .href( + "https://api.example.org/v3/spaces/2f35885d-0c9d-4423-83ad-fd05066f8576") + .build()) + .link( + "processes", + Link.builder() + .href( + "https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/processes") + .build()) + .link( + "route_mappings", + Link.builder() + .href( + "https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/route_mappings") + .build()) + .link( + "packages", + Link.builder() + .href( + "https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/packages") + .build()) + .link( + "environment_variables", + Link.builder() + .href( + "https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/environment_variables") + .build()) + .link( + "current_droplet", + Link.builder() + .href( + "https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/droplets/current") + .build()) + .link( + "droplets", + Link.builder() + .href( + "https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/droplets") + .build()) + .link( + "tasks", + Link.builder() + .href( + "https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/tasks") + .build()) + .link( + "start", + Link.builder() + .href( + "https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/actions/start") + .method("POST") + .build()) + .link( + "stop", + Link.builder() + .href( + "https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/actions/stop") + .method("POST") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void delete() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(DELETE).path("/apps/test-application-id") - .build()) - .response(TestResponse.builder() - .status(ACCEPTED) - .header("Location", "https://api.example.org/v3/jobs/[guid]") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(DELETE) + .path("/apps/test-application-id") + .build()) + .response( + TestResponse.builder() + .status(ACCEPTED) + .header( + "Location", + "https://api.example.org/v3/jobs/[guid]") + .build()) + .build()); this.applications - .delete(DeleteApplicationRequest.builder() - .applicationId("test-application-id") - .build()) - .as(StepVerifier::create) - .expectNext("[guid]") - .expectComplete() - .verify(Duration.ofSeconds(5)); + .delete( + DeleteApplicationRequest.builder() + .applicationId("test-application-id") + .build()) + .as(StepVerifier::create) + .expectNext("[guid]") + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void get() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/apps/test-application-id") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v3/apps/GET_{id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/apps/test-application-id") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload("fixtures/client/v3/apps/GET_{id}_response.json") + .build()) + .build()); this.applications - .get(GetApplicationRequest.builder() - .applicationId("test-application-id") - .build()) - .as(StepVerifier::create) - .expectNext(GetApplicationResponse.builder() - .id("1cb006ee-fb05-47e1-b541-c34179ddc446") - .name("my_app") - .state(ApplicationState.STOPPED) - .createdAt("2016-03-17T21:41:30Z") - .updatedAt("2016-06-08T16:41:26Z") - .lifecycle(Lifecycle.builder() - .type(LifecycleType.BUILDPACK) - .data(BuildpackData.builder() - .buildpack("java_buildpack") - .stack("cflinuxfs2") - .build()) - .build()) - .relationships(ApplicationRelationships.builder() - .space(ToOneRelationship.builder() - .data(Relationship.builder() - .id("2f35885d-0c9d-4423-83ad-fd05066f8576") - .build()) - .build()) - .build()) - .metadata(Metadata.builder() - .annotation("version", "1.2.4") - .label("isLive", "false") - .label("maintenance", "true") - .build()) - .link("self", Link.builder() - .href("https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446") - .build()) - .link("space", Link.builder() - .href("https://api.example.org/v3/spaces/2f35885d-0c9d-4423-83ad-fd05066f8576") - .build()) - .link("processes", Link.builder() - .href("https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/processes") - .build()) - .link("route_mappings", Link.builder() - .href("https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/route_mappings") - .build()) - .link("packages", Link.builder() - .href("https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/packages") - .build()) - .link("environment_variables", Link.builder() - .href("https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/environment_variables") - .build()) - .link("current_droplet", Link.builder() - .href("https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/droplets/current") - .build()) - .link("droplets", Link.builder() - .href("https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/droplets") - .build()) - .link("tasks", Link.builder() - .href("https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/tasks") - .build()) - .link("start", Link.builder() - .href("https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/actions/start") - .method("POST") - .build()) - .link("stop", Link.builder() - .href("https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/actions/stop") - .method("POST") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .get(GetApplicationRequest.builder().applicationId("test-application-id").build()) + .as(StepVerifier::create) + .expectNext( + GetApplicationResponse.builder() + .id("1cb006ee-fb05-47e1-b541-c34179ddc446") + .name("my_app") + .state(ApplicationState.STOPPED) + .createdAt("2016-03-17T21:41:30Z") + .updatedAt("2016-06-08T16:41:26Z") + .lifecycle( + Lifecycle.builder() + .type(LifecycleType.BUILDPACK) + .data( + BuildpackData.builder() + .buildpack("java_buildpack") + .stack("cflinuxfs2") + .build()) + .build()) + .relationships( + ApplicationRelationships.builder() + .space( + ToOneRelationship.builder() + .data( + Relationship.builder() + .id( + "2f35885d-0c9d-4423-83ad-fd05066f8576") + .build()) + .build()) + .build()) + .metadata( + Metadata.builder() + .annotation("version", "1.2.4") + .label("isLive", "false") + .label("maintenance", "true") + .build()) + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446") + .build()) + .link( + "space", + Link.builder() + .href( + "https://api.example.org/v3/spaces/2f35885d-0c9d-4423-83ad-fd05066f8576") + .build()) + .link( + "processes", + Link.builder() + .href( + "https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/processes") + .build()) + .link( + "route_mappings", + Link.builder() + .href( + "https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/route_mappings") + .build()) + .link( + "packages", + Link.builder() + .href( + "https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/packages") + .build()) + .link( + "environment_variables", + Link.builder() + .href( + "https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/environment_variables") + .build()) + .link( + "current_droplet", + Link.builder() + .href( + "https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/droplets/current") + .build()) + .link( + "droplets", + Link.builder() + .href( + "https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/droplets") + .build()) + .link( + "tasks", + Link.builder() + .href( + "https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/tasks") + .build()) + .link( + "start", + Link.builder() + .href( + "https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/actions/start") + .method("POST") + .build()) + .link( + "stop", + Link.builder() + .href( + "https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/actions/stop") + .method("POST") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void getCurrentDroplet() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/apps/test-application-id/droplets/current") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v3/apps/GET_{id}_droplets_current_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/apps/test-application-id/droplets/current") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v3/apps/GET_{id}_droplets_current_response.json") + .build()) + .build()); this.applications - .getCurrentDroplet(GetApplicationCurrentDropletRequest.builder() - .applicationId("test-application-id") - .build()) - .as(StepVerifier::create) - .expectNext(GetApplicationCurrentDropletResponse.builder() - .id("585bc3c1-3743-497d-88b0-403ad6b56d16") - .state(DropletState.STAGED) - .error(null) - .lifecycle(Lifecycle.builder() - .type(LifecycleType.BUILDPACK) - .data(BuildpackData.builder() - .build()) - .build()) - .executionMetadata("") - .processType("rake", "bundle exec rake") - .processType("web", "bundle exec rackup config.ru -p $PORT") - .checksum(Checksum.builder() - .type(ChecksumType.SHA256) - .value("e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855") - .build()) - .buildpack(Buildpack.builder() - .name("ruby_buildpack") - .detectOutput("ruby 1.6.14") - .build()) - .stack("cflinuxfs2") - .image(null) - .createdAt("2016-03-28T23:39:34Z") - .updatedAt("2016-03-28T23:39:47Z") - .link("self", Link.builder() - .href("https://api.example.org/v3/droplets/585bc3c1-3743-497d-88b0-403ad6b56d16") - .build()) - .link("package", Link.builder() - .href("https://api.example.org/v3/packages/8222f76a-9e09-4360-b3aa-1ed329945e92") - .build()) - .link("app", Link.builder() - .href("https://api.example.org/v3/apps/7b34f1cf-7e73-428a-bb5a-8a17a8058396") - .build()) - .link("assign_current_droplet", Link.builder() - .href("https://api.example.org/v3/apps/7b34f1cf-7e73-428a-bb5a-8a17a8058396/relationships/current_droplet") - .method("PATCH") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .getCurrentDroplet( + GetApplicationCurrentDropletRequest.builder() + .applicationId("test-application-id") + .build()) + .as(StepVerifier::create) + .expectNext( + GetApplicationCurrentDropletResponse.builder() + .id("585bc3c1-3743-497d-88b0-403ad6b56d16") + .state(DropletState.STAGED) + .error(null) + .lifecycle( + Lifecycle.builder() + .type(LifecycleType.BUILDPACK) + .data(BuildpackData.builder().build()) + .build()) + .executionMetadata("") + .processType("rake", "bundle exec rake") + .processType("web", "bundle exec rackup config.ru -p $PORT") + .checksum( + Checksum.builder() + .type(ChecksumType.SHA256) + .value( + "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855") + .build()) + .buildpack( + Buildpack.builder() + .name("ruby_buildpack") + .detectOutput("ruby 1.6.14") + .build()) + .stack("cflinuxfs2") + .image(null) + .createdAt("2016-03-28T23:39:34Z") + .updatedAt("2016-03-28T23:39:47Z") + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/droplets/585bc3c1-3743-497d-88b0-403ad6b56d16") + .build()) + .link( + "package", + Link.builder() + .href( + "https://api.example.org/v3/packages/8222f76a-9e09-4360-b3aa-1ed329945e92") + .build()) + .link( + "app", + Link.builder() + .href( + "https://api.example.org/v3/apps/7b34f1cf-7e73-428a-bb5a-8a17a8058396") + .build()) + .link( + "assign_current_droplet", + Link.builder() + .href( + "https://api.example.org/v3/apps/7b34f1cf-7e73-428a-bb5a-8a17a8058396/relationships/current_droplet") + .method("PATCH") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void getCurrentDropletRelationship() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/apps/test-application-id/relationships/current_droplet") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v3/apps/GET_{id}_relationships_current_droplet_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path( + "/apps/test-application-id/relationships/current_droplet") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v3/apps/GET_{id}_relationships_current_droplet_response.json") + .build()) + .build()); this.applications - .getCurrentDropletRelationship(GetApplicationCurrentDropletRelationshipRequest.builder() - .applicationId("test-application-id") - .build()) - .as(StepVerifier::create) - .expectNext(GetApplicationCurrentDropletRelationshipResponse.builder() - .data(Relationship.builder() - .id("9d8e007c-ce52-4ea7-8a57-f2825d2c6b39") - .build()) - .link("self", Link.builder() - .href("https://api.example.org/v3/apps/d4c91047-7b29-4fda-b7f9-04033e5c9c9f/relationships/current_droplet") - .build()) - .link("related", Link.builder() - .href("https://api.example.org/v3/apps/d4c91047-7b29-4fda-b7f9-04033e5c9c9f/droplets/current") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .getCurrentDropletRelationship( + GetApplicationCurrentDropletRelationshipRequest.builder() + .applicationId("test-application-id") + .build()) + .as(StepVerifier::create) + .expectNext( + GetApplicationCurrentDropletRelationshipResponse.builder() + .data( + Relationship.builder() + .id("9d8e007c-ce52-4ea7-8a57-f2825d2c6b39") + .build()) + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/apps/d4c91047-7b29-4fda-b7f9-04033e5c9c9f/relationships/current_droplet") + .build()) + .link( + "related", + Link.builder() + .href( + "https://api.example.org/v3/apps/d4c91047-7b29-4fda-b7f9-04033e5c9c9f/droplets/current") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void getEnvironment() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/apps/test-application-id/env") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v3/apps/GET_{id}_env_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/apps/test-application-id/env") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v3/apps/GET_{id}_env_response.json") + .build()) + .build()); this.applications - .getEnvironment(GetApplicationEnvironmentRequest.builder() - .applicationId("test-application-id") - .build()) - .as(StepVerifier::create) - .expectNext(GetApplicationEnvironmentResponse.builder() - .stagingEnvironmentVariable("GEM_CACHE", "http://gem-cache.example.org") - .runningEnvironmentVariable("HTTP_PROXY", "http://proxy.example.org") - .environmentVariable("RAILS_ENV", "production") - .systemEnvironmentVariable("VCAP_SERVICES", FluentMap.builder() - .entry("mysql", Collections.singletonList(FluentMap.builder() - .entry("name", "db-for-my-app") - .entry("label", "mysql") - .entry("tags", Arrays.asList("relational", "sql")) - .entry("plan", "xlarge") - .entry("credentials", FluentMap.builder() - .entry("username", "user") - .entry("password", "top-secret") - .build()) - .entry("syslog_drain_url", "https://syslog.example.org/drain") - .entry("provider", null) - .build())) - .build()) - .applicationEnvironmentVariable("VCAP_APPLICATION", FluentMap.builder() - .entry("limits", FluentMap.builder() - .entry("fds", 16384) - .build()) - .entry("application_name", "my_app") - .entry("application_uris", Collections.singletonList("my_app.example.org")) - .entry("name", "my_app") - .entry("space_name", "my_space") - .entry("space_id", "2f35885d-0c9d-4423-83ad-fd05066f8576") - .entry("uris", Collections.singletonList("my_app.example.org")) - .entry("users", null) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .getEnvironment( + GetApplicationEnvironmentRequest.builder() + .applicationId("test-application-id") + .build()) + .as(StepVerifier::create) + .expectNext( + GetApplicationEnvironmentResponse.builder() + .stagingEnvironmentVariable( + "GEM_CACHE", "http://gem-cache.example.org") + .runningEnvironmentVariable( + "HTTP_PROXY", "http://proxy.example.org") + .environmentVariable("RAILS_ENV", "production") + .systemEnvironmentVariable( + "VCAP_SERVICES", + FluentMap.builder() + .entry( + "mysql", + Collections.singletonList( + FluentMap.builder() + .entry( + "name", + "db-for-my-app") + .entry("label", "mysql") + .entry( + "tags", + Arrays.asList( + "relational", + "sql")) + .entry("plan", "xlarge") + .entry( + "credentials", + FluentMap.builder() + .entry( + "username", + "user") + .entry( + "password", + "top-secret") + .build()) + .entry( + "syslog_drain_url", + "https://syslog.example.org/drain") + .entry("provider", null) + .build())) + .build()) + .applicationEnvironmentVariable( + "VCAP_APPLICATION", + FluentMap.builder() + .entry( + "limits", + FluentMap.builder() + .entry("fds", 16384) + .build()) + .entry("application_name", "my_app") + .entry( + "application_uris", + Collections.singletonList( + "my_app.example.org")) + .entry("name", "my_app") + .entry("space_name", "my_space") + .entry( + "space_id", + "2f35885d-0c9d-4423-83ad-fd05066f8576") + .entry( + "uris", + Collections.singletonList( + "my_app.example.org")) + .entry("users", null) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void getEnvironmentVariables() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/apps/test-application-id/environment_variables") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v3/apps/GET_{id}_environment_variables_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/apps/test-application-id/environment_variables") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v3/apps/GET_{id}_environment_variables_response.json") + .build()) + .build()); this.applications - .getEnvironmentVariables(GetApplicationEnvironmentVariablesRequest.builder() - .applicationId("test-application-id") - .build()) - .as(StepVerifier::create) - .expectNext(GetApplicationEnvironmentVariablesResponse.builder() - .var("RAILS_ENV", "production") - .link("self", Link.builder() - .href("https://api.example.org/v3/apps/[guid]/environment_variables") - .build()) - .link("app", Link.builder() - .href("https://api.example.org/v3/apps/[guid]") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .getEnvironmentVariables( + GetApplicationEnvironmentVariablesRequest.builder() + .applicationId("test-application-id") + .build()) + .as(StepVerifier::create) + .expectNext( + GetApplicationEnvironmentVariablesResponse.builder() + .var("RAILS_ENV", "production") + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/apps/[guid]/environment_variables") + .build()) + .link( + "app", + Link.builder() + .href("https://api.example.org/v3/apps/[guid]") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void getFeature() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/apps/test-application-id/features/test-feature-name") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v3/apps/GET_{id}_features_{name}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path( + "/apps/test-application-id/features/test-feature-name") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v3/apps/GET_{id}_features_{name}_response.json") + .build()) + .build()); this.applications - .getFeature(GetApplicationFeatureRequest.builder() - .applicationId("test-application-id") - .featureName("test-feature-name") - .build()) - .as(StepVerifier::create) - .expectNext(GetApplicationFeatureResponse.builder() - .description("Enable SSHing into the app.") - .enabled(true) - .name("ssh") - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .getFeature( + GetApplicationFeatureRequest.builder() + .applicationId("test-application-id") + .featureName("test-feature-name") + .build()) + .as(StepVerifier::create) + .expectNext( + GetApplicationFeatureResponse.builder() + .description("Enable SSHing into the app.") + .enabled(true) + .name("ssh") + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void getPermissions() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/apps/test-application-id/permissions") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v3/apps/GET_{id}_permissions_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/apps/test-application-id/permissions") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v3/apps/GET_{id}_permissions_response.json") + .build()) + .build()); this.applications - .getPermissions(GetApplicationPermissionsRequest.builder() - .applicationId("test-application-id") - .build()) - .as(StepVerifier::create) - .expectNext(GetApplicationPermissionsResponse.builder() - .readBasicData(true) - .readSensitiveData(false) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .getPermissions( + GetApplicationPermissionsRequest.builder() + .applicationId("test-application-id") + .build()) + .as(StepVerifier::create) + .expectNext( + GetApplicationPermissionsResponse.builder() + .readBasicData(true) + .readSensitiveData(false) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void getProcess() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/apps/test-application-id/processes/test-type") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v3/apps/GET_{id}_processes_{type}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/apps/test-application-id/processes/test-type") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v3/apps/GET_{id}_processes_{type}_response.json") + .build()) + .build()); this.applications - .getProcess(GetApplicationProcessRequest.builder() - .applicationId("test-application-id") - .type("test-type") - .build()) - .as(StepVerifier::create) - .expectNext(GetApplicationProcessResponse.builder() - .id("6a901b7c-9417-4dc1-8189-d3234aa0ab82") - .type("web") - .command("rackup") - .instances(5) - .memoryInMb(256) - .diskInMb(1_024) - .healthCheck(HealthCheck.builder() - .type(HealthCheckType.PORT) - .data(Data.builder() - .timeout(null) - .endpoint(null) - .build()) - .build()) - .metadata(Metadata.builder() - .annotations(Collections.emptyMap()) - .labels(Collections.emptyMap()) - .build()) - .relationships(ProcessRelationships.builder() - .build()) - .createdAt("2016-03-23T18:48:22Z") - .updatedAt("2016-03-23T18:48:42Z") - .link("self", Link.builder() - .href("https://api.example.org/v3/processes/6a901b7c-9417-4dc1-8189-d3234aa0ab82") - .build()) - .link("scale", Link.builder() - .href("https://api.example.org/v3/processes/6a901b7c-9417-4dc1-8189-d3234aa0ab82/actions/scale") - .method("POST") - .build()) - .link("app", Link.builder() - .href("https://api.example.org/v3/apps/ccc25a0f-c8f4-4b39-9f1b-de9f328d0ee5") - .build()) - .link("space", Link.builder() - .href("https://api.example.org/v3/spaces/2f35885d-0c9d-4423-83ad-fd05066f8576") - .build()) - .link("stats", Link.builder() - .href("https://api.example.org/v3/processes/6a901b7c-9417-4dc1-8189-d3234aa0ab82/stats") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .getProcess( + GetApplicationProcessRequest.builder() + .applicationId("test-application-id") + .type("test-type") + .build()) + .as(StepVerifier::create) + .expectNext( + GetApplicationProcessResponse.builder() + .id("6a901b7c-9417-4dc1-8189-d3234aa0ab82") + .type("web") + .command("rackup") + .instances(5) + .memoryInMb(256) + .diskInMb(1_024) + .healthCheck( + HealthCheck.builder() + .type(HealthCheckType.PORT) + .data( + Data.builder() + .timeout(null) + .endpoint(null) + .build()) + .build()) + .metadata( + Metadata.builder() + .annotations(Collections.emptyMap()) + .labels(Collections.emptyMap()) + .build()) + .relationships(ProcessRelationships.builder().build()) + .createdAt("2016-03-23T18:48:22Z") + .updatedAt("2016-03-23T18:48:42Z") + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/processes/6a901b7c-9417-4dc1-8189-d3234aa0ab82") + .build()) + .link( + "scale", + Link.builder() + .href( + "https://api.example.org/v3/processes/6a901b7c-9417-4dc1-8189-d3234aa0ab82/actions/scale") + .method("POST") + .build()) + .link( + "app", + Link.builder() + .href( + "https://api.example.org/v3/apps/ccc25a0f-c8f4-4b39-9f1b-de9f328d0ee5") + .build()) + .link( + "space", + Link.builder() + .href( + "https://api.example.org/v3/spaces/2f35885d-0c9d-4423-83ad-fd05066f8576") + .build()) + .link( + "stats", + Link.builder() + .href( + "https://api.example.org/v3/processes/6a901b7c-9417-4dc1-8189-d3234aa0ab82/stats") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void getProcessStatistics() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/apps/test-id/processes/test-type/stats") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v3/apps/GET_{id}_processes_{type}_stats_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/apps/test-id/processes/test-type/stats") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v3/apps/GET_{id}_processes_{type}_stats_response.json") + .build()) + .build()); this.applications - .getProcessStatistics(GetApplicationProcessStatisticsRequest.builder() - .applicationId("test-id") - .type("test-type") - .build()) - .as(StepVerifier::create) - .expectNext(GetApplicationProcessStatisticsResponse.builder() - .resource(ProcessStatisticsResource.builder() - .type("web") - .index(0) - .state(ProcessState.RUNNING) - .usage(ProcessUsage.builder() - .time("2016-03-23T23:17:30.476314154Z") - .cpu(0.00038711029163348665) - .memory(19177472L) - .disk(69705728L) - .build()) - .host("10.244.16.10") - .instancePort(PortMapping.builder() - .external(64546) - .externalTlsProxyPort(1234) - .internal(8080) - .internalTlsProxyPort(5678) - .build()) - .uptime(9042L) - .memoryQuota(268435456L) - .diskQuota(1073741824L) - .fileDescriptorQuota(16384L) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .getProcessStatistics( + GetApplicationProcessStatisticsRequest.builder() + .applicationId("test-id") + .type("test-type") + .build()) + .as(StepVerifier::create) + .expectNext( + GetApplicationProcessStatisticsResponse.builder() + .resource( + ProcessStatisticsResource.builder() + .type("web") + .index(0) + .state(ProcessState.RUNNING) + .usage( + ProcessUsage.builder() + .time( + "2016-03-23T23:17:30.476314154Z") + .cpu(0.00038711029163348665) + .memory(19177472L) + .disk(69705728L) + .build()) + .host("10.244.16.10") + .instancePort( + PortMapping.builder() + .external(64546) + .externalTlsProxyPort(1234) + .internal(8080) + .internalTlsProxyPort(5678) + .build()) + .uptime(9042L) + .memoryQuota(268435456L) + .diskQuota(1073741824L) + .fileDescriptorQuota(16384L) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void getSshEnabled() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/apps/test-application-id/ssh_enabled") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v3/apps/GET_{id}_ssh_enabled_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/apps/test-application-id/ssh_enabled") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v3/apps/GET_{id}_ssh_enabled_response.json") + .build()) + .build()); this.applications - .getSshEnabled(GetApplicationSshEnabledRequest.builder() - .applicationId("test-application-id") - .build()) - .as(StepVerifier::create) - .expectNext(GetApplicationSshEnabledResponse.builder() - .enabled(false) - .reason("Disabled globally") - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .getSshEnabled( + GetApplicationSshEnabledRequest.builder() + .applicationId("test-application-id") + .build()) + .as(StepVerifier::create) + .expectNext( + GetApplicationSshEnabledResponse.builder() + .enabled(false) + .reason("Disabled globally") + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void list() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/apps") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v3/apps/GET_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request(TestRequest.builder().method(GET).path("/apps").build()) + .response( + TestResponse.builder() + .status(OK) + .payload("fixtures/client/v3/apps/GET_response.json") + .build()) + .build()); this.applications - .list(ListApplicationsRequest.builder() - .build()) - .as(StepVerifier::create) - .expectNext(ListApplicationsResponse.builder() - .pagination(Pagination.builder() - .totalResults(3) - .totalPages(2) - .first(Link.builder() - .href("https://api.example.org/v3/apps?page=1&per_page=2") - .build()) - .last(Link.builder() - .href("https://api.example.org/v3/apps?page=2&per_page=2") - .build()) - .next(Link.builder() - .href("https://api.example.org/v3/apps?page=2&per_page=2") - .build()) - .build()) - .resource(ApplicationResource.builder() - .id("1cb006ee-fb05-47e1-b541-c34179ddc446") - .name("my_app") - .state(ApplicationState.STARTED) - .createdAt("2016-03-17T21:41:30Z") - .updatedAt("2016-03-18T11:32:30Z") - .lifecycle(Lifecycle.builder() - .type(LifecycleType.BUILDPACK) - .data(BuildpackData.builder() - .buildpack("java_buildpack") - .stack("cflinuxfs2") - .build()) - .build()) - .relationships(ApplicationRelationships.builder() - .space(ToOneRelationship.builder() - .data(Relationship.builder() - .id("2f35885d-0c9d-4423-83ad-fd05066f8576") - .build()) - .build()) - .build()) - .metadata(Metadata.builder() - .annotation("version", "1.2.3") - .label("isLive", "true") - .build()) - .link("self", Link.builder() - .href("https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446") - .build()) - .link("space", Link.builder() - .href("https://api.example.org/v3/spaces/2f35885d-0c9d-4423-83ad-fd05066f8576") - .build()) - .link("processes", Link.builder() - .href("https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/processes") - .build()) - .link("route_mappings", Link.builder() - .href("https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/route_mappings") - .build()) - .link("packages", Link.builder() - .href("https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/packages") - .build()) - .link("environment_variables", Link.builder() - .href("https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/environment_variables") - .build()) - .link("current_droplet", Link.builder() - .href("https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/droplets/current") - .build()) - .link("droplets", Link.builder() - .href("https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/droplets") - .build()) - .link("tasks", Link.builder() - .href("https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/tasks") - .build()) - .link("start", Link.builder() - .href("https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/actions/start") - .method("POST") - .build()) - .link("stop", Link.builder() - .href("https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/actions/stop") - .method("POST") - .build()) - .build()) - .resource(ApplicationResource.builder() - .id("02b4ec9b-94c7-4468-9c23-4e906191a0f8") - .name("my_app2") - .state(ApplicationState.STOPPED) - .createdAt("1970-01-01T00:00:02Z") - .updatedAt("2016-06-08T16:41:26Z") - .lifecycle(Lifecycle.builder() - .type(LifecycleType.BUILDPACK) - .data(BuildpackData.builder() - .buildpack("ruby_buildpack") - .stack("cflinuxfs2") - .build()) - .build()) - .relationships(ApplicationRelationships.builder() - .space(ToOneRelationship.builder() - .data(Relationship.builder() - .id("2f35885d-0c9d-4423-83ad-fd05066f8576") + .list(ListApplicationsRequest.builder().build()) + .as(StepVerifier::create) + .expectNext( + ListApplicationsResponse.builder() + .pagination( + Pagination.builder() + .totalResults(3) + .totalPages(2) + .first( + Link.builder() + .href( + "https://api.example.org/v3/apps?page=1&per_page=2") + .build()) + .last( + Link.builder() + .href( + "https://api.example.org/v3/apps?page=2&per_page=2") + .build()) + .next( + Link.builder() + .href( + "https://api.example.org/v3/apps?page=2&per_page=2") + .build()) + .build()) + .resource( + ApplicationResource.builder() + .id("1cb006ee-fb05-47e1-b541-c34179ddc446") + .name("my_app") + .state(ApplicationState.STARTED) + .createdAt("2016-03-17T21:41:30Z") + .updatedAt("2016-03-18T11:32:30Z") + .lifecycle( + Lifecycle.builder() + .type(LifecycleType.BUILDPACK) + .data( + BuildpackData.builder() + .buildpack( + "java_buildpack") + .stack("cflinuxfs2") + .build()) + .build()) + .relationships( + ApplicationRelationships.builder() + .space( + ToOneRelationship.builder() + .data( + Relationship + .builder() + .id( + "2f35885d-0c9d-4423-83ad-fd05066f8576") + .build()) + .build()) + .build()) + .metadata( + Metadata.builder() + .annotation("version", "1.2.3") + .label("isLive", "true") + .build()) + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446") + .build()) + .link( + "space", + Link.builder() + .href( + "https://api.example.org/v3/spaces/2f35885d-0c9d-4423-83ad-fd05066f8576") + .build()) + .link( + "processes", + Link.builder() + .href( + "https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/processes") + .build()) + .link( + "route_mappings", + Link.builder() + .href( + "https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/route_mappings") + .build()) + .link( + "packages", + Link.builder() + .href( + "https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/packages") + .build()) + .link( + "environment_variables", + Link.builder() + .href( + "https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/environment_variables") + .build()) + .link( + "current_droplet", + Link.builder() + .href( + "https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/droplets/current") + .build()) + .link( + "droplets", + Link.builder() + .href( + "https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/droplets") + .build()) + .link( + "tasks", + Link.builder() + .href( + "https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/tasks") + .build()) + .link( + "start", + Link.builder() + .href( + "https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/actions/start") + .method("POST") + .build()) + .link( + "stop", + Link.builder() + .href( + "https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/actions/stop") + .method("POST") + .build()) + .build()) + .resource( + ApplicationResource.builder() + .id("02b4ec9b-94c7-4468-9c23-4e906191a0f8") + .name("my_app2") + .state(ApplicationState.STOPPED) + .createdAt("1970-01-01T00:00:02Z") + .updatedAt("2016-06-08T16:41:26Z") + .lifecycle( + Lifecycle.builder() + .type(LifecycleType.BUILDPACK) + .data( + BuildpackData.builder() + .buildpack( + "ruby_buildpack") + .stack("cflinuxfs2") + .build()) + .build()) + .relationships( + ApplicationRelationships.builder() + .space( + ToOneRelationship.builder() + .data( + Relationship + .builder() + .id( + "2f35885d-0c9d-4423-83ad-fd05066f8576") + .build()) + .build()) + .build()) + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/apps/02b4ec9b-94c7-4468-9c23-4e906191a0f8") + .build()) + .link( + "space", + Link.builder() + .href( + "https://api.example.org/v3/spaces/2f35885d-0c9d-4423-83ad-fd05066f8576") + .build()) + .link( + "processes", + Link.builder() + .href( + "https://api.example.org/v3/apps/02b4ec9b-94c7-4468-9c23-4e906191a0f8/processes") + .build()) + .link( + "route_mappings", + Link.builder() + .href( + "https://api.example.org/v3/apps/02b4ec9b-94c7-4468-9c23-4e906191a0f8/route_mappings") + .build()) + .link( + "packages", + Link.builder() + .href( + "https://api.example.org/v3/apps/02b4ec9b-94c7-4468-9c23-4e906191a0f8/packages") + .build()) + .link( + "environment_variables", + Link.builder() + .href( + "https://api.example.org/v3/apps/02b4ec9b-94c7-4468-9c23-4e906191a0f8/environment_variables") + .build()) + .link( + "current_droplet", + Link.builder() + .href( + "https://api.example.org/v3/apps/02b4ec9b-94c7-4468-9c23-4e906191a0f8/droplets/current") + .build()) + .link( + "droplets", + Link.builder() + .href( + "https://api.example.org/v3/apps/02b4ec9b-94c7-4468-9c23-4e906191a0f8/droplets") + .build()) + .link( + "tasks", + Link.builder() + .href( + "https://api.example.org/v3/apps/02b4ec9b-94c7-4468-9c23-4e906191a0f8/tasks") + .build()) + .link( + "start", + Link.builder() + .href( + "https://api.example.org/v3/apps/02b4ec9b-94c7-4468-9c23-4e906191a0f8/actions/start") + .method("POST") + .build()) + .link( + "stop", + Link.builder() + .href( + "https://api.example.org/v3/apps/02b4ec9b-94c7-4468-9c23-4e906191a0f8/actions/stop") + .method("POST") + .build()) + .build()) .build()) - .build()) - .build()) - .link("self", Link.builder() - .href("https://api.example.org/v3/apps/02b4ec9b-94c7-4468-9c23-4e906191a0f8") - .build()) - .link("space", Link.builder() - .href("https://api.example.org/v3/spaces/2f35885d-0c9d-4423-83ad-fd05066f8576") - .build()) - .link("processes", Link.builder() - .href("https://api.example.org/v3/apps/02b4ec9b-94c7-4468-9c23-4e906191a0f8/processes") - .build()) - .link("route_mappings", Link.builder() - .href("https://api.example.org/v3/apps/02b4ec9b-94c7-4468-9c23-4e906191a0f8/route_mappings") - .build()) - .link("packages", Link.builder() - .href("https://api.example.org/v3/apps/02b4ec9b-94c7-4468-9c23-4e906191a0f8/packages") - .build()) - .link("environment_variables", Link.builder() - .href("https://api.example.org/v3/apps/02b4ec9b-94c7-4468-9c23-4e906191a0f8/environment_variables") - .build()) - .link("current_droplet", Link.builder() - .href("https://api.example.org/v3/apps/02b4ec9b-94c7-4468-9c23-4e906191a0f8/droplets/current") - .build()) - .link("droplets", Link.builder() - .href("https://api.example.org/v3/apps/02b4ec9b-94c7-4468-9c23-4e906191a0f8/droplets") - .build()) - .link("tasks", Link.builder() - .href("https://api.example.org/v3/apps/02b4ec9b-94c7-4468-9c23-4e906191a0f8/tasks") - .build()) - .link("start", Link.builder() - .href("https://api.example.org/v3/apps/02b4ec9b-94c7-4468-9c23-4e906191a0f8/actions/start") - .method("POST") - .build()) - .link("stop", Link.builder() - .href("https://api.example.org/v3/apps/02b4ec9b-94c7-4468-9c23-4e906191a0f8/actions/stop") - .method("POST") - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void listBuilds() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/apps/test-application-id/builds") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v3/apps/GET_{id}_builds_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/apps/test-application-id/builds") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v3/apps/GET_{id}_builds_response.json") + .build()) + .build()); this.applications - .listBuilds(ListApplicationBuildsRequest.builder() - .applicationId("test-application-id") - .build()) - .as(StepVerifier::create) - .expectNext(ListApplicationBuildsResponse.builder() - .pagination(Pagination.builder() - .totalResults(1) - .totalPages(1) - .first(Link.builder() - .href("https://api.example.org/v3/apps/test-application-id/builds?states=STAGING&page=1&per_page=2") - .build()) - .last(Link.builder() - .href("https://api.example.org/v3/apps/test-application-id/builds?states=STAGING&page=1&per_page=2") - .build()) - .build()) - .resource(BuildResource.builder() - .id("585bc3c1-3743-497d-88b0-403ad6b56d16") - .createdAt("2016-03-28T23:39:34Z") - .updatedAt("2016-06-08T16:41:26Z") - .createdBy(CreatedBy.builder() - .id("3cb4e243-bed4-49d5-8739-f8b45abdec1c") - .name("bill") - .email("bill@example.com") - .build()) - .state(BuildState.STAGING) - .error(null) - .lifecycle(Lifecycle.builder() - .type(LifecycleType.BUILDPACK) - .data(BuildpackData.builder() - .buildpack("ruby_buildpack") - .stack("cflinuxfs2") - .build()) - .build()) - .inputPackage(Relationship.builder() - .id("8e4da443-f255-499c-8b47-b3729b5b7432") - .build()) - .link("self", Link.builder() - .href("https://api.example.org/v3/builds/585bc3c1-3743-497d-88b0-403ad6b56d16") - .build()) - .link("app", Link.builder() - .href("https://api.example.org/v3/apps/7b34f1cf-7e73-428a-bb5a-8a17a8058396") - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .listBuilds( + ListApplicationBuildsRequest.builder() + .applicationId("test-application-id") + .build()) + .as(StepVerifier::create) + .expectNext( + ListApplicationBuildsResponse.builder() + .pagination( + Pagination.builder() + .totalResults(1) + .totalPages(1) + .first( + Link.builder() + .href( + "https://api.example.org/v3/apps/test-application-id/builds?states=STAGING&page=1&per_page=2") + .build()) + .last( + Link.builder() + .href( + "https://api.example.org/v3/apps/test-application-id/builds?states=STAGING&page=1&per_page=2") + .build()) + .build()) + .resource( + BuildResource.builder() + .id("585bc3c1-3743-497d-88b0-403ad6b56d16") + .createdAt("2016-03-28T23:39:34Z") + .updatedAt("2016-06-08T16:41:26Z") + .createdBy( + CreatedBy.builder() + .id( + "3cb4e243-bed4-49d5-8739-f8b45abdec1c") + .name("bill") + .email("bill@example.com") + .build()) + .state(BuildState.STAGING) + .error(null) + .lifecycle( + Lifecycle.builder() + .type(LifecycleType.BUILDPACK) + .data( + BuildpackData.builder() + .buildpack( + "ruby_buildpack") + .stack("cflinuxfs2") + .build()) + .build()) + .inputPackage( + Relationship.builder() + .id( + "8e4da443-f255-499c-8b47-b3729b5b7432") + .build()) + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/builds/585bc3c1-3743-497d-88b0-403ad6b56d16") + .build()) + .link( + "app", + Link.builder() + .href( + "https://api.example.org/v3/apps/7b34f1cf-7e73-428a-bb5a-8a17a8058396") + .build()) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void listDroplets() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/apps/test-application-id/droplets") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v3/apps/GET_{id}_droplets_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/apps/test-application-id/droplets") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v3/apps/GET_{id}_droplets_response.json") + .build()) + .build()); this.applications - .listDroplets(ListApplicationDropletsRequest.builder() - .applicationId("test-application-id") - .build()) - .as(StepVerifier::create) - .expectNext(ListApplicationDropletsResponse.builder() - .pagination(Pagination.builder() - .totalResults(2) - .totalPages(1) - .first(Link.builder() - .href("https://api.example.org/v3/app/7b34f1cf-7e73-428a-bb5a-8a17a8058396/droplets?page=1&per_page=50") - .build()) - .last(Link.builder() - .href("https://api.example.org/v3/app/7b34f1cf-7e73-428a-bb5a-8a17a8058396/droplets?page=1&per_page=50") - .build()) - .build()) - .resource(DropletResource.builder() - .id("585bc3c1-3743-497d-88b0-403ad6b56d16") - .state(DropletState.STAGED) - .error(null) - .lifecycle(Lifecycle.builder() - .type(LifecycleType.BUILDPACK) - .data(BuildpackData.builder() - .build()) - .build()) - .image(null) - .executionMetadata("PRIVATE DATA HIDDEN") - .processType("redacted_message", "[PRIVATE DATA HIDDEN IN LISTS]") - .checksum(Checksum.builder() - .type(ChecksumType.SHA256) - .value("e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855") - .build()) - .buildpack(Buildpack.builder() - .name("ruby_buildpack") - .detectOutput("ruby 1.6.14") - .build()) - .stack("cflinuxfs2") - .createdAt("2016-03-28T23:39:34Z") - .updatedAt("2016-03-28T23:39:47Z") - .link("self", Link.builder() - .href("https://api.example.org/v3/droplets/585bc3c1-3743-497d-88b0-403ad6b56d16") - .build()) - .link("package", Link.builder() - .href("https://api.example.org/v3/packages/8222f76a-9e09-4360-b3aa-1ed329945e92") - .build()) - .link("app", Link.builder() - .href("https://api.example.org/v3/apps/7b34f1cf-7e73-428a-bb5a-8a17a8058396") - .build()) - .link("assign_current_droplet", Link.builder() - .href("https://api.example.org/v3/apps/7b34f1cf-7e73-428a-bb5a-8a17a8058396/relationships/current_droplet") - .method("PATCH") - .build()) - .build()) - .resource(DropletResource.builder() - .id("fdf3851c-def8-4de1-87f1-6d4543189e22") - .state(DropletState.STAGED) - .error(null) - .lifecycle(Lifecycle.builder() - .type(LifecycleType.DOCKER) - .data(DockerData.builder() - .build()) - .build()) - .executionMetadata("[PRIVATE DATA HIDDEN IN LISTS]") - .processType("redacted_message", "[PRIVATE DATA HIDDEN IN LISTS]") - .image("cloudfoundry/diego-docker-app-custom:latest") - .checksum(null) - .stack(null) - .createdAt("2016-03-17T00:00:01Z") - .updatedAt("2016-03-17T21:41:32Z") - .link("self", Link.builder() - .href("https://api.example.org/v3/droplets/fdf3851c-def8-4de1-87f1-6d4543189e22") - .build()) - .link("package", Link.builder() - .href("https://api.example.org/v3/packages/c5725684-a02f-4e59-bc67-8f36ae944688") - .build()) - .link("app", Link.builder() - .href("https://api.example.org/v3/apps/7b34f1cf-7e73-428a-bb5a-8a17a8058396") - .build()) - .link("assign_current_droplet", Link.builder() - .href("https://api.example.org/v3/apps/7b34f1cf-7e73-428a-bb5a-8a17a8058396/relationships/current_droplet") - .method("PATCH") - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .listDroplets( + ListApplicationDropletsRequest.builder() + .applicationId("test-application-id") + .build()) + .as(StepVerifier::create) + .expectNext( + ListApplicationDropletsResponse.builder() + .pagination( + Pagination.builder() + .totalResults(2) + .totalPages(1) + .first( + Link.builder() + .href( + "https://api.example.org/v3/app/7b34f1cf-7e73-428a-bb5a-8a17a8058396/droplets?page=1&per_page=50") + .build()) + .last( + Link.builder() + .href( + "https://api.example.org/v3/app/7b34f1cf-7e73-428a-bb5a-8a17a8058396/droplets?page=1&per_page=50") + .build()) + .build()) + .resource( + DropletResource.builder() + .id("585bc3c1-3743-497d-88b0-403ad6b56d16") + .state(DropletState.STAGED) + .error(null) + .lifecycle( + Lifecycle.builder() + .type(LifecycleType.BUILDPACK) + .data( + BuildpackData.builder() + .build()) + .build()) + .image(null) + .executionMetadata("PRIVATE DATA HIDDEN") + .processType( + "redacted_message", + "[PRIVATE DATA HIDDEN IN LISTS]") + .checksum( + Checksum.builder() + .type(ChecksumType.SHA256) + .value( + "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855") + .build()) + .buildpack( + Buildpack.builder() + .name("ruby_buildpack") + .detectOutput("ruby 1.6.14") + .build()) + .stack("cflinuxfs2") + .createdAt("2016-03-28T23:39:34Z") + .updatedAt("2016-03-28T23:39:47Z") + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/droplets/585bc3c1-3743-497d-88b0-403ad6b56d16") + .build()) + .link( + "package", + Link.builder() + .href( + "https://api.example.org/v3/packages/8222f76a-9e09-4360-b3aa-1ed329945e92") + .build()) + .link( + "app", + Link.builder() + .href( + "https://api.example.org/v3/apps/7b34f1cf-7e73-428a-bb5a-8a17a8058396") + .build()) + .link( + "assign_current_droplet", + Link.builder() + .href( + "https://api.example.org/v3/apps/7b34f1cf-7e73-428a-bb5a-8a17a8058396/relationships/current_droplet") + .method("PATCH") + .build()) + .build()) + .resource( + DropletResource.builder() + .id("fdf3851c-def8-4de1-87f1-6d4543189e22") + .state(DropletState.STAGED) + .error(null) + .lifecycle( + Lifecycle.builder() + .type(LifecycleType.DOCKER) + .data(DockerData.builder().build()) + .build()) + .executionMetadata("[PRIVATE DATA HIDDEN IN LISTS]") + .processType( + "redacted_message", + "[PRIVATE DATA HIDDEN IN LISTS]") + .image( + "cloudfoundry/diego-docker-app-custom:latest") + .checksum(null) + .stack(null) + .createdAt("2016-03-17T00:00:01Z") + .updatedAt("2016-03-17T21:41:32Z") + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/droplets/fdf3851c-def8-4de1-87f1-6d4543189e22") + .build()) + .link( + "package", + Link.builder() + .href( + "https://api.example.org/v3/packages/c5725684-a02f-4e59-bc67-8f36ae944688") + .build()) + .link( + "app", + Link.builder() + .href( + "https://api.example.org/v3/apps/7b34f1cf-7e73-428a-bb5a-8a17a8058396") + .build()) + .link( + "assign_current_droplet", + Link.builder() + .href( + "https://api.example.org/v3/apps/7b34f1cf-7e73-428a-bb5a-8a17a8058396/relationships/current_droplet") + .method("PATCH") + .build()) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void listFeatures() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/apps/test-application-id/features") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v3/apps/GET_{id}_features_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/apps/test-application-id/features") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v3/apps/GET_{id}_features_response.json") + .build()) + .build()); this.applications - .listFeatures(ListApplicationFeaturesRequest.builder() - .applicationId("test-application-id") - .build()) - .as(StepVerifier::create) - .expectNext(ListApplicationFeaturesResponse.builder() - .pagination(Pagination.builder() - .totalResults(1) - .totalPages(1) - .first(Link.builder() - .href("/v3/apps/05d39de4-2c9e-4c76-8fd6-10417da07e42/features") - .build()) - .last(Link.builder() - .href("/v3/apps/05d39de4-2c9e-4c76-8fd6-10417da07e42/features") - .build()) - .build()) - .resource(ApplicationFeatureResource.builder() - .name("ssh") - .description("Enable SSHing into the app.") - .enabled(true) - .build()) - .resource(ApplicationFeatureResource.builder() - .name("revisions") - .description("Enable versioning of an application") - .enabled(false) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .listFeatures( + ListApplicationFeaturesRequest.builder() + .applicationId("test-application-id") + .build()) + .as(StepVerifier::create) + .expectNext( + ListApplicationFeaturesResponse.builder() + .pagination( + Pagination.builder() + .totalResults(1) + .totalPages(1) + .first( + Link.builder() + .href( + "/v3/apps/05d39de4-2c9e-4c76-8fd6-10417da07e42/features") + .build()) + .last( + Link.builder() + .href( + "/v3/apps/05d39de4-2c9e-4c76-8fd6-10417da07e42/features") + .build()) + .build()) + .resource( + ApplicationFeatureResource.builder() + .name("ssh") + .description("Enable SSHing into the app.") + .enabled(true) + .build()) + .resource( + ApplicationFeatureResource.builder() + .name("revisions") + .description("Enable versioning of an application") + .enabled(false) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void listPackages() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/apps/test-application-id/packages") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v3/apps/GET_{id}_packages_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/apps/test-application-id/packages") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v3/apps/GET_{id}_packages_response.json") + .build()) + .build()); this.applications - .listPackages(ListApplicationPackagesRequest.builder() - .applicationId("test-application-id") - .build()) - .as(StepVerifier::create) - .expectNext(ListApplicationPackagesResponse.builder() - .pagination(Pagination.builder() - .totalResults(1) - .totalPages(1) - .first(Link.builder() - .href("https://api.example.org/v3/apps/f2efe391-2b5b-4836-8518-ad93fa9ebf69/packages?states=READY&page=1&per_page=50") - .build()) - .last(Link.builder() - .href("https://api.example.org/v3/apps/f2efe391-2b5b-4836-8518-ad93fa9ebf69/packages?states=READY&page=1&per_page=50") - .build()) - .build()) - .resource(PackageResource.builder() - .id("752edab0-2147-4f58-9c25-cd72ad8c3561") - .type(PackageType.BITS) - .data(BitsData.builder() - .error(null) - .checksum(Checksum.builder() - .type(ChecksumType.SHA256) - .value(null) - .build()) - .build()) - .state(PackageState.READY) - .createdAt("2016-03-17T21:41:09Z") - .updatedAt("2016-06-08T16:41:26Z") - .link("self", Link.builder() - .href("https://api.example.org/v3/packages/752edab0-2147-4f58-9c25-cd72ad8c3561") - .build()) - .link("upload", Link.builder() - .href("https://api.example.org/v3/packages/752edab0-2147-4f58-9c25-cd72ad8c3561/upload") - .method("POST") - .build()) - .link("download", Link.builder() - .href("https://api.example.org/v3/packages/752edab0-2147-4f58-9c25-cd72ad8c3561/download") - .method("GET") - .build()) - .link("app", Link.builder() - .href("https://api.example.org/v3/apps/f2efe391-2b5b-4836-8518-ad93fa9ebf69") - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .listPackages( + ListApplicationPackagesRequest.builder() + .applicationId("test-application-id") + .build()) + .as(StepVerifier::create) + .expectNext( + ListApplicationPackagesResponse.builder() + .pagination( + Pagination.builder() + .totalResults(1) + .totalPages(1) + .first( + Link.builder() + .href( + "https://api.example.org/v3/apps/f2efe391-2b5b-4836-8518-ad93fa9ebf69/packages?states=READY&page=1&per_page=50") + .build()) + .last( + Link.builder() + .href( + "https://api.example.org/v3/apps/f2efe391-2b5b-4836-8518-ad93fa9ebf69/packages?states=READY&page=1&per_page=50") + .build()) + .build()) + .resource( + PackageResource.builder() + .id("752edab0-2147-4f58-9c25-cd72ad8c3561") + .type(PackageType.BITS) + .data( + BitsData.builder() + .error(null) + .checksum( + Checksum.builder() + .type( + ChecksumType + .SHA256) + .value(null) + .build()) + .build()) + .state(PackageState.READY) + .createdAt("2016-03-17T21:41:09Z") + .updatedAt("2016-06-08T16:41:26Z") + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/packages/752edab0-2147-4f58-9c25-cd72ad8c3561") + .build()) + .link( + "upload", + Link.builder() + .href( + "https://api.example.org/v3/packages/752edab0-2147-4f58-9c25-cd72ad8c3561/upload") + .method("POST") + .build()) + .link( + "download", + Link.builder() + .href( + "https://api.example.org/v3/packages/752edab0-2147-4f58-9c25-cd72ad8c3561/download") + .method("GET") + .build()) + .link( + "app", + Link.builder() + .href( + "https://api.example.org/v3/apps/f2efe391-2b5b-4836-8518-ad93fa9ebf69") + .build()) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void listProcesses() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/apps/test-application-id/processes") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v3/apps/GET_{id}_processes_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/apps/test-application-id/processes") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v3/apps/GET_{id}_processes_response.json") + .build()) + .build()); this.applications - .listProcesses(ListApplicationProcessesRequest.builder() - .applicationId("test-application-id") - .build()) - .as(StepVerifier::create) - .expectNext(ListApplicationProcessesResponse.builder() - .pagination(Pagination.builder() - .totalResults(3) - .totalPages(2) - .first(Link.builder() - .href("https://api.example.org/v3/apps/ccc25a0f-c8f4-4b39-9f1b-de9f328d0ee5/processes?page=1&per_page=2") - .build()) - .last(Link.builder() - .href("https://api.example.org/v3/apps/ccc25a0f-c8f4-4b39-9f1b-de9f328d0ee5/processes?page=2&per_page=2") - .build()) - .next(Link.builder() - .href("https://api.example.org/v3/apps/ccc25a0f-c8f4-4b39-9f1b-de9f328d0ee5/processes?page=2&per_page=2") - .build()) - .build()) - .resource(ProcessResource.builder() - .id("6a901b7c-9417-4dc1-8189-d3234aa0ab82") - .type("web") - .command("[PRIVATE DATA HIDDEN IN LISTS]") - .instances(5) - .memoryInMb(256) - .diskInMb(1_024) - .healthCheck(HealthCheck.builder() - .type(HealthCheckType.PORT) - .data(Data.builder() - .timeout(null) - .endpoint(null) - .build()) - .build()) - .metadata(Metadata.builder() - .annotations(Collections.emptyMap()) - .labels(Collections.emptyMap()) - .build()) - .relationships(ProcessRelationships.builder() - .build()) - .createdAt("2016-03-23T18:48:22Z") - .updatedAt("2016-03-23T18:48:42Z") - .link("self", Link.builder() - .href("https://api.example.org/v3/processes/6a901b7c-9417-4dc1-8189-d3234aa0ab82") - .build()) - .link("scale", Link.builder() - .href("https://api.example.org/v3/processes/6a901b7c-9417-4dc1-8189-d3234aa0ab82/actions/scale") - .method("POST") - .build()) - .link("app", Link.builder() - .href("https://api.example.org/v3/apps/ccc25a0f-c8f4-4b39-9f1b-de9f328d0ee5") - .build()) - .link("space", Link.builder() - .href("https://api.example.org/v3/spaces/2f35885d-0c9d-4423-83ad-fd05066f8576") - .build()) - .link("stats", Link.builder() - .href("https://api.example.org/v3/processes/6a901b7c-9417-4dc1-8189-d3234aa0ab82/stats") - .build()) - .build()) - .resource(ProcessResource.builder() - .id("3fccacd9-4b02-4b96-8d02-8e865865e9eb") - .type("worker") - .command("[PRIVATE DATA HIDDEN IN LISTS]") - .instances(1) - .memoryInMb(256) - .diskInMb(1_024) - .healthCheck(HealthCheck.builder() - .type(HealthCheckType.PROCESS) - .data(Data.builder() - .timeout(null) - .endpoint(null) - .build()) - .build()) - .metadata(Metadata.builder() - .annotations(Collections.emptyMap()) - .labels(Collections.emptyMap()) - .build()) - .relationships(ProcessRelationships.builder() - .build()) - .createdAt("2016-03-23T18:48:22Z") - .updatedAt("2016-03-23T18:48:42Z") - .link("self", Link.builder() - .href("https://api.example.org/v3/processes/3fccacd9-4b02-4b96-8d02-8e865865e9eb") - .build()) - .link("scale", Link.builder() - .href("https://api.example.org/v3/processes/3fccacd9-4b02-4b96-8d02-8e865865e9eb/actions/scale") - .method("POST") - .build()) - .link("app", Link.builder() - .href("https://api.example.org/v3/apps/ccc25a0f-c8f4-4b39-9f1b-de9f328d0ee5") - .build()) - .link("space", Link.builder() - .href("https://api.example.org/v3/spaces/2f35885d-0c9d-4423-83ad-fd05066f8576") - .build()) - .link("stats", Link.builder() - .href("https://api.example.org/v3/processes/3fccacd9-4b02-4b96-8d02-8e865865e9eb/stats") - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .listProcesses( + ListApplicationProcessesRequest.builder() + .applicationId("test-application-id") + .build()) + .as(StepVerifier::create) + .expectNext( + ListApplicationProcessesResponse.builder() + .pagination( + Pagination.builder() + .totalResults(3) + .totalPages(2) + .first( + Link.builder() + .href( + "https://api.example.org/v3/apps/ccc25a0f-c8f4-4b39-9f1b-de9f328d0ee5/processes?page=1&per_page=2") + .build()) + .last( + Link.builder() + .href( + "https://api.example.org/v3/apps/ccc25a0f-c8f4-4b39-9f1b-de9f328d0ee5/processes?page=2&per_page=2") + .build()) + .next( + Link.builder() + .href( + "https://api.example.org/v3/apps/ccc25a0f-c8f4-4b39-9f1b-de9f328d0ee5/processes?page=2&per_page=2") + .build()) + .build()) + .resource( + ProcessResource.builder() + .id("6a901b7c-9417-4dc1-8189-d3234aa0ab82") + .type("web") + .command("[PRIVATE DATA HIDDEN IN LISTS]") + .instances(5) + .memoryInMb(256) + .diskInMb(1_024) + .healthCheck( + HealthCheck.builder() + .type(HealthCheckType.PORT) + .data( + Data.builder() + .timeout(null) + .endpoint(null) + .build()) + .build()) + .metadata( + Metadata.builder() + .annotations(Collections.emptyMap()) + .labels(Collections.emptyMap()) + .build()) + .relationships( + ProcessRelationships.builder().build()) + .createdAt("2016-03-23T18:48:22Z") + .updatedAt("2016-03-23T18:48:42Z") + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/processes/6a901b7c-9417-4dc1-8189-d3234aa0ab82") + .build()) + .link( + "scale", + Link.builder() + .href( + "https://api.example.org/v3/processes/6a901b7c-9417-4dc1-8189-d3234aa0ab82/actions/scale") + .method("POST") + .build()) + .link( + "app", + Link.builder() + .href( + "https://api.example.org/v3/apps/ccc25a0f-c8f4-4b39-9f1b-de9f328d0ee5") + .build()) + .link( + "space", + Link.builder() + .href( + "https://api.example.org/v3/spaces/2f35885d-0c9d-4423-83ad-fd05066f8576") + .build()) + .link( + "stats", + Link.builder() + .href( + "https://api.example.org/v3/processes/6a901b7c-9417-4dc1-8189-d3234aa0ab82/stats") + .build()) + .build()) + .resource( + ProcessResource.builder() + .id("3fccacd9-4b02-4b96-8d02-8e865865e9eb") + .type("worker") + .command("[PRIVATE DATA HIDDEN IN LISTS]") + .instances(1) + .memoryInMb(256) + .diskInMb(1_024) + .healthCheck( + HealthCheck.builder() + .type(HealthCheckType.PROCESS) + .data( + Data.builder() + .timeout(null) + .endpoint(null) + .build()) + .build()) + .metadata( + Metadata.builder() + .annotations(Collections.emptyMap()) + .labels(Collections.emptyMap()) + .build()) + .relationships( + ProcessRelationships.builder().build()) + .createdAt("2016-03-23T18:48:22Z") + .updatedAt("2016-03-23T18:48:42Z") + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/processes/3fccacd9-4b02-4b96-8d02-8e865865e9eb") + .build()) + .link( + "scale", + Link.builder() + .href( + "https://api.example.org/v3/processes/3fccacd9-4b02-4b96-8d02-8e865865e9eb/actions/scale") + .method("POST") + .build()) + .link( + "app", + Link.builder() + .href( + "https://api.example.org/v3/apps/ccc25a0f-c8f4-4b39-9f1b-de9f328d0ee5") + .build()) + .link( + "space", + Link.builder() + .href( + "https://api.example.org/v3/spaces/2f35885d-0c9d-4423-83ad-fd05066f8576") + .build()) + .link( + "stats", + Link.builder() + .href( + "https://api.example.org/v3/processes/3fccacd9-4b02-4b96-8d02-8e865865e9eb/stats") + .build()) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void listRoutes() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/apps/test-application-id/routes") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v3/apps/GET_{id}_routes_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/apps/test-application-id/routes") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v3/apps/GET_{id}_routes_response.json") + .build()) + .build()); this.applications - .listRoutes(ListApplicationRoutesRequest.builder() - .applicationId("test-application-id") - .build()) - .as(StepVerifier::create) - .expectNext(ListApplicationRoutesResponse.builder() - .pagination(Pagination.builder() - .totalResults(3) - .totalPages(2) - .first(Link.builder() - .href("https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/routes?page=1&per_page=2") - .build()) - .last(Link.builder() - .href("https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/routes?page=2&per_page=2") - .build()) - .next(Link.builder() - .href("https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/routes?page=2&per_page=2") - .build()) - .build()) - .resource(RouteResource.builder().host("test-hostname") - .id("cbad697f-cac1-48f4-9017-ac08f39dfb31") - .protocol(HTTP) - .path("/some_path") - .createdAt("2019-05-10T17:17:48Z") - .updatedAt("2019-05-10T17:17:48Z") - .host("a-hostname") - .url("a-hostname.a-domain.com/some_path") - .destinations(Destination.builder() - .destinationId("385bf117-17f5-4689-8c5c-08c6cc821fed") - .application(Application.builder() - .applicationId("0a6636b5-7fc4-44d8-8752-0db3e40b35a5") - .process(Process.builder() - .type("web") + .listRoutes( + ListApplicationRoutesRequest.builder() + .applicationId("test-application-id") .build()) - .build()) - .port(8080) - .build()) - .destinations(Destination.builder() - .destinationId("27e96a3b-5bcf-49ed-8048-351e0be23e6f") - .application(Application.builder() - .applicationId("f61e59fa-2121-4217-8c7b-15bfd75baf25") - .process(Process.builder() - .type("web") + .as(StepVerifier::create) + .expectNext( + ListApplicationRoutesResponse.builder() + .pagination( + Pagination.builder() + .totalResults(3) + .totalPages(2) + .first( + Link.builder() + .href( + "https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/routes?page=1&per_page=2") + .build()) + .last( + Link.builder() + .href( + "https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/routes?page=2&per_page=2") + .build()) + .next( + Link.builder() + .href( + "https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/routes?page=2&per_page=2") + .build()) + .build()) + .resource( + RouteResource.builder() + .host("test-hostname") + .id("cbad697f-cac1-48f4-9017-ac08f39dfb31") + .protocol(HTTP) + .path("/some_path") + .createdAt("2019-05-10T17:17:48Z") + .updatedAt("2019-05-10T17:17:48Z") + .host("a-hostname") + .url("a-hostname.a-domain.com/some_path") + .destinations( + Destination.builder() + .destinationId( + "385bf117-17f5-4689-8c5c-08c6cc821fed") + .application( + Application.builder() + .applicationId( + "0a6636b5-7fc4-44d8-8752-0db3e40b35a5") + .process( + Process + .builder() + .type( + "web") + .build()) + .build()) + .port(8080) + .build()) + .destinations( + Destination.builder() + .destinationId( + "27e96a3b-5bcf-49ed-8048-351e0be23e6f") + .application( + Application.builder() + .applicationId( + "f61e59fa-2121-4217-8c7b-15bfd75baf25") + .process( + Process + .builder() + .type( + "web") + .build()) + .build()) + .port(8080) + .build()) + .metadata( + Metadata.builder() + .annotations(Collections.emptyMap()) + .labels(Collections.emptyMap()) + .build()) + .relationships( + RouteRelationships.builder() + .space( + ToOneRelationship.builder() + .data( + Relationship + .builder() + .id( + "885a8cb3-c07b-4856-b448-eeb10bf36236") + .build()) + .build()) + .domain( + ToOneRelationship.builder() + .data( + Relationship + .builder() + .id( + "0b5f3633-194c-42d2-9408-972366617e0e") + .build()) + .build()) + .build()) + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/routes/cbad697f-cac1-48f4-9017-ac08f39dfb31") + .build()) + .link( + "space", + Link.builder() + .href( + "https://api.example.org/v3/spaces/885a8cb3-c07b-4856-b448-eeb10bf36236") + .build()) + .link( + "domain", + Link.builder() + .href( + "https://api.example.org/v3/domains/0b5f3633-194c-42d2-9408-972366617e0e") + .build()) + .link( + "destinations", + Link.builder() + .href( + "https://api.example.org/v3/routes/cbad697f-cac1-48f4-9017-ac08f39dfb31/destinations") + .build()) + .build()) .build()) - .build()) - .port(8080) - .build()) - .metadata(Metadata.builder() - .annotations(Collections.emptyMap()) - .labels(Collections.emptyMap()) - .build()) - .relationships(RouteRelationships.builder() - .space(ToOneRelationship.builder() - .data(Relationship.builder() - .id("885a8cb3-c07b-4856-b448-eeb10bf36236") - .build()) - .build()) - .domain(ToOneRelationship.builder() - .data(Relationship.builder() - .id("0b5f3633-194c-42d2-9408-972366617e0e") - .build()) - .build()) - .build()) - .link("self", Link.builder() - .href("https://api.example.org/v3/routes/cbad697f-cac1-48f4-9017-ac08f39dfb31") - .build()) - .link("space", Link.builder() - .href("https://api.example.org/v3/spaces/885a8cb3-c07b-4856-b448-eeb10bf36236") - .build()) - .link("domain", Link.builder() - .href("https://api.example.org/v3/domains/0b5f3633-194c-42d2-9408-972366617e0e") - .build()) - .link("destinations", Link.builder() - .href("https://api.example.org/v3/routes/cbad697f-cac1-48f4-9017-ac08f39dfb31/destinations") - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void listTasks() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/apps/test-application-id/tasks") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v3/apps/GET_{id}_tasks_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/apps/test-application-id/tasks") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v3/apps/GET_{id}_tasks_response.json") + .build()) + .build()); this.applications - .listTasks(ListApplicationTasksRequest.builder() - .applicationId("test-application-id") - .build()) - .as(StepVerifier::create) - .expectNext(ListApplicationTasksResponse.builder() - .pagination(Pagination.builder() - .totalResults(3) - .totalPages(2) - .first(Link.builder() - .href("https://api.example.org/v3/apps/ccc25a0f-c8f4-4b39-9f1b-de9f328d0ee5/tasks?page=1&per_page=2") - .build()) - .last(Link.builder() - .href("https://api.example.org/v3/apps/ccc25a0f-c8f4-4b39-9f1b-de9f328d0ee5/tasks?page=2&per_page=2") - .build()) - .next(Link.builder() - .href("https://api.example.org/v3/apps/ccc25a0f-c8f4-4b39-9f1b-de9f328d0ee5/tasks?page=2&per_page=2") - .build()) - .build()) - .resource(TaskResource.builder() - .id("d5cc22ec-99a3-4e6a-af91-a44b4ab7b6fa") - .sequenceId(1) - .name("hello") - .state(TaskState.SUCCEEDED) - .memoryInMb(512) - .diskInMb(1024) - .result(Result.builder() - .build()) - .dropletId("740ebd2b-162b-469a-bd72-3edb96fabd9a") - .createdAt("2016-05-04T17:00:41Z") - .updatedAt("2016-05-04T17:00:42Z") - .link("self", Link.builder() - .href("https://api.example.org/v3/tasks/d5cc22ec-99a3-4e6a-af91-a44b4ab7b6fa") - .build()) - .link("app", Link.builder() - .href("https://api.example.org/v3/apps/ccc25a0f-c8f4-4b39-9f1b-de9f328d0ee5") - .build()) - .link("cancel", Link.builder() - .href("https://api.example.org/v3/tasks/d5cc22ec-99a3-4e6a-af91-a44b4ab7b6fa/actions/cancel") - .method("POST") - .build()) - .link("droplet", Link.builder() - .href("https://api.example.org/v3/droplets/740ebd2b-162b-469a-bd72-3edb96fabd9a") - .build()) - .build()) - .resource(TaskResource.builder() - .id("63b4cd89-fd8b-4bf1-a311-7174fcc907d6") - .sequenceId(2) - .name("migrate") - .state(TaskState.FAILED) - .memoryInMb(512) - .diskInMb(1024) - .result(Result.builder() - .failureReason("Exited with status 1") - .build()) - .dropletId("740ebd2b-162b-469a-bd72-3edb96fabd9a") - .createdAt("2016-05-04T17:00:41Z") - .updatedAt("2016-05-04T17:00:42Z") - .link("self", Link.builder() - .href("https://api.example.org/v3/tasks/63b4cd89-fd8b-4bf1-a311-7174fcc907d6") - .build()) - .link("app", Link.builder() - .href("https://api.example.org/v3/apps/ccc25a0f-c8f4-4b39-9f1b-de9f328d0ee5") - .build()) - .link("cancel", Link.builder() - .href("https://api.example.org/v3/tasks/63b4cd89-fd8b-4bf1-a311-7174fcc907d6/actions/cancel") - .method("POST") - .build()) - .link("droplet", Link.builder() - .href("https://api.example.org/v3/droplets/740ebd2b-162b-469a-bd72-3edb96fabd9a") - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .listTasks( + ListApplicationTasksRequest.builder() + .applicationId("test-application-id") + .build()) + .as(StepVerifier::create) + .expectNext( + ListApplicationTasksResponse.builder() + .pagination( + Pagination.builder() + .totalResults(3) + .totalPages(2) + .first( + Link.builder() + .href( + "https://api.example.org/v3/apps/ccc25a0f-c8f4-4b39-9f1b-de9f328d0ee5/tasks?page=1&per_page=2") + .build()) + .last( + Link.builder() + .href( + "https://api.example.org/v3/apps/ccc25a0f-c8f4-4b39-9f1b-de9f328d0ee5/tasks?page=2&per_page=2") + .build()) + .next( + Link.builder() + .href( + "https://api.example.org/v3/apps/ccc25a0f-c8f4-4b39-9f1b-de9f328d0ee5/tasks?page=2&per_page=2") + .build()) + .build()) + .resource( + TaskResource.builder() + .id("d5cc22ec-99a3-4e6a-af91-a44b4ab7b6fa") + .sequenceId(1) + .name("hello") + .state(TaskState.SUCCEEDED) + .memoryInMb(512) + .diskInMb(1024) + .result(Result.builder().build()) + .dropletId("740ebd2b-162b-469a-bd72-3edb96fabd9a") + .createdAt("2016-05-04T17:00:41Z") + .updatedAt("2016-05-04T17:00:42Z") + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/tasks/d5cc22ec-99a3-4e6a-af91-a44b4ab7b6fa") + .build()) + .link( + "app", + Link.builder() + .href( + "https://api.example.org/v3/apps/ccc25a0f-c8f4-4b39-9f1b-de9f328d0ee5") + .build()) + .link( + "cancel", + Link.builder() + .href( + "https://api.example.org/v3/tasks/d5cc22ec-99a3-4e6a-af91-a44b4ab7b6fa/actions/cancel") + .method("POST") + .build()) + .link( + "droplet", + Link.builder() + .href( + "https://api.example.org/v3/droplets/740ebd2b-162b-469a-bd72-3edb96fabd9a") + .build()) + .build()) + .resource( + TaskResource.builder() + .id("63b4cd89-fd8b-4bf1-a311-7174fcc907d6") + .sequenceId(2) + .name("migrate") + .state(TaskState.FAILED) + .memoryInMb(512) + .diskInMb(1024) + .result( + Result.builder() + .failureReason( + "Exited with status 1") + .build()) + .dropletId("740ebd2b-162b-469a-bd72-3edb96fabd9a") + .createdAt("2016-05-04T17:00:41Z") + .updatedAt("2016-05-04T17:00:42Z") + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/tasks/63b4cd89-fd8b-4bf1-a311-7174fcc907d6") + .build()) + .link( + "app", + Link.builder() + .href( + "https://api.example.org/v3/apps/ccc25a0f-c8f4-4b39-9f1b-de9f328d0ee5") + .build()) + .link( + "cancel", + Link.builder() + .href( + "https://api.example.org/v3/tasks/63b4cd89-fd8b-4bf1-a311-7174fcc907d6/actions/cancel") + .method("POST") + .build()) + .link( + "droplet", + Link.builder() + .href( + "https://api.example.org/v3/droplets/740ebd2b-162b-469a-bd72-3edb96fabd9a") + .build()) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void scale() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(POST).path("/apps/test-application-id/processes/test-type/actions/scale") - .payload("fixtures/client/v3/apps/PUT_{id}_processes_{type}_actions_scale_request.json") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v3/apps/PUT_{id}_processes_{type}_actions_scale_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(POST) + .path( + "/apps/test-application-id/processes/test-type/actions/scale") + .payload( + "fixtures/client/v3/apps/PUT_{id}_processes_{type}_actions_scale_request.json") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v3/apps/PUT_{id}_processes_{type}_actions_scale_response.json") + .build()) + .build()); this.applications - .scale(ScaleApplicationRequest.builder() - .applicationId("test-application-id") - .type("test-type") - .instances(5) - .memoryInMb(256) - .diskInMb(1_024) - .build()) - .as(StepVerifier::create) - .expectNext(ScaleApplicationResponse.builder() - .id("6a901b7c-9417-4dc1-8189-d3234aa0ab82") - .type("web") - .command("rackup") - .instances(5) - .memoryInMb(256) - .diskInMb(1_024) - .healthCheck(HealthCheck.builder() - .type(HealthCheckType.PORT) - .data(Data.builder() - .timeout(null) - .endpoint(null) - .build()) - .build()) - .metadata(Metadata.builder() - .annotations(Collections.emptyMap()) - .labels(Collections.emptyMap()) - .build()) - .relationships(ProcessRelationships.builder() - .build()) - .createdAt("2016-03-23T18:48:22Z") - .updatedAt("2016-03-23T18:48:42Z") - .link("self", Link.builder() - .href("https://api.example.org/v3/processes/6a901b7c-9417-4dc1-8189-d3234aa0ab82") - .build()) - .link("scale", Link.builder() - .href("https://api.example.org/v3/processes/6a901b7c-9417-4dc1-8189-d3234aa0ab82/actions/scale") - .method("POST") - .build()) - .link("app", Link.builder() - .href("https://api.example.org/v3/apps/ccc25a0f-c8f4-4b39-9f1b-de9f328d0ee5") - .build()) - .link("space", Link.builder() - .href("https://api.example.org/v3/spaces/2f35885d-0c9d-4423-83ad-fd05066f8576") - .build()) - .link("stats", Link.builder() - .href("https://api.example.org/v3/processes/6a901b7c-9417-4dc1-8189-d3234aa0ab82/stats") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .scale( + ScaleApplicationRequest.builder() + .applicationId("test-application-id") + .type("test-type") + .instances(5) + .memoryInMb(256) + .diskInMb(1_024) + .build()) + .as(StepVerifier::create) + .expectNext( + ScaleApplicationResponse.builder() + .id("6a901b7c-9417-4dc1-8189-d3234aa0ab82") + .type("web") + .command("rackup") + .instances(5) + .memoryInMb(256) + .diskInMb(1_024) + .healthCheck( + HealthCheck.builder() + .type(HealthCheckType.PORT) + .data( + Data.builder() + .timeout(null) + .endpoint(null) + .build()) + .build()) + .metadata( + Metadata.builder() + .annotations(Collections.emptyMap()) + .labels(Collections.emptyMap()) + .build()) + .relationships(ProcessRelationships.builder().build()) + .createdAt("2016-03-23T18:48:22Z") + .updatedAt("2016-03-23T18:48:42Z") + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/processes/6a901b7c-9417-4dc1-8189-d3234aa0ab82") + .build()) + .link( + "scale", + Link.builder() + .href( + "https://api.example.org/v3/processes/6a901b7c-9417-4dc1-8189-d3234aa0ab82/actions/scale") + .method("POST") + .build()) + .link( + "app", + Link.builder() + .href( + "https://api.example.org/v3/apps/ccc25a0f-c8f4-4b39-9f1b-de9f328d0ee5") + .build()) + .link( + "space", + Link.builder() + .href( + "https://api.example.org/v3/spaces/2f35885d-0c9d-4423-83ad-fd05066f8576") + .build()) + .link( + "stats", + Link.builder() + .href( + "https://api.example.org/v3/processes/6a901b7c-9417-4dc1-8189-d3234aa0ab82/stats") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void setCurrentDroplet() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(PATCH).path("/apps/test-application-id/relationships/current_droplet") - .payload("fixtures/client/v3/apps/PATCH_{id}_relationships_current_droplet_request.json") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v3/apps/PATCH_{id}_relationships_current_droplet_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(PATCH) + .path( + "/apps/test-application-id/relationships/current_droplet") + .payload( + "fixtures/client/v3/apps/PATCH_{id}_relationships_current_droplet_request.json") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v3/apps/PATCH_{id}_relationships_current_droplet_response.json") + .build()) + .build()); this.applications - .setCurrentDroplet(SetApplicationCurrentDropletRequest.builder() - .data(Relationship.builder() - .id("[droplet_guid]") - .build()) - .applicationId("test-application-id") - .build()) - .as(StepVerifier::create) - .expectNext(SetApplicationCurrentDropletResponse.builder() - .data(Relationship.builder() - .id("9d8e007c-ce52-4ea7-8a57-f2825d2c6b39") - .build()) - .link("self", Link.builder() - .href("https://api.example.org/v3/apps/d4c91047-7b29-4fda-b7f9-04033e5c9c9f/relationships/current_droplet") - .build()) - .link("related", Link.builder() - .href("https://api.example.org/v3/apps/d4c91047-7b29-4fda-b7f9-04033e5c9c9f/droplets/current") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .setCurrentDroplet( + SetApplicationCurrentDropletRequest.builder() + .data(Relationship.builder().id("[droplet_guid]").build()) + .applicationId("test-application-id") + .build()) + .as(StepVerifier::create) + .expectNext( + SetApplicationCurrentDropletResponse.builder() + .data( + Relationship.builder() + .id("9d8e007c-ce52-4ea7-8a57-f2825d2c6b39") + .build()) + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/apps/d4c91047-7b29-4fda-b7f9-04033e5c9c9f/relationships/current_droplet") + .build()) + .link( + "related", + Link.builder() + .href( + "https://api.example.org/v3/apps/d4c91047-7b29-4fda-b7f9-04033e5c9c9f/droplets/current") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void start() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(POST).path("/apps/test-application-id/actions/start") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v3/apps/POST_{id}_actions_start_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(POST) + .path("/apps/test-application-id/actions/start") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v3/apps/POST_{id}_actions_start_response.json") + .build()) + .build()); this.applications - .start(StartApplicationRequest.builder() - .applicationId("test-application-id") - .build()) - .as(StepVerifier::create) - .expectNext(StartApplicationResponse.builder() - .id("1cb006ee-fb05-47e1-b541-c34179ddc446") - .name("my_app") - .state(ApplicationState.STARTED) - .createdAt("2016-03-17T21:41:30Z") - .updatedAt("2016-03-18T11:32:30Z") - .lifecycle(Lifecycle.builder() - .type(LifecycleType.BUILDPACK) - .data(BuildpackData.builder() - .buildpack("java_buildpack") - .stack("cflinuxfs2") - .build()) - .build()) - .relationships(ApplicationRelationships.builder() - .space(ToOneRelationship.builder() - .data(Relationship.builder() - .id("2f35885d-0c9d-4423-83ad-fd05066f8576") - .build()) - .build()) - .build()) - .link("self", Link.builder() - .href("https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446") - .build()) - .link("space", Link.builder() - .href("https://api.example.org/v3/spaces/2f35885d-0c9d-4423-83ad-fd05066f8576") - .build()) - .link("processes", Link.builder() - .href("https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/processes") - .build()) - .link("route_mappings", Link.builder() - .href("https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/route_mappings") - .build()) - .link("packages", Link.builder() - .href("https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/packages") - .build()) - .link("environment_variables", Link.builder() - .href("https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/environment_variables") - .build()) - .link("current_droplet", Link.builder() - .href("https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/droplets/current") - .build()) - .link("droplets", Link.builder() - .href("https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/droplets") - .build()) - .link("tasks", Link.builder() - .href("https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/tasks") - .build()) - .link("start", Link.builder() - .href("https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/actions/start") - .method("POST") - .build()) - .link("stop", Link.builder() - .href("https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/actions/stop") - .method("POST") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .start( + StartApplicationRequest.builder() + .applicationId("test-application-id") + .build()) + .as(StepVerifier::create) + .expectNext( + StartApplicationResponse.builder() + .id("1cb006ee-fb05-47e1-b541-c34179ddc446") + .name("my_app") + .state(ApplicationState.STARTED) + .createdAt("2016-03-17T21:41:30Z") + .updatedAt("2016-03-18T11:32:30Z") + .lifecycle( + Lifecycle.builder() + .type(LifecycleType.BUILDPACK) + .data( + BuildpackData.builder() + .buildpack("java_buildpack") + .stack("cflinuxfs2") + .build()) + .build()) + .relationships( + ApplicationRelationships.builder() + .space( + ToOneRelationship.builder() + .data( + Relationship.builder() + .id( + "2f35885d-0c9d-4423-83ad-fd05066f8576") + .build()) + .build()) + .build()) + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446") + .build()) + .link( + "space", + Link.builder() + .href( + "https://api.example.org/v3/spaces/2f35885d-0c9d-4423-83ad-fd05066f8576") + .build()) + .link( + "processes", + Link.builder() + .href( + "https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/processes") + .build()) + .link( + "route_mappings", + Link.builder() + .href( + "https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/route_mappings") + .build()) + .link( + "packages", + Link.builder() + .href( + "https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/packages") + .build()) + .link( + "environment_variables", + Link.builder() + .href( + "https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/environment_variables") + .build()) + .link( + "current_droplet", + Link.builder() + .href( + "https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/droplets/current") + .build()) + .link( + "droplets", + Link.builder() + .href( + "https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/droplets") + .build()) + .link( + "tasks", + Link.builder() + .href( + "https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/tasks") + .build()) + .link( + "start", + Link.builder() + .href( + "https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/actions/start") + .method("POST") + .build()) + .link( + "stop", + Link.builder() + .href( + "https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/actions/stop") + .method("POST") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void stop() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(POST).path("/apps/test-application-id/actions/stop") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v3/apps/POST_{id}_actions_stop_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(POST) + .path("/apps/test-application-id/actions/stop") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v3/apps/POST_{id}_actions_stop_response.json") + .build()) + .build()); this.applications - .stop(StopApplicationRequest.builder() - .applicationId("test-application-id") - .build()) - .as(StepVerifier::create) - .expectNext(StopApplicationResponse.builder() - .id("1cb006ee-fb05-47e1-b541-c34179ddc446") - .name("my_app") - .state(ApplicationState.STOPPED) - .createdAt("2016-03-17T21:41:30Z") - .updatedAt("2016-03-18T11:32:30Z") - .lifecycle(Lifecycle.builder() - .type(LifecycleType.BUILDPACK) - .data(BuildpackData.builder() - .buildpack("java_buildpack") - .stack("cflinuxfs2") - .build()) - .build()) - .relationships(ApplicationRelationships.builder() - .space(ToOneRelationship.builder() - .data(Relationship.builder() - .id("2f35885d-0c9d-4423-83ad-fd05066f8576") - .build()) - .build()) - .build()) - .link("self", Link.builder() - .href("https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446") - .build()) - .link("space", Link.builder() - .href("https://api.example.org/v3/spaces/2f35885d-0c9d-4423-83ad-fd05066f8576") - .build()) - .link("processes", Link.builder() - .href("https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/processes") - .build()) - .link("route_mappings", Link.builder() - .href("https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/route_mappings") - .build()) - .link("packages", Link.builder() - .href("https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/packages") - .build()) - .link("environment_variables", Link.builder() - .href("https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/environment_variables") - .build()) - .link("current_droplet", Link.builder() - .href("https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/droplets/current") - .build()) - .link("droplets", Link.builder() - .href("https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/droplets") - .build()) - .link("tasks", Link.builder() - .href("https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/tasks") - .build()) - .link("start", Link.builder() - .href("https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/actions/start") - .method("POST") - .build()) - .link("stop", Link.builder() - .href("https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/actions/stop") - .method("POST") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .stop(StopApplicationRequest.builder().applicationId("test-application-id").build()) + .as(StepVerifier::create) + .expectNext( + StopApplicationResponse.builder() + .id("1cb006ee-fb05-47e1-b541-c34179ddc446") + .name("my_app") + .state(ApplicationState.STOPPED) + .createdAt("2016-03-17T21:41:30Z") + .updatedAt("2016-03-18T11:32:30Z") + .lifecycle( + Lifecycle.builder() + .type(LifecycleType.BUILDPACK) + .data( + BuildpackData.builder() + .buildpack("java_buildpack") + .stack("cflinuxfs2") + .build()) + .build()) + .relationships( + ApplicationRelationships.builder() + .space( + ToOneRelationship.builder() + .data( + Relationship.builder() + .id( + "2f35885d-0c9d-4423-83ad-fd05066f8576") + .build()) + .build()) + .build()) + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446") + .build()) + .link( + "space", + Link.builder() + .href( + "https://api.example.org/v3/spaces/2f35885d-0c9d-4423-83ad-fd05066f8576") + .build()) + .link( + "processes", + Link.builder() + .href( + "https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/processes") + .build()) + .link( + "route_mappings", + Link.builder() + .href( + "https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/route_mappings") + .build()) + .link( + "packages", + Link.builder() + .href( + "https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/packages") + .build()) + .link( + "environment_variables", + Link.builder() + .href( + "https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/environment_variables") + .build()) + .link( + "current_droplet", + Link.builder() + .href( + "https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/droplets/current") + .build()) + .link( + "droplets", + Link.builder() + .href( + "https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/droplets") + .build()) + .link( + "tasks", + Link.builder() + .href( + "https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/tasks") + .build()) + .link( + "start", + Link.builder() + .href( + "https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/actions/start") + .method("POST") + .build()) + .link( + "stop", + Link.builder() + .href( + "https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/actions/stop") + .method("POST") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void terminateInstance() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(DELETE).path("/apps/test-application-id/processes/test-type/instances/test-index") - .build()) - .response(TestResponse.builder() - .status(NO_CONTENT) - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(DELETE) + .path( + "/apps/test-application-id/processes/test-type/instances/test-index") + .build()) + .response(TestResponse.builder().status(NO_CONTENT).build()) + .build()); this.applications - .terminateInstance(TerminateApplicationInstanceRequest.builder() - .applicationId("test-application-id") - .index("test-index") - .type("test-type") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .terminateInstance( + TerminateApplicationInstanceRequest.builder() + .applicationId("test-application-id") + .index("test-index") + .type("test-type") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void update() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(PATCH).path("/apps/test-application-id") - .payload("fixtures/client/v3/apps/PATCH_{id}_request.json") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v3/apps/PATCH_{id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(PATCH) + .path("/apps/test-application-id") + .payload("fixtures/client/v3/apps/PATCH_{id}_request.json") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload("fixtures/client/v3/apps/PATCH_{id}_response.json") + .build()) + .build()); this.applications - .update(UpdateApplicationRequest.builder() - .applicationId("test-application-id") - .name("my_app") - .lifecycle(Lifecycle.builder() - .type(LifecycleType.BUILDPACK) - .data(BuildpackData.builder() - .buildpack("java_buildpack") - .build()) - .build()) - .metadata(Metadata.builder() - .annotation("version", "1.2.4") - .label("isLive", "false") - .label("maintenance", "true") - .build()) - .build()) - .as(StepVerifier::create) - .expectNext(UpdateApplicationResponse.builder() - .id("1cb006ee-fb05-47e1-b541-c34179ddc446") - .name("my_app") - .state(ApplicationState.STARTED) - .createdAt("2016-03-17T21:41:30Z") - .updatedAt("2016-03-18T11:32:30Z") - .lifecycle(Lifecycle.builder() - .type(LifecycleType.BUILDPACK) - .data(BuildpackData.builder() - .buildpack("java_buildpack") - .stack("cflinuxfs2") - .build()) - .build()) - .relationships(ApplicationRelationships.builder() - .space(ToOneRelationship.builder() - .data(Relationship.builder() - .id("2f35885d-0c9d-4423-83ad-fd05066f8576") - .build()) - .build()) - .build()) - .metadata(Metadata.builder() - .annotation("version", "1.2.4") - .label("isLive", "false") - .label("maintenance", "true") - .build()) - .link("self", Link.builder() - .href("https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446") - .build()) - .link("space", Link.builder() - .href("https://api.example.org/v3/spaces/2f35885d-0c9d-4423-83ad-fd05066f8576") - .build()) - .link("processes", Link.builder() - .href("https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/processes") - .build()) - .link("route_mappings", Link.builder() - .href("https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/route_mappings") - .build()) - .link("packages", Link.builder() - .href("https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/packages") - .build()) - .link("environment_variables", Link.builder() - .href("https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/environment_variables") - .build()) - .link("current_droplet", Link.builder() - .href("https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/droplets/current") - .build()) - .link("droplets", Link.builder() - .href("https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/droplets") - .build()) - .link("tasks", Link.builder() - .href("https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/tasks") - .build()) - .link("start", Link.builder() - .href("https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/actions/start") - .method("POST") - .build()) - .link("stop", Link.builder() - .href("https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/actions/stop") - .method("POST") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .update( + UpdateApplicationRequest.builder() + .applicationId("test-application-id") + .name("my_app") + .lifecycle( + Lifecycle.builder() + .type(LifecycleType.BUILDPACK) + .data( + BuildpackData.builder() + .buildpack("java_buildpack") + .build()) + .build()) + .metadata( + Metadata.builder() + .annotation("version", "1.2.4") + .label("isLive", "false") + .label("maintenance", "true") + .build()) + .build()) + .as(StepVerifier::create) + .expectNext( + UpdateApplicationResponse.builder() + .id("1cb006ee-fb05-47e1-b541-c34179ddc446") + .name("my_app") + .state(ApplicationState.STARTED) + .createdAt("2016-03-17T21:41:30Z") + .updatedAt("2016-03-18T11:32:30Z") + .lifecycle( + Lifecycle.builder() + .type(LifecycleType.BUILDPACK) + .data( + BuildpackData.builder() + .buildpack("java_buildpack") + .stack("cflinuxfs2") + .build()) + .build()) + .relationships( + ApplicationRelationships.builder() + .space( + ToOneRelationship.builder() + .data( + Relationship.builder() + .id( + "2f35885d-0c9d-4423-83ad-fd05066f8576") + .build()) + .build()) + .build()) + .metadata( + Metadata.builder() + .annotation("version", "1.2.4") + .label("isLive", "false") + .label("maintenance", "true") + .build()) + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446") + .build()) + .link( + "space", + Link.builder() + .href( + "https://api.example.org/v3/spaces/2f35885d-0c9d-4423-83ad-fd05066f8576") + .build()) + .link( + "processes", + Link.builder() + .href( + "https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/processes") + .build()) + .link( + "route_mappings", + Link.builder() + .href( + "https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/route_mappings") + .build()) + .link( + "packages", + Link.builder() + .href( + "https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/packages") + .build()) + .link( + "environment_variables", + Link.builder() + .href( + "https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/environment_variables") + .build()) + .link( + "current_droplet", + Link.builder() + .href( + "https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/droplets/current") + .build()) + .link( + "droplets", + Link.builder() + .href( + "https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/droplets") + .build()) + .link( + "tasks", + Link.builder() + .href( + "https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/tasks") + .build()) + .link( + "start", + Link.builder() + .href( + "https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/actions/start") + .method("POST") + .build()) + .link( + "stop", + Link.builder() + .href( + "https://api.example.org/v3/apps/1cb006ee-fb05-47e1-b541-c34179ddc446/actions/stop") + .method("POST") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void updateEnvironmentVariables() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(PATCH).path("/apps/test-application-id/environment_variables") - .payload("fixtures/client/v3/apps/PATCH_{id}_environment_variables_request.json") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v3/apps/PATCH_{id}_environment_variables_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(PATCH) + .path("/apps/test-application-id/environment_variables") + .payload( + "fixtures/client/v3/apps/PATCH_{id}_environment_variables_request.json") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v3/apps/PATCH_{id}_environment_variables_response.json") + .build()) + .build()); this.applications - .updateEnvironmentVariables(UpdateApplicationEnvironmentVariablesRequest.builder() - .applicationId("test-application-id") - .var("DEBUG", "false") - .build()) - .as(StepVerifier::create) - .expectNext(UpdateApplicationEnvironmentVariablesResponse.builder() - .var("RAILS_ENV", "production") - .var("DEBUG", "false") - .link("self", Link.builder() - .href("https://api.example.org/v3/apps/[guid]/environment_variables") - .build()) - .link("app", Link.builder() - .href("https://api.example.org/v3/apps/[guid]") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .updateEnvironmentVariables( + UpdateApplicationEnvironmentVariablesRequest.builder() + .applicationId("test-application-id") + .var("DEBUG", "false") + .build()) + .as(StepVerifier::create) + .expectNext( + UpdateApplicationEnvironmentVariablesResponse.builder() + .var("RAILS_ENV", "production") + .var("DEBUG", "false") + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/apps/[guid]/environment_variables") + .build()) + .link( + "app", + Link.builder() + .href("https://api.example.org/v3/apps/[guid]") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void updateFeature() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(PATCH).path("/apps/test-application-id/features/ssh") - .payload("fixtures/client/v3/apps/PATCH_{id}_features_{name}_request.json") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v3/apps/PATCH_{id}_features_{name}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(PATCH) + .path("/apps/test-application-id/features/ssh") + .payload( + "fixtures/client/v3/apps/PATCH_{id}_features_{name}_request.json") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v3/apps/PATCH_{id}_features_{name}_response.json") + .build()) + .build()); this.applications - .updateFeature(UpdateApplicationFeatureRequest.builder() - .applicationId("test-application-id") - .enabled(false) - .featureName("ssh") - .build()) - .as(StepVerifier::create) - .expectNext(UpdateApplicationFeatureResponse.builder() - .description("Enable SSHing into the app.") - .enabled(true) - .name("ssh") - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .updateFeature( + UpdateApplicationFeatureRequest.builder() + .applicationId("test-application-id") + .enabled(false) + .featureName("ssh") + .build()) + .as(StepVerifier::create) + .expectNext( + UpdateApplicationFeatureResponse.builder() + .description("Enable SSHing into the app.") + .enabled(true) + .name("ssh") + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } - } diff --git a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v3/auditevents/ReactorAuditEventsV3Test.java b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v3/auditevents/ReactorAuditEventsV3Test.java index ab1a99c578..e19fc943e7 100644 --- a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v3/auditevents/ReactorAuditEventsV3Test.java +++ b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v3/auditevents/ReactorAuditEventsV3Test.java @@ -16,6 +16,11 @@ package org.cloudfoundry.reactor.client.v3.auditevents; +import static io.netty.handler.codec.http.HttpMethod.GET; +import static io.netty.handler.codec.http.HttpResponseStatus.OK; + +import java.time.Duration; +import java.util.Collections; import org.cloudfoundry.client.v3.Link; import org.cloudfoundry.client.v3.Pagination; import org.cloudfoundry.client.v3.Relationship; @@ -33,118 +38,149 @@ import org.junit.Test; import reactor.test.StepVerifier; -import java.time.Duration; -import java.util.Collections; - -import static io.netty.handler.codec.http.HttpMethod.GET; -import static io.netty.handler.codec.http.HttpResponseStatus.OK; - public class ReactorAuditEventsV3Test extends AbstractClientApiTest { - private final ReactorAuditEventsV3 events = new ReactorAuditEventsV3(CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); + private final ReactorAuditEventsV3 events = + new ReactorAuditEventsV3( + CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); @Test public void get() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/audit_events/a595fe2f-01ff-4965-a50c-290258ab8582") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v3/auditevents/GET_{id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/audit_events/a595fe2f-01ff-4965-a50c-290258ab8582") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v3/auditevents/GET_{id}_response.json") + .build()) + .build()); this.events - .get(GetAuditEventRequest.builder() - .eventId("a595fe2f-01ff-4965-a50c-290258ab8582") - .build()) - .as(StepVerifier::create) - .expectNext(GetAuditEventResponse.builder() - .id("a595fe2f-01ff-4965-a50c-290258ab8582") - .createdAt("2016-06-08T16:41:23Z") - .updatedAt("2016-06-08T16:41:26Z") - .type("audit.app.update") - .auditEventActor(AuditEventActor.builder() - .id("d144abe3-3d7b-40d4-b63f-2584798d3ee5") - .name("admin") - .type("user") - .build()) - .auditEventTarget(AuditEventTarget.builder() - .id("2e3151ba-9a63-4345-9c5b-6d8c238f4e55") - .name("my-app") - .type("app") - .build()) - .data((Collections.singletonMap("request", null))) - .spaceRelationship(Relationship.builder() - .id("cb97dd25-d4f7-4185-9e6f-ad6e585c207c") - .build()) - .organizationRelationship(Relationship.builder() - .id("d9be96f5-ea8f-4549-923f-bec882e32e3c") - .build()) - .link("self", Link.builder() - .href("https://api.example.org/v3/audit_events/a595fe2f-01ff-4965-a50c-290258ab8582") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .get( + GetAuditEventRequest.builder() + .eventId("a595fe2f-01ff-4965-a50c-290258ab8582") + .build()) + .as(StepVerifier::create) + .expectNext( + GetAuditEventResponse.builder() + .id("a595fe2f-01ff-4965-a50c-290258ab8582") + .createdAt("2016-06-08T16:41:23Z") + .updatedAt("2016-06-08T16:41:26Z") + .type("audit.app.update") + .auditEventActor( + AuditEventActor.builder() + .id("d144abe3-3d7b-40d4-b63f-2584798d3ee5") + .name("admin") + .type("user") + .build()) + .auditEventTarget( + AuditEventTarget.builder() + .id("2e3151ba-9a63-4345-9c5b-6d8c238f4e55") + .name("my-app") + .type("app") + .build()) + .data((Collections.singletonMap("request", null))) + .spaceRelationship( + Relationship.builder() + .id("cb97dd25-d4f7-4185-9e6f-ad6e585c207c") + .build()) + .organizationRelationship( + Relationship.builder() + .id("d9be96f5-ea8f-4549-923f-bec882e32e3c") + .build()) + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/audit_events/a595fe2f-01ff-4965-a50c-290258ab8582") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void list() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/audit_events") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v3/auditevents/GET_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request(TestRequest.builder().method(GET).path("/audit_events").build()) + .response( + TestResponse.builder() + .status(OK) + .payload("fixtures/client/v3/auditevents/GET_response.json") + .build()) + .build()); this.events - .list(ListAuditEventsRequest.builder() - .build()) - .as(StepVerifier::create) - .expectNext(ListAuditEventsResponse.builder() - .pagination(Pagination.builder() - .totalResults(1) - .totalPages(1) - .first(Link.builder() - .href("https://api.example.org/v3/audit_events?page=1&per_page=2") - .build()) - .last(Link.builder() - .href("https://api.example.org/v3/audit_events?page=1&per_page=2") - .build()) - .build()) - .resource(AuditEventResource.builder() - .id("a595fe2f-01ff-4965-a50c-290258ab8582") - .createdAt("2016-06-08T16:41:23Z") - .updatedAt("2016-06-08T16:41:26Z") - .type("audit.app.update") - .auditEventActor(AuditEventActor.builder() - .id("d144abe3-3d7b-40d4-b63f-2584798d3ee5") - .name("admin") - .type("user") - .build()) - .auditEventTarget(AuditEventTarget.builder() - .id("2e3151ba-9a63-4345-9c5b-6d8c238f4e55") - .name("my-app") - .type("app") - .build()) - .data(Collections.singletonMap("request", Collections.singletonMap("recursive", true))) - .spaceRelationship(Relationship.builder() - .id("cb97dd25-d4f7-4185-9e6f-ad6e585c207c") - .build()) - .organizationRelationship(Relationship.builder() - .id("d9be96f5-ea8f-4549-923f-bec882e32e3c") - .build()) - .link("self", Link.builder() - .href("https://api.example.org//v3/audit_events/a595fe2f-01ff-4965-a50c-290258ab8582") - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .list(ListAuditEventsRequest.builder().build()) + .as(StepVerifier::create) + .expectNext( + ListAuditEventsResponse.builder() + .pagination( + Pagination.builder() + .totalResults(1) + .totalPages(1) + .first( + Link.builder() + .href( + "https://api.example.org/v3/audit_events?page=1&per_page=2") + .build()) + .last( + Link.builder() + .href( + "https://api.example.org/v3/audit_events?page=1&per_page=2") + .build()) + .build()) + .resource( + AuditEventResource.builder() + .id("a595fe2f-01ff-4965-a50c-290258ab8582") + .createdAt("2016-06-08T16:41:23Z") + .updatedAt("2016-06-08T16:41:26Z") + .type("audit.app.update") + .auditEventActor( + AuditEventActor.builder() + .id( + "d144abe3-3d7b-40d4-b63f-2584798d3ee5") + .name("admin") + .type("user") + .build()) + .auditEventTarget( + AuditEventTarget.builder() + .id( + "2e3151ba-9a63-4345-9c5b-6d8c238f4e55") + .name("my-app") + .type("app") + .build()) + .data( + Collections.singletonMap( + "request", + Collections.singletonMap( + "recursive", true))) + .spaceRelationship( + Relationship.builder() + .id( + "cb97dd25-d4f7-4185-9e6f-ad6e585c207c") + .build()) + .organizationRelationship( + Relationship.builder() + .id( + "d9be96f5-ea8f-4549-923f-bec882e32e3c") + .build()) + .link( + "self", + Link.builder() + .href( + "https://api.example.org//v3/audit_events/a595fe2f-01ff-4965-a50c-290258ab8582") + .build()) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } } diff --git a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v3/buildpacks/ReactorBuildpacksTest.java b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v3/buildpacks/ReactorBuildpacksTest.java index 954639691e..e4b8120c81 100644 --- a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v3/buildpacks/ReactorBuildpacksTest.java +++ b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v3/buildpacks/ReactorBuildpacksTest.java @@ -16,6 +16,20 @@ package org.cloudfoundry.reactor.client.v3.buildpacks; +import static io.netty.handler.codec.http.HttpMethod.DELETE; +import static io.netty.handler.codec.http.HttpMethod.GET; +import static io.netty.handler.codec.http.HttpMethod.PATCH; +import static io.netty.handler.codec.http.HttpMethod.POST; +import static io.netty.handler.codec.http.HttpResponseStatus.ACCEPTED; +import static io.netty.handler.codec.http.HttpResponseStatus.CREATED; +import static io.netty.handler.codec.http.HttpResponseStatus.OK; +import static org.assertj.core.api.Assertions.assertThat; +import static org.cloudfoundry.util.tuple.TupleUtils.consumer; + +import java.io.IOException; +import java.nio.charset.Charset; +import java.time.Duration; +import java.util.Collections; import org.cloudfoundry.client.v3.Link; import org.cloudfoundry.client.v3.Metadata; import org.cloudfoundry.client.v3.Pagination; @@ -41,300 +55,378 @@ import org.springframework.core.io.ClassPathResource; import reactor.test.StepVerifier; -import java.io.IOException; -import java.nio.charset.Charset; -import java.time.Duration; -import java.util.Collections; - -import static io.netty.handler.codec.http.HttpMethod.DELETE; -import static io.netty.handler.codec.http.HttpMethod.GET; -import static io.netty.handler.codec.http.HttpMethod.PATCH; -import static io.netty.handler.codec.http.HttpMethod.POST; -import static io.netty.handler.codec.http.HttpResponseStatus.ACCEPTED; -import static io.netty.handler.codec.http.HttpResponseStatus.CREATED; -import static io.netty.handler.codec.http.HttpResponseStatus.OK; -import static org.assertj.core.api.Assertions.assertThat; -import static org.cloudfoundry.util.tuple.TupleUtils.consumer; - public final class ReactorBuildpacksTest extends AbstractClientApiTest { - private final ReactorBuildpacksV3 buildpacks = new ReactorBuildpacksV3(CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); + private final ReactorBuildpacksV3 buildpacks = + new ReactorBuildpacksV3( + CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); @Test public void create() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(POST).path("/buildpacks") - .payload("fixtures/client/v3/buildpacks/POST_request.json") - .build()) - .response(TestResponse.builder() - .status(CREATED) - .payload("fixtures/client/v3/buildpacks/POST_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(POST) + .path("/buildpacks") + .payload("fixtures/client/v3/buildpacks/POST_request.json") + .build()) + .response( + TestResponse.builder() + .status(CREATED) + .payload("fixtures/client/v3/buildpacks/POST_response.json") + .build()) + .build()); this.buildpacks - .create(CreateBuildpackRequest.builder() - .name("ruby_buildpack") - .position(42) - .enabled(true) - .locked(false) - .stack("windows64") - .build()) - .as(StepVerifier::create) - .expectNext(CreateBuildpackResponse.builder() - .id("fd35633f-5c5c-4e4e-a5a9-0722c970a9d2") - .createdAt("2016-03-18T23:26:46Z") - .updatedAt("2016-10-17T20:00:42Z") - .name("ruby_buildpack") - .state(BuildpackState.AWAITING_UPLOAD) - .stack("windows64") - .position(42) - .enabled(true) - .locked(false) - .metadata(Metadata.builder() - .annotations(Collections.emptyMap()) - .labels(Collections.emptyMap()) - .build()) - .link("self", Link.builder() - .href("https://api.example.org/v3/buildpacks/fd35633f-5c5c-4e4e-a5a9-0722c970a9d2") - .build()) - .link("upload", Link.builder() - .href("https://api.example.org/v3/buildpacks/fd35633f-5c5c-4e4e-a5a9-0722c970a9d2/upload") - .method("POST") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .create( + CreateBuildpackRequest.builder() + .name("ruby_buildpack") + .position(42) + .enabled(true) + .locked(false) + .stack("windows64") + .build()) + .as(StepVerifier::create) + .expectNext( + CreateBuildpackResponse.builder() + .id("fd35633f-5c5c-4e4e-a5a9-0722c970a9d2") + .createdAt("2016-03-18T23:26:46Z") + .updatedAt("2016-10-17T20:00:42Z") + .name("ruby_buildpack") + .state(BuildpackState.AWAITING_UPLOAD) + .stack("windows64") + .position(42) + .enabled(true) + .locked(false) + .metadata( + Metadata.builder() + .annotations(Collections.emptyMap()) + .labels(Collections.emptyMap()) + .build()) + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/buildpacks/fd35633f-5c5c-4e4e-a5a9-0722c970a9d2") + .build()) + .link( + "upload", + Link.builder() + .href( + "https://api.example.org/v3/buildpacks/fd35633f-5c5c-4e4e-a5a9-0722c970a9d2/upload") + .method("POST") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void delete() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(DELETE).path("/buildpacks/test-buildpack-id") - .build()) - .response(TestResponse.builder() - .status(ACCEPTED) - .header("Location", "https://api.example.org/v3/jobs/[guid]") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(DELETE) + .path("/buildpacks/test-buildpack-id") + .build()) + .response( + TestResponse.builder() + .status(ACCEPTED) + .header( + "Location", + "https://api.example.org/v3/jobs/[guid]") + .build()) + .build()); this.buildpacks - .delete(DeleteBuildpackRequest.builder() - .buildpackId("test-buildpack-id") - .build()) - .as(StepVerifier::create) - .expectNext("[guid]") - .expectComplete() - .verify(Duration.ofSeconds(5)); + .delete(DeleteBuildpackRequest.builder().buildpackId("test-buildpack-id").build()) + .as(StepVerifier::create) + .expectNext("[guid]") + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void get() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/buildpacks/test-buildpack-id") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v3/buildpacks/GET_{id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/buildpacks/test-buildpack-id") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v3/buildpacks/GET_{id}_response.json") + .build()) + .build()); this.buildpacks - .get(GetBuildpackRequest.builder() - .buildpackId("test-buildpack-id") - .build()) - .as(StepVerifier::create) - .expectNext(GetBuildpackResponse.builder() - .id("fd35633f-5c5c-4e4e-a5a9-0722c970a9d2") - .createdAt("2016-03-18T23:26:46Z") - .updatedAt("2016-10-17T20:00:42Z") - .name("ruby_buildpack") - .state(BuildpackState.AWAITING_UPLOAD) - .stack("windows64") - .position(42) - .enabled(true) - .locked(false) - .metadata(Metadata.builder() - .annotations(Collections.emptyMap()) - .labels(Collections.emptyMap()) - .build()) - .link("self", Link.builder() - .href("https://api.example.org/v3/buildpacks/fd35633f-5c5c-4e4e-a5a9-0722c970a9d2") - .build()) - .link("upload", Link.builder() - .href("https://api.example.org/v3/buildpacks/fd35633f-5c5c-4e4e-a5a9-0722c970a9d2/upload") - .method("POST") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .get(GetBuildpackRequest.builder().buildpackId("test-buildpack-id").build()) + .as(StepVerifier::create) + .expectNext( + GetBuildpackResponse.builder() + .id("fd35633f-5c5c-4e4e-a5a9-0722c970a9d2") + .createdAt("2016-03-18T23:26:46Z") + .updatedAt("2016-10-17T20:00:42Z") + .name("ruby_buildpack") + .state(BuildpackState.AWAITING_UPLOAD) + .stack("windows64") + .position(42) + .enabled(true) + .locked(false) + .metadata( + Metadata.builder() + .annotations(Collections.emptyMap()) + .labels(Collections.emptyMap()) + .build()) + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/buildpacks/fd35633f-5c5c-4e4e-a5a9-0722c970a9d2") + .build()) + .link( + "upload", + Link.builder() + .href( + "https://api.example.org/v3/buildpacks/fd35633f-5c5c-4e4e-a5a9-0722c970a9d2/upload") + .method("POST") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void list() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/buildpacks") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v3/buildpacks/GET_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request(TestRequest.builder().method(GET).path("/buildpacks").build()) + .response( + TestResponse.builder() + .status(OK) + .payload("fixtures/client/v3/buildpacks/GET_response.json") + .build()) + .build()); this.buildpacks - .list(ListBuildpacksRequest.builder() - .build()) - .as(StepVerifier::create) - .expectNext(ListBuildpacksResponse.builder() - .pagination(Pagination.builder() - .totalResults(3) - .totalPages(2) - .first(Link.builder() - .href("https://api.example.org/v3/buildpacks?page=1&per_page=2") - .build()) - .last(Link.builder() - .href("https://api.example.org/v3/buildpacks?page=2&per_page=2") - .build()) - .next(Link.builder() - .href("https://api.example.org/v3/buildpacks?page=2&per_page=2") - .build()) - .build()) - .resource(BuildpackResource.builder() - .id("fd35633f-5c5c-4e4e-a5a9-0722c970a9d2") - .createdAt("2016-03-18T23:26:46Z") - .updatedAt("2016-10-17T20:00:42Z") - .name("my-buildpack") - .state(BuildpackState.AWAITING_UPLOAD) - .stack("my-stack") - .position(1) - .enabled(true) - .locked(false) - .metadata(Metadata.builder() - .annotations(Collections.emptyMap()) - .labels(Collections.emptyMap()) - .build()) - .link("self", Link.builder() - .href("https://api.example.org/v3/buildpacks/fd35633f-5c5c-4e4e-a5a9-0722c970a9d2") - .build()) - .link("upload", Link.builder() - .href("https://api.example.org/v3/buildpacks/fd35633f-5c5c-4e4e-a5a9-0722c970a9d2/upload") - .method("POST") - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .list(ListBuildpacksRequest.builder().build()) + .as(StepVerifier::create) + .expectNext( + ListBuildpacksResponse.builder() + .pagination( + Pagination.builder() + .totalResults(3) + .totalPages(2) + .first( + Link.builder() + .href( + "https://api.example.org/v3/buildpacks?page=1&per_page=2") + .build()) + .last( + Link.builder() + .href( + "https://api.example.org/v3/buildpacks?page=2&per_page=2") + .build()) + .next( + Link.builder() + .href( + "https://api.example.org/v3/buildpacks?page=2&per_page=2") + .build()) + .build()) + .resource( + BuildpackResource.builder() + .id("fd35633f-5c5c-4e4e-a5a9-0722c970a9d2") + .createdAt("2016-03-18T23:26:46Z") + .updatedAt("2016-10-17T20:00:42Z") + .name("my-buildpack") + .state(BuildpackState.AWAITING_UPLOAD) + .stack("my-stack") + .position(1) + .enabled(true) + .locked(false) + .metadata( + Metadata.builder() + .annotations(Collections.emptyMap()) + .labels(Collections.emptyMap()) + .build()) + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/buildpacks/fd35633f-5c5c-4e4e-a5a9-0722c970a9d2") + .build()) + .link( + "upload", + Link.builder() + .href( + "https://api.example.org/v3/buildpacks/fd35633f-5c5c-4e4e-a5a9-0722c970a9d2/upload") + .method("POST") + .build()) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void update() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(PATCH).path("/buildpacks/test-buildpack-id") - .payload("fixtures/client/v3/buildpacks/PATCH_{id}_request.json") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v3/buildpacks/PATCH_{id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(PATCH) + .path("/buildpacks/test-buildpack-id") + .payload( + "fixtures/client/v3/buildpacks/PATCH_{id}_request.json") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v3/buildpacks/PATCH_{id}_response.json") + .build()) + .build()); this.buildpacks - .update(UpdateBuildpackRequest.builder() - .buildpackId("test-buildpack-id") - .name("ruby_buildpack") - .position(42) - .enabled(true) - .locked(false) - .stack("windows64") - .build()) - .as(StepVerifier::create) - .expectNext(UpdateBuildpackResponse.builder() - .id("fd35633f-5c5c-4e4e-a5a9-0722c970a9d2") - .createdAt("2016-03-18T23:26:46Z") - .updatedAt("2016-10-17T20:00:42Z") - .name("ruby_buildpack") - .state(BuildpackState.AWAITING_UPLOAD) - .stack("windows64") - .position(42) - .enabled(true) - .locked(false) - .metadata(Metadata.builder() - .annotations(Collections.emptyMap()) - .labels(Collections.emptyMap()) - .build()) - .link("self", Link.builder() - .href("https://api.example.org/v3/buildpacks/fd35633f-5c5c-4e4e-a5a9-0722c970a9d2") - .build()) - .link("upload", Link.builder() - .href("https://api.example.org/v3/buildpacks/fd35633f-5c5c-4e4e-a5a9-0722c970a9d2/upload") - .method("POST") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .update( + UpdateBuildpackRequest.builder() + .buildpackId("test-buildpack-id") + .name("ruby_buildpack") + .position(42) + .enabled(true) + .locked(false) + .stack("windows64") + .build()) + .as(StepVerifier::create) + .expectNext( + UpdateBuildpackResponse.builder() + .id("fd35633f-5c5c-4e4e-a5a9-0722c970a9d2") + .createdAt("2016-03-18T23:26:46Z") + .updatedAt("2016-10-17T20:00:42Z") + .name("ruby_buildpack") + .state(BuildpackState.AWAITING_UPLOAD) + .stack("windows64") + .position(42) + .enabled(true) + .locked(false) + .metadata( + Metadata.builder() + .annotations(Collections.emptyMap()) + .labels(Collections.emptyMap()) + .build()) + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/buildpacks/fd35633f-5c5c-4e4e-a5a9-0722c970a9d2") + .build()) + .link( + "upload", + Link.builder() + .href( + "https://api.example.org/v3/buildpacks/fd35633f-5c5c-4e4e-a5a9-0722c970a9d2/upload") + .method("POST") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void upload() throws IOException { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(POST).path("/buildpacks/test-buildpack-id/upload") - .contents(consumer((headers, body) -> { - String boundary = extractBoundary(headers); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(POST) + .path("/buildpacks/test-buildpack-id/upload") + .contents( + consumer( + (headers, body) -> { + String boundary = + extractBoundary(headers); - assertThat(body.readString(Charset.defaultCharset())) - .isEqualTo("--" + boundary + "\r\n" + - "content-disposition: form-data; name=\"bits\"; filename=\"test-buildpack.zip\"\r\n" + - "content-length: 12\r\n" + - "content-type: application/zip\r\n" + - "content-transfer-encoding: binary\r\n" + - "\r\n" + - "test-content" + - "\r\n" + - "--" + boundary + "--\r\n"); - })) - .build()) - .response(TestResponse.builder() - .status(CREATED) - .payload("fixtures/client/v3/buildpacks/POST_{id}_upload_response.json") - .build()) - .build()); + assertThat( + body.readString( + Charset + .defaultCharset())) + .isEqualTo( + "--" + + boundary + + "\r\n" + + "content-disposition:" + + " form-data;" + + " name=\"bits\";" + + " filename=\"test-buildpack.zip\"\r\n" + + "content-length:" + + " 12\r\n" + + "content-type:" + + " application/zip\r\n" + + "content-transfer-encoding:" + + " binary\r\n" + + "\r\n" + + "test-content\r\n" + + "--" + + boundary + + "--\r\n"); + })) + .build()) + .response( + TestResponse.builder() + .status(CREATED) + .payload( + "fixtures/client/v3/buildpacks/POST_{id}_upload_response.json") + .build()) + .build()); this.buildpacks - .upload(UploadBuildpackRequest.builder() - .bits(new ClassPathResource("fixtures/client/v3/buildpacks/test-buildpack.zip").getFile().toPath()) - .buildpackId("test-buildpack-id") - .build()) - .as(StepVerifier::create) - .expectNext(UploadBuildpackResponse.builder() - .id("fd35633f-5c5c-4e4e-a5a9-0722c970a9d2") - .createdAt("2016-03-18T23:26:46Z") - .updatedAt("2016-10-17T20:00:42Z") - .name("ruby_buildpack") - .state(BuildpackState.AWAITING_UPLOAD) - .stack("windows64") - .position(42) - .enabled(true) - .locked(false) - .metadata(Metadata.builder() - .annotations(Collections.emptyMap()) - .labels(Collections.emptyMap()) - .build()) - .link("self", Link.builder() - .href("https://api.example.org/v3/buildpacks/fd35633f-5c5c-4e4e-a5a9-0722c970a9d2") - .build()) - .link("upload", Link.builder() - .href("https://api.example.org/v3/buildpacks/fd35633f-5c5c-4e4e-a5a9-0722c970a9d2/upload") - .method("POST") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .upload( + UploadBuildpackRequest.builder() + .bits( + new ClassPathResource( + "fixtures/client/v3/buildpacks/test-buildpack.zip") + .getFile() + .toPath()) + .buildpackId("test-buildpack-id") + .build()) + .as(StepVerifier::create) + .expectNext( + UploadBuildpackResponse.builder() + .id("fd35633f-5c5c-4e4e-a5a9-0722c970a9d2") + .createdAt("2016-03-18T23:26:46Z") + .updatedAt("2016-10-17T20:00:42Z") + .name("ruby_buildpack") + .state(BuildpackState.AWAITING_UPLOAD) + .stack("windows64") + .position(42) + .enabled(true) + .locked(false) + .metadata( + Metadata.builder() + .annotations(Collections.emptyMap()) + .labels(Collections.emptyMap()) + .build()) + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/buildpacks/fd35633f-5c5c-4e4e-a5a9-0722c970a9d2") + .build()) + .link( + "upload", + Link.builder() + .href( + "https://api.example.org/v3/buildpacks/fd35633f-5c5c-4e4e-a5a9-0722c970a9d2/upload") + .method("POST") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } - } diff --git a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v3/builds/ReactorBuildsTest.java b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v3/builds/ReactorBuildsTest.java index 633f951ad2..e3917394cf 100644 --- a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v3/builds/ReactorBuildsTest.java +++ b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v3/builds/ReactorBuildsTest.java @@ -16,6 +16,13 @@ package org.cloudfoundry.reactor.client.v3.builds; +import static io.netty.handler.codec.http.HttpMethod.GET; +import static io.netty.handler.codec.http.HttpMethod.POST; +import static io.netty.handler.codec.http.HttpResponseStatus.CREATED; +import static io.netty.handler.codec.http.HttpResponseStatus.OK; + +import java.time.Duration; +import java.util.Collections; import org.cloudfoundry.client.v3.BuildpackData; import org.cloudfoundry.client.v3.Lifecycle; import org.cloudfoundry.client.v3.LifecycleType; @@ -39,181 +46,221 @@ import org.junit.Test; import reactor.test.StepVerifier; -import java.time.Duration; -import java.util.Collections; - -import static io.netty.handler.codec.http.HttpMethod.GET; -import static io.netty.handler.codec.http.HttpMethod.POST; -import static io.netty.handler.codec.http.HttpResponseStatus.CREATED; -import static io.netty.handler.codec.http.HttpResponseStatus.OK; - public final class ReactorBuildsTest extends AbstractClientApiTest { - private final ReactorBuilds builds = new ReactorBuilds(CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); + private final ReactorBuilds builds = + new ReactorBuilds( + CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); @Test public void create() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(POST).path("/builds") - .payload("fixtures/client/v3/builds/POST_request.json") - .build()) - .response(TestResponse.builder() - .status(CREATED) - .payload("fixtures/client/v3/builds/POST_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(POST) + .path("/builds") + .payload("fixtures/client/v3/builds/POST_request.json") + .build()) + .response( + TestResponse.builder() + .status(CREATED) + .payload("fixtures/client/v3/builds/POST_response.json") + .build()) + .build()); this.builds - .create(CreateBuildRequest.builder() - .getPackage(Relationship.builder() - .id("[package-guid]") - .build()) - .build()) - .as(StepVerifier::create) - .expectNext(CreateBuildResponse.builder() - .id("585bc3c1-3743-497d-88b0-403ad6b56d16") - .createdAt("2016-03-28T23:39:34Z") - .updatedAt("2016-06-08T16:41:26Z") - .createdBy(CreatedBy.builder() - .id("3cb4e243-bed4-49d5-8739-f8b45abdec1c") - .name("bill") - .email("bill@example.com") - .build()) - .state(BuildState.STAGING) - .error(null) - .lifecycle(Lifecycle.builder() - .type(LifecycleType.BUILDPACK) - .data(BuildpackData.builder() - .buildpack("ruby_buildpack") - .stack("cflinuxfs2") - .build()) - .build()) - .inputPackage(Relationship.builder() - .id("8e4da443-f255-499c-8b47-b3729b5b7432") - .build()) - .droplet(null) - .link("self", Link.builder() - .href("https://api.example.org/v3/builds/585bc3c1-3743-497d-88b0-403ad6b56d16") - .build()) - .link("app", Link.builder() - .href("https://api.example.org/v3/apps/7b34f1cf-7e73-428a-bb5a-8a17a8058396") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .create( + CreateBuildRequest.builder() + .getPackage(Relationship.builder().id("[package-guid]").build()) + .build()) + .as(StepVerifier::create) + .expectNext( + CreateBuildResponse.builder() + .id("585bc3c1-3743-497d-88b0-403ad6b56d16") + .createdAt("2016-03-28T23:39:34Z") + .updatedAt("2016-06-08T16:41:26Z") + .createdBy( + CreatedBy.builder() + .id("3cb4e243-bed4-49d5-8739-f8b45abdec1c") + .name("bill") + .email("bill@example.com") + .build()) + .state(BuildState.STAGING) + .error(null) + .lifecycle( + Lifecycle.builder() + .type(LifecycleType.BUILDPACK) + .data( + BuildpackData.builder() + .buildpack("ruby_buildpack") + .stack("cflinuxfs2") + .build()) + .build()) + .inputPackage( + Relationship.builder() + .id("8e4da443-f255-499c-8b47-b3729b5b7432") + .build()) + .droplet(null) + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/builds/585bc3c1-3743-497d-88b0-403ad6b56d16") + .build()) + .link( + "app", + Link.builder() + .href( + "https://api.example.org/v3/apps/7b34f1cf-7e73-428a-bb5a-8a17a8058396") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void get() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/builds/test-build-id") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v3/builds/GET_{id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/builds/test-build-id") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload("fixtures/client/v3/builds/GET_{id}_response.json") + .build()) + .build()); this.builds - .get(GetBuildRequest.builder() - .buildId("test-build-id") - .build()) - .as(StepVerifier::create) - .expectNext(GetBuildResponse.builder() - .id("585bc3c1-3743-497d-88b0-403ad6b56d16") - .createdAt("2016-03-28T23:39:34Z") - .updatedAt("2016-03-28T23:39:47Z") - .createdBy(CreatedBy.builder() - .id("3cb4e243-bed4-49d5-8739-f8b45abdec1c") - .name("bill") - .email("bill@example.com") - .build()) - .state(BuildState.STAGED) - .error(null) - .lifecycle(Lifecycle.builder() - .type(LifecycleType.BUILDPACK) - .data(BuildpackData.builder() - .buildpack("ruby_buildpack") - .stack("cflinuxfs2") - .build()) - .build()) - .inputPackage(Relationship.builder() - .id("8e4da443-f255-499c-8b47-b3729b5b7432") - .build()) - .droplet(Droplet.builder() - .id("1e1186e7-d803-4c46-b9d6-5c81e50fe55a") - .build()) - .link("self", Link.builder() - .href("https://api.example.org/v3/builds/585bc3c1-3743-497d-88b0-403ad6b56d16") - .build()) - .link("app", Link.builder() - .href("https://api.example.org/v3/apps/7b34f1cf-7e73-428a-bb5a-8a17a8058396") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .get(GetBuildRequest.builder().buildId("test-build-id").build()) + .as(StepVerifier::create) + .expectNext( + GetBuildResponse.builder() + .id("585bc3c1-3743-497d-88b0-403ad6b56d16") + .createdAt("2016-03-28T23:39:34Z") + .updatedAt("2016-03-28T23:39:47Z") + .createdBy( + CreatedBy.builder() + .id("3cb4e243-bed4-49d5-8739-f8b45abdec1c") + .name("bill") + .email("bill@example.com") + .build()) + .state(BuildState.STAGED) + .error(null) + .lifecycle( + Lifecycle.builder() + .type(LifecycleType.BUILDPACK) + .data( + BuildpackData.builder() + .buildpack("ruby_buildpack") + .stack("cflinuxfs2") + .build()) + .build()) + .inputPackage( + Relationship.builder() + .id("8e4da443-f255-499c-8b47-b3729b5b7432") + .build()) + .droplet( + Droplet.builder() + .id("1e1186e7-d803-4c46-b9d6-5c81e50fe55a") + .build()) + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/builds/585bc3c1-3743-497d-88b0-403ad6b56d16") + .build()) + .link( + "app", + Link.builder() + .href( + "https://api.example.org/v3/apps/7b34f1cf-7e73-428a-bb5a-8a17a8058396") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void list() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/builds") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v3/builds/GET_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request(TestRequest.builder().method(GET).path("/builds").build()) + .response( + TestResponse.builder() + .status(OK) + .payload("fixtures/client/v3/builds/GET_response.json") + .build()) + .build()); this.builds - .list(ListBuildsRequest.builder() - .build()) - .as(StepVerifier::create) - .expectNext(ListBuildsResponse.builder() - .pagination(Pagination.builder() - .totalResults(1) - .totalPages(1) - .first(Link.builder() - .href("https://api.example.org/v3/builds?states=STAGING&page=1&per_page=2") - .build()) - .last(Link.builder() - .href("https://api.example.org/v3/builds?states=STAGING&page=1&per_page=2") - .build()) - .build()) - .resource(BuildResource.builder() - .id("585bc3c1-3743-497d-88b0-403ad6b56d16") - .createdAt("2016-03-28T23:39:34Z") - .updatedAt("2016-06-08T16:41:26Z") - .createdBy(CreatedBy.builder() - .id("3cb4e243-bed4-49d5-8739-f8b45abdec1c") - .name("bill") - .email("bill@example.com") - .build()) - .state(BuildState.STAGING) - .error(null) - .lifecycle(Lifecycle.builder() - .type(LifecycleType.BUILDPACK) - .data(BuildpackData.builder() - .buildpack("ruby_buildpack") - .stack("cflinuxfs2") - .build()) - .build()) - .inputPackage(Relationship.builder() - .id("8e4da443-f255-499c-8b47-b3729b5b7432") - .build()) - .link("self", Link.builder() - .href("https://api.example.org/v3/builds/585bc3c1-3743-497d-88b0-403ad6b56d16") - .build()) - .link("app", Link.builder() - .href("https://api.example.org/v3/apps/7b34f1cf-7e73-428a-bb5a-8a17a8058396") - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .list(ListBuildsRequest.builder().build()) + .as(StepVerifier::create) + .expectNext( + ListBuildsResponse.builder() + .pagination( + Pagination.builder() + .totalResults(1) + .totalPages(1) + .first( + Link.builder() + .href( + "https://api.example.org/v3/builds?states=STAGING&page=1&per_page=2") + .build()) + .last( + Link.builder() + .href( + "https://api.example.org/v3/builds?states=STAGING&page=1&per_page=2") + .build()) + .build()) + .resource( + BuildResource.builder() + .id("585bc3c1-3743-497d-88b0-403ad6b56d16") + .createdAt("2016-03-28T23:39:34Z") + .updatedAt("2016-06-08T16:41:26Z") + .createdBy( + CreatedBy.builder() + .id( + "3cb4e243-bed4-49d5-8739-f8b45abdec1c") + .name("bill") + .email("bill@example.com") + .build()) + .state(BuildState.STAGING) + .error(null) + .lifecycle( + Lifecycle.builder() + .type(LifecycleType.BUILDPACK) + .data( + BuildpackData.builder() + .buildpack( + "ruby_buildpack") + .stack("cflinuxfs2") + .build()) + .build()) + .inputPackage( + Relationship.builder() + .id( + "8e4da443-f255-499c-8b47-b3729b5b7432") + .build()) + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/builds/585bc3c1-3743-497d-88b0-403ad6b56d16") + .build()) + .link( + "app", + Link.builder() + .href( + "https://api.example.org/v3/apps/7b34f1cf-7e73-428a-bb5a-8a17a8058396") + .build()) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } - } diff --git a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v3/deployments/ReactorDeploymentsV3Test.java b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v3/deployments/ReactorDeploymentsV3Test.java index b21b57bb6f..303c81646e 100644 --- a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v3/deployments/ReactorDeploymentsV3Test.java +++ b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v3/deployments/ReactorDeploymentsV3Test.java @@ -16,6 +16,13 @@ package org.cloudfoundry.reactor.client.v3.deployments; +import static io.netty.handler.codec.http.HttpMethod.GET; +import static io.netty.handler.codec.http.HttpMethod.POST; +import static io.netty.handler.codec.http.HttpResponseStatus.OK; +import static java.util.Collections.singletonList; + +import java.time.Duration; +import java.util.Collections; import org.cloudfoundry.client.v3.Link; import org.cloudfoundry.client.v3.Pagination; import org.cloudfoundry.client.v3.Relationship; @@ -39,223 +46,294 @@ import org.junit.Test; import reactor.test.StepVerifier; -import java.time.Duration; -import java.util.Collections; - -import static io.netty.handler.codec.http.HttpMethod.GET; -import static io.netty.handler.codec.http.HttpMethod.POST; -import static io.netty.handler.codec.http.HttpResponseStatus.OK; -import static java.util.Collections.singletonList; - public class ReactorDeploymentsV3Test extends AbstractClientApiTest { - private final ReactorDeploymentsV3 deployments = new ReactorDeploymentsV3(CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); + private final ReactorDeploymentsV3 deployments = + new ReactorDeploymentsV3( + CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); @Test public void cancel() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(POST).path("/deployments/test-deployment-id/actions/cancel") - .payload("fixtures/client/v3/deployments/POST_{id}_cancel_request.json") - .build()) - .response(TestResponse.builder() - .status(OK) - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(POST) + .path("/deployments/test-deployment-id/actions/cancel") + .payload( + "fixtures/client/v3/deployments/POST_{id}_cancel_request.json") + .build()) + .response(TestResponse.builder().status(OK).build()) + .build()); this.deployments - .cancel(CancelDeploymentRequest.builder() - .deploymentId("test-deployment-id") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .cancel( + CancelDeploymentRequest.builder() + .deploymentId("test-deployment-id") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @SuppressWarnings("deprecation") @Test public void create() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(POST).path("/deployments") - .payload("fixtures/client/v3/deployments/POST_request.json") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v3/deployments/POST_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(POST) + .path("/deployments") + .payload("fixtures/client/v3/deployments/POST_request.json") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v3/deployments/POST_response.json") + .build()) + .build()); this.deployments - .create(CreateDeploymentRequest.builder() - .droplet(Relationship.builder().id("44ccfa61-dbcf-4a0d-82fe-f668e9d2a962").build()) - .relationships(DeploymentRelationships.builder() - .app(ToOneRelationship.builder() - .data(Relationship.builder() - .id("305cea31-5a44-45ca-b51b-e89c7a8ef8b2") - .build()) - .build()) - .build()) - .build()) - .as(StepVerifier::create) - - .expectNext(CreateDeploymentResponse.builder() - .id("59c3d133-2b83-46f3-960e-7765a129aea4") - .state(DeploymentState.DEPLOYING) - .droplet(Relationship.builder() - .id("44ccfa61-dbcf-4a0d-82fe-f668e9d2a962") - .build()) - .previousDroplet(Relationship.builder() - .id("cc6bc315-bd06-49ce-92c2-bc3ad45268c2") - .build()) - .newProcesses(singletonList(Process.builder() - .id("fd5d3e60-f88c-4c37-b1ae-667cfc65a856") - .type("web-deployment-59c3d133-2b83-46f3-960e-7765a129aea4") - .build())) - .revision(Revision.builder() - .id("56126cba-656a-4eba-a81e-7e9951b2df57") - .version(1) - .build()) - .createdAt("2018-04-25T22:42:10Z") - .updatedAt("2018-04-25T22:42:10Z") - .relationships(DeploymentRelationships.builder() - .app(ToOneRelationship.builder() - .data(Relationship.builder() - .id("305cea31-5a44-45ca-b51b-e89c7a8ef8b2") - .build()) - .build()) - .build()) - .link("self", Link.builder() - .href("https://api.example.org/v3/deployments/59c3d133-2b83-46f3-960e-7765a129aea4") - .build()) - .link("app", Link.builder() - .href("https://api.example.org/v3/apps/305cea31-5a44-45ca-b51b-e89c7a8ef8b2") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .create( + CreateDeploymentRequest.builder() + .droplet( + Relationship.builder() + .id("44ccfa61-dbcf-4a0d-82fe-f668e9d2a962") + .build()) + .relationships( + DeploymentRelationships.builder() + .app( + ToOneRelationship.builder() + .data( + Relationship.builder() + .id( + "305cea31-5a44-45ca-b51b-e89c7a8ef8b2") + .build()) + .build()) + .build()) + .build()) + .as(StepVerifier::create) + .expectNext( + CreateDeploymentResponse.builder() + .id("59c3d133-2b83-46f3-960e-7765a129aea4") + .state(DeploymentState.DEPLOYING) + .droplet( + Relationship.builder() + .id("44ccfa61-dbcf-4a0d-82fe-f668e9d2a962") + .build()) + .previousDroplet( + Relationship.builder() + .id("cc6bc315-bd06-49ce-92c2-bc3ad45268c2") + .build()) + .newProcesses( + singletonList( + Process.builder() + .id("fd5d3e60-f88c-4c37-b1ae-667cfc65a856") + .type( + "web-deployment-59c3d133-2b83-46f3-960e-7765a129aea4") + .build())) + .revision( + Revision.builder() + .id("56126cba-656a-4eba-a81e-7e9951b2df57") + .version(1) + .build()) + .createdAt("2018-04-25T22:42:10Z") + .updatedAt("2018-04-25T22:42:10Z") + .relationships( + DeploymentRelationships.builder() + .app( + ToOneRelationship.builder() + .data( + Relationship.builder() + .id( + "305cea31-5a44-45ca-b51b-e89c7a8ef8b2") + .build()) + .build()) + .build()) + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/deployments/59c3d133-2b83-46f3-960e-7765a129aea4") + .build()) + .link( + "app", + Link.builder() + .href( + "https://api.example.org/v3/apps/305cea31-5a44-45ca-b51b-e89c7a8ef8b2") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @SuppressWarnings("deprecation") @Test public void get() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/deployments/test-deployment-id") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v3/deployments/GET_{id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/deployments/test-deployment-id") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v3/deployments/GET_{id}_response.json") + .build()) + .build()); this.deployments - .get(GetDeploymentRequest.builder() - .deploymentId("test-deployment-id") - .build()) - .as(StepVerifier::create) - - .expectNext(GetDeploymentResponse.builder() - .id("59c3d133-2b83-46f3-960e-7765a129aea4") - .state(DeploymentState.DEPLOYING) - .droplet(Relationship.builder() - .id("44ccfa61-dbcf-4a0d-82fe-f668e9d2a962") - .build()) - .previousDroplet(Relationship.builder() - .id("cc6bc315-bd06-49ce-92c2-bc3ad45268c2") - .build()) - .newProcesses(singletonList(Process.builder() - .id("fd5d3e60-f88c-4c37-b1ae-667cfc65a856") - .type("web-deployment-59c3d133-2b83-46f3-960e-7765a129aea4") - .build())) - .revision(Revision.builder() - .id("56126cba-656a-4eba-a81e-7e9951b2df57") - .version(1) - .build()) - .createdAt("2018-04-25T22:42:10Z") - .updatedAt("2018-04-25T22:42:10Z") - .relationships(DeploymentRelationships.builder() - .app(ToOneRelationship.builder() - .data(Relationship.builder() - .id("305cea31-5a44-45ca-b51b-e89c7a8ef8b2") - .build()) - .build()) - .build()) - .link("self", Link.builder() - .href("https://api.example.org/v3/deployments/59c3d133-2b83-46f3-960e-7765a129aea4") - .build()) - .link("app", Link.builder() - .href("https://api.example.org/v3/apps/305cea31-5a44-45ca-b51b-e89c7a8ef8b2") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .get(GetDeploymentRequest.builder().deploymentId("test-deployment-id").build()) + .as(StepVerifier::create) + .expectNext( + GetDeploymentResponse.builder() + .id("59c3d133-2b83-46f3-960e-7765a129aea4") + .state(DeploymentState.DEPLOYING) + .droplet( + Relationship.builder() + .id("44ccfa61-dbcf-4a0d-82fe-f668e9d2a962") + .build()) + .previousDroplet( + Relationship.builder() + .id("cc6bc315-bd06-49ce-92c2-bc3ad45268c2") + .build()) + .newProcesses( + singletonList( + Process.builder() + .id("fd5d3e60-f88c-4c37-b1ae-667cfc65a856") + .type( + "web-deployment-59c3d133-2b83-46f3-960e-7765a129aea4") + .build())) + .revision( + Revision.builder() + .id("56126cba-656a-4eba-a81e-7e9951b2df57") + .version(1) + .build()) + .createdAt("2018-04-25T22:42:10Z") + .updatedAt("2018-04-25T22:42:10Z") + .relationships( + DeploymentRelationships.builder() + .app( + ToOneRelationship.builder() + .data( + Relationship.builder() + .id( + "305cea31-5a44-45ca-b51b-e89c7a8ef8b2") + .build()) + .build()) + .build()) + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/deployments/59c3d133-2b83-46f3-960e-7765a129aea4") + .build()) + .link( + "app", + Link.builder() + .href( + "https://api.example.org/v3/apps/305cea31-5a44-45ca-b51b-e89c7a8ef8b2") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @SuppressWarnings("deprecation") @Test public void list() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/deployments") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v3/deployments/GET_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request(TestRequest.builder().method(GET).path("/deployments").build()) + .response( + TestResponse.builder() + .status(OK) + .payload("fixtures/client/v3/deployments/GET_response.json") + .build()) + .build()); this.deployments - .list(ListDeploymentsRequest.builder() - .build()) - .as(StepVerifier::create) - .expectNext(ListDeploymentsResponse.builder() - .pagination(Pagination.builder() - .totalResults(1) - .totalPages(1) - .first(Link.builder() - .href("https://api.example.org/v3/deployments?page=1&per_page=2") - .build()) - .last(Link.builder() - .href("https://api.example.org/v3/deployments?page=1&per_page=2") - .build()) - .build()) - .resource(DeploymentResource.builder() - .id("59c3d133-2b83-46f3-960e-7765a129aea4") - .state(DeploymentState.DEPLOYING) - .droplet(Relationship.builder() - .id("44ccfa61-dbcf-4a0d-82fe-f668e9d2a962") - .build()) - .previousDroplet(Relationship.builder() - .id("cc6bc315-bd06-49ce-92c2-bc3ad45268c2") - .build()) - .newProcesses(singletonList(Process.builder() - .id("fd5d3e60-f88c-4c37-b1ae-667cfc65a856") - .type("web-deployment-59c3d133-2b83-46f3-960e-7765a129aea4") - .build())) - .revision(Revision.builder() - .id("56126cba-656a-4eba-a81e-7e9951b2df57") - .version(1) - .build()) - .createdAt("2018-04-25T22:42:10Z") - .updatedAt("2018-04-25T22:42:10Z") - .relationships(DeploymentRelationships.builder() - .app(ToOneRelationship.builder() - .data(Relationship.builder() - .id("305cea31-5a44-45ca-b51b-e89c7a8ef8b2") + .list(ListDeploymentsRequest.builder().build()) + .as(StepVerifier::create) + .expectNext( + ListDeploymentsResponse.builder() + .pagination( + Pagination.builder() + .totalResults(1) + .totalPages(1) + .first( + Link.builder() + .href( + "https://api.example.org/v3/deployments?page=1&per_page=2") + .build()) + .last( + Link.builder() + .href( + "https://api.example.org/v3/deployments?page=1&per_page=2") + .build()) + .build()) + .resource( + DeploymentResource.builder() + .id("59c3d133-2b83-46f3-960e-7765a129aea4") + .state(DeploymentState.DEPLOYING) + .droplet( + Relationship.builder() + .id( + "44ccfa61-dbcf-4a0d-82fe-f668e9d2a962") + .build()) + .previousDroplet( + Relationship.builder() + .id( + "cc6bc315-bd06-49ce-92c2-bc3ad45268c2") + .build()) + .newProcesses( + singletonList( + Process.builder() + .id( + "fd5d3e60-f88c-4c37-b1ae-667cfc65a856") + .type( + "web-deployment-59c3d133-2b83-46f3-960e-7765a129aea4") + .build())) + .revision( + Revision.builder() + .id( + "56126cba-656a-4eba-a81e-7e9951b2df57") + .version(1) + .build()) + .createdAt("2018-04-25T22:42:10Z") + .updatedAt("2018-04-25T22:42:10Z") + .relationships( + DeploymentRelationships.builder() + .app( + ToOneRelationship.builder() + .data( + Relationship + .builder() + .id( + "305cea31-5a44-45ca-b51b-e89c7a8ef8b2") + .build()) + .build()) + .build()) + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/deployments/59c3d133-2b83-46f3-960e-7765a129aea4") + .build()) + .link( + "app", + Link.builder() + .href( + "https://api.example.org/v3/apps/305cea31-5a44-45ca-b51b-e89c7a8ef8b2") + .build()) + .build()) .build()) - .build()) - .build()) - .link("self", Link.builder() - .href("https://api.example.org/v3/deployments/59c3d133-2b83-46f3-960e-7765a129aea4") - .build()) - .link("app", Link.builder() - .href("https://api.example.org/v3/apps/305cea31-5a44-45ca-b51b-e89c7a8ef8b2") - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .expectComplete() + .verify(Duration.ofSeconds(5)); } - } diff --git a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v3/domains/ReactorDomainsV3Test.java b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v3/domains/ReactorDomainsV3Test.java index 3f3cd2e1f2..974377bfe1 100644 --- a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v3/domains/ReactorDomainsV3Test.java +++ b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v3/domains/ReactorDomainsV3Test.java @@ -16,6 +16,17 @@ package org.cloudfoundry.reactor.client.v3.domains; +import static io.netty.handler.codec.http.HttpMethod.DELETE; +import static io.netty.handler.codec.http.HttpMethod.GET; +import static io.netty.handler.codec.http.HttpMethod.PATCH; +import static io.netty.handler.codec.http.HttpMethod.POST; +import static io.netty.handler.codec.http.HttpResponseStatus.ACCEPTED; +import static io.netty.handler.codec.http.HttpResponseStatus.CREATED; +import static io.netty.handler.codec.http.HttpResponseStatus.NO_CONTENT; +import static io.netty.handler.codec.http.HttpResponseStatus.OK; + +import java.time.Duration; +import java.util.Collections; import org.cloudfoundry.client.v3.Link; import org.cloudfoundry.client.v3.Metadata; import org.cloudfoundry.client.v3.Pagination; @@ -43,322 +54,425 @@ import org.junit.Test; import reactor.test.StepVerifier; -import java.time.Duration; -import java.util.Collections; - -import static io.netty.handler.codec.http.HttpMethod.DELETE; -import static io.netty.handler.codec.http.HttpMethod.GET; -import static io.netty.handler.codec.http.HttpMethod.PATCH; -import static io.netty.handler.codec.http.HttpMethod.POST; -import static io.netty.handler.codec.http.HttpResponseStatus.ACCEPTED; -import static io.netty.handler.codec.http.HttpResponseStatus.CREATED; -import static io.netty.handler.codec.http.HttpResponseStatus.NO_CONTENT; -import static io.netty.handler.codec.http.HttpResponseStatus.OK; - public final class ReactorDomainsV3Test extends AbstractClientApiTest { - private final ReactorDomainsV3 domains = new ReactorDomainsV3(CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); + private final ReactorDomainsV3 domains = + new ReactorDomainsV3( + CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); @Test public void create() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(POST).path("/domains") - .payload("fixtures/client/v3/domains/POST_request.json") - .build()) - .response(TestResponse.builder() - .status(CREATED) - .payload("fixtures/client/v3/domains/POST_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(POST) + .path("/domains") + .payload("fixtures/client/v3/domains/POST_request.json") + .build()) + .response( + TestResponse.builder() + .status(CREATED) + .payload("fixtures/client/v3/domains/POST_response.json") + .build()) + .build()); this.domains - .create(CreateDomainRequest.builder() - .name("test-domain.com") - .internal(false) - .build()) - .as(StepVerifier::create) - .expectNext(CreateDomainResponse.builder() - .id("3a5d3d89-3f89-4f05-8188-8a2b298c79d5") - .name("test-domain.com") - .createdAt("2019-03-08T01:06:19Z") - .updatedAt("2019-03-08T01:06:19Z") - .isInternal(false) - .metadata(Metadata.builder() - .labels(Collections.emptyMap()) - .annotations(Collections.emptyMap()) - .build()) - .relationships(DomainRelationships.builder() - .organization(ToOneRelationship.builder().build()) - .sharedOrganizations(ToManyRelationship.builder().build()) - .build()) - .link("self", Link.builder() - .href("https://api.example.org/v3/domains/3a5d3d89-3f89-4f05-8188-8a2b298c79d5") - .build()) - .link("route_reservations", Link.builder() - .href("https://api.example.org/v3/domains/3a5d3d89-3f89-4f05-8188-8a2b298c79d5/route_reservations") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .create( + CreateDomainRequest.builder() + .name("test-domain.com") + .internal(false) + .build()) + .as(StepVerifier::create) + .expectNext( + CreateDomainResponse.builder() + .id("3a5d3d89-3f89-4f05-8188-8a2b298c79d5") + .name("test-domain.com") + .createdAt("2019-03-08T01:06:19Z") + .updatedAt("2019-03-08T01:06:19Z") + .isInternal(false) + .metadata( + Metadata.builder() + .labels(Collections.emptyMap()) + .annotations(Collections.emptyMap()) + .build()) + .relationships( + DomainRelationships.builder() + .organization(ToOneRelationship.builder().build()) + .sharedOrganizations( + ToManyRelationship.builder().build()) + .build()) + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/domains/3a5d3d89-3f89-4f05-8188-8a2b298c79d5") + .build()) + .link( + "route_reservations", + Link.builder() + .href( + "https://api.example.org/v3/domains/3a5d3d89-3f89-4f05-8188-8a2b298c79d5/route_reservations") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void delete() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(DELETE).path("/domains/test-domain-id") - .build()) - .response(TestResponse.builder() - .status(ACCEPTED) - .header("Location", "https://api.example.org/v3/jobs/[guid]") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(DELETE) + .path("/domains/test-domain-id") + .build()) + .response( + TestResponse.builder() + .status(ACCEPTED) + .header( + "Location", + "https://api.example.org/v3/jobs/[guid]") + .build()) + .build()); this.domains - .delete(DeleteDomainRequest.builder() - .domainId("test-domain-id") - .build()) - .as(StepVerifier::create) - .expectNext("[guid]") - .expectComplete() - .verify(Duration.ofSeconds(5)); + .delete(DeleteDomainRequest.builder().domainId("test-domain-id").build()) + .as(StepVerifier::create) + .expectNext("[guid]") + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void get() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/domains/test-domain-id") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v3/domains/GET_{id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/domains/test-domain-id") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v3/domains/GET_{id}_response.json") + .build()) + .build()); this.domains - .get(GetDomainRequest.builder() - .domainId("test-domain-id") - .build()) - .as(StepVerifier::create) - .expectNext(GetDomainResponse.builder() - .id("3a5d3d89-3f89-4f05-8188-8a2b298c79d5") - .name("test-domain.com") - .createdAt("2019-03-08T01:06:19Z") - .updatedAt("2019-03-08T01:06:19Z") - .isInternal(false) - .metadata(Metadata.builder() - .labels(Collections.emptyMap()) - .annotations(Collections.emptyMap()) - .build()) - .relationships(DomainRelationships.builder() - .organization(ToOneRelationship.builder() - .data(Relationship.builder() - .id("3a3f3d89-3f89-4f05-8188-751b298c79d5") - .build()) - .build()) - .sharedOrganizations(ToManyRelationship.builder() - .data(Relationship.builder() - .id("404f3d89-3f89-6z72-8188-751b298d88d5") - .build()) - .data(Relationship.builder() - .id("416d3d89-3f89-8h67-2189-123b298d3592") - .build()) - .build()) - .build()) - .link("self", Link.builder() - .href("https://api.example.org/v3/domains/3a5d3d89-3f89-4f05-8188-8a2b298c79d5") - .build()) - .link("organization", Link.builder() - .href("https://api.example.org/v3/organizations/3a3f3d89-3f89-4f05-8188-751b298c79d5") - .build()) - .link("route_reservations", Link.builder() - .href("https://api.example.org/v3/domains/3a5d3d89-3f89-4f05-8188-8a2b298c79d5/route_reservations") - .build()) - .link("shared_organizations", Link.builder() - .href("https://api.example.org/v3/domains/3a5d3d89-3f89-4f05-8188-8a2b298c79d5/relationships/shared_organizations") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .get(GetDomainRequest.builder().domainId("test-domain-id").build()) + .as(StepVerifier::create) + .expectNext( + GetDomainResponse.builder() + .id("3a5d3d89-3f89-4f05-8188-8a2b298c79d5") + .name("test-domain.com") + .createdAt("2019-03-08T01:06:19Z") + .updatedAt("2019-03-08T01:06:19Z") + .isInternal(false) + .metadata( + Metadata.builder() + .labels(Collections.emptyMap()) + .annotations(Collections.emptyMap()) + .build()) + .relationships( + DomainRelationships.builder() + .organization( + ToOneRelationship.builder() + .data( + Relationship.builder() + .id( + "3a3f3d89-3f89-4f05-8188-751b298c79d5") + .build()) + .build()) + .sharedOrganizations( + ToManyRelationship.builder() + .data( + Relationship.builder() + .id( + "404f3d89-3f89-6z72-8188-751b298d88d5") + .build()) + .data( + Relationship.builder() + .id( + "416d3d89-3f89-8h67-2189-123b298d3592") + .build()) + .build()) + .build()) + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/domains/3a5d3d89-3f89-4f05-8188-8a2b298c79d5") + .build()) + .link( + "organization", + Link.builder() + .href( + "https://api.example.org/v3/organizations/3a3f3d89-3f89-4f05-8188-751b298c79d5") + .build()) + .link( + "route_reservations", + Link.builder() + .href( + "https://api.example.org/v3/domains/3a5d3d89-3f89-4f05-8188-8a2b298c79d5/route_reservations") + .build()) + .link( + "shared_organizations", + Link.builder() + .href( + "https://api.example.org/v3/domains/3a5d3d89-3f89-4f05-8188-8a2b298c79d5/relationships/shared_organizations") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void list() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/domains") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v3/domains/GET_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request(TestRequest.builder().method(GET).path("/domains").build()) + .response( + TestResponse.builder() + .status(OK) + .payload("fixtures/client/v3/domains/GET_response.json") + .build()) + .build()); this.domains - .list(ListDomainsRequest.builder() - .build()) - .as(StepVerifier::create) - .expectNext(ListDomainsResponse.builder() - .pagination(Pagination.builder() - .totalResults(3) - .totalPages(2) - .first(Link.builder() - .href("https://api.example.org/v3/domains?page=1&per_page=2") - .build()) - .last(Link.builder() - .href("https://api.example.org/v3/domains?page=2&per_page=2") - .build()) - .next(Link.builder() - .href("https://api.example.org/v3/domains?page=2&per_page=2") - .build()) - .build()) - .resource(DomainResource.builder() - .id("3a5d3d89-3f89-4f05-8188-8a2b298c79d5") - .metadata(Metadata.builder() - .annotations(Collections.emptyMap()) - .labels(Collections.emptyMap()) - .build()) - .createdAt("2019-03-08T01:06:19Z") - .updatedAt("2019-03-08T01:06:19Z") - .name("test-domain.com") - .isInternal(false) - .relationships(DomainRelationships.builder() - .organization(ToOneRelationship.builder().data(null).build()) - .sharedOrganizations(ToManyRelationship.builder().build()) - .build()) - .link("self", Link.builder() - .href("https://api.example.org/v3/domains/3a5d3d89-3f89-4f05-8188-8a2b298c79d5") - .build()) - .link("route_reservations", Link.builder() - .href("https://api.example.org/v3/domains/3a5d3d89-3f89-4f05-8188-8a2b298c79d5/route_reservations") - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .list(ListDomainsRequest.builder().build()) + .as(StepVerifier::create) + .expectNext( + ListDomainsResponse.builder() + .pagination( + Pagination.builder() + .totalResults(3) + .totalPages(2) + .first( + Link.builder() + .href( + "https://api.example.org/v3/domains?page=1&per_page=2") + .build()) + .last( + Link.builder() + .href( + "https://api.example.org/v3/domains?page=2&per_page=2") + .build()) + .next( + Link.builder() + .href( + "https://api.example.org/v3/domains?page=2&per_page=2") + .build()) + .build()) + .resource( + DomainResource.builder() + .id("3a5d3d89-3f89-4f05-8188-8a2b298c79d5") + .metadata( + Metadata.builder() + .annotations(Collections.emptyMap()) + .labels(Collections.emptyMap()) + .build()) + .createdAt("2019-03-08T01:06:19Z") + .updatedAt("2019-03-08T01:06:19Z") + .name("test-domain.com") + .isInternal(false) + .relationships( + DomainRelationships.builder() + .organization( + ToOneRelationship.builder() + .data(null) + .build()) + .sharedOrganizations( + ToManyRelationship.builder() + .build()) + .build()) + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/domains/3a5d3d89-3f89-4f05-8188-8a2b298c79d5") + .build()) + .link( + "route_reservations", + Link.builder() + .href( + "https://api.example.org/v3/domains/3a5d3d89-3f89-4f05-8188-8a2b298c79d5/route_reservations") + .build()) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void share() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(POST).path("/domains/test-domain-id/relationships/shared_organizations") - .payload("fixtures/client/v3/domains/POST_{id}_relationships_shared_organizations_request.json") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v3/domains/POST_{id}_relationships_shared_organizations_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(POST) + .path( + "/domains/test-domain-id/relationships/shared_organizations") + .payload( + "fixtures/client/v3/domains/POST_{id}_relationships_shared_organizations_request.json") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v3/domains/POST_{id}_relationships_shared_organizations_response.json") + .build()) + .build()); this.domains - .share(ShareDomainRequest.builder() - .domainId("test-domain-id") - .data(Relationship.builder() - .id("404f3d89-3f89-6z72-8188-751b298d88d5") - .build()) - .data(Relationship.builder() - .id("416d3d89-3f89-8h67-2189-123b298d3592") - .build()) - .build()) - .as(StepVerifier::create) - .expectNext(ShareDomainResponse.builder() - .data(Relationship.builder() - .id("404f3d89-3f89-6z72-8188-751b298d88d5") - .build()) - .data(Relationship.builder() - .id("416d3d89-3f89-8h67-2189-123b298d3592") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .share( + ShareDomainRequest.builder() + .domainId("test-domain-id") + .data( + Relationship.builder() + .id("404f3d89-3f89-6z72-8188-751b298d88d5") + .build()) + .data( + Relationship.builder() + .id("416d3d89-3f89-8h67-2189-123b298d3592") + .build()) + .build()) + .as(StepVerifier::create) + .expectNext( + ShareDomainResponse.builder() + .data( + Relationship.builder() + .id("404f3d89-3f89-6z72-8188-751b298d88d5") + .build()) + .data( + Relationship.builder() + .id("416d3d89-3f89-8h67-2189-123b298d3592") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void unshare() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(DELETE).path("/domains/test-domain-id/relationships/shared_organizations/test-org-id") - .build()) - .response(TestResponse.builder() - .status(NO_CONTENT) - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(DELETE) + .path( + "/domains/test-domain-id/relationships/shared_organizations/test-org-id") + .build()) + .response(TestResponse.builder().status(NO_CONTENT).build()) + .build()); this.domains - .unshare(UnshareDomainRequest.builder() - .domainId("test-domain-id") - .organizationId("test-org-id") - .build()) - .as(StepVerifier::create) - .expectNext() - .expectComplete() - .verify(Duration.ofSeconds(5)); + .unshare( + UnshareDomainRequest.builder() + .domainId("test-domain-id") + .organizationId("test-org-id") + .build()) + .as(StepVerifier::create) + .expectNext() + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void update() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(PATCH).path("/domains/test-domain-id") - .payload("fixtures/client/v3/domains/PATCH_{id}_request.json") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v3/domains/PATCH_{id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(PATCH) + .path("/domains/test-domain-id") + .payload( + "fixtures/client/v3/domains/PATCH_{id}_request.json") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v3/domains/PATCH_{id}_response.json") + .build()) + .build()); this.domains - .update(UpdateDomainRequest.builder() - .domainId("test-domain-id") - .metadata(Metadata.builder() - .annotation("note", "detailed information") - .label("key", "value") - .build()) - .build()) - .as(StepVerifier::create) - .expectNext(UpdateDomainResponse.builder() - .id("3a5d3d89-3f89-4f05-8188-8a2b298c79d5") - .name("test-domain.com") - .createdAt("2019-03-08T01:06:19Z") - .updatedAt("2019-03-08T01:06:19Z") - .isInternal(false) - .metadata(Metadata.builder() - .label("key", "value") - .annotation("note", "detailed information") - .build()) - .relationships(DomainRelationships.builder() - .organization(ToOneRelationship.builder() - .data(Relationship.builder() - .id("3a3f3d89-3f89-4f05-8188-751b298c79d5") - .build()) - .build()) - .sharedOrganizations(ToManyRelationship.builder() - .data(Relationship.builder() - .id("404f3d89-3f89-6z72-8188-751b298d88d5") - .build()) - .data(Relationship.builder() - .id("416d3d89-3f89-8h67-2189-123b298d3592") - .build()) - .build()) - .build()) - .link("self", Link.builder() - .href("https://api.example.org/v3/domains/3a5d3d89-3f89-4f05-8188-8a2b298c79d5") - .build()) - .link("organization", Link.builder() - .href("https://api.example.org/v3/organizations/3a3f3d89-3f89-4f05-8188-751b298c79d5") - .build()) - .link("route_reservations", Link.builder() - .href("https://api.example.org/v3/domains/3a5d3d89-3f89-4f05-8188-8a2b298c79d5/route_reservations") - .build()) - .link("shared_organizations", Link.builder() - .href("https://api.example.org/v3/domains/3a5d3d89-3f89-4f05-8188-8a2b298c79d5/relationships/shared_organizations") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .update( + UpdateDomainRequest.builder() + .domainId("test-domain-id") + .metadata( + Metadata.builder() + .annotation("note", "detailed information") + .label("key", "value") + .build()) + .build()) + .as(StepVerifier::create) + .expectNext( + UpdateDomainResponse.builder() + .id("3a5d3d89-3f89-4f05-8188-8a2b298c79d5") + .name("test-domain.com") + .createdAt("2019-03-08T01:06:19Z") + .updatedAt("2019-03-08T01:06:19Z") + .isInternal(false) + .metadata( + Metadata.builder() + .label("key", "value") + .annotation("note", "detailed information") + .build()) + .relationships( + DomainRelationships.builder() + .organization( + ToOneRelationship.builder() + .data( + Relationship.builder() + .id( + "3a3f3d89-3f89-4f05-8188-751b298c79d5") + .build()) + .build()) + .sharedOrganizations( + ToManyRelationship.builder() + .data( + Relationship.builder() + .id( + "404f3d89-3f89-6z72-8188-751b298d88d5") + .build()) + .data( + Relationship.builder() + .id( + "416d3d89-3f89-8h67-2189-123b298d3592") + .build()) + .build()) + .build()) + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/domains/3a5d3d89-3f89-4f05-8188-8a2b298c79d5") + .build()) + .link( + "organization", + Link.builder() + .href( + "https://api.example.org/v3/organizations/3a3f3d89-3f89-4f05-8188-751b298c79d5") + .build()) + .link( + "route_reservations", + Link.builder() + .href( + "https://api.example.org/v3/domains/3a5d3d89-3f89-4f05-8188-8a2b298c79d5/route_reservations") + .build()) + .link( + "shared_organizations", + Link.builder() + .href( + "https://api.example.org/v3/domains/3a5d3d89-3f89-4f05-8188-8a2b298c79d5/relationships/shared_organizations") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } } diff --git a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v3/droplets/ReactorDropletsTest.java b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v3/droplets/ReactorDropletsTest.java index 54bac2b87d..7d2f5abc7a 100644 --- a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v3/droplets/ReactorDropletsTest.java +++ b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v3/droplets/ReactorDropletsTest.java @@ -16,6 +16,15 @@ package org.cloudfoundry.reactor.client.v3.droplets; +import static io.netty.handler.codec.http.HttpMethod.DELETE; +import static io.netty.handler.codec.http.HttpMethod.GET; +import static io.netty.handler.codec.http.HttpMethod.POST; +import static io.netty.handler.codec.http.HttpResponseStatus.ACCEPTED; +import static io.netty.handler.codec.http.HttpResponseStatus.CREATED; +import static io.netty.handler.codec.http.HttpResponseStatus.OK; + +import java.time.Duration; +import java.util.Collections; import org.cloudfoundry.client.v3.BuildpackData; import org.cloudfoundry.client.v3.Checksum; import org.cloudfoundry.client.v3.ChecksumType; @@ -44,259 +53,337 @@ import org.junit.Test; import reactor.test.StepVerifier; -import java.time.Duration; -import java.util.Collections; - -import static io.netty.handler.codec.http.HttpMethod.DELETE; -import static io.netty.handler.codec.http.HttpMethod.GET; -import static io.netty.handler.codec.http.HttpMethod.POST; -import static io.netty.handler.codec.http.HttpResponseStatus.ACCEPTED; -import static io.netty.handler.codec.http.HttpResponseStatus.CREATED; -import static io.netty.handler.codec.http.HttpResponseStatus.OK; - public final class ReactorDropletsTest extends AbstractClientApiTest { - private final ReactorDroplets droplets = new ReactorDroplets(CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); + private final ReactorDroplets droplets = + new ReactorDroplets( + CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); @Test public void copy() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(POST).path("/droplets?source_guid=test-source-droplet-id") - .payload("fixtures/client/v3/droplets/POST_source_guid={id}_request.json") - .build()) - .response(TestResponse.builder() - .status(CREATED) - .payload("fixtures/client/v3/droplets/POST_source_guid={id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(POST) + .path("/droplets?source_guid=test-source-droplet-id") + .payload( + "fixtures/client/v3/droplets/POST_source_guid={id}_request.json") + .build()) + .response( + TestResponse.builder() + .status(CREATED) + .payload( + "fixtures/client/v3/droplets/POST_source_guid={id}_response.json") + .build()) + .build()); this.droplets - .copy(CopyDropletRequest.builder() - .sourceDropletId("test-source-droplet-id") - .relationships(DropletRelationships.builder() - .application(ToOneRelationship.builder() - .data(Relationship.builder() - .id("[app-guid]") - .build()) - .build()) - .build()) - .build()) - .as(StepVerifier::create) - .expectNext(CopyDropletResponse.builder() - .id("585bc3c1-3743-497d-88b0-403ad6b56d16") - .state(DropletState.COPYING) - .error(null) - .lifecycle(Lifecycle.builder() - .type(LifecycleType.BUILDPACK) - .data(BuildpackData.builder() - .build()) - .build()) - .executionMetadata("") - .processTypes(null) - .checksum(null) - .stack(null) - .image(null) - .createdAt("2016-03-28T23:39:34Z") - .updatedAt("2016-06-08T16:41:26Z") - .link("self", Link.builder() - .href("https://api.example.org/v3/droplets/585bc3c1-3743-497d-88b0-403ad6b56d16") - .build()) - .link("package", Link.builder() - .href("https://api.example.org/v3/packages/8222f76a-9e09-4360-b3aa-1ed329945e92") - .build()) - .link("app", Link.builder() - .href("https://api.example.org/v3/apps/7b34f1cf-7e73-428a-bb5a-8a17a8058396") - .build()) - .link("assign_current_droplet", Link.builder() - .href("https://api.example.org/v3/apps/7b34f1cf-7e73-428a-bb5a-8a17a8058396/relationships/current_droplet") - .method("PATCH") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .copy( + CopyDropletRequest.builder() + .sourceDropletId("test-source-droplet-id") + .relationships( + DropletRelationships.builder() + .application( + ToOneRelationship.builder() + .data( + Relationship.builder() + .id("[app-guid]") + .build()) + .build()) + .build()) + .build()) + .as(StepVerifier::create) + .expectNext( + CopyDropletResponse.builder() + .id("585bc3c1-3743-497d-88b0-403ad6b56d16") + .state(DropletState.COPYING) + .error(null) + .lifecycle( + Lifecycle.builder() + .type(LifecycleType.BUILDPACK) + .data(BuildpackData.builder().build()) + .build()) + .executionMetadata("") + .processTypes(null) + .checksum(null) + .stack(null) + .image(null) + .createdAt("2016-03-28T23:39:34Z") + .updatedAt("2016-06-08T16:41:26Z") + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/droplets/585bc3c1-3743-497d-88b0-403ad6b56d16") + .build()) + .link( + "package", + Link.builder() + .href( + "https://api.example.org/v3/packages/8222f76a-9e09-4360-b3aa-1ed329945e92") + .build()) + .link( + "app", + Link.builder() + .href( + "https://api.example.org/v3/apps/7b34f1cf-7e73-428a-bb5a-8a17a8058396") + .build()) + .link( + "assign_current_droplet", + Link.builder() + .href( + "https://api.example.org/v3/apps/7b34f1cf-7e73-428a-bb5a-8a17a8058396/relationships/current_droplet") + .method("PATCH") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void delete() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(DELETE).path("/droplets/test-droplet-id") - .build()) - .response(TestResponse.builder() - .status(ACCEPTED) - .header("Location", "https://api.example.org/v3/jobs/[guid]") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(DELETE) + .path("/droplets/test-droplet-id") + .build()) + .response( + TestResponse.builder() + .status(ACCEPTED) + .header( + "Location", + "https://api.example.org/v3/jobs/[guid]") + .build()) + .build()); this.droplets - .delete(DeleteDropletRequest.builder() - .dropletId("test-droplet-id") - .build()) - .as(StepVerifier::create) - .expectNext("[guid]") - .expectComplete() - .verify(Duration.ofSeconds(5)); + .delete(DeleteDropletRequest.builder().dropletId("test-droplet-id").build()) + .as(StepVerifier::create) + .expectNext("[guid]") + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void get() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/droplets/test-droplet-id") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v3/droplets/GET_{id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/droplets/test-droplet-id") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v3/droplets/GET_{id}_response.json") + .build()) + .build()); this.droplets - .get(GetDropletRequest.builder() - .dropletId("test-droplet-id") - .build()) - .as(StepVerifier::create) - .expectNext(GetDropletResponse.builder() - .id("585bc3c1-3743-497d-88b0-403ad6b56d16") - .state(DropletState.STAGED) - .error(null) - .lifecycle(Lifecycle.builder() - .type(LifecycleType.BUILDPACK) - .data(BuildpackData.builder() - .build()) - .build()) - .executionMetadata("") - .processType("rake", "bundle exec rake") - .processType("web", "bundle exec rackup config.ru -p $PORT") - .checksum(Checksum.builder() - .type(ChecksumType.SHA256) - .value("e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855") - .build()) - .buildpack(Buildpack.builder() - .buildpackName("ruby") - .detectOutput("ruby 1.6.14") - .name("ruby_buildpack") - .version("1.1.1.") - .build()) - .stack("cflinuxfs2") - .image(null) - .createdAt("2016-03-28T23:39:34Z") - .updatedAt("2016-03-28T23:39:47Z") - .link("self", Link.builder() - .href("https://api.example.org/v3/droplets/585bc3c1-3743-497d-88b0-403ad6b56d16") - .build()) - .link("package", Link.builder() - .href("https://api.example.org/v3/packages/8222f76a-9e09-4360-b3aa-1ed329945e92") - .build()) - .link("app", Link.builder() - .href("https://api.example.org/v3/apps/7b34f1cf-7e73-428a-bb5a-8a17a8058396") - .build()) - .link("assign_current_droplet", Link.builder() - .href("https://api.example.org/v3/apps/7b34f1cf-7e73-428a-bb5a-8a17a8058396/relationships/current_droplet") - .method("PATCH") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .get(GetDropletRequest.builder().dropletId("test-droplet-id").build()) + .as(StepVerifier::create) + .expectNext( + GetDropletResponse.builder() + .id("585bc3c1-3743-497d-88b0-403ad6b56d16") + .state(DropletState.STAGED) + .error(null) + .lifecycle( + Lifecycle.builder() + .type(LifecycleType.BUILDPACK) + .data(BuildpackData.builder().build()) + .build()) + .executionMetadata("") + .processType("rake", "bundle exec rake") + .processType("web", "bundle exec rackup config.ru -p $PORT") + .checksum( + Checksum.builder() + .type(ChecksumType.SHA256) + .value( + "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855") + .build()) + .buildpack( + Buildpack.builder() + .buildpackName("ruby") + .detectOutput("ruby 1.6.14") + .name("ruby_buildpack") + .version("1.1.1.") + .build()) + .stack("cflinuxfs2") + .image(null) + .createdAt("2016-03-28T23:39:34Z") + .updatedAt("2016-03-28T23:39:47Z") + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/droplets/585bc3c1-3743-497d-88b0-403ad6b56d16") + .build()) + .link( + "package", + Link.builder() + .href( + "https://api.example.org/v3/packages/8222f76a-9e09-4360-b3aa-1ed329945e92") + .build()) + .link( + "app", + Link.builder() + .href( + "https://api.example.org/v3/apps/7b34f1cf-7e73-428a-bb5a-8a17a8058396") + .build()) + .link( + "assign_current_droplet", + Link.builder() + .href( + "https://api.example.org/v3/apps/7b34f1cf-7e73-428a-bb5a-8a17a8058396/relationships/current_droplet") + .method("PATCH") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void list() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/droplets") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v3/droplets/GET_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request(TestRequest.builder().method(GET).path("/droplets").build()) + .response( + TestResponse.builder() + .status(OK) + .payload("fixtures/client/v3/droplets/GET_response.json") + .build()) + .build()); this.droplets - .list(ListDropletsRequest.builder() - .build()) - .as(StepVerifier::create) - .expectNext(ListDropletsResponse.builder() - .pagination(Pagination.builder() - .totalResults(2) - .totalPages(1) - .first(Link.builder() - .href("https://api.example.org/v3/droplets?page=1&per_page=50") - .build()) - .last(Link.builder() - .href("https://api.example.org/v3/droplets?page=1&per_page=50") - .build()) - .build()) - .resource(DropletResource.builder() - .id("585bc3c1-3743-497d-88b0-403ad6b56d16") - .state(DropletState.STAGED) - .error(null) - .lifecycle(Lifecycle.builder() - .type(LifecycleType.BUILDPACK) - .data(BuildpackData.builder() - .build()) - .build()) - .executionMetadata("PRIVATE DATA HIDDEN") - .processType("redacted_message", "[PRIVATE DATA HIDDEN IN LISTS]") - .checksum(Checksum.builder() - .type(ChecksumType.SHA256) - .value("e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855") - .build()) - .buildpack(Buildpack.builder() - .name("ruby_buildpack") - .detectOutput("ruby 1.6.14") - .build()) - .stack("cflinuxfs2") - .image(null) - .createdAt("2016-03-28T23:39:34Z") - .updatedAt("2016-03-28T23:39:47Z") - .link("self", Link.builder() - .href("https://api.example.org/v3/droplets/585bc3c1-3743-497d-88b0-403ad6b56d16") - .build()) - .link("package", Link.builder() - .href("https://api.example.org/v3/packages/8222f76a-9e09-4360-b3aa-1ed329945e92") - .build()) - .link("app", Link.builder() - .href("https://api.example.org/v3/apps/7b34f1cf-7e73-428a-bb5a-8a17a8058396") - .build()) - .link("assign_current_droplet", Link.builder() - .href("https://api.example.org/v3/apps/7b34f1cf-7e73-428a-bb5a-8a17a8058396/relationships/current_droplet") - .method("PATCH") - .build()) - .build()) - .resource(DropletResource.builder() - .id("fdf3851c-def8-4de1-87f1-6d4543189e22") - .state(DropletState.STAGED) - .error(null) - .lifecycle(Lifecycle.builder() - .type(LifecycleType.DOCKER) - .data(DockerData.builder() - .build()) - .build()) - .executionMetadata("[PRIVATE DATA HIDDEN IN LISTS]") - .processType("redacted_message", "[PRIVATE DATA HIDDEN IN LISTS]") - .image("cloudfoundry/diego-docker-app-custom:latest") - .checksum(null) - .stack(null) - .createdAt("2016-03-17T00:00:01Z") - .updatedAt("2016-03-17T21:41:32Z") - .link("self", Link.builder() - .href("https://api.example.org/v3/droplets/fdf3851c-def8-4de1-87f1-6d4543189e22") - .build()) - .link("package", Link.builder() - .href("https://api.example.org/v3/packages/c5725684-a02f-4e59-bc67-8f36ae944688") - .build()) - .link("app", Link.builder() - .href("https://api.example.org/v3/apps/7b34f1cf-7e73-428a-bb5a-8a17a8058396") - .build()) - .link("assign_current_droplet", Link.builder() - .href("https://api.example.org/v3/apps/7b34f1cf-7e73-428a-bb5a-8a17a8058396/relationships/current_droplet") - .method("PATCH") - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .list(ListDropletsRequest.builder().build()) + .as(StepVerifier::create) + .expectNext( + ListDropletsResponse.builder() + .pagination( + Pagination.builder() + .totalResults(2) + .totalPages(1) + .first( + Link.builder() + .href( + "https://api.example.org/v3/droplets?page=1&per_page=50") + .build()) + .last( + Link.builder() + .href( + "https://api.example.org/v3/droplets?page=1&per_page=50") + .build()) + .build()) + .resource( + DropletResource.builder() + .id("585bc3c1-3743-497d-88b0-403ad6b56d16") + .state(DropletState.STAGED) + .error(null) + .lifecycle( + Lifecycle.builder() + .type(LifecycleType.BUILDPACK) + .data( + BuildpackData.builder() + .build()) + .build()) + .executionMetadata("PRIVATE DATA HIDDEN") + .processType( + "redacted_message", + "[PRIVATE DATA HIDDEN IN LISTS]") + .checksum( + Checksum.builder() + .type(ChecksumType.SHA256) + .value( + "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855") + .build()) + .buildpack( + Buildpack.builder() + .name("ruby_buildpack") + .detectOutput("ruby 1.6.14") + .build()) + .stack("cflinuxfs2") + .image(null) + .createdAt("2016-03-28T23:39:34Z") + .updatedAt("2016-03-28T23:39:47Z") + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/droplets/585bc3c1-3743-497d-88b0-403ad6b56d16") + .build()) + .link( + "package", + Link.builder() + .href( + "https://api.example.org/v3/packages/8222f76a-9e09-4360-b3aa-1ed329945e92") + .build()) + .link( + "app", + Link.builder() + .href( + "https://api.example.org/v3/apps/7b34f1cf-7e73-428a-bb5a-8a17a8058396") + .build()) + .link( + "assign_current_droplet", + Link.builder() + .href( + "https://api.example.org/v3/apps/7b34f1cf-7e73-428a-bb5a-8a17a8058396/relationships/current_droplet") + .method("PATCH") + .build()) + .build()) + .resource( + DropletResource.builder() + .id("fdf3851c-def8-4de1-87f1-6d4543189e22") + .state(DropletState.STAGED) + .error(null) + .lifecycle( + Lifecycle.builder() + .type(LifecycleType.DOCKER) + .data(DockerData.builder().build()) + .build()) + .executionMetadata("[PRIVATE DATA HIDDEN IN LISTS]") + .processType( + "redacted_message", + "[PRIVATE DATA HIDDEN IN LISTS]") + .image( + "cloudfoundry/diego-docker-app-custom:latest") + .checksum(null) + .stack(null) + .createdAt("2016-03-17T00:00:01Z") + .updatedAt("2016-03-17T21:41:32Z") + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/droplets/fdf3851c-def8-4de1-87f1-6d4543189e22") + .build()) + .link( + "package", + Link.builder() + .href( + "https://api.example.org/v3/packages/c5725684-a02f-4e59-bc67-8f36ae944688") + .build()) + .link( + "app", + Link.builder() + .href( + "https://api.example.org/v3/apps/7b34f1cf-7e73-428a-bb5a-8a17a8058396") + .build()) + .link( + "assign_current_droplet", + Link.builder() + .href( + "https://api.example.org/v3/apps/7b34f1cf-7e73-428a-bb5a-8a17a8058396/relationships/current_droplet") + .method("PATCH") + .build()) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } - } diff --git a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v3/isolationsegments/ReactorIsolationSegmentsTest.java b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v3/isolationsegments/ReactorIsolationSegmentsTest.java index 5ef9bf6c98..7a0ddc4315 100644 --- a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v3/isolationsegments/ReactorIsolationSegmentsTest.java +++ b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v3/isolationsegments/ReactorIsolationSegmentsTest.java @@ -16,6 +16,16 @@ package org.cloudfoundry.reactor.client.v3.isolationsegments; +import static io.netty.handler.codec.http.HttpMethod.DELETE; +import static io.netty.handler.codec.http.HttpMethod.GET; +import static io.netty.handler.codec.http.HttpMethod.PATCH; +import static io.netty.handler.codec.http.HttpMethod.POST; +import static io.netty.handler.codec.http.HttpResponseStatus.CREATED; +import static io.netty.handler.codec.http.HttpResponseStatus.NO_CONTENT; +import static io.netty.handler.codec.http.HttpResponseStatus.OK; + +import java.time.Duration; +import java.util.Collections; import org.cloudfoundry.client.v3.Link; import org.cloudfoundry.client.v3.Metadata; import org.cloudfoundry.client.v3.Pagination; @@ -47,419 +57,558 @@ import org.junit.Test; import reactor.test.StepVerifier; -import java.time.Duration; -import java.util.Collections; - -import static io.netty.handler.codec.http.HttpMethod.DELETE; -import static io.netty.handler.codec.http.HttpMethod.GET; -import static io.netty.handler.codec.http.HttpMethod.PATCH; -import static io.netty.handler.codec.http.HttpMethod.POST; -import static io.netty.handler.codec.http.HttpResponseStatus.CREATED; -import static io.netty.handler.codec.http.HttpResponseStatus.NO_CONTENT; -import static io.netty.handler.codec.http.HttpResponseStatus.OK; - public class ReactorIsolationSegmentsTest extends AbstractClientApiTest { - private final ReactorIsolationSegments isolationSegments = new ReactorIsolationSegments(CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); + private final ReactorIsolationSegments isolationSegments = + new ReactorIsolationSegments( + CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); @Test public void addOrganizationEntitlement() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(POST).path("/isolation_segments/test-isolation-segment-id/relationships/organizations") - .payload("fixtures/client/v3/isolation_segments/POST_{id}_relationships_organizations_request.json") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v3/isolation_segments/POST_{id}_relationships_organizations_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(POST) + .path( + "/isolation_segments/test-isolation-segment-id/relationships/organizations") + .payload( + "fixtures/client/v3/isolation_segments/POST_{id}_relationships_organizations_request.json") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v3/isolation_segments/POST_{id}_relationships_organizations_response.json") + .build()) + .build()); this.isolationSegments - .addOrganizationEntitlement(AddIsolationSegmentOrganizationEntitlementRequest.builder() - .isolationSegmentId("test-isolation-segment-id") - .data(Relationship.builder() - .id("org-guid-1") - .build()) - .data(Relationship.builder() - .id("org-guid-2") - .build()) - .build()) - .as(StepVerifier::create) - .expectNext(AddIsolationSegmentOrganizationEntitlementResponse.builder() - .data(Relationship.builder() - .id("68d54d31-9b3a-463b-ba94-e8e4c32edbac") - .build()) - .data(Relationship.builder() - .id("b19f6525-cbd3-4155-b156-dc0c2a431b4c") - .build()) - .link("self", Link.builder() - .href("https://api.example.org/v3/isolation_segments/bdeg4371-cbd3-4155-b156-dc0c2a431b4c/relationships/organizations") - .build()) - .link("related", Link.builder() - .href("https://api.example.org/v3/isolation_segments/bdeg4371-cbd3-4155-b156-dc0c2a431b4c/organizations") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .addOrganizationEntitlement( + AddIsolationSegmentOrganizationEntitlementRequest.builder() + .isolationSegmentId("test-isolation-segment-id") + .data(Relationship.builder().id("org-guid-1").build()) + .data(Relationship.builder().id("org-guid-2").build()) + .build()) + .as(StepVerifier::create) + .expectNext( + AddIsolationSegmentOrganizationEntitlementResponse.builder() + .data( + Relationship.builder() + .id("68d54d31-9b3a-463b-ba94-e8e4c32edbac") + .build()) + .data( + Relationship.builder() + .id("b19f6525-cbd3-4155-b156-dc0c2a431b4c") + .build()) + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/isolation_segments/bdeg4371-cbd3-4155-b156-dc0c2a431b4c/relationships/organizations") + .build()) + .link( + "related", + Link.builder() + .href( + "https://api.example.org/v3/isolation_segments/bdeg4371-cbd3-4155-b156-dc0c2a431b4c/organizations") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void create() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(POST).path("/isolation_segments") - .payload("fixtures/client/v3/isolation_segments/POST_request.json") - .build()) - .response(TestResponse.builder() - .status(CREATED) - .payload("fixtures/client/v3/isolation_segments/POST_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(POST) + .path("/isolation_segments") + .payload( + "fixtures/client/v3/isolation_segments/POST_request.json") + .build()) + .response( + TestResponse.builder() + .status(CREATED) + .payload( + "fixtures/client/v3/isolation_segments/POST_response.json") + .build()) + .build()); this.isolationSegments - .create(CreateIsolationSegmentRequest.builder() - .name("my_segment") - .build()) - .as(StepVerifier::create) - .expectNext(CreateIsolationSegmentResponse.builder() - .id("b19f6525-cbd3-4155-b156-dc0c2a431b4c") - .name("an_isolation_segment") - .createdAt("2016-10-19T20:25:04Z") - .updatedAt("2016-11-08T16:41:26Z") - .link("self", Link.builder() - .href("https://api.example.org/v3/isolation_segments/b19f6525-cbd3-4155-b156-dc0c2a431b4c") - .build()) - .link("organizations", Link.builder() - .href("https://api.example.org/v3/isolation_segments/b19f6525-cbd3-4155-b156-dc0c2a431b4c/organizations") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .create(CreateIsolationSegmentRequest.builder().name("my_segment").build()) + .as(StepVerifier::create) + .expectNext( + CreateIsolationSegmentResponse.builder() + .id("b19f6525-cbd3-4155-b156-dc0c2a431b4c") + .name("an_isolation_segment") + .createdAt("2016-10-19T20:25:04Z") + .updatedAt("2016-11-08T16:41:26Z") + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/isolation_segments/b19f6525-cbd3-4155-b156-dc0c2a431b4c") + .build()) + .link( + "organizations", + Link.builder() + .href( + "https://api.example.org/v3/isolation_segments/b19f6525-cbd3-4155-b156-dc0c2a431b4c/organizations") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void delete() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(DELETE).path("/isolation_segments/test-isolation-segment-id") - .build()) - .response(TestResponse.builder() - .status(NO_CONTENT) - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(DELETE) + .path("/isolation_segments/test-isolation-segment-id") + .build()) + .response(TestResponse.builder().status(NO_CONTENT).build()) + .build()); this.isolationSegments - .delete(DeleteIsolationSegmentRequest.builder() - .isolationSegmentId("test-isolation-segment-id") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .delete( + DeleteIsolationSegmentRequest.builder() + .isolationSegmentId("test-isolation-segment-id") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void get() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/isolation_segments/test-isolation-segment-id") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v3/isolation_segments/GET_{id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/isolation_segments/test-isolation-segment-id") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v3/isolation_segments/GET_{id}_response.json") + .build()) + .build()); this.isolationSegments - .get(GetIsolationSegmentRequest.builder() - .isolationSegmentId("test-isolation-segment-id") - .build()) - .as(StepVerifier::create) - .expectNext(GetIsolationSegmentResponse.builder() - .id("b19f6525-cbd3-4155-b156-dc0c2a431b4c") - .name("an_isolation_segment") - .createdAt("2016-10-19T20:25:04Z") - .updatedAt("2016-11-08T16:41:26Z") - .link("self", Link.builder() - .href("https://api.example.org/v3/isolation_segments/b19f6525-cbd3-4155-b156-dc0c2a431b4c") - .build()) - .link("organizations", Link.builder() - .href("https://api.example.org/v3/isolation_segments/b19f6525-cbd3-4155-b156-dc0c2a431b4c/organizations") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .get( + GetIsolationSegmentRequest.builder() + .isolationSegmentId("test-isolation-segment-id") + .build()) + .as(StepVerifier::create) + .expectNext( + GetIsolationSegmentResponse.builder() + .id("b19f6525-cbd3-4155-b156-dc0c2a431b4c") + .name("an_isolation_segment") + .createdAt("2016-10-19T20:25:04Z") + .updatedAt("2016-11-08T16:41:26Z") + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/isolation_segments/b19f6525-cbd3-4155-b156-dc0c2a431b4c") + .build()) + .link( + "organizations", + Link.builder() + .href( + "https://api.example.org/v3/isolation_segments/b19f6525-cbd3-4155-b156-dc0c2a431b4c/organizations") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void list() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/isolation_segments") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v3/isolation_segments/GET_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/isolation_segments") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v3/isolation_segments/GET_response.json") + .build()) + .build()); this.isolationSegments - .list(ListIsolationSegmentsRequest.builder() - .build()) - .as(StepVerifier::create) - .expectNext(ListIsolationSegmentsResponse.builder() - .pagination(Pagination.builder() - .totalResults(11) - .totalPages(3) - .first(Link.builder() - .href("https://api.example.org/v3/isolation_segments?page=1&per_page=5") - .build()) - .last(Link.builder() - .href("https://api.example.org/v3/isolation_segments?page=3&per_page=5") - .build()) - .next(Link.builder() - .href("https://api.example.org/v3/isolation_segments?page=2&per_page=5") - .build()) - .build()) - .resource(IsolationSegmentResource.builder() - .id("b19f6525-cbd3-4155-b156-dc0c2a431b4c") - .name("an_isolation_segment") - .createdAt("2016-10-19T20:25:04Z") - .updatedAt("2016-11-08T16:41:26Z") - .link("self", Link.builder() - .href("https://api.example.org/v3/isolation_segments/b19f6525-cbd3-4155-b156-dc0c2a431b4c") - .build()) - .link("organizations", Link.builder() - .href("https://api.example.org/v3/isolation_segments/b19f6525-cbd3-4155-b156-dc0c2a431b4c/organizations") - .build()) - .build()) - .resource(IsolationSegmentResource.builder() - .id("68d54d31-9b3a-463b-ba94-e8e4c32edbac") - .name("an_isolation_segment1") - .createdAt("2016-10-19T20:29:19Z") - .updatedAt("2016-11-08T16:41:26Z") - .link("self", Link.builder() - .href("https://api.example.org/v3/isolation_segments/68d54d31-9b3a-463b-ba94-e8e4c32edbac") - .build()) - .link("organizations", Link.builder() - .href("https://api.example.org/v3/isolation_segments/68d54d31-9b3a-463b-ba94-e8e4c32edbac/organizations") - .build()) - .build()) - .resource(IsolationSegmentResource.builder() - .id("ecdc67c3-a71e-43ff-bddf-048930b8cd03") - .name("an_isolation_segment2") - .createdAt("2016-10-19T20:29:22Z") - .updatedAt("2016-11-08T16:41:26Z") - .link("self", Link.builder() - .href("https://api.example.org/v3/isolation_segments/ecdc67c3-a71e-43ff-bddf-048930b8cd03") - .build()) - .link("organizations", Link.builder() - .href("https://api.example.org/v3/isolation_segments/ecdc67c3-a71e-43ff-bddf-048930b8cd03/organizations") - .build()) - .build()) - .resource(IsolationSegmentResource.builder() - .id("424c89e4-4353-46b7-9bf4-f90bd9bacac0") - .name("an_isolation_segment3") - .createdAt("2016-10-19T20:29:27Z") - .updatedAt("2016-11-08T16:41:26Z") - .link("self", Link.builder() - .href("https://api.example.org/v3/isolation_segments/424c89e4-4353-46b7-9bf4-f90bd9bacac0") - .build()) - .link("organizations", Link.builder() - .href("https://api.example.org/v3/isolation_segments/424c89e4-4353-46b7-9bf4-f90bd9bacac0/organizations") - .build()) - .build()) - .resource(IsolationSegmentResource.builder() - .id("0a79fcec-a648-4eb8-a6c3-2b5be39047c7") - .name("an_isolation_segment4") - .createdAt("2016-10-19T20:29:33Z") - .updatedAt("2016-11-08T16:41:26Z") - .link("self", Link.builder() - .href("https://api.example.org/v3/isolation_segments/0a79fcec-a648-4eb8-a6c3-2b5be39047c7") - .build()) - .link("organizations", Link.builder() - .href("https://api.example.org/v3/isolation_segments/0a79fcec-a648-4eb8-a6c3-2b5be39047c7/organizations") - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .list(ListIsolationSegmentsRequest.builder().build()) + .as(StepVerifier::create) + .expectNext( + ListIsolationSegmentsResponse.builder() + .pagination( + Pagination.builder() + .totalResults(11) + .totalPages(3) + .first( + Link.builder() + .href( + "https://api.example.org/v3/isolation_segments?page=1&per_page=5") + .build()) + .last( + Link.builder() + .href( + "https://api.example.org/v3/isolation_segments?page=3&per_page=5") + .build()) + .next( + Link.builder() + .href( + "https://api.example.org/v3/isolation_segments?page=2&per_page=5") + .build()) + .build()) + .resource( + IsolationSegmentResource.builder() + .id("b19f6525-cbd3-4155-b156-dc0c2a431b4c") + .name("an_isolation_segment") + .createdAt("2016-10-19T20:25:04Z") + .updatedAt("2016-11-08T16:41:26Z") + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/isolation_segments/b19f6525-cbd3-4155-b156-dc0c2a431b4c") + .build()) + .link( + "organizations", + Link.builder() + .href( + "https://api.example.org/v3/isolation_segments/b19f6525-cbd3-4155-b156-dc0c2a431b4c/organizations") + .build()) + .build()) + .resource( + IsolationSegmentResource.builder() + .id("68d54d31-9b3a-463b-ba94-e8e4c32edbac") + .name("an_isolation_segment1") + .createdAt("2016-10-19T20:29:19Z") + .updatedAt("2016-11-08T16:41:26Z") + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/isolation_segments/68d54d31-9b3a-463b-ba94-e8e4c32edbac") + .build()) + .link( + "organizations", + Link.builder() + .href( + "https://api.example.org/v3/isolation_segments/68d54d31-9b3a-463b-ba94-e8e4c32edbac/organizations") + .build()) + .build()) + .resource( + IsolationSegmentResource.builder() + .id("ecdc67c3-a71e-43ff-bddf-048930b8cd03") + .name("an_isolation_segment2") + .createdAt("2016-10-19T20:29:22Z") + .updatedAt("2016-11-08T16:41:26Z") + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/isolation_segments/ecdc67c3-a71e-43ff-bddf-048930b8cd03") + .build()) + .link( + "organizations", + Link.builder() + .href( + "https://api.example.org/v3/isolation_segments/ecdc67c3-a71e-43ff-bddf-048930b8cd03/organizations") + .build()) + .build()) + .resource( + IsolationSegmentResource.builder() + .id("424c89e4-4353-46b7-9bf4-f90bd9bacac0") + .name("an_isolation_segment3") + .createdAt("2016-10-19T20:29:27Z") + .updatedAt("2016-11-08T16:41:26Z") + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/isolation_segments/424c89e4-4353-46b7-9bf4-f90bd9bacac0") + .build()) + .link( + "organizations", + Link.builder() + .href( + "https://api.example.org/v3/isolation_segments/424c89e4-4353-46b7-9bf4-f90bd9bacac0/organizations") + .build()) + .build()) + .resource( + IsolationSegmentResource.builder() + .id("0a79fcec-a648-4eb8-a6c3-2b5be39047c7") + .name("an_isolation_segment4") + .createdAt("2016-10-19T20:29:33Z") + .updatedAt("2016-11-08T16:41:26Z") + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/isolation_segments/0a79fcec-a648-4eb8-a6c3-2b5be39047c7") + .build()) + .link( + "organizations", + Link.builder() + .href( + "https://api.example.org/v3/isolation_segments/0a79fcec-a648-4eb8-a6c3-2b5be39047c7/organizations") + .build()) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void listEntitledOrganizations() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/isolation_segments/test-isolation-segment-id/organizations") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v3/isolation_segments/GET_{id}_organizations_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path( + "/isolation_segments/test-isolation-segment-id/organizations") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v3/isolation_segments/GET_{id}_organizations_response.json") + .build()) + .build()); this.isolationSegments - .listEntitledOrganizations(ListIsolationSegmentEntitledOrganizationsRequest.builder() - .isolationSegmentId("test-isolation-segment-id") - .build()) - .as(StepVerifier::create) - .expectNext(ListIsolationSegmentEntitledOrganizationsResponse.builder() - .pagination(Pagination.builder() - .totalResults(2) - .totalPages(1) - .first(Link.builder() - .href("https://api.example.org/v3/isolation_segments/933b4c58-120b-499a-b85d-4b6fc9e2903b/organizations?page=1&per_page=50") - .build()) - .last(Link.builder() - .href("https://api.example.org/v3/isolation_segments/933b4c58-120b-499a-b85d-4b6fc9e2903b/organizations?page=1&per_page=50") - .build()) - .build()) - .resource(OrganizationResource.builder() - .id("885735b5-aea4-4cf5-8e44-961af0e41920") - .metadata(Metadata.builder() - .annotations(Collections.emptyMap()) - .labels(Collections.emptyMap()) - .build()) - .createdAt("2017-02-01T01:33:58Z") - .updatedAt("2017-02-01T01:33:58Z") - .name("org1") - .build()) - .resource(OrganizationResource.builder() - .id("d4c91047-7b29-4fda-b7f9-04033e5c9c9f") - .metadata(Metadata.builder() - .annotations(Collections.emptyMap()) - .labels(Collections.emptyMap()) - .build()) - .createdAt("2017-02-02T00:14:30Z") - .updatedAt("2017-02-02T00:14:30Z") - .name("org2") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .listEntitledOrganizations( + ListIsolationSegmentEntitledOrganizationsRequest.builder() + .isolationSegmentId("test-isolation-segment-id") + .build()) + .as(StepVerifier::create) + .expectNext( + ListIsolationSegmentEntitledOrganizationsResponse.builder() + .pagination( + Pagination.builder() + .totalResults(2) + .totalPages(1) + .first( + Link.builder() + .href( + "https://api.example.org/v3/isolation_segments/933b4c58-120b-499a-b85d-4b6fc9e2903b/organizations?page=1&per_page=50") + .build()) + .last( + Link.builder() + .href( + "https://api.example.org/v3/isolation_segments/933b4c58-120b-499a-b85d-4b6fc9e2903b/organizations?page=1&per_page=50") + .build()) + .build()) + .resource( + OrganizationResource.builder() + .id("885735b5-aea4-4cf5-8e44-961af0e41920") + .metadata( + Metadata.builder() + .annotations(Collections.emptyMap()) + .labels(Collections.emptyMap()) + .build()) + .createdAt("2017-02-01T01:33:58Z") + .updatedAt("2017-02-01T01:33:58Z") + .name("org1") + .build()) + .resource( + OrganizationResource.builder() + .id("d4c91047-7b29-4fda-b7f9-04033e5c9c9f") + .metadata( + Metadata.builder() + .annotations(Collections.emptyMap()) + .labels(Collections.emptyMap()) + .build()) + .createdAt("2017-02-02T00:14:30Z") + .updatedAt("2017-02-02T00:14:30Z") + .name("org2") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void listOrganizationsRelationship() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/isolation_segments/test-isolation-segment-id/relationships/organizations") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v3/isolation_segments/GET_{id}_relationships_organizations_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path( + "/isolation_segments/test-isolation-segment-id/relationships/organizations") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v3/isolation_segments/GET_{id}_relationships_organizations_response.json") + .build()) + .build()); this.isolationSegments - .listOrganizationsRelationship(ListIsolationSegmentOrganizationsRelationshipRequest.builder() - .isolationSegmentId("test-isolation-segment-id") - .build()) - .as(StepVerifier::create) - .expectNext(ListIsolationSegmentOrganizationsRelationshipResponse.builder() - .data(Relationship.builder() - .id("68d54d31-9b3a-463b-ba94-e8e4c32edbac") - .build()) - .data(Relationship.builder() - .id("b19f6525-cbd3-4155-b156-dc0c2a431b4c") - .build()) - .link("self", Link.builder() - .href("https://api.example.org/v3/isolation_segments/bdeg4371-cbd3-4155-b156-dc0c2a431b4c/relationships/organizations") - .build()) - .link("related", Link.builder() - .href("https://api.example.org/v3/isolation_segments/bdeg4371-cbd3-4155-b156-dc0c2a431b4c/organizations") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .listOrganizationsRelationship( + ListIsolationSegmentOrganizationsRelationshipRequest.builder() + .isolationSegmentId("test-isolation-segment-id") + .build()) + .as(StepVerifier::create) + .expectNext( + ListIsolationSegmentOrganizationsRelationshipResponse.builder() + .data( + Relationship.builder() + .id("68d54d31-9b3a-463b-ba94-e8e4c32edbac") + .build()) + .data( + Relationship.builder() + .id("b19f6525-cbd3-4155-b156-dc0c2a431b4c") + .build()) + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/isolation_segments/bdeg4371-cbd3-4155-b156-dc0c2a431b4c/relationships/organizations") + .build()) + .link( + "related", + Link.builder() + .href( + "https://api.example.org/v3/isolation_segments/bdeg4371-cbd3-4155-b156-dc0c2a431b4c/organizations") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void listSpacesRelationship() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/isolation_segments/test-isolation-segment-id/relationships/spaces") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v3/isolation_segments/GET_{id}_relationships_spaces_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path( + "/isolation_segments/test-isolation-segment-id/relationships/spaces") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v3/isolation_segments/GET_{id}_relationships_spaces_response.json") + .build()) + .build()); this.isolationSegments - .listSpacesRelationship(ListIsolationSegmentSpacesRelationshipRequest.builder() - .isolationSegmentId("test-isolation-segment-id") - .build()) - .as(StepVerifier::create) - .expectNext(ListIsolationSegmentSpacesRelationshipResponse.builder() - .data(Relationship.builder() - .id("885735b5-aea4-4cf5-8e44-961af0e41920") - .build()) - .data(Relationship.builder() - .id("d4c91047-7b29-4fda-b7f9-04033e5c9c9f") - .build()) - .link("self", Link.builder() - .href("https://api.example.org/v3/isolation_segments/bdeg4371-cbd3-4155-b156-dc0c2a431b4c/relationships/spaces") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .listSpacesRelationship( + ListIsolationSegmentSpacesRelationshipRequest.builder() + .isolationSegmentId("test-isolation-segment-id") + .build()) + .as(StepVerifier::create) + .expectNext( + ListIsolationSegmentSpacesRelationshipResponse.builder() + .data( + Relationship.builder() + .id("885735b5-aea4-4cf5-8e44-961af0e41920") + .build()) + .data( + Relationship.builder() + .id("d4c91047-7b29-4fda-b7f9-04033e5c9c9f") + .build()) + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/isolation_segments/bdeg4371-cbd3-4155-b156-dc0c2a431b4c/relationships/spaces") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void removeOrganizationEntitlement() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(DELETE).path("/isolation_segments/test-isolation-segment-id/relationships/organizations/test-organization-id") - .build()) - .response(TestResponse.builder() - .status(NO_CONTENT) - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(DELETE) + .path( + "/isolation_segments/test-isolation-segment-id/relationships/organizations/test-organization-id") + .build()) + .response(TestResponse.builder().status(NO_CONTENT).build()) + .build()); this.isolationSegments - .removeOrganizationEntitlement(RemoveIsolationSegmentOrganizationEntitlementRequest.builder() - .isolationSegmentId("test-isolation-segment-id") - .organizationId("test-organization-id") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .removeOrganizationEntitlement( + RemoveIsolationSegmentOrganizationEntitlementRequest.builder() + .isolationSegmentId("test-isolation-segment-id") + .organizationId("test-organization-id") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void update() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(PATCH).path("/isolation_segments/test-isolation-segment-id") - .payload("fixtures/client/v3/isolation_segments/PATCH_{id}_request.json") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v3/isolation_segments/PATCH_{id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(PATCH) + .path("/isolation_segments/test-isolation-segment-id") + .payload( + "fixtures/client/v3/isolation_segments/PATCH_{id}_request.json") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v3/isolation_segments/PATCH_{id}_response.json") + .build()) + .build()); this.isolationSegments - .update(UpdateIsolationSegmentRequest.builder() - .isolationSegmentId("test-isolation-segment-id") - .name("my_isolation_segment") - .build()) - .as(StepVerifier::create) - .expectNext(UpdateIsolationSegmentResponse.builder() - .id("b19f6525-cbd3-4155-b156-dc0c2a431b4c") - .name("my_isolation_segment") - .createdAt("2016-10-19T20:25:04Z") - .updatedAt("2016-11-08T16:41:26Z") - .link("self", Link.builder() - .href("https://api.example.org/v3/isolation_segments/b19f6525-cbd3-4155-b156-dc0c2a431b4c") - .build()) - .link("organizations", Link.builder() - .href("https://api.example.org/v3/isolation_segments/b19f6525-cbd3-4155-b156-dc0c2a431b4c/organizations") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .update( + UpdateIsolationSegmentRequest.builder() + .isolationSegmentId("test-isolation-segment-id") + .name("my_isolation_segment") + .build()) + .as(StepVerifier::create) + .expectNext( + UpdateIsolationSegmentResponse.builder() + .id("b19f6525-cbd3-4155-b156-dc0c2a431b4c") + .name("my_isolation_segment") + .createdAt("2016-10-19T20:25:04Z") + .updatedAt("2016-11-08T16:41:26Z") + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/isolation_segments/b19f6525-cbd3-4155-b156-dc0c2a431b4c") + .build()) + .link( + "organizations", + Link.builder() + .href( + "https://api.example.org/v3/isolation_segments/b19f6525-cbd3-4155-b156-dc0c2a431b4c/organizations") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } - } diff --git a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v3/jobs/ReactorJobsV3Test.java b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v3/jobs/ReactorJobsV3Test.java index 15d94cce0d..07ea16c570 100644 --- a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v3/jobs/ReactorJobsV3Test.java +++ b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v3/jobs/ReactorJobsV3Test.java @@ -16,6 +16,11 @@ package org.cloudfoundry.reactor.client.v3.jobs; +import static io.netty.handler.codec.http.HttpMethod.GET; +import static io.netty.handler.codec.http.HttpResponseStatus.OK; + +import java.time.Duration; +import java.util.Collections; import org.cloudfoundry.client.v3.Error; import org.cloudfoundry.client.v3.Link; import org.cloudfoundry.client.v3.jobs.GetJobRequest; @@ -28,53 +33,55 @@ import org.junit.Test; import reactor.test.StepVerifier; -import java.time.Duration; -import java.util.Collections; - -import static io.netty.handler.codec.http.HttpMethod.GET; -import static io.netty.handler.codec.http.HttpResponseStatus.OK; - public final class ReactorJobsV3Test extends AbstractClientApiTest { - private final ReactorJobsV3 jobs = new ReactorJobsV3(CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); + private final ReactorJobsV3 jobs = + new ReactorJobsV3( + CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); @Test public void get() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/jobs/test-job-id") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v3/jobs/GET_{id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder().method(GET).path("/jobs/test-job-id").build()) + .response( + TestResponse.builder() + .status(OK) + .payload("fixtures/client/v3/jobs/GET_{id}_response.json") + .build()) + .build()); this.jobs - .get(GetJobRequest.builder() - .jobId("test-job-id") - .build()) - .as(StepVerifier::create) - .expectNext(GetJobResponse.builder() - .id("b19ae525-cbd3-4155-b156-dc0c2a431b4c") - .createdAt("2016-10-19T20:25:04Z") - .updatedAt("2016-11-08T16:41:26Z") - .operation("app.delete") - .state(JobState.FAILED) - .link("self", Link.builder() - .href("https://api.example.org/v3/jobs/b19ae525-cbd3-4155-b156-dc0c2a431b4c") - .build()) - .link("app", Link.builder() - .href("https://api.example.org/v3/apps/7b34f1cf-7e73-428a-bb5a-8a17a8058396") - .build()) - .error(Error.builder() - .code(10008) - .title("CF-UnprocessableEntity") - .detail("something went wrong") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .get(GetJobRequest.builder().jobId("test-job-id").build()) + .as(StepVerifier::create) + .expectNext( + GetJobResponse.builder() + .id("b19ae525-cbd3-4155-b156-dc0c2a431b4c") + .createdAt("2016-10-19T20:25:04Z") + .updatedAt("2016-11-08T16:41:26Z") + .operation("app.delete") + .state(JobState.FAILED) + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/jobs/b19ae525-cbd3-4155-b156-dc0c2a431b4c") + .build()) + .link( + "app", + Link.builder() + .href( + "https://api.example.org/v3/apps/7b34f1cf-7e73-428a-bb5a-8a17a8058396") + .build()) + .error( + Error.builder() + .code(10008) + .title("CF-UnprocessableEntity") + .detail("something went wrong") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } - } diff --git a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v3/organizations/ReactorOrganizationsV3Test.java b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v3/organizations/ReactorOrganizationsV3Test.java index b01e3dbd78..a518f2b65d 100644 --- a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v3/organizations/ReactorOrganizationsV3Test.java +++ b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v3/organizations/ReactorOrganizationsV3Test.java @@ -16,6 +16,16 @@ package org.cloudfoundry.reactor.client.v3.organizations; +import static io.netty.handler.codec.http.HttpMethod.DELETE; +import static io.netty.handler.codec.http.HttpMethod.GET; +import static io.netty.handler.codec.http.HttpMethod.PATCH; +import static io.netty.handler.codec.http.HttpMethod.POST; +import static io.netty.handler.codec.http.HttpResponseStatus.ACCEPTED; +import static io.netty.handler.codec.http.HttpResponseStatus.OK; +import static org.cloudfoundry.client.v3.routes.Protocol.HTTP; + +import java.time.Duration; +import java.util.Collections; import org.cloudfoundry.client.v3.Link; import org.cloudfoundry.client.v3.Metadata; import org.cloudfoundry.client.v3.Pagination; @@ -52,426 +62,570 @@ import org.junit.Test; import reactor.test.StepVerifier; -import java.time.Duration; -import java.util.Collections; - -import static io.netty.handler.codec.http.HttpMethod.DELETE; -import static io.netty.handler.codec.http.HttpMethod.GET; -import static io.netty.handler.codec.http.HttpMethod.PATCH; -import static io.netty.handler.codec.http.HttpMethod.POST; -import static io.netty.handler.codec.http.HttpResponseStatus.ACCEPTED; -import static io.netty.handler.codec.http.HttpResponseStatus.OK; -import static org.cloudfoundry.client.v3.routes.Protocol.HTTP; - public class ReactorOrganizationsV3Test extends AbstractClientApiTest { - private final ReactorOrganizationsV3 organizations = new ReactorOrganizationsV3(CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); + private final ReactorOrganizationsV3 organizations = + new ReactorOrganizationsV3( + CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); @Test public void assignDefaultIsolationSegment() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(PATCH).path("/organizations/test-organization-id/relationships/default_isolation_segment") - .payload("fixtures/client/v3/organizations/PATCH_{id}_relationships_default_isolation_segment_request.json") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v3/organizations/PATCH_{id}_relationships_default_isolation_segment_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(PATCH) + .path( + "/organizations/test-organization-id/relationships/default_isolation_segment") + .payload( + "fixtures/client/v3/organizations/PATCH_{id}_relationships_default_isolation_segment_request.json") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v3/organizations/PATCH_{id}_relationships_default_isolation_segment_response.json") + .build()) + .build()); this.organizations - .assignDefaultIsolationSegment(AssignOrganizationDefaultIsolationSegmentRequest.builder() - .data(Relationship.builder() - .id("[iso-seg-guid]") - .build()) - .organizationId("test-organization-id") - .build()) - .as(StepVerifier::create) - .expectNext(AssignOrganizationDefaultIsolationSegmentResponse.builder() - .data(Relationship.builder() - .id("9d8e007c-ce52-4ea7-8a57-f2825d2c6b39") - .build()) - .link("self", Link.builder() - .href("https://api.example.org/v3/organizations/d4c91047-7b29-4fda-b7f9-04033e5c9c9f/relationships/default_isolation_segment") - .build()) - .link("related", Link.builder() - .href("https://api.example.org/v3/isolation_segments/9d8e007c-ce52-4ea7-8a57-f2825d2c6b39") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .assignDefaultIsolationSegment( + AssignOrganizationDefaultIsolationSegmentRequest.builder() + .data(Relationship.builder().id("[iso-seg-guid]").build()) + .organizationId("test-organization-id") + .build()) + .as(StepVerifier::create) + .expectNext( + AssignOrganizationDefaultIsolationSegmentResponse.builder() + .data( + Relationship.builder() + .id("9d8e007c-ce52-4ea7-8a57-f2825d2c6b39") + .build()) + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/organizations/d4c91047-7b29-4fda-b7f9-04033e5c9c9f/relationships/default_isolation_segment") + .build()) + .link( + "related", + Link.builder() + .href( + "https://api.example.org/v3/isolation_segments/9d8e007c-ce52-4ea7-8a57-f2825d2c6b39") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void create() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(POST).path("/organizations") - .payload("fixtures/client/v3/organizations/POST_request.json") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v3/organizations/POST_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(POST) + .path("/organizations") + .payload( + "fixtures/client/v3/organizations/POST_request.json") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v3/organizations/POST_response.json") + .build()) + .build()); this.organizations - .create(CreateOrganizationRequest.builder() - .name("my-organization") - .build()) - .as(StepVerifier::create) - .expectNext(CreateOrganizationResponse.builder() - .createdAt("2017-02-01T01:33:58Z") - .id("24637893-3b77-489d-bb79-8466f0d88b52") - .link("self", Link.builder() - .href("https://api.example.org/v3/organizations/24637893-3b77-489d-bb79-8466f0d88b52") - .build()) - .metadata(Metadata.builder() - .annotations(Collections.emptyMap()) - .labels(Collections.emptyMap()) - .build()) - .name("my-organization") - .updatedAt("2017-02-01T01:33:58Z") - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .create(CreateOrganizationRequest.builder().name("my-organization").build()) + .as(StepVerifier::create) + .expectNext( + CreateOrganizationResponse.builder() + .createdAt("2017-02-01T01:33:58Z") + .id("24637893-3b77-489d-bb79-8466f0d88b52") + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/organizations/24637893-3b77-489d-bb79-8466f0d88b52") + .build()) + .metadata( + Metadata.builder() + .annotations(Collections.emptyMap()) + .labels(Collections.emptyMap()) + .build()) + .name("my-organization") + .updatedAt("2017-02-01T01:33:58Z") + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void delete() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(DELETE).path("/organizations/test-organization-id") - .build()) - .response(TestResponse.builder() - .status(ACCEPTED) - .header("Location", "https://api.example.org/v3/jobs/test-job-id") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(DELETE) + .path("/organizations/test-organization-id") + .build()) + .response( + TestResponse.builder() + .status(ACCEPTED) + .header( + "Location", + "https://api.example.org/v3/jobs/test-job-id") + .build()) + .build()); this.organizations - .delete(DeleteOrganizationRequest.builder() - .organizationId("test-organization-id") - .build()) - .as(StepVerifier::create) - .expectNext("test-job-id") - .expectComplete() - .verify(Duration.ofSeconds(5)); + .delete( + DeleteOrganizationRequest.builder() + .organizationId("test-organization-id") + .build()) + .as(StepVerifier::create) + .expectNext("test-job-id") + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void get() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/organizations/24637893-3b77-489d-bb79-8466f0d88b52") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v3/organizations/GET_{id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/organizations/24637893-3b77-489d-bb79-8466f0d88b52") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v3/organizations/GET_{id}_response.json") + .build()) + .build()); this.organizations - .get(GetOrganizationRequest.builder() - .organizationId("24637893-3b77-489d-bb79-8466f0d88b52") - .build()) - .as(StepVerifier::create) - .expectNext(GetOrganizationResponse.builder() - .createdAt("2017-02-01T01:33:58Z") - .id("24637893-3b77-489d-bb79-8466f0d88b52") - .link("self", Link.builder() - .href("https://api.example.org/v3/organizations/24637893-3b77-489d-bb79-8466f0d88b52") - .build()) - .metadata(Metadata.builder() - .annotations(Collections.emptyMap()) - .labels(Collections.emptyMap()) - .build()) - .name("my-organization") - .updatedAt("2017-02-01T01:33:58Z") - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .get( + GetOrganizationRequest.builder() + .organizationId("24637893-3b77-489d-bb79-8466f0d88b52") + .build()) + .as(StepVerifier::create) + .expectNext( + GetOrganizationResponse.builder() + .createdAt("2017-02-01T01:33:58Z") + .id("24637893-3b77-489d-bb79-8466f0d88b52") + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/organizations/24637893-3b77-489d-bb79-8466f0d88b52") + .build()) + .metadata( + Metadata.builder() + .annotations(Collections.emptyMap()) + .labels(Collections.emptyMap()) + .build()) + .name("my-organization") + .updatedAt("2017-02-01T01:33:58Z") + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void getDefaultDomain() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/organizations/test-organization-id/domains/default") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v3/organizations/GET_{id}_domains_default_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/organizations/test-organization-id/domains/default") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v3/organizations/GET_{id}_domains_default_response.json") + .build()) + .build()); this.organizations - .getDefaultDomain(GetOrganizationDefaultDomainRequest.builder() - .organizationId("test-organization-id") - .build()) - .as(StepVerifier::create) - .expectNext(GetOrganizationDefaultDomainResponse.builder() - .id("3a5d3d89-3f89-4f05-8188-8a2b298c79d5") - .createdAt("2019-03-08T01:06:19Z") - .updatedAt("2019-03-08T01:06:19Z") - .name("test-domain.com") - .isInternal(false) - .supportedProtocol(HTTP) - .metadata(Metadata.builder() - .annotations(Collections.emptyMap()) - .labels(Collections.emptyMap()) - .build()) - .relationships(DomainRelationships.builder() - .organization(ToOneRelationship.builder() - .data(Relationship.builder() - .id("3a3f3d89-3f89-4f05-8188-751b298c79d5") - .build()) - .build()) - .sharedOrganizations(ToManyRelationship.builder() - .data(Relationship.builder() - .id("404f3d89-3f89-6z72-8188-751b298d88d5") - .build()) - .data(Relationship.builder() - .id("416d3d89-3f89-8h67-2189-123b298d3592") - .build()) - .build()) - .build()) - .link("self", Link.builder() - .href("https://api.example.org/v3/domains/3a5d3d89-3f89-4f05-8188-8a2b298c79d5") - .build()) - .link("organization", Link.builder() - .href("https://api.example.org/v3/organizations/3a3f3d89-3f89-4f05-8188-751b298c79d5") - .build()) - .link("route_reservations", Link.builder() - .href("https://api.example.org/v3/domains/3a5d3d89-3f89-4f05-8188-8a2b298c79d5/route_reservations") - .build()) - .link("shared_organizations", Link.builder() - .href("https://api.example.org/v3/domains/3a5d3d89-3f89-4f05-8188-8a2b298c79d5/relationships/shared_organizations") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .getDefaultDomain( + GetOrganizationDefaultDomainRequest.builder() + .organizationId("test-organization-id") + .build()) + .as(StepVerifier::create) + .expectNext( + GetOrganizationDefaultDomainResponse.builder() + .id("3a5d3d89-3f89-4f05-8188-8a2b298c79d5") + .createdAt("2019-03-08T01:06:19Z") + .updatedAt("2019-03-08T01:06:19Z") + .name("test-domain.com") + .isInternal(false) + .supportedProtocol(HTTP) + .metadata( + Metadata.builder() + .annotations(Collections.emptyMap()) + .labels(Collections.emptyMap()) + .build()) + .relationships( + DomainRelationships.builder() + .organization( + ToOneRelationship.builder() + .data( + Relationship.builder() + .id( + "3a3f3d89-3f89-4f05-8188-751b298c79d5") + .build()) + .build()) + .sharedOrganizations( + ToManyRelationship.builder() + .data( + Relationship.builder() + .id( + "404f3d89-3f89-6z72-8188-751b298d88d5") + .build()) + .data( + Relationship.builder() + .id( + "416d3d89-3f89-8h67-2189-123b298d3592") + .build()) + .build()) + .build()) + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/domains/3a5d3d89-3f89-4f05-8188-8a2b298c79d5") + .build()) + .link( + "organization", + Link.builder() + .href( + "https://api.example.org/v3/organizations/3a3f3d89-3f89-4f05-8188-751b298c79d5") + .build()) + .link( + "route_reservations", + Link.builder() + .href( + "https://api.example.org/v3/domains/3a5d3d89-3f89-4f05-8188-8a2b298c79d5/route_reservations") + .build()) + .link( + "shared_organizations", + Link.builder() + .href( + "https://api.example.org/v3/domains/3a5d3d89-3f89-4f05-8188-8a2b298c79d5/relationships/shared_organizations") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void getDefaultIsolationSegment() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/organizations/test-organization-id/relationships/default_isolation_segment") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v3/organizations/GET_{id}_relationships_default_isolation_segment_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path( + "/organizations/test-organization-id/relationships/default_isolation_segment") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v3/organizations/GET_{id}_relationships_default_isolation_segment_response.json") + .build()) + .build()); this.organizations - .getDefaultIsolationSegment(GetOrganizationDefaultIsolationSegmentRequest.builder() - .organizationId("test-organization-id") - .build()) - .as(StepVerifier::create) - .expectNext(GetOrganizationDefaultIsolationSegmentResponse.builder() - .data(Relationship.builder() - .id("9d8e007c-ce52-4ea7-8a57-f2825d2c6b39") - .build()) - .link("self", Link.builder() - .href("https://api.example.org/v3/organizations/d4c91047-7b29-4fda-b7f9-04033e5c9c9f/relationships/default_isolation_segment") - .build()) - .link("related", Link.builder() - .href("https://api.example.org/v3/isolation_segments/9d8e007c-ce52-4ea7-8a57-f2825d2c6b39") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .getDefaultIsolationSegment( + GetOrganizationDefaultIsolationSegmentRequest.builder() + .organizationId("test-organization-id") + .build()) + .as(StepVerifier::create) + .expectNext( + GetOrganizationDefaultIsolationSegmentResponse.builder() + .data( + Relationship.builder() + .id("9d8e007c-ce52-4ea7-8a57-f2825d2c6b39") + .build()) + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/organizations/d4c91047-7b29-4fda-b7f9-04033e5c9c9f/relationships/default_isolation_segment") + .build()) + .link( + "related", + Link.builder() + .href( + "https://api.example.org/v3/isolation_segments/9d8e007c-ce52-4ea7-8a57-f2825d2c6b39") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void getUsageSummary() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/organizations/test-organization-id/usage_summary") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v3/organizations/GET_{id}_usage_summary_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/organizations/test-organization-id/usage_summary") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v3/organizations/GET_{id}_usage_summary_response.json") + .build()) + .build()); this.organizations - .getUsageSummary(GetOrganizationUsageSummaryRequest.builder() - .organizationId("test-organization-id") - .build()) - .as(StepVerifier::create) - .expectNext(GetOrganizationUsageSummaryResponse.builder() - .usageSummary(UsageSummary.builder() - .startedInstances(3) - .memoryInMb(50) - .build()) - .link("self", Link.builder() - .href("https://api.example.org/v3/organizations/d4c91047-7b29-4fda-b7f9-04033e5c9c9f/usage_summary") - .build()) - .link("organization", Link.builder() - .href("https://api.example.org/v3/organizations/d4c91047-7b29-4fda-b7f9-04033e5c9c9f") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .getUsageSummary( + GetOrganizationUsageSummaryRequest.builder() + .organizationId("test-organization-id") + .build()) + .as(StepVerifier::create) + .expectNext( + GetOrganizationUsageSummaryResponse.builder() + .usageSummary( + UsageSummary.builder() + .startedInstances(3) + .memoryInMb(50) + .build()) + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/organizations/d4c91047-7b29-4fda-b7f9-04033e5c9c9f/usage_summary") + .build()) + .link( + "organization", + Link.builder() + .href( + "https://api.example.org/v3/organizations/d4c91047-7b29-4fda-b7f9-04033e5c9c9f") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void list() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/organizations") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v3/organizations/GET_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request(TestRequest.builder().method(GET).path("/organizations").build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v3/organizations/GET_response.json") + .build()) + .build()); this.organizations - .list(ListOrganizationsRequest.builder() - .build()) - .as(StepVerifier::create) - .expectNext(ListOrganizationsResponse.builder() - .pagination(Pagination.builder() - .totalResults(2) - .totalPages(1) - .first(Link.builder() - .href("https://api.example.org/v3/isolation_segments/933b4c58-120b-499a-b85d-4b6fc9e2903b/organizations?page=1&per_page=50") - .build()) - .last(Link.builder() - .href("https://api.example.org/v3/isolation_segments/933b4c58-120b-499a-b85d-4b6fc9e2903b/organizations?page=1&per_page=50") - .build()) - .build()) - .resource(OrganizationResource.builder() - .id("885735b5-aea4-4cf5-8e44-961af0e41920") - .metadata(Metadata.builder() - .annotations(Collections.emptyMap()) - .labels(Collections.emptyMap()) - .build()) - .createdAt("2017-02-01T01:33:58Z") - .updatedAt("2017-02-01T01:33:58Z") - .name("org1") - .build()) - .resource(OrganizationResource.builder() - .id("d4c91047-7b29-4fda-b7f9-04033e5c9c9f") - .metadata(Metadata.builder() - .annotations(Collections.emptyMap()) - .labels(Collections.emptyMap()) - .build()) - .createdAt("2017-02-02T00:14:30Z") - .updatedAt("2017-02-02T00:14:30Z") - .name("org2") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .list(ListOrganizationsRequest.builder().build()) + .as(StepVerifier::create) + .expectNext( + ListOrganizationsResponse.builder() + .pagination( + Pagination.builder() + .totalResults(2) + .totalPages(1) + .first( + Link.builder() + .href( + "https://api.example.org/v3/isolation_segments/933b4c58-120b-499a-b85d-4b6fc9e2903b/organizations?page=1&per_page=50") + .build()) + .last( + Link.builder() + .href( + "https://api.example.org/v3/isolation_segments/933b4c58-120b-499a-b85d-4b6fc9e2903b/organizations?page=1&per_page=50") + .build()) + .build()) + .resource( + OrganizationResource.builder() + .id("885735b5-aea4-4cf5-8e44-961af0e41920") + .metadata( + Metadata.builder() + .annotations(Collections.emptyMap()) + .labels(Collections.emptyMap()) + .build()) + .createdAt("2017-02-01T01:33:58Z") + .updatedAt("2017-02-01T01:33:58Z") + .name("org1") + .build()) + .resource( + OrganizationResource.builder() + .id("d4c91047-7b29-4fda-b7f9-04033e5c9c9f") + .metadata( + Metadata.builder() + .annotations(Collections.emptyMap()) + .labels(Collections.emptyMap()) + .build()) + .createdAt("2017-02-02T00:14:30Z") + .updatedAt("2017-02-02T00:14:30Z") + .name("org2") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void listDomains() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/organizations/test-organization-id/domains") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v3/organizations/GET_{id}_domains_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/organizations/test-organization-id/domains") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v3/organizations/GET_{id}_domains_response.json") + .build()) + .build()); this.organizations - .listDomains(ListOrganizationDomainsRequest.builder() - .organizationId("test-organization-id") - .build()) - .as(StepVerifier::create) - .expectNext(ListOrganizationDomainsResponse.builder() - .pagination(Pagination.builder() - .totalResults(3) - .totalPages(2) - .first(Link.builder() - .href("https://api.example.org/v3/domains?page=1&per_page=2") - .build()) - .last(Link.builder() - .href("https://api.example.org/v3/domains?page=2&per_page=2") - .build()) - .next(Link.builder() - .href("https://api.example.org/v3/domains?page=2&per_page=2") - .build()) - .build()) - .resource(DomainResource.builder() - .id("3a5d3d89-3f89-4f05-8188-8a2b298c79d5") - .metadata(Metadata.builder() - .annotations(Collections.emptyMap()) - .labels(Collections.emptyMap()) - .build()) - .createdAt("2019-03-08T01:06:19Z") - .updatedAt("2019-03-08T01:06:19Z") - .name("test-domain.com") - .isInternal(false) - .relationships(DomainRelationships.builder() - .organization(ToOneRelationship.builder() - .data(Relationship.builder() - .id("test-organization-id") + .listDomains( + ListOrganizationDomainsRequest.builder() + .organizationId("test-organization-id") .build()) - .build()) - .sharedOrganizations(ToManyRelationship.builder().build()) - .build()) - .link("self", Link.builder() - .href("https://api.example.org/v3/domains/3a5d3d89-3f89-4f05-8188-8a2b298c79d5") - .build()) - .link("organization", Link.builder() - .href("https://api.example.org/v3/organizations/test-organization-id") - .build()) - .link("route_reservations", Link.builder() - .href("https://api.example.org/v3/domains/3a5d3d89-3f89-4f05-8188-8a2b298c79d5/route_reservations") - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .as(StepVerifier::create) + .expectNext( + ListOrganizationDomainsResponse.builder() + .pagination( + Pagination.builder() + .totalResults(3) + .totalPages(2) + .first( + Link.builder() + .href( + "https://api.example.org/v3/domains?page=1&per_page=2") + .build()) + .last( + Link.builder() + .href( + "https://api.example.org/v3/domains?page=2&per_page=2") + .build()) + .next( + Link.builder() + .href( + "https://api.example.org/v3/domains?page=2&per_page=2") + .build()) + .build()) + .resource( + DomainResource.builder() + .id("3a5d3d89-3f89-4f05-8188-8a2b298c79d5") + .metadata( + Metadata.builder() + .annotations(Collections.emptyMap()) + .labels(Collections.emptyMap()) + .build()) + .createdAt("2019-03-08T01:06:19Z") + .updatedAt("2019-03-08T01:06:19Z") + .name("test-domain.com") + .isInternal(false) + .relationships( + DomainRelationships.builder() + .organization( + ToOneRelationship.builder() + .data( + Relationship + .builder() + .id( + "test-organization-id") + .build()) + .build()) + .sharedOrganizations( + ToManyRelationship.builder() + .build()) + .build()) + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/domains/3a5d3d89-3f89-4f05-8188-8a2b298c79d5") + .build()) + .link( + "organization", + Link.builder() + .href( + "https://api.example.org/v3/organizations/test-organization-id") + .build()) + .link( + "route_reservations", + Link.builder() + .href( + "https://api.example.org/v3/domains/3a5d3d89-3f89-4f05-8188-8a2b298c79d5/route_reservations") + .build()) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void update() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(PATCH).path("/organizations/test-organization-id") - .payload("fixtures/client/v3/organizations/PATCH_{id}_request.json") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v3/organizations/PATCH_{id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(PATCH) + .path("/organizations/test-organization-id") + .payload( + "fixtures/client/v3/organizations/PATCH_{id}_request.json") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v3/organizations/PATCH_{id}_response.json") + .build()) + .build()); this.organizations - .update(UpdateOrganizationRequest.builder() - .organizationId("test-organization-id") - .metadata(Metadata.builder() - .annotation("version", "1.2.4") - .label("dept", "1234") - .build()) - .build()) - .as(StepVerifier::create) - .expectNext(UpdateOrganizationResponse.builder() - .createdAt("2017-02-01T01:33:58Z") - .id("24637893-3b77-489d-bb79-8466f0d88b52") - .link("self", Link.builder() - .href("https://api.example.org/v3/organizations/24637893-3b77-489d-bb79-8466f0d88b52") - .build()) - .metadata(Metadata.builder() - .annotation("version", "1.2.4") - .label("dept", "1234") - .build()) - .name("my-organization") - .updatedAt("2017-02-01T01:33:58Z") - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .update( + UpdateOrganizationRequest.builder() + .organizationId("test-organization-id") + .metadata( + Metadata.builder() + .annotation("version", "1.2.4") + .label("dept", "1234") + .build()) + .build()) + .as(StepVerifier::create) + .expectNext( + UpdateOrganizationResponse.builder() + .createdAt("2017-02-01T01:33:58Z") + .id("24637893-3b77-489d-bb79-8466f0d88b52") + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/organizations/24637893-3b77-489d-bb79-8466f0d88b52") + .build()) + .metadata( + Metadata.builder() + .annotation("version", "1.2.4") + .label("dept", "1234") + .build()) + .name("my-organization") + .updatedAt("2017-02-01T01:33:58Z") + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } - } diff --git a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v3/packages/ReactorPackagesTest.java b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v3/packages/ReactorPackagesTest.java index bf5dee1600..e8fc916038 100644 --- a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v3/packages/ReactorPackagesTest.java +++ b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v3/packages/ReactorPackagesTest.java @@ -16,6 +16,19 @@ package org.cloudfoundry.reactor.client.v3.packages; +import static io.netty.handler.codec.http.HttpMethod.DELETE; +import static io.netty.handler.codec.http.HttpMethod.GET; +import static io.netty.handler.codec.http.HttpMethod.POST; +import static io.netty.handler.codec.http.HttpResponseStatus.ACCEPTED; +import static io.netty.handler.codec.http.HttpResponseStatus.CREATED; +import static io.netty.handler.codec.http.HttpResponseStatus.OK; +import static org.assertj.core.api.Assertions.assertThat; +import static org.cloudfoundry.util.tuple.TupleUtils.consumer; + +import java.io.IOException; +import java.nio.charset.Charset; +import java.time.Duration; +import java.util.Collections; import org.cloudfoundry.client.v3.BuildpackData; import org.cloudfoundry.client.v3.Checksum; import org.cloudfoundry.client.v3.ChecksumType; @@ -58,510 +71,719 @@ import org.springframework.core.io.ClassPathResource; import reactor.test.StepVerifier; -import java.io.IOException; -import java.nio.charset.Charset; -import java.time.Duration; -import java.util.Collections; - -import static io.netty.handler.codec.http.HttpMethod.DELETE; -import static io.netty.handler.codec.http.HttpMethod.GET; -import static io.netty.handler.codec.http.HttpMethod.POST; -import static io.netty.handler.codec.http.HttpResponseStatus.ACCEPTED; -import static io.netty.handler.codec.http.HttpResponseStatus.CREATED; -import static io.netty.handler.codec.http.HttpResponseStatus.OK; -import static org.assertj.core.api.Assertions.assertThat; -import static org.cloudfoundry.util.tuple.TupleUtils.consumer; - public final class ReactorPackagesTest extends AbstractClientApiTest { - private final ReactorPackages packages = new ReactorPackages(CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); + private final ReactorPackages packages = + new ReactorPackages( + CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); @Test public void copy() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(POST).path("/packages?source_guid=test-source-package-id") - .payload("fixtures/client/v3/packages/POST_source_guid={id}_request.json") - .build()) - .response(TestResponse.builder() - .status(CREATED) - .payload("fixtures/client/v3/packages/POST_source_guid={id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(POST) + .path("/packages?source_guid=test-source-package-id") + .payload( + "fixtures/client/v3/packages/POST_source_guid={id}_request.json") + .build()) + .response( + TestResponse.builder() + .status(CREATED) + .payload( + "fixtures/client/v3/packages/POST_source_guid={id}_response.json") + .build()) + .build()); this.packages - .copy(CopyPackageRequest.builder() - .sourcePackageId("test-source-package-id") - .relationships(PackageRelationships.builder() - .application(ToOneRelationship.builder() - .data(Relationship.builder() - .id("[destination-app-guid]") - .build()) - .build()) - .build()) - .build()) - .as(StepVerifier::create) - .expectNext(CopyPackageResponse.builder() - .id("44f7c078-0934-470f-9883-4fcddc5b8f13") - .type(PackageType.BITS) - .data(BitsData.builder() - .checksum(Checksum.builder() - .type(ChecksumType.SHA256) - .value(null) - .build()) - .error(null) - .build()) - .state(PackageState.PROCESSING_UPLOAD) - .createdAt("2015-11-13T17:02:56Z") - .updatedAt("2016-06-08T16:41:26Z") - .link("self", Link.builder() - .href("https://api.example.org/v3/packages/44f7c078-0934-470f-9883-4fcddc5b8f13") - .build()) - .link("upload", Link.builder() - .href("https://api.example.org/v3/packages/44f7c078-0934-470f-9883-4fcddc5b8f13/upload") - .method("POST") - .build()) - .link("download", Link.builder() - .href("https://api.example.org/v3/packages/44f7c078-0934-470f-9883-4fcddc5b8f13/download") - .method("GET") - .build()) - .link("app", Link.builder() - .href("https://api.example.org/v3/apps/1d3bf0ec-5806-43c4-b64e-8364dba1086a") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .copy( + CopyPackageRequest.builder() + .sourcePackageId("test-source-package-id") + .relationships( + PackageRelationships.builder() + .application( + ToOneRelationship.builder() + .data( + Relationship.builder() + .id( + "[destination-app-guid]") + .build()) + .build()) + .build()) + .build()) + .as(StepVerifier::create) + .expectNext( + CopyPackageResponse.builder() + .id("44f7c078-0934-470f-9883-4fcddc5b8f13") + .type(PackageType.BITS) + .data( + BitsData.builder() + .checksum( + Checksum.builder() + .type(ChecksumType.SHA256) + .value(null) + .build()) + .error(null) + .build()) + .state(PackageState.PROCESSING_UPLOAD) + .createdAt("2015-11-13T17:02:56Z") + .updatedAt("2016-06-08T16:41:26Z") + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/packages/44f7c078-0934-470f-9883-4fcddc5b8f13") + .build()) + .link( + "upload", + Link.builder() + .href( + "https://api.example.org/v3/packages/44f7c078-0934-470f-9883-4fcddc5b8f13/upload") + .method("POST") + .build()) + .link( + "download", + Link.builder() + .href( + "https://api.example.org/v3/packages/44f7c078-0934-470f-9883-4fcddc5b8f13/download") + .method("GET") + .build()) + .link( + "app", + Link.builder() + .href( + "https://api.example.org/v3/apps/1d3bf0ec-5806-43c4-b64e-8364dba1086a") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void create() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(POST).path("/packages") - .payload("fixtures/client/v3/packages/POST_request.json") - .build()) - .response(TestResponse.builder() - .status(CREATED) - .payload("fixtures/client/v3/packages/POST_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(POST) + .path("/packages") + .payload("fixtures/client/v3/packages/POST_request.json") + .build()) + .response( + TestResponse.builder() + .status(CREATED) + .payload("fixtures/client/v3/packages/POST_response.json") + .build()) + .build()); this.packages - .create(CreatePackageRequest.builder() - .type(PackageType.BITS) - .relationships(PackageRelationships.builder() - .application(ToOneRelationship.builder() - .data(Relationship.builder() - .id("[guid]") - .build()) - .build()) - .build()) - .build()) - .as(StepVerifier::create) - .expectNext(CreatePackageResponse.builder() - .id("44f7c078-0934-470f-9883-4fcddc5b8f13") - .type(PackageType.BITS) - .data(BitsData.builder() - .checksum(Checksum.builder() - .type(ChecksumType.SHA256) - .value(null) - .build()) - .error(null) - .build()) - .state(PackageState.PROCESSING_UPLOAD) - .createdAt("2015-11-13T17:02:56Z") - .updatedAt("2016-06-08T16:41:26Z") - .link("self", Link.builder() - .href("https://api.example.org/v3/packages/44f7c078-0934-470f-9883-4fcddc5b8f13") - .build()) - .link("upload", Link.builder() - .href("https://api.example.org/v3/packages/44f7c078-0934-470f-9883-4fcddc5b8f13/upload") - .method("POST") - .build()) - .link("download", Link.builder() - .href("https://api.example.org/v3/packages/44f7c078-0934-470f-9883-4fcddc5b8f13/download") - .method("GET") - .build()) - .link("app", Link.builder() - .href("https://api.example.org/v3/apps/1d3bf0ec-5806-43c4-b64e-8364dba1086a") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .create( + CreatePackageRequest.builder() + .type(PackageType.BITS) + .relationships( + PackageRelationships.builder() + .application( + ToOneRelationship.builder() + .data( + Relationship.builder() + .id("[guid]") + .build()) + .build()) + .build()) + .build()) + .as(StepVerifier::create) + .expectNext( + CreatePackageResponse.builder() + .id("44f7c078-0934-470f-9883-4fcddc5b8f13") + .type(PackageType.BITS) + .data( + BitsData.builder() + .checksum( + Checksum.builder() + .type(ChecksumType.SHA256) + .value(null) + .build()) + .error(null) + .build()) + .state(PackageState.PROCESSING_UPLOAD) + .createdAt("2015-11-13T17:02:56Z") + .updatedAt("2016-06-08T16:41:26Z") + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/packages/44f7c078-0934-470f-9883-4fcddc5b8f13") + .build()) + .link( + "upload", + Link.builder() + .href( + "https://api.example.org/v3/packages/44f7c078-0934-470f-9883-4fcddc5b8f13/upload") + .method("POST") + .build()) + .link( + "download", + Link.builder() + .href( + "https://api.example.org/v3/packages/44f7c078-0934-470f-9883-4fcddc5b8f13/download") + .method("GET") + .build()) + .link( + "app", + Link.builder() + .href( + "https://api.example.org/v3/apps/1d3bf0ec-5806-43c4-b64e-8364dba1086a") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void delete() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(DELETE).path("/packages/test-package-id") - .build()) - .response(TestResponse.builder() - .status(ACCEPTED) - .header("Location", "https://api.example.org/v3/jobs/[guid]") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(DELETE) + .path("/packages/test-package-id") + .build()) + .response( + TestResponse.builder() + .status(ACCEPTED) + .header( + "Location", + "https://api.example.org/v3/jobs/[guid]") + .build()) + .build()); this.packages - .delete(DeletePackageRequest.builder() - .packageId("test-package-id") - .build()) - .as(StepVerifier::create) - .expectNext("[guid]") - .expectComplete() - .verify(Duration.ofSeconds(5)); + .delete(DeletePackageRequest.builder().packageId("test-package-id").build()) + .as(StepVerifier::create) + .expectNext("[guid]") + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void download() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/packages/test-package-id/download") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v3/packages/GET_{id}_download_response.bin") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/packages/test-package-id/download") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v3/packages/GET_{id}_download_response.bin") + .build()) + .build()); this.packages - .download(DownloadPackageRequest.builder() - .packageId("test-package-id") - .build()) - .as(OperationUtils::collectByteArray) - .as(StepVerifier::create) - .consumeNextWith(actual -> assertThat(actual).isEqualTo(getBytes("fixtures/client/v3/packages/GET_{id}_download_response.bin"))) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .download(DownloadPackageRequest.builder().packageId("test-package-id").build()) + .as(OperationUtils::collectByteArray) + .as(StepVerifier::create) + .consumeNextWith( + actual -> + assertThat(actual) + .isEqualTo( + getBytes( + "fixtures/client/v3/packages/GET_{id}_download_response.bin"))) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void get() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/packages/test-package-id") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v3/packages/GET_{id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/packages/test-package-id") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v3/packages/GET_{id}_response.json") + .build()) + .build()); this.packages - .get(GetPackageRequest.builder() - .packageId("test-package-id") - .build()) - .as(StepVerifier::create) - .expectNext(GetPackageResponse.builder() - .id("44f7c078-0934-470f-9883-4fcddc5b8f13") - .type(PackageType.BITS) - .data(BitsData.builder() - .checksum(Checksum.builder() - .type(ChecksumType.SHA256) - .value(null) - .build()) - .error(null) - .build()) - .state(PackageState.PROCESSING_UPLOAD) - .createdAt("2015-11-13T17:02:56Z") - .updatedAt("2016-06-08T16:41:26Z") - .link("self", Link.builder() - .href("https://api.example.org/v3/packages/44f7c078-0934-470f-9883-4fcddc5b8f13") - .build()) - .link("upload", Link.builder() - .href("https://api.example.org/v3/packages/44f7c078-0934-470f-9883-4fcddc5b8f13/upload") - .method("POST") - .build()) - .link("download", Link.builder() - .href("https://api.example.org/v3/packages/44f7c078-0934-470f-9883-4fcddc5b8f13/download") - .method("GET") - .build()) - .link("app", Link.builder() - .href("https://api.example.org/v3/apps/1d3bf0ec-5806-43c4-b64e-8364dba1086a") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .get(GetPackageRequest.builder().packageId("test-package-id").build()) + .as(StepVerifier::create) + .expectNext( + GetPackageResponse.builder() + .id("44f7c078-0934-470f-9883-4fcddc5b8f13") + .type(PackageType.BITS) + .data( + BitsData.builder() + .checksum( + Checksum.builder() + .type(ChecksumType.SHA256) + .value(null) + .build()) + .error(null) + .build()) + .state(PackageState.PROCESSING_UPLOAD) + .createdAt("2015-11-13T17:02:56Z") + .updatedAt("2016-06-08T16:41:26Z") + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/packages/44f7c078-0934-470f-9883-4fcddc5b8f13") + .build()) + .link( + "upload", + Link.builder() + .href( + "https://api.example.org/v3/packages/44f7c078-0934-470f-9883-4fcddc5b8f13/upload") + .method("POST") + .build()) + .link( + "download", + Link.builder() + .href( + "https://api.example.org/v3/packages/44f7c078-0934-470f-9883-4fcddc5b8f13/download") + .method("GET") + .build()) + .link( + "app", + Link.builder() + .href( + "https://api.example.org/v3/apps/1d3bf0ec-5806-43c4-b64e-8364dba1086a") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void list() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/packages") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v3/packages/GET_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request(TestRequest.builder().method(GET).path("/packages").build()) + .response( + TestResponse.builder() + .status(OK) + .payload("fixtures/client/v3/packages/GET_response.json") + .build()) + .build()); this.packages - .list(ListPackagesRequest.builder() - .build()) - .as(StepVerifier::create) - .expectNext(ListPackagesResponse.builder() - .pagination(Pagination.builder() - .totalResults(2) - .totalPages(1) - .first(Link.builder() - .href("https://api.example.org/v3/packages?types=bits%2Cdocker&page=1&per_page=2") - .build()) - .last(Link.builder() - .href("https://api.example.org/v3/packages?types=bits%2Cdocker&page=2&per_page=2") - .build()) - .build()) - .resource(PackageResource.builder() - .id("a57fd932-85db-483a-a27e-b00efbb3b0a4") - .type(PackageType.BITS) - .data(BitsData.builder() - .checksum(Checksum.builder() - .type(ChecksumType.SHA256) - .value(null) - .build()) - .error(null) - .build()) - .state(PackageState.AWAITING_UPLOAD) - .createdAt("2015-11-03T00:53:54Z") - .updatedAt("2016-06-08T16:41:26Z") - .link("self", Link.builder() - .href("https://api.example.org/v3/packages/a57fd932-85db-483a-a27e-b00efbb3b0a4") - .build()) - .link("upload", Link.builder() - .href("https://api.example.org/v3/packages/a57fd932-85db-483a-a27e-b00efbb3b0a4/upload") - .method("POST") - .build()) - .link("download", Link.builder() - .href("https://api.example.org/v3/packages/a57fd932-85db-483a-a27e-b00efbb3b0a4/download") - .method("GET") - .build()) - .link("app", Link.builder() - .href("https://api.example.org/v3/apps/fa3558ce-1c4d-46fc-9776-54b9c8021745") - .build()) - .build()) - .resource(PackageResource.builder() - .id("8f1f294d-cef8-4c11-9f0b-3bcdc0bd2691") - .type(PackageType.DOCKER) - .data(DockerData.builder() - .image("registry/image:latest") - .username("username") - .password("***") - .build()) - .state(PackageState.READY) - .createdAt("2015-11-03T00:53:54Z") - .updatedAt("2016-06-08T16:41:26Z") - .link("self", Link.builder() - .href("https://api.example.org/v3/packages/8f1f294d-cef8-4c11-9f0b-3bcdc0bd2691") - .build()) - .link("app", Link.builder() - .href("https://api.example.org/v3/apps/fa3558ce-1c4d-46fc-9776-54b9c8021745") - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .list(ListPackagesRequest.builder().build()) + .as(StepVerifier::create) + .expectNext( + ListPackagesResponse.builder() + .pagination( + Pagination.builder() + .totalResults(2) + .totalPages(1) + .first( + Link.builder() + .href( + "https://api.example.org/v3/packages?types=bits%2Cdocker&page=1&per_page=2") + .build()) + .last( + Link.builder() + .href( + "https://api.example.org/v3/packages?types=bits%2Cdocker&page=2&per_page=2") + .build()) + .build()) + .resource( + PackageResource.builder() + .id("a57fd932-85db-483a-a27e-b00efbb3b0a4") + .type(PackageType.BITS) + .data( + BitsData.builder() + .checksum( + Checksum.builder() + .type( + ChecksumType + .SHA256) + .value(null) + .build()) + .error(null) + .build()) + .state(PackageState.AWAITING_UPLOAD) + .createdAt("2015-11-03T00:53:54Z") + .updatedAt("2016-06-08T16:41:26Z") + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/packages/a57fd932-85db-483a-a27e-b00efbb3b0a4") + .build()) + .link( + "upload", + Link.builder() + .href( + "https://api.example.org/v3/packages/a57fd932-85db-483a-a27e-b00efbb3b0a4/upload") + .method("POST") + .build()) + .link( + "download", + Link.builder() + .href( + "https://api.example.org/v3/packages/a57fd932-85db-483a-a27e-b00efbb3b0a4/download") + .method("GET") + .build()) + .link( + "app", + Link.builder() + .href( + "https://api.example.org/v3/apps/fa3558ce-1c4d-46fc-9776-54b9c8021745") + .build()) + .build()) + .resource( + PackageResource.builder() + .id("8f1f294d-cef8-4c11-9f0b-3bcdc0bd2691") + .type(PackageType.DOCKER) + .data( + DockerData.builder() + .image("registry/image:latest") + .username("username") + .password("***") + .build()) + .state(PackageState.READY) + .createdAt("2015-11-03T00:53:54Z") + .updatedAt("2016-06-08T16:41:26Z") + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/packages/8f1f294d-cef8-4c11-9f0b-3bcdc0bd2691") + .build()) + .link( + "app", + Link.builder() + .href( + "https://api.example.org/v3/apps/fa3558ce-1c4d-46fc-9776-54b9c8021745") + .build()) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void listDroplets() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/packages/test-package-id/droplets") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v3/packages/GET_{id}_droplets_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/packages/test-package-id/droplets") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v3/packages/GET_{id}_droplets_response.json") + .build()) + .build()); this.packages - .listDroplets(ListPackageDropletsRequest.builder() - .packageId("test-package-id") - .build()) - .as(StepVerifier::create) - .expectNext(ListPackageDropletsResponse.builder() - .pagination(Pagination.builder() - .totalResults(3) - .totalPages(1) - .first(Link.builder() - .href("https://api.example.org/v3/packages/7b34f1cf-7e73-428a-bb5a-8a17a8058396/droplets?page=1&per_page=50") - .build()) - .last(Link.builder() - .href("https://api.example.org/v3/packages/7b34f1cf-7e73-428a-bb5a-8a17a8058396/droplets?page=1&per_page=50") - .build()) - .build()) - .resource(DropletResource.builder() - .id("585bc3c1-3743-497d-88b0-403ad6b56d16") - .state(DropletState.STAGED) - .error(null) - .lifecycle(Lifecycle.builder() - .type(LifecycleType.BUILDPACK) - .data(BuildpackData.builder() - .build()) - .build()) - .image(null) - .executionMetadata("PRIVATE DATA HIDDEN") - .processType("redacted_message", "[PRIVATE DATA HIDDEN IN LISTS]") - .checksum(Checksum.builder() - .type(ChecksumType.SHA256) - .value("e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855") - .build()) - .buildpack(Buildpack.builder() - .name("ruby_buildpack") - .detectOutput("ruby 1.6.14") - .build()) - .stack("cflinuxfs2") - .createdAt("2016-03-28T23:39:34Z") - .updatedAt("2016-03-28T23:39:47Z") - .link("self", Link.builder() - .href("https://api.example.org/v3/droplets/585bc3c1-3743-497d-88b0-403ad6b56d16") - .build()) - .link("package", Link.builder() - .href("https://api.example.org/v3/packages/8222f76a-9e09-4360-b3aa-1ed329945e92") - .build()) - .link("app", Link.builder() - .href("https://api.example.org/v3/apps/7b34f1cf-7e73-428a-bb5a-8a17a8058396") - .build()) - .link("assign_current_droplet", Link.builder() - .href("https://api.example.org/v3/apps/7b34f1cf-7e73-428a-bb5a-8a17a8058396/relationships/current_droplet") - .method("PATCH") - .build()) - .build()) - .resource(DropletResource.builder() - .id("585bc3c1-3743-497d-88b0-403ad6b56d17") - .state(DropletState.STAGED) - .error(null) - .lifecycle(Lifecycle.builder() - .type(LifecycleType.KPACK) - .data(KpackData.builder() - .buildpacks("foo", "bar") - .build()) - .build()) - .image(null) - .executionMetadata("PRIVATE DATA HIDDEN") - .processType("redacted_message", "[PRIVATE DATA HIDDEN IN LISTS]") - .checksum(Checksum.builder() - .type(ChecksumType.SHA256) - .value("e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855") - .build()) - .buildpack(Buildpack.builder() - .name("ruby_buildpack") - .detectOutput("ruby 1.6.14") - .build()) - .stack("cflinuxfs2") - .createdAt("2016-03-28T23:39:34Z") - .updatedAt("2016-03-28T23:39:47Z") - .link("self", Link.builder() - .href("https://api.example.org/v3/droplets/585bc3c1-3743-497d-88b0-403ad6b56d17") - .build()) - .link("package", Link.builder() - .href("https://api.example.org/v3/packages/8222f76a-9e09-4360-b3aa-1ed329945e93") - .build()) - .link("app", Link.builder() - .href("https://api.example.org/v3/apps/7b34f1cf-7e73-428a-bb5a-8a17a8058397") - .build()) - .link("assign_current_droplet", Link.builder() - .href("https://api.example.org/v3/apps/7b34f1cf-7e73-428a-bb5a-8a17a8058397/relationships/current_droplet") - .method("PATCH") - .build()) - .build()) - .resource(DropletResource.builder() - .id("fdf3851c-def8-4de1-87f1-6d4543189e22") - .state(DropletState.STAGED) - .error(null) - .lifecycle(Lifecycle.builder() - .type(LifecycleType.DOCKER) - .data(org.cloudfoundry.client.v3.DockerData.builder() - .build()) - .build()) - .executionMetadata("[PRIVATE DATA HIDDEN IN LISTS]") - .processType("redacted_message", "[PRIVATE DATA HIDDEN IN LISTS]") - .image("cloudfoundry/diego-docker-app-custom:latest") - .checksum(null) - .stack(null) - .createdAt("2016-03-17T00:00:01Z") - .updatedAt("2016-03-17T21:41:32Z") - .link("self", Link.builder() - .href("https://api.example.org/v3/droplets/fdf3851c-def8-4de1-87f1-6d4543189e22") - .build()) - .link("package", Link.builder() - .href("https://api.example.org/v3/packages/c5725684-a02f-4e59-bc67-8f36ae944688") - .build()) - .link("app", Link.builder() - .href("https://api.example.org/v3/apps/7b34f1cf-7e73-428a-bb5a-8a17a8058396") - .build()) - .link("assign_current_droplet", Link.builder() - .href("https://api.example.org/v3/apps/7b34f1cf-7e73-428a-bb5a-8a17a8058396/relationships/current_droplet") - .method("PATCH") - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .listDroplets( + ListPackageDropletsRequest.builder().packageId("test-package-id").build()) + .as(StepVerifier::create) + .expectNext( + ListPackageDropletsResponse.builder() + .pagination( + Pagination.builder() + .totalResults(3) + .totalPages(1) + .first( + Link.builder() + .href( + "https://api.example.org/v3/packages/7b34f1cf-7e73-428a-bb5a-8a17a8058396/droplets?page=1&per_page=50") + .build()) + .last( + Link.builder() + .href( + "https://api.example.org/v3/packages/7b34f1cf-7e73-428a-bb5a-8a17a8058396/droplets?page=1&per_page=50") + .build()) + .build()) + .resource( + DropletResource.builder() + .id("585bc3c1-3743-497d-88b0-403ad6b56d16") + .state(DropletState.STAGED) + .error(null) + .lifecycle( + Lifecycle.builder() + .type(LifecycleType.BUILDPACK) + .data( + BuildpackData.builder() + .build()) + .build()) + .image(null) + .executionMetadata("PRIVATE DATA HIDDEN") + .processType( + "redacted_message", + "[PRIVATE DATA HIDDEN IN LISTS]") + .checksum( + Checksum.builder() + .type(ChecksumType.SHA256) + .value( + "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855") + .build()) + .buildpack( + Buildpack.builder() + .name("ruby_buildpack") + .detectOutput("ruby 1.6.14") + .build()) + .stack("cflinuxfs2") + .createdAt("2016-03-28T23:39:34Z") + .updatedAt("2016-03-28T23:39:47Z") + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/droplets/585bc3c1-3743-497d-88b0-403ad6b56d16") + .build()) + .link( + "package", + Link.builder() + .href( + "https://api.example.org/v3/packages/8222f76a-9e09-4360-b3aa-1ed329945e92") + .build()) + .link( + "app", + Link.builder() + .href( + "https://api.example.org/v3/apps/7b34f1cf-7e73-428a-bb5a-8a17a8058396") + .build()) + .link( + "assign_current_droplet", + Link.builder() + .href( + "https://api.example.org/v3/apps/7b34f1cf-7e73-428a-bb5a-8a17a8058396/relationships/current_droplet") + .method("PATCH") + .build()) + .build()) + .resource( + DropletResource.builder() + .id("585bc3c1-3743-497d-88b0-403ad6b56d17") + .state(DropletState.STAGED) + .error(null) + .lifecycle( + Lifecycle.builder() + .type(LifecycleType.KPACK) + .data( + KpackData.builder() + .buildpacks( + "foo", + "bar") + .build()) + .build()) + .image(null) + .executionMetadata("PRIVATE DATA HIDDEN") + .processType( + "redacted_message", + "[PRIVATE DATA HIDDEN IN LISTS]") + .checksum( + Checksum.builder() + .type(ChecksumType.SHA256) + .value( + "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855") + .build()) + .buildpack( + Buildpack.builder() + .name("ruby_buildpack") + .detectOutput("ruby 1.6.14") + .build()) + .stack("cflinuxfs2") + .createdAt("2016-03-28T23:39:34Z") + .updatedAt("2016-03-28T23:39:47Z") + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/droplets/585bc3c1-3743-497d-88b0-403ad6b56d17") + .build()) + .link( + "package", + Link.builder() + .href( + "https://api.example.org/v3/packages/8222f76a-9e09-4360-b3aa-1ed329945e93") + .build()) + .link( + "app", + Link.builder() + .href( + "https://api.example.org/v3/apps/7b34f1cf-7e73-428a-bb5a-8a17a8058397") + .build()) + .link( + "assign_current_droplet", + Link.builder() + .href( + "https://api.example.org/v3/apps/7b34f1cf-7e73-428a-bb5a-8a17a8058397/relationships/current_droplet") + .method("PATCH") + .build()) + .build()) + .resource( + DropletResource.builder() + .id("fdf3851c-def8-4de1-87f1-6d4543189e22") + .state(DropletState.STAGED) + .error(null) + .lifecycle( + Lifecycle.builder() + .type(LifecycleType.DOCKER) + .data( + org.cloudfoundry.client.v3 + .DockerData + .builder() + .build()) + .build()) + .executionMetadata("[PRIVATE DATA HIDDEN IN LISTS]") + .processType( + "redacted_message", + "[PRIVATE DATA HIDDEN IN LISTS]") + .image( + "cloudfoundry/diego-docker-app-custom:latest") + .checksum(null) + .stack(null) + .createdAt("2016-03-17T00:00:01Z") + .updatedAt("2016-03-17T21:41:32Z") + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/droplets/fdf3851c-def8-4de1-87f1-6d4543189e22") + .build()) + .link( + "package", + Link.builder() + .href( + "https://api.example.org/v3/packages/c5725684-a02f-4e59-bc67-8f36ae944688") + .build()) + .link( + "app", + Link.builder() + .href( + "https://api.example.org/v3/apps/7b34f1cf-7e73-428a-bb5a-8a17a8058396") + .build()) + .link( + "assign_current_droplet", + Link.builder() + .href( + "https://api.example.org/v3/apps/7b34f1cf-7e73-428a-bb5a-8a17a8058396/relationships/current_droplet") + .method("PATCH") + .build()) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void upload() throws IOException { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(POST).path("/packages/test-package-id/upload") - .contents(consumer((headers, body) -> { - String boundary = extractBoundary(headers); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(POST) + .path("/packages/test-package-id/upload") + .contents( + consumer( + (headers, body) -> { + String boundary = + extractBoundary(headers); - assertThat(body.readString(Charset.defaultCharset())) - .isEqualTo("--" + boundary + "\r\n" + - "content-disposition: form-data; name=\"bits\"; filename=\"test-package.zip\"\r\n" + - "content-length: 12\r\n" + - "content-type: application/zip\r\n" + - "content-transfer-encoding: binary\r\n" + - "\r\n" + - "test-content" + - "\r\n" + - "--" + boundary + "--\r\n"); - })) - .build()) - .response(TestResponse.builder() - .status(CREATED) - .payload("fixtures/client/v3/packages/POST_{id}_upload_response.json") - .build()) - .build()); + assertThat( + body.readString( + Charset + .defaultCharset())) + .isEqualTo( + "--" + + boundary + + "\r\n" + + "content-disposition:" + + " form-data;" + + " name=\"bits\";" + + " filename=\"test-package.zip\"\r\n" + + "content-length:" + + " 12\r\n" + + "content-type:" + + " application/zip\r\n" + + "content-transfer-encoding:" + + " binary\r\n" + + "\r\n" + + "test-content\r\n" + + "--" + + boundary + + "--\r\n"); + })) + .build()) + .response( + TestResponse.builder() + .status(CREATED) + .payload( + "fixtures/client/v3/packages/POST_{id}_upload_response.json") + .build()) + .build()); this.packages - .upload(UploadPackageRequest.builder() - .bits(new ClassPathResource("fixtures/client/v3/packages/test-package.zip").getFile().toPath()) - .packageId("test-package-id") - .build()) - .as(StepVerifier::create) - .expectNext(UploadPackageResponse.builder() - .id("44f7c078-0934-470f-9883-4fcddc5b8f13") - .type(PackageType.BITS) - .data(BitsData.builder() - .checksum(Checksum.builder() - .type(ChecksumType.SHA256) - .value(null) - .build()) - .error(null) - .build()) - .state(PackageState.PROCESSING_UPLOAD) - .createdAt("2015-11-13T17:02:56Z") - .updatedAt("2016-06-08T16:41:26Z") - .link("self", Link.builder() - .href("https://api.example.org/v3/packages/44f7c078-0934-470f-9883-4fcddc5b8f13") - .build()) - .link("upload", Link.builder() - .href("https://api.example.org/v3/packages/44f7c078-0934-470f-9883-4fcddc5b8f13/upload") - .method("POST") - .build()) - .link("download", Link.builder() - .href("https://api.example.org/v3/packages/44f7c078-0934-470f-9883-4fcddc5b8f13/download") - .method("GET") - .build()) - .link("app", Link.builder() - .href("https://api.example.org/v3/apps/1d3bf0ec-5806-43c4-b64e-8364dba1086a") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .upload( + UploadPackageRequest.builder() + .bits( + new ClassPathResource( + "fixtures/client/v3/packages/test-package.zip") + .getFile() + .toPath()) + .packageId("test-package-id") + .build()) + .as(StepVerifier::create) + .expectNext( + UploadPackageResponse.builder() + .id("44f7c078-0934-470f-9883-4fcddc5b8f13") + .type(PackageType.BITS) + .data( + BitsData.builder() + .checksum( + Checksum.builder() + .type(ChecksumType.SHA256) + .value(null) + .build()) + .error(null) + .build()) + .state(PackageState.PROCESSING_UPLOAD) + .createdAt("2015-11-13T17:02:56Z") + .updatedAt("2016-06-08T16:41:26Z") + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/packages/44f7c078-0934-470f-9883-4fcddc5b8f13") + .build()) + .link( + "upload", + Link.builder() + .href( + "https://api.example.org/v3/packages/44f7c078-0934-470f-9883-4fcddc5b8f13/upload") + .method("POST") + .build()) + .link( + "download", + Link.builder() + .href( + "https://api.example.org/v3/packages/44f7c078-0934-470f-9883-4fcddc5b8f13/download") + .method("GET") + .build()) + .link( + "app", + Link.builder() + .href( + "https://api.example.org/v3/apps/1d3bf0ec-5806-43c4-b64e-8364dba1086a") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } - } diff --git a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v3/processes/ReactorProcessesTest.java b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v3/processes/ReactorProcessesTest.java index a918c94477..cd3795562a 100644 --- a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v3/processes/ReactorProcessesTest.java +++ b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v3/processes/ReactorProcessesTest.java @@ -16,6 +16,15 @@ package org.cloudfoundry.reactor.client.v3.processes; +import static io.netty.handler.codec.http.HttpMethod.DELETE; +import static io.netty.handler.codec.http.HttpMethod.GET; +import static io.netty.handler.codec.http.HttpMethod.PATCH; +import static io.netty.handler.codec.http.HttpMethod.POST; +import static io.netty.handler.codec.http.HttpResponseStatus.NO_CONTENT; +import static io.netty.handler.codec.http.HttpResponseStatus.OK; + +import java.time.Duration; +import java.util.Collections; import org.cloudfoundry.client.v3.Link; import org.cloudfoundry.client.v3.Metadata; import org.cloudfoundry.client.v3.Pagination; @@ -46,415 +55,537 @@ import org.junit.Test; import reactor.test.StepVerifier; -import java.time.Duration; -import java.util.Collections; - -import static io.netty.handler.codec.http.HttpMethod.DELETE; -import static io.netty.handler.codec.http.HttpMethod.GET; -import static io.netty.handler.codec.http.HttpMethod.PATCH; -import static io.netty.handler.codec.http.HttpMethod.POST; -import static io.netty.handler.codec.http.HttpResponseStatus.NO_CONTENT; -import static io.netty.handler.codec.http.HttpResponseStatus.OK; - public final class ReactorProcessesTest extends AbstractClientApiTest { - private final ReactorProcesses processes = new ReactorProcesses(CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); + private final ReactorProcesses processes = + new ReactorProcesses( + CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); @Test public void deleteInstance() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(DELETE).path("/processes/test-process-id/instances/test-index") - .build()) - .response(TestResponse.builder() - .status(NO_CONTENT) - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(DELETE) + .path("/processes/test-process-id/instances/test-index") + .build()) + .response(TestResponse.builder().status(NO_CONTENT).build()) + .build()); this.processes - .terminateInstance(TerminateProcessInstanceRequest.builder() - .processId("test-process-id") - .index("test-index") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .terminateInstance( + TerminateProcessInstanceRequest.builder() + .processId("test-process-id") + .index("test-index") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void get() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/processes/test-process-id") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v3/processes/GET_{id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/processes/test-process-id") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v3/processes/GET_{id}_response.json") + .build()) + .build()); this.processes - .get(GetProcessRequest.builder() - .processId("test-process-id") - .build()) - .as(StepVerifier::create) - .expectNext(GetProcessResponse.builder() - .id("6a901b7c-9417-4dc1-8189-d3234aa0ab82") - .type("web") - .command("rackup") - .instances(5) - .memoryInMb(256) - .diskInMb(1_024) - .healthCheck(HealthCheck.builder() - .type(HealthCheckType.PORT) - .data(Data.builder() - .timeout(null) - .endpoint(null) - .build()) - .build()) - .metadata(Metadata.builder() - .annotations(Collections.emptyMap()) - .labels(Collections.emptyMap()) - .build()) - .relationships(ProcessRelationships.builder() - .build()) - .createdAt("2016-03-23T18:48:22Z") - .updatedAt("2016-03-23T18:48:42Z") - .link("self", Link.builder() - .href("https://api.example.org/v3/processes/6a901b7c-9417-4dc1-8189-d3234aa0ab82") - .build()) - .link("scale", Link.builder() - .href("https://api.example.org/v3/processes/6a901b7c-9417-4dc1-8189-d3234aa0ab82/actions/scale") - .method("POST") - .build()) - .link("app", Link.builder() - .href("https://api.example.org/v3/apps/ccc25a0f-c8f4-4b39-9f1b-de9f328d0ee5") - .build()) - .link("space", Link.builder() - .href("https://api.example.org/v3/spaces/2f35885d-0c9d-4423-83ad-fd05066f8576") - .build()) - .link("stats", Link.builder() - .href("https://api.example.org/v3/processes/6a901b7c-9417-4dc1-8189-d3234aa0ab82/stats") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .get(GetProcessRequest.builder().processId("test-process-id").build()) + .as(StepVerifier::create) + .expectNext( + GetProcessResponse.builder() + .id("6a901b7c-9417-4dc1-8189-d3234aa0ab82") + .type("web") + .command("rackup") + .instances(5) + .memoryInMb(256) + .diskInMb(1_024) + .healthCheck( + HealthCheck.builder() + .type(HealthCheckType.PORT) + .data( + Data.builder() + .timeout(null) + .endpoint(null) + .build()) + .build()) + .metadata( + Metadata.builder() + .annotations(Collections.emptyMap()) + .labels(Collections.emptyMap()) + .build()) + .relationships(ProcessRelationships.builder().build()) + .createdAt("2016-03-23T18:48:22Z") + .updatedAt("2016-03-23T18:48:42Z") + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/processes/6a901b7c-9417-4dc1-8189-d3234aa0ab82") + .build()) + .link( + "scale", + Link.builder() + .href( + "https://api.example.org/v3/processes/6a901b7c-9417-4dc1-8189-d3234aa0ab82/actions/scale") + .method("POST") + .build()) + .link( + "app", + Link.builder() + .href( + "https://api.example.org/v3/apps/ccc25a0f-c8f4-4b39-9f1b-de9f328d0ee5") + .build()) + .link( + "space", + Link.builder() + .href( + "https://api.example.org/v3/spaces/2f35885d-0c9d-4423-83ad-fd05066f8576") + .build()) + .link( + "stats", + Link.builder() + .href( + "https://api.example.org/v3/processes/6a901b7c-9417-4dc1-8189-d3234aa0ab82/stats") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void getProcessStatistics() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/processes/test-id/stats") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v3/processes/GET_{id}_stats_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/processes/test-id/stats") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v3/processes/GET_{id}_stats_response.json") + .build()) + .build()); this.processes - .getStatistics(GetProcessStatisticsRequest.builder() - .processId("test-id") - .build()) - .as(StepVerifier::create) - .expectNext(GetProcessStatisticsResponse.builder() - .resource(ProcessStatisticsResource.builder() - .type("web") - .index(0) - .state(ProcessState.RUNNING) - .usage(ProcessUsage.builder() - .time("2016-03-23T23:17:30.476314154Z") - .cpu(0.00038711029163348665) - .memory(19177472L) - .disk(69705728L) - .build()) - .host("10.244.16.10") - .instancePort(PortMapping.builder() - .external(64546) - .externalTlsProxyPort(1234) - .internal(8080) - .internalTlsProxyPort(5678) - .build()) - .uptime(9042L) - .memoryQuota(268435456L) - .diskQuota(1073741824L) - .fileDescriptorQuota(16384L) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .getStatistics(GetProcessStatisticsRequest.builder().processId("test-id").build()) + .as(StepVerifier::create) + .expectNext( + GetProcessStatisticsResponse.builder() + .resource( + ProcessStatisticsResource.builder() + .type("web") + .index(0) + .state(ProcessState.RUNNING) + .usage( + ProcessUsage.builder() + .time( + "2016-03-23T23:17:30.476314154Z") + .cpu(0.00038711029163348665) + .memory(19177472L) + .disk(69705728L) + .build()) + .host("10.244.16.10") + .instancePort( + PortMapping.builder() + .external(64546) + .externalTlsProxyPort(1234) + .internal(8080) + .internalTlsProxyPort(5678) + .build()) + .uptime(9042L) + .memoryQuota(268435456L) + .diskQuota(1073741824L) + .fileDescriptorQuota(16384L) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } - + @Test public void getProcessStatisticsWithNullFields() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/processes/test-id/stats") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v3/processes/GET_{id}_stats_with_null_fields_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/processes/test-id/stats") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v3/processes/GET_{id}_stats_with_null_fields_response.json") + .build()) + .build()); this.processes - .getStatistics(GetProcessStatisticsRequest.builder() - .processId("test-id") - .build()) - .as(StepVerifier::create) - .expectNext(GetProcessStatisticsResponse.builder() - .resource(ProcessStatisticsResource.builder() - .type("web") - .index(0) - .state(ProcessState.STARTING) - .usage(ProcessUsage.builder().build()) - .host("") - .uptime(4L) - .fileDescriptorQuota(16384L) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .getStatistics(GetProcessStatisticsRequest.builder().processId("test-id").build()) + .as(StepVerifier::create) + .expectNext( + GetProcessStatisticsResponse.builder() + .resource( + ProcessStatisticsResource.builder() + .type("web") + .index(0) + .state(ProcessState.STARTING) + .usage(ProcessUsage.builder().build()) + .host("") + .uptime(4L) + .fileDescriptorQuota(16384L) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void list() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/processes") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v3/processes/GET_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request(TestRequest.builder().method(GET).path("/processes").build()) + .response( + TestResponse.builder() + .status(OK) + .payload("fixtures/client/v3/processes/GET_response.json") + .build()) + .build()); this.processes - .list(ListProcessesRequest.builder() - .build()) - .as(StepVerifier::create) - .expectNext(ListProcessesResponse.builder() - .pagination(Pagination.builder() - .totalResults(3) - .totalPages(2) - .first(Link.builder() - .href("https://api.example.org/v3/processes?page=1&per_page=2") - .build()) - .last(Link.builder() - .href("https://api.example.org/v3/processes?page=2&per_page=2") - .build()) - .next(Link.builder() - .href("https://api.example.org/v3/processes?page=2&per_page=2") - .build()) - .build()) - .resource(ProcessResource.builder() - .id("6a901b7c-9417-4dc1-8189-d3234aa0ab82") - .type("web") - .command("[PRIVATE DATA HIDDEN IN LISTS]") - .instances(5) - .memoryInMb(256) - .diskInMb(1_024) - .healthCheck(HealthCheck.builder() - .type(HealthCheckType.PORT) - .data(Data.builder() - .timeout(null) - .endpoint(null) - .build()) - .build()) - .metadata(Metadata.builder() - .annotations(Collections.emptyMap()) - .labels(Collections.emptyMap()) - .build()) - .relationships(ProcessRelationships.builder() - .build()) - .createdAt("2016-03-23T18:48:22Z") - .updatedAt("2016-03-23T18:48:42Z") - .link("self", Link.builder() - .href("https://api.example.org/v3/processes/6a901b7c-9417-4dc1-8189-d3234aa0ab82") - .build()) - .link("scale", Link.builder() - .href("https://api.example.org/v3/processes/6a901b7c-9417-4dc1-8189-d3234aa0ab82/actions/scale") - .method("POST") - .build()) - .link("app", Link.builder() - .href("https://api.example.org/v3/apps/ccc25a0f-c8f4-4b39-9f1b-de9f328d0ee5") - .build()) - .link("space", Link.builder() - .href("https://api.example.org/v3/spaces/2f35885d-0c9d-4423-83ad-fd05066f8576") - .build()) - .link("stats", Link.builder() - .href("https://api.example.org/v3/processes/6a901b7c-9417-4dc1-8189-d3234aa0ab82/stats") - .build()) - .build()) - .resource(ProcessResource.builder() - .id("3fccacd9-4b02-4b96-8d02-8e865865e9eb") - .type("worker") - .command("[PRIVATE DATA HIDDEN IN LISTS]") - .instances(1) - .memoryInMb(256) - .diskInMb(1_024) - .healthCheck(HealthCheck.builder() - .type(HealthCheckType.PROCESS) - .data(Data.builder() - .timeout(null) - .endpoint(null) - .build()) - .build()) - .metadata(Metadata.builder() - .annotations(Collections.emptyMap()) - .labels(Collections.emptyMap()) - .build()) - .relationships(ProcessRelationships.builder() - .build()) - .createdAt("2016-03-23T18:48:22Z") - .updatedAt("2016-03-23T18:48:42Z") - .link("self", Link.builder() - .href("https://api.example.org/v3/processes/3fccacd9-4b02-4b96-8d02-8e865865e9eb") - .build()) - .link("scale", Link.builder() - .href("https://api.example.org/v3/processes/3fccacd9-4b02-4b96-8d02-8e865865e9eb/actions/scale") - .method("POST") - .build()) - .link("app", Link.builder() - .href("https://api.example.org/v3/apps/ccc25a0f-c8f4-4b39-9f1b-de9f328d0ee5") - .build()) - .link("space", Link.builder() - .href("https://api.example.org/v3/spaces/2f35885d-0c9d-4423-83ad-fd05066f8576") - .build()) - .link("stats", Link.builder() - .href("https://api.example.org/v3/processes/3fccacd9-4b02-4b96-8d02-8e865865e9eb/stats") - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .list(ListProcessesRequest.builder().build()) + .as(StepVerifier::create) + .expectNext( + ListProcessesResponse.builder() + .pagination( + Pagination.builder() + .totalResults(3) + .totalPages(2) + .first( + Link.builder() + .href( + "https://api.example.org/v3/processes?page=1&per_page=2") + .build()) + .last( + Link.builder() + .href( + "https://api.example.org/v3/processes?page=2&per_page=2") + .build()) + .next( + Link.builder() + .href( + "https://api.example.org/v3/processes?page=2&per_page=2") + .build()) + .build()) + .resource( + ProcessResource.builder() + .id("6a901b7c-9417-4dc1-8189-d3234aa0ab82") + .type("web") + .command("[PRIVATE DATA HIDDEN IN LISTS]") + .instances(5) + .memoryInMb(256) + .diskInMb(1_024) + .healthCheck( + HealthCheck.builder() + .type(HealthCheckType.PORT) + .data( + Data.builder() + .timeout(null) + .endpoint(null) + .build()) + .build()) + .metadata( + Metadata.builder() + .annotations(Collections.emptyMap()) + .labels(Collections.emptyMap()) + .build()) + .relationships( + ProcessRelationships.builder().build()) + .createdAt("2016-03-23T18:48:22Z") + .updatedAt("2016-03-23T18:48:42Z") + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/processes/6a901b7c-9417-4dc1-8189-d3234aa0ab82") + .build()) + .link( + "scale", + Link.builder() + .href( + "https://api.example.org/v3/processes/6a901b7c-9417-4dc1-8189-d3234aa0ab82/actions/scale") + .method("POST") + .build()) + .link( + "app", + Link.builder() + .href( + "https://api.example.org/v3/apps/ccc25a0f-c8f4-4b39-9f1b-de9f328d0ee5") + .build()) + .link( + "space", + Link.builder() + .href( + "https://api.example.org/v3/spaces/2f35885d-0c9d-4423-83ad-fd05066f8576") + .build()) + .link( + "stats", + Link.builder() + .href( + "https://api.example.org/v3/processes/6a901b7c-9417-4dc1-8189-d3234aa0ab82/stats") + .build()) + .build()) + .resource( + ProcessResource.builder() + .id("3fccacd9-4b02-4b96-8d02-8e865865e9eb") + .type("worker") + .command("[PRIVATE DATA HIDDEN IN LISTS]") + .instances(1) + .memoryInMb(256) + .diskInMb(1_024) + .healthCheck( + HealthCheck.builder() + .type(HealthCheckType.PROCESS) + .data( + Data.builder() + .timeout(null) + .endpoint(null) + .build()) + .build()) + .metadata( + Metadata.builder() + .annotations(Collections.emptyMap()) + .labels(Collections.emptyMap()) + .build()) + .relationships( + ProcessRelationships.builder().build()) + .createdAt("2016-03-23T18:48:22Z") + .updatedAt("2016-03-23T18:48:42Z") + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/processes/3fccacd9-4b02-4b96-8d02-8e865865e9eb") + .build()) + .link( + "scale", + Link.builder() + .href( + "https://api.example.org/v3/processes/3fccacd9-4b02-4b96-8d02-8e865865e9eb/actions/scale") + .method("POST") + .build()) + .link( + "app", + Link.builder() + .href( + "https://api.example.org/v3/apps/ccc25a0f-c8f4-4b39-9f1b-de9f328d0ee5") + .build()) + .link( + "space", + Link.builder() + .href( + "https://api.example.org/v3/spaces/2f35885d-0c9d-4423-83ad-fd05066f8576") + .build()) + .link( + "stats", + Link.builder() + .href( + "https://api.example.org/v3/processes/3fccacd9-4b02-4b96-8d02-8e865865e9eb/stats") + .build()) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void scale() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(POST).path("/processes/test-process-id/actions/scale") - .payload("fixtures/client/v3/processes/POST_{id}_actions_scale_request.json") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v3/processes/POST_{id}_actions_scale_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(POST) + .path("/processes/test-process-id/actions/scale") + .payload( + "fixtures/client/v3/processes/POST_{id}_actions_scale_request.json") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v3/processes/POST_{id}_actions_scale_response.json") + .build()) + .build()); this.processes - .scale(ScaleProcessRequest.builder() - .processId("test-process-id") - .instances(5) - .memoryInMb(256) - .diskInMb(1_024) - .build()) - .as(StepVerifier::create) - .expectNext(ScaleProcessResponse.builder() - .id("6a901b7c-9417-4dc1-8189-d3234aa0ab82") - .type("web") - .command("rackup") - .instances(5) - .memoryInMb(256) - .diskInMb(1_024) - .healthCheck(HealthCheck.builder() - .type(HealthCheckType.PORT) - .data(Data.builder() - .timeout(null) - .endpoint(null) - .build()) - .build()) - .metadata(Metadata.builder() - .annotations(Collections.emptyMap()) - .labels(Collections.emptyMap()) - .build()) - .relationships(ProcessRelationships.builder() - .build()) - .createdAt("2016-03-23T18:48:22Z") - .updatedAt("2016-03-23T18:48:42Z") - .link("self", Link.builder() - .href("https://api.example.org/v3/processes/6a901b7c-9417-4dc1-8189-d3234aa0ab82") - .build()) - .link("scale", Link.builder() - .href("https://api.example.org/v3/processes/6a901b7c-9417-4dc1-8189-d3234aa0ab82/actions/scale") - .method("POST") - .build()) - .link("app", Link.builder() - .href("https://api.example.org/v3/apps/ccc25a0f-c8f4-4b39-9f1b-de9f328d0ee5") - .build()) - .link("space", Link.builder() - .href("https://api.example.org/v3/spaces/2f35885d-0c9d-4423-83ad-fd05066f8576") - .build()) - .link("stats", Link.builder() - .href("https://api.example.org/v3/processes/6a901b7c-9417-4dc1-8189-d3234aa0ab82/stats") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .scale( + ScaleProcessRequest.builder() + .processId("test-process-id") + .instances(5) + .memoryInMb(256) + .diskInMb(1_024) + .build()) + .as(StepVerifier::create) + .expectNext( + ScaleProcessResponse.builder() + .id("6a901b7c-9417-4dc1-8189-d3234aa0ab82") + .type("web") + .command("rackup") + .instances(5) + .memoryInMb(256) + .diskInMb(1_024) + .healthCheck( + HealthCheck.builder() + .type(HealthCheckType.PORT) + .data( + Data.builder() + .timeout(null) + .endpoint(null) + .build()) + .build()) + .metadata( + Metadata.builder() + .annotations(Collections.emptyMap()) + .labels(Collections.emptyMap()) + .build()) + .relationships(ProcessRelationships.builder().build()) + .createdAt("2016-03-23T18:48:22Z") + .updatedAt("2016-03-23T18:48:42Z") + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/processes/6a901b7c-9417-4dc1-8189-d3234aa0ab82") + .build()) + .link( + "scale", + Link.builder() + .href( + "https://api.example.org/v3/processes/6a901b7c-9417-4dc1-8189-d3234aa0ab82/actions/scale") + .method("POST") + .build()) + .link( + "app", + Link.builder() + .href( + "https://api.example.org/v3/apps/ccc25a0f-c8f4-4b39-9f1b-de9f328d0ee5") + .build()) + .link( + "space", + Link.builder() + .href( + "https://api.example.org/v3/spaces/2f35885d-0c9d-4423-83ad-fd05066f8576") + .build()) + .link( + "stats", + Link.builder() + .href( + "https://api.example.org/v3/processes/6a901b7c-9417-4dc1-8189-d3234aa0ab82/stats") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void update() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(PATCH).path("/processes/test-process-id") - .payload("fixtures/client/v3/processes/PATCH_{id}_request.json") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v3/processes/PATCH_{id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(PATCH) + .path("/processes/test-process-id") + .payload( + "fixtures/client/v3/processes/PATCH_{id}_request.json") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v3/processes/PATCH_{id}_response.json") + .build()) + .build()); this.processes - .update(UpdateProcessRequest.builder() - .processId("test-process-id") - .command("rackup") - .build()) - .as(StepVerifier::create) - .expectNext(UpdateProcessResponse.builder() - .id("6a901b7c-9417-4dc1-8189-d3234aa0ab82") - .type("web") - .command("rackup") - .instances(5) - .memoryInMb(256) - .diskInMb(1_024) - .healthCheck(HealthCheck.builder() - .type(HealthCheckType.PORT) - .data(Data.builder() - .timeout(null) - .endpoint(null) - .build()) - .build()) - .metadata(Metadata.builder() - .annotations(Collections.emptyMap()) - .labels(Collections.emptyMap()) - .build()) - .relationships(ProcessRelationships.builder() - .build()) - .createdAt("2016-03-23T18:48:22Z") - .updatedAt("2016-03-23T18:48:42Z") - .link("self", Link.builder() - .href("https://api.example.org/v3/processes/6a901b7c-9417-4dc1-8189-d3234aa0ab82") - .build()) - .link("scale", Link.builder() - .href("https://api.example.org/v3/processes/6a901b7c-9417-4dc1-8189-d3234aa0ab82/actions/scale") - .method("POST") - .build()) - .link("app", Link.builder() - .href("https://api.example.org/v3/apps/ccc25a0f-c8f4-4b39-9f1b-de9f328d0ee5") - .build()) - .link("space", Link.builder() - .href("https://api.example.org/v3/spaces/2f35885d-0c9d-4423-83ad-fd05066f8576") - .build()) - .link("stats", Link.builder() - .href("https://api.example.org/v3/processes/6a901b7c-9417-4dc1-8189-d3234aa0ab82/stats") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .update( + UpdateProcessRequest.builder() + .processId("test-process-id") + .command("rackup") + .build()) + .as(StepVerifier::create) + .expectNext( + UpdateProcessResponse.builder() + .id("6a901b7c-9417-4dc1-8189-d3234aa0ab82") + .type("web") + .command("rackup") + .instances(5) + .memoryInMb(256) + .diskInMb(1_024) + .healthCheck( + HealthCheck.builder() + .type(HealthCheckType.PORT) + .data( + Data.builder() + .timeout(null) + .endpoint(null) + .build()) + .build()) + .metadata( + Metadata.builder() + .annotations(Collections.emptyMap()) + .labels(Collections.emptyMap()) + .build()) + .relationships(ProcessRelationships.builder().build()) + .createdAt("2016-03-23T18:48:22Z") + .updatedAt("2016-03-23T18:48:42Z") + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/processes/6a901b7c-9417-4dc1-8189-d3234aa0ab82") + .build()) + .link( + "scale", + Link.builder() + .href( + "https://api.example.org/v3/processes/6a901b7c-9417-4dc1-8189-d3234aa0ab82/actions/scale") + .method("POST") + .build()) + .link( + "app", + Link.builder() + .href( + "https://api.example.org/v3/apps/ccc25a0f-c8f4-4b39-9f1b-de9f328d0ee5") + .build()) + .link( + "space", + Link.builder() + .href( + "https://api.example.org/v3/spaces/2f35885d-0c9d-4423-83ad-fd05066f8576") + .build()) + .link( + "stats", + Link.builder() + .href( + "https://api.example.org/v3/processes/6a901b7c-9417-4dc1-8189-d3234aa0ab82/stats") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } - } diff --git a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v3/roles/ReactorRolesV3Test.java b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v3/roles/ReactorRolesV3Test.java index 4c1ae91c34..4168d2a28d 100644 --- a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v3/roles/ReactorRolesV3Test.java +++ b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v3/roles/ReactorRolesV3Test.java @@ -16,6 +16,15 @@ package org.cloudfoundry.reactor.client.v3.roles; +import static io.netty.handler.codec.http.HttpMethod.DELETE; +import static io.netty.handler.codec.http.HttpMethod.GET; +import static io.netty.handler.codec.http.HttpMethod.POST; +import static io.netty.handler.codec.http.HttpResponseStatus.ACCEPTED; +import static io.netty.handler.codec.http.HttpResponseStatus.CREATED; +import static io.netty.handler.codec.http.HttpResponseStatus.OK; + +import java.time.Duration; +import java.util.Collections; import org.cloudfoundry.client.v3.Link; import org.cloudfoundry.client.v3.Pagination; import org.cloudfoundry.client.v3.Relationship; @@ -37,243 +46,334 @@ import org.junit.Test; import reactor.test.StepVerifier; -import java.time.Duration; -import java.util.Collections; - -import static io.netty.handler.codec.http.HttpMethod.DELETE; -import static io.netty.handler.codec.http.HttpMethod.GET; -import static io.netty.handler.codec.http.HttpMethod.POST; -import static io.netty.handler.codec.http.HttpResponseStatus.ACCEPTED; -import static io.netty.handler.codec.http.HttpResponseStatus.CREATED; -import static io.netty.handler.codec.http.HttpResponseStatus.OK; - public class ReactorRolesV3Test extends AbstractClientApiTest { - private final ReactorRolesV3 roles = new ReactorRolesV3(CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); + private final ReactorRolesV3 roles = + new ReactorRolesV3( + CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); @Test public void create() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(POST).path("/roles") - .payload("fixtures/client/v3/roles/POST_request.json") - .build()) - .response(TestResponse.builder() - .status(CREATED) - .payload("fixtures/client/v3/roles/POST_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(POST) + .path("/roles") + .payload("fixtures/client/v3/roles/POST_request.json") + .build()) + .response( + TestResponse.builder() + .status(CREATED) + .payload("fixtures/client/v3/roles/POST_response.json") + .build()) + .build()); - this.roles.create(CreateRoleRequest.builder() - .type(RoleType.ORGANIZATION_AUDITOR) - .relationships(RoleRelationships.builder() - .user(ToOneRelationship.builder() - .data(Relationship.builder() - .id("test-user-id") - .build()) - .build()) - .organization(ToOneRelationship.builder() - .data(Relationship.builder() - .id("test-organization-id") - .build()) - .build()) - .build()) - .build()) - .as(StepVerifier::create) - .expectNext(CreateRoleResponse.builder() - .id("40557c70-d1bd-4976-a2ab-a85f5e882418") - .createdAt("2019-10-10T17:19:12Z") - .updatedAt("2019-10-10T17:19:12Z") - .type(RoleType.ORGANIZATION_AUDITOR) - .relationships(RoleRelationships.builder() - .organization(ToOneRelationship.builder() - .data(Relationship.builder() - .id("test-organization-id") - .build()) - .build()) - .user(ToOneRelationship.builder() - .data(Relationship.builder() - .id("test-user-id") - .build()) - .build()) - .space(ToOneRelationship.builder() - .build()) - .build()) - .link("self", Link.builder() - .href("https://api.example.org/v3/roles/40557c70-d1bd-4976-a2ab-a85f5e882418") - .build()) - .link("user", Link.builder() - .href("https://api.example.org/v3/users/test-user-id") - .build()) - .link("organization", Link.builder() - .href("https://api.example.org/v3/organizations/test-organization-id") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + this.roles + .create( + CreateRoleRequest.builder() + .type(RoleType.ORGANIZATION_AUDITOR) + .relationships( + RoleRelationships.builder() + .user( + ToOneRelationship.builder() + .data( + Relationship.builder() + .id("test-user-id") + .build()) + .build()) + .organization( + ToOneRelationship.builder() + .data( + Relationship.builder() + .id( + "test-organization-id") + .build()) + .build()) + .build()) + .build()) + .as(StepVerifier::create) + .expectNext( + CreateRoleResponse.builder() + .id("40557c70-d1bd-4976-a2ab-a85f5e882418") + .createdAt("2019-10-10T17:19:12Z") + .updatedAt("2019-10-10T17:19:12Z") + .type(RoleType.ORGANIZATION_AUDITOR) + .relationships( + RoleRelationships.builder() + .organization( + ToOneRelationship.builder() + .data( + Relationship.builder() + .id( + "test-organization-id") + .build()) + .build()) + .user( + ToOneRelationship.builder() + .data( + Relationship.builder() + .id("test-user-id") + .build()) + .build()) + .space(ToOneRelationship.builder().build()) + .build()) + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/roles/40557c70-d1bd-4976-a2ab-a85f5e882418") + .build()) + .link( + "user", + Link.builder() + .href( + "https://api.example.org/v3/users/test-user-id") + .build()) + .link( + "organization", + Link.builder() + .href( + "https://api.example.org/v3/organizations/test-organization-id") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void delete() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(DELETE).path("/roles/test-role-id") - .build()) - .response(TestResponse.builder() - .status(ACCEPTED) - .header("Location", "https://api.example.org/v3/jobs/test-role-id") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(DELETE) + .path("/roles/test-role-id") + .build()) + .response( + TestResponse.builder() + .status(ACCEPTED) + .header( + "Location", + "https://api.example.org/v3/jobs/test-role-id") + .build()) + .build()); this.roles - .delete(DeleteRoleRequest.builder() - .roleId("test-role-id") - .build()) - .as(StepVerifier::create) - .expectNext("test-role-id") - .expectComplete() - .verify(Duration.ofSeconds(5)); + .delete(DeleteRoleRequest.builder().roleId("test-role-id").build()) + .as(StepVerifier::create) + .expectNext("test-role-id") + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void get() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/roles/40557c70-d1bd-4976-a2ab-a85f5e882418") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v3/roles/GET_{id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/roles/40557c70-d1bd-4976-a2ab-a85f5e882418") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload("fixtures/client/v3/roles/GET_{id}_response.json") + .build()) + .build()); this.roles - .get(GetRoleRequest.builder() - .roleId("40557c70-d1bd-4976-a2ab-a85f5e882418") - .build()) - .as(StepVerifier::create) - .expectNext(GetRoleResponse.builder() - .id("40557c70-d1bd-4976-a2ab-a85f5e882418") - .type(RoleType.ORGANIZATION_AUDITOR) - .createdAt("2019-10-10T17:19:12Z") - .updatedAt("2019-10-10T17:19:12Z") - .relationships(RoleRelationships.builder() - .organization(ToOneRelationship.builder() - .data(Relationship.builder() - .id("test-organization-id") - .build()) - .build()) - .user(ToOneRelationship.builder() - .data(Relationship.builder() - .id("test-user-id") - .build()) - .build()) - .space(ToOneRelationship.builder() - .build()) - .build()) - .link("self", Link.builder() - .href("https://api.example.org/v3/roles/40557c70-d1bd-4976-a2ab-a85f5e882418") - .build()) - .link("user", Link.builder() - .href("https://api.example.org/v3/users/test-user-id") - .build()) - .link("organization", Link.builder() - .href("https://api.example.org/v3/organizations/test-organization-id") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .get( + GetRoleRequest.builder() + .roleId("40557c70-d1bd-4976-a2ab-a85f5e882418") + .build()) + .as(StepVerifier::create) + .expectNext( + GetRoleResponse.builder() + .id("40557c70-d1bd-4976-a2ab-a85f5e882418") + .type(RoleType.ORGANIZATION_AUDITOR) + .createdAt("2019-10-10T17:19:12Z") + .updatedAt("2019-10-10T17:19:12Z") + .relationships( + RoleRelationships.builder() + .organization( + ToOneRelationship.builder() + .data( + Relationship.builder() + .id( + "test-organization-id") + .build()) + .build()) + .user( + ToOneRelationship.builder() + .data( + Relationship.builder() + .id("test-user-id") + .build()) + .build()) + .space(ToOneRelationship.builder().build()) + .build()) + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/roles/40557c70-d1bd-4976-a2ab-a85f5e882418") + .build()) + .link( + "user", + Link.builder() + .href( + "https://api.example.org/v3/users/test-user-id") + .build()) + .link( + "organization", + Link.builder() + .href( + "https://api.example.org/v3/organizations/test-organization-id") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void list() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/roles") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v3/roles/GET_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request(TestRequest.builder().method(GET).path("/roles").build()) + .response( + TestResponse.builder() + .status(OK) + .payload("fixtures/client/v3/roles/GET_response.json") + .build()) + .build()); - this.roles.list(ListRolesRequest.builder().build()) - .as(StepVerifier::create) - .expectNext(ListRolesResponse.builder() - .pagination(Pagination.builder() - .totalResults(3) - .totalPages(2) - .first(Link.builder() - .href("https://api.example.org/v3/roles?page=1&per_page=2") - .build()) - .last(Link.builder() - .href("https://api.example.org/v3/roles?page=2&per_page=2") - .build()) - .next(Link.builder() - .href("https://api.example.org/v3/roles?page=2&per_page=2") - .build()) - .build()) - .resource(RoleResource.builder() - .id("40557c70-d1bd-4976-a2ab-a85f5e882418") - .createdAt("2019-10-10T17:19:12Z") - .updatedAt("2019-10-10T17:19:12Z") - .type(RoleType.ORGANIZATION_AUDITOR) - .relationships(RoleRelationships.builder() - .organization(ToOneRelationship.builder() - .data(Relationship.builder() - .id("test-organization-id") - .build()) - .build()) - .user(ToOneRelationship.builder() - .data(Relationship.builder() - .id("test-user-id") - .build()) - .build()) - .space(ToOneRelationship.builder() - .build()) - .build()) - .link("self", Link.builder() - .href("https://api.example.org/v3/roles/40557c70-d1bd-4976-a2ab-a85f5e882418") - .build()) - .link("user", Link.builder() - .href("https://api.example.org/v3/users/test-user-id") - .build()) - .link("organization", Link.builder() - .href("https://api.example.org/v3/organizations/test-organization-id") - .build()) - .build()) - .resource(RoleResource.builder() - .id("12347c70-d1bd-4976-a2ab-a85f5e882418") - .createdAt("2047-11-10T17:19:12Z") - .updatedAt("2047-11-10T17:19:12Z") - .type(RoleType.SPACE_AUDITOR) - .relationships(RoleRelationships.builder() - .space(ToOneRelationship.builder() - .data(Relationship.builder() - .id("test-space-id") - .build()) - .build()) - .user(ToOneRelationship.builder() - .data(Relationship.builder() - .id("test-user-id") + this.roles + .list(ListRolesRequest.builder().build()) + .as(StepVerifier::create) + .expectNext( + ListRolesResponse.builder() + .pagination( + Pagination.builder() + .totalResults(3) + .totalPages(2) + .first( + Link.builder() + .href( + "https://api.example.org/v3/roles?page=1&per_page=2") + .build()) + .last( + Link.builder() + .href( + "https://api.example.org/v3/roles?page=2&per_page=2") + .build()) + .next( + Link.builder() + .href( + "https://api.example.org/v3/roles?page=2&per_page=2") + .build()) + .build()) + .resource( + RoleResource.builder() + .id("40557c70-d1bd-4976-a2ab-a85f5e882418") + .createdAt("2019-10-10T17:19:12Z") + .updatedAt("2019-10-10T17:19:12Z") + .type(RoleType.ORGANIZATION_AUDITOR) + .relationships( + RoleRelationships.builder() + .organization( + ToOneRelationship.builder() + .data( + Relationship + .builder() + .id( + "test-organization-id") + .build()) + .build()) + .user( + ToOneRelationship.builder() + .data( + Relationship + .builder() + .id( + "test-user-id") + .build()) + .build()) + .space( + ToOneRelationship.builder() + .build()) + .build()) + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/roles/40557c70-d1bd-4976-a2ab-a85f5e882418") + .build()) + .link( + "user", + Link.builder() + .href( + "https://api.example.org/v3/users/test-user-id") + .build()) + .link( + "organization", + Link.builder() + .href( + "https://api.example.org/v3/organizations/test-organization-id") + .build()) + .build()) + .resource( + RoleResource.builder() + .id("12347c70-d1bd-4976-a2ab-a85f5e882418") + .createdAt("2047-11-10T17:19:12Z") + .updatedAt("2047-11-10T17:19:12Z") + .type(RoleType.SPACE_AUDITOR) + .relationships( + RoleRelationships.builder() + .space( + ToOneRelationship.builder() + .data( + Relationship + .builder() + .id( + "test-space-id") + .build()) + .build()) + .user( + ToOneRelationship.builder() + .data( + Relationship + .builder() + .id( + "test-user-id") + .build()) + .build()) + .organization( + ToOneRelationship.builder() + .build()) + .build()) + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/roles/12347c70-d1bd-4976-a2ab-a85f5e882418") + .build()) + .link( + "user", + Link.builder() + .href( + "https://api.example.org/v3/users/test-user-id") + .build()) + .link( + "space", + Link.builder() + .href( + "https://api.example.org/v3/spaces/test-space-id") + .build()) + .build()) .build()) - .build()) - .organization(ToOneRelationship.builder() - .build()) - .build()) - .link("self", Link.builder() - .href("https://api.example.org/v3/roles/12347c70-d1bd-4976-a2ab-a85f5e882418") - .build()) - .link("user", Link.builder() - .href("https://api.example.org/v3/users/test-user-id") - .build()) - .link("space", Link.builder() - .href("https://api.example.org/v3/spaces/test-space-id") - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .expectComplete() + .verify(Duration.ofSeconds(5)); } - } diff --git a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v3/routes/ReactorRoutesV3Test.java b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v3/routes/ReactorRoutesV3Test.java index 9b359e11ba..e35e89834b 100644 --- a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v3/routes/ReactorRoutesV3Test.java +++ b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v3/routes/ReactorRoutesV3Test.java @@ -16,6 +16,17 @@ package org.cloudfoundry.reactor.client.v3.routes; +import static io.netty.handler.codec.http.HttpMethod.DELETE; +import static io.netty.handler.codec.http.HttpMethod.GET; +import static io.netty.handler.codec.http.HttpMethod.PATCH; +import static io.netty.handler.codec.http.HttpMethod.POST; +import static io.netty.handler.codec.http.HttpResponseStatus.ACCEPTED; +import static io.netty.handler.codec.http.HttpResponseStatus.CREATED; +import static io.netty.handler.codec.http.HttpResponseStatus.NO_CONTENT; +import static io.netty.handler.codec.http.HttpResponseStatus.OK; + +import java.time.Duration; +import java.util.Collections; import org.cloudfoundry.client.v3.Link; import org.cloudfoundry.client.v3.Metadata; import org.cloudfoundry.client.v3.Pagination; @@ -49,499 +60,699 @@ import org.junit.Test; import reactor.test.StepVerifier; -import java.time.Duration; -import java.util.Collections; - -import static io.netty.handler.codec.http.HttpMethod.DELETE; -import static io.netty.handler.codec.http.HttpMethod.GET; -import static io.netty.handler.codec.http.HttpMethod.PATCH; -import static io.netty.handler.codec.http.HttpMethod.POST; -import static io.netty.handler.codec.http.HttpResponseStatus.ACCEPTED; -import static io.netty.handler.codec.http.HttpResponseStatus.CREATED; -import static io.netty.handler.codec.http.HttpResponseStatus.NO_CONTENT; -import static io.netty.handler.codec.http.HttpResponseStatus.OK; - public class ReactorRoutesV3Test extends AbstractClientApiTest { - private final ReactorRoutesV3 routes = new ReactorRoutesV3(CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); + private final ReactorRoutesV3 routes = + new ReactorRoutesV3( + CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); @Test public void create() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(POST).path("/routes") - .payload("fixtures/client/v3/routes/POST_request.json") - .build()) - .response(TestResponse.builder() - .status(CREATED) - .payload("fixtures/client/v3/routes/POST_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(POST) + .path("/routes") + .payload("fixtures/client/v3/routes/POST_request.json") + .build()) + .response( + TestResponse.builder() + .status(CREATED) + .payload("fixtures/client/v3/routes/POST_response.json") + .build()) + .build()); - this.routes.create(CreateRouteRequest.builder() - .relationships(RouteRelationships.builder() - .space(ToOneRelationship.builder() - .data(Relationship.builder() - .id("space-guid") - .build()) - .build()) - .domain(ToOneRelationship.builder() - .data(Relationship.builder() - .id("domain-guid") - .build()) - .build()) - .build()) - .path("/some_path") - .host("test-hostname") - .metadata(Metadata.builder() - .label("test-label", "test-label-value") - .annotation("note", "detailed information") - .build()) - .build()) - .as(StepVerifier::create) - .expectNext(CreateRouteResponse.builder() - .host("test-hostname") - .id("cbad697f-cac1-48f4-9017-ac08f39dfb31") - .path("/some_path") - .url("test-hostname.a-domain.com/some_path") - .createdAt("2019-11-01T17:17:48Z") - .updatedAt("2019-11-01T17:17:48Z") - .metadata(Metadata.builder() - .label("test-label", "test-label-value") - .annotation("note", "detailed information") - .build()) - .relationships(RouteRelationships.builder() - .space(ToOneRelationship.builder() - .data(Relationship.builder() - .id("space-guid") - .build()) - .build()) - .domain(ToOneRelationship.builder() - .data(Relationship.builder() - .id("domain-guid") - .build()) - .build()) - .build()) - .link("self", Link.builder() - .href("https://api.example.org/v3/routes/cbad697f-cac1-48f4-9017-ac08f39dfb31") - .build()) - .link("space", Link.builder() - .href("https://api.example.org/v3/spaces/space-guid") - .build()) - .link("domain", Link.builder() - .href("https://api.example.org/v3/domains/domain-guid") - .build()) - .link("destinations", Link.builder() - .href("https://api.example.org/v3/routes/cbad697f-cac1-48f4-9017-ac08f39dfb31/destinations") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + this.routes + .create( + CreateRouteRequest.builder() + .relationships( + RouteRelationships.builder() + .space( + ToOneRelationship.builder() + .data( + Relationship.builder() + .id("space-guid") + .build()) + .build()) + .domain( + ToOneRelationship.builder() + .data( + Relationship.builder() + .id("domain-guid") + .build()) + .build()) + .build()) + .path("/some_path") + .host("test-hostname") + .metadata( + Metadata.builder() + .label("test-label", "test-label-value") + .annotation("note", "detailed information") + .build()) + .build()) + .as(StepVerifier::create) + .expectNext( + CreateRouteResponse.builder() + .host("test-hostname") + .id("cbad697f-cac1-48f4-9017-ac08f39dfb31") + .path("/some_path") + .url("test-hostname.a-domain.com/some_path") + .createdAt("2019-11-01T17:17:48Z") + .updatedAt("2019-11-01T17:17:48Z") + .metadata( + Metadata.builder() + .label("test-label", "test-label-value") + .annotation("note", "detailed information") + .build()) + .relationships( + RouteRelationships.builder() + .space( + ToOneRelationship.builder() + .data( + Relationship.builder() + .id("space-guid") + .build()) + .build()) + .domain( + ToOneRelationship.builder() + .data( + Relationship.builder() + .id("domain-guid") + .build()) + .build()) + .build()) + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/routes/cbad697f-cac1-48f4-9017-ac08f39dfb31") + .build()) + .link( + "space", + Link.builder() + .href( + "https://api.example.org/v3/spaces/space-guid") + .build()) + .link( + "domain", + Link.builder() + .href( + "https://api.example.org/v3/domains/domain-guid") + .build()) + .link( + "destinations", + Link.builder() + .href( + "https://api.example.org/v3/routes/cbad697f-cac1-48f4-9017-ac08f39dfb31/destinations") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void delete() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(DELETE).path("/routes/test-route-id") - .build()) - .response(TestResponse.builder() - .status(ACCEPTED) - .header("Location", "https://api.example.org/v3/jobs/test-route-id") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(DELETE) + .path("/routes/test-route-id") + .build()) + .response( + TestResponse.builder() + .status(ACCEPTED) + .header( + "Location", + "https://api.example.org/v3/jobs/test-route-id") + .build()) + .build()); this.routes - .delete(DeleteRouteRequest.builder() - .routeId("test-route-id") - .build()) - .as(StepVerifier::create) - .expectNext("test-route-id") - .expectComplete() - .verify(Duration.ofSeconds(5)); + .delete(DeleteRouteRequest.builder().routeId("test-route-id").build()) + .as(StepVerifier::create) + .expectNext("test-route-id") + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void get() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/routes/cbad697f-cac1-48f4-9017-ac08f39dfb31") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v3/routes/GET_{id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/routes/cbad697f-cac1-48f4-9017-ac08f39dfb31") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload("fixtures/client/v3/routes/GET_{id}_response.json") + .build()) + .build()); this.routes - .get(GetRouteRequest.builder() - .routeId("cbad697f-cac1-48f4-9017-ac08f39dfb31") - .build()) - .as(StepVerifier::create) - .expectNext(GetRouteResponse.builder() - .id("cbad697f-cac1-48f4-9017-ac08f39dfb31") - .host("test-host") - .path("/some_path") - .url("test-host.a-domain.com/some_path") - .metadata(Metadata.builder() - .putAllAnnotations(Collections.emptyMap()) - .putAllLabels(Collections.emptyMap()) - .build()) - .createdAt("2019-11-01T17:17:48Z") - .updatedAt("2019-11-01T17:17:48Z") - .relationships(RouteRelationships.builder() - .domain(ToOneRelationship.builder() - .data(Relationship.builder() - .id("test-domain-id") - .build()) - .build()) - .space(ToOneRelationship.builder() - .data(Relationship.builder() - .id("test-space-id") - .build()) - .build()) - .build()) - .link("self", Link.builder() - .href("https://api.example.org/v3/routes/cbad697f-cac1-48f4-9017-ac08f39dfb31") - .build()) - .link("space", Link.builder() - .href("https://api.example.org/v3/spaces/test-space-id") - .build()) - .link("domain", Link.builder() - .href("https://api.example.org/v3/domains/test-domain-id") - .build()) - .link("destinations", Link.builder() - .href("https://api.example.org/v3/routes/cbad697f-cac1-48f4-9017-ac08f39dfb31/destinations") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); - + .get( + GetRouteRequest.builder() + .routeId("cbad697f-cac1-48f4-9017-ac08f39dfb31") + .build()) + .as(StepVerifier::create) + .expectNext( + GetRouteResponse.builder() + .id("cbad697f-cac1-48f4-9017-ac08f39dfb31") + .host("test-host") + .path("/some_path") + .url("test-host.a-domain.com/some_path") + .metadata( + Metadata.builder() + .putAllAnnotations(Collections.emptyMap()) + .putAllLabels(Collections.emptyMap()) + .build()) + .createdAt("2019-11-01T17:17:48Z") + .updatedAt("2019-11-01T17:17:48Z") + .relationships( + RouteRelationships.builder() + .domain( + ToOneRelationship.builder() + .data( + Relationship.builder() + .id( + "test-domain-id") + .build()) + .build()) + .space( + ToOneRelationship.builder() + .data( + Relationship.builder() + .id("test-space-id") + .build()) + .build()) + .build()) + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/routes/cbad697f-cac1-48f4-9017-ac08f39dfb31") + .build()) + .link( + "space", + Link.builder() + .href( + "https://api.example.org/v3/spaces/test-space-id") + .build()) + .link( + "domain", + Link.builder() + .href( + "https://api.example.org/v3/domains/test-domain-id") + .build()) + .link( + "destinations", + Link.builder() + .href( + "https://api.example.org/v3/routes/cbad697f-cac1-48f4-9017-ac08f39dfb31/destinations") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void insertDestinations() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(POST).path("/routes/test-route-id/destinations") - .payload("fixtures/client/v3/routes/POST_{id}_destinations_request.json") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v3/routes/POST_{id}_destinations_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(POST) + .path("/routes/test-route-id/destinations") + .payload( + "fixtures/client/v3/routes/POST_{id}_destinations_request.json") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v3/routes/POST_{id}_destinations_response.json") + .build()) + .build()); - this.routes.insertDestinations(InsertRouteDestinationsRequest.builder() - .destinations(Destination.builder() - .application(Application.builder() - .applicationId("1cb006ee-fb05-47e1-b541-c34179ddc446") - .build()) - .build(), - Destination.builder() - .application(Application.builder() - .applicationId("01856e12-8ee8-11e9-98a5-bb397dbc818f") - .process(Process.builder() - .type("api") - .build()) - .build()) - .port(9000) - .build()) - .routeId("test-route-id") - .build()) - .as(StepVerifier::create) - .expectNext(InsertRouteDestinationsResponse.builder() - .destinations(Destination.builder() - .destinationId("89323d4e-2e84-43e7-83e9-adbf50a20c0e") - .application(Application.builder() - .applicationId("1cb006ee-fb05-47e1-b541-c34179ddc446") - .process(Process.builder() - .type("web") + this.routes + .insertDestinations( + InsertRouteDestinationsRequest.builder() + .destinations( + Destination.builder() + .application( + Application.builder() + .applicationId( + "1cb006ee-fb05-47e1-b541-c34179ddc446") + .build()) + .build(), + Destination.builder() + .application( + Application.builder() + .applicationId( + "01856e12-8ee8-11e9-98a5-bb397dbc818f") + .process( + Process.builder() + .type("api") + .build()) + .build()) + .port(9000) + .build()) + .routeId("test-route-id") .build()) - .build()) - .port(8080) - .build(), - Destination.builder() - .destinationId("fbef10a2-8ee7-11e9-aa2d-abeeaf7b83c5") - .application(Application.builder() - .applicationId("01856e12-8ee8-11e9-98a5-bb397dbc818f") - .process(Process.builder() - .type("api") + .as(StepVerifier::create) + .expectNext( + InsertRouteDestinationsResponse.builder() + .destinations( + Destination.builder() + .destinationId( + "89323d4e-2e84-43e7-83e9-adbf50a20c0e") + .application( + Application.builder() + .applicationId( + "1cb006ee-fb05-47e1-b541-c34179ddc446") + .process( + Process.builder() + .type("web") + .build()) + .build()) + .port(8080) + .build(), + Destination.builder() + .destinationId( + "fbef10a2-8ee7-11e9-aa2d-abeeaf7b83c5") + .application( + Application.builder() + .applicationId( + "01856e12-8ee8-11e9-98a5-bb397dbc818f") + .process( + Process.builder() + .type("api") + .build()) + .build()) + .port(9000) + .build()) + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/routes/cbad697f-cac1-48f4-9017-ac08f39dfb31/destinations") + .build()) + .link( + "route", + Link.builder() + .href( + "https://api.example.org/v3/routes/cbad697f-cac1-48f4-9017-ac08f39dfb31") + .build()) .build()) - .build()) - .port(9000) - .build()) - .link("self", Link.builder() - .href("https://api.example.org/v3/routes/cbad697f-cac1-48f4-9017-ac08f39dfb31/destinations") - .build()) - .link("route", Link.builder() - .href("https://api.example.org/v3/routes/cbad697f-cac1-48f4-9017-ac08f39dfb31") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void list() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/routes") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v3/routes/GET_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request(TestRequest.builder().method(GET).path("/routes").build()) + .response( + TestResponse.builder() + .status(OK) + .payload("fixtures/client/v3/routes/GET_response.json") + .build()) + .build()); - this.routes.list(ListRoutesRequest.builder().build()) - .as(StepVerifier::create) - .expectNext(ListRoutesResponse.builder() - .pagination(Pagination.builder() - .totalResults(3) - .totalPages(2) - .first(Link.builder() - .href("https://api.example.org/v3/routes?page=1&per_page=2") - .build()) - .last(Link.builder() - .href("https://api.example.org/v3/routes?page=2&per_page=2") - .build()) - .next(Link.builder() - .href("https://api.example.org/v3/routes?page=2&per_page=2") - .build()) - .build()) - .resource(RouteResource.builder().host("test-hostname") - .id("cbad697f-cac1-48f4-9017-ac08f39dfb31") - .path("/some_path") - .url("test-hostname.a-domain.com/some_path") - .createdAt("2019-11-01T17:17:48Z") - .updatedAt("2019-11-01T17:17:48Z") - .metadata(Metadata.builder() - .label("test-label", "test-label-value") - .annotation("note", "detailed information") - .build()) - .relationships(RouteRelationships.builder() - .space(ToOneRelationship.builder() - .data(Relationship.builder() - .id("space-guid") - .build()) - .build()) - .domain(ToOneRelationship.builder() - .data(Relationship.builder() - .id("domain-guid") + this.routes + .list(ListRoutesRequest.builder().build()) + .as(StepVerifier::create) + .expectNext( + ListRoutesResponse.builder() + .pagination( + Pagination.builder() + .totalResults(3) + .totalPages(2) + .first( + Link.builder() + .href( + "https://api.example.org/v3/routes?page=1&per_page=2") + .build()) + .last( + Link.builder() + .href( + "https://api.example.org/v3/routes?page=2&per_page=2") + .build()) + .next( + Link.builder() + .href( + "https://api.example.org/v3/routes?page=2&per_page=2") + .build()) + .build()) + .resource( + RouteResource.builder() + .host("test-hostname") + .id("cbad697f-cac1-48f4-9017-ac08f39dfb31") + .path("/some_path") + .url("test-hostname.a-domain.com/some_path") + .createdAt("2019-11-01T17:17:48Z") + .updatedAt("2019-11-01T17:17:48Z") + .metadata( + Metadata.builder() + .label( + "test-label", + "test-label-value") + .annotation( + "note", + "detailed information") + .build()) + .relationships( + RouteRelationships.builder() + .space( + ToOneRelationship.builder() + .data( + Relationship + .builder() + .id( + "space-guid") + .build()) + .build()) + .domain( + ToOneRelationship.builder() + .data( + Relationship + .builder() + .id( + "domain-guid") + .build()) + .build()) + .build()) + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/routes/cbad697f-cac1-48f4-9017-ac08f39dfb31") + .build()) + .link( + "space", + Link.builder() + .href( + "https://api.example.org/v3/spaces/space-guid") + .build()) + .link( + "domain", + Link.builder() + .href( + "https://api.example.org/v3/domains/domain-guid") + .build()) + .link( + "destinations", + Link.builder() + .href( + "https://api.example.org/v3/routes/cbad697f-cac1-48f4-9017-ac08f39dfb31/destinations") + .build()) + .build()) .build()) - .build()) - .build()) - .link("self", Link.builder() - .href("https://api.example.org/v3/routes/cbad697f-cac1-48f4-9017-ac08f39dfb31") - .build()) - .link("space", Link.builder() - .href("https://api.example.org/v3/spaces/space-guid") - .build()) - .link("domain", Link.builder() - .href("https://api.example.org/v3/domains/domain-guid") - .build()) - .link("destinations", Link.builder() - .href("https://api.example.org/v3/routes/cbad697f-cac1-48f4-9017-ac08f39dfb31/destinations") - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void listDestinations() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/routes/test-route-id/destinations") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v3/routes/GET_{id}_destinations_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/routes/test-route-id/destinations") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v3/routes/GET_{id}_destinations_response.json") + .build()) + .build()); - this.routes.listDestinations(ListRouteDestinationsRequest.builder() - .routeId("test-route-id") - .build()) - .as(StepVerifier::create) - .expectNext(ListRouteDestinationsResponse.builder() - .destinations(Destination.builder() - .destinationId("89323d4e-2e84-43e7-83e9-adbf50a20c0e") - .application(Application.builder() - .applicationId("1cb006ee-fb05-47e1-b541-c34179ddc446") - .process(Process.builder() - .type("web") - .build()) - .build()) - .port(8080) - .build(), - Destination.builder() - .destinationId("fbef10a2-8ee7-11e9-aa2d-abeeaf7b83c5") - .application(Application.builder() - .applicationId("01856e12-8ee8-11e9-98a5-bb397dbc818f") - .process(Process.builder() - .type("api") + this.routes + .listDestinations( + ListRouteDestinationsRequest.builder().routeId("test-route-id").build()) + .as(StepVerifier::create) + .expectNext( + ListRouteDestinationsResponse.builder() + .destinations( + Destination.builder() + .destinationId( + "89323d4e-2e84-43e7-83e9-adbf50a20c0e") + .application( + Application.builder() + .applicationId( + "1cb006ee-fb05-47e1-b541-c34179ddc446") + .process( + Process.builder() + .type("web") + .build()) + .build()) + .port(8080) + .build(), + Destination.builder() + .destinationId( + "fbef10a2-8ee7-11e9-aa2d-abeeaf7b83c5") + .application( + Application.builder() + .applicationId( + "01856e12-8ee8-11e9-98a5-bb397dbc818f") + .process( + Process.builder() + .type("api") + .build()) + .build()) + .port(9000) + .build()) + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/routes/cbad697f-cac1-48f4-9017-ac08f39dfb31/destinations") + .build()) + .link( + "route", + Link.builder() + .href( + "https://api.example.org/v3/routes/cbad697f-cac1-48f4-9017-ac08f39dfb31") + .build()) .build()) - .build()) - .port(9000) - .build()) - .link("self", Link.builder() - .href("https://api.example.org/v3/routes/cbad697f-cac1-48f4-9017-ac08f39dfb31/destinations") - .build()) - .link("route", Link.builder() - .href("https://api.example.org/v3/routes/cbad697f-cac1-48f4-9017-ac08f39dfb31") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void removeDestinations() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(DELETE).path("/routes/test-route-id/destinations/test-destination-id") - .build()) - .response(TestResponse.builder() - .status(NO_CONTENT) - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(DELETE) + .path( + "/routes/test-route-id/destinations/test-destination-id") + .build()) + .response(TestResponse.builder().status(NO_CONTENT).build()) + .build()); - this.routes.removeDestinations(RemoveRouteDestinationsRequest.builder() - .destinationId("test-destination-id") - .routeId("test-route-id") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + this.routes + .removeDestinations( + RemoveRouteDestinationsRequest.builder() + .destinationId("test-destination-id") + .routeId("test-route-id") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void replaceDestinations() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(PATCH).path("/routes/test-route-id/destinations") - .payload("fixtures/client/v3/routes/PATCH_{id}_destinations_request.json") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v3/routes/PATCH_{id}_destinations_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(PATCH) + .path("/routes/test-route-id/destinations") + .payload( + "fixtures/client/v3/routes/PATCH_{id}_destinations_request.json") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v3/routes/PATCH_{id}_destinations_response.json") + .build()) + .build()); - this.routes.replaceDestinations(ReplaceRouteDestinationsRequest.builder() - .destinations(Destination.builder() - .application(Application.builder() - .applicationId("1cb006ee-fb05-47e1-b541-c34179ddc446") - .build()) - .weight(61) - .build(), - Destination.builder() - .application(Application.builder() - .applicationId("01856e12-8ee8-11e9-98a5-bb397dbc818f") - .process(Process.builder() - .type("api") - .build()) - .build()) - .port(9000) - .weight(39) - .build()) - .routeId("test-route-id") - .build()) - .as(StepVerifier::create) - .expectNext(ReplaceRouteDestinationsResponse.builder() - .destinations(Destination.builder() - .destinationId("89323d4e-2e84-43e7-83e9-adbf50a20c0e") - .application(Application.builder() - .applicationId("1cb006ee-fb05-47e1-b541-c34179ddc446") - .process(Process.builder() - .type("web") + this.routes + .replaceDestinations( + ReplaceRouteDestinationsRequest.builder() + .destinations( + Destination.builder() + .application( + Application.builder() + .applicationId( + "1cb006ee-fb05-47e1-b541-c34179ddc446") + .build()) + .weight(61) + .build(), + Destination.builder() + .application( + Application.builder() + .applicationId( + "01856e12-8ee8-11e9-98a5-bb397dbc818f") + .process( + Process.builder() + .type("api") + .build()) + .build()) + .port(9000) + .weight(39) + .build()) + .routeId("test-route-id") .build()) - .build()) - .port(8080) - .weight(61) - .build(), - Destination.builder() - .destinationId("fbef10a2-8ee7-11e9-aa2d-abeeaf7b83c5") - .application(Application.builder() - .applicationId("01856e12-8ee8-11e9-98a5-bb397dbc818f") - .process(Process.builder() - .type("api") + .as(StepVerifier::create) + .expectNext( + ReplaceRouteDestinationsResponse.builder() + .destinations( + Destination.builder() + .destinationId( + "89323d4e-2e84-43e7-83e9-adbf50a20c0e") + .application( + Application.builder() + .applicationId( + "1cb006ee-fb05-47e1-b541-c34179ddc446") + .process( + Process.builder() + .type("web") + .build()) + .build()) + .port(8080) + .weight(61) + .build(), + Destination.builder() + .destinationId( + "fbef10a2-8ee7-11e9-aa2d-abeeaf7b83c5") + .application( + Application.builder() + .applicationId( + "01856e12-8ee8-11e9-98a5-bb397dbc818f") + .process( + Process.builder() + .type("api") + .build()) + .build()) + .port(9000) + .weight(39) + .build()) + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/routes/cbad697f-cac1-48f4-9017-ac08f39dfb31/destinations") + .build()) + .link( + "route", + Link.builder() + .href( + "https://api.example.org/v3/routes/cbad697f-cac1-48f4-9017-ac08f39dfb31") + .build()) .build()) - .build()) - .port(9000) - .weight(39) - .build()) - .link("self", Link.builder() - .href("https://api.example.org/v3/routes/cbad697f-cac1-48f4-9017-ac08f39dfb31/destinations") - .build()) - .link("route", Link.builder() - .href("https://api.example.org/v3/routes/cbad697f-cac1-48f4-9017-ac08f39dfb31") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void update() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(PATCH).path("/routes/cbad697f-cac1-48f4-9017-ac08f39dfb31") - .payload("fixtures/client/v3/routes/PATCH_{id}_request.json") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v3/routes/PATCH_{id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(PATCH) + .path("/routes/cbad697f-cac1-48f4-9017-ac08f39dfb31") + .payload( + "fixtures/client/v3/routes/PATCH_{id}_request.json") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v3/routes/PATCH_{id}_response.json") + .build()) + .build()); - this.routes.update(UpdateRouteRequest.builder() - .routeId("cbad697f-cac1-48f4-9017-ac08f39dfb31") - .metadata(Metadata.builder() - .label("key", "value") - .annotation("note", "detailed information") - .build()) - .build()) - .as(StepVerifier::create) - .expectNext(UpdateRouteResponse.builder().host("test-hostname") - .id("cbad697f-cac1-48f4-9017-ac08f39dfb31") - .path("/some_path") - .url("test-hostname.a-domain.com/some_path") - .createdAt("2019-11-01T17:17:48Z") - .updatedAt("2019-11-01T17:17:48Z") - .metadata(Metadata.builder() - .label("key", "value") - .annotation("note", "detailed information") - .build()) - .relationships(RouteRelationships.builder() - .space(ToOneRelationship.builder() - .data(Relationship.builder() - .id("space-guid") - .build()) - .build()) - .domain(ToOneRelationship.builder() - .data(Relationship.builder() - .id("domain-guid") - .build()) - .build()) - .build()) - .link("self", Link.builder() - .href("https://api.example.org/v3/routes/cbad697f-cac1-48f4-9017-ac08f39dfb31") - .build()) - .link("space", Link.builder() - .href("https://api.example.org/v3/spaces/space-guid") - .build()) - .link("domain", Link.builder() - .href("https://api.example.org/v3/domains/domain-guid") - .build()) - .link("destinations", Link.builder() - .href("https://api.example.org/v3/routes/cbad697f-cac1-48f4-9017-ac08f39dfb31/destinations") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + this.routes + .update( + UpdateRouteRequest.builder() + .routeId("cbad697f-cac1-48f4-9017-ac08f39dfb31") + .metadata( + Metadata.builder() + .label("key", "value") + .annotation("note", "detailed information") + .build()) + .build()) + .as(StepVerifier::create) + .expectNext( + UpdateRouteResponse.builder() + .host("test-hostname") + .id("cbad697f-cac1-48f4-9017-ac08f39dfb31") + .path("/some_path") + .url("test-hostname.a-domain.com/some_path") + .createdAt("2019-11-01T17:17:48Z") + .updatedAt("2019-11-01T17:17:48Z") + .metadata( + Metadata.builder() + .label("key", "value") + .annotation("note", "detailed information") + .build()) + .relationships( + RouteRelationships.builder() + .space( + ToOneRelationship.builder() + .data( + Relationship.builder() + .id("space-guid") + .build()) + .build()) + .domain( + ToOneRelationship.builder() + .data( + Relationship.builder() + .id("domain-guid") + .build()) + .build()) + .build()) + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/routes/cbad697f-cac1-48f4-9017-ac08f39dfb31") + .build()) + .link( + "space", + Link.builder() + .href( + "https://api.example.org/v3/spaces/space-guid") + .build()) + .link( + "domain", + Link.builder() + .href( + "https://api.example.org/v3/domains/domain-guid") + .build()) + .link( + "destinations", + Link.builder() + .href( + "https://api.example.org/v3/routes/cbad697f-cac1-48f4-9017-ac08f39dfb31/destinations") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } } diff --git a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v3/serviceInstances/ReactorServiceInstancesV3Test.java b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v3/serviceInstances/ReactorServiceInstancesV3Test.java index e075884c81..aa028c4e2d 100644 --- a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v3/serviceInstances/ReactorServiceInstancesV3Test.java +++ b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v3/serviceInstances/ReactorServiceInstancesV3Test.java @@ -16,6 +16,20 @@ package org.cloudfoundry.reactor.client.v3.serviceinstances; +import static io.netty.handler.codec.http.HttpMethod.DELETE; +import static io.netty.handler.codec.http.HttpMethod.GET; +import static io.netty.handler.codec.http.HttpMethod.PATCH; +import static io.netty.handler.codec.http.HttpMethod.POST; +import static io.netty.handler.codec.http.HttpResponseStatus.ACCEPTED; +import static io.netty.handler.codec.http.HttpResponseStatus.CREATED; +import static io.netty.handler.codec.http.HttpResponseStatus.NO_CONTENT; +import static io.netty.handler.codec.http.HttpResponseStatus.OK; + +import java.time.Duration; +import java.util.Collections; +import java.util.HashMap; +import java.util.Map; +import java.util.Optional; import org.cloudfoundry.client.v3.LastOperation; import org.cloudfoundry.client.v3.Link; import org.cloudfoundry.client.v3.MaintenanceInfo; @@ -51,24 +65,11 @@ import org.junit.Test; import reactor.test.StepVerifier; -import java.time.Duration; -import java.util.Collections; -import java.util.HashMap; -import java.util.Map; -import java.util.Optional; - -import static io.netty.handler.codec.http.HttpMethod.DELETE; -import static io.netty.handler.codec.http.HttpMethod.GET; -import static io.netty.handler.codec.http.HttpMethod.PATCH; -import static io.netty.handler.codec.http.HttpMethod.POST; -import static io.netty.handler.codec.http.HttpResponseStatus.ACCEPTED; -import static io.netty.handler.codec.http.HttpResponseStatus.CREATED; -import static io.netty.handler.codec.http.HttpResponseStatus.NO_CONTENT; -import static io.netty.handler.codec.http.HttpResponseStatus.OK; - public final class ReactorServiceInstancesV3Test extends AbstractClientApiTest { - private final ReactorServiceInstancesV3 serviceInstances = new ReactorServiceInstancesV3(CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); + private final ReactorServiceInstancesV3 serviceInstances = + new ReactorServiceInstancesV3( + CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); @Test public void getManagedServiceParameters() { @@ -76,26 +77,34 @@ public void getManagedServiceParameters() { parameters.put("key_1", "value_1"); parameters.put("key_2", "value_2"); - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/service_instances/test-service-instance-id/parameters") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v3/serviceinstances/GET_{id}_parameters.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path( + "/service_instances/test-service-instance-id/parameters") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v3/serviceinstances/GET_{id}_parameters.json") + .build()) + .build()); this.serviceInstances - .getManagedServiceParameters(GetManagedServiceParametersRequest.builder() - .serviceInstanceId("test-service-instance-id") - .build()) - .as(StepVerifier::create) - .expectNext(GetManagedServiceParametersResponse.builder() - .parameters(parameters) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .getManagedServiceParameters( + GetManagedServiceParametersRequest.builder() + .serviceInstanceId("test-service-instance-id") + .build()) + .as(StepVerifier::create) + .expectNext( + GetManagedServiceParametersResponse.builder() + .parameters(parameters) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test @@ -105,665 +114,928 @@ public void getUserProvidedCredentials() { credentials.put("password", "super-secret"); credentials.put("other", "credential"); - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/service_instances/test-service-instance-id/credentials") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v3/serviceinstances/GET_{id}_credentials.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path( + "/service_instances/test-service-instance-id/credentials") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v3/serviceinstances/GET_{id}_credentials.json") + .build()) + .build()); this.serviceInstances - .getUserProvidedCredentials(GetUserProvidedCredentialsRequest.builder() - .serviceInstanceId("test-service-instance-id") - .build()) - .as(StepVerifier::create) - .expectNext(GetUserProvidedCredentialsResponse.builder() - .credentials(credentials) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .getUserProvidedCredentials( + GetUserProvidedCredentialsRequest.builder() + .serviceInstanceId("test-service-instance-id") + .build()) + .as(StepVerifier::create) + .expectNext( + GetUserProvidedCredentialsResponse.builder() + .credentials(credentials) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void get() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/service_instances/c89b3280-fe8d-4aa0-a42e-44465bb1c61c") - .build()) - .response(TestResponse.builder() - .status(CREATED) - .payload("fixtures/client/v3/serviceinstances/GET_{id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path( + "/service_instances/c89b3280-fe8d-4aa0-a42e-44465bb1c61c") + .build()) + .response( + TestResponse.builder() + .status(CREATED) + .payload( + "fixtures/client/v3/serviceinstances/GET_{id}_response.json") + .build()) + .build()); this.serviceInstances - .get(GetServiceInstanceRequest.builder() - .serviceInstanceId("c89b3280-fe8d-4aa0-a42e-44465bb1c61c") - .build()) - .as(StepVerifier::create) - .expectNext(GetServiceInstanceResponse.builder() - .id("c89b3280-fe8d-4aa0-a42e-44465bb1c61c") - .createdAt("2020-03-10T15:49:29Z") - .updatedAt("2020-03-10T15:49:29Z") - .name("my-managed-instance") - .tags("foo", "bar") - .type(ServiceInstanceType.MANAGED) - .maintenanceInfo(MaintenanceInfo.builder() - .version("1.0.0") - .build()) - .updateAvailable(false) - .dashboardUrl("https://service-broker.example.org/dashboard") - .lastOperation(LastOperation.builder() - .type("create") - .state("succeeded") - .description("Operation succeeded") - .updatedAt("2020-03-10T15:49:32Z") - .createdAt("2020-03-10T15:49:29Z") - .build()) - .relationships(ServiceInstanceRelationships.builder() - .servicePlan(ToOneRelationship.builder() - .data(Relationship.builder() - .id("5358d122-638e-11ea-afca-bf6e756684ac") - .build()) - .build()) - .space(ToOneRelationship.builder() - .data(Relationship.builder() - .id("5a84d315-9513-4d74-95e5-f6a5501eeef7") - .build()) - .build()) - .build()) - .link("self", Link.builder() - .href("https://api.example.org/v3/service_instances/c89b3280-fe8d-4aa0-a42e-44465bb1c61c") - .build()) - .link("service_plan", Link.builder() - .href("https://api.example.org/v3/service_plans/5358d122-638e-11ea-afca-bf6e756684ac") - .build()) - .link("space", Link.builder() - .href("https://api.example.org/v3/spaces/5a84d315-9513-4d74-95e5-f6a5501eeef7") - .build()) - .link("parameters", Link.builder() - .href("https://api.example.org/v3/service_instances/c89b3280-fe8d-4aa0-a42e-44465bb1c61c/parameters") - .build()) - .link("shared_spaces", Link.builder() - .href("https://api.example.org/v3/service_instances/c89b3280-fe8d-4aa0-a42e-44465bb1c61c/relationships/shared_spaces") - .build()) - .link("service_credential_bindings", Link.builder() - .href("https://api.example.org/v3/service_credential_bindings?service_instance_guids=c89b3280-fe8d-4aa0-a42e-44465bb1c61c") - .build()) - .link("service_route_bindings", Link.builder() - .href("https://api.example.org/v3/service_route_bindings?service_instance_guids=c89b3280-fe8d-4aa0-a42e-44465bb1c61c") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .get( + GetServiceInstanceRequest.builder() + .serviceInstanceId("c89b3280-fe8d-4aa0-a42e-44465bb1c61c") + .build()) + .as(StepVerifier::create) + .expectNext( + GetServiceInstanceResponse.builder() + .id("c89b3280-fe8d-4aa0-a42e-44465bb1c61c") + .createdAt("2020-03-10T15:49:29Z") + .updatedAt("2020-03-10T15:49:29Z") + .name("my-managed-instance") + .tags("foo", "bar") + .type(ServiceInstanceType.MANAGED) + .maintenanceInfo(MaintenanceInfo.builder().version("1.0.0").build()) + .updateAvailable(false) + .dashboardUrl("https://service-broker.example.org/dashboard") + .lastOperation( + LastOperation.builder() + .type("create") + .state("succeeded") + .description("Operation succeeded") + .updatedAt("2020-03-10T15:49:32Z") + .createdAt("2020-03-10T15:49:29Z") + .build()) + .relationships( + ServiceInstanceRelationships.builder() + .servicePlan( + ToOneRelationship.builder() + .data( + Relationship.builder() + .id( + "5358d122-638e-11ea-afca-bf6e756684ac") + .build()) + .build()) + .space( + ToOneRelationship.builder() + .data( + Relationship.builder() + .id( + "5a84d315-9513-4d74-95e5-f6a5501eeef7") + .build()) + .build()) + .build()) + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/service_instances/c89b3280-fe8d-4aa0-a42e-44465bb1c61c") + .build()) + .link( + "service_plan", + Link.builder() + .href( + "https://api.example.org/v3/service_plans/5358d122-638e-11ea-afca-bf6e756684ac") + .build()) + .link( + "space", + Link.builder() + .href( + "https://api.example.org/v3/spaces/5a84d315-9513-4d74-95e5-f6a5501eeef7") + .build()) + .link( + "parameters", + Link.builder() + .href( + "https://api.example.org/v3/service_instances/c89b3280-fe8d-4aa0-a42e-44465bb1c61c/parameters") + .build()) + .link( + "shared_spaces", + Link.builder() + .href( + "https://api.example.org/v3/service_instances/c89b3280-fe8d-4aa0-a42e-44465bb1c61c/relationships/shared_spaces") + .build()) + .link( + "service_credential_bindings", + Link.builder() + .href( + "https://api.example.org/v3/service_credential_bindings?service_instance_guids=c89b3280-fe8d-4aa0-a42e-44465bb1c61c") + .build()) + .link( + "service_route_bindings", + Link.builder() + .href( + "https://api.example.org/v3/service_route_bindings?service_instance_guids=c89b3280-fe8d-4aa0-a42e-44465bb1c61c") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void list() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/service_instances?names=test-service-instance-name&space_guids=test-space-id&page=1") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v3/serviceinstances/GET_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path( + "/service_instances?names=test-service-instance-name&space_guids=test-space-id&page=1") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v3/serviceinstances/GET_response.json") + .build()) + .build()); this.serviceInstances - .list(ListServiceInstancesRequest.builder() - .page(1) - .serviceInstanceName("test-service-instance-name") - .spaceId("test-space-id") - .build()) - .as(StepVerifier::create) - .expectNext(ListServiceInstancesResponse.builder() - .pagination(Pagination.builder() - .totalResults(3) - .first(Link.builder() - .href("/v3/service_instances?page=1&per_page=2") - .build()) - .last(Link.builder() - .href("/v3/service_instances?page=2&per_page=2") - .build()) - .next(Link.builder() - .href("/v3/service_instances?page=2&per_page=2") - .build()) - .build()) - .resource(ServiceInstanceResource.builder() - .id("85ccdcad-d725-4109-bca4-fd6ba062b5c8") - .createdAt("2017-11-17T13:54:21Z") - .name("my_service_instance1") - .relationships(ServiceInstanceRelationships.builder() - .space(ToOneRelationship.builder() - .data(Relationship.builder() - .id("ae0031f9-dd49-461c-a945-df40e77c39cb") - .build()) - .build()) - .build()) - .link("space", Link.builder() - .href("/v3/spaces/ae0031f9-dd49-461c-a945-df40e77c39cb") - .build()) - .build()) - .resource(ServiceInstanceResource.builder() - .id("85ccdcad-d725-4109-bca4-fd6ba062b5c7") - .createdAt("2017-11-17T13:54:21Z") - .name("my_service_instance2") - .relationships(ServiceInstanceRelationships.builder() - .space(ToOneRelationship.builder() - .data(Relationship.builder() - .id("ae0031f9-dd49-461c-a945-df40e77c39ce") + .list( + ListServiceInstancesRequest.builder() + .page(1) + .serviceInstanceName("test-service-instance-name") + .spaceId("test-space-id") .build()) - .build()) - .build()) - .link("space", Link.builder() - .href("/v3/spaces/ae0031f9-dd49-461c-a945-df40e77c39ce") - .build()) - .build()) - .resource(ServiceInstanceResource.builder() - .id("85ccdcad-d725-4109-bca4-fd6ba062b5c6") - .createdAt("2017-11-17T13:54:21Z") - .name("my_service_instance3") - .relationships(ServiceInstanceRelationships.builder() - .space(ToOneRelationship.builder() - .data(Relationship.builder() - .id("ae0031f9-dd49-461c-a945-df40e77c39cf") + .as(StepVerifier::create) + .expectNext( + ListServiceInstancesResponse.builder() + .pagination( + Pagination.builder() + .totalResults(3) + .first( + Link.builder() + .href( + "/v3/service_instances?page=1&per_page=2") + .build()) + .last( + Link.builder() + .href( + "/v3/service_instances?page=2&per_page=2") + .build()) + .next( + Link.builder() + .href( + "/v3/service_instances?page=2&per_page=2") + .build()) + .build()) + .resource( + ServiceInstanceResource.builder() + .id("85ccdcad-d725-4109-bca4-fd6ba062b5c8") + .createdAt("2017-11-17T13:54:21Z") + .name("my_service_instance1") + .relationships( + ServiceInstanceRelationships.builder() + .space( + ToOneRelationship.builder() + .data( + Relationship + .builder() + .id( + "ae0031f9-dd49-461c-a945-df40e77c39cb") + .build()) + .build()) + .build()) + .link( + "space", + Link.builder() + .href( + "/v3/spaces/ae0031f9-dd49-461c-a945-df40e77c39cb") + .build()) + .build()) + .resource( + ServiceInstanceResource.builder() + .id("85ccdcad-d725-4109-bca4-fd6ba062b5c7") + .createdAt("2017-11-17T13:54:21Z") + .name("my_service_instance2") + .relationships( + ServiceInstanceRelationships.builder() + .space( + ToOneRelationship.builder() + .data( + Relationship + .builder() + .id( + "ae0031f9-dd49-461c-a945-df40e77c39ce") + .build()) + .build()) + .build()) + .link( + "space", + Link.builder() + .href( + "/v3/spaces/ae0031f9-dd49-461c-a945-df40e77c39ce") + .build()) + .build()) + .resource( + ServiceInstanceResource.builder() + .id("85ccdcad-d725-4109-bca4-fd6ba062b5c6") + .createdAt("2017-11-17T13:54:21Z") + .name("my_service_instance3") + .relationships( + ServiceInstanceRelationships.builder() + .space( + ToOneRelationship.builder() + .data( + Relationship + .builder() + .id( + "ae0031f9-dd49-461c-a945-df40e77c39cf") + .build()) + .build()) + .build()) + .link( + "space", + Link.builder() + .href( + "/v3/spaces/ae0031f9-dd49-461c-a945-df40e77c39cf") + .build()) + .build()) .build()) - .build()) - .build()) - .link("space", Link.builder() - .href("/v3/spaces/ae0031f9-dd49-461c-a945-df40e77c39cf") - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void listSharedSpaces() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/service_instances/test-service-instance-id/relationships/shared_spaces") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v3/serviceinstances/GET_{id}_relationships_spaces_shared_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path( + "/service_instances/test-service-instance-id/relationships/shared_spaces") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v3/serviceinstances/GET_{id}_relationships_spaces_shared_response.json") + .build()) + .build()); this.serviceInstances - .listSharedSpacesRelationship(ListSharedSpacesRelationshipRequest.builder() - .serviceInstanceId("test-service-instance-id") - .build()) - .as(StepVerifier::create) - .expectNext(ListSharedSpacesRelationshipResponse.builder() - .data(Relationship.builder() - .id("68d54d31-9b3a-463b-ba94-e8e4c32edbac") - .build()) - .data(Relationship.builder() - .id("b19f6525-cbd3-4155-b156-dc0c2a431b4c") - .build()) - .link("self", Link.builder() - .href("/v3/service_instances/bdeg4371-cbd3-4155-b156-dc0c2a431b4c/relationships/shared_spaces") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .listSharedSpacesRelationship( + ListSharedSpacesRelationshipRequest.builder() + .serviceInstanceId("test-service-instance-id") + .build()) + .as(StepVerifier::create) + .expectNext( + ListSharedSpacesRelationshipResponse.builder() + .data( + Relationship.builder() + .id("68d54d31-9b3a-463b-ba94-e8e4c32edbac") + .build()) + .data( + Relationship.builder() + .id("b19f6525-cbd3-4155-b156-dc0c2a431b4c") + .build()) + .link( + "self", + Link.builder() + .href( + "/v3/service_instances/bdeg4371-cbd3-4155-b156-dc0c2a431b4c/relationships/shared_spaces") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void share() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(POST).path("/service_instances/test-service-instance-id/relationships/shared_spaces") - .payload("fixtures/client/v3/serviceinstances/POST_request.json") - .build()) - .response(TestResponse.builder() - .status(CREATED) - .payload("fixtures/client/v3/serviceinstances/POST_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(POST) + .path( + "/service_instances/test-service-instance-id/relationships/shared_spaces") + .payload( + "fixtures/client/v3/serviceinstances/POST_request.json") + .build()) + .response( + TestResponse.builder() + .status(CREATED) + .payload( + "fixtures/client/v3/serviceinstances/POST_response.json") + .build()) + .build()); this.serviceInstances - .share(ShareServiceInstanceRequest.builder() - .serviceInstanceId("test-service-instance-id") - .data(Relationship.builder() - .id("space-guid-1") - .build()) - .data(Relationship.builder() - .id("space-guid-2") - .build()) - .build()) - .as(StepVerifier::create) - .expectNext(ShareServiceInstanceResponse.builder() - .data(Relationship.builder() - .id("68d54d31-9b3a-463b-ba94-e8e4c32edbac") - .build()) - .data(Relationship.builder() - .id("b19f6525-cbd3-4155-b156-dc0c2a431b4c") - .build()) - .link("self", Link.builder() - .href("https://api.example.org/v3/service_instances/bdeg4371-cbd3-4155-b156-dc0c2a431b4c/relationships/shared_spaces") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .share( + ShareServiceInstanceRequest.builder() + .serviceInstanceId("test-service-instance-id") + .data(Relationship.builder().id("space-guid-1").build()) + .data(Relationship.builder().id("space-guid-2").build()) + .build()) + .as(StepVerifier::create) + .expectNext( + ShareServiceInstanceResponse.builder() + .data( + Relationship.builder() + .id("68d54d31-9b3a-463b-ba94-e8e4c32edbac") + .build()) + .data( + Relationship.builder() + .id("b19f6525-cbd3-4155-b156-dc0c2a431b4c") + .build()) + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/service_instances/bdeg4371-cbd3-4155-b156-dc0c2a431b4c/relationships/shared_spaces") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void unshare() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(DELETE).path("/service_instances/test-service-instance-id/relationships/shared_spaces/test-space-id") - .build()) - .response(TestResponse.builder() - .status(NO_CONTENT) - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(DELETE) + .path( + "/service_instances/test-service-instance-id/relationships/shared_spaces/test-space-id") + .build()) + .response(TestResponse.builder().status(NO_CONTENT).build()) + .build()); this.serviceInstances - .unshare(UnshareServiceInstanceRequest.builder() - .serviceInstanceId("test-service-instance-id") - .spaceId("test-space-id") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .unshare( + UnshareServiceInstanceRequest.builder() + .serviceInstanceId("test-service-instance-id") + .spaceId("test-space-id") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void createManagedServiceInstance() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(POST).path("/service_instances") - .payload("fixtures/client/v3/serviceinstances/POST_request_create_managed_service_instance.json") - .build()) - .response(TestResponse.builder() - .status(ACCEPTED) - .header("Location", "e1e4417c-74ee-11ea-a604-48bf6bec2d79") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(POST) + .path("/service_instances") + .payload( + "fixtures/client/v3/serviceinstances/POST_request_create_managed_service_instance.json") + .build()) + .response( + TestResponse.builder() + .status(ACCEPTED) + .header("Location", "e1e4417c-74ee-11ea-a604-48bf6bec2d79") + .build()) + .build()); this.serviceInstances - .create(CreateServiceInstanceRequest.builder() - .type(ServiceInstanceType.MANAGED) - .name("my_service_instance") - .relationships(ServiceInstanceRelationships.builder() - .servicePlan(ToOneRelationship.builder() - .data(Relationship.builder() - .id("e0e4417c-74ee-11ea-a604-48bf6bec2d78") - .build()) - .build()) - .space(ToOneRelationship.builder() - .data(Relationship.builder() - .id("7304bc3c-7010-11ea-8840-48bf6bec2d78") - .build()) - .build()) - .build()) - .metadata(Metadata.builder() - .annotation("foo", "bar") - .label("baz", "qux") - .build()) - .tags("foo", "bar", "baz") - .parameter("foo", "bar") - .parameter("baz", "qux") - .build()) - .as(StepVerifier::create) - .expectNext(CreateServiceInstanceResponse.builder() - .jobId("e1e4417c-74ee-11ea-a604-48bf6bec2d79") - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .create( + CreateServiceInstanceRequest.builder() + .type(ServiceInstanceType.MANAGED) + .name("my_service_instance") + .relationships( + ServiceInstanceRelationships.builder() + .servicePlan( + ToOneRelationship.builder() + .data( + Relationship.builder() + .id( + "e0e4417c-74ee-11ea-a604-48bf6bec2d78") + .build()) + .build()) + .space( + ToOneRelationship.builder() + .data( + Relationship.builder() + .id( + "7304bc3c-7010-11ea-8840-48bf6bec2d78") + .build()) + .build()) + .build()) + .metadata( + Metadata.builder() + .annotation("foo", "bar") + .label("baz", "qux") + .build()) + .tags("foo", "bar", "baz") + .parameter("foo", "bar") + .parameter("baz", "qux") + .build()) + .as(StepVerifier::create) + .expectNext( + CreateServiceInstanceResponse.builder() + .jobId("e1e4417c-74ee-11ea-a604-48bf6bec2d79") + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void testCreateUserProvidedService() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(POST).path("/service_instances") - .payload("fixtures/client/v3/serviceinstances/POST_request_create_user_provided_service_instance.json") - .build()) - .response(TestResponse.builder() - .status(CREATED) - .payload("fixtures/client/v3/serviceinstances/POST_response_create_user_provided_service_instance.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(POST) + .path("/service_instances") + .payload( + "fixtures/client/v3/serviceinstances/POST_request_create_user_provided_service_instance.json") + .build()) + .response( + TestResponse.builder() + .status(CREATED) + .payload( + "fixtures/client/v3/serviceinstances/POST_response_create_user_provided_service_instance.json") + .build()) + .build()); this.serviceInstances - .create(CreateServiceInstanceRequest.builder() - .type(ServiceInstanceType.USER_PROVIDED) - .name("my-user-provided-instance") - .relationships(ServiceInstanceRelationships.builder() - .space(ToOneRelationship.builder() - .data(Relationship.builder() - .id("7304bc3c-7010-11ea-8840-48bf6bec2d78") - .build()) - .build()) - .build()) - .metadata(Metadata.builder() - .annotation("foo", "bar") - .label("baz", "qux") - .build()) - .tag("sql") - .credential("foo", "bar") - .credential("baz", "qux") - .syslogDrainUrl("https://syslog.com/drain") - .routeServiceUrl("https://route.com/service") - .build()) - .as(StepVerifier::create) - .expectNext(CreateServiceInstanceResponse.builder() - .serviceInstance(ServiceInstanceResource.builder() - .id("88ce23e5-27c3-4381-a2df-32a28ec43133") - .createdAt("2020-03-10T15:56:08Z") - .updatedAt("2020-03-10T15:56:08Z") - .lastOperation(LastOperation.builder() - .type("create") - .state("succeeded") - .description("Operation succeeded") - .updatedAt("2020-03-10T15:49:32Z") - .createdAt("2020-03-10T15:49:29Z") - .build()) - .name("my-user-provided-instance") - .tag("sql") - .type(ServiceInstanceType.USER_PROVIDED) - .syslogDrainUrl("https://syslog.com/drain") - .routeServiceUrl("https://route.com/service") - .relationships(ServiceInstanceRelationships.builder() - .space(ToOneRelationship.builder() - .data(Relationship.builder() - .id("7304bc3c-7010-11ea-8840-48bf6bec2d78") + .create( + CreateServiceInstanceRequest.builder() + .type(ServiceInstanceType.USER_PROVIDED) + .name("my-user-provided-instance") + .relationships( + ServiceInstanceRelationships.builder() + .space( + ToOneRelationship.builder() + .data( + Relationship.builder() + .id( + "7304bc3c-7010-11ea-8840-48bf6bec2d78") + .build()) + .build()) + .build()) + .metadata( + Metadata.builder() + .annotation("foo", "bar") + .label("baz", "qux") + .build()) + .tag("sql") + .credential("foo", "bar") + .credential("baz", "qux") + .syslogDrainUrl("https://syslog.com/drain") + .routeServiceUrl("https://route.com/service") .build()) - .build()) - .build()) - .metadata(Metadata.builder() - .annotation("foo", "bar") - .label("baz", "qux") - .build()) - .link("self", Link.builder() - .href("https://api.example.org/v3/service_instances/88ce23e5-27c3-4381-a2df-32a28ec43133") - .build()) - .link("space", Link.builder() - .href("https://api.example.org/v3/spaces/5a84d315-9513-4d74-95e5-f6a5501eeef7") - .build()) - .link("credentials", Link.builder() - .href("https://api.example.org/v3/service_instances/88ce23e5-27c3-4381-a2df-32a28ec43133/credentials") - .build()) - .link("service_credential_bindings", Link.builder() - .href("https://api.example.org/v3/service_credential_bindings?service_instance_guids=88ce23e5-27c3-4381-a2df-32a28ec43133") - .build()) - .link("service_route_bindings", Link.builder() - .href("https://api.example.org/v3/service_route_bindings?service_instance_guids=88ce23e5-27c3-4381-a2df-32a28ec43133") - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .as(StepVerifier::create) + .expectNext( + CreateServiceInstanceResponse.builder() + .serviceInstance( + ServiceInstanceResource.builder() + .id("88ce23e5-27c3-4381-a2df-32a28ec43133") + .createdAt("2020-03-10T15:56:08Z") + .updatedAt("2020-03-10T15:56:08Z") + .lastOperation( + LastOperation.builder() + .type("create") + .state("succeeded") + .description("Operation succeeded") + .updatedAt("2020-03-10T15:49:32Z") + .createdAt("2020-03-10T15:49:29Z") + .build()) + .name("my-user-provided-instance") + .tag("sql") + .type(ServiceInstanceType.USER_PROVIDED) + .syslogDrainUrl("https://syslog.com/drain") + .routeServiceUrl("https://route.com/service") + .relationships( + ServiceInstanceRelationships.builder() + .space( + ToOneRelationship.builder() + .data( + Relationship + .builder() + .id( + "7304bc3c-7010-11ea-8840-48bf6bec2d78") + .build()) + .build()) + .build()) + .metadata( + Metadata.builder() + .annotation("foo", "bar") + .label("baz", "qux") + .build()) + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/service_instances/88ce23e5-27c3-4381-a2df-32a28ec43133") + .build()) + .link( + "space", + Link.builder() + .href( + "https://api.example.org/v3/spaces/5a84d315-9513-4d74-95e5-f6a5501eeef7") + .build()) + .link( + "credentials", + Link.builder() + .href( + "https://api.example.org/v3/service_instances/88ce23e5-27c3-4381-a2df-32a28ec43133/credentials") + .build()) + .link( + "service_credential_bindings", + Link.builder() + .href( + "https://api.example.org/v3/service_credential_bindings?service_instance_guids=88ce23e5-27c3-4381-a2df-32a28ec43133") + .build()) + .link( + "service_route_bindings", + Link.builder() + .href( + "https://api.example.org/v3/service_route_bindings?service_instance_guids=88ce23e5-27c3-4381-a2df-32a28ec43133") + .build()) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void updateManagedServiceInstance() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(PATCH).path("/service_instances/c89b3280-fe8d-4aa0-a42e-44465bb1c61c") - .payload("fixtures/client/v3/serviceinstances/PATCH_request_update_managed_service_instance.json") - .build()) - .response(TestResponse.builder() - .status(ACCEPTED) - .payload("fixtures/client/v3/serviceinstances/PATCH_response_update_managed_service_instance.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(PATCH) + .path( + "/service_instances/c89b3280-fe8d-4aa0-a42e-44465bb1c61c") + .payload( + "fixtures/client/v3/serviceinstances/PATCH_request_update_managed_service_instance.json") + .build()) + .response( + TestResponse.builder() + .status(ACCEPTED) + .payload( + "fixtures/client/v3/serviceinstances/PATCH_response_update_managed_service_instance.json") + .build()) + .build()); this.serviceInstances - .update(UpdateServiceInstanceRequest.builder() - .serviceInstanceId("c89b3280-fe8d-4aa0-a42e-44465bb1c61c") - .name("my_service_instance") - .parameter("foo", "bar") - .parameter("baz", "qux") - .maintenanceInfo(MaintenanceInfo.builder() - .version("1.0.0") - .build()) - .tags("foo", "bar", "baz") - .relationships(ServiceInstanceRelationships.builder() - .servicePlan(ToOneRelationship.builder() - .data(Relationship.builder() - .id("f2b6ba9c-a4d2-11ea-8ae6-48bf6bec2d78") - .build()) - .build()) - .build()) - .metadata(Metadata.builder() - .annotation("note", "detailed information") - .label("key", "value") - .build()) - .build()) - .as(StepVerifier::create) - .expectNext(UpdateServiceInstanceResponse.builder() - .serviceInstance(ServiceInstanceResource.builder() - .id("c89b3280-fe8d-4aa0-a42e-44465bb1c61c") - .createdAt("2020-03-10T15:49:29Z") - .updatedAt("2020-03-10T15:49:29Z") - .name("my_service_instance") - .maintenanceInfo(MaintenanceInfo.builder() - .version("1.0.0") - .build()) - .updateAvailable(false) - .type(ServiceInstanceType.MANAGED) - .dashboardUrl("https://service-broker.example.org/dashboard") - .tags("foo", "bar", "baz") - .lastOperation(LastOperation.builder() - .type("update") - .description("Operation succeeded") - .state("succeeded") - .updatedAt("2020-03-10T15:49:32Z") - .createdAt("2020-03-10T15:49:29Z") - .build()) - .relationships(ServiceInstanceRelationships.builder() - .servicePlan(ToOneRelationship.builder() - .data(Relationship.builder() - .id("5358d122-638e-11ea-afca-bf6e756684ac") + .update( + UpdateServiceInstanceRequest.builder() + .serviceInstanceId("c89b3280-fe8d-4aa0-a42e-44465bb1c61c") + .name("my_service_instance") + .parameter("foo", "bar") + .parameter("baz", "qux") + .maintenanceInfo(MaintenanceInfo.builder().version("1.0.0").build()) + .tags("foo", "bar", "baz") + .relationships( + ServiceInstanceRelationships.builder() + .servicePlan( + ToOneRelationship.builder() + .data( + Relationship.builder() + .id( + "f2b6ba9c-a4d2-11ea-8ae6-48bf6bec2d78") + .build()) + .build()) + .build()) + .metadata( + Metadata.builder() + .annotation("note", "detailed information") + .label("key", "value") + .build()) .build()) - .build()) - .space(ToOneRelationship.builder() - .data(Relationship.builder() - .id("5a84d315-9513-4d74-95e5-f6a5501eeef7") + .as(StepVerifier::create) + .expectNext( + UpdateServiceInstanceResponse.builder() + .serviceInstance( + ServiceInstanceResource.builder() + .id("c89b3280-fe8d-4aa0-a42e-44465bb1c61c") + .createdAt("2020-03-10T15:49:29Z") + .updatedAt("2020-03-10T15:49:29Z") + .name("my_service_instance") + .maintenanceInfo( + MaintenanceInfo.builder() + .version("1.0.0") + .build()) + .updateAvailable(false) + .type(ServiceInstanceType.MANAGED) + .dashboardUrl( + "https://service-broker.example.org/dashboard") + .tags("foo", "bar", "baz") + .lastOperation( + LastOperation.builder() + .type("update") + .description("Operation succeeded") + .state("succeeded") + .updatedAt("2020-03-10T15:49:32Z") + .createdAt("2020-03-10T15:49:29Z") + .build()) + .relationships( + ServiceInstanceRelationships.builder() + .servicePlan( + ToOneRelationship.builder() + .data( + Relationship + .builder() + .id( + "5358d122-638e-11ea-afca-bf6e756684ac") + .build()) + .build()) + .space( + ToOneRelationship.builder() + .data( + Relationship + .builder() + .id( + "5a84d315-9513-4d74-95e5-f6a5501eeef7") + .build()) + .build()) + .build()) + .metadata( + Metadata.builder() + .label("key", "value") + .annotation( + "note", + "detailed information") + .build()) + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/service_instances/c89b3280-fe8d-4aa0-a42e-44465bb1c61c") + .build()) + .link( + "service_plan", + Link.builder() + .href( + "https://api.example.org/v3/service_plans/5358d122-638e-11ea-afca-bf6e756684ac") + .build()) + .link( + "space", + Link.builder() + .href( + "https://api.example.org/v3/spaces/5a84d315-9513-4d74-95e5-f6a5501eeef7") + .build()) + .link( + "parameters", + Link.builder() + .href( + "https://api.example.org/v3/service_instances/c89b3280-fe8d-4aa0-a42e-44465bb1c61c/parameters") + .build()) + .link( + "shared_spaces", + Link.builder() + .href( + "https://api.example.org/v3/service_instances/c89b3280-fe8d-4aa0-a42e-44465bb1c61c/relationships/shared_spaces") + .build()) + .link( + "service_credential_bindings", + Link.builder() + .href( + "https://api.example.org/v3/service_credential_bindings?service_instance_guids=c89b3280-fe8d-4aa0-a42e-44465bb1c61c") + .build()) + .link( + "service_route_bindings", + Link.builder() + .href( + "https://api.example.org/v3/service_route_bindings?service_instance_guids=c89b3280-fe8d-4aa0-a42e-44465bb1c61c") + .build()) + .build()) .build()) - .build()) - .build()) - .metadata(Metadata.builder() - .label("key", "value") - .annotation("note", "detailed information") - .build()) - .link("self", Link.builder() - .href("https://api.example.org/v3/service_instances/c89b3280-fe8d-4aa0-a42e-44465bb1c61c") - .build()) - .link("service_plan", Link.builder() - .href("https://api.example.org/v3/service_plans/5358d122-638e-11ea-afca-bf6e756684ac") - .build()) - .link("space", Link.builder() - .href("https://api.example.org/v3/spaces/5a84d315-9513-4d74-95e5-f6a5501eeef7") - .build()) - .link("parameters", Link.builder() - .href("https://api.example.org/v3/service_instances/c89b3280-fe8d-4aa0-a42e-44465bb1c61c/parameters") - .build()) - .link("shared_spaces", Link.builder() - .href("https://api.example.org/v3/service_instances/c89b3280-fe8d-4aa0-a42e-44465bb1c61c/relationships/shared_spaces") - .build()) - .link("service_credential_bindings", Link.builder() - .href("https://api.example.org/v3/service_credential_bindings?service_instance_guids=c89b3280-fe8d-4aa0-a42e-44465bb1c61c") - .build()) - .link("service_route_bindings", Link.builder() - .href("https://api.example.org/v3/service_route_bindings?service_instance_guids=c89b3280-fe8d-4aa0-a42e-44465bb1c61c") - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void updateManagedServiceInstanceAsync() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(PATCH).path("/service_instances/c89b3280-fe8d-4aa0-a42e-44465bb1c61c") - .payload("fixtures/client/v3/serviceinstances/PATCH_request_update_managed_service_instance.json") - .build()) - .response(TestResponse.builder() - .status(ACCEPTED) - .header("Location", "e1e4417c-74ee-11ea-a604-48bf6bec2d79") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(PATCH) + .path( + "/service_instances/c89b3280-fe8d-4aa0-a42e-44465bb1c61c") + .payload( + "fixtures/client/v3/serviceinstances/PATCH_request_update_managed_service_instance.json") + .build()) + .response( + TestResponse.builder() + .status(ACCEPTED) + .header("Location", "e1e4417c-74ee-11ea-a604-48bf6bec2d79") + .build()) + .build()); this.serviceInstances - .update(UpdateServiceInstanceRequest.builder() - .serviceInstanceId("c89b3280-fe8d-4aa0-a42e-44465bb1c61c") - .name("my_service_instance") - .parameter("foo", "bar") - .parameter("baz", "qux") - .maintenanceInfo(MaintenanceInfo.builder() - .version("1.0.0") - .build()) - .tags("foo", "bar", "baz") - .relationships(ServiceInstanceRelationships.builder() - .servicePlan(ToOneRelationship.builder() - .data(Relationship.builder() - .id("f2b6ba9c-a4d2-11ea-8ae6-48bf6bec2d78") - .build()) - .build()) - .build()) - .metadata(Metadata.builder() - .annotation("note", "detailed information") - .label("key", "value") - .build()) - .build()) - .as(StepVerifier::create) - .expectNext(UpdateServiceInstanceResponse.builder() - .jobId("e1e4417c-74ee-11ea-a604-48bf6bec2d79") - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .update( + UpdateServiceInstanceRequest.builder() + .serviceInstanceId("c89b3280-fe8d-4aa0-a42e-44465bb1c61c") + .name("my_service_instance") + .parameter("foo", "bar") + .parameter("baz", "qux") + .maintenanceInfo(MaintenanceInfo.builder().version("1.0.0").build()) + .tags("foo", "bar", "baz") + .relationships( + ServiceInstanceRelationships.builder() + .servicePlan( + ToOneRelationship.builder() + .data( + Relationship.builder() + .id( + "f2b6ba9c-a4d2-11ea-8ae6-48bf6bec2d78") + .build()) + .build()) + .build()) + .metadata( + Metadata.builder() + .annotation("note", "detailed information") + .label("key", "value") + .build()) + .build()) + .as(StepVerifier::create) + .expectNext( + UpdateServiceInstanceResponse.builder() + .jobId("e1e4417c-74ee-11ea-a604-48bf6bec2d79") + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void updateUserProvidedServiceInstance() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(PATCH).path("/service_instances/88ce23e5-27c3-4381-a2df-32a28ec43133") - .payload("fixtures/client/v3/serviceinstances/PATCH_request_update_user_provided_service_instance.json") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v3/serviceinstances/PATCH_response_update_user_provided_service_instance.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(PATCH) + .path( + "/service_instances/88ce23e5-27c3-4381-a2df-32a28ec43133") + .payload( + "fixtures/client/v3/serviceinstances/PATCH_request_update_user_provided_service_instance.json") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v3/serviceinstances/PATCH_response_update_user_provided_service_instance.json") + .build()) + .build()); this.serviceInstances - .update(UpdateServiceInstanceRequest.builder() - .serviceInstanceId("88ce23e5-27c3-4381-a2df-32a28ec43133") - .name("my-user-provided-instance") - .credential("foo", "bar") - .credential("baz", "qux") - .tags("foo", "bar", "baz") - .syslogDrainUrl("https://syslog.com/drain") - .routeServiceUrl("https://route.com/service") - .metadata(Metadata.builder() - .annotation("foo", "bar") - .label("baz", "qux") - .build()) - .build()) - .as(StepVerifier::create) - .expectNext(UpdateServiceInstanceResponse.builder() - .serviceInstance( - ServiceInstanceResource.builder() - .id("88ce23e5-27c3-4381-a2df-32a28ec43133") - .createdAt("2020-03-10T15:56:08Z") - .updatedAt("2020-03-10T15:56:08Z") - .lastOperation(LastOperation.builder() - .type("create") - .state("succeeded") - .description("Operation succeeded") - .updatedAt("2020-03-10T15:49:32Z") - .createdAt("2020-03-10T15:49:29Z") - .build()) - .name("my-user-provided-instance") - .tags("foo", "bar", "baz") - .type(ServiceInstanceType.USER_PROVIDED) - .syslogDrainUrl("https://syslog.com/drain") - .routeServiceUrl("https://route.com/service") - .relationships(ServiceInstanceRelationships.builder() - .space(ToOneRelationship.builder() - .data(Relationship.builder() - .id("5a84d315-9513-4d74-95e5-f6a5501eeef7") - .build()) + .update( + UpdateServiceInstanceRequest.builder() + .serviceInstanceId("88ce23e5-27c3-4381-a2df-32a28ec43133") + .name("my-user-provided-instance") + .credential("foo", "bar") + .credential("baz", "qux") + .tags("foo", "bar", "baz") + .syslogDrainUrl("https://syslog.com/drain") + .routeServiceUrl("https://route.com/service") + .metadata( + Metadata.builder() + .annotation("foo", "bar") + .label("baz", "qux") + .build()) .build()) - .build()) - .metadata(Metadata.builder() - .annotation("foo", "bar") - .label("baz", "qux") - .build()) - .link("self", Link.builder() - .href("https://api.example.org/v3/service_instances/88ce23e5-27c3-4381-a2df-32a28ec43133") - .build()) - .link("space", Link.builder() - .href("https://api.example.org/v3/spaces/5a84d315-9513-4d74-95e5-f6a5501eeef7") - .build()) - .link("credentials", Link.builder() - .href("https://api.example.org/v3/service_instances/88ce23e5-27c3-4381-a2df-32a28ec43133/credentials") - .build()) - .link("service_credential_bindings", Link.builder() - .href("https://api.example.org/v3/service_credential_bindings?service_instance_guids=88ce23e5-27c3-4381-a2df-32a28ec43133") - .build()) - .link("service_route_bindings", Link.builder() - .href("https://api.example.org/v3/service_route_bindings?service_instance_guids=88ce23e5-27c3-4381-a2df-32a28ec43133") - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .as(StepVerifier::create) + .expectNext( + UpdateServiceInstanceResponse.builder() + .serviceInstance( + ServiceInstanceResource.builder() + .id("88ce23e5-27c3-4381-a2df-32a28ec43133") + .createdAt("2020-03-10T15:56:08Z") + .updatedAt("2020-03-10T15:56:08Z") + .lastOperation( + LastOperation.builder() + .type("create") + .state("succeeded") + .description("Operation succeeded") + .updatedAt("2020-03-10T15:49:32Z") + .createdAt("2020-03-10T15:49:29Z") + .build()) + .name("my-user-provided-instance") + .tags("foo", "bar", "baz") + .type(ServiceInstanceType.USER_PROVIDED) + .syslogDrainUrl("https://syslog.com/drain") + .routeServiceUrl("https://route.com/service") + .relationships( + ServiceInstanceRelationships.builder() + .space( + ToOneRelationship.builder() + .data( + Relationship + .builder() + .id( + "5a84d315-9513-4d74-95e5-f6a5501eeef7") + .build()) + .build()) + .build()) + .metadata( + Metadata.builder() + .annotation("foo", "bar") + .label("baz", "qux") + .build()) + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/service_instances/88ce23e5-27c3-4381-a2df-32a28ec43133") + .build()) + .link( + "space", + Link.builder() + .href( + "https://api.example.org/v3/spaces/5a84d315-9513-4d74-95e5-f6a5501eeef7") + .build()) + .link( + "credentials", + Link.builder() + .href( + "https://api.example.org/v3/service_instances/88ce23e5-27c3-4381-a2df-32a28ec43133/credentials") + .build()) + .link( + "service_credential_bindings", + Link.builder() + .href( + "https://api.example.org/v3/service_credential_bindings?service_instance_guids=88ce23e5-27c3-4381-a2df-32a28ec43133") + .build()) + .link( + "service_route_bindings", + Link.builder() + .href( + "https://api.example.org/v3/service_route_bindings?service_instance_guids=88ce23e5-27c3-4381-a2df-32a28ec43133") + .build()) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void deleteManagedServiceInstance() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(DELETE).path("/service_instances/88ce23e5-27c3-4381-a2df-32a28ec43133") - .build()) - .response(TestResponse.builder() - .status(ACCEPTED) - .header("Location", "e1e4417c-74ee-11ea-a604-48bf6bec2d79") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(DELETE) + .path( + "/service_instances/88ce23e5-27c3-4381-a2df-32a28ec43133") + .build()) + .response( + TestResponse.builder() + .status(ACCEPTED) + .header("Location", "e1e4417c-74ee-11ea-a604-48bf6bec2d79") + .build()) + .build()); this.serviceInstances - .delete(DeleteServiceInstanceRequest.builder() - .serviceInstanceId("88ce23e5-27c3-4381-a2df-32a28ec43133") - .build()) - .as(StepVerifier::create) - .expectNext(Optional.of("e1e4417c-74ee-11ea-a604-48bf6bec2d79")) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .delete( + DeleteServiceInstanceRequest.builder() + .serviceInstanceId("88ce23e5-27c3-4381-a2df-32a28ec43133") + .build()) + .as(StepVerifier::create) + .expectNext(Optional.of("e1e4417c-74ee-11ea-a604-48bf6bec2d79")) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void deleteUserProvidedServiceInstance() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(DELETE).path("/service_instances/88ce23e5-27c3-4381-a2df-32a28ec43133") - .build()) - .response(TestResponse.builder() - .status(NO_CONTENT) - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(DELETE) + .path( + "/service_instances/88ce23e5-27c3-4381-a2df-32a28ec43133") + .build()) + .response(TestResponse.builder().status(NO_CONTENT).build()) + .build()); this.serviceInstances - .delete(DeleteServiceInstanceRequest.builder() - .serviceInstanceId("88ce23e5-27c3-4381-a2df-32a28ec43133") - .build()) - .as(StepVerifier::create) - .expectNext(Optional.empty()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .delete( + DeleteServiceInstanceRequest.builder() + .serviceInstanceId("88ce23e5-27c3-4381-a2df-32a28ec43133") + .build()) + .as(StepVerifier::create) + .expectNext(Optional.empty()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } } diff --git a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v3/servicebindings/ReactorServiceBindingsV3Test.java b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v3/servicebindings/ReactorServiceBindingsV3Test.java index 70f5b32ecc..76907cdde3 100644 --- a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v3/servicebindings/ReactorServiceBindingsV3Test.java +++ b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v3/servicebindings/ReactorServiceBindingsV3Test.java @@ -16,6 +16,15 @@ package org.cloudfoundry.reactor.client.v3.servicebindings; +import static io.netty.handler.codec.http.HttpMethod.DELETE; +import static io.netty.handler.codec.http.HttpMethod.GET; +import static io.netty.handler.codec.http.HttpMethod.POST; +import static io.netty.handler.codec.http.HttpResponseStatus.ACCEPTED; +import static io.netty.handler.codec.http.HttpResponseStatus.NO_CONTENT; +import static io.netty.handler.codec.http.HttpResponseStatus.OK; + +import java.time.Duration; +import java.util.Collections; import org.cloudfoundry.client.v3.Link; import org.cloudfoundry.client.v3.Pagination; import org.cloudfoundry.client.v3.Relationship; @@ -37,211 +46,298 @@ import org.junit.Test; import reactor.test.StepVerifier; -import java.time.Duration; -import java.util.Collections; - -import static io.netty.handler.codec.http.HttpMethod.DELETE; -import static io.netty.handler.codec.http.HttpMethod.GET; -import static io.netty.handler.codec.http.HttpMethod.POST; -import static io.netty.handler.codec.http.HttpResponseStatus.ACCEPTED; -import static io.netty.handler.codec.http.HttpResponseStatus.NO_CONTENT; -import static io.netty.handler.codec.http.HttpResponseStatus.OK; - public final class ReactorServiceBindingsV3Test extends AbstractClientApiTest { - private final ReactorServiceBindingsV3 serviceBindings = new ReactorServiceBindingsV3(CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); + private final ReactorServiceBindingsV3 serviceBindings = + new ReactorServiceBindingsV3( + CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); @Test public void create() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(POST).path("/service_credential_bindings") - .payload("fixtures/client/v3/servicebindings/POST_request.json") - .build()) - .response(TestResponse.builder() - .status(ACCEPTED) - .header("Location", "https://api.example.org/v3/jobs/af5c57f6-8769-41fa-a499-2c84ed896788") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(POST) + .path("/service_credential_bindings") + .payload( + "fixtures/client/v3/servicebindings/POST_request.json") + .build()) + .response( + TestResponse.builder() + .status(ACCEPTED) + .header( + "Location", + "https://api.example.org/v3/jobs/af5c57f6-8769-41fa-a499-2c84ed896788") + .build()) + .build()); this.serviceBindings - .create(CreateServiceBindingRequest.builder() - .relationships(ServiceBindingRelationships.builder() - .application(ToOneRelationship.builder() - .data(Relationship.builder() - .id("74f7c078-0934-470f-9883-4fddss5b8f13") - .build()) - .build()) - .serviceInstance(ToOneRelationship.builder() - .data(Relationship.builder() - .id("8bfe4c1b-9e18-45b1-83be-124163f31f9e") - .build()) - .build()) - .build()) - .type(ServiceBindingType.APPLICATION) - .build()) - .as(StepVerifier::create) - .expectNext(CreateServiceBindingResponse.builder() - .jobId("af5c57f6-8769-41fa-a499-2c84ed896788") - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .create( + CreateServiceBindingRequest.builder() + .relationships( + ServiceBindingRelationships.builder() + .application( + ToOneRelationship.builder() + .data( + Relationship.builder() + .id( + "74f7c078-0934-470f-9883-4fddss5b8f13") + .build()) + .build()) + .serviceInstance( + ToOneRelationship.builder() + .data( + Relationship.builder() + .id( + "8bfe4c1b-9e18-45b1-83be-124163f31f9e") + .build()) + .build()) + .build()) + .type(ServiceBindingType.APPLICATION) + .build()) + .as(StepVerifier::create) + .expectNext( + CreateServiceBindingResponse.builder() + .jobId("af5c57f6-8769-41fa-a499-2c84ed896788") + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void delete() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(DELETE).path("/service_credential_bindings/test-service-binding-id") - .build()) - .response(TestResponse.builder() - .status(NO_CONTENT) - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(DELETE) + .path( + "/service_credential_bindings/test-service-binding-id") + .build()) + .response(TestResponse.builder().status(NO_CONTENT).build()) + .build()); this.serviceBindings - .delete(DeleteServiceBindingRequest.builder() - .serviceBindingId("test-service-binding-id") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .delete( + DeleteServiceBindingRequest.builder() + .serviceBindingId("test-service-binding-id") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void get() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/service_credential_bindings/test-service-binding-id") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v3/servicebindings/GET_{id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path( + "/service_credential_bindings/test-service-binding-id") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v3/servicebindings/GET_{id}_response.json") + .build()) + .build()); this.serviceBindings - .get(GetServiceBindingRequest.builder() - .serviceBindingId("test-service-binding-id") - .build()) - .as(StepVerifier::create) - .expectNext(GetServiceBindingResponse.builder() - .id("dde5ad2a-d8f4-44dc-a56f-0452d744f1c3") - .type(ServiceBindingType.APPLICATION) - .relationships(ServiceBindingRelationships.builder() - .application(ToOneRelationship.builder() - .data(Relationship.builder() - .id("74f7c078-0934-470f-9883-4fddss5b8f13") - .build()) - .build()) - .serviceInstance(ToOneRelationship.builder() - .data(Relationship.builder() - .id("8bfe4c1b-9e18-45b1-83be-124163f31f9e") - .build()) - .build()) - .build()) - .createdAt("2015-11-13T17:02:56Z") - .link("self", Link.builder() - .href("/v3/service_credential_bindings/dde5ad2a-d8f4-44dc-a56f-0452d744f1c3") - .build()) - .link("service_instance", Link.builder() - .href("/v3/service_instances/8bfe4c1b-9e18-45b1-83be-124163f31f9e") - .build()) - .link("app", Link.builder() - .href("/v3/apps/74f7c078-0934-470f-9883-4fddss5b8f13") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .get( + GetServiceBindingRequest.builder() + .serviceBindingId("test-service-binding-id") + .build()) + .as(StepVerifier::create) + .expectNext( + GetServiceBindingResponse.builder() + .id("dde5ad2a-d8f4-44dc-a56f-0452d744f1c3") + .type(ServiceBindingType.APPLICATION) + .relationships( + ServiceBindingRelationships.builder() + .application( + ToOneRelationship.builder() + .data( + Relationship.builder() + .id( + "74f7c078-0934-470f-9883-4fddss5b8f13") + .build()) + .build()) + .serviceInstance( + ToOneRelationship.builder() + .data( + Relationship.builder() + .id( + "8bfe4c1b-9e18-45b1-83be-124163f31f9e") + .build()) + .build()) + .build()) + .createdAt("2015-11-13T17:02:56Z") + .link( + "self", + Link.builder() + .href( + "/v3/service_credential_bindings/dde5ad2a-d8f4-44dc-a56f-0452d744f1c3") + .build()) + .link( + "service_instance", + Link.builder() + .href( + "/v3/service_instances/8bfe4c1b-9e18-45b1-83be-124163f31f9e") + .build()) + .link( + "app", + Link.builder() + .href( + "/v3/apps/74f7c078-0934-470f-9883-4fddss5b8f13") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void list() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/service_credential_bindings?app_guids=test-application-id&order_by=%2Bcreated_at&page=1") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v3/servicebindings/GET_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path( + "/service_credential_bindings?app_guids=test-application-id&order_by=%2Bcreated_at&page=1") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v3/servicebindings/GET_response.json") + .build()) + .build()); this.serviceBindings - .list(ListServiceBindingsRequest.builder() - .page(1) - .orderBy("+created_at") - .applicationId("test-application-id") - .build()) - .as(StepVerifier::create) - .expectNext(ListServiceBindingsResponse.builder() - .pagination(Pagination.builder() - .totalResults(3) - .first(Link.builder() - .href("/v3/service_credential_bindings?page=1&per_page=2") - .build()) - .last(Link.builder() - .href("/v3/service_credential_bindings?page=2&per_page=2") - .build()) - .next(Link.builder() - .href("/v3/service_credential_bindings?page=2&per_page=2") - .build()) - .build()) - .resource(ServiceBindingResource.builder() - .id("dde5ad2a-d8f4-44dc-a56f-0452d744f1c3") - .type(ServiceBindingType.APPLICATION) - .relationships(ServiceBindingRelationships.builder() - .application(ToOneRelationship.builder() - .data(Relationship.builder() - .id("74f7c078-0934-470f-9883-4fddss5b8f13") + .list( + ListServiceBindingsRequest.builder() + .page(1) + .orderBy("+created_at") + .applicationId("test-application-id") .build()) - .build()) - .serviceInstance(ToOneRelationship.builder() - .data(Relationship.builder() - .id("8bfe4c1b-9e18-45b1-83be-124163f31f9e") + .as(StepVerifier::create) + .expectNext( + ListServiceBindingsResponse.builder() + .pagination( + Pagination.builder() + .totalResults(3) + .first( + Link.builder() + .href( + "/v3/service_credential_bindings?page=1&per_page=2") + .build()) + .last( + Link.builder() + .href( + "/v3/service_credential_bindings?page=2&per_page=2") + .build()) + .next( + Link.builder() + .href( + "/v3/service_credential_bindings?page=2&per_page=2") + .build()) + .build()) + .resource( + ServiceBindingResource.builder() + .id("dde5ad2a-d8f4-44dc-a56f-0452d744f1c3") + .type(ServiceBindingType.APPLICATION) + .relationships( + ServiceBindingRelationships.builder() + .application( + ToOneRelationship.builder() + .data( + Relationship + .builder() + .id( + "74f7c078-0934-470f-9883-4fddss5b8f13") + .build()) + .build()) + .serviceInstance( + ToOneRelationship.builder() + .data( + Relationship + .builder() + .id( + "8bfe4c1b-9e18-45b1-83be-124163f31f9e") + .build()) + .build()) + .build()) + .createdAt("2015-11-13T17:02:56Z") + .link( + "self", + Link.builder() + .href( + "/v3/service_credential_bindings/dde5ad2a-d8f4-44dc-a56f-0452d744f1c3") + .build()) + .link( + "service_instance", + Link.builder() + .href( + "/v3/service_instances/8bfe4c1b-9e18-45b1-83be-124163f31f9e") + .build()) + .link( + "app", + Link.builder() + .href( + "/v3/apps/74f7c078-0934-470f-9883-4fddss5b8f13") + .build()) + .build()) + .resource( + ServiceBindingResource.builder() + .id("7aa37bad-6ccb-4ef9-ba48-9ce3a91b2b62") + .type(ServiceBindingType.APPLICATION) + .relationships( + ServiceBindingRelationships.builder() + .application( + ToOneRelationship.builder() + .data( + Relationship + .builder() + .id( + "74f7c078-0934-470f-9883-4fddss5b8f13") + .build()) + .build()) + .serviceInstance( + ToOneRelationship.builder() + .data( + Relationship + .builder() + .id( + "8bf356j3-9e18-45b1-3333-124163f31f9e") + .build()) + .build()) + .build()) + .createdAt("2015-11-13T17:02:56Z") + .link( + "self", + Link.builder() + .href( + "/v3/service_credential_bindings/7aa37bad-6ccb-4ef9-ba48-9ce3a91b2b62") + .build()) + .link( + "service_instance", + Link.builder() + .href( + "/v3/service_instances/8bf356j3-9e18-45b1-3333-124163f31f9e") + .build()) + .link( + "app", + Link.builder() + .href( + "/v3/apps/74f7c078-0934-470f-9883-4fddss5b8f13") + .build()) + .build()) .build()) - .build()) - .build()) - .createdAt("2015-11-13T17:02:56Z") - .link("self", Link.builder() - .href("/v3/service_credential_bindings/dde5ad2a-d8f4-44dc-a56f-0452d744f1c3") - .build()) - .link("service_instance", Link.builder() - .href("/v3/service_instances/8bfe4c1b-9e18-45b1-83be-124163f31f9e") - .build()) - .link("app", Link.builder() - .href("/v3/apps/74f7c078-0934-470f-9883-4fddss5b8f13") - .build()) - .build()) - .resource(ServiceBindingResource.builder() - .id("7aa37bad-6ccb-4ef9-ba48-9ce3a91b2b62") - .type(ServiceBindingType.APPLICATION) - .relationships(ServiceBindingRelationships.builder() - .application(ToOneRelationship.builder() - .data(Relationship.builder() - .id("74f7c078-0934-470f-9883-4fddss5b8f13") - .build()) - .build()) - .serviceInstance(ToOneRelationship.builder() - .data(Relationship.builder() - .id("8bf356j3-9e18-45b1-3333-124163f31f9e") - .build()) - .build()) - .build()) - .createdAt("2015-11-13T17:02:56Z") - .link("self", Link.builder() - .href("/v3/service_credential_bindings/7aa37bad-6ccb-4ef9-ba48-9ce3a91b2b62") - .build()) - .link("service_instance", Link.builder() - .href("/v3/service_instances/8bf356j3-9e18-45b1-3333-124163f31f9e") - .build()) - .link("app", Link.builder() - .href("/v3/apps/74f7c078-0934-470f-9883-4fddss5b8f13") - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .expectComplete() + .verify(Duration.ofSeconds(5)); } - } diff --git a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v3/servicebrokers/ReactorServiceBrokersV3Test.java b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v3/servicebrokers/ReactorServiceBrokersV3Test.java index af9fe71d1f..192bfe614a 100644 --- a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v3/servicebrokers/ReactorServiceBrokersV3Test.java +++ b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v3/servicebrokers/ReactorServiceBrokersV3Test.java @@ -1,8 +1,9 @@ package org.cloudfoundry.reactor.client.v3.servicebrokers; +import io.netty.handler.codec.http.HttpMethod; +import io.netty.handler.codec.http.HttpResponseStatus; import java.time.Duration; import java.util.Collections; - import org.cloudfoundry.client.v3.Link; import org.cloudfoundry.client.v3.Metadata; import org.cloudfoundry.client.v3.Pagination; @@ -24,289 +25,403 @@ import org.cloudfoundry.reactor.TestResponse; import org.cloudfoundry.reactor.client.AbstractClientApiTest; import org.junit.Test; - -import io.netty.handler.codec.http.HttpMethod; -import io.netty.handler.codec.http.HttpResponseStatus; import reactor.test.StepVerifier; public final class ReactorServiceBrokersV3Test extends AbstractClientApiTest { - private final ReactorServiceBrokersV3 serviceBrokersV3 = new ReactorServiceBrokersV3(CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); - + private final ReactorServiceBrokersV3 serviceBrokersV3 = + new ReactorServiceBrokersV3( + CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); + @Test public void create() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(HttpMethod.POST).path("/service_brokers") - .payload("fixtures/client/v3/service_brokers/POST_request.json") - .build()) - .response(TestResponse.builder() - .status(HttpResponseStatus.ACCEPTED) - .header("Location", "https://api.example.org/v3/jobs/af5c57f6-8769-41fa-a499-2c84ed896788") - .build()) - .build()); - - this.serviceBrokersV3 - .create(CreateServiceBrokerRequest.builder() - .name("my_service_broker") - .url("https://example.service-broker.com") - .authentication(BasicAuthentication.builder() - .username("us3rn4me") - .password("p4ssw0rd") - .build()) - .relationships(ServiceBrokerRelationships.builder() - .space(ToOneRelationship.builder() - .data(Relationship.builder() - .id("2f35885d-0c9d-4423-83ad-fd05066f8576") - .build()) - .build()) - .build()) - .build()) - .as(StepVerifier::create) - .expectNext("af5c57f6-8769-41fa-a499-2c84ed896788") - .expectComplete() - .verify(Duration.ofSeconds(5)); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(HttpMethod.POST) + .path("/service_brokers") + .payload( + "fixtures/client/v3/service_brokers/POST_request.json") + .build()) + .response( + TestResponse.builder() + .status(HttpResponseStatus.ACCEPTED) + .header( + "Location", + "https://api.example.org/v3/jobs/af5c57f6-8769-41fa-a499-2c84ed896788") + .build()) + .build()); + + this.serviceBrokersV3 + .create( + CreateServiceBrokerRequest.builder() + .name("my_service_broker") + .url("https://example.service-broker.com") + .authentication( + BasicAuthentication.builder() + .username("us3rn4me") + .password("p4ssw0rd") + .build()) + .relationships( + ServiceBrokerRelationships.builder() + .space( + ToOneRelationship.builder() + .data( + Relationship.builder() + .id( + "2f35885d-0c9d-4423-83ad-fd05066f8576") + .build()) + .build()) + .build()) + .build()) + .as(StepVerifier::create) + .expectNext("af5c57f6-8769-41fa-a499-2c84ed896788") + .expectComplete() + .verify(Duration.ofSeconds(5)); } - + @Test public void delete() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(HttpMethod.DELETE).path("/service_brokers/test-service-broker-id") - .build()) - .response(TestResponse.builder() - .status(HttpResponseStatus.ACCEPTED) - .header("Location", "https://api.example.org/v3/jobs/af5c57f6-8769-41fa-a499-2c84ed896788") - .build()) - .build()); - - this.serviceBrokersV3 - .delete(DeleteServiceBrokerRequest.builder() - .serviceBrokerId("test-service-broker-id") - .build()) - .as(StepVerifier::create) - .expectNext("af5c57f6-8769-41fa-a499-2c84ed896788") - .expectComplete() - .verify(Duration.ofSeconds(5)); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(HttpMethod.DELETE) + .path("/service_brokers/test-service-broker-id") + .build()) + .response( + TestResponse.builder() + .status(HttpResponseStatus.ACCEPTED) + .header( + "Location", + "https://api.example.org/v3/jobs/af5c57f6-8769-41fa-a499-2c84ed896788") + .build()) + .build()); + + this.serviceBrokersV3 + .delete( + DeleteServiceBrokerRequest.builder() + .serviceBrokerId("test-service-broker-id") + .build()) + .as(StepVerifier::create) + .expectNext("af5c57f6-8769-41fa-a499-2c84ed896788") + .expectComplete() + .verify(Duration.ofSeconds(5)); } - + @Test public void get() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(HttpMethod.GET).path("/service_brokers/test-service-broker-id") - .build()) - .response(TestResponse.builder() - .status(HttpResponseStatus.OK) - .payload("fixtures/client/v3/service_brokers/GET_{id}_response.json") - .build()) - .build()); - - this.serviceBrokersV3 - .get(GetServiceBrokerRequest.builder() - .serviceBrokerId("test-service-broker-id") - .build()) - .as(StepVerifier::create) - .expectNext(GetServiceBrokerResponse.builder() - .id("dde5ad2a-d8f4-44dc-a56f-0452d744f1c3") - .name("my_service_broker") - .url("https://example.service-broker.com") - .createdAt("2015-11-13T17:02:56Z") - .updatedAt("2016-06-08T16:41:26Z") - .relationships(ServiceBrokerRelationships.builder() - .space(ToOneRelationship.builder() - .data(Relationship.builder() - .id("2f35885d-0c9d-4423-83ad-fd05066f8576") - .build()) - .build()) - .build()) - .metadata(Metadata.builder() - .label("type", "dev") - .annotations(Collections.emptyMap()) - .build()) - .link("self", Link.builder() - .href("https://api.example.org/v3/service_brokers/dde5ad2a-d8f4-44dc-a56f-0452d744f1c3") - .build()) - .link("service_offerings", Link.builder() - .href("https://api.example.org/v3/service_offerings?service_broker_guids=dde5ad2a-d8f4-44dc-a56f-0452d744f1c3") - .build()) - .link("space", Link.builder() - .href("https://api.example.org/v3/spaces/2f35885d-0c9d-4423-83ad-fd05066f8576") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(HttpMethod.GET) + .path("/service_brokers/test-service-broker-id") + .build()) + .response( + TestResponse.builder() + .status(HttpResponseStatus.OK) + .payload( + "fixtures/client/v3/service_brokers/GET_{id}_response.json") + .build()) + .build()); + + this.serviceBrokersV3 + .get( + GetServiceBrokerRequest.builder() + .serviceBrokerId("test-service-broker-id") + .build()) + .as(StepVerifier::create) + .expectNext( + GetServiceBrokerResponse.builder() + .id("dde5ad2a-d8f4-44dc-a56f-0452d744f1c3") + .name("my_service_broker") + .url("https://example.service-broker.com") + .createdAt("2015-11-13T17:02:56Z") + .updatedAt("2016-06-08T16:41:26Z") + .relationships( + ServiceBrokerRelationships.builder() + .space( + ToOneRelationship.builder() + .data( + Relationship.builder() + .id( + "2f35885d-0c9d-4423-83ad-fd05066f8576") + .build()) + .build()) + .build()) + .metadata( + Metadata.builder() + .label("type", "dev") + .annotations(Collections.emptyMap()) + .build()) + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/service_brokers/dde5ad2a-d8f4-44dc-a56f-0452d744f1c3") + .build()) + .link( + "service_offerings", + Link.builder() + .href( + "https://api.example.org/v3/service_offerings?service_broker_guids=dde5ad2a-d8f4-44dc-a56f-0452d744f1c3") + .build()) + .link( + "space", + Link.builder() + .href( + "https://api.example.org/v3/spaces/2f35885d-0c9d-4423-83ad-fd05066f8576") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } - + @Test public void list() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(HttpMethod.GET).path("/service_brokers") - .build()) - .response(TestResponse.builder() - .status(HttpResponseStatus.OK) - .payload("fixtures/client/v3/service_brokers/GET_response.json") - .build()) - .build()); - - this.serviceBrokersV3 - .list(ListServiceBrokersRequest.builder() - .build()) - .as(StepVerifier::create) - .expectNext(ListServiceBrokersResponse.builder() - .pagination(Pagination.builder() - .totalResults(3) - .totalPages(2) - .first(Link.builder() - .href("https://api.example.org/v3/service_brokers?page=1&per_page=2") - .build()) - .last(Link.builder() - .href("https://api.example.org/v3/service_brokers?page=2&per_page=2") - .build()) - .next(Link.builder() - .href("https://api.example.org/v3/service_brokers?page=2&per_page=2") - .build()) - .build()) - .resource(ServiceBrokerResource.builder() - .id("dde5ad2a-d8f4-44dc-a56f-0452d744f1c3") - .name("my_service_broker") - .url("https://example.service-broker.com") - .createdAt("2015-11-13T17:02:56Z") - .updatedAt("2016-06-08T16:41:26Z") - .relationships(ServiceBrokerRelationships.builder() - .build()) - .metadata(Metadata.builder() - .labels(Collections.emptyMap()) - .annotations(Collections.emptyMap()) - .build()) - .link("self", Link.builder() - .href("https://api.example.org/v3/service_brokers/dde5ad2a-d8f4-44dc-a56f-0452d744f1c3") - .build()) - .link("service_offerings", Link.builder() - .href("https://api.example.org/v3/service_offerings?service_broker_guids=dde5ad2a-d8f4-44dc-a56f-0452d744f1c3") - .build()) - .build()) - .resource(ServiceBrokerResource.builder() - .id("7aa37bad-6ccb-4ef9-ba48-9ce3a91b2b62") - .name("another_service_broker") - .url("https://another-example.service-broker.com") - .createdAt("2015-11-13T17:02:56Z") - .updatedAt("2016-06-08T16:41:26Z") - .relationships(ServiceBrokerRelationships.builder() - .space(ToOneRelationship.builder() - .data(Relationship.builder() - .id("2f35885d-0c9d-4423-83ad-fd05066f8576") - .build()) - .build()) - .build()) - .metadata(Metadata.builder() - .labels(Collections.emptyMap()) - .annotations(Collections.emptyMap()) - .build()) - .link("self", Link.builder() - .href("https://api.example.org/v3/service_brokers/7aa37bad-6ccb-4ef9-ba48-9ce3a91b2b62") - .build()) - .link("service_offerings", Link.builder() - .href("https://api.example.org/v3/service_offerings?service_broker_guids=7aa37bad-6ccb-4ef9-ba48-9ce3a91b2b62") - .build()) - .link("space", Link.builder() - .href("https://api.example.org/v3/spaces/2f35885d-0c9d-4423-83ad-fd05066f8576") - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(HttpMethod.GET) + .path("/service_brokers") + .build()) + .response( + TestResponse.builder() + .status(HttpResponseStatus.OK) + .payload( + "fixtures/client/v3/service_brokers/GET_response.json") + .build()) + .build()); + + this.serviceBrokersV3 + .list(ListServiceBrokersRequest.builder().build()) + .as(StepVerifier::create) + .expectNext( + ListServiceBrokersResponse.builder() + .pagination( + Pagination.builder() + .totalResults(3) + .totalPages(2) + .first( + Link.builder() + .href( + "https://api.example.org/v3/service_brokers?page=1&per_page=2") + .build()) + .last( + Link.builder() + .href( + "https://api.example.org/v3/service_brokers?page=2&per_page=2") + .build()) + .next( + Link.builder() + .href( + "https://api.example.org/v3/service_brokers?page=2&per_page=2") + .build()) + .build()) + .resource( + ServiceBrokerResource.builder() + .id("dde5ad2a-d8f4-44dc-a56f-0452d744f1c3") + .name("my_service_broker") + .url("https://example.service-broker.com") + .createdAt("2015-11-13T17:02:56Z") + .updatedAt("2016-06-08T16:41:26Z") + .relationships( + ServiceBrokerRelationships.builder() + .build()) + .metadata( + Metadata.builder() + .labels(Collections.emptyMap()) + .annotations(Collections.emptyMap()) + .build()) + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/service_brokers/dde5ad2a-d8f4-44dc-a56f-0452d744f1c3") + .build()) + .link( + "service_offerings", + Link.builder() + .href( + "https://api.example.org/v3/service_offerings?service_broker_guids=dde5ad2a-d8f4-44dc-a56f-0452d744f1c3") + .build()) + .build()) + .resource( + ServiceBrokerResource.builder() + .id("7aa37bad-6ccb-4ef9-ba48-9ce3a91b2b62") + .name("another_service_broker") + .url("https://another-example.service-broker.com") + .createdAt("2015-11-13T17:02:56Z") + .updatedAt("2016-06-08T16:41:26Z") + .relationships( + ServiceBrokerRelationships.builder() + .space( + ToOneRelationship.builder() + .data( + Relationship + .builder() + .id( + "2f35885d-0c9d-4423-83ad-fd05066f8576") + .build()) + .build()) + .build()) + .metadata( + Metadata.builder() + .labels(Collections.emptyMap()) + .annotations(Collections.emptyMap()) + .build()) + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/service_brokers/7aa37bad-6ccb-4ef9-ba48-9ce3a91b2b62") + .build()) + .link( + "service_offerings", + Link.builder() + .href( + "https://api.example.org/v3/service_offerings?service_broker_guids=7aa37bad-6ccb-4ef9-ba48-9ce3a91b2b62") + .build()) + .link( + "space", + Link.builder() + .href( + "https://api.example.org/v3/spaces/2f35885d-0c9d-4423-83ad-fd05066f8576") + .build()) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } - + @Test public void update() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(HttpMethod.PATCH).path("/service_brokers/test-service-broker-id") - .payload("fixtures/client/v3/service_brokers/PATCH_{id}_request.json") - .build()) - .response(TestResponse.builder() - .status(HttpResponseStatus.ACCEPTED) - .header("Location", "https://api.example.org/v3/jobs/af5c57f6-8769-41fa-a499-2c84ed896788") - .build()) - .build()); - - this.serviceBrokersV3 - .update(UpdateServiceBrokerRequest.builder() - .serviceBrokerId("test-service-broker-id") - .name("my_service_broker") - .url("https://example.service-broker.com") - .authentication(BasicAuthentication.builder() - .username("us3rn4me") - .password("p4ssw0rd") - .build()) - .metadata(Metadata.builder() - .label("key", "value") - .annotation("note", "detailed information") - .build()) - .build()) - .doOnSuccess(response -> System.out.println(response)) - .as(StepVerifier::create) - .expectNext(UpdateServiceBrokerResponse.builder().jobId("af5c57f6-8769-41fa-a499-2c84ed896788").build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(HttpMethod.PATCH) + .path("/service_brokers/test-service-broker-id") + .payload( + "fixtures/client/v3/service_brokers/PATCH_{id}_request.json") + .build()) + .response( + TestResponse.builder() + .status(HttpResponseStatus.ACCEPTED) + .header( + "Location", + "https://api.example.org/v3/jobs/af5c57f6-8769-41fa-a499-2c84ed896788") + .build()) + .build()); + + this.serviceBrokersV3 + .update( + UpdateServiceBrokerRequest.builder() + .serviceBrokerId("test-service-broker-id") + .name("my_service_broker") + .url("https://example.service-broker.com") + .authentication( + BasicAuthentication.builder() + .username("us3rn4me") + .password("p4ssw0rd") + .build()) + .metadata( + Metadata.builder() + .label("key", "value") + .annotation("note", "detailed information") + .build()) + .build()) + .doOnSuccess(response -> System.out.println(response)) + .as(StepVerifier::create) + .expectNext( + UpdateServiceBrokerResponse.builder() + .jobId("af5c57f6-8769-41fa-a499-2c84ed896788") + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void updateMetadata() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(HttpMethod.PATCH).path("/service_brokers/test-service-broker-id") - .payload("fixtures/client/v3/service_brokers/PATCH_{id}_metadata_request.json") - .build()) - .response(TestResponse.builder() - .status(HttpResponseStatus.OK) - .payload("fixtures/client/v3/service_brokers/PATCH_{id}_metadata_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(HttpMethod.PATCH) + .path("/service_brokers/test-service-broker-id") + .payload( + "fixtures/client/v3/service_brokers/PATCH_{id}_metadata_request.json") + .build()) + .response( + TestResponse.builder() + .status(HttpResponseStatus.OK) + .payload( + "fixtures/client/v3/service_brokers/PATCH_{id}_metadata_response.json") + .build()) + .build()); - this.serviceBrokersV3 - .update(UpdateServiceBrokerRequest.builder() - .serviceBrokerId("test-service-broker-id") - .metadata(Metadata.builder() - .label("type", "dev") - .annotations(Collections.emptyMap()) - .build()) - .build()) - .doOnSuccess(response -> System.out.println(response)) - .as(StepVerifier::create) - .expectNext(UpdateServiceBrokerResponse.builder() - .serviceBroker(ServiceBrokerResource.builder() - .id("dde5ad2a-d8f4-44dc-a56f-0452d744f1c3") - .name("my_service_broker") - .url("https://example.service-broker.com") - .createdAt("2015-11-13T17:02:56Z") - .updatedAt("2016-06-08T16:41:26Z") - .relationships(ServiceBrokerRelationships.builder() - .space(ToOneRelationship.builder() - .data(Relationship.builder() - .id("2f35885d-0c9d-4423-83ad-fd05066f8576") - .build()) - .build()) - .build()) - .metadata(Metadata.builder() - .label("type", "dev") - .annotations(Collections.emptyMap()) - .build()) - .link("self", Link.builder() - .href("https://api.example.org/v3/service_brokers/dde5ad2a-d8f4-44dc-a56f-0452d744f1c3") - .build()) - .link("service_offerings", Link.builder() - .href("https://api.example.org/v3/service_offerings?service_broker_guids=dde5ad2a-d8f4-44dc-a56f-0452d744f1c3") - .build()) - .link("space", Link.builder() - .href("https://api.example.org/v3/spaces/2f35885d-0c9d-4423-83ad-fd05066f8576") - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + this.serviceBrokersV3 + .update( + UpdateServiceBrokerRequest.builder() + .serviceBrokerId("test-service-broker-id") + .metadata( + Metadata.builder() + .label("type", "dev") + .annotations(Collections.emptyMap()) + .build()) + .build()) + .doOnSuccess(response -> System.out.println(response)) + .as(StepVerifier::create) + .expectNext( + UpdateServiceBrokerResponse.builder() + .serviceBroker( + ServiceBrokerResource.builder() + .id("dde5ad2a-d8f4-44dc-a56f-0452d744f1c3") + .name("my_service_broker") + .url("https://example.service-broker.com") + .createdAt("2015-11-13T17:02:56Z") + .updatedAt("2016-06-08T16:41:26Z") + .relationships( + ServiceBrokerRelationships.builder() + .space( + ToOneRelationship.builder() + .data( + Relationship + .builder() + .id( + "2f35885d-0c9d-4423-83ad-fd05066f8576") + .build()) + .build()) + .build()) + .metadata( + Metadata.builder() + .label("type", "dev") + .annotations(Collections.emptyMap()) + .build()) + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/service_brokers/dde5ad2a-d8f4-44dc-a56f-0452d744f1c3") + .build()) + .link( + "service_offerings", + Link.builder() + .href( + "https://api.example.org/v3/service_offerings?service_broker_guids=dde5ad2a-d8f4-44dc-a56f-0452d744f1c3") + .build()) + .link( + "space", + Link.builder() + .href( + "https://api.example.org/v3/spaces/2f35885d-0c9d-4423-83ad-fd05066f8576") + .build()) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } - } diff --git a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v3/serviceofferings/ReactorServiceOfferingsTest.java b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v3/serviceofferings/ReactorServiceOfferingsTest.java index 433409e89c..34bf27d03e 100644 --- a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v3/serviceofferings/ReactorServiceOfferingsTest.java +++ b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v3/serviceofferings/ReactorServiceOfferingsTest.java @@ -16,6 +16,15 @@ package org.cloudfoundry.reactor.client.v3.serviceofferings; +import static io.netty.handler.codec.http.HttpMethod.DELETE; +import static io.netty.handler.codec.http.HttpMethod.GET; +import static io.netty.handler.codec.http.HttpMethod.PATCH; +import static io.netty.handler.codec.http.HttpResponseStatus.CREATED; +import static io.netty.handler.codec.http.HttpResponseStatus.NO_CONTENT; +import static io.netty.handler.codec.http.HttpResponseStatus.OK; + +import java.time.Duration; +import java.util.Collections; import org.cloudfoundry.client.v3.Link; import org.cloudfoundry.client.v3.Metadata; import org.cloudfoundry.client.v3.Pagination; @@ -39,292 +48,401 @@ import org.junit.Test; import reactor.test.StepVerifier; -import java.time.Duration; -import java.util.Collections; - -import static io.netty.handler.codec.http.HttpMethod.DELETE; -import static io.netty.handler.codec.http.HttpMethod.GET; -import static io.netty.handler.codec.http.HttpMethod.PATCH; -import static io.netty.handler.codec.http.HttpResponseStatus.CREATED; -import static io.netty.handler.codec.http.HttpResponseStatus.NO_CONTENT; -import static io.netty.handler.codec.http.HttpResponseStatus.OK; - public final class ReactorServiceOfferingsTest extends AbstractClientApiTest { - private final ReactorServiceOfferingsV3 serviceOfferings = new ReactorServiceOfferingsV3(CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); + private final ReactorServiceOfferingsV3 serviceOfferings = + new ReactorServiceOfferingsV3( + CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); @Test public void delete() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(DELETE).path("/service_offerings/test-service-offering-id") - .build()) - .response(TestResponse.builder() - .status(NO_CONTENT) - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(DELETE) + .path("/service_offerings/test-service-offering-id") + .build()) + .response(TestResponse.builder().status(NO_CONTENT).build()) + .build()); this.serviceOfferings - .delete(DeleteServiceOfferingRequest.builder() - .serviceOfferingId("test-service-offering-id") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .delete( + DeleteServiceOfferingRequest.builder() + .serviceOfferingId("test-service-offering-id") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void get() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/service_offerings/test-service-offering-id") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v3/serviceofferings/GET_{id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/service_offerings/test-service-offering-id") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v3/serviceofferings/GET_{id}_response.json") + .build()) + .build()); this.serviceOfferings - .get(GetServiceOfferingRequest.builder() - .serviceOfferingId("test-service-offering-id") - .build()) - .as(StepVerifier::create) - .expectNext(GetServiceOfferingResponse.builder() - .id("bf7eb420-11e5-11ea-b7db-4b5d5e7976a9") - .name("my_service_offering") - .description("Provides my service") - .available(true) - .tags("relational", "caching") - .requires(Collections.emptyList()) - .createdAt("2019-11-28T13:44:02Z") - .updatedAt("2019-11-28T13:44:02Z") - .shareable(true) - .documentationUrl("https://some-documentation-link.io") - .brokerCatalog(BrokerCatalog.builder() - .brokerCatalogId("db730a8c-11e5-11ea-838a-0f4fff3b1cfb") - .metadata(Collections.singletonMap("shareable", true)) - .features(Features.builder() - .planUpdateable(true) - .bindable(true) - .instancesRetrievable(true) - .bindingsRetrievable(true) - .allowContextUpdates(false) - .build()) - .build()) - .relationships(ServiceOfferingRelationships.builder() - .serviceBroker(ToOneRelationship.builder() - .data(Relationship.builder() - .id("13c60e38-11e7-11ea-9106-33ee3c5bd4d7") - .build()) - .build()) - .build()) - .metadata(Metadata.builder() - .annotations(Collections.emptyMap()) - .labels(Collections.emptyMap()) - .build()) - .link("self", Link.builder() - .href("https://api.example.org/v3/service_offerings/bf7eb420-11e5-11ea-b7db-4b5d5e7976a") - .build()) - .link("service_plans", Link.builder() - .href("https://api.example.org/v3/service_plans?service_offering_guids=bf7eb420-11e5-11ea-b7db-4b5d5e7976a") - .build()) - .link("service_broker", Link.builder() - .href("https://api.example.org/v3/service_brokers/13c60e38-11e7-11ea-9106-33ee3c5bd4d7") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .get( + GetServiceOfferingRequest.builder() + .serviceOfferingId("test-service-offering-id") + .build()) + .as(StepVerifier::create) + .expectNext( + GetServiceOfferingResponse.builder() + .id("bf7eb420-11e5-11ea-b7db-4b5d5e7976a9") + .name("my_service_offering") + .description("Provides my service") + .available(true) + .tags("relational", "caching") + .requires(Collections.emptyList()) + .createdAt("2019-11-28T13:44:02Z") + .updatedAt("2019-11-28T13:44:02Z") + .shareable(true) + .documentationUrl("https://some-documentation-link.io") + .brokerCatalog( + BrokerCatalog.builder() + .brokerCatalogId( + "db730a8c-11e5-11ea-838a-0f4fff3b1cfb") + .metadata( + Collections.singletonMap("shareable", true)) + .features( + Features.builder() + .planUpdateable(true) + .bindable(true) + .instancesRetrievable(true) + .bindingsRetrievable(true) + .allowContextUpdates(false) + .build()) + .build()) + .relationships( + ServiceOfferingRelationships.builder() + .serviceBroker( + ToOneRelationship.builder() + .data( + Relationship.builder() + .id( + "13c60e38-11e7-11ea-9106-33ee3c5bd4d7") + .build()) + .build()) + .build()) + .metadata( + Metadata.builder() + .annotations(Collections.emptyMap()) + .labels(Collections.emptyMap()) + .build()) + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/service_offerings/bf7eb420-11e5-11ea-b7db-4b5d5e7976a") + .build()) + .link( + "service_plans", + Link.builder() + .href( + "https://api.example.org/v3/service_plans?service_offering_guids=bf7eb420-11e5-11ea-b7db-4b5d5e7976a") + .build()) + .link( + "service_broker", + Link.builder() + .href( + "https://api.example.org/v3/service_brokers/13c60e38-11e7-11ea-9106-33ee3c5bd4d7") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void list() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/service_offerings") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v3/serviceofferings/GET_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/service_offerings") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v3/serviceofferings/GET_response.json") + .build()) + .build()); this.serviceOfferings - .list(ListServiceOfferingsRequest.builder() - .build()) - .as(StepVerifier::create) - .expectNext(ListServiceOfferingsResponse.builder() - .pagination(Pagination.builder() - .totalResults(3) - .totalPages(2) - .first(Link.builder() - .href("https://api.example.org/v3/service_offerings?page=1&per_page=2") - .build()) - .last(Link.builder() - .href("https://api.example.org/v3/service_offerings?page=2&per_page=2") - .build()) - .next(Link.builder() - .href("https://api.example.org/v3/service_offerings?page=2&per_page=2") - .build()) - .build()) - .resource(ServiceOfferingResource.builder() - .id("bf7eb420-11e5-11ea-b7db-4b5d5e7976a9") - .name("my_service_offering") - .description("Provides my service") - .available(true) - .tags("relational", "caching") - .requires(Collections.emptyList()) - .createdAt("2019-11-28T13:44:02Z") - .updatedAt("2019-11-28T13:44:02Z") - .shareable(true) - .documentationUrl("https://some-documentation-link.io") - .brokerCatalog(BrokerCatalog.builder() - .brokerCatalogId("db730a8c-11e5-11ea-838a-0f4fff3b1cfb") - .metadata(Collections.singletonMap("shareable", true)) - .features(Features.builder() - .planUpdateable(true) - .bindable(true) - .instancesRetrievable(true) - .bindingsRetrievable(true) - .allowContextUpdates(false) - .build()) - .build()) - .relationships(ServiceOfferingRelationships.builder() - .serviceBroker(ToOneRelationship.builder() - .data(Relationship.builder() - .id("13c60e38-11e7-11ea-9106-33ee3c5bd4d7") - .build()) - .build()) - .build()) - .metadata(Metadata.builder() - .annotations(Collections.emptyMap()) - .labels(Collections.emptyMap()) - .build()) - .link("self", Link.builder() - .href("https://api.example.org/v3/service_offerings/bf7eb420-11e5-11ea-b7db-4b5d5e7976a") - .build()) - .link("service_plans", Link.builder() - .href("https://api.example.org/v3/service_plans?service_offering_guids=bf7eb420-11e5-11ea-b7db-4b5d5e7976a") - .build()) - .link("service_broker", Link.builder() - .href("https://api.example.org/v3/service_brokers/13c60e38-11e7-11ea-9106-33ee3c5bd4d7") - .build()) - .build()) - .resource(ServiceOfferingResource.builder() - .id("20e6cd62-12bb-11ea-90d1-7bfec2c75bcd") - .name("other_service_offering") - .description("Provides another service") - .available(true) - .tag("caching") - .requires(Collections.emptyList()) - .createdAt("2019-11-29T16:44:02Z") - .updatedAt("2019-11-29T16:44:02Z") - .shareable(true) - .documentationUrl("https://some-other-documentation-link.io") - .brokerCatalog(BrokerCatalog.builder() - .brokerCatalogId("3cb11822-12bb-11ea-beb1-a350dc7453b9") - .metadata(Collections.singletonMap("shareable", true)) - .features(Features.builder() - .planUpdateable(true) - .bindable(true) - .instancesRetrievable(true) - .bindingsRetrievable(true) - .allowContextUpdates(false) - .build()) - .build()) - .relationships(ServiceOfferingRelationships.builder() - .serviceBroker(ToOneRelationship.builder() - .data(Relationship.builder() - .id("13c60e38-11e7-11ea-9106-33ee3c5bd4d7") + .list(ListServiceOfferingsRequest.builder().build()) + .as(StepVerifier::create) + .expectNext( + ListServiceOfferingsResponse.builder() + .pagination( + Pagination.builder() + .totalResults(3) + .totalPages(2) + .first( + Link.builder() + .href( + "https://api.example.org/v3/service_offerings?page=1&per_page=2") + .build()) + .last( + Link.builder() + .href( + "https://api.example.org/v3/service_offerings?page=2&per_page=2") + .build()) + .next( + Link.builder() + .href( + "https://api.example.org/v3/service_offerings?page=2&per_page=2") + .build()) + .build()) + .resource( + ServiceOfferingResource.builder() + .id("bf7eb420-11e5-11ea-b7db-4b5d5e7976a9") + .name("my_service_offering") + .description("Provides my service") + .available(true) + .tags("relational", "caching") + .requires(Collections.emptyList()) + .createdAt("2019-11-28T13:44:02Z") + .updatedAt("2019-11-28T13:44:02Z") + .shareable(true) + .documentationUrl( + "https://some-documentation-link.io") + .brokerCatalog( + BrokerCatalog.builder() + .brokerCatalogId( + "db730a8c-11e5-11ea-838a-0f4fff3b1cfb") + .metadata( + Collections.singletonMap( + "shareable", true)) + .features( + Features.builder() + .planUpdateable( + true) + .bindable(true) + .instancesRetrievable( + true) + .bindingsRetrievable( + true) + .allowContextUpdates( + false) + .build()) + .build()) + .relationships( + ServiceOfferingRelationships.builder() + .serviceBroker( + ToOneRelationship.builder() + .data( + Relationship + .builder() + .id( + "13c60e38-11e7-11ea-9106-33ee3c5bd4d7") + .build()) + .build()) + .build()) + .metadata( + Metadata.builder() + .annotations(Collections.emptyMap()) + .labels(Collections.emptyMap()) + .build()) + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/service_offerings/bf7eb420-11e5-11ea-b7db-4b5d5e7976a") + .build()) + .link( + "service_plans", + Link.builder() + .href( + "https://api.example.org/v3/service_plans?service_offering_guids=bf7eb420-11e5-11ea-b7db-4b5d5e7976a") + .build()) + .link( + "service_broker", + Link.builder() + .href( + "https://api.example.org/v3/service_brokers/13c60e38-11e7-11ea-9106-33ee3c5bd4d7") + .build()) + .build()) + .resource( + ServiceOfferingResource.builder() + .id("20e6cd62-12bb-11ea-90d1-7bfec2c75bcd") + .name("other_service_offering") + .description("Provides another service") + .available(true) + .tag("caching") + .requires(Collections.emptyList()) + .createdAt("2019-11-29T16:44:02Z") + .updatedAt("2019-11-29T16:44:02Z") + .shareable(true) + .documentationUrl( + "https://some-other-documentation-link.io") + .brokerCatalog( + BrokerCatalog.builder() + .brokerCatalogId( + "3cb11822-12bb-11ea-beb1-a350dc7453b9") + .metadata( + Collections.singletonMap( + "shareable", true)) + .features( + Features.builder() + .planUpdateable( + true) + .bindable(true) + .instancesRetrievable( + true) + .bindingsRetrievable( + true) + .allowContextUpdates( + false) + .build()) + .build()) + .relationships( + ServiceOfferingRelationships.builder() + .serviceBroker( + ToOneRelationship.builder() + .data( + Relationship + .builder() + .id( + "13c60e38-11e7-11ea-9106-33ee3c5bd4d7") + .build()) + .build()) + .build()) + .metadata( + Metadata.builder() + .annotations(Collections.emptyMap()) + .labels(Collections.emptyMap()) + .build()) + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/service_offerings/20e6cd62-12bb-11ea-90d1-7bfec2c75bcd") + .build()) + .link( + "service_plans", + Link.builder() + .href( + "https://api.example.org/v3/service_plans?service_offering_guids=20e6cd62-12bb-11ea-90d1-7bfec2c75bcd") + .build()) + .link( + "service_broker", + Link.builder() + .href( + "https://api.example.org/v3/service_brokers/13c60e38-11e7-11ea-9106-33ee3c5bd4d7") + .build()) + .build()) .build()) - .build()) - .build()) - .metadata(Metadata.builder() - .annotations(Collections.emptyMap()) - .labels(Collections.emptyMap()) - .build()) - .link("self", Link.builder() - .href("https://api.example.org/v3/service_offerings/20e6cd62-12bb-11ea-90d1-7bfec2c75bcd") - .build()) - .link("service_plans", Link.builder() - .href("https://api.example.org/v3/service_plans?service_offering_guids=20e6cd62-12bb-11ea-90d1-7bfec2c75bcd") - .build()) - .link("service_broker", Link.builder() - .href("https://api.example.org/v3/service_brokers/13c60e38-11e7-11ea-9106-33ee3c5bd4d7") - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void update() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(PATCH).path("/service_offerings/test-service-offering-id") - .payload("fixtures/client/v3/serviceofferings/PATCH_{id}_request.json") - .build()) - .response(TestResponse.builder() - .status(CREATED) - .payload("fixtures/client/v3/serviceofferings/PATCH_{id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(PATCH) + .path("/service_offerings/test-service-offering-id") + .payload( + "fixtures/client/v3/serviceofferings/PATCH_{id}_request.json") + .build()) + .response( + TestResponse.builder() + .status(CREATED) + .payload( + "fixtures/client/v3/serviceofferings/PATCH_{id}_response.json") + .build()) + .build()); this.serviceOfferings - .update(UpdateServiceOfferingRequest.builder() - .serviceOfferingId("test-service-offering-id") - .metadata(Metadata.builder() - .annotation("note", "detailed information") - .label("key", "value") - .build()) - .build()) - .as(StepVerifier::create) - .expectNext(UpdateServiceOfferingResponse.builder() - .id("bf7eb420-11e5-11ea-b7db-4b5d5e7976a9") - .name("my_service_offering") - .description("Provides my service") - .available(true) - .tags("relational", "caching") - .requires(Collections.emptyList()) - .createdAt("2019-11-28T13:44:02Z") - .updatedAt("2019-11-28T13:44:02Z") - .shareable(true) - .documentationUrl("https://some-documentation-link.io") - .brokerCatalog(BrokerCatalog.builder() - .brokerCatalogId("db730a8c-11e5-11ea-838a-0f4fff3b1cfb") - .metadata(Collections.singletonMap("shareable", true)) - .features(Features.builder() - .planUpdateable(true) - .bindable(true) - .instancesRetrievable(true) - .bindingsRetrievable(true) - .allowContextUpdates(false) - .build()) - .build()) - .relationships(ServiceOfferingRelationships.builder() - .serviceBroker(ToOneRelationship.builder() - .data(Relationship.builder() - .id("13c60e38-11e7-11ea-9106-33ee3c5bd4d7") - .build()) - .build()) - .build()) - .metadata(Metadata.builder() - .annotations(Collections.emptyMap()) - .labels(Collections.emptyMap()) - .build()) - .link("self", Link.builder() - .href("https://api.example.org/v3/service_offerings/bf7eb420-11e5-11ea-b7db-4b5d5e7976a") - .build()) - .link("service_plans", Link.builder() - .href("https://api.example.org/v3/service_plans?service_offering_guids=bf7eb420-11e5-11ea-b7db-4b5d5e7976a") - .build()) - .link("service_broker", Link.builder() - .href("https://api.example.org/v3/service_brokers/13c60e38-11e7-11ea-9106-33ee3c5bd4d7") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .update( + UpdateServiceOfferingRequest.builder() + .serviceOfferingId("test-service-offering-id") + .metadata( + Metadata.builder() + .annotation("note", "detailed information") + .label("key", "value") + .build()) + .build()) + .as(StepVerifier::create) + .expectNext( + UpdateServiceOfferingResponse.builder() + .id("bf7eb420-11e5-11ea-b7db-4b5d5e7976a9") + .name("my_service_offering") + .description("Provides my service") + .available(true) + .tags("relational", "caching") + .requires(Collections.emptyList()) + .createdAt("2019-11-28T13:44:02Z") + .updatedAt("2019-11-28T13:44:02Z") + .shareable(true) + .documentationUrl("https://some-documentation-link.io") + .brokerCatalog( + BrokerCatalog.builder() + .brokerCatalogId( + "db730a8c-11e5-11ea-838a-0f4fff3b1cfb") + .metadata( + Collections.singletonMap("shareable", true)) + .features( + Features.builder() + .planUpdateable(true) + .bindable(true) + .instancesRetrievable(true) + .bindingsRetrievable(true) + .allowContextUpdates(false) + .build()) + .build()) + .relationships( + ServiceOfferingRelationships.builder() + .serviceBroker( + ToOneRelationship.builder() + .data( + Relationship.builder() + .id( + "13c60e38-11e7-11ea-9106-33ee3c5bd4d7") + .build()) + .build()) + .build()) + .metadata( + Metadata.builder() + .annotations(Collections.emptyMap()) + .labels(Collections.emptyMap()) + .build()) + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/service_offerings/bf7eb420-11e5-11ea-b7db-4b5d5e7976a") + .build()) + .link( + "service_plans", + Link.builder() + .href( + "https://api.example.org/v3/service_plans?service_offering_guids=bf7eb420-11e5-11ea-b7db-4b5d5e7976a") + .build()) + .link( + "service_broker", + Link.builder() + .href( + "https://api.example.org/v3/service_brokers/13c60e38-11e7-11ea-9106-33ee3c5bd4d7") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } - } diff --git a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v3/serviceplans/ReactorServicePlansTest.java b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v3/serviceplans/ReactorServicePlansTest.java index e6eb1912e8..626e617a9d 100644 --- a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v3/serviceplans/ReactorServicePlansTest.java +++ b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v3/serviceplans/ReactorServicePlansTest.java @@ -16,6 +16,21 @@ package org.cloudfoundry.reactor.client.v3.serviceplans; +import static io.netty.handler.codec.http.HttpMethod.DELETE; +import static io.netty.handler.codec.http.HttpMethod.GET; +import static io.netty.handler.codec.http.HttpMethod.PATCH; +import static io.netty.handler.codec.http.HttpMethod.POST; +import static io.netty.handler.codec.http.HttpResponseStatus.CREATED; +import static io.netty.handler.codec.http.HttpResponseStatus.NO_CONTENT; +import static io.netty.handler.codec.http.HttpResponseStatus.OK; +import static org.cloudfoundry.client.v3.serviceplans.Visibility.ADMIN; +import static org.cloudfoundry.client.v3.serviceplans.Visibility.ORGANIZATION; +import static org.cloudfoundry.client.v3.serviceplans.Visibility.PUBLIC; + +import java.time.Duration; +import java.util.Collections; +import java.util.HashMap; +import java.util.Map; import org.cloudfoundry.client.v3.Link; import org.cloudfoundry.client.v3.Metadata; import org.cloudfoundry.client.v3.Pagination; @@ -49,420 +64,589 @@ import org.junit.Test; import reactor.test.StepVerifier; -import java.time.Duration; -import java.util.Collections; -import java.util.HashMap; -import java.util.Map; - -import static io.netty.handler.codec.http.HttpMethod.DELETE; -import static io.netty.handler.codec.http.HttpMethod.GET; -import static io.netty.handler.codec.http.HttpMethod.PATCH; -import static io.netty.handler.codec.http.HttpMethod.POST; -import static io.netty.handler.codec.http.HttpResponseStatus.CREATED; -import static io.netty.handler.codec.http.HttpResponseStatus.NO_CONTENT; -import static io.netty.handler.codec.http.HttpResponseStatus.OK; -import static org.cloudfoundry.client.v3.serviceplans.Visibility.ADMIN; -import static org.cloudfoundry.client.v3.serviceplans.Visibility.ORGANIZATION; -import static org.cloudfoundry.client.v3.serviceplans.Visibility.PUBLIC; - public final class ReactorServicePlansTest extends AbstractClientApiTest { - private final ReactorServicePlansV3 servicePlans = new ReactorServicePlansV3(CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); + private final ReactorServicePlansV3 servicePlans = + new ReactorServicePlansV3( + CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); @Test public void delete() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(DELETE).path("/service_plans/test-service-plan-id") - .build()) - .response(TestResponse.builder() - .status(NO_CONTENT) - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(DELETE) + .path("/service_plans/test-service-plan-id") + .build()) + .response(TestResponse.builder().status(NO_CONTENT).build()) + .build()); this.servicePlans - .delete(DeleteServicePlanRequest.builder() - .servicePlanId("test-service-plan-id") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .delete( + DeleteServicePlanRequest.builder() + .servicePlanId("test-service-plan-id") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void get() { Map details = new HashMap<>(); - details.put("description", "Billing account number used to charge use of shared fake server."); + details.put( + "description", "Billing account number used to charge use of shared fake server."); details.put("type", "string"); - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/service_plans/test-service-plan-id") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v3/service_plans/GET_{id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/service_plans/test-service-plan-id") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v3/service_plans/GET_{id}_response.json") + .build()) + .build()); this.servicePlans - .get(GetServicePlanRequest.builder() - .servicePlanId("test-service-plan-id") - .build()) - .as(StepVerifier::create) - .expectNext(GetServicePlanResponse.builder() - .id("bf7eb420-11e5-11ea-b7db-4b5d5e7976a9") - .name("my_big_service_plan") - .description("Big") - .visibilityType(PUBLIC) - .available(true) - .free(false) - .cost(Cost.builder() - .currency("USD") - .amount(199.99F) - .unit("Monthly") - .build()) - .createdAt("2019-11-28T13:44:02Z") - .updatedAt("2019-11-28T13:44:02Z") - .maintenanceInfo(MaintenanceInfo.builder() - .version("1.0.0+dev4") - .description("Database version 7.8.0") - .build()) - .brokerCatalog(BrokerCatalog.builder() - .brokerCatalogId("db730a8c-11e5-11ea-838a-0f4fff3b1cfb") - .metadata(Collections.singletonMap("custom-key", "custom-information")) - .features(Features.builder() - .planUpdateable(true) - .bindable(true) - .build()) - .build()) - .schemas(Schemas.builder() - .serviceInstance(ServiceInstanceSchema.builder() - .create(Schema.builder() - .parameters(Parameters.builder() - .jsonSchema("http://json-schema.org/draft-04/schema#") - .type("object") - .properties(Collections.singletonMap("billing-account", details)) - .property("billing-account", details) + .get(GetServicePlanRequest.builder().servicePlanId("test-service-plan-id").build()) + .as(StepVerifier::create) + .expectNext( + GetServicePlanResponse.builder() + .id("bf7eb420-11e5-11ea-b7db-4b5d5e7976a9") + .name("my_big_service_plan") + .description("Big") + .visibilityType(PUBLIC) + .available(true) + .free(false) + .cost( + Cost.builder() + .currency("USD") + .amount(199.99F) + .unit("Monthly") + .build()) + .createdAt("2019-11-28T13:44:02Z") + .updatedAt("2019-11-28T13:44:02Z") + .maintenanceInfo( + MaintenanceInfo.builder() + .version("1.0.0+dev4") + .description("Database version 7.8.0") + .build()) + .brokerCatalog( + BrokerCatalog.builder() + .brokerCatalogId( + "db730a8c-11e5-11ea-838a-0f4fff3b1cfb") + .metadata( + Collections.singletonMap( + "custom-key", "custom-information")) + .features( + Features.builder() + .planUpdateable(true) + .bindable(true) + .build()) + .build()) + .schemas( + Schemas.builder() + .serviceInstance( + ServiceInstanceSchema.builder() + .create( + Schema.builder() + .parameters( + Parameters + .builder() + .jsonSchema( + "http://json-schema.org/draft-04/schema#") + .type( + "object") + .properties( + Collections + .singletonMap( + "billing-account", + details)) + .property( + "billing-account", + details) + .build()) + .build()) + .update(Schema.builder().build()) + .build()) + .serviceBinding( + ServiceBindingSchema.builder() + .create(Schema.builder().build()) + .build()) + .build()) + .relationships( + ServicePlanRelationships.builder() + .serviceOffering( + ToOneRelationship.builder() + .data( + Relationship.builder() + .id( + "13c60e38-11e7-11ea-9106-33ee3c5bd4d7") + .build()) + .build()) + .build()) + .metadata( + Metadata.builder() + .annotations(Collections.emptyMap()) + .labels(Collections.emptyMap()) + .build()) + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/service_plans/bf7eb420-11e5-11ea-b7db-4b5d5e7976a9") + .build()) + .link( + "service_offering", + Link.builder() + .href( + "https://api.example.org/v3/service_offerings/13c60e38-11e7-11ea-9106-33ee3c5bd4d7") + .build()) + .link( + "visibility", + Link.builder() + .href( + "https://api.example.org/v3/service_plans/bf7eb420-11e5-11ea-b7db-4b5d5e7976a9/visibility") + .build()) .build()) - .build()) - .update(Schema.builder() - .build()) - .build()) - .serviceBinding(ServiceBindingSchema.builder() - .create(Schema.builder() - .build()) - .build()) - .build()) - .relationships(ServicePlanRelationships.builder() - .serviceOffering(ToOneRelationship.builder() - .data(Relationship.builder() - .id("13c60e38-11e7-11ea-9106-33ee3c5bd4d7") - .build()) - .build()) - .build()) - .metadata(Metadata.builder() - .annotations(Collections.emptyMap()) - .labels(Collections.emptyMap()) - .build()) - .link("self", Link.builder() - .href("https://api.example.org/v3/service_plans/bf7eb420-11e5-11ea-b7db-4b5d5e7976a9") - .build()) - .link("service_offering", Link.builder() - .href("https://api.example.org/v3/service_offerings/13c60e38-11e7-11ea-9106-33ee3c5bd4d7") - .build()) - .link("visibility", Link.builder() - .href("https://api.example.org/v3/service_plans/bf7eb420-11e5-11ea-b7db-4b5d5e7976a9/visibility") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void list() { Map details = new HashMap<>(); - details.put("description", "Billing account number used to charge use of shared fake server."); + details.put( + "description", "Billing account number used to charge use of shared fake server."); details.put("type", "string"); - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/service_plans") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v3/service_plans/GET_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request(TestRequest.builder().method(GET).path("/service_plans").build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v3/service_plans/GET_response.json") + .build()) + .build()); this.servicePlans - .list(ListServicePlansRequest.builder() - .build()) - .as(StepVerifier::create) - .expectNext(ListServicePlansResponse.builder() - .pagination(Pagination.builder() - .totalResults(3) - .totalPages(2) - .first(Link.builder() - .href("https://api.example.org/v3/service_plans?page=1&per_page=2") - .build()) - .last(Link.builder() - .href("https://api.example.org/v3/service_plans?page=2&per_page=2") - .build()) - .next(Link.builder() - .href("https://api.example.org/v3/service_plans?page=2&per_page=2") - .build()) - .build()) - .resource(ServicePlanResource.builder() - .id("bf7eb420-11e5-11ea-b7db-4b5d5e7976a9") - .name("my_big_service_plan") - .description("Big plan") - .visibilityType(ORGANIZATION) - .available(true) - .free(false) - .cost(Cost.builder() - .currency("USD") - .amount(199.99F) - .unit("Monthly") - .build()) - .createdAt("2019-11-28T13:44:02Z") - .updatedAt("2019-11-28T13:44:02Z") - .maintenanceInfo(MaintenanceInfo.builder() - .version("1.0.0+dev4") - .description("Database version 7.8.0") - .build()) - .brokerCatalog(BrokerCatalog.builder() - .brokerCatalogId("db730a8c-11e5-11ea-838a-0f4fff3b1cfb") - .metadata(Collections.singletonMap("custom-key", "custom-value")) - .features(Features.builder() - .planUpdateable(true) - .bindable(true) - .build()) - .build()) - .schemas(Schemas.builder() - .serviceInstance(ServiceInstanceSchema.builder() - .create(Schema.builder() - .parameters(Parameters.builder() - .jsonSchema("http://json-schema.org/draft-04/schema#") - .type("object") - .properties(Collections.singletonMap("billing-account", details)) - .property("billing-account", details) - .build()) + .list(ListServicePlansRequest.builder().build()) + .as(StepVerifier::create) + .expectNext( + ListServicePlansResponse.builder() + .pagination( + Pagination.builder() + .totalResults(3) + .totalPages(2) + .first( + Link.builder() + .href( + "https://api.example.org/v3/service_plans?page=1&per_page=2") + .build()) + .last( + Link.builder() + .href( + "https://api.example.org/v3/service_plans?page=2&per_page=2") + .build()) + .next( + Link.builder() + .href( + "https://api.example.org/v3/service_plans?page=2&per_page=2") + .build()) + .build()) + .resource( + ServicePlanResource.builder() + .id("bf7eb420-11e5-11ea-b7db-4b5d5e7976a9") + .name("my_big_service_plan") + .description("Big plan") + .visibilityType(ORGANIZATION) + .available(true) + .free(false) + .cost( + Cost.builder() + .currency("USD") + .amount(199.99F) + .unit("Monthly") + .build()) + .createdAt("2019-11-28T13:44:02Z") + .updatedAt("2019-11-28T13:44:02Z") + .maintenanceInfo( + MaintenanceInfo.builder() + .version("1.0.0+dev4") + .description( + "Database version 7.8.0") + .build()) + .brokerCatalog( + BrokerCatalog.builder() + .brokerCatalogId( + "db730a8c-11e5-11ea-838a-0f4fff3b1cfb") + .metadata( + Collections.singletonMap( + "custom-key", + "custom-value")) + .features( + Features.builder() + .planUpdateable( + true) + .bindable(true) + .build()) + .build()) + .schemas( + Schemas.builder() + .serviceInstance( + ServiceInstanceSchema + .builder() + .create( + Schema + .builder() + .parameters( + Parameters + .builder() + .jsonSchema( + "http://json-schema.org/draft-04/schema#") + .type( + "object") + .properties( + Collections + .singletonMap( + "billing-account", + details)) + .property( + "billing-account", + details) + .build()) + .build()) + .update( + Schema + .builder() + .build()) + .build()) + .serviceBinding( + ServiceBindingSchema + .builder() + .create( + Schema + .builder() + .build()) + .build()) + .build()) + .relationships( + ServicePlanRelationships.builder() + .serviceOffering( + ToOneRelationship.builder() + .data( + Relationship + .builder() + .id( + "13c60e38-11e7-11ea-9106-33ee3c5bd4d7") + .build()) + .build()) + .build()) + .metadata( + Metadata.builder() + .annotations(Collections.emptyMap()) + .labels(Collections.emptyMap()) + .build()) + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/service_plans/bf7eb420-11e5-11ea-b7db-4b5d5e7976a9") + .build()) + .link( + "service_offering", + Link.builder() + .href( + "https://api.example.org/v3/service_offerings/13c60e38-11e7-11ea-9106-33ee3c5bd4d7") + .build()) + .link( + "visibility", + Link.builder() + .href( + "https://api.example.org/v3/service_plans/bf7eb420-11e5-11ea-b7db-4b5d5e7976a9/visibility") + .build()) + .build()) + .resource( + ServicePlanResource.builder() + .id("20e6cd62-12bb-11ea-90d1-7bfec2c75bcd") + .name("other_service_plan") + .description("Provides another service plan") + .visibilityType(ADMIN) + .available(true) + .free(true) + .createdAt("2019-11-29T16:44:02Z") + .updatedAt("2019-11-29T16:44:02Z") + .maintenanceInfo(MaintenanceInfo.builder().build()) + .brokerCatalog( + BrokerCatalog.builder() + .brokerCatalogId( + "3cb11822-12bb-11ea-beb1-a350dc7453b9") + .metadata( + Collections.singletonMap( + "other-data", true)) + .features( + Features.builder() + .planUpdateable( + true) + .bindable(true) + .build()) + .build()) + .schemas( + Schemas.builder() + .serviceInstance( + ServiceInstanceSchema + .builder() + .create( + Schema + .builder() + .parameters( + null) + .build()) + .update( + Schema + .builder() + .parameters( + null) + .build()) + .build()) + .serviceBinding( + ServiceBindingSchema + .builder() + .create( + Schema + .builder() + .parameters( + null) + .build()) + .build()) + .build()) + .relationships( + ServicePlanRelationships.builder() + .serviceOffering( + ToOneRelationship.builder() + .data( + Relationship + .builder() + .id( + "13c60e38-11e7-11ea-9106-33ee3c5bd4d7") + .build()) + .build()) + .build()) + .metadata( + Metadata.builder() + .annotations(Collections.emptyMap()) + .labels(Collections.emptyMap()) + .build()) + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/service_plans/20e6cd62-12bb-11ea-90d1-7bfec2c75bcd") + .build()) + .link( + "service_offering", + Link.builder() + .href( + "https://api.example.org/v3/service_offerings/13c60e38-11e7-11ea-9106-33ee3c5bd4d7") + .build()) + .link( + "visibility", + Link.builder() + .href( + "https://api.example.org/v3/service_plans/20e6cd62-12bb-11ea-90d1-7bfec2c75bcd/visibility") + .build()) + .build()) .build()) - .update(Schema.builder() - .build()) - .build()) - .serviceBinding(ServiceBindingSchema.builder() - .create(Schema.builder() - .build()) - .build()) - .build()) - .relationships(ServicePlanRelationships.builder() - .serviceOffering(ToOneRelationship.builder() - .data(Relationship.builder() - .id("13c60e38-11e7-11ea-9106-33ee3c5bd4d7") - .build()) - .build()) - .build()) - .metadata(Metadata.builder() - .annotations(Collections.emptyMap()) - .labels(Collections.emptyMap()) - .build()) - .link("self", Link.builder() - .href("https://api.example.org/v3/service_plans/bf7eb420-11e5-11ea-b7db-4b5d5e7976a9") - .build()) - .link("service_offering", Link.builder() - .href("https://api.example.org/v3/service_offerings/13c60e38-11e7-11ea-9106-33ee3c5bd4d7") - .build()) - .link("visibility", Link.builder() - .href("https://api.example.org/v3/service_plans/bf7eb420-11e5-11ea-b7db-4b5d5e7976a9/visibility") - .build()) - .build()) - .resource(ServicePlanResource.builder() - .id("20e6cd62-12bb-11ea-90d1-7bfec2c75bcd") - .name("other_service_plan") - .description("Provides another service plan") - .visibilityType(ADMIN) - .available(true) - .free(true) - .createdAt("2019-11-29T16:44:02Z") - .updatedAt("2019-11-29T16:44:02Z") - .maintenanceInfo(MaintenanceInfo.builder() - .build()) - .brokerCatalog(BrokerCatalog.builder() - .brokerCatalogId("3cb11822-12bb-11ea-beb1-a350dc7453b9") - .metadata(Collections.singletonMap("other-data", true)) - .features(Features.builder() - .planUpdateable(true) - .bindable(true) - .build()) - .build()) - .schemas(Schemas.builder() - .serviceInstance(ServiceInstanceSchema.builder() - .create(Schema.builder() - .parameters(null) - .build()) - .update(Schema.builder() - .parameters(null) - .build()) - .build()) - .serviceBinding(ServiceBindingSchema.builder() - .create(Schema.builder() - .parameters(null) - .build()) - .build()) - .build()) - .relationships(ServicePlanRelationships.builder() - .serviceOffering(ToOneRelationship.builder() - .data(Relationship.builder() - .id("13c60e38-11e7-11ea-9106-33ee3c5bd4d7") - .build()) - .build()) - .build()) - .metadata(Metadata.builder() - .annotations(Collections.emptyMap()) - .labels(Collections.emptyMap()) - .build()) - .link("self", Link.builder() - .href("https://api.example.org/v3/service_plans/20e6cd62-12bb-11ea-90d1-7bfec2c75bcd") - .build()) - .link("service_offering", Link.builder() - .href("https://api.example.org/v3/service_offerings/13c60e38-11e7-11ea-9106-33ee3c5bd4d7") - .build()) - .link("visibility", Link.builder() - .href("https://api.example.org/v3/service_plans/20e6cd62-12bb-11ea-90d1-7bfec2c75bcd/visibility") - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void update() { Map details = new HashMap<>(); - details.put("description", "Billing account number used to charge use of shared fake server."); + details.put( + "description", "Billing account number used to charge use of shared fake server."); details.put("type", "string"); - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(PATCH).path("/service_plans/test-service-plan-id") - .payload("fixtures/client/v3/service_plans/PATCH_{id}_request.json") - .build()) - .response(TestResponse.builder() - .status(CREATED) - .payload("fixtures/client/v3/service_plans/PATCH_{id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(PATCH) + .path("/service_plans/test-service-plan-id") + .payload( + "fixtures/client/v3/service_plans/PATCH_{id}_request.json") + .build()) + .response( + TestResponse.builder() + .status(CREATED) + .payload( + "fixtures/client/v3/service_plans/PATCH_{id}_response.json") + .build()) + .build()); this.servicePlans - .update(UpdateServicePlanRequest.builder() - .servicePlanId("test-service-plan-id") - .metadata(Metadata.builder() - .annotation("note", "detailed information") - .label("key", "value") - .build()) - .build()) - .as(StepVerifier::create) - .expectNext(UpdateServicePlanResponse.builder() - .id("bf7eb420-11e5-11ea-b7db-4b5d5e7976a9") - .name("my_big_service_plan") - .description("Big") - .visibilityType(PUBLIC) - .available(true) - .free(false) - .cost(Cost.builder() - .currency("USD") - .amount(199.99F) - .unit("Monthly") - .build()) - .createdAt("2019-11-28T13:44:02Z") - .updatedAt("2019-11-28T13:44:02Z") - .maintenanceInfo(MaintenanceInfo.builder() - .version("1.0.0+dev4") - .description("Database version 7.8.0") - .build()) - .brokerCatalog(BrokerCatalog.builder() - .brokerCatalogId("db730a8c-11e5-11ea-838a-0f4fff3b1cfb") - .metadata("custom-key", "custom-information") - .features(Features.builder() - .planUpdateable(true) - .bindable(true) - .build()) - .build()) - .schemas(Schemas.builder() - .serviceInstance(ServiceInstanceSchema.builder() - .create(Schema.builder() - .parameters(Parameters.builder() - .jsonSchema("http://json-schema.org/draft-04/schema#") - .type("object") - .properties(Collections.singletonMap("billing-account", details)) - .property("billing-account", details) + .update( + UpdateServicePlanRequest.builder() + .servicePlanId("test-service-plan-id") + .metadata( + Metadata.builder() + .annotation("note", "detailed information") + .label("key", "value") + .build()) + .build()) + .as(StepVerifier::create) + .expectNext( + UpdateServicePlanResponse.builder() + .id("bf7eb420-11e5-11ea-b7db-4b5d5e7976a9") + .name("my_big_service_plan") + .description("Big") + .visibilityType(PUBLIC) + .available(true) + .free(false) + .cost( + Cost.builder() + .currency("USD") + .amount(199.99F) + .unit("Monthly") + .build()) + .createdAt("2019-11-28T13:44:02Z") + .updatedAt("2019-11-28T13:44:02Z") + .maintenanceInfo( + MaintenanceInfo.builder() + .version("1.0.0+dev4") + .description("Database version 7.8.0") + .build()) + .brokerCatalog( + BrokerCatalog.builder() + .brokerCatalogId( + "db730a8c-11e5-11ea-838a-0f4fff3b1cfb") + .metadata("custom-key", "custom-information") + .features( + Features.builder() + .planUpdateable(true) + .bindable(true) + .build()) + .build()) + .schemas( + Schemas.builder() + .serviceInstance( + ServiceInstanceSchema.builder() + .create( + Schema.builder() + .parameters( + Parameters + .builder() + .jsonSchema( + "http://json-schema.org/draft-04/schema#") + .type( + "object") + .properties( + Collections + .singletonMap( + "billing-account", + details)) + .property( + "billing-account", + details) + .build()) + .build()) + .update(Schema.builder().build()) + .build()) + .serviceBinding( + ServiceBindingSchema.builder() + .create(Schema.builder().build()) + .build()) + .build()) + .relationships( + ServicePlanRelationships.builder() + .serviceOffering( + ToOneRelationship.builder() + .data( + Relationship.builder() + .id( + "13c60e38-11e7-11ea-9106-33ee3c5bd4d7") + .build()) + .build()) + .build()) + .metadata( + Metadata.builder() + .annotations(Collections.emptyMap()) + .labels(Collections.emptyMap()) + .build()) + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/service_plans/bf7eb420-11e5-11ea-b7db-4b5d5e7976a9") + .build()) + .link( + "service_offering", + Link.builder() + .href( + "https://api.example.org/v3/service_offerings/13c60e38-11e7-11ea-9106-33ee3c5bd4d7") + .build()) + .link( + "visibility", + Link.builder() + .href( + "https://api.example.org/v3/service_plans/bf7eb420-11e5-11ea-b7db-4b5d5e7976a9/visibility") + .build()) .build()) - .build()) - .update(Schema.builder() - .build()) - .build()) - .serviceBinding(ServiceBindingSchema.builder() - .create(Schema.builder() - .build()) - .build()) - .build()) - .relationships(ServicePlanRelationships.builder() - .serviceOffering(ToOneRelationship.builder() - .data(Relationship.builder() - .id("13c60e38-11e7-11ea-9106-33ee3c5bd4d7") - .build()) - .build()) - .build()) - .metadata(Metadata.builder() - .annotations(Collections.emptyMap()) - .labels(Collections.emptyMap()) - .build()) - .link("self", Link.builder() - .href("https://api.example.org/v3/service_plans/bf7eb420-11e5-11ea-b7db-4b5d5e7976a9") - .build()) - .link("service_offering", Link.builder() - .href("https://api.example.org/v3/service_offerings/13c60e38-11e7-11ea-9106-33ee3c5bd4d7") - .build()) - .link("visibility", Link.builder() - .href("https://api.example.org/v3/service_plans/bf7eb420-11e5-11ea-b7db-4b5d5e7976a9/visibility") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void updatePlanVisibility() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(POST).path("/service_plans/bf7eb420-11e5-11ea-b7db-4b5d5e7976a9/visibility") - .payload("fixtures/client/v3/service_plans/POST_{id}_request_update_plan.json") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v3/service_plans/POST_{id}_response_update_plan.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(POST) + .path( + "/service_plans/bf7eb420-11e5-11ea-b7db-4b5d5e7976a9/visibility") + .payload( + "fixtures/client/v3/service_plans/POST_{id}_request_update_plan.json") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v3/service_plans/POST_{id}_response_update_plan.json") + .build()) + .build()); this.servicePlans - .updateVisibility(UpdateServicePlanVisibilityRequest.builder() - .servicePlanId("bf7eb420-11e5-11ea-b7db-4b5d5e7976a9") - .type(ORGANIZATION) - .organization(Organization.builder() - .guid("0fc1ad4f-e1d7-4436-8e23-6b20f03c6482") - .build()) - .build()) - .as(StepVerifier::create) - .expectNext(UpdateServicePlanVisibilityResponse.builder() - .type(ORGANIZATION) - .organization(Organization.builder() - .guid("0fc1ad4f-e1d7-4436-8e23-6b20f03c6482") - .name("other_org") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .updateVisibility( + UpdateServicePlanVisibilityRequest.builder() + .servicePlanId("bf7eb420-11e5-11ea-b7db-4b5d5e7976a9") + .type(ORGANIZATION) + .organization( + Organization.builder() + .guid("0fc1ad4f-e1d7-4436-8e23-6b20f03c6482") + .build()) + .build()) + .as(StepVerifier::create) + .expectNext( + UpdateServicePlanVisibilityResponse.builder() + .type(ORGANIZATION) + .organization( + Organization.builder() + .guid("0fc1ad4f-e1d7-4436-8e23-6b20f03c6482") + .name("other_org") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } } diff --git a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v3/spaces/ReactorSpacesV3Test.java b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v3/spaces/ReactorSpacesV3Test.java index 7fad6497d7..221672f652 100644 --- a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v3/spaces/ReactorSpacesV3Test.java +++ b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v3/spaces/ReactorSpacesV3Test.java @@ -16,6 +16,15 @@ package org.cloudfoundry.reactor.client.v3.spaces; +import static io.netty.handler.codec.http.HttpMethod.DELETE; +import static io.netty.handler.codec.http.HttpMethod.GET; +import static io.netty.handler.codec.http.HttpMethod.PATCH; +import static io.netty.handler.codec.http.HttpMethod.POST; +import static io.netty.handler.codec.http.HttpResponseStatus.ACCEPTED; +import static io.netty.handler.codec.http.HttpResponseStatus.OK; + +import java.time.Duration; +import java.util.Collections; import org.cloudfoundry.client.v3.Link; import org.cloudfoundry.client.v3.Metadata; import org.cloudfoundry.client.v3.Pagination; @@ -44,302 +53,382 @@ import org.junit.Test; import reactor.test.StepVerifier; -import java.time.Duration; -import java.util.Collections; - -import static io.netty.handler.codec.http.HttpMethod.DELETE; -import static io.netty.handler.codec.http.HttpMethod.GET; -import static io.netty.handler.codec.http.HttpMethod.PATCH; -import static io.netty.handler.codec.http.HttpMethod.POST; -import static io.netty.handler.codec.http.HttpResponseStatus.ACCEPTED; -import static io.netty.handler.codec.http.HttpResponseStatus.OK; - public class ReactorSpacesV3Test extends AbstractClientApiTest { - private final ReactorSpacesV3 spaces = new ReactorSpacesV3(CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); + private final ReactorSpacesV3 spaces = + new ReactorSpacesV3( + CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); @Test public void assignIsolationSegment() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(PATCH).path("/spaces/test-space-id/relationships/isolation_segment") - .payload("fixtures/client/v3/spaces/PATCH_{id}_relationships_isolation_segment_request.json") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v3/spaces/PATCH_{id}_relationships_isolation_segment_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(PATCH) + .path( + "/spaces/test-space-id/relationships/isolation_segment") + .payload( + "fixtures/client/v3/spaces/PATCH_{id}_relationships_isolation_segment_request.json") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v3/spaces/PATCH_{id}_relationships_isolation_segment_response.json") + .build()) + .build()); this.spaces - .assignIsolationSegment(AssignSpaceIsolationSegmentRequest.builder() - .data(Relationship.builder() - .id("[iso-seg-guid]") - .build()) - .spaceId("test-space-id") - .build()) - .as(StepVerifier::create) - .expectNext(AssignSpaceIsolationSegmentResponse.builder() - .data(Relationship.builder() - .id("e4c91047-3b29-4fda-b7f9-04033e5a9c9f") - .build()) - .link("self", Link.builder() - .href("https://api.example.org/v3/spaces/885735b5-aea4-4cf5-8e44-961af0e41920/relationships/isolation_segment") - .build()) - .link("related", Link.builder() - .href("https://api.example.org/v3/isolation_segments/e4c91047-3b29-4fda-b7f9-04033e5a9c9f") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .assignIsolationSegment( + AssignSpaceIsolationSegmentRequest.builder() + .data(Relationship.builder().id("[iso-seg-guid]").build()) + .spaceId("test-space-id") + .build()) + .as(StepVerifier::create) + .expectNext( + AssignSpaceIsolationSegmentResponse.builder() + .data( + Relationship.builder() + .id("e4c91047-3b29-4fda-b7f9-04033e5a9c9f") + .build()) + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/spaces/885735b5-aea4-4cf5-8e44-961af0e41920/relationships/isolation_segment") + .build()) + .link( + "related", + Link.builder() + .href( + "https://api.example.org/v3/isolation_segments/e4c91047-3b29-4fda-b7f9-04033e5a9c9f") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void create() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(POST).path("/spaces") - .payload("fixtures/client/v3/spaces/POST_request.json") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v3/spaces/POST_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(POST) + .path("/spaces") + .payload("fixtures/client/v3/spaces/POST_request.json") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload("fixtures/client/v3/spaces/POST_response.json") + .build()) + .build()); this.spaces - .create(CreateSpaceRequest.builder() - .name("my-space") - .relationships(SpaceRelationships.builder() - .organization(ToOneRelationship.builder() - .data(Relationship.builder() - .id("e00705b9-7b42-4561-ae97-2520399d2133") - .build()) - .build()) - .build()) - .build()) - .as(StepVerifier::create) - .expectNext(CreateSpaceResponse.builder() - .createdAt("2017-02-01T01:33:58Z") - .id("885735b5-aea4-4cf5-8e44-961af0e41920") - .name("my-space") - .relationships(SpaceRelationships.builder() - .organization(ToOneRelationship.builder() - .data(Relationship.builder() - .id("e00705b9-7b42-4561-ae97-2520399d2133") - .build()) - .build()) - .build()) - .updatedAt("2017-02-01T01:33:58Z") - .link("self", Link.builder() - .href("https://api.example.org/v3/spaces/885735b5-aea4-4cf5-8e44-961af0e41920") - .build()) - .link("organization", Link.builder() - .href("https://api.example.org/v3/organizations/e00705b9-7b42-4561-ae97-2520399d2133") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .create( + CreateSpaceRequest.builder() + .name("my-space") + .relationships( + SpaceRelationships.builder() + .organization( + ToOneRelationship.builder() + .data( + Relationship.builder() + .id( + "e00705b9-7b42-4561-ae97-2520399d2133") + .build()) + .build()) + .build()) + .build()) + .as(StepVerifier::create) + .expectNext( + CreateSpaceResponse.builder() + .createdAt("2017-02-01T01:33:58Z") + .id("885735b5-aea4-4cf5-8e44-961af0e41920") + .name("my-space") + .relationships( + SpaceRelationships.builder() + .organization( + ToOneRelationship.builder() + .data( + Relationship.builder() + .id( + "e00705b9-7b42-4561-ae97-2520399d2133") + .build()) + .build()) + .build()) + .updatedAt("2017-02-01T01:33:58Z") + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/spaces/885735b5-aea4-4cf5-8e44-961af0e41920") + .build()) + .link( + "organization", + Link.builder() + .href( + "https://api.example.org/v3/organizations/e00705b9-7b42-4561-ae97-2520399d2133") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void delete() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(DELETE).path("/spaces/test-space-id") - .build()) - .response(TestResponse.builder() - .status(ACCEPTED) - .header("Location", "https://api.example.org/v3/jobs/test-job-id") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(DELETE) + .path("/spaces/test-space-id") + .build()) + .response( + TestResponse.builder() + .status(ACCEPTED) + .header( + "Location", + "https://api.example.org/v3/jobs/test-job-id") + .build()) + .build()); this.spaces - .delete(DeleteSpaceRequest.builder() - .spaceId("test-space-id") - .build()) - .as(StepVerifier::create) - .expectNext("test-job-id") - .expectComplete() - .verify(Duration.ofSeconds(5)); + .delete(DeleteSpaceRequest.builder().spaceId("test-space-id").build()) + .as(StepVerifier::create) + .expectNext("test-job-id") + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void deleteUnmappedRoutes() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(DELETE).path("/spaces/test-space-id/routes?unmapped=true") - .build()) - .response(TestResponse.builder() - .status(ACCEPTED) - .header("Location", "https://api.example.org/v3/jobs/test-job-id") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(DELETE) + .path("/spaces/test-space-id/routes?unmapped=true") + .build()) + .response( + TestResponse.builder() + .status(ACCEPTED) + .header( + "Location", + "https://api.example.org/v3/jobs/test-job-id") + .build()) + .build()); this.spaces - .deleteUnmappedRoutes(DeleteUnmappedRoutesRequest.builder() - .spaceId("test-space-id") - .build()) - .as(StepVerifier::create) - .expectNext("test-job-id") - .expectComplete() - .verify(Duration.ofSeconds(5)); + .deleteUnmappedRoutes( + DeleteUnmappedRoutesRequest.builder().spaceId("test-space-id").build()) + .as(StepVerifier::create) + .expectNext("test-job-id") + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void get() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/spaces/test-space-id") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v3/spaces/GET_{id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/spaces/test-space-id") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload("fixtures/client/v3/spaces/GET_{id}_response.json") + .build()) + .build()); this.spaces - .get(GetSpaceRequest.builder() - .spaceId("test-space-id") - .build()) - .as(StepVerifier::create) - .expectNext(GetSpaceResponse.builder() - .id("885735b5-aea4-4cf5-8e44-961af0e41920") - .createdAt("2017-02-01T01:33:58Z") - .updatedAt("2017-02-01T01:33:58Z") - .name("space1") - .metadata(Metadata.builder() - .annotations(Collections.emptyMap()) - .labels(Collections.emptyMap()) - .build()) - .link("self", Link.builder() - .href("https://api.example.org/v3/spaces/885735b5-aea4-4cf5-8e44-961af0e41920") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .get(GetSpaceRequest.builder().spaceId("test-space-id").build()) + .as(StepVerifier::create) + .expectNext( + GetSpaceResponse.builder() + .id("885735b5-aea4-4cf5-8e44-961af0e41920") + .createdAt("2017-02-01T01:33:58Z") + .updatedAt("2017-02-01T01:33:58Z") + .name("space1") + .metadata( + Metadata.builder() + .annotations(Collections.emptyMap()) + .labels(Collections.emptyMap()) + .build()) + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/spaces/885735b5-aea4-4cf5-8e44-961af0e41920") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void getIsolationSegment() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/spaces/test-space-id/relationships/isolation_segment") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v3/spaces/GET_{id}_relationships_isolation_segment_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path( + "/spaces/test-space-id/relationships/isolation_segment") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v3/spaces/GET_{id}_relationships_isolation_segment_response.json") + .build()) + .build()); this.spaces - .getIsolationSegment(GetSpaceIsolationSegmentRequest.builder() - .spaceId("test-space-id") - .build()) - .as(StepVerifier::create) - .expectNext(GetSpaceIsolationSegmentResponse.builder() - .data(Relationship.builder() - .id("e4c91047-3b29-4fda-b7f9-04033e5a9c9f") - .build()) - .link("self", Link.builder() - .href("https://api.example.org/v3/spaces/885735b5-aea4-4cf5-8e44-961af0e41920/relationships/isolation_segment") - .build()) - .link("related", Link.builder() - .href("https://api.example.org/v3/isolation_segments/e4c91047-3b29-4fda-b7f9-04033e5a9c9f") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .getIsolationSegment( + GetSpaceIsolationSegmentRequest.builder().spaceId("test-space-id").build()) + .as(StepVerifier::create) + .expectNext( + GetSpaceIsolationSegmentResponse.builder() + .data( + Relationship.builder() + .id("e4c91047-3b29-4fda-b7f9-04033e5a9c9f") + .build()) + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/spaces/885735b5-aea4-4cf5-8e44-961af0e41920/relationships/isolation_segment") + .build()) + .link( + "related", + Link.builder() + .href( + "https://api.example.org/v3/isolation_segments/e4c91047-3b29-4fda-b7f9-04033e5a9c9f") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void list() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/spaces") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v3/spaces/GET_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request(TestRequest.builder().method(GET).path("/spaces").build()) + .response( + TestResponse.builder() + .status(OK) + .payload("fixtures/client/v3/spaces/GET_response.json") + .build()) + .build()); this.spaces - .list(ListSpacesRequest.builder() - .build()) - .as(StepVerifier::create) - .expectNext(ListSpacesResponse.builder() - .pagination(Pagination.builder() - .totalResults(2) - .totalPages(1) - .first(Link.builder() - .href("https://api.example.org/v3/spaces?page=1&per_page=50") - .build()) - .last(Link.builder() - .href("https://api.example.org/v3/spaces?page=1&per_page=50") - .build()) - .build()) - .resource(SpaceResource.builder() - .id("885735b5-aea4-4cf5-8e44-961af0e41920") - .createdAt("2017-02-01T01:33:58Z") - .updatedAt("2017-02-01T01:33:58Z") - .name("space1") - .link("self", Link.builder() - .href("https://api.example.org/v3/spaces/885735b5-aea4-4cf5-8e44-961af0e41920") - .build()) - .build()) - .resource(SpaceResource.builder() - .id("d4c91047-7b29-4fda-b7f9-04033e5c9c9f") - .createdAt("2017-02-02T00:14:30Z") - .updatedAt("2017-02-02T00:14:30Z") - .name("space2") - .link("self", Link.builder() - .href("https://api.example.org/v3/spaces/d4c91047-7b29-4fda-b7f9-04033e5c9c9f") - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .list(ListSpacesRequest.builder().build()) + .as(StepVerifier::create) + .expectNext( + ListSpacesResponse.builder() + .pagination( + Pagination.builder() + .totalResults(2) + .totalPages(1) + .first( + Link.builder() + .href( + "https://api.example.org/v3/spaces?page=1&per_page=50") + .build()) + .last( + Link.builder() + .href( + "https://api.example.org/v3/spaces?page=1&per_page=50") + .build()) + .build()) + .resource( + SpaceResource.builder() + .id("885735b5-aea4-4cf5-8e44-961af0e41920") + .createdAt("2017-02-01T01:33:58Z") + .updatedAt("2017-02-01T01:33:58Z") + .name("space1") + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/spaces/885735b5-aea4-4cf5-8e44-961af0e41920") + .build()) + .build()) + .resource( + SpaceResource.builder() + .id("d4c91047-7b29-4fda-b7f9-04033e5c9c9f") + .createdAt("2017-02-02T00:14:30Z") + .updatedAt("2017-02-02T00:14:30Z") + .name("space2") + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/spaces/d4c91047-7b29-4fda-b7f9-04033e5c9c9f") + .build()) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void update() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(PATCH).path("/spaces/test-space-id") - .payload("fixtures/client/v3/spaces/PATCH_{id}_request.json") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v3/spaces/PATCH_{id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(PATCH) + .path("/spaces/test-space-id") + .payload( + "fixtures/client/v3/spaces/PATCH_{id}_request.json") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v3/spaces/PATCH_{id}_response.json") + .build()) + .build()); this.spaces - .update(UpdateSpaceRequest.builder() - .spaceId("test-space-id") - .metadata(Metadata.builder() - .annotation("version", "1.2.4") - .label("dept", "1234") - .build()) - .name("test-space-name") - .build()) - .as(StepVerifier::create) - .expectNext(UpdateSpaceResponse.builder() - .id("885735b5-aea4-4cf5-8e44-961af0e41920") - .createdAt("2017-02-01T01:33:58Z") - .updatedAt("2017-02-01T01:33:58Z") - .name("test-space-name") - .metadata(Metadata.builder() - .annotation("version", "1.2.4") - .label("dept", "1234") - .build()) - .link("self", Link.builder() - .href("https://api.example.org/v3/spaces/885735b5-aea4-4cf5-8e44-961af0e41920") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .update( + UpdateSpaceRequest.builder() + .spaceId("test-space-id") + .metadata( + Metadata.builder() + .annotation("version", "1.2.4") + .label("dept", "1234") + .build()) + .name("test-space-name") + .build()) + .as(StepVerifier::create) + .expectNext( + UpdateSpaceResponse.builder() + .id("885735b5-aea4-4cf5-8e44-961af0e41920") + .createdAt("2017-02-01T01:33:58Z") + .updatedAt("2017-02-01T01:33:58Z") + .name("test-space-name") + .metadata( + Metadata.builder() + .annotation("version", "1.2.4") + .label("dept", "1234") + .build()) + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/spaces/885735b5-aea4-4cf5-8e44-961af0e41920") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } - } diff --git a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v3/stacks/ReactorStacksV3Test.java b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v3/stacks/ReactorStacksV3Test.java index 5a6ab36d56..0b93698af5 100644 --- a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v3/stacks/ReactorStacksV3Test.java +++ b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v3/stacks/ReactorStacksV3Test.java @@ -16,6 +16,16 @@ package org.cloudfoundry.reactor.client.v3.stacks; +import static io.netty.handler.codec.http.HttpMethod.DELETE; +import static io.netty.handler.codec.http.HttpMethod.GET; +import static io.netty.handler.codec.http.HttpMethod.PATCH; +import static io.netty.handler.codec.http.HttpMethod.POST; +import static io.netty.handler.codec.http.HttpResponseStatus.CREATED; +import static io.netty.handler.codec.http.HttpResponseStatus.NO_CONTENT; +import static io.netty.handler.codec.http.HttpResponseStatus.OK; + +import java.time.Duration; +import java.util.Collections; import org.cloudfoundry.client.v3.Link; import org.cloudfoundry.client.v3.Metadata; import org.cloudfoundry.client.v3.Pagination; @@ -36,211 +46,257 @@ import org.junit.Test; import reactor.test.StepVerifier; -import java.time.Duration; -import java.util.Collections; - -import static io.netty.handler.codec.http.HttpMethod.DELETE; -import static io.netty.handler.codec.http.HttpMethod.GET; -import static io.netty.handler.codec.http.HttpMethod.PATCH; -import static io.netty.handler.codec.http.HttpMethod.POST; -import static io.netty.handler.codec.http.HttpResponseStatus.CREATED; -import static io.netty.handler.codec.http.HttpResponseStatus.NO_CONTENT; -import static io.netty.handler.codec.http.HttpResponseStatus.OK; - public class ReactorStacksV3Test extends AbstractClientApiTest { - private final ReactorStacksV3 stacks = new ReactorStacksV3(CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); + private final ReactorStacksV3 stacks = + new ReactorStacksV3( + CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); @Test public void create() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(POST).path("/stacks") - .payload("fixtures/client/v3/stacks/POST_request.json") - .build()) - .response(TestResponse.builder() - .status(CREATED) - .payload("fixtures/client/v3/stacks/POST_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(POST) + .path("/stacks") + .payload("fixtures/client/v3/stacks/POST_request.json") + .build()) + .response( + TestResponse.builder() + .status(CREATED) + .payload("fixtures/client/v3/stacks/POST_response.json") + .build()) + .build()); - this.stacks.create(CreateStackRequest.builder() - .name("test-stack-name") - .description("test-stack-description") - .build()) - .as(StepVerifier::create) - .expectNext(CreateStackResponse.builder() - .id("11c916c9-c2f9-440e-8e73-102e79c4704d") - .name("test-stack-name") - .description("test-stack-description") - .createdAt("2018-11-09T22:43:28Z") - .updatedAt("2018-11-09T22:43:28Z") - .metadata(Metadata.builder() - .putAllAnnotations(Collections.emptyMap()) - .putAllLabels(Collections.emptyMap()) - .build()) - .link("self", Link.builder() - .href("https://api.example.com/v3/stacks/11c916c9-c2f9-440e-8e73-102e79c4704d") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + this.stacks + .create( + CreateStackRequest.builder() + .name("test-stack-name") + .description("test-stack-description") + .build()) + .as(StepVerifier::create) + .expectNext( + CreateStackResponse.builder() + .id("11c916c9-c2f9-440e-8e73-102e79c4704d") + .name("test-stack-name") + .description("test-stack-description") + .createdAt("2018-11-09T22:43:28Z") + .updatedAt("2018-11-09T22:43:28Z") + .metadata( + Metadata.builder() + .putAllAnnotations(Collections.emptyMap()) + .putAllLabels(Collections.emptyMap()) + .build()) + .link( + "self", + Link.builder() + .href( + "https://api.example.com/v3/stacks/11c916c9-c2f9-440e-8e73-102e79c4704d") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void delete() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(DELETE).path("/stacks/test-stack-id") - .build()) - .response(TestResponse.builder() - .status(NO_CONTENT) - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(DELETE) + .path("/stacks/test-stack-id") + .build()) + .response(TestResponse.builder().status(NO_CONTENT).build()) + .build()); this.stacks - .delete(DeleteStackRequest.builder() - .stackId("test-stack-id") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .delete(DeleteStackRequest.builder().stackId("test-stack-id").build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void get() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/stacks/11c916c9-c2f9-440e-8e73-102e79c4704d") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v3/stacks/GET_{id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/stacks/11c916c9-c2f9-440e-8e73-102e79c4704d") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload("fixtures/client/v3/stacks/GET_{id}_response.json") + .build()) + .build()); this.stacks - .get(GetStackRequest.builder() - .stackId("11c916c9-c2f9-440e-8e73-102e79c4704d") - .build()) - .as(StepVerifier::create) - .expectNext(GetStackResponse.builder() - .id("11c916c9-c2f9-440e-8e73-102e79c4704d") - .name("test-stack-name") - .description("test-stack-description") - .createdAt("2018-11-09T22:43:28Z") - .updatedAt("2018-11-09T22:43:28Z") - .metadata(Metadata.builder() - .putAllAnnotations(Collections.emptyMap()) - .putAllLabels(Collections.emptyMap()) - .build()) - .link("self", Link.builder() - .href("https://api.example.com/v3/stacks/11c916c9-c2f9-440e-8e73-102e79c4704d") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .get( + GetStackRequest.builder() + .stackId("11c916c9-c2f9-440e-8e73-102e79c4704d") + .build()) + .as(StepVerifier::create) + .expectNext( + GetStackResponse.builder() + .id("11c916c9-c2f9-440e-8e73-102e79c4704d") + .name("test-stack-name") + .description("test-stack-description") + .createdAt("2018-11-09T22:43:28Z") + .updatedAt("2018-11-09T22:43:28Z") + .metadata( + Metadata.builder() + .putAllAnnotations(Collections.emptyMap()) + .putAllLabels(Collections.emptyMap()) + .build()) + .link( + "self", + Link.builder() + .href( + "https://api.example.com/v3/stacks/11c916c9-c2f9-440e-8e73-102e79c4704d") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void list() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/stacks") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v3/stacks/GET_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request(TestRequest.builder().method(GET).path("/stacks").build()) + .response( + TestResponse.builder() + .status(OK) + .payload("fixtures/client/v3/stacks/GET_response.json") + .build()) + .build()); - this.stacks.list(ListStacksRequest.builder().build()) - .as(StepVerifier::create) - .expectNext(ListStacksResponse.builder() - .pagination(Pagination.builder() - .totalResults(3) - .totalPages(2) - .first(Link.builder() - .href("https://api.example.org/v3/stacks?page=1&per_page=2") - .build()) - .last(Link.builder() - .href("https://api.example.org/v3/stacks?page=2&per_page=2") - .build()) - .next(Link.builder() - .href("https://api.example.org/v3/stacks?page=2&per_page=2") - .build()) - .build()) - .resource(StackResource.builder() - .id("11c916c9-c2f9-440e-8e73-102e79c4704d") - .name("test-stack-name-1") - .description("test-stack-description-1") - .createdAt("2018-11-09T22:43:28Z") - .updatedAt("2018-11-09T22:43:28Z") - .metadata(Metadata.builder() - .putAllAnnotations(Collections.emptyMap()) - .putAllLabels(Collections.emptyMap()) - .build()) - .link("self", Link.builder() - .href("https://api.example.org/v3/stacks/11c916c9-c2f9-440e-8e73-102e79c4704d") - .build()) - .build()) - .resource(StackResource.builder() - .id("81c916c9-c2f9-440e-8e73-102e79c4704h") - .name("test-stack-name-2") - .description("test-stack-description-2") - .createdAt("2018-11-09T22:43:29Z") - .updatedAt("2018-11-09T22:43:29Z") - .metadata(Metadata.builder() - .putAllAnnotations(Collections.emptyMap()) - .putAllLabels(Collections.emptyMap()) - .build()) - .link("self", Link.builder() - .href("https://api.example.org/v3/stacks/81c916c9-c2f9-440e-8e73-102e79c4704h") - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + this.stacks + .list(ListStacksRequest.builder().build()) + .as(StepVerifier::create) + .expectNext( + ListStacksResponse.builder() + .pagination( + Pagination.builder() + .totalResults(3) + .totalPages(2) + .first( + Link.builder() + .href( + "https://api.example.org/v3/stacks?page=1&per_page=2") + .build()) + .last( + Link.builder() + .href( + "https://api.example.org/v3/stacks?page=2&per_page=2") + .build()) + .next( + Link.builder() + .href( + "https://api.example.org/v3/stacks?page=2&per_page=2") + .build()) + .build()) + .resource( + StackResource.builder() + .id("11c916c9-c2f9-440e-8e73-102e79c4704d") + .name("test-stack-name-1") + .description("test-stack-description-1") + .createdAt("2018-11-09T22:43:28Z") + .updatedAt("2018-11-09T22:43:28Z") + .metadata( + Metadata.builder() + .putAllAnnotations( + Collections.emptyMap()) + .putAllLabels( + Collections.emptyMap()) + .build()) + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/stacks/11c916c9-c2f9-440e-8e73-102e79c4704d") + .build()) + .build()) + .resource( + StackResource.builder() + .id("81c916c9-c2f9-440e-8e73-102e79c4704h") + .name("test-stack-name-2") + .description("test-stack-description-2") + .createdAt("2018-11-09T22:43:29Z") + .updatedAt("2018-11-09T22:43:29Z") + .metadata( + Metadata.builder() + .putAllAnnotations( + Collections.emptyMap()) + .putAllLabels( + Collections.emptyMap()) + .build()) + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/stacks/81c916c9-c2f9-440e-8e73-102e79c4704h") + .build()) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void update() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(PATCH).path("/stacks/test-stack-id") - .payload("fixtures/client/v3/stacks/PATCH_{id}_request.json") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v3/stacks/PATCH_{id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(PATCH) + .path("/stacks/test-stack-id") + .payload( + "fixtures/client/v3/stacks/PATCH_{id}_request.json") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/client/v3/stacks/PATCH_{id}_response.json") + .build()) + .build()); this.stacks - .update(UpdateStackRequest.builder() - .stackId("test-stack-id") - .metadata(Metadata.builder() - .label("key", "value") - .annotation("note", "detailed information") - .build()) - .build()) - .as(StepVerifier::create) - .expectNext(UpdateStackResponse.builder() - .id("11c916c9-c2f9-440e-8e73-102e79c4704d") - .name("test-stack-name") - .description("test-stack-description") - .createdAt("2018-11-09T22:43:28Z") - .updatedAt("2018-11-09T22:43:28Z") - .metadata(Metadata.builder() - .label("key", "value") - .annotation("note", "detailed information") - .build()) - .link("self", Link.builder() - .href("https://api.example.com/v3/stacks/11c916c9-c2f9-440e-8e73-102e79c4704d") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .update( + UpdateStackRequest.builder() + .stackId("test-stack-id") + .metadata( + Metadata.builder() + .label("key", "value") + .annotation("note", "detailed information") + .build()) + .build()) + .as(StepVerifier::create) + .expectNext( + UpdateStackResponse.builder() + .id("11c916c9-c2f9-440e-8e73-102e79c4704d") + .name("test-stack-name") + .description("test-stack-description") + .createdAt("2018-11-09T22:43:28Z") + .updatedAt("2018-11-09T22:43:28Z") + .metadata( + Metadata.builder() + .label("key", "value") + .annotation("note", "detailed information") + .build()) + .link( + "self", + Link.builder() + .href( + "https://api.example.com/v3/stacks/11c916c9-c2f9-440e-8e73-102e79c4704d") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } - } diff --git a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v3/tasks/ReactorTasksTest.java b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v3/tasks/ReactorTasksTest.java index c959c76d72..142453f33f 100644 --- a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v3/tasks/ReactorTasksTest.java +++ b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/client/v3/tasks/ReactorTasksTest.java @@ -16,6 +16,14 @@ package org.cloudfoundry.reactor.client.v3.tasks; +import static io.netty.handler.codec.http.HttpMethod.GET; +import static io.netty.handler.codec.http.HttpMethod.POST; +import static io.netty.handler.codec.http.HttpMethod.PUT; +import static io.netty.handler.codec.http.HttpResponseStatus.ACCEPTED; +import static io.netty.handler.codec.http.HttpResponseStatus.OK; + +import java.time.Duration; +import java.util.Collections; import org.cloudfoundry.client.v3.Link; import org.cloudfoundry.client.v3.Pagination; import org.cloudfoundry.client.v3.tasks.CancelTaskRequest; @@ -36,251 +44,320 @@ import org.junit.Test; import reactor.test.StepVerifier; -import java.time.Duration; -import java.util.Collections; - -import static io.netty.handler.codec.http.HttpMethod.GET; -import static io.netty.handler.codec.http.HttpMethod.POST; -import static io.netty.handler.codec.http.HttpMethod.PUT; -import static io.netty.handler.codec.http.HttpResponseStatus.ACCEPTED; -import static io.netty.handler.codec.http.HttpResponseStatus.OK; - public final class ReactorTasksTest extends AbstractClientApiTest { - private final ReactorTasks tasks = new ReactorTasks(CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); + private final ReactorTasks tasks = + new ReactorTasks(CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); @Test public void cancel() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(PUT).path("/tasks/test-id/cancel") - .build()) - .response(TestResponse.builder() - .status(ACCEPTED) - .payload("fixtures/client/v3/tasks/PUT_{id}_cancel_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(PUT) + .path("/tasks/test-id/cancel") + .build()) + .response( + TestResponse.builder() + .status(ACCEPTED) + .payload( + "fixtures/client/v3/tasks/PUT_{id}_cancel_response.json") + .build()) + .build()); this.tasks - .cancel(CancelTaskRequest.builder() - .taskId("test-id") - .build()) - .as(StepVerifier::create) - .expectNext(CancelTaskResponse.builder() - .id("d5cc22ec-99a3-4e6a-af91-a44b4ab7b6fa") - .sequenceId(1) - .name("migrate") - .command("rake db:migrate") - .state(TaskState.CANCELING) - .memoryInMb(512) - .diskInMb(1024) - .result(Result.builder() - .build()) - .dropletId("740ebd2b-162b-469a-bd72-3edb96fabd9a") - .createdAt("2016-05-04T17:00:41Z") - .updatedAt("2016-05-04T17:00:42Z") - .link("self", Link.builder() - .href("https://api.example.org/v3/tasks/d5cc22ec-99a3-4e6a-af91-a44b4ab7b6fa") - .build()) - .link("app", Link.builder() - .href("https://api.example.org/v3/apps/ccc25a0f-c8f4-4b39-9f1b-de9f328d0ee5") - .build()) - .link("cancel", Link.builder() - .href("https://api.example.org/v3/tasks/d5cc22ec-99a3-4e6a-af91-a44b4ab7b6fa") - .method("POST") - .build()) - .link("droplet", Link.builder() - .href("https://api.example.org/v3/droplets/740ebd2b-162b-469a-bd72-3edb96fabd9a") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .cancel(CancelTaskRequest.builder().taskId("test-id").build()) + .as(StepVerifier::create) + .expectNext( + CancelTaskResponse.builder() + .id("d5cc22ec-99a3-4e6a-af91-a44b4ab7b6fa") + .sequenceId(1) + .name("migrate") + .command("rake db:migrate") + .state(TaskState.CANCELING) + .memoryInMb(512) + .diskInMb(1024) + .result(Result.builder().build()) + .dropletId("740ebd2b-162b-469a-bd72-3edb96fabd9a") + .createdAt("2016-05-04T17:00:41Z") + .updatedAt("2016-05-04T17:00:42Z") + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/tasks/d5cc22ec-99a3-4e6a-af91-a44b4ab7b6fa") + .build()) + .link( + "app", + Link.builder() + .href( + "https://api.example.org/v3/apps/ccc25a0f-c8f4-4b39-9f1b-de9f328d0ee5") + .build()) + .link( + "cancel", + Link.builder() + .href( + "https://api.example.org/v3/tasks/d5cc22ec-99a3-4e6a-af91-a44b4ab7b6fa") + .method("POST") + .build()) + .link( + "droplet", + Link.builder() + .href( + "https://api.example.org/v3/droplets/740ebd2b-162b-469a-bd72-3edb96fabd9a") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void create() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(POST).path("/apps/test-application-id/tasks") - .payload("fixtures/client/v3/tasks/POST_apps_{id}_tasks_request.json") - .build()) - .response(TestResponse.builder() - .status(ACCEPTED) - .payload("fixtures/client/v3/tasks/POST_apps_{id}_tasks_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(POST) + .path("/apps/test-application-id/tasks") + .payload( + "fixtures/client/v3/tasks/POST_apps_{id}_tasks_request.json") + .build()) + .response( + TestResponse.builder() + .status(ACCEPTED) + .payload( + "fixtures/client/v3/tasks/POST_apps_{id}_tasks_response.json") + .build()) + .build()); this.tasks - .create(CreateTaskRequest.builder() - .applicationId("test-application-id") - .command("rake db:migrate") - .build()) - .as(StepVerifier::create) - .expectNext(CreateTaskResponse.builder() - .id("d5cc22ec-99a3-4e6a-af91-a44b4ab7b6fa") - .sequenceId(1) - .name("migrate") - .command("rake db:migrate") - .state(TaskState.RUNNING) - .memoryInMb(512) - .diskInMb(1024) - .result(Result.builder() - .build()) - .dropletId("740ebd2b-162b-469a-bd72-3edb96fabd9a") - .createdAt("2016-05-04T17:00:41Z") - .updatedAt("2016-05-04T17:00:42Z") - .link("self", Link.builder() - .href("https://api.example.org/v3/tasks/d5cc22ec-99a3-4e6a-af91-a44b4ab7b6fa") - .build()) - .link("app", Link.builder() - .href("https://api.example.org/v3/apps/ccc25a0f-c8f4-4b39-9f1b-de9f328d0ee5") - .build()) - .link("cancel", Link.builder() - .href("https://api.example.org/v3/tasks/d5cc22ec-99a3-4e6a-af91-a44b4ab7b6fa/actions/cancel") - .method("POST") - .build()) - .link("droplet", Link.builder() - .href("https://api.example.org/v3/droplets/740ebd2b-162b-469a-bd72-3edb96fabd9a") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .create( + CreateTaskRequest.builder() + .applicationId("test-application-id") + .command("rake db:migrate") + .build()) + .as(StepVerifier::create) + .expectNext( + CreateTaskResponse.builder() + .id("d5cc22ec-99a3-4e6a-af91-a44b4ab7b6fa") + .sequenceId(1) + .name("migrate") + .command("rake db:migrate") + .state(TaskState.RUNNING) + .memoryInMb(512) + .diskInMb(1024) + .result(Result.builder().build()) + .dropletId("740ebd2b-162b-469a-bd72-3edb96fabd9a") + .createdAt("2016-05-04T17:00:41Z") + .updatedAt("2016-05-04T17:00:42Z") + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/tasks/d5cc22ec-99a3-4e6a-af91-a44b4ab7b6fa") + .build()) + .link( + "app", + Link.builder() + .href( + "https://api.example.org/v3/apps/ccc25a0f-c8f4-4b39-9f1b-de9f328d0ee5") + .build()) + .link( + "cancel", + Link.builder() + .href( + "https://api.example.org/v3/tasks/d5cc22ec-99a3-4e6a-af91-a44b4ab7b6fa/actions/cancel") + .method("POST") + .build()) + .link( + "droplet", + Link.builder() + .href( + "https://api.example.org/v3/droplets/740ebd2b-162b-469a-bd72-3edb96fabd9a") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void get() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/tasks/test-id") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v3/tasks/GET_{id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request(TestRequest.builder().method(GET).path("/tasks/test-id").build()) + .response( + TestResponse.builder() + .status(OK) + .payload("fixtures/client/v3/tasks/GET_{id}_response.json") + .build()) + .build()); this.tasks - .get(GetTaskRequest.builder() - .taskId("test-id") - .build()) - .as(StepVerifier::create) - .expectNext(GetTaskResponse.builder() - .id("d5cc22ec-99a3-4e6a-af91-a44b4ab7b6fa") - .sequenceId(1) - .name("migrate") - .command("rake db:migrate") - .state(TaskState.RUNNING) - .memoryInMb(512) - .diskInMb(1024) - .result(Result.builder() - .build()) - .dropletId("740ebd2b-162b-469a-bd72-3edb96fabd9a") - .createdAt("2016-05-04T17:00:41Z") - .updatedAt("2016-05-04T17:00:42Z") - .link("self", Link.builder() - .href("https://api.example.org/v3/tasks/d5cc22ec-99a3-4e6a-af91-a44b4ab7b6fa") - .build()) - .link("app", Link.builder() - .href("https://api.example.org/v3/apps/ccc25a0f-c8f4-4b39-9f1b-de9f328d0ee5") - .build()) - .link("cancel", Link.builder() - .href("https://api.example.org/v3/tasks/d5cc22ec-99a3-4e6a-af91-a44b4ab7b6fa/actions/cancel") - .method("POST") - .build()) - .link("droplet", Link.builder() - .href("https://api.example.org/v3/droplets/740ebd2b-162b-469a-bd72-3edb96fabd9a") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .get(GetTaskRequest.builder().taskId("test-id").build()) + .as(StepVerifier::create) + .expectNext( + GetTaskResponse.builder() + .id("d5cc22ec-99a3-4e6a-af91-a44b4ab7b6fa") + .sequenceId(1) + .name("migrate") + .command("rake db:migrate") + .state(TaskState.RUNNING) + .memoryInMb(512) + .diskInMb(1024) + .result(Result.builder().build()) + .dropletId("740ebd2b-162b-469a-bd72-3edb96fabd9a") + .createdAt("2016-05-04T17:00:41Z") + .updatedAt("2016-05-04T17:00:42Z") + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/tasks/d5cc22ec-99a3-4e6a-af91-a44b4ab7b6fa") + .build()) + .link( + "app", + Link.builder() + .href( + "https://api.example.org/v3/apps/ccc25a0f-c8f4-4b39-9f1b-de9f328d0ee5") + .build()) + .link( + "cancel", + Link.builder() + .href( + "https://api.example.org/v3/tasks/d5cc22ec-99a3-4e6a-af91-a44b4ab7b6fa/actions/cancel") + .method("POST") + .build()) + .link( + "droplet", + Link.builder() + .href( + "https://api.example.org/v3/droplets/740ebd2b-162b-469a-bd72-3edb96fabd9a") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void list() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/tasks") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/client/v3/tasks/GET_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request(TestRequest.builder().method(GET).path("/tasks").build()) + .response( + TestResponse.builder() + .status(OK) + .payload("fixtures/client/v3/tasks/GET_response.json") + .build()) + .build()); this.tasks - .list(ListTasksRequest.builder() - .build()) - .as(StepVerifier::create) - .expectNext(ListTasksResponse.builder() - .pagination(Pagination.builder() - .totalResults(3) - .totalPages(2) - .first(Link.builder() - .href("https://api.example.org/v3/tasks?page=1&per_page=2") - .build()) - .last(Link.builder() - .href("https://api.example.org/v3/tasks?page=2&per_page=2") - .build()) - .next(Link.builder() - .href("https://api.example.org/v3/tasks?page=2&per_page=2") - .build()) - .build()) - .resource(TaskResource.builder() - .id("d5cc22ec-99a3-4e6a-af91-a44b4ab7b6fa") - .sequenceId(1) - .name("hello") - .state(TaskState.SUCCEEDED) - .memoryInMb(512) - .diskInMb(1024) - .result(Result.builder() - .build()) - .dropletId("740ebd2b-162b-469a-bd72-3edb96fabd9a") - .createdAt("2016-05-04T17:00:41Z") - .updatedAt("2016-05-04T17:00:42Z") - .link("self", Link.builder() - .href("https://api.example.org/v3/tasks/d5cc22ec-99a3-4e6a-af91-a44b4ab7b6fa") - .build()) - .link("app", Link.builder() - .href("https://api.example.org/v3/apps/ccc25a0f-c8f4-4b39-9f1b-de9f328d0ee5") - .build()) - .link("cancel", Link.builder() - .href("https://api.example.org/v3/tasks/d5cc22ec-99a3-4e6a-af91-a44b4ab7b6fa/actions/cancel") - .method("POST") - .build()) - .link("droplet", Link.builder() - .href("https://api.example.org/v3/droplets/740ebd2b-162b-469a-bd72-3edb96fabd9a") - .build()) - .build()) - .resource(TaskResource.builder() - .id("63b4cd89-fd8b-4bf1-a311-7174fcc907d6") - .sequenceId(2) - .name("migrate") - .state(TaskState.FAILED) - .memoryInMb(512) - .diskInMb(1024) - .result(Result.builder() - .failureReason("Exited with status 1") - .build()) - .dropletId("740ebd2b-162b-469a-bd72-3edb96fabd9a") - .createdAt("2016-05-04T17:00:41Z") - .updatedAt("2016-05-04T17:00:42Z") - .link("self", Link.builder() - .href("https://api.example.org/v3/tasks/63b4cd89-fd8b-4bf1-a311-7174fcc907d6") - .build()) - .link("app", Link.builder() - .href("https://api.example.org/v3/apps/ccc25a0f-c8f4-4b39-9f1b-de9f328d0ee5") - .build()) - .link("cancel", Link.builder() - .href("https://api.example.org/v3/tasks/63b4cd89-fd8b-4bf1-a311-7174fcc907d6/actions/cancel") - .method("POST") - .build()) - .link("droplet", Link.builder() - .href("https://api.example.org/v3/droplets/740ebd2b-162b-469a-bd72-3edb96fabd9a") - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .list(ListTasksRequest.builder().build()) + .as(StepVerifier::create) + .expectNext( + ListTasksResponse.builder() + .pagination( + Pagination.builder() + .totalResults(3) + .totalPages(2) + .first( + Link.builder() + .href( + "https://api.example.org/v3/tasks?page=1&per_page=2") + .build()) + .last( + Link.builder() + .href( + "https://api.example.org/v3/tasks?page=2&per_page=2") + .build()) + .next( + Link.builder() + .href( + "https://api.example.org/v3/tasks?page=2&per_page=2") + .build()) + .build()) + .resource( + TaskResource.builder() + .id("d5cc22ec-99a3-4e6a-af91-a44b4ab7b6fa") + .sequenceId(1) + .name("hello") + .state(TaskState.SUCCEEDED) + .memoryInMb(512) + .diskInMb(1024) + .result(Result.builder().build()) + .dropletId("740ebd2b-162b-469a-bd72-3edb96fabd9a") + .createdAt("2016-05-04T17:00:41Z") + .updatedAt("2016-05-04T17:00:42Z") + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/tasks/d5cc22ec-99a3-4e6a-af91-a44b4ab7b6fa") + .build()) + .link( + "app", + Link.builder() + .href( + "https://api.example.org/v3/apps/ccc25a0f-c8f4-4b39-9f1b-de9f328d0ee5") + .build()) + .link( + "cancel", + Link.builder() + .href( + "https://api.example.org/v3/tasks/d5cc22ec-99a3-4e6a-af91-a44b4ab7b6fa/actions/cancel") + .method("POST") + .build()) + .link( + "droplet", + Link.builder() + .href( + "https://api.example.org/v3/droplets/740ebd2b-162b-469a-bd72-3edb96fabd9a") + .build()) + .build()) + .resource( + TaskResource.builder() + .id("63b4cd89-fd8b-4bf1-a311-7174fcc907d6") + .sequenceId(2) + .name("migrate") + .state(TaskState.FAILED) + .memoryInMb(512) + .diskInMb(1024) + .result( + Result.builder() + .failureReason( + "Exited with status 1") + .build()) + .dropletId("740ebd2b-162b-469a-bd72-3edb96fabd9a") + .createdAt("2016-05-04T17:00:41Z") + .updatedAt("2016-05-04T17:00:42Z") + .link( + "self", + Link.builder() + .href( + "https://api.example.org/v3/tasks/63b4cd89-fd8b-4bf1-a311-7174fcc907d6") + .build()) + .link( + "app", + Link.builder() + .href( + "https://api.example.org/v3/apps/ccc25a0f-c8f4-4b39-9f1b-de9f328d0ee5") + .build()) + .link( + "cancel", + Link.builder() + .href( + "https://api.example.org/v3/tasks/63b4cd89-fd8b-4bf1-a311-7174fcc907d6/actions/cancel") + .method("POST") + .build()) + .link( + "droplet", + Link.builder() + .href( + "https://api.example.org/v3/droplets/740ebd2b-162b-469a-bd72-3edb96fabd9a") + .build()) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } - } diff --git a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/doppler/AbstractDopplerApiTest.java b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/doppler/AbstractDopplerApiTest.java index 9d01468c37..6d42bff262 100644 --- a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/doppler/AbstractDopplerApiTest.java +++ b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/doppler/AbstractDopplerApiTest.java @@ -18,6 +18,4 @@ import org.cloudfoundry.reactor.AbstractRestTest; -abstract class AbstractDopplerApiTest extends AbstractRestTest { - -} +abstract class AbstractDopplerApiTest extends AbstractRestTest {} diff --git a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/doppler/ReactorDopplerClientTest.java b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/doppler/ReactorDopplerClientTest.java index 6ae33a9ea5..8424d1bb24 100644 --- a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/doppler/ReactorDopplerClientTest.java +++ b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/doppler/ReactorDopplerClientTest.java @@ -16,6 +16,11 @@ package org.cloudfoundry.reactor.doppler; +import static io.netty.handler.codec.http.HttpMethod.GET; +import static io.netty.handler.codec.http.HttpResponseStatus.OK; + +import java.time.Duration; +import java.util.Collections; import org.cloudfoundry.doppler.ContainerMetric; import org.cloudfoundry.doppler.ContainerMetricsRequest; import org.cloudfoundry.doppler.Envelope; @@ -29,172 +34,211 @@ import org.junit.Test; import reactor.test.StepVerifier; -import java.time.Duration; -import java.util.Collections; - -import static io.netty.handler.codec.http.HttpMethod.GET; -import static io.netty.handler.codec.http.HttpResponseStatus.OK; - public final class ReactorDopplerClientTest extends AbstractDopplerApiTest { - private final ReactorDopplerEndpoints dopplerEndpoints = new ReactorDopplerEndpoints(CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); + private final ReactorDopplerEndpoints dopplerEndpoints = + new ReactorDopplerEndpoints( + CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); @Test public void containerMetrics() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/apps/test-application-id/containermetrics") - .build()) - .response(TestResponse.builder() - .status(OK) - .contentType("multipart/x-protobuf; boundary=30662872b152b6fbeb87658af504679def2b6680145265ad354761ea7acf") - .payload("fixtures/doppler/apps/GET_{id}_containermetrics_response.bin") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/apps/test-application-id/containermetrics") + .build()) + .response( + TestResponse.builder() + .status(OK) + .contentType( + "multipart/x-protobuf;" + + " boundary=30662872b152b6fbeb87658af504679def2b6680145265ad354761ea7acf") + .payload( + "fixtures/doppler/apps/GET_{id}_containermetrics_response.bin") + .build()) + .build()); this.dopplerEndpoints - .containerMetrics(ContainerMetricsRequest.builder() - .applicationId("test-application-id") - .build()) - .as(StepVerifier::create) - .expectNext(Envelope.builder() - .containerMetric(ContainerMetric.builder() - .applicationId("1a95eadc-95c6-4675-aa07-8c02f80ea8a4") - .cpuPercentage(0.09530591690894699) - .diskBytes(154005504L) - .instanceIndex(2) - .memoryBytes(385896448L) - .build()) - .deployment("cf-cfapps-io2-diego") - .eventType(EventType.CONTAINER_METRIC) - .index("17") - .ip("10.10.115.52") - .job("cell_z2") - .origin("rep") - .timestamp(1460991824620929073L) - .build(), - Envelope.builder() - .containerMetric(ContainerMetric.builder() - .applicationId("1a95eadc-95c6-4675-aa07-8c02f80ea8a4") - .cpuPercentage(0.070504789909887) - .diskBytes(154005504L) - .instanceIndex(0) - .memoryBytes(371363840L) - .build()) - .deployment("cf-cfapps-io2-diego") - .eventType(EventType.CONTAINER_METRIC) - .index("55") - .ip("10.10.115.90") - .job("cell_z2") - .origin("rep") - .timestamp(1460991826249611682L) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .containerMetrics( + ContainerMetricsRequest.builder() + .applicationId("test-application-id") + .build()) + .as(StepVerifier::create) + .expectNext( + Envelope.builder() + .containerMetric( + ContainerMetric.builder() + .applicationId( + "1a95eadc-95c6-4675-aa07-8c02f80ea8a4") + .cpuPercentage(0.09530591690894699) + .diskBytes(154005504L) + .instanceIndex(2) + .memoryBytes(385896448L) + .build()) + .deployment("cf-cfapps-io2-diego") + .eventType(EventType.CONTAINER_METRIC) + .index("17") + .ip("10.10.115.52") + .job("cell_z2") + .origin("rep") + .timestamp(1460991824620929073L) + .build(), + Envelope.builder() + .containerMetric( + ContainerMetric.builder() + .applicationId( + "1a95eadc-95c6-4675-aa07-8c02f80ea8a4") + .cpuPercentage(0.070504789909887) + .diskBytes(154005504L) + .instanceIndex(0) + .memoryBytes(371363840L) + .build()) + .deployment("cf-cfapps-io2-diego") + .eventType(EventType.CONTAINER_METRIC) + .index("55") + .ip("10.10.115.90") + .job("cell_z2") + .origin("rep") + .timestamp(1460991826249611682L) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void containerMetricsLarge() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/apps/test-application-id/containermetrics") - .build()) - .response(TestResponse.builder() - .status(OK) - .contentType("multipart/x-protobuf; boundary=d12911a0934bf75879de385a042c4037fa903841921ba84abb77cb73a444") - .payload("fixtures/doppler/apps/GET_{id}_containermetrics_response-large.bin") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/apps/test-application-id/containermetrics") + .build()) + .response( + TestResponse.builder() + .status(OK) + .contentType( + "multipart/x-protobuf;" + + " boundary=d12911a0934bf75879de385a042c4037fa903841921ba84abb77cb73a444") + .payload( + "fixtures/doppler/apps/GET_{id}_containermetrics_response-large.bin") + .build()) + .build()); this.dopplerEndpoints - .containerMetrics(ContainerMetricsRequest.builder() - .applicationId("test-application-id") - .build()) - .as(StepVerifier::create) - .expectNextCount(3093) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .containerMetrics( + ContainerMetricsRequest.builder() + .applicationId("test-application-id") + .build()) + .as(StepVerifier::create) + .expectNextCount(3093) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void recentLogs() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/apps/test-application-id/recentlogs") - .build()) - .response(TestResponse.builder() - .status(OK) - .contentType("multipart/x-protobuf; boundary=92d42123ec83c0af6a27ba0de34528b702a53e2e67ba99636286b6a4cafb") - .payload("fixtures/doppler/apps/GET_{id}_recentlogs_response.bin") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/apps/test-application-id/recentlogs") + .build()) + .response( + TestResponse.builder() + .status(OK) + .contentType( + "multipart/x-protobuf;" + + " boundary=92d42123ec83c0af6a27ba0de34528b702a53e2e67ba99636286b6a4cafb") + .payload( + "fixtures/doppler/apps/GET_{id}_recentlogs_response.bin") + .build()) + .build()); this.dopplerEndpoints - .recentLogs(RecentLogsRequest.builder() - .applicationId("test-application-id") - .build()) - .as(StepVerifier::create) - .expectNext(Envelope.builder() - .deployment("cf-cfapps-io2-diego") - .eventType(EventType.LOG_MESSAGE) - .index("33") - .ip("10.10.115.68") - .job("cell_z2") - .logMessage(LogMessage.builder() - .applicationId("1a95eadc-95c6-4675-aa07-8c02f80ea8a4") - .message("2016-04-21 22:36:28.035 INFO 24 --- [ main] o.s.j.e.a.AnnotationMBeanExporter : Located managed bean 'rabbitConnectionFactory': registering " + - "with " + - "JMX server as MBean [org.springframework.amqp.rabbit.connection:name=rabbitConnectionFactory,type=CachingConnectionFactory]") - .messageType(MessageType.OUT) - .sourceInstance("0") - .sourceType("APP") - .timestamp(1461278188035928339L) - .build()) - .origin("rep") - .timestamp(1461278188035930425L) - .build(), - Envelope.builder() - .deployment("cf-cfapps-io2-diego") - .eventType(EventType.LOG_MESSAGE) - .index("33") - .ip("10.10.115.68") - .job("cell_z2") - .logMessage(LogMessage.builder() - .applicationId("1a95eadc-95c6-4675-aa07-8c02f80ea8a4") - .message("Container became healthy") - .messageType(MessageType.OUT) - .sourceInstance("0") - .sourceType("CELL") - .timestamp(1461278188715651492L) - .build()) - .origin("rep") - .timestamp(1461278188715653514L) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .recentLogs( + RecentLogsRequest.builder().applicationId("test-application-id").build()) + .as(StepVerifier::create) + .expectNext( + Envelope.builder() + .deployment("cf-cfapps-io2-diego") + .eventType(EventType.LOG_MESSAGE) + .index("33") + .ip("10.10.115.68") + .job("cell_z2") + .logMessage( + LogMessage.builder() + .applicationId( + "1a95eadc-95c6-4675-aa07-8c02f80ea8a4") + .message( + "2016-04-21 22:36:28.035 INFO 24 --- [ " + + " main]" + + " o.s.j.e.a.AnnotationMBeanExporter " + + " : Located managed bean" + + " 'rabbitConnectionFactory':" + + " registering with JMX server as" + + " MBean" + + " [org.springframework.amqp.rabbit.connection:name=rabbitConnectionFactory,type=CachingConnectionFactory]") + .messageType(MessageType.OUT) + .sourceInstance("0") + .sourceType("APP") + .timestamp(1461278188035928339L) + .build()) + .origin("rep") + .timestamp(1461278188035930425L) + .build(), + Envelope.builder() + .deployment("cf-cfapps-io2-diego") + .eventType(EventType.LOG_MESSAGE) + .index("33") + .ip("10.10.115.68") + .job("cell_z2") + .logMessage( + LogMessage.builder() + .applicationId( + "1a95eadc-95c6-4675-aa07-8c02f80ea8a4") + .message("Container became healthy") + .messageType(MessageType.OUT) + .sourceInstance("0") + .sourceType("CELL") + .timestamp(1461278188715651492L) + .build()) + .origin("rep") + .timestamp(1461278188715653514L) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void recentLogsLarge() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/apps/test-application-id/recentlogs") - .build()) - .response(TestResponse.builder() - .status(OK) - .contentType("multipart/x-protobuf; boundary=74684f6bed3ee99aa98a13c609c354cd849b01a6e6051226906140ad31b2") - .payload("fixtures/doppler/apps/GET_{id}_recentlogs_response-large.bin") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/apps/test-application-id/recentlogs") + .build()) + .response( + TestResponse.builder() + .status(OK) + .contentType( + "multipart/x-protobuf;" + + " boundary=74684f6bed3ee99aa98a13c609c354cd849b01a6e6051226906140ad31b2") + .payload( + "fixtures/doppler/apps/GET_{id}_recentlogs_response-large.bin") + .build()) + .build()); this.dopplerEndpoints - .recentLogs(RecentLogsRequest.builder() - .applicationId("test-application-id") - .build()) - .as(StepVerifier::create) - .expectNextCount(3093) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .recentLogs( + RecentLogsRequest.builder().applicationId("test-application-id").build()) + .as(StepVerifier::create) + .expectNextCount(3093) + .expectComplete() + .verify(Duration.ofSeconds(5)); } - } diff --git a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/logcache/v1/AbstractLogCacheApiTest.java b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/logcache/v1/AbstractLogCacheApiTest.java index 269ca75a3c..1a0d9d6814 100644 --- a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/logcache/v1/AbstractLogCacheApiTest.java +++ b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/logcache/v1/AbstractLogCacheApiTest.java @@ -18,6 +18,4 @@ import org.cloudfoundry.reactor.AbstractRestTest; -class AbstractLogCacheApiTest extends AbstractRestTest { - -} +class AbstractLogCacheApiTest extends AbstractRestTest {} diff --git a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/logcache/v1/ReactorLogCacheClientTest.java b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/logcache/v1/ReactorLogCacheClientTest.java index 5861459ace..92af9e83d4 100644 --- a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/logcache/v1/ReactorLogCacheClientTest.java +++ b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/logcache/v1/ReactorLogCacheClientTest.java @@ -16,6 +16,11 @@ package org.cloudfoundry.reactor.logcache.v1; +import static io.netty.handler.codec.http.HttpMethod.GET; +import static io.netty.handler.codec.http.HttpResponseStatus.OK; + +import java.time.Duration; +import java.util.Collections; import org.cloudfoundry.logcache.v1.Envelope; import org.cloudfoundry.logcache.v1.EnvelopeBatch; import org.cloudfoundry.logcache.v1.Gauge; @@ -35,155 +40,245 @@ import org.junit.Test; import reactor.test.StepVerifier; -import java.time.Duration; -import java.util.Collections; - -import static io.netty.handler.codec.http.HttpMethod.GET; -import static io.netty.handler.codec.http.HttpResponseStatus.OK; - public class ReactorLogCacheClientTest extends AbstractLogCacheApiTest { - private final ReactorLogCacheEndpoints logCacheEndpoints = new ReactorLogCacheEndpoints(CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); + private final ReactorLogCacheEndpoints logCacheEndpoints = + new ReactorLogCacheEndpoints( + CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); @Test public void info() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/api/v1/info") - .build()) - .response(TestResponse.builder() - .status(OK) - .contentType("text/plain; charset=utf-8") - .payload("fixtures/logcache.v1/GET_info_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request(TestRequest.builder().method(GET).path("/api/v1/info").build()) + .response( + TestResponse.builder() + .status(OK) + .contentType("text/plain; charset=utf-8") + .payload("fixtures/logcache.v1/GET_info_response.json") + .build()) + .build()); - this.logCacheEndpoints.info(InfoRequest.builder().build()) - .as(StepVerifier::create) - .expectNext(InfoResponse.builder() - .version("2.6.1") - .vmUptime(7166438L) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + this.logCacheEndpoints + .info(InfoRequest.builder().build()) + .as(StepVerifier::create) + .expectNext(InfoResponse.builder().version("2.6.1").vmUptime(7166438L).build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void meta() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/api/v1/meta") - .build()) - .response(TestResponse.builder() - .status(OK) - .contentType("text/plain; charset=utf-8") - .payload("fixtures/logcache.v1/GET_meta_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request(TestRequest.builder().method(GET).path("/api/v1/meta").build()) + .response( + TestResponse.builder() + .status(OK) + .contentType("text/plain; charset=utf-8") + .payload("fixtures/logcache.v1/GET_meta_response.json") + .build()) + .build()); - this.logCacheEndpoints.meta(MetaRequest.builder().build()) - .as(StepVerifier::create) - .expectNext(MetaResponse.builder() - .meta("traffic_controller", Metadata.builder() - .count(5490L) - .expired(1069110L) - .newestTimestamp(1588631926299067790L) - .oldestTimestamp(1588595386296937544L) - .build()) - .meta("uaa", Metadata.builder() - .count(100000L) - .expired(79066604L) - .newestTimestamp(1588631951858159538L) - .oldestTimestamp(1588623478864261934L) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + this.logCacheEndpoints + .meta(MetaRequest.builder().build()) + .as(StepVerifier::create) + .expectNext( + MetaResponse.builder() + .meta( + "traffic_controller", + Metadata.builder() + .count(5490L) + .expired(1069110L) + .newestTimestamp(1588631926299067790L) + .oldestTimestamp(1588595386296937544L) + .build()) + .meta( + "uaa", + Metadata.builder() + .count(100000L) + .expired(79066604L) + .newestTimestamp(1588631951858159538L) + .oldestTimestamp(1588623478864261934L) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void read() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/api/v1/read/test-source-id") - .build()) - .response(TestResponse.builder() - .status(OK) - .contentType("application/json") - .payload("fixtures/logcache.v1/GET_{id}_read_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/api/v1/read/test-source-id") + .build()) + .response( + TestResponse.builder() + .status(OK) + .contentType("application/json") + .payload("fixtures/logcache.v1/GET_{id}_read_response.json") + .build()) + .build()); - this.logCacheEndpoints.read(ReadRequest.builder() - .sourceId("test-source-id") - .build()) - .as(StepVerifier::create) - .expectNext(ReadResponse.builder() - .envelopes(EnvelopeBatch.builder() - .batch( - Envelope.builder() - .timestamp(1588592413697846700L) - .sourceId("1a69c137-90f5-4b0a-8526-2ebca84c83a8") - .instanceId("0") - .tag("app_id", "1a69c137-90f5-4b0a-8526-2ebca84c83a8") - .tag("app_name", "test") - .tag("deployment", "cf-6a000373a858bcb78f1c") - .tag("index", "f237deb0-471f-459a-a18b-de084a8113e7") - .tag("instance_id", "0") - .tag("ip", "10.194.34.36") - .tag("job", "diego_cell") - .tag("organization_id", "825ec316-5590-416a-9247-1dd0a5750801") - .tag("organization_name", "system") - .tag("origin", "rep") - .tag("process_id", "1a69c137-90f5-4b0a-8526-2ebca84c83a8") - .tag("process_instance_id", "9173f9d0-02b7-4f39-4738-f53b") - .tag("process_type", "web") - .tag("product", "Pivotal Application Service") - .tag("source_id", "1a69c137-90f5-4b0a-8526-2ebca84c83a8") - .tag("space_id", "547d902c-0554-4e7c-b886-3926a2e73bdf") - .tag("space_name", "test") - .tag("system_domain", "cf.red.springapps.io") - .gauge(Gauge.builder() - .metric("cpu", Metric.builder().unit("percentage").value(0.394234612100979).build()) - .metric("disk", Metric.builder().unit("bytes").value(433881088D).build()) - .metric("disk_quota", Metric.builder().unit("bytes").value(2122546345D).build()) - .metric("memory", Metric.builder().unit("bytes").value(822926477D).build()) - .metric("memory_quota", Metric.builder().unit("bytes").value(2147483648D).build()) - .build()) - .build(), - Envelope.builder() - .timestamp(1588617404686865694L) - .sourceId("1a69c137-90f5-4b0a-8526-2ebca84c83a8") - .instanceId("0") - .tag("app_id", "1a69c137-90f5-4b0a-8526-2ebca84c83a8") - .tag("app_name", "test") - .tag("deployment", "cf-6a000373a858bcb78f1c") - .tag("index", "f237deb0-471f-459a-a18b-de084a8113e7") - .tag("instance_id", "0") - .tag("ip", "10.194.34.36") - .tag("job", "diego_cell") - .tag("organization_id", "825ec316-5590-416a-9247-1dd0a5750801") - .tag("organization_name", "system") - .tag("origin", "rep") - .tag("process_id", "1a69c137-90f5-4b0a-8526-2ebca84c83a8") - .tag("process_instance_id", "9173f9d0-02b7-4f39-4738-f53b") - .tag("process_type", "web") - .tag("product", "Pivotal Application Service") - .tag("source_id", "1a69c137-90f5-4b0a-8526-2ebca84c83a8") - .tag("source_type", "APP/PROC/WEB") - .tag("space_id", "547d902c-0554-4e7c-b886-3926a2e73bdf") - .tag("space_name", "test") - .tag("system_domain", "cf.red.springapps.io") - .log(Log.builder() - .payload("MjAyMC0wNS0wNCAxODozNjo0NC42ODYgIElORk8gMTMgLS0tIFstaW5zdGFuY2Uua2V5LTBdIG8uYy5zLkZpbGVXYXRjaGluZ1g1MDlFeHRlbmRlZEtleU1hbmFnZXIgOiBVcGRhdGVkIEtleU1hbmFnZXIgZm9yIC9ldGMvY2YtaW5zdGFuY2UtY3JlZGVudGlhbHMvaW5zdGFuY2Uua2V5IGFuZCAvZXRjL2NmLWluc3RhbmNlLWNyZWRlbnRpYWxzL2luc3RhbmNlLmNydA==") - .type(LogType.OUT) + this.logCacheEndpoints + .read(ReadRequest.builder().sourceId("test-source-id").build()) + .as(StepVerifier::create) + .expectNext( + ReadResponse.builder() + .envelopes( + EnvelopeBatch.builder() + .batch( + Envelope.builder() + .timestamp(1588592413697846700L) + .sourceId( + "1a69c137-90f5-4b0a-8526-2ebca84c83a8") + .instanceId("0") + .tag( + "app_id", + "1a69c137-90f5-4b0a-8526-2ebca84c83a8") + .tag("app_name", "test") + .tag( + "deployment", + "cf-6a000373a858bcb78f1c") + .tag( + "index", + "f237deb0-471f-459a-a18b-de084a8113e7") + .tag("instance_id", "0") + .tag("ip", "10.194.34.36") + .tag("job", "diego_cell") + .tag( + "organization_id", + "825ec316-5590-416a-9247-1dd0a5750801") + .tag("organization_name", "system") + .tag("origin", "rep") + .tag( + "process_id", + "1a69c137-90f5-4b0a-8526-2ebca84c83a8") + .tag( + "process_instance_id", + "9173f9d0-02b7-4f39-4738-f53b") + .tag("process_type", "web") + .tag( + "product", + "Pivotal Application" + + " Service") + .tag( + "source_id", + "1a69c137-90f5-4b0a-8526-2ebca84c83a8") + .tag( + "space_id", + "547d902c-0554-4e7c-b886-3926a2e73bdf") + .tag("space_name", "test") + .tag( + "system_domain", + "cf.red.springapps.io") + .gauge( + Gauge.builder() + .metric( + "cpu", + Metric + .builder() + .unit( + "percentage") + .value( + 0.394234612100979) + .build()) + .metric( + "disk", + Metric + .builder() + .unit( + "bytes") + .value( + 433881088D) + .build()) + .metric( + "disk_quota", + Metric + .builder() + .unit( + "bytes") + .value( + 2122546345D) + .build()) + .metric( + "memory", + Metric + .builder() + .unit( + "bytes") + .value( + 822926477D) + .build()) + .metric( + "memory_quota", + Metric + .builder() + .unit( + "bytes") + .value( + 2147483648D) + .build()) + .build()) + .build(), + Envelope.builder() + .timestamp(1588617404686865694L) + .sourceId( + "1a69c137-90f5-4b0a-8526-2ebca84c83a8") + .instanceId("0") + .tag( + "app_id", + "1a69c137-90f5-4b0a-8526-2ebca84c83a8") + .tag("app_name", "test") + .tag( + "deployment", + "cf-6a000373a858bcb78f1c") + .tag( + "index", + "f237deb0-471f-459a-a18b-de084a8113e7") + .tag("instance_id", "0") + .tag("ip", "10.194.34.36") + .tag("job", "diego_cell") + .tag( + "organization_id", + "825ec316-5590-416a-9247-1dd0a5750801") + .tag("organization_name", "system") + .tag("origin", "rep") + .tag( + "process_id", + "1a69c137-90f5-4b0a-8526-2ebca84c83a8") + .tag( + "process_instance_id", + "9173f9d0-02b7-4f39-4738-f53b") + .tag("process_type", "web") + .tag( + "product", + "Pivotal Application" + + " Service") + .tag( + "source_id", + "1a69c137-90f5-4b0a-8526-2ebca84c83a8") + .tag("source_type", "APP/PROC/WEB") + .tag( + "space_id", + "547d902c-0554-4e7c-b886-3926a2e73bdf") + .tag("space_name", "test") + .tag( + "system_domain", + "cf.red.springapps.io") + .log( + Log.builder() + .payload( + "MjAyMC0wNS0wNCAxODozNjo0NC42ODYgIElORk8gMTMgLS0tIFstaW5zdGFuY2Uua2V5LTBdIG8uYy5zLkZpbGVXYXRjaGluZ1g1MDlFeHRlbmRlZEtleU1hbmFnZXIgOiBVcGRhdGVkIEtleU1hbmFnZXIgZm9yIC9ldGMvY2YtaW5zdGFuY2UtY3JlZGVudGlhbHMvaW5zdGFuY2Uua2V5IGFuZCAvZXRjL2NmLWluc3RhbmNlLWNyZWRlbnRpYWxzL2luc3RhbmNlLmNydA==") + .type(LogType.OUT) + .build()) + .build()) + .build()) .build()) - .build() - ) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .expectComplete() + .verify(Duration.ofSeconds(5)); } - } diff --git a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/networking/AbstractNetworkingApiTest.java b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/networking/AbstractNetworkingApiTest.java index e04d6a1c3f..25c1db2075 100644 --- a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/networking/AbstractNetworkingApiTest.java +++ b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/networking/AbstractNetworkingApiTest.java @@ -18,6 +18,4 @@ import org.cloudfoundry.reactor.AbstractRestTest; -public abstract class AbstractNetworkingApiTest extends AbstractRestTest { - -} +public abstract class AbstractNetworkingApiTest extends AbstractRestTest {} diff --git a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/networking/v1/policies/ReactorPoliciesClientTest.java b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/networking/v1/policies/ReactorPoliciesClientTest.java index a1767bd410..09ffbf0b0f 100644 --- a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/networking/v1/policies/ReactorPoliciesClientTest.java +++ b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/networking/v1/policies/ReactorPoliciesClientTest.java @@ -16,6 +16,12 @@ package org.cloudfoundry.reactor.networking.v1.policies; +import static io.netty.handler.codec.http.HttpMethod.GET; +import static io.netty.handler.codec.http.HttpMethod.POST; +import static io.netty.handler.codec.http.HttpResponseStatus.OK; + +import java.time.Duration; +import java.util.Collections; import org.cloudfoundry.networking.v1.policies.CreatePoliciesRequest; import org.cloudfoundry.networking.v1.policies.DeletePoliciesRequest; import org.cloudfoundry.networking.v1.policies.Destination; @@ -31,158 +37,200 @@ import org.junit.Test; import reactor.test.StepVerifier; -import java.time.Duration; -import java.util.Collections; - -import static io.netty.handler.codec.http.HttpMethod.GET; -import static io.netty.handler.codec.http.HttpMethod.POST; -import static io.netty.handler.codec.http.HttpResponseStatus.OK; - public final class ReactorPoliciesClientTest extends AbstractNetworkingApiTest { - private final ReactorPolicies policies = new ReactorPolicies(CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); + private final ReactorPolicies policies = + new ReactorPolicies( + CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); @Test public void create() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(POST).path("/policies") - .payload("fixtures/networking/policies/POST_request.json") - .build()) - .response(TestResponse.builder() - .payload("fixtures/networking/policies/POST_response.json") - .status(OK) - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(POST) + .path("/policies") + .payload("fixtures/networking/policies/POST_request.json") + .build()) + .response( + TestResponse.builder() + .payload("fixtures/networking/policies/POST_response.json") + .status(OK) + .build()) + .build()); this.policies - .create(CreatePoliciesRequest.builder() - .policy(Policy.builder() - .destination(Destination.builder() - .id("38f08df0-19df-4439-b4e9-61096d4301ea") - .protocol("tcp") - .ports(Ports.builder() - .end(1235) - .start(1234) - .build()) - .build()) - .source(Source.builder() - .id("1081ceac-f5c4-47a8-95e8-88e1e302efb5") - .build()) - .build()) - .policy(Policy.builder() - .destination(Destination.builder() - .id("308e7ef1-63f1-4a6c-978c-2e527cbb1c36") - .protocol("tcp") - .ports(Ports.builder() - .end(1235) - .start(1234) - .build()) - .build()) - .source(Source.builder() - .id("308e7ef1-63f1-4a6c-978c-2e527cbb1c36") - .build()) - .build()) - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .create( + CreatePoliciesRequest.builder() + .policy( + Policy.builder() + .destination( + Destination.builder() + .id( + "38f08df0-19df-4439-b4e9-61096d4301ea") + .protocol("tcp") + .ports( + Ports.builder() + .end(1235) + .start(1234) + .build()) + .build()) + .source( + Source.builder() + .id( + "1081ceac-f5c4-47a8-95e8-88e1e302efb5") + .build()) + .build()) + .policy( + Policy.builder() + .destination( + Destination.builder() + .id( + "308e7ef1-63f1-4a6c-978c-2e527cbb1c36") + .protocol("tcp") + .ports( + Ports.builder() + .end(1235) + .start(1234) + .build()) + .build()) + .source( + Source.builder() + .id( + "308e7ef1-63f1-4a6c-978c-2e527cbb1c36") + .build()) + .build()) + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void delete() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(POST).path("/policies/delete") - .payload("fixtures/networking/policies/POST_delete_request.json") - .build()) - .response(TestResponse.builder() - .payload("fixtures/networking/policies/POST_delete_response.json") - .status(OK) - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(POST) + .path("/policies/delete") + .payload( + "fixtures/networking/policies/POST_delete_request.json") + .build()) + .response( + TestResponse.builder() + .payload( + "fixtures/networking/policies/POST_delete_response.json") + .status(OK) + .build()) + .build()); this.policies - .delete(DeletePoliciesRequest.builder() - .policy(Policy.builder() - .destination(Destination.builder() - .id("38f08df0-19df-4439-b4e9-61096d4301ea") - .protocol("tcp") - .ports(Ports.builder() - .end(1235) - .start(1234) - .build()) - .build()) - .source(Source.builder() - .id("1081ceac-f5c4-47a8-95e8-88e1e302efb5") - .build()) - .build()) - .policy(Policy.builder() - .destination(Destination.builder() - .id("308e7ef1-63f1-4a6c-978c-2e527cbb1c36") - .protocol("tcp") - .ports(Ports.builder() - .end(1235) - .start(1234) - .build()) - .build()) - .source(Source.builder() - .id("308e7ef1-63f1-4a6c-978c-2e527cbb1c36") - .build()) - .build()) - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .delete( + DeletePoliciesRequest.builder() + .policy( + Policy.builder() + .destination( + Destination.builder() + .id( + "38f08df0-19df-4439-b4e9-61096d4301ea") + .protocol("tcp") + .ports( + Ports.builder() + .end(1235) + .start(1234) + .build()) + .build()) + .source( + Source.builder() + .id( + "1081ceac-f5c4-47a8-95e8-88e1e302efb5") + .build()) + .build()) + .policy( + Policy.builder() + .destination( + Destination.builder() + .id( + "308e7ef1-63f1-4a6c-978c-2e527cbb1c36") + .protocol("tcp") + .ports( + Ports.builder() + .end(1235) + .start(1234) + .build()) + .build()) + .source( + Source.builder() + .id( + "308e7ef1-63f1-4a6c-978c-2e527cbb1c36") + .build()) + .build()) + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void list() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/policies") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/networking/policies/GET_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request(TestRequest.builder().method(GET).path("/policies").build()) + .response( + TestResponse.builder() + .status(OK) + .payload("fixtures/networking/policies/GET_response.json") + .build()) + .build()); this.policies - .list(ListPoliciesRequest.builder() - .build()) - .as(StepVerifier::create) - .expectNext(ListPoliciesResponse.builder() - .totalPolicies(2) - .policy(Policy.builder() - .destination(Destination.builder() - .id("38f08df0-19df-4439-b4e9-61096d4301ea") - .protocol("tcp") - .ports(Ports.builder() - .end(1235) - .start(1234) - .build()) - .build()) - .source(Source.builder() - .id("1081ceac-f5c4-47a8-95e8-88e1e302efb5") - .build()) - .build()) - .policy(Policy.builder() - .destination(Destination.builder() - .id("308e7ef1-63f1-4a6c-978c-2e527cbb1c36") - .protocol("tcp") - .ports(Ports.builder() - .end(1235) - .start(1234) - .build()) - .build()) - .source(Source.builder() - .id("308e7ef1-63f1-4a6c-978c-2e527cbb1c36") - .build()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .list(ListPoliciesRequest.builder().build()) + .as(StepVerifier::create) + .expectNext( + ListPoliciesResponse.builder() + .totalPolicies(2) + .policy( + Policy.builder() + .destination( + Destination.builder() + .id( + "38f08df0-19df-4439-b4e9-61096d4301ea") + .protocol("tcp") + .ports( + Ports.builder() + .end(1235) + .start(1234) + .build()) + .build()) + .source( + Source.builder() + .id( + "1081ceac-f5c4-47a8-95e8-88e1e302efb5") + .build()) + .build()) + .policy( + Policy.builder() + .destination( + Destination.builder() + .id( + "308e7ef1-63f1-4a6c-978c-2e527cbb1c36") + .protocol("tcp") + .ports( + Ports.builder() + .end(1235) + .start(1234) + .build()) + .build()) + .source( + Source.builder() + .id( + "308e7ef1-63f1-4a6c-978c-2e527cbb1c36") + .build()) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } - } diff --git a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/networking/v1/tags/ReactorTagsClientTest.java b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/networking/v1/tags/ReactorTagsClientTest.java index 51f8f479d7..31b6bf8b4a 100644 --- a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/networking/v1/tags/ReactorTagsClientTest.java +++ b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/networking/v1/tags/ReactorTagsClientTest.java @@ -16,6 +16,11 @@ package org.cloudfoundry.reactor.networking.v1.tags; +import static io.netty.handler.codec.http.HttpMethod.GET; +import static io.netty.handler.codec.http.HttpResponseStatus.OK; + +import java.time.Duration; +import java.util.Collections; import org.cloudfoundry.networking.v1.tags.ListTagsRequest; import org.cloudfoundry.networking.v1.tags.ListTagsResponse; import org.cloudfoundry.networking.v1.tags.Tag; @@ -26,48 +31,45 @@ import org.junit.Test; import reactor.test.StepVerifier; -import java.time.Duration; -import java.util.Collections; - -import static io.netty.handler.codec.http.HttpMethod.GET; -import static io.netty.handler.codec.http.HttpResponseStatus.OK; - public final class ReactorTagsClientTest extends AbstractNetworkingApiTest { - private final ReactorTags tags = new ReactorTags(CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); + private final ReactorTags tags = + new ReactorTags(CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); @Test public void list() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/tags") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/networking/tags/GET_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request(TestRequest.builder().method(GET).path("/tags").build()) + .response( + TestResponse.builder() + .status(OK) + .payload("fixtures/networking/tags/GET_response.json") + .build()) + .build()); this.tags - .list(ListTagsRequest.builder() - .build()) - .as(StepVerifier::create) - .expectNext(ListTagsResponse.builder() - .tag(Tag.builder() - .id("1081ceac-f5c4-47a8-95e8-88e1e302efb5") - .tag("0001") - .build()) - .tag(Tag.builder() - .id("308e7ef1-63f1-4a6c-978c-2e527cbb1c36") - .tag("0002") - .build()) - .tag(Tag.builder() - .id("38f08df0-19df-4439-b4e9-61096d4301ea") - .tag("0003") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .list(ListTagsRequest.builder().build()) + .as(StepVerifier::create) + .expectNext( + ListTagsResponse.builder() + .tag( + Tag.builder() + .id("1081ceac-f5c4-47a8-95e8-88e1e302efb5") + .tag("0001") + .build()) + .tag( + Tag.builder() + .id("308e7ef1-63f1-4a6c-978c-2e527cbb1c36") + .tag("0002") + .build()) + .tag( + Tag.builder() + .id("38f08df0-19df-4439-b4e9-61096d4301ea") + .tag("0003") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } - } diff --git a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/routing/AbstractRoutingApiTest.java b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/routing/AbstractRoutingApiTest.java index d13408830a..8f4f8062a7 100644 --- a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/routing/AbstractRoutingApiTest.java +++ b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/routing/AbstractRoutingApiTest.java @@ -18,6 +18,4 @@ import org.cloudfoundry.reactor.AbstractRestTest; -public abstract class AbstractRoutingApiTest extends AbstractRestTest { - -} +public abstract class AbstractRoutingApiTest extends AbstractRestTest {} diff --git a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/routing/v1/routergroups/ReactorRouterGroupsTest.java b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/routing/v1/routergroups/ReactorRouterGroupsTest.java index 264e415c0a..f154dbe3e8 100644 --- a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/routing/v1/routergroups/ReactorRouterGroupsTest.java +++ b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/routing/v1/routergroups/ReactorRouterGroupsTest.java @@ -16,6 +16,12 @@ package org.cloudfoundry.reactor.routing.v1.routergroups; +import static io.netty.handler.codec.http.HttpMethod.GET; +import static io.netty.handler.codec.http.HttpMethod.PUT; +import static io.netty.handler.codec.http.HttpResponseStatus.OK; + +import java.time.Duration; +import java.util.Collections; import org.cloudfoundry.reactor.InteractionContext; import org.cloudfoundry.reactor.TestRequest; import org.cloudfoundry.reactor.TestResponse; @@ -28,72 +34,77 @@ import org.junit.Test; import reactor.test.StepVerifier; -import java.time.Duration; -import java.util.Collections; - -import static io.netty.handler.codec.http.HttpMethod.GET; -import static io.netty.handler.codec.http.HttpMethod.PUT; -import static io.netty.handler.codec.http.HttpResponseStatus.OK; - public final class ReactorRouterGroupsTest extends AbstractRoutingApiTest { - private final ReactorRouterGroups routerGroups = new ReactorRouterGroups(CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); + private final ReactorRouterGroups routerGroups = + new ReactorRouterGroups( + CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); @Test public void list() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/v1/router_groups") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/routing/v1/routergroups/GET_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder().method(GET).path("/v1/router_groups").build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/routing/v1/routergroups/GET_response.json") + .build()) + .build()); this.routerGroups - .list(ListRouterGroupsRequest.builder() - .build()) - .as(StepVerifier::create) - .expectNext(ListRouterGroupsResponse.builder() - .routerGroup(RouterGroup.builder() - .name("default-tcp") - .reservablePorts("1024-65535") - .routerGroupId("abc123") - .type("tcp") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .list(ListRouterGroupsRequest.builder().build()) + .as(StepVerifier::create) + .expectNext( + ListRouterGroupsResponse.builder() + .routerGroup( + RouterGroup.builder() + .name("default-tcp") + .reservablePorts("1024-65535") + .routerGroupId("abc123") + .type("tcp") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void update() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(PUT).path("/v1/router_groups/abc123") - .payload("fixtures/routing/v1/routergroups/PUT_{id}_request.json") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/routing/v1/routergroups/PUT_{id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(PUT) + .path("/v1/router_groups/abc123") + .payload( + "fixtures/routing/v1/routergroups/PUT_{id}_request.json") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/routing/v1/routergroups/PUT_{id}_response.json") + .build()) + .build()); this.routerGroups - .update(UpdateRouterGroupRequest.builder() - .reservablePorts("1024-65535") - .routerGroupId("abc123") - .build()) - .as(StepVerifier::create) - .expectNext(UpdateRouterGroupResponse.builder() - .name("default-tcp") - .reservablePorts("1024-65535") - .routerGroupId("abc123") - .type("tcp") - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .update( + UpdateRouterGroupRequest.builder() + .reservablePorts("1024-65535") + .routerGroupId("abc123") + .build()) + .as(StepVerifier::create) + .expectNext( + UpdateRouterGroupResponse.builder() + .name("default-tcp") + .reservablePorts("1024-65535") + .routerGroupId("abc123") + .type("tcp") + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } - } diff --git a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/routing/v1/tcproutes/EventStreamCodecTest.java b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/routing/v1/tcproutes/EventStreamCodecTest.java index 695c1654bf..ef6a61f477 100644 --- a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/routing/v1/tcproutes/EventStreamCodecTest.java +++ b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/routing/v1/tcproutes/EventStreamCodecTest.java @@ -16,6 +16,10 @@ package org.cloudfoundry.reactor.routing.v1.tcproutes; +import static io.netty.handler.codec.http.HttpMethod.GET; +import static io.netty.handler.codec.http.HttpResponseStatus.OK; + +import java.time.Duration; import org.cloudfoundry.reactor.AbstractRestTest; import org.cloudfoundry.reactor.InteractionContext; import org.cloudfoundry.reactor.TestRequest; @@ -27,201 +31,169 @@ import reactor.netty.http.client.HttpClientResponse; import reactor.test.StepVerifier; -import java.time.Duration; - -import static io.netty.handler.codec.http.HttpMethod.GET; -import static io.netty.handler.codec.http.HttpResponseStatus.OK; - public final class EventStreamCodecTest extends AbstractRestTest { @Test public void allData() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET) - .path("/") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("org/cloudfoundry/reactor/routing/v1/tcproutes/all-data.txt") - .build()) - .build()); - - CONNECTION_CONTEXT.getHttpClient() - .get() - .uri(this.root.block()) - .responseConnection(EventStreamCodecTest::toEventsFlux) - .as(StepVerifier::create) - .expectNext(ServerSentEvent.builder() - .data("This is the first message.") - .build()) - .expectNext(ServerSentEvent.builder() - .data("This is the second message, it") - .data("has two lines.") - .build()) - .expectNext(ServerSentEvent.builder() - .data("This is the third message.") - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + mockRequest( + InteractionContext.builder() + .request(TestRequest.builder().method(GET).path("/").build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "org/cloudfoundry/reactor/routing/v1/tcproutes/all-data.txt") + .build()) + .build()); + + CONNECTION_CONTEXT + .getHttpClient() + .get() + .uri(this.root.block()) + .responseConnection(EventStreamCodecTest::toEventsFlux) + .as(StepVerifier::create) + .expectNext(ServerSentEvent.builder().data("This is the first message.").build()) + .expectNext( + ServerSentEvent.builder() + .data("This is the second message, it") + .data("has two lines.") + .build()) + .expectNext(ServerSentEvent.builder().data("This is the third message.").build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void colonSpacing() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET) - .path("/") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("org/cloudfoundry/reactor/routing/v1/tcproutes/colon-spacing.txt") - .build()) - .build()); - - CONNECTION_CONTEXT.getHttpClient() - .get() - .uri(this.root.block()) - .responseConnection(EventStreamCodecTest::toEventsFlux) - .as(StepVerifier::create) - .expectNext(ServerSentEvent.builder() - .data("test") - .build()) - .expectNext(ServerSentEvent.builder() - .data("test") - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + mockRequest( + InteractionContext.builder() + .request(TestRequest.builder().method(GET).path("/").build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "org/cloudfoundry/reactor/routing/v1/tcproutes/colon-spacing.txt") + .build()) + .build()); + + CONNECTION_CONTEXT + .getHttpClient() + .get() + .uri(this.root.block()) + .responseConnection(EventStreamCodecTest::toEventsFlux) + .as(StepVerifier::create) + .expectNext(ServerSentEvent.builder().data("test").build()) + .expectNext(ServerSentEvent.builder().data("test").build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void randomColons() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET) - .path("/") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("org/cloudfoundry/reactor/routing/v1/tcproutes/random-colons.txt") - .build()) - .build()); - - CONNECTION_CONTEXT.getHttpClient() - .get() - .uri(this.root.block()) - .responseConnection(EventStreamCodecTest::toEventsFlux) - .as(StepVerifier::create) - .expectNext(ServerSentEvent.builder() - .data("") - .build()) - .expectNext(ServerSentEvent.builder() - .data("") - .data("") - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + mockRequest( + InteractionContext.builder() + .request(TestRequest.builder().method(GET).path("/").build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "org/cloudfoundry/reactor/routing/v1/tcproutes/random-colons.txt") + .build()) + .build()); + + CONNECTION_CONTEXT + .getHttpClient() + .get() + .uri(this.root.block()) + .responseConnection(EventStreamCodecTest::toEventsFlux) + .as(StepVerifier::create) + .expectNext(ServerSentEvent.builder().data("").build()) + .expectNext(ServerSentEvent.builder().data("").data("").build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void threeLines() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET) - .path("/") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("org/cloudfoundry/reactor/routing/v1/tcproutes/three-lines.txt") - .build()) - .build()); - - CONNECTION_CONTEXT.getHttpClient() - .get() - .uri(this.root.block()) - .responseConnection(EventStreamCodecTest::toEventsFlux) - .as(StepVerifier::create) - .expectNext(ServerSentEvent.builder() - .data("YHOO") - .data("+2") - .data("10") - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + mockRequest( + InteractionContext.builder() + .request(TestRequest.builder().method(GET).path("/").build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "org/cloudfoundry/reactor/routing/v1/tcproutes/three-lines.txt") + .build()) + .build()); + + CONNECTION_CONTEXT + .getHttpClient() + .get() + .uri(this.root.block()) + .responseConnection(EventStreamCodecTest::toEventsFlux) + .as(StepVerifier::create) + .expectNext(ServerSentEvent.builder().data("YHOO").data("+2").data("10").build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void withComment() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET) - .path("/") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("org/cloudfoundry/reactor/routing/v1/tcproutes/with-comment.txt") - .build()) - .build()); - - CONNECTION_CONTEXT.getHttpClient() - .get() - .uri(this.root.block()) - .responseConnection(EventStreamCodecTest::toEventsFlux) - .as(StepVerifier::create) - .expectNext(ServerSentEvent.builder() - .id("1") - .data("first event") - .build()) - .expectNext(ServerSentEvent.builder() - .id("") - .data("second event") - .build()) - .expectNext(ServerSentEvent.builder() - .data(" third event") - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + mockRequest( + InteractionContext.builder() + .request(TestRequest.builder().method(GET).path("/").build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "org/cloudfoundry/reactor/routing/v1/tcproutes/with-comment.txt") + .build()) + .build()); + + CONNECTION_CONTEXT + .getHttpClient() + .get() + .uri(this.root.block()) + .responseConnection(EventStreamCodecTest::toEventsFlux) + .as(StepVerifier::create) + .expectNext(ServerSentEvent.builder().id("1").data("first event").build()) + .expectNext(ServerSentEvent.builder().id("").data("second event").build()) + .expectNext(ServerSentEvent.builder().data(" third event").build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void withEventTypes() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET) - .path("/") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("org/cloudfoundry/reactor/routing/v1/tcproutes/with-event-types.txt") - .build()) - .build()); - - CONNECTION_CONTEXT.getHttpClient() - .get() - .uri(this.root.block()) - .responseConnection(EventStreamCodecTest::toEventsFlux) - .as(StepVerifier::create) - .expectNext(ServerSentEvent.builder() - .eventType("add") - .data("73857293") - .build()) - .expectNext(ServerSentEvent.builder() - .eventType("remove") - .data("2153") - .build()) - .expectNext(ServerSentEvent.builder() - .eventType("add") - .data("113411") - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + mockRequest( + InteractionContext.builder() + .request(TestRequest.builder().method(GET).path("/").build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "org/cloudfoundry/reactor/routing/v1/tcproutes/with-event-types.txt") + .build()) + .build()); + + CONNECTION_CONTEXT + .getHttpClient() + .get() + .uri(this.root.block()) + .responseConnection(EventStreamCodecTest::toEventsFlux) + .as(StepVerifier::create) + .expectNext(ServerSentEvent.builder().eventType("add").data("73857293").build()) + .expectNext(ServerSentEvent.builder().eventType("remove").data("2153").build()) + .expectNext(ServerSentEvent.builder().eventType("add").data("113411").build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } - private static Flux toEventsFlux(HttpClientResponse response, Connection connection) { + private static Flux toEventsFlux( + HttpClientResponse response, Connection connection) { connection.addHandler(EventStreamCodec.createDecoder(response)); ByteBufFlux body = connection.inbound().receive(); return EventStreamCodec.decode(body); } - } diff --git a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/routing/v1/tcproutes/ReactorTcpRoutesTest.java b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/routing/v1/tcproutes/ReactorTcpRoutesTest.java index 6000b41f07..b1c9be5eac 100644 --- a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/routing/v1/tcproutes/ReactorTcpRoutesTest.java +++ b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/routing/v1/tcproutes/ReactorTcpRoutesTest.java @@ -16,6 +16,12 @@ package org.cloudfoundry.reactor.routing.v1.tcproutes; +import static io.netty.handler.codec.http.HttpMethod.GET; +import static io.netty.handler.codec.http.HttpMethod.POST; +import static io.netty.handler.codec.http.HttpResponseStatus.OK; + +import java.time.Duration; +import java.util.Collections; import org.cloudfoundry.reactor.InteractionContext; import org.cloudfoundry.reactor.TestRequest; import org.cloudfoundry.reactor.TestResponse; @@ -31,101 +37,106 @@ import org.junit.Test; import reactor.test.StepVerifier; -import java.time.Duration; -import java.util.Collections; - -import static io.netty.handler.codec.http.HttpMethod.GET; -import static io.netty.handler.codec.http.HttpMethod.POST; -import static io.netty.handler.codec.http.HttpResponseStatus.OK; - public final class ReactorTcpRoutesTest extends AbstractRoutingApiTest { - private final ReactorTcpRoutes tcpRoutes = new ReactorTcpRoutes(CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); + private final ReactorTcpRoutes tcpRoutes = + new ReactorTcpRoutes( + CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); @Test public void create() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(POST).path("/v1/tcp_routes/create") - .payload("fixtures/routing/v1/tcproutes/POST_create_request.json") - .build()) - .response(TestResponse.builder() - .status(OK) - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(POST) + .path("/v1/tcp_routes/create") + .payload( + "fixtures/routing/v1/tcproutes/POST_create_request.json") + .build()) + .response(TestResponse.builder().status(OK).build()) + .build()); this.tcpRoutes - .create(CreateTcpRoutesRequest.builder() - .tcpRoute(TcpRouteConfiguration.builder() - .backendIp("10.1.1.12") - .backendPort(60000) - .port(5200) - .routerGroupId("xyz789") - .ttl(30) - .build()) - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .create( + CreateTcpRoutesRequest.builder() + .tcpRoute( + TcpRouteConfiguration.builder() + .backendIp("10.1.1.12") + .backendPort(60000) + .port(5200) + .routerGroupId("xyz789") + .ttl(30) + .build()) + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void delete() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(POST).path("/v1/tcp_routes/delete") - .payload("fixtures/routing/v1/tcproutes/POST_delete_request.json") - .build()) - .response(TestResponse.builder() - .status(OK) - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(POST) + .path("/v1/tcp_routes/delete") + .payload( + "fixtures/routing/v1/tcproutes/POST_delete_request.json") + .build()) + .response(TestResponse.builder().status(OK).build()) + .build()); this.tcpRoutes - .delete(DeleteTcpRoutesRequest.builder() - .tcpRoute(TcpRouteDeletion.builder() - .backendIp("10.1.1.12") - .backendPort(60000) - .port(5200) - .routerGroupId("xyz789") - .build()) - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .delete( + DeleteTcpRoutesRequest.builder() + .tcpRoute( + TcpRouteDeletion.builder() + .backendIp("10.1.1.12") + .backendPort(60000) + .port(5200) + .routerGroupId("xyz789") + .build()) + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void list() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/v1/tcp_routes") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/routing/v1/tcproutes/GET_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request(TestRequest.builder().method(GET).path("/v1/tcp_routes").build()) + .response( + TestResponse.builder() + .status(OK) + .payload("fixtures/routing/v1/tcproutes/GET_response.json") + .build()) + .build()); this.tcpRoutes - .list(ListTcpRoutesRequest.builder() - .build()) - .as(StepVerifier::create) - .expectNext(ListTcpRoutesResponse.builder() - .tcpRoute(TcpRoute.builder() - .backendIp("10.1.1.12") - .backendPort(60000) - .modificationTag(ModificationTag.builder() - .modificationTagId("cbdhb4e3-141d-4259-b0ac-99140e8998l0") - .index(10) - .build()) - .port(5200) - .routerGroupId("xyz789") - .ttl(30) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .list(ListTcpRoutesRequest.builder().build()) + .as(StepVerifier::create) + .expectNext( + ListTcpRoutesResponse.builder() + .tcpRoute( + TcpRoute.builder() + .backendIp("10.1.1.12") + .backendPort(60000) + .modificationTag( + ModificationTag.builder() + .modificationTagId( + "cbdhb4e3-141d-4259-b0ac-99140e8998l0") + .index(10) + .build()) + .port(5200) + .routerGroupId("xyz789") + .ttl(30) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } - } diff --git a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/uaa/AbstractUaaApiTest.java b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/uaa/AbstractUaaApiTest.java index 9a82524806..bcc95caeb5 100644 --- a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/uaa/AbstractUaaApiTest.java +++ b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/uaa/AbstractUaaApiTest.java @@ -18,6 +18,4 @@ import org.cloudfoundry.reactor.AbstractRestTest; -public abstract class AbstractUaaApiTest extends AbstractRestTest { - -} +public abstract class AbstractUaaApiTest extends AbstractRestTest {} diff --git a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/uaa/IdentityZoneBuilderTest.java b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/uaa/IdentityZoneBuilderTest.java index 8bd012162e..59006745db 100644 --- a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/uaa/IdentityZoneBuilderTest.java +++ b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/uaa/IdentityZoneBuilderTest.java @@ -16,14 +16,14 @@ package org.cloudfoundry.reactor.uaa; -import io.netty.handler.codec.http.HttpHeaders; -import org.cloudfoundry.uaa.IdentityZoned; -import org.junit.Test; - import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verifyNoInteractions; +import io.netty.handler.codec.http.HttpHeaders; +import org.cloudfoundry.uaa.IdentityZoned; +import org.junit.Test; + public final class IdentityZoneBuilderTest { private final HttpHeaders outbound = mock(HttpHeaders.class); @@ -55,5 +55,4 @@ public String getIdentityZoneSubdomain() { return "test-identity-zone-subdomain"; } } - } diff --git a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/uaa/ReactorUaaClientTest.java b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/uaa/ReactorUaaClientTest.java index 603208f5ec..7156aa94a2 100644 --- a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/uaa/ReactorUaaClientTest.java +++ b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/uaa/ReactorUaaClientTest.java @@ -16,18 +16,19 @@ package org.cloudfoundry.reactor.uaa; +import static org.assertj.core.api.Assertions.assertThat; + import org.cloudfoundry.reactor.AbstractRestTest; import org.junit.Test; -import static org.assertj.core.api.Assertions.assertThat; - public final class ReactorUaaClientTest extends AbstractRestTest { - private final ReactorUaaClient client = ReactorUaaClient.builder() - .connectionContext(CONNECTION_CONTEXT) - .root(this.root) - .tokenProvider(TOKEN_PROVIDER) - .build(); + private final ReactorUaaClient client = + ReactorUaaClient.builder() + .connectionContext(CONNECTION_CONTEXT) + .root(this.root) + .tokenProvider(TOKEN_PROVIDER) + .build(); @Test public void authorizations() { @@ -63,5 +64,4 @@ public void tokens() { public void users() { assertThat(this.client.users()).isNotNull(); } - } diff --git a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/uaa/UaaSigningKeyResolverTest.java b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/uaa/UaaSigningKeyResolverTest.java index f5ca45a6bc..45b1eb0da9 100644 --- a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/uaa/UaaSigningKeyResolverTest.java +++ b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/uaa/UaaSigningKeyResolverTest.java @@ -16,10 +16,19 @@ package org.cloudfoundry.reactor.uaa; +import static org.assertj.core.api.Assertions.assertThat; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; + import io.jsonwebtoken.Claims; import io.jsonwebtoken.JwsHeader; import io.jsonwebtoken.impl.DefaultClaims; import io.jsonwebtoken.impl.DefaultJwsHeader; +import java.security.KeyPair; +import java.security.KeyPairGenerator; +import java.security.NoSuchAlgorithmException; +import java.security.PublicKey; +import java.util.Base64; import org.cloudfoundry.uaa.tokens.KeyType; import org.cloudfoundry.uaa.tokens.ListTokenKeysRequest; import org.cloudfoundry.uaa.tokens.ListTokenKeysResponse; @@ -28,16 +37,6 @@ import org.junit.Test; import reactor.core.publisher.Mono; -import java.security.KeyPair; -import java.security.KeyPairGenerator; -import java.security.NoSuchAlgorithmException; -import java.security.PublicKey; -import java.util.Base64; - -import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.when; - public final class UaaSigningKeyResolverTest { private final Tokens tokens = mock(Tokens.class); @@ -48,22 +47,21 @@ public final class UaaSigningKeyResolverTest { public void resolveExistingKey() throws NoSuchAlgorithmException { PublicKey publicKey = getKeyPair().getPublic(); - when( - this.tokens.listKeys(ListTokenKeysRequest.builder() - .build()) - ).thenReturn( - Mono.just(ListTokenKeysResponse.builder() - .key(TokenKey.builder() - .algorithm(publicKey.getAlgorithm()) - .e("") - .id("test-key-id") - .keyType(KeyType.RSA) - .n("") - .use("") - .value(getEncoded(publicKey)) - .build()) - .build()) - ); + when(this.tokens.listKeys(ListTokenKeysRequest.builder().build())) + .thenReturn( + Mono.just( + ListTokenKeysResponse.builder() + .key( + TokenKey.builder() + .algorithm(publicKey.getAlgorithm()) + .e("") + .id("test-key-id") + .keyType(KeyType.RSA) + .n("") + .use("") + .value(getEncoded(publicKey)) + .build()) + .build())); JwsHeader header = new DefaultJwsHeader().setKeyId("test-key-id"); Claims claims = new DefaultClaims(); @@ -76,22 +74,21 @@ public void resolveExistingKey() throws NoSuchAlgorithmException { public void resolveRefreshedKey() throws NoSuchAlgorithmException { PublicKey publicKey = getKeyPair().getPublic(); - when( - this.tokens.listKeys(ListTokenKeysRequest.builder() - .build()) - ).thenReturn( - Mono.just(ListTokenKeysResponse.builder() - .key(TokenKey.builder() - .algorithm(publicKey.getAlgorithm()) - .e("") - .id("test-key-id") - .keyType(KeyType.RSA) - .n("") - .use("") - .value(getEncoded(publicKey)) - .build()) - .build()) - ); + when(this.tokens.listKeys(ListTokenKeysRequest.builder().build())) + .thenReturn( + Mono.just( + ListTokenKeysResponse.builder() + .key( + TokenKey.builder() + .algorithm(publicKey.getAlgorithm()) + .e("") + .id("test-key-id") + .keyType(KeyType.RSA) + .n("") + .use("") + .value(getEncoded(publicKey)) + .build()) + .build())); JwsHeader header = new DefaultJwsHeader().setKeyId("test-key-id"); Claims claims = new DefaultClaims(); @@ -101,13 +98,8 @@ public void resolveRefreshedKey() throws NoSuchAlgorithmException { @Test(expected = IllegalStateException.class) public void resolveUnknownKey() { - when( - this.tokens.listKeys(ListTokenKeysRequest.builder() - .build()) - ).thenReturn( - Mono.just(ListTokenKeysResponse.builder() - .build()) - ); + when(this.tokens.listKeys(ListTokenKeysRequest.builder().build())) + .thenReturn(Mono.just(ListTokenKeysResponse.builder().build())); JwsHeader header = new DefaultJwsHeader().setKeyId("test-key-id"); Claims claims = new DefaultClaims(); @@ -116,7 +108,9 @@ public void resolveUnknownKey() { } private static String getEncoded(PublicKey publicKey) { - return String.format("-----BEGIN PUBLIC KEY-----\n%s\n-----END PUBLIC KEY-----", Base64.getEncoder().encodeToString(publicKey.getEncoded())); + return String.format( + "-----BEGIN PUBLIC KEY-----\n%s\n-----END PUBLIC KEY-----", + Base64.getEncoder().encodeToString(publicKey.getEncoded())); } private KeyPair getKeyPair() throws NoSuchAlgorithmException { @@ -124,5 +118,4 @@ private KeyPair getKeyPair() throws NoSuchAlgorithmException { keyPairGenerator.initialize(1024); return keyPairGenerator.generateKeyPair(); } - } diff --git a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/uaa/UsernameProviderTest.java b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/uaa/UsernameProviderTest.java index e7c18f7538..38a3e0b399 100644 --- a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/uaa/UsernameProviderTest.java +++ b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/uaa/UsernameProviderTest.java @@ -16,18 +16,17 @@ package org.cloudfoundry.reactor.uaa; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.when; + import io.jsonwebtoken.Claims; import io.jsonwebtoken.JwsHeader; import io.jsonwebtoken.Jwts; import io.jsonwebtoken.SignatureAlgorithm; import io.jsonwebtoken.SigningKeyResolver; import io.jsonwebtoken.impl.DefaultJwsHeader; -import org.cloudfoundry.reactor.ConnectionContext; -import org.cloudfoundry.reactor.TokenProvider; -import org.junit.Test; -import reactor.core.publisher.Mono; -import reactor.test.StepVerifier; - import java.security.KeyPair; import java.security.KeyPairGenerator; import java.security.NoSuchAlgorithmException; @@ -36,11 +35,11 @@ import java.time.Duration; import java.time.Instant; import java.util.Map; - -import static org.mockito.ArgumentMatchers.any; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.when; +import org.cloudfoundry.reactor.ConnectionContext; +import org.cloudfoundry.reactor.TokenProvider; +import org.junit.Test; +import reactor.core.publisher.Mono; +import reactor.test.StepVerifier; public final class UsernameProviderTest { @@ -50,24 +49,34 @@ public final class UsernameProviderTest { private final TokenProvider tokenProvider = mock(TokenProvider.class); - private final UsernameProvider usernameProvider = new UsernameProvider(this.connectionContext, this.signingKeyResolver, this.tokenProvider); + private final UsernameProvider usernameProvider = + new UsernameProvider( + this.connectionContext, this.signingKeyResolver, this.tokenProvider); @SuppressWarnings("unchecked") @Test public void getInvalidToken() throws NoSuchAlgorithmException { KeyPair keyPair = getKeyPair(); - when(this.signingKeyResolver.resolveSigningKey(any(JwsHeader.class), any(Claims.class))).thenReturn(keyPair.getPublic()); - - String invalidToken = String.format("bearer %s", getToken(keyPair.getPrivate(), Instant.now().minus(Duration.ofHours(1)))); - String validToken = String.format("bearer %s", getToken(keyPair.getPrivate(), Instant.now().plus(Duration.ofHours(1)))); - when(this.tokenProvider.getToken(this.connectionContext)).thenReturn(Mono.just(invalidToken), Mono.just(validToken)); + when(this.signingKeyResolver.resolveSigningKey(any(JwsHeader.class), any(Claims.class))) + .thenReturn(keyPair.getPublic()); + + String invalidToken = + String.format( + "bearer %s", + getToken(keyPair.getPrivate(), Instant.now().minus(Duration.ofHours(1)))); + String validToken = + String.format( + "bearer %s", + getToken(keyPair.getPrivate(), Instant.now().plus(Duration.ofHours(1)))); + when(this.tokenProvider.getToken(this.connectionContext)) + .thenReturn(Mono.just(invalidToken), Mono.just(validToken)); this.usernameProvider - .get() - .as(StepVerifier::create) - .expectNext("test-username") - .expectComplete() - .verify(Duration.ofSeconds(1)); + .get() + .as(StepVerifier::create) + .expectNext("test-username") + .expectComplete() + .verify(Duration.ofSeconds(1)); verify(this.tokenProvider).invalidate(this.connectionContext); } @@ -75,27 +84,31 @@ public void getInvalidToken() throws NoSuchAlgorithmException { @Test public void getValidToken() throws NoSuchAlgorithmException { KeyPair keyPair = getKeyPair(); - when(this.signingKeyResolver.resolveSigningKey(any(JwsHeader.class), any(Claims.class))).thenReturn(keyPair.getPublic()); + when(this.signingKeyResolver.resolveSigningKey(any(JwsHeader.class), any(Claims.class))) + .thenReturn(keyPair.getPublic()); - String token = String.format("bearer %s", getToken(keyPair.getPrivate(), Instant.now().plus(Duration.ofHours(1)))); + String token = + String.format( + "bearer %s", + getToken(keyPair.getPrivate(), Instant.now().plus(Duration.ofHours(1)))); when(this.tokenProvider.getToken(this.connectionContext)).thenReturn(Mono.just(token)); this.usernameProvider - .get() - .as(StepVerifier::create) - .expectNext("test-username") - .expectComplete() - .verify(Duration.ofSeconds(1)); + .get() + .as(StepVerifier::create) + .expectNext("test-username") + .expectComplete() + .verify(Duration.ofSeconds(1)); } @SuppressWarnings("unchecked") private static String getToken(PrivateKey privateKey, Instant expiration) { return Jwts.builder() - .setHeader((Map) new DefaultJwsHeader().setKeyId("test-key")) - .signWith(privateKey, SignatureAlgorithm.RS256) - .claim("user_name", "test-username") - .setExpiration(Date.from(expiration)) - .compact(); + .setHeader((Map) new DefaultJwsHeader().setKeyId("test-key")) + .signWith(privateKey, SignatureAlgorithm.RS256) + .claim("user_name", "test-username") + .setExpiration(Date.from(expiration)) + .compact(); } private KeyPair getKeyPair() throws NoSuchAlgorithmException { @@ -103,5 +116,4 @@ private KeyPair getKeyPair() throws NoSuchAlgorithmException { keyPairGenerator.initialize(2048); return keyPairGenerator.generateKeyPair(); } - } diff --git a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/uaa/VersionBuilderTest.java b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/uaa/VersionBuilderTest.java index ddc2bdd0cf..c9d56e4f3d 100644 --- a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/uaa/VersionBuilderTest.java +++ b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/uaa/VersionBuilderTest.java @@ -16,14 +16,13 @@ package org.cloudfoundry.reactor.uaa; -import io.netty.handler.codec.http.HttpHeaders; -import org.cloudfoundry.uaa.Versioned; -import org.junit.Test; - import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verifyNoInteractions; +import io.netty.handler.codec.http.HttpHeaders; +import org.cloudfoundry.uaa.Versioned; +import org.junit.Test; public final class VersionBuilderTest { @@ -59,7 +58,5 @@ private StubVersioned(String version) { public String getVersion() { return this.version; } - } - } diff --git a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/uaa/authorizations/ReactorAuthorizationsTest.java b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/uaa/authorizations/ReactorAuthorizationsTest.java index fdc8e8dd57..11c3e33be3 100644 --- a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/uaa/authorizations/ReactorAuthorizationsTest.java +++ b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/uaa/authorizations/ReactorAuthorizationsTest.java @@ -16,6 +16,13 @@ package org.cloudfoundry.reactor.uaa.authorizations; +import static io.netty.handler.codec.http.HttpMethod.GET; +import static io.netty.handler.codec.http.HttpResponseStatus.FOUND; +import static io.netty.handler.codec.http.HttpResponseStatus.OK; + +import java.time.Duration; +import java.util.Collections; +import java.util.Locale; import org.cloudfoundry.reactor.InteractionContext; import org.cloudfoundry.reactor.TestRequest; import org.cloudfoundry.reactor.TestResponse; @@ -32,257 +39,336 @@ import org.junit.Test; import reactor.test.StepVerifier; -import java.time.Duration; -import java.util.Collections; -import java.util.Locale; - -import static io.netty.handler.codec.http.HttpMethod.GET; -import static io.netty.handler.codec.http.HttpResponseStatus.FOUND; -import static io.netty.handler.codec.http.HttpResponseStatus.OK; - public final class ReactorAuthorizationsTest extends AbstractUaaApiTest { - private final ReactorAuthorizations authorizations = new ReactorAuthorizations(CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); + private final ReactorAuthorizations authorizations = + new ReactorAuthorizations( + CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); @Test public void authorizeByAuthorizationCodeGrantApi() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/oauth/authorize?client_id=login&redirect_uri=https%3A%2F%2Fuaa.cloudfoundry.com%2Fredirect%2Fcf&state=v4LpFF&response_type=code") - .build()) - .response(TestResponse.builder() - .status(FOUND) - .header("Location", "https://uaa.cloudfoundry.com/redirect/cf?code=O6A5eT&state=v4LpFF") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path( + "/oauth/authorize?client_id=login&redirect_uri=https%3A%2F%2Fuaa.cloudfoundry.com%2Fredirect%2Fcf&state=v4LpFF&response_type=code") + .build()) + .response( + TestResponse.builder() + .status(FOUND) + .header( + "Location", + "https://uaa.cloudfoundry.com/redirect/cf?code=O6A5eT&state=v4LpFF") + .build()) + .build()); this.authorizations - .authorizationCodeGrantApi(AuthorizeByAuthorizationCodeGrantApiRequest.builder() - .clientId("login") - .redirectUri("https://uaa.cloudfoundry.com/redirect/cf") - .state("v4LpFF") - .build()) - .as(StepVerifier::create) - .expectNext("O6A5eT") - .expectComplete() - .verify(Duration.ofSeconds(5)); + .authorizationCodeGrantApi( + AuthorizeByAuthorizationCodeGrantApiRequest.builder() + .clientId("login") + .redirectUri("https://uaa.cloudfoundry.com/redirect/cf") + .state("v4LpFF") + .build()) + .as(StepVerifier::create) + .expectNext("O6A5eT") + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void authorizeByAuthorizationCodeGrantBrowser() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/oauth/authorize?client_id=login&redirect_uri=https%3A%2F%2Fuaa.cloudfoundry.com%2Fredirect%2Fcf&scope=openid%20oauth.approvals&response_type=code") - .build()) - .response(TestResponse.builder() - .status(FOUND) - .header("Location", "http://redirect.to/login") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path( + "/oauth/authorize?client_id=login&redirect_uri=https%3A%2F%2Fuaa.cloudfoundry.com%2Fredirect%2Fcf&scope=openid%20oauth.approvals&response_type=code") + .build()) + .response( + TestResponse.builder() + .status(FOUND) + .header("Location", "http://redirect.to/login") + .build()) + .build()); this.authorizations - .authorizationCodeGrantBrowser(AuthorizeByAuthorizationCodeGrantBrowserRequest.builder() - .clientId("login") - .redirectUri("https://uaa.cloudfoundry.com/redirect/cf") - .scope("openid") - .scope("oauth.approvals") - .build()) - .as(StepVerifier::create) - .expectNext("http://redirect.to/login") - .expectComplete() - .verify(Duration.ofSeconds(5)); + .authorizationCodeGrantBrowser( + AuthorizeByAuthorizationCodeGrantBrowserRequest.builder() + .clientId("login") + .redirectUri("https://uaa.cloudfoundry.com/redirect/cf") + .scope("openid") + .scope("oauth.approvals") + .build()) + .as(StepVerifier::create) + .expectNext("http://redirect.to/login") + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void authorizeByAuthorizationCodeGrantHybrid() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/oauth/authorize?client_id=app&redirect_uri=http%3A%2F%2Flocalhost%3A8080%2Fapp%2F&scope=openid&response_type=code%20id_token") - .build()) - .response(TestResponse.builder() - .status(FOUND) - .header("Location", "http://localhost:8080/app/#token_type=bearer&" + - "id_token=eyJhbGciOiJIUzI1NiIsImtpZCI6ImxlZ2FjeS10b2tlbi1rZXkiLCJ0eXAiOiJKV1QifQ.eyJzdWIiOiI3ZmQyZDAyNi0yNzA0LTQ5MjItODA4YS1lZThiZGFhY2RkMjciLCJ1c2VyX25hbWUiOiJtYXJpc3NhIiwib3Jp" + - "Z2luIjoidWFhIiwiaXNzIjoiaHR0cDovL2xvY2FsaG9zdDo4MDgwL3VhYS9vYXV0aC90b2tlbiIsImNsaWVudF9pZCI6ImFwcCIsImF1ZCI6WyJhcHAiXSwiemlkIjoidWFhIiwidXNlcl9pZCI6IjdmZDJkMDI2LTI3MDQtNDkyMi04" + - "MDhhLWVlOGJkYWFjZGQyNyIsImF6cCI6ImFwcCIsInNjb3BlIjpbIm9wZW5pZCJdLCJleHAiOjE0NzQ5NjY2ODAsImlhdCI6MTQ3NDkyMzQ4MCwianRpIjoiOGRmMjBhNDZjOThjNGYxNGIzOTBjMTdlZWU4YTM1NmYiLCJlbWFpbCI6" + - "Im1hcmlzc2FAdGVzdC5vcmciLCJyZXZfc2lnIjoiOTE3NjM3NTUiLCJjaWQiOiJhcHAifQ.YvgEJn1zG30IO_JL5iEY0ytT5rQIPscrAuZa0SBrU0I&" + - "code=8wcTGEtsLK&" + - "expires_in=43199&jti=8df20a46c98c4f14b390c17eee8a356f") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path( + "/oauth/authorize?client_id=app&redirect_uri=http%3A%2F%2Flocalhost%3A8080%2Fapp%2F&scope=openid&response_type=code%20id_token") + .build()) + .response( + TestResponse.builder() + .status(FOUND) + .header( + "Location", + "http://localhost:8080/app/#token_type=bearer&" + + "id_token=eyJhbGciOiJIUzI1NiIsImtpZCI6ImxlZ2FjeS10b2tlbi1rZXkiLCJ0eXAiOiJKV1QifQ.eyJzdWIiOiI3ZmQyZDAyNi0yNzA0LTQ5MjItODA4YS1lZThiZGFhY2RkMjciLCJ1c2VyX25hbWUiOiJtYXJpc3NhIiwib3Jp" + + "Z2luIjoidWFhIiwiaXNzIjoiaHR0cDovL2xvY2FsaG9zdDo4MDgwL3VhYS9vYXV0aC90b2tlbiIsImNsaWVudF9pZCI6ImFwcCIsImF1ZCI6WyJhcHAiXSwiemlkIjoidWFhIiwidXNlcl9pZCI6IjdmZDJkMDI2LTI3MDQtNDkyMi04" + + "MDhhLWVlOGJkYWFjZGQyNyIsImF6cCI6ImFwcCIsInNjb3BlIjpbIm9wZW5pZCJdLCJleHAiOjE0NzQ5NjY2ODAsImlhdCI6MTQ3NDkyMzQ4MCwianRpIjoiOGRmMjBhNDZjOThjNGYxNGIzOTBjMTdlZWU4YTM1NmYiLCJlbWFpbCI6" + + "Im1hcmlzc2FAdGVzdC5vcmciLCJyZXZfc2lnIjoiOTE3NjM3NTUiLCJjaWQiOiJhcHAifQ.YvgEJn1zG30IO_JL5iEY0ytT5rQIPscrAuZa0SBrU0I&" + + "code=8wcTGEtsLK&" + + "expires_in=43199&jti=8df20a46c98c4f14b390c17eee8a356f") + .build()) + .build()); this.authorizations - .authorizationCodeGrantHybrid(AuthorizeByAuthorizationCodeGrantHybridRequest.builder() - .clientId("app") - .redirectUri("http://localhost:8080/app/") - .scope("openid") - .build()) - .as(StepVerifier::create) - .expectNext("http://localhost:8080/app/#token_type=bearer&" + - "id_token=eyJhbGciOiJIUzI1NiIsImtpZCI6ImxlZ2FjeS10b2tlbi1rZXkiLCJ0eXAiOiJKV1QifQ.eyJzdWIiOiI3ZmQyZDAyNi0yNzA0LTQ5MjItODA4YS1lZThiZGFhY2RkMjciLCJ1c2VyX25hbWUiOiJtYXJpc3NhIiwib3JpZ2lu" + - "IjoidWFhIiwiaXNzIjoiaHR0cDovL2xvY2FsaG9zdDo4MDgwL3VhYS9vYXV0aC90b2tlbiIsImNsaWVudF9pZCI6ImFwcCIsImF1ZCI6WyJhcHAiXSwiemlkIjoidWFhIiwidXNlcl9pZCI6IjdmZDJkMDI2LTI3MDQtNDkyMi04MDhhLWVl" + - "OGJkYWFjZGQyNyIsImF6cCI6ImFwcCIsInNjb3BlIjpbIm9wZW5pZCJdLCJleHAiOjE0NzQ5NjY2ODAsImlhdCI6MTQ3NDkyMzQ4MCwianRpIjoiOGRmMjBhNDZjOThjNGYxNGIzOTBjMTdlZWU4YTM1NmYiLCJlbWFpbCI6Im1hcmlzc2FA" + - "dGVzdC5vcmciLCJyZXZfc2lnIjoiOTE3NjM3NTUiLCJjaWQiOiJhcHAifQ.YvgEJn1zG30IO_JL5iEY0ytT5rQIPscrAuZa0SBrU0I&" + - "code=8wcTGEtsLK&" + - "expires_in=43199&jti=8df20a46c98c4f14b390c17eee8a356f") - .expectComplete() - .verify(Duration.ofSeconds(5)); + .authorizationCodeGrantHybrid( + AuthorizeByAuthorizationCodeGrantHybridRequest.builder() + .clientId("app") + .redirectUri("http://localhost:8080/app/") + .scope("openid") + .build()) + .as(StepVerifier::create) + .expectNext( + "http://localhost:8080/app/#token_type=bearer&" + + "id_token=eyJhbGciOiJIUzI1NiIsImtpZCI6ImxlZ2FjeS10b2tlbi1rZXkiLCJ0eXAiOiJKV1QifQ.eyJzdWIiOiI3ZmQyZDAyNi0yNzA0LTQ5MjItODA4YS1lZThiZGFhY2RkMjciLCJ1c2VyX25hbWUiOiJtYXJpc3NhIiwib3JpZ2lu" + + "IjoidWFhIiwiaXNzIjoiaHR0cDovL2xvY2FsaG9zdDo4MDgwL3VhYS9vYXV0aC90b2tlbiIsImNsaWVudF9pZCI6ImFwcCIsImF1ZCI6WyJhcHAiXSwiemlkIjoidWFhIiwidXNlcl9pZCI6IjdmZDJkMDI2LTI3MDQtNDkyMi04MDhhLWVl" + + "OGJkYWFjZGQyNyIsImF6cCI6ImFwcCIsInNjb3BlIjpbIm9wZW5pZCJdLCJleHAiOjE0NzQ5NjY2ODAsImlhdCI6MTQ3NDkyMzQ4MCwianRpIjoiOGRmMjBhNDZjOThjNGYxNGIzOTBjMTdlZWU4YTM1NmYiLCJlbWFpbCI6Im1hcmlzc2FA" + + "dGVzdC5vcmciLCJyZXZfc2lnIjoiOTE3NjM3NTUiLCJjaWQiOiJhcHAifQ.YvgEJn1zG30IO_JL5iEY0ytT5rQIPscrAuZa0SBrU0I&" + + "code=8wcTGEtsLK&" + + "expires_in=43199&jti=8df20a46c98c4f14b390c17eee8a356f") + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void authorizeByImplicitGrantBrowser() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/oauth/authorize?client_id=app&redirect_uri=http%3A%2F%2Flocalhost%3A8080%2Fapp%2F&scope=openid&response_type=token") - .build()) - .response(TestResponse.builder() - .status(FOUND) - .header("Location", "http://localhost:8080/app/#token_type=bearer&" + - "access_token=eyJhbGciOiJIUzI1NiIsImtpZCI6ImxlZ2FjeS10b2tlbi1rZXkiLCJ0eXAiOiJKV1QifQ.eyJqdGkiOiJlNzI4Y2UxZjUyZjE0NTU2YjViNGNiOThkMmY1ZmRiZCIsInN1YiI6IjIzOTJhMzIwLTQzZWUtNDV" + - "expires_in=43199&" + - "jti=e728ce1f52f14556b5b4cb98d2f5fdbd") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path( + "/oauth/authorize?client_id=app&redirect_uri=http%3A%2F%2Flocalhost%3A8080%2Fapp%2F&scope=openid&response_type=token") + .build()) + .response( + TestResponse.builder() + .status(FOUND) + .header( + "Location", + "http://localhost:8080/app/#token_type=bearer&" + + "access_token=eyJhbGciOiJIUzI1NiIsImtpZCI6ImxlZ2FjeS10b2tlbi1rZXkiLCJ0eXAiOiJKV1QifQ.eyJqdGkiOiJlNzI4Y2UxZjUyZjE0NTU2YjViNGNiOThkMmY1ZmRiZCIsInN1YiI6IjIzOTJhMzIwLTQzZWUtNDV" + + "expires_in=43199&" + + "jti=e728ce1f52f14556b5b4cb98d2f5fdbd") + .build()) + .build()); this.authorizations - .implicitGrantBrowser(AuthorizeByImplicitGrantBrowserRequest.builder() - .clientId("app") - .redirectUri("http://localhost:8080/app/") - .scope("openid") - .build()) - .as(StepVerifier::create) - .expectNext("http://localhost:8080/app/#token_type=bearer&" + - "access_token=eyJhbGciOiJIUzI1NiIsImtpZCI6ImxlZ2FjeS10b2tlbi1rZXkiLCJ0eXAiOiJKV1QifQ.eyJqdGkiOiJlNzI4Y2UxZjUyZjE0NTU2YjViNGNiOThkMmY1ZmRiZCIsInN1YiI6IjIzOTJhMzIwLTQzZWUtNDV" + - "expires_in=43199&" + - "jti=e728ce1f52f14556b5b4cb98d2f5fdbd") - .expectComplete() - .verify(Duration.ofSeconds(5)); + .implicitGrantBrowser( + AuthorizeByImplicitGrantBrowserRequest.builder() + .clientId("app") + .redirectUri("http://localhost:8080/app/") + .scope("openid") + .build()) + .as(StepVerifier::create) + .expectNext( + "http://localhost:8080/app/#token_type=bearer&" + + "access_token=eyJhbGciOiJIUzI1NiIsImtpZCI6ImxlZ2FjeS10b2tlbi1rZXkiLCJ0eXAiOiJKV1QifQ.eyJqdGkiOiJlNzI4Y2UxZjUyZjE0NTU2YjViNGNiOThkMmY1ZmRiZCIsInN1YiI6IjIzOTJhMzIwLTQzZWUtNDV" + + "expires_in=43199&jti=e728ce1f52f14556b5b4cb98d2f5fdbd") + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void authorizeByOpenIdWithAuthorizationCodeGrant() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/oauth/authorize?client_id=app&redirect_uri=http%3A%2F%2Flocalhost%3A8080%2Fapp%2F&scope=openid&response_type=code%20id_token") - .build()) - .response(TestResponse.builder() - .status(FOUND) - .header("Location", "http://redirect.to/login") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path( + "/oauth/authorize?client_id=app&redirect_uri=http%3A%2F%2Flocalhost%3A8080%2Fapp%2F&scope=openid&response_type=code%20id_token") + .build()) + .response( + TestResponse.builder() + .status(FOUND) + .header("Location", "http://redirect.to/login") + .build()) + .build()); this.authorizations - .openIdWithAuthorizationCodeAndIdToken(AuthorizeByOpenIdWithAuthorizationCodeGrantRequest.builder() - .clientId("app") - .redirectUri("http://localhost:8080/app/") - .scope("openid") - .build()) - .as(StepVerifier::create) - .expectNext("http://redirect.to/login") - .expectComplete() - .verify(Duration.ofSeconds(5)); + .openIdWithAuthorizationCodeAndIdToken( + AuthorizeByOpenIdWithAuthorizationCodeGrantRequest.builder() + .clientId("app") + .redirectUri("http://localhost:8080/app/") + .scope("openid") + .build()) + .as(StepVerifier::create) + .expectNext("http://redirect.to/login") + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void authorizeByOpenIdWithToken() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/oauth/authorize?client_id=app&redirect_uri=http%3A%2F%2Flocalhost%3A8080%2Fapp%2F&scope=openid&response_type=id_token") - .build()) - .response(TestResponse.builder() - .status(FOUND) - .header("Location", "http://localhost:8080/app/#token_type=bearer" + - "&id_token=eyJhbGciOiJIUzI1NiIsImtpZCI6ImxlZ2FjeS10b2tlbi1rZXkiLCJ0eXAiOiJKV1QifQ.eyJzdWIiOiIyMzkyYTMyMC00M2VlLTQ1ZTgtODdhNC1iYTkzYTIwMTZmODciLCJ1c2VyX25hbWUiOiJtYXJpc3NhIiw" + - "ib3JpZ2luIjoidWFhIiwiaXNzIjoiaHR0cDovL2xvY2FsaG9zdDo4MDgwL3VhYS9vYXV0aC90b2tlbiIsImNsaWVudF9pZCI6ImFwcCIsImF1ZCI6WyJhcHAiXSwiemlkIjoidWFhIiwidXNlcl9pZCI6IjIzOTJhMzIwLTQzZWU" + - "tNDVlOC04N2E0LWJhOTNhMjAxNmY4NyIsImF6cCI6ImFwcCIsInNjb3BlIjpbIm9wZW5pZCJdLCJleHAiOjE0NjYwNzg0OTAsImlhdCI6MTQ2NjAzNTI5MCwianRpIjoiM2NjNDg2NmYzMWRjNGIyMThkMTdiZDNhMzE4MjhmNWU" + - "iLCJlbWFpbCI6Im1hcmlzc2FAdGVzdC5vcmciLCJyZXZfc2lnIjoiMzYyNzRiZmMiLCJjaWQiOiJhcHAifQ.zR0b0TVFY8VrxAXLve2VRZvwb9HWMtbD79KSHwgr1wo" + - "&expires_in=43199" + - "&jti=3cc4866f31dc4b218d17bd3a31828f5e") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path( + "/oauth/authorize?client_id=app&redirect_uri=http%3A%2F%2Flocalhost%3A8080%2Fapp%2F&scope=openid&response_type=id_token") + .build()) + .response( + TestResponse.builder() + .status(FOUND) + .header( + "Location", + "http://localhost:8080/app/#token_type=bearer" + + "&id_token=eyJhbGciOiJIUzI1NiIsImtpZCI6ImxlZ2FjeS10b2tlbi1rZXkiLCJ0eXAiOiJKV1QifQ.eyJzdWIiOiIyMzkyYTMyMC00M2VlLTQ1ZTgtODdhNC1iYTkzYTIwMTZmODciLCJ1c2VyX25hbWUiOiJtYXJpc3NhIiw" + + "ib3JpZ2luIjoidWFhIiwiaXNzIjoiaHR0cDovL2xvY2FsaG9zdDo4MDgwL3VhYS9vYXV0aC90b2tlbiIsImNsaWVudF9pZCI6ImFwcCIsImF1ZCI6WyJhcHAiXSwiemlkIjoidWFhIiwidXNlcl9pZCI6IjIzOTJhMzIwLTQzZWU" + + "tNDVlOC04N2E0LWJhOTNhMjAxNmY4NyIsImF6cCI6ImFwcCIsInNjb3BlIjpbIm9wZW5pZCJdLCJleHAiOjE0NjYwNzg0OTAsImlhdCI6MTQ2NjAzNTI5MCwianRpIjoiM2NjNDg2NmYzMWRjNGIyMThkMTdiZDNhMzE4MjhmNWU" + + "iLCJlbWFpbCI6Im1hcmlzc2FAdGVzdC5vcmciLCJyZXZfc2lnIjoiMzYyNzRiZmMiLCJjaWQiOiJhcHAifQ.zR0b0TVFY8VrxAXLve2VRZvwb9HWMtbD79KSHwgr1wo" + + "&expires_in=43199" + + "&jti=3cc4866f31dc4b218d17bd3a31828f5e") + .build()) + .build()); this.authorizations - .openIdWithIdToken(AuthorizeByOpenIdWithIdTokenRequest.builder() - .clientId("app") - .redirectUri("http://localhost:8080/app/") - .scope("openid") - .build()) - .as(StepVerifier::create) - .expectNext("http://localhost:8080/app/#token_type=bearer" + - "&id_token=eyJhbGciOiJIUzI1NiIsImtpZCI6ImxlZ2FjeS10b2tlbi1rZXkiLCJ0eXAiOiJKV1QifQ" + - ".eyJzdWIiOiIyMzkyYTMyMC00M2VlLTQ1ZTgtODdhNC1iYTkzYTIwMTZmODciLCJ1c2VyX25hbWUiOiJtYXJpc3NhIiwib3JpZ2l" + - "uIjoidWFhIiwiaXNzIjoiaHR0cDovL2xvY2FsaG9zdDo4MDgwL3VhYS9vYXV0aC90b2tlbiIsImNsaWVudF9pZCI6ImFwcCIsImF1ZCI6WyJhcHAiXSwiemlkIjoidWFhIiwidXNlcl9pZCI6IjIzOTJhMzIwLTQzZWUtNDVlOC04N2E0LWJ" + - "hOTNhMjAxNmY4NyIsImF6cCI6ImFwcCIsInNjb3BlIjpbIm9wZW5pZCJdLCJleHAiOjE0NjYwNzg0OTAsImlhdCI6MTQ2NjAzNTI5MCwianRpIjoiM2NjNDg2NmYzMWRjNGIyMThkMTdiZDNhMzE4MjhmNWUiLCJlbWFpbCI6Im1hcmlzc2F" + - "AdGVzdC5vcmciLCJyZXZfc2lnIjoiMzYyNzRiZmMiLCJjaWQiOiJhcHAifQ.zR0b0TVFY8VrxAXLve2VRZvwb9HWMtbD79KSHwgr1wo" + - "&expires_in=43199" + - "&jti=3cc4866f31dc4b218d17bd3a31828f5e") - .expectComplete() - .verify(Duration.ofSeconds(5)); + .openIdWithIdToken( + AuthorizeByOpenIdWithIdTokenRequest.builder() + .clientId("app") + .redirectUri("http://localhost:8080/app/") + .scope("openid") + .build()) + .as(StepVerifier::create) + .expectNext( + "http://localhost:8080/app/#token_type=bearer" + + "&id_token=eyJhbGciOiJIUzI1NiIsImtpZCI6ImxlZ2FjeS10b2tlbi1rZXkiLCJ0eXAiOiJKV1QifQ" + + ".eyJzdWIiOiIyMzkyYTMyMC00M2VlLTQ1ZTgtODdhNC1iYTkzYTIwMTZmODciLCJ1c2VyX25hbWUiOiJtYXJpc3NhIiwib3JpZ2l" + + "uIjoidWFhIiwiaXNzIjoiaHR0cDovL2xvY2FsaG9zdDo4MDgwL3VhYS9vYXV0aC90b2tlbiIsImNsaWVudF9pZCI6ImFwcCIsImF1ZCI6WyJhcHAiXSwiemlkIjoidWFhIiwidXNlcl9pZCI6IjIzOTJhMzIwLTQzZWUtNDVlOC04N2E0LWJ" + + "hOTNhMjAxNmY4NyIsImF6cCI6ImFwcCIsInNjb3BlIjpbIm9wZW5pZCJdLCJleHAiOjE0NjYwNzg0OTAsImlhdCI6MTQ2NjAzNTI5MCwianRpIjoiM2NjNDg2NmYzMWRjNGIyMThkMTdiZDNhMzE4MjhmNWUiLCJlbWFpbCI6Im1hcmlzc2F" + + "AdGVzdC5vcmciLCJyZXZfc2lnIjoiMzYyNzRiZmMiLCJjaWQiOiJhcHAifQ.zR0b0TVFY8VrxAXLve2VRZvwb9HWMtbD79KSHwgr1wo" + + "&expires_in=43199&jti=3cc4866f31dc4b218d17bd3a31828f5e") + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void authorizeByOpenIdWithimplicitGrant() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/oauth/authorize?client_id=app&redirect_uri=http%3A%2F%2Flocalhost%3A8080%2Fapp%2F&scope=openid&response_type=token%20id_token") - .build()) - .response(TestResponse.builder() - .status(FOUND) - .header("Location", "http://redirect.to/login") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path( + "/oauth/authorize?client_id=app&redirect_uri=http%3A%2F%2Flocalhost%3A8080%2Fapp%2F&scope=openid&response_type=token%20id_token") + .build()) + .response( + TestResponse.builder() + .status(FOUND) + .header("Location", "http://redirect.to/login") + .build()) + .build()); this.authorizations - .openIdWithTokenAndIdToken(AuthorizeByOpenIdWithImplicitGrantRequest.builder() - .clientId("app") - .redirectUri("http://localhost:8080/app/") - .scope("openid") - .build()) - .as(StepVerifier::create) - .expectNext("http://redirect.to/login") - .expectComplete() - .verify(Duration.ofSeconds(5)); + .openIdWithTokenAndIdToken( + AuthorizeByOpenIdWithImplicitGrantRequest.builder() + .clientId("app") + .redirectUri("http://localhost:8080/app/") + .scope("openid") + .build()) + .as(StepVerifier::create) + .expectNext("http://redirect.to/login") + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void getOpenIdProviderConfigurationRequest() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/.well-known/openid-configuration") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/uaa/authorizations/GET_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/.well-known/openid-configuration") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload("fixtures/uaa/authorizations/GET_response.json") + .build()) + .build()); this.authorizations - .getOpenIdProviderConfiguration(GetOpenIdProviderConfigurationRequest.builder() - .build()) - .as(StepVerifier::create) - .expectNext(GetOpenIdProviderConfigurationResponse.builder() - .authorizationEndpoint("http://localhost/oauth/authorize") - .supportedClaims("sub", "user_name", "origin", "iss", "auth_time", "amr", "acr", "client_id", "aud", "zid", "grant_type", "user_id", "azp", "scope", "exp", "iat", "jti", "rev_sig", - "cid", "given_name", "family_name", "phone_number", "email") - .claimsParameterSupported(false) - .supportedClaimType("normal") - .issuer("http://localhost:8080/uaa/oauth/token") - .javaWebKeySetEndpoint("http://localhost/token_keys") - .serviceDocumentation("http://docs.cloudfoundry.org/api/uaa/") - .supportedIdTokenEncryptionAlgorithm("none") - .supportedIdTokenSigningAlgorithms("RS256", "HS256") - .supportedSubjectType("public") - .supportedResponseTypes("code", "code id_token", "id_token", "token id_token") - .supportedScopes("openid", "profile", "email", "phone", "roles", "user_attributes") - .supportedTokenEndpointAuthorizationMethods("client_secret_basic", "client_secret_post") - .supportedTokenEndpointAuthorizationSigningAlgorithms("RS256", "HS256") - .supportedUiLocale(Locale.US) - .tokenEndpoint("http://localhost/oauth/token") - .userInfoEndpoint("http://localhost/userinfo") - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .getOpenIdProviderConfiguration( + GetOpenIdProviderConfigurationRequest.builder().build()) + .as(StepVerifier::create) + .expectNext( + GetOpenIdProviderConfigurationResponse.builder() + .authorizationEndpoint("http://localhost/oauth/authorize") + .supportedClaims( + "sub", + "user_name", + "origin", + "iss", + "auth_time", + "amr", + "acr", + "client_id", + "aud", + "zid", + "grant_type", + "user_id", + "azp", + "scope", + "exp", + "iat", + "jti", + "rev_sig", + "cid", + "given_name", + "family_name", + "phone_number", + "email") + .claimsParameterSupported(false) + .supportedClaimType("normal") + .issuer("http://localhost:8080/uaa/oauth/token") + .javaWebKeySetEndpoint("http://localhost/token_keys") + .serviceDocumentation("http://docs.cloudfoundry.org/api/uaa/") + .supportedIdTokenEncryptionAlgorithm("none") + .supportedIdTokenSigningAlgorithms("RS256", "HS256") + .supportedSubjectType("public") + .supportedResponseTypes( + "code", "code id_token", "id_token", "token id_token") + .supportedScopes( + "openid", + "profile", + "email", + "phone", + "roles", + "user_attributes") + .supportedTokenEndpointAuthorizationMethods( + "client_secret_basic", "client_secret_post") + .supportedTokenEndpointAuthorizationSigningAlgorithms( + "RS256", "HS256") + .supportedUiLocale(Locale.US) + .tokenEndpoint("http://localhost/oauth/token") + .userInfoEndpoint("http://localhost/userinfo") + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } - - } diff --git a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/uaa/clients/ReactorClientsTest.java b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/uaa/clients/ReactorClientsTest.java index b0d68e2503..2101b43031 100644 --- a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/uaa/clients/ReactorClientsTest.java +++ b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/uaa/clients/ReactorClientsTest.java @@ -16,6 +16,18 @@ package org.cloudfoundry.reactor.uaa.clients; +import static io.netty.handler.codec.http.HttpMethod.DELETE; +import static io.netty.handler.codec.http.HttpMethod.GET; +import static io.netty.handler.codec.http.HttpMethod.POST; +import static io.netty.handler.codec.http.HttpMethod.PUT; +import static io.netty.handler.codec.http.HttpResponseStatus.CREATED; +import static io.netty.handler.codec.http.HttpResponseStatus.OK; +import static org.cloudfoundry.uaa.tokens.GrantType.AUTHORIZATION_CODE; +import static org.cloudfoundry.uaa.tokens.GrantType.CLIENT_CREDENTIALS; +import static org.cloudfoundry.uaa.tokens.GrantType.REFRESH_TOKEN; + +import java.time.Duration; +import java.util.Collections; import org.cloudfoundry.reactor.InteractionContext; import org.cloudfoundry.reactor.TestRequest; import org.cloudfoundry.reactor.TestResponse; @@ -61,734 +73,887 @@ import org.junit.Test; import reactor.test.StepVerifier; -import java.time.Duration; -import java.util.Collections; - -import static io.netty.handler.codec.http.HttpMethod.DELETE; -import static io.netty.handler.codec.http.HttpMethod.GET; -import static io.netty.handler.codec.http.HttpMethod.POST; -import static io.netty.handler.codec.http.HttpMethod.PUT; -import static io.netty.handler.codec.http.HttpResponseStatus.CREATED; -import static io.netty.handler.codec.http.HttpResponseStatus.OK; -import static org.cloudfoundry.uaa.tokens.GrantType.AUTHORIZATION_CODE; -import static org.cloudfoundry.uaa.tokens.GrantType.CLIENT_CREDENTIALS; -import static org.cloudfoundry.uaa.tokens.GrantType.REFRESH_TOKEN; - public final class ReactorClientsTest extends AbstractUaaApiTest { - private final ReactorClients clients = new ReactorClients(CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); + private final ReactorClients clients = + new ReactorClients( + CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); @Test public void batchChangeSecret() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(POST).path("/oauth/clients/tx/secret") - .payload("fixtures/uaa/clients/POST_tx_secret_request.json") - .build()) - .response(TestResponse.builder() - .status(CREATED) - .payload("fixtures/uaa/clients/POST_tx_secret_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(POST) + .path("/oauth/clients/tx/secret") + .payload("fixtures/uaa/clients/POST_tx_secret_request.json") + .build()) + .response( + TestResponse.builder() + .status(CREATED) + .payload( + "fixtures/uaa/clients/POST_tx_secret_response.json") + .build()) + .build()); this.clients - .batchChangeSecret(BatchChangeSecretRequest.builder() - .changeSecret(ChangeSecret.builder() - .clientId("Zkgt1Y") - .secret("new_secret") - .build()) - .changeSecret(ChangeSecret.builder() - .clientId("Xm43aH") - .secret("new_secret") - .build()) - .build()) - .as(StepVerifier::create) - .expectNext(BatchChangeSecretResponse.builder() - .client(Client.builder() - .accessTokenValidity(2700L) - .allowedProviders("uaa", "ldap", "my-saml-provider") - .approvalsDeleted(true) - .authorities("clients.read", "clients.write") - .authorizedGrantType(CLIENT_CREDENTIALS) - .autoApprove("true") - .clientId("Zkgt1Y") - .lastModified(1474923482301L) - .name("My Client Name") - .redirectUriPatterns("http*://ant.path.wildcard/**/passback/*", "http://test1.com") - .refreshTokenValidity(7000L) - .resourceId("none") - .scopes("clients.read", "clients.write") - .tokenSalt("uHICvG") - .build()) - .client(Client.builder() - .accessTokenValidity(2700L) - .allowedProviders("uaa", "ldap", "my-saml-provider") - .approvalsDeleted(true) - .authorities("clients.read", "new.authority", "clients.write") - .authorizedGrantType(CLIENT_CREDENTIALS) - .autoApprove("true") - .clientId("Xm43aH") - .lastModified(1474923482302L) - .name("My Client Name") - .redirectUriPatterns("http*://ant.path.wildcard/**/passback/*", "http://test1.com") - .refreshTokenValidity(7000L) - .resourceId("none") - .scopes("clients.read", "clients.write") - .tokenSalt("WjlWvu") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .batchChangeSecret( + BatchChangeSecretRequest.builder() + .changeSecret( + ChangeSecret.builder() + .clientId("Zkgt1Y") + .secret("new_secret") + .build()) + .changeSecret( + ChangeSecret.builder() + .clientId("Xm43aH") + .secret("new_secret") + .build()) + .build()) + .as(StepVerifier::create) + .expectNext( + BatchChangeSecretResponse.builder() + .client( + Client.builder() + .accessTokenValidity(2700L) + .allowedProviders("uaa", "ldap", "my-saml-provider") + .approvalsDeleted(true) + .authorities("clients.read", "clients.write") + .authorizedGrantType(CLIENT_CREDENTIALS) + .autoApprove("true") + .clientId("Zkgt1Y") + .lastModified(1474923482301L) + .name("My Client Name") + .redirectUriPatterns( + "http*://ant.path.wildcard/**/passback/*", + "http://test1.com") + .refreshTokenValidity(7000L) + .resourceId("none") + .scopes("clients.read", "clients.write") + .tokenSalt("uHICvG") + .build()) + .client( + Client.builder() + .accessTokenValidity(2700L) + .allowedProviders("uaa", "ldap", "my-saml-provider") + .approvalsDeleted(true) + .authorities( + "clients.read", + "new.authority", + "clients.write") + .authorizedGrantType(CLIENT_CREDENTIALS) + .autoApprove("true") + .clientId("Xm43aH") + .lastModified(1474923482302L) + .name("My Client Name") + .redirectUriPatterns( + "http*://ant.path.wildcard/**/passback/*", + "http://test1.com") + .refreshTokenValidity(7000L) + .resourceId("none") + .scopes("clients.read", "clients.write") + .tokenSalt("WjlWvu") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void batchCreate() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(POST).path("/oauth/clients/tx") - .payload("fixtures/uaa/clients/POST_tx_request.json") - .build()) - .response(TestResponse.builder() - .status(CREATED) - .payload("fixtures/uaa/clients/POST_tx_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(POST) + .path("/oauth/clients/tx") + .payload("fixtures/uaa/clients/POST_tx_request.json") + .build()) + .response( + TestResponse.builder() + .status(CREATED) + .payload("fixtures/uaa/clients/POST_tx_response.json") + .build()) + .build()); this.clients - .batchCreate(BatchCreateClientsRequest.builder() - .client(CreateClient.builder() - .allowedProviders("uaa", "ldap", "my-saml-provider") - .authorities("clients.read", "clients.write") - .authorizedGrantType(CLIENT_CREDENTIALS) - .autoApprove("true") - .clientId("14pnUs") - .clientSecret("secret") - .name("My Client Name") - .redirectUriPatterns("http://test1.com", "http*://ant.path.wildcard/**/passback/*") - .scopes("clients.read", "clients.write") - .tokenSalt("erRsWH") - .build()) - .client(CreateClient.builder() - .allowedProviders("uaa", "ldap", "my-saml-provider") - .authorities("clients.read", "clients.write") - .authorizedGrantType(CLIENT_CREDENTIALS) - .autoApprove("true") - .clientId("0Tgnfy") - .clientSecret("secret") - .name("My Client Name") - .redirectUriPatterns("http://test1.com", "http*://ant.path.wildcard/**/passback/*") - .scopes("clients.read", "clients.write") - .tokenSalt("4wMTwN") - .build()) - .build()) - .as(StepVerifier::create) - .expectNext(BatchCreateClientsResponse.builder() - .client(Client.builder() - .allowedProviders("uaa", "ldap", "my-saml-provider") - .authorities("clients.read", "clients.write") - .authorizedGrantType(CLIENT_CREDENTIALS) - .autoApprove("true") - .clientId("14pnUs") - .lastModified(1468364444218L) - .name("My Client Name") - .redirectUriPatterns("http*://ant.path.wildcard/**/passback/*", "http://test1.com") - .resourceId("none") - .scopes("clients.read", "clients.write") - .tokenSalt("erRsWH") - .build()) - .client(Client.builder() - .allowedProviders("uaa", "ldap", "my-saml-provider") - .authorities("clients.read", "clients.write") - .authorizedGrantType(CLIENT_CREDENTIALS) - .autoApprove("true") - .clientId("0Tgnfy") - .lastModified(1468364444318L) - .name("My Client Name") - .redirectUriPatterns("http*://ant.path.wildcard/**/passback/*", "http://test1.com") - .resourceId("none") - .scopes("clients.read", "clients.write") - .tokenSalt("4wMTwN") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .batchCreate( + BatchCreateClientsRequest.builder() + .client( + CreateClient.builder() + .allowedProviders("uaa", "ldap", "my-saml-provider") + .authorities("clients.read", "clients.write") + .authorizedGrantType(CLIENT_CREDENTIALS) + .autoApprove("true") + .clientId("14pnUs") + .clientSecret("secret") + .name("My Client Name") + .redirectUriPatterns( + "http://test1.com", + "http*://ant.path.wildcard/**/passback/*") + .scopes("clients.read", "clients.write") + .tokenSalt("erRsWH") + .build()) + .client( + CreateClient.builder() + .allowedProviders("uaa", "ldap", "my-saml-provider") + .authorities("clients.read", "clients.write") + .authorizedGrantType(CLIENT_CREDENTIALS) + .autoApprove("true") + .clientId("0Tgnfy") + .clientSecret("secret") + .name("My Client Name") + .redirectUriPatterns( + "http://test1.com", + "http*://ant.path.wildcard/**/passback/*") + .scopes("clients.read", "clients.write") + .tokenSalt("4wMTwN") + .build()) + .build()) + .as(StepVerifier::create) + .expectNext( + BatchCreateClientsResponse.builder() + .client( + Client.builder() + .allowedProviders("uaa", "ldap", "my-saml-provider") + .authorities("clients.read", "clients.write") + .authorizedGrantType(CLIENT_CREDENTIALS) + .autoApprove("true") + .clientId("14pnUs") + .lastModified(1468364444218L) + .name("My Client Name") + .redirectUriPatterns( + "http*://ant.path.wildcard/**/passback/*", + "http://test1.com") + .resourceId("none") + .scopes("clients.read", "clients.write") + .tokenSalt("erRsWH") + .build()) + .client( + Client.builder() + .allowedProviders("uaa", "ldap", "my-saml-provider") + .authorities("clients.read", "clients.write") + .authorizedGrantType(CLIENT_CREDENTIALS) + .autoApprove("true") + .clientId("0Tgnfy") + .lastModified(1468364444318L) + .name("My Client Name") + .redirectUriPatterns( + "http*://ant.path.wildcard/**/passback/*", + "http://test1.com") + .resourceId("none") + .scopes("clients.read", "clients.write") + .tokenSalt("4wMTwN") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void batchDelete() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(POST).path("/oauth/clients/tx/delete") - .payload("fixtures/uaa/clients/POST_tx_delete_request.json") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/uaa/clients/POST_tx_delete_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(POST) + .path("/oauth/clients/tx/delete") + .payload("fixtures/uaa/clients/POST_tx_delete_request.json") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/uaa/clients/POST_tx_delete_response.json") + .build()) + .build()); this.clients - .batchDelete(BatchDeleteClientsRequest.builder() - .clientIds("14pnUs", "qECLyr") - .build()) - .as(StepVerifier::create) - .expectNext(BatchDeleteClientsResponse.builder() - .client(Client.builder() - .approvalsDeleted(true) - .allowedProviders("uaa", "ldap", "my-saml-provider") - .authorities("clients.read", "clients.write") - .authorizedGrantType(CLIENT_CREDENTIALS) - .autoApprove("true") - .clientId("14pnUs") - .lastModified(1468364444461L) - .name("My Client Name") - .redirectUriPatterns("http*://ant.path.wildcard/**/passback/*", "http://test1.com") - .resourceId("none") - .scopes("clients.read", "clients.write") - .tokenSalt("erRsWH") - .build()) - .client(Client.builder() - .approvalsDeleted(true) - .allowedProviders("uaa", "ldap", "my-saml-provider") - .authorities("clients.read", "clients.write") - .authorizedGrantType(CLIENT_CREDENTIALS) - .autoApprove("true") - .clientId("qECLyr") - .lastModified(1468364444868L) - .name("My Client Name") - .redirectUriPatterns("http*://ant.path.wildcard/**/passback/*", "http://test1.com") - .resourceId("none") - .scopes("clients.read", "clients.write") - .tokenSalt("48TIsq") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .batchDelete( + BatchDeleteClientsRequest.builder().clientIds("14pnUs", "qECLyr").build()) + .as(StepVerifier::create) + .expectNext( + BatchDeleteClientsResponse.builder() + .client( + Client.builder() + .approvalsDeleted(true) + .allowedProviders("uaa", "ldap", "my-saml-provider") + .authorities("clients.read", "clients.write") + .authorizedGrantType(CLIENT_CREDENTIALS) + .autoApprove("true") + .clientId("14pnUs") + .lastModified(1468364444461L) + .name("My Client Name") + .redirectUriPatterns( + "http*://ant.path.wildcard/**/passback/*", + "http://test1.com") + .resourceId("none") + .scopes("clients.read", "clients.write") + .tokenSalt("erRsWH") + .build()) + .client( + Client.builder() + .approvalsDeleted(true) + .allowedProviders("uaa", "ldap", "my-saml-provider") + .authorities("clients.read", "clients.write") + .authorizedGrantType(CLIENT_CREDENTIALS) + .autoApprove("true") + .clientId("qECLyr") + .lastModified(1468364444868L) + .name("My Client Name") + .redirectUriPatterns( + "http*://ant.path.wildcard/**/passback/*", + "http://test1.com") + .resourceId("none") + .scopes("clients.read", "clients.write") + .tokenSalt("48TIsq") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void batchUpdate() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(PUT).path("/oauth/clients/tx") - .payload("fixtures/uaa/clients/PUT_tx_request.json") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/uaa/clients/PUT_tx_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(PUT) + .path("/oauth/clients/tx") + .payload("fixtures/uaa/clients/PUT_tx_request.json") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload("fixtures/uaa/clients/PUT_tx_response.json") + .build()) + .build()); this.clients - .batchUpdate(BatchUpdateClientsRequest.builder() - .client(UpdateClient.builder() - .allowedProviders("uaa", "ldap", "my-saml-provider") - .authorities("clients.read", "clients.write") - .authorizedGrantType(CLIENT_CREDENTIALS) - .autoApprove("true") - .clientId("14pnUs") - .name("My Client Name") - .redirectUriPatterns("http://test1.com", "http*://ant.path.wildcard/**/passback/*") - .scopes("clients.read", "clients.write") - .tokenSalt("erRsWH") - .build()) - .client(UpdateClient.builder() - .allowedProviders("uaa", "ldap", "my-saml-provider") - .authorities("clients.read", "new.authority", "clients.write") - .authorizedGrantType(CLIENT_CREDENTIALS) - .autoApprove("true") - .clientId("0Tgnfy") - .name("My Client Name") - .redirectUriPatterns("http://test1.com", "http*://ant.path.wildcard/**/passback/*") - .scopes("clients.read", "clients.write") - .tokenSalt("4wMTwN") - .build()) - .build()) - .as(StepVerifier::create) - .expectNext(BatchUpdateClientsResponse.builder() - .client(Client.builder() - .allowedProviders("uaa", "ldap", "my-saml-provider") - .authorities("clients.read", "clients.write") - .authorizedGrantType(CLIENT_CREDENTIALS) - .autoApprove("true") - .clientId("14pnUs") - .lastModified(1468364444218L) - .name("My Client Name") - .redirectUriPatterns("http*://ant.path.wildcard/**/passback/*", "http://test1.com") - .resourceId("none") - .scopes("clients.read", "clients.write") - .tokenSalt("erRsWH") - .build()) - .client(Client.builder() - .allowedProviders("uaa", "ldap", "my-saml-provider") - .authorities("clients.read", "new.authority", "clients.write") - .authorizedGrantType(CLIENT_CREDENTIALS) - .autoApprove("true") - .clientId("0Tgnfy") - .lastModified(1468364444318L) - .name("My Client Name") - .redirectUriPatterns("http*://ant.path.wildcard/**/passback/*", "http://test1.com") - .resourceId("none") - .scopes("clients.read", "clients.write") - .tokenSalt("4wMTwN") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .batchUpdate( + BatchUpdateClientsRequest.builder() + .client( + UpdateClient.builder() + .allowedProviders("uaa", "ldap", "my-saml-provider") + .authorities("clients.read", "clients.write") + .authorizedGrantType(CLIENT_CREDENTIALS) + .autoApprove("true") + .clientId("14pnUs") + .name("My Client Name") + .redirectUriPatterns( + "http://test1.com", + "http*://ant.path.wildcard/**/passback/*") + .scopes("clients.read", "clients.write") + .tokenSalt("erRsWH") + .build()) + .client( + UpdateClient.builder() + .allowedProviders("uaa", "ldap", "my-saml-provider") + .authorities( + "clients.read", + "new.authority", + "clients.write") + .authorizedGrantType(CLIENT_CREDENTIALS) + .autoApprove("true") + .clientId("0Tgnfy") + .name("My Client Name") + .redirectUriPatterns( + "http://test1.com", + "http*://ant.path.wildcard/**/passback/*") + .scopes("clients.read", "clients.write") + .tokenSalt("4wMTwN") + .build()) + .build()) + .as(StepVerifier::create) + .expectNext( + BatchUpdateClientsResponse.builder() + .client( + Client.builder() + .allowedProviders("uaa", "ldap", "my-saml-provider") + .authorities("clients.read", "clients.write") + .authorizedGrantType(CLIENT_CREDENTIALS) + .autoApprove("true") + .clientId("14pnUs") + .lastModified(1468364444218L) + .name("My Client Name") + .redirectUriPatterns( + "http*://ant.path.wildcard/**/passback/*", + "http://test1.com") + .resourceId("none") + .scopes("clients.read", "clients.write") + .tokenSalt("erRsWH") + .build()) + .client( + Client.builder() + .allowedProviders("uaa", "ldap", "my-saml-provider") + .authorities( + "clients.read", + "new.authority", + "clients.write") + .authorizedGrantType(CLIENT_CREDENTIALS) + .autoApprove("true") + .clientId("0Tgnfy") + .lastModified(1468364444318L) + .name("My Client Name") + .redirectUriPatterns( + "http*://ant.path.wildcard/**/passback/*", + "http://test1.com") + .resourceId("none") + .scopes("clients.read", "clients.write") + .tokenSalt("4wMTwN") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void changeSecrets() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(PUT).path("/oauth/clients/BMGkqk/secret") - .payload("fixtures/uaa/clients/PUT_{id}_secret_request.json") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/uaa/clients/PUT_{id}_secret_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(PUT) + .path("/oauth/clients/BMGkqk/secret") + .payload( + "fixtures/uaa/clients/PUT_{id}_secret_request.json") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/uaa/clients/PUT_{id}_secret_response.json") + .build()) + .build()); this.clients - .changeSecret(ChangeSecretRequest.builder() - .clientId("BMGkqk") - .secret("new_secret") - .build()) - .as(StepVerifier::create) - .expectNext(ChangeSecretResponse.builder() - .message("secret updated") - .status("ok") - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .changeSecret( + ChangeSecretRequest.builder() + .clientId("BMGkqk") + .secret("new_secret") + .build()) + .as(StepVerifier::create) + .expectNext( + ChangeSecretResponse.builder() + .message("secret updated") + .status("ok") + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void create() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(POST).path("/oauth/clients") - .payload("fixtures/uaa/clients/POST_request.json") - .build()) - .response(TestResponse.builder() - .status(CREATED) - .payload("fixtures/uaa/clients/POST_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(POST) + .path("/oauth/clients") + .payload("fixtures/uaa/clients/POST_request.json") + .build()) + .response( + TestResponse.builder() + .status(CREATED) + .payload("fixtures/uaa/clients/POST_response.json") + .build()) + .build()); this.clients - .create(CreateClientRequest.builder() - .allowedProviders("uaa", "ldap", "my-saml-provider") - .authorities("clients.read", "clients.write") - .authorizedGrantType(CLIENT_CREDENTIALS) - .autoApprove("true") - .clientId("aPq3I1") - .clientSecret("secret") - .name("My Client Name") - .redirectUriPatterns("http://test1.com", "http*://ant.path.wildcard/**/passback/*") - .scopes("clients.read", "clients.write") - .tokenSalt("hRZ21X") - .build()) - .as(StepVerifier::create) - .expectNext(CreateClientResponse.builder() - .allowedProviders("uaa", "ldap", "my-saml-provider") - .authorities("clients.read", "clients.write") - .authorizedGrantType(CLIENT_CREDENTIALS) - .autoApprove("true") - .clientId("aPq3I1") - .lastModified(1468364445109L) - .name("My Client Name") - .redirectUriPatterns("http*://ant.path.wildcard/**/passback/*", "http://test1.com") - .resourceId("none") - .scopes("clients.read", "clients.write") - .tokenSalt("hRZ21X") - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .create( + CreateClientRequest.builder() + .allowedProviders("uaa", "ldap", "my-saml-provider") + .authorities("clients.read", "clients.write") + .authorizedGrantType(CLIENT_CREDENTIALS) + .autoApprove("true") + .clientId("aPq3I1") + .clientSecret("secret") + .name("My Client Name") + .redirectUriPatterns( + "http://test1.com", + "http*://ant.path.wildcard/**/passback/*") + .scopes("clients.read", "clients.write") + .tokenSalt("hRZ21X") + .build()) + .as(StepVerifier::create) + .expectNext( + CreateClientResponse.builder() + .allowedProviders("uaa", "ldap", "my-saml-provider") + .authorities("clients.read", "clients.write") + .authorizedGrantType(CLIENT_CREDENTIALS) + .autoApprove("true") + .clientId("aPq3I1") + .lastModified(1468364445109L) + .name("My Client Name") + .redirectUriPatterns( + "http*://ant.path.wildcard/**/passback/*", + "http://test1.com") + .resourceId("none") + .scopes("clients.read", "clients.write") + .tokenSalt("hRZ21X") + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void delete() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(DELETE).path("/oauth/clients/test-client-id") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/uaa/clients/DELETE_{id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(DELETE) + .path("/oauth/clients/test-client-id") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload("fixtures/uaa/clients/DELETE_{id}_response.json") + .build()) + .build()); this.clients - .delete(DeleteClientRequest.builder() - .clientId("test-client-id") - .build()) - .as(StepVerifier::create) - .expectNext(DeleteClientResponse.builder() - .allowedProviders("uaa", "ldap", "my-saml-provider") - .authorities("clients.read", "clients.write") - .authorizedGrantType(CLIENT_CREDENTIALS) - .autoApprove("true") - .clientId("Gieovr") - .lastModified(1468364443957L) - .name("My Client Name") - .redirectUriPatterns("http*://ant.path.wildcard/**/passback/*", "http://test1.com") - .resourceId("none") - .scopes("clients.read", "clients.write") - .tokenSalt("a4mzKu") - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .delete(DeleteClientRequest.builder().clientId("test-client-id").build()) + .as(StepVerifier::create) + .expectNext( + DeleteClientResponse.builder() + .allowedProviders("uaa", "ldap", "my-saml-provider") + .authorities("clients.read", "clients.write") + .authorizedGrantType(CLIENT_CREDENTIALS) + .autoApprove("true") + .clientId("Gieovr") + .lastModified(1468364443957L) + .name("My Client Name") + .redirectUriPatterns( + "http*://ant.path.wildcard/**/passback/*", + "http://test1.com") + .resourceId("none") + .scopes("clients.read", "clients.write") + .tokenSalt("a4mzKu") + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void deserialize() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/oauth/clients") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/uaa/clients/GET_response_deserialize.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request(TestRequest.builder().method(GET).path("/oauth/clients").build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/uaa/clients/GET_response_deserialize.json") + .build()) + .build()); this.clients - .list(ListClientsRequest.builder() - .build()) - .as(StepVerifier::create) - .expectNext(ListClientsResponse.builder() - .resource(Client.builder() - .action("none") - .authority("uaa.none") - .authorizedGrantTypes(AUTHORIZATION_CODE, REFRESH_TOKEN) - .autoApprove("true") - .clientId("ssh-proxy") - .lastModified(1469112324000L) - .redirectUriPattern("/login") - .resourceId("none") - .scopes("openid", "cloud_controller.read", "cloud_controller.write") - .build()) - .resource(Client.builder() - .action("none") - .authorities("routing.routes.write", "routing.routes.read") - .authorizedGrantTypes(CLIENT_CREDENTIALS, REFRESH_TOKEN) - .autoApproves("routing.routes.write", "routing.routes.read") - .clientId("tcp_emitter") - .lastModified(1469112324000L) - .resourceId("none") - .scope("uaa.none") - .build()) - .startIndex(1) - .itemsPerPage(2) - .totalResults(2) - .schema("http://cloudfoundry.org/schema/scim/oauth-clients-1.0") - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .list(ListClientsRequest.builder().build()) + .as(StepVerifier::create) + .expectNext( + ListClientsResponse.builder() + .resource( + Client.builder() + .action("none") + .authority("uaa.none") + .authorizedGrantTypes( + AUTHORIZATION_CODE, REFRESH_TOKEN) + .autoApprove("true") + .clientId("ssh-proxy") + .lastModified(1469112324000L) + .redirectUriPattern("/login") + .resourceId("none") + .scopes( + "openid", + "cloud_controller.read", + "cloud_controller.write") + .build()) + .resource( + Client.builder() + .action("none") + .authorities( + "routing.routes.write", + "routing.routes.read") + .authorizedGrantTypes( + CLIENT_CREDENTIALS, REFRESH_TOKEN) + .autoApproves( + "routing.routes.write", + "routing.routes.read") + .clientId("tcp_emitter") + .lastModified(1469112324000L) + .resourceId("none") + .scope("uaa.none") + .build()) + .startIndex(1) + .itemsPerPage(2) + .totalResults(2) + .schema("http://cloudfoundry.org/schema/scim/oauth-clients-1.0") + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void get() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/oauth/clients/test-client-id") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/uaa/clients/GET_{id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/oauth/clients/test-client-id") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload("fixtures/uaa/clients/GET_{id}_response.json") + .build()) + .build()); this.clients - .get(GetClientRequest.builder() - .clientId("test-client-id") - .build()) - .as(StepVerifier::create) - .expectNext(GetClientResponse.builder() - .allowedProviders("uaa", "ldap", "my-saml-provider") - .authorities("clients.read", "clients.write") - .authorizedGrantType(CLIENT_CREDENTIALS) - .autoApprove("true") - .clientId("4Z3t1r") - .lastModified(1468364445592L) - .name("My Client Name") - .redirectUriPatterns("http*://ant.path.wildcard/**/passback/*", "http://test1.com") - .resourceId("none") - .scopes("clients.read", "clients.write") - .tokenSalt("mr80UZ") - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .get(GetClientRequest.builder().clientId("test-client-id").build()) + .as(StepVerifier::create) + .expectNext( + GetClientResponse.builder() + .allowedProviders("uaa", "ldap", "my-saml-provider") + .authorities("clients.read", "clients.write") + .authorizedGrantType(CLIENT_CREDENTIALS) + .autoApprove("true") + .clientId("4Z3t1r") + .lastModified(1468364445592L) + .name("My Client Name") + .redirectUriPatterns( + "http*://ant.path.wildcard/**/passback/*", + "http://test1.com") + .resourceId("none") + .scopes("clients.read", "clients.write") + .tokenSalt("mr80UZ") + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void getMetadata() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/oauth/clients/P4vuAaSe/meta") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/uaa/clients/GET_{id}_meta_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/oauth/clients/P4vuAaSe/meta") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload("fixtures/uaa/clients/GET_{id}_meta_response.json") + .build()) + .build()); this.clients - .getMetadata(GetMetadataRequest.builder() - .clientId("P4vuAaSe") - .build()) - .as(StepVerifier::create) - .expectNext(GetMetadataResponse.builder() - .appIcon("aWNvbiBmb3IgY2xpZW50IDQ=") - .appLaunchUrl("http://myloginpage.com") - .clientId("P4vuAaSe") - .showOnHomePage(true) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .getMetadata(GetMetadataRequest.builder().clientId("P4vuAaSe").build()) + .as(StepVerifier::create) + .expectNext( + GetMetadataResponse.builder() + .appIcon("aWNvbiBmb3IgY2xpZW50IDQ=") + .appLaunchUrl("http://myloginpage.com") + .clientId("P4vuAaSe") + .showOnHomePage(true) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void list() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/oauth/clients?count=10&filter=client_id%2Beq%2B%22EGgNW3%22&sortBy=client_id&sortOrder=descending&startIndex=1") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/uaa/clients/GET_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path( + "/oauth/clients?count=10&filter=client_id%2Beq%2B%22EGgNW3%22&sortBy=client_id&sortOrder=descending&startIndex=1") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload("fixtures/uaa/clients/GET_response.json") + .build()) + .build()); this.clients - .list(ListClientsRequest.builder() - .count(10) - .filter("client_id+eq+\"EGgNW3\"") - .sortBy("client_id") - .sortOrder(SortOrder.DESCENDING) - .startIndex(1) - .build()) - .as(StepVerifier::create) - .expectNext(ListClientsResponse.builder() - .resource(Client.builder() - .allowedProviders("uaa", "ldap", "my-saml-provider") - .authorities("clients.read", "clients.write") - .authorizedGrantType(CLIENT_CREDENTIALS) - .autoApprove("true") - .clientId("EGgNW3") - .lastModified(1468364445334L) - .name("My Client Name") - .redirectUriPatterns("http*://ant.path.wildcard/**/passback/*", "http://test1.com") - .resourceId("none") - .scopes("clients.read", "clients.write") - .tokenSalt("7uDPJX") - .build()) - .startIndex(1) - .itemsPerPage(1) - .totalResults(1) - .schema("http://cloudfoundry.org/schema/scim/oauth-clients-1.0") - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .list( + ListClientsRequest.builder() + .count(10) + .filter("client_id+eq+\"EGgNW3\"") + .sortBy("client_id") + .sortOrder(SortOrder.DESCENDING) + .startIndex(1) + .build()) + .as(StepVerifier::create) + .expectNext( + ListClientsResponse.builder() + .resource( + Client.builder() + .allowedProviders("uaa", "ldap", "my-saml-provider") + .authorities("clients.read", "clients.write") + .authorizedGrantType(CLIENT_CREDENTIALS) + .autoApprove("true") + .clientId("EGgNW3") + .lastModified(1468364445334L) + .name("My Client Name") + .redirectUriPatterns( + "http*://ant.path.wildcard/**/passback/*", + "http://test1.com") + .resourceId("none") + .scopes("clients.read", "clients.write") + .tokenSalt("7uDPJX") + .build()) + .startIndex(1) + .itemsPerPage(1) + .totalResults(1) + .schema("http://cloudfoundry.org/schema/scim/oauth-clients-1.0") + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void listMetadatas() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/oauth/clients/meta") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/uaa/clients/GET_meta_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/oauth/clients/meta") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload("fixtures/uaa/clients/GET_meta_response.json") + .build()) + .build()); this.clients - .listMetadatas(ListMetadatasRequest.builder() - .build()) - .as(StepVerifier::create) - .expectNext(ListMetadatasResponse.builder() - .metadata(Metadata.builder() - .appIcon("Y2xpZW50IDMgaWNvbg==") - .appLaunchUrl("http://client3.com/app") - .clientId("9134O7y4") - .showOnHomePage(true) - .build()) - .metadata(Metadata.builder() - .appIcon("") - .appLaunchUrl("http://changed.app.launch/url") - .clientId("RpFRZpY3") - .showOnHomePage(false) - .build()) - .metadata(Metadata.builder() - .appIcon("aWNvbiBmb3IgY2xpZW50IDQ=") - .appLaunchUrl("http://client4.com/app") - .clientId("ewegZo0R") - .showOnHomePage(false) - .build()) - .metadata(Metadata.builder() - .appIcon("aWNvbiBmb3IgY2xpZW50IDQ=") - .appLaunchUrl("http://myloginpage.com") - .clientId("lqhK1n8q") - .showOnHomePage(true) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .listMetadatas(ListMetadatasRequest.builder().build()) + .as(StepVerifier::create) + .expectNext( + ListMetadatasResponse.builder() + .metadata( + Metadata.builder() + .appIcon("Y2xpZW50IDMgaWNvbg==") + .appLaunchUrl("http://client3.com/app") + .clientId("9134O7y4") + .showOnHomePage(true) + .build()) + .metadata( + Metadata.builder() + .appIcon("") + .appLaunchUrl("http://changed.app.launch/url") + .clientId("RpFRZpY3") + .showOnHomePage(false) + .build()) + .metadata( + Metadata.builder() + .appIcon("aWNvbiBmb3IgY2xpZW50IDQ=") + .appLaunchUrl("http://client4.com/app") + .clientId("ewegZo0R") + .showOnHomePage(false) + .build()) + .metadata( + Metadata.builder() + .appIcon("aWNvbiBmb3IgY2xpZW50IDQ=") + .appLaunchUrl("http://myloginpage.com") + .clientId("lqhK1n8q") + .showOnHomePage(true) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void mixedActions() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(POST).path("/oauth/clients/tx/modify") - .payload("fixtures/uaa/clients/POST_tx_modify_request.json") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/uaa/clients/POST_tx_modify_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(POST) + .path("/oauth/clients/tx/modify") + .payload("fixtures/uaa/clients/POST_tx_modify_request.json") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/uaa/clients/POST_tx_modify_response.json") + .build()) + .build()); this.clients - .mixedActions(MixedActionsRequest.builder() - .action(UpdateSecretAction.builder() - .clientId("Zkgt1Y") - .secret("new_secret") - .build()) - .action(DeleteClientAction.builder() - .clientId("Xm43aH") - .build()) - .action(CreateClientAction.builder() - .accessTokenValidity(2700L) - .allowedProviders("uaa", "ldap", "my-saml-provider") - .authorities("clients.read", "clients.write") - .authorizedGrantType(CLIENT_CREDENTIALS) - .autoApprove("true") - .clientId("tlA1z5") - .clientSecret("secret") - .name("My Client Name") - .redirectUriPatterns("http://test1.com", "http*://ant.path.wildcard/**/passback/*") - .resourceIds() - .refreshTokenValidity(7000L) - .scopes("clients.read", "clients.write") - .tokenSalt("UpzrHR") - .build()) - .build()) - .as(StepVerifier::create) - .expectNext(MixedActionsResponse.builder() - .client(ActionClient.builder() - .action("secret") - .approvalsDeleted(false) - .clientId("Zkgt1Y") - .build()) - .client(ActionClient.builder() - .accessTokenValidity(2700L) - .action("delete") - .allowedProviders("uaa", "ldap", "my-saml-provider") - .approvalsDeleted(true) - .authorities("clients.read", "new.authority", "clients.write") - .authorizedGrantType(CLIENT_CREDENTIALS) - .autoApprove("true") - .clientId("Xm43aH") - .lastModified(1474923482302L) - .name("My Client Name") - .redirectUriPatterns("http*://ant.path.wildcard/**/passback/*", "http://test1.com") - .refreshTokenValidity(7000L) - .resourceId("none") - .scopes("clients.read", "clients.write") - .tokenSalt("WjlWvu") - .build()) - .client(ActionClient.builder() - .accessTokenValidity(2700L) - .action("add") - .allowedProviders("uaa", "ldap", "my-saml-provider") - .authorities("clients.read", "clients.write") - .authorizedGrantType(CLIENT_CREDENTIALS) - .autoApprove("true") - .clientId("tlA1z5") - .lastModified(1474923482727L) - .name("My Client Name") - .redirectUriPatterns("http*://ant.path.wildcard/**/passback/*", "http://test1.com") - .refreshTokenValidity(7000L) - .resourceId("none") - .scopes("clients.read", "clients.write") - .tokenSalt("UpzrHR") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .mixedActions( + MixedActionsRequest.builder() + .action( + UpdateSecretAction.builder() + .clientId("Zkgt1Y") + .secret("new_secret") + .build()) + .action(DeleteClientAction.builder().clientId("Xm43aH").build()) + .action( + CreateClientAction.builder() + .accessTokenValidity(2700L) + .allowedProviders("uaa", "ldap", "my-saml-provider") + .authorities("clients.read", "clients.write") + .authorizedGrantType(CLIENT_CREDENTIALS) + .autoApprove("true") + .clientId("tlA1z5") + .clientSecret("secret") + .name("My Client Name") + .redirectUriPatterns( + "http://test1.com", + "http*://ant.path.wildcard/**/passback/*") + .resourceIds() + .refreshTokenValidity(7000L) + .scopes("clients.read", "clients.write") + .tokenSalt("UpzrHR") + .build()) + .build()) + .as(StepVerifier::create) + .expectNext( + MixedActionsResponse.builder() + .client( + ActionClient.builder() + .action("secret") + .approvalsDeleted(false) + .clientId("Zkgt1Y") + .build()) + .client( + ActionClient.builder() + .accessTokenValidity(2700L) + .action("delete") + .allowedProviders("uaa", "ldap", "my-saml-provider") + .approvalsDeleted(true) + .authorities( + "clients.read", + "new.authority", + "clients.write") + .authorizedGrantType(CLIENT_CREDENTIALS) + .autoApprove("true") + .clientId("Xm43aH") + .lastModified(1474923482302L) + .name("My Client Name") + .redirectUriPatterns( + "http*://ant.path.wildcard/**/passback/*", + "http://test1.com") + .refreshTokenValidity(7000L) + .resourceId("none") + .scopes("clients.read", "clients.write") + .tokenSalt("WjlWvu") + .build()) + .client( + ActionClient.builder() + .accessTokenValidity(2700L) + .action("add") + .allowedProviders("uaa", "ldap", "my-saml-provider") + .authorities("clients.read", "clients.write") + .authorizedGrantType(CLIENT_CREDENTIALS) + .autoApprove("true") + .clientId("tlA1z5") + .lastModified(1474923482727L) + .name("My Client Name") + .redirectUriPatterns( + "http*://ant.path.wildcard/**/passback/*", + "http://test1.com") + .refreshTokenValidity(7000L) + .resourceId("none") + .scopes("clients.read", "clients.write") + .tokenSalt("UpzrHR") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void update() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(PUT).path("/oauth/clients/55pTMX") - .payload("fixtures/uaa/clients/PUT_{id}_request.json") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/uaa/clients/PUT_{id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(PUT) + .path("/oauth/clients/55pTMX") + .payload("fixtures/uaa/clients/PUT_{id}_request.json") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload("fixtures/uaa/clients/PUT_{id}_response.json") + .build()) + .build()); this.clients - .update(UpdateClientRequest.builder() - .authorizedGrantType(CLIENT_CREDENTIALS) - .autoApprove("clients.autoapprove") - .clientId("55pTMX") - .scopes("clients.new", "clients.autoapprove") - .build()) - .as(StepVerifier::create) - .expectNext(UpdateClientResponse.builder() - .allowedProviders("uaa", "ldap", "my-saml-provider") - .authorities("clients.read", "clients.write") - .authorizedGrantType(CLIENT_CREDENTIALS) - .autoApprove("clients.autoapprove") - .clientId("55pTMX") - .lastModified(1468364443857L) - .name("My Client Name") - .redirectUriPatterns("http*://ant.path.wildcard/**/passback/*", "http://test1.com") - .resourceId("none") - .scopes("clients.new", "clients.autoapprove") - .tokenSalt("8mwCEy") - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .update( + UpdateClientRequest.builder() + .authorizedGrantType(CLIENT_CREDENTIALS) + .autoApprove("clients.autoapprove") + .clientId("55pTMX") + .scopes("clients.new", "clients.autoapprove") + .build()) + .as(StepVerifier::create) + .expectNext( + UpdateClientResponse.builder() + .allowedProviders("uaa", "ldap", "my-saml-provider") + .authorities("clients.read", "clients.write") + .authorizedGrantType(CLIENT_CREDENTIALS) + .autoApprove("clients.autoapprove") + .clientId("55pTMX") + .lastModified(1468364443857L) + .name("My Client Name") + .redirectUriPatterns( + "http*://ant.path.wildcard/**/passback/*", + "http://test1.com") + .resourceId("none") + .scopes("clients.new", "clients.autoapprove") + .tokenSalt("8mwCEy") + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void updateMetadata() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(PUT).path("/oauth/clients/RpFRZpY3/meta") - .payload("fixtures/uaa/clients/PUT_{id}_meta_request.json") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/uaa/clients/PUT_{id}_meta_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(PUT) + .path("/oauth/clients/RpFRZpY3/meta") + .payload("fixtures/uaa/clients/PUT_{id}_meta_request.json") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload("fixtures/uaa/clients/PUT_{id}_meta_response.json") + .build()) + .build()); this.clients - .updateMetadata(UpdateMetadataRequest.builder() - .appLaunchUrl("http://changed.app.launch/url") - .clientId("RpFRZpY3") - .showOnHomePage(false) - .build()) - .as(StepVerifier::create) - .expectNext(UpdateMetadataResponse.builder() - .appLaunchUrl("http://changed.app.launch/url") - .appIcon("") - .clientId("RpFRZpY3") - .showOnHomePage(false) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .updateMetadata( + UpdateMetadataRequest.builder() + .appLaunchUrl("http://changed.app.launch/url") + .clientId("RpFRZpY3") + .showOnHomePage(false) + .build()) + .as(StepVerifier::create) + .expectNext( + UpdateMetadataResponse.builder() + .appLaunchUrl("http://changed.app.launch/url") + .appIcon("") + .clientId("RpFRZpY3") + .showOnHomePage(false) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } - } diff --git a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/uaa/groups/ReactorGroupsTest.java b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/uaa/groups/ReactorGroupsTest.java index e2b6e89cb9..cd0939b907 100644 --- a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/uaa/groups/ReactorGroupsTest.java +++ b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/uaa/groups/ReactorGroupsTest.java @@ -16,6 +16,16 @@ package org.cloudfoundry.reactor.uaa.groups; +import static io.netty.handler.codec.http.HttpMethod.DELETE; +import static io.netty.handler.codec.http.HttpMethod.GET; +import static io.netty.handler.codec.http.HttpMethod.POST; +import static io.netty.handler.codec.http.HttpMethod.PUT; +import static io.netty.handler.codec.http.HttpResponseStatus.CREATED; +import static io.netty.handler.codec.http.HttpResponseStatus.OK; +import static org.cloudfoundry.uaa.SortOrder.ASCENDING; + +import java.time.Duration; +import java.util.Collections; import org.cloudfoundry.reactor.InteractionContext; import org.cloudfoundry.reactor.TestRequest; import org.cloudfoundry.reactor.TestResponse; @@ -59,556 +69,668 @@ import org.junit.Test; import reactor.test.StepVerifier; -import java.time.Duration; -import java.util.Collections; - -import static io.netty.handler.codec.http.HttpMethod.DELETE; -import static io.netty.handler.codec.http.HttpMethod.GET; -import static io.netty.handler.codec.http.HttpMethod.POST; -import static io.netty.handler.codec.http.HttpMethod.PUT; -import static io.netty.handler.codec.http.HttpResponseStatus.CREATED; -import static io.netty.handler.codec.http.HttpResponseStatus.OK; -import static org.cloudfoundry.uaa.SortOrder.ASCENDING; - public final class ReactorGroupsTest extends AbstractUaaApiTest { - private final ReactorGroups groups = new ReactorGroups(CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); + private final ReactorGroups groups = + new ReactorGroups( + CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); @Test public void addMember() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(POST).path("/Groups/test-group-id/members") - .payload("fixtures/uaa/groups/POST_{id}_members_request.json") - .build()) - .response(TestResponse.builder() - .status(CREATED) - .payload("fixtures/uaa/groups/POST_{id}_members_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(POST) + .path("/Groups/test-group-id/members") + .payload( + "fixtures/uaa/groups/POST_{id}_members_request.json") + .build()) + .response( + TestResponse.builder() + .status(CREATED) + .payload( + "fixtures/uaa/groups/POST_{id}_members_response.json") + .build()) + .build()); this.groups - .addMember(AddMemberRequest.builder() - .groupId("test-group-id") - .origin("uaa") - .type(MemberType.USER) - .memberId("40bc8ef1-0719-4a0c-9f60-e9f843cd4af2") - .build()) - .as(StepVerifier::create) - .expectNext(AddMemberResponse.builder() - .origin("uaa") - .type(MemberType.USER) - .memberId("40bc8ef1-0719-4a0c-9f60-e9f843cd4af2") - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .addMember( + AddMemberRequest.builder() + .groupId("test-group-id") + .origin("uaa") + .type(MemberType.USER) + .memberId("40bc8ef1-0719-4a0c-9f60-e9f843cd4af2") + .build()) + .as(StepVerifier::create) + .expectNext( + AddMemberResponse.builder() + .origin("uaa") + .type(MemberType.USER) + .memberId("40bc8ef1-0719-4a0c-9f60-e9f843cd4af2") + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void checkMember() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/Groups/test-group-id/members/test-member-id") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/uaa/groups/GET_{id}_members_{id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/Groups/test-group-id/members/test-member-id") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/uaa/groups/GET_{id}_members_{id}_response.json") + .build()) + .build()); this.groups - .checkMembership(CheckMembershipRequest.builder() - .groupId("test-group-id") - .memberId("test-member-id") - .build()) - .as(StepVerifier::create) - .expectNext(CheckMembershipResponse.builder() - .origin("uaa") - .type(MemberType.USER) - .memberId("test-member-id") - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .checkMembership( + CheckMembershipRequest.builder() + .groupId("test-group-id") + .memberId("test-member-id") + .build()) + .as(StepVerifier::create) + .expectNext( + CheckMembershipResponse.builder() + .origin("uaa") + .type(MemberType.USER) + .memberId("test-member-id") + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void create() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .header("X-Identity-Zone-Id", "uaa") - .method(POST).path("/Groups") - .payload("fixtures/uaa/groups/POST_request.json") - .build()) - .response(TestResponse.builder() - .status(CREATED) - .payload("fixtures/uaa/groups/POST_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .header("X-Identity-Zone-Id", "uaa") + .method(POST) + .path("/Groups") + .payload("fixtures/uaa/groups/POST_request.json") + .build()) + .response( + TestResponse.builder() + .status(CREATED) + .payload("fixtures/uaa/groups/POST_response.json") + .build()) + .build()); this.groups - .create(CreateGroupRequest.builder() - .description("the cool group") - .displayName("Cool Group Name") - .identityZoneId("uaa") - .member(MemberSummary.builder() - .origin("uaa") - .type(MemberType.USER) - .memberId("f0e6a061-6e3a-4be9-ace5-142ee24e20b7") - .build()) - .build()) - .as(StepVerifier::create) - .expectNext(CreateGroupResponse.builder() - .id("46081184-7ca9-453d-9bf8-74da7113bec6") - .metadata(Metadata.builder() - .created("2016-06-03T17:59:30.527Z") - .lastModified("2016-06-03T17:59:30.527Z") - .version(0) - .build()) - .description("the cool group") - .displayName("Cool Group Name") - .member(MemberSummary.builder() - .origin("uaa") - .type(MemberType.USER) - .memberId("f0e6a061-6e3a-4be9-ace5-142ee24e20b7") - .build()) - .schema("urn:scim:schemas:core:1.0") - .zoneId("uaa") - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .create( + CreateGroupRequest.builder() + .description("the cool group") + .displayName("Cool Group Name") + .identityZoneId("uaa") + .member( + MemberSummary.builder() + .origin("uaa") + .type(MemberType.USER) + .memberId("f0e6a061-6e3a-4be9-ace5-142ee24e20b7") + .build()) + .build()) + .as(StepVerifier::create) + .expectNext( + CreateGroupResponse.builder() + .id("46081184-7ca9-453d-9bf8-74da7113bec6") + .metadata( + Metadata.builder() + .created("2016-06-03T17:59:30.527Z") + .lastModified("2016-06-03T17:59:30.527Z") + .version(0) + .build()) + .description("the cool group") + .displayName("Cool Group Name") + .member( + MemberSummary.builder() + .origin("uaa") + .type(MemberType.USER) + .memberId("f0e6a061-6e3a-4be9-ace5-142ee24e20b7") + .build()) + .schema("urn:scim:schemas:core:1.0") + .zoneId("uaa") + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void delete() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .header("If-Match", "*") - .method(DELETE).path("/Groups/test-group-id") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/uaa/groups/DELETE_{id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .header("If-Match", "*") + .method(DELETE) + .path("/Groups/test-group-id") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload("fixtures/uaa/groups/DELETE_{id}_response.json") + .build()) + .build()); this.groups - .delete(DeleteGroupRequest.builder() - .groupId("test-group-id") - .version("*") - .build()) - .as(StepVerifier::create) - .expectNext(DeleteGroupResponse.builder() - .id("test-group-id") - .metadata(Metadata.builder() - .created("2016-06-03T17:59:30.527Z") - .lastModified("2016-06-03T17:59:30.561Z") - .version(1) - .build()) - .description("the cool group") - .displayName("Cooler Group Name for Delete") - .member(MemberSummary.builder() - .origin("uaa") - .type(MemberType.USER) - .memberId("f0e6a061-6e3a-4be9-ace5-142ee24e20b7") - .build()) - .schema("urn:scim:schemas:core:1.0") - .zoneId("uaa") - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .delete(DeleteGroupRequest.builder().groupId("test-group-id").version("*").build()) + .as(StepVerifier::create) + .expectNext( + DeleteGroupResponse.builder() + .id("test-group-id") + .metadata( + Metadata.builder() + .created("2016-06-03T17:59:30.527Z") + .lastModified("2016-06-03T17:59:30.561Z") + .version(1) + .build()) + .description("the cool group") + .displayName("Cooler Group Name for Delete") + .member( + MemberSummary.builder() + .origin("uaa") + .type(MemberType.USER) + .memberId("f0e6a061-6e3a-4be9-ace5-142ee24e20b7") + .build()) + .schema("urn:scim:schemas:core:1.0") + .zoneId("uaa") + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void get() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/Groups/test-group-id") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/uaa/groups/GET_{id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/Groups/test-group-id") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload("fixtures/uaa/groups/GET_{id}_response.json") + .build()) + .build()); this.groups - .get(GetGroupRequest.builder() - .groupId("test-group-id") - .build()) - .as(StepVerifier::create) - .expectNext(GetGroupResponse.builder() - .id("test-group-id") - .metadata(Metadata.builder() - .created("2016-06-03T17:59:30.527Z") - .lastModified("2016-06-03T17:59:30.561Z") - .version(1) - .build()) - .description("the cool group") - .displayName("Cooler Group Name for Retrieve") - .member(MemberSummary.builder() - .origin("uaa") - .type(MemberType.USER) - .memberId("f0e6a061-6e3a-4be9-ace5-142ee24e20b7") - .build()) - .schema("urn:scim:schemas:core:1.0") - .zoneId("uaa") - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .get(GetGroupRequest.builder().groupId("test-group-id").build()) + .as(StepVerifier::create) + .expectNext( + GetGroupResponse.builder() + .id("test-group-id") + .metadata( + Metadata.builder() + .created("2016-06-03T17:59:30.527Z") + .lastModified("2016-06-03T17:59:30.561Z") + .version(1) + .build()) + .description("the cool group") + .displayName("Cooler Group Name for Retrieve") + .member( + MemberSummary.builder() + .origin("uaa") + .type(MemberType.USER) + .memberId("f0e6a061-6e3a-4be9-ace5-142ee24e20b7") + .build()) + .schema("urn:scim:schemas:core:1.0") + .zoneId("uaa") + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void list() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET) - .path("/Groups?count=50&filter=id%2Beq%2B%22f87c557a-8ddc-43d3-98fb-e420ebc7f0f1%22%2Bor%2BdisplayName%2Beq%2B%22Cooler%20Group%20Name%20for%20List%22" + - "&sortBy=email&sortOrder=ascending&startIndex=1") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/uaa/groups/GET_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path( + "/Groups?count=50&filter=id%2Beq%2B%22f87c557a-8ddc-43d3-98fb-e420ebc7f0f1%22%2Bor%2BdisplayName%2Beq%2B%22Cooler%20Group%20Name%20for%20List%22" + + "&sortBy=email&sortOrder=ascending&startIndex=1") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload("fixtures/uaa/groups/GET_response.json") + .build()) + .build()); this.groups - .list(ListGroupsRequest.builder() - .filter("id+eq+\"f87c557a-8ddc-43d3-98fb-e420ebc7f0f1\"+or+displayName+eq+\"Cooler Group Name for List\"") - .count(50) - .startIndex(1) - .sortBy("email") - .sortOrder(ASCENDING) - .build()) - .as(StepVerifier::create) - .expectNext(ListGroupsResponse.builder() - .resource(Group.builder() - .id("f87c557a-8ddc-43d3-98fb-e420ebc7f0f1") - .metadata(Metadata.builder() - .created("2016-06-16T00:01:41.692Z") - .lastModified("2016-06-16T00:01:41.728Z") - .version(1) - .build()) - .description("the cool group") - .displayName("Cooler Group Name for List") - .member(MemberSummary.builder() - .origin("uaa") - .type(MemberType.USER) - .memberId("40bc8ef1-0719-4a0c-9f60-e9f843cd4af2") - .build()) - .schema("urn:scim:schemas:core:1.0") - .zoneId("uaa") - .build() - ) - .startIndex(1) - .itemsPerPage(50) - .totalResults(1) - .schema("urn:scim:schemas:core:1.0") - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .list( + ListGroupsRequest.builder() + .filter( + "id+eq+\"f87c557a-8ddc-43d3-98fb-e420ebc7f0f1\"+or+displayName+eq+\"Cooler" + + " Group Name for List\"") + .count(50) + .startIndex(1) + .sortBy("email") + .sortOrder(ASCENDING) + .build()) + .as(StepVerifier::create) + .expectNext( + ListGroupsResponse.builder() + .resource( + Group.builder() + .id("f87c557a-8ddc-43d3-98fb-e420ebc7f0f1") + .metadata( + Metadata.builder() + .created("2016-06-16T00:01:41.692Z") + .lastModified( + "2016-06-16T00:01:41.728Z") + .version(1) + .build()) + .description("the cool group") + .displayName("Cooler Group Name for List") + .member( + MemberSummary.builder() + .origin("uaa") + .type(MemberType.USER) + .memberId( + "40bc8ef1-0719-4a0c-9f60-e9f843cd4af2") + .build()) + .schema("urn:scim:schemas:core:1.0") + .zoneId("uaa") + .build()) + .startIndex(1) + .itemsPerPage(50) + .totalResults(1) + .schema("urn:scim:schemas:core:1.0") + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void listExternalGroupMappings() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET) - .path("/Groups/External?count=50&filter=group_id%2Beq%2B%220480db7f-d1bc-4d2b-b723-febc684c0ee9%22&startIndex=1") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/uaa/groups/GET_external_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path( + "/Groups/External?count=50&filter=group_id%2Beq%2B%220480db7f-d1bc-4d2b-b723-febc684c0ee9%22&startIndex=1") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload("fixtures/uaa/groups/GET_external_response.json") + .build()) + .build()); this.groups - .listExternalGroupMappings(ListExternalGroupMappingsRequest.builder() - .filter("group_id+eq+\"0480db7f-d1bc-4d2b-b723-febc684c0ee9\"") - .count(50) - .startIndex(1) - .build()) - .as(StepVerifier::create) - .expectNext(ListExternalGroupMappingsResponse.builder() - .resource(ExternalGroupResource.builder() - .groupId("c4a41861-6c83-45a7-995e-64fb66565dce") - .displayName("Group For Testing Retrieving External Group Mappings") - .origin("ldap") - .externalGroup("external group") - .build() - ) - .startIndex(1) - .itemsPerPage(1) - .totalResults(1) - .schema("urn:scim:schemas:core:1.0") - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .listExternalGroupMappings( + ListExternalGroupMappingsRequest.builder() + .filter("group_id+eq+\"0480db7f-d1bc-4d2b-b723-febc684c0ee9\"") + .count(50) + .startIndex(1) + .build()) + .as(StepVerifier::create) + .expectNext( + ListExternalGroupMappingsResponse.builder() + .resource( + ExternalGroupResource.builder() + .groupId("c4a41861-6c83-45a7-995e-64fb66565dce") + .displayName( + "Group For Testing Retrieving External" + + " Group Mappings") + .origin("ldap") + .externalGroup("external group") + .build()) + .startIndex(1) + .itemsPerPage(1) + .totalResults(1) + .schema("urn:scim:schemas:core:1.0") + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void listMembers() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET) - .path("/Groups/f87c557a-8ddc-43d3-98fb-e420ebc7f0f1/members?returnEntities=true") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/uaa/groups/GET_members_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path( + "/Groups/f87c557a-8ddc-43d3-98fb-e420ebc7f0f1/members?returnEntities=true") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload("fixtures/uaa/groups/GET_members_response.json") + .build()) + .build()); this.groups - .listMembers(ListMembersRequest.builder() - .groupId("f87c557a-8ddc-43d3-98fb-e420ebc7f0f1") - .returnEntities(true) - .build()) - .as(StepVerifier::create) - .expectNext(ListMembersResponse.builder() - .member(Member.builder() - .memberId("40bc8ef1-0719-4a0c-9f60-e9f843cd4af2") - .type(MemberType.USER) - .origin("uaa") - .entity(UserEntity.builder() - .id("40bc8ef1-0719-4a0c-9f60-e9f843cd4af2") - .externalId("test-user") - .meta(Meta.builder() - .version(0) - .created("2016-06-16T00:01:41.665Z") - .lastModified("2016-06-16T00:01:41.665Z") - .build()) - .userName("40HfKc") - .name(Name.builder() - .familyName("cool-familyName") - .givenName("cool-name") - .build()) - .email(Email.builder() - .value("cool@chill.com") - .primary(false) - .build()) - .active(true) - .verified(true) - .origin("uaa") - .zoneId("uaa") - .passwordLastModified("2016-06-16T00:01:41.000Z") - .schema("urn:scim:schemas:core:1.0") - .build() - ) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .listMembers( + ListMembersRequest.builder() + .groupId("f87c557a-8ddc-43d3-98fb-e420ebc7f0f1") + .returnEntities(true) + .build()) + .as(StepVerifier::create) + .expectNext( + ListMembersResponse.builder() + .member( + Member.builder() + .memberId("40bc8ef1-0719-4a0c-9f60-e9f843cd4af2") + .type(MemberType.USER) + .origin("uaa") + .entity( + UserEntity.builder() + .id( + "40bc8ef1-0719-4a0c-9f60-e9f843cd4af2") + .externalId("test-user") + .meta( + Meta.builder() + .version(0) + .created( + "2016-06-16T00:01:41.665Z") + .lastModified( + "2016-06-16T00:01:41.665Z") + .build()) + .userName("40HfKc") + .name( + Name.builder() + .familyName( + "cool-familyName") + .givenName( + "cool-name") + .build()) + .email( + Email.builder() + .value( + "cool@chill.com") + .primary(false) + .build()) + .active(true) + .verified(true) + .origin("uaa") + .zoneId("uaa") + .passwordLastModified( + "2016-06-16T00:01:41.000Z") + .schema("urn:scim:schemas:core:1.0") + .build()) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void listMembersNoEntity() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET) - .path("/Groups/f87c557a-8ddc-43d3-98fb-e420ebc7f0f1/members?returnEntities=false") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/uaa/groups/GET_members_response_no_entity.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path( + "/Groups/f87c557a-8ddc-43d3-98fb-e420ebc7f0f1/members?returnEntities=false") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/uaa/groups/GET_members_response_no_entity.json") + .build()) + .build()); this.groups - .listMembers(ListMembersRequest.builder() - .groupId("f87c557a-8ddc-43d3-98fb-e420ebc7f0f1") - .returnEntities(false) - .build()) - .as(StepVerifier::create) - .expectNext(ListMembersResponse.builder() - .member(Member.builder() - .memberId("40bc8ef1-0719-4a0c-9f60-e9f843cd4af2") - .type(MemberType.USER) - .origin("uaa") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .listMembers( + ListMembersRequest.builder() + .groupId("f87c557a-8ddc-43d3-98fb-e420ebc7f0f1") + .returnEntities(false) + .build()) + .as(StepVerifier::create) + .expectNext( + ListMembersResponse.builder() + .member( + Member.builder() + .memberId("40bc8ef1-0719-4a0c-9f60-e9f843cd4af2") + .type(MemberType.USER) + .origin("uaa") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void mapExternalGroup() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(POST).path("/Groups/External") - .payload("fixtures/uaa/groups/POST_external_request.json") - .build()) - .response(TestResponse.builder() - .status(CREATED) - .payload("fixtures/uaa/groups/POST_external_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(POST) + .path("/Groups/External") + .payload("fixtures/uaa/groups/POST_external_request.json") + .build()) + .response( + TestResponse.builder() + .status(CREATED) + .payload("fixtures/uaa/groups/POST_external_response.json") + .build()) + .build()); this.groups - .mapExternalGroup(MapExternalGroupRequest.builder() - .groupId("76937b62-346c-4848-953c-d790b87ec80a") - .externalGroup("External group") - .build()) - .as(StepVerifier::create) - .expectNext(MapExternalGroupResponse.builder() - .groupId("76937b62-346c-4848-953c-d790b87ec80a") - .displayName("Group For Testing Creating External Group Mapping") - .origin("ldap") - .externalGroup("External group") - .metadata(Metadata.builder() - .created("2016-06-16T00:01:41.393Z") - .lastModified("2016-06-16T00:01:41.393Z") - .version(0) - .build()) - .schema("urn:scim:schemas:core:1.0") - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .mapExternalGroup( + MapExternalGroupRequest.builder() + .groupId("76937b62-346c-4848-953c-d790b87ec80a") + .externalGroup("External group") + .build()) + .as(StepVerifier::create) + .expectNext( + MapExternalGroupResponse.builder() + .groupId("76937b62-346c-4848-953c-d790b87ec80a") + .displayName("Group For Testing Creating External Group Mapping") + .origin("ldap") + .externalGroup("External group") + .metadata( + Metadata.builder() + .created("2016-06-16T00:01:41.393Z") + .lastModified("2016-06-16T00:01:41.393Z") + .version(0) + .build()) + .schema("urn:scim:schemas:core:1.0") + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void removeMember() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(DELETE).path("/Groups/test-group-id/members/40bc8ef1-0719-4a0c-9f60-e9f843cd4af2") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/uaa/groups/DELETE_{id}_members_{id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(DELETE) + .path( + "/Groups/test-group-id/members/40bc8ef1-0719-4a0c-9f60-e9f843cd4af2") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/uaa/groups/DELETE_{id}_members_{id}_response.json") + .build()) + .build()); this.groups - .removeMember(RemoveMemberRequest.builder() - .groupId("test-group-id") - .memberId("40bc8ef1-0719-4a0c-9f60-e9f843cd4af2") - .build()) - .as(StepVerifier::create) - .expectNext(RemoveMemberResponse.builder() - .memberId("40bc8ef1-0719-4a0c-9f60-e9f843cd4af2") - .type(MemberType.USER) - .origin("uaa") - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .removeMember( + RemoveMemberRequest.builder() + .groupId("test-group-id") + .memberId("40bc8ef1-0719-4a0c-9f60-e9f843cd4af2") + .build()) + .as(StepVerifier::create) + .expectNext( + RemoveMemberResponse.builder() + .memberId("40bc8ef1-0719-4a0c-9f60-e9f843cd4af2") + .type(MemberType.USER) + .origin("uaa") + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void success() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(PUT).path("/Groups/test-group-id") - .header("If-Match", "0") - .header("X-Identity-Zone-Id", "uaa") - .payload("fixtures/uaa/groups/PUT_{id}_request.json") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/uaa/groups/PUT_{id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(PUT) + .path("/Groups/test-group-id") + .header("If-Match", "0") + .header("X-Identity-Zone-Id", "uaa") + .payload("fixtures/uaa/groups/PUT_{id}_request.json") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload("fixtures/uaa/groups/PUT_{id}_response.json") + .build()) + .build()); this.groups - .update(UpdateGroupRequest.builder() - .identityZoneId("uaa") - .groupId("test-group-id") - .version("0") - .description("the cool group") - .displayName("Cooler Group Name for Update") - .member(MemberSummary.builder() - .origin("uaa") - .type(MemberType.USER) - .memberId("f0e6a061-6e3a-4be9-ace5-142ee24e20b7") - .build()) - .build()) - .as(StepVerifier::create) - .expectNext(UpdateGroupResponse.builder() - .id("test-group-id") - .metadata(Metadata.builder() - .created("2016-06-03T17:59:30.527Z") - .lastModified("2016-06-03T17:59:30.561Z") - .version(1) - .build()) - .description("the cool group") - .displayName("Cooler Group Name for Update") - .member(MemberSummary.builder() - .origin("uaa") - .type(MemberType.USER) - .memberId("f0e6a061-6e3a-4be9-ace5-142ee24e20b7") - .build()) - .schema("urn:scim:schemas:core:1.0") - .zoneId("uaa") - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .update( + UpdateGroupRequest.builder() + .identityZoneId("uaa") + .groupId("test-group-id") + .version("0") + .description("the cool group") + .displayName("Cooler Group Name for Update") + .member( + MemberSummary.builder() + .origin("uaa") + .type(MemberType.USER) + .memberId("f0e6a061-6e3a-4be9-ace5-142ee24e20b7") + .build()) + .build()) + .as(StepVerifier::create) + .expectNext( + UpdateGroupResponse.builder() + .id("test-group-id") + .metadata( + Metadata.builder() + .created("2016-06-03T17:59:30.527Z") + .lastModified("2016-06-03T17:59:30.561Z") + .version(1) + .build()) + .description("the cool group") + .displayName("Cooler Group Name for Update") + .member( + MemberSummary.builder() + .origin("uaa") + .type(MemberType.USER) + .memberId("f0e6a061-6e3a-4be9-ace5-142ee24e20b7") + .build()) + .schema("urn:scim:schemas:core:1.0") + .zoneId("uaa") + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void unmapExternalGroupByGroupDisplayName() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(DELETE).path("/Groups/External/displayName/Group%20For%20Testing%20Deleting%20External%20Group%20Mapping%20By%20Name/externalGroup/external%20group/origin/ldap") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/uaa/groups/DELETE_external_displayname_{displayName}_externalgroup_{externalGroup}_origin_{origin}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(DELETE) + .path( + "/Groups/External/displayName/Group%20For%20Testing%20Deleting%20External%20Group%20Mapping%20By%20Name/externalGroup/external%20group/origin/ldap") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/uaa/groups/DELETE_external_displayname_{displayName}_externalgroup_{externalGroup}_origin_{origin}_response.json") + .build()) + .build()); this.groups - .unmapExternalGroupByGroupDisplayName(UnmapExternalGroupByGroupDisplayNameRequest.builder() - .groupDisplayName("Group For Testing Deleting External Group Mapping By Name") - .externalGroup("external group") - .origin("ldap") - .build()) - .as(StepVerifier::create) - .expectNext(UnmapExternalGroupByGroupDisplayNameResponse.builder() - .groupId("f8f0048f-de32-4d20-b41d-5820b690063d") - .displayName("Group For Testing Deleting External Group Mapping By Name") - .origin("ldap") - .externalGroup("external group") - .metadata(Metadata.builder() - .created("2016-06-16T00:01:41.465Z") - .lastModified("2016-06-16T00:01:41.465Z") - .version(0) - .build()) - .schema("urn:scim:schemas:core:1.0") - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .unmapExternalGroupByGroupDisplayName( + UnmapExternalGroupByGroupDisplayNameRequest.builder() + .groupDisplayName( + "Group For Testing Deleting External Group Mapping By Name") + .externalGroup("external group") + .origin("ldap") + .build()) + .as(StepVerifier::create) + .expectNext( + UnmapExternalGroupByGroupDisplayNameResponse.builder() + .groupId("f8f0048f-de32-4d20-b41d-5820b690063d") + .displayName( + "Group For Testing Deleting External Group Mapping By Name") + .origin("ldap") + .externalGroup("external group") + .metadata( + Metadata.builder() + .created("2016-06-16T00:01:41.465Z") + .lastModified("2016-06-16T00:01:41.465Z") + .version(0) + .build()) + .schema("urn:scim:schemas:core:1.0") + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void unmapExternalGroupByGroupId() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(DELETE).path("/Groups/External/groupId/d68167b4-81b3-490d-9838-94092d5c89f6/externalGroup/external%20group/origin/ldap") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/uaa/groups/DELETE_external_groupid_{groupId}_externalgroup_{externalGroup}_origin_{origin}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(DELETE) + .path( + "/Groups/External/groupId/d68167b4-81b3-490d-9838-94092d5c89f6/externalGroup/external%20group/origin/ldap") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/uaa/groups/DELETE_external_groupid_{groupId}_externalgroup_{externalGroup}_origin_{origin}_response.json") + .build()) + .build()); this.groups - .unmapExternalGroupByGroupId(UnmapExternalGroupByGroupIdRequest.builder() - .groupId("d68167b4-81b3-490d-9838-94092d5c89f6") - .externalGroup("external group") - .origin("ldap") - .build()) - .as(StepVerifier::create) - .expectNext(UnmapExternalGroupByGroupIdResponse.builder() - .groupId("d68167b4-81b3-490d-9838-94092d5c89f6") - .displayName("Group For Testing Deleting External Group Mapping") - .origin("ldap") - .externalGroup("external group") - .metadata(Metadata.builder() - .created("2016-06-16T00:01:41.223Z") - .lastModified("2016-06-16T00:01:41.223Z") - .version(0) - .build()) - .schema("urn:scim:schemas:core:1.0") - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .unmapExternalGroupByGroupId( + UnmapExternalGroupByGroupIdRequest.builder() + .groupId("d68167b4-81b3-490d-9838-94092d5c89f6") + .externalGroup("external group") + .origin("ldap") + .build()) + .as(StepVerifier::create) + .expectNext( + UnmapExternalGroupByGroupIdResponse.builder() + .groupId("d68167b4-81b3-490d-9838-94092d5c89f6") + .displayName("Group For Testing Deleting External Group Mapping") + .origin("ldap") + .externalGroup("external group") + .metadata( + Metadata.builder() + .created("2016-06-16T00:01:41.223Z") + .lastModified("2016-06-16T00:01:41.223Z") + .version(0) + .build()) + .schema("urn:scim:schemas:core:1.0") + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } - } diff --git a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/uaa/identityproviders/ReactorIdentityProvidersTest.java b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/uaa/identityproviders/ReactorIdentityProvidersTest.java index b78f636a25..83c106f003 100644 --- a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/uaa/identityproviders/ReactorIdentityProvidersTest.java +++ b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/uaa/identityproviders/ReactorIdentityProvidersTest.java @@ -16,6 +16,15 @@ package org.cloudfoundry.reactor.uaa.identityproviders; +import static io.netty.handler.codec.http.HttpMethod.DELETE; +import static io.netty.handler.codec.http.HttpMethod.GET; +import static io.netty.handler.codec.http.HttpMethod.POST; +import static io.netty.handler.codec.http.HttpMethod.PUT; +import static io.netty.handler.codec.http.HttpResponseStatus.CREATED; +import static io.netty.handler.codec.http.HttpResponseStatus.OK; + +import java.time.Duration; +import java.util.Collections; import org.cloudfoundry.reactor.InteractionContext; import org.cloudfoundry.reactor.TestRequest; import org.cloudfoundry.reactor.TestResponse; @@ -44,541 +53,691 @@ import org.junit.Test; import reactor.test.StepVerifier; -import java.time.Duration; -import java.util.Collections; - -import static io.netty.handler.codec.http.HttpMethod.DELETE; -import static io.netty.handler.codec.http.HttpMethod.GET; -import static io.netty.handler.codec.http.HttpMethod.POST; -import static io.netty.handler.codec.http.HttpMethod.PUT; -import static io.netty.handler.codec.http.HttpResponseStatus.CREATED; -import static io.netty.handler.codec.http.HttpResponseStatus.OK; - public final class ReactorIdentityProvidersTest extends AbstractUaaApiTest { - private final ReactorIdentityProviders identityProviders = new ReactorIdentityProviders(CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); + private final ReactorIdentityProviders identityProviders = + new ReactorIdentityProviders( + CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); @Test public void createLdap() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(POST).path("/identity-providers?rawConfig=true") - .header("X-Identity-Zone-Id", "test-identity-zone-id") - .payload("fixtures/uaa/identity-providers/POST_request_ldap.json") - .build()) - .response(TestResponse.builder() - .status(CREATED) - .payload("fixtures/uaa/identity-providers/POST_response_ldap.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(POST) + .path("/identity-providers?rawConfig=true") + .header("X-Identity-Zone-Id", "test-identity-zone-id") + .payload( + "fixtures/uaa/identity-providers/POST_request_ldap.json") + .build()) + .response( + TestResponse.builder() + .status(CREATED) + .payload( + "fixtures/uaa/identity-providers/POST_response_ldap.json") + .build()) + .build()); this.identityProviders - .create(CreateIdentityProviderRequest.builder() - .active(true) - .configuration(LdapConfiguration.builder() - .attributeMappings(AttributeMappings.builder() - .build()) - .ldapProfileFile(LdapProfileFile.SIMPLE_BIND) - .ldapGroupFile(LdapGroupFile.NO_GROUP) - .baseUrl("ldap://localhost:33389") - .skipSSLVerification(false) - .mailAttributeName("mail") - .mailSubstituteOverridesLdap(false) - .build()) - .name("ldap name") - .originKey("ldap") - .type(Type.LDAP) - .identityZoneId("test-identity-zone-id") - .build()) - .as(StepVerifier::create) - .expectNext(CreateIdentityProviderResponse.builder() - .active(true) - .createdAt(1465001967988L) - .configuration(LdapConfiguration.builder() - .attributeMappings(AttributeMappings.builder() - .build()) - .autoAddGroups(true) - .baseUrl("ldap://localhost:33389") - .externalGroupsWhitelist(Collections.emptyList()) - .groupSearchDepthLimit(10) - .groupSearchSubTree(true) - .ldapProfileFile(LdapProfileFile.SIMPLE_BIND) - .ldapGroupFile(LdapGroupFile.NO_GROUP) - .mailAttributeName("mail") - .mailSubstituteOverridesLdap(false) - .skipSSLVerification(false) - .userDistinguishedNamePattern("cn={0},ou=Users,dc=test,dc=com") - .userDistinguishedNamePatternDelimiter(";") - .build()) - .id("aaccbccb-1c85-4e8b-86ed-4ce66f91c856") - .identityZoneId("uaa") - .lastModified(1465001967988L) - .name("ldap name") - .originKey("ldap") - .type(Type.LDAP) - .version(0) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .create( + CreateIdentityProviderRequest.builder() + .active(true) + .configuration( + LdapConfiguration.builder() + .attributeMappings( + AttributeMappings.builder().build()) + .ldapProfileFile(LdapProfileFile.SIMPLE_BIND) + .ldapGroupFile(LdapGroupFile.NO_GROUP) + .baseUrl("ldap://localhost:33389") + .skipSSLVerification(false) + .mailAttributeName("mail") + .mailSubstituteOverridesLdap(false) + .build()) + .name("ldap name") + .originKey("ldap") + .type(Type.LDAP) + .identityZoneId("test-identity-zone-id") + .build()) + .as(StepVerifier::create) + .expectNext( + CreateIdentityProviderResponse.builder() + .active(true) + .createdAt(1465001967988L) + .configuration( + LdapConfiguration.builder() + .attributeMappings( + AttributeMappings.builder().build()) + .autoAddGroups(true) + .baseUrl("ldap://localhost:33389") + .externalGroupsWhitelist(Collections.emptyList()) + .groupSearchDepthLimit(10) + .groupSearchSubTree(true) + .ldapProfileFile(LdapProfileFile.SIMPLE_BIND) + .ldapGroupFile(LdapGroupFile.NO_GROUP) + .mailAttributeName("mail") + .mailSubstituteOverridesLdap(false) + .skipSSLVerification(false) + .userDistinguishedNamePattern( + "cn={0},ou=Users,dc=test,dc=com") + .userDistinguishedNamePatternDelimiter(";") + .build()) + .id("aaccbccb-1c85-4e8b-86ed-4ce66f91c856") + .identityZoneId("uaa") + .lastModified(1465001967988L) + .name("ldap name") + .originKey("ldap") + .type(Type.LDAP) + .version(0) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void createOauth() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(POST).path("/identity-providers?rawConfig=true") - .header("X-Identity-Zone-Id", "test-identity-zone-id") - .payload("fixtures/uaa/identity-providers/POST_request_oauth.json") - .build()) - .response(TestResponse.builder() - .status(CREATED) - .payload("fixtures/uaa/identity-providers/POST_response_oauth.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(POST) + .path("/identity-providers?rawConfig=true") + .header("X-Identity-Zone-Id", "test-identity-zone-id") + .payload( + "fixtures/uaa/identity-providers/POST_request_oauth.json") + .build()) + .response( + TestResponse.builder() + .status(CREATED) + .payload( + "fixtures/uaa/identity-providers/POST_response_oauth.json") + .build()) + .build()); this.identityProviders - .create(CreateIdentityProviderRequest.builder() - .active(true) - .configuration(OAuth2Configuration.builder() - .attributeMappings(AttributeMappings.builder() - .build()) - .authUrl("http://auth.url") - .tokenUrl("http://token.url") - .tokenKey("token-key") - .showLinkText(false) - .skipSslVerification(false) - .relyingPartyId("uaa") - .relyingPartySecret("secret") - .addShadowUserOnLogin(true) - .build()) - .name("UAA Provider") - .originKey("oauth2.0") - .type(Type.OAUTH2) - .identityZoneId("test-identity-zone-id") - .build()) - .as(StepVerifier::create) - .expectNext(CreateIdentityProviderResponse.builder() - .active(true) - .createdAt(1465001966855L) - .configuration(OAuth2Configuration.builder() - .attributeMappings(AttributeMappings.builder() - .build()) - .authUrl("http://auth.url") - .externalGroupsWhitelist(Collections.emptyList()) - .tokenUrl("http://token.url") - .tokenKey("token-key") - .showLinkText(false) - .skipSslVerification(false) - .relyingPartyId("uaa") - .relyingPartySecret("secret") - .addShadowUserOnLogin(true) - .build()) - .id("16506900-561d-411f-904b-15c3e2722cba") - .identityZoneId("uaa") - .lastModified(1465001966855L) - .name("UAA Provider") - .originKey("oauth2.0") - .type(Type.OAUTH2) - .version(0) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .create( + CreateIdentityProviderRequest.builder() + .active(true) + .configuration( + OAuth2Configuration.builder() + .attributeMappings( + AttributeMappings.builder().build()) + .authUrl("http://auth.url") + .tokenUrl("http://token.url") + .tokenKey("token-key") + .showLinkText(false) + .skipSslVerification(false) + .relyingPartyId("uaa") + .relyingPartySecret("secret") + .addShadowUserOnLogin(true) + .build()) + .name("UAA Provider") + .originKey("oauth2.0") + .type(Type.OAUTH2) + .identityZoneId("test-identity-zone-id") + .build()) + .as(StepVerifier::create) + .expectNext( + CreateIdentityProviderResponse.builder() + .active(true) + .createdAt(1465001966855L) + .configuration( + OAuth2Configuration.builder() + .attributeMappings( + AttributeMappings.builder().build()) + .authUrl("http://auth.url") + .externalGroupsWhitelist(Collections.emptyList()) + .tokenUrl("http://token.url") + .tokenKey("token-key") + .showLinkText(false) + .skipSslVerification(false) + .relyingPartyId("uaa") + .relyingPartySecret("secret") + .addShadowUserOnLogin(true) + .build()) + .id("16506900-561d-411f-904b-15c3e2722cba") + .identityZoneId("uaa") + .lastModified(1465001966855L) + .name("UAA Provider") + .originKey("oauth2.0") + .type(Type.OAUTH2) + .version(0) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void createSaml() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(POST).path("/identity-providers?rawConfig=true") - .header("X-Identity-Zone-Id", "test-identity-zone-id") - .payload("fixtures/uaa/identity-providers/POST_request_saml.json") - .build()) - .response(TestResponse.builder() - .status(CREATED) - .payload("fixtures/uaa/identity-providers/POST_response_saml.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(POST) + .path("/identity-providers?rawConfig=true") + .header("X-Identity-Zone-Id", "test-identity-zone-id") + .payload( + "fixtures/uaa/identity-providers/POST_request_saml.json") + .build()) + .response( + TestResponse.builder() + .status(CREATED) + .payload( + "fixtures/uaa/identity-providers/POST_response_saml.json") + .build()) + .build()); this.identityProviders - .create(CreateIdentityProviderRequest.builder() - .active(true) - .configuration(SamlConfiguration.builder() - .addShadowUserOnLogin(true) - .assertionConsumerIndex(0) - .attributeMappings(AttributeMappings.builder() - .build()) - .groupMappingMode(ExternalGroupMappingMode.EXPLICITLY_MAPPED) - .linkText("IDPEndpointsMockTests Saml Provider:SAML") - .metaDataLocation("MIICmTCCAgKgAwIBAgIGAUPATqmEMA0GCSqGSIb3DQEBBQUAMIGPMQswCQYDVQQGEwJVUzETMBEG" + - "\nA1UECAwKQ2FsaWZvcm5pYTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzENMAsGA1UECgwET2t0YTEU\nMBIGA1UECwwLU1NPUHJvdmlkZXIxEDAOBgNVBAMMB1Bpdm90YWwxHDAaBgkqhkiG9w0BCQEWDWlu" + - "\nZm9Ab2t0YS5jb20wHhcNMTQwMTIzMTgxMjM3WhcNNDQwMTIzMTgxMzM3WjCBjzELMAkGA1UEBhMC\nVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xDTALBgNVBAoM" + - "\nBE9rdGExFDASBgNVBAsMC1NTT1Byb3ZpZGVyMRAwDgYDVQQDDAdQaXZvdGFsMRwwGgYJKoZIhvcN\nAQkBFg1pbmZvQG9rdGEuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCeil67/TLOiTZU" + - "\nWWgW2XEGgFZ94bVO90v5J1XmcHMwL8v5Z/8qjdZLpGdwI7Ph0CyXMMNklpaR/Ljb8fsls3amdT5O\nBw92Zo8ulcpjw2wuezTwL0eC0wY/GQDAZiXL59npE6U+fH1lbJIq92hx0HJSru/0O1q3+A/+jjZL\n3tL" + - "/SwIDAQABMA0GCSqGSIb3DQEBBQUAA4GBAI5BoWZoH6Mz9vhypZPOJCEKa/K+biZQsA4Zqsuk\nvvphhSERhqk/Nv76Vkl8uvJwwHbQrR9KJx4L3PRkGCG24rix71jEuXVGZUsDNM3CUKnARx4MEab6\nGFHNkZ6DmoT" + - "/PFagngecHu+EwmuDtaG0rEkFrARwe+d8Ru0BN558abFburn:oasis:names:tc:SAML:1" + - ".1:nameid-format:emailAddressurn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\n") - .metadataTrustCheck(false) - .nameId("urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress") - .showSamlLink(false) - .socketFactoryClassName("org.apache.commons.httpclient.protocol.DefaultProtocolSocketFactory") - .build()) - .name("SAML name") - .originKey("SAML") - .type(Type.SAML) - .identityZoneId("test-identity-zone-id") - .build()) - .as(StepVerifier::create) - .expectNext(CreateIdentityProviderResponse.builder() - .active(true) - .createdAt(1465001965526L) - .configuration(SamlConfiguration.builder() - .addShadowUserOnLogin(true) - .assertionConsumerIndex(0) - .attributeMappings(AttributeMappings.builder() - .build()) - .externalGroupsWhitelist(Collections.emptyList()) - .groupMappingMode(ExternalGroupMappingMode.EXPLICITLY_MAPPED) - .idpEntityAlias("SAML") - .linkText("IDPEndpointsMockTests Saml Provider:SAML") - .metaDataLocation("MIICmTCCAgKgAwIBAgIGAUPATqmEMA0GCSqGSIb3DQEBBQUAMIGPMQswCQYDVQQGEwJVUzETMBEG" + - "\nA1UECAwKQ2FsaWZvcm5pYTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzENMAsGA1UECgwET2t0YTEU\nMBIGA1UECwwLU1NPUHJvdmlkZXIxEDAOBgNVBAMMB1Bpdm90YWwxHDAaBgkqhkiG9w0BCQEWDWlu" + - "\nZm9Ab2t0YS5jb20wHhcNMTQwMTIzMTgxMjM3WhcNNDQwMTIzMTgxMzM3WjCBjzELMAkGA1UEBhMC\nVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xDTALBgNVBAoM" + - "\nBE9rdGExFDASBgNVBAsMC1NTT1Byb3ZpZGVyMRAwDgYDVQQDDAdQaXZvdGFsMRwwGgYJKoZIhvcN\nAQkBFg1pbmZvQG9rdGEuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCeil67/TLOiTZU" + - "\nWWgW2XEGgFZ94bVO90v5J1XmcHMwL8v5Z/8qjdZLpGdwI7Ph0CyXMMNklpaR/Ljb8fsls3amdT5O\nBw92Zo8ulcpjw2wuezTwL0eC0wY/GQDAZiXL59npE6U+fH1lbJIq92hx0HJSru/0O1q3+A/+jjZL\n3tL" + - "/SwIDAQABMA0GCSqGSIb3DQEBBQUAA4GBAI5BoWZoH6Mz9vhypZPOJCEKa/K+biZQsA4Zqsuk\nvvphhSERhqk/Nv76Vkl8uvJwwHbQrR9KJx4L3PRkGCG24rix71jEuXVGZUsDNM3CUKnARx4MEab6\nGFHNkZ6DmoT" + - "/PFagngecHu+EwmuDtaG0rEkFrARwe+d8Ru0BN558abFburn:oasis:names:tc:SAML:1" + - ".1:nameid-format:emailAddressurn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\n") - .metadataTrustCheck(false) - .nameId("urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress") - .showSamlLink(false) - .socketFactoryClassName("org.apache.commons.httpclient.protocol.DefaultProtocolSocketFactory") - .zoneId("uaa") - .build()) - .id("a2e96056-c777-40b8-95b8-ff81b441fcf1") - .identityZoneId("uaa") - .lastModified(1465001965526L) - .name("SAML name") - .originKey("SAML") - .type(Type.SAML) - .version(0) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .create( + CreateIdentityProviderRequest.builder() + .active(true) + .configuration( + SamlConfiguration.builder() + .addShadowUserOnLogin(true) + .assertionConsumerIndex(0) + .attributeMappings( + AttributeMappings.builder().build()) + .groupMappingMode( + ExternalGroupMappingMode.EXPLICITLY_MAPPED) + .linkText( + "IDPEndpointsMockTests Saml Provider:SAML") + .metaDataLocation( + "MIICmTCCAgKgAwIBAgIGAUPATqmEMA0GCSqGSIb3DQEBBQUAMIGPMQswCQYDVQQGEwJVUzETMBEG\n" + + "A1UECAwKQ2FsaWZvcm5pYTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzENMAsGA1UECgwET2t0YTEU\n" + + "MBIGA1UECwwLU1NPUHJvdmlkZXIxEDAOBgNVBAMMB1Bpdm90YWwxHDAaBgkqhkiG9w0BCQEWDWlu\n" + + "Zm9Ab2t0YS5jb20wHhcNMTQwMTIzMTgxMjM3WhcNNDQwMTIzMTgxMzM3WjCBjzELMAkGA1UEBhMC\n" + + "VVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xDTALBgNVBAoM\n" + + "BE9rdGExFDASBgNVBAsMC1NTT1Byb3ZpZGVyMRAwDgYDVQQDDAdQaXZvdGFsMRwwGgYJKoZIhvcN\n" + + "AQkBFg1pbmZvQG9rdGEuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCeil67/TLOiTZU\n" + + "WWgW2XEGgFZ94bVO90v5J1XmcHMwL8v5Z/8qjdZLpGdwI7Ph0CyXMMNklpaR/Ljb8fsls3amdT5O\n" + + "Bw92Zo8ulcpjw2wuezTwL0eC0wY/GQDAZiXL59npE6U+fH1lbJIq92hx0HJSru/0O1q3+A/+jjZL\n" + + "3tL/SwIDAQABMA0GCSqGSIb3DQEBBQUAA4GBAI5BoWZoH6Mz9vhypZPOJCEKa/K+biZQsA4Zqsuk\n" + + "vvphhSERhqk/Nv76Vkl8uvJwwHbQrR9KJx4L3PRkGCG24rix71jEuXVGZUsDNM3CUKnARx4MEab6\n" + + "GFHNkZ6DmoT" + + "/PFagngecHu+EwmuDtaG0rEkFrARwe+d8Ru0BN558abFburn:oasis:names:tc:SAML:1.1:nameid-format:emailAddressurn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\n") + .metadataTrustCheck(false) + .nameId( + "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress") + .showSamlLink(false) + .socketFactoryClassName( + "org.apache.commons.httpclient.protocol.DefaultProtocolSocketFactory") + .build()) + .name("SAML name") + .originKey("SAML") + .type(Type.SAML) + .identityZoneId("test-identity-zone-id") + .build()) + .as(StepVerifier::create) + .expectNext( + CreateIdentityProviderResponse.builder() + .active(true) + .createdAt(1465001965526L) + .configuration( + SamlConfiguration.builder() + .addShadowUserOnLogin(true) + .assertionConsumerIndex(0) + .attributeMappings( + AttributeMappings.builder().build()) + .externalGroupsWhitelist(Collections.emptyList()) + .groupMappingMode( + ExternalGroupMappingMode.EXPLICITLY_MAPPED) + .idpEntityAlias("SAML") + .linkText( + "IDPEndpointsMockTests Saml Provider:SAML") + .metaDataLocation( + "MIICmTCCAgKgAwIBAgIGAUPATqmEMA0GCSqGSIb3DQEBBQUAMIGPMQswCQYDVQQGEwJVUzETMBEG\n" + + "A1UECAwKQ2FsaWZvcm5pYTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzENMAsGA1UECgwET2t0YTEU\n" + + "MBIGA1UECwwLU1NPUHJvdmlkZXIxEDAOBgNVBAMMB1Bpdm90YWwxHDAaBgkqhkiG9w0BCQEWDWlu\n" + + "Zm9Ab2t0YS5jb20wHhcNMTQwMTIzMTgxMjM3WhcNNDQwMTIzMTgxMzM3WjCBjzELMAkGA1UEBhMC\n" + + "VVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xDTALBgNVBAoM\n" + + "BE9rdGExFDASBgNVBAsMC1NTT1Byb3ZpZGVyMRAwDgYDVQQDDAdQaXZvdGFsMRwwGgYJKoZIhvcN\n" + + "AQkBFg1pbmZvQG9rdGEuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCeil67/TLOiTZU\n" + + "WWgW2XEGgFZ94bVO90v5J1XmcHMwL8v5Z/8qjdZLpGdwI7Ph0CyXMMNklpaR/Ljb8fsls3amdT5O\n" + + "Bw92Zo8ulcpjw2wuezTwL0eC0wY/GQDAZiXL59npE6U+fH1lbJIq92hx0HJSru/0O1q3+A/+jjZL\n" + + "3tL/SwIDAQABMA0GCSqGSIb3DQEBBQUAA4GBAI5BoWZoH6Mz9vhypZPOJCEKa/K+biZQsA4Zqsuk\n" + + "vvphhSERhqk/Nv76Vkl8uvJwwHbQrR9KJx4L3PRkGCG24rix71jEuXVGZUsDNM3CUKnARx4MEab6\n" + + "GFHNkZ6DmoT" + + "/PFagngecHu+EwmuDtaG0rEkFrARwe+d8Ru0BN558abFburn:oasis:names:tc:SAML:1.1:nameid-format:emailAddressurn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\n") + .metadataTrustCheck(false) + .nameId( + "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress") + .showSamlLink(false) + .socketFactoryClassName( + "org.apache.commons.httpclient.protocol.DefaultProtocolSocketFactory") + .zoneId("uaa") + .build()) + .id("a2e96056-c777-40b8-95b8-ff81b441fcf1") + .identityZoneId("uaa") + .lastModified(1465001965526L) + .name("SAML name") + .originKey("SAML") + .type(Type.SAML) + .version(0) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void delete() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(DELETE).path("/identity-providers/test-identity-provider-id?rawConfig=true") - .header("X-Identity-Zone-Id", "test-identity-zone-id") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/uaa/identity-providers/DELETE_{id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(DELETE) + .path( + "/identity-providers/test-identity-provider-id?rawConfig=true") + .header("X-Identity-Zone-Id", "test-identity-zone-id") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/uaa/identity-providers/DELETE_{id}_response.json") + .build()) + .build()); this.identityProviders - .delete(DeleteIdentityProviderRequest.builder() - .identityProviderId("test-identity-provider-id") - .identityZoneId("test-identity-zone-id") - .build()) - .as(StepVerifier::create) - .expectNext(DeleteIdentityProviderResponse.builder() - .active(true) - .createdAt(1466035298319L) - .configuration(SamlConfiguration.builder() - .addShadowUserOnLogin(true) - .assertionConsumerIndex(0) - .attributeMappings(AttributeMappings.builder() - .build()) - .externalGroupsWhitelist(Collections.emptyList()) - .groupMappingMode(ExternalGroupMappingMode.EXPLICITLY_MAPPED) - .idpEntityAlias("saml-for-delete") - .linkText("IDPEndpointsMockTests Saml Provider:saml-for-delete") - .metaDataLocation("MIICmTCCAgKgAwIBAgIGAUPATqmEMA0GCSqGSIb3DQEBBQUAMIGPMQswCQYDVQQGEwJVUzETMBEG" + - "\nA1UECAwKQ2FsaWZvcm5pYTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzENMAsGA1UECgwET2t0YTEU\nMBIGA1UECwwLU1NPUHJvdmlkZXIxEDAOBgNVBAMMB1Bpdm90YWwxHDAaBgkqhkiG9w0BCQEWDWlu" + - "\nZm9Ab2t0YS5jb20wHhcNMTQwMTIzMTgxMjM3WhcNNDQwMTIzMTgxMzM3WjCBjzELMAkGA1UEBhMC\nVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xDTALBgNVBAoM" + - "\nBE9rdGExFDASBgNVBAsMC1NTT1Byb3ZpZGVyMRAwDgYDVQQDDAdQaXZvdGFsMRwwGgYJKoZIhvcN\nAQkBFg1pbmZvQG9rdGEuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCeil67/TLOiTZU" + - "\nWWgW2XEGgFZ94bVO90v5J1XmcHMwL8v5Z/8qjdZLpGdwI7Ph0CyXMMNklpaR/Ljb8fsls3amdT5O\nBw92Zo8ulcpjw2wuezTwL0eC0wY/GQDAZiXL59npE6U+fH1lbJIq92hx0HJSru/0O1q3+A/+jjZL\n3tL" + - "/SwIDAQABMA0GCSqGSIb3DQEBBQUAA4GBAI5BoWZoH6Mz9vhypZPOJCEKa/K+biZQsA4Zqsuk\nvvphhSERhqk/Nv76Vkl8uvJwwHbQrR9KJx4L3PRkGCG24rix71jEuXVGZUsDNM3CUKnARx4MEab6\nGFHNkZ6DmoT" + - "/PFagngecHu+EwmuDtaG0rEkFrARwe+d8Ru0BN558abFburn:oasis:names:tc:SAML:1" + - ".1:nameid-format:emailAddressurn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\n") - .metadataTrustCheck(false) - .nameId("urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress") - .showSamlLink(false) - .socketFactoryClassName("org.apache.commons.httpclient.protocol.DefaultProtocolSocketFactory") - .zoneId("uaa") - .build()) - .id("3ba5978b-8db1-4f27-bfbd-f24f6773b52f") - .identityZoneId("uaa") - .lastModified(1466035298319L) - .name("saml-for-delete name") - .originKey("saml-for-delete") - .type(Type.SAML) - .version(0) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .delete( + DeleteIdentityProviderRequest.builder() + .identityProviderId("test-identity-provider-id") + .identityZoneId("test-identity-zone-id") + .build()) + .as(StepVerifier::create) + .expectNext( + DeleteIdentityProviderResponse.builder() + .active(true) + .createdAt(1466035298319L) + .configuration( + SamlConfiguration.builder() + .addShadowUserOnLogin(true) + .assertionConsumerIndex(0) + .attributeMappings( + AttributeMappings.builder().build()) + .externalGroupsWhitelist(Collections.emptyList()) + .groupMappingMode( + ExternalGroupMappingMode.EXPLICITLY_MAPPED) + .idpEntityAlias("saml-for-delete") + .linkText( + "IDPEndpointsMockTests Saml" + + " Provider:saml-for-delete") + .metaDataLocation( + "MIICmTCCAgKgAwIBAgIGAUPATqmEMA0GCSqGSIb3DQEBBQUAMIGPMQswCQYDVQQGEwJVUzETMBEG\n" + + "A1UECAwKQ2FsaWZvcm5pYTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzENMAsGA1UECgwET2t0YTEU\n" + + "MBIGA1UECwwLU1NPUHJvdmlkZXIxEDAOBgNVBAMMB1Bpdm90YWwxHDAaBgkqhkiG9w0BCQEWDWlu\n" + + "Zm9Ab2t0YS5jb20wHhcNMTQwMTIzMTgxMjM3WhcNNDQwMTIzMTgxMzM3WjCBjzELMAkGA1UEBhMC\n" + + "VVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xDTALBgNVBAoM\n" + + "BE9rdGExFDASBgNVBAsMC1NTT1Byb3ZpZGVyMRAwDgYDVQQDDAdQaXZvdGFsMRwwGgYJKoZIhvcN\n" + + "AQkBFg1pbmZvQG9rdGEuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCeil67/TLOiTZU\n" + + "WWgW2XEGgFZ94bVO90v5J1XmcHMwL8v5Z/8qjdZLpGdwI7Ph0CyXMMNklpaR/Ljb8fsls3amdT5O\n" + + "Bw92Zo8ulcpjw2wuezTwL0eC0wY/GQDAZiXL59npE6U+fH1lbJIq92hx0HJSru/0O1q3+A/+jjZL\n" + + "3tL/SwIDAQABMA0GCSqGSIb3DQEBBQUAA4GBAI5BoWZoH6Mz9vhypZPOJCEKa/K+biZQsA4Zqsuk\n" + + "vvphhSERhqk/Nv76Vkl8uvJwwHbQrR9KJx4L3PRkGCG24rix71jEuXVGZUsDNM3CUKnARx4MEab6\n" + + "GFHNkZ6DmoT" + + "/PFagngecHu+EwmuDtaG0rEkFrARwe+d8Ru0BN558abFburn:oasis:names:tc:SAML:1.1:nameid-format:emailAddressurn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\n") + .metadataTrustCheck(false) + .nameId( + "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress") + .showSamlLink(false) + .socketFactoryClassName( + "org.apache.commons.httpclient.protocol.DefaultProtocolSocketFactory") + .zoneId("uaa") + .build()) + .id("3ba5978b-8db1-4f27-bfbd-f24f6773b52f") + .identityZoneId("uaa") + .lastModified(1466035298319L) + .name("saml-for-delete name") + .originKey("saml-for-delete") + .type(Type.SAML) + .version(0) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void get() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/identity-providers/test-identity-provider-id?rawConfig=true") - .header("X-Identity-Zone-Id", "test-identity-zone-id") - .build()) - .response(TestResponse.builder() - .status(CREATED) - .payload("fixtures/uaa/identity-providers/GET_{id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path( + "/identity-providers/test-identity-provider-id?rawConfig=true") + .header("X-Identity-Zone-Id", "test-identity-zone-id") + .build()) + .response( + TestResponse.builder() + .status(CREATED) + .payload( + "fixtures/uaa/identity-providers/GET_{id}_response.json") + .build()) + .build()); this.identityProviders - .get(GetIdentityProviderRequest.builder() - .identityProviderId("test-identity-provider-id") - .identityZoneId("test-identity-zone-id") - .build()) - .as(StepVerifier::create) - .expectNext(GetIdentityProviderResponse.builder() - .active(true) - .createdAt(1465001966715L) - .configuration(SamlConfiguration.builder() - .addShadowUserOnLogin(true) - .assertionConsumerIndex(0) - .attributeMappings(AttributeMappings.builder() - .build()) - .externalGroupsWhitelist(Collections.emptyList()) - .groupMappingMode(ExternalGroupMappingMode.EXPLICITLY_MAPPED) - .idpEntityAlias("saml-for-get") - .linkText("IDPEndpointsMockTests Saml Provider:saml-for-get") - .metaDataLocation("MIICmTCCAgKgAwIBAgIGAUPATqmEMA0GCSqGSIb3DQEBBQUAMIGPMQswCQYDVQQGEwJVUzETMBEG" + - "\nA1UECAwKQ2FsaWZvcm5pYTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzENMAsGA1UECgwET2t0YTEU\nMBIGA1UECwwLU1NPUHJvdmlkZXIxEDAOBgNVBAMMB1Bpdm90YWwxHDAaBgkqhkiG9w0BCQEWDWlu" + - "\nZm9Ab2t0YS5jb20wHhcNMTQwMTIzMTgxMjM3WhcNNDQwMTIzMTgxMzM3WjCBjzELMAkGA1UEBhMC\nVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xDTALBgNVBAoM" + - "\nBE9rdGExFDASBgNVBAsMC1NTT1Byb3ZpZGVyMRAwDgYDVQQDDAdQaXZvdGFsMRwwGgYJKoZIhvcN\nAQkBFg1pbmZvQG9rdGEuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCeil67/TLOiTZU" + - "\nWWgW2XEGgFZ94bVO90v5J1XmcHMwL8v5Z/8qjdZLpGdwI7Ph0CyXMMNklpaR/Ljb8fsls3amdT5O\nBw92Zo8ulcpjw2wuezTwL0eC0wY/GQDAZiXL59npE6U+fH1lbJIq92hx0HJSru/0O1q3+A/+jjZL\n3tL" + - "/SwIDAQABMA0GCSqGSIb3DQEBBQUAA4GBAI5BoWZoH6Mz9vhypZPOJCEKa/K+biZQsA4Zqsuk\nvvphhSERhqk/Nv76Vkl8uvJwwHbQrR9KJx4L3PRkGCG24rix71jEuXVGZUsDNM3CUKnARx4MEab6\nGFHNkZ6DmoT" + - "/PFagngecHu+EwmuDtaG0rEkFrARwe+d8Ru0BN558abFburn:oasis:names:tc:SAML:1" + - ".1:nameid-format:emailAddressurn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\n") - .metadataTrustCheck(false) - .nameId("urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress") - .showSamlLink(false) - .socketFactoryClassName("org.apache.commons.httpclient.protocol.DefaultProtocolSocketFactory") - .zoneId("uaa") - .build()) - .id("0077d56d-4e10-447a-9438-57d058e033ae") - .identityZoneId("uaa") - .lastModified(1465001966715L) - .name("saml-for-get name") - .originKey("saml-for-get") - .type(Type.SAML) - .version(0) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .get( + GetIdentityProviderRequest.builder() + .identityProviderId("test-identity-provider-id") + .identityZoneId("test-identity-zone-id") + .build()) + .as(StepVerifier::create) + .expectNext( + GetIdentityProviderResponse.builder() + .active(true) + .createdAt(1465001966715L) + .configuration( + SamlConfiguration.builder() + .addShadowUserOnLogin(true) + .assertionConsumerIndex(0) + .attributeMappings( + AttributeMappings.builder().build()) + .externalGroupsWhitelist(Collections.emptyList()) + .groupMappingMode( + ExternalGroupMappingMode.EXPLICITLY_MAPPED) + .idpEntityAlias("saml-for-get") + .linkText( + "IDPEndpointsMockTests Saml" + + " Provider:saml-for-get") + .metaDataLocation( + "MIICmTCCAgKgAwIBAgIGAUPATqmEMA0GCSqGSIb3DQEBBQUAMIGPMQswCQYDVQQGEwJVUzETMBEG\n" + + "A1UECAwKQ2FsaWZvcm5pYTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzENMAsGA1UECgwET2t0YTEU\n" + + "MBIGA1UECwwLU1NPUHJvdmlkZXIxEDAOBgNVBAMMB1Bpdm90YWwxHDAaBgkqhkiG9w0BCQEWDWlu\n" + + "Zm9Ab2t0YS5jb20wHhcNMTQwMTIzMTgxMjM3WhcNNDQwMTIzMTgxMzM3WjCBjzELMAkGA1UEBhMC\n" + + "VVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xDTALBgNVBAoM\n" + + "BE9rdGExFDASBgNVBAsMC1NTT1Byb3ZpZGVyMRAwDgYDVQQDDAdQaXZvdGFsMRwwGgYJKoZIhvcN\n" + + "AQkBFg1pbmZvQG9rdGEuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCeil67/TLOiTZU\n" + + "WWgW2XEGgFZ94bVO90v5J1XmcHMwL8v5Z/8qjdZLpGdwI7Ph0CyXMMNklpaR/Ljb8fsls3amdT5O\n" + + "Bw92Zo8ulcpjw2wuezTwL0eC0wY/GQDAZiXL59npE6U+fH1lbJIq92hx0HJSru/0O1q3+A/+jjZL\n" + + "3tL/SwIDAQABMA0GCSqGSIb3DQEBBQUAA4GBAI5BoWZoH6Mz9vhypZPOJCEKa/K+biZQsA4Zqsuk\n" + + "vvphhSERhqk/Nv76Vkl8uvJwwHbQrR9KJx4L3PRkGCG24rix71jEuXVGZUsDNM3CUKnARx4MEab6\n" + + "GFHNkZ6DmoT" + + "/PFagngecHu+EwmuDtaG0rEkFrARwe+d8Ru0BN558abFburn:oasis:names:tc:SAML:1.1:nameid-format:emailAddressurn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\n") + .metadataTrustCheck(false) + .nameId( + "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress") + .showSamlLink(false) + .socketFactoryClassName( + "org.apache.commons.httpclient.protocol.DefaultProtocolSocketFactory") + .zoneId("uaa") + .build()) + .id("0077d56d-4e10-447a-9438-57d058e033ae") + .identityZoneId("uaa") + .lastModified(1465001966715L) + .name("saml-for-get name") + .originKey("saml-for-get") + .type(Type.SAML) + .version(0) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void list() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/identity-providers?rawConfig=true") - .header("X-Identity-Zone-Id", "test-identity-zone-id") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/uaa/identity-providers/GET_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/identity-providers?rawConfig=true") + .header("X-Identity-Zone-Id", "test-identity-zone-id") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/uaa/identity-providers/GET_response.json") + .build()) + .build()); this.identityProviders - .list(ListIdentityProvidersRequest.builder() - .identityZoneId("test-identity-zone-id") - .build()) - .as(StepVerifier::create) - .expectNext(ListIdentityProvidersResponse.builder() - .identityProvider(IdentityProvider.builder() - .active(true) - .createdAt(1465001965526L) - .configuration(SamlConfiguration.builder() - .addShadowUserOnLogin(true) - .assertionConsumerIndex(0) - .attributeMappings(AttributeMappings.builder() - .build()) - .externalGroupsWhitelist(Collections.emptyList()) - .groupMappingMode(ExternalGroupMappingMode.EXPLICITLY_MAPPED) - .idpEntityAlias("SAML") - .linkText("IDPEndpointsMockTests Saml Provider:SAML") - .metaDataLocation("MIICmTCCAgKgAwIBAgIGAUPATqmEMA0GCSqGSIb3DQEBBQUAMIGPMQswCQYDVQQGEwJVUzETMBEG" + - "\nA1UECAwKQ2FsaWZvcm5pYTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzENMAsGA1UECgwET2t0YTEU\nMBIGA1UECwwLU1NPUHJvdmlkZXIxEDAOBgNVBAMMB1Bpdm90YWwxHDAaBgkqhkiG9w0BCQEWDWlu" + - "\nZm9Ab2t0YS5jb20wHhcNMTQwMTIzMTgxMjM3WhcNNDQwMTIzMTgxMzM3WjCBjzELMAkGA1UEBhMC\nVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xDTALBgNVBAoM" + - "\nBE9rdGExFDASBgNVBAsMC1NTT1Byb3ZpZGVyMRAwDgYDVQQDDAdQaXZvdGFsMRwwGgYJKoZIhvcN\nAQkBFg1pbmZvQG9rdGEuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCeil67/TLOiTZU" + - "\nWWgW2XEGgFZ94bVO90v5J1XmcHMwL8v5Z/8qjdZLpGdwI7Ph0CyXMMNklpaR/Ljb8fsls3amdT5O\nBw92Zo8ulcpjw2wuezTwL0eC0wY/GQDAZiXL59npE6U+fH1lbJIq92hx0HJSru/0O1q3+A/+jjZL\n3tL" + - "/SwIDAQABMA0GCSqGSIb3DQEBBQUAA4GBAI5BoWZoH6Mz9vhypZPOJCEKa/K+biZQsA4Zqsuk\nvvphhSERhqk/Nv76Vkl8uvJwwHbQrR9KJx4L3PRkGCG24rix71jEuXVGZUsDNM3CUKnARx4MEab6\nGFHNkZ6DmoT" + - "/PFagngecHu+EwmuDtaG0rEkFrARwe+d8Ru0BN558abFburn:oasis:names:tc:SAML:1" + - ".1:nameid-format:emailAddressurn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\n") - .metadataTrustCheck(false) - .nameId("urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress") - .showSamlLink(false) - .socketFactoryClassName("org.apache.commons.httpclient.protocol.DefaultProtocolSocketFactory") - .zoneId("uaa") - .build()) - .id("a2e96056-c777-40b8-95b8-ff81b441fcf1") - .identityZoneId("uaa") - .lastModified(1465001965526L) - .name("SAML name") - .originKey("SAML") - .type(Type.SAML) - .version(0) - .build()) - .identityProvider(IdentityProvider.builder() - .active(false) - .createdAt(946713600000L) - .id("e6f15c2c-e5fa-46f6-a301-66b802d0102f") - .identityZoneId("uaa") - .lastModified(1465001954764L) - .name("keystone") - .originKey("keystone") - .type(Type.KEYSTONE) - .version(1) - .build()) - .identityProvider(IdentityProvider.builder() - .active(false) - .createdAt(946713600000L) - .id("a3b9ef5d-e717-4ea9-91fa-371fa7a32f46") - .identityZoneId("uaa") - .lastModified(1465001955226L) - .name("ldap") - .originKey("ldap") - .type(Type.LDAP) - .version(1) - .build()) - .identityProvider(IdentityProvider.builder() - .active(true) - .createdAt(1465001966855L) - .configuration(OAuth2Configuration.builder() - .attributeMappings(AttributeMappings.builder() - .build()) - .authUrl("http://auth.url") - .externalGroupsWhitelist(Collections.emptyList()) - .tokenUrl("http://token.url") - .tokenKey("token-key") - .showLinkText(false) - .skipSslVerification(false) - .relyingPartyId("uaa") - .relyingPartySecret("secret") - .addShadowUserOnLogin(true) - .build()) - .id("16506900-561d-411f-904b-15c3e2722cba") - .identityZoneId("uaa") - .lastModified(1465001966855L) - .name("UAA Provider") - .originKey("oauth2.0") - .type(Type.OAUTH2) - .version(0) - .build()) - .identityProvider(IdentityProvider.builder() - .active(true) - .createdAt(946713600000L) - .id("8d364146-ecb3-461e-b294-87580807a08f") - .identityZoneId("uaa") - .lastModified(1465001955249L) - .name("uaa") - .originKey("uaa") - .type(Type.INTERNAL) - .version(1) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .list( + ListIdentityProvidersRequest.builder() + .identityZoneId("test-identity-zone-id") + .build()) + .as(StepVerifier::create) + .expectNext( + ListIdentityProvidersResponse.builder() + .identityProvider( + IdentityProvider.builder() + .active(true) + .createdAt(1465001965526L) + .configuration( + SamlConfiguration.builder() + .addShadowUserOnLogin(true) + .assertionConsumerIndex(0) + .attributeMappings( + AttributeMappings.builder() + .build()) + .externalGroupsWhitelist( + Collections.emptyList()) + .groupMappingMode( + ExternalGroupMappingMode + .EXPLICITLY_MAPPED) + .idpEntityAlias("SAML") + .linkText( + "IDPEndpointsMockTests Saml" + + " Provider:SAML") + .metaDataLocation( + "MIICmTCCAgKgAwIBAgIGAUPATqmEMA0GCSqGSIb3DQEBBQUAMIGPMQswCQYDVQQGEwJVUzETMBEG\n" + + "A1UECAwKQ2FsaWZvcm5pYTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzENMAsGA1UECgwET2t0YTEU\n" + + "MBIGA1UECwwLU1NPUHJvdmlkZXIxEDAOBgNVBAMMB1Bpdm90YWwxHDAaBgkqhkiG9w0BCQEWDWlu\n" + + "Zm9Ab2t0YS5jb20wHhcNMTQwMTIzMTgxMjM3WhcNNDQwMTIzMTgxMzM3WjCBjzELMAkGA1UEBhMC\n" + + "VVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xDTALBgNVBAoM\n" + + "BE9rdGExFDASBgNVBAsMC1NTT1Byb3ZpZGVyMRAwDgYDVQQDDAdQaXZvdGFsMRwwGgYJKoZIhvcN\n" + + "AQkBFg1pbmZvQG9rdGEuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCeil67/TLOiTZU\n" + + "WWgW2XEGgFZ94bVO90v5J1XmcHMwL8v5Z/8qjdZLpGdwI7Ph0CyXMMNklpaR/Ljb8fsls3amdT5O\n" + + "Bw92Zo8ulcpjw2wuezTwL0eC0wY/GQDAZiXL59npE6U+fH1lbJIq92hx0HJSru/0O1q3+A/+jjZL\n" + + "3tL/SwIDAQABMA0GCSqGSIb3DQEBBQUAA4GBAI5BoWZoH6Mz9vhypZPOJCEKa/K+biZQsA4Zqsuk\n" + + "vvphhSERhqk/Nv76Vkl8uvJwwHbQrR9KJx4L3PRkGCG24rix71jEuXVGZUsDNM3CUKnARx4MEab6\n" + + "GFHNkZ6DmoT" + + "/PFagngecHu+EwmuDtaG0rEkFrARwe+d8Ru0BN558abFburn:oasis:names:tc:SAML:1.1:nameid-format:emailAddressurn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\n") + .metadataTrustCheck(false) + .nameId( + "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress") + .showSamlLink(false) + .socketFactoryClassName( + "org.apache.commons.httpclient.protocol.DefaultProtocolSocketFactory") + .zoneId("uaa") + .build()) + .id("a2e96056-c777-40b8-95b8-ff81b441fcf1") + .identityZoneId("uaa") + .lastModified(1465001965526L) + .name("SAML name") + .originKey("SAML") + .type(Type.SAML) + .version(0) + .build()) + .identityProvider( + IdentityProvider.builder() + .active(false) + .createdAt(946713600000L) + .id("e6f15c2c-e5fa-46f6-a301-66b802d0102f") + .identityZoneId("uaa") + .lastModified(1465001954764L) + .name("keystone") + .originKey("keystone") + .type(Type.KEYSTONE) + .version(1) + .build()) + .identityProvider( + IdentityProvider.builder() + .active(false) + .createdAt(946713600000L) + .id("a3b9ef5d-e717-4ea9-91fa-371fa7a32f46") + .identityZoneId("uaa") + .lastModified(1465001955226L) + .name("ldap") + .originKey("ldap") + .type(Type.LDAP) + .version(1) + .build()) + .identityProvider( + IdentityProvider.builder() + .active(true) + .createdAt(1465001966855L) + .configuration( + OAuth2Configuration.builder() + .attributeMappings( + AttributeMappings.builder() + .build()) + .authUrl("http://auth.url") + .externalGroupsWhitelist( + Collections.emptyList()) + .tokenUrl("http://token.url") + .tokenKey("token-key") + .showLinkText(false) + .skipSslVerification(false) + .relyingPartyId("uaa") + .relyingPartySecret("secret") + .addShadowUserOnLogin(true) + .build()) + .id("16506900-561d-411f-904b-15c3e2722cba") + .identityZoneId("uaa") + .lastModified(1465001966855L) + .name("UAA Provider") + .originKey("oauth2.0") + .type(Type.OAUTH2) + .version(0) + .build()) + .identityProvider( + IdentityProvider.builder() + .active(true) + .createdAt(946713600000L) + .id("8d364146-ecb3-461e-b294-87580807a08f") + .identityZoneId("uaa") + .lastModified(1465001955249L) + .name("uaa") + .originKey("uaa") + .type(Type.INTERNAL) + .version(1) + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void update() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(PUT).path("/identity-providers/test-identity-provider-id?rawConfig=true") - .header("X-Identity-Zone-Id", "test-identity-zone-id") - .payload("fixtures/uaa/identity-providers/PUT_{id}_request.json") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/uaa/identity-providers/PUT_{id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(PUT) + .path( + "/identity-providers/test-identity-provider-id?rawConfig=true") + .header("X-Identity-Zone-Id", "test-identity-zone-id") + .payload( + "fixtures/uaa/identity-providers/PUT_{id}_request.json") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/uaa/identity-providers/PUT_{id}_response.json") + .build()) + .build()); this.identityProviders - .update(UpdateIdentityProviderRequest.builder() - .active(true) - .configuration(InternalConfiguration.builder() - .disableInternalUserManagement(false) - .lockoutPolicy(LockoutPolicy.builder() - .lockAccountPeriodInSecond(8) - .lockoutPeriodInSecond(8) - .numberOfAllowedFailures(8) - .build()) - .build()) - .name("uaa") - .originKey("uaa") - .type(Type.INTERNAL) - .version(1) - .identityZoneId("test-identity-zone-id") - .identityProviderId("test-identity-provider-id") - .build()) - .as(StepVerifier::create) - .expectNext(UpdateIdentityProviderResponse.builder() - .active(true) - .createdAt(946713600000L) - .configuration(InternalConfiguration.builder() - .disableInternalUserManagement(false) - .lockoutPolicy(LockoutPolicy.builder() - .lockAccountPeriodInSecond(8) - .lockoutPeriodInSecond(8) - .numberOfAllowedFailures(8) - .build()) - .build()) - .id("test-identity-provider-id") - .identityZoneId("uaa") - .lastModified(1465001967669L) - .name("uaa") - .originKey("uaa") - .type(Type.INTERNAL) - .version(2) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .update( + UpdateIdentityProviderRequest.builder() + .active(true) + .configuration( + InternalConfiguration.builder() + .disableInternalUserManagement(false) + .lockoutPolicy( + LockoutPolicy.builder() + .lockAccountPeriodInSecond(8) + .lockoutPeriodInSecond(8) + .numberOfAllowedFailures(8) + .build()) + .build()) + .name("uaa") + .originKey("uaa") + .type(Type.INTERNAL) + .version(1) + .identityZoneId("test-identity-zone-id") + .identityProviderId("test-identity-provider-id") + .build()) + .as(StepVerifier::create) + .expectNext( + UpdateIdentityProviderResponse.builder() + .active(true) + .createdAt(946713600000L) + .configuration( + InternalConfiguration.builder() + .disableInternalUserManagement(false) + .lockoutPolicy( + LockoutPolicy.builder() + .lockAccountPeriodInSecond(8) + .lockoutPeriodInSecond(8) + .numberOfAllowedFailures(8) + .build()) + .build()) + .id("test-identity-provider-id") + .identityZoneId("uaa") + .lastModified(1465001967669L) + .name("uaa") + .originKey("uaa") + .type(Type.INTERNAL) + .version(2) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } - } diff --git a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/uaa/identityzones/ReactorIdentityZonesTest.java b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/uaa/identityzones/ReactorIdentityZonesTest.java index 9cad935406..9808a42c76 100644 --- a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/uaa/identityzones/ReactorIdentityZonesTest.java +++ b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/uaa/identityzones/ReactorIdentityZonesTest.java @@ -16,6 +16,16 @@ package org.cloudfoundry.reactor.uaa.identityzones; +import static io.netty.handler.codec.http.HttpMethod.DELETE; +import static io.netty.handler.codec.http.HttpMethod.GET; +import static io.netty.handler.codec.http.HttpMethod.POST; +import static io.netty.handler.codec.http.HttpMethod.PUT; +import static io.netty.handler.codec.http.HttpResponseStatus.CREATED; +import static io.netty.handler.codec.http.HttpResponseStatus.OK; + +import java.time.Duration; +import java.util.Arrays; +import java.util.Collections; import org.cloudfoundry.reactor.InteractionContext; import org.cloudfoundry.reactor.TestRequest; import org.cloudfoundry.reactor.TestResponse; @@ -53,729 +63,1070 @@ import org.junit.Test; import reactor.test.StepVerifier; -import java.time.Duration; -import java.util.Arrays; -import java.util.Collections; - -import static io.netty.handler.codec.http.HttpMethod.DELETE; -import static io.netty.handler.codec.http.HttpMethod.GET; -import static io.netty.handler.codec.http.HttpMethod.POST; -import static io.netty.handler.codec.http.HttpMethod.PUT; -import static io.netty.handler.codec.http.HttpResponseStatus.CREATED; -import static io.netty.handler.codec.http.HttpResponseStatus.OK; - public final class ReactorIdentityZonesTest extends AbstractUaaApiTest { - private final ReactorIdentityZones identityZones = new ReactorIdentityZones(CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); + private final ReactorIdentityZones identityZones = + new ReactorIdentityZones( + CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); @Test public void create() { - IdentityZoneConfiguration testConfiguration = IdentityZoneConfiguration.builder() - .clientSecretPolicy(ClientSecretPolicy.builder() - .minimumLength(-1) - .maximumLength(-1) - .requireUpperCaseCharacter(-1) - .requireLowerCaseCharacter(-1) - .requireDigit(-1) - .requireSpecialCharacter(-1) - .build()) - .tokenPolicy(TokenPolicy.builder() - .accessTokenValidity(-1) - .refreshTokenValidity(-1) - .jwtRevocable(false) - .refreshTokenUnique(false) - .refreshTokenFormat(RefreshTokenFormat.JWT) - .key("exampleKeyId", Collections.singletonMap("signingKey", "s1gNiNg.K3y/t3XT")) - .build()) - .samlConfiguration(SamlConfiguration.builder() - .assertionSigned(true) - .requestSigned(true) - .wantAssertionSigned(true) - .wantPartnerAuthenticationRequestSigned(false) - .assertionTimeToLive(600) - .activeKeyId("legacy-saml-key") - .key("legacy-saml-key", Key.builder() - .key("-----BEGIN RSA PRIVATE KEY-----\nMIIBOwIBAAJBAJv8ZpB5hEK7qxP9K3v43hUS5fGT4waKe7ix4Z4mu5UBv+cw7WSF\nAt0Vaag0sAbsPzU8Hhsrj/qPABvfB8asUwcCAwEAAQJAG0r3ezH35WFG1tGGaUOr" + - "\nQA61cyaII53ZdgCR1IU8bx7AUevmkFtBf+aqMWusWVOWJvGu2r5VpHVAIl8nF6DS\nkQIhAMjEJ3zVYa2/Mo4ey+iU9J9Vd+WoyXDQD4EEtwmyG1PpAiEAxuZlvhDIbbce\n7o5BvOhnCZ2N7kYb1ZC57g3F" + - "+cbJyW8CIQCbsDGHBto2qJyFxbAO7uQ8Y0UVHa0J\nBO/g900SAcJbcQIgRtEljIShOB8pDjrsQPxmI1BLhnjD1EhRSubwhDw5AFUCIQCN\nA24pDtdOHydwtSB5+zFqFLfmVZplQM/g5kb4so70Yw==\n-----END RSA " + - "PRIVATE KEY-----\n") - .passphrase("password") - .certificate("-----BEGIN CERTIFICATE-----\nMIICEjCCAXsCAg36MA0GCSqGSIb3DQEBBQUAMIGbMQswCQYDVQQGEwJKUDEOMAwG\nA1UECBMFVG9reW8xEDAOBgNVBAcTB0NodW8ta3UxETAPBgNVBAoTCEZyYW5rNERE" + - "\nMRgwFgYDVQQLEw9XZWJDZXJ0IFN1cHBvcnQxGDAWBgNVBAMTD0ZyYW5rNEREIFdl\nYiBDQTEjMCEGCSqGSIb3DQEJARYUc3VwcG9ydEBmcmFuazRkZC5jb20wHhcNMTIw" + - "\nODIyMDUyNjU0WhcNMTcwODIxMDUyNjU0WjBKMQswCQYDVQQGEwJKUDEOMAwGA1UE\nCAwFVG9reW8xETAPBgNVBAoMCEZyYW5rNEREMRgwFgYDVQQDDA93d3cuZXhhbXBs" + - "\nZS5jb20wXDANBgkqhkiG9w0BAQEFAANLADBIAkEAm/xmkHmEQrurE/0re/jeFRLl\n8ZPjBop7uLHhnia7lQG/5zDtZIUC3RVpqDSwBuw/NTweGyuP+o8AG98HxqxTBwID" + - "\nAQABMA0GCSqGSIb3DQEBBQUAA4GBABS2TLuBeTPmcaTaUW/LCB2NYOy8GMdzR1mx\n8iBIu2H6/E2tiY3RIevV2OW61qY2/XRQg7YPxx3ffeUugX9F4J/iPnnu1zAxxyBy" + - "\n2VguKv4SWjRFoRkIfIlHX0qVviMhSlNy2ioFLy7JcPZb+v3ftDGywUqcBiVDoea0\nHn+GmxZA\n-----END CERTIFICATE-----\n") - .build()) - .entityId("cloudfoundry-saml-login") - .disableInResponseToCheck(false) - .privateKey("-----BEGIN RSA PRIVATE KEY-----\nMIIBOwIBAAJBAJv8ZpB5hEK7qxP9K3v43hUS5fGT4waKe7ix4Z4mu5UBv+cw7WSF\nAt0Vaag0sAbsPzU8Hhsrj/qPABvfB8asUwcCAwEAAQJAG0r3ezH35WFG1tGGaUOr" + - "\nQA61cyaII53ZdgCR1IU8bx7AUevmkFtBf+aqMWusWVOWJvGu2r5VpHVAIl8nF6DS\nkQIhAMjEJ3zVYa2/Mo4ey+iU9J9Vd+WoyXDQD4EEtwmyG1PpAiEAxuZlvhDIbbce\n7o5BvOhnCZ2N7kYb1ZC57g3F" + - "+cbJyW8CIQCbsDGHBto2qJyFxbAO7uQ8Y0UVHa0J\nBO/g900SAcJbcQIgRtEljIShOB8pDjrsQPxmI1BLhnjD1EhRSubwhDw5AFUCIQCN\nA24pDtdOHydwtSB5+zFqFLfmVZplQM/g5kb4so70Yw==\n-----END RSA PRIVATE " + - "KEY-----\n") - .privateKeyPassword("password") - .certificate("-----BEGIN CERTIFICATE-----\nMIICEjCCAXsCAg36MA0GCSqGSIb3DQEBBQUAMIGbMQswCQYDVQQGEwJKUDEOMAwG\nA1UECBMFVG9reW8xEDAOBgNVBAcTB0NodW8ta3UxETAPBgNVBAoTCEZyYW5rNERE" + - "\nMRgwFgYDVQQLEw9XZWJDZXJ0IFN1cHBvcnQxGDAWBgNVBAMTD0ZyYW5rNEREIFdl\nYiBDQTEjMCEGCSqGSIb3DQEJARYUc3VwcG9ydEBmcmFuazRkZC5jb20wHhcNMTIw" + - "\nODIyMDUyNjU0WhcNMTcwODIxMDUyNjU0WjBKMQswCQYDVQQGEwJKUDEOMAwGA1UE\nCAwFVG9reW8xETAPBgNVBAoMCEZyYW5rNEREMRgwFgYDVQQDDA93d3cuZXhhbXBs\nZS5jb20wXDANBgkqhkiG9w0BAQEFAANLADBIAkEAm" + - "/xmkHmEQrurE/0re/jeFRLl\n8ZPjBop7uLHhnia7lQG/5zDtZIUC3RVpqDSwBuw/NTweGyuP+o8AG98HxqxTBwID\nAQABMA0GCSqGSIb3DQEBBQUAA4GBABS2TLuBeTPmcaTaUW/LCB2NYOy8GMdzR1mx\n8iBIu2H6" + - "/E2tiY3RIevV2OW61qY2/XRQg7YPxx3ffeUugX9F4J/iPnnu1zAxxyBy\n2VguKv4SWjRFoRkIfIlHX0qVviMhSlNy2ioFLy7JcPZb+v3ftDGywUqcBiVDoea0\nHn+GmxZA\n-----END CERTIFICATE-----\n") - .build()) - .corsPolicy(CorsPolicy.builder() - .xhrConfiguration(CorsConfiguration.builder() - .allowedOrigin(".*") - .allowedUri(".*") - .allowedHeaders("Accept", "Authorization", "Content-Type") - .allowedMethod("GET") - .allowedCredentials(false) - .maxAge(1728000L) - .build()) - .defaultConfiguration(CorsConfiguration.builder() - .allowedOrigin(".*") - .allowedUri(".*") - .allowedHeaders("Accept", "Authorization", "Content-Type") - .allowedMethod("GET") - .allowedCredentials(false) - .maxAge(1728000L) - .build()) - .build()) - .links(Links.builder() - .logout(LogoutLink.builder() - .redirectUrl("/login") - .redirectParameterName("redirect") - .disableRedirectParameter(false) - .build()) - .homeRedirect("http://my.hosted.homepage.com/") - .selfService(SelfServiceLink.builder() - .selfServiceLinksEnabled(true) - .build()) - .build()) - .prompt(Prompt.builder() - .fieldName("username") - .fieldType("text") - .text("Email") - .build()) - .prompt(Prompt.builder() - .fieldName("password") - .fieldType("password") - .text("Password") - .build()) - .prompt(Prompt.builder() - .fieldName("passcode") - .fieldType("password") - .text("One Time Code (Get on at /passcode)") - .build()) - .ldapDiscoveryEnabled(false) - .branding(Branding.builder() - .companyName("Test Company") - .productLogo("VGVzdFByb2R1Y3RMb2dv") - .squareLogo("VGVzdFNxdWFyZUxvZ28=") - .footerLegalText("Test footer legal text") - .footerLink("Support", "http://support.example.com") - .banner(Banner.builder() - .logo("VGVzdFByb2R1Y3RMb2dv") - .text("Announcement") - .textColor("#000000") - .backgroundColor("#89cff0") - .link("http://announce.example.com") - .build()) - .build()) - .accountChooserEnabled(false) - .userConfig(UserConfig.builder() - .defaultGroups("openid", "password.write", "uaa.user", "approvals.me", "profile", "roles", "user_attributes", "uaa.offline_token") - .build()) - .mfaConfig(MfaConfig.builder() - .enabled(false) - .build()) - .build(); + IdentityZoneConfiguration testConfiguration = + IdentityZoneConfiguration.builder() + .clientSecretPolicy( + ClientSecretPolicy.builder() + .minimumLength(-1) + .maximumLength(-1) + .requireUpperCaseCharacter(-1) + .requireLowerCaseCharacter(-1) + .requireDigit(-1) + .requireSpecialCharacter(-1) + .build()) + .tokenPolicy( + TokenPolicy.builder() + .accessTokenValidity(-1) + .refreshTokenValidity(-1) + .jwtRevocable(false) + .refreshTokenUnique(false) + .refreshTokenFormat(RefreshTokenFormat.JWT) + .key( + "exampleKeyId", + Collections.singletonMap( + "signingKey", "s1gNiNg.K3y/t3XT")) + .build()) + .samlConfiguration( + SamlConfiguration.builder() + .assertionSigned(true) + .requestSigned(true) + .wantAssertionSigned(true) + .wantPartnerAuthenticationRequestSigned(false) + .assertionTimeToLive(600) + .activeKeyId("legacy-saml-key") + .key( + "legacy-saml-key", + Key.builder() + .key( + "-----BEGIN RSA PRIVATE KEY-----\n" + + "MIIBOwIBAAJBAJv8ZpB5hEK7qxP9K3v43hUS5fGT4waKe7ix4Z4mu5UBv+cw7WSF\n" + + "At0Vaag0sAbsPzU8Hhsrj/qPABvfB8asUwcCAwEAAQJAG0r3ezH35WFG1tGGaUOr\n" + + "QA61cyaII53ZdgCR1IU8bx7AUevmkFtBf+aqMWusWVOWJvGu2r5VpHVAIl8nF6DS\n" + + "kQIhAMjEJ3zVYa2/Mo4ey+iU9J9Vd+WoyXDQD4EEtwmyG1PpAiEAxuZlvhDIbbce\n" + + "7o5BvOhnCZ2N7kYb1ZC57g3F+cbJyW8CIQCbsDGHBto2qJyFxbAO7uQ8Y0UVHa0J\n" + + "BO/g900SAcJbcQIgRtEljIShOB8pDjrsQPxmI1BLhnjD1EhRSubwhDw5AFUCIQCN\n" + + "A24pDtdOHydwtSB5+zFqFLfmVZplQM/g5kb4so70Yw==\n" + + "-----END RSA PRIVATE" + + " KEY-----\n") + .passphrase("password") + .certificate( + "-----BEGIN CERTIFICATE-----\n" + + "MIICEjCCAXsCAg36MA0GCSqGSIb3DQEBBQUAMIGbMQswCQYDVQQGEwJKUDEOMAwG\n" + + "A1UECBMFVG9reW8xEDAOBgNVBAcTB0NodW8ta3UxETAPBgNVBAoTCEZyYW5rNERE\n" + + "MRgwFgYDVQQLEw9XZWJDZXJ0IFN1cHBvcnQxGDAWBgNVBAMTD0ZyYW5rNEREIFdl\n" + + "YiBDQTEjMCEGCSqGSIb3DQEJARYUc3VwcG9ydEBmcmFuazRkZC5jb20wHhcNMTIw\n" + + "ODIyMDUyNjU0WhcNMTcwODIxMDUyNjU0WjBKMQswCQYDVQQGEwJKUDEOMAwGA1UE\n" + + "CAwFVG9reW8xETAPBgNVBAoMCEZyYW5rNEREMRgwFgYDVQQDDA93d3cuZXhhbXBs\n" + + "ZS5jb20wXDANBgkqhkiG9w0BAQEFAANLADBIAkEAm/xmkHmEQrurE/0re/jeFRLl\n" + + "8ZPjBop7uLHhnia7lQG/5zDtZIUC3RVpqDSwBuw/NTweGyuP+o8AG98HxqxTBwID\n" + + "AQABMA0GCSqGSIb3DQEBBQUAA4GBABS2TLuBeTPmcaTaUW/LCB2NYOy8GMdzR1mx\n" + + "8iBIu2H6/E2tiY3RIevV2OW61qY2/XRQg7YPxx3ffeUugX9F4J/iPnnu1zAxxyBy\n" + + "2VguKv4SWjRFoRkIfIlHX0qVviMhSlNy2ioFLy7JcPZb+v3ftDGywUqcBiVDoea0\n" + + "Hn+GmxZA\n" + + "-----END CERTIFICATE-----\n") + .build()) + .entityId("cloudfoundry-saml-login") + .disableInResponseToCheck(false) + .privateKey( + "-----BEGIN RSA PRIVATE KEY-----\n" + + "MIIBOwIBAAJBAJv8ZpB5hEK7qxP9K3v43hUS5fGT4waKe7ix4Z4mu5UBv+cw7WSF\n" + + "At0Vaag0sAbsPzU8Hhsrj/qPABvfB8asUwcCAwEAAQJAG0r3ezH35WFG1tGGaUOr\n" + + "QA61cyaII53ZdgCR1IU8bx7AUevmkFtBf+aqMWusWVOWJvGu2r5VpHVAIl8nF6DS\n" + + "kQIhAMjEJ3zVYa2/Mo4ey+iU9J9Vd+WoyXDQD4EEtwmyG1PpAiEAxuZlvhDIbbce\n" + + "7o5BvOhnCZ2N7kYb1ZC57g3F+cbJyW8CIQCbsDGHBto2qJyFxbAO7uQ8Y0UVHa0J\n" + + "BO/g900SAcJbcQIgRtEljIShOB8pDjrsQPxmI1BLhnjD1EhRSubwhDw5AFUCIQCN\n" + + "A24pDtdOHydwtSB5+zFqFLfmVZplQM/g5kb4so70Yw==\n" + + "-----END RSA PRIVATE KEY-----\n") + .privateKeyPassword("password") + .certificate( + "-----BEGIN CERTIFICATE-----\n" + + "MIICEjCCAXsCAg36MA0GCSqGSIb3DQEBBQUAMIGbMQswCQYDVQQGEwJKUDEOMAwG\n" + + "A1UECBMFVG9reW8xEDAOBgNVBAcTB0NodW8ta3UxETAPBgNVBAoTCEZyYW5rNERE\n" + + "MRgwFgYDVQQLEw9XZWJDZXJ0IFN1cHBvcnQxGDAWBgNVBAMTD0ZyYW5rNEREIFdl\n" + + "YiBDQTEjMCEGCSqGSIb3DQEJARYUc3VwcG9ydEBmcmFuazRkZC5jb20wHhcNMTIw\n" + + "ODIyMDUyNjU0WhcNMTcwODIxMDUyNjU0WjBKMQswCQYDVQQGEwJKUDEOMAwGA1UE\n" + + "CAwFVG9reW8xETAPBgNVBAoMCEZyYW5rNEREMRgwFgYDVQQDDA93d3cuZXhhbXBs\n" + + "ZS5jb20wXDANBgkqhkiG9w0BAQEFAANLADBIAkEAm/xmkHmEQrurE/0re/jeFRLl\n" + + "8ZPjBop7uLHhnia7lQG/5zDtZIUC3RVpqDSwBuw/NTweGyuP+o8AG98HxqxTBwID\n" + + "AQABMA0GCSqGSIb3DQEBBQUAA4GBABS2TLuBeTPmcaTaUW/LCB2NYOy8GMdzR1mx\n" + + "8iBIu2H6/E2tiY3RIevV2OW61qY2/XRQg7YPxx3ffeUugX9F4J/iPnnu1zAxxyBy\n" + + "2VguKv4SWjRFoRkIfIlHX0qVviMhSlNy2ioFLy7JcPZb+v3ftDGywUqcBiVDoea0\n" + + "Hn+GmxZA\n" + + "-----END CERTIFICATE-----\n") + .build()) + .corsPolicy( + CorsPolicy.builder() + .xhrConfiguration( + CorsConfiguration.builder() + .allowedOrigin(".*") + .allowedUri(".*") + .allowedHeaders( + "Accept", + "Authorization", + "Content-Type") + .allowedMethod("GET") + .allowedCredentials(false) + .maxAge(1728000L) + .build()) + .defaultConfiguration( + CorsConfiguration.builder() + .allowedOrigin(".*") + .allowedUri(".*") + .allowedHeaders( + "Accept", + "Authorization", + "Content-Type") + .allowedMethod("GET") + .allowedCredentials(false) + .maxAge(1728000L) + .build()) + .build()) + .links( + Links.builder() + .logout( + LogoutLink.builder() + .redirectUrl("/login") + .redirectParameterName("redirect") + .disableRedirectParameter(false) + .build()) + .homeRedirect("http://my.hosted.homepage.com/") + .selfService( + SelfServiceLink.builder() + .selfServiceLinksEnabled(true) + .build()) + .build()) + .prompt( + Prompt.builder() + .fieldName("username") + .fieldType("text") + .text("Email") + .build()) + .prompt( + Prompt.builder() + .fieldName("password") + .fieldType("password") + .text("Password") + .build()) + .prompt( + Prompt.builder() + .fieldName("passcode") + .fieldType("password") + .text("One Time Code (Get on at /passcode)") + .build()) + .ldapDiscoveryEnabled(false) + .branding( + Branding.builder() + .companyName("Test Company") + .productLogo("VGVzdFByb2R1Y3RMb2dv") + .squareLogo("VGVzdFNxdWFyZUxvZ28=") + .footerLegalText("Test footer legal text") + .footerLink("Support", "http://support.example.com") + .banner( + Banner.builder() + .logo("VGVzdFByb2R1Y3RMb2dv") + .text("Announcement") + .textColor("#000000") + .backgroundColor("#89cff0") + .link("http://announce.example.com") + .build()) + .build()) + .accountChooserEnabled(false) + .userConfig( + UserConfig.builder() + .defaultGroups( + "openid", + "password.write", + "uaa.user", + "approvals.me", + "profile", + "roles", + "user_attributes", + "uaa.offline_token") + .build()) + .mfaConfig(MfaConfig.builder().enabled(false).build()) + .build(); - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(POST).path("/identity-zones") - .payload("fixtures/uaa/identity-zones/POST_request.json") - .build()) - .response(TestResponse.builder() - .status(CREATED) - .payload("fixtures/uaa/identity-zones/POST_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(POST) + .path("/identity-zones") + .payload("fixtures/uaa/identity-zones/POST_request.json") + .build()) + .response( + TestResponse.builder() + .status(CREATED) + .payload("fixtures/uaa/identity-zones/POST_response.json") + .build()) + .build()); this.identityZones - .create(CreateIdentityZoneRequest.builder() - .identityZoneId("twiglet-create") - .subdomain("twiglet-create") - .configuration(testConfiguration) - .name("The Twiglet Zone") - .version(0) - .description("Like the Twilight Zone but tastier.") - .createdAt(1512452533738L) - .lastModified(1512452533738L) - .build()) - .as(StepVerifier::create) - .expectNext(CreateIdentityZoneResponse.builder() - .id("twiglet-create") - .subdomain("twiglet-create") - .configuration(testConfiguration) - .name("The Twiglet Zone") - .version(0) - .description("Like the Twilight Zone but tastier.") - .createdAt(1512452533738L) - .lastModified(1512452533738L) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .create( + CreateIdentityZoneRequest.builder() + .identityZoneId("twiglet-create") + .subdomain("twiglet-create") + .configuration(testConfiguration) + .name("The Twiglet Zone") + .version(0) + .description("Like the Twilight Zone but tastier.") + .createdAt(1512452533738L) + .lastModified(1512452533738L) + .build()) + .as(StepVerifier::create) + .expectNext( + CreateIdentityZoneResponse.builder() + .id("twiglet-create") + .subdomain("twiglet-create") + .configuration(testConfiguration) + .name("The Twiglet Zone") + .version(0) + .description("Like the Twilight Zone but tastier.") + .createdAt(1512452533738L) + .lastModified(1512452533738L) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void delete() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(DELETE).path("/identity-zones/twiglet-delete") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/uaa/identity-zones/DELETE_{id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(DELETE) + .path("/identity-zones/twiglet-delete") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/uaa/identity-zones/DELETE_{id}_response.json") + .build()) + .build()); this.identityZones - .delete(DeleteIdentityZoneRequest.builder() - .identityZoneId("twiglet-delete") - .build()) - .as(StepVerifier::create) - .expectNext(DeleteIdentityZoneResponse.builder() - .id("twiglet-delete") - .subdomain("twiglet-delete") - .configuration(IdentityZoneConfiguration.builder() - .clientLockoutPolicy(ClientLockoutPolicy.builder() - .lockoutPeriodSeconds(-1) - .lockoutAfterFailures(-1) - .countFailuresWithin(-1) - .build()) - .tokenPolicy(TokenPolicy.builder() - .accessTokenValidity(-1) - .refreshTokenValidity(-1) - .jwtRevocable(false) - .keys(Collections.emptyMap()) - .build()) - .samlConfiguration(SamlConfiguration.builder() - .assertionSigned(true) - .requestSigned(true) - .wantAssertionSigned(true) - .wantPartnerAuthenticationRequestSigned(false) - .assertionTimeToLive(600) - .build()) - .corsPolicy(CorsPolicy.builder() - .xhrConfiguration(CorsConfiguration.builder() - .allowedOrigin(".*") - .allowedUri(".*") - .allowedHeader("Accept") - .allowedHeader("Authorization") - .allowedHeader("Content-Type") - .allowedMethod("GET") - .allowedCredentials(false) - .maxAge(1728000L) - .build()) - .defaultConfiguration(CorsConfiguration.builder() - .allowedOrigin(".*") - .allowedUri(".*") - .allowedHeader("Accept") - .allowedHeader("Authorization") - .allowedHeader("Content-Type") - .allowedMethod("GET") - .allowedCredentials(false) - .maxAge(1728000L) - .build()) - .build()) - .links(Links.builder() - .logout(LogoutLink.builder() - .redirectUrl("/login") - .redirectParameterName("redirect") - .disableRedirectParameter(true) - .build()) - .homeRedirect("http://my.hosted.homepage.com/") - .selfService(SelfServiceLink.builder() - .selfServiceLinksEnabled(true) - .signupLink("/create_account") - .resetPasswordLink("/forgot_password") - .build()) - .build()) - .prompt(Prompt.builder() - .fieldName("username") - .fieldType("text") - .text("Email") - .build()) - .prompt(Prompt.builder() - .fieldName("password") - .fieldType("password") - .text("Password") - .build()) - .prompt(Prompt.builder() - .fieldName("passcode") - .fieldType("password") - .text("One Time Code (Get on at /passcode)") - .build()) - .ldapDiscoveryEnabled(false) - .branding(Branding.builder() - .companyName("Test Company") - .productLogo("VGVzdFByb2R1Y3RMb2dv") - .squareLogo("VGVzdFNxdWFyZUxvZ28=") - .footerLegalText("Test footer legal text") - .footerLink("Support", "http://support.example.com") - .build()) - .accountChooserEnabled(false) - .build()) - .name("The Twiglet Zone") - .version(0) - .createdAt(1481728057024L) - .lastModified(1481728057024L) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .delete( + DeleteIdentityZoneRequest.builder() + .identityZoneId("twiglet-delete") + .build()) + .as(StepVerifier::create) + .expectNext( + DeleteIdentityZoneResponse.builder() + .id("twiglet-delete") + .subdomain("twiglet-delete") + .configuration( + IdentityZoneConfiguration.builder() + .clientLockoutPolicy( + ClientLockoutPolicy.builder() + .lockoutPeriodSeconds(-1) + .lockoutAfterFailures(-1) + .countFailuresWithin(-1) + .build()) + .tokenPolicy( + TokenPolicy.builder() + .accessTokenValidity(-1) + .refreshTokenValidity(-1) + .jwtRevocable(false) + .keys(Collections.emptyMap()) + .build()) + .samlConfiguration( + SamlConfiguration.builder() + .assertionSigned(true) + .requestSigned(true) + .wantAssertionSigned(true) + .wantPartnerAuthenticationRequestSigned( + false) + .assertionTimeToLive(600) + .build()) + .corsPolicy( + CorsPolicy.builder() + .xhrConfiguration( + CorsConfiguration.builder() + .allowedOrigin(".*") + .allowedUri(".*") + .allowedHeader( + "Accept") + .allowedHeader( + "Authorization") + .allowedHeader( + "Content-Type") + .allowedMethod( + "GET") + .allowedCredentials( + false) + .maxAge(1728000L) + .build()) + .defaultConfiguration( + CorsConfiguration.builder() + .allowedOrigin(".*") + .allowedUri(".*") + .allowedHeader( + "Accept") + .allowedHeader( + "Authorization") + .allowedHeader( + "Content-Type") + .allowedMethod( + "GET") + .allowedCredentials( + false) + .maxAge(1728000L) + .build()) + .build()) + .links( + Links.builder() + .logout( + LogoutLink.builder() + .redirectUrl( + "/login") + .redirectParameterName( + "redirect") + .disableRedirectParameter( + true) + .build()) + .homeRedirect( + "http://my.hosted.homepage.com/") + .selfService( + SelfServiceLink.builder() + .selfServiceLinksEnabled( + true) + .signupLink( + "/create_account") + .resetPasswordLink( + "/forgot_password") + .build()) + .build()) + .prompt( + Prompt.builder() + .fieldName("username") + .fieldType("text") + .text("Email") + .build()) + .prompt( + Prompt.builder() + .fieldName("password") + .fieldType("password") + .text("Password") + .build()) + .prompt( + Prompt.builder() + .fieldName("passcode") + .fieldType("password") + .text( + "One Time Code (Get on at" + + " /passcode)") + .build()) + .ldapDiscoveryEnabled(false) + .branding( + Branding.builder() + .companyName("Test Company") + .productLogo("VGVzdFByb2R1Y3RMb2dv") + .squareLogo("VGVzdFNxdWFyZUxvZ28=") + .footerLegalText( + "Test footer legal text") + .footerLink( + "Support", + "http://support.example.com") + .build()) + .accountChooserEnabled(false) + .build()) + .name("The Twiglet Zone") + .version(0) + .createdAt(1481728057024L) + .lastModified(1481728057024L) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void get() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/identity-zones/twiglet-get") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/uaa/identity-zones/GET_{id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/identity-zones/twiglet-get") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/uaa/identity-zones/GET_{id}_response.json") + .build()) + .build()); this.identityZones - .get(GetIdentityZoneRequest.builder() - .identityZoneId("twiglet-get") - .build()) - .as(StepVerifier::create) - .expectNext(GetIdentityZoneResponse.builder() - .id("twiglet-get") - .subdomain("twiglet-get") - .configuration(IdentityZoneConfiguration.builder() - .clientSecretPolicy(ClientSecretPolicy.builder() - .minimumLength(-1) - .maximumLength(-1) - .requireDigit(-1) - .requireLowerCaseCharacter(-1) - .requireSpecialCharacter(-1) - .requireUpperCaseCharacter(-1) - .build()) - .tokenPolicy(TokenPolicy.builder() - .accessTokenValidity(3600) - .activeKeyId("active-key-1") - .jwtRevocable(false) - .refreshTokenFormat(RefreshTokenFormat.JWT) - .refreshTokenUnique(false) - .refreshTokenValidity(7200) - .build()) - .samlConfiguration(SamlConfiguration.builder() - .activeKeyId("legacy-saml-key") - .assertionSigned(true) - .assertionTimeToLive(600) - .certificate("-----BEGIN CERTIFICATE-----\nMIICEjCCAXsCAg36MA0GCSqGSIb3DQEBBQUAMIGbMQswCQYDVQQGEwJKUDEOMAwG\nA1UECBMFVG9reW8xEDAOBgNVBAcTB0NodW8ta3UxETAPBgNVBAoTCEZyYW5rNERE" + - "\nMRgwFgYDVQQLEw9XZWJDZXJ0IFN1cHBvcnQxGDAWBgNVBAMTD0ZyYW5rNEREIFdl\nYiBDQTEjMCEGCSqGSIb3DQEJARYUc3VwcG9ydEBmcmFuazRkZC5jb20wHhcNMTIw" + - "\nODIyMDUyNjU0WhcNMTcwODIxMDUyNjU0WjBKMQswCQYDVQQGEwJKUDEOMAwGA1UE\nCAwFVG9reW8xETAPBgNVBAoMCEZyYW5rNEREMRgwFgYDVQQDDA93d3cuZXhhbXBs" + - "\nZS5jb20wXDANBgkqhkiG9w0BAQEFAANLADBIAkEAm/xmkHmEQrurE/0re/jeFRLl\n8ZPjBop7uLHhnia7lQG/5zDtZIUC3RVpqDSwBuw/NTweGyuP+o8AG98HxqxTBwID" + - "\nAQABMA0GCSqGSIb3DQEBBQUAA4GBABS2TLuBeTPmcaTaUW/LCB2NYOy8GMdzR1mx\n8iBIu2H6/E2tiY3RIevV2OW61qY2/XRQg7YPxx3ffeUugX9F4J/iPnnu1zAxxyBy" + - "\n2VguKv4SWjRFoRkIfIlHX0qVviMhSlNy2ioFLy7JcPZb+v3ftDGywUqcBiVDoea0\nHn+GmxZA\n-----END CERTIFICATE-----\n") - .disableInResponseToCheck(false) - .entityId("cloudfoundry-saml-login") - .key("legacy-saml-key", Key.builder() - .certificate("-----BEGIN CERTIFICATE-----\nMIICEjCCAXsCAg36MA0GCSqGSIb3DQEBBQUAMIGbMQswCQYDVQQGEwJKUDEOMAwG" + - "\nA1UECBMFVG9reW8xEDAOBgNVBAcTB0NodW8ta3UxETAPBgNVBAoTCEZyYW5rNERE\nMRgwFgYDVQQLEw9XZWJDZXJ0IFN1cHBvcnQxGDAWBgNVBAMTD0ZyYW5rNEREIFdl" + - "\nYiBDQTEjMCEGCSqGSIb3DQEJARYUc3VwcG9ydEBmcmFuazRkZC5jb20wHhcNMTIw\nODIyMDUyNjU0WhcNMTcwODIxMDUyNjU0WjBKMQswCQYDVQQGEwJKUDEOMAwGA1UE" + - "\nCAwFVG9reW8xETAPBgNVBAoMCEZyYW5rNEREMRgwFgYDVQQDDA93d3cuZXhhbXBs\nZS5jb20wXDANBgkqhkiG9w0BAQEFAANLADBIAkEAm/xmkHmEQrurE/0re/jeFRLl\n8ZPjBop7uLHhnia7lQG" + - "/5zDtZIUC3RVpqDSwBuw/NTweGyuP+o8AG98HxqxTBwID\nAQABMA0GCSqGSIb3DQEBBQUAA4GBABS2TLuBeTPmcaTaUW/LCB2NYOy8GMdzR1mx\n8iBIu2H6/E2tiY3RIevV2OW61qY2/XRQg7YPxx3ffeUugX9F4J" + - "/iPnnu1zAxxyBy\n2VguKv4SWjRFoRkIfIlHX0qVviMhSlNy2ioFLy7JcPZb+v3ftDGywUqcBiVDoea0\nHn+GmxZA\n-----END CERTIFICATE-----\n") - .build()) - .requestSigned(true) - .wantAssertionSigned(true) - .wantPartnerAuthenticationRequestSigned(false) - .build()) - .corsPolicy(CorsPolicy.builder() - .xhrConfiguration(CorsConfiguration.builder() - .allowedOrigin(".*") - .allowedUri(".*") - .allowedHeader("Accept") - .allowedHeader("Authorization") - .allowedHeader("Content-Type") - .allowedMethod("GET") - .allowedCredentials(false) - .maxAge(1728000L) - .build()) - .defaultConfiguration(CorsConfiguration.builder() - .allowedOrigin(".*") - .allowedUri(".*") - .allowedHeader("Accept") - .allowedHeader("Authorization") - .allowedHeader("Content-Type") - .allowedMethod("GET") - .allowedCredentials(false) - .maxAge(1728000L) - .build()) - .build()) - .links(Links.builder() - .logout(LogoutLink.builder() - .redirectUrl("/login") - .redirectParameterName("redirect") - .disableRedirectParameter(false) - .build()) - .homeRedirect("http://my.hosted.homepage.com/") - .selfService(SelfServiceLink.builder() - .selfServiceLinksEnabled(true) - .build()) - .build()) - .prompt(Prompt.builder() - .fieldName("username") - .fieldType("text") - .text("Email") - .build()) - .prompt(Prompt.builder() - .fieldName("password") - .fieldType("password") - .text("Password") - .build()) - .prompt(Prompt.builder() - .fieldName("passcode") - .fieldType("password") - .text("Temporary Authentication Code (Get on at /passcode)") - .build()) - .ldapDiscoveryEnabled(false) - .branding(Branding.builder() - .banner(Banner.builder() - .backgroundColor("#89cff0") - .link("http://announce.example.com") - .logo("VGVzdFByb2R1Y3RMb2dv") - .text("Announcement") - .textColor("#000000") - .build()) - .companyName("Test Company") - .consent(Consent.builder() - .link("http://policy.example.com") - .text("Some Policy") - .build()) - .footerLegalText("Test footer legal text") - .footerLink("Support", "http://support.example.com") - .productLogo("VGVzdFByb2R1Y3RMb2dv") - .squareLogo("VGVzdFNxdWFyZUxvZ28=") - .build()) - .accountChooserEnabled(false) - .issuer("http://localhost:8080/uaa") - .mfaConfig(MfaConfig.builder() - .enabled(false) - .identityProvider(Type.INTERNAL) - .identityProvider(Type.LDAP) - .build()) - .userConfig(UserConfig.builder() - .defaultGroups(Arrays.asList("openid", "password.write", "uaa.user", "approvals.me", "profile", "roles", "user_attributes", "uaa.offline_token")) - .build()) - .build()) - .name("The Twiglet Zone") - .version(0) - .createdAt(1529690486268L) - .lastModified(1529690486268L) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .get(GetIdentityZoneRequest.builder().identityZoneId("twiglet-get").build()) + .as(StepVerifier::create) + .expectNext( + GetIdentityZoneResponse.builder() + .id("twiglet-get") + .subdomain("twiglet-get") + .configuration( + IdentityZoneConfiguration.builder() + .clientSecretPolicy( + ClientSecretPolicy.builder() + .minimumLength(-1) + .maximumLength(-1) + .requireDigit(-1) + .requireLowerCaseCharacter(-1) + .requireSpecialCharacter(-1) + .requireUpperCaseCharacter(-1) + .build()) + .tokenPolicy( + TokenPolicy.builder() + .accessTokenValidity(3600) + .activeKeyId("active-key-1") + .jwtRevocable(false) + .refreshTokenFormat( + RefreshTokenFormat.JWT) + .refreshTokenUnique(false) + .refreshTokenValidity(7200) + .build()) + .samlConfiguration( + SamlConfiguration.builder() + .activeKeyId("legacy-saml-key") + .assertionSigned(true) + .assertionTimeToLive(600) + .certificate( + "-----BEGIN" + + " CERTIFICATE-----\n" + + "MIICEjCCAXsCAg36MA0GCSqGSIb3DQEBBQUAMIGbMQswCQYDVQQGEwJKUDEOMAwG\n" + + "A1UECBMFVG9reW8xEDAOBgNVBAcTB0NodW8ta3UxETAPBgNVBAoTCEZyYW5rNERE\n" + + "MRgwFgYDVQQLEw9XZWJDZXJ0IFN1cHBvcnQxGDAWBgNVBAMTD0ZyYW5rNEREIFdl\n" + + "YiBDQTEjMCEGCSqGSIb3DQEJARYUc3VwcG9ydEBmcmFuazRkZC5jb20wHhcNMTIw\n" + + "ODIyMDUyNjU0WhcNMTcwODIxMDUyNjU0WjBKMQswCQYDVQQGEwJKUDEOMAwGA1UE\n" + + "CAwFVG9reW8xETAPBgNVBAoMCEZyYW5rNEREMRgwFgYDVQQDDA93d3cuZXhhbXBs\n" + + "ZS5jb20wXDANBgkqhkiG9w0BAQEFAANLADBIAkEAm/xmkHmEQrurE/0re/jeFRLl\n" + + "8ZPjBop7uLHhnia7lQG/5zDtZIUC3RVpqDSwBuw/NTweGyuP+o8AG98HxqxTBwID\n" + + "AQABMA0GCSqGSIb3DQEBBQUAA4GBABS2TLuBeTPmcaTaUW/LCB2NYOy8GMdzR1mx\n" + + "8iBIu2H6/E2tiY3RIevV2OW61qY2/XRQg7YPxx3ffeUugX9F4J/iPnnu1zAxxyBy\n" + + "2VguKv4SWjRFoRkIfIlHX0qVviMhSlNy2ioFLy7JcPZb+v3ftDGywUqcBiVDoea0\n" + + "Hn+GmxZA\n" + + "-----END" + + " CERTIFICATE-----\n") + .disableInResponseToCheck(false) + .entityId("cloudfoundry-saml-login") + .key( + "legacy-saml-key", + Key.builder() + .certificate( + "-----BEGIN" + + " CERTIFICATE-----\n" + + "MIICEjCCAXsCAg36MA0GCSqGSIb3DQEBBQUAMIGbMQswCQYDVQQGEwJKUDEOMAwG\n" + + "A1UECBMFVG9reW8xEDAOBgNVBAcTB0NodW8ta3UxETAPBgNVBAoTCEZyYW5rNERE\n" + + "MRgwFgYDVQQLEw9XZWJDZXJ0IFN1cHBvcnQxGDAWBgNVBAMTD0ZyYW5rNEREIFdl\n" + + "YiBDQTEjMCEGCSqGSIb3DQEJARYUc3VwcG9ydEBmcmFuazRkZC5jb20wHhcNMTIw\n" + + "ODIyMDUyNjU0WhcNMTcwODIxMDUyNjU0WjBKMQswCQYDVQQGEwJKUDEOMAwGA1UE\n" + + "CAwFVG9reW8xETAPBgNVBAoMCEZyYW5rNEREMRgwFgYDVQQDDA93d3cuZXhhbXBs\n" + + "ZS5jb20wXDANBgkqhkiG9w0BAQEFAANLADBIAkEAm/xmkHmEQrurE/0re/jeFRLl\n" + + "8ZPjBop7uLHhnia7lQG/5zDtZIUC3RVpqDSwBuw/NTweGyuP+o8AG98HxqxTBwID\n" + + "AQABMA0GCSqGSIb3DQEBBQUAA4GBABS2TLuBeTPmcaTaUW/LCB2NYOy8GMdzR1mx\n" + + "8iBIu2H6/E2tiY3RIevV2OW61qY2/XRQg7YPxx3ffeUugX9F4J/iPnnu1zAxxyBy\n" + + "2VguKv4SWjRFoRkIfIlHX0qVviMhSlNy2ioFLy7JcPZb+v3ftDGywUqcBiVDoea0\n" + + "Hn+GmxZA\n" + + "-----END" + + " CERTIFICATE-----\n") + .build()) + .requestSigned(true) + .wantAssertionSigned(true) + .wantPartnerAuthenticationRequestSigned( + false) + .build()) + .corsPolicy( + CorsPolicy.builder() + .xhrConfiguration( + CorsConfiguration.builder() + .allowedOrigin(".*") + .allowedUri(".*") + .allowedHeader( + "Accept") + .allowedHeader( + "Authorization") + .allowedHeader( + "Content-Type") + .allowedMethod( + "GET") + .allowedCredentials( + false) + .maxAge(1728000L) + .build()) + .defaultConfiguration( + CorsConfiguration.builder() + .allowedOrigin(".*") + .allowedUri(".*") + .allowedHeader( + "Accept") + .allowedHeader( + "Authorization") + .allowedHeader( + "Content-Type") + .allowedMethod( + "GET") + .allowedCredentials( + false) + .maxAge(1728000L) + .build()) + .build()) + .links( + Links.builder() + .logout( + LogoutLink.builder() + .redirectUrl( + "/login") + .redirectParameterName( + "redirect") + .disableRedirectParameter( + false) + .build()) + .homeRedirect( + "http://my.hosted.homepage.com/") + .selfService( + SelfServiceLink.builder() + .selfServiceLinksEnabled( + true) + .build()) + .build()) + .prompt( + Prompt.builder() + .fieldName("username") + .fieldType("text") + .text("Email") + .build()) + .prompt( + Prompt.builder() + .fieldName("password") + .fieldType("password") + .text("Password") + .build()) + .prompt( + Prompt.builder() + .fieldName("passcode") + .fieldType("password") + .text( + "Temporary Authentication" + + " Code (Get on at" + + " /passcode)") + .build()) + .ldapDiscoveryEnabled(false) + .branding( + Branding.builder() + .banner( + Banner.builder() + .backgroundColor( + "#89cff0") + .link( + "http://announce.example.com") + .logo( + "VGVzdFByb2R1Y3RMb2dv") + .text( + "Announcement") + .textColor( + "#000000") + .build()) + .companyName("Test Company") + .consent( + Consent.builder() + .link( + "http://policy.example.com") + .text("Some Policy") + .build()) + .footerLegalText( + "Test footer legal text") + .footerLink( + "Support", + "http://support.example.com") + .productLogo("VGVzdFByb2R1Y3RMb2dv") + .squareLogo("VGVzdFNxdWFyZUxvZ28=") + .build()) + .accountChooserEnabled(false) + .issuer("http://localhost:8080/uaa") + .mfaConfig( + MfaConfig.builder() + .enabled(false) + .identityProvider(Type.INTERNAL) + .identityProvider(Type.LDAP) + .build()) + .userConfig( + UserConfig.builder() + .defaultGroups( + Arrays.asList( + "openid", + "password.write", + "uaa.user", + "approvals.me", + "profile", + "roles", + "user_attributes", + "uaa.offline_token")) + .build()) + .build()) + .name("The Twiglet Zone") + .version(0) + .createdAt(1529690486268L) + .lastModified(1529690486268L) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void list() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/identity-zones") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/uaa/identity-zones/GET_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request(TestRequest.builder().method(GET).path("/identity-zones").build()) + .response( + TestResponse.builder() + .status(OK) + .payload("fixtures/uaa/identity-zones/GET_response.json") + .build()) + .build()); this.identityZones - .list(ListIdentityZonesRequest.builder() - .build()) - .as(StepVerifier::create) - .expectNext(ListIdentityZonesResponse.builder() - .identityZone(IdentityZone.builder() - .id("15wtczzd") - .subdomain("15wtczzd") - .configuration(IdentityZoneConfiguration.builder() - .clientLockoutPolicy(ClientLockoutPolicy.builder() - .lockoutPeriodSeconds(-1) - .lockoutAfterFailures(-1) - .countFailuresWithin(-1) - .build()) - .tokenPolicy(TokenPolicy.builder() - .accessTokenValidity(-1) - .refreshTokenValidity(-1) - .jwtRevocable(false) - .keys(Collections.emptyMap()) - .build()) - .samlConfiguration(SamlConfiguration.builder() - .assertionSigned(true) - .requestSigned(true) - .wantAssertionSigned(true) - .wantPartnerAuthenticationRequestSigned(false) - .assertionTimeToLive(600) - .build()) - .corsPolicy(CorsPolicy.builder() - .xhrConfiguration(CorsConfiguration.builder() - .allowedOrigin(".*") - .allowedUri(".*") - .allowedHeader("Accept") - .allowedHeader("Authorization") - .allowedHeader("Content-Type") - .allowedMethod("GET") - .allowedCredentials(false) - .maxAge(1728000L) - .build()) - .defaultConfiguration(CorsConfiguration.builder() - .allowedOrigin(".*") - .allowedUri(".*") - .allowedHeader("Accept") - .allowedHeader("Authorization") - .allowedHeader("Content-Type") - .allowedMethod("GET") - .allowedCredentials(false) - .maxAge(1728000L) - .build()) - .build()) - .links(Links.builder() - .logout(LogoutLink.builder() - .redirectUrl("/login") - .redirectParameterName("redirect") - .disableRedirectParameter(true) + .list(ListIdentityZonesRequest.builder().build()) + .as(StepVerifier::create) + .expectNext( + ListIdentityZonesResponse.builder() + .identityZone( + IdentityZone.builder() + .id("15wtczzd") + .subdomain("15wtczzd") + .configuration( + IdentityZoneConfiguration.builder() + .clientLockoutPolicy( + ClientLockoutPolicy + .builder() + .lockoutPeriodSeconds( + -1) + .lockoutAfterFailures( + -1) + .countFailuresWithin( + -1) + .build()) + .tokenPolicy( + TokenPolicy.builder() + .accessTokenValidity( + -1) + .refreshTokenValidity( + -1) + .jwtRevocable(false) + .keys( + Collections + .emptyMap()) + .build()) + .samlConfiguration( + SamlConfiguration.builder() + .assertionSigned( + true) + .requestSigned(true) + .wantAssertionSigned( + true) + .wantPartnerAuthenticationRequestSigned( + false) + .assertionTimeToLive( + 600) + .build()) + .corsPolicy( + CorsPolicy.builder() + .xhrConfiguration( + CorsConfiguration + .builder() + .allowedOrigin( + ".*") + .allowedUri( + ".*") + .allowedHeader( + "Accept") + .allowedHeader( + "Authorization") + .allowedHeader( + "Content-Type") + .allowedMethod( + "GET") + .allowedCredentials( + false) + .maxAge( + 1728000L) + .build()) + .defaultConfiguration( + CorsConfiguration + .builder() + .allowedOrigin( + ".*") + .allowedUri( + ".*") + .allowedHeader( + "Accept") + .allowedHeader( + "Authorization") + .allowedHeader( + "Content-Type") + .allowedMethod( + "GET") + .allowedCredentials( + false) + .maxAge( + 1728000L) + .build()) + .build()) + .links( + Links.builder() + .logout( + LogoutLink + .builder() + .redirectUrl( + "/login") + .redirectParameterName( + "redirect") + .disableRedirectParameter( + true) + .build()) + .selfService( + SelfServiceLink + .builder() + .selfServiceLinksEnabled( + true) + .signupLink( + "/create_account") + .resetPasswordLink( + "/forgot_password") + .build()) + .build()) + .prompt( + Prompt.builder() + .fieldName( + "username") + .fieldType("text") + .text("Email") + .build()) + .prompt( + Prompt.builder() + .fieldName( + "password") + .fieldType( + "password") + .text("Password") + .build()) + .prompt( + Prompt.builder() + .fieldName( + "passcode") + .fieldType( + "password") + .text( + "One Time" + + " Code" + + " (Get" + + " on at" + + " /passcode)") + .build()) + .ldapDiscoveryEnabled(false) + .accountChooserEnabled(false) + .build()) + .name("The Twiglet Zone") + .version(0) + .description("Like the Twilight Zone but tastier.") + .createdAt(1481728053399L) + .lastModified(1481728053399L) + .build()) .build()) - .selfService(SelfServiceLink.builder() - .selfServiceLinksEnabled(true) - .signupLink("/create_account") - .resetPasswordLink("/forgot_password") - .build()) - .build()) - .prompt(Prompt.builder() - .fieldName("username") - .fieldType("text") - .text("Email") - .build()) - .prompt(Prompt.builder() - .fieldName("password") - .fieldType("password") - .text("Password") - .build()) - .prompt(Prompt.builder() - .fieldName("passcode") - .fieldType("password") - .text("One Time Code (Get on at /passcode)") - .build()) - .ldapDiscoveryEnabled(false) - .accountChooserEnabled(false) - .build()) - .name("The Twiglet Zone") - .version(0) - .description("Like the Twilight Zone but tastier.") - .createdAt(1481728053399L) - .lastModified(1481728053399L) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void update() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(PUT).path("/identity-zones/twiglet-update") - .payload("fixtures/uaa/identity-zones/PUT_{id}_request.json") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/uaa/identity-zones/PUT_{id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(PUT) + .path("/identity-zones/twiglet-update") + .payload( + "fixtures/uaa/identity-zones/PUT_{id}_request.json") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/uaa/identity-zones/PUT_{id}_response.json") + .build()) + .build()); this.identityZones - .update(UpdateIdentityZoneRequest.builder() - .identityZoneId("twiglet-update") - .subdomain("twiglet-update") - .configuration(IdentityZoneConfiguration.builder() - .clientLockoutPolicy(ClientLockoutPolicy.builder() - .lockoutPeriodSeconds(-1) - .lockoutAfterFailures(-1) - .countFailuresWithin(-1) - .build()) - .tokenPolicy(TokenPolicy.builder() - .accessTokenValidity(-1) - .refreshTokenValidity(-1) - .jwtRevocable(false) - .key("updatedKeyId", Collections.singletonMap("signingKey", "upD4t3d.s1gNiNg.K3y/t3XT")) - .build()) - .samlConfiguration(SamlConfiguration.builder() - .assertionSigned(true) - .requestSigned(true) - .wantAssertionSigned(true) - .wantPartnerAuthenticationRequestSigned(false) - .assertionTimeToLive(600) - .build()) - .corsPolicy(CorsPolicy.builder() - .xhrConfiguration(CorsConfiguration.builder() - .allowedOrigin(".*") - .allowedUri(".*") - .allowedHeader("Accept") - .allowedHeader("Authorization") - .allowedHeader("Content-Type") - .allowedMethod("GET") - .allowedCredentials(false) - .maxAge(1728000L) - .build()) - .defaultConfiguration(CorsConfiguration.builder() - .allowedOrigin(".*") - .allowedUri(".*") - .allowedHeader("Accept") - .allowedHeader("Authorization") - .allowedHeader("Content-Type") - .allowedMethod("GET") - .allowedCredentials(false) - .maxAge(1728000L) - .build()) - .build()) - .links(Links.builder() - .logout(LogoutLink.builder() - .redirectUrl("/login") - .redirectParameterName("redirect") - .disableRedirectParameter(true) - .build()) - .homeRedirect("http://my.hosted.homepage.com/") - .selfService(SelfServiceLink.builder() - .selfServiceLinksEnabled(true) - .signupLink("/create_account") - .resetPasswordLink("/forgot_password") - .build()) - .build()) - .prompt(Prompt.builder() - .fieldName("username") - .fieldType("text") - .text("Email") - .build()) - .prompt(Prompt.builder() - .fieldName("password") - .fieldType("password") - .text("Password") - .build()) - .prompt(Prompt.builder() - .fieldName("passcode") - .fieldType("password") - .text("One Time Code (Get on at /passcode)") - .build()) - .ldapDiscoveryEnabled(false) - .branding(Branding.builder() - .companyName("Test Company") - .productLogo("VGVzdFByb2R1Y3RMb2dv") - .squareLogo("VGVzdFNxdWFyZUxvZ28=") - .footerLegalText("Test footer legal text") - .footerLink("Support", "http://support.example.com") - .build()) - .accountChooserEnabled(false) - .build()) - .name("The Updated Twiglet Zone") - .version(0) - .description("Like the Twilight Zone but not tastier.") - .createdAt(1481728057246L) - .lastModified(1481728057246L) - .build()) - .as(StepVerifier::create) - .expectNext(UpdateIdentityZoneResponse.builder() - .id("twiglet-update") - .subdomain("twiglet-update") - .configuration(IdentityZoneConfiguration.builder() - .clientLockoutPolicy(ClientLockoutPolicy.builder() - .lockoutPeriodSeconds(-1) - .lockoutAfterFailures(-1) - .countFailuresWithin(-1) - .build()) - .tokenPolicy(TokenPolicy.builder() - .accessTokenValidity(-1) - .refreshTokenValidity(-1) - .jwtRevocable(false) - .key("updatedKeyId", Collections.singletonMap("signingKey", "upD4t3d.s1gNiNg.K3y/t3XT")) - .build()) - .samlConfiguration(SamlConfiguration.builder() - .assertionSigned(true) - .requestSigned(true) - .wantAssertionSigned(true) - .wantPartnerAuthenticationRequestSigned(false) - .assertionTimeToLive(600) - .build()) - .corsPolicy(CorsPolicy.builder() - .xhrConfiguration(CorsConfiguration.builder() - .allowedOrigin(".*") - .allowedUri(".*") - .allowedHeader("Accept") - .allowedHeader("Authorization") - .allowedHeader("Content-Type") - .allowedMethod("GET") - .allowedCredentials(false) - .maxAge(1728000L) - .build()) - .defaultConfiguration(CorsConfiguration.builder() - .allowedOrigin(".*") - .allowedUri(".*") - .allowedHeader("Accept") - .allowedHeader("Authorization") - .allowedHeader("Content-Type") - .allowedMethod("GET") - .allowedCredentials(false) - .maxAge(1728000L) - .build()) - .build()) - .links(Links.builder() - .logout(LogoutLink.builder() - .redirectUrl("/login") - .redirectParameterName("redirect") - .disableRedirectParameter(true) - .build()) - .homeRedirect("http://my.hosted.homepage.com/") - .selfService(SelfServiceLink.builder() - .selfServiceLinksEnabled(true) - .signupLink("/create_account") - .resetPasswordLink("/forgot_password") - .build()) - .build()) - .prompt(Prompt.builder() - .fieldName("username") - .fieldType("text") - .text("Email") - .build()) - .prompt(Prompt.builder() - .fieldName("password") - .fieldType("password") - .text("Password") - .build()) - .prompt(Prompt.builder() - .fieldName("passcode") - .fieldType("password") - .text("One Time Code (Get on at /passcode)") - .build()) - .ldapDiscoveryEnabled(false) - .branding(Branding.builder() - .companyName("Test Company") - .productLogo("VGVzdFByb2R1Y3RMb2dv") - .squareLogo("VGVzdFNxdWFyZUxvZ28=") - .footerLegalText("Test footer legal text") - .footerLink("Support", "http://support.example.com") - .build()) - .accountChooserEnabled(false) - .build()) - .name("The Updated Twiglet Zone") - .version(1) - .description("Like the Twilight Zone but not tastier.") - .createdAt(1481728057213L) - .lastModified(1481728057259L) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .update( + UpdateIdentityZoneRequest.builder() + .identityZoneId("twiglet-update") + .subdomain("twiglet-update") + .configuration( + IdentityZoneConfiguration.builder() + .clientLockoutPolicy( + ClientLockoutPolicy.builder() + .lockoutPeriodSeconds(-1) + .lockoutAfterFailures(-1) + .countFailuresWithin(-1) + .build()) + .tokenPolicy( + TokenPolicy.builder() + .accessTokenValidity(-1) + .refreshTokenValidity(-1) + .jwtRevocable(false) + .key( + "updatedKeyId", + Collections.singletonMap( + "signingKey", + "upD4t3d.s1gNiNg.K3y/t3XT")) + .build()) + .samlConfiguration( + SamlConfiguration.builder() + .assertionSigned(true) + .requestSigned(true) + .wantAssertionSigned(true) + .wantPartnerAuthenticationRequestSigned( + false) + .assertionTimeToLive(600) + .build()) + .corsPolicy( + CorsPolicy.builder() + .xhrConfiguration( + CorsConfiguration.builder() + .allowedOrigin(".*") + .allowedUri(".*") + .allowedHeader( + "Accept") + .allowedHeader( + "Authorization") + .allowedHeader( + "Content-Type") + .allowedMethod( + "GET") + .allowedCredentials( + false) + .maxAge(1728000L) + .build()) + .defaultConfiguration( + CorsConfiguration.builder() + .allowedOrigin(".*") + .allowedUri(".*") + .allowedHeader( + "Accept") + .allowedHeader( + "Authorization") + .allowedHeader( + "Content-Type") + .allowedMethod( + "GET") + .allowedCredentials( + false) + .maxAge(1728000L) + .build()) + .build()) + .links( + Links.builder() + .logout( + LogoutLink.builder() + .redirectUrl( + "/login") + .redirectParameterName( + "redirect") + .disableRedirectParameter( + true) + .build()) + .homeRedirect( + "http://my.hosted.homepage.com/") + .selfService( + SelfServiceLink.builder() + .selfServiceLinksEnabled( + true) + .signupLink( + "/create_account") + .resetPasswordLink( + "/forgot_password") + .build()) + .build()) + .prompt( + Prompt.builder() + .fieldName("username") + .fieldType("text") + .text("Email") + .build()) + .prompt( + Prompt.builder() + .fieldName("password") + .fieldType("password") + .text("Password") + .build()) + .prompt( + Prompt.builder() + .fieldName("passcode") + .fieldType("password") + .text( + "One Time Code (Get on at" + + " /passcode)") + .build()) + .ldapDiscoveryEnabled(false) + .branding( + Branding.builder() + .companyName("Test Company") + .productLogo("VGVzdFByb2R1Y3RMb2dv") + .squareLogo("VGVzdFNxdWFyZUxvZ28=") + .footerLegalText( + "Test footer legal text") + .footerLink( + "Support", + "http://support.example.com") + .build()) + .accountChooserEnabled(false) + .build()) + .name("The Updated Twiglet Zone") + .version(0) + .description("Like the Twilight Zone but not tastier.") + .createdAt(1481728057246L) + .lastModified(1481728057246L) + .build()) + .as(StepVerifier::create) + .expectNext( + UpdateIdentityZoneResponse.builder() + .id("twiglet-update") + .subdomain("twiglet-update") + .configuration( + IdentityZoneConfiguration.builder() + .clientLockoutPolicy( + ClientLockoutPolicy.builder() + .lockoutPeriodSeconds(-1) + .lockoutAfterFailures(-1) + .countFailuresWithin(-1) + .build()) + .tokenPolicy( + TokenPolicy.builder() + .accessTokenValidity(-1) + .refreshTokenValidity(-1) + .jwtRevocable(false) + .key( + "updatedKeyId", + Collections.singletonMap( + "signingKey", + "upD4t3d.s1gNiNg.K3y/t3XT")) + .build()) + .samlConfiguration( + SamlConfiguration.builder() + .assertionSigned(true) + .requestSigned(true) + .wantAssertionSigned(true) + .wantPartnerAuthenticationRequestSigned( + false) + .assertionTimeToLive(600) + .build()) + .corsPolicy( + CorsPolicy.builder() + .xhrConfiguration( + CorsConfiguration.builder() + .allowedOrigin(".*") + .allowedUri(".*") + .allowedHeader( + "Accept") + .allowedHeader( + "Authorization") + .allowedHeader( + "Content-Type") + .allowedMethod( + "GET") + .allowedCredentials( + false) + .maxAge(1728000L) + .build()) + .defaultConfiguration( + CorsConfiguration.builder() + .allowedOrigin(".*") + .allowedUri(".*") + .allowedHeader( + "Accept") + .allowedHeader( + "Authorization") + .allowedHeader( + "Content-Type") + .allowedMethod( + "GET") + .allowedCredentials( + false) + .maxAge(1728000L) + .build()) + .build()) + .links( + Links.builder() + .logout( + LogoutLink.builder() + .redirectUrl( + "/login") + .redirectParameterName( + "redirect") + .disableRedirectParameter( + true) + .build()) + .homeRedirect( + "http://my.hosted.homepage.com/") + .selfService( + SelfServiceLink.builder() + .selfServiceLinksEnabled( + true) + .signupLink( + "/create_account") + .resetPasswordLink( + "/forgot_password") + .build()) + .build()) + .prompt( + Prompt.builder() + .fieldName("username") + .fieldType("text") + .text("Email") + .build()) + .prompt( + Prompt.builder() + .fieldName("password") + .fieldType("password") + .text("Password") + .build()) + .prompt( + Prompt.builder() + .fieldName("passcode") + .fieldType("password") + .text( + "One Time Code (Get on at" + + " /passcode)") + .build()) + .ldapDiscoveryEnabled(false) + .branding( + Branding.builder() + .companyName("Test Company") + .productLogo("VGVzdFByb2R1Y3RMb2dv") + .squareLogo("VGVzdFNxdWFyZUxvZ28=") + .footerLegalText( + "Test footer legal text") + .footerLink( + "Support", + "http://support.example.com") + .build()) + .accountChooserEnabled(false) + .build()) + .name("The Updated Twiglet Zone") + .version(1) + .description("Like the Twilight Zone but not tastier.") + .createdAt(1481728057213L) + .lastModified(1481728057259L) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } - } diff --git a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/uaa/serverinformation/ReactorServerInformationTest.java b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/uaa/serverinformation/ReactorServerInformationTest.java index 380c1c73d3..f08cc1caa3 100644 --- a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/uaa/serverinformation/ReactorServerInformationTest.java +++ b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/uaa/serverinformation/ReactorServerInformationTest.java @@ -16,6 +16,16 @@ package org.cloudfoundry.reactor.uaa.serverinformation; +import static io.netty.handler.codec.http.HttpMethod.GET; +import static io.netty.handler.codec.http.HttpMethod.POST; +import static io.netty.handler.codec.http.HttpResponseStatus.FOUND; +import static io.netty.handler.codec.http.HttpResponseStatus.OK; + +import java.time.Duration; +import java.util.Arrays; +import java.util.Collections; +import java.util.HashMap; +import java.util.Map; import org.cloudfoundry.reactor.InteractionContext; import org.cloudfoundry.reactor.TestRequest; import org.cloudfoundry.reactor.TestResponse; @@ -31,115 +41,118 @@ import org.junit.Test; import reactor.test.StepVerifier; -import java.time.Duration; -import java.util.Arrays; -import java.util.Collections; -import java.util.HashMap; -import java.util.Map; - -import static io.netty.handler.codec.http.HttpMethod.GET; -import static io.netty.handler.codec.http.HttpMethod.POST; -import static io.netty.handler.codec.http.HttpResponseStatus.FOUND; -import static io.netty.handler.codec.http.HttpResponseStatus.OK; - public final class ReactorServerInformationTest extends AbstractUaaApiTest { - private final ReactorServerInformation info = new ReactorServerInformation(CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); + private final ReactorServerInformation info = + new ReactorServerInformation( + CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); @Test public void autoLogin() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/autologin?client_id=admin&code=NaOjAprtCK") - .build()) - .response(TestResponse.builder() - .status(FOUND) - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/autologin?client_id=admin&code=NaOjAprtCK") + .build()) + .response(TestResponse.builder().status(FOUND).build()) + .build()); this.info - .autoLogin(AutoLoginRequest.builder() - .clientId("admin") - .code("NaOjAprtCK") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .autoLogin(AutoLoginRequest.builder().clientId("admin").code("NaOjAprtCK").build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void getAutoLoginAuthenticationCode() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(POST).path("/autologin") - .payload("fixtures/uaa/info/POST_request.json") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/uaa/info/POST_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(POST) + .path("/autologin") + .payload("fixtures/uaa/info/POST_request.json") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload("fixtures/uaa/info/POST_response.json") + .build()) + .build()); this.info - .getAuthenticationCode(GetAutoLoginAuthenticationCodeRequest.builder() - .clientId("admin") - .clientSecret("adminsecret") - .password("koala") - .username("marissa") - .build()) - .as(StepVerifier::create) - .expectNext(GetAutoLoginAuthenticationCodeResponse.builder() - .code("m0R24i7t2s") - .path("/oauth/authorize") - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .getAuthenticationCode( + GetAutoLoginAuthenticationCodeRequest.builder() + .clientId("admin") + .clientSecret("adminsecret") + .password("koala") + .username("marissa") + .build()) + .as(StepVerifier::create) + .expectNext( + GetAutoLoginAuthenticationCodeResponse.builder() + .code("m0R24i7t2s") + .path("/oauth/authorize") + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void getInfo() { Map ipDefinitions = new HashMap<>(); - ipDefinitions.put("SAMLMetadataUrl", "http://localhost:8080/uaa/saml/discovery?returnIDParam=idp&entityID=cloudfoundry-saml-login&idp=SAMLMetadataUrl&isPassive=true"); - ipDefinitions.put("SAML", "http://localhost:8080/uaa/saml/discovery?returnIDParam=idp&entityID=cloudfoundry-saml-login&idp=SAML&isPassive=true"); + ipDefinitions.put( + "SAMLMetadataUrl", + "http://localhost:8080/uaa/saml/discovery?returnIDParam=idp&entityID=cloudfoundry-saml-login&idp=SAMLMetadataUrl&isPassive=true"); + ipDefinitions.put( + "SAML", + "http://localhost:8080/uaa/saml/discovery?returnIDParam=idp&entityID=cloudfoundry-saml-login&idp=SAML&isPassive=true"); - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/info") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/uaa/info/GET_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request(TestRequest.builder().method(GET).path("/info").build()) + .response( + TestResponse.builder() + .status(OK) + .payload("fixtures/uaa/info/GET_response.json") + .build()) + .build()); this.info - .getInfo(GetInfoRequest.builder() - .build()) - .as(StepVerifier::create) - .expectNext(GetInfoResponse.builder() - .app(ApplicationInfo.builder() - .version("4.7.0-SNAPSHOT") - .build()) - .commitId("4bba13c") - .entityId("cloudfoundry-saml-login") - .idpDefinitions(ipDefinitions) - .links(Links.builder() - .login("http://localhost:8080/uaa") - .password("/forgot_password") - .register("/create_account") - .uaa("http://localhost:8080/uaa") - .build()) - .prompts(Prompts.builder() - .passcode(Arrays.asList("password", "One Time Code ( Get one at http://localhost:8080/uaa/passcode )")) - .password(Arrays.asList("password", "Password")) - .username(Arrays.asList("text", "Email")) - .build()) - .showLoginLinks(true) - .timestamp("2017-09-08T23:11:58+0000") - .zoneName("uaa") - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .getInfo(GetInfoRequest.builder().build()) + .as(StepVerifier::create) + .expectNext( + GetInfoResponse.builder() + .app(ApplicationInfo.builder().version("4.7.0-SNAPSHOT").build()) + .commitId("4bba13c") + .entityId("cloudfoundry-saml-login") + .idpDefinitions(ipDefinitions) + .links( + Links.builder() + .login("http://localhost:8080/uaa") + .password("/forgot_password") + .register("/create_account") + .uaa("http://localhost:8080/uaa") + .build()) + .prompts( + Prompts.builder() + .passcode( + Arrays.asList( + "password", + "One Time Code ( Get one at" + + " http://localhost:8080/uaa/passcode" + + " )")) + .password(Arrays.asList("password", "Password")) + .username(Arrays.asList("text", "Email")) + .build()) + .showLoginLinks(true) + .timestamp("2017-09-08T23:11:58+0000") + .zoneName("uaa") + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } - } diff --git a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/uaa/tokens/ReactorTokensTest.java b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/uaa/tokens/ReactorTokensTest.java index 2f0284e9a3..7d68def87b 100644 --- a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/uaa/tokens/ReactorTokensTest.java +++ b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/uaa/tokens/ReactorTokensTest.java @@ -16,6 +16,13 @@ package org.cloudfoundry.reactor.uaa.tokens; +import static io.netty.handler.codec.http.HttpMethod.GET; +import static io.netty.handler.codec.http.HttpMethod.POST; +import static io.netty.handler.codec.http.HttpResponseStatus.OK; + +import java.time.Duration; +import java.util.Arrays; +import java.util.Collections; import org.cloudfoundry.reactor.InteractionContext; import org.cloudfoundry.reactor.TestRequest; import org.cloudfoundry.reactor.TestResponse; @@ -44,350 +51,421 @@ import org.junit.Test; import reactor.test.StepVerifier; -import java.time.Duration; -import java.util.Arrays; -import java.util.Collections; - -import static io.netty.handler.codec.http.HttpMethod.GET; -import static io.netty.handler.codec.http.HttpMethod.POST; -import static io.netty.handler.codec.http.HttpResponseStatus.OK; - public final class ReactorTokensTest extends AbstractUaaApiTest { - private final ReactorTokens tokens = new ReactorTokens(CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); + private final ReactorTokens tokens = + new ReactorTokens( + CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); @Test public void check() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(POST).path("/check_token?scopes=password.write%2Cscim.userids&token=f9f2f98d88e04ff7bb1f69041d3c0346") - .header("Authorization", "Basic YXBwOmFwcGNsaWVudHNlY3JldA==") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/uaa/check/POST_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(POST) + .path( + "/check_token?scopes=password.write%2Cscim.userids&token=f9f2f98d88e04ff7bb1f69041d3c0346") + .header( + "Authorization", + "Basic YXBwOmFwcGNsaWVudHNlY3JldA==") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload("fixtures/uaa/check/POST_response.json") + .build()) + .build()); this.tokens - .check(CheckTokenRequest.builder() - .token("f9f2f98d88e04ff7bb1f69041d3c0346") - .scope("password.write") - .scope("scim.userids") - .clientId("app") - .clientSecret("appclientsecret") - .build()) - .as(StepVerifier::create) - .expectNext(CheckTokenResponse.builder() - .userId("ae77988e-1b25-4e02-87f2-81f98293a356") - .userName("marissa") - .email("marissa@test.org") - .clientId("app") - .expirationTime(1462015244L) - .scopes(Arrays.asList("scim.userids", "openid", "cloud_controller.read", "password.write", "cloud_controller.write")) - .jwtId("f9f2f98d88e04ff7bb1f69041d3c0346") - .audiences(Arrays.asList("app", "scim", "openid", "cloud_controller", "password")) - .subject("ae77988e-1b25-4e02-87f2-81f98293a356") - .issuer("http://localhost:8080/uaa/oauth/token") - .issuedAt(1461972044L) - .cid("app") - .grantType("password") - .authorizedParty("app") - .authorizationTime(1461972044L) - .zoneId("uaa") - .revocationSignature("4e89e4da") - .origin("uaa") - .revocable(true) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .check( + CheckTokenRequest.builder() + .token("f9f2f98d88e04ff7bb1f69041d3c0346") + .scope("password.write") + .scope("scim.userids") + .clientId("app") + .clientSecret("appclientsecret") + .build()) + .as(StepVerifier::create) + .expectNext( + CheckTokenResponse.builder() + .userId("ae77988e-1b25-4e02-87f2-81f98293a356") + .userName("marissa") + .email("marissa@test.org") + .clientId("app") + .expirationTime(1462015244L) + .scopes( + Arrays.asList( + "scim.userids", + "openid", + "cloud_controller.read", + "password.write", + "cloud_controller.write")) + .jwtId("f9f2f98d88e04ff7bb1f69041d3c0346") + .audiences( + Arrays.asList( + "app", + "scim", + "openid", + "cloud_controller", + "password")) + .subject("ae77988e-1b25-4e02-87f2-81f98293a356") + .issuer("http://localhost:8080/uaa/oauth/token") + .issuedAt(1461972044L) + .cid("app") + .grantType("password") + .authorizedParty("app") + .authorizationTime(1461972044L) + .zoneId("uaa") + .revocationSignature("4e89e4da") + .origin("uaa") + .revocable(true) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void getKey() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/token_key") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/uaa/token_key/GET_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request(TestRequest.builder().method(GET).path("/token_key").build()) + .response( + TestResponse.builder() + .status(OK) + .payload("fixtures/uaa/token_key/GET_response.json") + .build()) + .build()); this.tokens - .getKey(GetTokenKeyRequest.builder() - .build()) - .as(StepVerifier::create) - .expectNext(GetTokenKeyResponse.builder() - .id("testKey") - .algorithm("SHA256withRSA") - .value("-----BEGIN PUBLIC KEY-----\n" + - "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0m59l2u9iDnMbrXHfqkO\n" + - "rn2dVQ3vfBJqcDuFUK03d+1PZGbVlNCqnkpIJ8syFppW8ljnWweP7+LiWpRoz0I7\n" + - "fYb3d8TjhV86Y997Fl4DBrxgM6KTJOuE/uxnoDhZQ14LgOU2ckXjOzOdTsnGMKQB\n" + - "LCl0vpcXBtFLMaSbpv1ozi8h7DJyVZ6EnFQZUWGdgTMhDrmqevfx95U/16c5WBDO\n" + - "kqwIn7Glry9n9Suxygbf8g5AzpWcusZgDLIIZ7JTUldBb8qU2a0Dl4mvLZOn4wPo\n" + - "jfj9Cw2QICsc5+Pwf21fP+hzf+1WSRHbnYv8uanRO0gZ8ekGaghM/2H6gqJbo2nI\n" + - "JwIDAQAB\n" + - "-----END PUBLIC KEY-----") - .keyType(KeyType.RSA) - .use("sig") - .n("ANJufZdrvYg5zG61x36pDq59nVUN73wSanA7hVCtN3ftT2Rm1ZTQqp5KSCfLMhaaVvJY51sHj" + - "+/i4lqUaM9CO32G93fE44VfOmPfexZeAwa8YDOikyTrhP7sZ6A4WUNeC4DlNnJF4zsznU7JxjCkASwpdL6XFwbRSzGkm6b9aM4vIewyclWehJxUGVFhnYEzIQ65qnr38feVP9enOVgQzpKsCJ+xpa8vZ/UrscoG3" + - "/IOQM6VnLrGYAyyCGeyU1JXQW/KlNmtA5eJry2Tp+MD6I34/QsNkCArHOfj8H9tXz/oc3/tVkkR252L/Lmp0TtIGfHpBmoITP9h+oKiW6NpyCc=") - .e("AQAB") - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .getKey(GetTokenKeyRequest.builder().build()) + .as(StepVerifier::create) + .expectNext( + GetTokenKeyResponse.builder() + .id("testKey") + .algorithm("SHA256withRSA") + .value( + "-----BEGIN PUBLIC KEY-----\n" + + "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0m59l2u9iDnMbrXHfqkO\n" + + "rn2dVQ3vfBJqcDuFUK03d+1PZGbVlNCqnkpIJ8syFppW8ljnWweP7+LiWpRoz0I7\n" + + "fYb3d8TjhV86Y997Fl4DBrxgM6KTJOuE/uxnoDhZQ14LgOU2ckXjOzOdTsnGMKQB\n" + + "LCl0vpcXBtFLMaSbpv1ozi8h7DJyVZ6EnFQZUWGdgTMhDrmqevfx95U/16c5WBDO\n" + + "kqwIn7Glry9n9Suxygbf8g5AzpWcusZgDLIIZ7JTUldBb8qU2a0Dl4mvLZOn4wPo\n" + + "jfj9Cw2QICsc5+Pwf21fP+hzf+1WSRHbnYv8uanRO0gZ8ekGaghM/2H6gqJbo2nI\n" + + "JwIDAQAB\n" + + "-----END PUBLIC KEY-----") + .keyType(KeyType.RSA) + .use("sig") + .n( + "ANJufZdrvYg5zG61x36pDq59nVUN73wSanA7hVCtN3ftT2Rm1ZTQqp5KSCfLMhaaVvJY51sHj" + + "+/i4lqUaM9CO32G93fE44VfOmPfexZeAwa8YDOikyTrhP7sZ6A4WUNeC4DlNnJF4zsznU7JxjCkASwpdL6XFwbRSzGkm6b9aM4vIewyclWehJxUGVFhnYEzIQ65qnr38feVP9enOVgQzpKsCJ+xpa8vZ/UrscoG3" + + "/IOQM6VnLrGYAyyCGeyU1JXQW/KlNmtA5eJry2Tp+MD6I34/QsNkCArHOfj8H9tXz/oc3/tVkkR252L/Lmp0TtIGfHpBmoITP9h+oKiW6NpyCc=") + .e("AQAB") + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void getTokenByAuthorizationCode() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(POST).path("/oauth/token?code=zI6Z1X&client_id=login&client_secret=loginsecret&redirect_uri=https%3A%2F%2Fuaa.cloudfoundry.com%2Fredirect%2Fcf" + - "&token_format=opaque&grant_type=authorization_code&response_type=token") - .header("Authorization", null) - .header("Content-Type", "application/x-www-form-urlencoded") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/uaa/tokens/GET_response_AC.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(POST) + .path( + "/oauth/token?code=zI6Z1X&client_id=login&client_secret=loginsecret&redirect_uri=https%3A%2F%2Fuaa.cloudfoundry.com%2Fredirect%2Fcf" + + "&token_format=opaque&grant_type=authorization_code&response_type=token") + .header("Authorization", null) + .header("Content-Type", "application/x-www-form-urlencoded") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload("fixtures/uaa/tokens/GET_response_AC.json") + .build()) + .build()); this.tokens - .getByAuthorizationCode(GetTokenByAuthorizationCodeRequest.builder() - .clientId("login") - .clientSecret("loginsecret") - .authorizationCode("zI6Z1X") - .redirectUri("https://uaa.cloudfoundry.com/redirect/cf") - .tokenFormat(TokenFormat.OPAQUE) - .build()) - .as(StepVerifier::create) - .expectNext(GetTokenByAuthorizationCodeResponse.builder() - .accessToken("555e2047bbc849628ff8cbfa7b342274") - .tokenType("bearer") - .refreshToken("555e2047bbc849628ff8cbfa7b342274-r") - .expiresInSeconds(43199) - .scopes("openid oauth.approvals") - .tokenId("555e2047bbc849628ff8cbfa7b342274") - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .getByAuthorizationCode( + GetTokenByAuthorizationCodeRequest.builder() + .clientId("login") + .clientSecret("loginsecret") + .authorizationCode("zI6Z1X") + .redirectUri("https://uaa.cloudfoundry.com/redirect/cf") + .tokenFormat(TokenFormat.OPAQUE) + .build()) + .as(StepVerifier::create) + .expectNext( + GetTokenByAuthorizationCodeResponse.builder() + .accessToken("555e2047bbc849628ff8cbfa7b342274") + .tokenType("bearer") + .refreshToken("555e2047bbc849628ff8cbfa7b342274-r") + .expiresInSeconds(43199) + .scopes("openid oauth.approvals") + .tokenId("555e2047bbc849628ff8cbfa7b342274") + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void getTokenByClientCredentials() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(POST).path("/oauth/token?client_id=login&client_secret=loginsecret&token_format=opaque&grant_type=client_credentials&response_type=token") - .header("Authorization", null) - .header("Content-Type", "application/x-www-form-urlencoded") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/uaa/tokens/GET_response_CC.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(POST) + .path( + "/oauth/token?client_id=login&client_secret=loginsecret&token_format=opaque&grant_type=client_credentials&response_type=token") + .header("Authorization", null) + .header("Content-Type", "application/x-www-form-urlencoded") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload("fixtures/uaa/tokens/GET_response_CC.json") + .build()) + .build()); this.tokens - .getByClientCredentials(GetTokenByClientCredentialsRequest.builder() - .clientId("login") - .clientSecret("loginsecret") - .tokenFormat(TokenFormat.OPAQUE) - .build()) - .as(StepVerifier::create) - .expectNext(GetTokenByClientCredentialsResponse.builder() - .accessToken("f87f93a2666d4e6eaa54e34df86d160c") - .tokenType("bearer") - .expiresInSeconds(43199) - .scopes("clients.read emails.write scim.userids password.write idps.write notifications.write oauth.login scim.write critical_notifications.write") - .tokenId("f87f93a2666d4e6eaa54e34df86d160c") - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .getByClientCredentials( + GetTokenByClientCredentialsRequest.builder() + .clientId("login") + .clientSecret("loginsecret") + .tokenFormat(TokenFormat.OPAQUE) + .build()) + .as(StepVerifier::create) + .expectNext( + GetTokenByClientCredentialsResponse.builder() + .accessToken("f87f93a2666d4e6eaa54e34df86d160c") + .tokenType("bearer") + .expiresInSeconds(43199) + .scopes( + "clients.read emails.write scim.userids password.write" + + " idps.write notifications.write oauth.login" + + " scim.write critical_notifications.write") + .tokenId("f87f93a2666d4e6eaa54e34df86d160c") + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void getTokenByOneTimePasscode() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(POST).path("/oauth/token?client_id=app&client_secret=appclientsecret&passcode=qcZNkd&token_format=opaque&grant_type=password&response_type=token") - .header("Authorization", null) - .header("Content-Type", "application/x-www-form-urlencoded") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/uaa/tokens/GET_response_OT.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(POST) + .path( + "/oauth/token?client_id=app&client_secret=appclientsecret&passcode=qcZNkd&token_format=opaque&grant_type=password&response_type=token") + .header("Authorization", null) + .header("Content-Type", "application/x-www-form-urlencoded") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload("fixtures/uaa/tokens/GET_response_OT.json") + .build()) + .build()); this.tokens - .getByOneTimePasscode(GetTokenByOneTimePasscodeRequest.builder() - .clientId("app") - .clientSecret("appclientsecret") - .passcode("qcZNkd") - .tokenFormat(TokenFormat.OPAQUE) - .build()) - .as(StepVerifier::create) - .expectNext(GetTokenByOneTimePasscodeResponse.builder() - .accessToken("0ddcada64ef742a28badaf4750ef435f") - .tokenType("bearer") - .refreshToken("0ddcada64ef742a28badaf4750ef435f-r") - .expiresInSeconds(43199) - .scopes("scim.userids openid cloud_controller.read password.write cloud_controller.write") - .tokenId("0ddcada64ef742a28badaf4750ef435f") - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .getByOneTimePasscode( + GetTokenByOneTimePasscodeRequest.builder() + .clientId("app") + .clientSecret("appclientsecret") + .passcode("qcZNkd") + .tokenFormat(TokenFormat.OPAQUE) + .build()) + .as(StepVerifier::create) + .expectNext( + GetTokenByOneTimePasscodeResponse.builder() + .accessToken("0ddcada64ef742a28badaf4750ef435f") + .tokenType("bearer") + .refreshToken("0ddcada64ef742a28badaf4750ef435f-r") + .expiresInSeconds(43199) + .scopes( + "scim.userids openid cloud_controller.read password.write" + + " cloud_controller.write") + .tokenId("0ddcada64ef742a28badaf4750ef435f") + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void getTokenByOpenId() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(POST).path("/oauth/token?code=NAlA1d&client_id=app&client_secret=appclientsecret&redirect_uri=https%3A%2F%2Fuaa.cloudfoundry.com%2Fredirect%2Fcf&token_format=opaque" + - "&grant_type=authorization_code&response_type=id_token") - .header("Authorization", null) - .header("Content-Type", "application/x-www-form-urlencoded") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/uaa/tokens/GET_response_OI.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(POST) + .path( + "/oauth/token?code=NAlA1d&client_id=app&client_secret=appclientsecret&redirect_uri=https%3A%2F%2Fuaa.cloudfoundry.com%2Fredirect%2Fcf&token_format=opaque" + + "&grant_type=authorization_code&response_type=id_token") + .header("Authorization", null) + .header("Content-Type", "application/x-www-form-urlencoded") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload("fixtures/uaa/tokens/GET_response_OI.json") + .build()) + .build()); this.tokens - .getByOpenId(GetTokenByOpenIdRequest.builder() - .clientId("app") - .clientSecret("appclientsecret") - .authorizationCode("NAlA1d") - .redirectUri("https://uaa.cloudfoundry.com/redirect/cf") - .tokenFormat(TokenFormat.OPAQUE) - .build()) - .as(StepVerifier::create) - .expectNext(GetTokenByOpenIdResponse.builder() - .accessToken("53a58e6581ee49d08f9e572f673bc8db") - .tokenType("bearer") - .openIdToken("eyJhbGciOiJIUzI1NiIsImtpZCI6ImxlZ2FjeS10b2tlbi1rZXkiLC") - .refreshToken("53a58e6581ee49d08f9e572f673bc8db-r") - .expiresInSeconds(43199) - .scopes("openid oauth.approvals") - .tokenId("53a58e6581ee49d08f9e572f673bc8db") - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .getByOpenId( + GetTokenByOpenIdRequest.builder() + .clientId("app") + .clientSecret("appclientsecret") + .authorizationCode("NAlA1d") + .redirectUri("https://uaa.cloudfoundry.com/redirect/cf") + .tokenFormat(TokenFormat.OPAQUE) + .build()) + .as(StepVerifier::create) + .expectNext( + GetTokenByOpenIdResponse.builder() + .accessToken("53a58e6581ee49d08f9e572f673bc8db") + .tokenType("bearer") + .openIdToken( + "eyJhbGciOiJIUzI1NiIsImtpZCI6ImxlZ2FjeS10b2tlbi1rZXkiLC") + .refreshToken("53a58e6581ee49d08f9e572f673bc8db-r") + .expiresInSeconds(43199) + .scopes("openid oauth.approvals") + .tokenId("53a58e6581ee49d08f9e572f673bc8db") + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void getTokenByPassword() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(POST).path("/oauth/token?client_id=app&client_secret=appclientsecret&password=secr3T&token_format=opaque&" + - "username=jENeJj%40test.org&grant_type=password&response_type=token") - .header("Authorization", null) - .header("Content-Type", "application/x-www-form-urlencoded") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/uaa/tokens/GET_response_PW.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(POST) + .path( + "/oauth/token?client_id=app&client_secret=appclientsecret&password=secr3T&token_format=opaque&" + + "username=jENeJj%40test.org&grant_type=password&response_type=token") + .header("Authorization", null) + .header("Content-Type", "application/x-www-form-urlencoded") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload("fixtures/uaa/tokens/GET_response_PW.json") + .build()) + .build()); this.tokens - .getByPassword(GetTokenByPasswordRequest.builder() - .clientId("app") - .clientSecret("appclientsecret") - .password("secr3T") - .tokenFormat(TokenFormat.OPAQUE) - .username("jENeJj@test.org") - .build()) - .as(StepVerifier::create) - .expectNext(GetTokenByPasswordResponse.builder() - .accessToken("cd37a35114084fafb83d21c6f2af0e84") - .tokenType("bearer") - .refreshToken("cd37a35114084fafb83d21c6f2af0e84-r") - .expiresInSeconds(43199) - .scopes("scim.userids openid cloud_controller.read password.write cloud_controller.write") - .tokenId("cd37a35114084fafb83d21c6f2af0e84") - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .getByPassword( + GetTokenByPasswordRequest.builder() + .clientId("app") + .clientSecret("appclientsecret") + .password("secr3T") + .tokenFormat(TokenFormat.OPAQUE) + .username("jENeJj@test.org") + .build()) + .as(StepVerifier::create) + .expectNext( + GetTokenByPasswordResponse.builder() + .accessToken("cd37a35114084fafb83d21c6f2af0e84") + .tokenType("bearer") + .refreshToken("cd37a35114084fafb83d21c6f2af0e84-r") + .expiresInSeconds(43199) + .scopes( + "scim.userids openid cloud_controller.read password.write" + + " cloud_controller.write") + .tokenId("cd37a35114084fafb83d21c6f2af0e84") + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void listKeys() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/token_keys") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/uaa/token_keys/GET_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request(TestRequest.builder().method(GET).path("/token_keys").build()) + .response( + TestResponse.builder() + .status(OK) + .payload("fixtures/uaa/token_keys/GET_response.json") + .build()) + .build()); this.tokens - .listKeys(ListTokenKeysRequest.builder() - .build()) - .as(StepVerifier::create) - .expectNext(ListTokenKeysResponse.builder() - .key(TokenKey.builder() - .id("testKey") - .algorithm("SHA256withRSA") - .value("-----BEGIN PUBLIC KEY-----\n" + - "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0m59l2u9iDnMbrXHfqkO\n" + - "rn2dVQ3vfBJqcDuFUK03d+1PZGbVlNCqnkpIJ8syFppW8ljnWweP7+LiWpRoz0I7\n" + - "fYb3d8TjhV86Y997Fl4DBrxgM6KTJOuE/uxnoDhZQ14LgOU2ckXjOzOdTsnGMKQB\n" + - "LCl0vpcXBtFLMaSbpv1ozi8h7DJyVZ6EnFQZUWGdgTMhDrmqevfx95U/16c5WBDO\n" + - "kqwIn7Glry9n9Suxygbf8g5AzpWcusZgDLIIZ7JTUldBb8qU2a0Dl4mvLZOn4wPo\n" + - "jfj9Cw2QICsc5+Pwf21fP+hzf+1WSRHbnYv8uanRO0gZ8ekGaghM/2H6gqJbo2nI\n" + - "JwIDAQAB\n" + - "-----END PUBLIC KEY-----") - .keyType(KeyType.RSA) - .use("sig") - .n("ANJufZdrvYg5zG61x36pDq59nVUN73wSanA7hVCtN3ftT2Rm1ZTQqp5KSCfLMhaaVvJY51sHj" + - "+/i4lqUaM9CO32G93fE44VfOmPfexZeAwa8YDOikyTrhP7sZ6A4WUNeC4DlNnJF4zsznU7JxjCkASwpdL6XFwbRSzGkm6b9aM4vIewyclWehJxUGVFhnYEzIQ65qnr38feVP9enOVgQzpKsCJ+xpa8vZ/UrscoG3" + - "/IOQM6VnLrGYAyyCGeyU1JXQW/KlNmtA5eJry2Tp+MD6I34/QsNkCArHOfj8H9tXz/oc3/tVkkR252L/Lmp0TtIGfHpBmoITP9h+oKiW6NpyCc=") - .e("AQAB") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .listKeys(ListTokenKeysRequest.builder().build()) + .as(StepVerifier::create) + .expectNext( + ListTokenKeysResponse.builder() + .key( + TokenKey.builder() + .id("testKey") + .algorithm("SHA256withRSA") + .value( + "-----BEGIN PUBLIC KEY-----\n" + + "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0m59l2u9iDnMbrXHfqkO\n" + + "rn2dVQ3vfBJqcDuFUK03d+1PZGbVlNCqnkpIJ8syFppW8ljnWweP7+LiWpRoz0I7\n" + + "fYb3d8TjhV86Y997Fl4DBrxgM6KTJOuE/uxnoDhZQ14LgOU2ckXjOzOdTsnGMKQB\n" + + "LCl0vpcXBtFLMaSbpv1ozi8h7DJyVZ6EnFQZUWGdgTMhDrmqevfx95U/16c5WBDO\n" + + "kqwIn7Glry9n9Suxygbf8g5AzpWcusZgDLIIZ7JTUldBb8qU2a0Dl4mvLZOn4wPo\n" + + "jfj9Cw2QICsc5+Pwf21fP+hzf+1WSRHbnYv8uanRO0gZ8ekGaghM/2H6gqJbo2nI\n" + + "JwIDAQAB\n" + + "-----END PUBLIC KEY-----") + .keyType(KeyType.RSA) + .use("sig") + .n( + "ANJufZdrvYg5zG61x36pDq59nVUN73wSanA7hVCtN3ftT2Rm1ZTQqp5KSCfLMhaaVvJY51sHj" + + "+/i4lqUaM9CO32G93fE44VfOmPfexZeAwa8YDOikyTrhP7sZ6A4WUNeC4DlNnJF4zsznU7JxjCkASwpdL6XFwbRSzGkm6b9aM4vIewyclWehJxUGVFhnYEzIQ65qnr38feVP9enOVgQzpKsCJ+xpa8vZ/UrscoG3" + + "/IOQM6VnLrGYAyyCGeyU1JXQW/KlNmtA5eJry2Tp+MD6I34/QsNkCArHOfj8H9tXz/oc3/tVkkR252L/Lmp0TtIGfHpBmoITP9h+oKiW6NpyCc=") + .e("AQAB") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void refreshToken() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(POST).path("/oauth/token?client_id=app&client_secret=appclientsecret&refresh_token=6af5fc07a8b74c2eafb0079ff477bb11-r&token_format=opaque&grant_type=refresh_token") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/uaa/tokens/GET_refresh_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(POST) + .path( + "/oauth/token?client_id=app&client_secret=appclientsecret&refresh_token=6af5fc07a8b74c2eafb0079ff477bb11-r&token_format=opaque&grant_type=refresh_token") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload("fixtures/uaa/tokens/GET_refresh_response.json") + .build()) + .build()); this.tokens - .refresh(RefreshTokenRequest.builder() - .clientId("app") - .clientSecret("appclientsecret") - .refreshToken("6af5fc07a8b74c2eafb0079ff477bb11-r") - .tokenFormat(TokenFormat.OPAQUE) - .build()) - .as(StepVerifier::create) - .expectNext(RefreshTokenResponse.builder() - .accessToken("eyJhbGciOiJIUzI1NiIsImtpZCI6Imx") - .tokenType("bearer") - .refreshToken("eyJhbGciOiJIUzI1NiIsImtpZCI6Imx_E") - .expiresInSeconds(43199) - .scopes("scim.userids cloud_controller.read password.write cloud_controller.write openid") - .tokenId("6af5fc07a8b74c2eafb0079ff477bb11") - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .refresh( + RefreshTokenRequest.builder() + .clientId("app") + .clientSecret("appclientsecret") + .refreshToken("6af5fc07a8b74c2eafb0079ff477bb11-r") + .tokenFormat(TokenFormat.OPAQUE) + .build()) + .as(StepVerifier::create) + .expectNext( + RefreshTokenResponse.builder() + .accessToken("eyJhbGciOiJIUzI1NiIsImtpZCI6Imx") + .tokenType("bearer") + .refreshToken("eyJhbGciOiJIUzI1NiIsImtpZCI6Imx_E") + .expiresInSeconds(43199) + .scopes( + "scim.userids cloud_controller.read password.write" + + " cloud_controller.write openid") + .tokenId("6af5fc07a8b74c2eafb0079ff477bb11") + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } - } diff --git a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/uaa/users/ReactorUsersTest.java b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/uaa/users/ReactorUsersTest.java index 9698c09d11..1828b33faa 100644 --- a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/uaa/users/ReactorUsersTest.java +++ b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/uaa/users/ReactorUsersTest.java @@ -16,6 +16,20 @@ package org.cloudfoundry.reactor.uaa.users; +import static io.netty.handler.codec.http.HttpMethod.DELETE; +import static io.netty.handler.codec.http.HttpMethod.GET; +import static io.netty.handler.codec.http.HttpMethod.PATCH; +import static io.netty.handler.codec.http.HttpMethod.POST; +import static io.netty.handler.codec.http.HttpMethod.PUT; +import static io.netty.handler.codec.http.HttpResponseStatus.OK; +import static org.cloudfoundry.uaa.SortOrder.ASCENDING; +import static org.cloudfoundry.uaa.SortOrder.DESCENDING; +import static org.cloudfoundry.uaa.users.ApprovalStatus.APPROVED; +import static org.cloudfoundry.uaa.users.ApprovalStatus.DENIED; +import static org.cloudfoundry.uaa.users.MembershipType.DIRECT; + +import java.time.Duration; +import java.util.Collections; import org.cloudfoundry.reactor.InteractionContext; import org.cloudfoundry.reactor.TestRequest; import org.cloudfoundry.reactor.TestResponse; @@ -54,748 +68,886 @@ import org.junit.Test; import reactor.test.StepVerifier; -import java.time.Duration; -import java.util.Collections; - -import static io.netty.handler.codec.http.HttpMethod.DELETE; -import static io.netty.handler.codec.http.HttpMethod.GET; -import static io.netty.handler.codec.http.HttpMethod.PATCH; -import static io.netty.handler.codec.http.HttpMethod.POST; -import static io.netty.handler.codec.http.HttpMethod.PUT; -import static io.netty.handler.codec.http.HttpResponseStatus.OK; -import static org.cloudfoundry.uaa.SortOrder.ASCENDING; -import static org.cloudfoundry.uaa.SortOrder.DESCENDING; -import static org.cloudfoundry.uaa.users.ApprovalStatus.APPROVED; -import static org.cloudfoundry.uaa.users.ApprovalStatus.DENIED; -import static org.cloudfoundry.uaa.users.MembershipType.DIRECT; - public final class ReactorUsersTest extends AbstractUaaApiTest { - private final ReactorUsers users = new ReactorUsers(CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); + private final ReactorUsers users = + new ReactorUsers(CONNECTION_CONTEXT, this.root, TOKEN_PROVIDER, Collections.emptyMap()); @Test public void changePassword() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(PUT).path("/Users/9140c37c-c5d9-4c4d-a265-b6fe2f9dd02d/password") - .payload("fixtures/uaa/users/PUT_request.json") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/uaa/users/PUT_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(PUT) + .path( + "/Users/9140c37c-c5d9-4c4d-a265-b6fe2f9dd02d/password") + .payload("fixtures/uaa/users/PUT_request.json") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload("fixtures/uaa/users/PUT_response.json") + .build()) + .build()); this.users - .changePassword(ChangeUserPasswordRequest.builder() - .oldPassword("secret") - .password("newsecret") - .userId("9140c37c-c5d9-4c4d-a265-b6fe2f9dd02d") - .build()) - .as(StepVerifier::create) - .expectNext(ChangeUserPasswordResponse.builder() - .status("ok") - .message("password updated") - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .changePassword( + ChangeUserPasswordRequest.builder() + .oldPassword("secret") + .password("newsecret") + .userId("9140c37c-c5d9-4c4d-a265-b6fe2f9dd02d") + .build()) + .as(StepVerifier::create) + .expectNext( + ChangeUserPasswordResponse.builder() + .status("ok") + .message("password updated") + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void create() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(POST).path("/Users") - .payload("fixtures/uaa/users/POST_request.json") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/uaa/users/POST_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(POST) + .path("/Users") + .payload("fixtures/uaa/users/POST_request.json") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload("fixtures/uaa/users/POST_response.json") + .build()) + .build()); this.users - .create(CreateUserRequest.builder() - .externalId("test-user") - .userName("ZO6FEI@test.org") - .name(Name.builder() - .familyName("family name") - .givenName("given name") - .build()) - .email(Email.builder() - .value("ZO6FEI@test.org") - .primary(true) - .build()) - .phoneNumber(PhoneNumber.builder() - .value("5555555555") - .build()) - .active(true) - .verified(true) - .origin("") - .password("secret") - .build()) - .as(StepVerifier::create) - .expectNext(CreateUserResponse.builder() - .id("9d175c69-8f25-4460-82d7-be9657f87a68") - .externalId("test-user") - .meta(Meta.builder() - .version(0) - .created("2016-05-18T18:25:24.559Z") - .lastModified("2016-05-18T18:25:24.559Z") - .build()) - .userName("ZO6FEI@test.org") - .name(Name.builder() - .familyName("family name") - .givenName("given name") - .build()) - .email(Email.builder() - .value("ZO6FEI@test.org") - .primary(false) - .build()) - .phoneNumber(PhoneNumber.builder() - .value("5555555555") - .build()) - .group(Group.builder() - .value("4622c5e1-ddfd-4e17-9e81-2ae3c03972be") - .display("password.write") - .type(DIRECT) - .build()) - .group(Group.builder() - .value("62f67643-05d8-43c6-b193-4cd6ab9960cb") - .display("cloud_controller.write") - .type(DIRECT) - .build()) - .group(Group.builder() - .value("c47bf470-f9c4-4eea-97e4-490ce7b8f6f7") - .display("uaa.user") - .type(DIRECT) - .build()) - .group(Group.builder() - .value("8a6add1f-d3ee-400c-a263-c4197351b78e") - .display("approvals.me") - .type(DIRECT) - .build()) - .group(Group.builder() - .value("e10424ed-ed80-45ac-848b-7f7e79b00c42") - .display("cloud_controller.read") - .type(DIRECT) - .build()) - .group(Group.builder() - .value("ede11441-6ffe-4510-81f8-bb40626155f0") - .display("openid") - .type(DIRECT) - .build()) - .group(Group.builder() - .value("7e3d4b06-0d6b-43a1-ac3a-5f1b2642262c") - .display("scim.me") - .type(DIRECT) - .build()) - .group(Group.builder() - .value("3b481f3c-d9a7-4920-a687-72cb0381b671") - .display("cloud_controller_service_permissions.read") - .type(DIRECT) - .build()) - .group(Group.builder() - .value("4480c647-4047-4c6a-877f-70f5f96e8c11") - .display("oauth.approvals") - .type(DIRECT) - .build()) - .group(Group.builder() - .value("542bb178-1c04-4bb5-813a-5a038319ac1d") - .display("user_attributes") - .type(DIRECT) - .build()) - .group(Group.builder() - .value("c4ac4653-2fdd-4901-a028-9c9866cb4e9c") - .display("scim.userids") - .type(DIRECT) - .build()) - .group(Group.builder() - .value("74fde138-daf3-4e4d-bb52-93a6cb727030") - .display("profile") - .type(DIRECT) - .build()) - .group(Group.builder() - .value("1b18551f-eead-4076-90dd-b464998f6ddd") - .display("roles") - .type(DIRECT) - .build()) - .active(true) - .verified(true) - .origin("uaa") - .zoneId("uaa") - .passwordLastModified("2016-05-18T18:25:24.000Z") - .schemas(Collections.singletonList("urn:scim:schemas:core:1.0")) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .create( + CreateUserRequest.builder() + .externalId("test-user") + .userName("ZO6FEI@test.org") + .name( + Name.builder() + .familyName("family name") + .givenName("given name") + .build()) + .email( + Email.builder() + .value("ZO6FEI@test.org") + .primary(true) + .build()) + .phoneNumber(PhoneNumber.builder().value("5555555555").build()) + .active(true) + .verified(true) + .origin("") + .password("secret") + .build()) + .as(StepVerifier::create) + .expectNext( + CreateUserResponse.builder() + .id("9d175c69-8f25-4460-82d7-be9657f87a68") + .externalId("test-user") + .meta( + Meta.builder() + .version(0) + .created("2016-05-18T18:25:24.559Z") + .lastModified("2016-05-18T18:25:24.559Z") + .build()) + .userName("ZO6FEI@test.org") + .name( + Name.builder() + .familyName("family name") + .givenName("given name") + .build()) + .email( + Email.builder() + .value("ZO6FEI@test.org") + .primary(false) + .build()) + .phoneNumber(PhoneNumber.builder().value("5555555555").build()) + .group( + Group.builder() + .value("4622c5e1-ddfd-4e17-9e81-2ae3c03972be") + .display("password.write") + .type(DIRECT) + .build()) + .group( + Group.builder() + .value("62f67643-05d8-43c6-b193-4cd6ab9960cb") + .display("cloud_controller.write") + .type(DIRECT) + .build()) + .group( + Group.builder() + .value("c47bf470-f9c4-4eea-97e4-490ce7b8f6f7") + .display("uaa.user") + .type(DIRECT) + .build()) + .group( + Group.builder() + .value("8a6add1f-d3ee-400c-a263-c4197351b78e") + .display("approvals.me") + .type(DIRECT) + .build()) + .group( + Group.builder() + .value("e10424ed-ed80-45ac-848b-7f7e79b00c42") + .display("cloud_controller.read") + .type(DIRECT) + .build()) + .group( + Group.builder() + .value("ede11441-6ffe-4510-81f8-bb40626155f0") + .display("openid") + .type(DIRECT) + .build()) + .group( + Group.builder() + .value("7e3d4b06-0d6b-43a1-ac3a-5f1b2642262c") + .display("scim.me") + .type(DIRECT) + .build()) + .group( + Group.builder() + .value("3b481f3c-d9a7-4920-a687-72cb0381b671") + .display( + "cloud_controller_service_permissions.read") + .type(DIRECT) + .build()) + .group( + Group.builder() + .value("4480c647-4047-4c6a-877f-70f5f96e8c11") + .display("oauth.approvals") + .type(DIRECT) + .build()) + .group( + Group.builder() + .value("542bb178-1c04-4bb5-813a-5a038319ac1d") + .display("user_attributes") + .type(DIRECT) + .build()) + .group( + Group.builder() + .value("c4ac4653-2fdd-4901-a028-9c9866cb4e9c") + .display("scim.userids") + .type(DIRECT) + .build()) + .group( + Group.builder() + .value("74fde138-daf3-4e4d-bb52-93a6cb727030") + .display("profile") + .type(DIRECT) + .build()) + .group( + Group.builder() + .value("1b18551f-eead-4076-90dd-b464998f6ddd") + .display("roles") + .type(DIRECT) + .build()) + .active(true) + .verified(true) + .origin("uaa") + .zoneId("uaa") + .passwordLastModified("2016-05-18T18:25:24.000Z") + .schemas(Collections.singletonList("urn:scim:schemas:core:1.0")) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void delete() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(DELETE).path("/Users/421225f4-318e-4a4d-9219-4b6a0ed3678a") - .header("If-Match", "*") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/uaa/users/DELETE_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(DELETE) + .path("/Users/421225f4-318e-4a4d-9219-4b6a0ed3678a") + .header("If-Match", "*") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload("fixtures/uaa/users/DELETE_response.json") + .build()) + .build()); this.users - .delete(DeleteUserRequest.builder() - .userId("421225f4-318e-4a4d-9219-4b6a0ed3678a") - .version("*") - .build()) - .as(StepVerifier::create) - .expectNext(DeleteUserResponse.builder() - .id("421225f4-318e-4a4d-9219-4b6a0ed3678a") - .externalId("test-user") - .meta(Meta.builder() - .version(0) - .created("2016-05-18T18:25:23.102Z") - .lastModified("2016-05-18T18:25:23.102Z") - .build()) - .userName("7Q4Rqr@test.org") - .name(Name.builder() - .familyName("family name") - .givenName("given name") - .build()) - .email(Email.builder() - .value("7Q4Rqr@test.org") - .primary(false) - .build()) - .group(Group.builder() - .value("4622c5e1-ddfd-4e17-9e81-2ae3c03972be") - .display("password.write") - .type(DIRECT) - .build()) - .group(Group.builder() - .value("62f67643-05d8-43c6-b193-4cd6ab9960cb") - .display("cloud_controller.write") - .type(DIRECT) - .build()) - .group(Group.builder() - .value("c47bf470-f9c4-4eea-97e4-490ce7b8f6f7") - .display("uaa.user") - .type(DIRECT) - .build()) - .group(Group.builder() - .value("8a6add1f-d3ee-400c-a263-c4197351b78e") - .display("approvals.me") - .type(DIRECT) - .build()) - .group(Group.builder() - .value("e10424ed-ed80-45ac-848b-7f7e79b00c42") - .display("cloud_controller.read") - .type(DIRECT) - .build()) - .group(Group.builder() - .value("ede11441-6ffe-4510-81f8-bb40626155f0") - .display("openid") - .type(DIRECT) - .build()) - .group(Group.builder() - .value("7e3d4b06-0d6b-43a1-ac3a-5f1b2642262c") - .display("scim.me") - .type(DIRECT) - .build()) - .group(Group.builder() - .value("3b481f3c-d9a7-4920-a687-72cb0381b671") - .display("cloud_controller_service_permissions.read") - .type(DIRECT) - .build()) - .group(Group.builder() - .value("4480c647-4047-4c6a-877f-70f5f96e8c11") - .display("oauth.approvals") - .type(DIRECT) - .build()) - .group(Group.builder() - .value("542bb178-1c04-4bb5-813a-5a038319ac1d") - .display("user_attributes") - .type(DIRECT) - .build()) - .group(Group.builder() - .value("c4ac4653-2fdd-4901-a028-9c9866cb4e9c") - .display("scim.userids") - .type(DIRECT) - .build()) - .group(Group.builder() - .value("74fde138-daf3-4e4d-bb52-93a6cb727030") - .display("profile") - .type(DIRECT) - .build()) - .group(Group.builder() - .value("1b18551f-eead-4076-90dd-b464998f6ddd") - .display("roles") - .type(DIRECT) - .build()) - .approval(Approval.builder() - .userId("421225f4-318e-4a4d-9219-4b6a0ed3678a") - .clientId("identity") - .scope("uaa.user") - .status(APPROVED) - .lastUpdatedAt("2016-05-18T18:25:53.114Z") - .expiresAt("2016-05-18T18:25:53.114Z") - .build()) - .approval(Approval.builder() - .userId("421225f4-318e-4a4d-9219-4b6a0ed3678a") - .clientId("client id") - .scope("scim.read") - .status(APPROVED) - .lastUpdatedAt("2016-05-18T18:25:23.112Z") - .expiresAt("2016-05-18T18:25:33.112Z") - .build()) - .active(true) - .verified(true) - .origin("uaa") - .zoneId("uaa") - .passwordLastModified("2016-05-18T18:25:23.000Z") - .schemas(Collections.singletonList("urn:scim:schemas:core:1.0")) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .delete( + DeleteUserRequest.builder() + .userId("421225f4-318e-4a4d-9219-4b6a0ed3678a") + .version("*") + .build()) + .as(StepVerifier::create) + .expectNext( + DeleteUserResponse.builder() + .id("421225f4-318e-4a4d-9219-4b6a0ed3678a") + .externalId("test-user") + .meta( + Meta.builder() + .version(0) + .created("2016-05-18T18:25:23.102Z") + .lastModified("2016-05-18T18:25:23.102Z") + .build()) + .userName("7Q4Rqr@test.org") + .name( + Name.builder() + .familyName("family name") + .givenName("given name") + .build()) + .email( + Email.builder() + .value("7Q4Rqr@test.org") + .primary(false) + .build()) + .group( + Group.builder() + .value("4622c5e1-ddfd-4e17-9e81-2ae3c03972be") + .display("password.write") + .type(DIRECT) + .build()) + .group( + Group.builder() + .value("62f67643-05d8-43c6-b193-4cd6ab9960cb") + .display("cloud_controller.write") + .type(DIRECT) + .build()) + .group( + Group.builder() + .value("c47bf470-f9c4-4eea-97e4-490ce7b8f6f7") + .display("uaa.user") + .type(DIRECT) + .build()) + .group( + Group.builder() + .value("8a6add1f-d3ee-400c-a263-c4197351b78e") + .display("approvals.me") + .type(DIRECT) + .build()) + .group( + Group.builder() + .value("e10424ed-ed80-45ac-848b-7f7e79b00c42") + .display("cloud_controller.read") + .type(DIRECT) + .build()) + .group( + Group.builder() + .value("ede11441-6ffe-4510-81f8-bb40626155f0") + .display("openid") + .type(DIRECT) + .build()) + .group( + Group.builder() + .value("7e3d4b06-0d6b-43a1-ac3a-5f1b2642262c") + .display("scim.me") + .type(DIRECT) + .build()) + .group( + Group.builder() + .value("3b481f3c-d9a7-4920-a687-72cb0381b671") + .display( + "cloud_controller_service_permissions.read") + .type(DIRECT) + .build()) + .group( + Group.builder() + .value("4480c647-4047-4c6a-877f-70f5f96e8c11") + .display("oauth.approvals") + .type(DIRECT) + .build()) + .group( + Group.builder() + .value("542bb178-1c04-4bb5-813a-5a038319ac1d") + .display("user_attributes") + .type(DIRECT) + .build()) + .group( + Group.builder() + .value("c4ac4653-2fdd-4901-a028-9c9866cb4e9c") + .display("scim.userids") + .type(DIRECT) + .build()) + .group( + Group.builder() + .value("74fde138-daf3-4e4d-bb52-93a6cb727030") + .display("profile") + .type(DIRECT) + .build()) + .group( + Group.builder() + .value("1b18551f-eead-4076-90dd-b464998f6ddd") + .display("roles") + .type(DIRECT) + .build()) + .approval( + Approval.builder() + .userId("421225f4-318e-4a4d-9219-4b6a0ed3678a") + .clientId("identity") + .scope("uaa.user") + .status(APPROVED) + .lastUpdatedAt("2016-05-18T18:25:53.114Z") + .expiresAt("2016-05-18T18:25:53.114Z") + .build()) + .approval( + Approval.builder() + .userId("421225f4-318e-4a4d-9219-4b6a0ed3678a") + .clientId("client id") + .scope("scim.read") + .status(APPROVED) + .lastUpdatedAt("2016-05-18T18:25:23.112Z") + .expiresAt("2016-05-18T18:25:33.112Z") + .build()) + .active(true) + .verified(true) + .origin("uaa") + .zoneId("uaa") + .passwordLastModified("2016-05-18T18:25:23.000Z") + .schemas(Collections.singletonList("urn:scim:schemas:core:1.0")) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void expirePassword() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(PATCH).path("/Users/9022f2cf-2663-479e-82e6-d2ccc348a1e4/status") - .payload("fixtures/uaa/users/PATCH_{id}_status_request.json") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/uaa/users/PATCH_{id}_status_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(PATCH) + .path("/Users/9022f2cf-2663-479e-82e6-d2ccc348a1e4/status") + .payload( + "fixtures/uaa/users/PATCH_{id}_status_request.json") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/uaa/users/PATCH_{id}_status_response.json") + .build()) + .build()); this.users - .expirePassword(ExpirePasswordRequest.builder() - .passwordChangeRequired(true) - .userId("9022f2cf-2663-479e-82e6-d2ccc348a1e4") - .build()) - .as(StepVerifier::create) - .expectNext(ExpirePasswordResponse.builder() - .passwordChangeRequired(true) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .expirePassword( + ExpirePasswordRequest.builder() + .passwordChangeRequired(true) + .userId("9022f2cf-2663-479e-82e6-d2ccc348a1e4") + .build()) + .as(StepVerifier::create) + .expectNext(ExpirePasswordResponse.builder().passwordChangeRequired(true).build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void getVerificationLink() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/Users/1faa46a0-0c6f-4e13-8334-d1f6e5f2e1dd/verify-link?redirect_uri=http%3A%2F%2Fredirect.to%2Fapp") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/uaa/users/GET_{id}_verify_link_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path( + "/Users/1faa46a0-0c6f-4e13-8334-d1f6e5f2e1dd/verify-link?redirect_uri=http%3A%2F%2Fredirect.to%2Fapp") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/uaa/users/GET_{id}_verify_link_response.json") + .build()) + .build()); this.users - .getVerificationLink(GetUserVerificationLinkRequest.builder() - .redirectUri("http://redirect.to/app") - .userId("1faa46a0-0c6f-4e13-8334-d1f6e5f2e1dd") - .build()) - .as(StepVerifier::create) - .expectNext(GetUserVerificationLinkResponse.builder() - .verifyLink("http://localhost/verify_user?code=nOGQWBqCx5") - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .getVerificationLink( + GetUserVerificationLinkRequest.builder() + .redirectUri("http://redirect.to/app") + .userId("1faa46a0-0c6f-4e13-8334-d1f6e5f2e1dd") + .build()) + .as(StepVerifier::create) + .expectNext( + GetUserVerificationLinkResponse.builder() + .verifyLink("http://localhost/verify_user?code=nOGQWBqCx5") + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void inviteUsers() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(POST).path("/invite_users?client_id=u7ptqw&redirect_uri=example.com") - .payload("fixtures/uaa/users/POST_invite_users_request.json") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/uaa/users//POST_invite_users_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(POST) + .path( + "/invite_users?client_id=u7ptqw&redirect_uri=example.com") + .payload( + "fixtures/uaa/users/POST_invite_users_request.json") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/uaa/users//POST_invite_users_response.json") + .build()) + .build()); this.users - .invite(InviteUsersRequest.builder() - .clientId("u7ptqw") - .emails("user1@pjy596.com", "user2@pjy596.com") - .redirectUri("example.com") - .build()) - .as(StepVerifier::create) - .expectNext(InviteUsersResponse.builder() - .newInvite(Invite.builder() - .email("user1@pjy596.com") - .userId("68af461b-484e-464a-96ac-a336abed48ad") - .origin("uaa") - .success(true) - .inviteLink("http://localhost/invitations/accept?code=WEqtpOh73k") - .build()) - .newInvite(Invite.builder() - .email("user2@pjy596.com") - .userId("d256cf96-5c14-4649-9a0d-5564c66411b5") - .origin("uaa") - .success(true) - .inviteLink("http://localhost/invitations/accept?code=n5X0hCsD3N") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .invite( + InviteUsersRequest.builder() + .clientId("u7ptqw") + .emails("user1@pjy596.com", "user2@pjy596.com") + .redirectUri("example.com") + .build()) + .as(StepVerifier::create) + .expectNext( + InviteUsersResponse.builder() + .newInvite( + Invite.builder() + .email("user1@pjy596.com") + .userId("68af461b-484e-464a-96ac-a336abed48ad") + .origin("uaa") + .success(true) + .inviteLink( + "http://localhost/invitations/accept?code=WEqtpOh73k") + .build()) + .newInvite( + Invite.builder() + .email("user2@pjy596.com") + .userId("d256cf96-5c14-4649-9a0d-5564c66411b5") + .origin("uaa") + .success(true) + .inviteLink( + "http://localhost/invitations/accept?code=n5X0hCsD3N") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void list() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path( - "/Users?count=50&filter=id%2Beq%2B%22a94534d5-de08-41eb-8712-a51314e6a484%22%2Bor%2Bemail%2Beq%2B%22Da63pG%40test.org%22&sortBy=email&sortOrder=ascending&startIndex=1") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/uaa/users/GET_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path( + "/Users?count=50&filter=id%2Beq%2B%22a94534d5-de08-41eb-8712-a51314e6a484%22%2Bor%2Bemail%2Beq%2B%22Da63pG%40test.org%22&sortBy=email&sortOrder=ascending&startIndex=1") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload("fixtures/uaa/users/GET_response.json") + .build()) + .build()); this.users - .list(ListUsersRequest.builder() - .filter("id+eq+\"a94534d5-de08-41eb-8712-a51314e6a484\"+or+email+eq+\"Da63pG@test.org\"") - .count(50) - .startIndex(1) - .sortBy("email") - .sortOrder(ASCENDING) - .build()) - .as(StepVerifier::create) - .expectNext(ListUsersResponse.builder() - .resource(User.builder() - .id("a94534d5-de08-41eb-8712-a51314e6a484") - .externalId("test-user") - .meta(Meta.builder() - .version(0) - .created("2016-05-18T18:25:24.036Z") - .lastModified("2016-05-18T18:25:24.036Z") - .build()) - .userName("Da63pG@test.org") - .name(Name.builder() - .familyName("family name") - .givenName("given name") - .build()) - .email(Email.builder() - .value("Da63pG@test.org") - .primary(false) - .build()) - .group(Group.builder() - .value("4622c5e1-ddfd-4e17-9e81-2ae3c03972be") - .display("password.write") - .type(DIRECT) - .build()) - .group(Group.builder() - .value("62f67643-05d8-43c6-b193-4cd6ab9960cb") - .display("cloud_controller.write") - .type(DIRECT) - .build()) - .group(Group.builder() - .value("c47bf470-f9c4-4eea-97e4-490ce7b8f6f7") - .display("uaa.user") - .type(DIRECT) - .build()) - .group(Group.builder() - .value("8a6add1f-d3ee-400c-a263-c4197351b78e") - .display("approvals.me") - .type(DIRECT) - .build()) - .group(Group.builder() - .value("e10424ed-ed80-45ac-848b-7f7e79b00c42") - .display("cloud_controller.read") - .type(DIRECT) - .build()) - .group(Group.builder() - .value("ede11441-6ffe-4510-81f8-bb40626155f0") - .display("openid") - .type(DIRECT) - .build()) - .group(Group.builder() - .value("7e3d4b06-0d6b-43a1-ac3a-5f1b2642262c") - .display("scim.me") - .type(DIRECT) - .build()) - .group(Group.builder() - .value("3b481f3c-d9a7-4920-a687-72cb0381b671") - .display("cloud_controller_service_permissions.read") - .type(DIRECT) - .build()) - .group(Group.builder() - .value("4480c647-4047-4c6a-877f-70f5f96e8c11") - .display("oauth.approvals") - .type(DIRECT) - .build()) - .group(Group.builder() - .value("542bb178-1c04-4bb5-813a-5a038319ac1d") - .display("user_attributes") - .type(DIRECT) - .build()) - .group(Group.builder() - .value("c4ac4653-2fdd-4901-a028-9c9866cb4e9c") - .display("scim.userids") - .type(DIRECT) - .build()) - .group(Group.builder() - .value("74fde138-daf3-4e4d-bb52-93a6cb727030") - .display("profile") - .type(DIRECT) - .build()) - .group(Group.builder() - .value("1b18551f-eead-4076-90dd-b464998f6ddd") - .display("roles") - .type(DIRECT) - .build()) - .approval(Approval.builder() - .userId("a94534d5-de08-41eb-8712-a51314e6a484") - .clientId("client id") - .scope("scim.read") - .status(APPROVED) - .lastUpdatedAt("2016-05-18T18:25:24.047Z") - .expiresAt("2016-05-18T18:25:34.047Z") - .build()) - .active(true) - .verified(true) - .origin("uaa") - .zoneId("uaa") - .passwordLastModified("2016-05-18T18:25:24.000Z") - .schema("urn:scim:schemas:core:1.0") - .build()) - .startIndex(1) - .itemsPerPage(50) - .totalResults(1) - .schema("urn:scim:schemas:core:1.0") - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .list( + ListUsersRequest.builder() + .filter( + "id+eq+\"a94534d5-de08-41eb-8712-a51314e6a484\"+or+email+eq+\"Da63pG@test.org\"") + .count(50) + .startIndex(1) + .sortBy("email") + .sortOrder(ASCENDING) + .build()) + .as(StepVerifier::create) + .expectNext( + ListUsersResponse.builder() + .resource( + User.builder() + .id("a94534d5-de08-41eb-8712-a51314e6a484") + .externalId("test-user") + .meta( + Meta.builder() + .version(0) + .created("2016-05-18T18:25:24.036Z") + .lastModified( + "2016-05-18T18:25:24.036Z") + .build()) + .userName("Da63pG@test.org") + .name( + Name.builder() + .familyName("family name") + .givenName("given name") + .build()) + .email( + Email.builder() + .value("Da63pG@test.org") + .primary(false) + .build()) + .group( + Group.builder() + .value( + "4622c5e1-ddfd-4e17-9e81-2ae3c03972be") + .display("password.write") + .type(DIRECT) + .build()) + .group( + Group.builder() + .value( + "62f67643-05d8-43c6-b193-4cd6ab9960cb") + .display("cloud_controller.write") + .type(DIRECT) + .build()) + .group( + Group.builder() + .value( + "c47bf470-f9c4-4eea-97e4-490ce7b8f6f7") + .display("uaa.user") + .type(DIRECT) + .build()) + .group( + Group.builder() + .value( + "8a6add1f-d3ee-400c-a263-c4197351b78e") + .display("approvals.me") + .type(DIRECT) + .build()) + .group( + Group.builder() + .value( + "e10424ed-ed80-45ac-848b-7f7e79b00c42") + .display("cloud_controller.read") + .type(DIRECT) + .build()) + .group( + Group.builder() + .value( + "ede11441-6ffe-4510-81f8-bb40626155f0") + .display("openid") + .type(DIRECT) + .build()) + .group( + Group.builder() + .value( + "7e3d4b06-0d6b-43a1-ac3a-5f1b2642262c") + .display("scim.me") + .type(DIRECT) + .build()) + .group( + Group.builder() + .value( + "3b481f3c-d9a7-4920-a687-72cb0381b671") + .display( + "cloud_controller_service_permissions.read") + .type(DIRECT) + .build()) + .group( + Group.builder() + .value( + "4480c647-4047-4c6a-877f-70f5f96e8c11") + .display("oauth.approvals") + .type(DIRECT) + .build()) + .group( + Group.builder() + .value( + "542bb178-1c04-4bb5-813a-5a038319ac1d") + .display("user_attributes") + .type(DIRECT) + .build()) + .group( + Group.builder() + .value( + "c4ac4653-2fdd-4901-a028-9c9866cb4e9c") + .display("scim.userids") + .type(DIRECT) + .build()) + .group( + Group.builder() + .value( + "74fde138-daf3-4e4d-bb52-93a6cb727030") + .display("profile") + .type(DIRECT) + .build()) + .group( + Group.builder() + .value( + "1b18551f-eead-4076-90dd-b464998f6ddd") + .display("roles") + .type(DIRECT) + .build()) + .approval( + Approval.builder() + .userId( + "a94534d5-de08-41eb-8712-a51314e6a484") + .clientId("client id") + .scope("scim.read") + .status(APPROVED) + .lastUpdatedAt( + "2016-05-18T18:25:24.047Z") + .expiresAt( + "2016-05-18T18:25:34.047Z") + .build()) + .active(true) + .verified(true) + .origin("uaa") + .zoneId("uaa") + .passwordLastModified("2016-05-18T18:25:24.000Z") + .schema("urn:scim:schemas:core:1.0") + .build()) + .startIndex(1) + .itemsPerPage(50) + .totalResults(1) + .schema("urn:scim:schemas:core:1.0") + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void lookup() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path( - "/ids/Users?count=10&filter=userName%2Beq%2B%22bobOu38vE%40test.org%22%2Bor%2Bid%2Beq%2B%22c1476587-5ec9-4b7e-9ed2-381e3133f07a%22" + - "&includeInactive=true&sortOrder=descending&startIndex=1") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/uaa/users/GET_ids_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path( + "/ids/Users?count=10&filter=userName%2Beq%2B%22bobOu38vE%40test.org%22%2Bor%2Bid%2Beq%2B%22c1476587-5ec9-4b7e-9ed2-381e3133f07a%22" + + "&includeInactive=true&sortOrder=descending&startIndex=1") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload("fixtures/uaa/users/GET_ids_response.json") + .build()) + .build()); this.users - .lookup(LookupUserIdsRequest.builder() - .filter("userName+eq+\"bobOu38vE@test.org\"+or+id+eq+\"c1476587-5ec9-4b7e-9ed2-381e3133f07a\"") - .count(10) - .startIndex(1) - .sortOrder(DESCENDING) - .includeInactive(true) - .build()) - .as(StepVerifier::create) - .expectNext(LookupUserIdsResponse.builder() - .resource(UserId.builder() - .id("c1476587-5ec9-4b7e-9ed2-381e3133f07a") - .userName("dwayneSnbjBm@test.org") - .origin("uaa") - .build()) - .resource(UserId.builder() - .id("2fc67623-ee31-4edc-9b1f-0b50416195fb") - .userName("bobOu38vE@test.org") - .origin("uaa") - .build()) - .startIndex(1) - .itemsPerPage(10) - .totalResults(2) - .schema("urn:scim:schemas:core:1.0") - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .lookup( + LookupUserIdsRequest.builder() + .filter( + "userName+eq+\"bobOu38vE@test.org\"+or+id+eq+\"c1476587-5ec9-4b7e-9ed2-381e3133f07a\"") + .count(10) + .startIndex(1) + .sortOrder(DESCENDING) + .includeInactive(true) + .build()) + .as(StepVerifier::create) + .expectNext( + LookupUserIdsResponse.builder() + .resource( + UserId.builder() + .id("c1476587-5ec9-4b7e-9ed2-381e3133f07a") + .userName("dwayneSnbjBm@test.org") + .origin("uaa") + .build()) + .resource( + UserId.builder() + .id("2fc67623-ee31-4edc-9b1f-0b50416195fb") + .userName("bobOu38vE@test.org") + .origin("uaa") + .build()) + .startIndex(1) + .itemsPerPage(10) + .totalResults(2) + .schema("urn:scim:schemas:core:1.0") + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void update() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(PUT).path("/Users/test-user-id") - .header("If-Match", "*") - .payload("fixtures/uaa/users/PUT_{id}_request.json") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/uaa/users/PUT_{id}_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(PUT) + .path("/Users/test-user-id") + .header("If-Match", "*") + .payload("fixtures/uaa/users/PUT_{id}_request.json") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload("fixtures/uaa/users/PUT_{id}_response.json") + .build()) + .build()); this.users - .update(UpdateUserRequest.builder() - .active(true) - .email(Email.builder() - .primary(false) - .value("oH4jON@test.org") - .build()) - .phoneNumber(PhoneNumber.builder() - .value("5555555555") - .build()) - .externalId("test-user") - .id(("test-user-id")) - .version("*") - .name(Name.builder() - .familyName("family name") - .givenName("given name") - .build()) - .origin("uaa") - .userName("oH4jON@test.org") - .verified(true) - .build()) - .as(StepVerifier::create) - .expectNext(UpdateUserResponse.builder() - .active(true) - .approval(Approval.builder() - .clientId("identity") - .expiresAt("2016-05-18T18:25:54.239Z") - .lastUpdatedAt("2016-05-18T18:25:54.239Z") - .scope("uaa.user") - .status(DENIED) - .userId("test-user-id") - .build()) - .approval(Approval.builder() - .clientId("client id") - .expiresAt("2016-05-18T18:25:34.236Z") - .lastUpdatedAt("2016-05-18T18:25:34.236Z") - .scope("scim.read") - .status(APPROVED) - .userId("test-user-id") - .build()) - .email(Email.builder() - .primary(false) - .value("oH4jON@test.org") - .build()) - .phoneNumber(PhoneNumber.builder() - .value("5555555555") - .build()) - .externalId("test-user") - .group(Group.builder() - .display("password.write") - .value("4622c5e1-ddfd-4e17-9e81-2ae3c03972be") - .type(DIRECT) - .build()) - .group(Group.builder() - .display("cloud_controller.write") - .value("62f67643-05d8-43c6-b193-4cd6ab9960cb") - .type(DIRECT) - .build()) - .group(Group.builder() - .display("uaa.user") - .value("c47bf470-f9c4-4eea-97e4-490ce7b8f6f7") - .type(DIRECT) - .build()) - .id(("test-user-id")) - .meta(Meta.builder() - .created("2016-05-18T18:25:24.222Z") - .lastModified("2016-05-18T18:25:24.265Z") - .version(1) - .build()) - .name(Name.builder() - .familyName("family name") - .givenName("given name") - .build()) - .origin("uaa") - .passwordLastModified("2016-05-18T18:25:24.000Z") - .schema("urn:scim:schemas:core:1.0") - .userName("oH4jON@test.org") - .verified(true) - .zoneId("uaa") - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .update( + UpdateUserRequest.builder() + .active(true) + .email( + Email.builder() + .primary(false) + .value("oH4jON@test.org") + .build()) + .phoneNumber(PhoneNumber.builder().value("5555555555").build()) + .externalId("test-user") + .id(("test-user-id")) + .version("*") + .name( + Name.builder() + .familyName("family name") + .givenName("given name") + .build()) + .origin("uaa") + .userName("oH4jON@test.org") + .verified(true) + .build()) + .as(StepVerifier::create) + .expectNext( + UpdateUserResponse.builder() + .active(true) + .approval( + Approval.builder() + .clientId("identity") + .expiresAt("2016-05-18T18:25:54.239Z") + .lastUpdatedAt("2016-05-18T18:25:54.239Z") + .scope("uaa.user") + .status(DENIED) + .userId("test-user-id") + .build()) + .approval( + Approval.builder() + .clientId("client id") + .expiresAt("2016-05-18T18:25:34.236Z") + .lastUpdatedAt("2016-05-18T18:25:34.236Z") + .scope("scim.read") + .status(APPROVED) + .userId("test-user-id") + .build()) + .email( + Email.builder() + .primary(false) + .value("oH4jON@test.org") + .build()) + .phoneNumber(PhoneNumber.builder().value("5555555555").build()) + .externalId("test-user") + .group( + Group.builder() + .display("password.write") + .value("4622c5e1-ddfd-4e17-9e81-2ae3c03972be") + .type(DIRECT) + .build()) + .group( + Group.builder() + .display("cloud_controller.write") + .value("62f67643-05d8-43c6-b193-4cd6ab9960cb") + .type(DIRECT) + .build()) + .group( + Group.builder() + .display("uaa.user") + .value("c47bf470-f9c4-4eea-97e4-490ce7b8f6f7") + .type(DIRECT) + .build()) + .id(("test-user-id")) + .meta( + Meta.builder() + .created("2016-05-18T18:25:24.222Z") + .lastModified("2016-05-18T18:25:24.265Z") + .version(1) + .build()) + .name( + Name.builder() + .familyName("family name") + .givenName("given name") + .build()) + .origin("uaa") + .passwordLastModified("2016-05-18T18:25:24.000Z") + .schema("urn:scim:schemas:core:1.0") + .userName("oH4jON@test.org") + .verified(true) + .zoneId("uaa") + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void userInfo() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/userinfo") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/uaa/users/GET_userinfo_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request(TestRequest.builder().method(GET).path("/userinfo").build()) + .response( + TestResponse.builder() + .status(OK) + .payload("fixtures/uaa/users/GET_userinfo_response.json") + .build()) + .build()); this.users - .userInfo(UserInfoRequest.builder() - .build()) - .as(StepVerifier::create) - .expectNext(UserInfoResponse.builder() - .email("anO0Lv@test.org") - .emailVerified(true) - .familyName("PasswordResetUserLast") - .givenName("PasswordResetUserFirst") - .name("PasswordResetUserFirst PasswordResetUserLast") - .phoneNumber("+15558880000") - .previousLogonTime(null) - .sub("ab485a4f-168a-4de8-b3ac-ab501767bfc9") - .userId("ab485a4f-168a-4de8-b3ac-ab501767bfc9") - .userName("anO0Lv@test.org") - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .userInfo(UserInfoRequest.builder().build()) + .as(StepVerifier::create) + .expectNext( + UserInfoResponse.builder() + .email("anO0Lv@test.org") + .emailVerified(true) + .familyName("PasswordResetUserLast") + .givenName("PasswordResetUserFirst") + .name("PasswordResetUserFirst PasswordResetUserLast") + .phoneNumber("+15558880000") + .previousLogonTime(null) + .sub("ab485a4f-168a-4de8-b3ac-ab501767bfc9") + .userId("ab485a4f-168a-4de8-b3ac-ab501767bfc9") + .userName("anO0Lv@test.org") + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void verifyUser() { - mockRequest(InteractionContext.builder() - .request(TestRequest.builder() - .method(GET).path("/Users/c0d42e48-9b69-461d-a77b-f75d3a5948b6/verify") - .header("If-Match", "12") - .build()) - .response(TestResponse.builder() - .status(OK) - .payload("fixtures/uaa/users/GET_{id}_verify_user_response.json") - .build()) - .build()); + mockRequest( + InteractionContext.builder() + .request( + TestRequest.builder() + .method(GET) + .path("/Users/c0d42e48-9b69-461d-a77b-f75d3a5948b6/verify") + .header("If-Match", "12") + .build()) + .response( + TestResponse.builder() + .status(OK) + .payload( + "fixtures/uaa/users/GET_{id}_verify_user_response.json") + .build()) + .build()); this.users - .verify(VerifyUserRequest.builder() - .userId("c0d42e48-9b69-461d-a77b-f75d3a5948b6") - .version("12") - .build()) - .as(StepVerifier::create) - .expectNext(VerifyUserResponse.builder() - .id("c0d42e48-9b69-461d-a77b-f75d3a5948b6") - .meta(Meta.builder() - .version(12) - .created("2016-06-03T17:59:31.027Z") - .lastModified("2016-06-03T17:59:31.027Z") - .build()) - .userName("billy_o@example.com") - .name(Name.builder() - .familyName("d'Orange") - .givenName("William") - .build()) - .email(Email.builder() - .value("billy_o@example.com") - .primary(false) - .build()) - .active(true) - .verified(true) - .origin("uaa") - .zoneId("uaa") - .passwordLastModified("2016-06-03T17:59:31.000Z") - .schema("urn:scim:schemas:core:1.0") - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .verify( + VerifyUserRequest.builder() + .userId("c0d42e48-9b69-461d-a77b-f75d3a5948b6") + .version("12") + .build()) + .as(StepVerifier::create) + .expectNext( + VerifyUserResponse.builder() + .id("c0d42e48-9b69-461d-a77b-f75d3a5948b6") + .meta( + Meta.builder() + .version(12) + .created("2016-06-03T17:59:31.027Z") + .lastModified("2016-06-03T17:59:31.027Z") + .build()) + .userName("billy_o@example.com") + .name( + Name.builder() + .familyName("d'Orange") + .givenName("William") + .build()) + .email( + Email.builder() + .value("billy_o@example.com") + .primary(false) + .build()) + .active(true) + .verified(true) + .origin("uaa") + .zoneId("uaa") + .passwordLastModified("2016-06-03T17:59:31.000Z") + .schema("urn:scim:schemas:core:1.0") + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } - } diff --git a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/util/CertificateCollectingTrustManagerTest.java b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/util/CertificateCollectingTrustManagerTest.java index 66b983dee0..5d38218e1e 100644 --- a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/util/CertificateCollectingTrustManagerTest.java +++ b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/util/CertificateCollectingTrustManagerTest.java @@ -16,25 +16,25 @@ package org.cloudfoundry.reactor.util; -import org.junit.Test; - -import javax.net.ssl.X509TrustManager; -import java.security.cert.CertificateException; -import java.security.cert.X509Certificate; - import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.Mockito.RETURNS_SMART_NULLS; import static org.mockito.Mockito.doThrow; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; +import java.security.cert.CertificateException; +import java.security.cert.X509Certificate; +import javax.net.ssl.X509TrustManager; +import org.junit.Test; + public final class CertificateCollectingTrustManagerTest { private final X509Certificate[] chain = new X509Certificate[0]; private final X509TrustManager delegate = mock(X509TrustManager.class, RETURNS_SMART_NULLS); - private final CertificateCollectingTrustManager trustManager = new CertificateCollectingTrustManager(this.delegate); + private final CertificateCollectingTrustManager trustManager = + new CertificateCollectingTrustManager(this.delegate); @Test(expected = IllegalStateException.class) public void checkClientTrustedAlreadyCollected() { @@ -44,7 +44,9 @@ public void checkClientTrustedAlreadyCollected() { @Test public void checkClientTrustedNotTrusted() throws CertificateException { - doThrow(new CertificateException()).when(this.delegate).checkClientTrusted(this.chain, null); + doThrow(new CertificateException()) + .when(this.delegate) + .checkClientTrusted(this.chain, null); this.trustManager.checkClientTrusted(this.chain, null); @@ -66,7 +68,9 @@ public void checkServerTrustedAlreadyCollected() { @Test public void checkServerTrustedNotTrusted() throws CertificateException { - doThrow(new CertificateException()).when(this.delegate).checkServerTrusted(this.chain, null); + doThrow(new CertificateException()) + .when(this.delegate) + .checkServerTrusted(this.chain, null); this.trustManager.checkServerTrusted(this.chain, null); @@ -91,7 +95,8 @@ public void getAcceptedIssuers() { public void getCollectedCertificateChain() { this.trustManager.checkServerTrusted(this.chain, null); - X509Certificate[] collectedCertificateChain = this.trustManager.getCollectedCertificateChain(); + X509Certificate[] collectedCertificateChain = + this.trustManager.getCollectedCertificateChain(); assertThat(collectedCertificateChain).isNotNull(); assertThat(collectedCertificateChain).hasSize(0); assertThat(collectedCertificateChain).isNotSameAs(this.chain); diff --git a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/util/ErrorPayloadMappersTest.java b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/util/ErrorPayloadMappersTest.java index 3b4128fb30..bcd9a138e4 100644 --- a/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/util/ErrorPayloadMappersTest.java +++ b/cloudfoundry-client-reactor/src/test/java/org/cloudfoundry/reactor/util/ErrorPayloadMappersTest.java @@ -16,7 +16,17 @@ package org.cloudfoundry.reactor.util; +import static io.netty.handler.codec.http.HttpResponseStatus.BAD_REQUEST; +import static io.netty.handler.codec.http.HttpResponseStatus.INTERNAL_SERVER_ERROR; +import static io.netty.handler.codec.http.HttpResponseStatus.OK; +import static org.assertj.core.api.Assertions.assertThat; +import static org.mockito.Mockito.RETURNS_SMART_NULLS; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; + import com.fasterxml.jackson.databind.ObjectMapper; +import java.io.IOException; +import java.time.Duration; import org.cloudfoundry.UnknownCloudFoundryException; import org.cloudfoundry.client.v2.ClientV2Exception; import org.cloudfoundry.client.v3.ClientV3Exception; @@ -31,17 +41,6 @@ import reactor.netty.http.client.HttpClientResponse; import reactor.test.StepVerifier; -import java.io.IOException; -import java.time.Duration; - -import static io.netty.handler.codec.http.HttpResponseStatus.BAD_REQUEST; -import static io.netty.handler.codec.http.HttpResponseStatus.INTERNAL_SERVER_ERROR; -import static io.netty.handler.codec.http.HttpResponseStatus.OK; -import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.Mockito.RETURNS_SMART_NULLS; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.when; - public final class ErrorPayloadMappersTest { private final Connection connection = mock(Connection.class, RETURNS_SMART_NULLS); @@ -55,215 +54,331 @@ public final class ErrorPayloadMappersTest { @Test public void clientV2BadPayload() throws IOException { when(this.connection.inbound()).thenReturn(this.inbound); - when(this.inbound.receive()).thenReturn(ByteBufFlux.fromPath(new ClassPathResource("fixtures/invalid_error_response.json").getFile().toPath())); + when(this.inbound.receive()) + .thenReturn( + ByteBufFlux.fromPath( + new ClassPathResource("fixtures/invalid_error_response.json") + .getFile() + .toPath())); when(this.response.status()).thenReturn(BAD_REQUEST); - HttpClientResponseWithConnection responseWithConnection = buildResponseWithConnection(this.connection); + HttpClientResponseWithConnection responseWithConnection = + buildResponseWithConnection(this.connection); Flux.just(responseWithConnection) - .transform(ErrorPayloadMappers.clientV2(this.objectMapper)) - .as(StepVerifier::create) - .consumeErrorWith(t -> assertThat(t).isInstanceOf(UnknownCloudFoundryException.class) - .hasMessage("Unknown Cloud Foundry Exception") - .extracting("statusCode", "payload") - .containsExactly(BAD_REQUEST.code(), "Invalid Error Response")) - .verify(Duration.ofSeconds(1)); + .transform(ErrorPayloadMappers.clientV2(this.objectMapper)) + .as(StepVerifier::create) + .consumeErrorWith( + t -> + assertThat(t) + .isInstanceOf(UnknownCloudFoundryException.class) + .hasMessage("Unknown Cloud Foundry Exception") + .extracting("statusCode", "payload") + .containsExactly( + BAD_REQUEST.code(), "Invalid Error Response")) + .verify(Duration.ofSeconds(1)); } @Test public void clientV2ClientError() throws IOException { when(this.connection.inbound()).thenReturn(this.inbound); - when(this.inbound.receive()).thenReturn(ByteBufFlux.fromPath(new ClassPathResource("fixtures/client/v2/error_response.json").getFile().toPath())); + when(this.inbound.receive()) + .thenReturn( + ByteBufFlux.fromPath( + new ClassPathResource("fixtures/client/v2/error_response.json") + .getFile() + .toPath())); when(this.response.status()).thenReturn(BAD_REQUEST); - HttpClientResponseWithConnection responseWithConnection = buildResponseWithConnection(this.connection); + HttpClientResponseWithConnection responseWithConnection = + buildResponseWithConnection(this.connection); Flux.just(responseWithConnection) - .transform(ErrorPayloadMappers.clientV2(this.objectMapper)) - .as(StepVerifier::create) - .consumeErrorWith(t -> assertThat(t).isInstanceOf(ClientV2Exception.class) - .hasMessage("CF-UnprocessableEntity(10008): The request is semantically invalid: space_guid and name unique") - .extracting("statusCode", "code", "description", "errorCode") - .containsExactly(BAD_REQUEST.code(), 10008, - "The request is semantically invalid: space_guid and name unique", - "CF-UnprocessableEntity")) - .verify(Duration.ofSeconds(1)); + .transform(ErrorPayloadMappers.clientV2(this.objectMapper)) + .as(StepVerifier::create) + .consumeErrorWith( + t -> + assertThat(t) + .isInstanceOf(ClientV2Exception.class) + .hasMessage( + "CF-UnprocessableEntity(10008): The request is" + + " semantically invalid: space_guid and name" + + " unique") + .extracting( + "statusCode", "code", "description", "errorCode") + .containsExactly( + BAD_REQUEST.code(), + 10008, + "The request is semantically invalid: space_guid" + + " and name unique", + "CF-UnprocessableEntity")) + .verify(Duration.ofSeconds(1)); } @Test public void clientV2NoError() { when(this.response.status()).thenReturn(OK); - HttpClientResponseWithConnection responseWithConnection = buildResponseWithConnection(this.connection); + HttpClientResponseWithConnection responseWithConnection = + buildResponseWithConnection(this.connection); Flux.just(responseWithConnection) - .transform(ErrorPayloadMappers.clientV2(this.objectMapper)) - .as(StepVerifier::create) - .expectNext(responseWithConnection) - .expectComplete() - .verify(Duration.ofSeconds(1)); + .transform(ErrorPayloadMappers.clientV2(this.objectMapper)) + .as(StepVerifier::create) + .expectNext(responseWithConnection) + .expectComplete() + .verify(Duration.ofSeconds(1)); } @Test public void clientV2ServerError() throws IOException { when(this.connection.inbound()).thenReturn(this.inbound); - when(this.inbound.receive()).thenReturn(ByteBufFlux.fromPath(new ClassPathResource("fixtures/client/v2/error_response.json").getFile().toPath())); + when(this.inbound.receive()) + .thenReturn( + ByteBufFlux.fromPath( + new ClassPathResource("fixtures/client/v2/error_response.json") + .getFile() + .toPath())); when(this.response.status()).thenReturn(INTERNAL_SERVER_ERROR); - HttpClientResponseWithConnection responseWithConnection = buildResponseWithConnection(this.connection); + HttpClientResponseWithConnection responseWithConnection = + buildResponseWithConnection(this.connection); Flux.just(responseWithConnection) - .transform(ErrorPayloadMappers.clientV2(this.objectMapper)) - .as(StepVerifier::create) - .consumeErrorWith(t -> assertThat(t).isInstanceOf(ClientV2Exception.class) - .hasMessage("CF-UnprocessableEntity(10008): The request is semantically invalid: space_guid and name unique") - .extracting("statusCode", "code", "description", "errorCode") - .containsExactly(INTERNAL_SERVER_ERROR.code(), 10008, - "The request is semantically invalid: space_guid and name unique", - "CF-UnprocessableEntity")) - .verify(Duration.ofSeconds(1)); + .transform(ErrorPayloadMappers.clientV2(this.objectMapper)) + .as(StepVerifier::create) + .consumeErrorWith( + t -> + assertThat(t) + .isInstanceOf(ClientV2Exception.class) + .hasMessage( + "CF-UnprocessableEntity(10008): The request is" + + " semantically invalid: space_guid and name" + + " unique") + .extracting( + "statusCode", "code", "description", "errorCode") + .containsExactly( + INTERNAL_SERVER_ERROR.code(), + 10008, + "The request is semantically invalid: space_guid" + + " and name unique", + "CF-UnprocessableEntity")) + .verify(Duration.ofSeconds(1)); } @Test public void clientV3BadPayload() throws IOException { when(this.connection.inbound()).thenReturn(this.inbound); - when(this.inbound.receive()).thenReturn(ByteBufFlux.fromPath(new ClassPathResource("fixtures/invalid_error_response.json").getFile().toPath())); + when(this.inbound.receive()) + .thenReturn( + ByteBufFlux.fromPath( + new ClassPathResource("fixtures/invalid_error_response.json") + .getFile() + .toPath())); when(this.response.status()).thenReturn(BAD_REQUEST); - HttpClientResponseWithConnection responseWithConnection = buildResponseWithConnection(this.connection); + HttpClientResponseWithConnection responseWithConnection = + buildResponseWithConnection(this.connection); Flux.just(responseWithConnection) - .transform(ErrorPayloadMappers.clientV3(this.objectMapper)) - .as(StepVerifier::create) - .consumeErrorWith(t -> assertThat(t).isInstanceOf(UnknownCloudFoundryException.class) - .hasMessage("Unknown Cloud Foundry Exception") - .extracting("statusCode", "payload") - .containsExactly(BAD_REQUEST.code(), "Invalid Error Response")) - .verify(Duration.ofSeconds(1)); + .transform(ErrorPayloadMappers.clientV3(this.objectMapper)) + .as(StepVerifier::create) + .consumeErrorWith( + t -> + assertThat(t) + .isInstanceOf(UnknownCloudFoundryException.class) + .hasMessage("Unknown Cloud Foundry Exception") + .extracting("statusCode", "payload") + .containsExactly( + BAD_REQUEST.code(), "Invalid Error Response")) + .verify(Duration.ofSeconds(1)); } @Test public void clientV3ClientError() throws IOException { when(this.connection.inbound()).thenReturn(this.inbound); - when(this.inbound.receive()).thenReturn(ByteBufFlux.fromPath(new ClassPathResource("fixtures/client/v3/error_response.json").getFile().toPath())); + when(this.inbound.receive()) + .thenReturn( + ByteBufFlux.fromPath( + new ClassPathResource("fixtures/client/v3/error_response.json") + .getFile() + .toPath())); when(this.response.status()).thenReturn(BAD_REQUEST); - HttpClientResponseWithConnection responseWithConnection = buildResponseWithConnection(this.connection); + HttpClientResponseWithConnection responseWithConnection = + buildResponseWithConnection(this.connection); Flux.just(responseWithConnection) - .transform(ErrorPayloadMappers.clientV3(this.objectMapper)) - .as(StepVerifier::create) - .consumeErrorWith(t -> { - assertThat(t).isInstanceOf(ClientV3Exception.class) - .hasMessage("CF-UnprocessableEntity(10008): something went wrong") - .extracting("statusCode") - .isEqualTo(BAD_REQUEST.code()); - - assertThat(((ClientV3Exception) t).getErrors()).flatExtracting(org.cloudfoundry.client.v3.Error::getCode, - org.cloudfoundry.client.v3.Error::getDetail, - org.cloudfoundry.client.v3.Error::getTitle) - .containsExactly(10008, "something went wrong", "CF-UnprocessableEntity"); - }) - .verify(Duration.ofSeconds(1)); + .transform(ErrorPayloadMappers.clientV3(this.objectMapper)) + .as(StepVerifier::create) + .consumeErrorWith( + t -> { + assertThat(t) + .isInstanceOf(ClientV3Exception.class) + .hasMessage( + "CF-UnprocessableEntity(10008): something went wrong") + .extracting("statusCode") + .isEqualTo(BAD_REQUEST.code()); + + assertThat(((ClientV3Exception) t).getErrors()) + .flatExtracting( + org.cloudfoundry.client.v3.Error::getCode, + org.cloudfoundry.client.v3.Error::getDetail, + org.cloudfoundry.client.v3.Error::getTitle) + .containsExactly( + 10008, + "something went wrong", + "CF-UnprocessableEntity"); + }) + .verify(Duration.ofSeconds(1)); } @Test public void clientV3NoError() { when(this.response.status()).thenReturn(OK); - HttpClientResponseWithConnection responseWithConnection = buildResponseWithConnection(this.connection); + HttpClientResponseWithConnection responseWithConnection = + buildResponseWithConnection(this.connection); Flux.just(responseWithConnection) - .transform(ErrorPayloadMappers.clientV3(this.objectMapper)) - .as(StepVerifier::create) - .expectNext(responseWithConnection) - .expectComplete() - .verify(Duration.ofSeconds(1)); + .transform(ErrorPayloadMappers.clientV3(this.objectMapper)) + .as(StepVerifier::create) + .expectNext(responseWithConnection) + .expectComplete() + .verify(Duration.ofSeconds(1)); } @Test public void clientV3ServerError() throws IOException { when(this.connection.inbound()).thenReturn(this.inbound); - when(this.inbound.receive()).thenReturn(ByteBufFlux.fromPath(new ClassPathResource("fixtures/client/v3/error_response.json").getFile().toPath())); + when(this.inbound.receive()) + .thenReturn( + ByteBufFlux.fromPath( + new ClassPathResource("fixtures/client/v3/error_response.json") + .getFile() + .toPath())); when(this.response.status()).thenReturn(INTERNAL_SERVER_ERROR); - HttpClientResponseWithConnection responseWithConnection = buildResponseWithConnection(this.connection); + HttpClientResponseWithConnection responseWithConnection = + buildResponseWithConnection(this.connection); Flux.just(responseWithConnection) - .transform(ErrorPayloadMappers.clientV3(this.objectMapper)) - .as(StepVerifier::create) - .consumeErrorWith(t -> { - assertThat(t).isInstanceOf(ClientV3Exception.class) - .hasMessage("CF-UnprocessableEntity(10008): something went wrong") - .extracting("statusCode") - .isEqualTo(INTERNAL_SERVER_ERROR.code()); - - assertThat(((ClientV3Exception) t).getErrors()).flatExtracting(org.cloudfoundry.client.v3.Error::getCode, - org.cloudfoundry.client.v3.Error::getDetail, - org.cloudfoundry.client.v3.Error::getTitle) - .containsExactly(10008, "something went wrong", "CF-UnprocessableEntity"); - }) - .verify(Duration.ofSeconds(1)); + .transform(ErrorPayloadMappers.clientV3(this.objectMapper)) + .as(StepVerifier::create) + .consumeErrorWith( + t -> { + assertThat(t) + .isInstanceOf(ClientV3Exception.class) + .hasMessage( + "CF-UnprocessableEntity(10008): something went wrong") + .extracting("statusCode") + .isEqualTo(INTERNAL_SERVER_ERROR.code()); + + assertThat(((ClientV3Exception) t).getErrors()) + .flatExtracting( + org.cloudfoundry.client.v3.Error::getCode, + org.cloudfoundry.client.v3.Error::getDetail, + org.cloudfoundry.client.v3.Error::getTitle) + .containsExactly( + 10008, + "something went wrong", + "CF-UnprocessableEntity"); + }) + .verify(Duration.ofSeconds(1)); } @Test public void uaaBadPayload() throws IOException { when(this.connection.inbound()).thenReturn(this.inbound); - when(this.inbound.receive()).thenReturn(ByteBufFlux.fromPath(new ClassPathResource("fixtures/invalid_error_response.json").getFile().toPath())); + when(this.inbound.receive()) + .thenReturn( + ByteBufFlux.fromPath( + new ClassPathResource("fixtures/invalid_error_response.json") + .getFile() + .toPath())); when(this.response.status()).thenReturn(BAD_REQUEST); - HttpClientResponseWithConnection responseWithConnection = buildResponseWithConnection(this.connection); + HttpClientResponseWithConnection responseWithConnection = + buildResponseWithConnection(this.connection); Flux.just(responseWithConnection) - .transform(ErrorPayloadMappers.uaa(this.objectMapper)) - .as(StepVerifier::create) - .consumeErrorWith(t -> assertThat(t).isInstanceOf(UnknownCloudFoundryException.class) - .hasMessage("Unknown Cloud Foundry Exception") - .extracting("statusCode", "payload") - .containsExactly(BAD_REQUEST.code(), "Invalid Error Response")) - .verify(Duration.ofSeconds(1)); + .transform(ErrorPayloadMappers.uaa(this.objectMapper)) + .as(StepVerifier::create) + .consumeErrorWith( + t -> + assertThat(t) + .isInstanceOf(UnknownCloudFoundryException.class) + .hasMessage("Unknown Cloud Foundry Exception") + .extracting("statusCode", "payload") + .containsExactly( + BAD_REQUEST.code(), "Invalid Error Response")) + .verify(Duration.ofSeconds(1)); } @Test public void uaaClientError() throws IOException { when(this.connection.inbound()).thenReturn(this.inbound); - when(this.inbound.receive()).thenReturn(ByteBufFlux.fromPath(new ClassPathResource("fixtures/uaa/error_response.json").getFile().toPath())); + when(this.inbound.receive()) + .thenReturn( + ByteBufFlux.fromPath( + new ClassPathResource("fixtures/uaa/error_response.json") + .getFile() + .toPath())); when(this.response.status()).thenReturn(BAD_REQUEST); - HttpClientResponseWithConnection responseWithConnection = buildResponseWithConnection(this.connection); + HttpClientResponseWithConnection responseWithConnection = + buildResponseWithConnection(this.connection); Flux.just(responseWithConnection) - .transform(ErrorPayloadMappers.uaa(this.objectMapper)) - .as(StepVerifier::create) - .consumeErrorWith(t -> assertThat(t).isInstanceOf(UaaException.class) - .hasMessage("unauthorized: Bad credentials") - .extracting("statusCode", "error", "errorDescription") - .containsExactly(BAD_REQUEST.code(), "unauthorized", "Bad credentials")) - .verify(Duration.ofSeconds(1)); + .transform(ErrorPayloadMappers.uaa(this.objectMapper)) + .as(StepVerifier::create) + .consumeErrorWith( + t -> + assertThat(t) + .isInstanceOf(UaaException.class) + .hasMessage("unauthorized: Bad credentials") + .extracting("statusCode", "error", "errorDescription") + .containsExactly( + BAD_REQUEST.code(), + "unauthorized", + "Bad credentials")) + .verify(Duration.ofSeconds(1)); } @Test public void uaaNoError() { when(this.response.status()).thenReturn(OK); - HttpClientResponseWithConnection responseWithConnection = buildResponseWithConnection(this.connection); + HttpClientResponseWithConnection responseWithConnection = + buildResponseWithConnection(this.connection); Flux.just(responseWithConnection) - .transform(ErrorPayloadMappers.uaa(this.objectMapper)) - .as(StepVerifier::create) - .expectNext(responseWithConnection) - .expectComplete() - .verify(Duration.ofSeconds(1)); + .transform(ErrorPayloadMappers.uaa(this.objectMapper)) + .as(StepVerifier::create) + .expectNext(responseWithConnection) + .expectComplete() + .verify(Duration.ofSeconds(1)); } @Test public void uaaServerError() throws IOException { when(this.connection.inbound()).thenReturn(this.inbound); - when(this.inbound.receive()).thenReturn(ByteBufFlux.fromPath(new ClassPathResource("fixtures/uaa/error_response.json").getFile().toPath())); + when(this.inbound.receive()) + .thenReturn( + ByteBufFlux.fromPath( + new ClassPathResource("fixtures/uaa/error_response.json") + .getFile() + .toPath())); when(this.response.status()).thenReturn(INTERNAL_SERVER_ERROR); - HttpClientResponseWithConnection responseWithConnection = buildResponseWithConnection(this.connection); + HttpClientResponseWithConnection responseWithConnection = + buildResponseWithConnection(this.connection); Flux.just(responseWithConnection) - .transform(ErrorPayloadMappers.uaa(this.objectMapper)) - .as(StepVerifier::create) - .consumeErrorWith(t -> assertThat(t).isInstanceOf(UaaException.class) - .hasMessage("unauthorized: Bad credentials") - .extracting("statusCode", "error", "errorDescription") - .containsExactly(INTERNAL_SERVER_ERROR.code(), "unauthorized", "Bad credentials")) - .verify(Duration.ofSeconds(1)); + .transform(ErrorPayloadMappers.uaa(this.objectMapper)) + .as(StepVerifier::create) + .consumeErrorWith( + t -> + assertThat(t) + .isInstanceOf(UaaException.class) + .hasMessage("unauthorized: Bad credentials") + .extracting("statusCode", "error", "errorDescription") + .containsExactly( + INTERNAL_SERVER_ERROR.code(), + "unauthorized", + "Bad credentials")) + .verify(Duration.ofSeconds(1)); } private HttpClientResponseWithConnection buildResponseWithConnection(Connection connection) { return HttpClientResponseWithConnection.of(connection, this.response); } - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/AbstractCloudFoundryException.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/AbstractCloudFoundryException.java index acf2170341..ca55abf258 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/AbstractCloudFoundryException.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/AbstractCloudFoundryException.java @@ -41,5 +41,4 @@ protected AbstractCloudFoundryException(Integer statusCode, String message) { public int getStatusCode() { return this.statusCode; } - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/AllowNulls.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/AllowNulls.java index a52d2b95d5..af4091eb1d 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/AllowNulls.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/AllowNulls.java @@ -23,6 +23,4 @@ @Target({ElementType.FIELD, ElementType.METHOD, ElementType.PARAMETER}) @Retention(RetentionPolicy.RUNTIME) -public @interface AllowNulls { - -} +public @interface AllowNulls {} diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/Nullable.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/Nullable.java index d4309d92f6..eb6119003c 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/Nullable.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/Nullable.java @@ -23,6 +23,4 @@ @Target({ElementType.FIELD, ElementType.METHOD, ElementType.PARAMETER}) @Retention(RetentionPolicy.RUNTIME) -public @interface Nullable { - -} +public @interface Nullable {} diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/QueryParameter.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/QueryParameter.java index c2012ff2fd..ede26c1e09 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/QueryParameter.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/QueryParameter.java @@ -18,7 +18,6 @@ import com.fasterxml.jackson.annotation.JacksonAnnotationsInside; import com.fasterxml.jackson.annotation.JsonIgnore; - import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/UnknownCloudFoundryException.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/UnknownCloudFoundryException.java index ae1cda1724..27053084cd 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/UnknownCloudFoundryException.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/UnknownCloudFoundryException.java @@ -51,5 +51,4 @@ public UnknownCloudFoundryException(Integer statusCode) { public String getPayload() { return this.payload; } - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/CloudFoundryClient.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/CloudFoundryClient.java index 04957c0d0c..1c3d64cbb7 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/CloudFoundryClient.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/CloudFoundryClient.java @@ -63,9 +63,9 @@ import org.cloudfoundry.client.v3.resourcematch.ResourceMatchV3; import org.cloudfoundry.client.v3.roles.RolesV3; import org.cloudfoundry.client.v3.routes.RoutesV3; -import org.cloudfoundry.client.v3.serviceinstances.ServiceInstancesV3; import org.cloudfoundry.client.v3.servicebindings.ServiceBindingsV3; import org.cloudfoundry.client.v3.servicebrokers.ServiceBrokersV3; +import org.cloudfoundry.client.v3.serviceinstances.ServiceInstancesV3; import org.cloudfoundry.client.v3.serviceofferings.ServiceOfferingsV3; import org.cloudfoundry.client.v3.serviceplans.ServicePlansV3; import org.cloudfoundry.client.v3.spaces.SpacesV3; @@ -356,5 +356,4 @@ public interface CloudFoundryClient { * Main entry point to the Cloud Foundry Users Client API */ Users users(); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/ClientV2Exception.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/ClientV2Exception.java index 0dcd401bd7..3b0d9d6090 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/ClientV2Exception.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/ClientV2Exception.java @@ -39,7 +39,8 @@ public final class ClientV2Exception extends AbstractCloudFoundryException { * @param description the description * @param errorCode the error code */ - public ClientV2Exception(Integer statusCode, Integer code, String description, String errorCode) { + public ClientV2Exception( + Integer statusCode, Integer code, String description, String errorCode) { super(statusCode, String.format("%s(%d): %s", errorCode, code, description)); this.code = code; this.description = description; @@ -66,5 +67,4 @@ public String getDescription() { public String getErrorCode() { return this.errorCode; } - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/FilterParameter.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/FilterParameter.java index 0f87af9f8b..ff42d48fab 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/FilterParameter.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/FilterParameter.java @@ -16,17 +16,16 @@ package org.cloudfoundry.client.v2; +import static org.cloudfoundry.client.v2.FilterParameter.Operation.IN; +import static org.cloudfoundry.client.v2.FilterParameter.Operation.IS; + import com.fasterxml.jackson.annotation.JacksonAnnotationsInside; import com.fasterxml.jackson.annotation.JsonIgnore; - import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; -import static org.cloudfoundry.client.v2.FilterParameter.Operation.IN; -import static org.cloudfoundry.client.v2.FilterParameter.Operation.IS; - /** * An annotation indicating that a method represents a Cloud Foundry V2 filter parameter */ @@ -102,7 +101,5 @@ enum Operation { public String toString() { return this.value; } - } - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/OrderDirection.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/OrderDirection.java index c3e10309d6..03adc61105 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/OrderDirection.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/OrderDirection.java @@ -48,5 +48,4 @@ public String getValue() { public String toString() { return getValue(); } - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/PaginatedRequest.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/PaginatedRequest.java index fc6d5e99c7..1d7a2b8cf5 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/PaginatedRequest.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/PaginatedRequest.java @@ -44,5 +44,4 @@ public abstract class PaginatedRequest { @Nullable @QueryParameter("results-per-page") public abstract Integer getResultsPerPage(); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/PaginatedResponse.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/PaginatedResponse.java index 4e3a436b3c..1ca4010cbd 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/PaginatedResponse.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/PaginatedResponse.java @@ -17,9 +17,8 @@ package org.cloudfoundry.client.v2; import com.fasterxml.jackson.annotation.JsonProperty; -import org.cloudfoundry.Nullable; - import java.util.List; +import org.cloudfoundry.Nullable; /** * Base class for requests that are paginated @@ -62,5 +61,4 @@ public abstract class PaginatedResponse> { @JsonProperty("total_results") @Nullable public abstract Integer getTotalResults(); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/Resource.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/Resource.java index e1080979e0..d4ba4e4b3b 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/Resource.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/Resource.java @@ -39,5 +39,4 @@ public abstract class Resource { @JsonProperty("metadata") @Nullable public abstract Metadata getMetadata(); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/applications/AbstractApplicationEntity.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/applications/AbstractApplicationEntity.java index 43286d5a7a..e2bbcc326c 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/applications/AbstractApplicationEntity.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/applications/AbstractApplicationEntity.java @@ -17,11 +17,10 @@ package org.cloudfoundry.client.v2.applications; import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.Map; import org.cloudfoundry.AllowNulls; import org.cloudfoundry.Nullable; -import java.util.Map; - /** * The core entity response payload for Application resources */ @@ -191,5 +190,4 @@ public abstract class AbstractApplicationEntity { @JsonProperty("state") @Nullable public abstract String getState(); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/applications/AbstractApplicationResource.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/applications/AbstractApplicationResource.java index 0741bb48b9..cfc457cf79 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/applications/AbstractApplicationResource.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/applications/AbstractApplicationResource.java @@ -21,6 +21,5 @@ /** * The core resource in application responses */ -public abstract class AbstractApplicationResource extends Resource { - -} +public abstract class AbstractApplicationResource + extends Resource {} diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/applications/AbstractRestageApplicationResource.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/applications/AbstractRestageApplicationResource.java index 76840d5f13..5262846c62 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/applications/AbstractRestageApplicationResource.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/applications/AbstractRestageApplicationResource.java @@ -19,6 +19,6 @@ /** * The base class for Restage Application resources */ -public abstract class AbstractRestageApplicationResource extends org.cloudfoundry.client.v2.Resource { - -} +public abstract class AbstractRestageApplicationResource + extends org.cloudfoundry.client.v2.Resource< + org.cloudfoundry.client.v2.applications.RestageApplicationEntity> {} diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/applications/ApplicationsV2.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/applications/ApplicationsV2.java index 0593e636d4..7ee1aae013 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/applications/ApplicationsV2.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/applications/ApplicationsV2.java @@ -30,7 +30,8 @@ public interface ApplicationsV2 { * @param request the Associate Route with the Application request * @return the response from the Associate Route with the Application request */ - Mono associateRoute(AssociateApplicationRouteRequest request); + Mono associateRoute( + AssociateApplicationRouteRequest request); /** * Makes the Copy the app bits for an Application request @@ -95,7 +96,8 @@ public interface ApplicationsV2 { * @param request the Get Application Permissions request * @return the response from the Get Application Permissions request */ - Mono getPermissions(GetApplicationPermissionsRequest request); + Mono getPermissions( + GetApplicationPermissionsRequest request); /** * Makes the Get the instance information for a STARTED App request @@ -127,7 +129,8 @@ public interface ApplicationsV2 { * @param request the List Service Bindings request * @return the response from the List Service Bindings request */ - Mono listServiceBindings(ListApplicationServiceBindingsRequest request); + Mono listServiceBindings( + ListApplicationServiceBindingsRequest request); /** * Makes the Remove Route from the Application request @@ -200,5 +203,4 @@ public interface ApplicationsV2 { * @return the response from the Upload Droplet request */ Mono uploadDroplet(UploadApplicationDropletRequest request); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/applicationusageevents/AbstractApplicationUsageEventResource.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/applicationusageevents/AbstractApplicationUsageEventResource.java index 03d60764d4..1f10da28b3 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/applicationusageevents/AbstractApplicationUsageEventResource.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/applicationusageevents/AbstractApplicationUsageEventResource.java @@ -21,6 +21,6 @@ /** * A base class for Application Usage Event resources */ -public abstract class AbstractApplicationUsageEventResource extends Resource { - -} +public abstract class AbstractApplicationUsageEventResource + extends Resource< + org.cloudfoundry.client.v2.applicationusageevents.ApplicationUsageEventEntity> {} diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/applicationusageevents/ApplicationUsageEvents.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/applicationusageevents/ApplicationUsageEvents.java index bbe908564a..e053fdcdfa 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/applicationusageevents/ApplicationUsageEvents.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/applicationusageevents/ApplicationUsageEvents.java @@ -46,5 +46,4 @@ public interface ApplicationUsageEvents { * @return the response from the Purge and Reseed Application Usage Events request */ Mono purgeAndReseed(PurgeAndReseedApplicationUsageEventsRequest request); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/blobstores/Blobstores.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/blobstores/Blobstores.java index 3e2d17a211..e35564c589 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/blobstores/Blobstores.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/blobstores/Blobstores.java @@ -29,6 +29,6 @@ public interface Blobstores { * @param request the Delete Buildpack Caches request * @return the response from the Delete Buildpack Caches request */ - Mono deleteBuildpackCaches(DeleteBlobstoreBuildpackCachesRequest request); - + Mono deleteBuildpackCaches( + DeleteBlobstoreBuildpackCachesRequest request); } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/buildpacks/AbstractBuildpackResource.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/buildpacks/AbstractBuildpackResource.java index 2fb42c48b8..53e7bd7180 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/buildpacks/AbstractBuildpackResource.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/buildpacks/AbstractBuildpackResource.java @@ -21,6 +21,5 @@ /** * Buildpacks in responses */ -public abstract class AbstractBuildpackResource extends Resource { - -} +public abstract class AbstractBuildpackResource + extends Resource {} diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/buildpacks/Buildpacks.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/buildpacks/Buildpacks.java index 2e66f9d9e0..680611acce 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/buildpacks/Buildpacks.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/buildpacks/Buildpacks.java @@ -72,5 +72,4 @@ public interface Buildpacks { * @return the response from the Upload Buildpack request */ Mono upload(UploadBuildpackRequest request); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/domains/AbstractDomainResource.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/domains/AbstractDomainResource.java index 3070f9342f..4e36df2430 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/domains/AbstractDomainResource.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/domains/AbstractDomainResource.java @@ -21,6 +21,5 @@ /** * The base class for Domain resources */ -public abstract class AbstractDomainResource extends Resource { - -} +public abstract class AbstractDomainResource + extends Resource {} diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/domains/Domains.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/domains/Domains.java index 3c01702cc0..f91b620340 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/domains/Domains.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/domains/Domains.java @@ -70,5 +70,4 @@ public interface Domains { */ @Deprecated Mono listSpaces(ListDomainSpacesRequest request); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/environmentvariablegroups/EnvironmentVariableGroups.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/environmentvariablegroups/EnvironmentVariableGroups.java index ca35e0686b..cfacbd8182 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/environmentvariablegroups/EnvironmentVariableGroups.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/environmentvariablegroups/EnvironmentVariableGroups.java @@ -30,7 +30,8 @@ public interface EnvironmentVariableGroups { * @param request the Get Running Environment Variables request * @return the response from the Get Running Environment Variables request */ - Mono getRunningEnvironmentVariables(GetRunningEnvironmentVariablesRequest request); + Mono getRunningEnvironmentVariables( + GetRunningEnvironmentVariablesRequest request); /** * Makes the Get the Staging Environment @@ -39,7 +40,8 @@ public interface EnvironmentVariableGroups { * @param request the Get Staging Environment Variables request * @return the response from the Get Staging Environment Variables request */ - Mono getStagingEnvironmentVariables(GetStagingEnvironmentVariablesRequest request); + Mono getStagingEnvironmentVariables( + GetStagingEnvironmentVariablesRequest request); /** * Makes the Update the Running Environment @@ -48,7 +50,8 @@ public interface EnvironmentVariableGroups { * @param request the Update Running Environment Variables request * @return the response from the Update Running Environment Variables request */ - Mono updateRunningEnvironmentVariables(UpdateRunningEnvironmentVariablesRequest request); + Mono updateRunningEnvironmentVariables( + UpdateRunningEnvironmentVariablesRequest request); /** * Makes the Update @@ -57,6 +60,6 @@ public interface EnvironmentVariableGroups { * @param request the Update Staging Environment Variables request * @return the response from the Update Staging Environment Variables request */ - Mono updateStagingEnvironmentVariables(UpdateStagingEnvironmentVariablesRequest request); - + Mono updateStagingEnvironmentVariables( + UpdateStagingEnvironmentVariablesRequest request); } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/events/AbstractEventResource.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/events/AbstractEventResource.java index 9c6365d66b..bef32d8412 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/events/AbstractEventResource.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/events/AbstractEventResource.java @@ -21,6 +21,5 @@ /** * The base class for Event resources */ -public abstract class AbstractEventResource extends Resource { - -} +public abstract class AbstractEventResource + extends Resource {} diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/events/Events.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/events/Events.java index 1357de48a3..513c0ac405 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/events/Events.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/events/Events.java @@ -38,5 +38,4 @@ public interface Events { * @return the response from the List Events request */ Mono list(ListEventsRequest request); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/featureflags/AbstractFeatureFlag.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/featureflags/AbstractFeatureFlag.java index 74fa02df94..d9a2142649 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/featureflags/AbstractFeatureFlag.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/featureflags/AbstractFeatureFlag.java @@ -51,5 +51,4 @@ public abstract class AbstractFeatureFlag { @JsonProperty("url") @Nullable abstract String getUrl(); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/featureflags/FeatureFlags.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/featureflags/FeatureFlags.java index 0336065c19..0a8cfe0437 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/featureflags/FeatureFlags.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/featureflags/FeatureFlags.java @@ -46,5 +46,4 @@ public interface FeatureFlags { * @return the response from the set feature flag request */ Mono set(SetFeatureFlagRequest request); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/info/Info.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/info/Info.java index d6c7c271a1..1b8c854c91 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/info/Info.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/info/Info.java @@ -30,5 +30,4 @@ public interface Info { * @return the response from the Get Info request */ Mono get(GetInfoRequest request); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/jobs/AbstractJobResource.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/jobs/AbstractJobResource.java index 6e94cf0373..90494df2a9 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/jobs/AbstractJobResource.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/jobs/AbstractJobResource.java @@ -21,6 +21,5 @@ /** * The base class for Job resources */ -public abstract class AbstractJobResource extends Resource { - -} +public abstract class AbstractJobResource + extends Resource {} diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/jobs/Jobs.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/jobs/Jobs.java index e239984e6b..924e56a8be 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/jobs/Jobs.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/jobs/Jobs.java @@ -30,5 +30,4 @@ public interface Jobs { * @return the response from the Get Job request */ Mono get(GetJobRequest request); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/organizationquotadefinitions/AbstractOrganizationQuotaDefinition.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/organizationquotadefinitions/AbstractOrganizationQuotaDefinition.java index e70faf8771..66f2c9adcc 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/organizationquotadefinitions/AbstractOrganizationQuotaDefinition.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/organizationquotadefinitions/AbstractOrganizationQuotaDefinition.java @@ -21,6 +21,7 @@ /** * Organization Quota in responses */ -public abstract class AbstractOrganizationQuotaDefinition extends Resource { - -} +public abstract class AbstractOrganizationQuotaDefinition + extends Resource< + org.cloudfoundry.client.v2.organizationquotadefinitions + .OrganizationQuotaDefinitionEntity> {} diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/organizationquotadefinitions/OrganizationQuotaDefinitions.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/organizationquotadefinitions/OrganizationQuotaDefinitions.java index 6d4ea5147b..b2f6610174 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/organizationquotadefinitions/OrganizationQuotaDefinitions.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/organizationquotadefinitions/OrganizationQuotaDefinitions.java @@ -30,7 +30,8 @@ public interface OrganizationQuotaDefinitions { * @param request the Create an Organization Quota Definition request * @return the response from the Create an Organization Quota Definition request */ - Mono create(CreateOrganizationQuotaDefinitionRequest request); + Mono create( + CreateOrganizationQuotaDefinitionRequest request); /** * Makes the Delete an Organization Quota @@ -39,7 +40,8 @@ public interface OrganizationQuotaDefinitions { * @param request the Delete an Organization Quota Definition request * @return the response from the Delete an Organization Quota Definition request */ - Mono delete(DeleteOrganizationQuotaDefinitionRequest request); + Mono delete( + DeleteOrganizationQuotaDefinitionRequest request); /** * Makes the Retrieve a Particular Organization @@ -57,7 +59,8 @@ public interface OrganizationQuotaDefinitions { * @param request the List all Organization Quota Definitions request * @return the response from the List all Organization Quota Definitions request */ - Mono list(ListOrganizationQuotaDefinitionsRequest request); + Mono list( + ListOrganizationQuotaDefinitionsRequest request); /** * Makes the Update an Organization Quota Definition @@ -66,6 +69,6 @@ public interface OrganizationQuotaDefinitions { * @param request the Update an Organization Quota Definition request * @return the response from the Update an Organization Quota Definition request */ - Mono update(UpdateOrganizationQuotaDefinitionRequest request); - + Mono update( + UpdateOrganizationQuotaDefinitionRequest request); } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/organizations/AbstractOrganizationResource.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/organizations/AbstractOrganizationResource.java index ecc0aedf4c..dc3383debc 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/organizations/AbstractOrganizationResource.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/organizations/AbstractOrganizationResource.java @@ -21,6 +21,5 @@ /** * The core resource in organization responses */ -public abstract class AbstractOrganizationResource extends Resource { - -} +public abstract class AbstractOrganizationResource + extends Resource {} diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/organizations/AbstractUserOrganizationRoleResource.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/organizations/AbstractUserOrganizationRoleResource.java index c659bc689b..f5d096fb40 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/organizations/AbstractUserOrganizationRoleResource.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/organizations/AbstractUserOrganizationRoleResource.java @@ -21,6 +21,5 @@ /** * The base class for user Organization Role Resources */ -public abstract class AbstractUserOrganizationRoleResource extends Resource { - -} +public abstract class AbstractUserOrganizationRoleResource + extends Resource {} diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/organizations/Organizations.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/organizations/Organizations.java index 7f99fd2e00..094676680d 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/organizations/Organizations.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/organizations/Organizations.java @@ -29,7 +29,8 @@ public interface Organizations { * @param request the Associate Auditor request * @return the response from the Associate Auditor request */ - Mono associateAuditor(AssociateOrganizationAuditorRequest request); + Mono associateAuditor( + AssociateOrganizationAuditorRequest request); /** * Makes the Associate Auditor with the Organization by Username @@ -38,7 +39,8 @@ public interface Organizations { * @param request the Associate Auditor with an Organization by Username request * @return the response from the Associate Auditor with an Organization by Username request */ - Mono associateAuditorByUsername(AssociateOrganizationAuditorByUsernameRequest request); + Mono associateAuditorByUsername( + AssociateOrganizationAuditorByUsernameRequest request); /** * Makes the Associate Billing Manager with the Organization @@ -47,7 +49,8 @@ public interface Organizations { * @param request the Associate Billing Manager with the Organization request * @return the response from the Associate Billing Manager with the Organization request */ - Mono associateBillingManager(AssociateOrganizationBillingManagerRequest request); + Mono associateBillingManager( + AssociateOrganizationBillingManagerRequest request); /** * Makes the Associate Billing Manager with the Organization @@ -56,7 +59,8 @@ public interface Organizations { * @param request the Associate Billing Manager with the Organization by Username request * @return the response from the Associate Billing Manager with the Organization by Username request */ - Mono associateBillingManagerByUsername(AssociateOrganizationBillingManagerByUsernameRequest request); + Mono associateBillingManagerByUsername( + AssociateOrganizationBillingManagerByUsernameRequest request); /** * Makes the Associate Manager with the Organization request @@ -64,7 +68,8 @@ public interface Organizations { * @param request the Associate Manager with the Organization request * @return the response from the Associate Manager with the Organization request */ - Mono associateManager(AssociateOrganizationManagerRequest request); + Mono associateManager( + AssociateOrganizationManagerRequest request); /** * Makes the Associate Manager with the Organization by Username @@ -73,7 +78,8 @@ public interface Organizations { * @param request the Associate Manager with the Organization by Username request * @return the response from the Associate Manager with the Organization by Username request */ - Mono associateManagerByUsername(AssociateOrganizationManagerByUsernameRequest request); + Mono associateManagerByUsername( + AssociateOrganizationManagerByUsernameRequest request); /** * Makes the Associate Private Domain with the Organization request @@ -81,7 +87,8 @@ public interface Organizations { * @param request the Associate Private Domain with the Organization request * @return the response from the Associate Private Domain with the Organization request */ - Mono associatePrivateDomain(AssociateOrganizationPrivateDomainRequest request); + Mono associatePrivateDomain( + AssociateOrganizationPrivateDomainRequest request); /** * Makes the Associate User with the Organization request @@ -98,7 +105,8 @@ public interface Organizations { * @param request the Associate User with the Organization by Username request * @return the response from the Associate User with the Organization by Username request */ - Mono associateUserByUsername(AssociateOrganizationUserByUsernameRequest request); + Mono associateUserByUsername( + AssociateOrganizationUserByUsernameRequest request); /** * Makes the Creating an Organization request @@ -130,7 +138,8 @@ public interface Organizations { * @param request the Retrieving organization instance usage request * @return the response from the Retrieving organization instance usage request */ - Mono getInstanceUsage(GetOrganizationInstanceUsageRequest request); + Mono getInstanceUsage( + GetOrganizationInstanceUsageRequest request); /** * Makes the Retrieving organization memory usage request @@ -138,7 +147,8 @@ public interface Organizations { * @param request the Retrieving organization memory usage request * @return the response from the Retrieving organization memory usage request */ - Mono getMemoryUsage(GetOrganizationMemoryUsageRequest request); + Mono getMemoryUsage( + GetOrganizationMemoryUsageRequest request); /** * Makes the Retrieving the roles of all Users in the @@ -171,7 +181,8 @@ public interface Organizations { * @param request the List all Billing Managers for the Organization request * @return the response from the List all Billing Managers for the Organization request */ - Mono listBillingManagers(ListOrganizationBillingManagersRequest request); + Mono listBillingManagers( + ListOrganizationBillingManagersRequest request); /** * List all Domains for the Organization request @@ -196,7 +207,8 @@ public interface Organizations { * @param request the List all Private Domains for the Organization request * @return the response from the List all Private Domains for the Organization request */ - Mono listPrivateDomains(ListOrganizationPrivateDomainsRequest request); + Mono listPrivateDomains( + ListOrganizationPrivateDomainsRequest request); /** * Makes the List all Services for the Organization request @@ -213,7 +225,8 @@ public interface Organizations { * @param request the List all Space Quota Definitions for the Organization request * @return the response from the List all Space Quota Definitions for the Organization request */ - Mono listSpaceQuotaDefinitions(ListOrganizationSpaceQuotaDefinitionsRequest request); + Mono listSpaceQuotaDefinitions( + ListOrganizationSpaceQuotaDefinitionsRequest request); /** * Makes the List all Spaces for the Organization request @@ -263,7 +276,8 @@ public interface Organizations { * @param request the Disassociate Billing Manager with the Organization by Username request * @return the response from the Disassociate Billing Manager with the Organization by Username request */ - Mono removeBillingManagerByUsername(RemoveOrganizationBillingManagerByUsernameRequest request); + Mono removeBillingManagerByUsername( + RemoveOrganizationBillingManagerByUsernameRequest request); /** * Makes the Remove Manager from the Organization request @@ -322,5 +336,4 @@ public interface Organizations { * @return the response from the Update an Organization request */ Mono update(UpdateOrganizationRequest request); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/privatedomains/AbstractPrivateDomainResource.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/privatedomains/AbstractPrivateDomainResource.java index c1fc67fb5e..eaba3c11c9 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/privatedomains/AbstractPrivateDomainResource.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/privatedomains/AbstractPrivateDomainResource.java @@ -21,6 +21,5 @@ /** * The response payload for the deprecated Create a Private Domain operation */ -public abstract class AbstractPrivateDomainResource extends Resource { - -} +public abstract class AbstractPrivateDomainResource + extends Resource {} diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/privatedomains/PrivateDomains.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/privatedomains/PrivateDomains.java index a4cbf26f9c..c84f285f90 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/privatedomains/PrivateDomains.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/privatedomains/PrivateDomains.java @@ -63,6 +63,6 @@ public interface PrivateDomains { * @param request the List Private Domain Shared Organizations request * @return the response from the List Private Domains Shared Organizations request */ - Mono listSharedOrganizations(ListPrivateDomainSharedOrganizationsRequest request); - + Mono listSharedOrganizations( + ListPrivateDomainSharedOrganizationsRequest request); } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/resourcematch/ResourceMatch.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/resourcematch/ResourceMatch.java index d421e23b43..6fc32ce3df 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/resourcematch/ResourceMatch.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/resourcematch/ResourceMatch.java @@ -30,5 +30,4 @@ public interface ResourceMatch { * @return the response from the List Matching Resources request */ Mono list(ListMatchingResourcesRequest request); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/routemappings/AbstractRouteMappingResource.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/routemappings/AbstractRouteMappingResource.java index a83d465923..2855a80d32 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/routemappings/AbstractRouteMappingResource.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/routemappings/AbstractRouteMappingResource.java @@ -21,6 +21,5 @@ /** * The resource response payload for Route Mapping */ -public abstract class AbstractRouteMappingResource extends Resource { - -} +public abstract class AbstractRouteMappingResource + extends Resource {} diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/routemappings/RouteMappings.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/routemappings/RouteMappings.java index 72e13d3fcd..b072b415a9 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/routemappings/RouteMappings.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/routemappings/RouteMappings.java @@ -54,5 +54,4 @@ public interface RouteMappings { * @return the response from the List Route Mappings request */ Mono list(ListRouteMappingsRequest request); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/routes/AbstractRouteResource.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/routes/AbstractRouteResource.java index 0d07d997e5..0dae492343 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/routes/AbstractRouteResource.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/routes/AbstractRouteResource.java @@ -21,6 +21,5 @@ /** * Base class for all route resources */ -public abstract class AbstractRouteResource extends Resource { - -} +public abstract class AbstractRouteResource + extends Resource {} diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/routes/Routes.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/routes/Routes.java index aaa4ecb8e4..3e4573a9c6 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/routes/Routes.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/routes/Routes.java @@ -29,7 +29,8 @@ public interface Routes { * @param request the Associate an Application with the Route request * @return the response from the Associate an Application with the Route request */ - Mono associateApplication(AssociateRouteApplicationRequest request); + Mono associateApplication( + AssociateRouteApplicationRequest request); /** * Makes the Creating a Route request @@ -102,5 +103,4 @@ public interface Routes { * @return the response from the Update a Route request */ Mono update(UpdateRouteRequest request); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/securitygroups/AbstractSecurityGroupResource.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/securitygroups/AbstractSecurityGroupResource.java index da3e79df50..fa03df8413 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/securitygroups/AbstractSecurityGroupResource.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/securitygroups/AbstractSecurityGroupResource.java @@ -21,6 +21,5 @@ /** * Route Resource in responses */ -public abstract class AbstractSecurityGroupResource extends Resource { - -} +public abstract class AbstractSecurityGroupResource + extends Resource {} diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/securitygroups/Protocol.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/securitygroups/Protocol.java index 8ae509d4b5..d34c116b3a 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/securitygroups/Protocol.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/securitygroups/Protocol.java @@ -75,5 +75,4 @@ public String getValue() { public String toString() { return getValue(); } - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/securitygroups/SecurityGroups.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/securitygroups/SecurityGroups.java index 6054946700..a75077e262 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/securitygroups/SecurityGroups.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/securitygroups/SecurityGroups.java @@ -26,7 +26,8 @@ public interface SecurityGroups { * @param request the associate security group space request * @return the response from the associate security group space request */ - Mono associateSpace(AssociateSecurityGroupSpaceRequest request); + Mono associateSpace( + AssociateSecurityGroupSpaceRequest request); /** * Makes the Creating a Security Group request. @@ -67,7 +68,8 @@ public interface SecurityGroups { * @param request the list running security groups request * @return the response from the list running security groups request */ - Mono listRunningDefaults(ListSecurityGroupRunningDefaultsRequest request); + Mono listRunningDefaults( + ListSecurityGroupRunningDefaultsRequest request); /** * Makes the List all Spaces for the Security Group request. @@ -83,7 +85,8 @@ public interface SecurityGroups { * @param request the list staging security groups request * @return the response from the list staging security groups request */ - Mono listStagingDefaults(ListSecurityGroupStagingDefaultsRequest request); + Mono listStagingDefaults( + ListSecurityGroupStagingDefaultsRequest request); /** * Makes the @@ -118,7 +121,8 @@ public interface SecurityGroups { * @param request the list running security groups request * @return the response from the list running security groups request */ - Mono setRunningDefault(SetSecurityGroupRunningDefaultRequest request); + Mono setRunningDefault( + SetSecurityGroupRunningDefaultRequest request); /** * Makes the Set a Security Group as a default for @@ -127,7 +131,8 @@ public interface SecurityGroups { * @param request the list staging security groups request * @return the response from the list staging security groups request */ - Mono setStagingDefault(SetSecurityGroupStagingDefaultRequest request); + Mono setStagingDefault( + SetSecurityGroupStagingDefaultRequest request); /** * Makes the Updating a Security Group request. @@ -136,5 +141,4 @@ public interface SecurityGroups { * @return the response from the update security group request */ Mono update(UpdateSecurityGroupRequest request); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/servicebindings/AbstractServiceBindingResource.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/servicebindings/AbstractServiceBindingResource.java index 12d97f07ff..588679a689 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/servicebindings/AbstractServiceBindingResource.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/servicebindings/AbstractServiceBindingResource.java @@ -21,6 +21,5 @@ /** * The core resource in Service Bindings */ -public abstract class AbstractServiceBindingResource extends Resource { - -} +public abstract class AbstractServiceBindingResource + extends Resource {} diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/servicebindings/ServiceBindingsV2.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/servicebindings/ServiceBindingsV2.java index d71c3eb9a5..082acb2b1f 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/servicebindings/ServiceBindingsV2.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/servicebindings/ServiceBindingsV2.java @@ -54,7 +54,8 @@ public interface ServiceBindingsV2 { * @param request the Get Parameters request * @return the response from the Get Parameters request */ - Mono getParameters(GetServiceBindingParametersRequest request); + Mono getParameters( + GetServiceBindingParametersRequest request); /** * Makes the List all Service Bindings request @@ -63,5 +64,4 @@ public interface ServiceBindingsV2 { * @return the response from the List Service Bindings request */ Mono list(ListServiceBindingsRequest request); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/servicebrokers/AbstractServiceBrokerResource.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/servicebrokers/AbstractServiceBrokerResource.java index 6227291fae..b9c606c08b 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/servicebrokers/AbstractServiceBrokerResource.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/servicebrokers/AbstractServiceBrokerResource.java @@ -21,6 +21,5 @@ /** * The base class for service broker resources */ -public abstract class AbstractServiceBrokerResource extends Resource { - -} +public abstract class AbstractServiceBrokerResource + extends Resource {} diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/servicebrokers/ServiceBrokers.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/servicebrokers/ServiceBrokers.java index 11865c013b..a58caaaa1d 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/servicebrokers/ServiceBrokers.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/servicebrokers/ServiceBrokers.java @@ -47,7 +47,6 @@ public interface ServiceBrokers { */ Mono get(GetServiceBrokerRequest request); - /** * Makes the List all Service Brokers request * @@ -63,5 +62,4 @@ public interface ServiceBrokers { * @return the response from the Update Service Broker request */ Mono update(UpdateServiceBrokerRequest request); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/serviceinstances/AbstractServiceInstanceResource.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/serviceinstances/AbstractServiceInstanceResource.java index 0540881e52..eb9bf705ba 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/serviceinstances/AbstractServiceInstanceResource.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/serviceinstances/AbstractServiceInstanceResource.java @@ -21,6 +21,5 @@ /** * The resource response payload for Service Instances */ -public abstract class AbstractServiceInstanceResource extends Resource { - -} +public abstract class AbstractServiceInstanceResource + extends Resource {} diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/serviceinstances/AbstractUnionServiceInstanceResource.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/serviceinstances/AbstractUnionServiceInstanceResource.java index 8022bea075..6492f67659 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/serviceinstances/AbstractUnionServiceInstanceResource.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/serviceinstances/AbstractUnionServiceInstanceResource.java @@ -21,6 +21,5 @@ /** * The resource response payload for any type of Service Instance */ -public abstract class AbstractUnionServiceInstanceResource extends Resource { - -} +public abstract class AbstractUnionServiceInstanceResource + extends Resource {} diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/serviceinstances/BaseServiceInstanceEntity.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/serviceinstances/BaseServiceInstanceEntity.java index 30dd920796..55ae4b94d0 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/serviceinstances/BaseServiceInstanceEntity.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/serviceinstances/BaseServiceInstanceEntity.java @@ -16,13 +16,11 @@ package org.cloudfoundry.client.v2.serviceinstances; - import com.fasterxml.jackson.annotation.JsonProperty; -import org.cloudfoundry.AllowNulls; -import org.cloudfoundry.Nullable; - import java.util.List; import java.util.Map; +import org.cloudfoundry.AllowNulls; +import org.cloudfoundry.Nullable; /** * The entity response payload for both types of Service Instances @@ -99,5 +97,4 @@ public abstract class BaseServiceInstanceEntity { @JsonProperty("type") @Nullable public abstract String getType(); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/serviceinstances/ServiceInstances.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/serviceinstances/ServiceInstances.java index f81b89d4fa..641cc99a81 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/serviceinstances/ServiceInstances.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/serviceinstances/ServiceInstances.java @@ -63,7 +63,8 @@ public interface ServiceInstances { * @param request the Get Parameters request * @return the response from the Get Parameters request */ - Mono getParameters(GetServiceInstanceParametersRequest request); + Mono getParameters( + GetServiceInstanceParametersRequest request); /** * Makes the Retrieving permissions on a Service Instance request @@ -71,7 +72,8 @@ public interface ServiceInstances { * @param request the Get Permissions request * @return the response from the Get Permissions request */ - Mono getPermissions(GetServiceInstancePermissionsRequest request); + Mono getPermissions( + GetServiceInstancePermissionsRequest request); /** * Makes the List Service Instances request @@ -96,7 +98,8 @@ public interface ServiceInstances { * @param request the List Service Bindings request * @return the response from the List Service Bindings request */ - Mono listServiceBindings(ListServiceInstanceServiceBindingsRequest request); + Mono listServiceBindings( + ListServiceInstanceServiceBindingsRequest request); /** * Makes the List all Service keys for the Service @@ -105,7 +108,8 @@ public interface ServiceInstances { * @param request the List Service Keys request * @return the response from the List Service Keys request */ - Mono listServiceKeys(ListServiceInstanceServiceKeysRequest request); + Mono listServiceKeys( + ListServiceInstanceServiceKeysRequest request); /** * Makes the Unbinding a Service Instance from a Route request @@ -122,5 +126,4 @@ public interface ServiceInstances { * @return the response from the Update Service Instance request */ Mono update(UpdateServiceInstanceRequest request); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/servicekeys/AbstractServiceKeyResource.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/servicekeys/AbstractServiceKeyResource.java index 0273c22f05..e14048936c 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/servicekeys/AbstractServiceKeyResource.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/servicekeys/AbstractServiceKeyResource.java @@ -21,6 +21,5 @@ /** * The resource response payload for Service Keys */ -public abstract class AbstractServiceKeyResource extends Resource { - -} +public abstract class AbstractServiceKeyResource + extends Resource {} diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/servicekeys/ServiceKeys.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/servicekeys/ServiceKeys.java index 6a4d3fd346..e8537adaa8 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/servicekeys/ServiceKeys.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/servicekeys/ServiceKeys.java @@ -54,5 +54,4 @@ public interface ServiceKeys { * @return the response from the List Service Keys request */ Mono list(ListServiceKeysRequest request); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/serviceplans/AbstractServicePlanResource.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/serviceplans/AbstractServicePlanResource.java index fd190cac31..90855d5b2c 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/serviceplans/AbstractServicePlanResource.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/serviceplans/AbstractServicePlanResource.java @@ -21,7 +21,5 @@ /** * The core resource in Service Plan responses */ -public abstract class AbstractServicePlanResource extends Resource { - -} - +public abstract class AbstractServicePlanResource + extends Resource {} diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/serviceplans/ServicePlans.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/serviceplans/ServicePlans.java index 4816d88994..b9909d8b46 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/serviceplans/ServicePlans.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/serviceplans/ServicePlans.java @@ -16,7 +16,6 @@ package org.cloudfoundry.client.v2.serviceplans; - import reactor.core.publisher.Mono; public interface ServicePlans { @@ -52,7 +51,8 @@ public interface ServicePlans { * @param request the List Service Instances request * @return the response from the List Service Instances request */ - Mono listServiceInstances(ListServicePlanServiceInstancesRequest request); + Mono listServiceInstances( + ListServicePlanServiceInstancesRequest request); /** * Makes the Updating a Service Plan request @@ -61,5 +61,4 @@ public interface ServicePlans { * @return the response from the Update Service Plan request */ Mono update(UpdateServicePlanRequest request); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/serviceplanvisibilities/AbstractServicePlanVisibilityResource.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/serviceplanvisibilities/AbstractServicePlanVisibilityResource.java index 8cb15585ff..739db0f9f1 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/serviceplanvisibilities/AbstractServicePlanVisibilityResource.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/serviceplanvisibilities/AbstractServicePlanVisibilityResource.java @@ -21,6 +21,6 @@ /** * The base class for Service Plan Visibility resources */ -public abstract class AbstractServicePlanVisibilityResource extends Resource { - -} +public abstract class AbstractServicePlanVisibilityResource + extends Resource< + org.cloudfoundry.client.v2.serviceplanvisibilities.ServicePlanVisibilityEntity> {} diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/serviceplanvisibilities/ServicePlanVisibilities.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/serviceplanvisibilities/ServicePlanVisibilities.java index 9cbdff7f57..9827fe6d81 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/serviceplanvisibilities/ServicePlanVisibilities.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/serviceplanvisibilities/ServicePlanVisibilities.java @@ -63,5 +63,4 @@ public interface ServicePlanVisibilities { * @return the response from the Update Service Plan Visibility request */ Mono update(UpdateServicePlanVisibilityRequest request); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/services/AbstractServiceResource.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/services/AbstractServiceResource.java index fa2deb3db4..ff64fc195d 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/services/AbstractServiceResource.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/services/AbstractServiceResource.java @@ -21,6 +21,5 @@ /** * The core resource in Service responses */ -public abstract class AbstractServiceResource extends Resource { - -} +public abstract class AbstractServiceResource + extends Resource {} diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/services/Services.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/services/Services.java index 242b73da4b..fff76483d2 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/services/Services.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/services/Services.java @@ -54,5 +54,4 @@ public interface Services { * @return the response from the List Service Plans request */ Mono listServicePlans(ListServiceServicePlansRequest request); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/serviceusageevents/AbstractServiceUsageEventResource.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/serviceusageevents/AbstractServiceUsageEventResource.java index bf851b6624..34912c32fa 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/serviceusageevents/AbstractServiceUsageEventResource.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/serviceusageevents/AbstractServiceUsageEventResource.java @@ -21,6 +21,5 @@ /** * The base class for Service Usage Event resources */ -public abstract class AbstractServiceUsageEventResource extends Resource { - -} +public abstract class AbstractServiceUsageEventResource + extends Resource {} diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/serviceusageevents/ServiceUsageEvents.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/serviceusageevents/ServiceUsageEvents.java index 8c979f4f28..c457c95443 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/serviceusageevents/ServiceUsageEvents.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/serviceusageevents/ServiceUsageEvents.java @@ -16,7 +16,6 @@ package org.cloudfoundry.client.v2.serviceusageevents; - import reactor.core.publisher.Mono; /** @@ -47,5 +46,4 @@ public interface ServiceUsageEvents { * @return the response from the Purge and Reseed Service Usage Events request */ Mono purgeAndReseed(PurgeAndReseedServiceUsageEventsRequest request); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/shareddomains/AbstractSharedDomainResource.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/shareddomains/AbstractSharedDomainResource.java index 8b346c3f22..403f9ee201 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/shareddomains/AbstractSharedDomainResource.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/shareddomains/AbstractSharedDomainResource.java @@ -21,6 +21,5 @@ /** * The base class for Shared Domain resources */ -public abstract class AbstractSharedDomainResource extends Resource { - -} +public abstract class AbstractSharedDomainResource + extends Resource {} diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/shareddomains/SharedDomains.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/shareddomains/SharedDomains.java index 32f67aece9..48affb3146 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/shareddomains/SharedDomains.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/shareddomains/SharedDomains.java @@ -39,7 +39,6 @@ public interface SharedDomains { */ Mono delete(DeleteSharedDomainRequest request); - /** * Makes the Get a Shared Domain request * @@ -48,7 +47,6 @@ public interface SharedDomains { */ Mono get(GetSharedDomainRequest request); - /** * Makes the List all Shared Domains request * @@ -56,5 +54,4 @@ public interface SharedDomains { * @return the response from the List all Shared Domains request */ Mono list(ListSharedDomainsRequest request); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/spacequotadefinitions/AbstractSpaceQuotaDefinitionResource.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/spacequotadefinitions/AbstractSpaceQuotaDefinitionResource.java index 13abfe4f38..132b828880 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/spacequotadefinitions/AbstractSpaceQuotaDefinitionResource.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/spacequotadefinitions/AbstractSpaceQuotaDefinitionResource.java @@ -21,6 +21,6 @@ /** * The base class for Space Quota Definition resources */ -public abstract class AbstractSpaceQuotaDefinitionResource extends Resource { - -} +public abstract class AbstractSpaceQuotaDefinitionResource + extends Resource< + org.cloudfoundry.client.v2.spacequotadefinitions.SpaceQuotaDefinitionEntity> {} diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/spacequotadefinitions/SpaceQuotaDefinitions.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/spacequotadefinitions/SpaceQuotaDefinitions.java index e1bf2dee46..d014fe1470 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/spacequotadefinitions/SpaceQuotaDefinitions.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/spacequotadefinitions/SpaceQuotaDefinitions.java @@ -30,7 +30,8 @@ public interface SpaceQuotaDefinitions { * @param request the Associate a Space with a Space Quota Definition request * @return the response from the Associate a Space with a Space Quota Definition request */ - Mono associateSpace(AssociateSpaceQuotaDefinitionRequest request); + Mono associateSpace( + AssociateSpaceQuotaDefinitionRequest request); /** * Makes the Creating a Space Quota Definition request @@ -72,7 +73,8 @@ public interface SpaceQuotaDefinitions { * @param request the List all Spaces for the Space Quota Definition request * @return the response from the List all Spaces for the Space Quota Definition request */ - Mono listSpaces(ListSpaceQuotaDefinitionSpacesRequest request); + Mono listSpaces( + ListSpaceQuotaDefinitionSpacesRequest request); /** * Makes the Remove a Space from a Space Quota Definition @@ -90,5 +92,4 @@ public interface SpaceQuotaDefinitions { * @return the response from the Update Space Quota Definitions request */ Mono update(UpdateSpaceQuotaDefinitionRequest request); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/spaces/AbstractSpaceResource.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/spaces/AbstractSpaceResource.java index a99df09bbd..ed4b1a8292 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/spaces/AbstractSpaceResource.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/spaces/AbstractSpaceResource.java @@ -21,6 +21,5 @@ /** * Base class for space resources */ -public abstract class AbstractSpaceResource extends Resource { - -} +public abstract class AbstractSpaceResource + extends Resource {} diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/spaces/AbstractUserSpaceRoleResource.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/spaces/AbstractUserSpaceRoleResource.java index d5f823bb94..b778ae6bd6 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/spaces/AbstractUserSpaceRoleResource.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/spaces/AbstractUserSpaceRoleResource.java @@ -21,6 +21,5 @@ /** * The base class for user space roles */ -public abstract class AbstractUserSpaceRoleResource extends Resource { - -} +public abstract class AbstractUserSpaceRoleResource + extends Resource {} diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/spaces/Spaces.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/spaces/Spaces.java index 07a28ef845..b0f6f61e9f 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/spaces/Spaces.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/spaces/Spaces.java @@ -37,7 +37,8 @@ public interface Spaces { * @param request the Associate Auditor with the Space by Username request * @return the response from the Associate Auditor with the Space by Username request */ - Mono associateAuditorByUsername(AssociateSpaceAuditorByUsernameRequest request); + Mono associateAuditorByUsername( + AssociateSpaceAuditorByUsernameRequest request); /** * Makes the Associate Developer with the Space request @@ -45,7 +46,8 @@ public interface Spaces { * @param request the Associate Developer request * @return the response from the Associate Developer request */ - Mono associateDeveloper(AssociateSpaceDeveloperRequest request); + Mono associateDeveloper( + AssociateSpaceDeveloperRequest request); /** * Makes the Associate Developer with the Space by Username request @@ -53,7 +55,8 @@ public interface Spaces { * @param request the Associate Developer with the Space by Username request * @return the response from the Associate Developer with the Space by Username request */ - Mono associateDeveloperByUsername(AssociateSpaceDeveloperByUsernameRequest request); + Mono associateDeveloperByUsername( + AssociateSpaceDeveloperByUsernameRequest request); /** * Makes the Associate Manager with the Space request @@ -69,7 +72,8 @@ public interface Spaces { * @param request the Associate Manager with the Space by Username request * @return the response from the Associate Manager with the Space by Username request */ - Mono associateManagerByUsername(AssociateSpaceManagerByUsernameRequest request); + Mono associateManagerByUsername( + AssociateSpaceManagerByUsernameRequest request); /** * Makes the Associate Security Group with the Space request @@ -77,7 +81,8 @@ public interface Spaces { * @param request the Associate Security Group request * @return the response from the Associate Security Group request */ - Mono associateSecurityGroup(AssociateSpaceSecurityGroupRequest request); + Mono associateSecurityGroup( + AssociateSpaceSecurityGroupRequest request); /** * Makes the Create Space request @@ -182,7 +187,8 @@ public interface Spaces { * @param request the List all Security Groups for the Space request * @return the response from the List all Security Groups for the Space request */ - Mono listSecurityGroups(ListSpaceSecurityGroupsRequest request); + Mono listSecurityGroups( + ListSpaceSecurityGroupsRequest request); /** * Makes the List all Service Instances for the Space request @@ -190,7 +196,8 @@ public interface Spaces { * @param request the List all Service Instances for the Space request * @return the response from the List all Service Instances for the Space request */ - Mono listServiceInstances(ListSpaceServiceInstancesRequest request); + Mono listServiceInstances( + ListSpaceServiceInstancesRequest request); /** * Makes the List all Services for the Space request @@ -222,7 +229,8 @@ public interface Spaces { * @param request the Disassociate Auditor with the Space by Username request * @return the response from the Disassociate Auditor with the Space by Username request */ - Mono removeAuditorByUsername(RemoveSpaceAuditorByUsernameRequest request); + Mono removeAuditorByUsername( + RemoveSpaceAuditorByUsernameRequest request); /** * Makes the Remove Developer from the Space request @@ -238,7 +246,8 @@ public interface Spaces { * @param request the Disassociate Developer with the Space by Username request * @return the response from the Disassociate Developer with the Space by Username request */ - Mono removeDeveloperByUsername(RemoveSpaceDeveloperByUsernameRequest request); + Mono removeDeveloperByUsername( + RemoveSpaceDeveloperByUsernameRequest request); /** * Makes the Remove Manager from the Space request @@ -254,7 +263,8 @@ public interface Spaces { * @param request the Disassociate Manager with the Space by Username request * @return the response from the Disassociate Manager with the Space by Username request */ - Mono removeManagerByUsername(RemoveSpaceManagerByUsernameRequest request); + Mono removeManagerByUsername( + RemoveSpaceManagerByUsernameRequest request); /** * Makes the Remove Security Group from the Space request @@ -271,5 +281,4 @@ public interface Spaces { * @return the response from the Update a Space request */ Mono update(UpdateSpaceRequest request); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/stacks/AbstractStackResource.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/stacks/AbstractStackResource.java index 6a590971ec..d3a8525cb9 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/stacks/AbstractStackResource.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/stacks/AbstractStackResource.java @@ -21,6 +21,5 @@ /** * The base class for Stack resources */ -public abstract class AbstractStackResource extends Resource { - -} +public abstract class AbstractStackResource + extends Resource {} diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/stacks/Stacks.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/stacks/Stacks.java index 258e22d006..168ce4527d 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/stacks/Stacks.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/stacks/Stacks.java @@ -51,5 +51,4 @@ public interface Stacks { * @return the response from the List Stacks request */ Mono list(ListStacksRequest request); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/userprovidedserviceinstances/AbstractUserProvidedServiceInstanceResource.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/userprovidedserviceinstances/AbstractUserProvidedServiceInstanceResource.java index d799bd14e7..9107478645 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/userprovidedserviceinstances/AbstractUserProvidedServiceInstanceResource.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/userprovidedserviceinstances/AbstractUserProvidedServiceInstanceResource.java @@ -21,6 +21,7 @@ /** * The resource response payload for User Provided Service Instances */ -public abstract class AbstractUserProvidedServiceInstanceResource extends Resource { - -} +public abstract class AbstractUserProvidedServiceInstanceResource + extends Resource< + org.cloudfoundry.client.v2.userprovidedserviceinstances + .UserProvidedServiceInstanceEntity> {} diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/userprovidedserviceinstances/UserProvidedServiceInstances.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/userprovidedserviceinstances/UserProvidedServiceInstances.java index 196e78ff22..63f50035b4 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/userprovidedserviceinstances/UserProvidedServiceInstances.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/userprovidedserviceinstances/UserProvidedServiceInstances.java @@ -30,7 +30,8 @@ public interface UserProvidedServiceInstances { * @param request the Associate Route With User Provided Service Instance request * @return the response from the Associate Route With User Provided Service Instance request */ - Mono associateRoute(AssociateUserProvidedServiceInstanceRouteRequest request); + Mono associateRoute( + AssociateUserProvidedServiceInstanceRouteRequest request); /** * Makes the Create User Provided Service Instance @@ -39,7 +40,8 @@ public interface UserProvidedServiceInstances { * @param request the Create User Provided Service Instance request * @return the response from the Create User Provided Service Instance request */ - Mono create(CreateUserProvidedServiceInstanceRequest request); + Mono create( + CreateUserProvidedServiceInstanceRequest request); /** * Makes the Delete the User Provided Service @@ -66,7 +68,8 @@ public interface UserProvidedServiceInstances { * @param request the List User Provided Service Instances request * @return the response from the List User Provided Service Instances request */ - Mono list(ListUserProvidedServiceInstancesRequest request); + Mono list( + ListUserProvidedServiceInstancesRequest request); /** * Makes the List all Routes for the User @@ -75,7 +78,8 @@ public interface UserProvidedServiceInstances { * @param request the List User Provided Service Instance Routes request * @return the response from the List User Provided Service Instance Routes request */ - Mono listRoutes(ListUserProvidedServiceInstanceRoutesRequest request); + Mono listRoutes( + ListUserProvidedServiceInstanceRoutesRequest request); /** * Makes the List all Service @@ -84,7 +88,8 @@ public interface UserProvidedServiceInstances { * @param request the List Service Bindings request * @return the response from the List Service Bindings request */ - Mono listServiceBindings(ListUserProvidedServiceInstanceServiceBindingsRequest request); + Mono listServiceBindings( + ListUserProvidedServiceInstanceServiceBindingsRequest request); /** * Makes the Remove Route from the User Provided @@ -102,6 +107,6 @@ public interface UserProvidedServiceInstances { * @param request the Update User Provided Service Instance request * @return the response from the Update User Provided Service Instance request */ - Mono update(UpdateUserProvidedServiceInstanceRequest request); - + Mono update( + UpdateUserProvidedServiceInstanceRequest request); } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/users/AbstractUserEntity.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/users/AbstractUserEntity.java index 5ac87b911f..2cfac2de31 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/users/AbstractUserEntity.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/users/AbstractUserEntity.java @@ -107,5 +107,4 @@ public abstract class AbstractUserEntity { @JsonProperty("username") @Nullable public abstract String getUsername(); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/users/AbstractUserOrganizationResource.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/users/AbstractUserOrganizationResource.java index 76285eb343..623501e675 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/users/AbstractUserOrganizationResource.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/users/AbstractUserOrganizationResource.java @@ -21,6 +21,5 @@ /** * The base class for User Organization resources */ -public abstract class AbstractUserOrganizationResource extends Resource { - -} +public abstract class AbstractUserOrganizationResource + extends Resource {} diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/users/AbstractUserResource.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/users/AbstractUserResource.java index d688a745d2..ab07c95d66 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/users/AbstractUserResource.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/users/AbstractUserResource.java @@ -21,6 +21,5 @@ /** * The base class for User resources */ -public abstract class AbstractUserResource extends Resource { - -} +public abstract class AbstractUserResource + extends Resource {} diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/users/AbstractUserSpaceResource.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/users/AbstractUserSpaceResource.java index d9fb7dee7c..ad4df594c3 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/users/AbstractUserSpaceResource.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/users/AbstractUserSpaceResource.java @@ -21,6 +21,5 @@ /** * The base class for User Space resources */ -public abstract class AbstractUserSpaceResource extends Resource { - -} +public abstract class AbstractUserSpaceResource + extends Resource {} diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/users/AbstractUserSummaryResource.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/users/AbstractUserSummaryResource.java index dad368a21c..7d21cca32b 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/users/AbstractUserSummaryResource.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/users/AbstractUserSummaryResource.java @@ -21,6 +21,5 @@ /** * The base class for User Summary resources */ -public abstract class AbstractUserSummaryResource extends Resource { - -} +public abstract class AbstractUserSummaryResource + extends Resource {} diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/users/Users.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/users/Users.java index 7425ba4834..af058500a2 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/users/Users.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v2/users/Users.java @@ -26,7 +26,8 @@ public interface Users { * @param request the Associate Audited Organization with the User request * @return the response from the Associate Audited Organization with the User request */ - Mono associateAuditedOrganization(AssociateUserAuditedOrganizationRequest request); + Mono associateAuditedOrganization( + AssociateUserAuditedOrganizationRequest request); /** * Makes the Associate Audited Space with the User request @@ -34,7 +35,8 @@ public interface Users { * @param request the Associate Audited Space with the User request * @return the response from the Associate Audited Space with the User request */ - Mono associateAuditedSpace(AssociateUserAuditedSpaceRequest request); + Mono associateAuditedSpace( + AssociateUserAuditedSpaceRequest request); /** * Makes the Associate Billing Managed Organization with the User @@ -43,7 +45,8 @@ public interface Users { * @param request the Associate Billing Managed Organization with the User request * @return the response from the Associate Billing Managed Organization with the User request */ - Mono associateBillingManagedOrganization(AssociateUserBillingManagedOrganizationRequest request); + Mono associateBillingManagedOrganization( + AssociateUserBillingManagedOrganizationRequest request); /** * Makes the Associate Managed Organization with the User request @@ -51,7 +54,8 @@ public interface Users { * @param request the Associate Managed Organization with the User request * @return the response from the Associate Managed Organization with the User request */ - Mono associateManagedOrganization(AssociateUserManagedOrganizationRequest request); + Mono associateManagedOrganization( + AssociateUserManagedOrganizationRequest request); /** * Makes the Associate Managed Space with the User request @@ -59,7 +63,8 @@ public interface Users { * @param request the Associate Managed Space with the User request * @return the response from the Associate Managed Space with the User request */ - Mono associateManagedSpace(AssociateUserManagedSpaceRequest request); + Mono associateManagedSpace( + AssociateUserManagedSpaceRequest request); /** * Makes the Associate Organization with the User request @@ -67,7 +72,8 @@ public interface Users { * @param request the Associate Organization with the User request * @return the response from the Associate Organization with the User request */ - Mono associateOrganization(AssociateUserOrganizationRequest request); + Mono associateOrganization( + AssociateUserOrganizationRequest request); /** * Makes the Associate Space with the User request @@ -115,7 +121,8 @@ public interface Users { * @param request the List all Audited Organizations for the User request * @return the response from the List all Audited Organizations for the User request */ - Mono listAuditedOrganizations(ListUserAuditedOrganizationsRequest request); + Mono listAuditedOrganizations( + ListUserAuditedOrganizationsRequest request); /** * Makes the List all Audited Spaces for the User request @@ -131,7 +138,8 @@ public interface Users { * @param request the List all Billing Managed Organizations for the User request * @return the response from the List all Billing Managed Organizations for the User request */ - Mono listBillingManagedOrganizations(ListUserBillingManagedOrganizationsRequest request); + Mono listBillingManagedOrganizations( + ListUserBillingManagedOrganizationsRequest request); /** * Makes the List all Managed Organizations for the User request @@ -139,7 +147,8 @@ public interface Users { * @param request the List all Managed Organizations for the User request * @return the response from the List all Managed Organizations for the User request */ - Mono listManagedOrganizations(ListUserManagedOrganizationsRequest request); + Mono listManagedOrganizations( + ListUserManagedOrganizationsRequest request); /** * Makes the List all Managed Spaces for the User request @@ -187,7 +196,8 @@ public interface Users { * @param request the Remove Billing Managed Organization from the User request * @return the response from the Remove Billing Managed Organization from the User request */ - Mono removeBillingManagedOrganization(RemoveUserBillingManagedOrganizationRequest request); + Mono removeBillingManagedOrganization( + RemoveUserBillingManagedOrganizationRequest request); /** * Makes the Remove Managed Organization from the User request @@ -236,5 +246,4 @@ public interface Users { * @return the response from the Updating a User request */ Mono update(UpdateUserRequest request); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/ChecksumType.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/ChecksumType.java index a696b63271..61fd25d2a9 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/ChecksumType.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/ChecksumType.java @@ -20,7 +20,6 @@ import com.fasterxml.jackson.annotation.JsonValue; public enum ChecksumType { - SHA1("sha1"), SHA256("sha256"); @@ -52,5 +51,4 @@ public String getValue() { public String toString() { return getValue(); } - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/ClientV3Exception.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/ClientV3Exception.java index 9dc53df182..b2322245fc 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/ClientV3Exception.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/ClientV3Exception.java @@ -16,10 +16,9 @@ package org.cloudfoundry.client.v3; -import org.cloudfoundry.AbstractCloudFoundryException; - import java.util.List; import java.util.stream.Collectors; +import org.cloudfoundry.AbstractCloudFoundryException; /** * An exception encapsulating an error returned from Cloud Foundry V3 APIs @@ -37,7 +36,11 @@ public final class ClientV3Exception extends AbstractCloudFoundryException { * @param errors the errors */ public ClientV3Exception(Integer statusCode, List errors) { - super(statusCode, errors.stream().map(ClientV3Exception::toErrorString).collect(Collectors.joining(", "))); + super( + statusCode, + errors.stream() + .map(ClientV3Exception::toErrorString) + .collect(Collectors.joining(", "))); this.errors = errors; } @@ -51,5 +54,4 @@ public List getErrors() { private static String toErrorString(Error error) { return String.format("%s(%d): %s", error.getTitle(), error.getCode(), error.getDetail()); } - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/FilterParameter.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/FilterParameter.java index 155cdb835b..7502a1066d 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/FilterParameter.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/FilterParameter.java @@ -18,7 +18,6 @@ import com.fasterxml.jackson.annotation.JacksonAnnotationsInside; import com.fasterxml.jackson.annotation.JsonIgnore; - import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; @@ -39,5 +38,4 @@ * @return the name of the parameter */ String value(); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/LifecycleData.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/LifecycleData.java index a21f46829c..5e3875ae7d 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/LifecycleData.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/LifecycleData.java @@ -19,6 +19,4 @@ /** * Marker interface for Lifecycle Data */ -public interface LifecycleData { - -} +public interface LifecycleData {} diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/LifecycleType.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/LifecycleType.java index 2a721fff30..4a5d0408e0 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/LifecycleType.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/LifecycleType.java @@ -20,12 +20,11 @@ import com.fasterxml.jackson.annotation.JsonValue; public enum LifecycleType { - BUILDPACK("buildpack"), DOCKER("docker"), - KPACK( "kpack"); + KPACK("kpack"); private final String value; @@ -56,5 +55,4 @@ public String getValue() { public String toString() { return getValue(); } - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/PaginatedRequest.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/PaginatedRequest.java index 6e99f9f6f9..2e1f9e61cd 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/PaginatedRequest.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/PaginatedRequest.java @@ -56,5 +56,4 @@ void check() { throw new IllegalStateException("perPage much be between 1 and 5000 inclusive"); } } - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/PaginatedResponse.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/PaginatedResponse.java index 13d2ba769f..7546649879 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/PaginatedResponse.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/PaginatedResponse.java @@ -17,9 +17,8 @@ package org.cloudfoundry.client.v3; import com.fasterxml.jackson.annotation.JsonProperty; -import org.cloudfoundry.Nullable; - import java.util.List; +import org.cloudfoundry.Nullable; /** * Base class for responses that are paginated @@ -41,5 +40,4 @@ public abstract class PaginatedResponse { @JsonProperty("resources") @Nullable public abstract List getResources(); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/RelationshipResponse.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/RelationshipResponse.java index 6bfd02e1ec..4fd84e3e7b 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/RelationshipResponse.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/RelationshipResponse.java @@ -17,11 +17,10 @@ package org.cloudfoundry.client.v3; import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.Map; import org.cloudfoundry.AllowNulls; import org.cloudfoundry.Nullable; -import java.util.Map; - /** * A base class for all response types that are relationships */ @@ -40,5 +39,4 @@ public abstract class RelationshipResponse { @AllowNulls @JsonProperty("links") public abstract Map getLinks(); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/Resource.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/Resource.java index 47aa378afe..b3cfe760d5 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/Resource.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/Resource.java @@ -17,11 +17,10 @@ package org.cloudfoundry.client.v3; import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.Map; import org.cloudfoundry.AllowNulls; import org.cloudfoundry.Nullable; -import java.util.Map; - public abstract class Resource { /** @@ -49,5 +48,4 @@ public abstract class Resource { @JsonProperty("updated_at") @Nullable public abstract String getUpdatedAt(); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/admin/AdminV3.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/admin/AdminV3.java index 7fc89179fe..81dbf7d1bf 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/admin/AdminV3.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/admin/AdminV3.java @@ -30,5 +30,4 @@ public interface AdminV3 { * @return the response from the Clear BuildPack Cache request */ Mono clearBuildpackCache(ClearBuildpackCacheRequest request); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/applications/Application.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/applications/Application.java index ef063588b2..a6d9898de4 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/applications/Application.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/applications/Application.java @@ -58,5 +58,4 @@ public abstract class Application extends Resource { */ @JsonProperty("state") public abstract ApplicationState getState(); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/applications/ApplicationFeature.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/applications/ApplicationFeature.java index 7e0a205944..b47cfd7df3 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/applications/ApplicationFeature.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/applications/ApplicationFeature.java @@ -44,5 +44,4 @@ public abstract class ApplicationFeature { @JsonProperty("name") @Nullable public abstract String getName(); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/applications/ApplicationState.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/applications/ApplicationState.java index 4fe3804c5a..06a7ead919 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/applications/ApplicationState.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/applications/ApplicationState.java @@ -48,7 +48,8 @@ public static ApplicationState from(String s) { case "stopped": return STOPPED; default: - throw new IllegalArgumentException(String.format("Unknown application state: %s", s)); + throw new IllegalArgumentException( + String.format("Unknown application state: %s", s)); } } @@ -61,5 +62,4 @@ public String getValue() { public String toString() { return getValue(); } - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/applications/ApplicationsV3.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/applications/ApplicationsV3.java index ea0fc08c32..ff951a68a5 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/applications/ApplicationsV3.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/applications/ApplicationsV3.java @@ -53,7 +53,8 @@ public interface ApplicationsV3 { * @param request the Get Current Droplet request * @return the response from the Get Current Droplet request */ - Mono getCurrentDroplet(GetApplicationCurrentDropletRequest request); + Mono getCurrentDroplet( + GetApplicationCurrentDropletRequest request); /** * Makes the Get Current Droplet Relationship request @@ -61,7 +62,8 @@ public interface ApplicationsV3 { * @param request the Get Current Droplet Relationship request * @return the response from the Get Current Droplet Relationship request */ - Mono getCurrentDropletRelationship(GetApplicationCurrentDropletRelationshipRequest request); + Mono getCurrentDropletRelationship( + GetApplicationCurrentDropletRelationshipRequest request); /** * Makes the Get Application Environment request @@ -69,7 +71,8 @@ public interface ApplicationsV3 { * @param request the Get Application Environment request * @return the response from the Get Application Environment request */ - Mono getEnvironment(GetApplicationEnvironmentRequest request); + Mono getEnvironment( + GetApplicationEnvironmentRequest request); /** * Makes the Get Application Environment Variables request @@ -77,7 +80,8 @@ public interface ApplicationsV3 { * @param request the Get Application Environment Variables request * @return the response from the Get Application Environment Variables request */ - Mono getEnvironmentVariables(GetApplicationEnvironmentVariablesRequest request); + Mono getEnvironmentVariables( + GetApplicationEnvironmentVariablesRequest request); /** * Makes the Get Application Feature request @@ -93,7 +97,8 @@ public interface ApplicationsV3 { * @param request the Get Permissions for an Application request * @return the response from the Get Permissions for an Application request */ - Mono getPermissions(GetApplicationPermissionsRequest request); + Mono getPermissions( + GetApplicationPermissionsRequest request); /** * Makes the Get Application Process request @@ -109,7 +114,8 @@ public interface ApplicationsV3 { * @param request the Get Statistics for a Process for an Application request * @return the response from the Get Statistics for a Process for an Application request */ - Mono getProcessStatistics(GetApplicationProcessStatisticsRequest request); + Mono getProcessStatistics( + GetApplicationProcessStatisticsRequest request); /** * Makes the Get SSH enabled for an Application request @@ -205,7 +211,8 @@ public interface ApplicationsV3 { * @param request the Set Current Droplet request * @return the response from the Set Current Droplet request */ - Mono setCurrentDroplet(SetApplicationCurrentDropletRequest request); + Mono setCurrentDroplet( + SetApplicationCurrentDropletRequest request); /** * Makes the Start Application request @@ -245,7 +252,8 @@ public interface ApplicationsV3 { * @param request the Update Application Environment Variables request * @return the response from the Update Application Environment Variables request */ - Mono updateEnvironmentVariables(UpdateApplicationEnvironmentVariablesRequest request); + Mono updateEnvironmentVariables( + UpdateApplicationEnvironmentVariablesRequest request); /** * Makes the Update Application Feature request @@ -254,5 +262,4 @@ public interface ApplicationsV3 { * @return the response from the Update Application Feature request */ Mono updateFeature(UpdateApplicationFeatureRequest request); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/applications/EnvironmentVariables.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/applications/EnvironmentVariables.java index d27300155a..2692450b82 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/applications/EnvironmentVariables.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/applications/EnvironmentVariables.java @@ -17,11 +17,10 @@ package org.cloudfoundry.client.v3.applications; import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.Map; import org.cloudfoundry.AllowNulls; import org.cloudfoundry.client.v3.Link; -import java.util.Map; - /** * The environment variables of an application */ @@ -40,5 +39,4 @@ public abstract class EnvironmentVariables { @AllowNulls @JsonProperty("var") abstract Map getVars(); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/auditevents/AuditEvent.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/auditevents/AuditEvent.java index 55689f0877..cedb69b894 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/auditevents/AuditEvent.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/auditevents/AuditEvent.java @@ -17,13 +17,12 @@ package org.cloudfoundry.client.v3.auditevents; import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.Map; import org.cloudfoundry.AllowNulls; import org.cloudfoundry.Nullable; import org.cloudfoundry.client.v3.Relationship; import org.cloudfoundry.client.v3.Resource; -import java.util.Map; - /** * Base class for responses that are audit events */ @@ -71,5 +70,4 @@ public abstract class AuditEvent extends Resource { @JsonProperty("type") @Nullable public abstract String getType(); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/auditevents/AuditEventsV3.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/auditevents/AuditEventsV3.java index 33f3e959a5..75dda08166 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/auditevents/AuditEventsV3.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/auditevents/AuditEventsV3.java @@ -38,5 +38,4 @@ public interface AuditEventsV3 { * @return the response from the List Audit Events request */ Mono list(ListAuditEventsRequest request); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/buildpacks/Buildpack.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/buildpacks/Buildpack.java index dc761c6b3c..0dd2fd23b2 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/buildpacks/Buildpack.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/buildpacks/Buildpack.java @@ -76,5 +76,4 @@ public abstract class Buildpack extends Resource { */ @JsonProperty("state") public abstract BuildpackState getState(); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/buildpacks/BuildpackState.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/buildpacks/BuildpackState.java index 0f214b953e..32c5025499 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/buildpacks/BuildpackState.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/buildpacks/BuildpackState.java @@ -61,5 +61,4 @@ public String getValue() { public String toString() { return getValue(); } - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/buildpacks/BuildpacksV3.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/buildpacks/BuildpacksV3.java index bf3eaf5565..ced3254ab7 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/buildpacks/BuildpacksV3.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/buildpacks/BuildpacksV3.java @@ -70,5 +70,4 @@ public interface BuildpacksV3 { * @return the response from the Upload Buildpack request */ Mono upload(UploadBuildpackRequest request); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/builds/BuildState.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/builds/BuildState.java index 75fd3d0699..5f72b9684d 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/builds/BuildState.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/builds/BuildState.java @@ -68,5 +68,4 @@ public String getValue() { public String toString() { return getValue(); } - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/builds/Builds.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/builds/Builds.java index 073be3626b..9a25139c6c 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/builds/Builds.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/builds/Builds.java @@ -46,5 +46,4 @@ public interface Builds { * @return the response from the List Builds request */ Mono list(ListBuildsRequest request); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/deployments/Deployment.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/deployments/Deployment.java index e4379de000..5332f4d762 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/deployments/Deployment.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/deployments/Deployment.java @@ -17,14 +17,13 @@ package org.cloudfoundry.client.v3.deployments; import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; import org.cloudfoundry.Nullable; import org.cloudfoundry.client.v3.Metadata; import org.cloudfoundry.client.v3.Relationship; import org.cloudfoundry.client.v3.Resource; import org.cloudfoundry.client.v3.ToOneRelationship; -import java.util.List; - /** * Base class for responses that are deployments */ @@ -100,5 +99,4 @@ public abstract class Deployment extends Resource { @JsonProperty("strategy") @Nullable public abstract DeploymentStrategy getStrategy(); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/deployments/DeploymentState.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/deployments/DeploymentState.java index 8fe19fabf3..3da1a33951 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/deployments/DeploymentState.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/deployments/DeploymentState.java @@ -62,7 +62,8 @@ public static DeploymentState from(String s) { case "canceled": return CANCELED; default: - throw new IllegalArgumentException(String.format("Unknown deployment state: %s", s)); + throw new IllegalArgumentException( + String.format("Unknown deployment state: %s", s)); } } @@ -75,5 +76,4 @@ public String getValue() { public String toString() { return getValue(); } - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/deployments/DeploymentStatusReason.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/deployments/DeploymentStatusReason.java index b5e10e9ec1..6ab56a0177 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/deployments/DeploymentStatusReason.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/deployments/DeploymentStatusReason.java @@ -76,7 +76,8 @@ public static DeploymentStatusReason from(String s) { case "superseded": return SUPERSEDED; default: - throw new IllegalArgumentException(String.format("Unknown deployment state: %s", s)); + throw new IllegalArgumentException( + String.format("Unknown deployment state: %s", s)); } } @@ -89,5 +90,4 @@ public String getValue() { public String toString() { return getValue(); } - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/deployments/DeploymentStatusValue.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/deployments/DeploymentStatusValue.java index 0e031a7b46..b8e1fe1eb4 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/deployments/DeploymentStatusValue.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/deployments/DeploymentStatusValue.java @@ -62,7 +62,8 @@ public static DeploymentStatusValue from(String s) { case "finalized": return FINALIZED; default: - throw new IllegalArgumentException(String.format("Unknown deployment status value: %s", s)); + throw new IllegalArgumentException( + String.format("Unknown deployment status value: %s", s)); } } @@ -75,5 +76,4 @@ public String getValue() { public String toString() { return getValue(); } - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/deployments/DeploymentStrategy.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/deployments/DeploymentStrategy.java index 5abed3c313..677efeaa50 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/deployments/DeploymentStrategy.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/deployments/DeploymentStrategy.java @@ -52,5 +52,4 @@ public String getValue() { public String toString() { return getValue(); } - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/deployments/DeploymentsV3.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/deployments/DeploymentsV3.java index fb876c848b..dd97410160 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/deployments/DeploymentsV3.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/deployments/DeploymentsV3.java @@ -54,5 +54,4 @@ public interface DeploymentsV3 { * @return the response from the List Deployments request */ Mono list(ListDeploymentsRequest request); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/domains/Domain.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/domains/Domain.java index 0b251f1744..2d1a03bbc7 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/domains/Domain.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/domains/Domain.java @@ -17,14 +17,13 @@ package org.cloudfoundry.client.v3.domains; import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; import org.cloudfoundry.AllowNulls; import org.cloudfoundry.Nullable; import org.cloudfoundry.client.v3.Metadata; import org.cloudfoundry.client.v3.Resource; import org.cloudfoundry.client.v3.routes.Protocol; -import java.util.List; - public abstract class Domain extends Resource { /** @@ -67,5 +66,4 @@ public abstract class Domain extends Resource { */ @JsonProperty("internal") public abstract boolean isInternal(); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/domains/DomainsV3.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/domains/DomainsV3.java index 5d1b74ee4f..5af01d954e 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/domains/DomainsV3.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/domains/DomainsV3.java @@ -86,5 +86,4 @@ public interface DomainsV3 { * @return the response from the Update a Domain request */ Mono update(UpdateDomainRequest request); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/droplets/Droplet.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/droplets/Droplet.java index 255471a3cb..7728408756 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/droplets/Droplet.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/droplets/Droplet.java @@ -17,15 +17,14 @@ package org.cloudfoundry.client.v3.droplets; import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; +import java.util.Map; import org.cloudfoundry.Nullable; import org.cloudfoundry.client.v3.Checksum; import org.cloudfoundry.client.v3.Lifecycle; import org.cloudfoundry.client.v3.Metadata; import org.cloudfoundry.client.v3.Resource; -import java.util.List; -import java.util.Map; - /** * Base class for responses that are droplets */ @@ -104,5 +103,4 @@ public abstract class Droplet extends Resource { */ @JsonProperty("state") public abstract DropletState getState(); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/droplets/DropletState.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/droplets/DropletState.java index a3dc618218..c552977eb4 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/droplets/DropletState.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/droplets/DropletState.java @@ -76,5 +76,4 @@ public String getValue() { public String toString() { return getValue(); } - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/droplets/Droplets.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/droplets/Droplets.java index 2ceec4bf3e..7c78e0c9ef 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/droplets/Droplets.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/droplets/Droplets.java @@ -53,5 +53,4 @@ public interface Droplets { * @return the response from the List Droplets request */ Mono list(ListDropletsRequest request); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/isolationsegments/IsolationSegment.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/isolationsegments/IsolationSegment.java index b5869a2688..dc139d2108 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/isolationsegments/IsolationSegment.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/isolationsegments/IsolationSegment.java @@ -38,5 +38,4 @@ public abstract class IsolationSegment extends Resource { */ @JsonProperty("name") public abstract String getName(); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/isolationsegments/IsolationSegments.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/isolationsegments/IsolationSegments.java index daf4643af4..5c8b41ee83 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/isolationsegments/IsolationSegments.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/isolationsegments/IsolationSegments.java @@ -30,7 +30,8 @@ public interface IsolationSegments { * @param request the Add an Isolation Segment Organization Entitlement request * @return the response from the Add an Isolation Segment Organization Entitlement request */ - Mono addOrganizationEntitlement(AddIsolationSegmentOrganizationEntitlementRequest request); + Mono addOrganizationEntitlement( + AddIsolationSegmentOrganizationEntitlementRequest request); /** * Makes the Create an Isolation Segment request @@ -70,7 +71,8 @@ public interface IsolationSegments { * @param request the List Organizations for Isolation Segment request * @return the response from the List Organizations for Isolation Segment request */ - Mono listEntitledOrganizations(ListIsolationSegmentEntitledOrganizationsRequest request); + Mono listEntitledOrganizations( + ListIsolationSegmentEntitledOrganizationsRequest request); /** * Makes the List Organizations Relationship request @@ -78,7 +80,8 @@ public interface IsolationSegments { * @param request the List Organizations Relationship request * @return the response from the List Organizations Relationship request */ - Mono listOrganizationsRelationship(ListIsolationSegmentOrganizationsRelationshipRequest request); + Mono listOrganizationsRelationship( + ListIsolationSegmentOrganizationsRelationshipRequest request); /** * Makes the List Spaces Relationship request @@ -86,7 +89,8 @@ public interface IsolationSegments { * @param request the List Spaces Relationship request * @return the response from the List Spaces Relationship request */ - Mono listSpacesRelationship(ListIsolationSegmentSpacesRelationshipRequest request); + Mono listSpacesRelationship( + ListIsolationSegmentSpacesRelationshipRequest request); /** * Makes the @@ -95,7 +99,8 @@ public interface IsolationSegments { * @param request the Remove an Isolation Segment Organization Entitlement request * @return the response from the Remove an Isolation Segment Organization Entitlement request */ - Mono removeOrganizationEntitlement(RemoveIsolationSegmentOrganizationEntitlementRequest request); + Mono removeOrganizationEntitlement( + RemoveIsolationSegmentOrganizationEntitlementRequest request); /** * Makes the Update an Isolation Segment request @@ -104,5 +109,4 @@ public interface IsolationSegments { * @return the response from the Update Isolation Segment request */ Mono update(UpdateIsolationSegmentRequest request); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/jobs/Job.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/jobs/Job.java index e56a955822..659d31ef0b 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/jobs/Job.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/jobs/Job.java @@ -17,9 +17,8 @@ package org.cloudfoundry.client.v3.jobs; import com.fasterxml.jackson.annotation.JsonProperty; -import org.cloudfoundry.client.v3.Resource; - import java.util.List; +import org.cloudfoundry.client.v3.Resource; /** * Base class for responses that are jobs @@ -49,5 +48,4 @@ public abstract class Job extends Resource { */ @JsonProperty("warnings") public abstract List getWarnings(); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/jobs/JobState.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/jobs/JobState.java index 2788b13187..e946b58a2b 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/jobs/JobState.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/jobs/JobState.java @@ -75,5 +75,4 @@ public String getValue() { public String toString() { return getValue(); } - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/jobs/JobsV3.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/jobs/JobsV3.java index 735011cca6..e572ee8e07 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/jobs/JobsV3.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/jobs/JobsV3.java @@ -30,5 +30,4 @@ public interface JobsV3 { * @return the response from the Get Job request */ Mono get(GetJobRequest request); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/organizations/Organization.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/organizations/Organization.java index 00d77b5edc..3b2abf700b 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/organizations/Organization.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/organizations/Organization.java @@ -58,5 +58,4 @@ public abstract class Organization extends Resource { @JsonProperty("suspended") @Nullable public abstract Boolean getSuspended(); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/organizations/OrganizationStatus.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/organizations/OrganizationStatus.java index d6127f3b4c..52fd95d8e7 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/organizations/OrganizationStatus.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/organizations/OrganizationStatus.java @@ -48,7 +48,8 @@ public static OrganizationStatus from(String s) { case "suspended": return SUSPENDED; default: - throw new IllegalArgumentException(String.format("Unknown organization status: %s", s)); + throw new IllegalArgumentException( + String.format("Unknown organization status: %s", s)); } } @@ -61,5 +62,4 @@ public String getValue() { public String toString() { return getValue(); } - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/organizations/OrganizationsV3.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/organizations/OrganizationsV3.java index ed4bb4810b..46f1ffa8fb 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/organizations/OrganizationsV3.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/organizations/OrganizationsV3.java @@ -29,7 +29,8 @@ public interface OrganizationsV3 { * @param request the Assign Default Isolation Segment request * @return the response from the Assign Default Isolation Segment request */ - Mono assignDefaultIsolationSegment(AssignOrganizationDefaultIsolationSegmentRequest request); + Mono assignDefaultIsolationSegment( + AssignOrganizationDefaultIsolationSegmentRequest request); /** * Makes the Create Organization request @@ -61,7 +62,8 @@ public interface OrganizationsV3 { * @param request the Get Default Domain for an Organization request * @return the response from the Get Default Domain for an Organization request */ - Mono getDefaultDomain(GetOrganizationDefaultDomainRequest request); + Mono getDefaultDomain( + GetOrganizationDefaultDomainRequest request); /** * Makes the Get Default Isolation Segment request @@ -69,7 +71,8 @@ public interface OrganizationsV3 { * @param request the Get Default Isolation Segment request * @return the response from the Get Default Isolation Segment request */ - Mono getDefaultIsolationSegment(GetOrganizationDefaultIsolationSegmentRequest request); + Mono getDefaultIsolationSegment( + GetOrganizationDefaultIsolationSegmentRequest request); /** * Makes the Get Usage Summary request @@ -77,7 +80,8 @@ public interface OrganizationsV3 { * @param request the Get Usage Summary request * @return the response from the Get Usage Summary request */ - Mono getUsageSummary(GetOrganizationUsageSummaryRequest request); + Mono getUsageSummary( + GetOrganizationUsageSummaryRequest request); /** * Makes the List Organizations request @@ -102,5 +106,4 @@ public interface OrganizationsV3 { * @return the response from the Update Organization request */ Mono update(UpdateOrganizationRequest request); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/packages/Package.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/packages/Package.java index 33ab23ae44..0a18c39fd4 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/packages/Package.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/packages/Package.java @@ -31,7 +31,10 @@ public abstract class Package extends Resource { /** * The data for the package */ - @JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.EXTERNAL_PROPERTY, property = "type") + @JsonTypeInfo( + use = JsonTypeInfo.Id.NAME, + include = JsonTypeInfo.As.EXTERNAL_PROPERTY, + property = "type") @JsonSubTypes({ @JsonSubTypes.Type(name = "bits", value = BitsData.class), @JsonSubTypes.Type(name = "docker", value = DockerData.class) @@ -64,5 +67,4 @@ public abstract class Package extends Resource { @JsonProperty("relationships") @Nullable abstract PackageRelationships getRelationships(); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/packages/PackageData.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/packages/PackageData.java index 1e29a498ec..b6dc2bc5ed 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/packages/PackageData.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/packages/PackageData.java @@ -19,6 +19,4 @@ /** * Marker interface for Package Data */ -public interface PackageData { - -} +public interface PackageData {} diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/packages/PackageState.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/packages/PackageState.java index ba299e47cd..81ee96396b 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/packages/PackageState.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/packages/PackageState.java @@ -89,5 +89,4 @@ public String getValue() { public String toString() { return getValue(); } - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/packages/PackageType.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/packages/PackageType.java index b5019a00e1..22ac3aaffb 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/packages/PackageType.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/packages/PackageType.java @@ -61,5 +61,4 @@ public String getValue() { public String toString() { return getValue(); } - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/packages/Packages.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/packages/Packages.java index 5db48a9ddc..44b9e61cf6 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/packages/Packages.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/packages/Packages.java @@ -87,5 +87,4 @@ public interface Packages { * @return the response from the Upload Package request */ Mono upload(UploadPackageRequest request); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/processes/HealthCheckType.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/processes/HealthCheckType.java index 92a36ff755..1b1748dcfd 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/processes/HealthCheckType.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/processes/HealthCheckType.java @@ -63,7 +63,8 @@ public static HealthCheckType from(String s) { case "process": return PROCESS; default: - throw new IllegalArgumentException(String.format("Unknown health check type: %s", s)); + throw new IllegalArgumentException( + String.format("Unknown health check type: %s", s)); } } @@ -76,5 +77,4 @@ public String getValue() { public String toString() { return getValue(); } - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/processes/Process.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/processes/Process.java index 7eac1f6bf3..f631459722 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/processes/Process.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/processes/Process.java @@ -72,5 +72,4 @@ public abstract class Process extends Resource { */ @JsonProperty("type") public abstract String getType(); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/processes/ProcessState.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/processes/ProcessState.java index 23e97e0782..c9ac2c22c2 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/processes/ProcessState.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/processes/ProcessState.java @@ -75,5 +75,4 @@ public String getValue() { public String toString() { return getValue(); } - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/processes/ProcessStatistics.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/processes/ProcessStatistics.java index 8015de0ce0..a4fae2fd6d 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/processes/ProcessStatistics.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/processes/ProcessStatistics.java @@ -17,9 +17,8 @@ package org.cloudfoundry.client.v3.processes; import com.fasterxml.jackson.annotation.JsonProperty; -import org.cloudfoundry.Nullable; - import java.util.List; +import org.cloudfoundry.Nullable; /** * Process details statistics @@ -105,6 +104,4 @@ public abstract class ProcessStatistics { @JsonProperty("usage") @Nullable public abstract ProcessUsage getUsage(); - } - diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/processes/Processes.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/processes/Processes.java index 3e9cf6f582..d9d0ecbea0 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/processes/Processes.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/processes/Processes.java @@ -70,5 +70,4 @@ public interface Processes { * @return the response from the Update Process request */ Mono update(UpdateProcessRequest request); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/roles/Role.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/roles/Role.java index 85d5106185..57cb3b9e4c 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/roles/Role.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/roles/Role.java @@ -35,5 +35,4 @@ public abstract class Role extends Resource { */ @JsonProperty("type") public abstract RoleType getType(); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/roles/RoleType.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/roles/RoleType.java index 4c80f69dfa..6b4c75ffba 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/roles/RoleType.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/roles/RoleType.java @@ -18,7 +18,6 @@ import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonValue; - import java.util.Arrays; import java.util.EnumSet; import java.util.Map; @@ -65,12 +64,19 @@ public enum RoleType { */ SPACE_MANAGER; - public static final Set ORGANIZATION_ROLE_TYPES = EnumSet.of(ORGANIZATION_AUDITOR, ORGANIZATION_BILLING_MANAGER, ORGANIZATION_MANAGER, ORGANIZATION_USER); + public static final Set ORGANIZATION_ROLE_TYPES = + EnumSet.of( + ORGANIZATION_AUDITOR, + ORGANIZATION_BILLING_MANAGER, + ORGANIZATION_MANAGER, + ORGANIZATION_USER); - public static final Set SPACE_ROLE_TYPES = EnumSet.of(SPACE_AUDITOR, SPACE_DEVELOPER, SPACE_MANAGER); + public static final Set SPACE_ROLE_TYPES = + EnumSet.of(SPACE_AUDITOR, SPACE_DEVELOPER, SPACE_MANAGER); - private static final Map NAMES_TO_VALUES = Arrays.stream(RoleType.values()) - .collect(Collectors.toMap(RoleType::getValue, roleType -> roleType)); + private static final Map NAMES_TO_VALUES = + Arrays.stream(RoleType.values()) + .collect(Collectors.toMap(RoleType::getValue, roleType -> roleType)); @JsonCreator public static RoleType from(String s) { @@ -90,5 +96,4 @@ public String getValue() { public String toString() { return getValue(); } - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/roles/RolesV3.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/roles/RolesV3.java index 812b927f42..33de558546 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/roles/RolesV3.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/roles/RolesV3.java @@ -54,5 +54,4 @@ public interface RolesV3 { * @return the response from the List Roles request */ Mono list(ListRolesRequest request); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/routes/Protocol.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/routes/Protocol.java index 3f7145c8f3..949e9e17ab 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/routes/Protocol.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/routes/Protocol.java @@ -61,5 +61,4 @@ public String getValue() { public String toString() { return getValue(); } - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/routes/Route.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/routes/Route.java index c7371a1a17..63711ef7ec 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/routes/Route.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/routes/Route.java @@ -1,12 +1,11 @@ package org.cloudfoundry.client.v3.routes; import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; import org.cloudfoundry.Nullable; import org.cloudfoundry.client.v3.Metadata; import org.cloudfoundry.client.v3.Resource; -import java.util.List; - /** * Base class for responses that are routes */ @@ -63,5 +62,4 @@ public abstract class Route extends Resource { */ @JsonProperty("url") public abstract String getUrl(); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/routes/RouteDestinations.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/routes/RouteDestinations.java index a8b5f235bb..4f720fb48d 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/routes/RouteDestinations.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/routes/RouteDestinations.java @@ -1,11 +1,10 @@ package org.cloudfoundry.client.v3.routes; import com.fasterxml.jackson.annotation.JsonProperty; -import org.cloudfoundry.AllowNulls; -import org.cloudfoundry.client.v3.Link; - import java.util.List; import java.util.Map; +import org.cloudfoundry.AllowNulls; +import org.cloudfoundry.client.v3.Link; /** * The Route Destinations @@ -24,5 +23,4 @@ public abstract class RouteDestinations { */ @JsonProperty("destinations") abstract List getDestinations(); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/routes/RoutesV3.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/routes/RoutesV3.java index 4dc2a6defb..14bd3d4d1d 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/routes/RoutesV3.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/routes/RoutesV3.java @@ -34,7 +34,8 @@ public interface RoutesV3 { * @param request the Insert Route Destinations request * @return the response from the Insert Route Destinations request */ - Mono insertDestinations(InsertRouteDestinationsRequest request); + Mono insertDestinations( + InsertRouteDestinationsRequest request); /** * Makes the List Routes request @@ -66,7 +67,8 @@ public interface RoutesV3 { * @param request the Replace Route Destinations request * @return the response from the Replace Route Destinations request */ - Mono replaceDestinations(ReplaceRouteDestinationsRequest request); + Mono replaceDestinations( + ReplaceRouteDestinationsRequest request); /** * Makes the List Routes request @@ -75,5 +77,4 @@ public interface RoutesV3 { * @return the response from the List Route request */ Mono update(UpdateRouteRequest request); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/servicebindings/ServiceBinding.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/servicebindings/ServiceBinding.java index 0ebcca521e..ffd616c2c7 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/servicebindings/ServiceBinding.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/servicebindings/ServiceBinding.java @@ -59,5 +59,4 @@ public abstract class ServiceBinding extends Resource { @JsonProperty("metadata") @Nullable public abstract Metadata getMetadata(); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/servicebindings/ServiceBindingType.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/servicebindings/ServiceBindingType.java index af7854ef37..d057c0dbc4 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/servicebindings/ServiceBindingType.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/servicebindings/ServiceBindingType.java @@ -48,5 +48,4 @@ public String getValue() { public String toString() { return getValue(); } - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/servicebindings/ServiceBindingsV3.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/servicebindings/ServiceBindingsV3.java index 611e5ccdc1..3e0558b19b 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/servicebindings/ServiceBindingsV3.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/servicebindings/ServiceBindingsV3.java @@ -61,7 +61,8 @@ public interface ServiceBindingsV3 { * @param request the Get Service Binding Parameters request * @return the response from the Get Service Binding Parameters request */ - Mono getParameters(GetServiceBindingParametersRequest request); + Mono getParameters( + GetServiceBindingParametersRequest request); /** * Makes the List service credential bindings request @@ -78,5 +79,4 @@ public interface ServiceBindingsV3 { * @return the response from the Update Service Bindings request */ Mono update(UpdateServiceBindingRequest request); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/servicebrokers/Authentication.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/servicebrokers/Authentication.java index 59c09d3041..bfbca1f206 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/servicebrokers/Authentication.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/servicebrokers/Authentication.java @@ -1,17 +1,15 @@ package org.cloudfoundry.client.v3.servicebrokers; -import java.util.Map; - import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import java.util.Map; @JsonSerialize abstract class Authentication { @JsonProperty("credentials") abstract Map getCredentials(); - + @JsonProperty("type") abstract String getType(); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/servicebrokers/ServiceBroker.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/servicebrokers/ServiceBroker.java index 4a79ca2f44..95a02d83ce 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/servicebrokers/ServiceBroker.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/servicebrokers/ServiceBroker.java @@ -1,27 +1,25 @@ package org.cloudfoundry.client.v3.servicebrokers; +import com.fasterxml.jackson.annotation.JsonProperty; import org.cloudfoundry.AllowNulls; import org.cloudfoundry.Nullable; import org.cloudfoundry.client.v3.Metadata; import org.cloudfoundry.client.v3.Resource; -import com.fasterxml.jackson.annotation.JsonProperty; - public abstract class ServiceBroker extends Resource { @AllowNulls @JsonProperty("metadata") @Nullable public abstract Metadata getMetadata(); - + @JsonProperty("name") public abstract String getName(); - + @JsonProperty("relationships") @Nullable public abstract ServiceBrokerRelationships getRelationships(); - + @JsonProperty("url") public abstract String getUrl(); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/servicebrokers/ServiceBrokersV3.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/servicebrokers/ServiceBrokersV3.java index 68eec3a0cb..f007b7cafa 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/servicebrokers/ServiceBrokersV3.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/servicebrokers/ServiceBrokersV3.java @@ -14,7 +14,7 @@ public interface ServiceBrokersV3 { * @return the response from the Create Service Broker request */ Mono create(CreateServiceBrokerRequest request); - + /** * Makes the Delete a service broker request * @@ -22,7 +22,7 @@ public interface ServiceBrokersV3 { * @return the response from the Delete Service Broker request */ Mono delete(DeleteServiceBrokerRequest request); - + /** * Makes the Get a service broker request * @@ -30,7 +30,7 @@ public interface ServiceBrokersV3 { * @return the response from the Get Service Broker request */ Mono get(GetServiceBrokerRequest request); - + /** * Makes the List service brokers request * @@ -38,7 +38,7 @@ public interface ServiceBrokersV3 { * @return the response from the List Service Brokers request */ Mono list(ListServiceBrokersRequest request); - + /** * Makes the Update a service broker request * @@ -46,5 +46,4 @@ public interface ServiceBrokersV3 { * @return the response from the Update Service Broker request */ Mono update(UpdateServiceBrokerRequest request); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/serviceinstances/ServiceInstance.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/serviceinstances/ServiceInstance.java index d85da17c9e..e7eda648aa 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/serviceinstances/ServiceInstance.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/serviceinstances/ServiceInstance.java @@ -17,14 +17,13 @@ package org.cloudfoundry.client.v3.serviceinstances; import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; import org.cloudfoundry.Nullable; import org.cloudfoundry.client.v3.LastOperation; import org.cloudfoundry.client.v3.MaintenanceInfo; import org.cloudfoundry.client.v3.Metadata; import org.cloudfoundry.client.v3.Resource; -import java.util.List; - /** * Base class for responses that are service instances */ @@ -105,5 +104,4 @@ public abstract class ServiceInstance extends Resource { @JsonProperty("upgrade_available") @Nullable public abstract Boolean getUpdateAvailable(); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/serviceinstances/ServiceInstanceType.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/serviceinstances/ServiceInstanceType.java index dce871d3be..e30ec65ac9 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/serviceinstances/ServiceInstanceType.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/serviceinstances/ServiceInstanceType.java @@ -48,7 +48,8 @@ public static ServiceInstanceType from(String s) { case "user-provided": return USER_PROVIDED; default: - throw new IllegalArgumentException(String.format("Unknown service instance type: %s", s)); + throw new IllegalArgumentException( + String.format("Unknown service instance type: %s", s)); } } @@ -61,5 +62,4 @@ public String getValue() { public String toString() { return getValue(); } - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/serviceinstances/ServiceInstancesV3.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/serviceinstances/ServiceInstancesV3.java index 971b69f981..9253035ef1 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/serviceinstances/ServiceInstancesV3.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/serviceinstances/ServiceInstancesV3.java @@ -16,9 +16,8 @@ package org.cloudfoundry.client.v3.serviceinstances; -import reactor.core.publisher.Mono; - import java.util.Optional; +import reactor.core.publisher.Mono; /** * Main entry point to the Cloud Foundry Service Instances V3 Client API @@ -43,7 +42,6 @@ public interface ServiceInstancesV3 { */ Mono get(GetServiceInstanceRequest request); - /** * Makes the * Delete A Service Instance request @@ -56,20 +54,22 @@ public interface ServiceInstancesV3 { /** * Makes the * Get parameters for a managed service instance request - * + * * @param request the Get Managed Service Parameters request * @return the response from Get Managed Service Parameters request */ - Mono getManagedServiceParameters(GetManagedServiceParametersRequest request); - + Mono getManagedServiceParameters( + GetManagedServiceParametersRequest request); + /** * Makes the * Get credentials for a user-provided service instance request - * + * * @param request the Get User Provided Credentials request * @return the response from Get User provided Credentials request */ - Mono getUserProvidedCredentials(GetUserProvidedCredentialsRequest request); + Mono getUserProvidedCredentials( + GetUserProvidedCredentialsRequest request); /** * Makes the List service instances request @@ -86,7 +86,8 @@ public interface ServiceInstancesV3 { * @param request the List Shared Spaces Relationship request * @return the response from the List Shared Spaces Relationship request */ - Mono listSharedSpacesRelationship(ListSharedSpacesRelationshipRequest request); + Mono listSharedSpacesRelationship( + ListSharedSpacesRelationshipRequest request); /** * Makes the diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/serviceofferings/ServiceOffering.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/serviceofferings/ServiceOffering.java index 73667f6fce..a4aa386841 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/serviceofferings/ServiceOffering.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/serviceofferings/ServiceOffering.java @@ -17,12 +17,11 @@ package org.cloudfoundry.client.v3.serviceofferings; import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; import org.cloudfoundry.Nullable; import org.cloudfoundry.client.v3.Metadata; import org.cloudfoundry.client.v3.Resource; -import java.util.List; - /** * Base class for responses that are service offerings */ @@ -91,5 +90,4 @@ public abstract class ServiceOffering extends Resource { @JsonProperty("tags") @Nullable public abstract List getTags(); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/serviceofferings/ServiceOfferingsV3.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/serviceofferings/ServiceOfferingsV3.java index 99cf7c8a97..480e6fbbd7 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/serviceofferings/ServiceOfferingsV3.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/serviceofferings/ServiceOfferingsV3.java @@ -54,5 +54,4 @@ public interface ServiceOfferingsV3 { * @return the response from the Update a Service Offering request */ Mono update(UpdateServiceOfferingRequest request); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/serviceplans/ServicePlan.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/serviceplans/ServicePlan.java index 36a59fddde..d40b40fb2f 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/serviceplans/ServicePlan.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/serviceplans/ServicePlan.java @@ -17,13 +17,12 @@ package org.cloudfoundry.client.v3.serviceplans; import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; import org.cloudfoundry.AllowNulls; import org.cloudfoundry.Nullable; import org.cloudfoundry.client.v3.Metadata; import org.cloudfoundry.client.v3.Resource; -import java.util.List; - /** * Base class for responses that are Service Plans */ @@ -97,5 +96,4 @@ public abstract class ServicePlan extends Resource { */ @JsonProperty("visibility_type") public abstract Visibility getVisibilityType(); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/serviceplans/ServicePlansV3.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/serviceplans/ServicePlansV3.java index 1402abdde9..af75a242fb 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/serviceplans/ServicePlansV3.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/serviceplans/ServicePlansV3.java @@ -61,6 +61,6 @@ public interface ServicePlansV3 { * @param request the Update Service Plan Visibility request * @return the response from the Update Service Plan Visibility request */ - Mono updateVisibility(UpdateServicePlanVisibilityRequest request); - + Mono updateVisibility( + UpdateServicePlanVisibilityRequest request); } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/serviceplans/Visibility.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/serviceplans/Visibility.java index 4d7088041e..7af3ae603c 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/serviceplans/Visibility.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/serviceplans/Visibility.java @@ -75,5 +75,4 @@ public String getValue() { public String toString() { return getValue(); } - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/spaces/Space.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/spaces/Space.java index 6e0139b67c..0ea0fc9d09 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/spaces/Space.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/spaces/Space.java @@ -45,5 +45,4 @@ public abstract class Space extends Resource { @JsonProperty("relationships") @Nullable public abstract SpaceRelationships getRelationships(); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/spaces/SpacesV3.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/spaces/SpacesV3.java index 7567b0621c..9a08546582 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/spaces/SpacesV3.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/spaces/SpacesV3.java @@ -31,7 +31,8 @@ public interface SpacesV3 { * @param request the Assign an Isolation Segment request * @return the response from the Assign an Isolation Segment request */ - Mono assignIsolationSegment(AssignSpaceIsolationSegmentRequest request); + Mono assignIsolationSegment( + AssignSpaceIsolationSegmentRequest request); /** * Makes the Get Space request @@ -71,7 +72,8 @@ public interface SpacesV3 { * @param request the Get Assigned Isolation Segment request * @return the response from the Get Assigned Isolation Segment request */ - Mono getIsolationSegment(GetSpaceIsolationSegmentRequest request); + Mono getIsolationSegment( + GetSpaceIsolationSegmentRequest request); /** * Makes the List Spaces request @@ -88,5 +90,4 @@ public interface SpacesV3 { * @return the response from the Update Space request */ Mono update(UpdateSpaceRequest request); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/stacks/Stack.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/stacks/Stack.java index d2469e25a5..14042a010c 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/stacks/Stack.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/stacks/Stack.java @@ -45,5 +45,4 @@ public abstract class Stack extends Resource { @JsonProperty("metadata") @Nullable public abstract Metadata getMetadata(); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/stacks/StacksV3.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/stacks/StacksV3.java index 90586a4614..33fc702159 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/stacks/StacksV3.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/stacks/StacksV3.java @@ -62,5 +62,4 @@ public interface StacksV3 { * @return the response from the Update Stack request */ Mono update(UpdateStackRequest request); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/tasks/Task.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/tasks/Task.java index b6a752e883..68d192b246 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/tasks/Task.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/tasks/Task.java @@ -89,5 +89,4 @@ public abstract class Task extends Resource { @JsonProperty("relationships") @Nullable public abstract TaskRelationships getTaskRelationships(); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/tasks/TaskState.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/tasks/TaskState.java index 1a0b28fa62..bfe02583e6 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/tasks/TaskState.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/tasks/TaskState.java @@ -82,5 +82,4 @@ public String getValue() { public String toString() { return getValue(); } - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/tasks/Tasks.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/tasks/Tasks.java index 835e0e1832..67a71dd73e 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/tasks/Tasks.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/tasks/Tasks.java @@ -54,5 +54,4 @@ public interface Tasks { * @return the response from the List Tasks request */ Mono list(ListTasksRequest request); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/doppler/DopplerClient.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/doppler/DopplerClient.java index 0c16421588..a9c03441cf 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/doppler/DopplerClient.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/doppler/DopplerClient.java @@ -54,5 +54,4 @@ public interface DopplerClient { * @return the events from the stream */ Flux stream(StreamRequest request); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/doppler/EventType.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/doppler/EventType.java index 1c71b4f7f8..1e3b4e33dd 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/doppler/EventType.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/doppler/EventType.java @@ -22,7 +22,6 @@ * Event Types */ public enum EventType { - CONTAINER_METRIC, COUNTER_EVENT, @@ -50,8 +49,8 @@ static EventType from(org.cloudfoundry.dropsonde.events.Envelope.EventType drops case ValueMetric: return VALUE_METRIC; default: - throw new IllegalArgumentException(String.format("Unknown event type: %s", dropsonde)); + throw new IllegalArgumentException( + String.format("Unknown event type: %s", dropsonde)); } } - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/doppler/MessageType.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/doppler/MessageType.java index daba8d053a..b855821f91 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/doppler/MessageType.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/doppler/MessageType.java @@ -40,8 +40,8 @@ static MessageType from(org.cloudfoundry.dropsonde.events.LogMessage.MessageType case OUT: return OUT; default: - throw new IllegalArgumentException(String.format("Unknown message type: %s", dropsonde)); + throw new IllegalArgumentException( + String.format("Unknown message type: %s", dropsonde)); } } - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/doppler/Method.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/doppler/Method.java index a1fe22ddd2..55a82ec1f6 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/doppler/Method.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/doppler/Method.java @@ -22,7 +22,6 @@ * HTTP Methods */ public enum Method { - ACL, BASELINE_CONTROL, @@ -205,5 +204,4 @@ static Method from(org.cloudfoundry.dropsonde.events.Method dropsonde) { throw new IllegalArgumentException(String.format("Unknown method: %s", dropsonde)); } } - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/doppler/PeerType.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/doppler/PeerType.java index 19535be512..a4254c8750 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/doppler/PeerType.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/doppler/PeerType.java @@ -40,8 +40,8 @@ static PeerType from(org.cloudfoundry.dropsonde.events.PeerType dropsonde) { case Server: return SERVER; default: - throw new IllegalArgumentException(String.format("Unknown peer type: %s", dropsonde)); + throw new IllegalArgumentException( + String.format("Unknown peer type: %s", dropsonde)); } } - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/doppler/UuidUtils.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/doppler/UuidUtils.java index e1f1077e5c..898746eaaa 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/doppler/UuidUtils.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/doppler/UuidUtils.java @@ -21,13 +21,11 @@ final class UuidUtils { - private UuidUtils() { - } + private UuidUtils() {} static UUID from(org.cloudfoundry.dropsonde.events.UUID dropsonde) { return Optional.ofNullable(dropsonde) - .map(d -> new UUID(Long.reverseBytes(d.low), Long.reverseBytes(d.high))) - .orElse(null); + .map(d -> new UUID(Long.reverseBytes(d.low), Long.reverseBytes(d.high))) + .orElse(null); } - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/logcache/v1/EnvelopeType.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/logcache/v1/EnvelopeType.java index 308b4faae2..d918e97799 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/logcache/v1/EnvelopeType.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/logcache/v1/EnvelopeType.java @@ -62,5 +62,4 @@ public String getValue() { public String toString() { return getValue(); } - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/logcache/v1/LogCacheClient.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/logcache/v1/LogCacheClient.java index b78a4e5858..e455db220a 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/logcache/v1/LogCacheClient.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/logcache/v1/LogCacheClient.java @@ -46,5 +46,4 @@ public interface LogCacheClient { * @return the read response */ Mono read(ReadRequest request); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/logcache/v1/LogType.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/logcache/v1/LogType.java index f65f54dc8d..ee9bc7fc50 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/logcache/v1/LogType.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/logcache/v1/LogType.java @@ -58,5 +58,4 @@ public String getValue() { public String toString() { return getValue(); } - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/networking/NetworkingClient.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/networking/NetworkingClient.java index 0430b1e00d..c9df985b16 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/networking/NetworkingClient.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/networking/NetworkingClient.java @@ -33,5 +33,4 @@ public interface NetworkingClient { * Main entry point to the Tags API */ Tags tags(); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/networking/v1/policies/Policies.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/networking/v1/policies/Policies.java index cb90b5d010..7a30c950be 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/networking/v1/policies/Policies.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/networking/v1/policies/Policies.java @@ -46,5 +46,4 @@ public interface Policies { * @return the response to the List Policies request */ Mono list(ListPoliciesRequest request); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/networking/v1/tags/Tags.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/networking/v1/tags/Tags.java index 59f65bd59f..5d52518161 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/networking/v1/tags/Tags.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/networking/v1/tags/Tags.java @@ -30,5 +30,4 @@ public interface Tags { * @return the response to the List Tags request */ Mono list(ListTagsRequest request); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/package-info.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/package-info.java index 89ea033369..0344f5da27 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/package-info.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/package-info.java @@ -15,16 +15,15 @@ */ @Value.Style( - add = "*", - defaults = @Value.Immutable(copy = false), - depluralize = true, - depluralizeDictionary = "status:statuses", - jdkOnly = true, - put = "*", - typeAbstract = "_*", - typeImmutable = "*", - visibility = ImplementationVisibility.PUBLIC -) + add = "*", + defaults = @Value.Immutable(copy = false), + depluralize = true, + depluralizeDictionary = "status:statuses", + jdkOnly = true, + put = "*", + typeAbstract = "_*", + typeImmutable = "*", + visibility = ImplementationVisibility.PUBLIC) package org.cloudfoundry; import org.immutables.value.Value; diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/routing/RoutingClient.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/routing/RoutingClient.java index aa21978f62..923ec22e13 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/routing/RoutingClient.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/routing/RoutingClient.java @@ -33,5 +33,4 @@ public interface RoutingClient { * Main entry point to the TCP Routing API */ TcpRoutes tcpRoutes(); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/routing/v1/routergroups/AbstractRouterGroup.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/routing/v1/routergroups/AbstractRouterGroup.java index fd0d9f15ac..42256d525a 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/routing/v1/routergroups/AbstractRouterGroup.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/routing/v1/routergroups/AbstractRouterGroup.java @@ -46,5 +46,4 @@ abstract class AbstractRouterGroup { */ @JsonProperty("type") abstract String getType(); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/routing/v1/routergroups/RouterGroups.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/routing/v1/routergroups/RouterGroups.java index 5462896a66..9f511b1660 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/routing/v1/routergroups/RouterGroups.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/routing/v1/routergroups/RouterGroups.java @@ -38,5 +38,4 @@ public interface RouterGroups { * @return the response to the Update Router Groups request */ Mono update(UpdateRouterGroupRequest request); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/routing/v1/tcproutes/AbstractTcpRoute.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/routing/v1/tcproutes/AbstractTcpRoute.java index 27bdbcb046..c7d86a39e4 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/routing/v1/tcproutes/AbstractTcpRoute.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/routing/v1/tcproutes/AbstractTcpRoute.java @@ -64,5 +64,4 @@ abstract class AbstractTcpRoute { */ @JsonProperty("ttl") abstract Integer getTtl(); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/routing/v1/tcproutes/EventType.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/routing/v1/tcproutes/EventType.java index 17eb4bca2f..ee42ae3d1b 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/routing/v1/tcproutes/EventType.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/routing/v1/tcproutes/EventType.java @@ -61,5 +61,4 @@ public String getValue() { public String toString() { return getValue(); } - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/routing/v1/tcproutes/TcpRoutes.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/routing/v1/tcproutes/TcpRoutes.java index 9b0ef1ade8..9e3a6ce228 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/routing/v1/tcproutes/TcpRoutes.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/routing/v1/tcproutes/TcpRoutes.java @@ -55,5 +55,4 @@ public interface TcpRoutes { * @return the response to the List TCP Routes request */ Mono list(ListTcpRoutesRequest request); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/IdentityZoned.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/IdentityZoned.java index a48efd9e4b..2839eaadd4 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/IdentityZoned.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/IdentityZoned.java @@ -41,5 +41,4 @@ public interface IdentityZoned { @JsonIgnore @Nullable String getIdentityZoneSubdomain(); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/PaginatedAndSortedByRequest.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/PaginatedAndSortedByRequest.java index 69ba58b312..e028294fcc 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/PaginatedAndSortedByRequest.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/PaginatedAndSortedByRequest.java @@ -30,5 +30,4 @@ public abstract class PaginatedAndSortedByRequest extends PaginatedAndSortedRequ @Nullable @QueryParameter("sortBy") public abstract String getSortBy(); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/PaginatedAndSortedRequest.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/PaginatedAndSortedRequest.java index 5a8922a01d..d5be1eda28 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/PaginatedAndSortedRequest.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/PaginatedAndSortedRequest.java @@ -51,5 +51,4 @@ public abstract class PaginatedAndSortedRequest { @Nullable @QueryParameter("startIndex") public abstract Integer getStartIndex(); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/PaginatedResponse.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/PaginatedResponse.java index 6b23069ead..18214b084f 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/PaginatedResponse.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/PaginatedResponse.java @@ -17,7 +17,6 @@ package org.cloudfoundry.uaa; import com.fasterxml.jackson.annotation.JsonProperty; - import java.util.List; /** @@ -56,5 +55,4 @@ public abstract class PaginatedResponse { */ @JsonProperty("totalResults") public abstract Integer getTotalResults(); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/ResponseType.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/ResponseType.java index 62c2267c09..50949a8891 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/ResponseType.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/ResponseType.java @@ -22,7 +22,6 @@ * The response types */ public enum ResponseType { - CODE("code"), ID_TOKEN("id_token"), diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/SortOrder.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/SortOrder.java index 193b427604..935a5419aa 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/SortOrder.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/SortOrder.java @@ -48,5 +48,4 @@ public String getValue() { public String toString() { return getValue(); } - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/UaaClient.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/UaaClient.java index 7e0f508289..9c88d37f59 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/UaaClient.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/UaaClient.java @@ -80,5 +80,4 @@ public interface UaaClient { * Main entry point to the UAA User Client API */ Users users(); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/UaaException.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/UaaException.java index fc9cb546d7..6447b3a571 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/UaaException.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/UaaException.java @@ -55,5 +55,4 @@ public String getError() { public String getErrorDescription() { return this.errorDescription; } - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/Versioned.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/Versioned.java index c926e2e70a..1e3b1e043a 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/Versioned.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/Versioned.java @@ -30,5 +30,4 @@ public interface Versioned { @JsonIgnore @Nullable String getVersion(); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/authorizations/AbstractAuthorizationRequest.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/authorizations/AbstractAuthorizationRequest.java index 50cea3b46a..d4dd75feae 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/authorizations/AbstractAuthorizationRequest.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/authorizations/AbstractAuthorizationRequest.java @@ -16,11 +16,10 @@ package org.cloudfoundry.uaa.authorizations; +import java.util.List; import org.cloudfoundry.Nullable; import org.cloudfoundry.QueryParameter; -import java.util.List; - /** * The request payload for OpenID requests */ @@ -45,5 +44,4 @@ abstract class AbstractAuthorizationRequest { @Nullable @QueryParameter(value = "scope", delimiter = " ") abstract List getScopes(); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/authorizations/Authorizations.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/authorizations/Authorizations.java index 729983951c..dd51833872 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/authorizations/Authorizations.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/authorizations/Authorizations.java @@ -37,7 +37,8 @@ public interface Authorizations { * @param request Authorize By Authorization Code Grant (Browser) request * @return the authentication redirect URI */ - Mono authorizationCodeGrantBrowser(AuthorizeByAuthorizationCodeGrantBrowserRequest request); + Mono authorizationCodeGrantBrowser( + AuthorizeByAuthorizationCodeGrantBrowserRequest request); /** * Makes the Authorize By Authorization Code Grant (Hybrid) request @@ -45,7 +46,8 @@ public interface Authorizations { * @param request Authorize By Authorization Code Grant (Hybrid) request * @return the authentication redirect URI */ - Mono authorizationCodeGrantHybrid(AuthorizeByAuthorizationCodeGrantHybridRequest request); + Mono authorizationCodeGrantHybrid( + AuthorizeByAuthorizationCodeGrantHybridRequest request); /** * Makes the Get Open ID Provider Configuration request @@ -53,7 +55,8 @@ public interface Authorizations { * @param request Get Open ID Provider Configuration request * @return the Open ID Provider Configuration */ - Mono getOpenIdProviderConfiguration(GetOpenIdProviderConfigurationRequest request); + Mono getOpenIdProviderConfiguration( + GetOpenIdProviderConfigurationRequest request); /** * Makes the Authorize By Implicit Grant (Browser) request @@ -69,7 +72,8 @@ public interface Authorizations { * @param request Authorize By Open ID with an Authorization Code Grant request * @return the authentication location URI, including Access Token */ - Mono openIdWithAuthorizationCodeAndIdToken(AuthorizeByOpenIdWithAuthorizationCodeGrantRequest request); + Mono openIdWithAuthorizationCodeAndIdToken( + AuthorizeByOpenIdWithAuthorizationCodeGrantRequest request); /** * Makes the Authorize By Open ID with an ID Token request @@ -86,5 +90,4 @@ public interface Authorizations { * @return the authentication location URI, including Access Token */ Mono openIdWithTokenAndIdToken(AuthorizeByOpenIdWithImplicitGrantRequest request); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/clients/AbstractChangeSecret.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/clients/AbstractChangeSecret.java index 2bcfd0e5c1..093ef2d88d 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/clients/AbstractChangeSecret.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/clients/AbstractChangeSecret.java @@ -42,5 +42,4 @@ abstract class AbstractChangeSecret { */ @JsonProperty("secret") abstract String getSecret(); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/clients/AbstractClient.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/clients/AbstractClient.java index c7e6d2dec9..a761952b0c 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/clients/AbstractClient.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/clients/AbstractClient.java @@ -17,11 +17,10 @@ package org.cloudfoundry.uaa.clients; import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; import org.cloudfoundry.Nullable; import org.cloudfoundry.uaa.tokens.GrantType; -import java.util.List; - /** * The payload for Client responses */ @@ -139,5 +138,4 @@ abstract class AbstractClient { @JsonProperty("token_salt") @Nullable abstract String getTokenSalt(); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/clients/AbstractCreateClient.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/clients/AbstractCreateClient.java index 0e1d019ca1..f5d10479c1 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/clients/AbstractCreateClient.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/clients/AbstractCreateClient.java @@ -17,12 +17,11 @@ package org.cloudfoundry.uaa.clients; import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; import org.cloudfoundry.Nullable; import org.cloudfoundry.uaa.tokens.GrantType; import org.immutables.value.Value; -import java.util.List; - /** * Client in Create request */ @@ -31,7 +30,9 @@ abstract class AbstractCreateClient { @Value.Check void checkAuthorizedGrantTypes() { if (this.getAuthorizedGrantTypes() == null) { - throw new IllegalStateException("Cannot build CreateClientRequest, required attribute authorizedGrantTypes is not set"); + throw new IllegalStateException( + "Cannot build CreateClientRequest, required attribute authorizedGrantTypes is" + + " not set"); } } @@ -138,5 +139,4 @@ void checkAuthorizedGrantTypes() { @JsonProperty("token_salt") @Nullable abstract String getTokenSalt(); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/clients/AbstractMetadata.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/clients/AbstractMetadata.java index 28c4787dd2..6967ff358a 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/clients/AbstractMetadata.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/clients/AbstractMetadata.java @@ -55,5 +55,4 @@ abstract class AbstractMetadata { */ @JsonProperty("showOnHomePage") abstract Boolean getShowOnHomePage(); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/clients/AbstractUpdateClient.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/clients/AbstractUpdateClient.java index 13792e127d..de8b2ff317 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/clients/AbstractUpdateClient.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/clients/AbstractUpdateClient.java @@ -17,12 +17,11 @@ package org.cloudfoundry.uaa.clients; import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; import org.cloudfoundry.Nullable; import org.cloudfoundry.uaa.tokens.GrantType; import org.immutables.value.Value; -import java.util.List; - /** * Client in Update request */ @@ -31,7 +30,9 @@ abstract class AbstractUpdateClient { @Value.Check void checkAuthorizedGrantType() { if (this.getAuthorizedGrantTypes() == null) { - throw new IllegalStateException("Cannot build UpdateClientRequest, required attribute authorizedGrantTypes is not set"); + throw new IllegalStateException( + "Cannot build UpdateClientRequest, required attribute authorizedGrantTypes is" + + " not set"); } } @@ -117,5 +118,4 @@ void checkAuthorizedGrantType() { @JsonProperty("token_salt") @Nullable abstract String getTokenSalt(); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/clients/Action.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/clients/Action.java index 7a38608caf..fe72eac5c6 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/clients/Action.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/clients/Action.java @@ -19,6 +19,4 @@ /* * An interface that indicates the type of a UAA mixed action */ -public interface Action { - -} +public interface Action {} diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/clients/Clients.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/clients/Clients.java index 0f54a027e4..7ab3a274ea 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/clients/Clients.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/clients/Clients.java @@ -134,5 +134,4 @@ public interface Clients { * @return the response to the Update Metadata request */ Mono updateMetadata(UpdateMetadataRequest request); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/groups/AbstractExternalGroupMapping.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/groups/AbstractExternalGroupMapping.java index f607de75e5..fb278d4d9f 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/groups/AbstractExternalGroupMapping.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/groups/AbstractExternalGroupMapping.java @@ -17,9 +17,8 @@ package org.cloudfoundry.uaa.groups; import com.fasterxml.jackson.annotation.JsonProperty; -import org.cloudfoundry.uaa.Metadata; - import java.util.List; +import org.cloudfoundry.uaa.Metadata; /** * The entity response payload for External Group @@ -37,5 +36,4 @@ abstract class AbstractExternalGroupMapping extends AbstractExternalGroupResourc */ @JsonProperty("schemas") abstract List getSchemas(); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/groups/AbstractGroup.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/groups/AbstractGroup.java index fccd72bfe9..5c1f563fe1 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/groups/AbstractGroup.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/groups/AbstractGroup.java @@ -17,11 +17,10 @@ package org.cloudfoundry.uaa.groups; import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; import org.cloudfoundry.Nullable; import org.cloudfoundry.uaa.Metadata; -import java.util.List; - /** * The entity response payload for Group */ @@ -69,5 +68,4 @@ abstract class AbstractGroup { */ @JsonProperty("zoneId") abstract String getZoneId(); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/groups/AbstractMember.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/groups/AbstractMember.java index bd7ae8e357..7424183f90 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/groups/AbstractMember.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/groups/AbstractMember.java @@ -18,7 +18,6 @@ import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; - import java.util.Optional; /** @@ -44,5 +43,4 @@ abstract class AbstractMember { */ @JsonProperty("type") abstract Optional getType(); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/groups/Entity.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/groups/Entity.java index 0fef9662b9..f666cc9ef0 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/groups/Entity.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/groups/Entity.java @@ -19,6 +19,4 @@ /** * An Entity for {@link Member} */ -public interface Entity { - -} +public interface Entity {} diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/groups/Groups.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/groups/Groups.java index 361fb5d274..3915cf62c9 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/groups/Groups.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/groups/Groups.java @@ -77,7 +77,8 @@ public interface Groups { * @param request the List External Group Mappings request * @return the response from the List External Group Mappings request */ - Mono listExternalGroupMappings(ListExternalGroupMappingsRequest request); + Mono listExternalGroupMappings( + ListExternalGroupMappingsRequest request); /** * Makes the List Members request @@ -109,7 +110,8 @@ public interface Groups { * @param request the Unmap External Group By Group Display Name request * @return the response from the Unmap External Group By Group Display Name request */ - Mono unmapExternalGroupByGroupDisplayName(UnmapExternalGroupByGroupDisplayNameRequest request); + Mono unmapExternalGroupByGroupDisplayName( + UnmapExternalGroupByGroupDisplayNameRequest request); /** * Makes the Unmap External Group By Group Id request @@ -117,7 +119,8 @@ public interface Groups { * @param request the Unmap External Group By Group Id request * @return the response from the Unmap External Group By Group Id request */ - Mono unmapExternalGroupByGroupId(UnmapExternalGroupByGroupIdRequest request); + Mono unmapExternalGroupByGroupId( + UnmapExternalGroupByGroupIdRequest request); /** * Makes the Update Group request @@ -126,5 +129,4 @@ public interface Groups { * @return the response from the Update Group request */ Mono update(UpdateGroupRequest request); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/groups/MemberType.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/groups/MemberType.java index e1d24fcd91..71242fe96c 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/groups/MemberType.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/groups/MemberType.java @@ -61,5 +61,4 @@ public String getValue() { public String toString() { return getValue(); } - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/identityproviders/AbstractAuthenticationConfiguration.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/identityproviders/AbstractAuthenticationConfiguration.java index dc940a9717..9fcaa5f721 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/identityproviders/AbstractAuthenticationConfiguration.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/identityproviders/AbstractAuthenticationConfiguration.java @@ -17,14 +17,14 @@ package org.cloudfoundry.uaa.identityproviders; import com.fasterxml.jackson.annotation.JsonProperty; -import org.cloudfoundry.Nullable; - import java.util.List; +import org.cloudfoundry.Nullable; /** * The payload for the oauth/oidc identity provider configuration */ -abstract class AbstractAuthenticationConfiguration extends AbstractExternalIdentityProviderConfiguration { +abstract class AbstractAuthenticationConfiguration + extends AbstractExternalIdentityProviderConfiguration { /** * Determines whether or not shadow users must be created before login by an administrator. @@ -100,5 +100,4 @@ abstract class AbstractAuthenticationConfiguration extends AbstractExternalIdent */ @JsonProperty("tokenUrl") abstract String getTokenUrl(); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/identityproviders/AbstractExternalIdentityProviderConfiguration.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/identityproviders/AbstractExternalIdentityProviderConfiguration.java index 43033caf87..d958c47f50 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/identityproviders/AbstractExternalIdentityProviderConfiguration.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/identityproviders/AbstractExternalIdentityProviderConfiguration.java @@ -17,11 +17,11 @@ package org.cloudfoundry.uaa.identityproviders; import com.fasterxml.jackson.annotation.JsonProperty; -import org.cloudfoundry.Nullable; - import java.util.List; +import org.cloudfoundry.Nullable; -abstract class AbstractExternalIdentityProviderConfiguration extends AbstractIdentityProviderConfiguration { +abstract class AbstractExternalIdentityProviderConfiguration + extends AbstractIdentityProviderConfiguration { @JsonProperty("attributeMappings") @Nullable @@ -40,5 +40,4 @@ abstract class AbstractExternalIdentityProviderConfiguration extends AbstractIde @JsonProperty("storeCustomAttributes") @Nullable abstract Boolean getStoreCustomAttributes(); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/identityproviders/AbstractIdentityProvider.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/identityproviders/AbstractIdentityProvider.java index 271d5ff880..2b5998851e 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/identityproviders/AbstractIdentityProvider.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/identityproviders/AbstractIdentityProvider.java @@ -36,7 +36,10 @@ abstract class AbstractIdentityProvider { * The configuration of this identity provider */ @JsonProperty("config") - @JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.EXTERNAL_PROPERTY, property = "type") + @JsonTypeInfo( + use = JsonTypeInfo.Id.NAME, + include = JsonTypeInfo.As.EXTERNAL_PROPERTY, + property = "type") @JsonSubTypes({ @JsonSubTypes.Type(name = "keystone", value = KeystoneConfiguration.class), @JsonSubTypes.Type(name = "ldap", value = LdapConfiguration.class), @@ -95,5 +98,4 @@ abstract class AbstractIdentityProvider { */ @JsonProperty("version") abstract Integer getVersion(); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/identityproviders/AbstractIdentityProviderConfiguration.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/identityproviders/AbstractIdentityProviderConfiguration.java index ede43c725a..3ab135fe66 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/identityproviders/AbstractIdentityProviderConfiguration.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/identityproviders/AbstractIdentityProviderConfiguration.java @@ -18,9 +18,8 @@ import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonProperty; -import org.cloudfoundry.Nullable; - import java.util.List; +import org.cloudfoundry.Nullable; @JsonIgnoreProperties(value = "additionalConfiguration") abstract class AbstractIdentityProviderConfiguration implements IdentityProviderConfiguration { @@ -38,5 +37,4 @@ abstract class AbstractIdentityProviderConfiguration implements IdentityProvider @JsonProperty("providerDescription") @Nullable abstract String getProviderDescription(); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/identityproviders/ExternalGroupMappingMode.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/identityproviders/ExternalGroupMappingMode.java index 4896506b7b..43e87938b3 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/identityproviders/ExternalGroupMappingMode.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/identityproviders/ExternalGroupMappingMode.java @@ -48,7 +48,8 @@ public static ExternalGroupMappingMode from(String s) { case "as_scopes": return AS_SCOPES; default: - throw new IllegalArgumentException(String.format("Unknown external group mapping mode: %s", s)); + throw new IllegalArgumentException( + String.format("Unknown external group mapping mode: %s", s)); } } @@ -61,5 +62,4 @@ public String getValue() { public String toString() { return getValue(); } - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/identityproviders/IdentityProviderConfiguration.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/identityproviders/IdentityProviderConfiguration.java index 8b46b52145..b00fafb5bb 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/identityproviders/IdentityProviderConfiguration.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/identityproviders/IdentityProviderConfiguration.java @@ -19,6 +19,4 @@ /** * Configuration for an {@link AbstractIdentityProvider} */ -public interface IdentityProviderConfiguration { - -} +public interface IdentityProviderConfiguration {} diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/identityproviders/IdentityProviders.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/identityproviders/IdentityProviders.java index d7a5209715..0203602c9a 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/identityproviders/IdentityProviders.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/identityproviders/IdentityProviders.java @@ -62,5 +62,4 @@ public interface IdentityProviders { * @return the response from the Update Identity Provider request */ Mono update(UpdateIdentityProviderRequest request); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/identityproviders/LdapGroupFile.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/identityproviders/LdapGroupFile.java index ba613db52a..807a5fa5a5 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/identityproviders/LdapGroupFile.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/identityproviders/LdapGroupFile.java @@ -23,7 +23,6 @@ * The file to be used for group integration. */ public enum LdapGroupFile { - GROUPS_AS_SCOPES("ldap/ldap-groups-as-scopes.xml"), GROUPS_MAP_TO_SCOPES("ldap/ldap-groups-map-to-scopes.xml"), @@ -59,5 +58,4 @@ public String getValue() { public String toString() { return getValue(); } - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/identityproviders/LdapProfileFile.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/identityproviders/LdapProfileFile.java index d2a0c8ac35..559a7fa29d 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/identityproviders/LdapProfileFile.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/identityproviders/LdapProfileFile.java @@ -23,7 +23,6 @@ * The file to be used for configuring the LDAP authentication. */ public enum LdapProfileFile { - SEARCH_AND_BIND("ldap/ldap-search-and-bind.xml"), SEARCH_AND_COMPARE("ldap/ldap-search-and-compare.xml"), @@ -46,7 +45,8 @@ public static LdapProfileFile from(String s) { case "ldap/ldap-simple-bind.xml": return SIMPLE_BIND; default: - throw new IllegalArgumentException(String.format("Unknown ldap profile file: %s", s)); + throw new IllegalArgumentException( + String.format("Unknown ldap profile file: %s", s)); } } @@ -59,5 +59,4 @@ public String getValue() { public String toString() { return getValue(); } - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/identityproviders/TlsConfiguration.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/identityproviders/TlsConfiguration.java index 51009966a3..bba7384991 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/identityproviders/TlsConfiguration.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/identityproviders/TlsConfiguration.java @@ -23,7 +23,6 @@ * The file to be used for group integration. */ public enum TlsConfiguration { - NONE("none"), SIMPLE("simple"), @@ -46,7 +45,8 @@ public static TlsConfiguration from(String s) { case "external": return EXTERNAL; default: - throw new IllegalArgumentException(String.format("Unknown TLS Configuration type: %s", s)); + throw new IllegalArgumentException( + String.format("Unknown TLS Configuration type: %s", s)); } } @@ -59,5 +59,4 @@ public String getValue() { public String toString() { return getValue(); } - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/identityproviders/Type.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/identityproviders/Type.java index 19b6850b3f..973f746bc3 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/identityproviders/Type.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/identityproviders/Type.java @@ -23,7 +23,6 @@ * The type of Identity provider in payload */ public enum Type { - INTERNAL("uaa"), LDAP("ldap"), @@ -75,5 +74,4 @@ public String getValue() { public String toString() { return getValue(); } - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/identityzones/AbstractIdentityZone.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/identityzones/AbstractIdentityZone.java index 8df42139f1..89c8fd2a9c 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/identityzones/AbstractIdentityZone.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/identityzones/AbstractIdentityZone.java @@ -81,5 +81,4 @@ public abstract class AbstractIdentityZone { @JsonProperty("version") @Nullable abstract Integer getVersion(); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/identityzones/IdentityZones.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/identityzones/IdentityZones.java index 20c73fb6f2..32a5a732b0 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/identityzones/IdentityZones.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/identityzones/IdentityZones.java @@ -62,5 +62,4 @@ public interface IdentityZones { * @return the response from the Update Identity Zone request */ Mono update(UpdateIdentityZoneRequest request); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/identityzones/RefreshTokenFormat.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/identityzones/RefreshTokenFormat.java index 6a2e77313d..2f4e9cac18 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/identityzones/RefreshTokenFormat.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/identityzones/RefreshTokenFormat.java @@ -20,7 +20,6 @@ import com.fasterxml.jackson.annotation.JsonValue; public enum RefreshTokenFormat { - JWT("jwt"), OPAQUE("opaque"); @@ -39,7 +38,8 @@ public static RefreshTokenFormat from(String s) { case "opaque": return OPAQUE; default: - throw new IllegalArgumentException(String.format("Unknown refresh token format: %s", s)); + throw new IllegalArgumentException( + String.format("Unknown refresh token format: %s", s)); } } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/serverinformation/ServerInformation.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/serverinformation/ServerInformation.java index 1dd49045ac..7b851df74f 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/serverinformation/ServerInformation.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/serverinformation/ServerInformation.java @@ -29,7 +29,8 @@ public interface ServerInformation { * @param request the Get Auto Login Authentication Code request * @return the response from the Get Auto Login Authentication Code request */ - Mono getAuthenticationCode(GetAutoLoginAuthenticationCodeRequest request); + Mono getAuthenticationCode( + GetAutoLoginAuthenticationCodeRequest request); /** * Makes the Server Information request @@ -46,5 +47,4 @@ public interface ServerInformation { * @return the response from the Perform Auto Login request */ Mono autoLogin(AutoLoginRequest request); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/tokens/AbstractToken.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/tokens/AbstractToken.java index fe36db04ab..f55d84fe32 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/tokens/AbstractToken.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/tokens/AbstractToken.java @@ -52,5 +52,4 @@ public abstract class AbstractToken { */ @JsonProperty("token_type") public abstract String getTokenType(); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/tokens/AbstractTokenKey.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/tokens/AbstractTokenKey.java index b399f250f1..8e789d5535 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/tokens/AbstractTokenKey.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/tokens/AbstractTokenKey.java @@ -66,5 +66,4 @@ public abstract class AbstractTokenKey { */ @JsonProperty("value") public abstract String getValue(); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/tokens/KeyType.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/tokens/KeyType.java index 34b0d3a293..1d2bc61d74 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/tokens/KeyType.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/tokens/KeyType.java @@ -61,5 +61,4 @@ public String getValue() { public String toString() { return getValue(); } - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/tokens/TokenFormat.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/tokens/TokenFormat.java index c0c730f19e..d32acf6bb1 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/tokens/TokenFormat.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/tokens/TokenFormat.java @@ -22,7 +22,6 @@ * The format of tokens requested. */ public enum TokenFormat { - OPAQUE("opaque"); private final String value; @@ -40,5 +39,4 @@ public String getValue() { public String toString() { return getValue(); } - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/tokens/Tokens.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/tokens/Tokens.java index 6e1e740ed9..750e6a5f25 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/tokens/Tokens.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/tokens/Tokens.java @@ -37,7 +37,8 @@ public interface Tokens { * @param request the Authorization Code request * @return the response from the Authorization Code request */ - Mono getByAuthorizationCode(GetTokenByAuthorizationCodeRequest request); + Mono getByAuthorizationCode( + GetTokenByAuthorizationCodeRequest request); /** * Makes the Client Credentials Grant request @@ -45,7 +46,8 @@ public interface Tokens { * @param request the Client Credentials request * @return the response from the Client Credentials request */ - Mono getByClientCredentials(GetTokenByClientCredentialsRequest request); + Mono getByClientCredentials( + GetTokenByClientCredentialsRequest request); /** * Makes the One-time Passcode request @@ -53,7 +55,8 @@ public interface Tokens { * @param request the One Time Passcode token request * @return the response from the One Time Passcode token request */ - Mono getByOneTimePasscode(GetTokenByOneTimePasscodeRequest request); + Mono getByOneTimePasscode( + GetTokenByOneTimePasscodeRequest request); /** * Makes the OpenID Connect request @@ -94,5 +97,4 @@ public interface Tokens { * @return the response from the refresh token request */ Mono refresh(RefreshTokenRequest request); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/users/AbstractUser.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/users/AbstractUser.java index 2c86809c6d..55b74ad6f1 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/users/AbstractUser.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/users/AbstractUser.java @@ -17,9 +17,8 @@ package org.cloudfoundry.uaa.users; import com.fasterxml.jackson.annotation.JsonProperty; -import org.cloudfoundry.Nullable; - import java.util.List; +import org.cloudfoundry.Nullable; /** * The entity response payload for User @@ -44,5 +43,4 @@ public abstract class AbstractUser extends AbstractUserSummary { */ @JsonProperty("groups") public abstract List getGroups(); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/users/AbstractUserId.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/users/AbstractUserId.java index b1da4cf891..90b0c41014 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/users/AbstractUserId.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/users/AbstractUserId.java @@ -40,5 +40,4 @@ public abstract class AbstractUserId { */ @JsonProperty("userName") public abstract String getUserName(); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/users/AbstractUserSummary.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/users/AbstractUserSummary.java index acc52ec8aa..8df718d88d 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/users/AbstractUserSummary.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/users/AbstractUserSummary.java @@ -17,9 +17,8 @@ package org.cloudfoundry.uaa.users; import com.fasterxml.jackson.annotation.JsonProperty; -import org.cloudfoundry.Nullable; - import java.util.List; +import org.cloudfoundry.Nullable; /** * The summary entity response payload for User @@ -93,5 +92,4 @@ public abstract class AbstractUserSummary extends AbstractUserId { */ @JsonProperty("zoneId") public abstract String getZoneId(); - } diff --git a/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/users/Users.java b/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/users/Users.java index cdbd0083b8..062b43f087 100644 --- a/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/users/Users.java +++ b/cloudfoundry-client/src/main/java/org/cloudfoundry/uaa/users/Users.java @@ -61,7 +61,8 @@ public interface Users { * @param request the Get User Verification Link request * @return the response from the Get User Verification Link request */ - Mono getVerificationLink(GetUserVerificationLinkRequest request); + Mono getVerificationLink( + GetUserVerificationLinkRequest request); /** * Makes the Invite Users request @@ -110,5 +111,4 @@ public interface Users { * @return the response from the Verify User request */ Mono verify(VerifyUserRequest request); - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/ClientV2ExceptionTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/ClientV2ExceptionTest.java index 915ed73ec6..0b808c21d8 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/ClientV2ExceptionTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/ClientV2ExceptionTest.java @@ -16,18 +16,18 @@ package org.cloudfoundry.client.v2; -import org.junit.Test; - import static org.assertj.core.api.Assertions.assertThat; +import org.junit.Test; + public final class ClientV2ExceptionTest { @Test public void test() { assertThat(new ClientV2Exception(-1, -2, "test-description", "test-error-code")) - .hasNoCause() - .hasMessage("test-error-code(-2): test-description") - .extracting("statusCode", "code", "description", "errorCode").containsExactly(-1, -2, "test-description", "test-error-code"); + .hasNoCause() + .hasMessage("test-error-code(-2): test-description") + .extracting("statusCode", "code", "description", "errorCode") + .containsExactly(-1, -2, "test-description", "test-error-code"); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/PaginatedRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/PaginatedRequestTest.java index eb5d7fb616..e4cedbcc66 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/PaginatedRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/PaginatedRequestTest.java @@ -16,12 +16,12 @@ package org.cloudfoundry.client.v2; -import org.junit.Test; - import static org.assertj.core.api.Assertions.assertThat; import static org.cloudfoundry.client.v2.OrderDirection.ASCENDING; import static org.cloudfoundry.client.v2.OrderDirection.DESCENDING; +import org.junit.Test; + public final class PaginatedRequestTest { @Test @@ -29,5 +29,4 @@ public void orderedBy() { assertThat(ASCENDING.getValue()).isEqualTo("asc"); assertThat(DESCENDING.getValue()).isEqualTo("desc"); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/applications/ApplicationEnvironmentRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/applications/ApplicationEnvironmentRequestTest.java index 030d1e9ed4..0fc61cfb02 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/applications/ApplicationEnvironmentRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/applications/ApplicationEnvironmentRequestTest.java @@ -22,15 +22,11 @@ public final class ApplicationEnvironmentRequestTest { @Test(expected = IllegalStateException.class) public void noApplicationId() { - ApplicationEnvironmentRequest.builder() - .build(); + ApplicationEnvironmentRequest.builder().build(); } @Test public void valid() { - ApplicationEnvironmentRequest.builder() - .applicationId("test-application-id") - .build(); + ApplicationEnvironmentRequest.builder().applicationId("test-application-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/applications/ApplicationInstancesRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/applications/ApplicationInstancesRequestTest.java index d5d98e3256..d01636be28 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/applications/ApplicationInstancesRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/applications/ApplicationInstancesRequestTest.java @@ -22,15 +22,11 @@ public final class ApplicationInstancesRequestTest { @Test(expected = IllegalStateException.class) public void noApplicationId() { - ApplicationInstancesRequest.builder() - .build(); + ApplicationInstancesRequest.builder().build(); } @Test public void valid() { - ApplicationInstancesRequest.builder() - .applicationId("test-application-id") - .build(); + ApplicationInstancesRequest.builder().applicationId("test-application-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/applications/ApplicationStatisticsRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/applications/ApplicationStatisticsRequestTest.java index 79a2e35c29..c469257ec6 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/applications/ApplicationStatisticsRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/applications/ApplicationStatisticsRequestTest.java @@ -22,15 +22,11 @@ public final class ApplicationStatisticsRequestTest { @Test(expected = IllegalStateException.class) public void noApplicationId() { - ApplicationStatisticsRequest.builder() - .build(); + ApplicationStatisticsRequest.builder().build(); } @Test public void valid() { - ApplicationStatisticsRequest.builder() - .applicationId("test-application-id") - .build(); + ApplicationStatisticsRequest.builder().applicationId("test-application-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/applications/AssociateApplicationRouteRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/applications/AssociateApplicationRouteRequestTest.java index b0bfd61334..f499314687 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/applications/AssociateApplicationRouteRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/applications/AssociateApplicationRouteRequestTest.java @@ -22,24 +22,19 @@ public final class AssociateApplicationRouteRequestTest { @Test(expected = IllegalStateException.class) public void noApplicationId() { - AssociateApplicationRouteRequest.builder() - .routeId("test-route-id") - .build(); + AssociateApplicationRouteRequest.builder().routeId("test-route-id").build(); } @Test(expected = IllegalStateException.class) public void noRouteId() { - AssociateApplicationRouteRequest.builder() - .applicationId("test-application-id") - .build(); + AssociateApplicationRouteRequest.builder().applicationId("test-application-id").build(); } @Test public void valid() { AssociateApplicationRouteRequest.builder() - .applicationId("test-application-id") - .routeId("test-route-id") - .build(); + .applicationId("test-application-id") + .routeId("test-route-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/applications/CopyApplicationRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/applications/CopyApplicationRequestTest.java index 1b3333a5bc..313586686b 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/applications/CopyApplicationRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/applications/CopyApplicationRequestTest.java @@ -22,24 +22,19 @@ public final class CopyApplicationRequestTest { @Test(expected = IllegalStateException.class) public void noApplicationId() { - CopyApplicationRequest.builder() - .sourceApplicationId("test-source-application-id") - .build(); + CopyApplicationRequest.builder().sourceApplicationId("test-source-application-id").build(); } @Test(expected = IllegalStateException.class) public void noSourceApplicationId() { - CopyApplicationRequest.builder() - .applicationId("test-application id") - .build(); + CopyApplicationRequest.builder().applicationId("test-application id").build(); } @Test public void valid() { CopyApplicationRequest.builder() - .applicationId("test-application-id") - .sourceApplicationId("test-source-application-id") - .build(); + .applicationId("test-application-id") + .sourceApplicationId("test-source-application-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/applications/CreateApplicationRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/applications/CreateApplicationRequestTest.java index ab4638c68f..597eeb6ad4 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/applications/CreateApplicationRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/applications/CreateApplicationRequestTest.java @@ -22,24 +22,16 @@ public final class CreateApplicationRequestTest { @Test(expected = IllegalStateException.class) public void noName() { - CreateApplicationRequest.builder() - .spaceId("test-space-id") - .build(); + CreateApplicationRequest.builder().spaceId("test-space-id").build(); } @Test(expected = IllegalStateException.class) public void noSpaceId() { - CreateApplicationRequest.builder() - .name("test-name") - .build(); + CreateApplicationRequest.builder().name("test-name").build(); } @Test public void valid() { - CreateApplicationRequest.builder() - .name("test-name") - .spaceId("test-space-id") - .build(); + CreateApplicationRequest.builder().name("test-name").spaceId("test-space-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/applications/DeleteApplicationRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/applications/DeleteApplicationRequestTest.java index 51bc233aa0..387fcb995e 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/applications/DeleteApplicationRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/applications/DeleteApplicationRequestTest.java @@ -22,15 +22,11 @@ public final class DeleteApplicationRequestTest { @Test(expected = IllegalStateException.class) public void noApplicationId() { - DeleteApplicationRequest.builder() - .build(); + DeleteApplicationRequest.builder().build(); } @Test public void valid() { - DeleteApplicationRequest.builder() - .applicationId("test-application-id") - .build(); + DeleteApplicationRequest.builder().applicationId("test-application-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/applications/DownloadApplicationDropletRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/applications/DownloadApplicationDropletRequestTest.java index c52a064e00..8ce9ee13b6 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/applications/DownloadApplicationDropletRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/applications/DownloadApplicationDropletRequestTest.java @@ -22,15 +22,11 @@ public final class DownloadApplicationDropletRequestTest { @Test(expected = IllegalStateException.class) public void noApplicationId() { - DownloadApplicationDropletRequest.builder() - .build(); + DownloadApplicationDropletRequest.builder().build(); } @Test public void valid() { - DownloadApplicationDropletRequest.builder() - .applicationId("test-application-id") - .build(); + DownloadApplicationDropletRequest.builder().applicationId("test-application-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/applications/DownloadApplicationRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/applications/DownloadApplicationRequestTest.java index 987f321ce1..6caf7d09c7 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/applications/DownloadApplicationRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/applications/DownloadApplicationRequestTest.java @@ -22,15 +22,11 @@ public final class DownloadApplicationRequestTest { @Test(expected = IllegalStateException.class) public void noApplicationId() { - DownloadApplicationRequest.builder() - .build(); + DownloadApplicationRequest.builder().build(); } @Test public void valid() { - DownloadApplicationRequest.builder() - .applicationId("test-application-id") - .build(); + DownloadApplicationRequest.builder().applicationId("test-application-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/applications/GetApplicationPermissionsRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/applications/GetApplicationPermissionsRequestTest.java index e89076607f..3364d47e73 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/applications/GetApplicationPermissionsRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/applications/GetApplicationPermissionsRequestTest.java @@ -22,15 +22,11 @@ public final class GetApplicationPermissionsRequestTest { @Test(expected = IllegalStateException.class) public void noApplicationId() { - GetApplicationPermissionsRequest.builder() - .build(); + GetApplicationPermissionsRequest.builder().build(); } @Test public void valid() { - GetApplicationPermissionsRequest.builder() - .applicationId("test-application-id") - .build(); + GetApplicationPermissionsRequest.builder().applicationId("test-application-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/applications/GetApplicationRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/applications/GetApplicationRequestTest.java index 22eb29a6b7..afd821928c 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/applications/GetApplicationRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/applications/GetApplicationRequestTest.java @@ -22,15 +22,11 @@ public final class GetApplicationRequestTest { @Test(expected = IllegalStateException.class) public void noApplicationId() { - GetApplicationRequest.builder() - .build(); + GetApplicationRequest.builder().build(); } @Test public void valid() { - GetApplicationRequest.builder() - .applicationId("test-application-id") - .build(); + GetApplicationRequest.builder().applicationId("test-application-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/applications/ListApplicationRoutesRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/applications/ListApplicationRoutesRequestTest.java index 018f36cb9c..14ba0dc0a6 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/applications/ListApplicationRoutesRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/applications/ListApplicationRoutesRequestTest.java @@ -22,15 +22,11 @@ public final class ListApplicationRoutesRequestTest { @Test(expected = IllegalStateException.class) public void noApplicationId() { - ListApplicationRoutesRequest.builder() - .build(); + ListApplicationRoutesRequest.builder().build(); } @Test public void valid() { - ListApplicationRoutesRequest.builder() - .applicationId("test-application-id") - .build(); + ListApplicationRoutesRequest.builder().applicationId("test-application-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/applications/ListApplicationServiceBindingsRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/applications/ListApplicationServiceBindingsRequestTest.java index a61d79eb64..d09422fe47 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/applications/ListApplicationServiceBindingsRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/applications/ListApplicationServiceBindingsRequestTest.java @@ -22,15 +22,13 @@ public final class ListApplicationServiceBindingsRequestTest { @Test(expected = IllegalStateException.class) public void noApplicationId() { - ListApplicationServiceBindingsRequest.builder() - .build(); + ListApplicationServiceBindingsRequest.builder().build(); } @Test public void valid() { ListApplicationServiceBindingsRequest.builder() - .applicationId("test-application-id") - .build(); + .applicationId("test-application-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/applications/ListApplicationsRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/applications/ListApplicationsRequestTest.java index ed4f3d4085..c03adbd55e 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/applications/ListApplicationsRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/applications/ListApplicationsRequestTest.java @@ -22,8 +22,6 @@ public final class ListApplicationsRequestTest { @Test public void valid() { - ListApplicationsRequest.builder() - .build(); + ListApplicationsRequest.builder().build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/applications/RemoveApplicationRouteRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/applications/RemoveApplicationRouteRequestTest.java index 5129b3695f..f03ca16b9a 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/applications/RemoveApplicationRouteRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/applications/RemoveApplicationRouteRequestTest.java @@ -22,24 +22,19 @@ public final class RemoveApplicationRouteRequestTest { @Test(expected = IllegalStateException.class) public void noApplicationId() { - RemoveApplicationRouteRequest.builder() - .routeId("test-route-id") - .build(); + RemoveApplicationRouteRequest.builder().routeId("test-route-id").build(); } @Test(expected = IllegalStateException.class) public void noRouteId() { - RemoveApplicationRouteRequest.builder() - .applicationId("test-application-id") - .build(); + RemoveApplicationRouteRequest.builder().applicationId("test-application-id").build(); } @Test public void valid() { RemoveApplicationRouteRequest.builder() - .applicationId("test-application-id") - .routeId("test-route-id") - .build(); + .applicationId("test-application-id") + .routeId("test-route-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/applications/RemoveApplicationServiceBindingRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/applications/RemoveApplicationServiceBindingRequestTest.java index 0eee68140d..381a88920b 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/applications/RemoveApplicationServiceBindingRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/applications/RemoveApplicationServiceBindingRequestTest.java @@ -23,23 +23,22 @@ public final class RemoveApplicationServiceBindingRequestTest { @Test(expected = IllegalStateException.class) public void noApplicationId() { RemoveApplicationServiceBindingRequest.builder() - .serviceBindingId("test-service-binding-id") - .build(); + .serviceBindingId("test-service-binding-id") + .build(); } @Test(expected = IllegalStateException.class) public void noServiceBindingId() { RemoveApplicationServiceBindingRequest.builder() - .applicationId("test-application-id") - .build(); + .applicationId("test-application-id") + .build(); } @Test public void valid() { RemoveApplicationServiceBindingRequest.builder() - .applicationId("test-application-id") - .serviceBindingId("test-service-binding-id") - .build(); + .applicationId("test-application-id") + .serviceBindingId("test-service-binding-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/applications/RestageApplicationRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/applications/RestageApplicationRequestTest.java index 3af9e641fa..acd3189167 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/applications/RestageApplicationRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/applications/RestageApplicationRequestTest.java @@ -22,15 +22,11 @@ public final class RestageApplicationRequestTest { @Test(expected = IllegalStateException.class) public void noApplicationId() { - RestageApplicationRequest.builder() - .build(); + RestageApplicationRequest.builder().build(); } @Test public void valid() { - RestageApplicationRequest.builder() - .applicationId("test-application-id") - .build(); + RestageApplicationRequest.builder().applicationId("test-application-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/applications/SummaryApplicationRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/applications/SummaryApplicationRequestTest.java index dd86ed1417..e52a15bfad 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/applications/SummaryApplicationRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/applications/SummaryApplicationRequestTest.java @@ -22,15 +22,11 @@ public final class SummaryApplicationRequestTest { @Test(expected = IllegalStateException.class) public void noApplicationId() { - SummaryApplicationRequest.builder() - .build(); + SummaryApplicationRequest.builder().build(); } @Test public void valid() { - SummaryApplicationRequest.builder() - .applicationId("test-application-id") - .build(); + SummaryApplicationRequest.builder().applicationId("test-application-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/applications/TerminateApplicationInstanceRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/applications/TerminateApplicationInstanceRequestTest.java index e106e8cb28..2596df41d9 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/applications/TerminateApplicationInstanceRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/applications/TerminateApplicationInstanceRequestTest.java @@ -22,24 +22,19 @@ public final class TerminateApplicationInstanceRequestTest { @Test(expected = IllegalStateException.class) public void noApplicationId() { - TerminateApplicationInstanceRequest.builder() - .index("0") - .build(); + TerminateApplicationInstanceRequest.builder().index("0").build(); } @Test(expected = IllegalStateException.class) public void noIndex() { - TerminateApplicationInstanceRequest.builder() - .applicationId("test-application-id") - .build(); + TerminateApplicationInstanceRequest.builder().applicationId("test-application-id").build(); } @Test public void valid() { TerminateApplicationInstanceRequest.builder() - .applicationId("test-application-id") - .index("0") - .build(); + .applicationId("test-application-id") + .index("0") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/applications/UpdateApplicationRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/applications/UpdateApplicationRequestTest.java index 950de60b4e..1e9d930da9 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/applications/UpdateApplicationRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/applications/UpdateApplicationRequestTest.java @@ -22,15 +22,11 @@ public final class UpdateApplicationRequestTest { @Test(expected = IllegalStateException.class) public void noApplicationId() { - UpdateApplicationRequest.builder() - .build(); + UpdateApplicationRequest.builder().build(); } @Test public void valid() { - UpdateApplicationRequest.builder() - .applicationId("test-application-id") - .build(); + UpdateApplicationRequest.builder().applicationId("test-application-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/applications/UploadApplicationDropletRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/applications/UploadApplicationDropletRequestTest.java index 420ad790df..7df0ca4e5d 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/applications/UploadApplicationDropletRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/applications/UploadApplicationDropletRequestTest.java @@ -16,10 +16,9 @@ package org.cloudfoundry.client.v2.applications; -import org.junit.Test; - import java.nio.file.Path; import java.nio.file.Paths; +import org.junit.Test; public final class UploadApplicationDropletRequestTest { @@ -27,24 +26,19 @@ public final class UploadApplicationDropletRequestTest { @Test(expected = IllegalStateException.class) public void noApplication() { - UploadApplicationDropletRequest.builder() - .applicationId("test-application-id") - .build(); + UploadApplicationDropletRequest.builder().applicationId("test-application-id").build(); } @Test(expected = IllegalStateException.class) public void noApplicationId() { - UploadApplicationDropletRequest.builder() - .droplet(TEST_DROPLET) - .build(); + UploadApplicationDropletRequest.builder().droplet(TEST_DROPLET).build(); } @Test public void valid() { UploadApplicationDropletRequest.builder() - .droplet(TEST_DROPLET) - .applicationId("test-application-id") - .build(); + .droplet(TEST_DROPLET) + .applicationId("test-application-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/applications/UploadApplicationRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/applications/UploadApplicationRequestTest.java index 64b4a68bb9..64471ac6e0 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/applications/UploadApplicationRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/applications/UploadApplicationRequestTest.java @@ -16,10 +16,9 @@ package org.cloudfoundry.client.v2.applications; -import org.junit.Test; - import java.nio.file.Path; import java.nio.file.Paths; +import org.junit.Test; public final class UploadApplicationRequestTest { @@ -27,24 +26,19 @@ public final class UploadApplicationRequestTest { @Test(expected = IllegalStateException.class) public void noApplication() { - UploadApplicationRequest.builder() - .applicationId("test-application-id") - .build(); + UploadApplicationRequest.builder().applicationId("test-application-id").build(); } @Test(expected = IllegalStateException.class) public void noApplicationId() { - UploadApplicationRequest.builder() - .application(TEST_APPLICATION) - .build(); + UploadApplicationRequest.builder().application(TEST_APPLICATION).build(); } @Test public void valid() { UploadApplicationRequest.builder() - .application(TEST_APPLICATION) - .applicationId("test-application-id") - .build(); + .application(TEST_APPLICATION) + .applicationId("test-application-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/applicationusageevents/GetApplicationUsageEventRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/applicationusageevents/GetApplicationUsageEventRequestTest.java index b2d59cbc25..e185669baa 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/applicationusageevents/GetApplicationUsageEventRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/applicationusageevents/GetApplicationUsageEventRequestTest.java @@ -22,15 +22,13 @@ public final class GetApplicationUsageEventRequestTest { @Test(expected = IllegalStateException.class) public void noApplicationUsageEventId() { - GetApplicationUsageEventRequest.builder() - .build(); + GetApplicationUsageEventRequest.builder().build(); } @Test public void valid() { GetApplicationUsageEventRequest.builder() - .applicationUsageEventId("test-application-usage-event-id") - .build(); + .applicationUsageEventId("test-application-usage-event-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/applicationusageevents/ListApplicationUsageEventsRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/applicationusageevents/ListApplicationUsageEventsRequestTest.java index 03a257982a..f6605affa8 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/applicationusageevents/ListApplicationUsageEventsRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/applicationusageevents/ListApplicationUsageEventsRequestTest.java @@ -22,8 +22,6 @@ public final class ListApplicationUsageEventsRequestTest { @Test public void valid() { - ListApplicationUsageEventsRequest.builder() - .build(); + ListApplicationUsageEventsRequest.builder().build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/applicationusageevents/PurgeAndReseedApplicationUsageEventsRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/applicationusageevents/PurgeAndReseedApplicationUsageEventsRequestTest.java index a066b89022..0491b5e8e5 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/applicationusageevents/PurgeAndReseedApplicationUsageEventsRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/applicationusageevents/PurgeAndReseedApplicationUsageEventsRequestTest.java @@ -22,8 +22,6 @@ public final class PurgeAndReseedApplicationUsageEventsRequestTest { @Test public void valid() { - PurgeAndReseedApplicationUsageEventsRequest.builder() - .build(); + PurgeAndReseedApplicationUsageEventsRequest.builder().build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/blobstores/DeleteBlobstoreBuildpackCachesRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/blobstores/DeleteBlobstoreBuildpackCachesRequestTest.java index 80e1283ea7..5f243e66d1 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/blobstores/DeleteBlobstoreBuildpackCachesRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/blobstores/DeleteBlobstoreBuildpackCachesRequestTest.java @@ -22,8 +22,6 @@ public final class DeleteBlobstoreBuildpackCachesRequestTest { @Test public void valid() { - DeleteBlobstoreBuildpackCachesRequest.builder() - .build(); + DeleteBlobstoreBuildpackCachesRequest.builder().build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/buildpacks/CreateBuildpackRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/buildpacks/CreateBuildpackRequestTest.java index e4a2719212..ac716171b6 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/buildpacks/CreateBuildpackRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/buildpacks/CreateBuildpackRequestTest.java @@ -22,15 +22,11 @@ public final class CreateBuildpackRequestTest { @Test(expected = IllegalStateException.class) public void noName() { - CreateBuildpackRequest.builder() - .build(); + CreateBuildpackRequest.builder().build(); } @Test public void valid() { - CreateBuildpackRequest.builder() - .name("test-buildpack-name") - .build(); + CreateBuildpackRequest.builder().name("test-buildpack-name").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/buildpacks/DeleteBuildpackRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/buildpacks/DeleteBuildpackRequestTest.java index fd6873777a..c9594d9c19 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/buildpacks/DeleteBuildpackRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/buildpacks/DeleteBuildpackRequestTest.java @@ -22,15 +22,11 @@ public class DeleteBuildpackRequestTest { @Test(expected = IllegalStateException.class) public void noBuildpackId() { - DeleteBuildpackRequest.builder() - .build(); + DeleteBuildpackRequest.builder().build(); } @Test public void valid() { - DeleteBuildpackRequest.builder() - .buildpackId("test-buildpack-id") - .build(); + DeleteBuildpackRequest.builder().buildpackId("test-buildpack-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/buildpacks/GetBuildpackRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/buildpacks/GetBuildpackRequestTest.java index 2bb65e92a0..ff6b8f3041 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/buildpacks/GetBuildpackRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/buildpacks/GetBuildpackRequestTest.java @@ -22,15 +22,11 @@ public final class GetBuildpackRequestTest { @Test(expected = IllegalStateException.class) public void noBuildpackId() { - GetBuildpackRequest.builder() - .build(); + GetBuildpackRequest.builder().build(); } @Test public void valid() { - GetBuildpackRequest.builder() - .buildpackId("test-buildpack-id") - .build(); + GetBuildpackRequest.builder().buildpackId("test-buildpack-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/buildpacks/ListBuildpacksRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/buildpacks/ListBuildpacksRequestTest.java index 596eceae8d..7a84484e96 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/buildpacks/ListBuildpacksRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/buildpacks/ListBuildpacksRequestTest.java @@ -22,8 +22,6 @@ public final class ListBuildpacksRequestTest { @Test public void valid() { - ListBuildpacksRequest.builder() - .build(); + ListBuildpacksRequest.builder().build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/buildpacks/UpdateBuildpackRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/buildpacks/UpdateBuildpackRequestTest.java index 36cbb59731..0ed7100b64 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/buildpacks/UpdateBuildpackRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/buildpacks/UpdateBuildpackRequestTest.java @@ -22,15 +22,11 @@ public final class UpdateBuildpackRequestTest { @Test(expected = IllegalStateException.class) public void noBuildpackId() { - UpdateBuildpackRequest.builder() - .build(); + UpdateBuildpackRequest.builder().build(); } @Test public void valid() { - UpdateBuildpackRequest.builder() - .buildpackId("test-buildpack-id") - .build(); + UpdateBuildpackRequest.builder().buildpackId("test-buildpack-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/buildpacks/UploadBuildpackRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/buildpacks/UploadBuildpackRequestTest.java index 357e5f18f1..806a582a02 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/buildpacks/UploadBuildpackRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/buildpacks/UploadBuildpackRequestTest.java @@ -16,10 +16,9 @@ package org.cloudfoundry.client.v2.buildpacks; -import org.junit.Test; - import java.nio.file.Path; import java.nio.file.Paths; +import org.junit.Test; public final class UploadBuildpackRequestTest { @@ -28,34 +27,33 @@ public final class UploadBuildpackRequestTest { @Test(expected = IllegalStateException.class) public void noBuildpack() { UploadBuildpackRequest.builder() - .buildpackId("test-buildpack-id") - .filename("test-filename") - .build(); + .buildpackId("test-buildpack-id") + .filename("test-filename") + .build(); } @Test(expected = IllegalStateException.class) public void noBuildpackId() { UploadBuildpackRequest.builder() - .buildpack(TEST_BUILDPACK) - .filename("test-filename") - .build(); + .buildpack(TEST_BUILDPACK) + .filename("test-filename") + .build(); } @Test(expected = IllegalStateException.class) public void noFilename() { UploadBuildpackRequest.builder() - .buildpack(TEST_BUILDPACK) - .buildpackId("test-buildpack-id") - .build(); + .buildpack(TEST_BUILDPACK) + .buildpackId("test-buildpack-id") + .build(); } @Test public void valid() { UploadBuildpackRequest.builder() - .buildpack(TEST_BUILDPACK) - .buildpackId("test-buildpack-id") - .filename("test-filename") - .build(); + .buildpack(TEST_BUILDPACK) + .buildpackId("test-buildpack-id") + .filename("test-filename") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/domains/CreateDomainRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/domains/CreateDomainRequestTest.java index 1562cbb41c..d5099cbf64 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/domains/CreateDomainRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/domains/CreateDomainRequestTest.java @@ -22,25 +22,19 @@ public final class CreateDomainRequestTest { @Test(expected = IllegalStateException.class) public void noName() { - CreateDomainRequest.builder() - .wildcard(true) - .build(); + CreateDomainRequest.builder().wildcard(true).build(); } @Test(expected = IllegalStateException.class) public void noWildcard() { CreateDomainRequest.builder() - .name("test-name") - .owningOrganizationId("test-owning-organization-id") - .build(); + .name("test-name") + .owningOrganizationId("test-owning-organization-id") + .build(); } @Test public void valid() { - CreateDomainRequest.builder() - .name("test-name") - .wildcard(true) - .build(); + CreateDomainRequest.builder().name("test-name").wildcard(true).build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/domains/DeleteDomainRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/domains/DeleteDomainRequestTest.java index f58f018874..21011965c5 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/domains/DeleteDomainRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/domains/DeleteDomainRequestTest.java @@ -22,15 +22,11 @@ public final class DeleteDomainRequestTest { @Test(expected = IllegalStateException.class) public void noDomainId() { - DeleteDomainRequest.builder() - .build(); + DeleteDomainRequest.builder().build(); } @Test public void valid() { - DeleteDomainRequest.builder() - .domainId("test-id") - .build(); + DeleteDomainRequest.builder().domainId("test-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/domains/GetDomainRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/domains/GetDomainRequestTest.java index cdcca8ca1a..35bbc83586 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/domains/GetDomainRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/domains/GetDomainRequestTest.java @@ -22,15 +22,11 @@ public final class GetDomainRequestTest { @Test(expected = IllegalStateException.class) public void noDomainId() { - GetDomainRequest.builder() - .build(); + GetDomainRequest.builder().build(); } @Test public void valid() { - GetDomainRequest.builder() - .domainId("test-id") - .build(); + GetDomainRequest.builder().domainId("test-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/domains/ListDomainSpacesRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/domains/ListDomainSpacesRequestTest.java index 06306d3c34..41610c9fb1 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/domains/ListDomainSpacesRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/domains/ListDomainSpacesRequestTest.java @@ -22,15 +22,11 @@ public final class ListDomainSpacesRequestTest { @Test(expected = IllegalStateException.class) public void noApplicationId() { - ListDomainSpacesRequest.builder() - .build(); + ListDomainSpacesRequest.builder().build(); } @Test public void valid() { - ListDomainSpacesRequest.builder() - .domainId("test-id") - .build(); + ListDomainSpacesRequest.builder().domainId("test-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/domains/ListDomainsRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/domains/ListDomainsRequestTest.java index ae40c990cd..ef2ab0cd33 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/domains/ListDomainsRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/domains/ListDomainsRequestTest.java @@ -22,8 +22,6 @@ public final class ListDomainsRequestTest { @Test public void valid() { - ListDomainsRequest.builder() - .build(); + ListDomainsRequest.builder().build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/environmentvariablegroups/GetRunningEnvironmentVariablesRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/environmentvariablegroups/GetRunningEnvironmentVariablesRequestTest.java index 1331a098d7..eddb19b19a 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/environmentvariablegroups/GetRunningEnvironmentVariablesRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/environmentvariablegroups/GetRunningEnvironmentVariablesRequestTest.java @@ -22,8 +22,6 @@ public final class GetRunningEnvironmentVariablesRequestTest { @Test public void valid() { - GetRunningEnvironmentVariablesRequest.builder() - .build(); + GetRunningEnvironmentVariablesRequest.builder().build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/environmentvariablegroups/GetStagingEnvironmentVariablesRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/environmentvariablegroups/GetStagingEnvironmentVariablesRequestTest.java index b0cb481648..6660e9e2dc 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/environmentvariablegroups/GetStagingEnvironmentVariablesRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/environmentvariablegroups/GetStagingEnvironmentVariablesRequestTest.java @@ -22,8 +22,6 @@ public final class GetStagingEnvironmentVariablesRequestTest { @Test public void valid() { - GetStagingEnvironmentVariablesRequest.builder() - .build(); + GetStagingEnvironmentVariablesRequest.builder().build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/environmentvariablegroups/UpdateRunningEnvironmentVariablesRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/environmentvariablegroups/UpdateRunningEnvironmentVariablesRequestTest.java index 9a21f075d9..8b43adb931 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/environmentvariablegroups/UpdateRunningEnvironmentVariablesRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/environmentvariablegroups/UpdateRunningEnvironmentVariablesRequestTest.java @@ -22,8 +22,6 @@ public final class UpdateRunningEnvironmentVariablesRequestTest { @Test public void valid() { - UpdateRunningEnvironmentVariablesRequest.builder() - .build(); + UpdateRunningEnvironmentVariablesRequest.builder().build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/environmentvariablegroups/UpdateStagingEnvironmentVariablesRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/environmentvariablegroups/UpdateStagingEnvironmentVariablesRequestTest.java index c73402e54c..58def500ab 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/environmentvariablegroups/UpdateStagingEnvironmentVariablesRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/environmentvariablegroups/UpdateStagingEnvironmentVariablesRequestTest.java @@ -22,8 +22,6 @@ public final class UpdateStagingEnvironmentVariablesRequestTest { @Test public void valid() { - UpdateStagingEnvironmentVariablesRequest.builder() - .build(); + UpdateStagingEnvironmentVariablesRequest.builder().build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/events/GetEventRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/events/GetEventRequestTest.java index 906e31422c..9c605e1b28 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/events/GetEventRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/events/GetEventRequestTest.java @@ -22,15 +22,11 @@ public final class GetEventRequestTest { @Test(expected = IllegalStateException.class) public void noEventId() { - GetEventRequest.builder() - .build(); + GetEventRequest.builder().build(); } @Test public void valid() { - GetEventRequest.builder() - .eventId("test-event-id") - .build(); + GetEventRequest.builder().eventId("test-event-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/events/ListEventsRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/events/ListEventsRequestTest.java index 7ce0e4809e..9a6106999f 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/events/ListEventsRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/events/ListEventsRequestTest.java @@ -22,8 +22,6 @@ public final class ListEventsRequestTest { @Test public void valid() { - ListEventsRequest.builder() - .build(); + ListEventsRequest.builder().build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/featureflags/GetFeatureFlagRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/featureflags/GetFeatureFlagRequestTest.java index 71227c4ce9..df264d3b51 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/featureflags/GetFeatureFlagRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/featureflags/GetFeatureFlagRequestTest.java @@ -23,35 +23,27 @@ public final class GetFeatureFlagRequestTest { @Test(expected = IllegalStateException.class) public void badName1() { GetFeatureFlagRequest.builder() - .name("mustn't have spaces or / chars (or quotes, or parentheses, or commas)") - .build(); + .name("mustn't have spaces or / chars (or quotes, or parentheses, or commas)") + .build(); } @Test(expected = IllegalStateException.class) public void badName2() { - GetFeatureFlagRequest.builder() - .name("good_name_with_bad_at_end ") - .build(); + GetFeatureFlagRequest.builder().name("good_name_with_bad_at_end ").build(); } @Test(expected = IllegalStateException.class) public void badName3() { - GetFeatureFlagRequest.builder() - .name("good_name_with_bad_at_end.") - .build(); + GetFeatureFlagRequest.builder().name("good_name_with_bad_at_end.").build(); } @Test(expected = IllegalStateException.class) public void noName() { - GetFeatureFlagRequest.builder() - .build(); + GetFeatureFlagRequest.builder().build(); } @Test public void valid() { - GetFeatureFlagRequest.builder() - .name("test_feature_flag_name") - .build(); + GetFeatureFlagRequest.builder().name("test_feature_flag_name").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/featureflags/ListFeatureFlagsRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/featureflags/ListFeatureFlagsRequestTest.java index d2351cd074..c0adf525a4 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/featureflags/ListFeatureFlagsRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/featureflags/ListFeatureFlagsRequestTest.java @@ -22,8 +22,6 @@ public final class ListFeatureFlagsRequestTest { @Test public void valid() { - ListFeatureFlagsRequest.builder() - .build(); + ListFeatureFlagsRequest.builder().build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/featureflags/SetFeatureFlagRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/featureflags/SetFeatureFlagRequestTest.java index a7896a1307..662cbe1d59 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/featureflags/SetFeatureFlagRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/featureflags/SetFeatureFlagRequestTest.java @@ -22,24 +22,16 @@ public final class SetFeatureFlagRequestTest { @Test(expected = IllegalStateException.class) public void noEnabled() { - SetFeatureFlagRequest.builder() - .name("test-name") - .build(); + SetFeatureFlagRequest.builder().name("test-name").build(); } @Test(expected = IllegalStateException.class) public void noName() { - SetFeatureFlagRequest.builder() - .enabled(false) - .build(); + SetFeatureFlagRequest.builder().enabled(false).build(); } @Test public void valid() { - SetFeatureFlagRequest.builder() - .enabled(false) - .name("test-name") - .build(); + SetFeatureFlagRequest.builder().enabled(false).name("test-name").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/info/GetInfoRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/info/GetInfoRequestTest.java index 4654a72a1c..a2789a8113 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/info/GetInfoRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/info/GetInfoRequestTest.java @@ -22,8 +22,6 @@ public final class GetInfoRequestTest { @Test public void valid() { - GetInfoRequest.builder() - .build(); + GetInfoRequest.builder().build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/jobs/GetJobRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/jobs/GetJobRequestTest.java index 8ca0f7de64..e60918216b 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/jobs/GetJobRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/jobs/GetJobRequestTest.java @@ -22,15 +22,11 @@ public final class GetJobRequestTest { @Test(expected = IllegalStateException.class) public void noJobId() { - GetJobRequest.builder() - .build(); + GetJobRequest.builder().build(); } @Test public void valid() { - GetJobRequest.builder() - .jobId("test-job-id") - .build(); + GetJobRequest.builder().jobId("test-job-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizationquotadefinitions/CreateOrganizationQuotaDefinitionRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizationquotadefinitions/CreateOrganizationQuotaDefinitionRequestTest.java index 69ff616ebb..b23408c5dc 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizationquotadefinitions/CreateOrganizationQuotaDefinitionRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizationquotadefinitions/CreateOrganizationQuotaDefinitionRequestTest.java @@ -23,78 +23,77 @@ public final class CreateOrganizationQuotaDefinitionRequestTest { @Test(expected = IllegalStateException.class) public void noInstanceMemoryLimit() { CreateOrganizationQuotaDefinitionRequest.builder() - .memoryLimit(1024) - .name("test-quota-definition-name") - .nonBasicServicesAllowed(false) - .totalRoutes(-1) - .totalServices(-1) - .build(); + .memoryLimit(1024) + .name("test-quota-definition-name") + .nonBasicServicesAllowed(false) + .totalRoutes(-1) + .totalServices(-1) + .build(); } @Test(expected = IllegalStateException.class) public void noMemoryLimit() { CreateOrganizationQuotaDefinitionRequest.builder() - .instanceMemoryLimit(1024) - .name("test-quota-definition-name") - .nonBasicServicesAllowed(false) - .totalRoutes(-1) - .totalServices(-1) - .build(); + .instanceMemoryLimit(1024) + .name("test-quota-definition-name") + .nonBasicServicesAllowed(false) + .totalRoutes(-1) + .totalServices(-1) + .build(); } @Test(expected = IllegalStateException.class) public void noName() { CreateOrganizationQuotaDefinitionRequest.builder() - .instanceMemoryLimit(1024) - .memoryLimit(1024) - .nonBasicServicesAllowed(false) - .totalRoutes(-1) - .totalServices(-1) - .build(); + .instanceMemoryLimit(1024) + .memoryLimit(1024) + .nonBasicServicesAllowed(false) + .totalRoutes(-1) + .totalServices(-1) + .build(); } @Test(expected = IllegalStateException.class) public void noNonBasicServicesAllowed() { CreateOrganizationQuotaDefinitionRequest.builder() - .instanceMemoryLimit(1024) - .memoryLimit(1024) - .name("test-quota-definition-name") - .totalRoutes(-1) - .totalServices(-1) - .build(); + .instanceMemoryLimit(1024) + .memoryLimit(1024) + .name("test-quota-definition-name") + .totalRoutes(-1) + .totalServices(-1) + .build(); } @Test(expected = IllegalStateException.class) public void noTotalRoutes() { CreateOrganizationQuotaDefinitionRequest.builder() - .instanceMemoryLimit(1024) - .memoryLimit(1024) - .name("test-quota-definition-name") - .totalServices(-1) - .build(); + .instanceMemoryLimit(1024) + .memoryLimit(1024) + .name("test-quota-definition-name") + .totalServices(-1) + .build(); } @Test(expected = IllegalStateException.class) public void noTotalServices() { CreateOrganizationQuotaDefinitionRequest.builder() - .instanceMemoryLimit(1024) - .memoryLimit(1024) - .name("test-quota-definition-name") - .nonBasicServicesAllowed(false) - .totalRoutes(-1) - .build(); + .instanceMemoryLimit(1024) + .memoryLimit(1024) + .name("test-quota-definition-name") + .nonBasicServicesAllowed(false) + .totalRoutes(-1) + .build(); } @Test public void valid() { CreateOrganizationQuotaDefinitionRequest.builder() - .instanceMemoryLimit(1024) - .memoryLimit(1024) - .name("test-quota-definition-name") - .nonBasicServicesAllowed(false) - .totalRoutes(-1) - .totalServices(-1) - .build(); + .instanceMemoryLimit(1024) + .memoryLimit(1024) + .name("test-quota-definition-name") + .nonBasicServicesAllowed(false) + .totalRoutes(-1) + .totalServices(-1) + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizationquotadefinitions/DeleteOrganizationQuotaDefinitionRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizationquotadefinitions/DeleteOrganizationQuotaDefinitionRequestTest.java index b7daa8f973..51d69fd720 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizationquotadefinitions/DeleteOrganizationQuotaDefinitionRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizationquotadefinitions/DeleteOrganizationQuotaDefinitionRequestTest.java @@ -22,15 +22,13 @@ public class DeleteOrganizationQuotaDefinitionRequestTest { @Test(expected = IllegalStateException.class) public void noOrganizationQuotaDefinitionId() { - DeleteOrganizationQuotaDefinitionRequest.builder() - .build(); + DeleteOrganizationQuotaDefinitionRequest.builder().build(); } @Test public void valid() { DeleteOrganizationQuotaDefinitionRequest.builder() - .organizationQuotaDefinitionId("test-organization-quota-definition-id") - .build(); + .organizationQuotaDefinitionId("test-organization-quota-definition-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizationquotadefinitions/GetOrganizationQuotaDefinitionRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizationquotadefinitions/GetOrganizationQuotaDefinitionRequestTest.java index 3d8dd9d14e..403394be83 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizationquotadefinitions/GetOrganizationQuotaDefinitionRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizationquotadefinitions/GetOrganizationQuotaDefinitionRequestTest.java @@ -22,15 +22,13 @@ public final class GetOrganizationQuotaDefinitionRequestTest { @Test(expected = IllegalStateException.class) public void noOrganizationQuotaDefinitionId() { - GetOrganizationQuotaDefinitionRequest.builder() - .build(); + GetOrganizationQuotaDefinitionRequest.builder().build(); } @Test public void valid() { GetOrganizationQuotaDefinitionRequest.builder() - .organizationQuotaDefinitionId("test-organization-quota-definition-id") - .build(); + .organizationQuotaDefinitionId("test-organization-quota-definition-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizationquotadefinitions/ListOrganizationQuotaDefinitionsRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizationquotadefinitions/ListOrganizationQuotaDefinitionsRequestTest.java index 3cccc3fbd5..4354441dce 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizationquotadefinitions/ListOrganizationQuotaDefinitionsRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizationquotadefinitions/ListOrganizationQuotaDefinitionsRequestTest.java @@ -22,8 +22,6 @@ public final class ListOrganizationQuotaDefinitionsRequestTest { @Test public void valid() { - ListOrganizationQuotaDefinitionsRequest.builder() - .build(); + ListOrganizationQuotaDefinitionsRequest.builder().build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizationquotadefinitions/UpdateOrganizationQuotaDefinitionRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizationquotadefinitions/UpdateOrganizationQuotaDefinitionRequestTest.java index fc109b4fe6..dadb09d706 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizationquotadefinitions/UpdateOrganizationQuotaDefinitionRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizationquotadefinitions/UpdateOrganizationQuotaDefinitionRequestTest.java @@ -22,15 +22,13 @@ public class UpdateOrganizationQuotaDefinitionRequestTest { @Test(expected = IllegalStateException.class) public void noOrganizationQuotaDefinitionId() { - UpdateOrganizationQuotaDefinitionRequest.builder() - .build(); + UpdateOrganizationQuotaDefinitionRequest.builder().build(); } @Test public void valid() { UpdateOrganizationQuotaDefinitionRequest.builder() - .organizationQuotaDefinitionId("test-organization-quota-definition-id") - .build(); + .organizationQuotaDefinitionId("test-organization-quota-definition-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/AssociateOrganizationAuditorByUsernameRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/AssociateOrganizationAuditorByUsernameRequestTest.java index 0f631b7d65..6eba39ce43 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/AssociateOrganizationAuditorByUsernameRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/AssociateOrganizationAuditorByUsernameRequestTest.java @@ -22,24 +22,21 @@ public final class AssociateOrganizationAuditorByUsernameRequestTest { @Test(expected = IllegalStateException.class) public void noOrganizationId() { - AssociateOrganizationAuditorByUsernameRequest.builder() - .username("test-username") - .build(); + AssociateOrganizationAuditorByUsernameRequest.builder().username("test-username").build(); } @Test(expected = IllegalStateException.class) public void noUsername() { AssociateOrganizationAuditorByUsernameRequest.builder() - .organizationId("test-organization-id") - .build(); + .organizationId("test-organization-id") + .build(); } @Test public void valid() { AssociateOrganizationAuditorByUsernameRequest.builder() - .organizationId("test-organization-id") - .username("test-username") - .build(); + .organizationId("test-organization-id") + .username("test-username") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/AssociateOrganizationAuditorRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/AssociateOrganizationAuditorRequestTest.java index 7b86d210b2..d5264d94f0 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/AssociateOrganizationAuditorRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/AssociateOrganizationAuditorRequestTest.java @@ -23,23 +23,20 @@ public final class AssociateOrganizationAuditorRequestTest { @Test(expected = IllegalStateException.class) public void noAuditorId() { AssociateOrganizationAuditorRequest.builder() - .organizationId("test-organization-id") - .build(); + .organizationId("test-organization-id") + .build(); } @Test(expected = IllegalStateException.class) public void noOrganizationId() { - AssociateOrganizationAuditorRequest.builder() - .auditorId("test-auditor-id") - .build(); + AssociateOrganizationAuditorRequest.builder().auditorId("test-auditor-id").build(); } @Test public void valid() { AssociateOrganizationAuditorRequest.builder() - .auditorId("test-auditor-id") - .organizationId("test-organization-id") - .build(); + .auditorId("test-auditor-id") + .organizationId("test-organization-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/AssociateOrganizationBillingManagerByUsernameRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/AssociateOrganizationBillingManagerByUsernameRequestTest.java index e97918023b..015e330481 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/AssociateOrganizationBillingManagerByUsernameRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/AssociateOrganizationBillingManagerByUsernameRequestTest.java @@ -23,23 +23,22 @@ public final class AssociateOrganizationBillingManagerByUsernameRequestTest { @Test(expected = IllegalStateException.class) public void noOrganizationId() { AssociateOrganizationBillingManagerByUsernameRequest.builder() - .username("test-username") - .build(); + .username("test-username") + .build(); } @Test(expected = IllegalStateException.class) public void noUsername() { AssociateOrganizationBillingManagerByUsernameRequest.builder() - .organizationId("test-organization-id") - .build(); + .organizationId("test-organization-id") + .build(); } @Test public void valid() { AssociateOrganizationBillingManagerByUsernameRequest.builder() - .organizationId("test-organization-id") - .username("test-username") - .build(); + .organizationId("test-organization-id") + .username("test-username") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/AssociateOrganizationBillingManagerRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/AssociateOrganizationBillingManagerRequestTest.java index 328b6eedf9..c888a40f80 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/AssociateOrganizationBillingManagerRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/AssociateOrganizationBillingManagerRequestTest.java @@ -23,23 +23,22 @@ public final class AssociateOrganizationBillingManagerRequestTest { @Test(expected = IllegalStateException.class) public void noBillingManagerId() { AssociateOrganizationBillingManagerRequest.builder() - .organizationId("test-organization-id") - .build(); + .organizationId("test-organization-id") + .build(); } @Test(expected = IllegalStateException.class) public void noOrganizationId() { AssociateOrganizationBillingManagerRequest.builder() - .billingManagerId("test-billing-manager-id") - .build(); + .billingManagerId("test-billing-manager-id") + .build(); } @Test public void valid() { AssociateOrganizationBillingManagerRequest.builder() - .billingManagerId("test-billing-manager-id") - .organizationId("test-organization-id") - .build(); + .billingManagerId("test-billing-manager-id") + .organizationId("test-organization-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/AssociateOrganizationManagerByUsernameRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/AssociateOrganizationManagerByUsernameRequestTest.java index 5e13887d8f..eea0025845 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/AssociateOrganizationManagerByUsernameRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/AssociateOrganizationManagerByUsernameRequestTest.java @@ -22,24 +22,21 @@ public final class AssociateOrganizationManagerByUsernameRequestTest { @Test(expected = IllegalStateException.class) public void noOrganizationId() { - AssociateOrganizationManagerByUsernameRequest.builder() - .username("test-username") - .build(); + AssociateOrganizationManagerByUsernameRequest.builder().username("test-username").build(); } @Test(expected = IllegalStateException.class) public void noUsername() { AssociateOrganizationManagerByUsernameRequest.builder() - .organizationId("test-organization-id") - .build(); + .organizationId("test-organization-id") + .build(); } @Test public void valid() { AssociateOrganizationManagerByUsernameRequest.builder() - .organizationId("test-organization-id") - .username("test-username") - .build(); + .organizationId("test-organization-id") + .username("test-username") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/AssociateOrganizationManagerRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/AssociateOrganizationManagerRequestTest.java index 484e2e8c1b..81303c4a30 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/AssociateOrganizationManagerRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/AssociateOrganizationManagerRequestTest.java @@ -23,23 +23,20 @@ public final class AssociateOrganizationManagerRequestTest { @Test(expected = IllegalStateException.class) public void noManagerId() { AssociateOrganizationManagerRequest.builder() - .organizationId("test-organization-id") - .build(); + .organizationId("test-organization-id") + .build(); } @Test(expected = IllegalStateException.class) public void noOrganizationId() { - AssociateOrganizationManagerRequest.builder() - .managerId("test-manager-id") - .build(); + AssociateOrganizationManagerRequest.builder().managerId("test-manager-id").build(); } @Test public void valid() { AssociateOrganizationManagerRequest.builder() - .organizationId("test-organization-id") - .managerId("test-manager-id") - .build(); + .organizationId("test-organization-id") + .managerId("test-manager-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/AssociateOrganizationPrivateDomainRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/AssociateOrganizationPrivateDomainRequestTest.java index 60da2b1447..1ca06d2409 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/AssociateOrganizationPrivateDomainRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/AssociateOrganizationPrivateDomainRequestTest.java @@ -23,23 +23,22 @@ public final class AssociateOrganizationPrivateDomainRequestTest { @Test(expected = IllegalStateException.class) public void noOrganizationId() { AssociateOrganizationPrivateDomainRequest.builder() - .privateDomainId("test-private-domain-id") - .build(); + .privateDomainId("test-private-domain-id") + .build(); } @Test(expected = IllegalStateException.class) public void noPrivateDomainId() { AssociateOrganizationPrivateDomainRequest.builder() - .organizationId("test-organization-id") - .build(); + .organizationId("test-organization-id") + .build(); } @Test public void valid() { AssociateOrganizationPrivateDomainRequest.builder() - .organizationId("test-organization-id") - .privateDomainId("test-private-domain-id") - .build(); + .organizationId("test-organization-id") + .privateDomainId("test-private-domain-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/AssociateOrganizationUserByUsernameRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/AssociateOrganizationUserByUsernameRequestTest.java index 4faf021ea8..6ebb62b0f2 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/AssociateOrganizationUserByUsernameRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/AssociateOrganizationUserByUsernameRequestTest.java @@ -22,24 +22,21 @@ public final class AssociateOrganizationUserByUsernameRequestTest { @Test(expected = IllegalStateException.class) public void noOrganizationId() { - AssociateOrganizationUserByUsernameRequest.builder() - .username("test-username") - .build(); + AssociateOrganizationUserByUsernameRequest.builder().username("test-username").build(); } @Test(expected = IllegalStateException.class) public void noUsername() { AssociateOrganizationUserByUsernameRequest.builder() - .organizationId("test-organization-id") - .build(); + .organizationId("test-organization-id") + .build(); } @Test public void valid() { AssociateOrganizationUserByUsernameRequest.builder() - .organizationId("test-organization-id") - .username("test-username") - .build(); + .organizationId("test-organization-id") + .username("test-username") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/AssociateOrganizationUserRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/AssociateOrganizationUserRequestTest.java index 1a4fe8f489..701d609908 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/AssociateOrganizationUserRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/AssociateOrganizationUserRequestTest.java @@ -22,24 +22,19 @@ public final class AssociateOrganizationUserRequestTest { @Test(expected = IllegalStateException.class) public void noOrganizationId() { - AssociateOrganizationUserRequest.builder() - .userId("test-user-id") - .build(); + AssociateOrganizationUserRequest.builder().userId("test-user-id").build(); } @Test(expected = IllegalStateException.class) public void noUserId() { - AssociateOrganizationUserRequest.builder() - .organizationId("test-organization-id") - .build(); + AssociateOrganizationUserRequest.builder().organizationId("test-organization-id").build(); } @Test public void valid() { AssociateOrganizationUserRequest.builder() - .organizationId("test-organization-id") - .userId("test-user-id") - .build(); + .organizationId("test-organization-id") + .userId("test-user-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/CreateOrganizationRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/CreateOrganizationRequestTest.java index 74155381dc..886acad03f 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/CreateOrganizationRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/CreateOrganizationRequestTest.java @@ -22,15 +22,11 @@ public final class CreateOrganizationRequestTest { @Test(expected = IllegalStateException.class) public void noName() { - CreateOrganizationRequest.builder() - .build(); + CreateOrganizationRequest.builder().build(); } @Test public void valid() { - CreateOrganizationRequest.builder() - .name("test-name") - .build(); + CreateOrganizationRequest.builder().name("test-name").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/DeleteOrganizationRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/DeleteOrganizationRequestTest.java index d4a667a21c..5483f6f92b 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/DeleteOrganizationRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/DeleteOrganizationRequestTest.java @@ -22,15 +22,11 @@ public final class DeleteOrganizationRequestTest { @Test(expected = IllegalStateException.class) public void noOrganizationId() { - DeleteOrganizationRequest.builder() - .build(); + DeleteOrganizationRequest.builder().build(); } @Test public void valid() { - DeleteOrganizationRequest.builder() - .organizationId("test-organization-id") - .build(); + DeleteOrganizationRequest.builder().organizationId("test-organization-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/GetOrganizationInstanceUsageRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/GetOrganizationInstanceUsageRequestTest.java index 2be7a7f9f9..1f46bc6693 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/GetOrganizationInstanceUsageRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/GetOrganizationInstanceUsageRequestTest.java @@ -22,15 +22,13 @@ public final class GetOrganizationInstanceUsageRequestTest { @Test(expected = IllegalStateException.class) public void noOrganizationId() { - GetOrganizationInstanceUsageRequest.builder() - .build(); + GetOrganizationInstanceUsageRequest.builder().build(); } @Test public void valid() { GetOrganizationInstanceUsageRequest.builder() - .organizationId("test-organization-id") - .build(); + .organizationId("test-organization-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/GetOrganizationMemoryUsageRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/GetOrganizationMemoryUsageRequestTest.java index 97475ca28e..a1e4ba001c 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/GetOrganizationMemoryUsageRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/GetOrganizationMemoryUsageRequestTest.java @@ -22,15 +22,11 @@ public final class GetOrganizationMemoryUsageRequestTest { @Test(expected = IllegalStateException.class) public void noOrganizationId() { - GetOrganizationMemoryUsageRequest.builder() - .build(); + GetOrganizationMemoryUsageRequest.builder().build(); } @Test public void valid() { - GetOrganizationMemoryUsageRequest.builder() - .organizationId("test-organization-id") - .build(); + GetOrganizationMemoryUsageRequest.builder().organizationId("test-organization-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/GetOrganizationRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/GetOrganizationRequestTest.java index 05a79ac998..f8fb003ea1 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/GetOrganizationRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/GetOrganizationRequestTest.java @@ -22,15 +22,11 @@ public final class GetOrganizationRequestTest { @Test(expected = IllegalStateException.class) public void noOrganizationId() { - GetOrganizationRequest.builder() - .build(); + GetOrganizationRequest.builder().build(); } @Test public void valid() { - GetOrganizationRequest.builder() - .organizationId("test-organization-id") - .build(); + GetOrganizationRequest.builder().organizationId("test-organization-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/GetOrganizationUserRolesRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/GetOrganizationUserRolesRequestTest.java index b76480ecc0..117d3e5394 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/GetOrganizationUserRolesRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/GetOrganizationUserRolesRequestTest.java @@ -22,15 +22,11 @@ public final class GetOrganizationUserRolesRequestTest { @Test(expected = IllegalStateException.class) public void noOrganizationId() { - GetOrganizationUserRolesRequest.builder() - .build(); + GetOrganizationUserRolesRequest.builder().build(); } @Test public void valid() { - GetOrganizationUserRolesRequest.builder() - .organizationId("test-organization-id") - .build(); + GetOrganizationUserRolesRequest.builder().organizationId("test-organization-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/ListOrganizationAuditorsRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/ListOrganizationAuditorsRequestTest.java index e67c3edbac..8fd857f392 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/ListOrganizationAuditorsRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/ListOrganizationAuditorsRequestTest.java @@ -22,15 +22,11 @@ public final class ListOrganizationAuditorsRequestTest { @Test(expected = IllegalStateException.class) public void noOrganizationId() { - ListOrganizationAuditorsRequest.builder() - .build(); + ListOrganizationAuditorsRequest.builder().build(); } @Test public void valid() { - ListOrganizationAuditorsRequest.builder() - .organizationId("test-organization-id") - .build(); + ListOrganizationAuditorsRequest.builder().organizationId("test-organization-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/ListOrganizationBillingManagersRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/ListOrganizationBillingManagersRequestTest.java index d6b6c8f59c..c879342b78 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/ListOrganizationBillingManagersRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/ListOrganizationBillingManagersRequestTest.java @@ -22,15 +22,13 @@ public final class ListOrganizationBillingManagersRequestTest { @Test(expected = IllegalStateException.class) public void noOrganizationId() { - ListOrganizationBillingManagersRequest.builder() - .build(); + ListOrganizationBillingManagersRequest.builder().build(); } @Test public void valid() { ListOrganizationBillingManagersRequest.builder() - .organizationId("test-organization-id") - .build(); + .organizationId("test-organization-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/ListOrganizationDomainsRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/ListOrganizationDomainsRequestTest.java index 55469f1a76..44944d5fbd 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/ListOrganizationDomainsRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/ListOrganizationDomainsRequestTest.java @@ -22,15 +22,11 @@ public final class ListOrganizationDomainsRequestTest { @Test(expected = IllegalStateException.class) public void noOrganizationId() { - ListOrganizationDomainsRequest.builder() - .build(); + ListOrganizationDomainsRequest.builder().build(); } @Test public void valid() { - ListOrganizationDomainsRequest.builder() - .organizationId("test-organization-id") - .build(); + ListOrganizationDomainsRequest.builder().organizationId("test-organization-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/ListOrganizationManagersRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/ListOrganizationManagersRequestTest.java index 8afa759c9f..7abc9e686f 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/ListOrganizationManagersRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/ListOrganizationManagersRequestTest.java @@ -22,15 +22,11 @@ public final class ListOrganizationManagersRequestTest { @Test(expected = IllegalStateException.class) public void noOrganizationId() { - ListOrganizationManagersRequest.builder() - .build(); + ListOrganizationManagersRequest.builder().build(); } @Test public void valid() { - ListOrganizationManagersRequest.builder() - .organizationId("test-organization-id") - .build(); + ListOrganizationManagersRequest.builder().organizationId("test-organization-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/ListOrganizationPrivateDomainsRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/ListOrganizationPrivateDomainsRequestTest.java index e97aecf7bc..f55090e1c4 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/ListOrganizationPrivateDomainsRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/ListOrganizationPrivateDomainsRequestTest.java @@ -22,15 +22,13 @@ public final class ListOrganizationPrivateDomainsRequestTest { @Test(expected = IllegalStateException.class) public void noOrganizationId() { - ListOrganizationPrivateDomainsRequest.builder() - .build(); + ListOrganizationPrivateDomainsRequest.builder().build(); } @Test public void valid() { ListOrganizationPrivateDomainsRequest.builder() - .organizationId("test-organization-id") - .build(); + .organizationId("test-organization-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/ListOrganizationServicesRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/ListOrganizationServicesRequestTest.java index 83cb235f2e..6be20fec99 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/ListOrganizationServicesRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/ListOrganizationServicesRequestTest.java @@ -22,15 +22,11 @@ public final class ListOrganizationServicesRequestTest { @Test(expected = IllegalStateException.class) public void noOrganizationId() { - ListOrganizationServicesRequest.builder() - .build(); + ListOrganizationServicesRequest.builder().build(); } @Test public void valid() { - ListOrganizationServicesRequest.builder() - .organizationId("test-organization-id") - .build(); + ListOrganizationServicesRequest.builder().organizationId("test-organization-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/ListOrganizationSpaceQuotaDefinitionsRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/ListOrganizationSpaceQuotaDefinitionsRequestTest.java index e77217dffb..3600de4b94 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/ListOrganizationSpaceQuotaDefinitionsRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/ListOrganizationSpaceQuotaDefinitionsRequestTest.java @@ -22,15 +22,13 @@ public final class ListOrganizationSpaceQuotaDefinitionsRequestTest { @Test(expected = IllegalStateException.class) public void noOrganizationId() { - ListOrganizationSpaceQuotaDefinitionsRequest.builder() - .build(); + ListOrganizationSpaceQuotaDefinitionsRequest.builder().build(); } @Test public void valid() { ListOrganizationSpaceQuotaDefinitionsRequest.builder() - .organizationId("test-organization-id") - .build(); + .organizationId("test-organization-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/ListOrganizationSpacesRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/ListOrganizationSpacesRequestTest.java index 8852bf1706..b86f7fe44a 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/ListOrganizationSpacesRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/ListOrganizationSpacesRequestTest.java @@ -22,15 +22,11 @@ public final class ListOrganizationSpacesRequestTest { @Test(expected = IllegalStateException.class) public void noOrganizationId() { - ListOrganizationSpacesRequest.builder() - .build(); + ListOrganizationSpacesRequest.builder().build(); } @Test public void valid() { - ListOrganizationSpacesRequest.builder() - .organizationId("test-organization-id") - .build(); + ListOrganizationSpacesRequest.builder().organizationId("test-organization-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/ListOrganizationUsersRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/ListOrganizationUsersRequestTest.java index 8df09c928b..420dc1942b 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/ListOrganizationUsersRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/ListOrganizationUsersRequestTest.java @@ -22,15 +22,11 @@ public final class ListOrganizationUsersRequestTest { @Test(expected = IllegalStateException.class) public void noOrganizationId() { - ListOrganizationUsersRequest.builder() - .build(); + ListOrganizationUsersRequest.builder().build(); } @Test public void valid() { - ListOrganizationUsersRequest.builder() - .organizationId("test-organization-id") - .build(); + ListOrganizationUsersRequest.builder().organizationId("test-organization-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/ListOrganizationsRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/ListOrganizationsRequestTest.java index 451526661e..b8a49bfa4d 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/ListOrganizationsRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/ListOrganizationsRequestTest.java @@ -22,8 +22,6 @@ public final class ListOrganizationsRequestTest { @Test public void valid() { - ListOrganizationsRequest.builder() - .build(); + ListOrganizationsRequest.builder().build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/RemoveOrganizationAuditorByUsernameRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/RemoveOrganizationAuditorByUsernameRequestTest.java index 8cb59c8883..c5579e963c 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/RemoveOrganizationAuditorByUsernameRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/RemoveOrganizationAuditorByUsernameRequestTest.java @@ -22,24 +22,21 @@ public final class RemoveOrganizationAuditorByUsernameRequestTest { @Test(expected = IllegalStateException.class) public void noOrganizationId() { - RemoveOrganizationAuditorByUsernameRequest.builder() - .username("test-username") - .build(); + RemoveOrganizationAuditorByUsernameRequest.builder().username("test-username").build(); } @Test(expected = IllegalStateException.class) public void noUsername() { RemoveOrganizationAuditorByUsernameRequest.builder() - .organizationId("test-organization-id") - .build(); + .organizationId("test-organization-id") + .build(); } @Test public void valid() { RemoveOrganizationAuditorByUsernameRequest.builder() - .username("test-username") - .organizationId("test-organization-id") - .build(); + .username("test-username") + .organizationId("test-organization-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/RemoveOrganizationAuditorRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/RemoveOrganizationAuditorRequestTest.java index a349fc8ea5..55459d31a5 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/RemoveOrganizationAuditorRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/RemoveOrganizationAuditorRequestTest.java @@ -22,24 +22,19 @@ public final class RemoveOrganizationAuditorRequestTest { @Test(expected = IllegalStateException.class) public void noAuditorId() { - RemoveOrganizationAuditorRequest.builder() - .organizationId("test-organization-id") - .build(); + RemoveOrganizationAuditorRequest.builder().organizationId("test-organization-id").build(); } @Test(expected = IllegalStateException.class) public void noOrganizationId() { - RemoveOrganizationAuditorRequest.builder() - .auditorId("test-auditor-id") - .build(); + RemoveOrganizationAuditorRequest.builder().auditorId("test-auditor-id").build(); } @Test public void valid() { RemoveOrganizationAuditorRequest.builder() - .auditorId("test-auditor-id") - .organizationId("test-organization-id") - .build(); + .auditorId("test-auditor-id") + .organizationId("test-organization-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/RemoveOrganizationBillingManagerByUsernameRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/RemoveOrganizationBillingManagerByUsernameRequestTest.java index 31615bcdcd..b1995c996b 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/RemoveOrganizationBillingManagerByUsernameRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/RemoveOrganizationBillingManagerByUsernameRequestTest.java @@ -23,23 +23,22 @@ public final class RemoveOrganizationBillingManagerByUsernameRequestTest { @Test(expected = IllegalStateException.class) public void noOrganizationId() { RemoveOrganizationBillingManagerByUsernameRequest.builder() - .username("test-username") - .build(); + .username("test-username") + .build(); } @Test(expected = IllegalStateException.class) public void noUsername() { RemoveOrganizationBillingManagerByUsernameRequest.builder() - .organizationId("test-organization-id") - .build(); + .organizationId("test-organization-id") + .build(); } @Test public void valid() { RemoveOrganizationBillingManagerByUsernameRequest.builder() - .organizationId("test-organization-id") - .username("test-username") - .build(); + .organizationId("test-organization-id") + .username("test-username") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/RemoveOrganizationBillingManagerRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/RemoveOrganizationBillingManagerRequestTest.java index 142d5f06bf..1f4b284dff 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/RemoveOrganizationBillingManagerRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/RemoveOrganizationBillingManagerRequestTest.java @@ -23,23 +23,22 @@ public final class RemoveOrganizationBillingManagerRequestTest { @Test(expected = IllegalStateException.class) public void noBillingManagerId() { RemoveOrganizationBillingManagerRequest.builder() - .organizationId("test-organization-id") - .build(); + .organizationId("test-organization-id") + .build(); } @Test(expected = IllegalStateException.class) public void noOrganizationId() { RemoveOrganizationBillingManagerRequest.builder() - .billingManagerId("test-billing-manager-id") - .build(); + .billingManagerId("test-billing-manager-id") + .build(); } @Test public void valid() { RemoveOrganizationBillingManagerRequest.builder() - .billingManagerId("test-billing-manager-id") - .organizationId("test-organization-id") - .build(); + .billingManagerId("test-billing-manager-id") + .organizationId("test-organization-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/RemoveOrganizationManagerByUsernameRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/RemoveOrganizationManagerByUsernameRequestTest.java index 127ef97d11..3a5803f012 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/RemoveOrganizationManagerByUsernameRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/RemoveOrganizationManagerByUsernameRequestTest.java @@ -22,24 +22,21 @@ public final class RemoveOrganizationManagerByUsernameRequestTest { @Test(expected = IllegalStateException.class) public void noOrganizationId() { - RemoveOrganizationManagerByUsernameRequest.builder() - .username("test-username") - .build(); + RemoveOrganizationManagerByUsernameRequest.builder().username("test-username").build(); } @Test(expected = IllegalStateException.class) public void noUsername() { RemoveOrganizationManagerByUsernameRequest.builder() - .organizationId("test-organization-id") - .build(); + .organizationId("test-organization-id") + .build(); } @Test public void valid() { RemoveOrganizationManagerByUsernameRequest.builder() - .organizationId("test-organization-id") - .username("test-username") - .build(); + .organizationId("test-organization-id") + .username("test-username") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/RemoveOrganizationManagerRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/RemoveOrganizationManagerRequestTest.java index 346447d0e0..6dadc26413 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/RemoveOrganizationManagerRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/RemoveOrganizationManagerRequestTest.java @@ -22,24 +22,19 @@ public final class RemoveOrganizationManagerRequestTest { @Test(expected = IllegalStateException.class) public void noManagerId() { - RemoveOrganizationManagerRequest.builder() - .organizationId("test-organization-id") - .build(); + RemoveOrganizationManagerRequest.builder().organizationId("test-organization-id").build(); } @Test(expected = IllegalStateException.class) public void noOrganizationId() { - RemoveOrganizationManagerRequest.builder() - .managerId("test-manager-id") - .build(); + RemoveOrganizationManagerRequest.builder().managerId("test-manager-id").build(); } @Test public void valid() { RemoveOrganizationManagerRequest.builder() - .managerId("test-manager-id") - .organizationId("test-organization-id") - .build(); + .managerId("test-manager-id") + .organizationId("test-organization-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/RemoveOrganizationPrivateDomainRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/RemoveOrganizationPrivateDomainRequestTest.java index dac6a4996d..0a58dd1acc 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/RemoveOrganizationPrivateDomainRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/RemoveOrganizationPrivateDomainRequestTest.java @@ -23,23 +23,22 @@ public final class RemoveOrganizationPrivateDomainRequestTest { @Test(expected = IllegalStateException.class) public void noOrganizationId() { RemoveOrganizationPrivateDomainRequest.builder() - .privateDomainId("test-private-domain-id") - .build(); + .privateDomainId("test-private-domain-id") + .build(); } @Test(expected = IllegalStateException.class) public void noPrivateDomainId() { RemoveOrganizationPrivateDomainRequest.builder() - .organizationId("test-organization-id") - .build(); + .organizationId("test-organization-id") + .build(); } @Test public void valid() { RemoveOrganizationPrivateDomainRequest.builder() - .organizationId("test-organization-id") - .privateDomainId("test-private-domain-id") - .build(); + .organizationId("test-organization-id") + .privateDomainId("test-private-domain-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/RemoveOrganizationUserByUsernameRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/RemoveOrganizationUserByUsernameRequestTest.java index aa1b30186e..bd938abcbe 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/RemoveOrganizationUserByUsernameRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/RemoveOrganizationUserByUsernameRequestTest.java @@ -22,24 +22,21 @@ public final class RemoveOrganizationUserByUsernameRequestTest { @Test(expected = IllegalStateException.class) public void noOrganizationId() { - RemoveOrganizationUserByUsernameRequest.builder() - .username("test-username") - .build(); + RemoveOrganizationUserByUsernameRequest.builder().username("test-username").build(); } @Test(expected = IllegalStateException.class) public void noUsername() { RemoveOrganizationUserByUsernameRequest.builder() - .organizationId("test-organization-id") - .build(); + .organizationId("test-organization-id") + .build(); } @Test public void valid() { RemoveOrganizationUserByUsernameRequest.builder() - .organizationId("test-organization-id") - .username("test-username") - .build(); + .organizationId("test-organization-id") + .username("test-username") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/RemoveOrganizationUserRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/RemoveOrganizationUserRequestTest.java index d24a94c269..fe8131acea 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/RemoveOrganizationUserRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/RemoveOrganizationUserRequestTest.java @@ -22,24 +22,19 @@ public final class RemoveOrganizationUserRequestTest { @Test(expected = IllegalStateException.class) public void noOrganizationId() { - RemoveOrganizationUserRequest.builder() - .userId("test-user-id") - .build(); + RemoveOrganizationUserRequest.builder().userId("test-user-id").build(); } @Test(expected = IllegalStateException.class) public void noUserId() { - RemoveOrganizationUserRequest.builder() - .organizationId("test-organization-id") - .build(); + RemoveOrganizationUserRequest.builder().organizationId("test-organization-id").build(); } @Test public void valid() { RemoveOrganizationUserRequest.builder() - .organizationId("test-organization-id") - .userId("test-user-id") - .build(); + .organizationId("test-organization-id") + .userId("test-user-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/SummaryOrganizationRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/SummaryOrganizationRequestTest.java index de1915ba47..38a9a75e5a 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/SummaryOrganizationRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/SummaryOrganizationRequestTest.java @@ -22,15 +22,11 @@ public final class SummaryOrganizationRequestTest { @Test(expected = IllegalStateException.class) public void noOrganizationId() { - SummaryOrganizationRequest.builder() - .build(); + SummaryOrganizationRequest.builder().build(); } @Test public void valid() { - SummaryOrganizationRequest.builder() - .organizationId("test-organization-id") - .build(); + SummaryOrganizationRequest.builder().organizationId("test-organization-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/UpdateOrganizationRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/UpdateOrganizationRequestTest.java index cce9e40648..cf0853fa84 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/UpdateOrganizationRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/organizations/UpdateOrganizationRequestTest.java @@ -22,15 +22,11 @@ public final class UpdateOrganizationRequestTest { @Test(expected = IllegalStateException.class) public void noOrganizationId() { - UpdateOrganizationRequest.builder() - .build(); + UpdateOrganizationRequest.builder().build(); } @Test public void valid() { - UpdateOrganizationRequest.builder() - .organizationId("test-organization-id") - .build(); + UpdateOrganizationRequest.builder().organizationId("test-organization-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/privatedomains/CreatePrivateDomainRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/privatedomains/CreatePrivateDomainRequestTest.java index 5d0e60a649..0b9077f590 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/privatedomains/CreatePrivateDomainRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/privatedomains/CreatePrivateDomainRequestTest.java @@ -23,23 +23,20 @@ public final class CreatePrivateDomainRequestTest { @Test(expected = IllegalStateException.class) public void noName() { CreatePrivateDomainRequest.builder() - .owningOrganizationId("test-owning-organization-id") - .build(); + .owningOrganizationId("test-owning-organization-id") + .build(); } @Test(expected = IllegalStateException.class) public void noOwningOrganizationId() { - CreatePrivateDomainRequest.builder() - .name("test-name") - .build(); + CreatePrivateDomainRequest.builder().name("test-name").build(); } @Test public void valid() { CreatePrivateDomainRequest.builder() - .name("test-name") - .owningOrganizationId("test-owning-organization-id") - .build(); + .name("test-name") + .owningOrganizationId("test-owning-organization-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/privatedomains/DeletePrivateDomainRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/privatedomains/DeletePrivateDomainRequestTest.java index fcd6d3f551..c6f3d6a53f 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/privatedomains/DeletePrivateDomainRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/privatedomains/DeletePrivateDomainRequestTest.java @@ -22,15 +22,11 @@ public final class DeletePrivateDomainRequestTest { @Test(expected = IllegalStateException.class) public void noPrivateDomainId() { - DeletePrivateDomainRequest.builder() - .build(); + DeletePrivateDomainRequest.builder().build(); } @Test public void valid() { - DeletePrivateDomainRequest.builder() - .privateDomainId("test-private-domain-id") - .build(); + DeletePrivateDomainRequest.builder().privateDomainId("test-private-domain-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/privatedomains/GetPrivateDomainRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/privatedomains/GetPrivateDomainRequestTest.java index 1caa4f570e..d2c415a393 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/privatedomains/GetPrivateDomainRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/privatedomains/GetPrivateDomainRequestTest.java @@ -22,15 +22,11 @@ public final class GetPrivateDomainRequestTest { @Test(expected = IllegalStateException.class) public void noPrivateDomainId() { - GetPrivateDomainRequest.builder() - .build(); + GetPrivateDomainRequest.builder().build(); } @Test public void valid() { - GetPrivateDomainRequest.builder() - .privateDomainId("test-private-domain-id") - .build(); + GetPrivateDomainRequest.builder().privateDomainId("test-private-domain-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/privatedomains/ListPrivateDomainSharedOrganizationsRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/privatedomains/ListPrivateDomainSharedOrganizationsRequestTest.java index 0d304c74c1..3bf008e60d 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/privatedomains/ListPrivateDomainSharedOrganizationsRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/privatedomains/ListPrivateDomainSharedOrganizationsRequestTest.java @@ -22,15 +22,13 @@ public final class ListPrivateDomainSharedOrganizationsRequestTest { @Test(expected = IllegalStateException.class) public void noPrivateDomainId() { - ListPrivateDomainSharedOrganizationsRequest.builder() - .build(); + ListPrivateDomainSharedOrganizationsRequest.builder().build(); } @Test public void valid() { ListPrivateDomainSharedOrganizationsRequest.builder() - .privateDomainId("test-privatedomain-id") - .build(); + .privateDomainId("test-privatedomain-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/privatedomains/ListPrivateDomainsRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/privatedomains/ListPrivateDomainsRequestTest.java index 367f108372..a49e7429be 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/privatedomains/ListPrivateDomainsRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/privatedomains/ListPrivateDomainsRequestTest.java @@ -22,8 +22,6 @@ public final class ListPrivateDomainsRequestTest { @Test public void valid() { - ListPrivateDomainsRequest.builder() - .build(); + ListPrivateDomainsRequest.builder().build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/routemappings/CreateRouteMappingRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/routemappings/CreateRouteMappingRequestTest.java index 5557fce14f..d91c4bf2e4 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/routemappings/CreateRouteMappingRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/routemappings/CreateRouteMappingRequestTest.java @@ -22,24 +22,19 @@ public final class CreateRouteMappingRequestTest { @Test(expected = IllegalStateException.class) public void noApplicationId() { - CreateRouteMappingRequest.builder() - .routeId("route-id") - .build(); + CreateRouteMappingRequest.builder().routeId("route-id").build(); } @Test(expected = IllegalStateException.class) public void noRouteId() { - CreateRouteMappingRequest.builder() - .applicationId("application-id") - .build(); + CreateRouteMappingRequest.builder().applicationId("application-id").build(); } @Test public void valid() { CreateRouteMappingRequest.builder() - .applicationId("application-id") - .routeId("route-id") - .build(); + .applicationId("application-id") + .routeId("route-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/routemappings/DeleteRouteMappingRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/routemappings/DeleteRouteMappingRequestTest.java index 3d88df484a..67cce99b4b 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/routemappings/DeleteRouteMappingRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/routemappings/DeleteRouteMappingRequestTest.java @@ -22,15 +22,11 @@ public final class DeleteRouteMappingRequestTest { @Test(expected = IllegalStateException.class) public void noRouteMappingId() { - DeleteRouteMappingRequest.builder() - .build(); + DeleteRouteMappingRequest.builder().build(); } @Test public void valid() { - DeleteRouteMappingRequest.builder() - .routeMappingId("route-mapping-id") - .build(); + DeleteRouteMappingRequest.builder().routeMappingId("route-mapping-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/routemappings/GetRouteMappingRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/routemappings/GetRouteMappingRequestTest.java index 227f04e9f0..5f83221227 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/routemappings/GetRouteMappingRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/routemappings/GetRouteMappingRequestTest.java @@ -22,15 +22,11 @@ public final class GetRouteMappingRequestTest { @Test(expected = IllegalStateException.class) public void noRouteMappingId() { - GetRouteMappingRequest.builder() - .build(); + GetRouteMappingRequest.builder().build(); } @Test public void valid() { - GetRouteMappingRequest.builder() - .routeMappingId("route-mapping-id") - .build(); + GetRouteMappingRequest.builder().routeMappingId("route-mapping-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/routemappings/ListRouteMappingsRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/routemappings/ListRouteMappingsRequestTest.java index e9cd8cf7de..0118787a43 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/routemappings/ListRouteMappingsRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/routemappings/ListRouteMappingsRequestTest.java @@ -22,8 +22,6 @@ public final class ListRouteMappingsRequestTest { @Test public void valid() { - ListRouteMappingsRequest.builder() - .build(); + ListRouteMappingsRequest.builder().build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/routes/AssociateRouteApplicationRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/routes/AssociateRouteApplicationRequestTest.java index 3b569942be..0e64f2e81e 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/routes/AssociateRouteApplicationRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/routes/AssociateRouteApplicationRequestTest.java @@ -22,24 +22,19 @@ public final class AssociateRouteApplicationRequestTest { @Test(expected = IllegalStateException.class) public void noApplicationId() { - AssociateRouteApplicationRequest.builder() - .routeId("test-route-id") - .build(); + AssociateRouteApplicationRequest.builder().routeId("test-route-id").build(); } @Test(expected = IllegalStateException.class) public void noRouteId() { - AssociateRouteApplicationRequest.builder() - .applicationId("test-app-id") - .build(); + AssociateRouteApplicationRequest.builder().applicationId("test-app-id").build(); } @Test public void valid() { AssociateRouteApplicationRequest.builder() - .applicationId("test-app-id") - .routeId("test-route-id") - .build(); + .applicationId("test-app-id") + .routeId("test-route-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/routes/CreateRouteRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/routes/CreateRouteRequestTest.java index 929c09ba5d..2b54c96e11 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/routes/CreateRouteRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/routes/CreateRouteRequestTest.java @@ -22,24 +22,16 @@ public final class CreateRouteRequestTest { @Test(expected = IllegalStateException.class) public void noDomainId() { - CreateRouteRequest.builder() - .spaceId("test-space-id") - .build(); + CreateRouteRequest.builder().spaceId("test-space-id").build(); } @Test(expected = IllegalStateException.class) public void noSpaceId() { - CreateRouteRequest.builder() - .domainId("test-domain-id") - .build(); + CreateRouteRequest.builder().domainId("test-domain-id").build(); } @Test public void valid() { - CreateRouteRequest.builder() - .domainId("test-domain-id") - .spaceId("test-space-id") - .build(); + CreateRouteRequest.builder().domainId("test-domain-id").spaceId("test-space-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/routes/DeleteRouteRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/routes/DeleteRouteRequestTest.java index d2b2575777..45a8f76124 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/routes/DeleteRouteRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/routes/DeleteRouteRequestTest.java @@ -22,15 +22,11 @@ public final class DeleteRouteRequestTest { @Test(expected = IllegalStateException.class) public void noRouteId() { - DeleteRouteRequest.builder() - .build(); + DeleteRouteRequest.builder().build(); } @Test public void valid() { - DeleteRouteRequest.builder() - .routeId("test-route-id") - .build(); + DeleteRouteRequest.builder().routeId("test-route-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/routes/GetRouteRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/routes/GetRouteRequestTest.java index e17debc69d..fff7e6eeda 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/routes/GetRouteRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/routes/GetRouteRequestTest.java @@ -22,15 +22,11 @@ public final class GetRouteRequestTest { @Test(expected = IllegalStateException.class) public void noRouteId() { - GetRouteRequest.builder() - .build(); + GetRouteRequest.builder().build(); } @Test public void valid() { - GetRouteRequest.builder() - .routeId("test-route-id") - .build(); + GetRouteRequest.builder().routeId("test-route-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/routes/ListRouteApplicationsRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/routes/ListRouteApplicationsRequestTest.java index f784dcf3e0..779bf59da1 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/routes/ListRouteApplicationsRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/routes/ListRouteApplicationsRequestTest.java @@ -22,15 +22,11 @@ public final class ListRouteApplicationsRequestTest { @Test(expected = IllegalStateException.class) public void noRouteId() { - ListRouteApplicationsRequest.builder() - .build(); + ListRouteApplicationsRequest.builder().build(); } @Test public void valid() { - ListRouteApplicationsRequest.builder() - .routeId("test-route-id") - .build(); + ListRouteApplicationsRequest.builder().routeId("test-route-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/routes/ListRouteMappingsRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/routes/ListRouteMappingsRequestTest.java index b2d30f8bca..3457706ad7 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/routes/ListRouteMappingsRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/routes/ListRouteMappingsRequestTest.java @@ -22,15 +22,11 @@ public final class ListRouteMappingsRequestTest { @Test(expected = IllegalStateException.class) public void noRouteId() { - ListRouteMappingsRequest.builder() - .build(); + ListRouteMappingsRequest.builder().build(); } @Test public void valid() { - ListRouteMappingsRequest.builder() - .routeId("test-route-id") - .build(); + ListRouteMappingsRequest.builder().routeId("test-route-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/routes/ListRoutesRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/routes/ListRoutesRequestTest.java index c8ac87960d..682a479fcf 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/routes/ListRoutesRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/routes/ListRoutesRequestTest.java @@ -22,9 +22,6 @@ public final class ListRoutesRequestTest { @Test public void valid() { - ListRoutesRequest.builder() - .build(); + ListRoutesRequest.builder().build(); } - } - diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/routes/RemoveRouteApplicationRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/routes/RemoveRouteApplicationRequestTest.java index 5c851bff34..a5c341abe1 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/routes/RemoveRouteApplicationRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/routes/RemoveRouteApplicationRequestTest.java @@ -22,24 +22,19 @@ public final class RemoveRouteApplicationRequestTest { @Test(expected = IllegalStateException.class) public void noApplicationId() { - RemoveRouteApplicationRequest.builder() - .routeId("test-route-id") - .build(); + RemoveRouteApplicationRequest.builder().routeId("test-route-id").build(); } @Test(expected = IllegalStateException.class) public void noRouteId() { - RemoveRouteApplicationRequest.builder() - .applicationId("test-app-id") - .build(); + RemoveRouteApplicationRequest.builder().applicationId("test-app-id").build(); } @Test public void valid() { RemoveRouteApplicationRequest.builder() - .applicationId("test-app-id") - .routeId("test-route-id") - .build(); + .applicationId("test-app-id") + .routeId("test-route-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/routes/RouteExistsRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/routes/RouteExistsRequestTest.java index e36083e2a8..2ae0413185 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/routes/RouteExistsRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/routes/RouteExistsRequestTest.java @@ -22,15 +22,11 @@ public final class RouteExistsRequestTest { @Test(expected = IllegalStateException.class) public void noDomainId() { - RouteExistsRequest.builder() - .build(); + RouteExistsRequest.builder().build(); } @Test public void valid() { - RouteExistsRequest.builder() - .domainId("test-domain-id") - .build(); + RouteExistsRequest.builder().domainId("test-domain-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/routes/UpdateRouteRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/routes/UpdateRouteRequestTest.java index 046a55b616..4cd1bd7aeb 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/routes/UpdateRouteRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/routes/UpdateRouteRequestTest.java @@ -22,15 +22,11 @@ public final class UpdateRouteRequestTest { @Test(expected = IllegalStateException.class) public void noRouteId() { - UpdateRouteRequest.builder() - .build(); + UpdateRouteRequest.builder().build(); } @Test public void valid() { - UpdateRouteRequest.builder() - .routeId("test-route-id") - .build(); + UpdateRouteRequest.builder().routeId("test-route-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/securitygroups/AssociateSecurityGroupSpaceRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/securitygroups/AssociateSecurityGroupSpaceRequestTest.java index fcd98f5d87..c0c64e9a7f 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/securitygroups/AssociateSecurityGroupSpaceRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/securitygroups/AssociateSecurityGroupSpaceRequestTest.java @@ -22,24 +22,21 @@ public final class AssociateSecurityGroupSpaceRequestTest { @Test(expected = IllegalStateException.class) public void noSecurityGroupId() { - AssociateSecurityGroupSpaceRequest.builder() - .spaceId("test-space-id") - .build(); + AssociateSecurityGroupSpaceRequest.builder().spaceId("test-space-id").build(); } @Test(expected = IllegalStateException.class) public void noSpaceId() { AssociateSecurityGroupSpaceRequest.builder() - .securityGroupId("test-security-group-id") - .build(); + .securityGroupId("test-security-group-id") + .build(); } @Test public void valid() { AssociateSecurityGroupSpaceRequest.builder() - .securityGroupId("test-security-group-id") - .spaceId("test-space-id") - .build(); + .securityGroupId("test-security-group-id") + .spaceId("test-space-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/securitygroups/CreateSecurityGroupRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/securitygroups/CreateSecurityGroupRequestTest.java index 7d7d2999df..3daf51c451 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/securitygroups/CreateSecurityGroupRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/securitygroups/CreateSecurityGroupRequestTest.java @@ -23,25 +23,22 @@ public class CreateSecurityGroupRequestTest { @Test(expected = IllegalStateException.class) public void noName() { CreateSecurityGroupRequest.builder() - .rule(RuleEntity.builder().build()) - .spaceId("test-space-id") - .build(); + .rule(RuleEntity.builder().build()) + .spaceId("test-space-id") + .build(); } @Test public void validMax() { CreateSecurityGroupRequest.builder() - .name("test-security-group-name") - .rule(RuleEntity.builder().build()) - .spaceId("test-space-id") - .build(); + .name("test-security-group-name") + .rule(RuleEntity.builder().build()) + .spaceId("test-space-id") + .build(); } @Test public void validMin() { - CreateSecurityGroupRequest.builder() - .name("test-security-group-name") - .build(); + CreateSecurityGroupRequest.builder().name("test-security-group-name").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/securitygroups/DeleteSecurityGroupRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/securitygroups/DeleteSecurityGroupRequestTest.java index fc95d5c9e5..da1cd9ece9 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/securitygroups/DeleteSecurityGroupRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/securitygroups/DeleteSecurityGroupRequestTest.java @@ -22,24 +22,19 @@ public final class DeleteSecurityGroupRequestTest { @Test(expected = IllegalStateException.class) public void noSecurityGroupId() { - DeleteSecurityGroupRequest.builder() - .async(true) - .build(); + DeleteSecurityGroupRequest.builder().async(true).build(); } @Test public void validMax() { DeleteSecurityGroupRequest.builder() - .securityGroupId("test-security-group-id") - .async(true) - .build(); + .securityGroupId("test-security-group-id") + .async(true) + .build(); } @Test public void validMin() { - DeleteSecurityGroupRequest.builder() - .securityGroupId("test-security-group-id") - .build(); + DeleteSecurityGroupRequest.builder().securityGroupId("test-security-group-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/securitygroups/GetSecurityGroupRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/securitygroups/GetSecurityGroupRequestTest.java index b14daaeb3d..0833aef95c 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/securitygroups/GetSecurityGroupRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/securitygroups/GetSecurityGroupRequestTest.java @@ -22,15 +22,11 @@ public class GetSecurityGroupRequestTest { @Test(expected = IllegalStateException.class) public void noSecurityGroupId() { - GetSecurityGroupRequest.builder() - .build(); + GetSecurityGroupRequest.builder().build(); } @Test public void valid() { - GetSecurityGroupRequest.builder() - .securityGroupId("test-security-group-id") - .build(); + GetSecurityGroupRequest.builder().securityGroupId("test-security-group-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/securitygroups/ListSecurityGroupRunningDefaultsRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/securitygroups/ListSecurityGroupRunningDefaultsRequestTest.java index fe5b45d727..2f8e4d4de4 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/securitygroups/ListSecurityGroupRunningDefaultsRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/securitygroups/ListSecurityGroupRunningDefaultsRequestTest.java @@ -22,8 +22,6 @@ public final class ListSecurityGroupRunningDefaultsRequestTest { @Test public void valid() { - ListSecurityGroupRunningDefaultsRequest.builder() - .build(); + ListSecurityGroupRunningDefaultsRequest.builder().build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/securitygroups/ListSecurityGroupSpacesRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/securitygroups/ListSecurityGroupSpacesRequestTest.java index 99e02cf944..e66ccb8df4 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/securitygroups/ListSecurityGroupSpacesRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/securitygroups/ListSecurityGroupSpacesRequestTest.java @@ -22,15 +22,11 @@ public final class ListSecurityGroupSpacesRequestTest { @Test(expected = IllegalStateException.class) public void noSecurityGroupId() { - ListSecurityGroupSpacesRequest.builder() - .build(); + ListSecurityGroupSpacesRequest.builder().build(); } @Test public void valid() { - ListSecurityGroupSpacesRequest.builder() - .securityGroupId("test-security-group-id") - .build(); + ListSecurityGroupSpacesRequest.builder().securityGroupId("test-security-group-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/securitygroups/ListSecurityGroupStagingDefaultsRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/securitygroups/ListSecurityGroupStagingDefaultsRequestTest.java index d5b61a57c0..c283bfca39 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/securitygroups/ListSecurityGroupStagingDefaultsRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/securitygroups/ListSecurityGroupStagingDefaultsRequestTest.java @@ -22,8 +22,6 @@ public final class ListSecurityGroupStagingDefaultsRequestTest { @Test public void valid() { - ListSecurityGroupStagingDefaultsRequest.builder() - .build(); + ListSecurityGroupStagingDefaultsRequest.builder().build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/securitygroups/ListSecurityGroupsRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/securitygroups/ListSecurityGroupsRequestTest.java index 88c03470af..d9da063707 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/securitygroups/ListSecurityGroupsRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/securitygroups/ListSecurityGroupsRequestTest.java @@ -22,8 +22,6 @@ public final class ListSecurityGroupsRequestTest { @Test public void valid() { - ListSecurityGroupsRequest.builder() - .build(); + ListSecurityGroupsRequest.builder().build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/securitygroups/RemoveSecurityGroupRunningDefaultRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/securitygroups/RemoveSecurityGroupRunningDefaultRequestTest.java index a128242068..f104b71193 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/securitygroups/RemoveSecurityGroupRunningDefaultRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/securitygroups/RemoveSecurityGroupRunningDefaultRequestTest.java @@ -22,15 +22,13 @@ public final class RemoveSecurityGroupRunningDefaultRequestTest { @Test(expected = IllegalStateException.class) public void noSecurityGroupRunningDefaultId() { - RemoveSecurityGroupRunningDefaultRequest.builder() - .build(); + RemoveSecurityGroupRunningDefaultRequest.builder().build(); } @Test public void valid() { RemoveSecurityGroupRunningDefaultRequest.builder() - .securityGroupId("test-security-group-default-id") - .build(); + .securityGroupId("test-security-group-default-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/securitygroups/RemoveSecurityGroupSpaceRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/securitygroups/RemoveSecurityGroupSpaceRequestTest.java index bba272deb6..5c09720ad0 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/securitygroups/RemoveSecurityGroupSpaceRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/securitygroups/RemoveSecurityGroupSpaceRequestTest.java @@ -22,24 +22,19 @@ public final class RemoveSecurityGroupSpaceRequestTest { @Test(expected = IllegalStateException.class) public void noSecurityGroupId() { - RemoveSecurityGroupSpaceRequest.builder() - .spaceId("test-space-id") - .build(); + RemoveSecurityGroupSpaceRequest.builder().spaceId("test-space-id").build(); } @Test(expected = IllegalStateException.class) public void noSpaceId() { - RemoveSecurityGroupSpaceRequest.builder() - .securityGroupId("test-security-group-id") - .build(); + RemoveSecurityGroupSpaceRequest.builder().securityGroupId("test-security-group-id").build(); } @Test public void valid() { RemoveSecurityGroupSpaceRequest.builder() - .securityGroupId("test-security-group-id") - .spaceId("test-space-id") - .build(); + .securityGroupId("test-security-group-id") + .spaceId("test-space-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/securitygroups/RemoveSecurityGroupStagingDefaultRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/securitygroups/RemoveSecurityGroupStagingDefaultRequestTest.java index 0449632cc4..54a5b8f12a 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/securitygroups/RemoveSecurityGroupStagingDefaultRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/securitygroups/RemoveSecurityGroupStagingDefaultRequestTest.java @@ -22,15 +22,13 @@ public final class RemoveSecurityGroupStagingDefaultRequestTest { @Test(expected = IllegalStateException.class) public void noSecurityGroupStagingDefaultId() { - RemoveSecurityGroupStagingDefaultRequest.builder() - .build(); + RemoveSecurityGroupStagingDefaultRequest.builder().build(); } @Test public void valid() { RemoveSecurityGroupStagingDefaultRequest.builder() - .securityGroupId("test-security-group-default-id") - .build(); + .securityGroupId("test-security-group-default-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/securitygroups/SetSecurityGroupRunningDefaultRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/securitygroups/SetSecurityGroupRunningDefaultRequestTest.java index 6f4cc2c0f8..2195b7c83c 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/securitygroups/SetSecurityGroupRunningDefaultRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/securitygroups/SetSecurityGroupRunningDefaultRequestTest.java @@ -22,15 +22,13 @@ public final class SetSecurityGroupRunningDefaultRequestTest { @Test(expected = IllegalStateException.class) public void noSecurityGroupRunningDefaultId() { - SetSecurityGroupRunningDefaultRequest.builder() - .build(); + SetSecurityGroupRunningDefaultRequest.builder().build(); } @Test public void valid() { SetSecurityGroupRunningDefaultRequest.builder() - .securityGroupId("test-security-group-default-id") - .build(); + .securityGroupId("test-security-group-default-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/securitygroups/SetSecurityGroupStagingDefaultRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/securitygroups/SetSecurityGroupStagingDefaultRequestTest.java index 7304ca4c1d..64332ab070 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/securitygroups/SetSecurityGroupStagingDefaultRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/securitygroups/SetSecurityGroupStagingDefaultRequestTest.java @@ -22,15 +22,13 @@ public final class SetSecurityGroupStagingDefaultRequestTest { @Test(expected = IllegalStateException.class) public void noSecurityGroupStagingDefaultId() { - SetSecurityGroupStagingDefaultRequest.builder() - .build(); + SetSecurityGroupStagingDefaultRequest.builder().build(); } @Test public void valid() { SetSecurityGroupStagingDefaultRequest.builder() - .securityGroupId("test-security-group-default-id") - .build(); + .securityGroupId("test-security-group-default-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/securitygroups/UpdateSecurityGroupRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/securitygroups/UpdateSecurityGroupRequestTest.java index fca5833338..bf2ca7c300 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/securitygroups/UpdateSecurityGroupRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/securitygroups/UpdateSecurityGroupRequestTest.java @@ -23,20 +23,19 @@ public class UpdateSecurityGroupRequestTest { @Test(expected = IllegalStateException.class) public void noId() { UpdateSecurityGroupRequest.builder() - .name("test-security-group-name") - .rule(RuleEntity.builder().build()) - .spaceId("test-space-id") - .build(); + .name("test-security-group-name") + .rule(RuleEntity.builder().build()) + .spaceId("test-space-id") + .build(); } @Test public void valid() { UpdateSecurityGroupRequest.builder() - .name("test-security-group-name") - .rule(RuleEntity.builder().build()) - .securityGroupId("test-security-group-id") - .spaceId("test-space-id") - .build(); + .name("test-security-group-name") + .rule(RuleEntity.builder().build()) + .securityGroupId("test-security-group-id") + .spaceId("test-space-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/servicebindings/CreateServiceBindingRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/servicebindings/CreateServiceBindingRequestTest.java index ed45c44c66..5fcd5da51f 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/servicebindings/CreateServiceBindingRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/servicebindings/CreateServiceBindingRequestTest.java @@ -22,24 +22,19 @@ public final class CreateServiceBindingRequestTest { @Test(expected = IllegalStateException.class) public void noApplicationId() { - CreateServiceBindingRequest.builder() - .serviceInstanceId("test-service-instance-id") - .build(); + CreateServiceBindingRequest.builder().serviceInstanceId("test-service-instance-id").build(); } @Test(expected = IllegalStateException.class) public void noServiceInstanceId() { - CreateServiceBindingRequest.builder() - .applicationId("app-id") - .build(); + CreateServiceBindingRequest.builder().applicationId("app-id").build(); } @Test public void valid() { CreateServiceBindingRequest.builder() - .applicationId("app-id") - .serviceInstanceId("test-service-instance-id") - .build(); + .applicationId("app-id") + .serviceInstanceId("test-service-instance-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/servicebindings/DeleteServiceBindingRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/servicebindings/DeleteServiceBindingRequestTest.java index 27b0a337e8..233577c41a 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/servicebindings/DeleteServiceBindingRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/servicebindings/DeleteServiceBindingRequestTest.java @@ -16,22 +16,17 @@ package org.cloudfoundry.client.v2.servicebindings; - import org.junit.Test; public final class DeleteServiceBindingRequestTest { @Test(expected = IllegalStateException.class) public void noServiceBindingId() { - DeleteServiceBindingRequest.builder() - .build(); + DeleteServiceBindingRequest.builder().build(); } @Test public void valid() { - DeleteServiceBindingRequest.builder() - .serviceBindingId("test-service-binding-id") - .build(); + DeleteServiceBindingRequest.builder().serviceBindingId("test-service-binding-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/servicebindings/GetServiceBindingParametersRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/servicebindings/GetServiceBindingParametersRequestTest.java index a247ccce95..0f5d243afe 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/servicebindings/GetServiceBindingParametersRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/servicebindings/GetServiceBindingParametersRequestTest.java @@ -22,15 +22,13 @@ public final class GetServiceBindingParametersRequestTest { @Test(expected = IllegalStateException.class) public void noServiceInstanceId() { - GetServiceBindingParametersRequest.builder() - .build(); + GetServiceBindingParametersRequest.builder().build(); } @Test public void valid() { GetServiceBindingParametersRequest.builder() - .serviceBindingId("test-service-instance-id") - .build(); + .serviceBindingId("test-service-instance-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/servicebindings/GetServiceBindingRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/servicebindings/GetServiceBindingRequestTest.java index 1329bc3e1e..bbd9613f50 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/servicebindings/GetServiceBindingRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/servicebindings/GetServiceBindingRequestTest.java @@ -22,15 +22,11 @@ public final class GetServiceBindingRequestTest { @Test(expected = IllegalStateException.class) public void noServiceBindingId() { - GetServiceBindingRequest.builder() - .build(); + GetServiceBindingRequest.builder().build(); } @Test public void valid() { - GetServiceBindingRequest.builder() - .serviceBindingId("test-service-binding-id") - .build(); + GetServiceBindingRequest.builder().serviceBindingId("test-service-binding-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/servicebindings/ListServiceBindingsRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/servicebindings/ListServiceBindingsRequestTest.java index 6a08cb79a8..0975d9d683 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/servicebindings/ListServiceBindingsRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/servicebindings/ListServiceBindingsRequestTest.java @@ -16,15 +16,12 @@ package org.cloudfoundry.client.v2.servicebindings; - import org.junit.Test; public final class ListServiceBindingsRequestTest { @Test public void valid() { - ListServiceBindingsRequest.builder() - .build(); + ListServiceBindingsRequest.builder().build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/servicebrokers/CreateServiceBrokerRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/servicebrokers/CreateServiceBrokerRequestTest.java index e9fd805beb..b57f6e377b 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/servicebrokers/CreateServiceBrokerRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/servicebrokers/CreateServiceBrokerRequestTest.java @@ -23,47 +23,46 @@ public final class CreateServiceBrokerRequestTest { @Test(expected = IllegalStateException.class) public void noAuthenticationPassword() { CreateServiceBrokerRequest.builder() - .name("name") - .authenticationUsername("username") - .brokerUrl("http://somewhere-over-the-rainbow.org") - .build(); + .name("name") + .authenticationUsername("username") + .brokerUrl("http://somewhere-over-the-rainbow.org") + .build(); } @Test(expected = IllegalStateException.class) public void noAuthenticationUsername() { CreateServiceBrokerRequest.builder() - .name("name") - .authenticationPassword("password") - .brokerUrl("http://somewhere-over-the-rainbow.org") - .build(); + .name("name") + .authenticationPassword("password") + .brokerUrl("http://somewhere-over-the-rainbow.org") + .build(); } @Test(expected = IllegalStateException.class) public void noBrokerUrl() { CreateServiceBrokerRequest.builder() - .name("name") - .authenticationPassword("password") - .authenticationUsername("username") - .build(); + .name("name") + .authenticationPassword("password") + .authenticationUsername("username") + .build(); } @Test(expected = IllegalStateException.class) public void noName() { CreateServiceBrokerRequest.builder() - .authenticationPassword("password") - .authenticationUsername("username") - .brokerUrl("http://somewhere-over-the-rainbow.org") - .build(); + .authenticationPassword("password") + .authenticationUsername("username") + .brokerUrl("http://somewhere-over-the-rainbow.org") + .build(); } @Test public void valid() { CreateServiceBrokerRequest.builder() - .name("name") - .authenticationPassword("password") - .authenticationUsername("username") - .brokerUrl("http://somewhere-over-the-rainbow.org") - .build(); + .name("name") + .authenticationPassword("password") + .authenticationUsername("username") + .brokerUrl("http://somewhere-over-the-rainbow.org") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/servicebrokers/DeleteServiceBrokerRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/servicebrokers/DeleteServiceBrokerRequestTest.java index 045bdee965..1a3782f741 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/servicebrokers/DeleteServiceBrokerRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/servicebrokers/DeleteServiceBrokerRequestTest.java @@ -18,20 +18,15 @@ import org.junit.Test; - public final class DeleteServiceBrokerRequestTest { @Test(expected = IllegalStateException.class) public void noServiceBrokerId() { - DeleteServiceBrokerRequest.builder() - .build(); + DeleteServiceBrokerRequest.builder().build(); } @Test public void valid() { - DeleteServiceBrokerRequest.builder() - .serviceBrokerId("test-service-broker-id") - .build(); + DeleteServiceBrokerRequest.builder().serviceBrokerId("test-service-broker-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/servicebrokers/GetServiceBrokerRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/servicebrokers/GetServiceBrokerRequestTest.java index 7f1ab94752..933be2236d 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/servicebrokers/GetServiceBrokerRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/servicebrokers/GetServiceBrokerRequestTest.java @@ -18,20 +18,15 @@ import org.junit.Test; - public final class GetServiceBrokerRequestTest { @Test(expected = IllegalStateException.class) public void noServiceBrokerId() { - GetServiceBrokerRequest.builder() - .build(); + GetServiceBrokerRequest.builder().build(); } @Test public void valid() { - GetServiceBrokerRequest.builder() - .serviceBrokerId("test-service-broker-id") - .build(); + GetServiceBrokerRequest.builder().serviceBrokerId("test-service-broker-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/servicebrokers/ListServiceBrokersRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/servicebrokers/ListServiceBrokersRequestTest.java index 6d16a56298..e5d02cc952 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/servicebrokers/ListServiceBrokersRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/servicebrokers/ListServiceBrokersRequestTest.java @@ -18,13 +18,10 @@ import org.junit.Test; - public final class ListServiceBrokersRequestTest { @Test public void valid() { - ListServiceBrokersRequest.builder() - .build(); + ListServiceBrokersRequest.builder().build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/servicebrokers/UpdateServiceBrokerRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/servicebrokers/UpdateServiceBrokerRequestTest.java index 3530f27e4a..f47c6606b3 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/servicebrokers/UpdateServiceBrokerRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/servicebrokers/UpdateServiceBrokerRequestTest.java @@ -18,20 +18,15 @@ import org.junit.Test; - public final class UpdateServiceBrokerRequestTest { @Test(expected = IllegalStateException.class) public void noServiceBrokerId() { - UpdateServiceBrokerRequest.builder() - .build(); + UpdateServiceBrokerRequest.builder().build(); } @Test public void valid() { - UpdateServiceBrokerRequest.builder() - .serviceBrokerId("test-service-broker-id") - .build(); + UpdateServiceBrokerRequest.builder().serviceBrokerId("test-service-broker-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/serviceinstances/BindServiceInstanceRouteRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/serviceinstances/BindServiceInstanceRouteRequestTest.java index 03221620eb..a64b0fb5ce 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/serviceinstances/BindServiceInstanceRouteRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/serviceinstances/BindServiceInstanceRouteRequestTest.java @@ -18,29 +18,25 @@ import org.junit.Test; - public final class BindServiceInstanceRouteRequestTest { @Test(expected = IllegalStateException.class) public void noRouteId() { BindServiceInstanceRouteRequest.builder() - .serviceInstanceId("test-service-instance-id") - .build(); + .serviceInstanceId("test-service-instance-id") + .build(); } @Test(expected = IllegalStateException.class) public void noServiceInstanceId() { - BindServiceInstanceRouteRequest.builder() - .routeId("test-route-id") - .build(); + BindServiceInstanceRouteRequest.builder().routeId("test-route-id").build(); } @Test public void valid() { BindServiceInstanceRouteRequest.builder() - .serviceInstanceId("test-service-instance-id") - .routeId("test-route-id") - .build(); + .serviceInstanceId("test-service-instance-id") + .routeId("test-route-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/serviceinstances/CreateServiceInstanceRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/serviceinstances/CreateServiceInstanceRequestTest.java index 0e06c75760..ea33a2dec4 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/serviceinstances/CreateServiceInstanceRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/serviceinstances/CreateServiceInstanceRequestTest.java @@ -16,7 +16,6 @@ package org.cloudfoundry.client.v2.serviceinstances; - import org.junit.Test; public final class CreateServiceInstanceRequestTest { @@ -24,34 +23,30 @@ public final class CreateServiceInstanceRequestTest { @Test(expected = IllegalStateException.class) public void noName() { CreateServiceInstanceRequest.builder() - .servicePlanId("service-plan-id") - .spaceId("space-id") - .build(); + .servicePlanId("service-plan-id") + .spaceId("space-id") + .build(); } @Test(expected = IllegalStateException.class) public void noServicePlanId() { - CreateServiceInstanceRequest.builder() - .name("name") - .spaceId("space-id") - .build(); + CreateServiceInstanceRequest.builder().name("name").spaceId("space-id").build(); } @Test(expected = IllegalStateException.class) public void noSpaceId() { CreateServiceInstanceRequest.builder() - .name("name") - .servicePlanId("service-plan-id") - .build(); + .name("name") + .servicePlanId("service-plan-id") + .build(); } @Test public void valid() { CreateServiceInstanceRequest.builder() - .name("name") - .servicePlanId("service-plan-id") - .spaceId("space-id") - .build(); + .name("name") + .servicePlanId("service-plan-id") + .spaceId("space-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/serviceinstances/DeleteServiceInstanceRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/serviceinstances/DeleteServiceInstanceRequestTest.java index d438e03506..7ca73f7226 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/serviceinstances/DeleteServiceInstanceRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/serviceinstances/DeleteServiceInstanceRequestTest.java @@ -22,15 +22,13 @@ public final class DeleteServiceInstanceRequestTest { @Test(expected = IllegalStateException.class) public void noServiceInstanceId() { - DeleteServiceInstanceRequest.builder() - .build(); + DeleteServiceInstanceRequest.builder().build(); } @Test public void valid() { DeleteServiceInstanceRequest.builder() - .serviceInstanceId("test-service-instance-id") - .build(); + .serviceInstanceId("test-service-instance-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/serviceinstances/GetServiceInstanceParametersRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/serviceinstances/GetServiceInstanceParametersRequestTest.java index 4abfa90817..42331ae4fe 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/serviceinstances/GetServiceInstanceParametersRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/serviceinstances/GetServiceInstanceParametersRequestTest.java @@ -22,15 +22,13 @@ public final class GetServiceInstanceParametersRequestTest { @Test(expected = IllegalStateException.class) public void noServiceInstanceId() { - GetServiceInstanceParametersRequest.builder() - .build(); + GetServiceInstanceParametersRequest.builder().build(); } @Test public void valid() { GetServiceInstanceParametersRequest.builder() - .serviceInstanceId("test-service-instance-id") - .build(); + .serviceInstanceId("test-service-instance-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/serviceinstances/GetServiceInstancePermissionsRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/serviceinstances/GetServiceInstancePermissionsRequestTest.java index 98cee2eaaa..c80bf3df83 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/serviceinstances/GetServiceInstancePermissionsRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/serviceinstances/GetServiceInstancePermissionsRequestTest.java @@ -18,20 +18,17 @@ import org.junit.Test; - public final class GetServiceInstancePermissionsRequestTest { @Test(expected = IllegalStateException.class) public void noServiceInstanceId() { - GetServiceInstancePermissionsRequest.builder() - .build(); + GetServiceInstancePermissionsRequest.builder().build(); } @Test public void valid() { GetServiceInstancePermissionsRequest.builder() - .serviceInstanceId("test-service-instance-id") - .build(); + .serviceInstanceId("test-service-instance-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/serviceinstances/GetServiceInstanceRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/serviceinstances/GetServiceInstanceRequestTest.java index 3af1c0a1ac..c9e50c6fe3 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/serviceinstances/GetServiceInstanceRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/serviceinstances/GetServiceInstanceRequestTest.java @@ -16,22 +16,17 @@ package org.cloudfoundry.client.v2.serviceinstances; - import org.junit.Test; public final class GetServiceInstanceRequestTest { @Test(expected = IllegalStateException.class) public void noServiceInstanceId() { - GetServiceInstanceRequest.builder() - .build(); + GetServiceInstanceRequest.builder().build(); } @Test public void valid() { - GetServiceInstanceRequest.builder() - .serviceInstanceId("test-service-instance-id") - .build(); + GetServiceInstanceRequest.builder().serviceInstanceId("test-service-instance-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/serviceinstances/ListServiceInstanceRoutesRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/serviceinstances/ListServiceInstanceRoutesRequestTest.java index ff41adf9cc..399091fafa 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/serviceinstances/ListServiceInstanceRoutesRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/serviceinstances/ListServiceInstanceRoutesRequestTest.java @@ -16,22 +16,19 @@ package org.cloudfoundry.client.v2.serviceinstances; - import org.junit.Test; public final class ListServiceInstanceRoutesRequestTest { @Test(expected = IllegalStateException.class) public void noServiceInstanceId() { - ListServiceInstanceRoutesRequest.builder() - .build(); + ListServiceInstanceRoutesRequest.builder().build(); } @Test public void valid() { ListServiceInstanceRoutesRequest.builder() - .serviceInstanceId("test-service-instance-id") - .build(); + .serviceInstanceId("test-service-instance-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/serviceinstances/ListServiceInstanceServiceBindingsRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/serviceinstances/ListServiceInstanceServiceBindingsRequestTest.java index f6e1b2c8b6..b38ce06006 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/serviceinstances/ListServiceInstanceServiceBindingsRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/serviceinstances/ListServiceInstanceServiceBindingsRequestTest.java @@ -16,22 +16,19 @@ package org.cloudfoundry.client.v2.serviceinstances; - import org.junit.Test; public final class ListServiceInstanceServiceBindingsRequestTest { @Test(expected = IllegalStateException.class) public void noServiceInstanceId() { - ListServiceInstanceServiceBindingsRequest.builder() - .build(); + ListServiceInstanceServiceBindingsRequest.builder().build(); } @Test public void valid() { ListServiceInstanceServiceBindingsRequest.builder() - .serviceInstanceId("test-service-instance-id") - .build(); + .serviceInstanceId("test-service-instance-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/serviceinstances/ListServiceInstanceServiceKeysRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/serviceinstances/ListServiceInstanceServiceKeysRequestTest.java index e09b7c982f..48739409f9 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/serviceinstances/ListServiceInstanceServiceKeysRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/serviceinstances/ListServiceInstanceServiceKeysRequestTest.java @@ -22,15 +22,13 @@ public final class ListServiceInstanceServiceKeysRequestTest { @Test(expected = IllegalStateException.class) public void noServiceInstanceId() { - ListServiceInstanceServiceBindingsRequest.builder() - .build(); + ListServiceInstanceServiceBindingsRequest.builder().build(); } @Test public void valid() { ListServiceInstanceServiceKeysRequest.builder() - .serviceInstanceId("test-service-instance-id") - .build(); + .serviceInstanceId("test-service-instance-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/serviceinstances/ListServiceInstancesRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/serviceinstances/ListServiceInstancesRequestTest.java index 055647a4ec..cc29c8c8bf 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/serviceinstances/ListServiceInstancesRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/serviceinstances/ListServiceInstancesRequestTest.java @@ -22,8 +22,6 @@ public final class ListServiceInstancesRequestTest { @Test public void valid() { - ListServiceInstancesRequest.builder() - .build(); + ListServiceInstancesRequest.builder().build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/serviceinstances/UnbindServiceInstanceRouteRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/serviceinstances/UnbindServiceInstanceRouteRequestTest.java index a3bc46c7aa..af768af98a 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/serviceinstances/UnbindServiceInstanceRouteRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/serviceinstances/UnbindServiceInstanceRouteRequestTest.java @@ -18,29 +18,25 @@ import org.junit.Test; - public final class UnbindServiceInstanceRouteRequestTest { @Test(expected = IllegalStateException.class) public void noRouteId() { UnbindServiceInstanceRouteRequest.builder() - .serviceInstanceId("test-service-instance-id") - .build(); + .serviceInstanceId("test-service-instance-id") + .build(); } @Test(expected = IllegalStateException.class) public void noServiceInstanceId() { - UnbindServiceInstanceRouteRequest.builder() - .routeId("test-route-id") - .build(); + UnbindServiceInstanceRouteRequest.builder().routeId("test-route-id").build(); } @Test public void valid() { UnbindServiceInstanceRouteRequest.builder() - .serviceInstanceId("test-service-instance-id") - .routeId("test-route-id") - .build(); + .serviceInstanceId("test-service-instance-id") + .routeId("test-route-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/serviceinstances/UpdateServiceInstanceRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/serviceinstances/UpdateServiceInstanceRequestTest.java index ffbfc0a741..2452e86c21 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/serviceinstances/UpdateServiceInstanceRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/serviceinstances/UpdateServiceInstanceRequestTest.java @@ -22,15 +22,13 @@ public final class UpdateServiceInstanceRequestTest { @Test(expected = IllegalStateException.class) public void noServiceInstanceId() { - UpdateServiceInstanceRequest.builder() - .build(); + UpdateServiceInstanceRequest.builder().build(); } @Test public void valid() { UpdateServiceInstanceRequest.builder() - .serviceInstanceId("test-service-instance-id") - .build(); + .serviceInstanceId("test-service-instance-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/servicekeys/CreateServiceKeyRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/servicekeys/CreateServiceKeyRequestTest.java index 652933d36e..ead6e0b82b 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/servicekeys/CreateServiceKeyRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/servicekeys/CreateServiceKeyRequestTest.java @@ -22,24 +22,19 @@ public final class CreateServiceKeyRequestTest { @Test(expected = IllegalStateException.class) public void noName() { - CreateServiceKeyRequest.builder() - .serviceInstanceId("service-instance-id") - .build(); + CreateServiceKeyRequest.builder().serviceInstanceId("service-instance-id").build(); } @Test(expected = IllegalStateException.class) public void noServiceInstanceId() { - CreateServiceKeyRequest.builder() - .name("name") - .build(); + CreateServiceKeyRequest.builder().name("name").build(); } @Test public void valid() { CreateServiceKeyRequest.builder() - .name("name") - .serviceInstanceId("service-instance-id") - .build(); + .name("name") + .serviceInstanceId("service-instance-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/servicekeys/DeleteServiceKeyRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/servicekeys/DeleteServiceKeyRequestTest.java index 2b08fca1e3..dad2318b47 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/servicekeys/DeleteServiceKeyRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/servicekeys/DeleteServiceKeyRequestTest.java @@ -22,15 +22,11 @@ public final class DeleteServiceKeyRequestTest { @Test(expected = IllegalStateException.class) public void noServiceKeyId() { - DeleteServiceKeyRequest.builder() - .build(); + DeleteServiceKeyRequest.builder().build(); } @Test public void valid() { - DeleteServiceKeyRequest.builder() - .serviceKeyId("test-service-key-id") - .build(); + DeleteServiceKeyRequest.builder().serviceKeyId("test-service-key-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/servicekeys/GetServiceKeyRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/servicekeys/GetServiceKeyRequestTest.java index 04926c98a5..ca5b3de804 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/servicekeys/GetServiceKeyRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/servicekeys/GetServiceKeyRequestTest.java @@ -18,20 +18,15 @@ import org.junit.Test; - public final class GetServiceKeyRequestTest { @Test(expected = IllegalStateException.class) public void noServiceKeyId() { - GetServiceKeyRequest.builder() - .build(); + GetServiceKeyRequest.builder().build(); } @Test public void valid() { - GetServiceKeyRequest.builder() - .serviceKeyId("test-service-key-id") - .build(); + GetServiceKeyRequest.builder().serviceKeyId("test-service-key-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/servicekeys/ListServiceKeysRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/servicekeys/ListServiceKeysRequestTest.java index 91ab9a1990..a08dd1f3bf 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/servicekeys/ListServiceKeysRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/servicekeys/ListServiceKeysRequestTest.java @@ -22,8 +22,6 @@ public final class ListServiceKeysRequestTest { @Test public void valid() { - ListServiceKeysRequest.builder() - .build(); + ListServiceKeysRequest.builder().build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/serviceplans/DeleteServicePlanRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/serviceplans/DeleteServicePlanRequestTest.java index b74eb7886b..ef92c42efc 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/serviceplans/DeleteServicePlanRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/serviceplans/DeleteServicePlanRequestTest.java @@ -18,20 +18,15 @@ import org.junit.Test; - public final class DeleteServicePlanRequestTest { @Test(expected = IllegalStateException.class) public void noServicePlanId() { - DeleteServicePlanRequest.builder() - .build(); + DeleteServicePlanRequest.builder().build(); } @Test public void valid() { - DeleteServicePlanRequest.builder() - .servicePlanId("test-id") - .build(); + DeleteServicePlanRequest.builder().servicePlanId("test-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/serviceplans/GetServicePlanRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/serviceplans/GetServicePlanRequestTest.java index 7dae47b16e..2a96a33570 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/serviceplans/GetServicePlanRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/serviceplans/GetServicePlanRequestTest.java @@ -22,15 +22,11 @@ public final class GetServicePlanRequestTest { @Test(expected = IllegalStateException.class) public void noServicePlanId() { - GetServicePlanRequest.builder() - .build(); + GetServicePlanRequest.builder().build(); } @Test public void valid() { - GetServicePlanRequest.builder() - .servicePlanId("test-service-plan-id") - .build(); + GetServicePlanRequest.builder().servicePlanId("test-service-plan-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/serviceplans/ListServicePlanServiceInstancesRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/serviceplans/ListServicePlanServiceInstancesRequestTest.java index f76ab5a29d..aa303792c6 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/serviceplans/ListServicePlanServiceInstancesRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/serviceplans/ListServicePlanServiceInstancesRequestTest.java @@ -22,15 +22,13 @@ public final class ListServicePlanServiceInstancesRequestTest { @Test(expected = IllegalStateException.class) public void noServicePlanId() { - ListServicePlanServiceInstancesRequest.builder() - .build(); + ListServicePlanServiceInstancesRequest.builder().build(); } @Test public void valid() { ListServicePlanServiceInstancesRequest.builder() - .servicePlanId("test-service-plan-id") - .build(); + .servicePlanId("test-service-plan-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/serviceplans/ListServicePlansRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/serviceplans/ListServicePlansRequestTest.java index 344229a0f4..f0b39f3d74 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/serviceplans/ListServicePlansRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/serviceplans/ListServicePlansRequestTest.java @@ -22,8 +22,6 @@ public final class ListServicePlansRequestTest { @Test public void valid() { - ListServicePlansRequest.builder() - .build(); + ListServicePlansRequest.builder().build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/serviceplans/UpdateServicePlanRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/serviceplans/UpdateServicePlanRequestTest.java index b341fabc66..43d8d7e063 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/serviceplans/UpdateServicePlanRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/serviceplans/UpdateServicePlanRequestTest.java @@ -22,15 +22,11 @@ public final class UpdateServicePlanRequestTest { @Test(expected = IllegalStateException.class) public void noServicePlanId() { - UpdateServicePlanRequest.builder() - .build(); + UpdateServicePlanRequest.builder().build(); } @Test public void valid() { - UpdateServicePlanRequest.builder() - .servicePlanId("test-service-plan-id") - .build(); + UpdateServicePlanRequest.builder().servicePlanId("test-service-plan-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/serviceplanvisibilities/CreateServicePlanVisibilityRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/serviceplanvisibilities/CreateServicePlanVisibilityRequestTest.java index e973fd519d..5eefa5ea82 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/serviceplanvisibilities/CreateServicePlanVisibilityRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/serviceplanvisibilities/CreateServicePlanVisibilityRequestTest.java @@ -18,29 +18,23 @@ import org.junit.Test; - public final class CreateServicePlanVisibilityRequestTest { @Test(expected = IllegalStateException.class) public void noOrganizationId() { - CreateServicePlanVisibilityRequest.builder() - .servicePlanId("service-plan-id") - .build(); + CreateServicePlanVisibilityRequest.builder().servicePlanId("service-plan-id").build(); } @Test(expected = IllegalStateException.class) public void noServicePlanId() { - CreateServicePlanVisibilityRequest.builder() - .organizationId("organization-id") - .build(); + CreateServicePlanVisibilityRequest.builder().organizationId("organization-id").build(); } @Test public void valid() { CreateServicePlanVisibilityRequest.builder() - .organizationId("organization-id") - .servicePlanId("service-plan-id") - .build(); + .organizationId("organization-id") + .servicePlanId("service-plan-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/serviceplanvisibilities/DeleteServicePlanVisibilityRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/serviceplanvisibilities/DeleteServicePlanVisibilityRequestTest.java index 74e6866553..2ca6173f89 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/serviceplanvisibilities/DeleteServicePlanVisibilityRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/serviceplanvisibilities/DeleteServicePlanVisibilityRequestTest.java @@ -22,15 +22,13 @@ public final class DeleteServicePlanVisibilityRequestTest { @Test(expected = IllegalStateException.class) public void noServicePlanVisibilityId() { - DeleteServicePlanVisibilityRequest.builder() - .build(); + DeleteServicePlanVisibilityRequest.builder().build(); } @Test public void valid() { DeleteServicePlanVisibilityRequest.builder() - .servicePlanVisibilityId("test-service-plan-visibility-id") - .build(); + .servicePlanVisibilityId("test-service-plan-visibility-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/serviceplanvisibilities/GetServicePlanVisibilityRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/serviceplanvisibilities/GetServicePlanVisibilityRequestTest.java index e5d94269ae..b5ba849ea8 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/serviceplanvisibilities/GetServicePlanVisibilityRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/serviceplanvisibilities/GetServicePlanVisibilityRequestTest.java @@ -22,15 +22,13 @@ public final class GetServicePlanVisibilityRequestTest { @Test(expected = IllegalStateException.class) public void noServicePlanVisibilityId() { - GetServicePlanVisibilityRequest.builder() - .build(); + GetServicePlanVisibilityRequest.builder().build(); } @Test public void valid() { GetServicePlanVisibilityRequest.builder() - .servicePlanVisibilityId("test-service-plan-visibility-id") - .build(); + .servicePlanVisibilityId("test-service-plan-visibility-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/serviceplanvisibilities/ListServicePlanVisibilitiesRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/serviceplanvisibilities/ListServicePlanVisibilitiesRequestTest.java index 3b8e2e25f7..30e2168b93 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/serviceplanvisibilities/ListServicePlanVisibilitiesRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/serviceplanvisibilities/ListServicePlanVisibilitiesRequestTest.java @@ -22,8 +22,6 @@ public final class ListServicePlanVisibilitiesRequestTest { @Test public void valid() { - ListServicePlanVisibilitiesRequest.builder() - .build(); + ListServicePlanVisibilitiesRequest.builder().build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/serviceplanvisibilities/UpdateServicePlanVisibilityRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/serviceplanvisibilities/UpdateServicePlanVisibilityRequestTest.java index aa75ccea44..21054ac97f 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/serviceplanvisibilities/UpdateServicePlanVisibilityRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/serviceplanvisibilities/UpdateServicePlanVisibilityRequestTest.java @@ -23,34 +23,33 @@ public final class UpdateServicePlanVisibilityRequestTest { @Test(expected = IllegalStateException.class) public void noOrganizationId() { UpdateServicePlanVisibilityRequest.builder() - .servicePlanId("service-plan-id") - .servicePlanVisibilityId("test-service-plan-visibility-id") - .build(); + .servicePlanId("service-plan-id") + .servicePlanVisibilityId("test-service-plan-visibility-id") + .build(); } @Test(expected = IllegalStateException.class) public void noServicePlanId() { UpdateServicePlanVisibilityRequest.builder() - .organizationId("organization-id") - .servicePlanVisibilityId("test-service-plan-visibility-id") - .build(); + .organizationId("organization-id") + .servicePlanVisibilityId("test-service-plan-visibility-id") + .build(); } @Test(expected = IllegalStateException.class) public void noServicePlanVisibilityId() { UpdateServicePlanVisibilityRequest.builder() - .organizationId("organization-id") - .servicePlanId("service-plan-id") - .build(); + .organizationId("organization-id") + .servicePlanId("service-plan-id") + .build(); } @Test public void valid() { UpdateServicePlanVisibilityRequest.builder() - .organizationId("organization-id") - .servicePlanId("service-plan-id") - .servicePlanVisibilityId("test-service-plan-visibility-id") - .build(); + .organizationId("organization-id") + .servicePlanId("service-plan-id") + .servicePlanVisibilityId("test-service-plan-visibility-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/services/DeleteServiceRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/services/DeleteServiceRequestTest.java index c39b960b27..3ec310c1a3 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/services/DeleteServiceRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/services/DeleteServiceRequestTest.java @@ -22,15 +22,11 @@ public final class DeleteServiceRequestTest { @Test(expected = IllegalStateException.class) public void noServiceId() { - DeleteServiceRequest.builder() - .build(); + DeleteServiceRequest.builder().build(); } @Test public void valid() { - DeleteServiceRequest.builder() - .serviceId("test-service-id") - .build(); + DeleteServiceRequest.builder().serviceId("test-service-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/services/GetServiceRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/services/GetServiceRequestTest.java index bb087d0a04..847db23408 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/services/GetServiceRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/services/GetServiceRequestTest.java @@ -22,15 +22,11 @@ public final class GetServiceRequestTest { @Test(expected = IllegalStateException.class) public void noServiceId() { - GetServiceRequest.builder() - .build(); + GetServiceRequest.builder().build(); } @Test public void valid() { - GetServiceRequest.builder() - .serviceId("test-service-id") - .build(); + GetServiceRequest.builder().serviceId("test-service-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/services/ListServiceServicePlansRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/services/ListServiceServicePlansRequestTest.java index 397d1f3d3e..8370979cee 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/services/ListServiceServicePlansRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/services/ListServiceServicePlansRequestTest.java @@ -22,15 +22,11 @@ public final class ListServiceServicePlansRequestTest { @Test(expected = IllegalStateException.class) public void noServiceId() { - ListServiceServicePlansRequest.builder() - .build(); + ListServiceServicePlansRequest.builder().build(); } @Test public void valid() { - ListServiceServicePlansRequest.builder() - .serviceId("test-service-id") - .build(); + ListServiceServicePlansRequest.builder().serviceId("test-service-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/services/ListServicesRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/services/ListServicesRequestTest.java index 5dd8fa3616..4838d8007e 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/services/ListServicesRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/services/ListServicesRequestTest.java @@ -22,8 +22,6 @@ public final class ListServicesRequestTest { @Test public void valid() { - ListServicesRequest.builder() - .build(); + ListServicesRequest.builder().build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/serviceusageevents/GetServiceUsageEventRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/serviceusageevents/GetServiceUsageEventRequestTest.java index 3a207ce37d..fca6b8f702 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/serviceusageevents/GetServiceUsageEventRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/serviceusageevents/GetServiceUsageEventRequestTest.java @@ -22,15 +22,13 @@ public final class GetServiceUsageEventRequestTest { @Test(expected = IllegalStateException.class) public void noServiceUsageEventId() { - GetServiceUsageEventRequest.builder() - .build(); + GetServiceUsageEventRequest.builder().build(); } @Test public void valid() { GetServiceUsageEventRequest.builder() - .serviceUsageEventId("test-service-usage-event-id") - .build(); + .serviceUsageEventId("test-service-usage-event-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/serviceusageevents/ListServiceUsageEventsRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/serviceusageevents/ListServiceUsageEventsRequestTest.java index b2f9f5d9bc..3d7dab01e0 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/serviceusageevents/ListServiceUsageEventsRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/serviceusageevents/ListServiceUsageEventsRequestTest.java @@ -22,8 +22,6 @@ public final class ListServiceUsageEventsRequestTest { @Test public void valid() { - ListServiceUsageEventsRequest.builder() - .build(); + ListServiceUsageEventsRequest.builder().build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/serviceusageevents/PurgeAndReseedServiceUsageEventsRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/serviceusageevents/PurgeAndReseedServiceUsageEventsRequestTest.java index a0a169415c..768b1201b1 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/serviceusageevents/PurgeAndReseedServiceUsageEventsRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/serviceusageevents/PurgeAndReseedServiceUsageEventsRequestTest.java @@ -22,8 +22,6 @@ public final class PurgeAndReseedServiceUsageEventsRequestTest { @Test public void valid() { - PurgeAndReseedServiceUsageEventsRequest.builder() - .build(); + PurgeAndReseedServiceUsageEventsRequest.builder().build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/shareddomains/CreateSharedDomainRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/shareddomains/CreateSharedDomainRequestTest.java index 6729337e0d..a91979284d 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/shareddomains/CreateSharedDomainRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/shareddomains/CreateSharedDomainRequestTest.java @@ -22,15 +22,11 @@ public final class CreateSharedDomainRequestTest { @Test(expected = IllegalStateException.class) public void noName() { - CreateSharedDomainRequest.builder() - .build(); + CreateSharedDomainRequest.builder().build(); } @Test public void valid() { - CreateSharedDomainRequest.builder() - .name("test-test-name") - .build(); + CreateSharedDomainRequest.builder().name("test-test-name").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/shareddomains/DeleteSharedDomainRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/shareddomains/DeleteSharedDomainRequestTest.java index 68d2060482..684c8cdcf2 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/shareddomains/DeleteSharedDomainRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/shareddomains/DeleteSharedDomainRequestTest.java @@ -22,15 +22,11 @@ public final class DeleteSharedDomainRequestTest { @Test(expected = IllegalStateException.class) public void noId() { - DeleteSharedDomainRequest.builder() - .build(); + DeleteSharedDomainRequest.builder().build(); } @Test public void valid() { - DeleteSharedDomainRequest.builder() - .sharedDomainId("test-shared-domain-id") - .build(); + DeleteSharedDomainRequest.builder().sharedDomainId("test-shared-domain-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/shareddomains/GetSharedDomainRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/shareddomains/GetSharedDomainRequestTest.java index 1ca8e49e3e..c30c061499 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/shareddomains/GetSharedDomainRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/shareddomains/GetSharedDomainRequestTest.java @@ -22,15 +22,11 @@ public final class GetSharedDomainRequestTest { @Test(expected = IllegalStateException.class) public void noId() { - GetSharedDomainRequest.builder() - .build(); + GetSharedDomainRequest.builder().build(); } @Test public void valid() { - GetSharedDomainRequest.builder() - .sharedDomainId("test-shared-domain-id") - .build(); + GetSharedDomainRequest.builder().sharedDomainId("test-shared-domain-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/shareddomains/ListSharedDomainsRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/shareddomains/ListSharedDomainsRequestTest.java index 03b4024a2a..ef8442dc16 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/shareddomains/ListSharedDomainsRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/shareddomains/ListSharedDomainsRequestTest.java @@ -22,9 +22,6 @@ public final class ListSharedDomainsRequestTest { @Test public void valid() { - ListSharedDomainsRequest.builder() - .name("test-name") - .build(); + ListSharedDomainsRequest.builder().name("test-name").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spacequotadefinitions/AssociateSpaceQuotaDefinitionRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spacequotadefinitions/AssociateSpaceQuotaDefinitionRequestTest.java index 49587d36f6..3c58e7c192 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spacequotadefinitions/AssociateSpaceQuotaDefinitionRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spacequotadefinitions/AssociateSpaceQuotaDefinitionRequestTest.java @@ -23,23 +23,20 @@ public final class AssociateSpaceQuotaDefinitionRequestTest { @Test(expected = IllegalStateException.class) public void noSpaceId() { AssociateSpaceQuotaDefinitionRequest.builder() - .spaceQuotaDefinitionId("test-space-quota-definition-id") - .build(); + .spaceQuotaDefinitionId("test-space-quota-definition-id") + .build(); } @Test(expected = IllegalStateException.class) public void noSpaceQuotaDefinitionId() { - AssociateSpaceQuotaDefinitionRequest.builder() - .spaceId("test-space-id") - .build(); + AssociateSpaceQuotaDefinitionRequest.builder().spaceId("test-space-id").build(); } @Test public void valid() { AssociateSpaceQuotaDefinitionRequest.builder() - .spaceId("test-space-id") - .spaceQuotaDefinitionId("test-space-quota-definition-id") - .build(); + .spaceId("test-space-id") + .spaceQuotaDefinitionId("test-space-quota-definition-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spacequotadefinitions/CreateSpaceQuotaDefinitionRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spacequotadefinitions/CreateSpaceQuotaDefinitionRequestTest.java index 3399fb5d4b..2cf68e6443 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spacequotadefinitions/CreateSpaceQuotaDefinitionRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spacequotadefinitions/CreateSpaceQuotaDefinitionRequestTest.java @@ -23,79 +23,78 @@ public final class CreateSpaceQuotaDefinitionRequestTest { @Test(expected = IllegalStateException.class) public void noMemoryLimit() { CreateSpaceQuotaDefinitionRequest.builder() - .name("test-space-quota-definition-name") - .nonBasicServicesAllowed(true) - .organizationId("test-organization-id") - .totalRoutes(1) - .totalServices(1) - .build(); + .name("test-space-quota-definition-name") + .nonBasicServicesAllowed(true) + .organizationId("test-organization-id") + .totalRoutes(1) + .totalServices(1) + .build(); } @Test(expected = IllegalStateException.class) public void noName() { CreateSpaceQuotaDefinitionRequest.builder() - .memoryLimit(100) - .nonBasicServicesAllowed(true) - .organizationId("test-organization-id") - .totalRoutes(1) - .totalServices(1) - .build(); + .memoryLimit(100) + .nonBasicServicesAllowed(true) + .organizationId("test-organization-id") + .totalRoutes(1) + .totalServices(1) + .build(); } @Test(expected = IllegalStateException.class) public void noNonBasicServicesAllowed() { CreateSpaceQuotaDefinitionRequest.builder() - .memoryLimit(100) - .name("test-space-quota-definition-name") - .organizationId("test-organization-id") - .totalRoutes(1) - .totalServices(1) - .build(); + .memoryLimit(100) + .name("test-space-quota-definition-name") + .organizationId("test-organization-id") + .totalRoutes(1) + .totalServices(1) + .build(); } @Test(expected = IllegalStateException.class) public void noOrganizationId() { CreateSpaceQuotaDefinitionRequest.builder() - .memoryLimit(100) - .name("test-space-quota-definition-name") - .nonBasicServicesAllowed(true) - .totalRoutes(1) - .totalServices(1) - .build(); + .memoryLimit(100) + .name("test-space-quota-definition-name") + .nonBasicServicesAllowed(true) + .totalRoutes(1) + .totalServices(1) + .build(); } @Test(expected = IllegalStateException.class) public void noTotalRoutes() { CreateSpaceQuotaDefinitionRequest.builder() - .memoryLimit(100) - .name("test-space-quota-definition-name") - .nonBasicServicesAllowed(true) - .organizationId("test-organization-id") - .totalServices(1) - .build(); + .memoryLimit(100) + .name("test-space-quota-definition-name") + .nonBasicServicesAllowed(true) + .organizationId("test-organization-id") + .totalServices(1) + .build(); } @Test(expected = IllegalStateException.class) public void noTotalServices() { CreateSpaceQuotaDefinitionRequest.builder() - .memoryLimit(100) - .name("test-space-quota-definition-name") - .nonBasicServicesAllowed(true) - .organizationId("test-organization-id") - .totalRoutes(1) - .build(); + .memoryLimit(100) + .name("test-space-quota-definition-name") + .nonBasicServicesAllowed(true) + .organizationId("test-organization-id") + .totalRoutes(1) + .build(); } @Test public void valid() { CreateSpaceQuotaDefinitionRequest.builder() - .memoryLimit(100) - .name("test-space-quota-definition-name") - .nonBasicServicesAllowed(true) - .organizationId("test-organization-id") - .totalRoutes(1) - .totalServices(1) - .build(); + .memoryLimit(100) + .name("test-space-quota-definition-name") + .nonBasicServicesAllowed(true) + .organizationId("test-organization-id") + .totalRoutes(1) + .totalServices(1) + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spacequotadefinitions/DeleteSpaceQuotaDefinitionRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spacequotadefinitions/DeleteSpaceQuotaDefinitionRequestTest.java index af0151b823..58014ee51d 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spacequotadefinitions/DeleteSpaceQuotaDefinitionRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spacequotadefinitions/DeleteSpaceQuotaDefinitionRequestTest.java @@ -22,15 +22,13 @@ public final class DeleteSpaceQuotaDefinitionRequestTest { @Test(expected = IllegalStateException.class) public void noSpaceQuotaDefinitionId() { - DeleteSpaceQuotaDefinitionRequest.builder() - .build(); + DeleteSpaceQuotaDefinitionRequest.builder().build(); } @Test public void valid() { DeleteSpaceQuotaDefinitionRequest.builder() - .spaceQuotaDefinitionId("test-space-quota-definition-id") - .build(); + .spaceQuotaDefinitionId("test-space-quota-definition-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spacequotadefinitions/GetSpaceQuotaDefinitionRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spacequotadefinitions/GetSpaceQuotaDefinitionRequestTest.java index d549f61e02..d41a92694b 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spacequotadefinitions/GetSpaceQuotaDefinitionRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spacequotadefinitions/GetSpaceQuotaDefinitionRequestTest.java @@ -22,15 +22,13 @@ public final class GetSpaceQuotaDefinitionRequestTest { @Test(expected = IllegalStateException.class) public void noSpaceQuotaDefinitionId() { - GetSpaceQuotaDefinitionRequest.builder() - .build(); + GetSpaceQuotaDefinitionRequest.builder().build(); } @Test public void valid() { GetSpaceQuotaDefinitionRequest.builder() - .spaceQuotaDefinitionId("test-space-quota-definition-id") - .build(); + .spaceQuotaDefinitionId("test-space-quota-definition-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spacequotadefinitions/ListSpaceQuotaDefinitionSpacesRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spacequotadefinitions/ListSpaceQuotaDefinitionSpacesRequestTest.java index d0b1733f5d..5b563d89d9 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spacequotadefinitions/ListSpaceQuotaDefinitionSpacesRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spacequotadefinitions/ListSpaceQuotaDefinitionSpacesRequestTest.java @@ -22,15 +22,13 @@ public final class ListSpaceQuotaDefinitionSpacesRequestTest { @Test(expected = IllegalStateException.class) public void noSpaceQuotaDefinitionId() { - ListSpaceQuotaDefinitionSpacesRequest.builder() - .build(); + ListSpaceQuotaDefinitionSpacesRequest.builder().build(); } @Test public void valid() { ListSpaceQuotaDefinitionSpacesRequest.builder() - .spaceQuotaDefinitionId("test-space-quota-definition-id") - .build(); + .spaceQuotaDefinitionId("test-space-quota-definition-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spacequotadefinitions/ListSpaceQuotaDefinitionsRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spacequotadefinitions/ListSpaceQuotaDefinitionsRequestTest.java index b4ca653cec..774d72a8d3 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spacequotadefinitions/ListSpaceQuotaDefinitionsRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spacequotadefinitions/ListSpaceQuotaDefinitionsRequestTest.java @@ -22,8 +22,6 @@ public final class ListSpaceQuotaDefinitionsRequestTest { @Test public void valid() { - ListSpaceQuotaDefinitionsRequest.builder() - .build(); + ListSpaceQuotaDefinitionsRequest.builder().build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spacequotadefinitions/RemoveSpaceQuotaDefinitionRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spacequotadefinitions/RemoveSpaceQuotaDefinitionRequestTest.java index 346f9b7f2e..72eb7da5e6 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spacequotadefinitions/RemoveSpaceQuotaDefinitionRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spacequotadefinitions/RemoveSpaceQuotaDefinitionRequestTest.java @@ -23,23 +23,20 @@ public final class RemoveSpaceQuotaDefinitionRequestTest { @Test(expected = IllegalStateException.class) public void noSpaceId() { RemoveSpaceQuotaDefinitionRequest.builder() - .spaceQuotaDefinitionId("test-space-quota-definition-id") - .build(); + .spaceQuotaDefinitionId("test-space-quota-definition-id") + .build(); } @Test(expected = IllegalStateException.class) public void noSpaceQuotaDefinitionId() { - RemoveSpaceQuotaDefinitionRequest.builder() - .spaceId("test-space-id") - .build(); + RemoveSpaceQuotaDefinitionRequest.builder().spaceId("test-space-id").build(); } @Test public void valid() { RemoveSpaceQuotaDefinitionRequest.builder() - .spaceId("test-space-id") - .spaceQuotaDefinitionId("test-space-quota-definition-id") - .build(); + .spaceId("test-space-id") + .spaceQuotaDefinitionId("test-space-quota-definition-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spacequotadefinitions/UpdateSpaceQuotaDefinitionRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spacequotadefinitions/UpdateSpaceQuotaDefinitionRequestTest.java index 1a2749ca60..34481bf99a 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spacequotadefinitions/UpdateSpaceQuotaDefinitionRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spacequotadefinitions/UpdateSpaceQuotaDefinitionRequestTest.java @@ -22,15 +22,13 @@ public final class UpdateSpaceQuotaDefinitionRequestTest { @Test(expected = IllegalStateException.class) public void noSpaceQuotaDefinitionId() { - UpdateSpaceQuotaDefinitionRequest.builder() - .build(); + UpdateSpaceQuotaDefinitionRequest.builder().build(); } @Test public void valid() { UpdateSpaceQuotaDefinitionRequest.builder() - .spaceQuotaDefinitionId("test-space-quota-definition-id") - .build(); + .spaceQuotaDefinitionId("test-space-quota-definition-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/AssociateSpaceAuditorByUsernameRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/AssociateSpaceAuditorByUsernameRequestTest.java index 63d872bf88..f62f11b1ac 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/AssociateSpaceAuditorByUsernameRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/AssociateSpaceAuditorByUsernameRequestTest.java @@ -22,24 +22,19 @@ public final class AssociateSpaceAuditorByUsernameRequestTest { @Test(expected = IllegalStateException.class) public void noSpaceId() { - AssociateSpaceAuditorByUsernameRequest.builder() - .username("test-username") - .build(); + AssociateSpaceAuditorByUsernameRequest.builder().username("test-username").build(); } @Test(expected = IllegalStateException.class) public void noUsername() { - AssociateSpaceAuditorByUsernameRequest.builder() - .spaceId("test-space-id") - .build(); + AssociateSpaceAuditorByUsernameRequest.builder().spaceId("test-space-id").build(); } @Test public void valid() { AssociateSpaceAuditorByUsernameRequest.builder() - .spaceId("test-space-id") - .username("test-username") - .build(); + .spaceId("test-space-id") + .username("test-username") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/AssociateSpaceAuditorRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/AssociateSpaceAuditorRequestTest.java index b8e2e84a57..5493f1414e 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/AssociateSpaceAuditorRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/AssociateSpaceAuditorRequestTest.java @@ -22,24 +22,19 @@ public final class AssociateSpaceAuditorRequestTest { @Test(expected = IllegalStateException.class) public void noAuditorId() { - AssociateSpaceAuditorRequest.builder() - .spaceId("test-space-id") - .build(); + AssociateSpaceAuditorRequest.builder().spaceId("test-space-id").build(); } @Test(expected = IllegalStateException.class) public void noSpaceId() { - AssociateSpaceAuditorRequest.builder() - .auditorId("test-auditor-id") - .build(); + AssociateSpaceAuditorRequest.builder().auditorId("test-auditor-id").build(); } @Test public void valid() { AssociateSpaceAuditorRequest.builder() - .auditorId("test-auditor-id") - .spaceId("test-space-id") - .build(); + .auditorId("test-auditor-id") + .spaceId("test-space-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/AssociateSpaceDeveloperByUsernameRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/AssociateSpaceDeveloperByUsernameRequestTest.java index 2896476d93..17ed08c35c 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/AssociateSpaceDeveloperByUsernameRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/AssociateSpaceDeveloperByUsernameRequestTest.java @@ -22,24 +22,19 @@ public final class AssociateSpaceDeveloperByUsernameRequestTest { @Test(expected = IllegalStateException.class) public void noSpaceId() { - AssociateSpaceDeveloperByUsernameRequest.builder() - .username("test-username") - .build(); + AssociateSpaceDeveloperByUsernameRequest.builder().username("test-username").build(); } @Test(expected = IllegalStateException.class) public void noUsername() { - AssociateSpaceDeveloperByUsernameRequest.builder() - .spaceId("test-space-id") - .build(); + AssociateSpaceDeveloperByUsernameRequest.builder().spaceId("test-space-id").build(); } @Test public void valid() { AssociateSpaceDeveloperByUsernameRequest.builder() - .spaceId("test-space-id") - .username("test-username") - .build(); + .spaceId("test-space-id") + .username("test-username") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/AssociateSpaceDeveloperRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/AssociateSpaceDeveloperRequestTest.java index 87c9fe526b..21f3c11e9b 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/AssociateSpaceDeveloperRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/AssociateSpaceDeveloperRequestTest.java @@ -22,24 +22,19 @@ public final class AssociateSpaceDeveloperRequestTest { @Test(expected = IllegalStateException.class) public void noDeveloperId() { - AssociateSpaceDeveloperRequest.builder() - .spaceId("test-space-id") - .build(); + AssociateSpaceDeveloperRequest.builder().spaceId("test-space-id").build(); } @Test(expected = IllegalStateException.class) public void noSpaceId() { - AssociateSpaceDeveloperRequest.builder() - .developerId("test-developer-id") - .build(); + AssociateSpaceDeveloperRequest.builder().developerId("test-developer-id").build(); } @Test public void valid() { AssociateSpaceDeveloperRequest.builder() - .developerId("test-developer-id") - .spaceId("test-space-id") - .build(); + .developerId("test-developer-id") + .spaceId("test-space-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/AssociateSpaceManagerByUsernameRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/AssociateSpaceManagerByUsernameRequestTest.java index 50f4b2480e..0ecb17d33e 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/AssociateSpaceManagerByUsernameRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/AssociateSpaceManagerByUsernameRequestTest.java @@ -22,24 +22,19 @@ public final class AssociateSpaceManagerByUsernameRequestTest { @Test(expected = IllegalStateException.class) public void noSpaceId() { - AssociateSpaceManagerByUsernameRequest.builder() - .username("test-username") - .build(); + AssociateSpaceManagerByUsernameRequest.builder().username("test-username").build(); } @Test(expected = IllegalStateException.class) public void noUsername() { - AssociateSpaceManagerByUsernameRequest.builder() - .spaceId("test-space-id") - .build(); + AssociateSpaceManagerByUsernameRequest.builder().spaceId("test-space-id").build(); } @Test public void valid() { AssociateSpaceManagerByUsernameRequest.builder() - .spaceId("test-space-id") - .username("test-username") - .build(); + .spaceId("test-space-id") + .username("test-username") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/AssociateSpaceManagerRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/AssociateSpaceManagerRequestTest.java index d02d42d1a6..0101d4ff87 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/AssociateSpaceManagerRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/AssociateSpaceManagerRequestTest.java @@ -22,24 +22,19 @@ public final class AssociateSpaceManagerRequestTest { @Test(expected = IllegalStateException.class) public void noManagerId() { - AssociateSpaceManagerRequest.builder() - .spaceId("test-space-id") - .build(); + AssociateSpaceManagerRequest.builder().spaceId("test-space-id").build(); } @Test(expected = IllegalStateException.class) public void noSpaceId() { - AssociateSpaceManagerRequest.builder() - .managerId("test-manager-id") - .build(); + AssociateSpaceManagerRequest.builder().managerId("test-manager-id").build(); } @Test public void valid() { AssociateSpaceManagerRequest.builder() - .managerId("test-manager-id") - .spaceId("test-space-id") - .build(); + .managerId("test-manager-id") + .spaceId("test-space-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/AssociateSpaceSecurityGroupRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/AssociateSpaceSecurityGroupRequestTest.java index bdeb291eef..5ce6d3bd6b 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/AssociateSpaceSecurityGroupRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/AssociateSpaceSecurityGroupRequestTest.java @@ -22,24 +22,21 @@ public final class AssociateSpaceSecurityGroupRequestTest { @Test(expected = IllegalStateException.class) public void noSecurityGroupId() { - AssociateSpaceSecurityGroupRequest.builder() - .spaceId("test-space-id") - .build(); + AssociateSpaceSecurityGroupRequest.builder().spaceId("test-space-id").build(); } @Test(expected = IllegalStateException.class) public void noSpaceId() { AssociateSpaceSecurityGroupRequest.builder() - .securityGroupId("test-security-group-id") - .build(); + .securityGroupId("test-security-group-id") + .build(); } @Test public void valid() { AssociateSpaceSecurityGroupRequest.builder() - .securityGroupId("test-security-group-id") - .spaceId("test-space-id") - .build(); + .securityGroupId("test-security-group-id") + .spaceId("test-space-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/CreateSpaceRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/CreateSpaceRequestTest.java index 9f0939286b..d505d58153 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/CreateSpaceRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/CreateSpaceRequestTest.java @@ -22,24 +22,19 @@ public final class CreateSpaceRequestTest { @Test(expected = IllegalStateException.class) public void noName() { - CreateSpaceRequest.builder() - .organizationId("test-organization-id") - .build(); + CreateSpaceRequest.builder().organizationId("test-organization-id").build(); } @Test(expected = IllegalStateException.class) public void noOrganizationId() { - CreateSpaceRequest.builder() - .name("test-name") - .build(); + CreateSpaceRequest.builder().name("test-name").build(); } @Test public void valid() { CreateSpaceRequest.builder() - .name("test-name") - .organizationId("test-organization-id") - .build(); + .name("test-name") + .organizationId("test-organization-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/DeleteSpaceRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/DeleteSpaceRequestTest.java index 240cd0e945..28022d8a4f 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/DeleteSpaceRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/DeleteSpaceRequestTest.java @@ -22,15 +22,11 @@ public final class DeleteSpaceRequestTest { @Test(expected = IllegalStateException.class) public void noSpaceId() { - DeleteSpaceRequest.builder() - .build(); + DeleteSpaceRequest.builder().build(); } @Test public void valid() { - DeleteSpaceRequest.builder() - .spaceId("space-test-id") - .build(); + DeleteSpaceRequest.builder().spaceId("space-test-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/GetSpaceRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/GetSpaceRequestTest.java index 65274927dc..9206bffd68 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/GetSpaceRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/GetSpaceRequestTest.java @@ -22,15 +22,11 @@ public final class GetSpaceRequestTest { @Test(expected = IllegalStateException.class) public void noSpaceId() { - GetSpaceRequest.builder() - .build(); + GetSpaceRequest.builder().build(); } @Test public void valid() { - GetSpaceRequest.builder() - .spaceId("test-space-id") - .build(); + GetSpaceRequest.builder().spaceId("test-space-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/GetSpaceSummaryRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/GetSpaceSummaryRequestTest.java index 22d05dc3d8..ec0ad31311 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/GetSpaceSummaryRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/GetSpaceSummaryRequestTest.java @@ -22,15 +22,11 @@ public final class GetSpaceSummaryRequestTest { @Test(expected = IllegalStateException.class) public void noSpaceId() { - GetSpaceSummaryRequest.builder() - .build(); + GetSpaceSummaryRequest.builder().build(); } @Test public void valid() { - GetSpaceSummaryRequest.builder() - .spaceId("test-space-id") - .build(); + GetSpaceSummaryRequest.builder().spaceId("test-space-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/ListSpaceApplicationsRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/ListSpaceApplicationsRequestTest.java index a4253eb23d..30e60dfc6c 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/ListSpaceApplicationsRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/ListSpaceApplicationsRequestTest.java @@ -22,15 +22,11 @@ public final class ListSpaceApplicationsRequestTest { @Test(expected = IllegalStateException.class) public void noSpaceId() { - ListSpaceApplicationsRequest.builder() - .build(); + ListSpaceApplicationsRequest.builder().build(); } @Test public void valid() { - ListSpaceApplicationsRequest.builder() - .spaceId("test-space-id") - .build(); + ListSpaceApplicationsRequest.builder().spaceId("test-space-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/ListSpaceAuditorsRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/ListSpaceAuditorsRequestTest.java index 19e665d15d..f67a675d52 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/ListSpaceAuditorsRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/ListSpaceAuditorsRequestTest.java @@ -22,15 +22,11 @@ public final class ListSpaceAuditorsRequestTest { @Test(expected = IllegalStateException.class) public void noSpaceId() { - ListSpaceAuditorsRequest.builder() - .build(); + ListSpaceAuditorsRequest.builder().build(); } @Test public void valid() { - ListSpaceAuditorsRequest.builder() - .spaceId("test-space-id") - .build(); + ListSpaceAuditorsRequest.builder().spaceId("test-space-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/ListSpaceDevelopersRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/ListSpaceDevelopersRequestTest.java index ba95046be1..1a11529799 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/ListSpaceDevelopersRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/ListSpaceDevelopersRequestTest.java @@ -22,15 +22,11 @@ public final class ListSpaceDevelopersRequestTest { @Test(expected = IllegalStateException.class) public void noSpaceId() { - ListSpaceDevelopersRequest.builder() - .build(); + ListSpaceDevelopersRequest.builder().build(); } @Test public void valid() { - ListSpaceDevelopersRequest.builder() - .spaceId("test-space-id") - .build(); + ListSpaceDevelopersRequest.builder().spaceId("test-space-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/ListSpaceDomainsRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/ListSpaceDomainsRequestTest.java index ca6bf22c10..5e6c33fe4f 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/ListSpaceDomainsRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/ListSpaceDomainsRequestTest.java @@ -22,15 +22,11 @@ public final class ListSpaceDomainsRequestTest { @Test(expected = IllegalStateException.class) public void noSpaceId() { - ListSpaceDomainsRequest.builder() - .build(); + ListSpaceDomainsRequest.builder().build(); } @Test public void valid() { - ListSpaceDomainsRequest.builder() - .spaceId("test-space-id") - .build(); + ListSpaceDomainsRequest.builder().spaceId("test-space-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/ListSpaceEventsRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/ListSpaceEventsRequestTest.java index 20725b0aac..705477a63c 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/ListSpaceEventsRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/ListSpaceEventsRequestTest.java @@ -22,15 +22,11 @@ public final class ListSpaceEventsRequestTest { @Test(expected = IllegalStateException.class) public void noSpaceId() { - ListSpaceEventsRequest.builder() - .build(); + ListSpaceEventsRequest.builder().build(); } @Test public void valid() { - ListSpaceEventsRequest.builder() - .spaceId("test-space-id") - .build(); + ListSpaceEventsRequest.builder().spaceId("test-space-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/ListSpaceManagersRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/ListSpaceManagersRequestTest.java index fb70fa5e26..d4ca31222d 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/ListSpaceManagersRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/ListSpaceManagersRequestTest.java @@ -22,15 +22,11 @@ public final class ListSpaceManagersRequestTest { @Test(expected = IllegalStateException.class) public void noSpaceId() { - ListSpaceManagersRequest.builder() - .build(); + ListSpaceManagersRequest.builder().build(); } @Test public void valid() { - ListSpaceManagersRequest.builder() - .spaceId("test-space-id") - .build(); + ListSpaceManagersRequest.builder().spaceId("test-space-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/ListSpaceRoutesRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/ListSpaceRoutesRequestTest.java index 3da729631d..99d6a2a603 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/ListSpaceRoutesRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/ListSpaceRoutesRequestTest.java @@ -22,15 +22,11 @@ public final class ListSpaceRoutesRequestTest { @Test(expected = IllegalStateException.class) public void noSpaceId() { - ListSpaceRoutesRequest.builder() - .build(); + ListSpaceRoutesRequest.builder().build(); } @Test public void valid() { - ListSpaceRoutesRequest.builder() - .spaceId("test-space-id") - .build(); + ListSpaceRoutesRequest.builder().spaceId("test-space-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/ListSpaceSecurityGroupsRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/ListSpaceSecurityGroupsRequestTest.java index d32cc9bd66..f242950e58 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/ListSpaceSecurityGroupsRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/ListSpaceSecurityGroupsRequestTest.java @@ -22,15 +22,11 @@ public final class ListSpaceSecurityGroupsRequestTest { @Test(expected = IllegalStateException.class) public void noSpaceId() { - ListSpaceSecurityGroupsRequest.builder() - .build(); + ListSpaceSecurityGroupsRequest.builder().build(); } @Test public void valid() { - ListSpaceSecurityGroupsRequest.builder() - .spaceId("test-space-id") - .build(); + ListSpaceSecurityGroupsRequest.builder().spaceId("test-space-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/ListSpaceServiceInstancesRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/ListSpaceServiceInstancesRequestTest.java index 87be8a00f3..80ec1e8759 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/ListSpaceServiceInstancesRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/ListSpaceServiceInstancesRequestTest.java @@ -22,15 +22,11 @@ public final class ListSpaceServiceInstancesRequestTest { @Test(expected = IllegalStateException.class) public void noSpaceId() { - ListSpaceServiceInstancesRequest.builder() - .build(); + ListSpaceServiceInstancesRequest.builder().build(); } @Test public void valid() { - ListSpaceServiceInstancesRequest.builder() - .spaceId("test-space-id") - .build(); + ListSpaceServiceInstancesRequest.builder().spaceId("test-space-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/ListSpaceServicesRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/ListSpaceServicesRequestTest.java index bc3209f50d..1a4e06a48d 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/ListSpaceServicesRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/ListSpaceServicesRequestTest.java @@ -22,15 +22,11 @@ public final class ListSpaceServicesRequestTest { @Test(expected = IllegalStateException.class) public void noSpaceId() { - ListSpaceServicesRequest.builder() - .build(); + ListSpaceServicesRequest.builder().build(); } @Test public void valid() { - ListSpaceServicesRequest.builder() - .spaceId("test-space-id") - .build(); + ListSpaceServicesRequest.builder().spaceId("test-space-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/ListSpaceUserRolesRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/ListSpaceUserRolesRequestTest.java index 5e62c5836a..270120639f 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/ListSpaceUserRolesRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/ListSpaceUserRolesRequestTest.java @@ -22,15 +22,11 @@ public final class ListSpaceUserRolesRequestTest { @Test(expected = IllegalStateException.class) public void noSpaceId() { - ListSpaceUserRolesRequest.builder() - .build(); + ListSpaceUserRolesRequest.builder().build(); } @Test public void valid() { - ListSpaceUserRolesRequest.builder() - .spaceId("test-space-id") - .build(); + ListSpaceUserRolesRequest.builder().spaceId("test-space-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/ListSpacesRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/ListSpacesRequestTest.java index 3031e93bd4..c9a6edc9a7 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/ListSpacesRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/ListSpacesRequestTest.java @@ -22,8 +22,6 @@ public final class ListSpacesRequestTest { @Test public void valid() { - ListSpacesRequest.builder() - .build(); + ListSpacesRequest.builder().build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/RemoveSpaceAuditorByUsernameRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/RemoveSpaceAuditorByUsernameRequestTest.java index 5e1e560665..9195e42a5e 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/RemoveSpaceAuditorByUsernameRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/RemoveSpaceAuditorByUsernameRequestTest.java @@ -22,24 +22,19 @@ public final class RemoveSpaceAuditorByUsernameRequestTest { @Test(expected = IllegalStateException.class) public void noSpaceId() { - RemoveSpaceAuditorByUsernameRequest.builder() - .username("test-username") - .build(); + RemoveSpaceAuditorByUsernameRequest.builder().username("test-username").build(); } @Test(expected = IllegalStateException.class) public void noUsername() { - RemoveSpaceAuditorByUsernameRequest.builder() - .spaceId("test-space-id") - .build(); + RemoveSpaceAuditorByUsernameRequest.builder().spaceId("test-space-id").build(); } @Test public void valid() { RemoveSpaceAuditorByUsernameRequest.builder() - .spaceId("test-space-id") - .username("test-username") - .build(); + .spaceId("test-space-id") + .username("test-username") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/RemoveSpaceAuditorRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/RemoveSpaceAuditorRequestTest.java index 8e6c2126c1..5ecdf69bd7 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/RemoveSpaceAuditorRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/RemoveSpaceAuditorRequestTest.java @@ -22,24 +22,19 @@ public final class RemoveSpaceAuditorRequestTest { @Test(expected = IllegalStateException.class) public void noAuditorId() { - RemoveSpaceAuditorRequest.builder() - .spaceId("test-space-id") - .build(); + RemoveSpaceAuditorRequest.builder().spaceId("test-space-id").build(); } @Test(expected = IllegalStateException.class) public void noSpaceId() { - RemoveSpaceAuditorRequest.builder() - .auditorId("test-auditor-id") - .build(); + RemoveSpaceAuditorRequest.builder().auditorId("test-auditor-id").build(); } @Test public void valid() { RemoveSpaceAuditorRequest.builder() - .auditorId("test-auditor-id") - .spaceId("test-space-id") - .build(); + .auditorId("test-auditor-id") + .spaceId("test-space-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/RemoveSpaceDeveloperByUsernameRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/RemoveSpaceDeveloperByUsernameRequestTest.java index c4cafd172c..95f92c06e0 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/RemoveSpaceDeveloperByUsernameRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/RemoveSpaceDeveloperByUsernameRequestTest.java @@ -22,24 +22,19 @@ public final class RemoveSpaceDeveloperByUsernameRequestTest { @Test(expected = IllegalStateException.class) public void noSpaceId() { - RemoveSpaceDeveloperByUsernameRequest.builder() - .username("test-username") - .build(); + RemoveSpaceDeveloperByUsernameRequest.builder().username("test-username").build(); } @Test(expected = IllegalStateException.class) public void noUsername() { - RemoveSpaceDeveloperByUsernameRequest.builder() - .spaceId("test-space-id") - .build(); + RemoveSpaceDeveloperByUsernameRequest.builder().spaceId("test-space-id").build(); } @Test public void valid() { RemoveSpaceDeveloperByUsernameRequest.builder() - .spaceId("test-space-id") - .username("test-username") - .build(); + .spaceId("test-space-id") + .username("test-username") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/RemoveSpaceDeveloperRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/RemoveSpaceDeveloperRequestTest.java index e0f050fab2..3a7a971885 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/RemoveSpaceDeveloperRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/RemoveSpaceDeveloperRequestTest.java @@ -22,24 +22,19 @@ public final class RemoveSpaceDeveloperRequestTest { @Test(expected = IllegalStateException.class) public void noDeveloperId() { - RemoveSpaceDeveloperRequest.builder() - .spaceId("test-space-id") - .build(); + RemoveSpaceDeveloperRequest.builder().spaceId("test-space-id").build(); } @Test(expected = IllegalStateException.class) public void noSpaceId() { - RemoveSpaceDeveloperRequest.builder() - .developerId("test-developer-id") - .build(); + RemoveSpaceDeveloperRequest.builder().developerId("test-developer-id").build(); } @Test public void valid() { RemoveSpaceDeveloperRequest.builder() - .developerId("test-developer-id") - .spaceId("test-space-id") - .build(); + .developerId("test-developer-id") + .spaceId("test-space-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/RemoveSpaceManagerByUsernameRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/RemoveSpaceManagerByUsernameRequestTest.java index 37c4d75b7c..408524a0d0 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/RemoveSpaceManagerByUsernameRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/RemoveSpaceManagerByUsernameRequestTest.java @@ -22,24 +22,19 @@ public final class RemoveSpaceManagerByUsernameRequestTest { @Test(expected = IllegalStateException.class) public void noSpaceId() { - RemoveSpaceManagerByUsernameRequest.builder() - .username("test-username") - .build(); + RemoveSpaceManagerByUsernameRequest.builder().username("test-username").build(); } @Test(expected = IllegalStateException.class) public void noUsername() { - RemoveSpaceManagerByUsernameRequest.builder() - .spaceId("test-space-id") - .build(); + RemoveSpaceManagerByUsernameRequest.builder().spaceId("test-space-id").build(); } @Test public void valid() { RemoveSpaceManagerByUsernameRequest.builder() - .spaceId("test-space-id") - .username("test-username") - .build(); + .spaceId("test-space-id") + .username("test-username") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/RemoveSpaceManagerRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/RemoveSpaceManagerRequestTest.java index a63dccf3a3..5e1901effd 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/RemoveSpaceManagerRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/RemoveSpaceManagerRequestTest.java @@ -22,24 +22,19 @@ public final class RemoveSpaceManagerRequestTest { @Test(expected = IllegalStateException.class) public void noManagerId() { - RemoveSpaceManagerRequest.builder() - .spaceId("test-id") - .build(); + RemoveSpaceManagerRequest.builder().spaceId("test-id").build(); } @Test(expected = IllegalStateException.class) public void noSpaceId() { - RemoveSpaceManagerRequest.builder() - .managerId("test-manager-id") - .build(); + RemoveSpaceManagerRequest.builder().managerId("test-manager-id").build(); } @Test public void valid() { RemoveSpaceManagerRequest.builder() - .managerId("test-manager-id") - .spaceId("test-space-id") - .build(); + .managerId("test-manager-id") + .spaceId("test-space-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/RemoveSpaceSecurityGroupRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/RemoveSpaceSecurityGroupRequestTest.java index 66d083ea27..e7fca3e807 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/RemoveSpaceSecurityGroupRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/RemoveSpaceSecurityGroupRequestTest.java @@ -22,24 +22,19 @@ public final class RemoveSpaceSecurityGroupRequestTest { @Test(expected = IllegalStateException.class) public void noSecurityGroupId() { - RemoveSpaceSecurityGroupRequest.builder() - .spaceId("test-space-id") - .build(); + RemoveSpaceSecurityGroupRequest.builder().spaceId("test-space-id").build(); } @Test(expected = IllegalStateException.class) public void noSpaceId() { - RemoveSpaceSecurityGroupRequest.builder() - .securityGroupId("test-security-group-id") - .build(); + RemoveSpaceSecurityGroupRequest.builder().securityGroupId("test-security-group-id").build(); } @Test public void valid() { RemoveSpaceSecurityGroupRequest.builder() - .securityGroupId("test-security-group-id") - .spaceId("test-space-id") - .build(); + .securityGroupId("test-security-group-id") + .spaceId("test-space-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/UpdateSpaceRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/UpdateSpaceRequestTest.java index ecd8142d92..318269d0e3 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/UpdateSpaceRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/spaces/UpdateSpaceRequestTest.java @@ -22,15 +22,11 @@ public final class UpdateSpaceRequestTest { @Test(expected = IllegalStateException.class) public void noSpaceId() { - UpdateSpaceRequest.builder() - .build(); + UpdateSpaceRequest.builder().build(); } @Test public void valid() { - UpdateSpaceRequest.builder() - .spaceId("test-space-id") - .build(); + UpdateSpaceRequest.builder().spaceId("test-space-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/stacks/CreateStackRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/stacks/CreateStackRequestTest.java index 1073edd8df..c3d0626c97 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/stacks/CreateStackRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/stacks/CreateStackRequestTest.java @@ -22,16 +22,14 @@ public final class CreateStackRequestTest { @Test(expected = IllegalStateException.class) public void noName() { - CreateStackRequest.builder() - .build(); + CreateStackRequest.builder().build(); } @Test public void valid() { CreateStackRequest.builder() - .description("test-stack-description") - .name("test-stack-name") - .build(); + .description("test-stack-description") + .name("test-stack-name") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/stacks/DeleteStackRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/stacks/DeleteStackRequestTest.java index 4d8ec766cc..0be9600be3 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/stacks/DeleteStackRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/stacks/DeleteStackRequestTest.java @@ -22,16 +22,11 @@ public final class DeleteStackRequestTest { @Test(expected = IllegalStateException.class) public void noStackId() { - DeleteStackRequest.builder() - .build(); + DeleteStackRequest.builder().build(); } @Test public void valid() { - DeleteStackRequest.builder() - .async(true) - .stackId("test-stack-id") - .build(); + DeleteStackRequest.builder().async(true).stackId("test-stack-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/stacks/GetStackRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/stacks/GetStackRequestTest.java index afc486ecef..77d5b54ee2 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/stacks/GetStackRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/stacks/GetStackRequestTest.java @@ -22,15 +22,11 @@ public final class GetStackRequestTest { @Test(expected = IllegalStateException.class) public void noStackId() { - GetStackRequest.builder() - .build(); + GetStackRequest.builder().build(); } @Test public void valid() { - GetStackRequest.builder() - .stackId("test-stack-id") - .build(); + GetStackRequest.builder().stackId("test-stack-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/stacks/ListStacksRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/stacks/ListStacksRequestTest.java index 51aabde52e..3a2348add6 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/stacks/ListStacksRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/stacks/ListStacksRequestTest.java @@ -22,8 +22,6 @@ public final class ListStacksRequestTest { @Test public void valid() { - ListStacksRequest.builder() - .build(); + ListStacksRequest.builder().build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/userprovidedserviceinstances/AssociateUserProvidedServiceInstanceRouteRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/userprovidedserviceinstances/AssociateUserProvidedServiceInstanceRouteRequestTest.java index e102baeef3..fd40efc184 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/userprovidedserviceinstances/AssociateUserProvidedServiceInstanceRouteRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/userprovidedserviceinstances/AssociateUserProvidedServiceInstanceRouteRequestTest.java @@ -23,24 +23,21 @@ public final class AssociateUserProvidedServiceInstanceRouteRequestTest { @Test(expected = IllegalStateException.class) public void noRouteId() { AssociateUserProvidedServiceInstanceRouteRequest.builder() - .userProvidedServiceInstanceId("test-user-provided-service-instance-id") - .build(); + .userProvidedServiceInstanceId("test-user-provided-service-instance-id") + .build(); } @Test(expected = IllegalStateException.class) public void noUserProvidedServiceInstanceId() { - AssociateUserProvidedServiceInstanceRouteRequest.builder() - .routeId("test-route-id") - .build(); + AssociateUserProvidedServiceInstanceRouteRequest.builder().routeId("test-route-id").build(); } @Test public void valid() { AssociateUserProvidedServiceInstanceRouteRequest.builder() - .parameter("test-key", "test-value") - .routeId("test-route-id") - .userProvidedServiceInstanceId("test-user-provided-service-instance-id") - .build(); + .parameter("test-key", "test-value") + .routeId("test-route-id") + .userProvidedServiceInstanceId("test-user-provided-service-instance-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/userprovidedserviceinstances/CreateUserProvidedServiceInstanceRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/userprovidedserviceinstances/CreateUserProvidedServiceInstanceRequestTest.java index feef9a29c1..6fff5e9fbc 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/userprovidedserviceinstances/CreateUserProvidedServiceInstanceRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/userprovidedserviceinstances/CreateUserProvidedServiceInstanceRequestTest.java @@ -22,24 +22,16 @@ public final class CreateUserProvidedServiceInstanceRequestTest { @Test(expected = IllegalStateException.class) public void noName() { - CreateUserProvidedServiceInstanceRequest.builder() - .spaceId("space-id") - .build(); + CreateUserProvidedServiceInstanceRequest.builder().spaceId("space-id").build(); } @Test(expected = IllegalStateException.class) public void noSpaceId() { - CreateUserProvidedServiceInstanceRequest.builder() - .name("name") - .build(); + CreateUserProvidedServiceInstanceRequest.builder().name("name").build(); } @Test public void valid() { - CreateUserProvidedServiceInstanceRequest.builder() - .name("name") - .spaceId("space-id") - .build(); + CreateUserProvidedServiceInstanceRequest.builder().name("name").spaceId("space-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/userprovidedserviceinstances/DeleteUserProvidedServiceInstanceRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/userprovidedserviceinstances/DeleteUserProvidedServiceInstanceRequestTest.java index a9ae917bf9..22183ba869 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/userprovidedserviceinstances/DeleteUserProvidedServiceInstanceRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/userprovidedserviceinstances/DeleteUserProvidedServiceInstanceRequestTest.java @@ -22,15 +22,13 @@ public final class DeleteUserProvidedServiceInstanceRequestTest { @Test(expected = IllegalStateException.class) public void noUserProvidedServiceInstanceId() { - DeleteUserProvidedServiceInstanceRequest.builder() - .build(); + DeleteUserProvidedServiceInstanceRequest.builder().build(); } @Test public void valid() { DeleteUserProvidedServiceInstanceRequest.builder() - .userProvidedServiceInstanceId("test-user-provided-service-instance-id") - .build(); + .userProvidedServiceInstanceId("test-user-provided-service-instance-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/userprovidedserviceinstances/GetUserProvidedServiceInstanceRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/userprovidedserviceinstances/GetUserProvidedServiceInstanceRequestTest.java index 5289ea0a7d..1216db93d6 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/userprovidedserviceinstances/GetUserProvidedServiceInstanceRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/userprovidedserviceinstances/GetUserProvidedServiceInstanceRequestTest.java @@ -22,15 +22,13 @@ public final class GetUserProvidedServiceInstanceRequestTest { @Test(expected = IllegalStateException.class) public void noUserProvidedServiceInstanceId() { - GetUserProvidedServiceInstanceRequest.builder() - .build(); + GetUserProvidedServiceInstanceRequest.builder().build(); } @Test public void valid() { GetUserProvidedServiceInstanceRequest.builder() - .userProvidedServiceInstanceId("test-user-provided-service-instance-id") - .build(); + .userProvidedServiceInstanceId("test-user-provided-service-instance-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/userprovidedserviceinstances/ListUserProvidedServiceInstanceRoutesRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/userprovidedserviceinstances/ListUserProvidedServiceInstanceRoutesRequestTest.java index a53b6d70f7..bf9434dfab 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/userprovidedserviceinstances/ListUserProvidedServiceInstanceRoutesRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/userprovidedserviceinstances/ListUserProvidedServiceInstanceRoutesRequestTest.java @@ -16,22 +16,19 @@ package org.cloudfoundry.client.v2.userprovidedserviceinstances; - import org.junit.Test; public final class ListUserProvidedServiceInstanceRoutesRequestTest { @Test(expected = IllegalStateException.class) public void noUserProvidedServiceInstanceId() { - ListUserProvidedServiceInstanceRoutesRequest.builder() - .build(); + ListUserProvidedServiceInstanceRoutesRequest.builder().build(); } @Test public void valid() { ListUserProvidedServiceInstanceRoutesRequest.builder() - .userProvidedServiceInstanceId("test-user-provided-service-instance-id") - .build(); + .userProvidedServiceInstanceId("test-user-provided-service-instance-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/userprovidedserviceinstances/ListUserProvidedServiceInstanceServiceBindingsRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/userprovidedserviceinstances/ListUserProvidedServiceInstanceServiceBindingsRequestTest.java index 6b50df3992..67b1cc0050 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/userprovidedserviceinstances/ListUserProvidedServiceInstanceServiceBindingsRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/userprovidedserviceinstances/ListUserProvidedServiceInstanceServiceBindingsRequestTest.java @@ -16,22 +16,19 @@ package org.cloudfoundry.client.v2.userprovidedserviceinstances; - import org.junit.Test; public final class ListUserProvidedServiceInstanceServiceBindingsRequestTest { @Test(expected = IllegalStateException.class) public void noUserProvidedServiceInstanceId() { - ListUserProvidedServiceInstanceServiceBindingsRequest.builder() - .build(); + ListUserProvidedServiceInstanceServiceBindingsRequest.builder().build(); } @Test public void valid() { ListUserProvidedServiceInstanceServiceBindingsRequest.builder() - .userProvidedServiceInstanceId("test-user-provided-service-instance-id") - .build(); + .userProvidedServiceInstanceId("test-user-provided-service-instance-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/userprovidedserviceinstances/ListUserProvidedServiceInstancesRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/userprovidedserviceinstances/ListUserProvidedServiceInstancesRequestTest.java index fe86955713..206a3655d7 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/userprovidedserviceinstances/ListUserProvidedServiceInstancesRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/userprovidedserviceinstances/ListUserProvidedServiceInstancesRequestTest.java @@ -22,8 +22,6 @@ public final class ListUserProvidedServiceInstancesRequestTest { @Test public void valid() { - ListUserProvidedServiceInstancesRequest.builder() - .build(); + ListUserProvidedServiceInstancesRequest.builder().build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/userprovidedserviceinstances/RemoveRouteWithUserProvidedServiceInstanceRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/userprovidedserviceinstances/RemoveRouteWithUserProvidedServiceInstanceRequestTest.java index 4754892a45..2591d19b82 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/userprovidedserviceinstances/RemoveRouteWithUserProvidedServiceInstanceRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/userprovidedserviceinstances/RemoveRouteWithUserProvidedServiceInstanceRequestTest.java @@ -23,23 +23,20 @@ public final class RemoveRouteWithUserProvidedServiceInstanceRequestTest { @Test(expected = IllegalStateException.class) public void noRouteId() { RemoveUserProvidedServiceInstanceRouteRequest.builder() - .userProvidedServiceInstanceId("test-user-provided-service-instance-id") - .build(); + .userProvidedServiceInstanceId("test-user-provided-service-instance-id") + .build(); } @Test(expected = IllegalStateException.class) public void noUserProvidedServiceInstanceId() { - RemoveUserProvidedServiceInstanceRouteRequest.builder() - .routeId("test-route-id") - .build(); + RemoveUserProvidedServiceInstanceRouteRequest.builder().routeId("test-route-id").build(); } @Test public void valid() { RemoveUserProvidedServiceInstanceRouteRequest.builder() - .routeId("test-route-id") - .userProvidedServiceInstanceId("test-user-provided-service-instance-id") - .build(); + .routeId("test-route-id") + .userProvidedServiceInstanceId("test-user-provided-service-instance-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/userprovidedserviceinstances/UpdateUserProvidedServiceInstanceRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/userprovidedserviceinstances/UpdateUserProvidedServiceInstanceRequestTest.java index 43f230a741..3d23d1ac97 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/userprovidedserviceinstances/UpdateUserProvidedServiceInstanceRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/userprovidedserviceinstances/UpdateUserProvidedServiceInstanceRequestTest.java @@ -22,15 +22,13 @@ public final class UpdateUserProvidedServiceInstanceRequestTest { @Test(expected = IllegalStateException.class) public void noUserProvidedServiceInstanceId() { - UpdateUserProvidedServiceInstanceRequest.builder() - .build(); + UpdateUserProvidedServiceInstanceRequest.builder().build(); } @Test public void valid() { UpdateUserProvidedServiceInstanceRequest.builder() - .userProvidedServiceInstanceId("test-id") - .build(); + .userProvidedServiceInstanceId("test-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/AssociateUserAuditedOrganizationRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/AssociateUserAuditedOrganizationRequestTest.java index 55898808da..b52215f79e 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/AssociateUserAuditedOrganizationRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/AssociateUserAuditedOrganizationRequestTest.java @@ -22,24 +22,21 @@ public final class AssociateUserAuditedOrganizationRequestTest { @Test(expected = IllegalStateException.class) public void noAuditedOrganizationId() { - AssociateUserAuditedOrganizationRequest.builder() - .userId("test-user-id") - .build(); + AssociateUserAuditedOrganizationRequest.builder().userId("test-user-id").build(); } @Test(expected = IllegalStateException.class) public void noUserId() { AssociateUserAuditedOrganizationRequest.builder() - .auditedOrganizationId("test-managed-space-id") - .build(); + .auditedOrganizationId("test-managed-space-id") + .build(); } @Test public void valid() { AssociateUserAuditedOrganizationRequest.builder() - .auditedOrganizationId("test-managed-space-id") - .userId("test-user-id") - .build(); + .auditedOrganizationId("test-managed-space-id") + .userId("test-user-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/AssociateUserAuditedSpaceRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/AssociateUserAuditedSpaceRequestTest.java index 392ccc9de3..836c228d69 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/AssociateUserAuditedSpaceRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/AssociateUserAuditedSpaceRequestTest.java @@ -22,24 +22,19 @@ public final class AssociateUserAuditedSpaceRequestTest { @Test(expected = IllegalStateException.class) public void noAuditedSpaceId() { - AssociateUserAuditedSpaceRequest.builder() - .userId("test-user-id") - .build(); + AssociateUserAuditedSpaceRequest.builder().userId("test-user-id").build(); } @Test(expected = IllegalStateException.class) public void noUserId() { - AssociateUserAuditedSpaceRequest.builder() - .auditedSpaceId("test-managed-space-id") - .build(); + AssociateUserAuditedSpaceRequest.builder().auditedSpaceId("test-managed-space-id").build(); } @Test public void valid() { AssociateUserAuditedSpaceRequest.builder() - .auditedSpaceId("test-managed-space-id") - .userId("test-user-id") - .build(); + .auditedSpaceId("test-managed-space-id") + .userId("test-user-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/AssociateUserBillingManagedOrganizationRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/AssociateUserBillingManagedOrganizationRequestTest.java index 4818c88aa0..f3b5673d80 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/AssociateUserBillingManagedOrganizationRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/AssociateUserBillingManagedOrganizationRequestTest.java @@ -22,24 +22,21 @@ public final class AssociateUserBillingManagedOrganizationRequestTest { @Test(expected = IllegalStateException.class) public void noManagedOrganizationId() { - AssociateUserBillingManagedOrganizationRequest.builder() - .userId("test-user-id") - .build(); + AssociateUserBillingManagedOrganizationRequest.builder().userId("test-user-id").build(); } @Test(expected = IllegalStateException.class) public void noUserId() { AssociateUserBillingManagedOrganizationRequest.builder() - .billingManagedOrganizationId("test-managed-space-id") - .build(); + .billingManagedOrganizationId("test-managed-space-id") + .build(); } @Test public void valid() { AssociateUserBillingManagedOrganizationRequest.builder() - .billingManagedOrganizationId("test-managed-space-id") - .userId("test-user-id") - .build(); + .billingManagedOrganizationId("test-managed-space-id") + .userId("test-user-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/AssociateUserManagedOrganizationRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/AssociateUserManagedOrganizationRequestTest.java index 6e14972e29..e625c2b742 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/AssociateUserManagedOrganizationRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/AssociateUserManagedOrganizationRequestTest.java @@ -22,24 +22,21 @@ public final class AssociateUserManagedOrganizationRequestTest { @Test(expected = IllegalStateException.class) public void noManagedOrganizationId() { - AssociateUserManagedOrganizationRequest.builder() - .userId("test-user-id") - .build(); + AssociateUserManagedOrganizationRequest.builder().userId("test-user-id").build(); } @Test(expected = IllegalStateException.class) public void noUserId() { AssociateUserManagedOrganizationRequest.builder() - .managedOrganizationId("test-managed-space-id") - .build(); + .managedOrganizationId("test-managed-space-id") + .build(); } @Test public void valid() { AssociateUserManagedOrganizationRequest.builder() - .managedOrganizationId("test-managed-space-id") - .userId("test-user-id") - .build(); + .managedOrganizationId("test-managed-space-id") + .userId("test-user-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/AssociateUserManagedSpaceRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/AssociateUserManagedSpaceRequestTest.java index 7871e8a707..6a80c37d3e 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/AssociateUserManagedSpaceRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/AssociateUserManagedSpaceRequestTest.java @@ -22,24 +22,19 @@ public final class AssociateUserManagedSpaceRequestTest { @Test(expected = IllegalStateException.class) public void noManagedSpaceId() { - AssociateUserManagedSpaceRequest.builder() - .userId("test-user-id") - .build(); + AssociateUserManagedSpaceRequest.builder().userId("test-user-id").build(); } @Test(expected = IllegalStateException.class) public void noUserId() { - AssociateUserManagedSpaceRequest.builder() - .managedSpaceId("test-managed-space-id") - .build(); + AssociateUserManagedSpaceRequest.builder().managedSpaceId("test-managed-space-id").build(); } @Test public void valid() { AssociateUserManagedSpaceRequest.builder() - .managedSpaceId("test-managed-space-id") - .userId("test-user-id") - .build(); + .managedSpaceId("test-managed-space-id") + .userId("test-user-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/AssociateUserOrganizationRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/AssociateUserOrganizationRequestTest.java index 547e63d8fd..46eff089f4 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/AssociateUserOrganizationRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/AssociateUserOrganizationRequestTest.java @@ -22,24 +22,19 @@ public final class AssociateUserOrganizationRequestTest { @Test(expected = IllegalStateException.class) public void noOrganizationId() { - AssociateUserOrganizationRequest.builder() - .userId("test-user-id") - .build(); + AssociateUserOrganizationRequest.builder().userId("test-user-id").build(); } @Test(expected = IllegalStateException.class) public void noUserId() { - AssociateUserOrganizationRequest.builder() - .organizationId("test-space-id") - .build(); + AssociateUserOrganizationRequest.builder().organizationId("test-space-id").build(); } @Test public void valid() { AssociateUserOrganizationRequest.builder() - .organizationId("test-space-id") - .userId("test-user-id") - .build(); + .organizationId("test-space-id") + .userId("test-user-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/AssociateUserSpaceRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/AssociateUserSpaceRequestTest.java index e159fa37cc..55b9bc460b 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/AssociateUserSpaceRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/AssociateUserSpaceRequestTest.java @@ -22,24 +22,16 @@ public final class AssociateUserSpaceRequestTest { @Test(expected = IllegalStateException.class) public void noSpaceId() { - AssociateUserSpaceRequest.builder() - .userId("test-user-id") - .build(); + AssociateUserSpaceRequest.builder().userId("test-user-id").build(); } @Test(expected = IllegalStateException.class) public void noUserId() { - AssociateUserSpaceRequest.builder() - .spaceId("test-space-id") - .build(); + AssociateUserSpaceRequest.builder().spaceId("test-space-id").build(); } @Test public void valid() { - AssociateUserSpaceRequest.builder() - .spaceId("test-space-id") - .userId("test-user-id") - .build(); + AssociateUserSpaceRequest.builder().spaceId("test-space-id").userId("test-user-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/CreateUserRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/CreateUserRequestTest.java index 6be7ca1e92..efdfa0da79 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/CreateUserRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/CreateUserRequestTest.java @@ -22,17 +22,11 @@ public final class CreateUserRequestTest { @Test(expected = IllegalStateException.class) public void noUaaId() { - CreateUserRequest.builder() - .defaultSpaceId("test-space-id") - .build(); + CreateUserRequest.builder().defaultSpaceId("test-space-id").build(); } @Test public void valid() { - CreateUserRequest.builder() - .defaultSpaceId("test-space-id") - .uaaId("test-uaa-id") - .build(); + CreateUserRequest.builder().defaultSpaceId("test-space-id").uaaId("test-uaa-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/DeleteUserRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/DeleteUserRequestTest.java index 12eb8804f8..ed6a070eb0 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/DeleteUserRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/DeleteUserRequestTest.java @@ -22,16 +22,11 @@ public final class DeleteUserRequestTest { @Test(expected = IllegalStateException.class) public void noUserId() { - DeleteUserRequest.builder() - .async(true) - .build(); + DeleteUserRequest.builder().async(true).build(); } @Test public void valid() { - DeleteUserRequest.builder() - .userId("test-user-id") - .build(); + DeleteUserRequest.builder().userId("test-user-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/GetUserRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/GetUserRequestTest.java index 1516c45a8b..84bcc3f72f 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/GetUserRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/GetUserRequestTest.java @@ -22,15 +22,11 @@ public final class GetUserRequestTest { @Test(expected = IllegalStateException.class) public void noUserId() { - GetUserRequest.builder() - .build(); + GetUserRequest.builder().build(); } @Test public void valid() { - GetUserRequest.builder() - .userId("test-user-id") - .build(); + GetUserRequest.builder().userId("test-user-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/ListUserAuditedOrganizationsRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/ListUserAuditedOrganizationsRequestTest.java index 1d3b2e547b..9dcd123056 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/ListUserAuditedOrganizationsRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/ListUserAuditedOrganizationsRequestTest.java @@ -22,15 +22,11 @@ public final class ListUserAuditedOrganizationsRequestTest { @Test(expected = IllegalStateException.class) public void noUserId() { - ListUserAuditedOrganizationsRequest.builder() - .build(); + ListUserAuditedOrganizationsRequest.builder().build(); } @Test public void valid() { - ListUserAuditedOrganizationsRequest.builder() - .userId("test-user-id") - .build(); + ListUserAuditedOrganizationsRequest.builder().userId("test-user-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/ListUserAuditedSpacesRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/ListUserAuditedSpacesRequestTest.java index 927cd5523b..e8fd841744 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/ListUserAuditedSpacesRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/ListUserAuditedSpacesRequestTest.java @@ -22,15 +22,11 @@ public final class ListUserAuditedSpacesRequestTest { @Test(expected = IllegalStateException.class) public void noUserId() { - ListUserAuditedSpacesRequest.builder() - .build(); + ListUserAuditedSpacesRequest.builder().build(); } @Test public void valid() { - ListUserAuditedSpacesRequest.builder() - .userId("test-user-id") - .build(); + ListUserAuditedSpacesRequest.builder().userId("test-user-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/ListUserBillingManagedOrganizationsRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/ListUserBillingManagedOrganizationsRequestTest.java index f845849814..998597d005 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/ListUserBillingManagedOrganizationsRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/ListUserBillingManagedOrganizationsRequestTest.java @@ -22,15 +22,11 @@ public final class ListUserBillingManagedOrganizationsRequestTest { @Test(expected = IllegalStateException.class) public void noUserId() { - ListUserBillingManagedOrganizationsRequest.builder() - .build(); + ListUserBillingManagedOrganizationsRequest.builder().build(); } @Test public void valid() { - ListUserBillingManagedOrganizationsRequest.builder() - .userId("test-user-id") - .build(); + ListUserBillingManagedOrganizationsRequest.builder().userId("test-user-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/ListUserManagedOrganizationsRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/ListUserManagedOrganizationsRequestTest.java index 6f752e8def..b42cbb3435 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/ListUserManagedOrganizationsRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/ListUserManagedOrganizationsRequestTest.java @@ -22,15 +22,11 @@ public final class ListUserManagedOrganizationsRequestTest { @Test(expected = IllegalStateException.class) public void noUserId() { - ListUserManagedOrganizationsRequest.builder() - .build(); + ListUserManagedOrganizationsRequest.builder().build(); } @Test public void valid() { - ListUserManagedOrganizationsRequest.builder() - .userId("test-user-id") - .build(); + ListUserManagedOrganizationsRequest.builder().userId("test-user-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/ListUserManagedSpacesRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/ListUserManagedSpacesRequestTest.java index adf9b27543..23225294d0 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/ListUserManagedSpacesRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/ListUserManagedSpacesRequestTest.java @@ -22,15 +22,11 @@ public final class ListUserManagedSpacesRequestTest { @Test(expected = IllegalStateException.class) public void noUserId() { - ListUserManagedSpacesRequest.builder() - .build(); + ListUserManagedSpacesRequest.builder().build(); } @Test public void valid() { - ListUserManagedSpacesRequest.builder() - .userId("test-user-id") - .build(); + ListUserManagedSpacesRequest.builder().userId("test-user-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/ListUserOrganizationsRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/ListUserOrganizationsRequestTest.java index 30d0ce1a10..e31458aa1e 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/ListUserOrganizationsRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/ListUserOrganizationsRequestTest.java @@ -22,15 +22,11 @@ public final class ListUserOrganizationsRequestTest { @Test(expected = IllegalStateException.class) public void noUserId() { - ListUserOrganizationsRequest.builder() - .build(); + ListUserOrganizationsRequest.builder().build(); } @Test public void valid() { - ListUserOrganizationsRequest.builder() - .userId("test-user-id") - .build(); + ListUserOrganizationsRequest.builder().userId("test-user-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/ListUserSpacesRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/ListUserSpacesRequestTest.java index 54fc8056ac..9a58eae341 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/ListUserSpacesRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/ListUserSpacesRequestTest.java @@ -22,15 +22,11 @@ public final class ListUserSpacesRequestTest { @Test(expected = IllegalStateException.class) public void noUserId() { - ListUserSpacesRequest.builder() - .build(); + ListUserSpacesRequest.builder().build(); } @Test public void valid() { - ListUserSpacesRequest.builder() - .userId("test-user-id") - .build(); + ListUserSpacesRequest.builder().userId("test-user-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/ListUsersRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/ListUsersRequestTest.java index c2c74d23e0..a8ce99eae9 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/ListUsersRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/ListUsersRequestTest.java @@ -22,8 +22,6 @@ public final class ListUsersRequestTest { @Test public void valid() { - ListUsersRequest.builder() - .build(); + ListUsersRequest.builder().build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/RemoveUserAuditedOrganizationRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/RemoveUserAuditedOrganizationRequestTest.java index 9a07a832ce..59b25e2e7a 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/RemoveUserAuditedOrganizationRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/RemoveUserAuditedOrganizationRequestTest.java @@ -22,24 +22,21 @@ public final class RemoveUserAuditedOrganizationRequestTest { @Test(expected = IllegalStateException.class) public void noAuditedOrganizationId() { - RemoveUserAuditedOrganizationRequest.builder() - .userId("test-user-id") - .build(); + RemoveUserAuditedOrganizationRequest.builder().userId("test-user-id").build(); } @Test(expected = IllegalStateException.class) public void noUserId() { RemoveUserAuditedOrganizationRequest.builder() - .auditedOrganizationId("test-space-id") - .build(); + .auditedOrganizationId("test-space-id") + .build(); } @Test public void valid() { RemoveUserAuditedOrganizationRequest.builder() - .auditedOrganizationId("test-space-id") - .userId("test-user-id") - .build(); + .auditedOrganizationId("test-space-id") + .userId("test-user-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/RemoveUserAuditedSpaceRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/RemoveUserAuditedSpaceRequestTest.java index 9d013eaf56..4d3726625a 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/RemoveUserAuditedSpaceRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/RemoveUserAuditedSpaceRequestTest.java @@ -22,24 +22,19 @@ public final class RemoveUserAuditedSpaceRequestTest { @Test(expected = IllegalStateException.class) public void noAuditedSpaceId() { - RemoveUserAuditedSpaceRequest.builder() - .userId("test-user-id") - .build(); + RemoveUserAuditedSpaceRequest.builder().userId("test-user-id").build(); } @Test(expected = IllegalStateException.class) public void noUserId() { - RemoveUserManagedSpaceRequest.builder() - .managedSpaceId("test-space-id") - .build(); + RemoveUserManagedSpaceRequest.builder().managedSpaceId("test-space-id").build(); } @Test public void valid() { RemoveUserManagedSpaceRequest.builder() - .managedSpaceId("test-space-id") - .userId("test-user-id") - .build(); + .managedSpaceId("test-space-id") + .userId("test-user-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/RemoveUserBillingManagedOrganizationRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/RemoveUserBillingManagedOrganizationRequestTest.java index 3b9def1d9b..e1ee051101 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/RemoveUserBillingManagedOrganizationRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/RemoveUserBillingManagedOrganizationRequestTest.java @@ -22,24 +22,21 @@ public final class RemoveUserBillingManagedOrganizationRequestTest { @Test(expected = IllegalStateException.class) public void noBillingManagedOrganizationId() { - RemoveUserBillingManagedOrganizationRequest.builder() - .userId("test-user-id") - .build(); + RemoveUserBillingManagedOrganizationRequest.builder().userId("test-user-id").build(); } @Test(expected = IllegalStateException.class) public void noUserId() { RemoveUserBillingManagedOrganizationRequest.builder() - .billingManagedOrganizationId("test-space-id") - .build(); + .billingManagedOrganizationId("test-space-id") + .build(); } @Test public void valid() { RemoveUserBillingManagedOrganizationRequest.builder() - .billingManagedOrganizationId("test-space-id") - .userId("test-user-id") - .build(); + .billingManagedOrganizationId("test-space-id") + .userId("test-user-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/RemoveUserManagedOrganizationRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/RemoveUserManagedOrganizationRequestTest.java index abcf0f95b3..3a5fc533f8 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/RemoveUserManagedOrganizationRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/RemoveUserManagedOrganizationRequestTest.java @@ -22,24 +22,21 @@ public final class RemoveUserManagedOrganizationRequestTest { @Test(expected = IllegalStateException.class) public void noManagedOrganizationId() { - RemoveUserManagedOrganizationRequest.builder() - .userId("test-user-id") - .build(); + RemoveUserManagedOrganizationRequest.builder().userId("test-user-id").build(); } @Test(expected = IllegalStateException.class) public void noUserId() { RemoveUserManagedOrganizationRequest.builder() - .managedOrganizationId("test-space-id") - .build(); + .managedOrganizationId("test-space-id") + .build(); } @Test public void valid() { RemoveUserManagedOrganizationRequest.builder() - .managedOrganizationId("test-space-id") - .userId("test-user-id") - .build(); + .managedOrganizationId("test-space-id") + .userId("test-user-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/RemoveUserManagedSpaceRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/RemoveUserManagedSpaceRequestTest.java index dddf374ffd..c95a5f5d85 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/RemoveUserManagedSpaceRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/RemoveUserManagedSpaceRequestTest.java @@ -22,24 +22,19 @@ public final class RemoveUserManagedSpaceRequestTest { @Test(expected = IllegalStateException.class) public void noManagedSpaceId() { - RemoveUserManagedSpaceRequest.builder() - .userId("test-user-id") - .build(); + RemoveUserManagedSpaceRequest.builder().userId("test-user-id").build(); } @Test(expected = IllegalStateException.class) public void noUserId() { - RemoveUserManagedSpaceRequest.builder() - .managedSpaceId("test-space-id") - .build(); + RemoveUserManagedSpaceRequest.builder().managedSpaceId("test-space-id").build(); } @Test public void valid() { RemoveUserManagedSpaceRequest.builder() - .managedSpaceId("test-space-id") - .userId("test-user-id") - .build(); + .managedSpaceId("test-space-id") + .userId("test-user-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/RemoveUserOrganizationRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/RemoveUserOrganizationRequestTest.java index a706491dd4..416b40570e 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/RemoveUserOrganizationRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/RemoveUserOrganizationRequestTest.java @@ -22,24 +22,19 @@ public final class RemoveUserOrganizationRequestTest { @Test(expected = IllegalStateException.class) public void noOrganizationId() { - RemoveUserOrganizationRequest.builder() - .userId("test-user-id") - .build(); + RemoveUserOrganizationRequest.builder().userId("test-user-id").build(); } @Test(expected = IllegalStateException.class) public void noUserId() { - RemoveUserOrganizationRequest.builder() - .organizationId("test-space-id") - .build(); + RemoveUserOrganizationRequest.builder().organizationId("test-space-id").build(); } @Test public void valid() { RemoveUserOrganizationRequest.builder() - .organizationId("test-space-id") - .userId("test-user-id") - .build(); + .organizationId("test-space-id") + .userId("test-user-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/RemoveUserSpaceRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/RemoveUserSpaceRequestTest.java index 0edd45073b..45d3259dfc 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/RemoveUserSpaceRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/RemoveUserSpaceRequestTest.java @@ -22,24 +22,16 @@ public final class RemoveUserSpaceRequestTest { @Test(expected = IllegalStateException.class) public void noSpaceId() { - RemoveUserSpaceRequest.builder() - .userId("test-user-id") - .build(); + RemoveUserSpaceRequest.builder().userId("test-user-id").build(); } @Test(expected = IllegalStateException.class) public void noUserId() { - RemoveUserSpaceRequest.builder() - .spaceId("test-space-id") - .build(); + RemoveUserSpaceRequest.builder().spaceId("test-space-id").build(); } @Test public void valid() { - RemoveUserSpaceRequest.builder() - .spaceId("test-space-id") - .userId("test-user-id") - .build(); + RemoveUserSpaceRequest.builder().spaceId("test-space-id").userId("test-user-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/SummaryUserRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/SummaryUserRequestTest.java index cbf8b60d5a..086a79941f 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/SummaryUserRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/SummaryUserRequestTest.java @@ -22,15 +22,11 @@ public final class SummaryUserRequestTest { @Test(expected = IllegalStateException.class) public void noUaaId() { - SummaryUserRequest.builder() - .build(); + SummaryUserRequest.builder().build(); } @Test public void valid() { - SummaryUserRequest.builder() - .userId("test-uaa-id") - .build(); + SummaryUserRequest.builder().userId("test-uaa-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/UpdateUserRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/UpdateUserRequestTest.java index b8cfe6677c..880f2fd750 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/UpdateUserRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v2/users/UpdateUserRequestTest.java @@ -22,17 +22,11 @@ public final class UpdateUserRequestTest { @Test(expected = IllegalStateException.class) public void noUaaId() { - UpdateUserRequest.builder() - .defaultSpaceId("test-space-id") - .build(); + UpdateUserRequest.builder().defaultSpaceId("test-space-id").build(); } @Test public void valid() { - UpdateUserRequest.builder() - .defaultSpaceId("test-space-id") - .userId("test-uaa-id") - .build(); + UpdateUserRequest.builder().defaultSpaceId("test-space-id").userId("test-uaa-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/ClientV3ExceptionTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/ClientV3ExceptionTest.java index 26e6cbd7c4..f373069ada 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/ClientV3ExceptionTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/ClientV3ExceptionTest.java @@ -16,37 +16,38 @@ package org.cloudfoundry.client.v3; -import org.junit.Test; +import static org.assertj.core.api.Assertions.assertThat; import java.util.Arrays; - -import static org.assertj.core.api.Assertions.assertThat; +import org.junit.Test; public final class ClientV3ExceptionTest { @Test public void test() { - ClientV3Exception exception = new ClientV3Exception(-1, - Arrays.asList( - Error.builder() - .code(-2) - .detail("test-detail-1") - .title("test-title-1") - .build(), - Error.builder() - .code(-3) - .detail("test-detail-2") - .title("test-title-2") - .build())); + ClientV3Exception exception = + new ClientV3Exception( + -1, + Arrays.asList( + Error.builder() + .code(-2) + .detail("test-detail-1") + .title("test-title-1") + .build(), + Error.builder() + .code(-3) + .detail("test-detail-2") + .title("test-title-2") + .build())); assertThat(exception) - .hasNoCause() - .hasMessage("test-title-1(-2): test-detail-1, test-title-2(-3): test-detail-2") - .extracting("statusCode").isEqualTo(-1); + .hasNoCause() + .hasMessage("test-title-1(-2): test-detail-1, test-title-2(-3): test-detail-2") + .extracting("statusCode") + .isEqualTo(-1); assertThat(exception.getErrors()) - .flatExtracting(Error::getCode, Error::getDetail, Error::getTitle) - .contains(-2, "test-detail-1", "test-title-1", -3, "test-detail-2", "test-title-2"); + .flatExtracting(Error::getCode, Error::getDetail, Error::getTitle) + .contains(-2, "test-detail-1", "test-title-1", -3, "test-detail-2", "test-title-2"); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/PaginatedRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/PaginatedRequestTest.java index b0f80fe5d5..e889891014 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/PaginatedRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/PaginatedRequestTest.java @@ -23,43 +23,29 @@ public final class PaginatedRequestTest { @Test(expected = IllegalStateException.class) public void excessivePerPage() { - StubPaginatedRequest.builder() - .perPage(10_000) - .build(); + StubPaginatedRequest.builder().perPage(10_000).build(); } @Test public void validNoValues() { - StubPaginatedRequest.builder() - .build(); + StubPaginatedRequest.builder().build(); } @Test public void validValues() { - StubPaginatedRequest.builder() - .page(10) - .perPage(10) - .orderBy("name") - .build(); + StubPaginatedRequest.builder().page(10).perPage(10).orderBy("name").build(); } @Test(expected = IllegalStateException.class) public void zeroPage() { - StubPaginatedRequest.builder() - .page(0) - .build(); + StubPaginatedRequest.builder().page(0).build(); } @Test(expected = IllegalStateException.class) public void zeroPerPage() { - StubPaginatedRequest.builder() - .perPage(0) - .build(); + StubPaginatedRequest.builder().perPage(0).build(); } @Value.Immutable - static abstract class _StubPaginatedRequest extends PaginatedRequest { - - } - + abstract static class _StubPaginatedRequest extends PaginatedRequest {} } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/PaginationTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/PaginationTest.java index 3a44ea3734..c763c89aef 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/PaginationTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/PaginationTest.java @@ -22,8 +22,6 @@ public final class PaginationTest { @Test public void valid() { - Pagination.builder() - .build(); + Pagination.builder().build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/RelationshipTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/RelationshipTest.java index 3dbc3a5bd9..07b7bde779 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/RelationshipTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/RelationshipTest.java @@ -22,15 +22,11 @@ public final class RelationshipTest { @Test(expected = IllegalStateException.class) public void noId() { - Relationship.builder() - .build(); + Relationship.builder().build(); } @Test public void valid() { - Relationship.builder() - .id("test-id") - .build(); + Relationship.builder().id("test-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/ResourceTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/ResourceTest.java index a906797e87..cc37b8d5f6 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/ResourceTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/ResourceTest.java @@ -23,32 +23,23 @@ public final class ResourceTest { @Test(expected = IllegalStateException.class) public void noCreatedAt() { - StubResource.builder() - .id("test-id") - .updatedAt("test-updated-at") - .build(); + StubResource.builder().id("test-id").updatedAt("test-updated-at").build(); } @Test(expected = IllegalStateException.class) public void noId() { - StubResource.builder() - .createdAt("test-created-at") - .updatedAt("test-updated-at") - .build(); + StubResource.builder().createdAt("test-created-at").updatedAt("test-updated-at").build(); } @Test public void valid() { StubResource.builder() - .createdAt("test-created-at") - .id("test-id") - .updatedAt("test-updated-at") - .build(); + .createdAt("test-created-at") + .id("test-id") + .updatedAt("test-updated-at") + .build(); } @Value.Immutable - static abstract class _StubResource extends Resource { - - } - + abstract static class _StubResource extends Resource {} } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/ToManyRelationshipTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/ToManyRelationshipTest.java index 17e19e8f60..5640a7c6c1 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/ToManyRelationshipTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/ToManyRelationshipTest.java @@ -22,8 +22,6 @@ public final class ToManyRelationshipTest { @Test public void valid() { - ToManyRelationship.builder() - .build(); + ToManyRelationship.builder().build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/ToOneRelationshipTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/ToOneRelationshipTest.java index 0451b9dfe2..a0d7590311 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/ToOneRelationshipTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/ToOneRelationshipTest.java @@ -22,8 +22,6 @@ public final class ToOneRelationshipTest { @Test public void valid() { - ToOneRelationship.builder() - .build(); + ToOneRelationship.builder().build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/admin/ClearBuildpackCacheRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/admin/ClearBuildpackCacheRequestTest.java index 106736f004..5a7284bc61 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/admin/ClearBuildpackCacheRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/admin/ClearBuildpackCacheRequestTest.java @@ -22,8 +22,6 @@ public class ClearBuildpackCacheRequestTest { @Test public void valid() { - ClearBuildpackCacheRequest.builder() - .build(); + ClearBuildpackCacheRequest.builder().build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/CreateApplicationRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/CreateApplicationRequestTest.java index 02728bed73..2e2b9504b0 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/CreateApplicationRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/CreateApplicationRequestTest.java @@ -25,35 +25,32 @@ public final class CreateApplicationRequestTest { @Test(expected = IllegalStateException.class) public void noName() { CreateApplicationRequest.builder() - .relationships(ApplicationRelationships.builder() - .space(ToOneRelationship.builder() - .data(Relationship.builder() - .id("test-id") - .build()) - .build()) - .build()) - .build(); + .relationships( + ApplicationRelationships.builder() + .space( + ToOneRelationship.builder() + .data(Relationship.builder().id("test-id").build()) + .build()) + .build()) + .build(); } @Test(expected = IllegalStateException.class) public void noRelationships() { - CreateApplicationRequest.builder() - .name("test-name") - .build(); + CreateApplicationRequest.builder().name("test-name").build(); } @Test public void valid() { CreateApplicationRequest.builder() - .name("test-name") - .relationships(ApplicationRelationships.builder() - .space(ToOneRelationship.builder() - .data(Relationship.builder() - .id("test-id") - .build()) - .build()) - .build()) - .build(); + .name("test-name") + .relationships( + ApplicationRelationships.builder() + .space( + ToOneRelationship.builder() + .data(Relationship.builder().id("test-id").build()) + .build()) + .build()) + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/DeleteApplicationRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/DeleteApplicationRequestTest.java index d24d53eb73..5f407fa779 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/DeleteApplicationRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/DeleteApplicationRequestTest.java @@ -22,15 +22,11 @@ public final class DeleteApplicationRequestTest { @Test(expected = IllegalStateException.class) public void noApplicationId() { - DeleteApplicationRequest.builder() - .build(); + DeleteApplicationRequest.builder().build(); } @Test public void valid() { - DeleteApplicationRequest.builder() - .applicationId("test-application-id") - .build(); + DeleteApplicationRequest.builder().applicationId("test-application-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/GetApplicationCurrentDropletRelationshipRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/GetApplicationCurrentDropletRelationshipRequestTest.java index a58232988b..88d6ca2717 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/GetApplicationCurrentDropletRelationshipRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/GetApplicationCurrentDropletRelationshipRequestTest.java @@ -22,15 +22,13 @@ public final class GetApplicationCurrentDropletRelationshipRequestTest { @Test(expected = IllegalStateException.class) public void noApplicationId() { - GetApplicationCurrentDropletRelationshipRequest.builder() - .build(); + GetApplicationCurrentDropletRelationshipRequest.builder().build(); } @Test public void valid() { GetApplicationCurrentDropletRelationshipRequest.builder() - .applicationId("test-application-id") - .build(); + .applicationId("test-application-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/GetApplicationCurrentDropletRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/GetApplicationCurrentDropletRequestTest.java index 2c8476fc11..56818e67b2 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/GetApplicationCurrentDropletRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/GetApplicationCurrentDropletRequestTest.java @@ -22,15 +22,11 @@ public final class GetApplicationCurrentDropletRequestTest { @Test(expected = IllegalStateException.class) public void noApplicationId() { - GetApplicationCurrentDropletRequest.builder() - .build(); + GetApplicationCurrentDropletRequest.builder().build(); } @Test public void valid() { - GetApplicationCurrentDropletRequest.builder() - .applicationId("test-application-id") - .build(); + GetApplicationCurrentDropletRequest.builder().applicationId("test-application-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/GetApplicationEnvironmentRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/GetApplicationEnvironmentRequestTest.java index 866b3c209d..bed7ba084d 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/GetApplicationEnvironmentRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/GetApplicationEnvironmentRequestTest.java @@ -22,15 +22,11 @@ public final class GetApplicationEnvironmentRequestTest { @Test(expected = IllegalStateException.class) public void noApplicationId() { - GetApplicationEnvironmentRequest.builder() - .build(); + GetApplicationEnvironmentRequest.builder().build(); } @Test public void valid() { - GetApplicationEnvironmentRequest.builder() - .applicationId("test-application-id") - .build(); + GetApplicationEnvironmentRequest.builder().applicationId("test-application-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/GetApplicationEnvironmentVariablesRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/GetApplicationEnvironmentVariablesRequestTest.java index 56e6d08805..76d6fa8734 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/GetApplicationEnvironmentVariablesRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/GetApplicationEnvironmentVariablesRequestTest.java @@ -22,15 +22,13 @@ public final class GetApplicationEnvironmentVariablesRequestTest { @Test(expected = IllegalStateException.class) public void noApplicationId() { - GetApplicationEnvironmentVariablesRequest.builder() - .build(); + GetApplicationEnvironmentVariablesRequest.builder().build(); } @Test public void valid() { GetApplicationEnvironmentVariablesRequest.builder() - .applicationId("test-application-id") - .build(); + .applicationId("test-application-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/GetApplicationFeatureRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/GetApplicationFeatureRequestTest.java index e9a8cb0c0b..13a1cdcd68 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/GetApplicationFeatureRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/GetApplicationFeatureRequestTest.java @@ -22,24 +22,19 @@ public final class GetApplicationFeatureRequestTest { @Test(expected = IllegalStateException.class) public void noApplicationId() { - GetApplicationFeatureRequest.builder() - .applicationId("test-application-id") - .build(); + GetApplicationFeatureRequest.builder().applicationId("test-application-id").build(); } @Test(expected = IllegalStateException.class) public void noFeatureName() { - GetApplicationFeatureRequest.builder() - .featureName("test-feature-name") - .build(); + GetApplicationFeatureRequest.builder().featureName("test-feature-name").build(); } @Test public void valid() { GetApplicationFeatureRequest.builder() - .applicationId("test-application-id") - .featureName("test-feature-name") - .build(); + .applicationId("test-application-id") + .featureName("test-feature-name") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/GetApplicationPermissionRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/GetApplicationPermissionRequestTest.java index 03993c42da..39a4e581a9 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/GetApplicationPermissionRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/GetApplicationPermissionRequestTest.java @@ -22,15 +22,11 @@ public final class GetApplicationPermissionRequestTest { @Test(expected = IllegalStateException.class) public void noApplicationId() { - GetApplicationPermissionsRequest.builder() - .build(); + GetApplicationPermissionsRequest.builder().build(); } @Test public void valid() { - GetApplicationPermissionsRequest.builder() - .applicationId("test-application-id") - .build(); + GetApplicationPermissionsRequest.builder().applicationId("test-application-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/GetApplicationProcessRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/GetApplicationProcessRequestTest.java index ff646c5909..621d3ef974 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/GetApplicationProcessRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/GetApplicationProcessRequestTest.java @@ -22,24 +22,19 @@ public final class GetApplicationProcessRequestTest { @Test(expected = IllegalStateException.class) public void noApplicationId() { - GetApplicationProcessRequest.builder() - .type("test-type") - .build(); + GetApplicationProcessRequest.builder().type("test-type").build(); } @Test(expected = IllegalStateException.class) public void noType() { - GetApplicationProcessRequest.builder() - .applicationId("test-application-id") - .build(); + GetApplicationProcessRequest.builder().applicationId("test-application-id").build(); } @Test public void valid() { GetApplicationProcessRequest.builder() - .applicationId("test-application-id") - .type("test-type") - .build(); + .applicationId("test-application-id") + .type("test-type") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/GetApplicationProcessStatisticsRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/GetApplicationProcessStatisticsRequestTest.java index c3eaa9731f..8b40fbc7f4 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/GetApplicationProcessStatisticsRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/GetApplicationProcessStatisticsRequestTest.java @@ -25,73 +25,73 @@ public final class GetApplicationProcessStatisticsRequestTest { @Test(expected = IllegalStateException.class) public void noApplicationId() { - GetApplicationProcessStatisticsRequest.builder() - .type("test-type") - .build(); + GetApplicationProcessStatisticsRequest.builder().type("test-type").build(); } @Test(expected = IllegalStateException.class) public void noType() { - GetApplicationProcessStatisticsRequest.builder() - .applicationId("test-id") - .build(); + GetApplicationProcessStatisticsRequest.builder().applicationId("test-id").build(); } @Test public void valid() { GetApplicationProcessStatisticsRequest.builder() - .applicationId("test-id") - .type("test-type") - .build(); + .applicationId("test-id") + .type("test-type") + .build(); } @Test public void validDownResource() { - ProcessStatisticsResource processStatisticsResource = ProcessStatisticsResource.builder() - .type("web") - .index(0) - .state(ProcessState.DOWN) - .uptime(0L) - .build(); + ProcessStatisticsResource processStatisticsResource = + ProcessStatisticsResource.builder() + .type("web") + .index(0) + .state(ProcessState.DOWN) + .uptime(0L) + .build(); GetApplicationProcessStatisticsResponse.builder() - .resource(processStatisticsResource) - .build(); + .resource(processStatisticsResource) + .build(); } @Test(expected = IllegalStateException.class) public void invalidRunningResource() { - ProcessStatisticsResource processStatisticsResource = ProcessStatisticsResource.builder() - .type("web") - .index(0) - .state(ProcessState.RUNNING) - .uptime(0L) - .build(); + ProcessStatisticsResource processStatisticsResource = + ProcessStatisticsResource.builder() + .type("web") + .index(0) + .state(ProcessState.RUNNING) + .uptime(0L) + .build(); GetApplicationProcessStatisticsResponse.builder() - .resource(processStatisticsResource) - .build(); + .resource(processStatisticsResource) + .build(); } @Test public void validRunningResponse() { - ProcessUsage processUsage = ProcessUsage.builder() - .time("") - .cpu(Double.valueOf("0.00038711029163348665")) - .memory(19177472L) - .disk(69705728L) - .build(); - ProcessStatisticsResource processStatisticsResource = ProcessStatisticsResource.builder() - .type("web") - .index(0) - .state(ProcessState.RUNNING) - .host("10.244.16.10") - .usage(processUsage) - .uptime(9042L) - .memoryQuota(268435456L) - .diskQuota(1073741824L) - .fileDescriptorQuota(16384L) - .build(); + ProcessUsage processUsage = + ProcessUsage.builder() + .time("") + .cpu(Double.valueOf("0.00038711029163348665")) + .memory(19177472L) + .disk(69705728L) + .build(); + ProcessStatisticsResource processStatisticsResource = + ProcessStatisticsResource.builder() + .type("web") + .index(0) + .state(ProcessState.RUNNING) + .host("10.244.16.10") + .usage(processUsage) + .uptime(9042L) + .memoryQuota(268435456L) + .diskQuota(1073741824L) + .fileDescriptorQuota(16384L) + .build(); GetApplicationProcessStatisticsResponse.builder() - .resource(processStatisticsResource) - .build(); + .resource(processStatisticsResource) + .build(); } } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/GetApplicationRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/GetApplicationRequestTest.java index 34502dd1b0..eff24dda57 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/GetApplicationRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/GetApplicationRequestTest.java @@ -22,15 +22,11 @@ public final class GetApplicationRequestTest { @Test(expected = IllegalStateException.class) public void noApplicationId() { - GetApplicationRequest.builder() - .build(); + GetApplicationRequest.builder().build(); } @Test public void valid() { - GetApplicationRequest.builder() - .applicationId("test-application-id") - .build(); + GetApplicationRequest.builder().applicationId("test-application-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/GetApplicationSshEnabledRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/GetApplicationSshEnabledRequestTest.java index 4f0ebec7b7..ed2bd43fd0 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/GetApplicationSshEnabledRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/GetApplicationSshEnabledRequestTest.java @@ -22,15 +22,11 @@ public final class GetApplicationSshEnabledRequestTest { @Test(expected = IllegalStateException.class) public void noApplicationId() { - GetApplicationSshEnabledRequest.builder() - .build(); + GetApplicationSshEnabledRequest.builder().build(); } @Test public void valid() { - GetApplicationSshEnabledRequest.builder() - .applicationId("test-application-id") - .build(); + GetApplicationSshEnabledRequest.builder().applicationId("test-application-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/ListApplicationBuildsRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/ListApplicationBuildsRequestTest.java index 399737b7e6..8db153568a 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/ListApplicationBuildsRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/ListApplicationBuildsRequestTest.java @@ -22,15 +22,11 @@ public final class ListApplicationBuildsRequestTest { @Test(expected = IllegalStateException.class) public void noApplicationId() { - ListApplicationBuildsRequest.builder() - .build(); + ListApplicationBuildsRequest.builder().build(); } @Test public void valid() { - ListApplicationBuildsRequest.builder() - .applicationId("test-application-id") - .build(); + ListApplicationBuildsRequest.builder().applicationId("test-application-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/ListApplicationDropletsRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/ListApplicationDropletsRequestTest.java index adcde7bba5..50871ad58d 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/ListApplicationDropletsRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/ListApplicationDropletsRequestTest.java @@ -22,15 +22,11 @@ public final class ListApplicationDropletsRequestTest { @Test(expected = IllegalStateException.class) public void noApplicationId() { - ListApplicationDropletsRequest.builder() - .build(); + ListApplicationDropletsRequest.builder().build(); } @Test public void valid() { - ListApplicationDropletsRequest.builder() - .applicationId("test-application-id") - .build(); + ListApplicationDropletsRequest.builder().applicationId("test-application-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/ListApplicationFeaturesRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/ListApplicationFeaturesRequestTest.java index dee883001a..2eb9575aaa 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/ListApplicationFeaturesRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/ListApplicationFeaturesRequestTest.java @@ -22,15 +22,11 @@ public final class ListApplicationFeaturesRequestTest { @Test(expected = IllegalStateException.class) public void noApplicationId() { - ListApplicationFeaturesRequest.builder() - .build(); + ListApplicationFeaturesRequest.builder().build(); } @Test public void valid() { - ListApplicationFeaturesRequest.builder() - .applicationId("test-application-id") - .build(); + ListApplicationFeaturesRequest.builder().applicationId("test-application-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/ListApplicationPackagesRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/ListApplicationPackagesRequestTest.java index dd3c22bd2a..2d62e7e15b 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/ListApplicationPackagesRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/ListApplicationPackagesRequestTest.java @@ -22,15 +22,11 @@ public final class ListApplicationPackagesRequestTest { @Test(expected = IllegalStateException.class) public void noApplicationId() { - ListApplicationPackagesRequest.builder() - .build(); + ListApplicationPackagesRequest.builder().build(); } @Test public void valid() { - ListApplicationPackagesRequest.builder() - .applicationId("test-application-id") - .build(); + ListApplicationPackagesRequest.builder().applicationId("test-application-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/ListApplicationProcessesRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/ListApplicationProcessesRequestTest.java index 94c1f194b2..fb85dad0f8 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/ListApplicationProcessesRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/ListApplicationProcessesRequestTest.java @@ -22,15 +22,11 @@ public final class ListApplicationProcessesRequestTest { @Test(expected = IllegalStateException.class) public void noApplicationId() { - ListApplicationProcessesRequest.builder() - .build(); + ListApplicationProcessesRequest.builder().build(); } @Test public void valid() { - ListApplicationProcessesRequest.builder() - .applicationId("test-application-id") - .build(); + ListApplicationProcessesRequest.builder().applicationId("test-application-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/ListApplicationRoutesRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/ListApplicationRoutesRequestTest.java index 83376802fa..13d623505b 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/ListApplicationRoutesRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/ListApplicationRoutesRequestTest.java @@ -22,15 +22,11 @@ public final class ListApplicationRoutesRequestTest { @Test(expected = IllegalStateException.class) public void noApplicationId() { - ListApplicationRoutesRequest.builder() - .build(); + ListApplicationRoutesRequest.builder().build(); } @Test public void valid() { - ListApplicationRoutesRequest.builder() - .applicationId("test-application-id") - .build(); + ListApplicationRoutesRequest.builder().applicationId("test-application-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/ListApplicationTasksRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/ListApplicationTasksRequestTest.java index fe7def3781..1bd08d18b3 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/ListApplicationTasksRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/ListApplicationTasksRequestTest.java @@ -22,15 +22,11 @@ public final class ListApplicationTasksRequestTest { @Test(expected = IllegalStateException.class) public void noApplicationId() { - ListApplicationTasksRequest.builder() - .build(); + ListApplicationTasksRequest.builder().build(); } @Test public void valid() { - ListApplicationTasksRequest.builder() - .applicationId("test-application-id") - .build(); + ListApplicationTasksRequest.builder().applicationId("test-application-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/ListApplicationsRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/ListApplicationsRequestTest.java index 7411b39102..b40ee491fb 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/ListApplicationsRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/ListApplicationsRequestTest.java @@ -22,8 +22,6 @@ public final class ListApplicationsRequestTest { @Test public void valid() { - ListApplicationsRequest.builder() - .build(); + ListApplicationsRequest.builder().build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/RelationshipsTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/RelationshipsTest.java index 48c68660a6..9c7d99a28d 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/RelationshipsTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/RelationshipsTest.java @@ -24,19 +24,16 @@ public final class RelationshipsTest { @Test(expected = IllegalStateException.class) public void noSpace() { - ApplicationRelationships.builder() - .build(); + ApplicationRelationships.builder().build(); } @Test public void valid() { ApplicationRelationships.builder() - .space(ToOneRelationship.builder() - .data(Relationship.builder() - .id("test-id") - .build()) - .build()) - .build(); + .space( + ToOneRelationship.builder() + .data(Relationship.builder().id("test-id").build()) + .build()) + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/RestartApplicationRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/RestartApplicationRequestTest.java index 63af86e533..0385586a32 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/RestartApplicationRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/RestartApplicationRequestTest.java @@ -22,15 +22,11 @@ public final class RestartApplicationRequestTest { @Test(expected = IllegalStateException.class) public void noApplicationId() { - RestartApplicationRequest.builder() - .build(); + RestartApplicationRequest.builder().build(); } @Test public void valid() { - RestartApplicationRequest.builder() - .applicationId("test-application-id") - .build(); + RestartApplicationRequest.builder().applicationId("test-application-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/ScaleApplicationRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/ScaleApplicationRequestTest.java index 06d07cfbdb..33e64f83fb 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/ScaleApplicationRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/ScaleApplicationRequestTest.java @@ -22,24 +22,16 @@ public final class ScaleApplicationRequestTest { @Test(expected = IllegalStateException.class) public void noApplicationId() { - ScaleApplicationRequest.builder() - .type("web") - .build(); + ScaleApplicationRequest.builder().type("web").build(); } @Test(expected = IllegalStateException.class) public void noType() { - ScaleApplicationRequest.builder() - .applicationId("test-application-id") - .build(); + ScaleApplicationRequest.builder().applicationId("test-application-id").build(); } @Test public void valid() { - ScaleApplicationRequest.builder() - .applicationId("test-application-id") - .type("web") - .build(); + ScaleApplicationRequest.builder().applicationId("test-application-id").type("web").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/SetApplicationCurrentDropletRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/SetApplicationCurrentDropletRequestTest.java index 34062710df..0e50ef8d8f 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/SetApplicationCurrentDropletRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/SetApplicationCurrentDropletRequestTest.java @@ -24,28 +24,20 @@ public final class SetApplicationCurrentDropletRequestTest { @Test(expected = IllegalStateException.class) public void noApplicationId() { SetApplicationCurrentDropletRequest.builder() - .data(Relationship.builder() - .id("test-droplet-id") - .build()) - - .build(); + .data(Relationship.builder().id("test-droplet-id").build()) + .build(); } @Test(expected = IllegalStateException.class) public void noDropletId() { - SetApplicationCurrentDropletRequest.builder() - .applicationId("test-application-id") - .build(); + SetApplicationCurrentDropletRequest.builder().applicationId("test-application-id").build(); } @Test public void valid() { SetApplicationCurrentDropletRequest.builder() - .applicationId("test-application-id") - .data(Relationship.builder() - .id("test-droplet-id") - .build()) - .build(); + .applicationId("test-application-id") + .data(Relationship.builder().id("test-droplet-id").build()) + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/StartApplicationRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/StartApplicationRequestTest.java index 2ea70f5075..2dae453fd9 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/StartApplicationRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/StartApplicationRequestTest.java @@ -22,15 +22,11 @@ public final class StartApplicationRequestTest { @Test(expected = IllegalStateException.class) public void noApplicationId() { - StartApplicationRequest.builder() - .build(); + StartApplicationRequest.builder().build(); } @Test public void valid() { - StartApplicationRequest.builder() - .applicationId("test-application-id") - .build(); + StartApplicationRequest.builder().applicationId("test-application-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/StopApplicationRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/StopApplicationRequestTest.java index 5b0006e35b..8c057b2bac 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/StopApplicationRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/StopApplicationRequestTest.java @@ -22,15 +22,11 @@ public final class StopApplicationRequestTest { @Test(expected = IllegalStateException.class) public void noApplicationId() { - StopApplicationRequest.builder() - .build(); + StopApplicationRequest.builder().build(); } @Test public void valid() { - StopApplicationRequest.builder() - .applicationId("test-application-id") - .build(); + StopApplicationRequest.builder().applicationId("test-application-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/TerminateApplicationInstanceRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/TerminateApplicationInstanceRequestTest.java index 484ebd5797..8a769d75d2 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/TerminateApplicationInstanceRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/TerminateApplicationInstanceRequestTest.java @@ -22,35 +22,31 @@ public final class TerminateApplicationInstanceRequestTest { @Test(expected = IllegalStateException.class) public void noApplicationId() { - TerminateApplicationInstanceRequest.builder() - .index("test-index") - .type("test-type") - .build(); + TerminateApplicationInstanceRequest.builder().index("test-index").type("test-type").build(); } @Test(expected = IllegalStateException.class) public void noIndex() { TerminateApplicationInstanceRequest.builder() - .applicationId("test-application-id") - .type("test-type") - .build(); + .applicationId("test-application-id") + .type("test-type") + .build(); } @Test(expected = IllegalStateException.class) public void noType() { TerminateApplicationInstanceRequest.builder() - .applicationId("test-application-id") - .index("test-index") - .build(); + .applicationId("test-application-id") + .index("test-index") + .build(); } @Test public void valid() { TerminateApplicationInstanceRequest.builder() - .applicationId("test-application-id") - .index("test-index") - .type("test-type") - .build(); + .applicationId("test-application-id") + .index("test-index") + .type("test-type") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/UpdateApplicationEnvironmentVariablesRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/UpdateApplicationEnvironmentVariablesRequestTest.java index 100640a64b..b961745e09 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/UpdateApplicationEnvironmentVariablesRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/UpdateApplicationEnvironmentVariablesRequestTest.java @@ -22,15 +22,13 @@ public final class UpdateApplicationEnvironmentVariablesRequestTest { @Test(expected = IllegalStateException.class) public void noApplicationId() { - UpdateApplicationEnvironmentVariablesRequest.builder() - .build(); + UpdateApplicationEnvironmentVariablesRequest.builder().build(); } @Test public void valid() { UpdateApplicationEnvironmentVariablesRequest.builder() - .applicationId("test-application-id") - .build(); + .applicationId("test-application-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/UpdateApplicationFeatureRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/UpdateApplicationFeatureRequestTest.java index c42ecbbac4..7df9024f97 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/UpdateApplicationFeatureRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/UpdateApplicationFeatureRequestTest.java @@ -23,34 +23,33 @@ public final class UpdateApplicationFeatureRequestTest { @Test(expected = IllegalStateException.class) public void noApplicationId() { UpdateApplicationFeatureRequest.builder() - .applicationId("test-application-id") - .enabled(true) - .build(); + .applicationId("test-application-id") + .enabled(true) + .build(); } @Test(expected = IllegalStateException.class) public void noEnabled() { UpdateApplicationFeatureRequest.builder() - .applicationId("test-application-id") - .featureName("test-feature-name") - .build(); + .applicationId("test-application-id") + .featureName("test-feature-name") + .build(); } @Test(expected = IllegalStateException.class) public void noFeatureName() { UpdateApplicationFeatureRequest.builder() - .enabled(true) - .featureName("test-feature-name") - .build(); + .enabled(true) + .featureName("test-feature-name") + .build(); } @Test public void valid() { UpdateApplicationFeatureRequest.builder() - .applicationId("test-application-id") - .enabled(true) - .featureName("test-feature-name") - .build(); + .applicationId("test-application-id") + .enabled(true) + .featureName("test-feature-name") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/UpdateApplicationRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/UpdateApplicationRequestTest.java index 2a20e53c84..3f33e1dfd1 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/UpdateApplicationRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/applications/UpdateApplicationRequestTest.java @@ -22,15 +22,11 @@ public final class UpdateApplicationRequestTest { @Test(expected = IllegalStateException.class) public void noApplicationId() { - UpdateApplicationRequest.builder() - .build(); + UpdateApplicationRequest.builder().build(); } @Test public void valid() { - UpdateApplicationRequest.builder() - .applicationId("test-application-id") - .build(); + UpdateApplicationRequest.builder().applicationId("test-application-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/auditevents/GetAuditEventRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/auditevents/GetAuditEventRequestTest.java index 33e5886731..569d7dfbab 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/auditevents/GetAuditEventRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/auditevents/GetAuditEventRequestTest.java @@ -22,14 +22,11 @@ public final class GetAuditEventRequestTest { @Test(expected = IllegalStateException.class) public void invalid() { - GetAuditEventRequest.builder() - .build(); + GetAuditEventRequest.builder().build(); } @Test public void valid() { - GetAuditEventRequest.builder() - .eventId("test-event-id") - .build(); + GetAuditEventRequest.builder().eventId("test-event-id").build(); } } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/auditevents/ListAuditEventsRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/auditevents/ListAuditEventsRequestTest.java index c4c6295a78..b7ebf7b7af 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/auditevents/ListAuditEventsRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/auditevents/ListAuditEventsRequestTest.java @@ -22,24 +22,21 @@ public class ListAuditEventsRequestTest { @Test(expected = Exception.class) public void invalidWithNullableCollection() { - ListAuditEventsRequest.builder() - .organizationIds((String[]) null) - .build(); + ListAuditEventsRequest.builder().organizationIds((String[]) null).build(); } @Test public void valid() { ListAuditEventsRequest.builder() - .organizationIds("organization-id-1", "organization-id-2") - .type("test-type") - .orderBy("nothing") - .targetId("test-target-id") - .build(); + .organizationIds("organization-id-1", "organization-id-2") + .type("test-type") + .orderBy("nothing") + .targetId("test-target-id") + .build(); } @Test public void validWithEmptyCollections() { - ListAuditEventsRequest.builder() - .build(); + ListAuditEventsRequest.builder().build(); } } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/buildpacks/CreateBuildpackRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/buildpacks/CreateBuildpackRequestTest.java index f8aa0b5020..302a6ea734 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/buildpacks/CreateBuildpackRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/buildpacks/CreateBuildpackRequestTest.java @@ -22,15 +22,11 @@ public final class CreateBuildpackRequestTest { @Test(expected = IllegalStateException.class) public void noName() { - CreateBuildpackRequest.builder() - .build(); + CreateBuildpackRequest.builder().build(); } @Test public void valid() { - CreateBuildpackRequest.builder() - .name("test-buildpack-name") - .build(); + CreateBuildpackRequest.builder().name("test-buildpack-name").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/buildpacks/DeleteBuildpackRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/buildpacks/DeleteBuildpackRequestTest.java index 88b1e710c0..b31e888770 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/buildpacks/DeleteBuildpackRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/buildpacks/DeleteBuildpackRequestTest.java @@ -22,15 +22,11 @@ public class DeleteBuildpackRequestTest { @Test(expected = IllegalStateException.class) public void noBuildpackId() { - DeleteBuildpackRequest.builder() - .build(); + DeleteBuildpackRequest.builder().build(); } @Test public void valid() { - DeleteBuildpackRequest.builder() - .buildpackId("test-buildpack-id") - .build(); + DeleteBuildpackRequest.builder().buildpackId("test-buildpack-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/buildpacks/GetBuildpackRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/buildpacks/GetBuildpackRequestTest.java index f36f0ec48a..04da5d1179 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/buildpacks/GetBuildpackRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/buildpacks/GetBuildpackRequestTest.java @@ -22,15 +22,11 @@ public final class GetBuildpackRequestTest { @Test(expected = IllegalStateException.class) public void noBuildpackId() { - GetBuildpackRequest.builder() - .build(); + GetBuildpackRequest.builder().build(); } @Test public void valid() { - GetBuildpackRequest.builder() - .buildpackId("test-buildpack-id") - .build(); + GetBuildpackRequest.builder().buildpackId("test-buildpack-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/buildpacks/ListBuildpacksRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/buildpacks/ListBuildpacksRequestTest.java index 9dfd9a18a7..85cf2ce5f4 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/buildpacks/ListBuildpacksRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/buildpacks/ListBuildpacksRequestTest.java @@ -22,8 +22,6 @@ public final class ListBuildpacksRequestTest { @Test public void valid() { - ListBuildpacksRequest.builder() - .build(); + ListBuildpacksRequest.builder().build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/buildpacks/UpdateBuildpackRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/buildpacks/UpdateBuildpackRequestTest.java index 56c04219bb..6dfdc69d6e 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/buildpacks/UpdateBuildpackRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/buildpacks/UpdateBuildpackRequestTest.java @@ -22,15 +22,11 @@ public final class UpdateBuildpackRequestTest { @Test(expected = IllegalStateException.class) public void noBuildpackId() { - UpdateBuildpackRequest.builder() - .build(); + UpdateBuildpackRequest.builder().build(); } @Test public void valid() { - UpdateBuildpackRequest.builder() - .buildpackId("test-buildpack-id") - .build(); + UpdateBuildpackRequest.builder().buildpackId("test-buildpack-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/buildpacks/UploadBuildpackRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/buildpacks/UploadBuildpackRequestTest.java index c6dd0d3157..a63264b76c 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/buildpacks/UploadBuildpackRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/buildpacks/UploadBuildpackRequestTest.java @@ -16,10 +16,9 @@ package org.cloudfoundry.client.v3.buildpacks; -import org.junit.Test; - import java.nio.file.Path; import java.nio.file.Paths; +import org.junit.Test; public final class UploadBuildpackRequestTest { @@ -27,24 +26,19 @@ public final class UploadBuildpackRequestTest { @Test(expected = IllegalStateException.class) public void noBits() { - UploadBuildpackRequest.builder() - .buildpackId("test-buildpack-id") - .build(); + UploadBuildpackRequest.builder().buildpackId("test-buildpack-id").build(); } @Test(expected = IllegalStateException.class) public void noBuildpackId() { - UploadBuildpackRequest.builder() - .bits(TEST_BUILDPACK) - .build(); + UploadBuildpackRequest.builder().bits(TEST_BUILDPACK).build(); } @Test public void valid() { UploadBuildpackRequest.builder() - .bits(TEST_BUILDPACK) - .buildpackId("test-buildpack-id") - .build(); + .bits(TEST_BUILDPACK) + .buildpackId("test-buildpack-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/builds/CreateBuildRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/builds/CreateBuildRequestTest.java index 0e86b9dace..b4af8151ea 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/builds/CreateBuildRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/builds/CreateBuildRequestTest.java @@ -23,17 +23,13 @@ public final class CreateBuildRequestTest { @Test(expected = IllegalStateException.class) public void noPackage() { - CreateBuildRequest.builder() - .build(); + CreateBuildRequest.builder().build(); } @Test public void valid() { CreateBuildRequest.builder() - .getPackage(Relationship.builder() - .id("test-id") - .build()) - .build(); + .getPackage(Relationship.builder().id("test-id").build()) + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/builds/GetBuildRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/builds/GetBuildRequestTest.java index 88fc0c5234..fd268ba329 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/builds/GetBuildRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/builds/GetBuildRequestTest.java @@ -22,15 +22,11 @@ public final class GetBuildRequestTest { @Test(expected = IllegalStateException.class) public void noBuildId() { - GetBuildRequest.builder() - .build(); + GetBuildRequest.builder().build(); } @Test public void valid() { - GetBuildRequest.builder() - .buildId("test-build-id") - .build(); + GetBuildRequest.builder().buildId("test-build-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/builds/ListBuildsRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/builds/ListBuildsRequestTest.java index fb9fc466fd..97dbbce391 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/builds/ListBuildsRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/builds/ListBuildsRequestTest.java @@ -22,8 +22,6 @@ public final class ListBuildsRequestTest { @Test public void valid() { - ListBuildsRequest.builder() - .build(); + ListBuildsRequest.builder().build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/deployments/CancelDeploymentRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/deployments/CancelDeploymentRequestTest.java index 16ab52312d..af0ed07c52 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/deployments/CancelDeploymentRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/deployments/CancelDeploymentRequestTest.java @@ -22,15 +22,11 @@ public final class CancelDeploymentRequestTest { @Test(expected = IllegalStateException.class) public void noDeploymentId() { - CancelDeploymentRequest.builder() - .build(); + CancelDeploymentRequest.builder().build(); } @Test public void valid() { - CancelDeploymentRequest.builder() - .deploymentId("test-deployment-id") - .build(); + CancelDeploymentRequest.builder().deploymentId("test-deployment-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/deployments/CreateDeploymentRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/deployments/CreateDeploymentRequestTest.java index 3e25802e52..baa15f506f 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/deployments/CreateDeploymentRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/deployments/CreateDeploymentRequestTest.java @@ -25,34 +25,34 @@ public final class CreateDeploymentRequestTest { @Test public void noDropletValid() { CreateDeploymentRequest.builder() - .relationships(DeploymentRelationships.builder() - .app(ToOneRelationship.builder() - .data(Relationship.builder() - .id("app-id") - .build()) - .build()) - .build()) - .build(); + .relationships( + DeploymentRelationships.builder() + .app( + ToOneRelationship.builder() + .data(Relationship.builder().id("app-id").build()) + .build()) + .build()) + .build(); } @Test(expected = IllegalStateException.class) public void noRelationships() { CreateDeploymentRequest.builder() - .droplet(Relationship.builder().id("droplet-id").build()) - .build(); + .droplet(Relationship.builder().id("droplet-id").build()) + .build(); } @Test public void valid() { CreateDeploymentRequest.builder() - .droplet(Relationship.builder().id("droplet-id").build()) - .relationships(DeploymentRelationships.builder() - .app(ToOneRelationship.builder() - .data(Relationship.builder() - .id("app-id") - .build()) - .build()) - .build()) - .build(); + .droplet(Relationship.builder().id("droplet-id").build()) + .relationships( + DeploymentRelationships.builder() + .app( + ToOneRelationship.builder() + .data(Relationship.builder().id("app-id").build()) + .build()) + .build()) + .build(); } } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/deployments/GetDeploymentTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/deployments/GetDeploymentTest.java index 45642ccd3c..2b88f59146 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/deployments/GetDeploymentTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/deployments/GetDeploymentTest.java @@ -22,15 +22,11 @@ public final class GetDeploymentTest { @Test(expected = IllegalStateException.class) public void noDeploymentId() { - GetDeploymentRequest.builder() - .build(); + GetDeploymentRequest.builder().build(); } @Test public void valid() { - GetDeploymentRequest.builder() - .deploymentId("deployment-id") - .build(); + GetDeploymentRequest.builder().deploymentId("deployment-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/deployments/ListDeploymentsRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/deployments/ListDeploymentsRequestTest.java index 26826c26a5..8c7ba9b8ff 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/deployments/ListDeploymentsRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/deployments/ListDeploymentsRequestTest.java @@ -22,8 +22,6 @@ public final class ListDeploymentsRequestTest { @Test public void valid() { - ListDeploymentsRequest.builder() - .build(); + ListDeploymentsRequest.builder().build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/domains/CheckReservedRoutesRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/domains/CheckReservedRoutesRequestTest.java index cefee1e861..9ef9505a18 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/domains/CheckReservedRoutesRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/domains/CheckReservedRoutesRequestTest.java @@ -22,15 +22,11 @@ public final class CheckReservedRoutesRequestTest { @Test(expected = IllegalStateException.class) public void noDomainId() { - CheckReservedRoutesRequest.builder() - .build(); + CheckReservedRoutesRequest.builder().build(); } @Test public void valid() { - CheckReservedRoutesRequest.builder() - .domainId("test-domain-id") - .build(); + CheckReservedRoutesRequest.builder().domainId("test-domain-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/domains/CreateDomainRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/domains/CreateDomainRequestTest.java index a26236632f..0d11f90e09 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/domains/CreateDomainRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/domains/CreateDomainRequestTest.java @@ -25,31 +25,35 @@ public final class CreateDomainRequestTest { @Test(expected = IllegalStateException.class) public void noName() { - CreateDomainRequest.builder() - .build(); + CreateDomainRequest.builder().build(); } @Test public void valid() { CreateDomainRequest.builder() - .name("test-domain-name") - .internal(true) - .relationships(DomainRelationships.builder() - .organization(ToOneRelationship.builder() - .data(Relationship.builder() - .id("test-org-id") - .build()) - .build()) - .sharedOrganizations(ToManyRelationship.builder() - .data(Relationship.builder() - .id("shared-org-id-1") - .build()) - .data(Relationship.builder() - .id("shared-org-id-2") - .build()) - .build()) - .build()) - .build(); + .name("test-domain-name") + .internal(true) + .relationships( + DomainRelationships.builder() + .organization( + ToOneRelationship.builder() + .data( + Relationship.builder() + .id("test-org-id") + .build()) + .build()) + .sharedOrganizations( + ToManyRelationship.builder() + .data( + Relationship.builder() + .id("shared-org-id-1") + .build()) + .data( + Relationship.builder() + .id("shared-org-id-2") + .build()) + .build()) + .build()) + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/domains/DeleteDomainRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/domains/DeleteDomainRequestTest.java index aad714ac7b..1bb86a442e 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/domains/DeleteDomainRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/domains/DeleteDomainRequestTest.java @@ -22,15 +22,11 @@ public final class DeleteDomainRequestTest { @Test(expected = IllegalStateException.class) public void noDomainId() { - DeleteDomainRequest.builder() - .build(); + DeleteDomainRequest.builder().build(); } @Test public void valid() { - DeleteDomainRequest.builder() - .domainId("test-domain-id") - .build(); + DeleteDomainRequest.builder().domainId("test-domain-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/domains/GetDomainRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/domains/GetDomainRequestTest.java index 6df976eff4..322f18e6cd 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/domains/GetDomainRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/domains/GetDomainRequestTest.java @@ -22,15 +22,11 @@ public final class GetDomainRequestTest { @Test(expected = IllegalStateException.class) public void noDomainId() { - GetDomainRequest.builder() - .build(); + GetDomainRequest.builder().build(); } @Test public void valid() { - GetDomainRequest.builder() - .domainId("test-domain-id") - .build(); + GetDomainRequest.builder().domainId("test-domain-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/domains/ListDomainsRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/domains/ListDomainsRequestTest.java index 0b4b7c7287..ca5e247bd9 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/domains/ListDomainsRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/domains/ListDomainsRequestTest.java @@ -22,8 +22,6 @@ public final class ListDomainsRequestTest { @Test public void valid() { - ListDomainsRequest.builder() - .build(); + ListDomainsRequest.builder().build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/domains/ShareDomainRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/domains/ShareDomainRequestTest.java index fb693fea67..c50196728d 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/domains/ShareDomainRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/domains/ShareDomainRequestTest.java @@ -24,28 +24,23 @@ public final class ShareDomainRequestTest { @Test(expected = IllegalStateException.class) public void emptyRelationship() { ShareDomainRequest.builder() - .domainId("test-domain-id") - .data(Relationship.builder().build()) - .build(); + .domainId("test-domain-id") + .data(Relationship.builder().build()) + .build(); } @Test(expected = IllegalStateException.class) public void noDomainId() { ShareDomainRequest.builder() - .data(Relationship.builder() - .id("shared-organization-id") - .build()) - .build(); + .data(Relationship.builder().id("shared-organization-id").build()) + .build(); } @Test public void valid() { ShareDomainRequest.builder() - .domainId("test-domain-id") - .data(Relationship.builder() - .id("shared-organization-id") - .build()) - .build(); + .domainId("test-domain-id") + .data(Relationship.builder().id("shared-organization-id").build()) + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/domains/UnshareDomainRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/domains/UnshareDomainRequestTest.java index 47e7cbde8e..f91e2d82e1 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/domains/UnshareDomainRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/domains/UnshareDomainRequestTest.java @@ -22,24 +22,19 @@ public final class UnshareDomainRequestTest { @Test(expected = IllegalStateException.class) public void noDomainId() { - UnshareDomainRequest.builder() - .organizationId("test-org-id") - .build(); + UnshareDomainRequest.builder().organizationId("test-org-id").build(); } @Test(expected = IllegalStateException.class) public void noOrganizationId() { - UnshareDomainRequest.builder() - .domainId("test-domain-id") - .build(); + UnshareDomainRequest.builder().domainId("test-domain-id").build(); } @Test public void valid() { UnshareDomainRequest.builder() - .domainId("test-domain-id") - .organizationId("test-org-id") - .build(); + .domainId("test-domain-id") + .organizationId("test-org-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/domains/UpdateDomainRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/domains/UpdateDomainRequestTest.java index fe1ffdd8d8..7dff451aef 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/domains/UpdateDomainRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/domains/UpdateDomainRequestTest.java @@ -23,18 +23,14 @@ public final class UpdateDomainRequestTest { @Test(expected = IllegalStateException.class) public void noDomainId() { - UpdateDomainRequest.builder() - .build(); + UpdateDomainRequest.builder().build(); } @Test public void valid() { UpdateDomainRequest.builder() - .domainId("test-domain-id") - .metadata(Metadata.builder() - .label("test-label-key", "test-label-value") - .build()) - .build(); + .domainId("test-domain-id") + .metadata(Metadata.builder().label("test-label-key", "test-label-value").build()) + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/droplets/CopyDropletRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/droplets/CopyDropletRequestTest.java index bc6434b2f5..1aeb82b2dc 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/droplets/CopyDropletRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/droplets/CopyDropletRequestTest.java @@ -24,36 +24,33 @@ public final class CopyDropletRequestTest { @Test(expected = IllegalStateException.class) public void noRelationships() { - CopyDropletRequest.builder() - .sourceDropletId("test-source-id") - .build(); + CopyDropletRequest.builder().sourceDropletId("test-source-id").build(); } @Test(expected = IllegalStateException.class) public void noSourceDropletId() { CopyDropletRequest.builder() - .relationships(DropletRelationships.builder() - .application(ToOneRelationship.builder() - .data(Relationship.builder() - .id("test-id") - .build()) - .build()) - .build()) - .build(); + .relationships( + DropletRelationships.builder() + .application( + ToOneRelationship.builder() + .data(Relationship.builder().id("test-id").build()) + .build()) + .build()) + .build(); } @Test public void valid() { CopyDropletRequest.builder() - .relationships(DropletRelationships.builder() - .application(ToOneRelationship.builder() - .data(Relationship.builder() - .id("test-id") - .build()) - .build()) - .build()) - .sourceDropletId("test-source-id") - .build(); + .relationships( + DropletRelationships.builder() + .application( + ToOneRelationship.builder() + .data(Relationship.builder().id("test-id").build()) + .build()) + .build()) + .sourceDropletId("test-source-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/droplets/DeleteDropletRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/droplets/DeleteDropletRequestTest.java index 59b94af304..a544819600 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/droplets/DeleteDropletRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/droplets/DeleteDropletRequestTest.java @@ -22,15 +22,11 @@ public final class DeleteDropletRequestTest { @Test(expected = IllegalStateException.class) public void noDropletId() { - DeleteDropletRequest.builder() - .build(); + DeleteDropletRequest.builder().build(); } @Test public void valid() { - DeleteDropletRequest.builder() - .dropletId("test-droplet-id") - .build(); + DeleteDropletRequest.builder().dropletId("test-droplet-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/droplets/GetDropletRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/droplets/GetDropletRequestTest.java index c0b683b2f2..6d0f9693d9 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/droplets/GetDropletRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/droplets/GetDropletRequestTest.java @@ -22,15 +22,11 @@ public final class GetDropletRequestTest { @Test(expected = IllegalStateException.class) public void noDropletId() { - GetDropletRequest.builder() - .build(); + GetDropletRequest.builder().build(); } @Test public void valid() { - GetDropletRequest.builder() - .dropletId("test-droplet-id") - .build(); + GetDropletRequest.builder().dropletId("test-droplet-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/droplets/ListDropletsRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/droplets/ListDropletsRequestTest.java index 695747d94c..85ab08b590 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/droplets/ListDropletsRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/droplets/ListDropletsRequestTest.java @@ -22,8 +22,6 @@ public final class ListDropletsRequestTest { @Test public void valid() { - ListDropletsRequest.builder() - .build(); + ListDropletsRequest.builder().build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/isolationsegments/AddIsolationSegmentOrganizationEntitlementRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/isolationsegments/AddIsolationSegmentOrganizationEntitlementRequestTest.java index 12391af560..b14b446e9c 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/isolationsegments/AddIsolationSegmentOrganizationEntitlementRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/isolationsegments/AddIsolationSegmentOrganizationEntitlementRequestTest.java @@ -24,17 +24,14 @@ public final class AddIsolationSegmentOrganizationEntitlementRequestTest { @Test(expected = IllegalStateException.class) public void noIsolationSegmentId() { AddIsolationSegmentOrganizationEntitlementRequest.builder() - .data(Relationship.builder() - .id("test-organization-id") - .build()) - .build(); + .data(Relationship.builder().id("test-organization-id").build()) + .build(); } @Test public void valid() { AddIsolationSegmentOrganizationEntitlementRequest.builder() - .isolationSegmentId("test-isolation-segment-id") - .build(); + .isolationSegmentId("test-isolation-segment-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/isolationsegments/CreateIsolationSegmentRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/isolationsegments/CreateIsolationSegmentRequestTest.java index 8ceeb2356e..184bdccb51 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/isolationsegments/CreateIsolationSegmentRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/isolationsegments/CreateIsolationSegmentRequestTest.java @@ -22,15 +22,11 @@ public final class CreateIsolationSegmentRequestTest { @Test(expected = IllegalStateException.class) public void noName() { - CreateIsolationSegmentRequest.builder() - .build(); + CreateIsolationSegmentRequest.builder().build(); } @Test public void valid() { - CreateIsolationSegmentRequest.builder() - .name("test-name") - .build(); + CreateIsolationSegmentRequest.builder().name("test-name").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/isolationsegments/DeleteIsolationSegmentRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/isolationsegments/DeleteIsolationSegmentRequestTest.java index 03a02d1596..6864c86abc 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/isolationsegments/DeleteIsolationSegmentRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/isolationsegments/DeleteIsolationSegmentRequestTest.java @@ -22,15 +22,11 @@ public final class DeleteIsolationSegmentRequestTest { @Test(expected = IllegalStateException.class) public void noId() { - DeleteIsolationSegmentRequest.builder() - .build(); + DeleteIsolationSegmentRequest.builder().build(); } @Test public void valid() { - DeleteIsolationSegmentRequest.builder() - .isolationSegmentId("test-id") - .build(); + DeleteIsolationSegmentRequest.builder().isolationSegmentId("test-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/isolationsegments/GetIsolationSegmentRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/isolationsegments/GetIsolationSegmentRequestTest.java index d204dabe19..4a67dc02ae 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/isolationsegments/GetIsolationSegmentRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/isolationsegments/GetIsolationSegmentRequestTest.java @@ -22,15 +22,11 @@ public final class GetIsolationSegmentRequestTest { @Test(expected = IllegalStateException.class) public void noId() { - GetIsolationSegmentRequest.builder() - .build(); + GetIsolationSegmentRequest.builder().build(); } @Test public void valid() { - GetIsolationSegmentRequest.builder() - .isolationSegmentId("test-id") - .build(); + GetIsolationSegmentRequest.builder().isolationSegmentId("test-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/isolationsegments/ListIsolationSegmentEntitledOrganizationsRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/isolationsegments/ListIsolationSegmentEntitledOrganizationsRequestTest.java index 845cbc9670..ea074cea2d 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/isolationsegments/ListIsolationSegmentEntitledOrganizationsRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/isolationsegments/ListIsolationSegmentEntitledOrganizationsRequestTest.java @@ -22,15 +22,13 @@ public final class ListIsolationSegmentEntitledOrganizationsRequestTest { @Test(expected = IllegalStateException.class) public void noId() { - ListIsolationSegmentEntitledOrganizationsRequest.builder() - .build(); + ListIsolationSegmentEntitledOrganizationsRequest.builder().build(); } @Test public void valid() { ListIsolationSegmentEntitledOrganizationsRequest.builder() - .isolationSegmentId("test-isolation-segment-id") - .build(); + .isolationSegmentId("test-isolation-segment-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/isolationsegments/ListIsolationSegmentOrganizationsRelationshipRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/isolationsegments/ListIsolationSegmentOrganizationsRelationshipRequestTest.java index e39e867824..a445a36d34 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/isolationsegments/ListIsolationSegmentOrganizationsRelationshipRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/isolationsegments/ListIsolationSegmentOrganizationsRelationshipRequestTest.java @@ -22,15 +22,13 @@ public final class ListIsolationSegmentOrganizationsRelationshipRequestTest { @Test(expected = IllegalStateException.class) public void noIsolationSegmentId() { - ListIsolationSegmentOrganizationsRelationshipRequest.builder() - .build(); + ListIsolationSegmentOrganizationsRelationshipRequest.builder().build(); } @Test public void valid() { ListIsolationSegmentOrganizationsRelationshipRequest.builder() - .isolationSegmentId("test-isolation-segment-id") - .build(); + .isolationSegmentId("test-isolation-segment-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/isolationsegments/ListIsolationSegmentSpacesRelationshipRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/isolationsegments/ListIsolationSegmentSpacesRelationshipRequestTest.java index a4c17c4fff..460cbc15b0 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/isolationsegments/ListIsolationSegmentSpacesRelationshipRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/isolationsegments/ListIsolationSegmentSpacesRelationshipRequestTest.java @@ -22,15 +22,13 @@ public final class ListIsolationSegmentSpacesRelationshipRequestTest { @Test(expected = IllegalStateException.class) public void noIsolationSegmentId() { - ListIsolationSegmentSpacesRelationshipRequest.builder() - .build(); + ListIsolationSegmentSpacesRelationshipRequest.builder().build(); } @Test public void valid() { ListIsolationSegmentSpacesRelationshipRequest.builder() - .isolationSegmentId("test-isolation-segment-id") - .build(); + .isolationSegmentId("test-isolation-segment-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/isolationsegments/ListIsolationSegmentsRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/isolationsegments/ListIsolationSegmentsRequestTest.java index 979a721065..634219b07b 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/isolationsegments/ListIsolationSegmentsRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/isolationsegments/ListIsolationSegmentsRequestTest.java @@ -22,8 +22,6 @@ public final class ListIsolationSegmentsRequestTest { @Test public void valid() { - ListIsolationSegmentsRequest.builder() - .build(); + ListIsolationSegmentsRequest.builder().build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/isolationsegments/RemoveIsolationSegmentOrganizationEntitlementRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/isolationsegments/RemoveIsolationSegmentOrganizationEntitlementRequestTest.java index 1ae21b4950..d8d5450cfe 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/isolationsegments/RemoveIsolationSegmentOrganizationEntitlementRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/isolationsegments/RemoveIsolationSegmentOrganizationEntitlementRequestTest.java @@ -23,23 +23,22 @@ public final class RemoveIsolationSegmentOrganizationEntitlementRequestTest { @Test(expected = IllegalStateException.class) public void noIsolationSegmentId() { RemoveIsolationSegmentOrganizationEntitlementRequest.builder() - .organizationId("test-organization-id") - .build(); + .organizationId("test-organization-id") + .build(); } @Test(expected = IllegalStateException.class) public void noOrganizationId() { RemoveIsolationSegmentOrganizationEntitlementRequest.builder() - .isolationSegmentId("test-isolation-segment-id") - .build(); + .isolationSegmentId("test-isolation-segment-id") + .build(); } @Test public void valid() { RemoveIsolationSegmentOrganizationEntitlementRequest.builder() - .isolationSegmentId("test-isolation-segment-id") - .organizationId("test-organization-id") - .build(); + .isolationSegmentId("test-isolation-segment-id") + .organizationId("test-organization-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/isolationsegments/UpdateIsolationSegmentRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/isolationsegments/UpdateIsolationSegmentRequestTest.java index 9aa868f4ef..3e8b4cb5d5 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/isolationsegments/UpdateIsolationSegmentRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/isolationsegments/UpdateIsolationSegmentRequestTest.java @@ -22,24 +22,19 @@ public final class UpdateIsolationSegmentRequestTest { @Test(expected = IllegalStateException.class) public void noId() { - UpdateIsolationSegmentRequest.builder() - .name("test-name") - .build(); + UpdateIsolationSegmentRequest.builder().name("test-name").build(); } @Test(expected = IllegalStateException.class) public void noName() { - UpdateIsolationSegmentRequest.builder() - .isolationSegmentId("test-id") - .build(); + UpdateIsolationSegmentRequest.builder().isolationSegmentId("test-id").build(); } @Test public void valid() { UpdateIsolationSegmentRequest.builder() - .isolationSegmentId("test-id") - .name("test-name") - .build(); + .isolationSegmentId("test-id") + .name("test-name") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/organizations/AssignOrganizationDefaultIsolationSegmentRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/organizations/AssignOrganizationDefaultIsolationSegmentRequestTest.java index 40efb8bc0a..6fbb3a2b29 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/organizations/AssignOrganizationDefaultIsolationSegmentRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/organizations/AssignOrganizationDefaultIsolationSegmentRequestTest.java @@ -24,27 +24,22 @@ public final class AssignOrganizationDefaultIsolationSegmentRequestTest { @Test(expected = IllegalStateException.class) public void noOrganizationId() { AssignOrganizationDefaultIsolationSegmentRequest.builder() - .data(Relationship.builder() - .id("test-isolation-segment-id") - .build()) - .build(); + .data(Relationship.builder().id("test-isolation-segment-id").build()) + .build(); } @Test public void validData() { AssignOrganizationDefaultIsolationSegmentRequest.builder() - .data(Relationship.builder() - .id("test-isolation-segment-id") - .build()) - .organizationId("test-organization-id") - .build(); + .data(Relationship.builder().id("test-isolation-segment-id").build()) + .organizationId("test-organization-id") + .build(); } @Test public void validNoData() { AssignOrganizationDefaultIsolationSegmentRequest.builder() - .organizationId("test-organization-id") - .build(); + .organizationId("test-organization-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/organizations/CreateOrganizationRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/organizations/CreateOrganizationRequestTest.java index 0e5f156a47..0a1361e06c 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/organizations/CreateOrganizationRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/organizations/CreateOrganizationRequestTest.java @@ -22,15 +22,11 @@ public final class CreateOrganizationRequestTest { @Test(expected = IllegalStateException.class) public void noName() { - CreateOrganizationRequest.builder() - .build(); + CreateOrganizationRequest.builder().build(); } @Test public void valid() { - CreateOrganizationRequest.builder() - .name("test-name") - .build(); + CreateOrganizationRequest.builder().name("test-name").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/organizations/DeleteOrganizationRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/organizations/DeleteOrganizationRequestTest.java index 6c689b920e..d8a3c6b285 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/organizations/DeleteOrganizationRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/organizations/DeleteOrganizationRequestTest.java @@ -22,15 +22,11 @@ public final class DeleteOrganizationRequestTest { @Test(expected = IllegalStateException.class) public void noOrganizationId() { - GetOrganizationRequest.builder() - .build(); + GetOrganizationRequest.builder().build(); } @Test public void valid() { - GetOrganizationRequest.builder() - .organizationId("test-id") - .build(); + GetOrganizationRequest.builder().organizationId("test-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/organizations/GetOrganizationDefaultIsolationSegmentRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/organizations/GetOrganizationDefaultIsolationSegmentRequestTest.java index 7942f95d97..8ae3957599 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/organizations/GetOrganizationDefaultIsolationSegmentRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/organizations/GetOrganizationDefaultIsolationSegmentRequestTest.java @@ -22,15 +22,13 @@ public final class GetOrganizationDefaultIsolationSegmentRequestTest { @Test(expected = IllegalStateException.class) public void noOrganizationId() { - GetOrganizationDefaultIsolationSegmentRequest.builder() - .build(); + GetOrganizationDefaultIsolationSegmentRequest.builder().build(); } @Test public void valid() { GetOrganizationDefaultIsolationSegmentRequest.builder() - .organizationId("test-organization-id") - .build(); + .organizationId("test-organization-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/organizations/GetOrganizationRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/organizations/GetOrganizationRequestTest.java index c24eb00067..269ffdf280 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/organizations/GetOrganizationRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/organizations/GetOrganizationRequestTest.java @@ -22,15 +22,11 @@ public final class GetOrganizationRequestTest { @Test(expected = IllegalStateException.class) public void noOrganizationId() { - GetOrganizationRequest.builder() - .build(); + GetOrganizationRequest.builder().build(); } @Test public void valid() { - GetOrganizationRequest.builder() - .organizationId("test-id") - .build(); + GetOrganizationRequest.builder().organizationId("test-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/organizations/GetOrganizationUsageSummaryRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/organizations/GetOrganizationUsageSummaryRequestTest.java index 780eaa33c5..d16a986c28 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/organizations/GetOrganizationUsageSummaryRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/organizations/GetOrganizationUsageSummaryRequestTest.java @@ -22,15 +22,11 @@ public final class GetOrganizationUsageSummaryRequestTest { @Test(expected = IllegalStateException.class) public void noOrganizationId() { - GetOrganizationRequest.builder() - .build(); + GetOrganizationRequest.builder().build(); } @Test public void valid() { - GetOrganizationRequest.builder() - .organizationId("test-id") - .build(); + GetOrganizationRequest.builder().organizationId("test-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/organizations/ListOrganizationDomainsRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/organizations/ListOrganizationDomainsRequestTest.java index 7e6b6f0058..437345f569 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/organizations/ListOrganizationDomainsRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/organizations/ListOrganizationDomainsRequestTest.java @@ -22,15 +22,11 @@ public final class ListOrganizationDomainsRequestTest { @Test(expected = IllegalStateException.class) public void noOrganizationId() { - ListOrganizationDomainsRequest.builder() - .build(); + ListOrganizationDomainsRequest.builder().build(); } @Test public void valid() { - ListOrganizationDomainsRequest.builder() - .organizationId("test-organization-id") - .build(); + ListOrganizationDomainsRequest.builder().organizationId("test-organization-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/organizations/ListOrganizationsRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/organizations/ListOrganizationsRequestTest.java index 49e721651e..b418992959 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/organizations/ListOrganizationsRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/organizations/ListOrganizationsRequestTest.java @@ -22,8 +22,6 @@ public final class ListOrganizationsRequestTest { @Test public void valid() { - ListOrganizationsRequest.builder() - .build(); + ListOrganizationsRequest.builder().build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/packages/CopyPackageRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/packages/CopyPackageRequestTest.java index 8c09bf4b5a..b20d7cdb41 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/packages/CopyPackageRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/packages/CopyPackageRequestTest.java @@ -24,36 +24,33 @@ public final class CopyPackageRequestTest { @Test(expected = IllegalStateException.class) public void noRelationships() { - CopyPackageRequest.builder() - .sourcePackageId("test-source-package-id") - .build(); + CopyPackageRequest.builder().sourcePackageId("test-source-package-id").build(); } @Test(expected = IllegalStateException.class) public void noSourcePackageId() { CopyPackageRequest.builder() - .relationships(PackageRelationships.builder() - .application(ToOneRelationship.builder() - .data(Relationship.builder() - .id("test-id") - .build()) - .build()) - .build()) - .build(); + .relationships( + PackageRelationships.builder() + .application( + ToOneRelationship.builder() + .data(Relationship.builder().id("test-id").build()) + .build()) + .build()) + .build(); } @Test public void valid() { CopyPackageRequest.builder() - .relationships(PackageRelationships.builder() - .application(ToOneRelationship.builder() - .data(Relationship.builder() - .id("test-id") - .build()) - .build()) - .build()) - .sourcePackageId("test-source-package-id") - .build(); + .relationships( + PackageRelationships.builder() + .application( + ToOneRelationship.builder() + .data(Relationship.builder().id("test-id").build()) + .build()) + .build()) + .sourcePackageId("test-source-package-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/packages/CreatePackageRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/packages/CreatePackageRequestTest.java index 4fa8f09b56..86f4685b90 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/packages/CreatePackageRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/packages/CreatePackageRequestTest.java @@ -16,52 +16,45 @@ package org.cloudfoundry.client.v3.packages; +import static org.cloudfoundry.client.v3.packages.PackageType.BITS; + import org.cloudfoundry.client.v3.Relationship; import org.cloudfoundry.client.v3.ToOneRelationship; import org.junit.Test; -import static org.cloudfoundry.client.v3.packages.PackageType.BITS; - public final class CreatePackageRequestTest { @Test(expected = IllegalStateException.class) public void noRelationships() { - CreatePackageRequest.builder() - .data(BitsData.builder() - .build()) - .type(BITS) - .build(); + CreatePackageRequest.builder().data(BitsData.builder().build()).type(BITS).build(); } @Test(expected = IllegalStateException.class) public void noType() { CreatePackageRequest.builder() - .data(BitsData.builder() - .build()) - .relationships(PackageRelationships.builder() - .application(ToOneRelationship.builder() - .data(Relationship.builder() - .id("test-id") - .build()) - .build()) - .build()) - .build(); + .data(BitsData.builder().build()) + .relationships( + PackageRelationships.builder() + .application( + ToOneRelationship.builder() + .data(Relationship.builder().id("test-id").build()) + .build()) + .build()) + .build(); } @Test public void valid() { CreatePackageRequest.builder() - .data(BitsData.builder() - .build()) - .relationships(PackageRelationships.builder() - .application(ToOneRelationship.builder() - .data(Relationship.builder() - .id("test-id") - .build()) - .build()) - .build()) - .type(BITS) - .build(); + .data(BitsData.builder().build()) + .relationships( + PackageRelationships.builder() + .application( + ToOneRelationship.builder() + .data(Relationship.builder().id("test-id").build()) + .build()) + .build()) + .type(BITS) + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/packages/DeletePackageRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/packages/DeletePackageRequestTest.java index f07de011fc..16b3a9c104 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/packages/DeletePackageRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/packages/DeletePackageRequestTest.java @@ -22,15 +22,11 @@ public final class DeletePackageRequestTest { @Test(expected = IllegalStateException.class) public void noPackageId() { - DeletePackageRequest.builder() - .build(); + DeletePackageRequest.builder().build(); } @Test public void valid() { - DeletePackageRequest.builder() - .packageId("test-package-id") - .build(); + DeletePackageRequest.builder().packageId("test-package-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/packages/DownloadPackageRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/packages/DownloadPackageRequestTest.java index c97c5f0c23..51f451a064 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/packages/DownloadPackageRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/packages/DownloadPackageRequestTest.java @@ -22,15 +22,11 @@ public final class DownloadPackageRequestTest { @Test(expected = IllegalStateException.class) public void noPackageId() { - DownloadPackageRequest.builder() - .build(); + DownloadPackageRequest.builder().build(); } @Test public void valid() { - DownloadPackageRequest.builder() - .packageId("test-package-id") - .build(); + DownloadPackageRequest.builder().packageId("test-package-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/packages/GetPackageRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/packages/GetPackageRequestTest.java index f1d7ea555b..4aacb03579 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/packages/GetPackageRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/packages/GetPackageRequestTest.java @@ -22,15 +22,11 @@ public final class GetPackageRequestTest { @Test(expected = IllegalStateException.class) public void noPackageId() { - GetPackageRequest.builder() - .build(); + GetPackageRequest.builder().build(); } @Test public void valid() { - GetPackageRequest.builder() - .packageId("test-package-id") - .build(); + GetPackageRequest.builder().packageId("test-package-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/packages/ListPackageDropletsRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/packages/ListPackageDropletsRequestTest.java index 6fa1a4415b..f3bdf84f58 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/packages/ListPackageDropletsRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/packages/ListPackageDropletsRequestTest.java @@ -22,15 +22,11 @@ public final class ListPackageDropletsRequestTest { @Test(expected = IllegalStateException.class) public void noPackageId() { - ListPackageDropletsRequest.builder() - .build(); + ListPackageDropletsRequest.builder().build(); } @Test public void valid() { - ListPackageDropletsRequest.builder() - .packageId("test-package-id") - .build(); + ListPackageDropletsRequest.builder().packageId("test-package-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/packages/ListPackagesRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/packages/ListPackagesRequestTest.java index 29d64825bd..9178d69937 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/packages/ListPackagesRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/packages/ListPackagesRequestTest.java @@ -22,8 +22,6 @@ public final class ListPackagesRequestTest { @Test public void valid() { - ListPackagesRequest.builder() - .build(); + ListPackagesRequest.builder().build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/packages/UploadPackageRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/packages/UploadPackageRequestTest.java index 1a6d33164e..78478b12f7 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/packages/UploadPackageRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/packages/UploadPackageRequestTest.java @@ -16,10 +16,9 @@ package org.cloudfoundry.client.v3.packages; -import org.junit.Test; - import java.nio.file.Path; import java.nio.file.Paths; +import org.junit.Test; public final class UploadPackageRequestTest { @@ -27,24 +26,16 @@ public final class UploadPackageRequestTest { @Test(expected = IllegalStateException.class) public void neitherBitsNorResources() { - UploadPackageRequest.builder() - .packageId("test-package-id") - .build(); + UploadPackageRequest.builder().packageId("test-package-id").build(); } @Test(expected = IllegalStateException.class) public void noPackageId() { - UploadPackageRequest.builder() - .bits(TEST_PACKAGE) - .build(); + UploadPackageRequest.builder().bits(TEST_PACKAGE).build(); } @Test public void valid() { - UploadPackageRequest.builder() - .bits(TEST_PACKAGE) - .packageId("test-package-id") - .build(); + UploadPackageRequest.builder().bits(TEST_PACKAGE).packageId("test-package-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/processes/GetProcessRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/processes/GetProcessRequestTest.java index 77f448654f..6c462ae673 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/processes/GetProcessRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/processes/GetProcessRequestTest.java @@ -22,15 +22,11 @@ public final class GetProcessRequestTest { @Test(expected = IllegalStateException.class) public void noProcessId() { - GetProcessRequest.builder() - .build(); + GetProcessRequest.builder().build(); } @Test public void valid() { - GetProcessRequest.builder() - .processId("test-process-id") - .build(); + GetProcessRequest.builder().processId("test-process-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/processes/GetProcessStatisticsRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/processes/GetProcessStatisticsRequestTest.java index 4457460b68..20dc7d04d1 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/processes/GetProcessStatisticsRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/processes/GetProcessStatisticsRequestTest.java @@ -22,15 +22,11 @@ public final class GetProcessStatisticsRequestTest { @Test(expected = IllegalStateException.class) public void noProcessId() { - GetProcessStatisticsRequest.builder() - .build(); + GetProcessStatisticsRequest.builder().build(); } @Test public void valid() { - GetProcessStatisticsRequest.builder() - .processId("test-id") - .build(); + GetProcessStatisticsRequest.builder().processId("test-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/processes/ListProcessesRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/processes/ListProcessesRequestTest.java index af204b308a..89aedb295b 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/processes/ListProcessesRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/processes/ListProcessesRequestTest.java @@ -22,8 +22,6 @@ public final class ListProcessesRequestTest { @Test public void valid() { - ListProcessesRequest.builder() - .build(); + ListProcessesRequest.builder().build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/processes/ScaleProcessRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/processes/ScaleProcessRequestTest.java index 2dab2bf6a5..2f69b596f2 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/processes/ScaleProcessRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/processes/ScaleProcessRequestTest.java @@ -22,15 +22,11 @@ public final class ScaleProcessRequestTest { @Test(expected = IllegalStateException.class) public void noProcessId() { - ScaleProcessRequest.builder() - .build(); + ScaleProcessRequest.builder().build(); } @Test public void valid() { - ScaleProcessRequest.builder() - .processId("test-process-id") - .build(); + ScaleProcessRequest.builder().processId("test-process-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/processes/TerminateProcessInstanceRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/processes/TerminateProcessInstanceRequestTest.java index ced1cf5d27..4a0e9f14b7 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/processes/TerminateProcessInstanceRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/processes/TerminateProcessInstanceRequestTest.java @@ -22,24 +22,19 @@ public final class TerminateProcessInstanceRequestTest { @Test(expected = IllegalStateException.class) public void noIndex() { - TerminateProcessInstanceRequest.builder() - .processId("test-process-id") - .build(); + TerminateProcessInstanceRequest.builder().processId("test-process-id").build(); } @Test(expected = IllegalStateException.class) public void noProcessId() { - TerminateProcessInstanceRequest.builder() - .index("test-index") - .build(); + TerminateProcessInstanceRequest.builder().index("test-index").build(); } @Test public void valid() { TerminateProcessInstanceRequest.builder() - .index("test-index") - .processId("test-process-id") - .build(); + .index("test-index") + .processId("test-process-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/processes/UpdateProcessRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/processes/UpdateProcessRequestTest.java index 4214926a40..37d9914273 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/processes/UpdateProcessRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/processes/UpdateProcessRequestTest.java @@ -22,15 +22,11 @@ public final class UpdateProcessRequestTest { @Test(expected = IllegalStateException.class) public void noProcessId() { - UpdateProcessRequest.builder() - .build(); + UpdateProcessRequest.builder().build(); } @Test public void valid() { - UpdateProcessRequest.builder() - .processId("test-process-id") - .build(); + UpdateProcessRequest.builder().processId("test-process-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/resourcematch/ListMatchingResourcesRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/resourcematch/ListMatchingResourcesRequestTest.java index b86f09c97b..1a0c492db5 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/resourcematch/ListMatchingResourcesRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/resourcematch/ListMatchingResourcesRequestTest.java @@ -23,18 +23,16 @@ public class ListMatchingResourcesRequestTest { @Test(expected = IllegalStateException.class) public void noResources() { - ListMatchingResourcesRequest.builder() - .build(); + ListMatchingResourcesRequest.builder().build(); } @Test public void valid() { ListMatchingResourcesRequest.builder() - .resource(MatchedResource.builder() - .checksum(Checksum.builder() - .value("test-checksum") - .build()) - .build()) - .build(); + .resource( + MatchedResource.builder() + .checksum(Checksum.builder().value("test-checksum").build()) + .build()) + .build(); } -} \ No newline at end of file +} diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/roles/CreateRoleRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/roles/CreateRoleRequestTest.java index 3ce4116352..fbdcbe24cb 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/roles/CreateRoleRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/roles/CreateRoleRequestTest.java @@ -25,125 +25,151 @@ public class CreateRoleRequestTest { @Test(expected = IllegalStateException.class) public void invalidWithMissingOrgRelationship() { CreateRoleRequest.builder() - .type(RoleType.ORGANIZATION_AUDITOR) - .relationships(RoleRelationships.builder() - .user(ToOneRelationship.builder() - .data(Relationship.builder() - .id("test-user-id") - .build()) - .build()) - .build()) - .build(); + .type(RoleType.ORGANIZATION_AUDITOR) + .relationships( + RoleRelationships.builder() + .user( + ToOneRelationship.builder() + .data( + Relationship.builder() + .id("test-user-id") + .build()) + .build()) + .build()) + .build(); } @Test(expected = IllegalStateException.class) public void invalidWithMissingSpaceRelationship() { CreateRoleRequest.builder() - .type(RoleType.SPACE_AUDITOR) - .relationships(RoleRelationships.builder() - .user(ToOneRelationship.builder() - .data(Relationship.builder() - .id("test-user-id") - .build()) - .build()) - .build()) - .build(); + .type(RoleType.SPACE_AUDITOR) + .relationships( + RoleRelationships.builder() + .user( + ToOneRelationship.builder() + .data( + Relationship.builder() + .id("test-user-id") + .build()) + .build()) + .build()) + .build(); } @Test(expected = IllegalStateException.class) public void invalidWithNoRelationships() { - CreateRoleRequest.builder() - .type(RoleType.ORGANIZATION_AUDITOR) - .build(); + CreateRoleRequest.builder().type(RoleType.ORGANIZATION_AUDITOR).build(); } @Test(expected = IllegalStateException.class) public void invalidWithOrgRelationship() { CreateRoleRequest.builder() - .type(RoleType.SPACE_AUDITOR) - .relationships(RoleRelationships.builder() - .user(ToOneRelationship.builder() - .data(Relationship.builder() - .id("test-user-id") - .build()) - .build()) - .organization(ToOneRelationship.builder() - .data(Relationship.builder() - .id("test-org-id") - .build()) - .build()) - .build()) - .build(); + .type(RoleType.SPACE_AUDITOR) + .relationships( + RoleRelationships.builder() + .user( + ToOneRelationship.builder() + .data( + Relationship.builder() + .id("test-user-id") + .build()) + .build()) + .organization( + ToOneRelationship.builder() + .data( + Relationship.builder() + .id("test-org-id") + .build()) + .build()) + .build()) + .build(); } @Test(expected = IllegalStateException.class) public void invalidWithSpaceRelationship() { CreateRoleRequest.builder() - .type(RoleType.ORGANIZATION_AUDITOR) - .relationships(RoleRelationships.builder() - .user(ToOneRelationship.builder() - .data(Relationship.builder() - .id("test-user-id") - .build()) - .build()) - .space(ToOneRelationship.builder() - .data(Relationship.builder() - .id("test-space-id") - .build()) - .build()) - .build()) - .build(); + .type(RoleType.ORGANIZATION_AUDITOR) + .relationships( + RoleRelationships.builder() + .user( + ToOneRelationship.builder() + .data( + Relationship.builder() + .id("test-user-id") + .build()) + .build()) + .space( + ToOneRelationship.builder() + .data( + Relationship.builder() + .id("test-space-id") + .build()) + .build()) + .build()) + .build(); } @Test(expected = IllegalStateException.class) public void invalidWithoutType() { CreateRoleRequest.builder() - .relationships(RoleRelationships.builder() - .user(ToOneRelationship.builder() - .data(Relationship.builder() - .id("test-user-id") - .build()) - .build()) - .build()) - .build(); + .relationships( + RoleRelationships.builder() + .user( + ToOneRelationship.builder() + .data( + Relationship.builder() + .id("test-user-id") + .build()) + .build()) + .build()) + .build(); } @Test public void validOrgRole() { CreateRoleRequest.builder() - .type(RoleType.ORGANIZATION_AUDITOR) - .relationships(RoleRelationships.builder() - .user(ToOneRelationship.builder() - .data(Relationship.builder() - .id("test-user-id") - .build()) - .build()) - .organization(ToOneRelationship.builder() - .data(Relationship.builder() - .id("test-org-id") - .build()) - .build()) - .build()) - .build(); + .type(RoleType.ORGANIZATION_AUDITOR) + .relationships( + RoleRelationships.builder() + .user( + ToOneRelationship.builder() + .data( + Relationship.builder() + .id("test-user-id") + .build()) + .build()) + .organization( + ToOneRelationship.builder() + .data( + Relationship.builder() + .id("test-org-id") + .build()) + .build()) + .build()) + .build(); } @Test public void validSpaceRole() { CreateRoleRequest.builder() - .type(RoleType.SPACE_AUDITOR) - .relationships(RoleRelationships.builder() - .user(ToOneRelationship.builder() - .data(Relationship.builder() - .id("test-user-id") - .build()) - .build()) - .space(ToOneRelationship.builder() - .data(Relationship.builder() - .id("test-space-id") - .build()) - .build()) - .build()) - .build(); + .type(RoleType.SPACE_AUDITOR) + .relationships( + RoleRelationships.builder() + .user( + ToOneRelationship.builder() + .data( + Relationship.builder() + .id("test-user-id") + .build()) + .build()) + .space( + ToOneRelationship.builder() + .data( + Relationship.builder() + .id("test-space-id") + .build()) + .build()) + .build()) + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/roles/DeleteRoleRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/roles/DeleteRoleRequestTest.java index 1fd48eb1f0..2fc7321551 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/roles/DeleteRoleRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/roles/DeleteRoleRequestTest.java @@ -22,15 +22,11 @@ public class DeleteRoleRequestTest { @Test(expected = IllegalStateException.class) public void noRoleId() { - DeleteRoleRequest.builder() - .build(); + DeleteRoleRequest.builder().build(); } @Test public void valid() { - DeleteRoleRequest.builder() - .roleId("test-role-id") - .build(); + DeleteRoleRequest.builder().roleId("test-role-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/roles/GetRoleRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/roles/GetRoleRequestTest.java index 2a8065bb47..6b7fdc8ce0 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/roles/GetRoleRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/roles/GetRoleRequestTest.java @@ -22,15 +22,11 @@ public class GetRoleRequestTest { @Test(expected = IllegalStateException.class) public void noRoleId() { - GetRoleRequest.builder() - .build(); + GetRoleRequest.builder().build(); } @Test public void valid() { - GetRoleRequest.builder() - .roleId("test-role-id") - .build(); + GetRoleRequest.builder().roleId("test-role-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/roles/ListRolesRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/roles/ListRolesRequestTest.java index a2b4f0e30c..a13d30875f 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/roles/ListRolesRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/roles/ListRolesRequestTest.java @@ -22,8 +22,6 @@ public class ListRolesRequestTest { @Test public void valid() { - ListRolesRequest.builder() - .build(); + ListRolesRequest.builder().build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/routes/CreateRouteRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/routes/CreateRouteRequestTest.java index 1fb76138a7..4893dd609b 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/routes/CreateRouteRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/routes/CreateRouteRequestTest.java @@ -25,48 +25,59 @@ public final class CreateRouteRequestTest { @Test(expected = IllegalStateException.class) public void invalidWithMissingDomainRelationship() { CreateRouteRequest.builder() - .relationships(RouteRelationships.builder() - .space(ToOneRelationship.builder() - .data(Relationship.builder() - .id("test-space-id") - .build()).build()) - .build()) - .build(); + .relationships( + RouteRelationships.builder() + .space( + ToOneRelationship.builder() + .data( + Relationship.builder() + .id("test-space-id") + .build()) + .build()) + .build()) + .build(); } @Test(expected = IllegalStateException.class) public void invalidWithMissingRelationship() { - CreateRouteRequest.builder() - .build(); + CreateRouteRequest.builder().build(); } @Test(expected = IllegalStateException.class) public void invalidWithMissingSpaceRelationship() { CreateRouteRequest.builder() - .relationships(RouteRelationships.builder() - .domain(ToOneRelationship.builder() - .data(Relationship.builder() - .id("test-domain-id") - .build()).build()) - .build()) - .build(); + .relationships( + RouteRelationships.builder() + .domain( + ToOneRelationship.builder() + .data( + Relationship.builder() + .id("test-domain-id") + .build()) + .build()) + .build()) + .build(); } @Test public void valid() { CreateRouteRequest.builder() - .relationships(RouteRelationships.builder() - .domain(ToOneRelationship.builder() - .data(Relationship.builder() - .id("test-domain-id") - .build()) - .build()) - .space(ToOneRelationship.builder() - .data(Relationship.builder() - .id("test-space-id") - .build()) - .build()) - .build()); + .relationships( + RouteRelationships.builder() + .domain( + ToOneRelationship.builder() + .data( + Relationship.builder() + .id("test-domain-id") + .build()) + .build()) + .space( + ToOneRelationship.builder() + .data( + Relationship.builder() + .id("test-space-id") + .build()) + .build()) + .build()); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/routes/DeleteRouteRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/routes/DeleteRouteRequestTest.java index c70ad313b6..0c11918080 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/routes/DeleteRouteRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/routes/DeleteRouteRequestTest.java @@ -22,15 +22,11 @@ public class DeleteRouteRequestTest { @Test(expected = IllegalStateException.class) public void noRouteId() { - DeleteRouteRequest.builder() - .build(); + DeleteRouteRequest.builder().build(); } @Test public void valid() { - DeleteRouteRequest.builder() - .routeId("test-route-id") - .build(); + DeleteRouteRequest.builder().routeId("test-route-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/routes/GetRouteRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/routes/GetRouteRequestTest.java index 993509c04f..21bbdeeecb 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/routes/GetRouteRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/routes/GetRouteRequestTest.java @@ -22,15 +22,11 @@ public class GetRouteRequestTest { @Test(expected = IllegalStateException.class) public void noRouteId() { - GetRouteRequest.builder() - .build(); + GetRouteRequest.builder().build(); } @Test public void valid() { - GetRouteRequest.builder() - .routeId("test-route-id") - .build(); + GetRouteRequest.builder().routeId("test-route-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/routes/InsertRouteDestinationsRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/routes/InsertRouteDestinationsRequestTest.java index 11f50a770d..a873dc0c98 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/routes/InsertRouteDestinationsRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/routes/InsertRouteDestinationsRequestTest.java @@ -23,77 +23,81 @@ public class InsertRouteDestinationsRequestTest { @Test(expected = IllegalStateException.class) public void noApplication() { InsertRouteDestinationsRequest.builder() - .destination(Destination.builder() - .destinationId("test-destination-id") - .port(999) - .build()) - .routeId("test-route-id") - .build(); + .destination( + Destination.builder() + .destinationId("test-destination-id") + .port(999) + .build()) + .routeId("test-route-id") + .build(); } @Test(expected = IllegalStateException.class) public void noApplicationId() { InsertRouteDestinationsRequest.builder() - .destination(Destination.builder() - .application(Application.builder() - .process(Process.builder() - .type("test-type") - .build()) - .build()) - .destinationId("test-destination-id") - .port(999) - .build()) - .routeId("test-route-id") - .build(); + .destination( + Destination.builder() + .application( + Application.builder() + .process( + Process.builder().type("test-type").build()) + .build()) + .destinationId("test-destination-id") + .port(999) + .build()) + .routeId("test-route-id") + .build(); } @Test(expected = IllegalStateException.class) public void noRouteId() { InsertRouteDestinationsRequest.builder() - .destination(Destination.builder() - .application(Application.builder() - .applicationId("test-application-id") - .process(Process.builder() - .type("test-type") - .build()) - .build()) - .destinationId("test-destination-id") - .port(999) - .build()) - .build(); + .destination( + Destination.builder() + .application( + Application.builder() + .applicationId("test-application-id") + .process( + Process.builder().type("test-type").build()) + .build()) + .destinationId("test-destination-id") + .port(999) + .build()) + .build(); } @Test(expected = IllegalStateException.class) public void noType() { InsertRouteDestinationsRequest.builder() - .destination(Destination.builder() - .application(Application.builder() - .applicationId("test-application-id") - .process(Process.builder() - .build()) - .build()) - .destinationId("test-destination-id") - .port(999) - .build()) - .routeId("test-route-id") - .build(); + .destination( + Destination.builder() + .application( + Application.builder() + .applicationId("test-application-id") + .process(Process.builder().build()) + .build()) + .destinationId("test-destination-id") + .port(999) + .build()) + .routeId("test-route-id") + .build(); } @Test public void valid() { InsertRouteDestinationsRequest.builder() - .destination(Destination.builder() - .application(Application.builder() - .applicationId("test-application-id") - .process(Process.builder() - .type("test-type") - .build()) - .build()) - .destinationId("test-destination-id") - .port(999) - .build()) - .routeId("test-route-id") - .build(); + .destination( + Destination.builder() + .application( + Application.builder() + .applicationId("test-application-id") + .process( + Process.builder().type("test-type").build()) + .build()) + .destinationId("test-destination-id") + .port(999) + .build()) + .routeId("test-route-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/routes/ListRouteDestinationsRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/routes/ListRouteDestinationsRequestTest.java index 98e8e288cc..c845dd9860 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/routes/ListRouteDestinationsRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/routes/ListRouteDestinationsRequestTest.java @@ -22,15 +22,11 @@ public class ListRouteDestinationsRequestTest { @Test(expected = IllegalStateException.class) public void noRouteId() { - ListRouteDestinationsRequest.builder() - .build(); + ListRouteDestinationsRequest.builder().build(); } @Test public void valid() { - ListRouteDestinationsRequest.builder() - .routeId("test-route-destination-id") - .build(); + ListRouteDestinationsRequest.builder().routeId("test-route-destination-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/routes/RemoveRouteDestinationsRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/routes/RemoveRouteDestinationsRequestTest.java index 7db08f3ae3..2e92f125b3 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/routes/RemoveRouteDestinationsRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/routes/RemoveRouteDestinationsRequestTest.java @@ -22,24 +22,19 @@ public class RemoveRouteDestinationsRequestTest { @Test(expected = IllegalStateException.class) public void noDestinationId() { - RemoveRouteDestinationsRequest.builder() - .routeId("test-route-id") - .build(); + RemoveRouteDestinationsRequest.builder().routeId("test-route-id").build(); } @Test(expected = IllegalStateException.class) public void noRouteId() { - RemoveRouteDestinationsRequest.builder() - .routeId("test-route-id") - .build(); + RemoveRouteDestinationsRequest.builder().routeId("test-route-id").build(); } @Test public void valid() { RemoveRouteDestinationsRequest.builder() - .destinationId("test-destination-id") - .routeId("test-route-id") - .build(); + .destinationId("test-destination-id") + .routeId("test-route-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/routes/ReplaceRouteDestinationsRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/routes/ReplaceRouteDestinationsRequestTest.java index 2e89b5e4b1..29919168cb 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/routes/ReplaceRouteDestinationsRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/routes/ReplaceRouteDestinationsRequestTest.java @@ -23,24 +23,22 @@ public class ReplaceRouteDestinationsRequestTest { @Test(expected = IllegalStateException.class) public void noRouteId() { ReplaceRouteDestinationsRequest.builder() - .destination(Destination.builder() - .application(Application.builder() - .applicationId("test-application-id") - .process(Process.builder() - .type("test-type") - .build()) - .build()) - .destinationId("test-destination-id") - .port(999) - .build()) - .build(); + .destination( + Destination.builder() + .application( + Application.builder() + .applicationId("test-application-id") + .process( + Process.builder().type("test-type").build()) + .build()) + .destinationId("test-destination-id") + .port(999) + .build()) + .build(); } @Test public void valid() { - ReplaceRouteDestinationsRequest.builder() - .routeId("test-route-destination-id") - .build(); + ReplaceRouteDestinationsRequest.builder().routeId("test-route-destination-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/routes/UpdateRouteRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/routes/UpdateRouteRequestTest.java index 744a1377ca..e2c22fbfc8 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/routes/UpdateRouteRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/routes/UpdateRouteRequestTest.java @@ -23,18 +23,14 @@ public class UpdateRouteRequestTest { @Test(expected = IllegalStateException.class) public void noRouteId() { - UpdateRouteRequest.builder() - .build(); + UpdateRouteRequest.builder().build(); } @Test public void valid() { UpdateRouteRequest.builder() - .metadata(Metadata.builder() - .label("test-key", "test-value") - .build()) - .routeId("test-route-id") - .build(); + .metadata(Metadata.builder().label("test-key", "test-value").build()) + .routeId("test-route-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/servicebindings/CreateServiceBindingRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/servicebindings/CreateServiceBindingRequestTest.java index 3e3631ef0c..8ca47a8bbe 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/servicebindings/CreateServiceBindingRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/servicebindings/CreateServiceBindingRequestTest.java @@ -24,46 +24,41 @@ public final class CreateServiceBindingRequestTest { @Test(expected = IllegalStateException.class) public void noRelationships() { - CreateServiceBindingRequest.builder() - .type(ServiceBindingType.APPLICATION) - .build(); + CreateServiceBindingRequest.builder().type(ServiceBindingType.APPLICATION).build(); } @Test(expected = IllegalStateException.class) public void noType() { CreateServiceBindingRequest.builder() - .relationships(ServiceBindingRelationships.builder() - .application(ToOneRelationship.builder() - .data(Relationship.builder() - .id("test-id") - .build()) - .build()) - .serviceInstance(ToOneRelationship.builder() - .data(Relationship.builder() - .id("test-id") - .build()) - .build()) - .build()) - .build(); + .relationships( + ServiceBindingRelationships.builder() + .application( + ToOneRelationship.builder() + .data(Relationship.builder().id("test-id").build()) + .build()) + .serviceInstance( + ToOneRelationship.builder() + .data(Relationship.builder().id("test-id").build()) + .build()) + .build()) + .build(); } @Test public void valid() { CreateServiceBindingRequest.builder() - .relationships(ServiceBindingRelationships.builder() - .application(ToOneRelationship.builder() - .data(Relationship.builder() - .id("test-id") - .build()) - .build()) - .serviceInstance(ToOneRelationship.builder() - .data(Relationship.builder() - .id("test-id") - .build()) - .build()) - .build()) - .type(ServiceBindingType.APPLICATION) - .build(); + .relationships( + ServiceBindingRelationships.builder() + .application( + ToOneRelationship.builder() + .data(Relationship.builder().id("test-id").build()) + .build()) + .serviceInstance( + ToOneRelationship.builder() + .data(Relationship.builder().id("test-id").build()) + .build()) + .build()) + .type(ServiceBindingType.APPLICATION) + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/servicebindings/DeleteServiceBindingRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/servicebindings/DeleteServiceBindingRequestTest.java index 3bf2be7b5c..352017aa5d 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/servicebindings/DeleteServiceBindingRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/servicebindings/DeleteServiceBindingRequestTest.java @@ -16,22 +16,17 @@ package org.cloudfoundry.client.v3.servicebindings; - import org.junit.Test; public final class DeleteServiceBindingRequestTest { @Test(expected = IllegalStateException.class) public void noServiceBindingId() { - DeleteServiceBindingRequest.builder() - .build(); + DeleteServiceBindingRequest.builder().build(); } @Test public void valid() { - DeleteServiceBindingRequest.builder() - .serviceBindingId("test-service-binding-id") - .build(); + DeleteServiceBindingRequest.builder().serviceBindingId("test-service-binding-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/servicebindings/GetServiceBindingRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/servicebindings/GetServiceBindingRequestTest.java index 778b79b4f6..f93f853c85 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/servicebindings/GetServiceBindingRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/servicebindings/GetServiceBindingRequestTest.java @@ -16,22 +16,17 @@ package org.cloudfoundry.client.v3.servicebindings; - import org.junit.Test; public final class GetServiceBindingRequestTest { @Test(expected = IllegalStateException.class) public void noServiceBindingId() { - GetServiceBindingRequest.builder() - .build(); + GetServiceBindingRequest.builder().build(); } @Test public void valid() { - GetServiceBindingRequest.builder() - .serviceBindingId("test-service-binding-id") - .build(); + GetServiceBindingRequest.builder().serviceBindingId("test-service-binding-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/servicebindings/ListServiceBindingsRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/servicebindings/ListServiceBindingsRequestTest.java index eb4f45b76a..471bc4c961 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/servicebindings/ListServiceBindingsRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/servicebindings/ListServiceBindingsRequestTest.java @@ -22,8 +22,6 @@ public final class ListServiceBindingsRequestTest { @Test public void valid() { - ListServiceBindingsRequest.builder() - .build(); + ListServiceBindingsRequest.builder().build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/servicebindings/RelationshipsTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/servicebindings/RelationshipsTest.java index f138b614d2..ec5223a9ec 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/servicebindings/RelationshipsTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/servicebindings/RelationshipsTest.java @@ -25,39 +25,34 @@ public final class RelationshipsTest { @Test public void noApplication() { ServiceBindingRelationships.builder() - .serviceInstance(ToOneRelationship.builder() - .data(Relationship.builder() - .id("test-id") - .build()) - .build()) - .build(); + .serviceInstance( + ToOneRelationship.builder() + .data(Relationship.builder().id("test-id").build()) + .build()) + .build(); } @Test(expected = IllegalStateException.class) public void noServiceInstance() { ServiceBindingRelationships.builder() - .application(ToOneRelationship.builder() - .data(Relationship.builder() - .id("test-id") - .build()) - .build()) - .build(); + .application( + ToOneRelationship.builder() + .data(Relationship.builder().id("test-id").build()) + .build()) + .build(); } @Test public void valid() { ServiceBindingRelationships.builder() - .application(ToOneRelationship.builder() - .data(Relationship.builder() - .id("test-id") - .build()) - .build()) - .serviceInstance(ToOneRelationship.builder() - .data(Relationship.builder() - .id("test-id") - .build()) - .build()) - .build(); + .application( + ToOneRelationship.builder() + .data(Relationship.builder().id("test-id").build()) + .build()) + .serviceInstance( + ToOneRelationship.builder() + .data(Relationship.builder().id("test-id").build()) + .build()) + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/servicebrokers/CreateServiceBrokerRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/servicebrokers/CreateServiceBrokerRequestTest.java index 8728ce6ee4..3e50c10098 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/servicebrokers/CreateServiceBrokerRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/servicebrokers/CreateServiceBrokerRequestTest.java @@ -6,44 +6,46 @@ public final class CreateServiceBrokerRequestTest { @Test public void valid() { - CreateServiceBrokerRequest.builder() - .authentication(BasicAuthentication.builder() - .username("test-username") - .password("test-password") - .build()) - .name("test-service-broker") - .url("test-service-broker-url") - .build(); + CreateServiceBrokerRequest.builder() + .authentication( + BasicAuthentication.builder() + .username("test-username") + .password("test-password") + .build()) + .name("test-service-broker") + .url("test-service-broker-url") + .build(); } - + @Test(expected = IllegalStateException.class) public void noAuthentication() { - CreateServiceBrokerRequest.builder() - .name("test-service-broker") - .url("test-service-broker-url") - .build(); + CreateServiceBrokerRequest.builder() + .name("test-service-broker") + .url("test-service-broker-url") + .build(); } - + @Test(expected = IllegalStateException.class) public void noName() { - CreateServiceBrokerRequest.builder() - .authentication(BasicAuthentication.builder() - .username("test-username") - .password("test-password") - .build()) - .url("test-service-broker-url") - .build(); + CreateServiceBrokerRequest.builder() + .authentication( + BasicAuthentication.builder() + .username("test-username") + .password("test-password") + .build()) + .url("test-service-broker-url") + .build(); } - + @Test(expected = IllegalStateException.class) public void noUrl() { - CreateServiceBrokerRequest.builder() - .authentication(BasicAuthentication.builder() - .username("test-username") - .password("test-password") - .build()) - .name("test-service-broker") - .build(); + CreateServiceBrokerRequest.builder() + .authentication( + BasicAuthentication.builder() + .username("test-username") + .password("test-password") + .build()) + .name("test-service-broker") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/servicebrokers/DeleteServiceBrokerRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/servicebrokers/DeleteServiceBrokerRequestTest.java index c580992c42..3375cc470b 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/servicebrokers/DeleteServiceBrokerRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/servicebrokers/DeleteServiceBrokerRequestTest.java @@ -6,14 +6,11 @@ public final class DeleteServiceBrokerRequestTest { @Test public void valid() { - DeleteServiceBrokerRequest.builder() - .serviceBrokerId("test-service-broker-id") - .build(); + DeleteServiceBrokerRequest.builder().serviceBrokerId("test-service-broker-id").build(); } - + @Test(expected = IllegalStateException.class) public void noServiceBrokerId() { - DeleteServiceBrokerRequest.builder().build(); + DeleteServiceBrokerRequest.builder().build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/servicebrokers/GetServiceBrokerRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/servicebrokers/GetServiceBrokerRequestTest.java index 7b3da40842..c19914cfdb 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/servicebrokers/GetServiceBrokerRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/servicebrokers/GetServiceBrokerRequestTest.java @@ -6,14 +6,11 @@ public final class GetServiceBrokerRequestTest { @Test public void valid() { - GetServiceBrokerRequest.builder() - .serviceBrokerId("test-service-broker-id") - .build(); + GetServiceBrokerRequest.builder().serviceBrokerId("test-service-broker-id").build(); } - + @Test(expected = IllegalStateException.class) public void noServiceBrokerId() { - GetServiceBrokerRequest.builder().build(); + GetServiceBrokerRequest.builder().build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/servicebrokers/ListServiceBrokersRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/servicebrokers/ListServiceBrokersRequestTest.java index da343cab5e..24cf8efa02 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/servicebrokers/ListServiceBrokersRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/servicebrokers/ListServiceBrokersRequestTest.java @@ -6,7 +6,6 @@ public final class ListServiceBrokersRequestTest { @Test public void valid() { - ListServiceBrokersRequest.builder().build(); + ListServiceBrokersRequest.builder().build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/servicebrokers/UpdateServiceBrokerRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/servicebrokers/UpdateServiceBrokerRequestTest.java index addbbd8e61..91db63f9b6 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/servicebrokers/UpdateServiceBrokerRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/servicebrokers/UpdateServiceBrokerRequestTest.java @@ -6,14 +6,11 @@ public final class UpdateServiceBrokerRequestTest { @Test public void valid() { - UpdateServiceBrokerRequest.builder() - .serviceBrokerId("test-service-broker-id") - .build(); + UpdateServiceBrokerRequest.builder().serviceBrokerId("test-service-broker-id").build(); } - + @Test(expected = IllegalStateException.class) public void noServiceBrokerId() { - UpdateServiceBrokerRequest.builder().build(); + UpdateServiceBrokerRequest.builder().build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/serviceinstances/CreateServiceInstanceRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/serviceinstances/CreateServiceInstanceRequestTest.java index 2a05a9d52a..b57f15c8c6 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/serviceinstances/CreateServiceInstanceRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/serviceinstances/CreateServiceInstanceRequestTest.java @@ -25,55 +25,64 @@ public class CreateServiceInstanceRequestTest { @Test public void validManagedServiceInstance() { CreateServiceInstanceRequest.builder() - .type(ServiceInstanceType.MANAGED) - .name("test-service-instance-name") - .relationships(ServiceInstanceRelationships.builder() - .servicePlan(ToOneRelationship.builder() - .data(Relationship.builder() - .id("test-service-plan-id") - .build()) - .build()) - .space(ToOneRelationship.builder() - .data(Relationship.builder() - .id("test-space-id") - .build()) - .build()) - .build()) - .tags("foo", "bar") - .parameter("key", "value") - .build(); + .type(ServiceInstanceType.MANAGED) + .name("test-service-instance-name") + .relationships( + ServiceInstanceRelationships.builder() + .servicePlan( + ToOneRelationship.builder() + .data( + Relationship.builder() + .id("test-service-plan-id") + .build()) + .build()) + .space( + ToOneRelationship.builder() + .data( + Relationship.builder() + .id("test-space-id") + .build()) + .build()) + .build()) + .tags("foo", "bar") + .parameter("key", "value") + .build(); } @Test public void validUserProvidedServiceInstance() { CreateServiceInstanceRequest.builder() - .type(ServiceInstanceType.USER_PROVIDED) - .syslogDrainUrl("https://syslog.com") - .routeServiceUrl("https://route.com") - .credential("key", "value") - .name("test-user-provided-name") - .build(); + .type(ServiceInstanceType.USER_PROVIDED) + .syslogDrainUrl("https://syslog.com") + .routeServiceUrl("https://route.com") + .credential("key", "value") + .name("test-user-provided-name") + .build(); } @Test(expected = IllegalStateException.class) public void testWithMissingName() { CreateServiceInstanceRequest.builder() - .type(ServiceInstanceType.MANAGED) - .relationships(ServiceInstanceRelationships.builder() - .servicePlan(ToOneRelationship.builder() - .data(Relationship.builder() - .id("test-service-plan-id") - .build()) - .build()) - .space(ToOneRelationship.builder() - .data(Relationship.builder() - .id("test-space-id") - .build()) - .build()) - .build()) - .tags("foo", "bar") - .parameter("key", "value") - .build(); + .type(ServiceInstanceType.MANAGED) + .relationships( + ServiceInstanceRelationships.builder() + .servicePlan( + ToOneRelationship.builder() + .data( + Relationship.builder() + .id("test-service-plan-id") + .build()) + .build()) + .space( + ToOneRelationship.builder() + .data( + Relationship.builder() + .id("test-space-id") + .build()) + .build()) + .build()) + .tags("foo", "bar") + .parameter("key", "value") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/serviceinstances/GetManagedServiceParametersRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/serviceinstances/GetManagedServiceParametersRequestTest.java index f6737303b3..d4add5e20e 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/serviceinstances/GetManagedServiceParametersRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/serviceinstances/GetManagedServiceParametersRequestTest.java @@ -7,8 +7,7 @@ public class GetManagedServiceParametersRequestTest { @Test public void valid() { GetManagedServiceParametersRequest.builder() - .serviceInstanceId("test-service-instance-id") - .build(); + .serviceInstanceId("test-service-instance-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/serviceinstances/GetUserProvidedCredentialsRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/serviceinstances/GetUserProvidedCredentialsRequestTest.java index f64f01de59..4f2641ec67 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/serviceinstances/GetUserProvidedCredentialsRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/serviceinstances/GetUserProvidedCredentialsRequestTest.java @@ -7,7 +7,7 @@ public class GetUserProvidedCredentialsRequestTest { @Test public void valid() { GetUserProvidedCredentialsRequest.builder() - .serviceInstanceId("test-service-instance-id") - .build(); + .serviceInstanceId("test-service-instance-id") + .build(); } } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/serviceinstances/ListServiceInstancesRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/serviceinstances/ListServiceInstancesRequestTest.java index c19fbc2f62..2acb47f94f 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/serviceinstances/ListServiceInstancesRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/serviceinstances/ListServiceInstancesRequestTest.java @@ -22,8 +22,6 @@ public class ListServiceInstancesRequestTest { @Test public void valid() { - ListServiceInstancesRequest.builder() - .build(); + ListServiceInstancesRequest.builder().build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/serviceinstances/ListSharedSpacesRelationshipTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/serviceinstances/ListSharedSpacesRelationshipTest.java index be7a2d0666..ff45b44154 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/serviceinstances/ListSharedSpacesRelationshipTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/serviceinstances/ListSharedSpacesRelationshipTest.java @@ -22,15 +22,13 @@ public class ListSharedSpacesRelationshipTest { @Test(expected = IllegalStateException.class) public void noServiceInstanceId() { - ListSharedSpacesRelationshipRequest.builder() - .build(); + ListSharedSpacesRelationshipRequest.builder().build(); } @Test public void valid() { ListSharedSpacesRelationshipRequest.builder() - .serviceInstanceId("test-service-instance-id") - .build(); + .serviceInstanceId("test-service-instance-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/serviceinstances/ShareServiceInstanceRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/serviceinstances/ShareServiceInstanceRequestTest.java index 1ba8facea5..07abed34b6 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/serviceinstances/ShareServiceInstanceRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/serviceinstances/ShareServiceInstanceRequestTest.java @@ -24,20 +24,15 @@ public class ShareServiceInstanceRequestTest { @Test(expected = IllegalStateException.class) public void noServiceInstanceId() { ShareServiceInstanceRequest.builder() - .data(Relationship.builder() - .id("test-space-id") - .build()) - .build(); + .data(Relationship.builder().id("test-space-id").build()) + .build(); } @Test public void valid() { ShareServiceInstanceRequest.builder() - .serviceInstanceId("test-service-instance-id") - .data(Relationship.builder() - .id("test-space-id") - .build()) - .build(); + .serviceInstanceId("test-service-instance-id") + .data(Relationship.builder().id("test-space-id").build()) + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/serviceinstances/UnshareServiceInstanceRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/serviceinstances/UnshareServiceInstanceRequestTest.java index 166e34edd9..ee43d141d9 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/serviceinstances/UnshareServiceInstanceRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/serviceinstances/UnshareServiceInstanceRequestTest.java @@ -22,24 +22,21 @@ public class UnshareServiceInstanceRequestTest { @Test(expected = IllegalStateException.class) public void noServiceInstanceId() { - UnshareServiceInstanceRequest.builder() - .spaceId("test-space-id") - .build(); + UnshareServiceInstanceRequest.builder().spaceId("test-space-id").build(); } @Test(expected = IllegalStateException.class) public void noSpaceId() { UnshareServiceInstanceRequest.builder() - .serviceInstanceId("test-service-instance-id") - .build(); + .serviceInstanceId("test-service-instance-id") + .build(); } @Test public void valid() { UnshareServiceInstanceRequest.builder() - .serviceInstanceId("test-service-instance-id") - .spaceId("test-space-id") - .build(); + .serviceInstanceId("test-service-instance-id") + .spaceId("test-space-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/serviceinstances/UpdateServiceInstanceRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/serviceinstances/UpdateServiceInstanceRequestTest.java index 4671277da3..a2ec746389 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/serviceinstances/UpdateServiceInstanceRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/serviceinstances/UpdateServiceInstanceRequestTest.java @@ -26,39 +26,40 @@ public class UpdateServiceInstanceRequestTest { @Test public void testServiceInstanceIdOnly() { UpdateServiceInstanceRequest.builder() - .serviceInstanceId("test-service-instance-id") - .build(); + .serviceInstanceId("test-service-instance-id") + .build(); } @Test(expected = IllegalStateException.class) public void noServiceInstanceId() { - UpdateServiceInstanceRequest.builder() - .metadata(Metadata.builder().build()) - .build(); + UpdateServiceInstanceRequest.builder().metadata(Metadata.builder().build()).build(); } @Test public void validManagedServiceInstance() { UpdateServiceInstanceRequest.builder() - .metadata(Metadata.builder().build()) - .serviceInstanceId("test-service-instance-id") - .name("test-service-instance-name") - .relationships(ServiceInstanceRelationships.builder() - .servicePlan(ToOneRelationship.builder() - .data(Relationship.builder() - .id("test-service-plan-id") - .build()) - .build()) - .space(ToOneRelationship.builder() - .data(Relationship.builder() - .id("test-space-id") - .build()) - .build()) - .build()) - .tags("foo", "bar") - .parameter("key", "value") - .build(); + .metadata(Metadata.builder().build()) + .serviceInstanceId("test-service-instance-id") + .name("test-service-instance-name") + .relationships( + ServiceInstanceRelationships.builder() + .servicePlan( + ToOneRelationship.builder() + .data( + Relationship.builder() + .id("test-service-plan-id") + .build()) + .build()) + .space( + ToOneRelationship.builder() + .data( + Relationship.builder() + .id("test-space-id") + .build()) + .build()) + .build()) + .tags("foo", "bar") + .parameter("key", "value") + .build(); } - - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/serviceofferings/DeleteServiceOfferingRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/serviceofferings/DeleteServiceOfferingRequestTest.java index 90f1da0e67..b5b0b1395d 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/serviceofferings/DeleteServiceOfferingRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/serviceofferings/DeleteServiceOfferingRequestTest.java @@ -22,15 +22,11 @@ public final class DeleteServiceOfferingRequestTest { @Test(expected = IllegalStateException.class) public void noServiceOfferingId() { - DeleteServiceOfferingRequest.builder() - .build(); + DeleteServiceOfferingRequest.builder().build(); } @Test public void valid() { - DeleteServiceOfferingRequest.builder() - .serviceOfferingId("test-id") - .build(); + DeleteServiceOfferingRequest.builder().serviceOfferingId("test-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/serviceofferings/GetServiceOfferingRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/serviceofferings/GetServiceOfferingRequestTest.java index 9274da34d0..b75b98d6ad 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/serviceofferings/GetServiceOfferingRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/serviceofferings/GetServiceOfferingRequestTest.java @@ -22,15 +22,11 @@ public final class GetServiceOfferingRequestTest { @Test(expected = IllegalStateException.class) public void noServiceOfferingId() { - GetServiceOfferingRequest.builder() - .build(); + GetServiceOfferingRequest.builder().build(); } @Test public void valid() { - GetServiceOfferingRequest.builder() - .serviceOfferingId("test-id") - .build(); + GetServiceOfferingRequest.builder().serviceOfferingId("test-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/serviceofferings/ListServiceOfferingsRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/serviceofferings/ListServiceOfferingsRequestTest.java index 10c9106de7..421f7b754c 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/serviceofferings/ListServiceOfferingsRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/serviceofferings/ListServiceOfferingsRequestTest.java @@ -22,8 +22,6 @@ public final class ListServiceOfferingsRequestTest { @Test public void valid() { - ListServiceOfferingsRequest.builder() - .build(); + ListServiceOfferingsRequest.builder().build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/serviceofferings/UpdateServiceOfferingRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/serviceofferings/UpdateServiceOfferingRequestTest.java index e560fba77e..e561bc63da 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/serviceofferings/UpdateServiceOfferingRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/serviceofferings/UpdateServiceOfferingRequestTest.java @@ -22,15 +22,11 @@ public final class UpdateServiceOfferingRequestTest { @Test(expected = IllegalStateException.class) public void noServiceOfferingId() { - UpdateServiceOfferingRequest.builder() - .build(); + UpdateServiceOfferingRequest.builder().build(); } @Test public void valid() { - UpdateServiceOfferingRequest.builder() - .serviceOfferingId("test-id") - .build(); + UpdateServiceOfferingRequest.builder().serviceOfferingId("test-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/serviceplans/DeleteServicePlanRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/serviceplans/DeleteServicePlanRequestTest.java index c6aac67992..df8454be15 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/serviceplans/DeleteServicePlanRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/serviceplans/DeleteServicePlanRequestTest.java @@ -22,15 +22,11 @@ public final class DeleteServicePlanRequestTest { @Test(expected = IllegalStateException.class) public void noServicePlanId() { - DeleteServicePlanRequest.builder() - .build(); + DeleteServicePlanRequest.builder().build(); } @Test public void valid() { - DeleteServicePlanRequest.builder() - .servicePlanId("test-id") - .build(); + DeleteServicePlanRequest.builder().servicePlanId("test-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/serviceplans/GetServicePlanRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/serviceplans/GetServicePlanRequestTest.java index 4ce0e33879..c6811e738b 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/serviceplans/GetServicePlanRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/serviceplans/GetServicePlanRequestTest.java @@ -22,15 +22,11 @@ public final class GetServicePlanRequestTest { @Test(expected = IllegalStateException.class) public void noServicePlanId() { - GetServicePlanRequest.builder() - .build(); + GetServicePlanRequest.builder().build(); } @Test public void valid() { - GetServicePlanRequest.builder() - .servicePlanId("test-service-plan-id") - .build(); + GetServicePlanRequest.builder().servicePlanId("test-service-plan-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/serviceplans/ListServicePlansRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/serviceplans/ListServicePlansRequestTest.java index 286bbb6b93..feb119ad89 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/serviceplans/ListServicePlansRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/serviceplans/ListServicePlansRequestTest.java @@ -22,8 +22,6 @@ public final class ListServicePlansRequestTest { @Test public void valid() { - ListServicePlansRequest.builder() - .build(); + ListServicePlansRequest.builder().build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/serviceplans/UpdateServicePlanRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/serviceplans/UpdateServicePlanRequestTest.java index ed0822cec2..410b1e03da 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/serviceplans/UpdateServicePlanRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/serviceplans/UpdateServicePlanRequestTest.java @@ -22,15 +22,11 @@ public final class UpdateServicePlanRequestTest { @Test(expected = IllegalStateException.class) public void noServicePlanId() { - UpdateServicePlanRequest.builder() - .build(); + UpdateServicePlanRequest.builder().build(); } @Test public void valid() { - UpdateServicePlanRequest.builder() - .servicePlanId("test-service-plan-id") - .build(); + UpdateServicePlanRequest.builder().servicePlanId("test-service-plan-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/serviceplans/UpdateServicePlanVisibilityTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/serviceplans/UpdateServicePlanVisibilityTest.java index 600f08b79b..d44c84f4f7 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/serviceplans/UpdateServicePlanVisibilityTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/serviceplans/UpdateServicePlanVisibilityTest.java @@ -23,24 +23,25 @@ public class UpdateServicePlanVisibilityTest { @Test public void valid() { UpdateServicePlanVisibilityRequest.builder() - .servicePlanId("test-service-plan-id") - .type(Visibility.ORGANIZATION) - .organization(Organization.builder() - .name("test-organization") - .guid("test-organization-id") - .build()) - .build(); + .servicePlanId("test-service-plan-id") + .type(Visibility.ORGANIZATION) + .organization( + Organization.builder() + .name("test-organization") + .guid("test-organization-id") + .build()) + .build(); } @Test(expected = IllegalStateException.class) public void invalid() { UpdateServicePlanVisibilityRequest.builder() - .servicePlanId("test-service-plan-id") - .organization(Organization.builder() - .name("test-organization") - .guid("test-organization-id") - .build()) - .build(); + .servicePlanId("test-service-plan-id") + .organization( + Organization.builder() + .name("test-organization") + .guid("test-organization-id") + .build()) + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/spaces/ApplyManifestRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/spaces/ApplyManifestRequestTest.java index dc560a2823..5831b6aa84 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/spaces/ApplyManifestRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/spaces/ApplyManifestRequestTest.java @@ -22,23 +22,19 @@ public final class ApplyManifestRequestTest { @Test(expected = IllegalStateException.class) public void noSpaceId() { - ApplyManifestRequest.builder() - .manifest("test-manifest".getBytes()) - .build(); + ApplyManifestRequest.builder().manifest("test-manifest".getBytes()).build(); } @Test(expected = IllegalStateException.class) public void noManifest() { - ApplyManifestRequest.builder() - .spaceId("test-space-id") - .build(); + ApplyManifestRequest.builder().spaceId("test-space-id").build(); } @Test public void valid() { ApplyManifestRequest.builder() - .spaceId("test-space-id") - .manifest("test-manifest".getBytes()) - .build(); + .spaceId("test-space-id") + .manifest("test-manifest".getBytes()) + .build(); } } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/spaces/AssignSpaceIsolationSegmentRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/spaces/AssignSpaceIsolationSegmentRequestTest.java index b400e4f89b..a0951a31f8 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/spaces/AssignSpaceIsolationSegmentRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/spaces/AssignSpaceIsolationSegmentRequestTest.java @@ -24,27 +24,20 @@ public final class AssignSpaceIsolationSegmentRequestTest { @Test(expected = IllegalStateException.class) public void noOrganizationId() { AssignSpaceIsolationSegmentRequest.builder() - .data(Relationship.builder() - .id("test-isolation-segment-id") - .build()) - .build(); + .data(Relationship.builder().id("test-isolation-segment-id").build()) + .build(); } @Test public void validData() { AssignSpaceIsolationSegmentRequest.builder() - .data(Relationship.builder() - .id("test-isolation-segment-id") - .build()) - .spaceId("test-space-id") - .build(); + .data(Relationship.builder().id("test-isolation-segment-id").build()) + .spaceId("test-space-id") + .build(); } @Test public void validNoData() { - AssignSpaceIsolationSegmentRequest.builder() - .spaceId("test-space-id") - .build(); + AssignSpaceIsolationSegmentRequest.builder().spaceId("test-space-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/spaces/CreateSpaceRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/spaces/CreateSpaceRequestTest.java index a208aa8ead..7c112f3fc1 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/spaces/CreateSpaceRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/spaces/CreateSpaceRequestTest.java @@ -25,35 +25,32 @@ public final class CreateSpaceRequestTest { @Test(expected = IllegalStateException.class) public void noName() { CreateSpaceRequest.builder() - .relationships(SpaceRelationships.builder() - .organization(ToOneRelationship.builder() - .data(Relationship.builder() - .id("test-id") - .build()) - .build()) - .build()) - .build(); + .relationships( + SpaceRelationships.builder() + .organization( + ToOneRelationship.builder() + .data(Relationship.builder().id("test-id").build()) + .build()) + .build()) + .build(); } @Test(expected = IllegalStateException.class) public void noRelationships() { - CreateSpaceRequest.builder() - .name("test-name") - .build(); + CreateSpaceRequest.builder().name("test-name").build(); } @Test public void valid() { CreateSpaceRequest.builder() - .name("test-name") - .relationships(SpaceRelationships.builder() - .organization(ToOneRelationship.builder() - .data(Relationship.builder() - .id("test-id") - .build()) - .build()) - .build()) - .build(); + .name("test-name") + .relationships( + SpaceRelationships.builder() + .organization( + ToOneRelationship.builder() + .data(Relationship.builder().id("test-id").build()) + .build()) + .build()) + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/spaces/DeleteSpaceRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/spaces/DeleteSpaceRequestTest.java index d2c51383ab..d981450245 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/spaces/DeleteSpaceRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/spaces/DeleteSpaceRequestTest.java @@ -22,15 +22,11 @@ public class DeleteSpaceRequestTest { @Test(expected = IllegalStateException.class) public void noSpaceId() { - DeleteSpaceRequest.builder() - .build(); + DeleteSpaceRequest.builder().build(); } @Test public void valid() { - DeleteSpaceRequest.builder() - .spaceId("test-space-id") - .build(); + DeleteSpaceRequest.builder().spaceId("test-space-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/spaces/DeleteUnmappedRoutesRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/spaces/DeleteUnmappedRoutesRequestTest.java index 49788574b7..56fb8751f3 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/spaces/DeleteUnmappedRoutesRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/spaces/DeleteUnmappedRoutesRequestTest.java @@ -22,15 +22,11 @@ public class DeleteUnmappedRoutesRequestTest { @Test(expected = IllegalStateException.class) public void noSpaceId() { - DeleteUnmappedRoutesRequest.builder() - .build(); + DeleteUnmappedRoutesRequest.builder().build(); } @Test public void valid() { - DeleteUnmappedRoutesRequest.builder() - .spaceId("test-space-id") - .build(); + DeleteUnmappedRoutesRequest.builder().spaceId("test-space-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/spaces/GetSpaceIsolationSegmentRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/spaces/GetSpaceIsolationSegmentRequestTest.java index 07762a3aeb..bc7c5f43d3 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/spaces/GetSpaceIsolationSegmentRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/spaces/GetSpaceIsolationSegmentRequestTest.java @@ -22,15 +22,11 @@ public final class GetSpaceIsolationSegmentRequestTest { @Test(expected = IllegalStateException.class) public void noOrganizationId() { - GetSpaceIsolationSegmentRequest.builder() - .build(); + GetSpaceIsolationSegmentRequest.builder().build(); } @Test public void valid() { - GetSpaceIsolationSegmentRequest.builder() - .spaceId("test-space-id") - .build(); + GetSpaceIsolationSegmentRequest.builder().spaceId("test-space-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/spaces/ListSpacesRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/spaces/ListSpacesRequestTest.java index cbda710824..d08cb9dd42 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/spaces/ListSpacesRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/spaces/ListSpacesRequestTest.java @@ -22,8 +22,6 @@ public final class ListSpacesRequestTest { @Test public void valid() { - ListSpacesRequest.builder() - .build(); + ListSpacesRequest.builder().build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/stacks/CreateStackRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/stacks/CreateStackRequestTest.java index c0da1f99a8..00782a3d30 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/stacks/CreateStackRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/stacks/CreateStackRequestTest.java @@ -16,86 +16,61 @@ package org.cloudfoundry.client.v3.stacks; -import org.cloudfoundry.client.v3.Metadata; -import org.junit.Test; - import java.util.stream.Collectors; import java.util.stream.Stream; +import org.cloudfoundry.client.v3.Metadata; +import org.junit.Test; public class CreateStackRequestTest { @Test(expected = IllegalStateException.class) public void invalidNameLengthTest() { - String invalidName = Stream.generate(() -> "aaa") - .limit(251) - .collect(Collectors.joining()); + String invalidName = Stream.generate(() -> "aaa").limit(251).collect(Collectors.joining()); - CreateStackRequest.builder() - .name(invalidName) - .build(); + CreateStackRequest.builder().name(invalidName).build(); } @Test(expected = IllegalStateException.class) public void invalidDescriptionLengthTest() { - String invalidDescription = Stream.generate(() -> "aaa") - .limit(251) - .collect(Collectors.joining()); + String invalidDescription = + Stream.generate(() -> "aaa").limit(251).collect(Collectors.joining()); - CreateStackRequest.builder() - .name("valid name") - .description(invalidDescription) - .build(); + CreateStackRequest.builder().name("valid name").description(invalidDescription).build(); } @Test(expected = IllegalStateException.class) public void invalidNameAndDescriptionLengthTest() { - String invalidName = Stream.generate(() -> "aaa") - .limit(251) - .collect(Collectors.joining()); - String invalidDescription = Stream.generate(() -> "aaa") - .limit(251) - .collect(Collectors.joining()); + String invalidName = Stream.generate(() -> "aaa").limit(251).collect(Collectors.joining()); + String invalidDescription = + Stream.generate(() -> "aaa").limit(251).collect(Collectors.joining()); - CreateStackRequest.builder() - .name(invalidName) - .description(invalidDescription) - .build(); + CreateStackRequest.builder().name(invalidName).description(invalidDescription).build(); } @Test public void validRequestTest() { - CreateStackRequest.builder() - .name("valid name") - .build(); + CreateStackRequest.builder().name("valid name").build(); } @Test public void validRequestWithDescriptionTest() { - CreateStackRequest.builder() - .name("valid name") - .description("valid description") - .build(); + CreateStackRequest.builder().name("valid name").description("valid description").build(); } @Test public void validRequestWithMetadataTest() { CreateStackRequest.builder() - .name("valid name") - .metadata(Metadata.builder() - .label("label-key", "label-value") - .build()) - .build(); + .name("valid name") + .metadata(Metadata.builder().label("label-key", "label-value").build()) + .build(); } @Test public void validRequestWithAllFieldsTest() { CreateStackRequest.builder() - .name("valid name") - .description("valid description") - .metadata(Metadata.builder() - .label("label-key", "label-value") - .build()) - .build(); + .name("valid name") + .description("valid description") + .metadata(Metadata.builder().label("label-key", "label-value").build()) + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/stacks/DeleteStackRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/stacks/DeleteStackRequestTest.java index 79c4fa9401..4ec51ffdc0 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/stacks/DeleteStackRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/stacks/DeleteStackRequestTest.java @@ -22,15 +22,11 @@ public class DeleteStackRequestTest { @Test(expected = IllegalStateException.class) public void noStackId() { - DeleteStackRequest.builder() - .build(); + DeleteStackRequest.builder().build(); } @Test public void valid() { - DeleteStackRequest.builder() - .stackId("test-stack-id") - .build(); + DeleteStackRequest.builder().stackId("test-stack-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/stacks/GetStackRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/stacks/GetStackRequestTest.java index 5401cbfe90..e8d179606e 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/stacks/GetStackRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/stacks/GetStackRequestTest.java @@ -22,15 +22,11 @@ public class GetStackRequestTest { @Test(expected = IllegalStateException.class) public void noStackId() { - GetStackRequest.builder() - .build(); + GetStackRequest.builder().build(); } @Test public void valid() { - GetStackRequest.builder() - .stackId("test-stack-id") - .build(); + GetStackRequest.builder().stackId("test-stack-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/tasks/CancelTaskRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/tasks/CancelTaskRequestTest.java index 2a85ad5f00..e92905c65f 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/tasks/CancelTaskRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/tasks/CancelTaskRequestTest.java @@ -22,15 +22,11 @@ public final class CancelTaskRequestTest { @Test(expected = IllegalStateException.class) public void noTaskId() { - CancelTaskRequest.builder() - .build(); + CancelTaskRequest.builder().build(); } @Test public void valid() { - CancelTaskRequest.builder() - .taskId("test-task-id") - .build(); + CancelTaskRequest.builder().taskId("test-task-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/tasks/CreateTaskRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/tasks/CreateTaskRequestTest.java index 947bca8123..dd118d0a55 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/tasks/CreateTaskRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/tasks/CreateTaskRequestTest.java @@ -22,24 +22,19 @@ public final class CreateTaskRequestTest { @Test(expected = IllegalStateException.class) public void noApplicationId() { - CreateTaskRequest.builder() - .command("test-command") - .build(); + CreateTaskRequest.builder().command("test-command").build(); } @Test(expected = IllegalStateException.class) public void noCommand() { - CreateTaskRequest.builder() - .applicationId("test-application-id") - .build(); + CreateTaskRequest.builder().applicationId("test-application-id").build(); } @Test public void valid() { CreateTaskRequest.builder() - .applicationId("test-application-id") - .command("test-command") - .build(); + .applicationId("test-application-id") + .command("test-command") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/tasks/GetTaskRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/tasks/GetTaskRequestTest.java index f701246039..cee85198a5 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/tasks/GetTaskRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/tasks/GetTaskRequestTest.java @@ -22,15 +22,11 @@ public final class GetTaskRequestTest { @Test(expected = IllegalStateException.class) public void noTaskId() { - GetTaskRequest.builder() - .build(); + GetTaskRequest.builder().build(); } @Test public void valid() { - GetTaskRequest.builder() - .taskId("test-task-id") - .build(); + GetTaskRequest.builder().taskId("test-task-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/tasks/ListTasksRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/tasks/ListTasksRequestTest.java index 12286b521e..f3b421da06 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/tasks/ListTasksRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/client/v3/tasks/ListTasksRequestTest.java @@ -22,8 +22,6 @@ public final class ListTasksRequestTest { @Test public void valid() { - ListTasksRequest.builder() - .build(); + ListTasksRequest.builder().build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/doppler/ContainerMetricTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/doppler/ContainerMetricTest.java index 819575cab6..7f11afe21e 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/doppler/ContainerMetricTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/doppler/ContainerMetricTest.java @@ -22,74 +22,74 @@ public final class ContainerMetricTest { @Test public void dropsonde() { - ContainerMetric.from(new org.cloudfoundry.dropsonde.events.ContainerMetric.Builder() - .applicationId("test-application-id") - .cpuPercentage(0.0) - .diskBytes(0L) - .instanceIndex(0) - .memoryBytes(0L) - .build()); + ContainerMetric.from( + new org.cloudfoundry.dropsonde.events.ContainerMetric.Builder() + .applicationId("test-application-id") + .cpuPercentage(0.0) + .diskBytes(0L) + .instanceIndex(0) + .memoryBytes(0L) + .build()); } @Test(expected = IllegalStateException.class) public void noApplicationId() { ContainerMetric.builder() - .cpuPercentage(0.0) - .diskBytes(0L) - .instanceIndex(0) - .memoryBytes(0L) - .build(); + .cpuPercentage(0.0) + .diskBytes(0L) + .instanceIndex(0) + .memoryBytes(0L) + .build(); } @Test(expected = IllegalStateException.class) public void noCpuPercentage() { ContainerMetric.builder() - .applicationId("test-application-id") - .diskBytes(0L) - .instanceIndex(0) - .memoryBytes(0L) - .build(); + .applicationId("test-application-id") + .diskBytes(0L) + .instanceIndex(0) + .memoryBytes(0L) + .build(); } @Test(expected = IllegalStateException.class) public void noDiskBytes() { ContainerMetric.builder() - .applicationId("test-application-id") - .cpuPercentage(0.0) - .instanceIndex(0) - .memoryBytes(0L) - .build(); + .applicationId("test-application-id") + .cpuPercentage(0.0) + .instanceIndex(0) + .memoryBytes(0L) + .build(); } @Test(expected = IllegalStateException.class) public void noInstanceIndex() { ContainerMetric.builder() - .applicationId("test-application-id") - .cpuPercentage(0.0) - .diskBytes(0L) - .memoryBytes(0L) - .build(); + .applicationId("test-application-id") + .cpuPercentage(0.0) + .diskBytes(0L) + .memoryBytes(0L) + .build(); } @Test(expected = IllegalStateException.class) public void noMemoryBytes() { ContainerMetric.builder() - .applicationId("test-application-id") - .cpuPercentage(0.0) - .diskBytes(0L) - .instanceIndex(0) - .build(); + .applicationId("test-application-id") + .cpuPercentage(0.0) + .diskBytes(0L) + .instanceIndex(0) + .build(); } @Test public void valid() { ContainerMetric.builder() - .applicationId("test-application-id") - .cpuPercentage(0.0) - .diskBytes(0L) - .instanceIndex(0) - .memoryBytes(0L) - .build(); + .applicationId("test-application-id") + .cpuPercentage(0.0) + .diskBytes(0L) + .instanceIndex(0) + .memoryBytes(0L) + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/doppler/ContainerMetricsRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/doppler/ContainerMetricsRequestTest.java index 269175a640..97e77f0c58 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/doppler/ContainerMetricsRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/doppler/ContainerMetricsRequestTest.java @@ -22,15 +22,11 @@ public final class ContainerMetricsRequestTest { @Test(expected = IllegalStateException.class) public void noApplicationId() { - ContainerMetricsRequest.builder() - .build(); + ContainerMetricsRequest.builder().build(); } @Test public void valid() { - ContainerMetricsRequest.builder() - .applicationId("test-application-id") - .build(); + ContainerMetricsRequest.builder().applicationId("test-application-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/doppler/CounterEventTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/doppler/CounterEventTest.java index d4306c17d7..56a3a3bfd0 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/doppler/CounterEventTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/doppler/CounterEventTest.java @@ -22,32 +22,25 @@ public final class CounterEventTest { @Test public void dropsonde() { - CounterEvent.from(new org.cloudfoundry.dropsonde.events.CounterEvent.Builder() - .delta(0L) - .name("test-name") - .build()); + CounterEvent.from( + new org.cloudfoundry.dropsonde.events.CounterEvent.Builder() + .delta(0L) + .name("test-name") + .build()); } @Test(expected = IllegalStateException.class) public void noDelta() { - CounterEvent.builder() - .name("test-name") - .build(); + CounterEvent.builder().name("test-name").build(); } @Test(expected = IllegalStateException.class) public void noName() { - CounterEvent.builder() - .delta(0L) - .build(); + CounterEvent.builder().delta(0L).build(); } @Test public void valid() { - CounterEvent.builder() - .delta(0L) - .name("test-name") - .build(); + CounterEvent.builder().delta(0L).name("test-name").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/doppler/ErrorTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/doppler/ErrorTest.java index f25d8a2d34..ad8ebc40b2 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/doppler/ErrorTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/doppler/ErrorTest.java @@ -22,44 +22,31 @@ public final class ErrorTest { @Test public void dropsonde() { - Error.from(new org.cloudfoundry.dropsonde.events.Error.Builder() - .code(0) - .message("test-message") - .source("test-source") - .build()); + Error.from( + new org.cloudfoundry.dropsonde.events.Error.Builder() + .code(0) + .message("test-message") + .source("test-source") + .build()); } @Test(expected = IllegalStateException.class) public void noCode() { - Error.builder() - .message("test-message") - .source("test-source") - .build(); + Error.builder().message("test-message").source("test-source").build(); } @Test(expected = IllegalStateException.class) public void noMessage() { - Error.builder() - .code(0) - .source("test-source") - .build(); + Error.builder().code(0).source("test-source").build(); } @Test(expected = IllegalStateException.class) public void noSource() { - Error.builder() - .code(0) - .message("test-message") - .build(); + Error.builder().code(0).message("test-message").build(); } @Test public void valid() { - Error.builder() - .code(0) - .message("test-message") - .source("test-source") - .build(); + Error.builder().code(0).message("test-message").source("test-source").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/doppler/FirehoseRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/doppler/FirehoseRequestTest.java index 1ef9db6bf9..c0dc63547f 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/doppler/FirehoseRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/doppler/FirehoseRequestTest.java @@ -22,15 +22,11 @@ public final class FirehoseRequestTest { @Test(expected = IllegalStateException.class) public void noSubscriptionId() { - FirehoseRequest.builder() - .build(); + FirehoseRequest.builder().build(); } @Test public void valid() { - FirehoseRequest.builder() - .subscriptionId("test-subscription-id") - .build(); + FirehoseRequest.builder().subscriptionId("test-subscription-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/doppler/HttpStartStopTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/doppler/HttpStartStopTest.java index dd2150aafd..c43ce2e48c 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/doppler/HttpStartStopTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/doppler/HttpStartStopTest.java @@ -16,169 +16,170 @@ package org.cloudfoundry.doppler; -import org.junit.Test; - import java.util.UUID; +import org.junit.Test; public final class HttpStartStopTest { @Test public void dropsonde() { - HttpStartStop.from(new org.cloudfoundry.dropsonde.events.HttpStartStop.Builder() - .contentLength(0L) - .method(org.cloudfoundry.dropsonde.events.Method.GET) - .peerType(org.cloudfoundry.dropsonde.events.PeerType.Client) - .remoteAddress("test-remote-address") - .requestId(new org.cloudfoundry.dropsonde.events.UUID.Builder() - .high(0L) - .low(0L) - .build()) - .startTimestamp(0L) - .statusCode(0) - .stopTimestamp(0L) - .uri("test-uri") - .userAgent("test-user-agent") - .build()); + HttpStartStop.from( + new org.cloudfoundry.dropsonde.events.HttpStartStop.Builder() + .contentLength(0L) + .method(org.cloudfoundry.dropsonde.events.Method.GET) + .peerType(org.cloudfoundry.dropsonde.events.PeerType.Client) + .remoteAddress("test-remote-address") + .requestId( + new org.cloudfoundry.dropsonde.events.UUID.Builder() + .high(0L) + .low(0L) + .build()) + .startTimestamp(0L) + .statusCode(0) + .stopTimestamp(0L) + .uri("test-uri") + .userAgent("test-user-agent") + .build()); } @Test(expected = IllegalStateException.class) public void noContentLength() { HttpStartStop.builder() - .peerType(PeerType.CLIENT) - .remoteAddress("test-remote-address") - .requestId(UUID.randomUUID()) - .startTimestamp(0L) - .statusCode(0) - .stopTimestamp(0L) - .uri("test-uri") - .userAgent("test-user-agent") - .build(); + .peerType(PeerType.CLIENT) + .remoteAddress("test-remote-address") + .requestId(UUID.randomUUID()) + .startTimestamp(0L) + .statusCode(0) + .stopTimestamp(0L) + .uri("test-uri") + .userAgent("test-user-agent") + .build(); } @Test(expected = IllegalStateException.class) public void noPeerType() { HttpStartStop.builder() - .contentLength(0L) - .remoteAddress("test-remote-address") - .requestId(UUID.randomUUID()) - .startTimestamp(0L) - .statusCode(0) - .stopTimestamp(0L) - .uri("test-uri") - .userAgent("test-user-agent") - .build(); + .contentLength(0L) + .remoteAddress("test-remote-address") + .requestId(UUID.randomUUID()) + .startTimestamp(0L) + .statusCode(0) + .stopTimestamp(0L) + .uri("test-uri") + .userAgent("test-user-agent") + .build(); } @Test(expected = IllegalStateException.class) public void noRemoteAddress() { HttpStartStop.builder() - .contentLength(0L) - .peerType(PeerType.CLIENT) - .requestId(UUID.randomUUID()) - .startTimestamp(0L) - .statusCode(0) - .stopTimestamp(0L) - .uri("test-uri") - .userAgent("test-user-agent") - .build(); + .contentLength(0L) + .peerType(PeerType.CLIENT) + .requestId(UUID.randomUUID()) + .startTimestamp(0L) + .statusCode(0) + .stopTimestamp(0L) + .uri("test-uri") + .userAgent("test-user-agent") + .build(); } @Test(expected = IllegalStateException.class) public void noRequestId() { HttpStartStop.builder() - .contentLength(0L) - .peerType(PeerType.CLIENT) - .remoteAddress("test-remote-address") - .startTimestamp(0L) - .statusCode(0) - .stopTimestamp(0L) - .uri("test-uri") - .userAgent("test-user-agent") - .build(); + .contentLength(0L) + .peerType(PeerType.CLIENT) + .remoteAddress("test-remote-address") + .startTimestamp(0L) + .statusCode(0) + .stopTimestamp(0L) + .uri("test-uri") + .userAgent("test-user-agent") + .build(); } @Test(expected = IllegalStateException.class) public void noStartTimestamp() { HttpStartStop.builder() - .contentLength(0L) - .peerType(PeerType.CLIENT) - .remoteAddress("test-remote-address") - .requestId(UUID.randomUUID()) - .statusCode(0) - .stopTimestamp(0L) - .uri("test-uri") - .userAgent("test-user-agent") - .build(); + .contentLength(0L) + .peerType(PeerType.CLIENT) + .remoteAddress("test-remote-address") + .requestId(UUID.randomUUID()) + .statusCode(0) + .stopTimestamp(0L) + .uri("test-uri") + .userAgent("test-user-agent") + .build(); } @Test(expected = IllegalStateException.class) public void noStatusCode() { HttpStartStop.builder() - .contentLength(0L) - .peerType(PeerType.CLIENT) - .remoteAddress("test-remote-address") - .requestId(UUID.randomUUID()) - .startTimestamp(0L) - .stopTimestamp(0L) - .uri("test-uri") - .userAgent("test-user-agent") - .build(); + .contentLength(0L) + .peerType(PeerType.CLIENT) + .remoteAddress("test-remote-address") + .requestId(UUID.randomUUID()) + .startTimestamp(0L) + .stopTimestamp(0L) + .uri("test-uri") + .userAgent("test-user-agent") + .build(); } @Test(expected = IllegalStateException.class) public void noStopTimestamp() { HttpStartStop.builder() - .contentLength(0L) - .peerType(PeerType.CLIENT) - .remoteAddress("test-remote-address") - .requestId(UUID.randomUUID()) - .startTimestamp(0L) - .statusCode(0) - .uri("test-uri") - .userAgent("test-user-agent") - .build(); + .contentLength(0L) + .peerType(PeerType.CLIENT) + .remoteAddress("test-remote-address") + .requestId(UUID.randomUUID()) + .startTimestamp(0L) + .statusCode(0) + .uri("test-uri") + .userAgent("test-user-agent") + .build(); } @Test(expected = IllegalStateException.class) public void noUri() { HttpStartStop.builder() - .contentLength(0L) - .peerType(PeerType.CLIENT) - .remoteAddress("test-remote-address") - .requestId(UUID.randomUUID()) - .startTimestamp(0L) - .statusCode(0) - .stopTimestamp(0L) - .userAgent("test-user-agent") - .build(); + .contentLength(0L) + .peerType(PeerType.CLIENT) + .remoteAddress("test-remote-address") + .requestId(UUID.randomUUID()) + .startTimestamp(0L) + .statusCode(0) + .stopTimestamp(0L) + .userAgent("test-user-agent") + .build(); } @Test(expected = IllegalStateException.class) public void noUserAgent() { HttpStartStop.builder() - .contentLength(0L) - .peerType(PeerType.CLIENT) - .remoteAddress("test-remote-address") - .requestId(UUID.randomUUID()) - .startTimestamp(0L) - .statusCode(0) - .stopTimestamp(0L) - .uri("test-uri") - .build(); + .contentLength(0L) + .peerType(PeerType.CLIENT) + .remoteAddress("test-remote-address") + .requestId(UUID.randomUUID()) + .startTimestamp(0L) + .statusCode(0) + .stopTimestamp(0L) + .uri("test-uri") + .build(); } @Test public void valid() { HttpStartStop.builder() - .contentLength(0L) - .peerType(PeerType.CLIENT) - .remoteAddress("test-remote-address") - .requestId(UUID.randomUUID()) - .startTimestamp(0L) - .statusCode(0) - .stopTimestamp(0L) - .uri("test-uri") - .userAgent("test-user-agent") - .build(); + .contentLength(0L) + .peerType(PeerType.CLIENT) + .remoteAddress("test-remote-address") + .requestId(UUID.randomUUID()) + .startTimestamp(0L) + .statusCode(0) + .stopTimestamp(0L) + .uri("test-uri") + .userAgent("test-user-agent") + .build(); } } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/doppler/LogMessageTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/doppler/LogMessageTest.java index 935c2b0e0f..e43a666b47 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/doppler/LogMessageTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/doppler/LogMessageTest.java @@ -23,44 +23,35 @@ public final class LogMessageTest { @Test public void dropsonde() { - LogMessage.from(new org.cloudfoundry.dropsonde.events.LogMessage.Builder() - .message(ByteString.encodeUtf8("test-message")) - .message_type(org.cloudfoundry.dropsonde.events.LogMessage.MessageType.ERR) - .timestamp(0L) - .build()); + LogMessage.from( + new org.cloudfoundry.dropsonde.events.LogMessage.Builder() + .message(ByteString.encodeUtf8("test-message")) + .message_type(org.cloudfoundry.dropsonde.events.LogMessage.MessageType.ERR) + .timestamp(0L) + .build()); } @Test(expected = IllegalStateException.class) public void noMessage() { - LogMessage.builder() - .messageType(MessageType.ERR) - .timestamp(0L) - .build(); + LogMessage.builder().messageType(MessageType.ERR).timestamp(0L).build(); } @Test(expected = IllegalStateException.class) public void noMessageType() { - LogMessage.builder() - .message("test-message") - .timestamp(0L) - .build(); + LogMessage.builder().message("test-message").timestamp(0L).build(); } @Test(expected = IllegalStateException.class) public void noTimestamp() { - LogMessage.builder() - .message("test-message") - .messageType(MessageType.ERR) - .build(); + LogMessage.builder().message("test-message").messageType(MessageType.ERR).build(); } @Test public void valid() { LogMessage.builder() - .message("test-message") - .messageType(MessageType.ERR) - .timestamp(0L) - .build(); + .message("test-message") + .messageType(MessageType.ERR) + .timestamp(0L) + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/doppler/RecentLogsRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/doppler/RecentLogsRequestTest.java index 08de4751b8..c570a6ec20 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/doppler/RecentLogsRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/doppler/RecentLogsRequestTest.java @@ -22,15 +22,11 @@ public final class RecentLogsRequestTest { @Test(expected = IllegalStateException.class) public void noApplicationId() { - RecentLogsRequest.builder() - .build(); + RecentLogsRequest.builder().build(); } @Test public void valid() { - RecentLogsRequest.builder() - .applicationId("test-application-id") - .build(); + RecentLogsRequest.builder().applicationId("test-application-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/doppler/StreamRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/doppler/StreamRequestTest.java index 73b319f615..6597ca05ef 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/doppler/StreamRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/doppler/StreamRequestTest.java @@ -22,15 +22,11 @@ public final class StreamRequestTest { @Test(expected = IllegalStateException.class) public void noApplicationId() { - StreamRequest.builder() - .build(); + StreamRequest.builder().build(); } @Test public void valid() { - StreamRequest.builder() - .applicationId("test-application-id") - .build(); + StreamRequest.builder().applicationId("test-application-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/doppler/UuidUtilsTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/doppler/UuidUtilsTest.java index 9f9c390bb9..8c0fbf13d1 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/doppler/UuidUtilsTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/doppler/UuidUtilsTest.java @@ -16,21 +16,22 @@ package org.cloudfoundry.doppler; +import java.util.UUID; import org.junit.Assert; import org.junit.Test; -import java.util.UUID; - public final class UuidUtilsTest { @Test public void from() { - org.cloudfoundry.dropsonde.events.UUID dropsondeUuid = new org.cloudfoundry.dropsonde.events.UUID.Builder() - .high(0x79d4c3b2020e67a5L) - .low(0x7243cc580bc17af4L) - .build(); + org.cloudfoundry.dropsonde.events.UUID dropsondeUuid = + new org.cloudfoundry.dropsonde.events.UUID.Builder() + .high(0x79d4c3b2020e67a5L) + .low(0x7243cc580bc17af4L) + .build(); - Assert.assertEquals(UUID.fromString("f47ac10b-58cc-4372-a567-0e02b2c3d479"), UuidUtils.from(dropsondeUuid)); + Assert.assertEquals( + UUID.fromString("f47ac10b-58cc-4372-a567-0e02b2c3d479"), + UuidUtils.from(dropsondeUuid)); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/doppler/ValueMetricTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/doppler/ValueMetricTest.java index 354e8f9617..cb383ed138 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/doppler/ValueMetricTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/doppler/ValueMetricTest.java @@ -22,44 +22,31 @@ public final class ValueMetricTest { @Test public void dropsonde() { - ValueMetric.from(new org.cloudfoundry.dropsonde.events.ValueMetric.Builder() - .name("test-name") - .unit("test-unit") - .value(0.0) - .build()); + ValueMetric.from( + new org.cloudfoundry.dropsonde.events.ValueMetric.Builder() + .name("test-name") + .unit("test-unit") + .value(0.0) + .build()); } @Test(expected = IllegalStateException.class) public void noName() { - ValueMetric.builder() - .unit("test-unit") - .value(0.0) - .build(); + ValueMetric.builder().unit("test-unit").value(0.0).build(); } @Test(expected = IllegalStateException.class) public void noUnit() { - ValueMetric.builder() - .name("test-name") - .value(0.0) - .build(); + ValueMetric.builder().name("test-name").value(0.0).build(); } @Test(expected = IllegalStateException.class) public void noValue() { - ValueMetric.builder() - .name("test-name") - .unit("test-unit") - .build(); + ValueMetric.builder().name("test-name").unit("test-unit").build(); } @Test public void valid() { - ValueMetric.builder() - .name("test-name") - .unit("test-unit") - .value(0.0) - .build(); + ValueMetric.builder().name("test-name").unit("test-unit").value(0.0).build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/logcache/v1/CounterTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/logcache/v1/CounterTest.java index 8d669e44cf..5b91581afd 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/logcache/v1/CounterTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/logcache/v1/CounterTest.java @@ -24,5 +24,4 @@ public class CounterTest { public void valid() { Counter.builder().build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/logcache/v1/EnvelopeBatchTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/logcache/v1/EnvelopeBatchTest.java index fa65b2e750..1c21ccb032 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/logcache/v1/EnvelopeBatchTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/logcache/v1/EnvelopeBatchTest.java @@ -24,5 +24,4 @@ public class EnvelopeBatchTest { public void valid() { EnvelopeBatch.builder().build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/logcache/v1/EnvelopeTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/logcache/v1/EnvelopeTest.java index 181012589c..b5a60a8343 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/logcache/v1/EnvelopeTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/logcache/v1/EnvelopeTest.java @@ -24,5 +24,4 @@ public class EnvelopeTest { public void valid() { Envelope.builder().build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/logcache/v1/EventTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/logcache/v1/EventTest.java index 4991e7214a..73e706ead2 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/logcache/v1/EventTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/logcache/v1/EventTest.java @@ -24,5 +24,4 @@ public class EventTest { public void valid() { Event.builder().build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/logcache/v1/GaugeTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/logcache/v1/GaugeTest.java index 02f11f0129..8797f59f2b 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/logcache/v1/GaugeTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/logcache/v1/GaugeTest.java @@ -24,5 +24,4 @@ public class GaugeTest { public void valid() { Gauge.builder().build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/logcache/v1/InfoRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/logcache/v1/InfoRequestTest.java index 352e160604..1d5f1aa5e4 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/logcache/v1/InfoRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/logcache/v1/InfoRequestTest.java @@ -24,5 +24,4 @@ public class InfoRequestTest { public void valid() { InfoRequest.builder().build(); } - -} \ No newline at end of file +} diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/logcache/v1/InfoResponseTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/logcache/v1/InfoResponseTest.java index f2c8faf5e7..2089b53e9e 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/logcache/v1/InfoResponseTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/logcache/v1/InfoResponseTest.java @@ -24,5 +24,4 @@ public class InfoResponseTest { public void valid() { InfoResponse.builder().build(); } - -} \ No newline at end of file +} diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/logcache/v1/LogTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/logcache/v1/LogTest.java index dcc95c10fe..fa3cc028b0 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/logcache/v1/LogTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/logcache/v1/LogTest.java @@ -16,12 +16,11 @@ package org.cloudfoundry.logcache.v1; -import org.junit.Test; +import static org.assertj.core.api.Assertions.assertThat; import java.nio.charset.StandardCharsets; import java.util.Base64; - -import static org.assertj.core.api.Assertions.assertThat; +import org.junit.Test; public class LogTest { @@ -33,13 +32,10 @@ public void valid() { @Test public void getPayloadAsText() { final String payload = "This is a test."; - final String encodedPayload = Base64.getEncoder().encodeToString(payload.getBytes(StandardCharsets.UTF_8)); + final String encodedPayload = + Base64.getEncoder().encodeToString(payload.getBytes(StandardCharsets.UTF_8)); - assertThat(Log.builder() - .payload(encodedPayload) - .build() - .getPayloadAsText()) - .isEqualTo(payload); + assertThat(Log.builder().payload(encodedPayload).build().getPayloadAsText()) + .isEqualTo(payload); } - -} \ No newline at end of file +} diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/logcache/v1/MetaResponseTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/logcache/v1/MetaResponseTest.java index 49ff4dcdc3..329f7f076f 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/logcache/v1/MetaResponseTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/logcache/v1/MetaResponseTest.java @@ -24,5 +24,4 @@ public class MetaResponseTest { public void valid() { MetaResponse.builder().build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/logcache/v1/MetadataTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/logcache/v1/MetadataTest.java index 0615a3fbdd..4bdf268628 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/logcache/v1/MetadataTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/logcache/v1/MetadataTest.java @@ -22,39 +22,21 @@ public class MetadataTest { @Test(expected = IllegalStateException.class) public void missingCount() { - Metadata.builder() - .expired(1L) - .newestTimestamp(1L) - .oldestTimestamp(1L) - .build(); + Metadata.builder().expired(1L).newestTimestamp(1L).oldestTimestamp(1L).build(); } @Test(expected = IllegalStateException.class) public void missingNewestTimestamp() { - Metadata.builder() - .count(1L) - .expired(1L) - .oldestTimestamp(1L) - .build(); + Metadata.builder().count(1L).expired(1L).oldestTimestamp(1L).build(); } @Test(expected = IllegalStateException.class) public void missingOldestTimestamp() { - Metadata.builder() - .count(1L) - .expired(1L) - .newestTimestamp(1L) - .build(); + Metadata.builder().count(1L).expired(1L).newestTimestamp(1L).build(); } @Test public void valid() { - Metadata.builder() - .count(1L) - .expired(1L) - .newestTimestamp(1L) - .oldestTimestamp(1L) - .build(); + Metadata.builder().count(1L).expired(1L).newestTimestamp(1L).oldestTimestamp(1L).build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/logcache/v1/MetricTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/logcache/v1/MetricTest.java index 84f8a8a2ce..906009494c 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/logcache/v1/MetricTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/logcache/v1/MetricTest.java @@ -24,5 +24,4 @@ public class MetricTest { public void valid() { Metric.builder().build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/logcache/v1/ReadRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/logcache/v1/ReadRequestTest.java index d6fa4a19c8..18afa9692d 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/logcache/v1/ReadRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/logcache/v1/ReadRequestTest.java @@ -22,16 +22,11 @@ public class ReadRequestTest { @Test(expected = IllegalStateException.class) public void noSourceId() { - ReadRequest.builder() - .build(); + ReadRequest.builder().build(); } @Test public void valid() { - ReadRequest.builder() - .sourceId("test") - .build(); + ReadRequest.builder().sourceId("test").build(); } - - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/logcache/v1/ReadResponseTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/logcache/v1/ReadResponseTest.java index 28adee1487..917a0f9ae5 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/logcache/v1/ReadResponseTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/logcache/v1/ReadResponseTest.java @@ -16,10 +16,10 @@ package org.cloudfoundry.logcache.v1; -import org.junit.Test; - import static org.assertj.core.api.Assertions.assertThat; +import org.junit.Test; + public class ReadResponseTest { @Test @@ -31,5 +31,4 @@ public void missingEnvelopes() { public void valid() { ReadResponse.builder().envelopes(EnvelopeBatch.builder().build()).build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/logcache/v1/TimerTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/logcache/v1/TimerTest.java index fd9d8104b8..bae270373d 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/logcache/v1/TimerTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/logcache/v1/TimerTest.java @@ -24,5 +24,4 @@ public class TimerTest { public void valid() { Timer.builder().build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/networking/v1/policies/CreatePoliciesRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/networking/v1/policies/CreatePoliciesRequestTest.java index c3512caa77..bb01fb62b4 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/networking/v1/policies/CreatePoliciesRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/networking/v1/policies/CreatePoliciesRequestTest.java @@ -22,27 +22,22 @@ public class CreatePoliciesRequestTest { @Test(expected = IllegalStateException.class) public void noPolicy() { - CreatePoliciesRequest.builder() - .build(); + CreatePoliciesRequest.builder().build(); } @Test public void valid() { CreatePoliciesRequest.builder() - .policy(Policy.builder() - .destination(Destination.builder() - .id("test-destination-id") - .ports(Ports.builder() - .end(2) - .start(1) - .build()) - .protocol("test-protocol") - .build()) - .source(Source.builder() - .id("test-source-id") - .build()) - .build()) - .build(); + .policy( + Policy.builder() + .destination( + Destination.builder() + .id("test-destination-id") + .ports(Ports.builder().end(2).start(1).build()) + .protocol("test-protocol") + .build()) + .source(Source.builder().id("test-source-id").build()) + .build()) + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/networking/v1/policies/DeletePoliciesRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/networking/v1/policies/DeletePoliciesRequestTest.java index 7b0f737ac6..a2e61c8def 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/networking/v1/policies/DeletePoliciesRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/networking/v1/policies/DeletePoliciesRequestTest.java @@ -22,27 +22,22 @@ public class DeletePoliciesRequestTest { @Test(expected = IllegalStateException.class) public void noPolicy() { - DeletePoliciesRequest.builder() - .build(); + DeletePoliciesRequest.builder().build(); } @Test public void valid() { DeletePoliciesRequest.builder() - .policy(Policy.builder() - .destination(Destination.builder() - .id("test-destination-id") - .ports(Ports.builder() - .end(2) - .start(1) - .build()) - .protocol("test-protocol") - .build()) - .source(Source.builder() - .id("test-source-id") - .build()) - .build()) - .build(); + .policy( + Policy.builder() + .destination( + Destination.builder() + .id("test-destination-id") + .ports(Ports.builder().end(2).start(1).build()) + .protocol("test-protocol") + .build()) + .source(Source.builder().id("test-source-id").build()) + .build()) + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/networking/v1/policies/ListPoliciesRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/networking/v1/policies/ListPoliciesRequestTest.java index f69bff5ee4..8f2b7ac4ac 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/networking/v1/policies/ListPoliciesRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/networking/v1/policies/ListPoliciesRequestTest.java @@ -22,8 +22,6 @@ public class ListPoliciesRequestTest { @Test public void valid() { - ListPoliciesRequest.builder() - .build(); + ListPoliciesRequest.builder().build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/networking/v1/tags/ListTagsRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/networking/v1/tags/ListTagsRequestTest.java index 2bccdd0686..45d4d6dfdf 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/networking/v1/tags/ListTagsRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/networking/v1/tags/ListTagsRequestTest.java @@ -22,8 +22,6 @@ public class ListTagsRequestTest { @Test public void valid() { - ListTagsRequest.builder() - .build(); + ListTagsRequest.builder().build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/routing/v1/routergroups/ListRouterGroupsRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/routing/v1/routergroups/ListRouterGroupsRequestTest.java index c056c20ea6..1ee271008f 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/routing/v1/routergroups/ListRouterGroupsRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/routing/v1/routergroups/ListRouterGroupsRequestTest.java @@ -22,8 +22,6 @@ public class ListRouterGroupsRequestTest { @Test public void valid() { - ListRouterGroupsRequest.builder() - .build(); + ListRouterGroupsRequest.builder().build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/routing/v1/routergroups/UpdateRouterGroupRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/routing/v1/routergroups/UpdateRouterGroupRequestTest.java index 694749bfb5..03573300cd 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/routing/v1/routergroups/UpdateRouterGroupRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/routing/v1/routergroups/UpdateRouterGroupRequestTest.java @@ -22,24 +22,19 @@ public class UpdateRouterGroupRequestTest { @Test(expected = IllegalStateException.class) public void noId() { - UpdateRouterGroupRequest.builder() - .reservablePorts("999-9999") - .build(); + UpdateRouterGroupRequest.builder().reservablePorts("999-9999").build(); } @Test(expected = IllegalStateException.class) public void noReservablePorts() { - UpdateRouterGroupRequest.builder() - .routerGroupId("test-router-group-id") - .build(); + UpdateRouterGroupRequest.builder().routerGroupId("test-router-group-id").build(); } @Test public void valid() { UpdateRouterGroupRequest.builder() - .reservablePorts("999-9999") - .routerGroupId("test-router-group-id") - .build(); + .reservablePorts("999-9999") + .routerGroupId("test-router-group-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/routing/v1/tcproutes/CreateTcpRoutesRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/routing/v1/tcproutes/CreateTcpRoutesRequestTest.java index 1a43b95945..8d266d9911 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/routing/v1/tcproutes/CreateTcpRoutesRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/routing/v1/tcproutes/CreateTcpRoutesRequestTest.java @@ -23,74 +23,79 @@ public class CreateTcpRoutesRequestTest { @Test(expected = IllegalStateException.class) public void noBackendIp() { CreateTcpRoutesRequest.builder() - .tcpRoute(TcpRouteConfiguration.builder() - .backendPort(9999) - .port(999) - .routerGroupId("test-router-group-id") - .ttl(99) - .build()) - .build(); + .tcpRoute( + TcpRouteConfiguration.builder() + .backendPort(9999) + .port(999) + .routerGroupId("test-router-group-id") + .ttl(99) + .build()) + .build(); } @Test(expected = IllegalStateException.class) public void noBackendPort() { CreateTcpRoutesRequest.builder() - .tcpRoute(TcpRouteConfiguration.builder() - .backendIp("test-backend-ip") - .port(999) - .routerGroupId("test-router-group-id") - .ttl(99) - .build()) - .build(); + .tcpRoute( + TcpRouteConfiguration.builder() + .backendIp("test-backend-ip") + .port(999) + .routerGroupId("test-router-group-id") + .ttl(99) + .build()) + .build(); } @Test(expected = IllegalStateException.class) public void noPort() { CreateTcpRoutesRequest.builder() - .tcpRoute(TcpRouteConfiguration.builder() - .backendIp("test-backend-ip") - .backendPort(9999) - .routerGroupId("test-router-group-id") - .ttl(99) - .build()) - .build(); + .tcpRoute( + TcpRouteConfiguration.builder() + .backendIp("test-backend-ip") + .backendPort(9999) + .routerGroupId("test-router-group-id") + .ttl(99) + .build()) + .build(); } @Test(expected = IllegalStateException.class) public void noRouterGroupId() { CreateTcpRoutesRequest.builder() - .tcpRoute(TcpRouteConfiguration.builder() - .backendIp("test-backend-ip") - .backendPort(9999) - .port(999) - .ttl(99) - .build()) - .build(); + .tcpRoute( + TcpRouteConfiguration.builder() + .backendIp("test-backend-ip") + .backendPort(9999) + .port(999) + .ttl(99) + .build()) + .build(); } @Test(expected = IllegalStateException.class) public void noTtl() { CreateTcpRoutesRequest.builder() - .tcpRoute(TcpRouteConfiguration.builder() - .backendIp("test-backend-ip") - .backendPort(9999) - .port(999) - .routerGroupId("test-router-group-id") - .build()) - .build(); + .tcpRoute( + TcpRouteConfiguration.builder() + .backendIp("test-backend-ip") + .backendPort(9999) + .port(999) + .routerGroupId("test-router-group-id") + .build()) + .build(); } @Test public void valid() { CreateTcpRoutesRequest.builder() - .tcpRoute(TcpRouteConfiguration.builder() - .backendIp("test-backend-ip") - .backendPort(9999) - .port(999) - .routerGroupId("test-router-group-id") - .ttl(99) - .build()) - .build(); + .tcpRoute( + TcpRouteConfiguration.builder() + .backendIp("test-backend-ip") + .backendPort(9999) + .port(999) + .routerGroupId("test-router-group-id") + .ttl(99) + .build()) + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/routing/v1/tcproutes/DeleteTcpRoutesRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/routing/v1/tcproutes/DeleteTcpRoutesRequestTest.java index e8fcf9ca8a..1c4c875553 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/routing/v1/tcproutes/DeleteTcpRoutesRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/routing/v1/tcproutes/DeleteTcpRoutesRequestTest.java @@ -23,57 +23,61 @@ public class DeleteTcpRoutesRequestTest { @Test(expected = IllegalStateException.class) public void noBackendIp() { DeleteTcpRoutesRequest.builder() - .tcpRoute(TcpRouteDeletion.builder() - .backendPort(9999) - .port(999) - .routerGroupId("test-router-group-id") - .build()) - .build(); + .tcpRoute( + TcpRouteDeletion.builder() + .backendPort(9999) + .port(999) + .routerGroupId("test-router-group-id") + .build()) + .build(); } @Test(expected = IllegalStateException.class) public void noBackendPort() { DeleteTcpRoutesRequest.builder() - .tcpRoute(TcpRouteDeletion.builder() - .backendIp("test-backend-ip") - .port(999) - .routerGroupId("test-router-group-id") - .build()) - .build(); + .tcpRoute( + TcpRouteDeletion.builder() + .backendIp("test-backend-ip") + .port(999) + .routerGroupId("test-router-group-id") + .build()) + .build(); } @Test(expected = IllegalStateException.class) public void noPort() { DeleteTcpRoutesRequest.builder() - .tcpRoute(TcpRouteDeletion.builder() - .backendIp("test-backend-ip") - .backendPort(9999) - .routerGroupId("test-router-group-id") - .build()) - .build(); + .tcpRoute( + TcpRouteDeletion.builder() + .backendIp("test-backend-ip") + .backendPort(9999) + .routerGroupId("test-router-group-id") + .build()) + .build(); } @Test(expected = IllegalStateException.class) public void noRouterGroupId() { DeleteTcpRoutesRequest.builder() - .tcpRoute(TcpRouteDeletion.builder() - .backendIp("test-backend-ip") - .backendPort(9999) - .port(999) - .build()) - .build(); + .tcpRoute( + TcpRouteDeletion.builder() + .backendIp("test-backend-ip") + .backendPort(9999) + .port(999) + .build()) + .build(); } @Test public void valid() { DeleteTcpRoutesRequest.builder() - .tcpRoute(TcpRouteDeletion.builder() - .backendIp("test-backend-ip") - .backendPort(9999) - .port(999) - .routerGroupId("test-router-group-id") - .build()) - .build(); + .tcpRoute( + TcpRouteDeletion.builder() + .backendIp("test-backend-ip") + .backendPort(9999) + .port(999) + .routerGroupId("test-router-group-id") + .build()) + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/routing/v1/tcproutes/ListTcpRoutesRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/routing/v1/tcproutes/ListTcpRoutesRequestTest.java index d3249a30e7..5233d74760 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/routing/v1/tcproutes/ListTcpRoutesRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/routing/v1/tcproutes/ListTcpRoutesRequestTest.java @@ -22,8 +22,6 @@ public class ListTcpRoutesRequestTest { @Test public void valid() { - ListTcpRoutesRequest.builder() - .build(); + ListTcpRoutesRequest.builder().build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/SortOrderTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/SortOrderTest.java index a6ef82bcb8..75913c612d 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/SortOrderTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/SortOrderTest.java @@ -16,12 +16,12 @@ package org.cloudfoundry.uaa; -import org.junit.Test; - import static org.assertj.core.api.Assertions.assertThat; import static org.cloudfoundry.uaa.SortOrder.ASCENDING; import static org.cloudfoundry.uaa.SortOrder.DESCENDING; +import org.junit.Test; + public final class SortOrderTest { @Test @@ -29,5 +29,4 @@ public void sortOrder() { assertThat(ASCENDING.getValue()).isEqualTo("ascending"); assertThat(DESCENDING.getValue()).isEqualTo("descending"); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/UaaExceptionTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/UaaExceptionTest.java index 11eb1af28f..4413c34f55 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/UaaExceptionTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/UaaExceptionTest.java @@ -16,18 +16,18 @@ package org.cloudfoundry.uaa; -import org.junit.Test; - import static org.assertj.core.api.Assertions.assertThat; +import org.junit.Test; + public final class UaaExceptionTest { @Test public void test() { assertThat(new UaaException(-1, "test-error", "test-error-description")) - .hasNoCause() - .hasMessage("test-error: test-error-description") - .extracting("statusCode", "error", "errorDescription").containsExactly(-1, "test-error", "test-error-description"); + .hasNoCause() + .hasMessage("test-error: test-error-description") + .extracting("statusCode", "error", "errorDescription") + .containsExactly(-1, "test-error", "test-error-description"); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/authorizations/AuthorizeByAuthorizationCodeGrantApiRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/authorizations/AuthorizeByAuthorizationCodeGrantApiRequestTest.java index 6058b38ab6..6f95b2bbb9 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/authorizations/AuthorizeByAuthorizationCodeGrantApiRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/authorizations/AuthorizeByAuthorizationCodeGrantApiRequestTest.java @@ -23,25 +23,22 @@ public final class AuthorizeByAuthorizationCodeGrantApiRequestTest { @Test(expected = IllegalStateException.class) public void noClientId() { AuthorizeByAuthorizationCodeGrantApiRequest.builder() - .redirectUri("http://redirect.to/app") - .state("test-state") - .build(); + .redirectUri("http://redirect.to/app") + .state("test-state") + .build(); } @Test public void validMax() { AuthorizeByAuthorizationCodeGrantApiRequest.builder() - .clientId("test-client-id") - .redirectUri("http://redirect.to/app") - .state("test-state") - .build(); + .clientId("test-client-id") + .redirectUri("http://redirect.to/app") + .state("test-state") + .build(); } @Test public void validMin() { - AuthorizeByAuthorizationCodeGrantApiRequest.builder() - .clientId("test-client-id") - .build(); + AuthorizeByAuthorizationCodeGrantApiRequest.builder().clientId("test-client-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/authorizations/AuthorizeByAuthorizationCodeGrantBrowserRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/authorizations/AuthorizeByAuthorizationCodeGrantBrowserRequestTest.java index 610675da22..9a299563cf 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/authorizations/AuthorizeByAuthorizationCodeGrantBrowserRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/authorizations/AuthorizeByAuthorizationCodeGrantBrowserRequestTest.java @@ -23,25 +23,24 @@ public final class AuthorizeByAuthorizationCodeGrantBrowserRequestTest { @Test(expected = IllegalStateException.class) public void noClientId() { AuthorizeByAuthorizationCodeGrantBrowserRequest.builder() - .redirectUri("http://redirect.to/app") - .scope("test-scope") - .build(); + .redirectUri("http://redirect.to/app") + .scope("test-scope") + .build(); } @Test public void validMax() { AuthorizeByAuthorizationCodeGrantBrowserRequest.builder() - .clientId("test-client-id") - .redirectUri("http://redirect.to/app") - .scope("test-scope") - .build(); + .clientId("test-client-id") + .redirectUri("http://redirect.to/app") + .scope("test-scope") + .build(); } @Test public void validMin() { AuthorizeByAuthorizationCodeGrantBrowserRequest.builder() - .clientId("test-client-id") - .build(); + .clientId("test-client-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/authorizations/AuthorizeByAuthorizationCodeGrantHybridRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/authorizations/AuthorizeByAuthorizationCodeGrantHybridRequestTest.java index 1e7599a902..4500e940a7 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/authorizations/AuthorizeByAuthorizationCodeGrantHybridRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/authorizations/AuthorizeByAuthorizationCodeGrantHybridRequestTest.java @@ -23,25 +23,22 @@ public final class AuthorizeByAuthorizationCodeGrantHybridRequestTest { @Test(expected = IllegalStateException.class) public void noClientId() { AuthorizeByAuthorizationCodeGrantHybridRequest.builder() - .redirectUri("http://redirect.to/app") - .scope("test-scope") - .build(); + .redirectUri("http://redirect.to/app") + .scope("test-scope") + .build(); } @Test public void validMax() { AuthorizeByAuthorizationCodeGrantHybridRequest.builder() - .clientId("test-client-id") - .redirectUri("http://redirect.to/app") - .scope("test-scope") - .build(); + .clientId("test-client-id") + .redirectUri("http://redirect.to/app") + .scope("test-scope") + .build(); } @Test public void validMin() { - AuthorizeByAuthorizationCodeGrantHybridRequest.builder() - .clientId("test-client-id") - .build(); + AuthorizeByAuthorizationCodeGrantHybridRequest.builder().clientId("test-client-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/authorizations/AuthorizeByImplicitGrantBrowserRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/authorizations/AuthorizeByImplicitGrantBrowserRequestTest.java index 2a68ef1b72..dfa8150133 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/authorizations/AuthorizeByImplicitGrantBrowserRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/authorizations/AuthorizeByImplicitGrantBrowserRequestTest.java @@ -23,25 +23,22 @@ public final class AuthorizeByImplicitGrantBrowserRequestTest { @Test(expected = IllegalStateException.class) public void noClientId() { AuthorizeByImplicitGrantBrowserRequest.builder() - .redirectUri("http://redirect.to/app") - .scope("test-scope") - .build(); + .redirectUri("http://redirect.to/app") + .scope("test-scope") + .build(); } @Test public void validMax() { AuthorizeByImplicitGrantBrowserRequest.builder() - .clientId("test-client-id") - .redirectUri("http://redirect.to/app") - .scope("test-scope") - .build(); + .clientId("test-client-id") + .redirectUri("http://redirect.to/app") + .scope("test-scope") + .build(); } @Test public void validMin() { - AuthorizeByImplicitGrantBrowserRequest.builder() - .clientId("test-client-id") - .build(); + AuthorizeByImplicitGrantBrowserRequest.builder().clientId("test-client-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/authorizations/AuthorizeByOpenIdWithAuthorizationCodeGrantRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/authorizations/AuthorizeByOpenIdWithAuthorizationCodeGrantRequestTest.java index 04a5a3e250..10f5348e29 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/authorizations/AuthorizeByOpenIdWithAuthorizationCodeGrantRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/authorizations/AuthorizeByOpenIdWithAuthorizationCodeGrantRequestTest.java @@ -23,25 +23,24 @@ public final class AuthorizeByOpenIdWithAuthorizationCodeGrantRequestTest { @Test(expected = IllegalStateException.class) public void noClientId() { AuthorizeByOpenIdWithAuthorizationCodeGrantRequest.builder() - .redirectUri("http://redirect.to/app") - .scope("test-scope") - .build(); + .redirectUri("http://redirect.to/app") + .scope("test-scope") + .build(); } @Test public void validMax() { AuthorizeByOpenIdWithAuthorizationCodeGrantRequest.builder() - .clientId("test-client-id") - .redirectUri("http://redirect.to/app") - .scope("test-scope") - .build(); + .clientId("test-client-id") + .redirectUri("http://redirect.to/app") + .scope("test-scope") + .build(); } @Test public void validMin() { AuthorizeByOpenIdWithAuthorizationCodeGrantRequest.builder() - .clientId("test-client-id") - .build(); + .clientId("test-client-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/authorizations/AuthorizeByOpenIdWithIdTokenRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/authorizations/AuthorizeByOpenIdWithIdTokenRequestTest.java index d741e467ad..37fc29916e 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/authorizations/AuthorizeByOpenIdWithIdTokenRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/authorizations/AuthorizeByOpenIdWithIdTokenRequestTest.java @@ -23,25 +23,22 @@ public final class AuthorizeByOpenIdWithIdTokenRequestTest { @Test(expected = IllegalStateException.class) public void noClientId() { AuthorizeByOpenIdWithIdTokenRequest.builder() - .redirectUri("http://redirect.to/app") - .scope("test-scope") - .build(); + .redirectUri("http://redirect.to/app") + .scope("test-scope") + .build(); } @Test public void validMax() { AuthorizeByOpenIdWithIdTokenRequest.builder() - .clientId("test-client-id") - .redirectUri("http://redirect.to/app") - .scope("test-scope") - .build(); + .clientId("test-client-id") + .redirectUri("http://redirect.to/app") + .scope("test-scope") + .build(); } @Test public void validMin() { - AuthorizeByOpenIdWithIdTokenRequest.builder() - .clientId("test-client-id") - .build(); + AuthorizeByOpenIdWithIdTokenRequest.builder().clientId("test-client-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/authorizations/AuthorizeByOpenIdWithImplicitGrantRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/authorizations/AuthorizeByOpenIdWithImplicitGrantRequestTest.java index a53c845ada..3cbcab9e79 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/authorizations/AuthorizeByOpenIdWithImplicitGrantRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/authorizations/AuthorizeByOpenIdWithImplicitGrantRequestTest.java @@ -23,25 +23,22 @@ public final class AuthorizeByOpenIdWithImplicitGrantRequestTest { @Test(expected = IllegalStateException.class) public void noClientId() { AuthorizeByOpenIdWithImplicitGrantRequest.builder() - .redirectUri("http://redirect.to/app") - .scope("test-scope") - .build(); + .redirectUri("http://redirect.to/app") + .scope("test-scope") + .build(); } @Test public void validMax() { AuthorizeByOpenIdWithImplicitGrantRequest.builder() - .clientId("test-client-id") - .redirectUri("http://redirect.to/app") - .scope("test-scope") - .build(); + .clientId("test-client-id") + .redirectUri("http://redirect.to/app") + .scope("test-scope") + .build(); } @Test public void validMin() { - AuthorizeByOpenIdWithImplicitGrantRequest.builder() - .clientId("test-client-id") - .build(); + AuthorizeByOpenIdWithImplicitGrantRequest.builder().clientId("test-client-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/authorizations/GetOpenIdProviderConfigurationRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/authorizations/GetOpenIdProviderConfigurationRequestTest.java index 212005ec1d..cce44719f5 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/authorizations/GetOpenIdProviderConfigurationRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/authorizations/GetOpenIdProviderConfigurationRequestTest.java @@ -22,8 +22,6 @@ public final class GetOpenIdProviderConfigurationRequestTest { @Test public void valid() { - GetOpenIdProviderConfigurationRequest.builder() - .build(); + GetOpenIdProviderConfigurationRequest.builder().build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/clients/BatchChangeSecretRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/clients/BatchChangeSecretRequestTest.java index ae2c1f22d0..0cf735fa53 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/clients/BatchChangeSecretRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/clients/BatchChangeSecretRequestTest.java @@ -22,44 +22,37 @@ public final class BatchChangeSecretRequestTest { @Test(expected = IllegalStateException.class) public void emptyChangeSecrets() { - BatchChangeSecretRequest.builder() - .changeSecrets() - .build(); + BatchChangeSecretRequest.builder().changeSecrets().build(); } @Test(expected = IllegalStateException.class) public void noChangeSecrets() { - BatchChangeSecretRequest.builder() - .build(); + BatchChangeSecretRequest.builder().build(); } @Test(expected = IllegalStateException.class) public void noClientId() { BatchChangeSecretRequest.builder() - .changeSecret(ChangeSecret.builder() - .secret("test-secret") - .build()) - .build(); + .changeSecret(ChangeSecret.builder().secret("test-secret").build()) + .build(); } @Test(expected = IllegalStateException.class) public void noSecret() { BatchChangeSecretRequest.builder() - .changeSecret(ChangeSecret.builder() - .clientId("test-client-id") - .build()) - .build(); + .changeSecret(ChangeSecret.builder().clientId("test-client-id").build()) + .build(); } @Test public void valid() { BatchChangeSecretRequest.builder() - .changeSecret(ChangeSecret.builder() - .clientId("test-client-id") - .oldSecret("test-old-secret") - .secret("test-secret") - .build()) - .build(); + .changeSecret( + ChangeSecret.builder() + .clientId("test-client-id") + .oldSecret("test-old-secret") + .secret("test-secret") + .build()) + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/clients/BatchCreateClientsRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/clients/BatchCreateClientsRequestTest.java index bfe7f83470..967f21b55a 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/clients/BatchCreateClientsRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/clients/BatchCreateClientsRequestTest.java @@ -16,34 +16,30 @@ package org.cloudfoundry.uaa.clients; -import org.junit.Test; - import static org.cloudfoundry.uaa.tokens.GrantType.CLIENT_CREDENTIALS; +import org.junit.Test; + public final class BatchCreateClientsRequestTest { @Test(expected = IllegalStateException.class) public void emptyClient() { - BatchCreateClientsRequest.builder() - .clients() - .build(); + BatchCreateClientsRequest.builder().clients().build(); } - @Test(expected = IllegalStateException.class) public void noClient() { - BatchCreateClientsRequest.builder() - .build(); + BatchCreateClientsRequest.builder().build(); } @Test public void valid() { BatchCreateClientsRequest.builder() - .client(CreateClient.builder() - .clientId("test-client-id") - .authorizedGrantType(CLIENT_CREDENTIALS) - .build()) - .build(); + .client( + CreateClient.builder() + .clientId("test-client-id") + .authorizedGrantType(CLIENT_CREDENTIALS) + .build()) + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/clients/BatchDeleteClientsRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/clients/BatchDeleteClientsRequestTest.java index a8d7367df4..3fd6f29eed 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/clients/BatchDeleteClientsRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/clients/BatchDeleteClientsRequestTest.java @@ -22,22 +22,16 @@ public final class BatchDeleteClientsRequestTest { @Test(expected = IllegalStateException.class) public void emptyClientIds() { - BatchDeleteClientsRequest.builder() - .clientIds() - .build(); + BatchDeleteClientsRequest.builder().clientIds().build(); } @Test(expected = IllegalStateException.class) public void noClientIds() { - BatchDeleteClientsRequest.builder() - .build(); + BatchDeleteClientsRequest.builder().build(); } @Test public void valid() { - BatchDeleteClientsRequest.builder() - .clientId("test-client-id") - .build(); + BatchDeleteClientsRequest.builder().clientId("test-client-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/clients/BatchUpdateClientsRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/clients/BatchUpdateClientsRequestTest.java index 12bd8bf07b..65a74e2051 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/clients/BatchUpdateClientsRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/clients/BatchUpdateClientsRequestTest.java @@ -16,33 +16,30 @@ package org.cloudfoundry.uaa.clients; -import org.junit.Test; - import static org.cloudfoundry.uaa.tokens.GrantType.CLIENT_CREDENTIALS; +import org.junit.Test; + public final class BatchUpdateClientsRequestTest { @Test(expected = IllegalStateException.class) public void emptyClient() { - BatchUpdateClientsRequest.builder() - .clients() - .build(); + BatchUpdateClientsRequest.builder().clients().build(); } @Test(expected = IllegalStateException.class) public void noClient() { - BatchUpdateClientsRequest.builder() - .build(); + BatchUpdateClientsRequest.builder().build(); } @Test public void valid() { BatchUpdateClientsRequest.builder() - .client(UpdateClient.builder() - .clientId("test-client-id") - .authorizedGrantType(CLIENT_CREDENTIALS) - .build()) - .build(); + .client( + UpdateClient.builder() + .clientId("test-client-id") + .authorizedGrantType(CLIENT_CREDENTIALS) + .build()) + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/clients/ChangeSecretRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/clients/ChangeSecretRequestTest.java index c5f48e1da5..5689b2b855 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/clients/ChangeSecretRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/clients/ChangeSecretRequestTest.java @@ -22,25 +22,20 @@ public final class ChangeSecretRequestTest { @Test(expected = IllegalStateException.class) public void noClientId() { - ChangeSecretRequest.builder() - .secret("test-secret") - .build(); + ChangeSecretRequest.builder().secret("test-secret").build(); } @Test(expected = IllegalStateException.class) public void noSecret() { - ChangeSecretRequest.builder() - .clientId("test-client-id") - .build(); + ChangeSecretRequest.builder().clientId("test-client-id").build(); } @Test public void valid() { ChangeSecretRequest.builder() - .clientId("test-client-id") - .oldSecret("test-old-secret") - .secret("test-secret") - .build(); + .clientId("test-client-id") + .oldSecret("test-old-secret") + .secret("test-secret") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/clients/CreateClientRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/clients/CreateClientRequestTest.java index 2474103010..bd4bfdc743 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/clients/CreateClientRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/clients/CreateClientRequestTest.java @@ -16,32 +16,27 @@ package org.cloudfoundry.uaa.clients; -import org.junit.Test; - import static org.cloudfoundry.uaa.tokens.GrantType.CLIENT_CREDENTIALS; +import org.junit.Test; + public final class CreateClientRequestTest { @Test(expected = IllegalStateException.class) public void noAuthorizedGrantType() { - CreateClientRequest.builder() - .clientId("test-client-id") - .build(); + CreateClientRequest.builder().clientId("test-client-id").build(); } @Test(expected = IllegalStateException.class) public void noClientId() { - CreateClientRequest.builder() - .authorizedGrantType(CLIENT_CREDENTIALS) - .build(); + CreateClientRequest.builder().authorizedGrantType(CLIENT_CREDENTIALS).build(); } @Test public void valid() { CreateClientRequest.builder() - .clientId("test-client-id") - .authorizedGrantType(CLIENT_CREDENTIALS) - .build(); + .clientId("test-client-id") + .authorizedGrantType(CLIENT_CREDENTIALS) + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/clients/DeleteClientRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/clients/DeleteClientRequestTest.java index b9ba3b9640..80d82666fb 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/clients/DeleteClientRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/clients/DeleteClientRequestTest.java @@ -22,15 +22,11 @@ public final class DeleteClientRequestTest { @Test(expected = IllegalStateException.class) public void noId() { - DeleteClientRequest.builder() - .build(); + DeleteClientRequest.builder().build(); } @Test public void valid() { - DeleteClientRequest.builder() - .clientId("test-client-id") - .build(); + DeleteClientRequest.builder().clientId("test-client-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/clients/GetClientRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/clients/GetClientRequestTest.java index 9b749c2be7..bb0c2f3c95 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/clients/GetClientRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/clients/GetClientRequestTest.java @@ -22,15 +22,11 @@ public final class GetClientRequestTest { @Test(expected = IllegalStateException.class) public void noId() { - GetClientRequest.builder() - .build(); + GetClientRequest.builder().build(); } @Test public void valid() { - GetClientRequest.builder() - .clientId("test-client-id") - .build(); + GetClientRequest.builder().clientId("test-client-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/clients/GetMetadataRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/clients/GetMetadataRequestTest.java index c358580a3d..c9f02244d6 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/clients/GetMetadataRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/clients/GetMetadataRequestTest.java @@ -22,15 +22,11 @@ public final class GetMetadataRequestTest { @Test(expected = IllegalStateException.class) public void noClientId() { - GetMetadataRequest.builder() - .build(); + GetMetadataRequest.builder().build(); } @Test public void valid() { - GetMetadataRequest.builder() - .clientId("test-client-id") - .build(); + GetMetadataRequest.builder().clientId("test-client-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/clients/ListClientsRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/clients/ListClientsRequestTest.java index 0b2b5bdcc0..7cf40ada3e 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/clients/ListClientsRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/clients/ListClientsRequestTest.java @@ -22,8 +22,6 @@ public final class ListClientsRequestTest { @Test public void valid() { - ListClientsRequest.builder() - .build(); + ListClientsRequest.builder().build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/clients/ListMetadatasRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/clients/ListMetadatasRequestTest.java index 24a845ea7d..9ec3161d8b 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/clients/ListMetadatasRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/clients/ListMetadatasRequestTest.java @@ -22,8 +22,6 @@ public final class ListMetadatasRequestTest { @Test public void valid() { - ListMetadatasRequest.builder() - .build(); + ListMetadatasRequest.builder().build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/clients/MixedActionsRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/clients/MixedActionsRequestTest.java index 0960669f3a..7384db57e2 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/clients/MixedActionsRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/clients/MixedActionsRequestTest.java @@ -16,36 +16,31 @@ package org.cloudfoundry.uaa.clients; -import org.junit.Test; - import static org.cloudfoundry.uaa.tokens.GrantType.IMPLICIT; +import org.junit.Test; + public final class MixedActionsRequestTest { @Test(expected = IllegalStateException.class) public void emptyAction() { - MixedActionsRequest.builder() - .actions() - .build(); + MixedActionsRequest.builder().actions().build(); } @Test(expected = IllegalStateException.class) public void noAction() { - MixedActionsRequest.builder() - .build(); + MixedActionsRequest.builder().build(); } @Test public void valid() { MixedActionsRequest.builder() - .action(CreateClientAction.builder() - .authorizedGrantType(IMPLICIT) - .clientId("test-client-id") - .build()) - .action(DeleteClientAction.builder() - .clientId("test-client-id") - .build()) - .build(); + .action( + CreateClientAction.builder() + .authorizedGrantType(IMPLICIT) + .clientId("test-client-id") + .build()) + .action(DeleteClientAction.builder().clientId("test-client-id").build()) + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/clients/UpdateClientRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/clients/UpdateClientRequestTest.java index 6701b2dbb0..cd90d80536 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/clients/UpdateClientRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/clients/UpdateClientRequestTest.java @@ -16,32 +16,27 @@ package org.cloudfoundry.uaa.clients; -import org.junit.Test; - import static org.cloudfoundry.uaa.tokens.GrantType.CLIENT_CREDENTIALS; +import org.junit.Test; + public final class UpdateClientRequestTest { @Test(expected = IllegalStateException.class) public void noAuthorizedGrantType() { - UpdateClientRequest.builder() - .clientId("test-client-id") - .build(); + UpdateClientRequest.builder().clientId("test-client-id").build(); } @Test(expected = IllegalStateException.class) public void noClientId() { - UpdateClientRequest.builder() - .authorizedGrantType(CLIENT_CREDENTIALS) - .build(); + UpdateClientRequest.builder().authorizedGrantType(CLIENT_CREDENTIALS).build(); } @Test public void valid() { UpdateClientRequest.builder() - .authorizedGrantType(CLIENT_CREDENTIALS) - .clientId("test-client-id") - .build(); + .authorizedGrantType(CLIENT_CREDENTIALS) + .clientId("test-client-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/clients/UpdateMetadataRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/clients/UpdateMetadataRequestTest.java index 0a9f3896ce..83eace335c 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/clients/UpdateMetadataRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/clients/UpdateMetadataRequestTest.java @@ -23,12 +23,11 @@ public final class UpdateMetadataRequestTest { @Test public void valid() { UpdateMetadataRequest.builder() - .appIcon("test-icon") - .appLaunchUrl("test-app-launch-url") - .showOnHomePage(true) - .clientId("test-client-id") - .clientName("test-client-name") - .build(); + .appIcon("test-icon") + .appLaunchUrl("test-app-launch-url") + .showOnHomePage(true) + .clientId("test-client-id") + .clientName("test-client-name") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/groups/AddMemberRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/groups/AddMemberRequestTest.java index 300bca0d8f..5c1dc4db19 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/groups/AddMemberRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/groups/AddMemberRequestTest.java @@ -23,47 +23,46 @@ public final class AddMemberRequestTest { @Test(expected = IllegalStateException.class) public void noGroupId() { AddMemberRequest.builder() - .origin("test-origin") - .memberId("test-member-id") - .type(MemberType.USER) - .build(); + .origin("test-origin") + .memberId("test-member-id") + .type(MemberType.USER) + .build(); } @Test(expected = IllegalStateException.class) public void noMemberId() { AddMemberRequest.builder() - .groupId("test-group-id") - .origin("test-origin") - .type(MemberType.USER) - .build(); + .groupId("test-group-id") + .origin("test-origin") + .type(MemberType.USER) + .build(); } @Test(expected = IllegalStateException.class) public void noOrigin() { AddMemberRequest.builder() - .groupId("test-group-id") - .memberId("test-member-id") - .type(MemberType.USER) - .build(); + .groupId("test-group-id") + .memberId("test-member-id") + .type(MemberType.USER) + .build(); } @Test(expected = IllegalStateException.class) public void noType() { AddMemberRequest.builder() - .groupId("test-group-id") - .memberId("test-member-id") - .origin("test-origin") - .build(); + .groupId("test-group-id") + .memberId("test-member-id") + .origin("test-origin") + .build(); } @Test public void valid() { AddMemberRequest.builder() - .groupId("test-group-id") - .memberId("test-member-id") - .origin("test-origin") - .type(MemberType.USER) - .build(); + .groupId("test-group-id") + .memberId("test-member-id") + .origin("test-origin") + .type(MemberType.USER) + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/groups/CheckMembershipRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/groups/CheckMembershipRequestTest.java index cab99a96bc..07301f57de 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/groups/CheckMembershipRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/groups/CheckMembershipRequestTest.java @@ -22,25 +22,19 @@ public final class CheckMembershipRequestTest { @Test(expected = IllegalStateException.class) public void noGroupId() { - CheckMembershipRequest.builder() - .memberId("test-member-id") - .build(); + CheckMembershipRequest.builder().memberId("test-member-id").build(); } @Test(expected = IllegalStateException.class) public void noMemberId() { - CheckMembershipRequest.builder() - .groupId("test-group-id") - .build(); + CheckMembershipRequest.builder().groupId("test-group-id").build(); } @Test public void valid() { CheckMembershipRequest.builder() - .groupId("test-group-id") - .memberId("test-member-id") - .build(); + .groupId("test-group-id") + .memberId("test-member-id") + .build(); } - - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/groups/CreateGroupRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/groups/CreateGroupRequestTest.java index c1f204ee1b..f8f5403718 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/groups/CreateGroupRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/groups/CreateGroupRequestTest.java @@ -22,15 +22,11 @@ public final class CreateGroupRequestTest { @Test(expected = IllegalStateException.class) public void noDisplayName() { - CreateGroupRequest.builder() - .build(); + CreateGroupRequest.builder().build(); } @Test public void valid() { - CreateGroupRequest.builder() - .displayName("group-test") - .build(); + CreateGroupRequest.builder().displayName("group-test").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/groups/DeleteGroupRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/groups/DeleteGroupRequestTest.java index c7c3cd1f93..8fb76fc719 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/groups/DeleteGroupRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/groups/DeleteGroupRequestTest.java @@ -22,15 +22,11 @@ public final class DeleteGroupRequestTest { @Test(expected = IllegalStateException.class) public void noId() { - DeleteGroupRequest.builder() - .build(); + DeleteGroupRequest.builder().build(); } @Test public void valid() { - DeleteGroupRequest.builder() - .groupId("test-group-id") - .build(); + DeleteGroupRequest.builder().groupId("test-group-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/groups/GetGroupRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/groups/GetGroupRequestTest.java index 3fcec79e4a..2dd0b47333 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/groups/GetGroupRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/groups/GetGroupRequestTest.java @@ -22,15 +22,11 @@ public final class GetGroupRequestTest { @Test(expected = IllegalStateException.class) public void noId() { - GetGroupRequest.builder() - .build(); + GetGroupRequest.builder().build(); } @Test public void valid() { - GetGroupRequest.builder() - .groupId("test-group-id") - .build(); + GetGroupRequest.builder().groupId("test-group-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/groups/ListExternalGroupMappingsRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/groups/ListExternalGroupMappingsRequestTest.java index 56510389bb..01479437b4 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/groups/ListExternalGroupMappingsRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/groups/ListExternalGroupMappingsRequestTest.java @@ -22,8 +22,6 @@ public final class ListExternalGroupMappingsRequestTest { @Test public void valid() { - ListExternalGroupMappingsRequest.builder() - .build(); + ListExternalGroupMappingsRequest.builder().build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/groups/ListGroupsRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/groups/ListGroupsRequestTest.java index d31a2c15df..77b9c185e3 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/groups/ListGroupsRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/groups/ListGroupsRequestTest.java @@ -22,8 +22,6 @@ public class ListGroupsRequestTest { @Test public void valid() { - ListGroupsRequest.builder() - .build(); + ListGroupsRequest.builder().build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/groups/ListMembersRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/groups/ListMembersRequestTest.java index 6690694a30..51c30ead7b 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/groups/ListMembersRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/groups/ListMembersRequestTest.java @@ -22,15 +22,11 @@ public final class ListMembersRequestTest { @Test(expected = IllegalStateException.class) public void noId() { - ListMembersRequest.builder() - .build(); + ListMembersRequest.builder().build(); } @Test public void valid() { - ListMembersRequest.builder() - .groupId("test-group-id") - .build(); + ListMembersRequest.builder().groupId("test-group-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/groups/MapExternalGroupRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/groups/MapExternalGroupRequestTest.java index 49cfae8af8..24b0efdf22 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/groups/MapExternalGroupRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/groups/MapExternalGroupRequestTest.java @@ -22,24 +22,19 @@ public final class MapExternalGroupRequestTest { @Test(expected = IllegalStateException.class) public void noExternalGroup() { - MapExternalGroupRequest.builder() - .groupId("test-group-id") - .build(); + MapExternalGroupRequest.builder().groupId("test-group-id").build(); } @Test(expected = IllegalStateException.class) public void noGroupId() { - MapExternalGroupRequest.builder() - .externalGroup("test-external-group") - .build(); + MapExternalGroupRequest.builder().externalGroup("test-external-group").build(); } @Test public void valid() { MapExternalGroupRequest.builder() - .groupId("test-group-id") - .externalGroup("test-external-group") - .build(); + .groupId("test-group-id") + .externalGroup("test-external-group") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/groups/RemoveMemberRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/groups/RemoveMemberRequestTest.java index 15dc6e0f75..79dc8f78b3 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/groups/RemoveMemberRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/groups/RemoveMemberRequestTest.java @@ -22,24 +22,16 @@ public final class RemoveMemberRequestTest { @Test(expected = IllegalStateException.class) public void noGroupId() { - RemoveMemberRequest.builder() - .memberId("test-member-id") - .build(); + RemoveMemberRequest.builder().memberId("test-member-id").build(); } @Test(expected = IllegalStateException.class) public void noMemberId() { - RemoveMemberRequest.builder() - .groupId("test-group-id") - .build(); + RemoveMemberRequest.builder().groupId("test-group-id").build(); } @Test public void valid() { - RemoveMemberRequest.builder() - .groupId("test-group-id") - .memberId("test-member-id") - .build(); + RemoveMemberRequest.builder().groupId("test-group-id").memberId("test-member-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/groups/UnmapExternalGroupByGroupDisplayNameRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/groups/UnmapExternalGroupByGroupDisplayNameRequestTest.java index 98e0753b31..bcdd4bcc47 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/groups/UnmapExternalGroupByGroupDisplayNameRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/groups/UnmapExternalGroupByGroupDisplayNameRequestTest.java @@ -23,34 +23,33 @@ public final class UnmapExternalGroupByGroupDisplayNameRequestTest { @Test(expected = IllegalStateException.class) public void noExternalGroup() { UnmapExternalGroupByGroupDisplayNameRequest.builder() - .groupDisplayName("test-group-display-name") - .origin("test-origin") - .build(); + .groupDisplayName("test-group-display-name") + .origin("test-origin") + .build(); } @Test(expected = IllegalStateException.class) public void noGroupDisplayName() { UnmapExternalGroupByGroupDisplayNameRequest.builder() - .externalGroup("test-external-group") - .origin("test-origin") - .build(); + .externalGroup("test-external-group") + .origin("test-origin") + .build(); } @Test(expected = IllegalStateException.class) public void noOrigin() { UnmapExternalGroupByGroupDisplayNameRequest.builder() - .groupDisplayName("test-group-display-name") - .externalGroup("test-external-group") - .build(); + .groupDisplayName("test-group-display-name") + .externalGroup("test-external-group") + .build(); } @Test public void valid() { UnmapExternalGroupByGroupDisplayNameRequest.builder() - .groupDisplayName("test-group-display-name") - .externalGroup("test-external-group") - .origin("test-origin") - .build(); + .groupDisplayName("test-group-display-name") + .externalGroup("test-external-group") + .origin("test-origin") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/groups/UnmapExternalGroupByGroupIdRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/groups/UnmapExternalGroupByGroupIdRequestTest.java index 0c573ea03e..c6114818ac 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/groups/UnmapExternalGroupByGroupIdRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/groups/UnmapExternalGroupByGroupIdRequestTest.java @@ -23,34 +23,33 @@ public final class UnmapExternalGroupByGroupIdRequestTest { @Test(expected = IllegalStateException.class) public void noExternalGroup() { UnmapExternalGroupByGroupIdRequest.builder() - .groupId("test-group-id") - .origin("test-origin") - .build(); + .groupId("test-group-id") + .origin("test-origin") + .build(); } @Test(expected = IllegalStateException.class) public void noGroupId() { UnmapExternalGroupByGroupIdRequest.builder() - .externalGroup("test-external-group") - .origin("test-origin") - .build(); + .externalGroup("test-external-group") + .origin("test-origin") + .build(); } @Test(expected = IllegalStateException.class) public void noOrigin() { UnmapExternalGroupByGroupIdRequest.builder() - .groupId("test-group-id") - .externalGroup("test-external-group") - .build(); + .groupId("test-group-id") + .externalGroup("test-external-group") + .build(); } @Test public void valid() { UnmapExternalGroupByGroupIdRequest.builder() - .groupId("test-group-id") - .externalGroup("test-external-group") - .origin("test-origin") - .build(); + .groupId("test-group-id") + .externalGroup("test-external-group") + .origin("test-origin") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/groups/UpdateGroupRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/groups/UpdateGroupRequestTest.java index 101309bfbe..0f2d1ceafe 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/groups/UpdateGroupRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/groups/UpdateGroupRequestTest.java @@ -22,46 +22,39 @@ public final class UpdateGroupRequestTest { @Test(expected = IllegalStateException.class) public void noDisplayName() { - UpdateGroupRequest.builder() - .groupId("test-group-id") - .version("*") - .build(); + UpdateGroupRequest.builder().groupId("test-group-id").version("*").build(); } @Test(expected = IllegalStateException.class) public void noId() { UpdateGroupRequest.builder() - .identityZoneId("test-identity-zone-id") - .displayName("group-test") - .version("*") - .build(); + .identityZoneId("test-identity-zone-id") + .displayName("group-test") + .version("*") + .build(); } @Test(expected = IllegalStateException.class) public void noIdentityZoneId() { - UpdateGroupRequest.builder() - .displayName("group-test") - .version("*") - .build(); + UpdateGroupRequest.builder().displayName("group-test").version("*").build(); } @Test(expected = IllegalStateException.class) public void noVersion() { UpdateGroupRequest.builder() - .identityZoneId("test-identity-zone-id") - .displayName("group-test") - .groupId("test-group-id") - .build(); + .identityZoneId("test-identity-zone-id") + .displayName("group-test") + .groupId("test-group-id") + .build(); } @Test public void valid() { UpdateGroupRequest.builder() - .identityZoneId("test-identity-zone-id") - .displayName("group-test") - .groupId("test-group-id") - .version("*") - .build(); + .identityZoneId("test-identity-zone-id") + .displayName("group-test") + .groupId("test-group-id") + .version("*") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/identityproviders/AttributeMappingsTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/identityproviders/AttributeMappingsTest.java index dd0cbc8744..87cf2ff4f2 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/identityproviders/AttributeMappingsTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/identityproviders/AttributeMappingsTest.java @@ -22,8 +22,6 @@ public final class AttributeMappingsTest { @Test public void valid() { - AttributeMappings.builder() - .build(); + AttributeMappings.builder().build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/identityproviders/CreateIdentityProviderRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/identityproviders/CreateIdentityProviderRequestTest.java index 640b0fad20..0b4be8a32c 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/identityproviders/CreateIdentityProviderRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/identityproviders/CreateIdentityProviderRequestTest.java @@ -23,50 +23,53 @@ public final class CreateIdentityProviderRequestTest { @Test(expected = IllegalStateException.class) public void noName() { CreateIdentityProviderRequest.builder() - .configuration(SamlConfiguration.builder() - .metaDataLocation("test-metadata-location") - .build()) - .identityZoneId("test-identity-zone-id") - .type(Type.SAML) - .originKey("test-origin-key") - .build(); + .configuration( + SamlConfiguration.builder() + .metaDataLocation("test-metadata-location") + .build()) + .identityZoneId("test-identity-zone-id") + .type(Type.SAML) + .originKey("test-origin-key") + .build(); } @Test(expected = IllegalStateException.class) public void noOriginKey() { CreateIdentityProviderRequest.builder() - .configuration(SamlConfiguration.builder() - .metaDataLocation("test-metadata-location") - .build()) - .identityZoneId("test-identity-zone-id") - .name("test-name") - .type(Type.SAML) - .build(); + .configuration( + SamlConfiguration.builder() + .metaDataLocation("test-metadata-location") + .build()) + .identityZoneId("test-identity-zone-id") + .name("test-name") + .type(Type.SAML) + .build(); } @Test(expected = IllegalStateException.class) public void noType() { CreateIdentityProviderRequest.builder() - .configuration(SamlConfiguration.builder() - .metaDataLocation("test-metadata-location") - .build()) - .identityZoneId("test-identity-zone-id") - .name("test-name") - .originKey("test-origin-key") - .build(); + .configuration( + SamlConfiguration.builder() + .metaDataLocation("test-metadata-location") + .build()) + .identityZoneId("test-identity-zone-id") + .name("test-name") + .originKey("test-origin-key") + .build(); } @Test public void valid() { CreateIdentityProviderRequest.builder() - .configuration(SamlConfiguration.builder() - .metaDataLocation("test-metadata-location") - .build()) - .identityZoneId("test-identity-zone-id") - .name("test-name") - .originKey("test-origin-key") - .type(Type.SAML) - .build(); + .configuration( + SamlConfiguration.builder() + .metaDataLocation("test-metadata-location") + .build()) + .identityZoneId("test-identity-zone-id") + .name("test-name") + .originKey("test-origin-key") + .type(Type.SAML) + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/identityproviders/DeleteIdentityProviderRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/identityproviders/DeleteIdentityProviderRequestTest.java index 3670471272..fed1555a74 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/identityproviders/DeleteIdentityProviderRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/identityproviders/DeleteIdentityProviderRequestTest.java @@ -22,17 +22,14 @@ public final class DeleteIdentityProviderRequestTest { @Test(expected = IllegalStateException.class) public void noIdentityProviderId() { - DeleteIdentityProviderRequest.builder() - .identityZoneId("test-identity-zone-id") - .build(); + DeleteIdentityProviderRequest.builder().identityZoneId("test-identity-zone-id").build(); } @Test public void valid() { DeleteIdentityProviderRequest.builder() - .identityProviderId("test-identity-provider-id") - .identityZoneId("test-identity-zone-id") - .build(); + .identityProviderId("test-identity-provider-id") + .identityZoneId("test-identity-zone-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/identityproviders/GetIdentityProviderRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/identityproviders/GetIdentityProviderRequestTest.java index 8916e8adad..ed7efe196f 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/identityproviders/GetIdentityProviderRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/identityproviders/GetIdentityProviderRequestTest.java @@ -22,17 +22,14 @@ public final class GetIdentityProviderRequestTest { @Test(expected = IllegalStateException.class) public void noIdentityProviderId() { - GetIdentityProviderRequest.builder() - .identityZoneId("test-identity-zone-id") - .build(); + GetIdentityProviderRequest.builder().identityZoneId("test-identity-zone-id").build(); } @Test public void valid() { GetIdentityProviderRequest.builder() - .identityProviderId("test-identity-provider-id") - .identityZoneId("test-identity-zone-id") - .build(); + .identityProviderId("test-identity-provider-id") + .identityZoneId("test-identity-zone-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/identityproviders/InternalConfigurationTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/identityproviders/InternalConfigurationTest.java index 9e2405eaaa..8151fde366 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/identityproviders/InternalConfigurationTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/identityproviders/InternalConfigurationTest.java @@ -24,5 +24,4 @@ public final class InternalConfigurationTest { public void valid() { InternalConfiguration.builder().build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/identityproviders/KeystoneConfigurationTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/identityproviders/KeystoneConfigurationTest.java index 6044ebed0d..21749b1d11 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/identityproviders/KeystoneConfigurationTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/identityproviders/KeystoneConfigurationTest.java @@ -22,8 +22,6 @@ public final class KeystoneConfigurationTest { @Test public void valid() { - KeystoneConfiguration.builder() - .build(); + KeystoneConfiguration.builder().build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/identityproviders/LdapConfigurationTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/identityproviders/LdapConfigurationTest.java index 72f6c75a3a..06ef6598cf 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/identityproviders/LdapConfigurationTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/identityproviders/LdapConfigurationTest.java @@ -22,8 +22,6 @@ public final class LdapConfigurationTest { @Test public void valid() { - LdapConfiguration.builder() - .build(); + LdapConfiguration.builder().build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/identityproviders/ListIdentityProvidersRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/identityproviders/ListIdentityProvidersRequestTest.java index bb746e78b5..c410b304b1 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/identityproviders/ListIdentityProvidersRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/identityproviders/ListIdentityProvidersRequestTest.java @@ -22,10 +22,6 @@ public final class ListIdentityProvidersRequestTest { @Test public void valid() { - ListIdentityProvidersRequest.builder() - .identityZoneId("text-identity-zone-id") - .build(); + ListIdentityProvidersRequest.builder().identityZoneId("text-identity-zone-id").build(); } - - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/identityproviders/LockoutPolicyTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/identityproviders/LockoutPolicyTest.java index ca4ab0a8f3..17b3bf103d 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/identityproviders/LockoutPolicyTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/identityproviders/LockoutPolicyTest.java @@ -16,42 +16,31 @@ package org.cloudfoundry.uaa.identityproviders; - import org.junit.Test; public final class LockoutPolicyTest { @Test(expected = IllegalStateException.class) public void noLockAccountPeriodInSecond() { - LockoutPolicy.builder() - .lockoutPeriodInSecond(0) - .numberOfAllowedFailures(0) - .build(); + LockoutPolicy.builder().lockoutPeriodInSecond(0).numberOfAllowedFailures(0).build(); } @Test(expected = IllegalStateException.class) public void noLockoutPeriodInSecond() { - LockoutPolicy.builder() - .lockAccountPeriodInSecond(0) - .numberOfAllowedFailures(0) - .build(); + LockoutPolicy.builder().lockAccountPeriodInSecond(0).numberOfAllowedFailures(0).build(); } @Test(expected = IllegalStateException.class) public void noNumberOfAllowedFailures() { - LockoutPolicy.builder() - .lockAccountPeriodInSecond(0) - .lockoutPeriodInSecond(0) - .build(); + LockoutPolicy.builder().lockAccountPeriodInSecond(0).lockoutPeriodInSecond(0).build(); } @Test public void valid() { LockoutPolicy.builder() - .lockAccountPeriodInSecond(0) - .lockoutPeriodInSecond(0) - .numberOfAllowedFailures(0) - .build(); + .lockAccountPeriodInSecond(0) + .lockoutPeriodInSecond(0) + .numberOfAllowedFailures(0) + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/identityproviders/OAuth2ConfigurationTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/identityproviders/OAuth2ConfigurationTest.java index 1ba509d5f2..0527a25e59 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/identityproviders/OAuth2ConfigurationTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/identityproviders/OAuth2ConfigurationTest.java @@ -23,34 +23,30 @@ public final class OAuth2ConfigurationTest { @Test(expected = IllegalStateException.class) public void noAuthUrl() { OAuth2Configuration.builder() - .tokenUrl("test-token-url") - .relyingPartyId("test-relying-party-id") - .build(); + .tokenUrl("test-token-url") + .relyingPartyId("test-relying-party-id") + .build(); } @Test(expected = IllegalStateException.class) public void noRelyingPartyId() { - OAuth2Configuration.builder() - .authUrl("test-auth-url") - .tokenUrl("test-token-url") - .build(); + OAuth2Configuration.builder().authUrl("test-auth-url").tokenUrl("test-token-url").build(); } @Test(expected = IllegalStateException.class) public void noTokenUrl() { OAuth2Configuration.builder() - .authUrl("test-auth-url") - .relyingPartyId("test-relying-party-id") - .build(); + .authUrl("test-auth-url") + .relyingPartyId("test-relying-party-id") + .build(); } @Test public void valid() { OAuth2Configuration.builder() - .authUrl("test-auth-url") - .tokenUrl("test-token-url") - .relyingPartyId("test-relying-party-id") - .build(); + .authUrl("test-auth-url") + .tokenUrl("test-token-url") + .relyingPartyId("test-relying-party-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/identityproviders/OpenIdConnectConfigurationTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/identityproviders/OpenIdConnectConfigurationTest.java index 434a8a2da8..08c360a833 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/identityproviders/OpenIdConnectConfigurationTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/identityproviders/OpenIdConnectConfigurationTest.java @@ -23,34 +23,33 @@ public final class OpenIdConnectConfigurationTest { @Test(expected = IllegalStateException.class) public void noAuthUrl() { OpenIdConnectConfiguration.builder() - .tokenUrl("test-token-url") - .relyingPartyId("test-relying-party-id") - .build(); + .tokenUrl("test-token-url") + .relyingPartyId("test-relying-party-id") + .build(); } @Test(expected = IllegalStateException.class) public void noRelyingPartyId() { OpenIdConnectConfiguration.builder() - .authUrl("test-auth-url") - .tokenUrl("test-token-url") - .build(); + .authUrl("test-auth-url") + .tokenUrl("test-token-url") + .build(); } @Test(expected = IllegalStateException.class) public void noTokenUrl() { OpenIdConnectConfiguration.builder() - .authUrl("test-auth-url") - .relyingPartyId("test-relying-party-id") - .build(); + .authUrl("test-auth-url") + .relyingPartyId("test-relying-party-id") + .build(); } @Test public void valid() { OpenIdConnectConfiguration.builder() - .authUrl("test-auth-url") - .tokenUrl("test-token-url") - .relyingPartyId("test-relying-party-id") - .build(); + .authUrl("test-auth-url") + .tokenUrl("test-token-url") + .relyingPartyId("test-relying-party-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/identityproviders/PasswordPolicyTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/identityproviders/PasswordPolicyTest.java index 8e271e9ac1..671f05e733 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/identityproviders/PasswordPolicyTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/identityproviders/PasswordPolicyTest.java @@ -16,7 +16,6 @@ package org.cloudfoundry.uaa.identityproviders; - import org.junit.Test; public final class PasswordPolicyTest { @@ -24,98 +23,97 @@ public final class PasswordPolicyTest { @Test(expected = IllegalStateException.class) public void noMaximumLength() { PasswordPolicy.builder() - .minimumDigit(0) - .minimumLength(0) - .minimumLowerCaseCharacter(0) - .minimumSpecialCharacter(0) - .minimumUpperCaseCharacter(0) - .passwordExpirationInMonth(0) - .build(); + .minimumDigit(0) + .minimumLength(0) + .minimumLowerCaseCharacter(0) + .minimumSpecialCharacter(0) + .minimumUpperCaseCharacter(0) + .passwordExpirationInMonth(0) + .build(); } @Test(expected = IllegalStateException.class) public void noMinimumDigit() { PasswordPolicy.builder() - .maximumLength(0) - .minimumLength(0) - .minimumLowerCaseCharacter(0) - .minimumSpecialCharacter(0) - .minimumUpperCaseCharacter(0) - .passwordExpirationInMonth(0) - .build(); + .maximumLength(0) + .minimumLength(0) + .minimumLowerCaseCharacter(0) + .minimumSpecialCharacter(0) + .minimumUpperCaseCharacter(0) + .passwordExpirationInMonth(0) + .build(); } @Test(expected = IllegalStateException.class) public void noMinimumLength() { PasswordPolicy.builder() - .maximumLength(0) - .minimumDigit(0) - .minimumLowerCaseCharacter(0) - .minimumSpecialCharacter(0) - .minimumUpperCaseCharacter(0) - .passwordExpirationInMonth(0) - .build(); + .maximumLength(0) + .minimumDigit(0) + .minimumLowerCaseCharacter(0) + .minimumSpecialCharacter(0) + .minimumUpperCaseCharacter(0) + .passwordExpirationInMonth(0) + .build(); } @Test(expected = IllegalStateException.class) public void noMinimumLowerCaseCharacter() { PasswordPolicy.builder() - .maximumLength(0) - .minimumDigit(0) - .minimumLength(0) - .minimumSpecialCharacter(0) - .minimumUpperCaseCharacter(0) - .passwordExpirationInMonth(0) - .build(); + .maximumLength(0) + .minimumDigit(0) + .minimumLength(0) + .minimumSpecialCharacter(0) + .minimumUpperCaseCharacter(0) + .passwordExpirationInMonth(0) + .build(); } @Test(expected = IllegalStateException.class) public void noMinimumSpecialCharacter() { PasswordPolicy.builder() - .maximumLength(0) - .minimumDigit(0) - .minimumLength(0) - .minimumLowerCaseCharacter(0) - .minimumUpperCaseCharacter(0) - .passwordExpirationInMonth(0) - .build(); + .maximumLength(0) + .minimumDigit(0) + .minimumLength(0) + .minimumLowerCaseCharacter(0) + .minimumUpperCaseCharacter(0) + .passwordExpirationInMonth(0) + .build(); } @Test(expected = IllegalStateException.class) public void noMinimumUpperCaseCharacter() { PasswordPolicy.builder() - .maximumLength(0) - .minimumDigit(0) - .minimumLength(0) - .minimumLowerCaseCharacter(0) - .minimumSpecialCharacter(0) - .passwordExpirationInMonth(0) - .build(); + .maximumLength(0) + .minimumDigit(0) + .minimumLength(0) + .minimumLowerCaseCharacter(0) + .minimumSpecialCharacter(0) + .passwordExpirationInMonth(0) + .build(); } @Test(expected = IllegalStateException.class) public void noPasswordExpirationInMonth() { PasswordPolicy.builder() - .maximumLength(0) - .minimumDigit(0) - .minimumLength(0) - .minimumLowerCaseCharacter(0) - .minimumSpecialCharacter(0) - .minimumUpperCaseCharacter(0) - .build(); + .maximumLength(0) + .minimumDigit(0) + .minimumLength(0) + .minimumLowerCaseCharacter(0) + .minimumSpecialCharacter(0) + .minimumUpperCaseCharacter(0) + .build(); } @Test public void valid() { PasswordPolicy.builder() - .maximumLength(0) - .minimumDigit(0) - .minimumLength(0) - .minimumLowerCaseCharacter(0) - .minimumSpecialCharacter(0) - .minimumUpperCaseCharacter(0) - .passwordExpirationInMonth(0) - .build(); + .maximumLength(0) + .minimumDigit(0) + .minimumLength(0) + .minimumLowerCaseCharacter(0) + .minimumSpecialCharacter(0) + .minimumUpperCaseCharacter(0) + .passwordExpirationInMonth(0) + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/identityproviders/SamlConfigurationTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/identityproviders/SamlConfigurationTest.java index 1215c5c17e..3b75b5442b 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/identityproviders/SamlConfigurationTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/identityproviders/SamlConfigurationTest.java @@ -22,15 +22,11 @@ public final class SamlConfigurationTest { @Test(expected = IllegalStateException.class) public void noMetadataLocation() { - SamlConfiguration.builder() - .build(); + SamlConfiguration.builder().build(); } @Test public void valid() { - SamlConfiguration.builder() - .metaDataLocation("test-metadata-location") - .build(); + SamlConfiguration.builder().metaDataLocation("test-metadata-location").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/identityproviders/UpdateIdentityProviderRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/identityproviders/UpdateIdentityProviderRequestTest.java index 4fa3ba757b..4acd6c5420 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/identityproviders/UpdateIdentityProviderRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/identityproviders/UpdateIdentityProviderRequestTest.java @@ -23,80 +23,73 @@ public final class UpdateIdentityProviderRequestTest { @Test(expected = IllegalStateException.class) public void noIdentityProviderId() { UpdateIdentityProviderRequest.builder() - .configuration(InternalConfiguration.builder() - .build()) - .identityZoneId("test-identity-zone-id") - .name("test-name") - .originKey("test-origin-key") - .type(Type.INTERNAL) - .version(0) - .build(); + .configuration(InternalConfiguration.builder().build()) + .identityZoneId("test-identity-zone-id") + .name("test-name") + .originKey("test-origin-key") + .type(Type.INTERNAL) + .version(0) + .build(); } @Test(expected = IllegalStateException.class) public void noName() { UpdateIdentityProviderRequest.builder() - .configuration(InternalConfiguration.builder() - .build()) - .identityZoneId("test-identity-zone-id") - .identityProviderId("test-identity-provider-id") - .originKey("test-origin-key") - .type(Type.INTERNAL) - .version(0) - .build(); + .configuration(InternalConfiguration.builder().build()) + .identityZoneId("test-identity-zone-id") + .identityProviderId("test-identity-provider-id") + .originKey("test-origin-key") + .type(Type.INTERNAL) + .version(0) + .build(); } @Test(expected = IllegalStateException.class) public void noOriginKey() { UpdateIdentityProviderRequest.builder() - .configuration(InternalConfiguration.builder() - .build()) - .identityZoneId("test-identity-zone-id") - .identityProviderId("test-identity-provider-id") - .name("test-name") - .type(Type.INTERNAL) - .version(0) - .build(); + .configuration(InternalConfiguration.builder().build()) + .identityZoneId("test-identity-zone-id") + .identityProviderId("test-identity-provider-id") + .name("test-name") + .type(Type.INTERNAL) + .version(0) + .build(); } @Test(expected = IllegalStateException.class) public void noType() { UpdateIdentityProviderRequest.builder() - .configuration(InternalConfiguration.builder() - .build()) - .identityZoneId("test-identity-zone-id") - .identityProviderId("test-identity-provider-id") - .name("test-name") - .originKey("test-origin-key") - .version(0) - .build(); + .configuration(InternalConfiguration.builder().build()) + .identityZoneId("test-identity-zone-id") + .identityProviderId("test-identity-provider-id") + .name("test-name") + .originKey("test-origin-key") + .version(0) + .build(); } @Test(expected = IllegalStateException.class) public void noVersion() { UpdateIdentityProviderRequest.builder() - .configuration(InternalConfiguration.builder() - .build()) - .identityZoneId("test-identity-zone-id") - .identityProviderId("test-identity-provider-id") - .name("test-name") - .originKey("test-origin-key") - .type(Type.INTERNAL) - .build(); + .configuration(InternalConfiguration.builder().build()) + .identityZoneId("test-identity-zone-id") + .identityProviderId("test-identity-provider-id") + .name("test-name") + .originKey("test-origin-key") + .type(Type.INTERNAL) + .build(); } @Test public void valid() { UpdateIdentityProviderRequest.builder() - .configuration(InternalConfiguration.builder() - .build()) - .identityZoneId("test-identity-zone-id") - .identityProviderId("test-identity-provider-id") - .name("test-name") - .originKey("test-origin-key") - .type(Type.INTERNAL) - .version(0) - .build(); + .configuration(InternalConfiguration.builder().build()) + .identityZoneId("test-identity-zone-id") + .identityProviderId("test-identity-provider-id") + .name("test-name") + .originKey("test-origin-key") + .type(Type.INTERNAL) + .version(0) + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/identityzones/CreateIdentityZoneRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/identityzones/CreateIdentityZoneRequestTest.java index 6e977bd3ac..f56b1b8f42 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/identityzones/CreateIdentityZoneRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/identityzones/CreateIdentityZoneRequestTest.java @@ -23,43 +23,39 @@ public final class CreateIdentityZoneRequestTest { @Test(expected = IllegalStateException.class) public void noName() { CreateIdentityZoneRequest.builder() - .configuration(IdentityZoneConfiguration.builder().build()) - .description("test-description") - .identityZoneId("test-identity-zone-id") - .subdomain("test-sub-domain") - .version(1) - .build(); + .configuration(IdentityZoneConfiguration.builder().build()) + .description("test-description") + .identityZoneId("test-identity-zone-id") + .subdomain("test-sub-domain") + .version(1) + .build(); } @Test(expected = IllegalStateException.class) public void noSubdomain() { CreateIdentityZoneRequest.builder() - .configuration(IdentityZoneConfiguration.builder().build()) - .description("test-description") - .identityZoneId("test-identity-zone-id") - .name("test-name") - .version(1) - .build(); + .configuration(IdentityZoneConfiguration.builder().build()) + .description("test-description") + .identityZoneId("test-identity-zone-id") + .name("test-name") + .version(1) + .build(); } @Test public void validMax() { CreateIdentityZoneRequest.builder() - .configuration(IdentityZoneConfiguration.builder().build()) - .description("test-description") - .identityZoneId("test-identity-zone-id") - .name("test-name") - .subdomain("test-sub-domain") - .version(1) - .build(); + .configuration(IdentityZoneConfiguration.builder().build()) + .description("test-description") + .identityZoneId("test-identity-zone-id") + .name("test-name") + .subdomain("test-sub-domain") + .version(1) + .build(); } @Test public void validMin() { - CreateIdentityZoneRequest.builder() - .name("test-name") - .subdomain("test-sub-domain") - .build(); + CreateIdentityZoneRequest.builder().name("test-name").subdomain("test-sub-domain").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/identityzones/DeleteIdentityZoneRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/identityzones/DeleteIdentityZoneRequestTest.java index fe526f6ced..8108e501f9 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/identityzones/DeleteIdentityZoneRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/identityzones/DeleteIdentityZoneRequestTest.java @@ -22,15 +22,11 @@ public final class DeleteIdentityZoneRequestTest { @Test(expected = IllegalStateException.class) public void noId() { - DeleteIdentityZoneRequest.builder() - .build(); + DeleteIdentityZoneRequest.builder().build(); } @Test public void valid() { - DeleteIdentityZoneRequest.builder() - .identityZoneId("test-identity-zone-id") - .build(); + DeleteIdentityZoneRequest.builder().identityZoneId("test-identity-zone-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/identityzones/GetIdentityZoneRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/identityzones/GetIdentityZoneRequestTest.java index 16ee459bf5..7c295577ff 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/identityzones/GetIdentityZoneRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/identityzones/GetIdentityZoneRequestTest.java @@ -22,15 +22,11 @@ public final class GetIdentityZoneRequestTest { @Test(expected = IllegalStateException.class) public void noIdentityZoneId() { - GetIdentityZoneRequest.builder() - .build(); + GetIdentityZoneRequest.builder().build(); } @Test public void valid() { - GetIdentityZoneRequest.builder() - .identityZoneId("test-identity-zone-id") - .build(); + GetIdentityZoneRequest.builder().identityZoneId("test-identity-zone-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/identityzones/ListIdentityZonesRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/identityzones/ListIdentityZonesRequestTest.java index eaede9d08e..17e151ed04 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/identityzones/ListIdentityZonesRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/identityzones/ListIdentityZonesRequestTest.java @@ -22,8 +22,6 @@ public final class ListIdentityZonesRequestTest { @Test public void valid() { - ListIdentityZonesRequest.builder() - .build(); + ListIdentityZonesRequest.builder().build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/identityzones/UpdateIdentityZoneRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/identityzones/UpdateIdentityZoneRequestTest.java index 623a458ca3..135312ab5f 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/identityzones/UpdateIdentityZoneRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/identityzones/UpdateIdentityZoneRequestTest.java @@ -23,55 +23,54 @@ public class UpdateIdentityZoneRequestTest { @Test(expected = IllegalStateException.class) public void noIdentityZoneId() { UpdateIdentityZoneRequest.builder() - .configuration(IdentityZoneConfiguration.builder().build()) - .description("test-new-description") - .name("test-name") - .subdomain("test-sub-domain") - .version(1) - .build(); + .configuration(IdentityZoneConfiguration.builder().build()) + .description("test-new-description") + .name("test-name") + .subdomain("test-sub-domain") + .version(1) + .build(); } @Test(expected = IllegalStateException.class) public void noName() { UpdateIdentityZoneRequest.builder() - .configuration(IdentityZoneConfiguration.builder().build()) - .description("test-new-description") - .identityZoneId("test-id") - .subdomain("test-sub-domain") - .version(1) - .build(); + .configuration(IdentityZoneConfiguration.builder().build()) + .description("test-new-description") + .identityZoneId("test-id") + .subdomain("test-sub-domain") + .version(1) + .build(); } @Test(expected = IllegalStateException.class) public void noSubdomain() { UpdateIdentityZoneRequest.builder() - .configuration(IdentityZoneConfiguration.builder().build()) - .description("test-new-description") - .identityZoneId("test-id") - .name("test-name") - .version(1) - .build(); + .configuration(IdentityZoneConfiguration.builder().build()) + .description("test-new-description") + .identityZoneId("test-id") + .name("test-name") + .version(1) + .build(); } @Test public void validMax() { UpdateIdentityZoneRequest.builder() - .configuration(IdentityZoneConfiguration.builder().build()) - .description("test-new-description") - .identityZoneId("test-id") - .name("test-name") - .subdomain("test-sub-domain") - .version(1) - .build(); + .configuration(IdentityZoneConfiguration.builder().build()) + .description("test-new-description") + .identityZoneId("test-id") + .name("test-name") + .subdomain("test-sub-domain") + .version(1) + .build(); } @Test public void validMin() { UpdateIdentityZoneRequest.builder() - .identityZoneId("test-id") - .name("test-name") - .subdomain("test-sub-domain") - .build(); + .identityZoneId("test-id") + .name("test-name") + .subdomain("test-sub-domain") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/serverinformation/AutoLoginRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/serverinformation/AutoLoginRequestTest.java index e76ecbff5f..6207a8fb6d 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/serverinformation/AutoLoginRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/serverinformation/AutoLoginRequestTest.java @@ -22,24 +22,16 @@ public final class AutoLoginRequestTest { @Test(expected = IllegalStateException.class) public void noClientId() { - AutoLoginRequest.builder() - .code("test-code") - .build(); + AutoLoginRequest.builder().code("test-code").build(); } @Test(expected = IllegalStateException.class) public void noCode() { - AutoLoginRequest.builder() - .clientId("test-client-id") - .build(); + AutoLoginRequest.builder().clientId("test-client-id").build(); } @Test public void valid() { - AutoLoginRequest.builder() - .clientId("test-client-id") - .code("test-code") - .build(); + AutoLoginRequest.builder().clientId("test-client-id").code("test-code").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/serverinformation/GetAutoLoginAuthenticationCodeRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/serverinformation/GetAutoLoginAuthenticationCodeRequestTest.java index 26ab47ccfd..173b510feb 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/serverinformation/GetAutoLoginAuthenticationCodeRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/serverinformation/GetAutoLoginAuthenticationCodeRequestTest.java @@ -23,47 +23,46 @@ public final class GetAutoLoginAuthenticationCodeRequestTest { @Test(expected = IllegalStateException.class) public void noClientId() { GetAutoLoginAuthenticationCodeRequest.builder() - .clientSecret("test-client-secret") - .password("test-password") - .username("test-username") - .build(); + .clientSecret("test-client-secret") + .password("test-password") + .username("test-username") + .build(); } @Test(expected = IllegalStateException.class) public void noClientSecret() { GetAutoLoginAuthenticationCodeRequest.builder() - .clientId("test-client-id") - .password("test-password") - .username("test-username") - .build(); + .clientId("test-client-id") + .password("test-password") + .username("test-username") + .build(); } @Test(expected = IllegalStateException.class) public void noPassword() { GetAutoLoginAuthenticationCodeRequest.builder() - .clientId("test-client-id") - .clientSecret("test-client-secret") - .username("test-username") - .build(); + .clientId("test-client-id") + .clientSecret("test-client-secret") + .username("test-username") + .build(); } @Test(expected = IllegalStateException.class) public void noUsername() { GetAutoLoginAuthenticationCodeRequest.builder() - .clientId("test-client-id") - .clientSecret("test-client-secret") - .password("test-password") - .build(); + .clientId("test-client-id") + .clientSecret("test-client-secret") + .password("test-password") + .build(); } @Test public void valid() { GetAutoLoginAuthenticationCodeRequest.builder() - .clientId("test-client-id") - .clientSecret("test-client-secret") - .password("test-password") - .username("test-username") - .build(); + .clientId("test-client-id") + .clientSecret("test-client-secret") + .password("test-password") + .username("test-username") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/serverinformation/GetInfoRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/serverinformation/GetInfoRequestTest.java index ddf0c3f8c6..1b0e2f636e 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/serverinformation/GetInfoRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/serverinformation/GetInfoRequestTest.java @@ -22,8 +22,6 @@ public final class GetInfoRequestTest { @Test public void valid() { - GetInfoRequest.builder() - .build(); + GetInfoRequest.builder().build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/tokens/CheckTokenRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/tokens/CheckTokenRequestTest.java index 8db71fefa4..fc69f16b70 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/tokens/CheckTokenRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/tokens/CheckTokenRequestTest.java @@ -23,47 +23,46 @@ public final class CheckTokenRequestTest { @Test(expected = IllegalStateException.class) public void noClientId() { CheckTokenRequest.builder() - .clientSecret("test-client-secret") - .token("test-token") - .scope("test-scope") - .build(); + .clientSecret("test-client-secret") + .token("test-token") + .scope("test-scope") + .build(); } @Test(expected = IllegalStateException.class) public void noClientSecret() { CheckTokenRequest.builder() - .clientId("test-client-id") - .token("test-token") - .scope("test-scope") - .build(); + .clientId("test-client-id") + .token("test-token") + .scope("test-scope") + .build(); } @Test(expected = IllegalStateException.class) public void noToken() { CheckTokenRequest.builder() - .clientId("test-client-id") - .clientSecret("test-client-secret") - .scope("test-scope") - .build(); + .clientId("test-client-id") + .clientSecret("test-client-secret") + .scope("test-scope") + .build(); } @Test public void validMax() { CheckTokenRequest.builder() - .clientId("test-client-id") - .clientSecret("test-client-secret") - .token("test-token") - .scope("test-scope") - .build(); + .clientId("test-client-id") + .clientSecret("test-client-secret") + .token("test-token") + .scope("test-scope") + .build(); } @Test public void validMin() { CheckTokenRequest.builder() - .clientId("test-client-id") - .clientSecret("test-client-secret") - .token("test-token") - .build(); + .clientId("test-client-id") + .clientSecret("test-client-secret") + .token("test-token") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/tokens/GetTokenByAuthorizationCodeRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/tokens/GetTokenByAuthorizationCodeRequestTest.java index 35d331ac32..5f60c0c44d 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/tokens/GetTokenByAuthorizationCodeRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/tokens/GetTokenByAuthorizationCodeRequestTest.java @@ -23,34 +23,33 @@ public final class GetTokenByAuthorizationCodeRequestTest { @Test(expected = IllegalStateException.class) public void noAuthorizationCode() { GetTokenByAuthorizationCodeRequest.builder() - .clientId("test-client-id") - .clientSecret("test-client-secret") - .build(); + .clientId("test-client-id") + .clientSecret("test-client-secret") + .build(); } @Test(expected = IllegalStateException.class) public void noClientId() { GetTokenByAuthorizationCodeRequest.builder() - .authorizationCode("test-authorization-code") - .clientSecret("test-client-secret") - .build(); + .authorizationCode("test-authorization-code") + .clientSecret("test-client-secret") + .build(); } @Test(expected = IllegalStateException.class) public void noClientSecret() { GetTokenByAuthorizationCodeRequest.builder() - .authorizationCode("test-authorization-code") - .clientId("test-client-id") - .build(); + .authorizationCode("test-authorization-code") + .clientId("test-client-id") + .build(); } @Test public void valid() { GetTokenByAuthorizationCodeRequest.builder() - .authorizationCode("test-authorization-code") - .clientId("test-client-id") - .clientSecret("test-client-secret") - .build(); + .authorizationCode("test-authorization-code") + .clientId("test-client-id") + .clientSecret("test-client-secret") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/tokens/GetTokenByClientCredentialsRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/tokens/GetTokenByClientCredentialsRequestTest.java index 9daceb58a0..76117f4181 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/tokens/GetTokenByClientCredentialsRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/tokens/GetTokenByClientCredentialsRequestTest.java @@ -23,34 +23,33 @@ public final class GetTokenByClientCredentialsRequestTest { @Test(expected = IllegalStateException.class) public void noClientId() { GetTokenByClientCredentialsRequest.builder() - .clientSecret("test-client-secret") - .tokenFormat(TokenFormat.OPAQUE) - .build(); + .clientSecret("test-client-secret") + .tokenFormat(TokenFormat.OPAQUE) + .build(); } @Test(expected = IllegalStateException.class) public void noClientSecret() { GetTokenByClientCredentialsRequest.builder() - .clientId("test-client-id") - .tokenFormat(TokenFormat.OPAQUE) - .build(); + .clientId("test-client-id") + .tokenFormat(TokenFormat.OPAQUE) + .build(); } @Test public void validMax() { GetTokenByClientCredentialsRequest.builder() - .clientId("test-client-id") - .clientSecret("test-client-secret") - .tokenFormat(TokenFormat.OPAQUE) - .build(); + .clientId("test-client-id") + .clientSecret("test-client-secret") + .tokenFormat(TokenFormat.OPAQUE) + .build(); } @Test public void validMin() { GetTokenByClientCredentialsRequest.builder() - .clientId("test-client-id") - .clientSecret("test-client-secret") - .build(); + .clientId("test-client-id") + .clientSecret("test-client-secret") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/tokens/GetTokenByOneTimePasscodeRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/tokens/GetTokenByOneTimePasscodeRequestTest.java index 201d334d19..d70ae5c55b 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/tokens/GetTokenByOneTimePasscodeRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/tokens/GetTokenByOneTimePasscodeRequestTest.java @@ -23,47 +23,46 @@ public final class GetTokenByOneTimePasscodeRequestTest { @Test(expected = IllegalStateException.class) public void noClientId() { GetTokenByOneTimePasscodeRequest.builder() - .clientSecret("test-client-secret") - .passcode("test-passcode") - .tokenFormat(TokenFormat.OPAQUE) - .build(); + .clientSecret("test-client-secret") + .passcode("test-passcode") + .tokenFormat(TokenFormat.OPAQUE) + .build(); } @Test(expected = IllegalStateException.class) public void noClientSecret() { GetTokenByOneTimePasscodeRequest.builder() - .clientId("test-client-id") - .passcode("test-passcode") - .tokenFormat(TokenFormat.OPAQUE) - .build(); + .clientId("test-client-id") + .passcode("test-passcode") + .tokenFormat(TokenFormat.OPAQUE) + .build(); } @Test(expected = IllegalStateException.class) public void noPasscode() { GetTokenByOneTimePasscodeRequest.builder() - .clientId("test-client-id") - .clientSecret("test-client-secret") - .tokenFormat(TokenFormat.OPAQUE) - .build(); + .clientId("test-client-id") + .clientSecret("test-client-secret") + .tokenFormat(TokenFormat.OPAQUE) + .build(); } @Test public void validMax() { GetTokenByOneTimePasscodeRequest.builder() - .clientId("test-client-id") - .clientSecret("test-client-secret") - .passcode("test-passcode") - .tokenFormat(TokenFormat.OPAQUE) - .build(); + .clientId("test-client-id") + .clientSecret("test-client-secret") + .passcode("test-passcode") + .tokenFormat(TokenFormat.OPAQUE) + .build(); } @Test public void validMin() { GetTokenByOneTimePasscodeRequest.builder() - .clientId("test-client-id") - .clientSecret("test-client-secret") - .passcode("test-passcode") - .build(); + .clientId("test-client-id") + .clientSecret("test-client-secret") + .passcode("test-passcode") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/tokens/GetTokenByOpenIdRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/tokens/GetTokenByOpenIdRequestTest.java index 8f44ffed7b..496be91f30 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/tokens/GetTokenByOpenIdRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/tokens/GetTokenByOpenIdRequestTest.java @@ -23,51 +23,50 @@ public final class GetTokenByOpenIdRequestTest { @Test(expected = IllegalStateException.class) public void noAuthorizationCode() { GetTokenByOpenIdRequest.builder() - .clientId("test-client-id") - .clientSecret("test-client-secret") - .redirectUri("test-redirect-uri") - .tokenFormat(TokenFormat.OPAQUE) - .build(); + .clientId("test-client-id") + .clientSecret("test-client-secret") + .redirectUri("test-redirect-uri") + .tokenFormat(TokenFormat.OPAQUE) + .build(); } @Test(expected = IllegalStateException.class) public void noClientId() { GetTokenByOpenIdRequest.builder() - .authorizationCode("test-authorization-code") - .clientSecret("test-client-secret") - .redirectUri("test-redirect-uri") - .tokenFormat(TokenFormat.OPAQUE) - .build(); + .authorizationCode("test-authorization-code") + .clientSecret("test-client-secret") + .redirectUri("test-redirect-uri") + .tokenFormat(TokenFormat.OPAQUE) + .build(); } @Test(expected = IllegalStateException.class) public void noClientSecret() { GetTokenByOpenIdRequest.builder() - .authorizationCode("test-authorization-code") - .clientId("test-client-id") - .redirectUri("test-redirect-uri") - .tokenFormat(TokenFormat.OPAQUE) - .build(); + .authorizationCode("test-authorization-code") + .clientId("test-client-id") + .redirectUri("test-redirect-uri") + .tokenFormat(TokenFormat.OPAQUE) + .build(); } @Test public void validMax() { GetTokenByOpenIdRequest.builder() - .authorizationCode("test-authorization-code") - .clientId("test-client-id") - .clientSecret("test-client-secret") - .redirectUri("test-redirect-uri") - .tokenFormat(TokenFormat.OPAQUE) - .build(); + .authorizationCode("test-authorization-code") + .clientId("test-client-id") + .clientSecret("test-client-secret") + .redirectUri("test-redirect-uri") + .tokenFormat(TokenFormat.OPAQUE) + .build(); } @Test public void validMin() { GetTokenByOpenIdRequest.builder() - .authorizationCode("test-authorization-code") - .clientId("test-client-id") - .clientSecret("test-client-secret") - .build(); + .authorizationCode("test-authorization-code") + .clientId("test-client-id") + .clientSecret("test-client-secret") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/tokens/GetTokenByPasswordRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/tokens/GetTokenByPasswordRequestTest.java index 682edc98a4..c18c55de40 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/tokens/GetTokenByPasswordRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/tokens/GetTokenByPasswordRequestTest.java @@ -23,48 +23,47 @@ public final class GetTokenByPasswordRequestTest { @Test(expected = IllegalStateException.class) public void noClientId() { GetTokenByPasswordRequest.builder() - .clientSecret("test-client-secret") - .password("test-password") - .username("test-username") - .build(); + .clientSecret("test-client-secret") + .password("test-password") + .username("test-username") + .build(); } @Test(expected = IllegalStateException.class) public void noClientSecret() { GetTokenByPasswordRequest.builder() - .clientId("test-client-id") - .password("test-password") - .username("test-username") - .build(); + .clientId("test-client-id") + .password("test-password") + .username("test-username") + .build(); } @Test(expected = IllegalStateException.class) public void noPassword() { GetTokenByPasswordRequest.builder() - .clientId("test-client-id") - .clientSecret("test-client-secret") - .username("test-username") - .build(); + .clientId("test-client-id") + .clientSecret("test-client-secret") + .username("test-username") + .build(); } @Test(expected = IllegalStateException.class) public void noUsername() { GetTokenByPasswordRequest.builder() - .clientId("test-client-id") - .clientSecret("test-client-secret") - .password("test-password") - .build(); + .clientId("test-client-id") + .clientSecret("test-client-secret") + .password("test-password") + .build(); } @Test public void valid() { GetTokenByPasswordRequest.builder() - .clientId("test-client-id") - .clientSecret("test-client-secret") - .password("test-password") - .tokenFormat(TokenFormat.OPAQUE) - .username("test-username") - .build(); + .clientId("test-client-id") + .clientSecret("test-client-secret") + .password("test-password") + .tokenFormat(TokenFormat.OPAQUE) + .username("test-username") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/tokens/GetTokenKeyRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/tokens/GetTokenKeyRequestTest.java index 2e25dbf79b..299da68ddc 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/tokens/GetTokenKeyRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/tokens/GetTokenKeyRequestTest.java @@ -22,8 +22,6 @@ public final class GetTokenKeyRequestTest { @Test public void valid() { - GetTokenKeyRequest.builder() - .build(); + GetTokenKeyRequest.builder().build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/tokens/ListTokenKeysRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/tokens/ListTokenKeysRequestTest.java index de7929c758..83d7c3d853 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/tokens/ListTokenKeysRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/tokens/ListTokenKeysRequestTest.java @@ -22,8 +22,6 @@ public final class ListTokenKeysRequestTest { @Test public void valid() { - ListTokenKeysRequest.builder() - .build(); + ListTokenKeysRequest.builder().build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/tokens/RefreshTokenRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/tokens/RefreshTokenRequestTest.java index d0a3142ed3..ec8fc012bb 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/tokens/RefreshTokenRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/tokens/RefreshTokenRequestTest.java @@ -23,47 +23,46 @@ public final class RefreshTokenRequestTest { @Test(expected = IllegalStateException.class) public void noClientId() { RefreshTokenRequest.builder() - .clientSecret("test-client-secret") - .refreshToken("test-refresh-token") - .tokenFormat(TokenFormat.OPAQUE) - .build(); + .clientSecret("test-client-secret") + .refreshToken("test-refresh-token") + .tokenFormat(TokenFormat.OPAQUE) + .build(); } @Test(expected = IllegalStateException.class) public void noClientSecret() { RefreshTokenRequest.builder() - .clientId("test-client-id") - .refreshToken("test-refresh-token") - .tokenFormat(TokenFormat.OPAQUE) - .build(); + .clientId("test-client-id") + .refreshToken("test-refresh-token") + .tokenFormat(TokenFormat.OPAQUE) + .build(); } @Test(expected = IllegalStateException.class) public void noRefreshToken() { RefreshTokenRequest.builder() - .clientId("test-client-id") - .clientSecret("test-client-secret") - .tokenFormat(TokenFormat.OPAQUE) - .build(); + .clientId("test-client-id") + .clientSecret("test-client-secret") + .tokenFormat(TokenFormat.OPAQUE) + .build(); } @Test public void validMax() { RefreshTokenRequest.builder() - .clientId("test-client-id") - .clientSecret("test-client-secret") - .refreshToken("test-refresh-token") - .tokenFormat(TokenFormat.OPAQUE) - .build(); + .clientId("test-client-id") + .clientSecret("test-client-secret") + .refreshToken("test-refresh-token") + .tokenFormat(TokenFormat.OPAQUE) + .build(); } @Test public void validMin() { RefreshTokenRequest.builder() - .clientId("test-client-id") - .clientSecret("test-client-secret") - .refreshToken("test-refresh-token") - .build(); + .clientId("test-client-id") + .clientSecret("test-client-secret") + .refreshToken("test-refresh-token") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/users/ChangeUserPasswordRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/users/ChangeUserPasswordRequestTest.java index e8af1d776b..c4b7a1c091 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/users/ChangeUserPasswordRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/users/ChangeUserPasswordRequestTest.java @@ -22,24 +22,19 @@ public final class ChangeUserPasswordRequestTest { @Test(expected = IllegalStateException.class) public void noPassword() { - ChangeUserPasswordRequest.builder() - .userId("test-user-id") - .build(); + ChangeUserPasswordRequest.builder().userId("test-user-id").build(); } @Test(expected = IllegalStateException.class) public void noUserId() { - ChangeUserPasswordRequest.builder() - .password("test-password") - .build(); + ChangeUserPasswordRequest.builder().password("test-password").build(); } @Test public void valid() { ChangeUserPasswordRequest.builder() - .password("test-password") - .userId("test-user-id") - .build(); + .password("test-password") + .userId("test-user-id") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/users/CreateUserRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/users/CreateUserRequestTest.java index 3659337533..b0cbe14f47 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/users/CreateUserRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/users/CreateUserRequestTest.java @@ -23,43 +23,29 @@ public final class CreateUserRequestTest { @Test(expected = IllegalStateException.class) public void incompleteName() { CreateUserRequest.builder() - .email(Email.builder() - .primary(true) - .value("test-email") - .build()) - .name(Name.builder() - .familyName("test-family-name") - .build()) - .userName("test-userName") - .build(); + .email(Email.builder().primary(true).value("test-email").build()) + .name(Name.builder().familyName("test-family-name").build()) + .userName("test-userName") + .build(); } @Test(expected = IllegalStateException.class) public void noEmail() { - CreateUserRequest.builder() - .userName("test-userName") - .build(); + CreateUserRequest.builder().userName("test-userName").build(); } @Test(expected = IllegalStateException.class) public void noUserName() { CreateUserRequest.builder() - .email(Email.builder() - .primary(true) - .value("test-email") - .build()) - .build(); + .email(Email.builder().primary(true).value("test-email").build()) + .build(); } @Test public void valid() { CreateUserRequest.builder() - .email(Email.builder() - .primary(true) - .value("test-email") - .build()) - .userName("test-userName") - .build(); + .email(Email.builder().primary(true).value("test-email").build()) + .userName("test-userName") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/users/DeleteUserRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/users/DeleteUserRequestTest.java index c358ec8b64..7391c87c57 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/users/DeleteUserRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/users/DeleteUserRequestTest.java @@ -22,15 +22,11 @@ public final class DeleteUserRequestTest { @Test(expected = IllegalStateException.class) public void noUserId() { - DeleteUserRequest.builder() - .build(); + DeleteUserRequest.builder().build(); } @Test public void valid() { - DeleteUserRequest.builder() - .userId("test-user-id") - .build(); + DeleteUserRequest.builder().userId("test-user-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/users/ExpirePasswordRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/users/ExpirePasswordRequestTest.java index dcd20eaf52..c327753601 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/users/ExpirePasswordRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/users/ExpirePasswordRequestTest.java @@ -22,24 +22,16 @@ public final class ExpirePasswordRequestTest { @Test(expected = IllegalStateException.class) public void noPasswordChangeRequired() { - ExpirePasswordRequest.builder() - .userId("test-user-id") - .build(); + ExpirePasswordRequest.builder().userId("test-user-id").build(); } @Test(expected = IllegalStateException.class) public void noUserId() { - ExpirePasswordRequest.builder() - .passwordChangeRequired(true) - .build(); + ExpirePasswordRequest.builder().passwordChangeRequired(true).build(); } @Test public void valid() { - ExpirePasswordRequest.builder() - .passwordChangeRequired(true) - .userId("test-user-id") - .build(); + ExpirePasswordRequest.builder().passwordChangeRequired(true).userId("test-user-id").build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/users/GetUserVerificationLinkRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/users/GetUserVerificationLinkRequestTest.java index 464a6f66df..bcf6d376b4 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/users/GetUserVerificationLinkRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/users/GetUserVerificationLinkRequestTest.java @@ -22,24 +22,19 @@ public final class GetUserVerificationLinkRequestTest { @Test(expected = IllegalStateException.class) public void noRedirectUri() { - GetUserVerificationLinkRequest.builder() - .userId("test-user-id") - .build(); + GetUserVerificationLinkRequest.builder().userId("test-user-id").build(); } @Test(expected = IllegalStateException.class) public void noUserId() { - GetUserVerificationLinkRequest.builder() - .redirectUri("test-redirect-uri") - .build(); + GetUserVerificationLinkRequest.builder().redirectUri("test-redirect-uri").build(); } @Test public void valid() { GetUserVerificationLinkRequest.builder() - .userId("test-user-id") - .redirectUri("test-redirect-uri") - .build(); + .userId("test-user-id") + .redirectUri("test-redirect-uri") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/users/InviteUsersRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/users/InviteUsersRequestTest.java index bf2e831261..e567050eb4 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/users/InviteUsersRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/users/InviteUsersRequestTest.java @@ -23,26 +23,22 @@ public final class InviteUsersRequestTest { @Test(expected = IllegalStateException.class) public void noEmails() { InviteUsersRequest.builder() - .clientId("test-client-id") - .redirectUri("test-redirect-uri") - .build(); + .clientId("test-client-id") + .redirectUri("test-redirect-uri") + .build(); } @Test(expected = IllegalStateException.class) public void noRedirectId() { - InviteUsersRequest.builder() - .clientId("test-client-id") - .email("test-email") - .build(); + InviteUsersRequest.builder().clientId("test-client-id").email("test-email").build(); } @Test public void valid() { InviteUsersRequest.builder() - .clientId("test-client-id") - .email("test-email") - .redirectUri("test-redirect-uri") - .build(); + .clientId("test-client-id") + .email("test-email") + .redirectUri("test-redirect-uri") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/users/ListUsersRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/users/ListUsersRequestTest.java index 1edd1b7cbd..2ad3428746 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/users/ListUsersRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/users/ListUsersRequestTest.java @@ -22,8 +22,6 @@ public final class ListUsersRequestTest { @Test public void valid() { - ListUsersRequest.builder() - .build(); + ListUsersRequest.builder().build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/users/LookupUserIdsRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/users/LookupUserIdsRequestTest.java index 5b57f98c69..ee9de28780 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/users/LookupUserIdsRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/users/LookupUserIdsRequestTest.java @@ -22,8 +22,6 @@ public final class LookupUserIdsRequestTest { @Test public void valid() { - LookupUserIdsRequest.builder() - .build(); + LookupUserIdsRequest.builder().build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/users/UpdateUserRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/users/UpdateUserRequestTest.java index b3e86087eb..0f6f31690b 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/users/UpdateUserRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/users/UpdateUserRequestTest.java @@ -23,101 +23,68 @@ public final class UpdateUserRequestTest { @Test(expected = IllegalStateException.class) public void incompleteName() { UpdateUserRequest.builder() - .active(true) - .email(Email.builder() - .primary(true) - .value("john.doe@pivotal.io") - .build()) - .id("user-id") - .version("*") - .name(Name.builder() - .givenName("John") - .build()) - .userName("jdoe") - .build(); + .active(true) + .email(Email.builder().primary(true).value("john.doe@pivotal.io").build()) + .id("user-id") + .version("*") + .name(Name.builder().givenName("John").build()) + .userName("jdoe") + .build(); } @Test(expected = IllegalStateException.class) public void noId() { UpdateUserRequest.builder() - .active(true) - .email(Email.builder() - .primary(true) - .value("john.doe@pivotal.io") - .build()) - .version("*") - .name(Name.builder() - .familyName("Doe") - .givenName("John") - .build()) - .userName("jdoe") - .build(); + .active(true) + .email(Email.builder().primary(true).value("john.doe@pivotal.io").build()) + .version("*") + .name(Name.builder().familyName("Doe").givenName("John").build()) + .userName("jdoe") + .build(); } @Test(expected = IllegalStateException.class) public void noName() { UpdateUserRequest.builder() - .active(true) - .email(Email.builder() - .primary(true) - .value("john.doe@pivotal.io") - .build()) - .id("user-id") - .version("*") - .userName("jdoe") - .build(); + .active(true) + .email(Email.builder().primary(true).value("john.doe@pivotal.io").build()) + .id("user-id") + .version("*") + .userName("jdoe") + .build(); } @Test(expected = IllegalStateException.class) public void noUsername() { UpdateUserRequest.builder() - .active(true) - .email(Email.builder() - .primary(true) - .value("john.doe@pivotal.io") - .build()) - .id("user-id") - .version("*") - .name(Name.builder() - .familyName("Doe") - .givenName("John") - .build()) - .build(); + .active(true) + .email(Email.builder().primary(true).value("john.doe@pivotal.io").build()) + .id("user-id") + .version("*") + .name(Name.builder().familyName("Doe").givenName("John").build()) + .build(); } @Test(expected = IllegalStateException.class) public void noVersion() { UpdateUserRequest.builder() - .active(true) - .email(Email.builder() - .primary(true) - .value("john.doe@pivotal.io") - .build()) - .id("user-id") - .name(Name.builder() - .familyName("Doe") - .givenName("John") - .build()) - .userName("jdoe") - .build(); + .active(true) + .email(Email.builder().primary(true).value("john.doe@pivotal.io").build()) + .id("user-id") + .name(Name.builder().familyName("Doe").givenName("John").build()) + .userName("jdoe") + .build(); } @Test public void valid() { UpdateUserRequest.builder() - .active(true) - .email(Email.builder() - .primary(true) - .value("john.doe@pivotal.io") - .build()) - .id("user-id") - .version("*") - .name(Name.builder() - .familyName("Doe") - .givenName("John") - .build()) - .userName("jdoe") - .build(); + .active(true) + .email(Email.builder().primary(true).value("john.doe@pivotal.io").build()) + .id("user-id") + .version("*") + .name(Name.builder().familyName("Doe").givenName("John").build()) + .userName("jdoe") + .build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/users/UserInfoRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/users/UserInfoRequestTest.java index ec045cb276..53b8e83c0e 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/users/UserInfoRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/users/UserInfoRequestTest.java @@ -22,8 +22,6 @@ public final class UserInfoRequestTest { @Test public void valid() { - UserInfoRequest.builder() - .build(); + UserInfoRequest.builder().build(); } - } diff --git a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/users/VerifyUserRequestTest.java b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/users/VerifyUserRequestTest.java index 238d325ef4..75a1f5bbe4 100644 --- a/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/users/VerifyUserRequestTest.java +++ b/cloudfoundry-client/src/test/java/org/cloudfoundry/uaa/users/VerifyUserRequestTest.java @@ -22,15 +22,11 @@ public final class VerifyUserRequestTest { @Test(expected = IllegalStateException.class) public void noUserId() { - VerifyUserRequest.builder() - .build(); + VerifyUserRequest.builder().build(); } @Test public void valid() { - VerifyUserRequest.builder() - .userId("test-user-id") - .build(); + VerifyUserRequest.builder().userId("test-user-id").build(); } - } diff --git a/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/CloudFoundryOperations.java b/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/CloudFoundryOperations.java index b7fa30b85f..903aa728dd 100644 --- a/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/CloudFoundryOperations.java +++ b/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/CloudFoundryOperations.java @@ -138,5 +138,4 @@ public interface CloudFoundryOperations { * @return the Cloud Foundry User Admin Operations API */ UserAdmin userAdmin(); - } diff --git a/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/advanced/Advanced.java b/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/advanced/Advanced.java index 12cc4b644e..24cdbe7a47 100644 --- a/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/advanced/Advanced.java +++ b/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/advanced/Advanced.java @@ -24,5 +24,4 @@ public interface Advanced { Mono sshCode(); - } diff --git a/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/advanced/DefaultAdvanced.java b/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/advanced/DefaultAdvanced.java index 27e98683c5..d6abe89de8 100644 --- a/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/advanced/DefaultAdvanced.java +++ b/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/advanced/DefaultAdvanced.java @@ -32,16 +32,17 @@ public DefaultAdvanced(Mono uaaClient) { @Override public Mono sshCode() { return this.uaaClient - .flatMap(DefaultAdvanced::requestAuthorizeByAuthorizationCodeGrantApi) - .transform(OperationsLogging.log("Get SSH Code")) - .checkpoint(); + .flatMap(DefaultAdvanced::requestAuthorizeByAuthorizationCodeGrantApi) + .transform(OperationsLogging.log("Get SSH Code")) + .checkpoint(); } private static Mono requestAuthorizeByAuthorizationCodeGrantApi(UaaClient uaaClient) { - return uaaClient.authorizations() - .authorizationCodeGrantApi(AuthorizeByAuthorizationCodeGrantApiRequest.builder() - .clientId("ssh-proxy") - .build()); + return uaaClient + .authorizations() + .authorizationCodeGrantApi( + AuthorizeByAuthorizationCodeGrantApiRequest.builder() + .clientId("ssh-proxy") + .build()); } - } diff --git a/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/applications/AbstractApplicationSummary.java b/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/applications/AbstractApplicationSummary.java index 4bd3b816ff..f2df38279e 100644 --- a/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/applications/AbstractApplicationSummary.java +++ b/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/applications/AbstractApplicationSummary.java @@ -62,5 +62,4 @@ public abstract class AbstractApplicationSummary { * The list of bound urls */ public abstract List getUrls(); - } diff --git a/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/applications/ApplicationHealthCheck.java b/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/applications/ApplicationHealthCheck.java index 6a31372cf8..dc886a05da 100644 --- a/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/applications/ApplicationHealthCheck.java +++ b/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/applications/ApplicationHealthCheck.java @@ -62,7 +62,8 @@ public static ApplicationHealthCheck from(String s) { case "process": return PROCESS; default: - throw new IllegalArgumentException(String.format("Unknown application health check: %s", s)); + throw new IllegalArgumentException( + String.format("Unknown application health check: %s", s)); } } @@ -75,5 +76,4 @@ public String getValue() { public String toString() { return getValue(); } - } diff --git a/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/applications/ApplicationManifestUtils.java b/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/applications/ApplicationManifestUtils.java index d954b51e53..a82bd80608 100644 --- a/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/applications/ApplicationManifestUtils.java +++ b/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/applications/ApplicationManifestUtils.java @@ -16,7 +16,8 @@ package org.cloudfoundry.operations.applications; -import reactor.core.Exceptions; +import static java.util.Collections.emptyMap; +import static java.util.stream.Collectors.toMap; import java.io.IOException; import java.io.OutputStream; @@ -32,17 +33,13 @@ import java.util.Optional; import java.util.stream.Collectors; import java.util.stream.Stream; - -import static java.util.Collections.emptyMap; -import static java.util.stream.Collectors.toMap; - +import reactor.core.Exceptions; /** * Utilities for dealing with {@link ApplicationManifest}s. Includes the functionality to transform to and from standard CLI YAML files. */ public final class ApplicationManifestUtils extends ApplicationManifestUtilsCommon { - private ApplicationManifestUtils() { - } + private ApplicationManifestUtils() {} /** * Reads a YAML manifest file (defined by the CLI) from a {@link Path} and converts it into a collection of {@link @@ -64,10 +61,9 @@ public static List read(Path path) { * @return the resolved manifests */ public static List read(Path path, Path variablesPath) { - Map variables = deserialize(variablesPath.toAbsolutePath()) - .entrySet() - .stream() - .collect(toMap(Map.Entry::getKey,e -> String.valueOf(e.getValue()))); + Map variables = + deserialize(variablesPath.toAbsolutePath()).entrySet().stream() + .collect(toMap(Map.Entry::getKey, e -> String.valueOf(e.getValue()))); return doRead(path.toAbsolutePath(), variables); } @@ -89,7 +85,8 @@ public static void write(Path path, ApplicationManifest... applicationManifests) * @param applicationManifests the manifests to write */ public static void write(Path path, List applicationManifests) { - try (OutputStream out = Files.newOutputStream(path, StandardOpenOption.CREATE, StandardOpenOption.WRITE)) { + try (OutputStream out = + Files.newOutputStream(path, StandardOpenOption.CREATE, StandardOpenOption.WRITE)) { write(out, applicationManifests); } catch (IOException e) { throw Exceptions.propagate(e); @@ -114,24 +111,31 @@ public static void write(OutputStream out, ApplicationManifest... applicationMan */ public static void write(OutputStream out, List applicationManifests) { try (Writer writer = new OutputStreamWriter(out)) { - YAML.dump(Collections.singletonMap("applications", - applicationManifests.stream() - .map(ApplicationManifestUtils::toYaml) - .collect(Collectors.toList())), - writer); + YAML.dump( + Collections.singletonMap( + "applications", + applicationManifests.stream() + .map(ApplicationManifestUtils::toYaml) + .collect(Collectors.toList())), + writer); } catch (IOException e) { throw Exceptions.propagate(e); } } - private static ApplicationManifest getTemplate(Path path, Map root, Map variables) { + private static ApplicationManifest getTemplate( + Path path, Map root, Map variables) { return toApplicationManifest(root, variables, ApplicationManifest.builder(), path) - .name("template") - .build(); + .name("template") + .build(); } @SuppressWarnings("unchecked") - private static ApplicationManifest.Builder toApplicationManifest(Map application, Map variables, ApplicationManifest.Builder builder, Path root) { + private static ApplicationManifest.Builder toApplicationManifest( + Map application, + Map variables, + ApplicationManifest.Builder builder, + Path root) { toApplicationManifestCommon(application, variables, builder, root); asListOfString(application, "services", variables, builder::service); @@ -139,7 +143,8 @@ private static ApplicationManifest.Builder toApplicationManifest(Map toYaml(ApplicationManifest applicationManifest) { - Map yaml = ApplicationManifestUtilsCommon.toApplicationYaml(applicationManifest); + Map yaml = + ApplicationManifestUtilsCommon.toApplicationYaml(applicationManifest); putIfPresent(yaml, "services", applicationManifest.getServices()); return yaml; } @@ -151,14 +156,19 @@ private static List doRead(Path path, Map v ApplicationManifest template = getTemplate(path, root, variables); return Optional.ofNullable(root.get("applications")) - .map(value -> ((List>) value).stream()) - .orElseGet(Stream::empty) - .map(application -> { - String name = getName(application); - return toApplicationManifest(application, variables, ApplicationManifest.builder().from(template), path) - .name(name) - .build(); - }) - .collect(Collectors.toList()); + .map(value -> ((List>) value).stream()) + .orElseGet(Stream::empty) + .map( + application -> { + String name = getName(application); + return toApplicationManifest( + application, + variables, + ApplicationManifest.builder().from(template), + path) + .name(name) + .build(); + }) + .collect(Collectors.toList()); } } diff --git a/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/applications/ApplicationManifestUtilsCommon.java b/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/applications/ApplicationManifestUtilsCommon.java index 8e9171de4a..932809d56a 100644 --- a/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/applications/ApplicationManifestUtilsCommon.java +++ b/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/applications/ApplicationManifestUtilsCommon.java @@ -16,10 +16,7 @@ package org.cloudfoundry.operations.applications; -import org.cloudfoundry.util.tuple.Consumer2; -import org.yaml.snakeyaml.DumperOptions; -import org.yaml.snakeyaml.Yaml; -import reactor.core.Exceptions; +import static java.util.Collections.emptyMap; import java.io.IOException; import java.io.InputStream; @@ -39,8 +36,10 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; import java.util.stream.Collectors; - -import static java.util.Collections.emptyMap; +import org.cloudfoundry.util.tuple.Consumer2; +import org.yaml.snakeyaml.DumperOptions; +import org.yaml.snakeyaml.Yaml; +import reactor.core.Exceptions; /** * Common base class for dealing with manifests @@ -62,7 +61,8 @@ abstract class ApplicationManifestUtilsCommon { static final Pattern FIND_VARIABLE_REGEX = Pattern.compile("\\(\\(([a-zA-Z]\\w+)\\)\\)"); @SuppressWarnings("unchecked") - static T toApplicationManifestCommon(Map application, Map variables, T builder, Path root) { + static T toApplicationManifestCommon( + Map application, Map variables, T builder, Path root) { asListOfString(application, "buildpacks", variables, builder::buildpacks); asString(application, "buildpack", variables, builder::buildpacks); asString(application, "command", variables, builder::command); @@ -71,8 +71,17 @@ static T toApplicationManifestCom asString(application, "domain", variables, builder::domain); asListOfString(application, "domains", variables, builder::domain); asMapOfStringString(application, "env", variables, builder::environmentVariable); - asString(application, "health-check-http-endpoint", variables, builder::healthCheckHttpEndpoint); - asString(application, "health-check-type", variables, healthCheckType -> builder.healthCheckType(ApplicationHealthCheck.from(healthCheckType))); + asString( + application, + "health-check-http-endpoint", + variables, + builder::healthCheckHttpEndpoint); + asString( + application, + "health-check-type", + variables, + healthCheckType -> + builder.healthCheckType(ApplicationHealthCheck.from(healthCheckType))); asString(application, "host", variables, builder::host); asListOfString(application, "hosts", variables, builder::host); asInteger(application, "instances", variables, builder::instances); @@ -80,107 +89,188 @@ static T toApplicationManifestCom asString(application, "name", variables, builder::name); asBoolean(application, "no-hostname", variables, builder::noHostname); asBoolean(application, "no-route", variables, builder::noRoute); - asString(application, "path", variables, path -> builder.path(root.getParent().resolve(path))); + asString( + application, + "path", + variables, + path -> builder.path(root.getParent().resolve(path))); asBoolean(application, "random-route", variables, builder::randomRoute); - asList(application, "routes", variables, raw -> getRoute((Map) raw, variables), builder::route); + asList( + application, + "routes", + variables, + raw -> getRoute((Map) raw, variables), + builder::route); asString(application, "stack", variables, builder::stack); asInteger(application, "timeout", variables, builder::timeout); return builder; } - static void as(Map payload, String key, Map variables, Function mapper, Consumer consumer) { + static void as( + Map payload, + String key, + Map variables, + Function mapper, + Consumer consumer) { Optional.ofNullable(payload.get(key)) - .map(o -> { - if(o instanceof String) { - Matcher m = FIND_VARIABLE_REGEX.matcher((String) o); - StringBuffer stringBuffer = new StringBuffer(); - while(m.find()){ - m.appendReplacement(stringBuffer, Optional.ofNullable(variables.get(m.group(1))) - .orElseThrow(() -> new NoSuchElementException("Expected to find variable: "+m.group(1)))); - } - m.appendTail(stringBuffer); - return stringBuffer.toString(); - } - return o; - }) - .map(mapper) - .ifPresent(consumer); + .map( + o -> { + if (o instanceof String) { + Matcher m = FIND_VARIABLE_REGEX.matcher((String) o); + StringBuffer stringBuffer = new StringBuffer(); + while (m.find()) { + m.appendReplacement( + stringBuffer, + Optional.ofNullable(variables.get(m.group(1))) + .orElseThrow( + () -> + new NoSuchElementException( + "Expected to find" + + " variable: " + + m.group(1)))); + } + m.appendTail(stringBuffer); + return stringBuffer.toString(); + } + return o; + }) + .map(mapper) + .ifPresent(consumer); } - static void asBoolean(Map payload, String key, Map variables, Consumer consumer) { + static void asBoolean( + Map payload, + String key, + Map variables, + Consumer consumer) { as(payload, key, variables, Boolean.class::cast, consumer); } @SuppressWarnings("unchecked") - static void asDocker(Map payload, String key, Map variables, Consumer consumer) { - as(payload, key, variables, value -> { - Map docker = ((Map) value); - return Docker.builder() - .image(docker.get("image")) - .password(docker.get("password")) - .username(docker.get("username")) - .build(); - }, consumer); + static void asDocker( + Map payload, + String key, + Map variables, + Consumer consumer) { + as( + payload, + key, + variables, + value -> { + Map docker = ((Map) value); + return Docker.builder() + .image(docker.get("image")) + .password(docker.get("password")) + .username(docker.get("username")) + .build(); + }, + consumer); } - static void asInteger(Map payload, String key, Map variables, Consumer consumer) { - as(payload, key, variables, (e) -> { - if(e instanceof String) { - return Integer.parseInt((String)e); - } - return (Integer) e; - }, consumer); + static void asInteger( + Map payload, + String key, + Map variables, + Consumer consumer) { + as( + payload, + key, + variables, + (e) -> { + if (e instanceof String) { + return Integer.parseInt((String) e); + } + return (Integer) e; + }, + consumer); } @SuppressWarnings("unchecked") - static void asList(Map payload, String key, Map variables, Function mapper, Consumer consumer) { - as(payload, key, variables, value -> ((List) value).stream(), - values -> values - .map(mapper) - .forEach(consumer)); + static void asList( + Map payload, + String key, + Map variables, + Function mapper, + Consumer consumer) { + as( + payload, + key, + variables, + value -> ((List) value).stream(), + values -> values.map(mapper).forEach(consumer)); } - static void asListOfString(Map payload, String key, Map variables, Consumer consumer) { + static void asListOfString( + Map payload, + String key, + Map variables, + Consumer consumer) { asList(payload, key, variables, String.class::cast, consumer); } @SuppressWarnings("unchecked") - static void asMap(Map payload, String key, Map variables, Function valueMapper, Consumer2 consumer) { - as(payload, key, variables, value -> ((Map) value), - values -> values.forEach((k, v) -> consumer.accept(k, valueMapper.apply(v)))); + static void asMap( + Map payload, + String key, + Map variables, + Function valueMapper, + Consumer2 consumer) { + as( + payload, + key, + variables, + value -> ((Map) value), + values -> values.forEach((k, v) -> consumer.accept(k, valueMapper.apply(v)))); } - static void asMapOfStringString(Map payload, String key, Map variables, Consumer2 consumer) { + static void asMapOfStringString( + Map payload, + String key, + Map variables, + Consumer2 consumer) { asMap(payload, key, variables, String::valueOf, consumer); } @SuppressWarnings("unchecked") - static void asMemoryInteger(Map payload, String key, Map variables, Consumer consumer) { - as(payload, key, variables, raw -> { - if (raw instanceof Integer) { - return (Integer) raw; - } else if (raw instanceof String) { - String text = ((String) raw).toUpperCase(); - - if (text.endsWith("G")) { - return Integer.parseInt(text.substring(0, text.length() - 1)) * GIBI; - } else if (text.endsWith("GB")) { - return Integer.parseInt(text.substring(0, text.length() - 2)) * GIBI; - } else if (text.endsWith("M")) { - return Integer.parseInt(text.substring(0, text.length() - 1)); - } else if (text.endsWith("MB")) { - return Integer.parseInt(text.substring(0, text.length() - 2)); - } else { - return 0; - } - } else { - return 0; - } - }, consumer); + static void asMemoryInteger( + Map payload, + String key, + Map variables, + Consumer consumer) { + as( + payload, + key, + variables, + raw -> { + if (raw instanceof Integer) { + return (Integer) raw; + } else if (raw instanceof String) { + String text = ((String) raw).toUpperCase(); + + if (text.endsWith("G")) { + return Integer.parseInt(text.substring(0, text.length() - 1)) * GIBI; + } else if (text.endsWith("GB")) { + return Integer.parseInt(text.substring(0, text.length() - 2)) * GIBI; + } else if (text.endsWith("M")) { + return Integer.parseInt(text.substring(0, text.length() - 1)); + } else if (text.endsWith("MB")) { + return Integer.parseInt(text.substring(0, text.length() - 2)); + } else { + return 0; + } + } else { + return 0; + } + }, + consumer); } - static void asString(Map payload, String key, Map variables, Consumer consumer) { + static void asString( + Map payload, + String key, + Map variables, + Consumer consumer) { as(payload, key, variables, String.class::cast, consumer); } @@ -194,11 +284,15 @@ static Map deserialize(Path path) { throw Exceptions.propagate(e); } - asString(root.get(), "inherit", emptyMap(), inherit -> { - Map inherited = deserialize(path.getParent().resolve(inherit)); - merge(inherited, root.get()); - root.set(inherited); - }); + asString( + root.get(), + "inherit", + emptyMap(), + inherit -> { + Map inherited = deserialize(path.getParent().resolve(inherit)); + merge(inherited, root.get()); + root.set(inherited); + }); return root.get(); } @@ -211,57 +305,77 @@ static Object getEmptyNamedObject(List array, String name) { } static String getName(Map raw) { - return Optional.ofNullable(raw.get("name")).map(String.class::cast).orElseThrow(() -> new IllegalStateException("Application does not contain required 'name' value")); + return Optional.ofNullable(raw.get("name")) + .map(String.class::cast) + .orElseThrow( + () -> + new IllegalStateException( + "Application does not contain required 'name' value")); } @SuppressWarnings("unchecked") static Map getNamedObject(List array, String name) { - return (Map) array.stream() - .filter(value -> value instanceof Map && name.equals(((Map) value).get("name"))) - .findFirst() - .orElseGet(() -> getEmptyNamedObject(array, name)); + return (Map) + array.stream() + .filter( + value -> + value instanceof Map + && name.equals( + ((Map) value).get("name"))) + .findFirst() + .orElseGet(() -> getEmptyNamedObject(array, name)); } @SuppressWarnings("unchecked") static Route getRoute(Map raw, Map variables) { Route.Builder builder = Route.builder(); asString(raw, "route", variables, builder::route); - asString(raw, "protocol", variables, p -> builder.protocol(ManifestV3RouteProtocol.from(p))); + asString( + raw, "protocol", variables, p -> builder.protocol(ManifestV3RouteProtocol.from(p))); return builder.build(); } @SuppressWarnings("unchecked") static void merge(Map first, Map second) { - second.forEach((key, value) -> first.merge(key, value, (firstValue, secondValue) -> { - if (secondValue instanceof Map) { - merge((Map) firstValue, (Map) secondValue); - return firstValue; - } else if (secondValue instanceof List) { - merge((List) firstValue, (List) secondValue); - return firstValue; - } else { - return secondValue; - } - })); + second.forEach( + (key, value) -> + first.merge( + key, + value, + (firstValue, secondValue) -> { + if (secondValue instanceof Map) { + merge( + (Map) firstValue, + (Map) secondValue); + return firstValue; + } else if (secondValue instanceof List) { + merge( + (List) firstValue, + (List) secondValue); + return firstValue; + } else { + return secondValue; + } + })); } @SuppressWarnings("unchecked") static void merge(List first, List second) { - second - .forEach(element -> { - if (element instanceof Map) { - Object name = ((Map) element).get("name"); - - if (name != null) { - Map named = getNamedObject(first, (String) name); - merge(named, (Map) element); + second.forEach( + element -> { + if (element instanceof Map) { + Object name = ((Map) element).get("name"); + + if (name != null) { + Map named = getNamedObject(first, (String) name); + merge(named, (Map) element); + } else { + first.add(element); + } } else { first.add(element); } - } else { - first.add(element); - } - }); + }); } static Function pathToString() { @@ -269,26 +383,35 @@ static Function pathToString() { } static Function protectApplicationHealthCheck() { - return applicationHealthCheck -> Optional.ofNullable(applicationHealthCheck).map(ApplicationHealthCheck::getValue).orElse(null); + return applicationHealthCheck -> + Optional.ofNullable(applicationHealthCheck) + .map(ApplicationHealthCheck::getValue) + .orElse(null); } static void putIfPresent(Map yaml, String key, Object value) { putIfPresent(yaml, key, value, Function.identity()); } - static void putIfPresent(Map yaml, String key, T value, Function valueMapper) { + static void putIfPresent( + Map yaml, String key, T value, Function valueMapper) { Optional.ofNullable(value).map(valueMapper).ifPresent(v -> yaml.put(key, v)); } static List> toRoutesYaml(List routes) { return routes.stream() - .map(route -> { - Map yaml = new TreeMap<>(); - yaml.put("route", route.getRoute()); - putIfPresent(yaml, "protocol", route.getProtocol(), ManifestV3RouteProtocol::getValue); - return yaml; - }) - .collect(Collectors.toList()); + .map( + route -> { + Map yaml = new TreeMap<>(); + yaml.put("route", route.getRoute()); + putIfPresent( + yaml, + "protocol", + route.getProtocol(), + ManifestV3RouteProtocol::getValue); + return yaml; + }) + .collect(Collectors.toList()); } static Map toApplicationYaml(_ApplicationManifestCommon applicationManifest) { @@ -303,8 +426,15 @@ static Map toApplicationYaml(_ApplicationManifestCommon applicat putIfPresent(yaml, "docker", applicationManifest.getDocker()); putIfPresent(yaml, "domains", applicationManifest.getDomains()); putIfPresent(yaml, "env", applicationManifest.getEnvironmentVariables()); - putIfPresent(yaml, "health-check-http-endpoint", applicationManifest.getHealthCheckHttpEndpoint()); - putIfPresent(yaml, "health-check-type", applicationManifest.getHealthCheckType(), protectApplicationHealthCheck()); + putIfPresent( + yaml, + "health-check-http-endpoint", + applicationManifest.getHealthCheckHttpEndpoint()); + putIfPresent( + yaml, + "health-check-type", + applicationManifest.getHealthCheckType(), + protectApplicationHealthCheck()); putIfPresent(yaml, "hosts", applicationManifest.getHosts()); putIfPresent(yaml, "instances", applicationManifest.getInstances()); Integer memory = applicationManifest.getMemory(); @@ -317,7 +447,11 @@ static Map toApplicationYaml(_ApplicationManifestCommon applicat putIfPresent(yaml, "path", applicationManifest.getPath(), pathToString()); putIfPresent(yaml, "random-route", applicationManifest.getRandomRoute()); putIfPresent(yaml, "route-path", applicationManifest.getRoutePath()); - putIfPresent(yaml, "routes", applicationManifest.getRoutes(), ApplicationManifestUtilsCommon::toRoutesYaml); + putIfPresent( + yaml, + "routes", + applicationManifest.getRoutes(), + ApplicationManifestUtilsCommon::toRoutesYaml); putIfPresent(yaml, "stack", applicationManifest.getStack()); putIfPresent(yaml, "timeout", applicationManifest.getTimeout()); @@ -335,8 +469,6 @@ static Map toDockerYaml(Docker docker) { static List convertCollection(Collection collection, Function converter) { if (collection == null) return null; - return collection.stream() - .map(converter) - .collect(Collectors.toList()); + return collection.stream().map(converter).collect(Collectors.toList()); } } diff --git a/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/applications/ApplicationManifestUtilsV3.java b/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/applications/ApplicationManifestUtilsV3.java index a0bf14df08..eb1ee96a55 100644 --- a/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/applications/ApplicationManifestUtilsV3.java +++ b/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/applications/ApplicationManifestUtilsV3.java @@ -16,10 +16,8 @@ package org.cloudfoundry.operations.applications; -import org.cloudfoundry.client.v3.processes.HealthCheckType; -import org.yaml.snakeyaml.DumperOptions; -import org.yaml.snakeyaml.Yaml; -import reactor.core.Exceptions; +import static java.util.Collections.emptyMap; +import static java.util.stream.Collectors.toMap; import java.io.IOException; import java.io.OutputStream; @@ -34,9 +32,10 @@ import java.util.TreeMap; import java.util.regex.Pattern; import java.util.stream.Stream; - -import static java.util.Collections.emptyMap; -import static java.util.stream.Collectors.toMap; +import org.cloudfoundry.client.v3.processes.HealthCheckType; +import org.yaml.snakeyaml.DumperOptions; +import org.yaml.snakeyaml.Yaml; +import reactor.core.Exceptions; /** * Utilities for dealing with {@link ManifestV3}s. Includes the functionality to transform to and from standard CLI YAML files. @@ -52,10 +51,10 @@ public final class ApplicationManifestUtilsV3 extends ApplicationManifestUtilsCo YAML = new Yaml(dumperOptions); } - private static final Pattern FIND_VARIABLE_REGEX = Pattern.compile("\\(\\(([a-zA-Z]\\w+)\\)\\)"); + private static final Pattern FIND_VARIABLE_REGEX = + Pattern.compile("\\(\\(([a-zA-Z]\\w+)\\)\\)"); - private ApplicationManifestUtilsV3() { - } + private ApplicationManifestUtilsV3() {} /** * Reads a YAML manifest file (defined by the CC API) from a {@link Path} and converts it into a {@link @@ -77,10 +76,9 @@ public static ManifestV3 read(Path path) { * @return the resolved manifest */ public static ManifestV3 read(Path path, Path variablesPath) { - Map variables = deserialize(variablesPath.toAbsolutePath()) - .entrySet() - .stream() - .collect(toMap(Map.Entry::getKey,e -> String.valueOf(e.getValue()))); + Map variables = + deserialize(variablesPath.toAbsolutePath()).entrySet().stream() + .collect(toMap(Map.Entry::getKey, e -> String.valueOf(e.getValue()))); return doRead(path.toAbsolutePath(), variables); } @@ -92,7 +90,8 @@ public static ManifestV3 read(Path path, Path variablesPath) { * @param manifest the manifest to write */ public static void write(Path path, ManifestV3 manifest) { - try (OutputStream out = Files.newOutputStream(path, StandardOpenOption.CREATE, StandardOpenOption.WRITE)) { + try (OutputStream out = + Files.newOutputStream(path, StandardOpenOption.CREATE, StandardOpenOption.WRITE)) { write(out, manifest); } catch (IOException e) { throw Exceptions.propagate(e); @@ -122,31 +121,56 @@ private static ManifestV3 doRead(Path path, Map variables) { ManifestV3Application template = getTemplate(path, root, variables); Optional.ofNullable(root.get("applications")) - .map(value -> ((List>) value).stream()) - .orElseGet(Stream::empty) - .map(application -> { - String name = getName(application); - return toApplicationManifest(application, variables, ManifestV3Application.builder().from(template), path) - .name(name) - .build(); - }) - .forEach(builder::application); + .map(value -> ((List>) value).stream()) + .orElseGet(Stream::empty) + .map( + application -> { + String name = getName(application); + return toApplicationManifest( + application, + variables, + ManifestV3Application.builder().from(template), + path) + .name(name) + .build(); + }) + .forEach(builder::application); return builder.build(); } - private static ManifestV3Application getTemplate(Path path, Map root, Map variables) { + private static ManifestV3Application getTemplate( + Path path, Map root, Map variables) { return toApplicationManifest(root, variables, ManifestV3Application.builder(), path) - .name("template") - .build(); + .name("template") + .build(); } @SuppressWarnings("unchecked") - private static ManifestV3Application.Builder toApplicationManifest(Map application, Map variables, ManifestV3Application.Builder builder, Path root) { + private static ManifestV3Application.Builder toApplicationManifest( + Map application, + Map variables, + ManifestV3Application.Builder builder, + Path root) { toApplicationManifestCommon(application, variables, builder, root); - asList(application, "processes", variables, raw -> getProcess((Map) raw, variables), builder::processe); - asList(application, "services", variables, raw -> getService(raw, variables), builder::service); - asList(application, "sidecars", variables, raw -> getSidecar((Map) raw, variables), builder::sidecar); + asList( + application, + "processes", + variables, + raw -> getProcess((Map) raw, variables), + builder::processe); + asList( + application, + "services", + variables, + raw -> getService(raw, variables), + builder::service); + asList( + application, + "sidecars", + variables, + raw -> getSidecar((Map) raw, variables), + builder::sidecar); as(application, "labels", variables, Map.class::cast, builder::labels); as(application, "annotations", variables, Map.class::cast, builder::annotations); asBoolean(application, "default-route", variables, builder::defaultRoute); @@ -154,7 +178,8 @@ private static ManifestV3Application.Builder toApplicationManifest(Map raw, Map variables) { + private static ManifestV3Sidecar getSidecar( + Map raw, Map variables) { ManifestV3Sidecar.Builder builder = ManifestV3Sidecar.builder(); asString(raw, "name", variables, builder::name); @@ -165,15 +190,25 @@ private static ManifestV3Sidecar getSidecar(Map raw, Map raw, Map variables) { + private static ManifestV3Process getProcess( + Map raw, Map variables) { ManifestV3Process.Builder builder = ManifestV3Process.builder(); asString(raw, "type", variables, builder::type); asString(raw, "command", variables, builder::command); asString(raw, "disk", variables, builder::disk); asString(raw, "health-check-http-endpoint", variables, builder::healthCheckHttpEndpoint); - asInteger(raw, "health-check-invocation-timeout", variables, builder::healthCheckInvocationTimeout); - as(raw, "health-check-type", variables, s -> HealthCheckType.from((String) s), builder::healthCheckType); + asInteger( + raw, + "health-check-invocation-timeout", + variables, + builder::healthCheckInvocationTimeout); + as( + raw, + "health-check-type", + variables, + s -> HealthCheckType.from((String) s), + builder::healthCheckType); asInteger(raw, "instances", variables, builder::instances); asString(raw, "memory", variables, builder::memory); asInteger(raw, "timeout", variables, builder::timeout); @@ -199,17 +234,32 @@ private static ManifestV3Service getService(Object raw, Map vari private static Map toYaml(ManifestV3 manifest) { Map yaml = new TreeMap<>(); yaml.put("version", manifest.getVersion()); - yaml.put("applications", convertCollection(manifest.getApplications(), ApplicationManifestUtilsV3::toApplicationYaml)); + yaml.put( + "applications", + convertCollection( + manifest.getApplications(), ApplicationManifestUtilsV3::toApplicationYaml)); return yaml; } private static Map toApplicationYaml(ManifestV3Application application) { Map yaml = ApplicationManifestUtilsCommon.toApplicationYaml(application); - putIfPresent(yaml, "processes", convertCollection(application.getProcesses(), ApplicationManifestUtilsV3::toProcessYaml)); + putIfPresent( + yaml, + "processes", + convertCollection( + application.getProcesses(), ApplicationManifestUtilsV3::toProcessYaml)); putIfPresent(yaml, "default-route", application.getDefaultRoute()); - putIfPresent(yaml, "services", convertCollection(application.getServices(), ApplicationManifestUtilsV3::toServiceYaml)); - putIfPresent(yaml, "sidecars", convertCollection(application.getSidecars(), ApplicationManifestUtilsV3::toSidecarsYaml)); + putIfPresent( + yaml, + "services", + convertCollection( + application.getServices(), ApplicationManifestUtilsV3::toServiceYaml)); + putIfPresent( + yaml, + "sidecars", + convertCollection( + application.getSidecars(), ApplicationManifestUtilsV3::toSidecarsYaml)); putIfPresent(yaml, "labels", application.getLabels()); putIfPresent(yaml, "annotations", application.getAnnotations()); return yaml; @@ -241,7 +291,8 @@ private static Map toProcessYaml(ManifestV3Process process) { putIfPresent(yaml, "command", process.getCommand()); putIfPresent(yaml, "disk_quota", process.getDisk()); putIfPresent(yaml, "health-check-http-endpoint", process.getHealthCheckHttpEndpoint()); - putIfPresent(yaml, "health-check-invocation-timeout", process.getHealthCheckInvocationTimeout()); + putIfPresent( + yaml, "health-check-invocation-timeout", process.getHealthCheckInvocationTimeout()); putIfPresent(yaml, "health-check-type", process.getHealthCheckType()); putIfPresent(yaml, "instances", process.getInstances()); putIfPresent(yaml, "memory", process.getMemory()); diff --git a/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/applications/Applications.java b/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/applications/Applications.java index d51eb17c9f..27e6c4ff4b 100644 --- a/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/applications/Applications.java +++ b/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/applications/Applications.java @@ -249,5 +249,4 @@ public interface Applications { * @return a completion indicator */ Mono unsetEnvironmentVariable(UnsetEnvironmentVariableApplicationRequest request); - } diff --git a/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/applications/DefaultApplications.java b/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/applications/DefaultApplications.java index feb82e50b8..af2a190df6 100644 --- a/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/applications/DefaultApplications.java +++ b/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/applications/DefaultApplications.java @@ -16,6 +16,30 @@ package org.cloudfoundry.operations.applications; +import static org.cloudfoundry.client.v3.LifecycleType.BUILDPACK; +import static org.cloudfoundry.util.DelayUtils.exponentialBackOff; +import static org.cloudfoundry.util.tuple.TupleUtils.function; +import static org.cloudfoundry.util.tuple.TupleUtils.predicate; + +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.time.Duration; +import java.util.Collections; +import java.util.Comparator; +import java.util.Date; +import java.util.EnumSet; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.NoSuchElementException; +import java.util.Objects; +import java.util.Optional; +import java.util.function.BiFunction; +import java.util.function.Predicate; +import java.util.function.UnaryOperator; +import java.util.stream.Collectors; import org.cloudfoundry.client.CloudFoundryClient; import org.cloudfoundry.client.v2.OrderDirection; import org.cloudfoundry.client.v2.applications.AbstractApplicationResource; @@ -85,6 +109,7 @@ import org.cloudfoundry.client.v3.BuildpackData; import org.cloudfoundry.client.v3.Lifecycle; import org.cloudfoundry.client.v3.Relationship; +import org.cloudfoundry.client.v3.Resource; import org.cloudfoundry.client.v3.ToOneRelationship; import org.cloudfoundry.client.v3.applications.ApplicationResource; import org.cloudfoundry.client.v3.applications.GetApplicationResponse; @@ -112,7 +137,6 @@ import org.cloudfoundry.client.v3.processes.GetProcessStatisticsResponse; import org.cloudfoundry.client.v3.processes.ProcessState; import org.cloudfoundry.client.v3.processes.ProcessStatisticsResource; -import org.cloudfoundry.client.v3.Resource; import org.cloudfoundry.client.v3.resourcematch.MatchedResource; import org.cloudfoundry.client.v3.spaces.ApplyManifestRequest; import org.cloudfoundry.client.v3.tasks.CancelTaskRequest; @@ -145,31 +169,6 @@ import reactor.util.function.Tuple5; import reactor.util.function.Tuples; -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.nio.file.Files; -import java.nio.file.Path; -import java.time.Duration; -import java.util.Collections; -import java.util.Comparator; -import java.util.Date; -import java.util.EnumSet; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.NoSuchElementException; -import java.util.Objects; -import java.util.Optional; -import java.util.function.BiFunction; -import java.util.function.Predicate; -import java.util.function.UnaryOperator; -import java.util.stream.Collectors; - -import static org.cloudfoundry.client.v3.LifecycleType.BUILDPACK; -import static org.cloudfoundry.util.DelayUtils.exponentialBackOff; -import static org.cloudfoundry.util.tuple.TupleUtils.function; -import static org.cloudfoundry.util.tuple.TupleUtils.predicate; - public final class DefaultApplications implements Applications { private static final int CF_APP_STOPPED_STATS_ERROR = 200003; @@ -188,9 +187,12 @@ public final class DefaultApplications implements Applications { private static final String[] ENTRY_FIELDS_CRASH = {"index", "reason", "exit_description"}; - private static final String[] ENTRY_FIELDS_NORMAL = {"instances", "memory", "state", "environment_json"}; + private static final String[] ENTRY_FIELDS_NORMAL = { + "instances", "memory", "state", "environment_json" + }; - private static final Comparator LOG_MESSAGE_COMPARATOR = Comparator.comparing(LogMessage::getTimestamp); + private static final Comparator LOG_MESSAGE_COMPARATOR = + Comparator.comparing(LogMessage::getTimestamp); private static final Duration LOG_MESSAGE_TIMESPAN = Duration.ofMillis(500); @@ -208,11 +210,18 @@ public final class DefaultApplications implements Applications { private final Mono spaceId; - public DefaultApplications(Mono cloudFoundryClient, Mono dopplerClient, Mono spaceId) { + public DefaultApplications( + Mono cloudFoundryClient, + Mono dopplerClient, + Mono spaceId) { this(cloudFoundryClient, dopplerClient, new WordListRandomWords(), spaceId); } - DefaultApplications(Mono cloudFoundryClient, Mono dopplerClient, RandomWords randomWords, Mono spaceId) { + DefaultApplications( + Mono cloudFoundryClient, + Mono dopplerClient, + RandomWords randomWords, + Mono spaceId) { this.cloudFoundryClient = cloudFoundryClient; this.dopplerClient = dopplerClient; this.randomWords = randomWords; @@ -221,244 +230,390 @@ public DefaultApplications(Mono cloudFoundryClient, Mono copySource(CopySourceApplicationRequest request) { - return Mono - .zip(this.cloudFoundryClient, this.spaceId) - .flatMap(function((cloudFoundryClient, spaceId) -> Mono.zip( - Mono.just(cloudFoundryClient), - getApplicationId(cloudFoundryClient, request.getName(), spaceId), - getApplicationIdFromOrgSpace(cloudFoundryClient, request.getTargetName(), spaceId, request.getTargetOrganization(), request.getTargetSpace()) - ))) - .flatMap(function((cloudFoundryClient, sourceApplicationId, targetApplicationId) -> copyBits(cloudFoundryClient, request.getStagingTimeout(), sourceApplicationId, targetApplicationId) - .thenReturn(Tuples.of(cloudFoundryClient, targetApplicationId)))) - .filter(predicate((cloudFoundryClient, targetApplicationId) -> Optional.ofNullable(request.getRestart()).orElse(false))) - .flatMap(function((cloudFoundryClient, targetApplicationId) -> restartApplication(cloudFoundryClient, request.getTargetName(), targetApplicationId, request.getStagingTimeout(), - request.getStartupTimeout()))) - .transform(OperationsLogging.log("Copy Application Source")) - .checkpoint(); + return Mono.zip(this.cloudFoundryClient, this.spaceId) + .flatMap( + function( + (cloudFoundryClient, spaceId) -> + Mono.zip( + Mono.just(cloudFoundryClient), + getApplicationId( + cloudFoundryClient, + request.getName(), + spaceId), + getApplicationIdFromOrgSpace( + cloudFoundryClient, + request.getTargetName(), + spaceId, + request.getTargetOrganization(), + request.getTargetSpace())))) + .flatMap( + function( + (cloudFoundryClient, sourceApplicationId, targetApplicationId) -> + copyBits( + cloudFoundryClient, + request.getStagingTimeout(), + sourceApplicationId, + targetApplicationId) + .thenReturn( + Tuples.of( + cloudFoundryClient, + targetApplicationId)))) + .filter( + predicate( + (cloudFoundryClient, targetApplicationId) -> + Optional.ofNullable(request.getRestart()).orElse(false))) + .flatMap( + function( + (cloudFoundryClient, targetApplicationId) -> + restartApplication( + cloudFoundryClient, + request.getTargetName(), + targetApplicationId, + request.getStagingTimeout(), + request.getStartupTimeout()))) + .transform(OperationsLogging.log("Copy Application Source")) + .checkpoint(); } @Override public Mono delete(DeleteApplicationRequest request) { - return Mono - .zip(this.cloudFoundryClient, this.spaceId) - .flatMap(function((cloudFoundryClient, spaceId) -> getRoutesAndApplicationId(cloudFoundryClient, request, spaceId, Optional.ofNullable(request.getDeleteRoutes()).orElse(false)) - .map(function((routes, applicationId) -> Tuples.of(cloudFoundryClient, routes, applicationId))))) - .flatMap(function((cloudFoundryClient, routes, applicationId) -> deleteRoutes(cloudFoundryClient, request.getCompletionTimeout(), routes) - .thenReturn(Tuples.of(cloudFoundryClient, applicationId)))) - .delayUntil(function(DefaultApplications::removeServiceBindings)) - .flatMap(function(DefaultApplications::requestDeleteApplication)) - .transform(OperationsLogging.log("Delete Application")) - .checkpoint(); + return Mono.zip(this.cloudFoundryClient, this.spaceId) + .flatMap( + function( + (cloudFoundryClient, spaceId) -> + getRoutesAndApplicationId( + cloudFoundryClient, + request, + spaceId, + Optional.ofNullable( + request.getDeleteRoutes()) + .orElse(false)) + .map( + function( + (routes, applicationId) -> + Tuples.of( + cloudFoundryClient, + routes, + applicationId))))) + .flatMap( + function( + (cloudFoundryClient, routes, applicationId) -> + deleteRoutes( + cloudFoundryClient, + request.getCompletionTimeout(), + routes) + .thenReturn( + Tuples.of( + cloudFoundryClient, + applicationId)))) + .delayUntil(function(DefaultApplications::removeServiceBindings)) + .flatMap(function(DefaultApplications::requestDeleteApplication)) + .transform(OperationsLogging.log("Delete Application")) + .checkpoint(); } @Override public Mono disableSsh(DisableApplicationSshRequest request) { - return Mono - .zip(this.cloudFoundryClient, this.spaceId) - .flatMap(function((cloudFoundryClient, spaceId) -> Mono.zip( - Mono.just(cloudFoundryClient), - getApplicationIdWhere(cloudFoundryClient, request.getName(), spaceId, sshEnabled(true)) - ))) - .flatMap(function((cloudFoundryClient, applicationId) -> requestUpdateApplicationSsh(cloudFoundryClient, applicationId, false))) - .then() - .transform(OperationsLogging.log("Disable Application SSH")) - .checkpoint(); + return Mono.zip(this.cloudFoundryClient, this.spaceId) + .flatMap( + function( + (cloudFoundryClient, spaceId) -> + Mono.zip( + Mono.just(cloudFoundryClient), + getApplicationIdWhere( + cloudFoundryClient, + request.getName(), + spaceId, + sshEnabled(true))))) + .flatMap( + function( + (cloudFoundryClient, applicationId) -> + requestUpdateApplicationSsh( + cloudFoundryClient, applicationId, false))) + .then() + .transform(OperationsLogging.log("Disable Application SSH")) + .checkpoint(); } @Override public Mono enableSsh(EnableApplicationSshRequest request) { - return Mono - .zip(this.cloudFoundryClient, this.spaceId) - .flatMap(function((cloudFoundryClient, spaceId) -> Mono.zip( - Mono.just(cloudFoundryClient), - getApplicationIdWhere(cloudFoundryClient, request.getName(), spaceId, sshEnabled(false)) - ))) - .flatMap(function((cloudFoundryClient, applicationId) -> requestUpdateApplicationSsh(cloudFoundryClient, applicationId, true))) - .then() - .transform(OperationsLogging.log("Enable Application SSH")) - .checkpoint(); + return Mono.zip(this.cloudFoundryClient, this.spaceId) + .flatMap( + function( + (cloudFoundryClient, spaceId) -> + Mono.zip( + Mono.just(cloudFoundryClient), + getApplicationIdWhere( + cloudFoundryClient, + request.getName(), + spaceId, + sshEnabled(false))))) + .flatMap( + function( + (cloudFoundryClient, applicationId) -> + requestUpdateApplicationSsh( + cloudFoundryClient, applicationId, true))) + .then() + .transform(OperationsLogging.log("Enable Application SSH")) + .checkpoint(); } @Override public Mono get(GetApplicationRequest request) { - return Mono - .zip(this.cloudFoundryClient, this.spaceId) - .flatMap(function((cloudFoundryClient, spaceId) -> Mono.zip( - Mono.just(cloudFoundryClient), - getApplication(cloudFoundryClient, request.getName(), spaceId) - ))) - .flatMap(function(DefaultApplications::getAuxiliaryContent)) - .map(function(DefaultApplications::toApplicationDetail)) - .transform(OperationsLogging.log("Get Application")) - .checkpoint(); + return Mono.zip(this.cloudFoundryClient, this.spaceId) + .flatMap( + function( + (cloudFoundryClient, spaceId) -> + Mono.zip( + Mono.just(cloudFoundryClient), + getApplication( + cloudFoundryClient, + request.getName(), + spaceId)))) + .flatMap(function(DefaultApplications::getAuxiliaryContent)) + .map(function(DefaultApplications::toApplicationDetail)) + .transform(OperationsLogging.log("Get Application")) + .checkpoint(); } @Override public Mono getApplicationManifest(GetApplicationManifestRequest request) { - return Mono - .zip(this.cloudFoundryClient, this.spaceId) - .flatMap(function((cloudFoundryClient, spaceId) -> Mono.zip( - Mono.just(cloudFoundryClient), - getApplicationId(cloudFoundryClient, request.getName(), spaceId) - ))) - .flatMap(function((cloudFoundryClient, applicationId) -> Mono.zip( - Mono.just(cloudFoundryClient), - Mono.just(applicationId), - requestApplicationSummary(cloudFoundryClient, applicationId) - ))) - .flatMap(function((cloudFoundryClient, applicationId, response) -> Mono.zip( - getApplicationBuildpacks(cloudFoundryClient, applicationId), - Mono.just(response), - getStackName(cloudFoundryClient, response.getStackId()) - ))) - .flatMap(function(DefaultApplications::toApplicationManifest)) - .transform(OperationsLogging.log("Get Application Manifest")) - .checkpoint(); + return Mono.zip(this.cloudFoundryClient, this.spaceId) + .flatMap( + function( + (cloudFoundryClient, spaceId) -> + Mono.zip( + Mono.just(cloudFoundryClient), + getApplicationId( + cloudFoundryClient, + request.getName(), + spaceId)))) + .flatMap( + function( + (cloudFoundryClient, applicationId) -> + Mono.zip( + Mono.just(cloudFoundryClient), + Mono.just(applicationId), + requestApplicationSummary( + cloudFoundryClient, applicationId)))) + .flatMap( + function( + (cloudFoundryClient, applicationId, response) -> + Mono.zip( + getApplicationBuildpacks( + cloudFoundryClient, applicationId), + Mono.just(response), + getStackName( + cloudFoundryClient, + response.getStackId())))) + .flatMap(function(DefaultApplications::toApplicationManifest)) + .transform(OperationsLogging.log("Get Application Manifest")) + .checkpoint(); } @Override - public Mono getEnvironments(GetApplicationEnvironmentsRequest request) { - return Mono - .zip(this.cloudFoundryClient, this.spaceId) - .flatMap(function((cloudFoundryClient, spaceId) -> Mono.zip( - Mono.just(cloudFoundryClient), - getApplicationId(cloudFoundryClient, request.getName(), spaceId) - ))) - .flatMap(function(DefaultApplications::requestApplicationEnvironment)) - .map(DefaultApplications::toApplicationEnvironments) - .transform(OperationsLogging.log("Get Application Environments")) - .checkpoint(); + public Mono getEnvironments( + GetApplicationEnvironmentsRequest request) { + return Mono.zip(this.cloudFoundryClient, this.spaceId) + .flatMap( + function( + (cloudFoundryClient, spaceId) -> + Mono.zip( + Mono.just(cloudFoundryClient), + getApplicationId( + cloudFoundryClient, + request.getName(), + spaceId)))) + .flatMap(function(DefaultApplications::requestApplicationEnvironment)) + .map(DefaultApplications::toApplicationEnvironments) + .transform(OperationsLogging.log("Get Application Environments")) + .checkpoint(); } @Override public Flux getEvents(GetApplicationEventsRequest request) { - return Mono - .zip(this.cloudFoundryClient, this.spaceId) - .flatMap(function((cloudFoundryClient, spaceId) -> Mono.zip( - Mono.just(cloudFoundryClient), - getApplicationId(cloudFoundryClient, request.getName(), spaceId) - ))) - .flatMapMany(function((cloudFoundryClient, applicationId) -> requestEvents(applicationId, cloudFoundryClient) - .take(Optional.ofNullable(request.getMaxNumberOfEvents()).orElse(MAX_NUMBER_OF_RECENT_EVENTS)))) - .map(DefaultApplications::convertToApplicationEvent) - .transform(OperationsLogging.log("Get Application Events")) - .checkpoint(); + return Mono.zip(this.cloudFoundryClient, this.spaceId) + .flatMap( + function( + (cloudFoundryClient, spaceId) -> + Mono.zip( + Mono.just(cloudFoundryClient), + getApplicationId( + cloudFoundryClient, + request.getName(), + spaceId)))) + .flatMapMany( + function( + (cloudFoundryClient, applicationId) -> + requestEvents(applicationId, cloudFoundryClient) + .take( + Optional.ofNullable( + request + .getMaxNumberOfEvents()) + .orElse( + MAX_NUMBER_OF_RECENT_EVENTS)))) + .map(DefaultApplications::convertToApplicationEvent) + .transform(OperationsLogging.log("Get Application Events")) + .checkpoint(); } @Override public Mono getHealthCheck(GetApplicationHealthCheckRequest request) { - return Mono - .zip(this.cloudFoundryClient, this.spaceId) - .flatMap(function((cloudFoundryClient, spaceId) -> getApplication(cloudFoundryClient, request.getName(), spaceId))) - .map(DefaultApplications::toHealthCheck) - .transform(OperationsLogging.log("Get Application Health Check")) - .checkpoint(); + return Mono.zip(this.cloudFoundryClient, this.spaceId) + .flatMap( + function( + (cloudFoundryClient, spaceId) -> + getApplication( + cloudFoundryClient, request.getName(), spaceId))) + .map(DefaultApplications::toHealthCheck) + .transform(OperationsLogging.log("Get Application Health Check")) + .checkpoint(); } @Override public Flux list() { - return Mono - .zip(this.cloudFoundryClient, this.spaceId) - .flatMap(function(DefaultApplications::requestSpaceSummary)) - .flatMapMany(DefaultApplications::extractApplications) - .map(DefaultApplications::toApplicationSummary) - .transform(OperationsLogging.log("List Applications")) - .checkpoint(); + return Mono.zip(this.cloudFoundryClient, this.spaceId) + .flatMap(function(DefaultApplications::requestSpaceSummary)) + .flatMapMany(DefaultApplications::extractApplications) + .map(DefaultApplications::toApplicationSummary) + .transform(OperationsLogging.log("List Applications")) + .checkpoint(); } @Override public Flux listTasks(ListApplicationTasksRequest request) { - return Mono - .zip(this.cloudFoundryClient, this.spaceId) - .flatMap(function((cloudFoundryClient, spaceId) -> Mono.zip( - Mono.just(cloudFoundryClient), - getApplicationIdV3(cloudFoundryClient, request.getName(), spaceId)) - )) - .flatMapMany(function((cloudFoundryClient, applicationId) -> requestListTasks(cloudFoundryClient, applicationId))) - .map(DefaultApplications::toTask) - .transform(OperationsLogging.log("List Application Tasks")) - .checkpoint(); + return Mono.zip(this.cloudFoundryClient, this.spaceId) + .flatMap( + function( + (cloudFoundryClient, spaceId) -> + Mono.zip( + Mono.just(cloudFoundryClient), + getApplicationIdV3( + cloudFoundryClient, + request.getName(), + spaceId)))) + .flatMapMany( + function( + (cloudFoundryClient, applicationId) -> + requestListTasks(cloudFoundryClient, applicationId))) + .map(DefaultApplications::toTask) + .transform(OperationsLogging.log("List Application Tasks")) + .checkpoint(); } @Override public Flux logs(LogsRequest request) { - return Mono - .zip(this.cloudFoundryClient, this.spaceId) - .flatMap(function((cloudFoundryClient, spaceId) -> getApplicationId(cloudFoundryClient, request.getName(), spaceId))) - .flatMapMany(applicationId -> getLogs(this.dopplerClient, applicationId, request.getRecent())) - .transform(OperationsLogging.log("Get Application Logs")) - .checkpoint(); + return Mono.zip(this.cloudFoundryClient, this.spaceId) + .flatMap( + function( + (cloudFoundryClient, spaceId) -> + getApplicationId( + cloudFoundryClient, request.getName(), spaceId))) + .flatMapMany( + applicationId -> + getLogs(this.dopplerClient, applicationId, request.getRecent())) + .transform(OperationsLogging.log("Get Application Logs")) + .checkpoint(); } @Override @SuppressWarnings("deprecation") public Mono push(PushApplicationRequest request) { - ApplicationManifest.Builder builder = ApplicationManifest.builder() - .buildpacks(request.getBuildpacks()) - .command(request.getCommand()) - .disk(request.getDiskQuota()) - .docker(Docker.builder() - .image(request.getDockerImage()) - .password(request.getDockerPassword()) - .username(request.getDockerUsername()) - .build()) - .healthCheckHttpEndpoint(request.getHealthCheckHttpEndpoint()) - .healthCheckType(request.getHealthCheckType()) - .instances(request.getInstances()) - .memory(request.getMemory()) - .name(request.getName()) - .noHostname(request.getNoHostname()) - .noRoute(request.getNoRoute()) - .path(Optional.ofNullable(request.getPath()).orElse(request.getApplication())) - .randomRoute(request.getRandomRoute()) - .routePath(request.getRoutePath()) - .stack(request.getStack()) - .timeout(request.getTimeout()); - - Optional.ofNullable(request.getDomain()) - .ifPresent(builder::domain); - - Optional.ofNullable(request.getHost()) - .ifPresent(builder::host); - - return pushManifest(PushApplicationManifestRequest.builder() - .manifest(builder.build()) - .dockerPassword(request.getDockerPassword()) - .dockerUsername(request.getDockerUsername()) - .noStart(request.getNoStart()) - .stagingTimeout(request.getStagingTimeout()) - .startupTimeout(request.getStartupTimeout()) - .build()) - .transform(OperationsLogging.log("Push")) - .checkpoint(); + ApplicationManifest.Builder builder = + ApplicationManifest.builder() + .buildpacks(request.getBuildpacks()) + .command(request.getCommand()) + .disk(request.getDiskQuota()) + .docker( + Docker.builder() + .image(request.getDockerImage()) + .password(request.getDockerPassword()) + .username(request.getDockerUsername()) + .build()) + .healthCheckHttpEndpoint(request.getHealthCheckHttpEndpoint()) + .healthCheckType(request.getHealthCheckType()) + .instances(request.getInstances()) + .memory(request.getMemory()) + .name(request.getName()) + .noHostname(request.getNoHostname()) + .noRoute(request.getNoRoute()) + .path( + Optional.ofNullable(request.getPath()) + .orElse(request.getApplication())) + .randomRoute(request.getRandomRoute()) + .routePath(request.getRoutePath()) + .stack(request.getStack()) + .timeout(request.getTimeout()); + + Optional.ofNullable(request.getDomain()).ifPresent(builder::domain); + + Optional.ofNullable(request.getHost()).ifPresent(builder::host); + + return pushManifest( + PushApplicationManifestRequest.builder() + .manifest(builder.build()) + .dockerPassword(request.getDockerPassword()) + .dockerUsername(request.getDockerUsername()) + .noStart(request.getNoStart()) + .stagingTimeout(request.getStagingTimeout()) + .startupTimeout(request.getStartupTimeout()) + .build()) + .transform(OperationsLogging.log("Push")) + .checkpoint(); } @Override public Mono pushManifest(PushApplicationManifestRequest request) { - return Mono - .zip(this.cloudFoundryClient, this.spaceId) - .flatMap(function((cloudFoundryClient, spaceId) -> Mono.zip( - Mono.just(cloudFoundryClient), - getSpaceOrganizationId(cloudFoundryClient, spaceId), - Mono.just(spaceId) - ))) - .flatMap(function((cloudFoundryClient, organizationId, spaceId) -> Mono.zip( - Mono.just(cloudFoundryClient), - listAvailableDomains(cloudFoundryClient, organizationId), - Mono.just(spaceId)))) - .flatMapMany(function((cloudFoundryClient, availableDomains, spaceId) -> Flux.fromIterable(request.getManifests()) - .flatMap(manifest -> { - if (manifest.getPath() != null) { - return pushApplication(cloudFoundryClient, availableDomains, manifest, this.randomWords, request, spaceId); - } else if (!manifest.getDocker().getImage().isEmpty()) { - return pushDocker(cloudFoundryClient, availableDomains, manifest, this.randomWords, request, spaceId); - } else { - throw new IllegalStateException("One of application or dockerImage must be supplied"); - } - }))) - .then() - .transform(OperationsLogging.log("Push Manifest")) - .checkpoint(); + return Mono.zip(this.cloudFoundryClient, this.spaceId) + .flatMap( + function( + (cloudFoundryClient, spaceId) -> + Mono.zip( + Mono.just(cloudFoundryClient), + getSpaceOrganizationId(cloudFoundryClient, spaceId), + Mono.just(spaceId)))) + .flatMap( + function( + (cloudFoundryClient, organizationId, spaceId) -> + Mono.zip( + Mono.just(cloudFoundryClient), + listAvailableDomains( + cloudFoundryClient, organizationId), + Mono.just(spaceId)))) + .flatMapMany( + function( + (cloudFoundryClient, availableDomains, spaceId) -> + Flux.fromIterable(request.getManifests()) + .flatMap( + manifest -> { + if (manifest.getPath() != null) { + return pushApplication( + cloudFoundryClient, + availableDomains, + manifest, + this.randomWords, + request, + spaceId); + } else if (!manifest.getDocker() + .getImage() + .isEmpty()) { + return pushDocker( + cloudFoundryClient, + availableDomains, + manifest, + this.randomWords, + request, + spaceId); + } else { + throw new IllegalStateException( + "One of application or" + + " dockerImage must be" + + " supplied"); + } + }))) + .then() + .transform(OperationsLogging.log("Push Manifest")) + .checkpoint(); } @Override @@ -472,269 +627,513 @@ public Mono pushManifestV3(PushManifestV3Request request) { } return Mono.zip(this.cloudFoundryClient, this.spaceId) - .flatMap(function((cloudFoundryClient, spaceId) -> - applyManifestAndWaitForCompletion(cloudFoundryClient, spaceId, manifestSerialized) - .then(Mono.just(Tuples.of(cloudFoundryClient, spaceId))))) - .flatMapMany(function((cloudFoundryClient, spaceId) -> Flux.fromIterable(request.getManifest().getApplications()) - .map(manifestApp -> Tuples.of(cloudFoundryClient, spaceId, manifestApp)))) - .flatMap(function((cloudFoundryClient, spaceId, manifestApp) -> - getApplicationIdV3(cloudFoundryClient, manifestApp.getName(), spaceId) - .flatMap(appId -> Mono.zip(Mono.just(appId), createPackage(cloudFoundryClient, appId, manifestApp))) - .flatMap(function((appId, packageId) -> - buildAndStage(cloudFoundryClient, manifestApp, packageId) - .flatMap(dropletId -> applyDropletAndWaitForRunning(cloudFoundryClient, manifestApp.getName(), appId, dropletId)))))) - .then(); + .flatMap( + function( + (cloudFoundryClient, spaceId) -> + applyManifestAndWaitForCompletion( + cloudFoundryClient, + spaceId, + manifestSerialized) + .then( + Mono.just( + Tuples.of( + cloudFoundryClient, + spaceId))))) + .flatMapMany( + function( + (cloudFoundryClient, spaceId) -> + Flux.fromIterable(request.getManifest().getApplications()) + .map( + manifestApp -> + Tuples.of( + cloudFoundryClient, + spaceId, + manifestApp)))) + .flatMap( + function( + (cloudFoundryClient, spaceId, manifestApp) -> + getApplicationIdV3( + cloudFoundryClient, + manifestApp.getName(), + spaceId) + .flatMap( + appId -> + Mono.zip( + Mono.just(appId), + createPackage( + cloudFoundryClient, + appId, + manifestApp))) + .flatMap( + function( + (appId, packageId) -> + buildAndStage( + cloudFoundryClient, + manifestApp, + packageId) + .flatMap( + dropletId -> + applyDropletAndWaitForRunning( + cloudFoundryClient, + manifestApp + .getName(), + appId, + dropletId)))))) + .then(); } @Override public Mono rename(RenameApplicationRequest request) { - return Mono - .zip(this.cloudFoundryClient, this.spaceId) - .flatMap(function((cloudFoundryClient, spaceId) -> Mono.zip( - Mono.just(cloudFoundryClient), - getApplicationId(cloudFoundryClient, request.getName(), spaceId) - ))) - .flatMap(function((cloudFoundryClient, applicationId) -> requestUpdateApplicationName(cloudFoundryClient, applicationId, request.getNewName()))) - .then() - .transform(OperationsLogging.log("Rename Application")) - .checkpoint(); + return Mono.zip(this.cloudFoundryClient, this.spaceId) + .flatMap( + function( + (cloudFoundryClient, spaceId) -> + Mono.zip( + Mono.just(cloudFoundryClient), + getApplicationId( + cloudFoundryClient, + request.getName(), + spaceId)))) + .flatMap( + function( + (cloudFoundryClient, applicationId) -> + requestUpdateApplicationName( + cloudFoundryClient, + applicationId, + request.getNewName()))) + .then() + .transform(OperationsLogging.log("Rename Application")) + .checkpoint(); } @Override public Mono restage(RestageApplicationRequest request) { - return Mono - .zip(this.cloudFoundryClient, this.spaceId) - .flatMap(function((cloudFoundryClient, spaceId) -> Mono.zip( - Mono.just(cloudFoundryClient), - getApplicationId(cloudFoundryClient, request.getName(), spaceId) - ))) - .flatMap(function((cloudFoundryClient, applicationId) -> restageApplication(cloudFoundryClient, request.getName(), applicationId, request.getStagingTimeout(), request.getStartupTimeout - ()))) - .transform(OperationsLogging.log("Restage Application")) - .checkpoint(); + return Mono.zip(this.cloudFoundryClient, this.spaceId) + .flatMap( + function( + (cloudFoundryClient, spaceId) -> + Mono.zip( + Mono.just(cloudFoundryClient), + getApplicationId( + cloudFoundryClient, + request.getName(), + spaceId)))) + .flatMap( + function( + (cloudFoundryClient, applicationId) -> + restageApplication( + cloudFoundryClient, + request.getName(), + applicationId, + request.getStagingTimeout(), + request.getStartupTimeout()))) + .transform(OperationsLogging.log("Restage Application")) + .checkpoint(); } @Override public Mono restart(RestartApplicationRequest request) { - return Mono - .zip(this.cloudFoundryClient, this.spaceId) - .flatMap(function((cloudFoundryClient, spaceId) -> Mono.zip( - Mono.just(cloudFoundryClient), - getApplication(cloudFoundryClient, request.getName(), spaceId) - ))) - .flatMap(function((cloudFoundryClient, resource) -> Mono.zip( - Mono.just(cloudFoundryClient), - stopApplicationIfNotStopped(cloudFoundryClient, resource) - ))) - .flatMap(function((cloudFoundryClient, stoppedApplication) -> startApplicationAndWait(cloudFoundryClient, request.getName(), ResourceUtils.getId(stoppedApplication), - request.getStagingTimeout(), request.getStartupTimeout()))) - .transform(OperationsLogging.log("Restart Application")) - .checkpoint(); + return Mono.zip(this.cloudFoundryClient, this.spaceId) + .flatMap( + function( + (cloudFoundryClient, spaceId) -> + Mono.zip( + Mono.just(cloudFoundryClient), + getApplication( + cloudFoundryClient, + request.getName(), + spaceId)))) + .flatMap( + function( + (cloudFoundryClient, resource) -> + Mono.zip( + Mono.just(cloudFoundryClient), + stopApplicationIfNotStopped( + cloudFoundryClient, resource)))) + .flatMap( + function( + (cloudFoundryClient, stoppedApplication) -> + startApplicationAndWait( + cloudFoundryClient, + request.getName(), + ResourceUtils.getId(stoppedApplication), + request.getStagingTimeout(), + request.getStartupTimeout()))) + .transform(OperationsLogging.log("Restart Application")) + .checkpoint(); } @Override public Mono restartInstance(RestartApplicationInstanceRequest request) { - return Mono - .zip(this.cloudFoundryClient, this.spaceId) - .flatMap(function((cloudFoundryClient, spaceId) -> Mono.zip( - Mono.just(cloudFoundryClient), - getApplicationId(cloudFoundryClient, request.getName(), spaceId) - ))) - .flatMap(function((cloudFoundryClient, applicationId) -> requestTerminateApplicationInstance(cloudFoundryClient, applicationId, String.valueOf(request.getInstanceIndex())))) - .transform(OperationsLogging.log("Restart Application Instance")) - .checkpoint(); + return Mono.zip(this.cloudFoundryClient, this.spaceId) + .flatMap( + function( + (cloudFoundryClient, spaceId) -> + Mono.zip( + Mono.just(cloudFoundryClient), + getApplicationId( + cloudFoundryClient, + request.getName(), + spaceId)))) + .flatMap( + function( + (cloudFoundryClient, applicationId) -> + requestTerminateApplicationInstance( + cloudFoundryClient, + applicationId, + String.valueOf(request.getInstanceIndex())))) + .transform(OperationsLogging.log("Restart Application Instance")) + .checkpoint(); } @Override public Mono runTask(RunApplicationTaskRequest request) { - return Mono - .zip(this.cloudFoundryClient, this.spaceId) - .flatMap(function((cloudFoundryClient, spaceId) -> Mono.zip( - Mono.just(cloudFoundryClient), - getApplicationIdV3(cloudFoundryClient, request.getApplicationName(), spaceId)) - )) - .flatMap(function((cloudFoundryClient, applicationId) -> requestCreateTask(cloudFoundryClient, applicationId, request))) - .map(DefaultApplications::toTask) - .transform(OperationsLogging.log("Run Application Task Instance")) - .checkpoint(); + return Mono.zip(this.cloudFoundryClient, this.spaceId) + .flatMap( + function( + (cloudFoundryClient, spaceId) -> + Mono.zip( + Mono.just(cloudFoundryClient), + getApplicationIdV3( + cloudFoundryClient, + request.getApplicationName(), + spaceId)))) + .flatMap( + function( + (cloudFoundryClient, applicationId) -> + requestCreateTask( + cloudFoundryClient, applicationId, request))) + .map(DefaultApplications::toTask) + .transform(OperationsLogging.log("Run Application Task Instance")) + .checkpoint(); } @Override public Mono scale(ScaleApplicationRequest request) { - return Mono - .zip(this.cloudFoundryClient, this.spaceId) - .filter(predicate((cloudFoundryClient, spaceId) -> areModifiersPresent(request))) - .flatMap(function((cloudFoundryClient, spaceId) -> Mono.zip( - Mono.just(cloudFoundryClient), - getApplicationId(cloudFoundryClient, request.getName(), spaceId) - ))) - .flatMap(function((cloudFoundryClient, applicationId) -> Mono.zip( - Mono.just(cloudFoundryClient), - requestUpdateApplicationScale(cloudFoundryClient, applicationId, request.getDiskLimit(), request.getInstances(), request.getMemoryLimit()) - ))) - .filter(predicate((cloudFoundryClient, resource) -> isRestartRequired(request, resource))) - .flatMap(function((cloudFoundryClient, resource) -> restartApplication(cloudFoundryClient, request.getName(), ResourceUtils.getId(resource), request.getStagingTimeout(), - request.getStartupTimeout()))) - .transform(OperationsLogging.log("Scale Application")) - .checkpoint(); + return Mono.zip(this.cloudFoundryClient, this.spaceId) + .filter(predicate((cloudFoundryClient, spaceId) -> areModifiersPresent(request))) + .flatMap( + function( + (cloudFoundryClient, spaceId) -> + Mono.zip( + Mono.just(cloudFoundryClient), + getApplicationId( + cloudFoundryClient, + request.getName(), + spaceId)))) + .flatMap( + function( + (cloudFoundryClient, applicationId) -> + Mono.zip( + Mono.just(cloudFoundryClient), + requestUpdateApplicationScale( + cloudFoundryClient, + applicationId, + request.getDiskLimit(), + request.getInstances(), + request.getMemoryLimit())))) + .filter( + predicate( + (cloudFoundryClient, resource) -> + isRestartRequired(request, resource))) + .flatMap( + function( + (cloudFoundryClient, resource) -> + restartApplication( + cloudFoundryClient, + request.getName(), + ResourceUtils.getId(resource), + request.getStagingTimeout(), + request.getStartupTimeout()))) + .transform(OperationsLogging.log("Scale Application")) + .checkpoint(); } @Override public Mono setEnvironmentVariable(SetEnvironmentVariableApplicationRequest request) { - return Mono - .zip(this.cloudFoundryClient, this.spaceId) - .flatMap(function((cloudFoundryClient, spaceId) -> Mono.zip( - Mono.just(cloudFoundryClient), - getApplication(cloudFoundryClient, request.getName(), spaceId) - ))) - .flatMap(function((cloudFoundryClient, resource) -> requestUpdateApplicationEnvironment(cloudFoundryClient, ResourceUtils.getId(resource), addToEnvironment(getEnvironment(resource), - request.getVariableName(), request.getVariableValue())))) - .then() - .transform(OperationsLogging.log("Set Application Environment Variable")) - .checkpoint(); + return Mono.zip(this.cloudFoundryClient, this.spaceId) + .flatMap( + function( + (cloudFoundryClient, spaceId) -> + Mono.zip( + Mono.just(cloudFoundryClient), + getApplication( + cloudFoundryClient, + request.getName(), + spaceId)))) + .flatMap( + function( + (cloudFoundryClient, resource) -> + requestUpdateApplicationEnvironment( + cloudFoundryClient, + ResourceUtils.getId(resource), + addToEnvironment( + getEnvironment(resource), + request.getVariableName(), + request.getVariableValue())))) + .then() + .transform(OperationsLogging.log("Set Application Environment Variable")) + .checkpoint(); } @Override public Mono setHealthCheck(SetApplicationHealthCheckRequest request) { - return Mono - .zip(this.cloudFoundryClient, this.spaceId) - .flatMap(function((cloudFoundryClient, spaceId) -> Mono.zip( - Mono.just(cloudFoundryClient), - getApplicationId(cloudFoundryClient, request.getName(), spaceId) - ))) - .flatMap(function((cloudFoundryClient, applicationId) -> requestUpdateApplicationHealthCheckType(cloudFoundryClient, applicationId, request.getType()))) - .then() - .transform(OperationsLogging.log("Set Application Health Check")) - .checkpoint(); + return Mono.zip(this.cloudFoundryClient, this.spaceId) + .flatMap( + function( + (cloudFoundryClient, spaceId) -> + Mono.zip( + Mono.just(cloudFoundryClient), + getApplicationId( + cloudFoundryClient, + request.getName(), + spaceId)))) + .flatMap( + function( + (cloudFoundryClient, applicationId) -> + requestUpdateApplicationHealthCheckType( + cloudFoundryClient, + applicationId, + request.getType()))) + .then() + .transform(OperationsLogging.log("Set Application Health Check")) + .checkpoint(); } @Override public Mono sshEnabled(ApplicationSshEnabledRequest request) { - return Mono - .zip(this.cloudFoundryClient, this.spaceId) - .flatMap(function((cloudFoundryClient, spaceId) -> getApplication(cloudFoundryClient, request.getName(), spaceId))) - .map(applicationResource -> ResourceUtils.getEntity(applicationResource).getEnableSsh()) - .transform(OperationsLogging.log("Is Application SSH Enabled")) - .checkpoint(); + return Mono.zip(this.cloudFoundryClient, this.spaceId) + .flatMap( + function( + (cloudFoundryClient, spaceId) -> + getApplication( + cloudFoundryClient, request.getName(), spaceId))) + .map( + applicationResource -> + ResourceUtils.getEntity(applicationResource).getEnableSsh()) + .transform(OperationsLogging.log("Is Application SSH Enabled")) + .checkpoint(); } @Override public Mono start(StartApplicationRequest request) { - return Mono - .zip(this.cloudFoundryClient, this.spaceId) - .flatMap(function((cloudFoundryClient, spaceId) -> Mono.zip( - Mono.just(cloudFoundryClient), - getApplicationIdWhere(cloudFoundryClient, request.getName(), spaceId, isNotIn(STARTED_STATE)) - ))) - .flatMap(function((cloudFoundryClient, applicationId) -> startApplicationAndWait(cloudFoundryClient, request.getName(), applicationId, request.getStagingTimeout(), - request.getStartupTimeout()))) - .transform(OperationsLogging.log("Start Application")) - .checkpoint(); + return Mono.zip(this.cloudFoundryClient, this.spaceId) + .flatMap( + function( + (cloudFoundryClient, spaceId) -> + Mono.zip( + Mono.just(cloudFoundryClient), + getApplicationIdWhere( + cloudFoundryClient, + request.getName(), + spaceId, + isNotIn(STARTED_STATE))))) + .flatMap( + function( + (cloudFoundryClient, applicationId) -> + startApplicationAndWait( + cloudFoundryClient, + request.getName(), + applicationId, + request.getStagingTimeout(), + request.getStartupTimeout()))) + .transform(OperationsLogging.log("Start Application")) + .checkpoint(); } @Override public Mono stop(StopApplicationRequest request) { - return Mono - .zip(this.cloudFoundryClient, this.spaceId) - .flatMap(function((cloudFoundryClient, spaceId) -> Mono.zip( - Mono.just(cloudFoundryClient), - getApplicationIdWhere(cloudFoundryClient, request.getName(), spaceId, isNotIn(STOPPED_STATE)) - ))) - .flatMap(function(DefaultApplications::stopApplication)) - .then() - .transform(OperationsLogging.log("Stop Application")) - .checkpoint(); + return Mono.zip(this.cloudFoundryClient, this.spaceId) + .flatMap( + function( + (cloudFoundryClient, spaceId) -> + Mono.zip( + Mono.just(cloudFoundryClient), + getApplicationIdWhere( + cloudFoundryClient, + request.getName(), + spaceId, + isNotIn(STOPPED_STATE))))) + .flatMap(function(DefaultApplications::stopApplication)) + .then() + .transform(OperationsLogging.log("Stop Application")) + .checkpoint(); } @Override public Mono terminateTask(TerminateApplicationTaskRequest request) { - return Mono - .zip(this.cloudFoundryClient, this.spaceId) - .flatMap(function((cloudFoundryClient, spaceId) -> Mono.zip( - Mono.just(cloudFoundryClient), - getApplicationIdV3(cloudFoundryClient, request.getApplicationName(), spaceId)) - )) - .flatMap(function((cloudFoundryClient, applicationId) -> Mono.zip( - Mono.just(cloudFoundryClient), - getTaskId(cloudFoundryClient, applicationId, request.getSequenceId())) - )) - .flatMap(function(DefaultApplications::requestTerminateTask)) - .then() - .transform(OperationsLogging.log("Terminate Application Task Instance")) - .checkpoint(); + return Mono.zip(this.cloudFoundryClient, this.spaceId) + .flatMap( + function( + (cloudFoundryClient, spaceId) -> + Mono.zip( + Mono.just(cloudFoundryClient), + getApplicationIdV3( + cloudFoundryClient, + request.getApplicationName(), + spaceId)))) + .flatMap( + function( + (cloudFoundryClient, applicationId) -> + Mono.zip( + Mono.just(cloudFoundryClient), + getTaskId( + cloudFoundryClient, + applicationId, + request.getSequenceId())))) + .flatMap(function(DefaultApplications::requestTerminateTask)) + .then() + .transform(OperationsLogging.log("Terminate Application Task Instance")) + .checkpoint(); } @Override public Mono unsetEnvironmentVariable(UnsetEnvironmentVariableApplicationRequest request) { - return Mono - .zip(this.cloudFoundryClient, this.spaceId) - .flatMap(function((cloudFoundryClient, spaceId) -> Mono.zip( - Mono.just(cloudFoundryClient), - getApplication(cloudFoundryClient, request.getName(), spaceId) - ))) - .flatMap(function((cloudFoundryClient, resource) -> requestUpdateApplicationEnvironment(cloudFoundryClient, ResourceUtils.getId(resource), removeFromEnvironment(getEnvironment(resource), - request.getVariableName())))) - .then() - .transform(OperationsLogging.log("Unset Application Environment Variable")) - .checkpoint(); - } - - private static Map addToEnvironment(Map environment, String variableName, Object variableValue) { + return Mono.zip(this.cloudFoundryClient, this.spaceId) + .flatMap( + function( + (cloudFoundryClient, spaceId) -> + Mono.zip( + Mono.just(cloudFoundryClient), + getApplication( + cloudFoundryClient, + request.getName(), + spaceId)))) + .flatMap( + function( + (cloudFoundryClient, resource) -> + requestUpdateApplicationEnvironment( + cloudFoundryClient, + ResourceUtils.getId(resource), + removeFromEnvironment( + getEnvironment(resource), + request.getVariableName())))) + .then() + .transform(OperationsLogging.log("Unset Application Environment Variable")) + .checkpoint(); + } + + private static Map addToEnvironment( + Map environment, String variableName, Object variableValue) { return FluentMap.builder() - .entries(environment) - .entry(variableName, variableValue) - .build(); - } - - private static Mono applyDropletAndWaitForRunning(CloudFoundryClient cloudFoundryClient, String appname, String appId, String dropletId) { - return cloudFoundryClient.applicationsV3().setCurrentDroplet(SetApplicationCurrentDropletRequest.builder() - .applicationId(appId) - .data(Relationship.builder().id(dropletId).build()) - .build()) - .then(cloudFoundryClient.applicationsV3().restart(org.cloudfoundry.client.v3.applications.RestartApplicationRequest.builder() - .applicationId(appId) - .build())) - .then(waitForRunningV3(cloudFoundryClient, appname, appId, null)); - } - - private static Mono applyManifestAndWaitForCompletion(CloudFoundryClient cloudFoundryClient, String spaceId, byte[] manifestSerialized) { - return cloudFoundryClient.spacesV3() - .applyManifest(ApplyManifestRequest.builder().manifest(manifestSerialized).spaceId(spaceId).build()) - .map(response -> response.getJobId().orElseThrow(() -> new IllegalStateException("No jobId returned for applying v3 manifest"))) - .flatMap(jobId -> JobUtils.waitForCompletion(cloudFoundryClient, Duration.ofMinutes(5), jobId)); + .entries(environment) + .entry(variableName, variableValue) + .build(); + } + + private static Mono applyDropletAndWaitForRunning( + CloudFoundryClient cloudFoundryClient, String appname, String appId, String dropletId) { + return cloudFoundryClient + .applicationsV3() + .setCurrentDroplet( + SetApplicationCurrentDropletRequest.builder() + .applicationId(appId) + .data(Relationship.builder().id(dropletId).build()) + .build()) + .then( + cloudFoundryClient + .applicationsV3() + .restart( + org.cloudfoundry.client.v3.applications + .RestartApplicationRequest.builder() + .applicationId(appId) + .build())) + .then(waitForRunningV3(cloudFoundryClient, appname, appId, null)); + } + + private static Mono applyManifestAndWaitForCompletion( + CloudFoundryClient cloudFoundryClient, String spaceId, byte[] manifestSerialized) { + return cloudFoundryClient + .spacesV3() + .applyManifest( + ApplyManifestRequest.builder() + .manifest(manifestSerialized) + .spaceId(spaceId) + .build()) + .map( + response -> + response.getJobId() + .orElseThrow( + () -> + new IllegalStateException( + "No jobId returned for applying v3" + + " manifest"))) + .flatMap( + jobId -> + JobUtils.waitForCompletion( + cloudFoundryClient, Duration.ofMinutes(5), jobId)); } private static boolean areModifiersPresent(ScaleApplicationRequest request) { - return request.getMemoryLimit() != null || request.getDiskLimit() != null || request.getInstances() != null; - } - - private static Flux associateDefaultDomain(CloudFoundryClient cloudFoundryClient, String applicationId, List availableDomains, ApplicationManifest manifest, - RandomWords randomWords, String spaceId) { + return request.getMemoryLimit() != null + || request.getDiskLimit() != null + || request.getInstances() != null; + } + + private static Flux associateDefaultDomain( + CloudFoundryClient cloudFoundryClient, + String applicationId, + List availableDomains, + ApplicationManifest manifest, + RandomWords randomWords, + String spaceId) { return getDefaultDomainId(cloudFoundryClient) - .flatMapMany(domainId -> getPushRouteIdFromDomain(cloudFoundryClient, availableDomains, domainId, manifest, randomWords, spaceId)) - .flatMap(routeId -> requestAssociateRoute(cloudFoundryClient, applicationId, routeId)) - .map(ResourceUtils::getId); + .flatMapMany( + domainId -> + getPushRouteIdFromDomain( + cloudFoundryClient, + availableDomains, + domainId, + manifest, + randomWords, + spaceId)) + .flatMap( + routeId -> + requestAssociateRoute(cloudFoundryClient, applicationId, routeId)) + .map(ResourceUtils::getId); } - private static Mono bindServices(CloudFoundryClient cloudFoundryClient, String applicationId, ApplicationManifest manifest, String spaceId) { + private static Mono bindServices( + CloudFoundryClient cloudFoundryClient, + String applicationId, + ApplicationManifest manifest, + String spaceId) { if (manifest.getServices() == null || manifest.getServices().size() == 0) { return Mono.empty(); } return Flux.fromIterable(manifest.getServices()) - .flatMap(serviceInstanceName -> getServiceId(cloudFoundryClient, serviceInstanceName, spaceId)) - .flatMap(serviceInstanceId -> requestCreateServiceBinding(cloudFoundryClient, applicationId, serviceInstanceId) - .onErrorResume(ExceptionUtils.statusCode(CF_SERVICE_ALREADY_BOUND), t -> Mono.empty())) - .then(); + .flatMap( + serviceInstanceName -> + getServiceId(cloudFoundryClient, serviceInstanceName, spaceId)) + .flatMap( + serviceInstanceId -> + requestCreateServiceBinding( + cloudFoundryClient, + applicationId, + serviceInstanceId) + .onErrorResume( + ExceptionUtils.statusCode(CF_SERVICE_ALREADY_BOUND), + t -> Mono.empty())) + .then(); } - private static Mono buildAndStage(CloudFoundryClient cloudFoundryClient, ManifestV3Application manifestApp, String packageId) { - return cloudFoundryClient.builds().create(CreateBuildRequest.builder() - .getPackage(Relationship.builder().id(packageId).build()) - .build()) - .map(CreateBuildResponse::getId) - .flatMap(buildId -> waitForBuildStaging(cloudFoundryClient, buildId, manifestApp.getName(), null)) - .map(build -> build.getDroplet().getId()); + private static Mono buildAndStage( + CloudFoundryClient cloudFoundryClient, + ManifestV3Application manifestApp, + String packageId) { + return cloudFoundryClient + .builds() + .create( + CreateBuildRequest.builder() + .getPackage(Relationship.builder().id(packageId).build()) + .build()) + .map(CreateBuildResponse::getId) + .flatMap( + buildId -> + waitForBuildStaging( + cloudFoundryClient, buildId, manifestApp.getName(), null)) + .map(build -> build.getDroplet().getId()); } private static String cleanName(ApplicationManifest manifest) { @@ -764,99 +1163,141 @@ private static ApplicationEvent convertToApplicationEvent(EventResource resource // do not set time } return ApplicationEvent.builder() - .actor(entity.getActorName()) - .description(eventDescription(getMetadataRequest(entity), getEntryNames(entity.getType()))) - .id(ResourceUtils.getId(resource)) - .event(entity.getType()) - .time(timestamp) - .build(); - } - - private static Mono copyBits(CloudFoundryClient cloudFoundryClient, Duration completionTimeout, String sourceApplicationId, String targetApplicationId) { + .actor(entity.getActorName()) + .description( + eventDescription( + getMetadataRequest(entity), getEntryNames(entity.getType()))) + .id(ResourceUtils.getId(resource)) + .event(entity.getType()) + .time(timestamp) + .build(); + } + + private static Mono copyBits( + CloudFoundryClient cloudFoundryClient, + Duration completionTimeout, + String sourceApplicationId, + String targetApplicationId) { return requestCopyBits(cloudFoundryClient, sourceApplicationId, targetApplicationId) - .flatMap(job -> JobUtils.waitForCompletion(cloudFoundryClient, completionTimeout, job)); + .flatMap( + job -> + JobUtils.waitForCompletion( + cloudFoundryClient, completionTimeout, job)); } - private static Mono createPackage(CloudFoundryClient cloudFoundryClient, String appId, ManifestV3Application manifestApp) { + private static Mono createPackage( + CloudFoundryClient cloudFoundryClient, + String appId, + ManifestV3Application manifestApp) { if (manifestApp.getDocker() != null) { - return cloudFoundryClient.packages().create(CreatePackageRequest.builder() - .type(PackageType.DOCKER) - .data(DockerData.builder() - .image(manifestApp.getDocker().getImage()) - .username(manifestApp.getDocker().getUsername()) - .password(manifestApp.getDocker().getPassword()) - .build()) - .relationships(PackageRelationships.builder() - .application(ToOneRelationship.builder() - .data(Relationship.builder() - .id(appId) - .build()) - .build()) - .build()) - .build()) - .map(CreatePackageResponse::getId); + return cloudFoundryClient + .packages() + .create( + CreatePackageRequest.builder() + .type(PackageType.DOCKER) + .data( + DockerData.builder() + .image(manifestApp.getDocker().getImage()) + .username(manifestApp.getDocker().getUsername()) + .password(manifestApp.getDocker().getPassword()) + .build()) + .relationships( + PackageRelationships.builder() + .application( + ToOneRelationship.builder() + .data( + Relationship.builder() + .id(appId) + .build()) + .build()) + .build()) + .build()) + .map(CreatePackageResponse::getId); } else { - return cloudFoundryClient.packages().create(CreatePackageRequest.builder() - .type(PackageType.BITS) - .data(BitsData.builder().build()) - .relationships(PackageRelationships.builder() - .application(ToOneRelationship.builder() - .data(Relationship.builder() - .id(appId) - .build()) - .build()) - .build()) - .build()) - .filter(p -> p.getState() == PackageState.AWAITING_UPLOAD) - .switchIfEmpty(ExceptionUtils.illegalState("Newly created package of application %s is not in state AWAITING_UPLOAD", manifestApp.getName())) - .map(CreatePackageResponse::getId) - .flatMap(packageId -> ResourceMatchingUtilsV3.getMatchedResources(cloudFoundryClient, manifestApp.getPath()) - .flatMap(matchedResources -> uploadPackageBitsAndWait(cloudFoundryClient, packageId, manifestApp.getPath(), matchedResources, Duration.ofMinutes(5))) - .map(GetPackageResponse::getId)); + return cloudFoundryClient + .packages() + .create( + CreatePackageRequest.builder() + .type(PackageType.BITS) + .data(BitsData.builder().build()) + .relationships( + PackageRelationships.builder() + .application( + ToOneRelationship.builder() + .data( + Relationship.builder() + .id(appId) + .build()) + .build()) + .build()) + .build()) + .filter(p -> p.getState() == PackageState.AWAITING_UPLOAD) + .switchIfEmpty( + ExceptionUtils.illegalState( + "Newly created package of application %s is not in state" + + " AWAITING_UPLOAD", + manifestApp.getName())) + .map(CreatePackageResponse::getId) + .flatMap( + packageId -> + ResourceMatchingUtilsV3.getMatchedResources( + cloudFoundryClient, manifestApp.getPath()) + .flatMap( + matchedResources -> + uploadPackageBitsAndWait( + cloudFoundryClient, + packageId, + manifestApp.getPath(), + matchedResources, + Duration.ofMinutes(5))) + .map(GetPackageResponse::getId)); } } - private static Mono deleteRoute(CloudFoundryClient cloudFoundryClient, String routeId, Duration completionTimeout) { + private static Mono deleteRoute( + CloudFoundryClient cloudFoundryClient, String routeId, Duration completionTimeout) { return requestDeleteRoute(cloudFoundryClient, routeId) - .flatMap(job -> JobUtils.waitForCompletion(cloudFoundryClient, completionTimeout, job)); - } - - private static Mono deleteRoutes(CloudFoundryClient cloudFoundryClient, Duration completionTimeout, Optional> routes) { - return routes - .map(Flux::fromIterable) - .orElse(Flux.empty()) - .map(org.cloudfoundry.client.v2.routes.Route::getId) - .flatMap(routeId -> deleteRoute(cloudFoundryClient, routeId, completionTimeout)) - .then(); + .flatMap( + job -> + JobUtils.waitForCompletion( + cloudFoundryClient, completionTimeout, job)); + } + + private static Mono deleteRoutes( + CloudFoundryClient cloudFoundryClient, + Duration completionTimeout, + Optional> routes) { + return routes.map(Flux::fromIterable) + .orElse(Flux.empty()) + .map(org.cloudfoundry.client.v2.routes.Route::getId) + .flatMap(routeId -> deleteRoute(cloudFoundryClient, routeId, completionTimeout)) + .then(); } - private static String deriveHostname(String host, ApplicationManifest manifest, RandomWords randomWords) { + private static String deriveHostname( + String host, ApplicationManifest manifest, RandomWords randomWords) { if (Optional.ofNullable(manifest.getNoHostname()).orElse(false)) { return ""; } else if (host != null) { return host; } else if (Optional.ofNullable(manifest.getRandomRoute()).orElse(false)) { - return String.join("-", cleanName(manifest), randomWords.getAdjective(), randomWords.getNoun()); + return String.join( + "-", cleanName(manifest), randomWords.getAdjective(), randomWords.getNoun()); } else { return cleanName(manifest); } } private static Statistics emptyApplicationStatistics() { - return Statistics.builder() - .usage(emptyApplicationUsage()) - .build(); + return Statistics.builder().usage(emptyApplicationUsage()).build(); } private static Usage emptyApplicationUsage() { - return Usage.builder() - .build(); + return Usage.builder().build(); } private static InstanceStatistics emptyInstanceStats() { - return InstanceStatistics.builder() - .statistics(emptyApplicationStatistics()) - .build(); + return InstanceStatistics.builder().statistics(emptyApplicationStatistics()).build(); } private static String eventDescription(Map request, String... entryNames) { @@ -879,124 +1320,200 @@ private static String eventDescription(Map request, String... en return sb.toString(); } - private static Flux extractApplications(GetSpaceSummaryResponse getSpaceSummaryResponse) { + private static Flux extractApplications( + GetSpaceSummaryResponse getSpaceSummaryResponse) { return Flux.fromIterable(getSpaceSummaryResponse.getApplications()); } - private static Mono getApplication(CloudFoundryClient cloudFoundryClient, String application, String spaceId) { + private static Mono getApplication( + CloudFoundryClient cloudFoundryClient, String application, String spaceId) { return requestApplications(cloudFoundryClient, application, spaceId) - .single() - .onErrorResume(NoSuchElementException.class, t -> ExceptionUtils.illegalArgument("Application %s does not exist", application)); - } - - private static Mono> getApplicationBuildpacks(CloudFoundryClient cloudFoundryClient, String applicationId) { - return cloudFoundryClient.applicationsV3() - .get(org.cloudfoundry.client.v3.applications.GetApplicationRequest.builder() - .applicationId(applicationId) - .build()) - .map(GetApplicationResponse::getLifecycle) - .filter(lifecycle -> BUILDPACK == lifecycle.getType()) - .map(Lifecycle::getData) - .cast(BuildpackData.class) - .map(BuildpackData::getBuildpacks) - .defaultIfEmpty(Collections.emptyList()); + .single() + .onErrorResume( + NoSuchElementException.class, + t -> + ExceptionUtils.illegalArgument( + "Application %s does not exist", application)); + } + + private static Mono> getApplicationBuildpacks( + CloudFoundryClient cloudFoundryClient, String applicationId) { + return cloudFoundryClient + .applicationsV3() + .get( + org.cloudfoundry.client.v3.applications.GetApplicationRequest.builder() + .applicationId(applicationId) + .build()) + .map(GetApplicationResponse::getLifecycle) + .filter(lifecycle -> BUILDPACK == lifecycle.getType()) + .map(Lifecycle::getData) + .cast(BuildpackData.class) + .map(BuildpackData::getBuildpacks) + .defaultIfEmpty(Collections.emptyList()); } - private static Mono getApplicationId(CloudFoundryClient cloudFoundryClient, String application, String spaceId) { - return getApplication(cloudFoundryClient, application, spaceId) - .map(ResourceUtils::getId); + private static Mono getApplicationId( + CloudFoundryClient cloudFoundryClient, String application, String spaceId) { + return getApplication(cloudFoundryClient, application, spaceId).map(ResourceUtils::getId); } - private static Mono getApplicationId(CloudFoundryClient cloudFoundryClient, ApplicationManifest manifest, String spaceId, String stackId) { + private static Mono getApplicationId( + CloudFoundryClient cloudFoundryClient, + ApplicationManifest manifest, + String spaceId, + String stackId) { return requestApplications(cloudFoundryClient, manifest.getName(), spaceId) - .singleOrEmpty() - .flatMap(application -> { - HashMap merge = new HashMap<>(); - Optional.ofNullable(ResourceUtils.getEntity(application).getEnvironmentJsons()).ifPresent(merge::putAll); - Optional.ofNullable(manifest.getEnvironmentVariables()).ifPresent(merge::putAll); - - return requestUpdateApplication(cloudFoundryClient, ResourceUtils.getId(application), merge, manifest, stackId) - .map(ResourceUtils::getId); - }) - .switchIfEmpty(requestCreateApplication(cloudFoundryClient, manifest, spaceId, stackId) - .map(ResourceUtils::getId)); - } - - private static Mono getApplicationIdFromOrgSpace(CloudFoundryClient cloudFoundryClient, String application, String spaceId, String organization, String space) { - return - getSpaceOrganizationId(cloudFoundryClient, spaceId) - .flatMap(organizationId -> organization != null ? getOrganizationId(cloudFoundryClient, organization) : Mono.just(organizationId)) - .flatMap(organizationId -> space != null ? getSpaceId(cloudFoundryClient, organizationId, space) : Mono.just(spaceId)) + .singleOrEmpty() + .flatMap( + application -> { + HashMap merge = new HashMap<>(); + Optional.ofNullable( + ResourceUtils.getEntity(application) + .getEnvironmentJsons()) + .ifPresent(merge::putAll); + Optional.ofNullable(manifest.getEnvironmentVariables()) + .ifPresent(merge::putAll); + + return requestUpdateApplication( + cloudFoundryClient, + ResourceUtils.getId(application), + merge, + manifest, + stackId) + .map(ResourceUtils::getId); + }) + .switchIfEmpty( + requestCreateApplication(cloudFoundryClient, manifest, spaceId, stackId) + .map(ResourceUtils::getId)); + } + + private static Mono getApplicationIdFromOrgSpace( + CloudFoundryClient cloudFoundryClient, + String application, + String spaceId, + String organization, + String space) { + return getSpaceOrganizationId(cloudFoundryClient, spaceId) + .flatMap( + organizationId -> + organization != null + ? getOrganizationId(cloudFoundryClient, organization) + : Mono.just(organizationId)) + .flatMap( + organizationId -> + space != null + ? getSpaceId(cloudFoundryClient, organizationId, space) + : Mono.just(spaceId)) .flatMap(spaceId1 -> getApplicationId(cloudFoundryClient, application, spaceId1)); } - private static Mono getApplicationIdV3(CloudFoundryClient cloudFoundryClient, String applicationName, String spaceId) { + private static Mono getApplicationIdV3( + CloudFoundryClient cloudFoundryClient, String applicationName, String spaceId) { return getApplicationV3(cloudFoundryClient, applicationName, spaceId) - .map(ApplicationResource::getId); + .map(ApplicationResource::getId); } - private static Mono getApplicationIdWhere(CloudFoundryClient cloudFoundryClient, String application, String spaceId, Predicate predicate) { + private static Mono getApplicationIdWhere( + CloudFoundryClient cloudFoundryClient, + String application, + String spaceId, + Predicate predicate) { return getApplication(cloudFoundryClient, application, spaceId) - .filter(predicate) - .map(ResourceUtils::getId); + .filter(predicate) + .map(ResourceUtils::getId); } - private static Mono getApplicationInstances(CloudFoundryClient cloudFoundryClient, String applicationId) { + private static Mono getApplicationInstances( + CloudFoundryClient cloudFoundryClient, String applicationId) { return requestApplicationInstances(cloudFoundryClient, applicationId) - .onErrorResume(ExceptionUtils.statusCode(CF_BUILDPACK_COMPILED_FAILED, CF_INSTANCES_ERROR, CF_STAGING_NOT_FINISHED, CF_STAGING_TIME_EXPIRED, CF_STAGING_ERROR), - t -> Mono.just(ApplicationInstancesResponse.builder().build())); + .onErrorResume( + ExceptionUtils.statusCode( + CF_BUILDPACK_COMPILED_FAILED, + CF_INSTANCES_ERROR, + CF_STAGING_NOT_FINISHED, + CF_STAGING_TIME_EXPIRED, + CF_STAGING_ERROR), + t -> Mono.just(ApplicationInstancesResponse.builder().build())); } - private static Mono> getApplicationRoutes(CloudFoundryClient cloudFoundryClient, String applicationId) { - return requestApplicationRoutes(cloudFoundryClient, applicationId) - .collectList(); + private static Mono> getApplicationRoutes( + CloudFoundryClient cloudFoundryClient, String applicationId) { + return requestApplicationRoutes(cloudFoundryClient, applicationId).collectList(); } - private static Mono getApplicationStatistics(CloudFoundryClient cloudFoundryClient, String applicationId) { + private static Mono getApplicationStatistics( + CloudFoundryClient cloudFoundryClient, String applicationId) { return requestApplicationStatistics(cloudFoundryClient, applicationId) - .onErrorResume(ExceptionUtils.statusCode(CF_APP_STOPPED_STATS_ERROR), t -> Mono.just(ApplicationStatisticsResponse.builder().build())); + .onErrorResume( + ExceptionUtils.statusCode(CF_APP_STOPPED_STATS_ERROR), + t -> Mono.just(ApplicationStatisticsResponse.builder().build())); } - private static Mono getApplicationV3(CloudFoundryClient cloudFoundryClient, String application, String spaceId) { + private static Mono getApplicationV3( + CloudFoundryClient cloudFoundryClient, String application, String spaceId) { return requestApplicationsV3(cloudFoundryClient, application, spaceId) - .single() - .onErrorResume(NoSuchElementException.class, t -> ExceptionUtils.illegalArgument("Application %s does not exist", application)); - } - - private static Mono, SummaryApplicationResponse, GetStackResponse, List, List>> getAuxiliaryContent(CloudFoundryClient cloudFoundryClient, - AbstractApplicationResource applicationResource) { + .single() + .onErrorResume( + NoSuchElementException.class, + t -> + ExceptionUtils.illegalArgument( + "Application %s does not exist", application)); + } + + private static Mono< + Tuple5< + List, + SummaryApplicationResponse, + GetStackResponse, + List, + List>> + getAuxiliaryContent( + CloudFoundryClient cloudFoundryClient, + AbstractApplicationResource applicationResource) { String applicationId = ResourceUtils.getId(applicationResource); String stackId = ResourceUtils.getEntity(applicationResource).getStackId(); - return Mono - .zip( - getApplicationStatistics(cloudFoundryClient, applicationId), - requestApplicationSummary(cloudFoundryClient, applicationId), - getApplicationInstances(cloudFoundryClient, applicationId) - ) - .flatMap(function((applicationStatisticsResponse, summaryApplicationResponse, applicationInstancesResponse) -> Mono.zip( - getApplicationBuildpacks(cloudFoundryClient, applicationId), - Mono.just(summaryApplicationResponse), - requestStack(cloudFoundryClient, stackId), - toInstanceDetailList(applicationInstancesResponse, applicationStatisticsResponse), - toUrls(summaryApplicationResponse.getRoutes()) - ))); + return Mono.zip( + getApplicationStatistics(cloudFoundryClient, applicationId), + requestApplicationSummary(cloudFoundryClient, applicationId), + getApplicationInstances(cloudFoundryClient, applicationId)) + .flatMap( + function( + (applicationStatisticsResponse, + summaryApplicationResponse, + applicationInstancesResponse) -> + Mono.zip( + getApplicationBuildpacks( + cloudFoundryClient, applicationId), + Mono.just(summaryApplicationResponse), + requestStack(cloudFoundryClient, stackId), + toInstanceDetailList( + applicationInstancesResponse, + applicationStatisticsResponse), + toUrls(summaryApplicationResponse.getRoutes())))); } private static Mono getDefaultDomainId(CloudFoundryClient cloudFoundryClient) { return requestSharedDomains(cloudFoundryClient) - .filter(resource -> !Optional.ofNullable(ResourceUtils.getEntity(resource).getInternal()).orElse(false)) - .map(ResourceUtils::getId) - .next() - .switchIfEmpty(ExceptionUtils.illegalArgument("No default domain found")); + .filter( + resource -> + !Optional.ofNullable( + ResourceUtils.getEntity(resource).getInternal()) + .orElse(false)) + .map(ResourceUtils::getId) + .next() + .switchIfEmpty(ExceptionUtils.illegalArgument("No default domain found")); } private static String getDomainId(List availableDomains, String domainName) { return availableDomains.stream() - .filter(domain -> domainName.equals(domain.getName())) - .map(DomainSummary::getId) - .findFirst() - .orElseThrow(() -> new IllegalArgumentException(String.format("Domain %s not found", domainName))); + .filter(domain -> domainName.equals(domain.getName())) + .map(DomainSummary::getId) + .findFirst() + .orElseThrow( + () -> + new IllegalArgumentException( + String.format("Domain %s not found", domainName))); } private static String[] getEntryNames(String type) { @@ -1008,92 +1525,117 @@ private static Map getEnvironment(AbstractApplicationResource re } private static int getInstances(AbstractApplicationResource resource) { - return Optional.ofNullable(resource.getEntity()).map(ApplicationEntity::getInstances).orElse(0); + return Optional.ofNullable(resource.getEntity()) + .map(ApplicationEntity::getInstances) + .orElse(0); } - private static Flux getLogs(Mono dopplerClient, String applicationId, Boolean recent) { + private static Flux getLogs( + Mono dopplerClient, String applicationId, Boolean recent) { if (Optional.ofNullable(recent).orElse(false)) { return requestLogsRecent(dopplerClient, applicationId) - .filter(e -> EventType.LOG_MESSAGE == e.getEventType()) - .map(Envelope::getLogMessage) - .collectSortedList(LOG_MESSAGE_COMPARATOR) - .flatMapIterable(d -> d); + .filter(e -> EventType.LOG_MESSAGE == e.getEventType()) + .map(Envelope::getLogMessage) + .collectSortedList(LOG_MESSAGE_COMPARATOR) + .flatMapIterable(d -> d); } else { return requestLogsStream(dopplerClient, applicationId) - .filter(e -> EventType.LOG_MESSAGE == e.getEventType()) - .map(Envelope::getLogMessage) - .transformDeferred(SortingUtils.timespan(LOG_MESSAGE_COMPARATOR, LOG_MESSAGE_TIMESPAN)); + .filter(e -> EventType.LOG_MESSAGE == e.getEventType()) + .map(Envelope::getLogMessage) + .transformDeferred( + SortingUtils.timespan(LOG_MESSAGE_COMPARATOR, LOG_MESSAGE_TIMESPAN)); } } @SuppressWarnings("unchecked") private static Map getMetadataRequest(EventEntity entity) { - Map> metadata = Optional - .ofNullable(entity.getMetadatas()) - .orElse(Collections.emptyMap()); + Map> metadata = + Optional.ofNullable(entity.getMetadatas()).orElse(Collections.emptyMap()); if (metadata.get("request") != null) { return metadata.get("request") - .map(m -> (Map) m) - .orElse(Collections.emptyMap()); + .map(m -> (Map) m) + .orElse(Collections.emptyMap()); } else if (metadata.get("instance") != null) { return metadata.entrySet().stream() - .collect(Collectors.toMap(Map.Entry::getKey, v -> v.getValue().orElse(""))); + .collect(Collectors.toMap(Map.Entry::getKey, v -> v.getValue().orElse(""))); } else { return Collections.emptyMap(); } } - private static Mono>> getOptionalRoutes(CloudFoundryClient cloudFoundryClient, boolean deleteRoutes, String applicationId) { + private static Mono>> getOptionalRoutes( + CloudFoundryClient cloudFoundryClient, boolean deleteRoutes, String applicationId) { if (deleteRoutes) { - return getRoutes(cloudFoundryClient, applicationId) - .map(Optional::of); + return getRoutes(cloudFoundryClient, applicationId).map(Optional::of); } else { return Mono.just(Optional.empty()); } } - private static Mono> getOptionalStackId(CloudFoundryClient cloudFoundryClient, String stack) { + private static Mono> getOptionalStackId( + CloudFoundryClient cloudFoundryClient, String stack) { return Optional.ofNullable(stack) - .map(stack1 -> getStackId(cloudFoundryClient, stack1) - .map(Optional::of)) - .orElse(Mono.just(Optional.empty())); + .map(stack1 -> getStackId(cloudFoundryClient, stack1).map(Optional::of)) + .orElse(Mono.just(Optional.empty())); } - private static Mono getOrganization(CloudFoundryClient cloudFoundryClient, String organization) { + private static Mono getOrganization( + CloudFoundryClient cloudFoundryClient, String organization) { return requestOrganizations(cloudFoundryClient, organization) - .single() - .onErrorResume(NoSuchElementException.class, t -> ExceptionUtils.illegalArgument("Organization %s not found", organization)); + .single() + .onErrorResume( + NoSuchElementException.class, + t -> + ExceptionUtils.illegalArgument( + "Organization %s not found", organization)); } - private static Mono getOrganizationId(CloudFoundryClient cloudFoundryClient, String organization) { - return getOrganization(cloudFoundryClient, organization) - .map(ResourceUtils::getId); + private static Mono getOrganizationId( + CloudFoundryClient cloudFoundryClient, String organization) { + return getOrganization(cloudFoundryClient, organization).map(ResourceUtils::getId); } - private static Mono getOrganizationSpaceByName(CloudFoundryClient cloudFoundryClient, String organizationId, String space) { + private static Mono getOrganizationSpaceByName( + CloudFoundryClient cloudFoundryClient, String organizationId, String space) { return requestOrganizationSpacesByName(cloudFoundryClient, organizationId, space) - .single() - .onErrorResume(NoSuchElementException.class, t -> ExceptionUtils.illegalArgument("Space %s not found", space)); + .single() + .onErrorResume( + NoSuchElementException.class, + t -> ExceptionUtils.illegalArgument("Space %s not found", space)); } private static String getPassword(DockerCredentials dockerCredentials) { - return Optional.ofNullable(dockerCredentials).map(DockerCredentials::getPassword).orElse(null); - } - - private static Flux getPushRouteIdFromDomain(CloudFoundryClient cloudFoundryClient, List availableDomains, String domainId, ApplicationManifest manifest, - RandomWords randomWords, String spaceId) { + return Optional.ofNullable(dockerCredentials) + .map(DockerCredentials::getPassword) + .orElse(null); + } + + private static Flux getPushRouteIdFromDomain( + CloudFoundryClient cloudFoundryClient, + List availableDomains, + String domainId, + ApplicationManifest manifest, + RandomWords randomWords, + String spaceId) { if (isTcpDomain(availableDomains, domainId)) { return requestCreateTcpRoute(cloudFoundryClient, domainId, spaceId) - .map(ResourceUtils::getId) - .flux(); + .map(ResourceUtils::getId) + .flux(); } List hosts; if (Optional.ofNullable(manifest.getNoHostname()).orElse(false)) { hosts = Collections.singletonList(""); - } else if (Optional.ofNullable(manifest.getRandomRoute()).orElse(false) && manifest.getHosts() == null) { - hosts = Collections.singletonList(String.join("-", cleanName(manifest), randomWords.getAdjective(), randomWords.getNoun())); + } else if (Optional.ofNullable(manifest.getRandomRoute()).orElse(false) + && manifest.getHosts() == null) { + hosts = + Collections.singletonList( + String.join( + "-", + cleanName(manifest), + randomWords.getAdjective(), + randomWords.getNoun())); } else if (manifest.getHosts() == null || manifest.getHosts().isEmpty()) { hosts = Collections.singletonList(cleanName(manifest)); } else { @@ -1101,108 +1643,194 @@ private static Flux getPushRouteIdFromDomain(CloudFoundryClient cloudFou } return Flux.fromIterable(hosts) - .flatMap(host -> getRouteId(cloudFoundryClient, domainId, host, manifest.getRoutePath()) - .switchIfEmpty(requestCreateRoute(cloudFoundryClient, domainId, host, manifest.getRoutePath(), spaceId) - .map(ResourceUtils::getId))); - } - - private static Flux getPushRouteIdFromRoute(CloudFoundryClient cloudFoundryClient, List availableDomains, ApplicationManifest manifest, RandomWords randomWords, - String spaceId) { + .flatMap( + host -> + getRouteId( + cloudFoundryClient, + domainId, + host, + manifest.getRoutePath()) + .switchIfEmpty( + requestCreateRoute( + cloudFoundryClient, + domainId, + host, + manifest.getRoutePath(), + spaceId) + .map(ResourceUtils::getId))); + } + + private static Flux getPushRouteIdFromRoute( + CloudFoundryClient cloudFoundryClient, + List availableDomains, + ApplicationManifest manifest, + RandomWords randomWords, + String spaceId) { return Flux.fromIterable(manifest.getRoutes()) - .flatMap(route -> RouteUtils.decomposeRoute(availableDomains, route.getRoute(), manifest.getRoutePath())) - .flatMap(decomposedRoute -> { - String domainId = getDomainId(availableDomains, decomposedRoute.getDomain()); - if (isTcpDomain(availableDomains, domainId)) { - return getRouteIdForTcpRoute(cloudFoundryClient, decomposedRoute, domainId, manifest, spaceId); - } else { - return getRouteIdForHttpRoute(cloudFoundryClient, decomposedRoute, domainId, manifest, randomWords, spaceId); - } - }); - } - - private static Mono getRouteId(CloudFoundryClient cloudFoundryClient, String domainId, String host, String routePath) { + .flatMap( + route -> + RouteUtils.decomposeRoute( + availableDomains, + route.getRoute(), + manifest.getRoutePath())) + .flatMap( + decomposedRoute -> { + String domainId = + getDomainId(availableDomains, decomposedRoute.getDomain()); + if (isTcpDomain(availableDomains, domainId)) { + return getRouteIdForTcpRoute( + cloudFoundryClient, + decomposedRoute, + domainId, + manifest, + spaceId); + } else { + return getRouteIdForHttpRoute( + cloudFoundryClient, + decomposedRoute, + domainId, + manifest, + randomWords, + spaceId); + } + }); + } + + private static Mono getRouteId( + CloudFoundryClient cloudFoundryClient, String domainId, String host, String routePath) { return requestRoutes(cloudFoundryClient, domainId, host, null, routePath) - .filter(resource -> isIdentical(host, ResourceUtils.getEntity(resource).getHost())) - .filter(resource -> isIdentical(Optional.ofNullable(routePath).orElse(""), ResourceUtils.getEntity(resource).getPath())) - .singleOrEmpty() - .map(ResourceUtils::getId); + .filter(resource -> isIdentical(host, ResourceUtils.getEntity(resource).getHost())) + .filter( + resource -> + isIdentical( + Optional.ofNullable(routePath).orElse(""), + ResourceUtils.getEntity(resource).getPath())) + .singleOrEmpty() + .map(ResourceUtils::getId); } - private static Mono getRouteIdForHttpRoute(CloudFoundryClient cloudFoundryClient, DecomposedRoute decomposedRoute, String domainId, ApplicationManifest manifest, RandomWords randomWords, - String spaceId) { + private static Mono getRouteIdForHttpRoute( + CloudFoundryClient cloudFoundryClient, + DecomposedRoute decomposedRoute, + String domainId, + ApplicationManifest manifest, + RandomWords randomWords, + String spaceId) { String derivedHost = deriveHostname(decomposedRoute.getHost(), manifest, randomWords); return getRouteId(cloudFoundryClient, domainId, derivedHost, decomposedRoute.getPath()) - .switchIfEmpty(requestCreateRoute(cloudFoundryClient, domainId, derivedHost, decomposedRoute.getPath(), spaceId) - .map(ResourceUtils::getId)); - } - - private static Mono getRouteIdForTcpRoute(CloudFoundryClient cloudFoundryClient, DecomposedRoute decomposedRoute, String domainId, ApplicationManifest manifest, String spaceId) { + .switchIfEmpty( + requestCreateRoute( + cloudFoundryClient, + domainId, + derivedHost, + decomposedRoute.getPath(), + spaceId) + .map(ResourceUtils::getId)); + } + + private static Mono getRouteIdForTcpRoute( + CloudFoundryClient cloudFoundryClient, + DecomposedRoute decomposedRoute, + String domainId, + ApplicationManifest manifest, + String spaceId) { if (Optional.ofNullable(manifest.getRandomRoute()).orElse(false)) { return requestCreateTcpRoute(cloudFoundryClient, domainId, spaceId) - .map(ResourceUtils::getId); + .map(ResourceUtils::getId); } return getTcpRouteId(cloudFoundryClient, domainId, decomposedRoute.getPort()) - .switchIfEmpty(requestCreateTcpRoute(cloudFoundryClient, domainId, decomposedRoute.getPort(), spaceId) - .map(ResourceUtils::getId)); + .switchIfEmpty( + requestCreateTcpRoute( + cloudFoundryClient, + domainId, + decomposedRoute.getPort(), + spaceId) + .map(ResourceUtils::getId)); } - private static Mono> getRoutes(CloudFoundryClient cloudFoundryClient, String applicationId) { + private static Mono> getRoutes( + CloudFoundryClient cloudFoundryClient, String applicationId) { return requestApplicationSummary(cloudFoundryClient, applicationId) - .map(SummaryApplicationResponse::getRoutes); + .map(SummaryApplicationResponse::getRoutes); } - private static Mono>, String>> getRoutesAndApplicationId(CloudFoundryClient cloudFoundryClient, DeleteApplicationRequest request, - String spaceId, boolean deleteRoutes) { + private static Mono>, String>> + getRoutesAndApplicationId( + CloudFoundryClient cloudFoundryClient, + DeleteApplicationRequest request, + String spaceId, + boolean deleteRoutes) { return getApplicationId(cloudFoundryClient, request.getName(), spaceId) - .flatMap(applicationId -> getOptionalRoutes(cloudFoundryClient, deleteRoutes, applicationId) - .zipWith(Mono.just(applicationId))); + .flatMap( + applicationId -> + getOptionalRoutes(cloudFoundryClient, deleteRoutes, applicationId) + .zipWith(Mono.just(applicationId))); } - private static Mono getServiceId(CloudFoundryClient cloudFoundryClient, String serviceInstanceName, String spaceId) { + private static Mono getServiceId( + CloudFoundryClient cloudFoundryClient, String serviceInstanceName, String spaceId) { return requestListServiceInstances(cloudFoundryClient, serviceInstanceName, spaceId) - .map(ResourceUtils::getId) - .single() - .onErrorResume(NoSuchElementException.class, t -> ExceptionUtils.illegalArgument("Service instance %s could not be found", serviceInstanceName)); + .map(ResourceUtils::getId) + .single() + .onErrorResume( + NoSuchElementException.class, + t -> + ExceptionUtils.illegalArgument( + "Service instance %s could not be found", + serviceInstanceName)); } - private static Mono getSpaceId(CloudFoundryClient cloudFoundryClient, String organizationId, String space) { + private static Mono getSpaceId( + CloudFoundryClient cloudFoundryClient, String organizationId, String space) { return getOrganizationSpaceByName(cloudFoundryClient, organizationId, space) - .map(ResourceUtils::getId); + .map(ResourceUtils::getId); } - private static Mono getSpaceOrganizationId(CloudFoundryClient cloudFoundryClient, String spaceId) { + private static Mono getSpaceOrganizationId( + CloudFoundryClient cloudFoundryClient, String spaceId) { return requestSpace(cloudFoundryClient, spaceId) - .map(response -> ResourceUtils.getEntity(response).getOrganizationId()); + .map(response -> ResourceUtils.getEntity(response).getOrganizationId()); } private static Mono getStackId(CloudFoundryClient cloudFoundryClient, String stack) { return requestStacks(cloudFoundryClient, stack) - .map(ResourceUtils::getId) - .single() - .onErrorResume(NoSuchElementException.class, t -> ExceptionUtils.illegalArgument("Stack %s does not exist", stack)); + .map(ResourceUtils::getId) + .single() + .onErrorResume( + NoSuchElementException.class, + t -> ExceptionUtils.illegalArgument("Stack %s does not exist", stack)); } - private static Mono getStackName(CloudFoundryClient cloudFoundryClient, String stackId) { + private static Mono getStackName( + CloudFoundryClient cloudFoundryClient, String stackId) { return requestStack(cloudFoundryClient, stackId) - .map(getStackResponse -> getStackResponse.getEntity().getName()); + .map(getStackResponse -> getStackResponse.getEntity().getName()); } - private static Mono getTaskId(CloudFoundryClient cloudFoundryClient, String applicationId, Integer sequenceId) { + private static Mono getTaskId( + CloudFoundryClient cloudFoundryClient, String applicationId, Integer sequenceId) { return listTasks(cloudFoundryClient, applicationId, sequenceId) - .single() - .map(Resource::getId) - .onErrorResume(NoSuchElementException.class, t -> ExceptionUtils.illegalArgument("Task with sequence id of %s does not exist", sequenceId)); + .single() + .map(Resource::getId) + .onErrorResume( + NoSuchElementException.class, + t -> + ExceptionUtils.illegalArgument( + "Task with sequence id of %s does not exist", sequenceId)); } - private static Mono getTcpRouteId(CloudFoundryClient cloudFoundryClient, String domainId, Integer port) { + private static Mono getTcpRouteId( + CloudFoundryClient cloudFoundryClient, String domainId, Integer port) { return requestRoutes(cloudFoundryClient, domainId, null, port, null) - .singleOrEmpty() - .map(ResourceUtils::getId); + .singleOrEmpty() + .map(ResourceUtils::getId); } private static String getUsername(DockerCredentials dockerCredentials) { - return Optional.ofNullable(dockerCredentials).map(DockerCredentials::getUsername).orElse(null); + return Optional.ofNullable(dockerCredentials) + .map(DockerCredentials::getUsername) + .orElse(null); } private static boolean isIdentical(String s, String t) { @@ -1221,9 +1849,10 @@ private static boolean isNotIn(AbstractApplicationResource resource, String expe return !expectedState.equals(ResourceUtils.getEntity(resource).getState()); } - private static boolean isRestartRequired(ScaleApplicationRequest request, AbstractApplicationResource applicationResource) { + private static boolean isRestartRequired( + ScaleApplicationRequest request, AbstractApplicationResource applicationResource) { return (request.getDiskLimit() != null || request.getMemoryLimit() != null) - && STARTED_STATE.equals(ResourceUtils.getEntity(applicationResource).getState()); + && STARTED_STATE.equals(ResourceUtils.getEntity(applicationResource).getState()); } private static Predicate isRunning() { @@ -1239,197 +1868,346 @@ private static Predicate isStagingComplete() { } private static boolean isTcpDomain(List availableDomains, String domainId) { - List tcpDomainIds = availableDomains.stream() - .filter(domain -> "tcp".equals(domain.getType())) - .map(DomainSummary::getId) - .collect(Collectors.toList()); + List tcpDomainIds = + availableDomains.stream() + .filter(domain -> "tcp".equals(domain.getType())) + .map(DomainSummary::getId) + .collect(Collectors.toList()); return tcpDomainIds.contains(domainId); } - private static Mono> listAvailableDomains(CloudFoundryClient cloudFoundryClient, String organizationId) { + private static Mono> listAvailableDomains( + CloudFoundryClient cloudFoundryClient, String organizationId) { return requestListPrivateDomains(cloudFoundryClient, organizationId) - .map(DefaultApplications::toDomain) - .mergeWith(requestListSharedDomains(cloudFoundryClient) - .map(DefaultApplications::toDomain)) - .collectList(); + .map(DefaultApplications::toDomain) + .mergeWith( + requestListSharedDomains(cloudFoundryClient) + .map(DefaultApplications::toDomain)) + .collectList(); } - private static Flux listTasks(CloudFoundryClient cloudFoundryClient, String applicationId, Integer sequenceId) { + private static Flux listTasks( + CloudFoundryClient cloudFoundryClient, String applicationId, Integer sequenceId) { return requestListTasks(cloudFoundryClient, applicationId, sequenceId) - .cast(org.cloudfoundry.client.v3.tasks.Task.class); + .cast(org.cloudfoundry.client.v3.tasks.Task.class); } - private static Mono prepareDomainsAndRoutes(CloudFoundryClient cloudFoundryClient, String applicationId, List availableDomains, ApplicationManifest manifest, - List existingRoutes, RandomWords randomWords, String spaceId) { + private static Mono prepareDomainsAndRoutes( + CloudFoundryClient cloudFoundryClient, + String applicationId, + List availableDomains, + ApplicationManifest manifest, + List existingRoutes, + RandomWords randomWords, + String spaceId) { if (Optional.ofNullable(manifest.getNoRoute()).orElse(false)) { return Flux.fromIterable(existingRoutes) - .map(ResourceUtils::getId) - .flatMap(routeId -> requestRemoveRouteFromApplication(cloudFoundryClient, applicationId, routeId)) - .then(); + .map(ResourceUtils::getId) + .flatMap( + routeId -> + requestRemoveRouteFromApplication( + cloudFoundryClient, applicationId, routeId)) + .then(); } if (manifest.getRoutes() == null) { if (manifest.getDomains() == null) { if (existingRoutes.isEmpty()) { - return associateDefaultDomain(cloudFoundryClient, applicationId, availableDomains, manifest, randomWords, spaceId) - .then(); + return associateDefaultDomain( + cloudFoundryClient, + applicationId, + availableDomains, + manifest, + randomWords, + spaceId) + .then(); } return Mono.empty(); // A route already exists for the application, do nothing } return Flux.fromIterable(manifest.getDomains()) - .flatMap(domain -> getPushRouteIdFromDomain(cloudFoundryClient, availableDomains, getDomainId(availableDomains, domain), manifest, randomWords, spaceId) - .flatMap(routeId -> requestAssociateRoute(cloudFoundryClient, applicationId, routeId))) - .then(); + .flatMap( + domain -> + getPushRouteIdFromDomain( + cloudFoundryClient, + availableDomains, + getDomainId(availableDomains, domain), + manifest, + randomWords, + spaceId) + .flatMap( + routeId -> + requestAssociateRoute( + cloudFoundryClient, + applicationId, + routeId))) + .then(); } - List existingRouteIds = existingRoutes.stream() - .map(ResourceUtils::getId) - .collect(Collectors.toList()); + List existingRouteIds = + existingRoutes.stream().map(ResourceUtils::getId).collect(Collectors.toList()); - return getPushRouteIdFromRoute(cloudFoundryClient, availableDomains, manifest, randomWords, spaceId) - .filter(routeId -> !existingRouteIds.contains(routeId)) - .flatMapSequential(routeId -> requestAssociateRoute(cloudFoundryClient, applicationId, routeId), 1) - .then(); + return getPushRouteIdFromRoute( + cloudFoundryClient, availableDomains, manifest, randomWords, spaceId) + .filter(routeId -> !existingRouteIds.contains(routeId)) + .flatMapSequential( + routeId -> + requestAssociateRoute(cloudFoundryClient, applicationId, routeId), + 1) + .then(); } - private static Flux pushApplication(CloudFoundryClient cloudFoundryClient, List availableDomains, ApplicationManifest manifest, RandomWords randomWords, - PushApplicationManifestRequest request, String spaceId) { + private static Flux pushApplication( + CloudFoundryClient cloudFoundryClient, + List availableDomains, + ApplicationManifest manifest, + RandomWords randomWords, + PushApplicationManifestRequest request, + String spaceId) { return getOptionalStackId(cloudFoundryClient, manifest.getStack()) - .flatMapMany(stackId -> getApplicationId(cloudFoundryClient, manifest, spaceId, stackId.orElse(null))) - .flatMap(applicationId -> Mono.zip( - Mono.just(applicationId), - getApplicationRoutes(cloudFoundryClient, applicationId), - ResourceMatchingUtils.getMatchedResources(cloudFoundryClient, manifest.getPath()) - )) - .flatMap(function((applicationId, existingRoutes, matchedResources) -> prepareDomainsAndRoutes(cloudFoundryClient, applicationId, availableDomains, manifest, existingRoutes, - randomWords, spaceId) - .thenReturn(Tuples.of(applicationId, matchedResources)))) - .flatMap(function((applicationId, matchedResources) -> Mono.when( - bindServices(cloudFoundryClient, applicationId, manifest, spaceId), - updateBuildpacks(cloudFoundryClient, applicationId, manifest), - uploadApplicationAndWait(cloudFoundryClient, applicationId, manifest.getPath(), matchedResources, request.getStagingTimeout()) - ) - .thenReturn(applicationId))) - .flatMap(applicationId -> stopAndStartApplication(cloudFoundryClient, applicationId, manifest.getName(), request)); - } - - private static Flux pushDocker(CloudFoundryClient cloudFoundryClient, List availableDomains, ApplicationManifest manifest, RandomWords randomWords, - PushApplicationManifestRequest request, String spaceId) { + .flatMapMany( + stackId -> + getApplicationId( + cloudFoundryClient, + manifest, + spaceId, + stackId.orElse(null))) + .flatMap( + applicationId -> + Mono.zip( + Mono.just(applicationId), + getApplicationRoutes(cloudFoundryClient, applicationId), + ResourceMatchingUtils.getMatchedResources( + cloudFoundryClient, manifest.getPath()))) + .flatMap( + function( + (applicationId, existingRoutes, matchedResources) -> + prepareDomainsAndRoutes( + cloudFoundryClient, + applicationId, + availableDomains, + manifest, + existingRoutes, + randomWords, + spaceId) + .thenReturn( + Tuples.of( + applicationId, matchedResources)))) + .flatMap( + function( + (applicationId, matchedResources) -> + Mono.when( + bindServices( + cloudFoundryClient, + applicationId, + manifest, + spaceId), + updateBuildpacks( + cloudFoundryClient, + applicationId, + manifest), + uploadApplicationAndWait( + cloudFoundryClient, + applicationId, + manifest.getPath(), + matchedResources, + request.getStagingTimeout())) + .thenReturn(applicationId))) + .flatMap( + applicationId -> + stopAndStartApplication( + cloudFoundryClient, + applicationId, + manifest.getName(), + request)); + } + + private static Flux pushDocker( + CloudFoundryClient cloudFoundryClient, + List availableDomains, + ApplicationManifest manifest, + RandomWords randomWords, + PushApplicationManifestRequest request, + String spaceId) { return getOptionalStackId(cloudFoundryClient, manifest.getStack()) - .flatMapMany(stackId -> getApplicationId(cloudFoundryClient, manifest, spaceId, stackId.orElse(null))) - .flatMap(applicationId -> Mono.zip( - Mono.just(applicationId), - getApplicationRoutes(cloudFoundryClient, applicationId) - )) - .flatMap(function((applicationId, existingRoutes) -> prepareDomainsAndRoutes(cloudFoundryClient, applicationId, availableDomains, manifest, existingRoutes, randomWords, spaceId) - .thenReturn(applicationId))) - .delayUntil(applicationId -> bindServices(cloudFoundryClient, applicationId, manifest, spaceId)) - .flatMap(applicationId -> stopAndStartApplication(cloudFoundryClient, applicationId, manifest.getName(), request)); - } - - private static Map removeFromEnvironment(Map environment, String variableName) { + .flatMapMany( + stackId -> + getApplicationId( + cloudFoundryClient, + manifest, + spaceId, + stackId.orElse(null))) + .flatMap( + applicationId -> + Mono.zip( + Mono.just(applicationId), + getApplicationRoutes(cloudFoundryClient, applicationId))) + .flatMap( + function( + (applicationId, existingRoutes) -> + prepareDomainsAndRoutes( + cloudFoundryClient, + applicationId, + availableDomains, + manifest, + existingRoutes, + randomWords, + spaceId) + .thenReturn(applicationId))) + .delayUntil( + applicationId -> + bindServices(cloudFoundryClient, applicationId, manifest, spaceId)) + .flatMap( + applicationId -> + stopAndStartApplication( + cloudFoundryClient, + applicationId, + manifest.getName(), + request)); + } + + private static Map removeFromEnvironment( + Map environment, String variableName) { Map modified = new HashMap<>(environment); modified.remove(variableName); return modified; } - private static Mono removeServiceBindings(CloudFoundryClient cloudFoundryClient, String applicationId) { + private static Mono removeServiceBindings( + CloudFoundryClient cloudFoundryClient, String applicationId) { return requestListServiceBindings(cloudFoundryClient, applicationId) - .map(ResourceUtils::getId) - .flatMap(serviceBindingId -> requestRemoveServiceBinding(cloudFoundryClient, applicationId, serviceBindingId)) - .then(); - } - - private static Mono requestApplicationEnvironment(CloudFoundryClient cloudFoundryClient, String applicationId) { - return cloudFoundryClient.applicationsV2() - .environment(ApplicationEnvironmentRequest.builder() - .applicationId(applicationId) - .build()); - } - - private static Mono requestApplicationInstances(CloudFoundryClient cloudFoundryClient, String applicationId) { - return cloudFoundryClient.applicationsV2() - .instances(ApplicationInstancesRequest.builder() - .applicationId(applicationId) - .build()); - } - - private static Flux requestApplicationRoutes(CloudFoundryClient cloudFoundryClient, String applicationId) { - return PaginationUtils - .requestClientV2Resources(page -> cloudFoundryClient.applicationsV2() - .listRoutes(ListApplicationRoutesRequest.builder() - .applicationId(applicationId) - .page(page) - .build())); - } - - private static Mono requestApplicationStatistics(CloudFoundryClient cloudFoundryClient, String applicationId) { - return cloudFoundryClient.applicationsV2() - .statistics(ApplicationStatisticsRequest.builder() - .applicationId(applicationId) - .build()); - } - - private static Mono requestApplicationSummary(CloudFoundryClient cloudFoundryClient, String applicationId) { - return cloudFoundryClient.applicationsV2() - .summary(SummaryApplicationRequest.builder() - .applicationId(applicationId) - .build()); - } - - private static Flux requestApplications(CloudFoundryClient cloudFoundryClient, String application, String spaceId) { - return PaginationUtils - .requestClientV2Resources(page -> cloudFoundryClient.spaces() - .listApplications(ListSpaceApplicationsRequest.builder() - .name(application) - .spaceId(spaceId) - .page(page) - .build())) - .cast(AbstractApplicationResource.class); - } - - private static Flux requestApplicationsV3(CloudFoundryClient cloudFoundryClient, String application, String spaceId) { - return PaginationUtils - .requestClientV3Resources(page -> cloudFoundryClient.applicationsV3() - .list(ListApplicationsRequest.builder() - .name(application) - .spaceId(spaceId) - .page(page) - .build())); - } - - private static Mono requestAssociateRoute(CloudFoundryClient cloudFoundryClient, String applicationId, String routeId) { - return cloudFoundryClient.applicationsV2() - .associateRoute(AssociateApplicationRouteRequest.builder() - .applicationId(applicationId) - .routeId(routeId) - .build()); - } - - private static Mono requestCopyBits(CloudFoundryClient cloudFoundryClient, String sourceApplicationId, String targetApplicationId) { - return cloudFoundryClient.applicationsV2() - .copy(CopyApplicationRequest.builder() - .applicationId(targetApplicationId) - .sourceApplicationId(sourceApplicationId) - .build()); - } - - private static Mono requestCreateApplication(CloudFoundryClient cloudFoundryClient, ApplicationManifest manifest, String spaceId, String stackId) { - CreateApplicationRequest.Builder builder = CreateApplicationRequest.builder() - .command(manifest.getCommand()) - .diskQuota(manifest.getDisk()) - .environmentJsons(manifest.getEnvironmentVariables()) - .healthCheckHttpEndpoint(manifest.getHealthCheckHttpEndpoint()) - .healthCheckTimeout(manifest.getTimeout()) - .healthCheckType(Optional.ofNullable(manifest.getHealthCheckType()).map(ApplicationHealthCheck::getValue).orElse(null)) - .instances(manifest.getInstances()) - .memory(manifest.getMemory()) - .name(manifest.getName()) - .spaceId(spaceId) - .stackId(stackId); + .map(ResourceUtils::getId) + .flatMap( + serviceBindingId -> + requestRemoveServiceBinding( + cloudFoundryClient, applicationId, serviceBindingId)) + .then(); + } + + private static Mono requestApplicationEnvironment( + CloudFoundryClient cloudFoundryClient, String applicationId) { + return cloudFoundryClient + .applicationsV2() + .environment( + ApplicationEnvironmentRequest.builder() + .applicationId(applicationId) + .build()); + } + + private static Mono requestApplicationInstances( + CloudFoundryClient cloudFoundryClient, String applicationId) { + return cloudFoundryClient + .applicationsV2() + .instances( + ApplicationInstancesRequest.builder().applicationId(applicationId).build()); + } + + private static Flux requestApplicationRoutes( + CloudFoundryClient cloudFoundryClient, String applicationId) { + return PaginationUtils.requestClientV2Resources( + page -> + cloudFoundryClient + .applicationsV2() + .listRoutes( + ListApplicationRoutesRequest.builder() + .applicationId(applicationId) + .page(page) + .build())); + } + + private static Mono requestApplicationStatistics( + CloudFoundryClient cloudFoundryClient, String applicationId) { + return cloudFoundryClient + .applicationsV2() + .statistics( + ApplicationStatisticsRequest.builder() + .applicationId(applicationId) + .build()); + } + + private static Mono requestApplicationSummary( + CloudFoundryClient cloudFoundryClient, String applicationId) { + return cloudFoundryClient + .applicationsV2() + .summary(SummaryApplicationRequest.builder().applicationId(applicationId).build()); + } + + private static Flux requestApplications( + CloudFoundryClient cloudFoundryClient, String application, String spaceId) { + return PaginationUtils.requestClientV2Resources( + page -> + cloudFoundryClient + .spaces() + .listApplications( + ListSpaceApplicationsRequest.builder() + .name(application) + .spaceId(spaceId) + .page(page) + .build())) + .cast(AbstractApplicationResource.class); + } + + private static Flux requestApplicationsV3( + CloudFoundryClient cloudFoundryClient, String application, String spaceId) { + return PaginationUtils.requestClientV3Resources( + page -> + cloudFoundryClient + .applicationsV3() + .list( + ListApplicationsRequest.builder() + .name(application) + .spaceId(spaceId) + .page(page) + .build())); + } + + private static Mono requestAssociateRoute( + CloudFoundryClient cloudFoundryClient, String applicationId, String routeId) { + return cloudFoundryClient + .applicationsV2() + .associateRoute( + AssociateApplicationRouteRequest.builder() + .applicationId(applicationId) + .routeId(routeId) + .build()); + } + + private static Mono requestCopyBits( + CloudFoundryClient cloudFoundryClient, + String sourceApplicationId, + String targetApplicationId) { + return cloudFoundryClient + .applicationsV2() + .copy( + CopyApplicationRequest.builder() + .applicationId(targetApplicationId) + .sourceApplicationId(sourceApplicationId) + .build()); + } + + private static Mono requestCreateApplication( + CloudFoundryClient cloudFoundryClient, + ApplicationManifest manifest, + String spaceId, + String stackId) { + CreateApplicationRequest.Builder builder = + CreateApplicationRequest.builder() + .command(manifest.getCommand()) + .diskQuota(manifest.getDisk()) + .environmentJsons(manifest.getEnvironmentVariables()) + .healthCheckHttpEndpoint(manifest.getHealthCheckHttpEndpoint()) + .healthCheckTimeout(manifest.getTimeout()) + .healthCheckType( + Optional.ofNullable(manifest.getHealthCheckType()) + .map(ApplicationHealthCheck::getValue) + .orElse(null)) + .instances(manifest.getInstances()) + .memory(manifest.getMemory()) + .name(manifest.getName()) + .spaceId(spaceId) + .stackId(stackId); if (manifest.getBuildpacks() != null && manifest.getBuildpacks().size() == 1) { builder.buildpack(manifest.getBuildpacks().get(0)); @@ -1437,409 +2215,557 @@ private static Mono requestCreateApplication(CloudFou if (manifest.getDocker() != null) { Optional.ofNullable(manifest.getDocker().getImage()) - .ifPresent(image -> { - builder - .diego(true) - .dockerImage(image); - - String username = manifest.getDocker().getUsername(); - String password = manifest.getDocker().getPassword(); - builder - .dockerCredentials(DockerCredentials.builder() - .username(username) - .password(password) - .build()); - - }); + .ifPresent( + image -> { + builder.diego(true).dockerImage(image); + + String username = manifest.getDocker().getUsername(); + String password = manifest.getDocker().getPassword(); + builder.dockerCredentials( + DockerCredentials.builder() + .username(username) + .password(password) + .build()); + }); } - return cloudFoundryClient.applicationsV2() - .create(builder.build()); - } - - private static Mono requestCreateRoute(CloudFoundryClient cloudFoundryClient, String domainId, String host, String routePath, String spaceId) { - return cloudFoundryClient.routes() - .create(org.cloudfoundry.client.v2.routes.CreateRouteRequest.builder() - .domainId(domainId) - .host(host) - .path(routePath) - .spaceId(spaceId) - .build()); - } - - private static Mono requestCreateServiceBinding(CloudFoundryClient cloudFoundryClient, String applicationId, String serviceInstanceId) { - return cloudFoundryClient.serviceBindingsV2() - .create(CreateServiceBindingRequest.builder() - .applicationId(applicationId) - .serviceInstanceId(serviceInstanceId) - .build()); - } - - private static Mono requestCreateTask(CloudFoundryClient cloudFoundryClient, String applicationId, RunApplicationTaskRequest request) { - return cloudFoundryClient.tasks() - .create(CreateTaskRequest.builder() - .applicationId(applicationId) - .command(request.getCommand()) - .diskInMb(request.getDisk()) - .memoryInMb(request.getMemory()) - .name(request.getTaskName()) - .build()); - } - - private static Mono requestCreateTcpRoute(CloudFoundryClient cloudFoundryClient, String domainId, String spaceId) { - return cloudFoundryClient.routes() - .create(org.cloudfoundry.client.v2.routes.CreateRouteRequest.builder() - .domainId(domainId) - .generatePort(true) - .spaceId(spaceId) - .build()); - } - - private static Mono requestCreateTcpRoute(CloudFoundryClient cloudFoundryClient, String domainId, Integer port, String spaceId) { - return cloudFoundryClient.routes() - .create(org.cloudfoundry.client.v2.routes.CreateRouteRequest.builder() - .domainId(domainId) - .port(port) - .spaceId(spaceId) - .build()); - } - - private static Mono requestDeleteApplication(CloudFoundryClient cloudFoundryClient, String applicationId) { - return cloudFoundryClient.applicationsV2() - .delete(org.cloudfoundry.client.v2.applications.DeleteApplicationRequest.builder() - .applicationId(applicationId) - .build()); - } - - private static Mono requestDeleteRoute(CloudFoundryClient cloudFoundryClient, String routeId) { - return cloudFoundryClient.routes() - .delete(DeleteRouteRequest.builder() - .async(true) - .routeId(routeId) - .build()); - } - - private static Flux requestEvents(String applicationId, CloudFoundryClient cloudFoundryClient) { - return PaginationUtils - .requestClientV2Resources(page -> cloudFoundryClient.events() - .list(ListEventsRequest.builder() - .actee(applicationId) - .orderDirection(OrderDirection.DESCENDING) - .resultsPerPage(50) - .page(page) - .build())); - } - - private static Mono requestGetApplication(CloudFoundryClient cloudFoundryClient, String applicationId) { - return cloudFoundryClient.applicationsV2() - .get(org.cloudfoundry.client.v2.applications.GetApplicationRequest.builder() - .applicationId(applicationId) - .build()) - .cast(AbstractApplicationResource.class); - } - - private static Flux requestListDomains(CloudFoundryClient cloudFoundryClient, String organizationId) { - return PaginationUtils - .requestClientV3Resources(page -> cloudFoundryClient.domainsV3() - .list(ListDomainsRequest.builder() - .page(page) - .build())); - } - - private static Flux requestListPrivateDomains(CloudFoundryClient cloudFoundryClient, String organizationId) { - return PaginationUtils - .requestClientV2Resources(page -> cloudFoundryClient.organizations() - .listPrivateDomains(ListOrganizationPrivateDomainsRequest.builder() - .organizationId(organizationId) - .page(page) - .build())); - } - - private static Flux requestListServiceBindings(CloudFoundryClient cloudFoundryClient, String applicationId) { - return PaginationUtils - .requestClientV2Resources(page -> cloudFoundryClient.applicationsV2() - .listServiceBindings(ListApplicationServiceBindingsRequest.builder() - .applicationId(applicationId) - .page(page) - .build())); - } - - private static Flux requestListServiceInstances(CloudFoundryClient cloudFoundryClient, String serviceInstanceName, String spaceId) { - return PaginationUtils - .requestClientV2Resources(page -> cloudFoundryClient.spaces() - .listServiceInstances(ListSpaceServiceInstancesRequest.builder() - .page(page) - .returnUserProvidedServiceInstances(true) - .name(serviceInstanceName) - .spaceId(spaceId) - .build())); - } - - private static Flux requestListSharedDomains(CloudFoundryClient cloudFoundryClient) { - return PaginationUtils - .requestClientV2Resources(page -> cloudFoundryClient.sharedDomains() - .list(ListSharedDomainsRequest.builder() - .page(page) - .build())); - } - - private static Flux requestListTasks(CloudFoundryClient cloudFoundryClient, String applicationId) { - return PaginationUtils - .requestClientV3Resources(page -> cloudFoundryClient.applicationsV3() - .listTasks(org.cloudfoundry.client.v3.applications.ListApplicationTasksRequest.builder() - .applicationId(applicationId) - .page(page) - .build())); - } - - private static Flux requestListTasks(CloudFoundryClient cloudFoundryClient, String applicationId, Integer sequenceId) { - return PaginationUtils - .requestClientV3Resources(page -> cloudFoundryClient.applicationsV3() - .listTasks(org.cloudfoundry.client.v3.applications.ListApplicationTasksRequest.builder() - .applicationId(applicationId) - .page(page) - .sequenceId(sequenceId.toString()) - .build())); - } - - private static Flux requestLogsRecent(Mono dopplerClient, String applicationId) { - return dopplerClient - .flatMapMany(client -> client - .recentLogs(RecentLogsRequest.builder() - .applicationId(applicationId) - .build())); - } - - private static Flux requestLogsStream(Mono dopplerClient, String applicationId) { - return dopplerClient - .flatMapMany(client -> client - .stream(StreamRequest.builder() - .applicationId(applicationId) - .build())); - } - - private static Flux requestOrganizationSpacesByName(CloudFoundryClient cloudFoundryClient, String organizationId, String space) { - return PaginationUtils - .requestClientV2Resources(page -> cloudFoundryClient.organizations() - .listSpaces(ListOrganizationSpacesRequest.builder() - .name(space) - .organizationId(organizationId) - .page(page) - .build())); - } - - private static Flux requestOrganizations(CloudFoundryClient cloudFoundryClient, String organization) { - return PaginationUtils - .requestClientV2Resources(page -> cloudFoundryClient.organizations() - .list(ListOrganizationsRequest.builder() - .name(organization) - .page(page) - .build())); - } - - private static Mono requestRemoveRouteFromApplication(CloudFoundryClient cloudFoundryClient, String applicationId, String routeId) { - return cloudFoundryClient.applicationsV2() - .removeRoute(RemoveApplicationRouteRequest.builder() - .applicationId(applicationId) - .routeId(routeId) - .build()); - } - - private static Mono requestRemoveServiceBinding(CloudFoundryClient cloudFoundryClient, String applicationId, String serviceBindingId) { - return cloudFoundryClient.applicationsV2() - .removeServiceBinding(RemoveApplicationServiceBindingRequest.builder() - .applicationId(applicationId) - .serviceBindingId(serviceBindingId) - .build()); - } - - private static Mono requestRestageApplication(CloudFoundryClient cloudFoundryClient, String applicationId) { - return cloudFoundryClient.applicationsV2() - .restage(org.cloudfoundry.client.v2.applications.RestageApplicationRequest.builder() - .applicationId(applicationId) - .build()); - } - - private static Flux requestRoutes(CloudFoundryClient cloudFoundryClient, String domainId, String host, Integer port, String routePath) { - ListRoutesRequest.Builder requestBuilder = ListRoutesRequest.builder() - .domainId(domainId); - Optional.ofNullable(host).ifPresent(requestBuilder::host); - Optional.ofNullable(routePath).ifPresent(requestBuilder::path); - Optional.ofNullable(port).ifPresent(requestBuilder::port); + return cloudFoundryClient.applicationsV2().create(builder.build()); + } + + private static Mono requestCreateRoute( + CloudFoundryClient cloudFoundryClient, + String domainId, + String host, + String routePath, + String spaceId) { + return cloudFoundryClient + .routes() + .create( + org.cloudfoundry.client.v2.routes.CreateRouteRequest.builder() + .domainId(domainId) + .host(host) + .path(routePath) + .spaceId(spaceId) + .build()); + } - return PaginationUtils - .requestClientV2Resources(page -> cloudFoundryClient.routes() - .list(requestBuilder - .page(page) - .build())); - } - - private static Flux requestSharedDomains(CloudFoundryClient cloudFoundryClient) { - return PaginationUtils - .requestClientV2Resources(page -> cloudFoundryClient.sharedDomains() - .list(ListSharedDomainsRequest.builder() - .page(page) - .build())); - } - - private static Mono requestSpace(CloudFoundryClient cloudFoundryClient, String spaceId) { - return cloudFoundryClient.spaces() - .get(GetSpaceRequest.builder() - .spaceId(spaceId) - .build()); - } - - private static Mono requestSpaceSummary(CloudFoundryClient cloudFoundryClient, String spaceId) { - return cloudFoundryClient.spaces() - .getSummary(GetSpaceSummaryRequest.builder() - .spaceId(spaceId) - .build()); - } - - private static Mono requestStack(CloudFoundryClient cloudFoundryClient, String stackId) { - return cloudFoundryClient.stacks() - .get(GetStackRequest.builder() - .stackId(stackId) - .build()); - } - - private static Flux requestStacks(CloudFoundryClient cloudFoundryClient, String stack) { - return PaginationUtils - .requestClientV2Resources(page -> cloudFoundryClient.stacks() - .list(ListStacksRequest.builder() - .page(page) - .name(stack) - .build())); - } - - private static Mono requestTerminateApplicationInstance(CloudFoundryClient cloudFoundryClient, String applicationId, String instanceIndex) { - return cloudFoundryClient.applicationsV2() - .terminateInstance(TerminateApplicationInstanceRequest.builder() - .applicationId(applicationId) - .index(instanceIndex) - .build()); - } - - private static Mono requestTerminateTask(CloudFoundryClient cloudFoundryClient, String taskId) { - return cloudFoundryClient.tasks() - .cancel(CancelTaskRequest.builder() - .taskId(taskId) - .build()); - } - - private static Mono requestUpdateApplication(CloudFoundryClient cloudFoundryClient, String applicationId, Map environmentJsons, - ApplicationManifest manifest, String stackId) { - return requestUpdateApplication(cloudFoundryClient, applicationId, builder -> { - builder - .command(manifest.getCommand()) - .diskQuota(manifest.getDisk()) - .environmentJsons(environmentJsons) - .healthCheckHttpEndpoint(manifest.getHealthCheckHttpEndpoint()) - .healthCheckTimeout(manifest.getTimeout()) - .healthCheckType(Optional.ofNullable(manifest.getHealthCheckType()).map(ApplicationHealthCheck::getValue).orElse(null)) - .instances(manifest.getInstances()) - .memory(manifest.getMemory()) - .name(manifest.getName()) - .stackId(stackId); - - if (manifest.getBuildpacks() != null && manifest.getBuildpacks().size() == 1) { - builder.buildpack(manifest.getBuildpacks().get(0)); - } + private static Mono requestCreateServiceBinding( + CloudFoundryClient cloudFoundryClient, String applicationId, String serviceInstanceId) { + return cloudFoundryClient + .serviceBindingsV2() + .create( + CreateServiceBindingRequest.builder() + .applicationId(applicationId) + .serviceInstanceId(serviceInstanceId) + .build()); + } - if (manifest.getDocker() != null) { - Optional.ofNullable(manifest.getDocker().getImage()) - .ifPresent(image -> { - builder - .diego(true) - .dockerImage(image); - - String username = manifest.getDocker().getUsername(); - String password = manifest.getDocker().getPassword(); - builder - .dockerCredentials(DockerCredentials.builder() - .username(username) - .password(password) + private static Mono requestCreateTask( + CloudFoundryClient cloudFoundryClient, + String applicationId, + RunApplicationTaskRequest request) { + return cloudFoundryClient + .tasks() + .create( + CreateTaskRequest.builder() + .applicationId(applicationId) + .command(request.getCommand()) + .diskInMb(request.getDisk()) + .memoryInMb(request.getMemory()) + .name(request.getTaskName()) .build()); - }); - } + } - return builder; - }); + private static Mono requestCreateTcpRoute( + CloudFoundryClient cloudFoundryClient, String domainId, String spaceId) { + return cloudFoundryClient + .routes() + .create( + org.cloudfoundry.client.v2.routes.CreateRouteRequest.builder() + .domainId(domainId) + .generatePort(true) + .spaceId(spaceId) + .build()); } - private static Mono requestUpdateApplication(CloudFoundryClient cloudFoundryClient, String applicationId, UnaryOperator modifier) { - return cloudFoundryClient.applicationsV2() - .update(modifier.apply(UpdateApplicationRequest.builder() - .applicationId(applicationId)) - .build()) - .cast(AbstractApplicationResource.class); + private static Mono requestCreateTcpRoute( + CloudFoundryClient cloudFoundryClient, String domainId, Integer port, String spaceId) { + return cloudFoundryClient + .routes() + .create( + org.cloudfoundry.client.v2.routes.CreateRouteRequest.builder() + .domainId(domainId) + .port(port) + .spaceId(spaceId) + .build()); } - private static Mono requestUpdateApplicationEnvironment(CloudFoundryClient cloudFoundryClient, String applicationId, Map environment) { - return requestUpdateApplication(cloudFoundryClient, applicationId, builder -> builder.environmentJsons(environment)); + private static Mono requestDeleteApplication( + CloudFoundryClient cloudFoundryClient, String applicationId) { + return cloudFoundryClient + .applicationsV2() + .delete( + org.cloudfoundry.client.v2.applications.DeleteApplicationRequest.builder() + .applicationId(applicationId) + .build()); } - private static Mono requestUpdateApplicationHealthCheckType(CloudFoundryClient cloudFoundryClient, String applicationId, ApplicationHealthCheck type) { - return requestUpdateApplication(cloudFoundryClient, applicationId, builder -> builder.healthCheckType(type.getValue())); + private static Mono requestDeleteRoute( + CloudFoundryClient cloudFoundryClient, String routeId) { + return cloudFoundryClient + .routes() + .delete(DeleteRouteRequest.builder().async(true).routeId(routeId).build()); + } + + private static Flux requestEvents( + String applicationId, CloudFoundryClient cloudFoundryClient) { + return PaginationUtils.requestClientV2Resources( + page -> + cloudFoundryClient + .events() + .list( + ListEventsRequest.builder() + .actee(applicationId) + .orderDirection(OrderDirection.DESCENDING) + .resultsPerPage(50) + .page(page) + .build())); + } + + private static Mono requestGetApplication( + CloudFoundryClient cloudFoundryClient, String applicationId) { + return cloudFoundryClient + .applicationsV2() + .get( + org.cloudfoundry.client.v2.applications.GetApplicationRequest.builder() + .applicationId(applicationId) + .build()) + .cast(AbstractApplicationResource.class); + } + + private static Flux requestListDomains( + CloudFoundryClient cloudFoundryClient, String organizationId) { + return PaginationUtils.requestClientV3Resources( + page -> + cloudFoundryClient + .domainsV3() + .list(ListDomainsRequest.builder().page(page).build())); + } + + private static Flux requestListPrivateDomains( + CloudFoundryClient cloudFoundryClient, String organizationId) { + return PaginationUtils.requestClientV2Resources( + page -> + cloudFoundryClient + .organizations() + .listPrivateDomains( + ListOrganizationPrivateDomainsRequest.builder() + .organizationId(organizationId) + .page(page) + .build())); + } + + private static Flux requestListServiceBindings( + CloudFoundryClient cloudFoundryClient, String applicationId) { + return PaginationUtils.requestClientV2Resources( + page -> + cloudFoundryClient + .applicationsV2() + .listServiceBindings( + ListApplicationServiceBindingsRequest.builder() + .applicationId(applicationId) + .page(page) + .build())); + } + + private static Flux requestListServiceInstances( + CloudFoundryClient cloudFoundryClient, String serviceInstanceName, String spaceId) { + return PaginationUtils.requestClientV2Resources( + page -> + cloudFoundryClient + .spaces() + .listServiceInstances( + ListSpaceServiceInstancesRequest.builder() + .page(page) + .returnUserProvidedServiceInstances(true) + .name(serviceInstanceName) + .spaceId(spaceId) + .build())); + } + + private static Flux requestListSharedDomains( + CloudFoundryClient cloudFoundryClient) { + return PaginationUtils.requestClientV2Resources( + page -> + cloudFoundryClient + .sharedDomains() + .list(ListSharedDomainsRequest.builder().page(page).build())); + } + + private static Flux requestListTasks( + CloudFoundryClient cloudFoundryClient, String applicationId) { + return PaginationUtils.requestClientV3Resources( + page -> + cloudFoundryClient + .applicationsV3() + .listTasks( + org.cloudfoundry.client.v3.applications + .ListApplicationTasksRequest.builder() + .applicationId(applicationId) + .page(page) + .build())); + } + + private static Flux requestListTasks( + CloudFoundryClient cloudFoundryClient, String applicationId, Integer sequenceId) { + return PaginationUtils.requestClientV3Resources( + page -> + cloudFoundryClient + .applicationsV3() + .listTasks( + org.cloudfoundry.client.v3.applications + .ListApplicationTasksRequest.builder() + .applicationId(applicationId) + .page(page) + .sequenceId(sequenceId.toString()) + .build())); + } + + private static Flux requestLogsRecent( + Mono dopplerClient, String applicationId) { + return dopplerClient.flatMapMany( + client -> + client.recentLogs( + RecentLogsRequest.builder().applicationId(applicationId).build())); + } + + private static Flux requestLogsStream( + Mono dopplerClient, String applicationId) { + return dopplerClient.flatMapMany( + client -> + client.stream( + StreamRequest.builder().applicationId(applicationId).build())); + } + + private static Flux requestOrganizationSpacesByName( + CloudFoundryClient cloudFoundryClient, String organizationId, String space) { + return PaginationUtils.requestClientV2Resources( + page -> + cloudFoundryClient + .organizations() + .listSpaces( + ListOrganizationSpacesRequest.builder() + .name(space) + .organizationId(organizationId) + .page(page) + .build())); + } + + private static Flux requestOrganizations( + CloudFoundryClient cloudFoundryClient, String organization) { + return PaginationUtils.requestClientV2Resources( + page -> + cloudFoundryClient + .organizations() + .list( + ListOrganizationsRequest.builder() + .name(organization) + .page(page) + .build())); + } + + private static Mono requestRemoveRouteFromApplication( + CloudFoundryClient cloudFoundryClient, String applicationId, String routeId) { + return cloudFoundryClient + .applicationsV2() + .removeRoute( + RemoveApplicationRouteRequest.builder() + .applicationId(applicationId) + .routeId(routeId) + .build()); } - private static Mono requestUpdateApplicationName(CloudFoundryClient cloudFoundryClient, String applicationId, String name) { - return requestUpdateApplication(cloudFoundryClient, applicationId, builder -> builder.name(name)); + private static Mono requestRemoveServiceBinding( + CloudFoundryClient cloudFoundryClient, String applicationId, String serviceBindingId) { + return cloudFoundryClient + .applicationsV2() + .removeServiceBinding( + RemoveApplicationServiceBindingRequest.builder() + .applicationId(applicationId) + .serviceBindingId(serviceBindingId) + .build()); } - private static Mono requestUpdateApplicationScale(CloudFoundryClient cloudFoundryClient, String applicationId, Integer disk, Integer instances, Integer memory) { - return requestUpdateApplication(cloudFoundryClient, applicationId, builder -> builder.diskQuota(disk).instances(instances).memory(memory)); + private static Mono requestRestageApplication( + CloudFoundryClient cloudFoundryClient, String applicationId) { + return cloudFoundryClient + .applicationsV2() + .restage( + org.cloudfoundry.client.v2.applications.RestageApplicationRequest.builder() + .applicationId(applicationId) + .build()); } - private static Mono requestUpdateApplicationSsh(CloudFoundryClient cloudFoundryClient, String applicationId, Boolean enabled) { - return requestUpdateApplication(cloudFoundryClient, applicationId, builder -> builder.enableSsh(enabled)); + private static Flux requestRoutes( + CloudFoundryClient cloudFoundryClient, + String domainId, + String host, + Integer port, + String routePath) { + ListRoutesRequest.Builder requestBuilder = ListRoutesRequest.builder().domainId(domainId); + Optional.ofNullable(host).ifPresent(requestBuilder::host); + Optional.ofNullable(routePath).ifPresent(requestBuilder::path); + Optional.ofNullable(port).ifPresent(requestBuilder::port); + + return PaginationUtils.requestClientV2Resources( + page -> cloudFoundryClient.routes().list(requestBuilder.page(page).build())); } - private static Mono requestUpdateApplicationState(CloudFoundryClient cloudFoundryClient, String applicationId, String state) { - return requestUpdateApplication(cloudFoundryClient, applicationId, builder -> builder.state(state)); + private static Flux requestSharedDomains( + CloudFoundryClient cloudFoundryClient) { + return PaginationUtils.requestClientV2Resources( + page -> + cloudFoundryClient + .sharedDomains() + .list(ListSharedDomainsRequest.builder().page(page).build())); } - private static Mono requestUploadApplication(CloudFoundryClient cloudFoundryClient, String applicationId, Path application, - List matchedResources) { - UploadApplicationRequest request = matchedResources.stream() - .reduce(UploadApplicationRequest.builder() - .application(application) - .applicationId(applicationId) - .async(true), - (builder, artifactMetadata) -> builder.resource(org.cloudfoundry.client.v2.applications.Resource.builder() - .hash(artifactMetadata.getHash()) - .mode(artifactMetadata.getPermissions()) - .path(artifactMetadata.getPath()) - .size(artifactMetadata.getSize()) - .build()), - (a, b) -> a) - .build(); + private static Mono requestSpace( + CloudFoundryClient cloudFoundryClient, String spaceId) { + return cloudFoundryClient.spaces().get(GetSpaceRequest.builder().spaceId(spaceId).build()); + } - return cloudFoundryClient.applicationsV2() - .upload(request); + private static Mono requestSpaceSummary( + CloudFoundryClient cloudFoundryClient, String spaceId) { + return cloudFoundryClient + .spaces() + .getSummary(GetSpaceSummaryRequest.builder().spaceId(spaceId).build()); } - private static Mono requestUploadPackage(CloudFoundryClient cloudFoundryClient, String packageId, Path bits, List matchedResources) { - return cloudFoundryClient.packages().upload(UploadPackageRequest.builder() - .packageId(packageId) - .bits(bits) - .resources(matchedResources) - .build()) - .then(); + private static Mono requestStack( + CloudFoundryClient cloudFoundryClient, String stackId) { + return cloudFoundryClient.stacks().get(GetStackRequest.builder().stackId(stackId).build()); } - private static Mono restageApplication(CloudFoundryClient cloudFoundryClient, String application, String applicationId, Duration stagingTimeout, Duration startupTimeout) { - return requestRestageApplication(cloudFoundryClient, applicationId) - .flatMap(response -> waitForStaging(cloudFoundryClient, application, applicationId, stagingTimeout)) - .then(waitForRunning(cloudFoundryClient, application, applicationId, startupTimeout)); + private static Flux requestStacks( + CloudFoundryClient cloudFoundryClient, String stack) { + return PaginationUtils.requestClientV2Resources( + page -> + cloudFoundryClient + .stacks() + .list(ListStacksRequest.builder().page(page).name(stack).build())); } - private static Mono restartApplication(CloudFoundryClient cloudFoundryClient, String application, String applicationId, Duration stagingTimeout, Duration startupTimeout) { + private static Mono requestTerminateApplicationInstance( + CloudFoundryClient cloudFoundryClient, String applicationId, String instanceIndex) { + return cloudFoundryClient + .applicationsV2() + .terminateInstance( + TerminateApplicationInstanceRequest.builder() + .applicationId(applicationId) + .index(instanceIndex) + .build()); + } + + private static Mono requestTerminateTask( + CloudFoundryClient cloudFoundryClient, String taskId) { + return cloudFoundryClient + .tasks() + .cancel(CancelTaskRequest.builder().taskId(taskId).build()); + } + + private static Mono requestUpdateApplication( + CloudFoundryClient cloudFoundryClient, + String applicationId, + Map environmentJsons, + ApplicationManifest manifest, + String stackId) { + return requestUpdateApplication( + cloudFoundryClient, + applicationId, + builder -> { + builder.command(manifest.getCommand()) + .diskQuota(manifest.getDisk()) + .environmentJsons(environmentJsons) + .healthCheckHttpEndpoint(manifest.getHealthCheckHttpEndpoint()) + .healthCheckTimeout(manifest.getTimeout()) + .healthCheckType( + Optional.ofNullable(manifest.getHealthCheckType()) + .map(ApplicationHealthCheck::getValue) + .orElse(null)) + .instances(manifest.getInstances()) + .memory(manifest.getMemory()) + .name(manifest.getName()) + .stackId(stackId); + + if (manifest.getBuildpacks() != null && manifest.getBuildpacks().size() == 1) { + builder.buildpack(manifest.getBuildpacks().get(0)); + } + + if (manifest.getDocker() != null) { + Optional.ofNullable(manifest.getDocker().getImage()) + .ifPresent( + image -> { + builder.diego(true).dockerImage(image); + + String username = manifest.getDocker().getUsername(); + String password = manifest.getDocker().getPassword(); + builder.dockerCredentials( + DockerCredentials.builder() + .username(username) + .password(password) + .build()); + }); + } + + return builder; + }); + } + + private static Mono requestUpdateApplication( + CloudFoundryClient cloudFoundryClient, + String applicationId, + UnaryOperator modifier) { + return cloudFoundryClient + .applicationsV2() + .update( + modifier.apply( + UpdateApplicationRequest.builder() + .applicationId(applicationId)) + .build()) + .cast(AbstractApplicationResource.class); + } + + private static Mono requestUpdateApplicationEnvironment( + CloudFoundryClient cloudFoundryClient, + String applicationId, + Map environment) { + return requestUpdateApplication( + cloudFoundryClient, + applicationId, + builder -> builder.environmentJsons(environment)); + } + + private static Mono requestUpdateApplicationHealthCheckType( + CloudFoundryClient cloudFoundryClient, + String applicationId, + ApplicationHealthCheck type) { + return requestUpdateApplication( + cloudFoundryClient, + applicationId, + builder -> builder.healthCheckType(type.getValue())); + } + + private static Mono requestUpdateApplicationName( + CloudFoundryClient cloudFoundryClient, String applicationId, String name) { + return requestUpdateApplication( + cloudFoundryClient, applicationId, builder -> builder.name(name)); + } + + private static Mono requestUpdateApplicationScale( + CloudFoundryClient cloudFoundryClient, + String applicationId, + Integer disk, + Integer instances, + Integer memory) { + return requestUpdateApplication( + cloudFoundryClient, + applicationId, + builder -> builder.diskQuota(disk).instances(instances).memory(memory)); + } + + private static Mono requestUpdateApplicationSsh( + CloudFoundryClient cloudFoundryClient, String applicationId, Boolean enabled) { + return requestUpdateApplication( + cloudFoundryClient, applicationId, builder -> builder.enableSsh(enabled)); + } + + private static Mono requestUpdateApplicationState( + CloudFoundryClient cloudFoundryClient, String applicationId, String state) { + return requestUpdateApplication( + cloudFoundryClient, applicationId, builder -> builder.state(state)); + } + + private static Mono requestUploadApplication( + CloudFoundryClient cloudFoundryClient, + String applicationId, + Path application, + List matchedResources) { + UploadApplicationRequest request = + matchedResources.stream() + .reduce( + UploadApplicationRequest.builder() + .application(application) + .applicationId(applicationId) + .async(true), + (builder, artifactMetadata) -> + builder.resource( + org.cloudfoundry.client.v2.applications.Resource + .builder() + .hash(artifactMetadata.getHash()) + .mode(artifactMetadata.getPermissions()) + .path(artifactMetadata.getPath()) + .size(artifactMetadata.getSize()) + .build()), + (a, b) -> a) + .build(); + + return cloudFoundryClient.applicationsV2().upload(request); + } + + private static Mono requestUploadPackage( + CloudFoundryClient cloudFoundryClient, + String packageId, + Path bits, + List matchedResources) { + return cloudFoundryClient + .packages() + .upload( + UploadPackageRequest.builder() + .packageId(packageId) + .bits(bits) + .resources(matchedResources) + .build()) + .then(); + } + + private static Mono restageApplication( + CloudFoundryClient cloudFoundryClient, + String application, + String applicationId, + Duration stagingTimeout, + Duration startupTimeout) { + return requestRestageApplication(cloudFoundryClient, applicationId) + .flatMap( + response -> + waitForStaging( + cloudFoundryClient, + application, + applicationId, + stagingTimeout)) + .then( + waitForRunning( + cloudFoundryClient, application, applicationId, startupTimeout)); + } + + private static Mono restartApplication( + CloudFoundryClient cloudFoundryClient, + String application, + String applicationId, + Duration stagingTimeout, + Duration startupTimeout) { return stopApplication(cloudFoundryClient, applicationId) - .then(startApplicationAndWait(cloudFoundryClient, application, applicationId, stagingTimeout, startupTimeout)); + .then( + startApplicationAndWait( + cloudFoundryClient, + application, + applicationId, + stagingTimeout, + startupTimeout)); } - private static boolean shouldStartApplication(PushApplicationManifestRequest request, AbstractApplicationResource resource) { + private static boolean shouldStartApplication( + PushApplicationManifestRequest request, AbstractApplicationResource resource) { return shouldStartApplication(request) && getInstances(resource) > 0; } @@ -1851,105 +2777,140 @@ private static Predicate sshEnabled(Boolean enabled return resource -> enabled.equals(ResourceUtils.getEntity(resource).getEnableSsh()); } - private static Mono startApplicationAndWait(CloudFoundryClient cloudFoundryClient, String application, String applicationId, Duration stagingTimeout, Duration startupTimeout) { + private static Mono startApplicationAndWait( + CloudFoundryClient cloudFoundryClient, + String application, + String applicationId, + Duration stagingTimeout, + Duration startupTimeout) { return requestUpdateApplicationState(cloudFoundryClient, applicationId, STARTED_STATE) - .flatMap(response -> waitForStaging(cloudFoundryClient, application, applicationId, stagingTimeout)) - .then(waitForRunning(cloudFoundryClient, application, applicationId, startupTimeout)); - } - - private static Mono stopAndStartApplication(CloudFoundryClient cloudFoundryClient, String applicationId, String name, PushApplicationManifestRequest request) { + .flatMap( + response -> + waitForStaging( + cloudFoundryClient, + application, + applicationId, + stagingTimeout)) + .then( + waitForRunning( + cloudFoundryClient, application, applicationId, startupTimeout)); + } + + private static Mono stopAndStartApplication( + CloudFoundryClient cloudFoundryClient, + String applicationId, + String name, + PushApplicationManifestRequest request) { return stopApplication(cloudFoundryClient, applicationId) - .filter(resource -> shouldStartApplication(request, resource)) - .flatMap(resource -> startApplicationAndWait(cloudFoundryClient, name, applicationId, request.getStagingTimeout(), request.getStartupTimeout())); - } - - private static Mono stopApplication(CloudFoundryClient cloudFoundryClient, String applicationId) { + .filter(resource -> shouldStartApplication(request, resource)) + .flatMap( + resource -> + startApplicationAndWait( + cloudFoundryClient, + name, + applicationId, + request.getStagingTimeout(), + request.getStartupTimeout())); + } + + private static Mono stopApplication( + CloudFoundryClient cloudFoundryClient, String applicationId) { return requestUpdateApplicationState(cloudFoundryClient, applicationId, STOPPED_STATE); } - private static Mono stopApplicationIfNotStopped(CloudFoundryClient cloudFoundryClient, AbstractApplicationResource resource) { - return isNotIn(resource, STOPPED_STATE) ? stopApplication(cloudFoundryClient, ResourceUtils.getId(resource)) : Mono.just(resource); + private static Mono stopApplicationIfNotStopped( + CloudFoundryClient cloudFoundryClient, AbstractApplicationResource resource) { + return isNotIn(resource, STOPPED_STATE) + ? stopApplication(cloudFoundryClient, ResourceUtils.getId(resource)) + : Mono.just(resource); } - private static ApplicationDetail toApplicationDetail(List buildpacks, SummaryApplicationResponse summaryApplicationResponse, GetStackResponse getStackResponse, - List instanceDetails, List urls) { + private static ApplicationDetail toApplicationDetail( + List buildpacks, + SummaryApplicationResponse summaryApplicationResponse, + GetStackResponse getStackResponse, + List instanceDetails, + List urls) { if (buildpacks.size() == 0) { - buildpacks = Collections.singletonList(summaryApplicationResponse.getDetectedBuildpack()); + buildpacks = + Collections.singletonList(summaryApplicationResponse.getDetectedBuildpack()); } return ApplicationDetail.builder() - .buildpacks(buildpacks) - .diskQuota(summaryApplicationResponse.getDiskQuota()) - .id(summaryApplicationResponse.getId()) - .instanceDetails(instanceDetails) - .instances(summaryApplicationResponse.getInstances()) - .lastUploaded(toDate(summaryApplicationResponse.getPackageUpdatedAt())) - .memoryLimit(summaryApplicationResponse.getMemory()) - .name(summaryApplicationResponse.getName()) - .requestedState(summaryApplicationResponse.getState()) - .runningInstances(summaryApplicationResponse.getRunningInstances()) - .stack(getStackResponse.getEntity().getName()) - .urls(urls) - .build(); - } - - private static ApplicationEnvironments toApplicationEnvironments(ApplicationEnvironmentResponse response) { + .buildpacks(buildpacks) + .diskQuota(summaryApplicationResponse.getDiskQuota()) + .id(summaryApplicationResponse.getId()) + .instanceDetails(instanceDetails) + .instances(summaryApplicationResponse.getInstances()) + .lastUploaded(toDate(summaryApplicationResponse.getPackageUpdatedAt())) + .memoryLimit(summaryApplicationResponse.getMemory()) + .name(summaryApplicationResponse.getName()) + .requestedState(summaryApplicationResponse.getState()) + .runningInstances(summaryApplicationResponse.getRunningInstances()) + .stack(getStackResponse.getEntity().getName()) + .urls(urls) + .build(); + } + + private static ApplicationEnvironments toApplicationEnvironments( + ApplicationEnvironmentResponse response) { return ApplicationEnvironments.builder() - .running(response.getRunningEnvironmentJsons()) - .staging(response.getStagingEnvironmentJsons()) - .systemProvided(response.getSystemEnvironmentJsons()) - .userProvided(response.getEnvironmentJsons()) - .build(); - } - - private static Mono toApplicationManifest(List buildpacks, SummaryApplicationResponse response, String stackName) { - ApplicationManifest.Builder builder = ApplicationManifest.builder() - .command(response.getCommand()) - .disk(response.getDiskQuota()) - .environmentVariables(response.getEnvironmentJsons()) - .healthCheckHttpEndpoint(response.getHealthCheckHttpEndpoint()) - .healthCheckType(ApplicationHealthCheck.from(response.getHealthCheckType())) - .instances(response.getInstances()) - .memory(response.getMemory()) - .docker(toDocker(response)) - .name(response.getName()) - .stack(stackName) - .timeout(response.getHealthCheckTimeout()); + .running(response.getRunningEnvironmentJsons()) + .staging(response.getStagingEnvironmentJsons()) + .systemProvided(response.getSystemEnvironmentJsons()) + .userProvided(response.getEnvironmentJsons()) + .build(); + } + + private static Mono toApplicationManifest( + List buildpacks, SummaryApplicationResponse response, String stackName) { + ApplicationManifest.Builder builder = + ApplicationManifest.builder() + .command(response.getCommand()) + .disk(response.getDiskQuota()) + .environmentVariables(response.getEnvironmentJsons()) + .healthCheckHttpEndpoint(response.getHealthCheckHttpEndpoint()) + .healthCheckType(ApplicationHealthCheck.from(response.getHealthCheckType())) + .instances(response.getInstances()) + .memory(response.getMemory()) + .docker(toDocker(response)) + .name(response.getName()) + .stack(stackName) + .timeout(response.getHealthCheckTimeout()); if (buildpacks != null && !buildpacks.isEmpty()) { builder.buildpacks(buildpacks); } - for (org.cloudfoundry.client.v2.routes.Route route : Optional.ofNullable(response.getRoutes()).orElse(Collections.emptyList())) { - builder.route(Route.builder() - .route(toUrl(route)) - .build()); + for (org.cloudfoundry.client.v2.routes.Route route : + Optional.ofNullable(response.getRoutes()).orElse(Collections.emptyList())) { + builder.route(Route.builder().route(toUrl(route)).build()); } if (Optional.ofNullable(response.getRoutes()).orElse(Collections.emptyList()).isEmpty()) { builder.noRoute(true); } - for (ServiceInstance service : Optional.ofNullable(response.getServices()).orElse(Collections.emptyList())) { + for (ServiceInstance service : + Optional.ofNullable(response.getServices()).orElse(Collections.emptyList())) { Optional.ofNullable(service.getName()).ifPresent(builder::service); } - return Mono - .just(builder - .build()); + return Mono.just(builder.build()); } - private static ApplicationSummary toApplicationSummary(SpaceApplicationSummary spaceApplicationSummary) { + private static ApplicationSummary toApplicationSummary( + SpaceApplicationSummary spaceApplicationSummary) { return ApplicationSummary.builder() - .diskQuota(spaceApplicationSummary.getDiskQuota()) - .id(spaceApplicationSummary.getId()) - .instances(spaceApplicationSummary.getInstances()) - .memoryLimit(spaceApplicationSummary.getMemory()) - .name(spaceApplicationSummary.getName()) - .requestedState(spaceApplicationSummary.getState()) - .runningInstances(spaceApplicationSummary.getRunningInstances()) - .urls(spaceApplicationSummary.getUrls()) - .build(); + .diskQuota(spaceApplicationSummary.getDiskQuota()) + .id(spaceApplicationSummary.getId()) + .instances(spaceApplicationSummary.getInstances()) + .memoryLimit(spaceApplicationSummary.getMemory()) + .name(spaceApplicationSummary.getName()) + .requestedState(spaceApplicationSummary.getState()) + .runningInstances(spaceApplicationSummary.getRunningInstances()) + .urls(spaceApplicationSummary.getUrls()) + .build(); } private static Date toDate(String date) { @@ -1965,29 +2926,29 @@ private static Docker toDocker(SummaryApplicationResponse response) { return null; } return Docker.builder() - .image(response.getDockerImage()) - .username(getUsername(response.getDockerCredentials())) - .password(getPassword(response.getDockerCredentials())) - .build(); + .image(response.getDockerImage()) + .username(getUsername(response.getDockerCredentials())) + .password(getPassword(response.getDockerCredentials())) + .build(); } private static DomainSummary toDomain(SharedDomainResource resource) { SharedDomainEntity entity = ResourceUtils.getEntity(resource); return DomainSummary.builder() - .id(ResourceUtils.getId(resource)) - .name(entity.getName()) - .type(entity.getRouterGroupType()) - .build(); + .id(ResourceUtils.getId(resource)) + .name(entity.getName()) + .type(entity.getRouterGroupType()) + .build(); } private static DomainSummary toDomain(PrivateDomainResource resource) { PrivateDomainEntity entity = ResourceUtils.getEntity(resource); return DomainSummary.builder() - .id(ResourceUtils.getId(resource)) - .name(entity.getName()) - .build(); + .id(ResourceUtils.getId(resource)) + .name(entity.getName()) + .build(); } private static ApplicationHealthCheck toHealthCheck(AbstractApplicationResource resource) { @@ -2006,38 +2967,45 @@ private static ApplicationHealthCheck toHealthCheck(AbstractApplicationResource } } - private static InstanceDetail toInstanceDetail(Map.Entry entry, ApplicationStatisticsResponse statisticsResponse) { - InstanceStatistics instanceStatistics = Optional.ofNullable(statisticsResponse.getInstances().get(entry.getKey())).orElse(emptyInstanceStats()); - Statistics stats = Optional.ofNullable(instanceStatistics.getStatistics()).orElse(emptyApplicationStatistics()); + private static InstanceDetail toInstanceDetail( + Map.Entry entry, + ApplicationStatisticsResponse statisticsResponse) { + InstanceStatistics instanceStatistics = + Optional.ofNullable(statisticsResponse.getInstances().get(entry.getKey())) + .orElse(emptyInstanceStats()); + Statistics stats = + Optional.ofNullable(instanceStatistics.getStatistics()) + .orElse(emptyApplicationStatistics()); Usage usage = Optional.ofNullable(stats.getUsage()).orElse(emptyApplicationUsage()); return InstanceDetail.builder() - .index(entry.getKey()) - .state(entry.getValue().getState()) - .since(toDate(entry.getValue().getSince())) - .cpu(usage.getCpu()) - .memoryUsage(usage.getMemory()) - .diskUsage(usage.getDisk()) - .diskQuota(stats.getDiskQuota()) - .memoryQuota(stats.getMemoryQuota()) - .build(); + .index(entry.getKey()) + .state(entry.getValue().getState()) + .since(toDate(entry.getValue().getSince())) + .cpu(usage.getCpu()) + .memoryUsage(usage.getMemory()) + .diskUsage(usage.getDisk()) + .diskQuota(stats.getDiskQuota()) + .memoryQuota(stats.getMemoryQuota()) + .build(); } - private static Mono> toInstanceDetailList(ApplicationInstancesResponse instancesResponse, ApplicationStatisticsResponse statisticsResponse) { - return Flux - .fromIterable(instancesResponse.getInstances().entrySet()) - .map(entry -> toInstanceDetail(entry, statisticsResponse)) - .collectList(); + private static Mono> toInstanceDetailList( + ApplicationInstancesResponse instancesResponse, + ApplicationStatisticsResponse statisticsResponse) { + return Flux.fromIterable(instancesResponse.getInstances().entrySet()) + .map(entry -> toInstanceDetail(entry, statisticsResponse)) + .collectList(); } private static Task toTask(org.cloudfoundry.client.v3.tasks.Task task) { return Task.builder() - .command(task.getCommand()) - .sequenceId(task.getSequenceId()) - .name(task.getName()) - .startTime(task.getCreatedAt()) - .state(TaskState.valueOf(task.getState().getValue())) - .build(); + .command(task.getCommand()) + .sequenceId(task.getSequenceId()) + .name(task.getName()) + .startTime(task.getCreatedAt()) + .state(TaskState.valueOf(task.getState().getValue())) + .build(); } private static String toUrl(org.cloudfoundry.client.v2.routes.Route route) { @@ -2045,12 +3013,10 @@ private static String toUrl(org.cloudfoundry.client.v2.routes.Route route) { if (route.getHost() != null && !route.getHost().isEmpty()) { sb.append(route.getHost()).append("."); } - Optional.ofNullable(route.getDomain().getName()) - .ifPresent(sb::append); + Optional.ofNullable(route.getDomain().getName()).ifPresent(sb::append); if (route.getPort() == null) { - Optional.ofNullable(route.getPath()) - .ifPresent(sb::append); + Optional.ofNullable(route.getPath()).ifPresent(sb::append); } else { sb.append(":").append(route.getPort()); } @@ -2059,150 +3025,294 @@ private static String toUrl(org.cloudfoundry.client.v2.routes.Route route) { } private static Mono> toUrls(List routes) { - return Flux - .fromIterable(routes) - .map(DefaultApplications::toUrl) - .collectList(); + return Flux.fromIterable(routes).map(DefaultApplications::toUrl).collectList(); } - private static Mono updateBuildpacks(CloudFoundryClient cloudFoundryClient, String applicationId, ApplicationManifest manifest) { + private static Mono updateBuildpacks( + CloudFoundryClient cloudFoundryClient, + String applicationId, + ApplicationManifest manifest) { if (manifest.getBuildpacks() == null || manifest.getBuildpacks().size() < 2) { return Mono.empty(); } - return cloudFoundryClient.applicationsV3() - .update(org.cloudfoundry.client.v3.applications.UpdateApplicationRequest.builder() - .applicationId(applicationId) - .lifecycle(Lifecycle.builder() - .data(BuildpackData.builder() - .addAllBuildpacks(manifest.getBuildpacks()) - .build()) - .type(BUILDPACK) - .build()) - .build()) - .then(); - } - - private static Mono uploadApplicationAndWait(CloudFoundryClient cloudFoundryClient, String applicationId, Path application, List matchedResources, - Duration stagingTimeout) { - return Mono - .defer(() -> { - if (matchedResources.isEmpty()) { - return requestUploadApplication(cloudFoundryClient, applicationId, application, matchedResources); - } else { - List paths = matchedResources.stream() - .map(ResourceMatchingUtils.ArtifactMetadata::getPath) - .collect(Collectors.toList()); - - return FileUtils.compress(application, p -> !paths.contains(p)) - .flatMap(filteredApplication -> requestUploadApplication(cloudFoundryClient, applicationId, filteredApplication, matchedResources) - .doOnTerminate(() -> { - try { - Files.delete(filteredApplication); - } catch (IOException e) { - throw Exceptions.propagate(e); - } - })); - } - }) - .flatMap(job -> JobUtils.waitForCompletion(cloudFoundryClient, stagingTimeout, job)); - } - - private static Mono uploadPackageBitsAndWait(CloudFoundryClient cloudFoundryClient, String packageId, Path application, List matchedResources, - Duration processingTimeout) { - return Mono - .defer(() -> { - if (matchedResources.isEmpty()) { - return requestUploadPackage(cloudFoundryClient, packageId, application, matchedResources); - } else { - List paths = matchedResources.stream() - .map(MatchedResource::getPath) - .collect(Collectors.toList()); - - return FileUtils.compress(application, p -> !paths.contains(p)) - .flatMap(filteredApplication -> requestUploadPackage(cloudFoundryClient, packageId, filteredApplication, matchedResources) - .doOnTerminate(() -> { - try { - Files.delete(filteredApplication); - } catch (IOException e) { - throw Exceptions.propagate(e); - } - })); - } - }) - .then(waitForUploadProcessingCompleted(cloudFoundryClient, packageId, processingTimeout)); + return cloudFoundryClient + .applicationsV3() + .update( + org.cloudfoundry.client.v3.applications.UpdateApplicationRequest.builder() + .applicationId(applicationId) + .lifecycle( + Lifecycle.builder() + .data( + BuildpackData.builder() + .addAllBuildpacks( + manifest.getBuildpacks()) + .build()) + .type(BUILDPACK) + .build()) + .build()) + .then(); } - private static Mono waitForBuildStaging(CloudFoundryClient cloudFoundryClient, String buildId, String applicationName, Duration stagingTimeout) { + private static Mono uploadApplicationAndWait( + CloudFoundryClient cloudFoundryClient, + String applicationId, + Path application, + List matchedResources, + Duration stagingTimeout) { + return Mono.defer( + () -> { + if (matchedResources.isEmpty()) { + return requestUploadApplication( + cloudFoundryClient, + applicationId, + application, + matchedResources); + } else { + List paths = + matchedResources.stream() + .map( + ResourceMatchingUtils.ArtifactMetadata + ::getPath) + .collect(Collectors.toList()); + + return FileUtils.compress(application, p -> !paths.contains(p)) + .flatMap( + filteredApplication -> + requestUploadApplication( + cloudFoundryClient, + applicationId, + filteredApplication, + matchedResources) + .doOnTerminate( + () -> { + try { + Files.delete( + filteredApplication); + } catch ( + IOException e) { + throw Exceptions + .propagate( + e); + } + })); + } + }) + .flatMap( + job -> JobUtils.waitForCompletion(cloudFoundryClient, stagingTimeout, job)); + } + + private static Mono uploadPackageBitsAndWait( + CloudFoundryClient cloudFoundryClient, + String packageId, + Path application, + List matchedResources, + Duration processingTimeout) { + return Mono.defer( + () -> { + if (matchedResources.isEmpty()) { + return requestUploadPackage( + cloudFoundryClient, + packageId, + application, + matchedResources); + } else { + List paths = + matchedResources.stream() + .map(MatchedResource::getPath) + .collect(Collectors.toList()); + + return FileUtils.compress(application, p -> !paths.contains(p)) + .flatMap( + filteredApplication -> + requestUploadPackage( + cloudFoundryClient, + packageId, + filteredApplication, + matchedResources) + .doOnTerminate( + () -> { + try { + Files.delete( + filteredApplication); + } catch ( + IOException e) { + throw Exceptions + .propagate( + e); + } + })); + } + }) + .then( + waitForUploadProcessingCompleted( + cloudFoundryClient, packageId, processingTimeout)); + } + + private static Mono waitForBuildStaging( + CloudFoundryClient cloudFoundryClient, + String buildId, + String applicationName, + Duration stagingTimeout) { Duration timeout = Optional.ofNullable(stagingTimeout).orElse(Duration.ofMinutes(15)); - return cloudFoundryClient.builds() - .get(GetBuildRequest.builder().buildId(buildId).build()) - .filter(build -> EnumSet.of(BuildState.STAGED, BuildState.FAILED).contains(build.getState())) - .repeatWhenEmpty(exponentialBackOff(Duration.ofSeconds(1), Duration.ofSeconds(15), timeout)) - .filter(build -> build.getState() == BuildState.STAGED) - .switchIfEmpty(ExceptionUtils.illegalState("Build %s of Application %s failed during staging", buildId, applicationName)) - .onErrorResume(DelayTimeoutException.class, t -> ExceptionUtils.illegalState("Build %s of Application %s timed out during staging", buildId, applicationName)); - } - - private static Mono waitForRunning(CloudFoundryClient cloudFoundryClient, String application, String applicationId, Duration startupTimeout) { + return cloudFoundryClient + .builds() + .get(GetBuildRequest.builder().buildId(buildId).build()) + .filter( + build -> + EnumSet.of(BuildState.STAGED, BuildState.FAILED) + .contains(build.getState())) + .repeatWhenEmpty( + exponentialBackOff(Duration.ofSeconds(1), Duration.ofSeconds(15), timeout)) + .filter(build -> build.getState() == BuildState.STAGED) + .switchIfEmpty( + ExceptionUtils.illegalState( + "Build %s of Application %s failed during staging", + buildId, applicationName)) + .onErrorResume( + DelayTimeoutException.class, + t -> + ExceptionUtils.illegalState( + "Build %s of Application %s timed out during staging", + buildId, applicationName)); + } + + private static Mono waitForRunning( + CloudFoundryClient cloudFoundryClient, + String application, + String applicationId, + Duration startupTimeout) { Duration timeout = Optional.ofNullable(startupTimeout).orElse(Duration.ofMinutes(5)); return requestApplicationInstances(cloudFoundryClient, applicationId) - .flatMapMany(response -> Flux.fromIterable(response.getInstances().values())) - .map(ApplicationInstanceInfo::getState) - .reduce("UNKNOWN", collectStates()) - .filter(isInstanceComplete()) - .repeatWhenEmpty(exponentialBackOff(Duration.ofSeconds(1), Duration.ofSeconds(15), timeout)) - .filter(isRunning()) - .switchIfEmpty(ExceptionUtils.illegalState("Application %s failed during start", application)) - .onErrorResume(DelayTimeoutException.class, t -> ExceptionUtils.illegalState("Application %s timed out during start", application)) - .then(); - } - - private static Mono waitForRunningV3(CloudFoundryClient cloudFoundryClient, String applicationName, String applicationId, Duration startupTimeout) { + .flatMapMany(response -> Flux.fromIterable(response.getInstances().values())) + .map(ApplicationInstanceInfo::getState) + .reduce("UNKNOWN", collectStates()) + .filter(isInstanceComplete()) + .repeatWhenEmpty( + exponentialBackOff(Duration.ofSeconds(1), Duration.ofSeconds(15), timeout)) + .filter(isRunning()) + .switchIfEmpty( + ExceptionUtils.illegalState( + "Application %s failed during start", application)) + .onErrorResume( + DelayTimeoutException.class, + t -> + ExceptionUtils.illegalState( + "Application %s timed out during start", application)) + .then(); + } + + private static Mono waitForRunningV3( + CloudFoundryClient cloudFoundryClient, + String applicationName, + String applicationId, + Duration startupTimeout) { Duration timeout = Optional.ofNullable(startupTimeout).orElse(Duration.ofMinutes(5)); - return PaginationUtils.requestClientV3Resources(page -> - cloudFoundryClient.applicationsV3() - .listProcesses(ListApplicationProcessesRequest.builder() - .applicationId(applicationId) - .page(page) - .build())) - .filter(p -> p.getInstances() != 0) - .flatMap(process -> cloudFoundryClient.processes().getStatistics(GetProcessStatisticsRequest.builder() - .processId(process.getId()) - .build()) - .flatMapIterable(GetProcessStatisticsResponse::getResources) - .map(ProcessStatisticsResource::getState) - .filter(state -> EnumSet.of(ProcessState.RUNNING, ProcessState.CRASHED).contains(state)) - .reduce((totalState, instanceState) -> - totalState.ordinal() < instanceState.ordinal() ? totalState : instanceState) //CRASHED takes precedence over RUNNING - .repeatWhenEmpty(exponentialBackOff(Duration.ofSeconds(1), Duration.ofSeconds(15), timeout)) - .filter(state -> state == ProcessState.RUNNING) - .switchIfEmpty(ExceptionUtils.illegalState("Process %s of Application %s failed during start", process.getId(), applicationName)) - .onErrorResume(DelayTimeoutException.class, t -> ExceptionUtils.illegalState("Process %s of Application %s timed out during start", process.getId(), applicationName))) - .then(); - } - - private static Mono waitForStaging(CloudFoundryClient cloudFoundryClient, String application, String applicationId, Duration stagingTimeout) { + return PaginationUtils.requestClientV3Resources( + page -> + cloudFoundryClient + .applicationsV3() + .listProcesses( + ListApplicationProcessesRequest.builder() + .applicationId(applicationId) + .page(page) + .build())) + .filter(p -> p.getInstances() != 0) + .flatMap( + process -> + cloudFoundryClient + .processes() + .getStatistics( + GetProcessStatisticsRequest.builder() + .processId(process.getId()) + .build()) + .flatMapIterable(GetProcessStatisticsResponse::getResources) + .map(ProcessStatisticsResource::getState) + .filter( + state -> + EnumSet.of( + ProcessState.RUNNING, + ProcessState.CRASHED) + .contains(state)) + .reduce( + (totalState, instanceState) -> + totalState.ordinal() + < instanceState.ordinal() + ? totalState + : instanceState) // CRASHED takes + // precedence over + // RUNNING + .repeatWhenEmpty( + exponentialBackOff( + Duration.ofSeconds(1), + Duration.ofSeconds(15), + timeout)) + .filter(state -> state == ProcessState.RUNNING) + .switchIfEmpty( + ExceptionUtils.illegalState( + "Process %s of Application %s failed during" + + " start", + process.getId(), applicationName)) + .onErrorResume( + DelayTimeoutException.class, + t -> + ExceptionUtils.illegalState( + "Process %s of Application %s timed" + + " out during start", + process.getId(), applicationName))) + .then(); + } + + private static Mono waitForStaging( + CloudFoundryClient cloudFoundryClient, + String application, + String applicationId, + Duration stagingTimeout) { Duration timeout = Optional.ofNullable(stagingTimeout).orElse(Duration.ofMinutes(15)); return requestGetApplication(cloudFoundryClient, applicationId) - .map(response -> ResourceUtils.getEntity(response).getPackageState()) - .filter(isStagingComplete()) - .repeatWhenEmpty(exponentialBackOff(Duration.ofSeconds(1), Duration.ofSeconds(15), timeout)) - .filter(isStaged()) - .switchIfEmpty(ExceptionUtils.illegalState("Application %s failed during staging", application)) - .onErrorResume(DelayTimeoutException.class, t -> ExceptionUtils.illegalState("Application %s timed out during staging", application)) - .then(); - } - - private static Mono waitForUploadProcessingCompleted(CloudFoundryClient cloudFoundryClient, String packageId, Duration processingTimeout) { - return cloudFoundryClient.packages().get(GetPackageRequest.builder().packageId(packageId).build()) - .filter(packageResponse -> EnumSet.of(PackageState.READY, PackageState.FAILED, PackageState.EXPIRED).contains(packageResponse.getState())) - .repeatWhenEmpty(exponentialBackOff(Duration.ofSeconds(1), Duration.ofSeconds(15), processingTimeout)) - .filter(packageResponse -> packageResponse.getState() == PackageState.READY) - .switchIfEmpty(ExceptionUtils.illegalState("Package %s failed upload processing", packageId)) - .onErrorResume(DelayTimeoutException.class, t -> ExceptionUtils.illegalState("Package %s timed out during upload processing", packageId)); + .map(response -> ResourceUtils.getEntity(response).getPackageState()) + .filter(isStagingComplete()) + .repeatWhenEmpty( + exponentialBackOff(Duration.ofSeconds(1), Duration.ofSeconds(15), timeout)) + .filter(isStaged()) + .switchIfEmpty( + ExceptionUtils.illegalState( + "Application %s failed during staging", application)) + .onErrorResume( + DelayTimeoutException.class, + t -> + ExceptionUtils.illegalState( + "Application %s timed out during staging", application)) + .then(); + } + + private static Mono waitForUploadProcessingCompleted( + CloudFoundryClient cloudFoundryClient, String packageId, Duration processingTimeout) { + return cloudFoundryClient + .packages() + .get(GetPackageRequest.builder().packageId(packageId).build()) + .filter( + packageResponse -> + EnumSet.of( + PackageState.READY, + PackageState.FAILED, + PackageState.EXPIRED) + .contains(packageResponse.getState())) + .repeatWhenEmpty( + exponentialBackOff( + Duration.ofSeconds(1), Duration.ofSeconds(15), processingTimeout)) + .filter(packageResponse -> packageResponse.getState() == PackageState.READY) + .switchIfEmpty( + ExceptionUtils.illegalState( + "Package %s failed upload processing", packageId)) + .onErrorResume( + DelayTimeoutException.class, + t -> + ExceptionUtils.illegalState( + "Package %s timed out during upload processing", + packageId)); } } diff --git a/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/applications/ManifestV3RouteProtocol.java b/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/applications/ManifestV3RouteProtocol.java index 13941c0d98..7e82589770 100644 --- a/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/applications/ManifestV3RouteProtocol.java +++ b/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/applications/ManifestV3RouteProtocol.java @@ -68,5 +68,4 @@ public String getValue() { public String toString() { return getValue(); } - } diff --git a/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/applications/RandomWords.java b/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/applications/RandomWords.java index debcc49e97..6494b72f76 100644 --- a/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/applications/RandomWords.java +++ b/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/applications/RandomWords.java @@ -31,5 +31,4 @@ interface RandomWords { * @return a random noun */ String getNoun(); - } diff --git a/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/applications/RouteUtils.java b/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/applications/RouteUtils.java index b54ac2eddd..7a0c494096 100644 --- a/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/applications/RouteUtils.java +++ b/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/applications/RouteUtils.java @@ -16,20 +16,19 @@ package org.cloudfoundry.operations.applications; -import reactor.core.publisher.Mono; - import java.util.Comparator; import java.util.List; import java.util.regex.Matcher; import java.util.regex.Pattern; import java.util.stream.Collectors; +import reactor.core.publisher.Mono; final class RouteUtils { - private RouteUtils() { - } + private RouteUtils() {} - static Mono decomposeRoute(List availableDomains, String route, String routePath) { + static Mono decomposeRoute( + List availableDomains, String route, String routePath) { String domain = null; String host = null; String path = null; @@ -37,12 +36,17 @@ static Mono decomposeRoute(List availableDomains String routeWithoutSuffix = route; if (availableDomains.size() == 0) { - throw new IllegalArgumentException(String.format("The route %s did not match any existing domains", route)); + throw new IllegalArgumentException( + String.format("The route %s did not match any existing domains", route)); } - List sortedDomains = availableDomains.stream() - .sorted(Comparator.comparingInt(domainSummary -> domainSummary.getName().length()).reversed()) - .collect(Collectors.toList()); + List sortedDomains = + availableDomains.stream() + .sorted( + Comparator.comparingInt( + domainSummary -> domainSummary.getName().length()) + .reversed()) + .collect(Collectors.toList()); if (route.contains("/")) { int index = route.indexOf("/"); @@ -57,26 +61,27 @@ static Mono decomposeRoute(List availableDomains if (isDomainMatch(routeWithoutSuffix, item.getName())) { domain = item.getName(); if (domain.length() < routeWithoutSuffix.length()) { - host = routeWithoutSuffix.substring(0, routeWithoutSuffix.lastIndexOf(domain) - 1); + host = + routeWithoutSuffix.substring( + 0, routeWithoutSuffix.lastIndexOf(domain) - 1); } break; } } if (domain == null) { - throw new IllegalArgumentException(String.format("The route %s did not match any existing domains", route)); + throw new IllegalArgumentException( + String.format("The route %s did not match any existing domains", route)); } if ((host != null || path != null) && port != null) { - throw new IllegalArgumentException(String.format("The route %s is invalid: Host/path cannot be set with port", route)); + throw new IllegalArgumentException( + String.format( + "The route %s is invalid: Host/path cannot be set with port", route)); } - return Mono.just(DecomposedRoute.builder() - .domain(domain) - .host(host) - .path(path) - .port(port) - .build()); + return Mono.just( + DecomposedRoute.builder().domain(domain).host(host).path(path).port(port).build()); } private static Integer getPort(String route) { @@ -95,7 +100,8 @@ private static Boolean hasPort(String route) { } private static boolean isDomainMatch(String route, String domain) { - return route.equals(domain) || route.endsWith(domain) && route.charAt(route.length() - domain.length() - 1) == '.'; + return route.equals(domain) + || route.endsWith(domain) + && route.charAt(route.length() - domain.length() - 1) == '.'; } - } diff --git a/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/applications/TaskState.java b/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/applications/TaskState.java index 62c443809e..5243549293 100644 --- a/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/applications/TaskState.java +++ b/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/applications/TaskState.java @@ -83,5 +83,4 @@ public String getValue() { public String toString() { return getValue(); } - } diff --git a/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/applications/WordListRandomWords.java b/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/applications/WordListRandomWords.java index a4b8152248..a21ad43b21 100644 --- a/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/applications/WordListRandomWords.java +++ b/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/applications/WordListRandomWords.java @@ -40,28 +40,24 @@ public String getNoun() { } private static BufferedReader getReader(String resourceName) { - InputStream inputStream = WordListRandomWords.class.getClassLoader().getResourceAsStream(resourceName); + InputStream inputStream = + WordListRandomWords.class.getClassLoader().getResourceAsStream(resourceName); return new BufferedReader(new InputStreamReader(inputStream)); } private static List getWordList(String resourceName) { try (Stream stream = getReader(resourceName).lines()) { - return stream - .map(String::trim) - .collect(Collectors.toList()); + return stream.map(String::trim).collect(Collectors.toList()); } } private static final class Adjectives { private static List WORDS = getWordList("adjectives.txt"); - } private static final class Nouns { private static List WORDS = getWordList("nouns.txt"); - } - } diff --git a/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/buildpacks/Buildpacks.java b/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/buildpacks/Buildpacks.java index 619eae88da..7a7db1a55a 100644 --- a/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/buildpacks/Buildpacks.java +++ b/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/buildpacks/Buildpacks.java @@ -62,5 +62,4 @@ public interface Buildpacks { * @return a completion indicator */ Mono update(UpdateBuildpackRequest request); - } diff --git a/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/buildpacks/DefaultBuildpacks.java b/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/buildpacks/DefaultBuildpacks.java index a3c1f36030..ad2958886e 100644 --- a/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/buildpacks/DefaultBuildpacks.java +++ b/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/buildpacks/DefaultBuildpacks.java @@ -16,6 +16,11 @@ package org.cloudfoundry.operations.buildpacks; +import static org.cloudfoundry.util.tuple.TupleUtils.function; + +import java.nio.file.Path; +import java.time.Duration; +import java.util.Optional; import org.cloudfoundry.client.CloudFoundryClient; import org.cloudfoundry.client.v2.buildpacks.BuildpackEntity; import org.cloudfoundry.client.v2.buildpacks.BuildpackResource; @@ -33,12 +38,6 @@ import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; -import java.nio.file.Path; -import java.time.Duration; -import java.util.Optional; - -import static org.cloudfoundry.util.tuple.TupleUtils.function; - public final class DefaultBuildpacks implements Buildpacks { private final Mono cloudFoundryClient; @@ -50,162 +49,220 @@ public DefaultBuildpacks(Mono cloudFoundryClient) { @Override public Mono create(CreateBuildpackRequest request) { return this.cloudFoundryClient - .flatMap(cloudFoundryClient -> Mono.zip( - Mono.just(cloudFoundryClient), - requestCreateBuildpack(cloudFoundryClient, request.getName(), request.getPosition(), request.getEnable()) - )) - .flatMap(function((cloudFoundryClient, response) -> requestUploadBuildpackBits(cloudFoundryClient, ResourceUtils.getId(response), request.getBuildpack()))) - .then() - .transform(OperationsLogging.log("Create Buildpack")) - .checkpoint(); + .flatMap( + cloudFoundryClient -> + Mono.zip( + Mono.just(cloudFoundryClient), + requestCreateBuildpack( + cloudFoundryClient, + request.getName(), + request.getPosition(), + request.getEnable()))) + .flatMap( + function( + (cloudFoundryClient, response) -> + requestUploadBuildpackBits( + cloudFoundryClient, + ResourceUtils.getId(response), + request.getBuildpack()))) + .then() + .transform(OperationsLogging.log("Create Buildpack")) + .checkpoint(); } @Override public Mono delete(DeleteBuildpackRequest request) { return this.cloudFoundryClient - .flatMap(cloudFoundryClient -> Mono.zip( - getBuildPackId(cloudFoundryClient, request.getName()), - Mono.just(cloudFoundryClient) - )) - .flatMap(function((buildpackId, cloudFoundryClient) -> deleteBuildpack(cloudFoundryClient, buildpackId, request.getCompletionTimeout()))) - .then() - .transform(OperationsLogging.log("Delete Buildpack")) - .checkpoint(); + .flatMap( + cloudFoundryClient -> + Mono.zip( + getBuildPackId(cloudFoundryClient, request.getName()), + Mono.just(cloudFoundryClient))) + .flatMap( + function( + (buildpackId, cloudFoundryClient) -> + deleteBuildpack( + cloudFoundryClient, + buildpackId, + request.getCompletionTimeout()))) + .then() + .transform(OperationsLogging.log("Delete Buildpack")) + .checkpoint(); } @Override public Flux list() { return this.cloudFoundryClient - .flatMapMany(DefaultBuildpacks::requestBuildpacks) - .map(DefaultBuildpacks::toBuildpackResource) - .transform(OperationsLogging.log("List Buildpacks")) - .checkpoint(); + .flatMapMany(DefaultBuildpacks::requestBuildpacks) + .map(DefaultBuildpacks::toBuildpackResource) + .transform(OperationsLogging.log("List Buildpacks")) + .checkpoint(); } @Override public Mono rename(RenameBuildpackRequest request) { return this.cloudFoundryClient - .flatMap(cloudFoundryClient -> Mono.zip( - getBuildPackId(cloudFoundryClient, request.getName()), - Mono.just(cloudFoundryClient) - )) - .flatMap(function((buildpackId, cloudFoundryClient) -> requestUpdateBuildpack(cloudFoundryClient, buildpackId, request.getNewName()))) - .then() - .transform(OperationsLogging.log("Rename Buildpack")) - .checkpoint(); + .flatMap( + cloudFoundryClient -> + Mono.zip( + getBuildPackId(cloudFoundryClient, request.getName()), + Mono.just(cloudFoundryClient))) + .flatMap( + function( + (buildpackId, cloudFoundryClient) -> + requestUpdateBuildpack( + cloudFoundryClient, + buildpackId, + request.getNewName()))) + .then() + .transform(OperationsLogging.log("Rename Buildpack")) + .checkpoint(); } @Override public Mono update(UpdateBuildpackRequest request) { return this.cloudFoundryClient - .flatMap(cloudFoundryClient -> Mono.zip( - getBuildPackId(cloudFoundryClient, request.getName()), - Mono.just(cloudFoundryClient) - )) - .flatMap(function((buildpackId, cloudFoundryClient) -> Mono.when( - requestUpdateBuildpack(cloudFoundryClient, buildpackId, request), - uploadBuildpackBits(cloudFoundryClient, buildpackId, request) - ))) - .then() - .transform(OperationsLogging.log("Update Buildpack")) - .checkpoint(); - } - - private static Mono deleteBuildpack(CloudFoundryClient cloudFoundryClient, String buildpackId, Duration timeout) { + .flatMap( + cloudFoundryClient -> + Mono.zip( + getBuildPackId(cloudFoundryClient, request.getName()), + Mono.just(cloudFoundryClient))) + .flatMap( + function( + (buildpackId, cloudFoundryClient) -> + Mono.when( + requestUpdateBuildpack( + cloudFoundryClient, buildpackId, request), + uploadBuildpackBits( + cloudFoundryClient, buildpackId, request)))) + .then() + .transform(OperationsLogging.log("Update Buildpack")) + .checkpoint(); + } + + private static Mono deleteBuildpack( + CloudFoundryClient cloudFoundryClient, String buildpackId, Duration timeout) { return requestDeleteBuildpack(cloudFoundryClient, buildpackId) - .flatMap(job -> JobUtils.waitForCompletion(cloudFoundryClient, timeout, job)); + .flatMap(job -> JobUtils.waitForCompletion(cloudFoundryClient, timeout, job)); } private static Mono getBuildPackId(CloudFoundryClient cloudFoundryClient, String name) { return requestBuildpacks(cloudFoundryClient, name) - .singleOrEmpty() - .map(ResourceUtils::getId) - .switchIfEmpty(ExceptionUtils.illegalArgument("Buildpack %s not found", name)); + .singleOrEmpty() + .map(ResourceUtils::getId) + .switchIfEmpty(ExceptionUtils.illegalArgument("Buildpack %s not found", name)); } - private static Flux requestBuildpacks(CloudFoundryClient cloudFoundryClient) { - return PaginationUtils - .requestClientV2Resources(page -> cloudFoundryClient.buildpacks() - .list(ListBuildpacksRequest.builder() - .page(page) - .build())); + private static Flux requestBuildpacks( + CloudFoundryClient cloudFoundryClient) { + return PaginationUtils.requestClientV2Resources( + page -> + cloudFoundryClient + .buildpacks() + .list(ListBuildpacksRequest.builder().page(page).build())); } - private static Flux requestBuildpacks(CloudFoundryClient cloudFoundryClient, String name) { - return PaginationUtils - .requestClientV2Resources(page -> cloudFoundryClient.buildpacks() - .list(ListBuildpacksRequest.builder() - .name(name) - .page(page) - .build())); + private static Flux requestBuildpacks( + CloudFoundryClient cloudFoundryClient, String name) { + return PaginationUtils.requestClientV2Resources( + page -> + cloudFoundryClient + .buildpacks() + .list( + ListBuildpacksRequest.builder() + .name(name) + .page(page) + .build())); } - private static Mono requestCreateBuildpack(CloudFoundryClient cloudFoundryClient, String buildpackName, Integer position, Boolean enable) { - return cloudFoundryClient.buildpacks() - .create(org.cloudfoundry.client.v2.buildpacks.CreateBuildpackRequest - .builder() - .name(buildpackName) - .position(position) - .enabled(Optional.ofNullable(enable).orElse(true)) - .build()); + private static Mono requestCreateBuildpack( + CloudFoundryClient cloudFoundryClient, + String buildpackName, + Integer position, + Boolean enable) { + return cloudFoundryClient + .buildpacks() + .create( + org.cloudfoundry.client.v2.buildpacks.CreateBuildpackRequest.builder() + .name(buildpackName) + .position(position) + .enabled(Optional.ofNullable(enable).orElse(true)) + .build()); } - private static Mono requestDeleteBuildpack(CloudFoundryClient cloudFoundryClient, String buildpackId) { - return cloudFoundryClient.buildpacks() - .delete(org.cloudfoundry.client.v2.buildpacks.DeleteBuildpackRequest.builder() - .async(true) - .buildpackId(buildpackId) - .build()); + private static Mono requestDeleteBuildpack( + CloudFoundryClient cloudFoundryClient, String buildpackId) { + return cloudFoundryClient + .buildpacks() + .delete( + org.cloudfoundry.client.v2.buildpacks.DeleteBuildpackRequest.builder() + .async(true) + .buildpackId(buildpackId) + .build()); } - private static Mono requestUpdateBuildpack(CloudFoundryClient cloudFoundryClient, String buildpackId, UpdateBuildpackRequest request) { - return cloudFoundryClient.buildpacks() - .update(org.cloudfoundry.client.v2.buildpacks.UpdateBuildpackRequest.builder() - .buildpackId(buildpackId) - .enabled(request.getEnable()) - .locked(request.getLock()) - .position(request.getPosition()) - .build()); + private static Mono requestUpdateBuildpack( + CloudFoundryClient cloudFoundryClient, + String buildpackId, + UpdateBuildpackRequest request) { + return cloudFoundryClient + .buildpacks() + .update( + org.cloudfoundry.client.v2.buildpacks.UpdateBuildpackRequest.builder() + .buildpackId(buildpackId) + .enabled(request.getEnable()) + .locked(request.getLock()) + .position(request.getPosition()) + .build()); } - private static Mono requestUpdateBuildpack(CloudFoundryClient cloudFoundryClient, String buildpackId, String name) { - return cloudFoundryClient.buildpacks() - .update(org.cloudfoundry.client.v2.buildpacks.UpdateBuildpackRequest.builder() - .buildpackId(buildpackId) - .name(name) - .build()); + private static Mono requestUpdateBuildpack( + CloudFoundryClient cloudFoundryClient, String buildpackId, String name) { + return cloudFoundryClient + .buildpacks() + .update( + org.cloudfoundry.client.v2.buildpacks.UpdateBuildpackRequest.builder() + .buildpackId(buildpackId) + .name(name) + .build()); } - private static Mono requestUploadBuildpackBits(CloudFoundryClient cloudFoundryClient, String buildpackId, Path buildpack) { - return cloudFoundryClient.buildpacks() - .upload(UploadBuildpackRequest.builder() - .buildpackId(buildpackId) - .filename(buildpack.getFileName().toString()) - .buildpack(buildpack) - .build()); + private static Mono requestUploadBuildpackBits( + CloudFoundryClient cloudFoundryClient, String buildpackId, Path buildpack) { + return cloudFoundryClient + .buildpacks() + .upload( + UploadBuildpackRequest.builder() + .buildpackId(buildpackId) + .filename(buildpack.getFileName().toString()) + .buildpack(buildpack) + .build()); } private static Buildpack toBuildpackResource(BuildpackResource resource) { BuildpackEntity entity = ResourceUtils.getEntity(resource); return Buildpack.builder() - .enabled(entity.getEnabled()) - .filename(entity.getFilename()) - .id(ResourceUtils.getId(resource)) - .locked(entity.getLocked()) - .name(entity.getName()) - .position(entity.getPosition()) - .stack(entity.getStack()) - .build(); + .enabled(entity.getEnabled()) + .filename(entity.getFilename()) + .id(ResourceUtils.getId(resource)) + .locked(entity.getLocked()) + .name(entity.getName()) + .position(entity.getPosition()) + .stack(entity.getStack()) + .build(); } - private static Mono uploadBuildpackBits(CloudFoundryClient cloudFoundryClient, String buildpackId, UpdateBuildpackRequest request) { + private static Mono uploadBuildpackBits( + CloudFoundryClient cloudFoundryClient, + String buildpackId, + UpdateBuildpackRequest request) { if (request.getBuildpack() != null) { - return requestUploadBuildpackBits(cloudFoundryClient, buildpackId, request.getBuildpack()) - .then(Mono.empty()); + return requestUploadBuildpackBits( + cloudFoundryClient, buildpackId, request.getBuildpack()) + .then(Mono.empty()); } return Mono.empty(); } - } diff --git a/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/domains/DefaultDomains.java b/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/domains/DefaultDomains.java index 9d0934d577..aa30f42811 100644 --- a/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/domains/DefaultDomains.java +++ b/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/domains/DefaultDomains.java @@ -16,6 +16,9 @@ package org.cloudfoundry.operations.domains; +import static org.cloudfoundry.util.tuple.TupleUtils.function; + +import java.util.NoSuchElementException; import org.cloudfoundry.client.CloudFoundryClient; import org.cloudfoundry.client.v2.organizations.AssociateOrganizationPrivateDomainRequest; import org.cloudfoundry.client.v2.organizations.AssociateOrganizationPrivateDomainResponse; @@ -40,17 +43,14 @@ import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; -import java.util.NoSuchElementException; - -import static org.cloudfoundry.util.tuple.TupleUtils.function; - public final class DefaultDomains implements Domains { private final Mono cloudFoundryClient; private final Mono routingClient; - public DefaultDomains(Mono cloudFoundryClient, Mono routingClient) { + public DefaultDomains( + Mono cloudFoundryClient, Mono routingClient) { this.cloudFoundryClient = cloudFoundryClient; this.routingClient = routingClient; } @@ -58,215 +58,278 @@ public DefaultDomains(Mono cloudFoundryClient, Mono create(CreateDomainRequest request) { return this.cloudFoundryClient - .flatMap(cloudFoundryClient -> Mono.zip( - Mono.just(cloudFoundryClient), - getOrganizationId(cloudFoundryClient, request.getOrganization()) - )) - .flatMap(function((cloudFoundryClient, organizationId) -> requestCreateDomain(cloudFoundryClient, request.getDomain(), organizationId))) - .then() - .transform(OperationsLogging.log("Create Domain")) - .checkpoint(); + .flatMap( + cloudFoundryClient -> + Mono.zip( + Mono.just(cloudFoundryClient), + getOrganizationId( + cloudFoundryClient, request.getOrganization()))) + .flatMap( + function( + (cloudFoundryClient, organizationId) -> + requestCreateDomain( + cloudFoundryClient, + request.getDomain(), + organizationId))) + .then() + .transform(OperationsLogging.log("Create Domain")) + .checkpoint(); } @Override public Mono createShared(CreateSharedDomainRequest request) { if (request.getRouterGroup() == null) { return this.cloudFoundryClient - .flatMap(cloudFoundryClient -> requestCreateSharedDomain(cloudFoundryClient, request.getDomain(), null)) - .then() - .transform(OperationsLogging.log("Create Shared Domain")) - .checkpoint(); + .flatMap( + cloudFoundryClient -> + requestCreateSharedDomain( + cloudFoundryClient, request.getDomain(), null)) + .then() + .transform(OperationsLogging.log("Create Shared Domain")) + .checkpoint(); } else { - return Mono - .zip(this.cloudFoundryClient, this.routingClient) - .flatMap(function((cloudFoundryClient, routingClient) -> Mono.zip( - Mono.just(cloudFoundryClient), - getRouterGroupId(routingClient, request.getRouterGroup()) - ))) - .flatMap(function((cloudFoundryClient, routerGroupId) -> requestCreateSharedDomain(cloudFoundryClient, request.getDomain(), routerGroupId))) - .then() - .transform(OperationsLogging.log("Create Shared Domain")) - .checkpoint(); + return Mono.zip(this.cloudFoundryClient, this.routingClient) + .flatMap( + function( + (cloudFoundryClient, routingClient) -> + Mono.zip( + Mono.just(cloudFoundryClient), + getRouterGroupId( + routingClient, + request.getRouterGroup())))) + .flatMap( + function( + (cloudFoundryClient, routerGroupId) -> + requestCreateSharedDomain( + cloudFoundryClient, + request.getDomain(), + routerGroupId))) + .then() + .transform(OperationsLogging.log("Create Shared Domain")) + .checkpoint(); } } @Override public Flux list() { return this.cloudFoundryClient - .flatMapMany(cloudFoundryClient -> requestListPrivateDomains(cloudFoundryClient) - .map(DefaultDomains::toDomain) - .mergeWith(requestListSharedDomains(cloudFoundryClient) - .map(DefaultDomains::toDomain))) - .transform(OperationsLogging.log("List Domains")) - .checkpoint(); + .flatMapMany( + cloudFoundryClient -> + requestListPrivateDomains(cloudFoundryClient) + .map(DefaultDomains::toDomain) + .mergeWith( + requestListSharedDomains(cloudFoundryClient) + .map(DefaultDomains::toDomain))) + .transform(OperationsLogging.log("List Domains")) + .checkpoint(); } @Override public Flux listRouterGroups() { return this.routingClient - .flatMapMany(DefaultDomains::requestListRouterGroups) - .flatMapIterable(ListRouterGroupsResponse::getRouterGroups) - .map(DefaultDomains::toRouterGroup) - .transform(OperationsLogging.log("List Router Groups")) - .checkpoint(); + .flatMapMany(DefaultDomains::requestListRouterGroups) + .flatMapIterable(ListRouterGroupsResponse::getRouterGroups) + .map(DefaultDomains::toRouterGroup) + .transform(OperationsLogging.log("List Router Groups")) + .checkpoint(); } @Override public Mono share(ShareDomainRequest request) { return this.cloudFoundryClient - .flatMap(cloudFoundryClient -> Mono.zip( - Mono.just(cloudFoundryClient), - getPrivateDomainId(cloudFoundryClient, request.getDomain()), - getOrganizationId(cloudFoundryClient, request.getOrganization()) - )) - .flatMap(function(DefaultDomains::requestAssociateOrganizationPrivateDomainRequest)) - .then() - .transform(OperationsLogging.log("Share Domain")) - .checkpoint(); + .flatMap( + cloudFoundryClient -> + Mono.zip( + Mono.just(cloudFoundryClient), + getPrivateDomainId(cloudFoundryClient, request.getDomain()), + getOrganizationId( + cloudFoundryClient, request.getOrganization()))) + .flatMap(function(DefaultDomains::requestAssociateOrganizationPrivateDomainRequest)) + .then() + .transform(OperationsLogging.log("Share Domain")) + .checkpoint(); } @Override public Mono unshare(UnshareDomainRequest request) { return this.cloudFoundryClient - .flatMap(cloudFoundryClient -> Mono.zip( - Mono.just(cloudFoundryClient), - getPrivateDomainId(cloudFoundryClient, request.getDomain()), - getOrganizationId(cloudFoundryClient, request.getOrganization()) - )) - .flatMap(function(DefaultDomains::requestRemoveOrganizationPrivateDomainRequest)) - .transform(OperationsLogging.log("Unshare Domain")) - .checkpoint(); + .flatMap( + cloudFoundryClient -> + Mono.zip( + Mono.just(cloudFoundryClient), + getPrivateDomainId(cloudFoundryClient, request.getDomain()), + getOrganizationId( + cloudFoundryClient, request.getOrganization()))) + .flatMap(function(DefaultDomains::requestRemoveOrganizationPrivateDomainRequest)) + .transform(OperationsLogging.log("Unshare Domain")) + .checkpoint(); } - private static Mono getOrganization(CloudFoundryClient cloudFoundryClient, String organization) { + private static Mono getOrganization( + CloudFoundryClient cloudFoundryClient, String organization) { return requestOrganizations(cloudFoundryClient, organization) - .single() - .onErrorResume(NoSuchElementException.class, t -> ExceptionUtils.illegalArgument("Organization %s does not exist", organization)); + .single() + .onErrorResume( + NoSuchElementException.class, + t -> + ExceptionUtils.illegalArgument( + "Organization %s does not exist", organization)); } - private static Mono getOrganizationId(CloudFoundryClient cloudFoundryClient, String organization) { - return getOrganization(cloudFoundryClient, organization) - .map(ResourceUtils::getId); + private static Mono getOrganizationId( + CloudFoundryClient cloudFoundryClient, String organization) { + return getOrganization(cloudFoundryClient, organization).map(ResourceUtils::getId); } - private static Mono getPrivateDomain(CloudFoundryClient cloudFoundryClient, String domain) { + private static Mono getPrivateDomain( + CloudFoundryClient cloudFoundryClient, String domain) { return requestListPrivateDomains(cloudFoundryClient, domain) - .single() - .onErrorResume(NoSuchElementException.class, t -> ExceptionUtils.illegalArgument("Private domain %s does not exist", domain)); + .single() + .onErrorResume( + NoSuchElementException.class, + t -> + ExceptionUtils.illegalArgument( + "Private domain %s does not exist", domain)); } - private static Mono getPrivateDomainId(CloudFoundryClient cloudFoundryClient, String domain) { - return getPrivateDomain(cloudFoundryClient, domain) - .map(ResourceUtils::getId); + private static Mono getPrivateDomainId( + CloudFoundryClient cloudFoundryClient, String domain) { + return getPrivateDomain(cloudFoundryClient, domain).map(ResourceUtils::getId); } private static Mono getRouterGroupId(RoutingClient routingClient, String routerGroup) { return requestListRouterGroups(routingClient) - .flatMapIterable(ListRouterGroupsResponse::getRouterGroups) - .filter(group -> routerGroup.equals(group.getName())) - .single() - .map(org.cloudfoundry.routing.v1.routergroups.RouterGroup::getRouterGroupId); + .flatMapIterable(ListRouterGroupsResponse::getRouterGroups) + .filter(group -> routerGroup.equals(group.getName())) + .single() + .map(org.cloudfoundry.routing.v1.routergroups.RouterGroup::getRouterGroupId); } - private static Mono requestAssociateOrganizationPrivateDomainRequest(CloudFoundryClient cloudFoundryClient, String domainId, String organizationId) { - return cloudFoundryClient.organizations() - .associatePrivateDomain(AssociateOrganizationPrivateDomainRequest.builder() - .organizationId(organizationId) - .privateDomainId(domainId) - .build()); + private static Mono + requestAssociateOrganizationPrivateDomainRequest( + CloudFoundryClient cloudFoundryClient, String domainId, String organizationId) { + return cloudFoundryClient + .organizations() + .associatePrivateDomain( + AssociateOrganizationPrivateDomainRequest.builder() + .organizationId(organizationId) + .privateDomainId(domainId) + .build()); } - private static Mono requestCreateDomain(CloudFoundryClient cloudFoundryClient, String domain, String organizationId) { - return cloudFoundryClient.privateDomains() - .create(CreatePrivateDomainRequest.builder() - .name(domain) - .owningOrganizationId(organizationId) - .build()); + private static Mono requestCreateDomain( + CloudFoundryClient cloudFoundryClient, String domain, String organizationId) { + return cloudFoundryClient + .privateDomains() + .create( + CreatePrivateDomainRequest.builder() + .name(domain) + .owningOrganizationId(organizationId) + .build()); } - private static Mono requestCreateSharedDomain(CloudFoundryClient cloudFoundryClient, String domain, String routerGroupId) { - return cloudFoundryClient.sharedDomains() - .create(org.cloudfoundry.client.v2.shareddomains.CreateSharedDomainRequest.builder() - .name(domain) - .routerGroupId(routerGroupId) - .build()); + private static Mono requestCreateSharedDomain( + CloudFoundryClient cloudFoundryClient, String domain, String routerGroupId) { + return cloudFoundryClient + .sharedDomains() + .create( + org.cloudfoundry.client.v2.shareddomains.CreateSharedDomainRequest.builder() + .name(domain) + .routerGroupId(routerGroupId) + .build()); } - private static Flux requestListPrivateDomains(CloudFoundryClient cloudFoundryClient, String domain) { - return PaginationUtils - .requestClientV2Resources(page -> cloudFoundryClient.privateDomains() - .list(ListPrivateDomainsRequest.builder() - .name(domain) - .page(page) - .build())); + private static Flux requestListPrivateDomains( + CloudFoundryClient cloudFoundryClient, String domain) { + return PaginationUtils.requestClientV2Resources( + page -> + cloudFoundryClient + .privateDomains() + .list( + ListPrivateDomainsRequest.builder() + .name(domain) + .page(page) + .build())); } - private static Flux requestListPrivateDomains(CloudFoundryClient cloudFoundryClient) { - return PaginationUtils - .requestClientV2Resources(page -> cloudFoundryClient.privateDomains() - .list(ListPrivateDomainsRequest.builder() - .page(page) - .build())); + private static Flux requestListPrivateDomains( + CloudFoundryClient cloudFoundryClient) { + return PaginationUtils.requestClientV2Resources( + page -> + cloudFoundryClient + .privateDomains() + .list(ListPrivateDomainsRequest.builder().page(page).build())); } - private static Mono requestListRouterGroups(RoutingClient routingClient) { - return routingClient.routerGroups() - .list(org.cloudfoundry.routing.v1.routergroups.ListRouterGroupsRequest.builder() - .build()); + private static Mono requestListRouterGroups( + RoutingClient routingClient) { + return routingClient + .routerGroups() + .list( + org.cloudfoundry.routing.v1.routergroups.ListRouterGroupsRequest.builder() + .build()); } - private static Flux requestListSharedDomains(CloudFoundryClient cloudFoundryClient) { - return PaginationUtils - .requestClientV2Resources(page -> cloudFoundryClient.sharedDomains() - .list(ListSharedDomainsRequest.builder() - .page(page) - .build())); + private static Flux requestListSharedDomains( + CloudFoundryClient cloudFoundryClient) { + return PaginationUtils.requestClientV2Resources( + page -> + cloudFoundryClient + .sharedDomains() + .list(ListSharedDomainsRequest.builder().page(page).build())); } - private static Flux requestOrganizations(CloudFoundryClient cloudFoundryClient, String organization) { - return PaginationUtils - .requestClientV2Resources(page -> cloudFoundryClient.organizations().list( - ListOrganizationsRequest.builder() - .name(organization) - .page(page) - .build())); + private static Flux requestOrganizations( + CloudFoundryClient cloudFoundryClient, String organization) { + return PaginationUtils.requestClientV2Resources( + page -> + cloudFoundryClient + .organizations() + .list( + ListOrganizationsRequest.builder() + .name(organization) + .page(page) + .build())); } - private static Mono requestRemoveOrganizationPrivateDomainRequest(CloudFoundryClient cloudFoundryClient, String domainId, String organizationId) { - return cloudFoundryClient.organizations() - .removePrivateDomain(RemoveOrganizationPrivateDomainRequest.builder() - .organizationId(organizationId) - .privateDomainId(domainId) - .build()); + private static Mono requestRemoveOrganizationPrivateDomainRequest( + CloudFoundryClient cloudFoundryClient, String domainId, String organizationId) { + return cloudFoundryClient + .organizations() + .removePrivateDomain( + RemoveOrganizationPrivateDomainRequest.builder() + .organizationId(organizationId) + .privateDomainId(domainId) + .build()); } private static Domain toDomain(PrivateDomainResource resource) { PrivateDomainEntity entity = ResourceUtils.getEntity(resource); return Domain.builder() - .id(ResourceUtils.getId(resource)) - .name(entity.getName()) - .status(Status.OWNED) - .build(); + .id(ResourceUtils.getId(resource)) + .name(entity.getName()) + .status(Status.OWNED) + .build(); } private static Domain toDomain(SharedDomainResource resource) { SharedDomainEntity entity = ResourceUtils.getEntity(resource); return Domain.builder() - .id(ResourceUtils.getId(resource)) - .name(entity.getName()) - .status(Status.SHARED) - .type(entity.getRouterGroupType()) - .build(); + .id(ResourceUtils.getId(resource)) + .name(entity.getName()) + .status(Status.SHARED) + .type(entity.getRouterGroupType()) + .build(); } - private static RouterGroup toRouterGroup(org.cloudfoundry.routing.v1.routergroups.RouterGroup group) { + private static RouterGroup toRouterGroup( + org.cloudfoundry.routing.v1.routergroups.RouterGroup group) { return RouterGroup.builder() - .id(group.getRouterGroupId()) - .name(group.getName()) - .type(group.getType()) - .build(); + .id(group.getRouterGroupId()) + .name(group.getName()) + .type(group.getType()) + .build(); } - } diff --git a/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/domains/Domains.java b/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/domains/Domains.java index ed8ad85706..74ffa068b8 100644 --- a/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/domains/Domains.java +++ b/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/domains/Domains.java @@ -69,5 +69,4 @@ public interface Domains { * @return a completion indicator */ Mono unshare(UnshareDomainRequest request); - } diff --git a/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/domains/Status.java b/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/domains/Status.java index ed9662bfe5..d4355fc5b3 100644 --- a/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/domains/Status.java +++ b/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/domains/Status.java @@ -30,5 +30,4 @@ public enum Status { * Domain is shared */ SHARED - } diff --git a/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/networkpolicies/DefaultNetworkPolicies.java b/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/networkpolicies/DefaultNetworkPolicies.java index c622c04c52..1865deb2c6 100644 --- a/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/networkpolicies/DefaultNetworkPolicies.java +++ b/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/networkpolicies/DefaultNetworkPolicies.java @@ -16,6 +16,11 @@ package org.cloudfoundry.operations.networkpolicies; +import static org.cloudfoundry.util.tuple.TupleUtils.function; + +import java.util.List; +import java.util.Map; +import java.util.Optional; import org.cloudfoundry.client.CloudFoundryClient; import org.cloudfoundry.client.v3.applications.ApplicationResource; import org.cloudfoundry.client.v3.applications.ListApplicationsRequest; @@ -33,12 +38,6 @@ import reactor.core.publisher.Mono; import reactor.util.function.Tuples; -import java.util.List; -import java.util.Map; -import java.util.Optional; - -import static org.cloudfoundry.util.tuple.TupleUtils.function; - public final class DefaultNetworkPolicies implements NetworkPolicies { private static final Integer DEFAULT_PORT = 8080; @@ -51,7 +50,10 @@ public final class DefaultNetworkPolicies implements NetworkPolicies { private final Mono spaceId; - public DefaultNetworkPolicies(Mono cloudFoundryClient, Mono networkingClient, Mono spaceId) { + public DefaultNetworkPolicies( + Mono cloudFoundryClient, + Mono networkingClient, + Mono spaceId) { this.cloudFoundryClient = cloudFoundryClient; this.networkingClient = networkingClient; this.spaceId = spaceId; @@ -59,123 +61,226 @@ public DefaultNetworkPolicies(Mono cloudFoundryClient, Mono< @Override public Flux add(AddNetworkPolicyRequest request) { - return Mono - .zip(this.cloudFoundryClient, this.networkingClient, this.spaceId) - .flatMapMany(function((cloudFoundryClient, networkingClient, spaceId) -> Mono.zip( - Mono.just(networkingClient), - getApplicationsByName(cloudFoundryClient, spaceId) - ))) - .flatMap(function((networkingClient, applications) -> requestAddPolicy(networkingClient, applications, request))) - .transform(OperationsLogging.log("Add Network Policy")) - .checkpoint(); + return Mono.zip(this.cloudFoundryClient, this.networkingClient, this.spaceId) + .flatMapMany( + function( + (cloudFoundryClient, networkingClient, spaceId) -> + Mono.zip( + Mono.just(networkingClient), + getApplicationsByName( + cloudFoundryClient, spaceId)))) + .flatMap( + function( + (networkingClient, applications) -> + requestAddPolicy(networkingClient, applications, request))) + .transform(OperationsLogging.log("Add Network Policy")) + .checkpoint(); } @Override public Flux list(ListNetworkPoliciesRequest request) { - return Mono - .zip(this.cloudFoundryClient, this.networkingClient, this.spaceId) - .flatMapMany(function((cloudFoundryClient, networkingClient, spaceId) -> Mono.zip( - getApplicationsById(cloudFoundryClient, spaceId), - getPolicies(networkingClient) - ))) - .flatMap(function((applications, policies) -> toPolicy(applications, policies, request))) - .transform(OperationsLogging.log("List Network Policies")) - .checkpoint(); + return Mono.zip(this.cloudFoundryClient, this.networkingClient, this.spaceId) + .flatMapMany( + function( + (cloudFoundryClient, networkingClient, spaceId) -> + Mono.zip( + getApplicationsById(cloudFoundryClient, spaceId), + getPolicies(networkingClient)))) + .flatMap( + function( + (applications, policies) -> + toPolicy(applications, policies, request))) + .transform(OperationsLogging.log("List Network Policies")) + .checkpoint(); } @Override public Flux remove(RemoveNetworkPolicyRequest request) { - return Mono - .zip(this.cloudFoundryClient, this.networkingClient, this.spaceId) - .flatMapMany(function((cloudFoundryClient, networkingClient, spaceId) -> Mono.zip( - Mono.just(networkingClient), - getApplicationsByName(cloudFoundryClient, spaceId) - ))) - .flatMap(function((networkingClient, applications) -> requestRemovePolicy(networkingClient, applications, request))) - .transform(OperationsLogging.log("Remove Network Policy")) - .checkpoint(); + return Mono.zip(this.cloudFoundryClient, this.networkingClient, this.spaceId) + .flatMapMany( + function( + (cloudFoundryClient, networkingClient, spaceId) -> + Mono.zip( + Mono.just(networkingClient), + getApplicationsByName( + cloudFoundryClient, spaceId)))) + .flatMap( + function( + (networkingClient, applications) -> + requestRemovePolicy( + networkingClient, applications, request))) + .transform(OperationsLogging.log("Remove Network Policy")) + .checkpoint(); } - private static Mono> getApplicationsById(CloudFoundryClient cloudFoundryClient, String spaceId) { + private static Mono> getApplicationsById( + CloudFoundryClient cloudFoundryClient, String spaceId) { return requestListApplications(cloudFoundryClient, spaceId) - .map(resource -> Tuples.of(resource.getId(), resource.getName())) - .collectMap(function((id, name) -> id), function((id, name) -> name)); + .map(resource -> Tuples.of(resource.getId(), resource.getName())) + .collectMap(function((id, name) -> id), function((id, name) -> name)); } - private static Mono> getApplicationsByName(CloudFoundryClient cloudFoundryClient, String spaceId) { + private static Mono> getApplicationsByName( + CloudFoundryClient cloudFoundryClient, String spaceId) { return requestListApplications(cloudFoundryClient, spaceId) - .map(resource -> Tuples.of(resource.getId(), resource.getName())) - .collectMap(function((id, name) -> name), function((id, name) -> id)); + .map(resource -> Tuples.of(resource.getId(), resource.getName())) + .collectMap(function((id, name) -> name), function((id, name) -> id)); } - private static Mono> getPolicies(NetworkingClient networkingClient) { - return requestListNetworkPolicies(networkingClient) - .map(ListPoliciesResponse::getPolicies); + private static Mono> getPolicies( + NetworkingClient networkingClient) { + return requestListNetworkPolicies(networkingClient).map(ListPoliciesResponse::getPolicies); } - private static Mono requestAddPolicy(NetworkingClient networkingClient, Map applications, AddNetworkPolicyRequest request) { - return networkingClient.policies() - .create(CreatePoliciesRequest.builder() - .policy(org.cloudfoundry.networking.v1.policies.Policy.builder() - .destination(Destination.builder() - .id(applications.get(request.getDestination())) - .ports(Ports.builder() - .end(Optional.ofNullable(request.getEndPort()).orElse(request.getStartPort() != null ? request.getStartPort() : DEFAULT_PORT)) - .start(Optional.ofNullable(request.getStartPort()).orElse(request.getEndPort() != null ? request.getEndPort() : DEFAULT_PORT)) - .build()) - .protocol(Optional.ofNullable(request.getProtocol()).orElse(DEFAULT_PROTOCOL)) - .build()) - .source(Source.builder() - .id(applications.get(request.getSource())) - .build()) - .build()) - .build()); + private static Mono requestAddPolicy( + NetworkingClient networkingClient, + Map applications, + AddNetworkPolicyRequest request) { + return networkingClient + .policies() + .create( + CreatePoliciesRequest.builder() + .policy( + org.cloudfoundry.networking.v1.policies.Policy.builder() + .destination( + Destination.builder() + .id( + applications.get( + request + .getDestination())) + .ports( + Ports.builder() + .end( + Optional + .ofNullable( + request + .getEndPort()) + .orElse( + request + .getStartPort() + != null + ? request + .getStartPort() + : DEFAULT_PORT)) + .start( + Optional + .ofNullable( + request + .getStartPort()) + .orElse( + request + .getEndPort() + != null + ? request + .getEndPort() + : DEFAULT_PORT)) + .build()) + .protocol( + Optional.ofNullable( + request + .getProtocol()) + .orElse( + DEFAULT_PROTOCOL)) + .build()) + .source( + Source.builder() + .id( + applications.get( + request + .getSource())) + .build()) + .build()) + .build()); } - private static Flux requestListApplications(CloudFoundryClient cloudFoundryClient, String spaceId) { - return PaginationUtils.requestClientV3Resources(page -> cloudFoundryClient.applicationsV3() - .list(ListApplicationsRequest.builder() - .page(page) - .spaceId(spaceId) - .build())); + private static Flux requestListApplications( + CloudFoundryClient cloudFoundryClient, String spaceId) { + return PaginationUtils.requestClientV3Resources( + page -> + cloudFoundryClient + .applicationsV3() + .list( + ListApplicationsRequest.builder() + .page(page) + .spaceId(spaceId) + .build())); } - private static Mono requestListNetworkPolicies(NetworkingClient networkingClient) { - return networkingClient.policies() - .list(ListPoliciesRequest.builder() - .build()); + private static Mono requestListNetworkPolicies( + NetworkingClient networkingClient) { + return networkingClient.policies().list(ListPoliciesRequest.builder().build()); } - private static Mono requestRemovePolicy(NetworkingClient networkingClient, Map applications, RemoveNetworkPolicyRequest request) { - return networkingClient.policies() - .delete(DeletePoliciesRequest.builder() - .policy(org.cloudfoundry.networking.v1.policies.Policy.builder() - .destination(Destination.builder() - .id(applications.get(request.getDestination())) - .ports(Ports.builder() - .end(Optional.ofNullable(request.getEndPort()).orElse(request.getStartPort())) - .start(request.getStartPort()) - .build()) - .protocol(request.getProtocol()) - .build()) - .source(Source.builder() - .id(applications.get(request.getSource())) - .build()) - .build()) - .build()); + private static Mono requestRemovePolicy( + NetworkingClient networkingClient, + Map applications, + RemoveNetworkPolicyRequest request) { + return networkingClient + .policies() + .delete( + DeletePoliciesRequest.builder() + .policy( + org.cloudfoundry.networking.v1.policies.Policy.builder() + .destination( + Destination.builder() + .id( + applications.get( + request + .getDestination())) + .ports( + Ports.builder() + .end( + Optional + .ofNullable( + request + .getEndPort()) + .orElse( + request + .getStartPort())) + .start( + request + .getStartPort()) + .build()) + .protocol(request.getProtocol()) + .build()) + .source( + Source.builder() + .id( + applications.get( + request + .getSource())) + .build()) + .build()) + .build()); } - private static Flux toPolicy(Map applications, List policies, ListNetworkPoliciesRequest request) { + private static Flux toPolicy( + Map applications, + List policies, + ListNetworkPoliciesRequest request) { return Flux.fromIterable(policies) - .filter(policy -> null != applications.get(policy.getSource().getId()) && null != applications.get(policy.getDestination().getId())) - .filter(policy -> request.getSource() == null || request.getSource().equals(applications.get(policy.getSource().getId()))) - .map(policy -> Policy.builder() - .destination(applications.get(policy.getDestination().getId())) - .endPort(policy.getDestination().getPorts().getEnd()) - .startPort(policy.getDestination().getPorts().getStart()) - .protocol(policy.getDestination().getProtocol()) - .source(applications.get(policy.getSource().getId())) - .build()); + .filter( + policy -> + null != applications.get(policy.getSource().getId()) + && null + != applications.get( + policy.getDestination().getId())) + .filter( + policy -> + request.getSource() == null + || request.getSource() + .equals( + applications.get( + policy.getSource().getId()))) + .map( + policy -> + Policy.builder() + .destination( + applications.get(policy.getDestination().getId())) + .endPort(policy.getDestination().getPorts().getEnd()) + .startPort(policy.getDestination().getPorts().getStart()) + .protocol(policy.getDestination().getProtocol()) + .source(applications.get(policy.getSource().getId())) + .build()); } - } diff --git a/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/networkpolicies/NetworkPolicies.java b/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/networkpolicies/NetworkPolicies.java index 68d668b475..a355e72935 100644 --- a/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/networkpolicies/NetworkPolicies.java +++ b/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/networkpolicies/NetworkPolicies.java @@ -39,5 +39,4 @@ public interface NetworkPolicies { * Remove a network policy */ Flux remove(RemoveNetworkPolicyRequest request); - } diff --git a/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/organizationadmin/DefaultOrganizationAdmin.java b/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/organizationadmin/DefaultOrganizationAdmin.java index 09f14e66b1..b6db6b3279 100644 --- a/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/organizationadmin/DefaultOrganizationAdmin.java +++ b/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/organizationadmin/DefaultOrganizationAdmin.java @@ -16,6 +16,11 @@ package org.cloudfoundry.operations.organizationadmin; +import static org.cloudfoundry.util.tuple.TupleUtils.function; + +import java.time.Duration; +import java.util.NoSuchElementException; +import java.util.Optional; import org.cloudfoundry.client.CloudFoundryClient; import org.cloudfoundry.client.v2.organizationquotadefinitions.AbstractOrganizationQuotaDefinition; import org.cloudfoundry.client.v2.organizationquotadefinitions.CreateOrganizationQuotaDefinitionRequest; @@ -39,12 +44,6 @@ import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; -import java.time.Duration; -import java.util.NoSuchElementException; -import java.util.Optional; - -import static org.cloudfoundry.util.tuple.TupleUtils.function; - public final class DefaultOrganizationAdmin implements OrganizationAdmin { private final Mono cloudFoundryClient; @@ -56,211 +55,282 @@ public DefaultOrganizationAdmin(Mono cloudFoundryClient) { @Override public Mono createQuota(CreateQuotaRequest request) { return this.cloudFoundryClient - .flatMap(cloudFoundryClient -> createOrganizationQuota(cloudFoundryClient, request)) - .map(DefaultOrganizationAdmin::toOrganizationQuota) - .transform(OperationsLogging.log("Create Organization Quota")) - .checkpoint(); + .flatMap(cloudFoundryClient -> createOrganizationQuota(cloudFoundryClient, request)) + .map(DefaultOrganizationAdmin::toOrganizationQuota) + .transform(OperationsLogging.log("Create Organization Quota")) + .checkpoint(); } @Override public Mono deleteQuota(DeleteQuotaRequest request) { return this.cloudFoundryClient - .flatMap(cloudFoundryClient -> Mono.zip( - Mono.just(cloudFoundryClient), - Mono.just(request.getCompletionTimeout()), - getOrganizationQuotaId(cloudFoundryClient, request.getName()) - )) - .flatMap(function(DefaultOrganizationAdmin::deleteOrganizationQuota)) - .transform(OperationsLogging.log("Delete Organization Quota")) - .checkpoint(); + .flatMap( + cloudFoundryClient -> + Mono.zip( + Mono.just(cloudFoundryClient), + Mono.just(request.getCompletionTimeout()), + getOrganizationQuotaId( + cloudFoundryClient, request.getName()))) + .flatMap(function(DefaultOrganizationAdmin::deleteOrganizationQuota)) + .transform(OperationsLogging.log("Delete Organization Quota")) + .checkpoint(); } @Override public Mono getQuota(GetQuotaRequest request) { return this.cloudFoundryClient - .flatMap(cloudFoundryClient -> getOrganizationQuota(cloudFoundryClient, request.getName())) - .map(DefaultOrganizationAdmin::toOrganizationQuota) - .transform(OperationsLogging.log("Get Organization Quota")) - .checkpoint(); + .flatMap( + cloudFoundryClient -> + getOrganizationQuota(cloudFoundryClient, request.getName())) + .map(DefaultOrganizationAdmin::toOrganizationQuota) + .transform(OperationsLogging.log("Get Organization Quota")) + .checkpoint(); } @Override public Flux listQuotas() { return this.cloudFoundryClient - .flatMapMany(DefaultOrganizationAdmin::requestListOrganizationQuotas) - .map(DefaultOrganizationAdmin::toOrganizationQuota) - .transform(OperationsLogging.log("List Organization Quotas")) - .checkpoint(); + .flatMapMany(DefaultOrganizationAdmin::requestListOrganizationQuotas) + .map(DefaultOrganizationAdmin::toOrganizationQuota) + .transform(OperationsLogging.log("List Organization Quotas")) + .checkpoint(); } @Override public Mono setQuota(SetQuotaRequest request) { return this.cloudFoundryClient - .flatMap(cloudFoundryClient -> Mono.zip( - Mono.just(cloudFoundryClient), - getOrganizationId(cloudFoundryClient, request.getOrganizationName()), - getOrganizationQuotaId(cloudFoundryClient, request.getQuotaName()) - )) - .flatMap(function((DefaultOrganizationAdmin::requestUpdateOrganization))) - .then() - .transform(OperationsLogging.log("Set Organization Quota")) - .checkpoint(); + .flatMap( + cloudFoundryClient -> + Mono.zip( + Mono.just(cloudFoundryClient), + getOrganizationId( + cloudFoundryClient, request.getOrganizationName()), + getOrganizationQuotaId( + cloudFoundryClient, request.getQuotaName()))) + .flatMap(function((DefaultOrganizationAdmin::requestUpdateOrganization))) + .then() + .transform(OperationsLogging.log("Set Organization Quota")) + .checkpoint(); } @Override public Mono updateQuota(UpdateQuotaRequest request) { return this.cloudFoundryClient - .flatMap(cloudFoundryClient -> Mono.zip( - Mono.just(cloudFoundryClient), - getOrganizationQuota(cloudFoundryClient, request.getName()) - )) - .flatMap(function((cloudFoundryClient, exitingQuotaDefinition) -> updateOrganizationQuota(cloudFoundryClient, request, exitingQuotaDefinition))) - .map(DefaultOrganizationAdmin::toOrganizationQuota) - .transform(OperationsLogging.log("Update Organization Quota")) - .checkpoint(); + .flatMap( + cloudFoundryClient -> + Mono.zip( + Mono.just(cloudFoundryClient), + getOrganizationQuota( + cloudFoundryClient, request.getName()))) + .flatMap( + function( + (cloudFoundryClient, exitingQuotaDefinition) -> + updateOrganizationQuota( + cloudFoundryClient, + request, + exitingQuotaDefinition))) + .map(DefaultOrganizationAdmin::toOrganizationQuota) + .transform(OperationsLogging.log("Update Organization Quota")) + .checkpoint(); } - private static Mono createOrganizationQuota(CloudFoundryClient cloudFoundryClient, CreateQuotaRequest request) { + private static Mono createOrganizationQuota( + CloudFoundryClient cloudFoundryClient, CreateQuotaRequest request) { return requestCreateOrganizationQuota( - cloudFoundryClient, - Optional.ofNullable(request.getApplicationInstanceLimit()).orElse(-1), - Optional.ofNullable(request.getInstanceMemoryLimit()).orElse(-1), - Optional.ofNullable(request.getMemoryLimit()).orElse(0), - request.getName(), - Optional.ofNullable(request.getAllowPaidServicePlans()).orElse(false), - Optional.ofNullable(request.getTotalReservedRoutePorts()).orElse(0), - Optional.ofNullable(request.getTotalRoutes()).orElse(0), - Optional.ofNullable(request.getTotalServices()).orElse(0)); + cloudFoundryClient, + Optional.ofNullable(request.getApplicationInstanceLimit()).orElse(-1), + Optional.ofNullable(request.getInstanceMemoryLimit()).orElse(-1), + Optional.ofNullable(request.getMemoryLimit()).orElse(0), + request.getName(), + Optional.ofNullable(request.getAllowPaidServicePlans()).orElse(false), + Optional.ofNullable(request.getTotalReservedRoutePorts()).orElse(0), + Optional.ofNullable(request.getTotalRoutes()).orElse(0), + Optional.ofNullable(request.getTotalServices()).orElse(0)); } - private static Mono deleteOrganizationQuota(CloudFoundryClient cloudFoundryClient, Duration completionTimeout, String quotaId) { + private static Mono deleteOrganizationQuota( + CloudFoundryClient cloudFoundryClient, Duration completionTimeout, String quotaId) { return requestDeleteOrganizationQuota(cloudFoundryClient, quotaId) - .flatMap(job -> JobUtils.waitForCompletion(cloudFoundryClient, completionTimeout, job)); + .flatMap( + job -> + JobUtils.waitForCompletion( + cloudFoundryClient, completionTimeout, job)); } - private static Mono getOrganizationId(CloudFoundryClient cloudFoundryClient, String name) { + private static Mono getOrganizationId( + CloudFoundryClient cloudFoundryClient, String name) { return requestListOrganizations(cloudFoundryClient, name) - .single() - .onErrorResume(NoSuchElementException.class, t -> ExceptionUtils.illegalArgument("Organization %s does not exist", name)) - .map(ResourceUtils::getId); + .single() + .onErrorResume( + NoSuchElementException.class, + t -> ExceptionUtils.illegalArgument("Organization %s does not exist", name)) + .map(ResourceUtils::getId); } - private static Mono getOrganizationQuota(CloudFoundryClient cloudFoundryClient, String name) { + private static Mono getOrganizationQuota( + CloudFoundryClient cloudFoundryClient, String name) { return requestListOrganizationQuotas(cloudFoundryClient, name) - .single() - .onErrorResume(NoSuchElementException.class, t -> ExceptionUtils.illegalArgument("Quota %s does not exist", name)); + .single() + .onErrorResume( + NoSuchElementException.class, + t -> ExceptionUtils.illegalArgument("Quota %s does not exist", name)); } - private static Mono getOrganizationQuotaId(CloudFoundryClient cloudFoundryClient, String name) { - return getOrganizationQuota(cloudFoundryClient, name) - .map(ResourceUtils::getId); + private static Mono getOrganizationQuotaId( + CloudFoundryClient cloudFoundryClient, String name) { + return getOrganizationQuota(cloudFoundryClient, name).map(ResourceUtils::getId); } - private static Mono requestCreateOrganizationQuota(CloudFoundryClient cloudFoundryClient, Integer applicationInstanceLimit, Integer instanceMemoryLimit, - Integer memoryLimit, String name, Boolean nonBasicServicesAllowed, Integer totalReservedRoutePorts, - Integer totalRoutes, Integer totalServices) { - return cloudFoundryClient.organizationQuotaDefinitions() - .create(CreateOrganizationQuotaDefinitionRequest.builder() - .applicationInstanceLimit(applicationInstanceLimit) - .instanceMemoryLimit(instanceMemoryLimit) - .memoryLimit(memoryLimit) - .name(name) - .nonBasicServicesAllowed(nonBasicServicesAllowed) - .totalReservedRoutePorts(totalReservedRoutePorts) - .totalRoutes(totalRoutes) - .totalServices(totalServices) - .build()); + private static Mono requestCreateOrganizationQuota( + CloudFoundryClient cloudFoundryClient, + Integer applicationInstanceLimit, + Integer instanceMemoryLimit, + Integer memoryLimit, + String name, + Boolean nonBasicServicesAllowed, + Integer totalReservedRoutePorts, + Integer totalRoutes, + Integer totalServices) { + return cloudFoundryClient + .organizationQuotaDefinitions() + .create( + CreateOrganizationQuotaDefinitionRequest.builder() + .applicationInstanceLimit(applicationInstanceLimit) + .instanceMemoryLimit(instanceMemoryLimit) + .memoryLimit(memoryLimit) + .name(name) + .nonBasicServicesAllowed(nonBasicServicesAllowed) + .totalReservedRoutePorts(totalReservedRoutePorts) + .totalRoutes(totalRoutes) + .totalServices(totalServices) + .build()); } - private static Mono requestDeleteOrganizationQuota(CloudFoundryClient cloudFoundryClient, String quotaId) { - return cloudFoundryClient.organizationQuotaDefinitions() - .delete(DeleteOrganizationQuotaDefinitionRequest.builder() - .organizationQuotaDefinitionId(quotaId) - .async(true) - .build()); + private static Mono requestDeleteOrganizationQuota( + CloudFoundryClient cloudFoundryClient, String quotaId) { + return cloudFoundryClient + .organizationQuotaDefinitions() + .delete( + DeleteOrganizationQuotaDefinitionRequest.builder() + .organizationQuotaDefinitionId(quotaId) + .async(true) + .build()); } - private static Flux requestListOrganizationQuotas(CloudFoundryClient cloudFoundryClient) { - return PaginationUtils - .requestClientV2Resources(page -> cloudFoundryClient.organizationQuotaDefinitions() - .list(ListOrganizationQuotaDefinitionsRequest.builder() - .page(page) - .build())); + private static Flux requestListOrganizationQuotas( + CloudFoundryClient cloudFoundryClient) { + return PaginationUtils.requestClientV2Resources( + page -> + cloudFoundryClient + .organizationQuotaDefinitions() + .list( + ListOrganizationQuotaDefinitionsRequest.builder() + .page(page) + .build())); } - private static Flux requestListOrganizationQuotas(CloudFoundryClient cloudFoundryClient, String name) { - return PaginationUtils - .requestClientV2Resources(page -> cloudFoundryClient.organizationQuotaDefinitions() - .list(ListOrganizationQuotaDefinitionsRequest.builder() - .name(name) - .page(page) - .build())); + private static Flux requestListOrganizationQuotas( + CloudFoundryClient cloudFoundryClient, String name) { + return PaginationUtils.requestClientV2Resources( + page -> + cloudFoundryClient + .organizationQuotaDefinitions() + .list( + ListOrganizationQuotaDefinitionsRequest.builder() + .name(name) + .page(page) + .build())); } - private static Flux requestListOrganizations(CloudFoundryClient cloudFoundryClient, String name) { - return PaginationUtils - .requestClientV2Resources(page -> cloudFoundryClient.organizations() - .list(ListOrganizationsRequest.builder() - .name(name) - .page(page) - .build())); + private static Flux requestListOrganizations( + CloudFoundryClient cloudFoundryClient, String name) { + return PaginationUtils.requestClientV2Resources( + page -> + cloudFoundryClient + .organizations() + .list( + ListOrganizationsRequest.builder() + .name(name) + .page(page) + .build())); } - private static Mono requestUpdateOrganization(CloudFoundryClient cloudFoundryClient, String organizationId, String quotaDefinitionId) { - return cloudFoundryClient.organizations() - .update(UpdateOrganizationRequest.builder() - .organizationId(organizationId) - .quotaDefinitionId(quotaDefinitionId) - .build()); + private static Mono requestUpdateOrganization( + CloudFoundryClient cloudFoundryClient, + String organizationId, + String quotaDefinitionId) { + return cloudFoundryClient + .organizations() + .update( + UpdateOrganizationRequest.builder() + .organizationId(organizationId) + .quotaDefinitionId(quotaDefinitionId) + .build()); } - private static Mono requestUpdateOrganizationQuota(CloudFoundryClient cloudFoundryClient, Integer applicationInstanceLimit, Integer instanceMemoryLimit, - Integer memoryLimit, String name, Boolean nonBasicServicesAllowed, - String organizationQuotaDefinitionId, Integer totalReservedRoutePorts, Integer totalRoutes, - Integer totalServices) { - return cloudFoundryClient.organizationQuotaDefinitions() - .update(UpdateOrganizationQuotaDefinitionRequest.builder() - .applicationInstanceLimit(applicationInstanceLimit) - .instanceMemoryLimit(instanceMemoryLimit) - .memoryLimit(memoryLimit) - .name(name) - .organizationQuotaDefinitionId(organizationQuotaDefinitionId) - .nonBasicServicesAllowed(nonBasicServicesAllowed) - .totalReservedRoutePorts(totalReservedRoutePorts) - .totalRoutes(totalRoutes) - .totalServices(totalServices) - .build()); + private static Mono requestUpdateOrganizationQuota( + CloudFoundryClient cloudFoundryClient, + Integer applicationInstanceLimit, + Integer instanceMemoryLimit, + Integer memoryLimit, + String name, + Boolean nonBasicServicesAllowed, + String organizationQuotaDefinitionId, + Integer totalReservedRoutePorts, + Integer totalRoutes, + Integer totalServices) { + return cloudFoundryClient + .organizationQuotaDefinitions() + .update( + UpdateOrganizationQuotaDefinitionRequest.builder() + .applicationInstanceLimit(applicationInstanceLimit) + .instanceMemoryLimit(instanceMemoryLimit) + .memoryLimit(memoryLimit) + .name(name) + .organizationQuotaDefinitionId(organizationQuotaDefinitionId) + .nonBasicServicesAllowed(nonBasicServicesAllowed) + .totalReservedRoutePorts(totalReservedRoutePorts) + .totalRoutes(totalRoutes) + .totalServices(totalServices) + .build()); } - private static OrganizationQuota toOrganizationQuota(AbstractOrganizationQuotaDefinition resource) { + private static OrganizationQuota toOrganizationQuota( + AbstractOrganizationQuotaDefinition resource) { OrganizationQuotaDefinitionEntity entity = ResourceUtils.getEntity(resource); return OrganizationQuota.builder() - .allowPaidServicePlans(entity.getNonBasicServicesAllowed()) - .applicationInstanceLimit(entity.getApplicationInstanceLimit()) - .id(ResourceUtils.getId(resource)) - .instanceMemoryLimit(entity.getInstanceMemoryLimit()) - .memoryLimit(entity.getMemoryLimit()) - .name(entity.getName()) - .totalReservedRoutePorts(entity.getTotalReservedRoutePorts()) - .totalRoutes(entity.getTotalRoutes()) - .totalServices(entity.getTotalServices()) - .build(); + .allowPaidServicePlans(entity.getNonBasicServicesAllowed()) + .applicationInstanceLimit(entity.getApplicationInstanceLimit()) + .id(ResourceUtils.getId(resource)) + .instanceMemoryLimit(entity.getInstanceMemoryLimit()) + .memoryLimit(entity.getMemoryLimit()) + .name(entity.getName()) + .totalReservedRoutePorts(entity.getTotalReservedRoutePorts()) + .totalRoutes(entity.getTotalRoutes()) + .totalServices(entity.getTotalServices()) + .build(); } - private static Mono updateOrganizationQuota(CloudFoundryClient cloudFoundryClient, UpdateQuotaRequest request, - OrganizationQuotaDefinitionResource resource) { + private static Mono updateOrganizationQuota( + CloudFoundryClient cloudFoundryClient, + UpdateQuotaRequest request, + OrganizationQuotaDefinitionResource resource) { OrganizationQuotaDefinitionEntity existing = ResourceUtils.getEntity(resource); return requestUpdateOrganizationQuota( - cloudFoundryClient, - Optional.ofNullable(request.getApplicationInstanceLimit()).orElse(-1), - Optional.ofNullable(request.getInstanceMemoryLimit()).orElse(existing.getInstanceMemoryLimit()), Optional.ofNullable(request.getMemoryLimit()).orElse(existing.getMemoryLimit()), - Optional.ofNullable(request.getNewName()).orElse(existing.getName()), Optional.ofNullable(request.getAllowPaidServicePlans()).orElse(existing.getNonBasicServicesAllowed()), - ResourceUtils.getId(resource), - Optional.ofNullable(request.getTotalReservedRoutePorts()).orElse(0), - Optional.ofNullable(request.getTotalRoutes()).orElse(existing.getTotalRoutes()), - Optional.ofNullable(request.getTotalServices()).orElse(existing.getTotalServices())); + cloudFoundryClient, + Optional.ofNullable(request.getApplicationInstanceLimit()).orElse(-1), + Optional.ofNullable(request.getInstanceMemoryLimit()) + .orElse(existing.getInstanceMemoryLimit()), + Optional.ofNullable(request.getMemoryLimit()).orElse(existing.getMemoryLimit()), + Optional.ofNullable(request.getNewName()).orElse(existing.getName()), + Optional.ofNullable(request.getAllowPaidServicePlans()) + .orElse(existing.getNonBasicServicesAllowed()), + ResourceUtils.getId(resource), + Optional.ofNullable(request.getTotalReservedRoutePorts()).orElse(0), + Optional.ofNullable(request.getTotalRoutes()).orElse(existing.getTotalRoutes()), + Optional.ofNullable(request.getTotalServices()) + .orElse(existing.getTotalServices())); } - } diff --git a/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/organizationadmin/OrganizationAdmin.java b/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/organizationadmin/OrganizationAdmin.java index d2a950b531..d98b27216a 100644 --- a/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/organizationadmin/OrganizationAdmin.java +++ b/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/organizationadmin/OrganizationAdmin.java @@ -70,5 +70,4 @@ public interface OrganizationAdmin { * @return the organization quota */ Mono updateQuota(UpdateQuotaRequest request); - } diff --git a/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/organizations/DefaultOrganizations.java b/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/organizations/DefaultOrganizations.java index bc9a70ee41..ab8c4eae51 100644 --- a/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/organizations/DefaultOrganizations.java +++ b/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/organizations/DefaultOrganizations.java @@ -16,6 +16,12 @@ package org.cloudfoundry.operations.organizations; +import static org.cloudfoundry.util.tuple.TupleUtils.function; +import static org.cloudfoundry.util.tuple.TupleUtils.predicate; + +import java.time.Duration; +import java.util.List; +import java.util.NoSuchElementException; import org.cloudfoundry.client.CloudFoundryClient; import org.cloudfoundry.client.v2.featureflags.GetFeatureFlagRequest; import org.cloudfoundry.client.v2.featureflags.GetFeatureFlagResponse; @@ -51,13 +57,6 @@ import reactor.core.publisher.Mono; import reactor.util.function.Tuple4; -import java.time.Duration; -import java.util.List; -import java.util.NoSuchElementException; - -import static org.cloudfoundry.util.tuple.TupleUtils.function; -import static org.cloudfoundry.util.tuple.TupleUtils.predicate; - public final class DefaultOrganizations implements Organizations { private static final String SET_ROLES_BY_USERNAME_FEATURE_FLAG = "set_roles_by_username"; @@ -66,326 +65,451 @@ public final class DefaultOrganizations implements Organizations { private final Mono username; - public DefaultOrganizations(Mono cloudFoundryClient, Mono username) { + public DefaultOrganizations( + Mono cloudFoundryClient, Mono username) { this.cloudFoundryClient = cloudFoundryClient; this.username = username; } @Override public Mono create(CreateOrganizationRequest request) { - return Mono - .zip(this.cloudFoundryClient, this.username) - .flatMap(function((cloudFoundryClient, username) -> Mono.zip( - Mono.just(cloudFoundryClient), - createOrganization(cloudFoundryClient, request), - getFeatureFlagEnabled(cloudFoundryClient, SET_ROLES_BY_USERNAME_FEATURE_FLAG), - Mono.just(username) - ))) - .filter(predicate((cloudFoundryClient, organizationId, setRolesByUsernameEnabled, username) -> setRolesByUsernameEnabled)) - .flatMap(function((cloudFoundryClient, organizationId, setRolesByUsernameEnabled, username) -> setOrganizationManager(cloudFoundryClient, organizationId, username))) - .transform(OperationsLogging.log("Create Organization")) - .checkpoint(); + return Mono.zip(this.cloudFoundryClient, this.username) + .flatMap( + function( + (cloudFoundryClient, username) -> + Mono.zip( + Mono.just(cloudFoundryClient), + createOrganization(cloudFoundryClient, request), + getFeatureFlagEnabled( + cloudFoundryClient, + SET_ROLES_BY_USERNAME_FEATURE_FLAG), + Mono.just(username)))) + .filter( + predicate( + (cloudFoundryClient, + organizationId, + setRolesByUsernameEnabled, + username) -> setRolesByUsernameEnabled)) + .flatMap( + function( + (cloudFoundryClient, + organizationId, + setRolesByUsernameEnabled, + username) -> + setOrganizationManager( + cloudFoundryClient, organizationId, username))) + .transform(OperationsLogging.log("Create Organization")) + .checkpoint(); } @Override public Mono delete(DeleteOrganizationRequest request) { return this.cloudFoundryClient - .flatMap(cloudFoundryClient -> Mono.zip( - Mono.just(cloudFoundryClient), - Mono.just(request.getCompletionTimeout()), - getOrganizationId(cloudFoundryClient, request.getName()) - )) - .flatMap(function(DefaultOrganizations::deleteOrganization)) - .transform(OperationsLogging.log("Delete Organization")) - .checkpoint(); + .flatMap( + cloudFoundryClient -> + Mono.zip( + Mono.just(cloudFoundryClient), + Mono.just(request.getCompletionTimeout()), + getOrganizationId(cloudFoundryClient, request.getName()))) + .flatMap(function(DefaultOrganizations::deleteOrganization)) + .transform(OperationsLogging.log("Delete Organization")) + .checkpoint(); } @Override public Mono get(OrganizationInfoRequest request) { return this.cloudFoundryClient - .flatMap(cloudFoundryClient -> Mono.zip( - Mono.just(cloudFoundryClient), - getOrganization(cloudFoundryClient, request.getName()) - )) - .flatMap(function((cloudFoundryClient, organizationResource) -> getAuxiliaryContent(cloudFoundryClient, organizationResource) - .map(function((domains, organizationQuota, spacesQuotas, spaces) -> toOrganizationDetail(domains, organizationQuota, spacesQuotas, spaces, organizationResource, request))))) - .transform(OperationsLogging.log("Get Organization")) - .checkpoint(); + .flatMap( + cloudFoundryClient -> + Mono.zip( + Mono.just(cloudFoundryClient), + getOrganization(cloudFoundryClient, request.getName()))) + .flatMap( + function( + (cloudFoundryClient, organizationResource) -> + getAuxiliaryContent( + cloudFoundryClient, organizationResource) + .map( + function( + (domains, + organizationQuota, + spacesQuotas, + spaces) -> + toOrganizationDetail( + domains, + organizationQuota, + spacesQuotas, + spaces, + organizationResource, + request))))) + .transform(OperationsLogging.log("Get Organization")) + .checkpoint(); } @Override public Flux list() { return this.cloudFoundryClient - .flatMapMany(DefaultOrganizations::requestOrganizations) - .map(DefaultOrganizations::toOrganizationSummary) - .transform(OperationsLogging.log("List Organizations")) - .checkpoint(); + .flatMapMany(DefaultOrganizations::requestOrganizations) + .map(DefaultOrganizations::toOrganizationSummary) + .transform(OperationsLogging.log("List Organizations")) + .checkpoint(); } @Override public Mono rename(RenameOrganizationRequest request) { return this.cloudFoundryClient - .flatMap(cloudFoundryClient -> Mono.zip( - Mono.just(cloudFoundryClient), - getOrganizationId(cloudFoundryClient, request.getName()) - )) - .flatMap(function((cloudFoundryClient, organizationId) -> requestUpdateOrganization(cloudFoundryClient, organizationId, request.getNewName()))) - .then() - .transform(OperationsLogging.log("Rename Organization")) - .checkpoint(); - } - - private static Mono createOrganization(CloudFoundryClient cloudFoundryClient, CreateOrganizationRequest request) { - return Mono - .justOrEmpty(request.getQuotaDefinitionName()) - .flatMap(quotaDefinitionName -> getOrganizationQuotaDefinitionId(cloudFoundryClient, quotaDefinitionName)) - .flatMap(organizationQuotaDefinitionId -> getCreateOrganizationId(cloudFoundryClient, request.getOrganizationName(), organizationQuotaDefinitionId)) - .switchIfEmpty(getCreateOrganizationId(cloudFoundryClient, request.getOrganizationName(), null)); - } - - private static Mono deleteOrganization(CloudFoundryClient cloudFoundryClient, Duration completionTimeout, String organizationId) { + .flatMap( + cloudFoundryClient -> + Mono.zip( + Mono.just(cloudFoundryClient), + getOrganizationId(cloudFoundryClient, request.getName()))) + .flatMap( + function( + (cloudFoundryClient, organizationId) -> + requestUpdateOrganization( + cloudFoundryClient, + organizationId, + request.getNewName()))) + .then() + .transform(OperationsLogging.log("Rename Organization")) + .checkpoint(); + } + + private static Mono createOrganization( + CloudFoundryClient cloudFoundryClient, CreateOrganizationRequest request) { + return Mono.justOrEmpty(request.getQuotaDefinitionName()) + .flatMap( + quotaDefinitionName -> + getOrganizationQuotaDefinitionId( + cloudFoundryClient, quotaDefinitionName)) + .flatMap( + organizationQuotaDefinitionId -> + getCreateOrganizationId( + cloudFoundryClient, + request.getOrganizationName(), + organizationQuotaDefinitionId)) + .switchIfEmpty( + getCreateOrganizationId( + cloudFoundryClient, request.getOrganizationName(), null)); + } + + private static Mono deleteOrganization( + CloudFoundryClient cloudFoundryClient, + Duration completionTimeout, + String organizationId) { return requestDeleteOrganization(cloudFoundryClient, organizationId) - .flatMap(job -> JobUtils.waitForCompletion(cloudFoundryClient, completionTimeout, job)); + .flatMap( + job -> + JobUtils.waitForCompletion( + cloudFoundryClient, completionTimeout, job)); } - private static Mono, OrganizationQuota, List, List>> getAuxiliaryContent(CloudFoundryClient cloudFoundryClient, OrganizationResource organizationResource) { + private static Mono, OrganizationQuota, List, List>> + getAuxiliaryContent( + CloudFoundryClient cloudFoundryClient, + OrganizationResource organizationResource) { String organizationId = ResourceUtils.getId(organizationResource); - return Mono - .zip( + return Mono.zip( getDomainNames(cloudFoundryClient, organizationId), getOrganizationQuota(cloudFoundryClient, organizationResource), getSpaceQuotas(cloudFoundryClient, organizationId), - getSpaceNames(cloudFoundryClient, organizationId) - ); + getSpaceNames(cloudFoundryClient, organizationId)); } - private static Mono getCreateOrganizationId(CloudFoundryClient cloudFoundryClient, String organization, String quotaDefinitionId) { + private static Mono getCreateOrganizationId( + CloudFoundryClient cloudFoundryClient, String organization, String quotaDefinitionId) { return requestCreateOrganization(cloudFoundryClient, organization, quotaDefinitionId) - .map(ResourceUtils::getId); + .map(ResourceUtils::getId); } - private static Mono> getDomainNames(CloudFoundryClient cloudFoundryClient, String organizationId) { + private static Mono> getDomainNames( + CloudFoundryClient cloudFoundryClient, String organizationId) { return requestListPrivateDomains(cloudFoundryClient, organizationId) - .map(resource -> resource.getEntity().getName()) - .mergeWith(requestListSharedDomains(cloudFoundryClient) - .map(resource -> resource.getEntity().getName())) - .collectList(); + .map(resource -> resource.getEntity().getName()) + .mergeWith( + requestListSharedDomains(cloudFoundryClient) + .map(resource -> resource.getEntity().getName())) + .collectList(); } - private static Mono getFeatureFlagEnabled(CloudFoundryClient cloudFoundryClient, String featureFlag) { + private static Mono getFeatureFlagEnabled( + CloudFoundryClient cloudFoundryClient, String featureFlag) { return requestGetFeatureFlag(cloudFoundryClient, featureFlag) - .map(GetFeatureFlagResponse::getEnabled); + .map(GetFeatureFlagResponse::getEnabled); } - private static Mono getOrganization(CloudFoundryClient cloudFoundryClient, String organization) { + private static Mono getOrganization( + CloudFoundryClient cloudFoundryClient, String organization) { return requestOrganizations(cloudFoundryClient, organization) - .single() - .onErrorResume(NoSuchElementException.class, t -> ExceptionUtils.illegalArgument("Organization %s does not exist", organization)); + .single() + .onErrorResume( + NoSuchElementException.class, + t -> + ExceptionUtils.illegalArgument( + "Organization %s does not exist", organization)); } - private static Mono getOrganizationId(CloudFoundryClient cloudFoundryClient, String organization) { - return getOrganization(cloudFoundryClient, organization) - .map(ResourceUtils::getId); + private static Mono getOrganizationId( + CloudFoundryClient cloudFoundryClient, String organization) { + return getOrganization(cloudFoundryClient, organization).map(ResourceUtils::getId); } - private static Mono getOrganizationQuota(CloudFoundryClient cloudFoundryClient, OrganizationResource resource) { - return requestOrganizationQuotaDefinition(cloudFoundryClient, ResourceUtils.getEntity(resource).getQuotaDefinitionId()) - .map(response -> toOrganizationQuota(response, resource)); - + private static Mono getOrganizationQuota( + CloudFoundryClient cloudFoundryClient, OrganizationResource resource) { + return requestOrganizationQuotaDefinition( + cloudFoundryClient, + ResourceUtils.getEntity(resource).getQuotaDefinitionId()) + .map(response -> toOrganizationQuota(response, resource)); } - private static Mono getOrganizationQuotaDefinition(CloudFoundryClient cloudFoundryClient, String quotaDefinitionName) { + private static Mono getOrganizationQuotaDefinition( + CloudFoundryClient cloudFoundryClient, String quotaDefinitionName) { return requestOrganizationQuotaDefinitions(cloudFoundryClient, quotaDefinitionName) - .single() - .onErrorResume(NoSuchElementException.class, t -> ExceptionUtils.illegalArgument("Organization quota %s does not exist", quotaDefinitionName)); + .single() + .onErrorResume( + NoSuchElementException.class, + t -> + ExceptionUtils.illegalArgument( + "Organization quota %s does not exist", + quotaDefinitionName)); } - private static Mono getOrganizationQuotaDefinitionId(CloudFoundryClient cloudFoundryClient, String quotaDefinitionName) { + private static Mono getOrganizationQuotaDefinitionId( + CloudFoundryClient cloudFoundryClient, String quotaDefinitionName) { return getOrganizationQuotaDefinition(cloudFoundryClient, quotaDefinitionName) - .map(ResourceUtils::getId); + .map(ResourceUtils::getId); } - private static Mono> getSpaceNames(CloudFoundryClient cloudFoundryClient, String organizationId) { + private static Mono> getSpaceNames( + CloudFoundryClient cloudFoundryClient, String organizationId) { return requestSpaces(cloudFoundryClient, organizationId) - .map(resource -> ResourceUtils.getEntity(resource).getName()) - .collectList(); + .map(resource -> ResourceUtils.getEntity(resource).getName()) + .collectList(); } - private static Mono> getSpaceQuotas(CloudFoundryClient cloudFoundryClient, String organizationId) { + private static Mono> getSpaceQuotas( + CloudFoundryClient cloudFoundryClient, String organizationId) { return requestSpaceQuotaDefinitions(cloudFoundryClient, organizationId) - .map(DefaultOrganizations::toSpaceQuota) - .collectList(); - } - - private static Mono requestAssociateOrganizationManagerByUsername(CloudFoundryClient cloudFoundryClient, String organizationId, String username) { - return cloudFoundryClient.organizations() - .associateManagerByUsername(AssociateOrganizationManagerByUsernameRequest.builder() - .organizationId(organizationId) - .username(username) - .build()); - } - - private static Mono requestAssociateOrganizationUserByUsername(CloudFoundryClient cloudFoundryClient, String organizationId, String username) { - return cloudFoundryClient.organizations() - .associateUserByUsername(AssociateOrganizationUserByUsernameRequest.builder() - .organizationId(organizationId) - .username(username) - .build()); - } - - private static Mono requestCreateOrganization(CloudFoundryClient cloudFoundryClient, String organization, String quotaDefinitionId) { - return cloudFoundryClient.organizations() - .create(org.cloudfoundry.client.v2.organizations.CreateOrganizationRequest - .builder() - .name(organization) - .quotaDefinitionId(quotaDefinitionId) - .build()); - } - - private static Mono requestDeleteOrganization(CloudFoundryClient cloudFoundryClient, String organizationId) { - return cloudFoundryClient.organizations() - .delete(org.cloudfoundry.client.v2.organizations.DeleteOrganizationRequest.builder() - .organizationId(organizationId) - .async(true) - .build()); - } - - private static Mono requestGetFeatureFlag(CloudFoundryClient cloudFoundryClient, String featureFlag) { - return cloudFoundryClient.featureFlags() - .get(GetFeatureFlagRequest.builder() - .name(featureFlag) - .build()); - } - - private static Flux requestListPrivateDomains(CloudFoundryClient cloudFoundryClient, String organizationId) { - return PaginationUtils - .requestClientV2Resources(page -> cloudFoundryClient.organizations() - .listPrivateDomains(ListOrganizationPrivateDomainsRequest.builder() - .organizationId(organizationId) - .page(page) - .build())); - } - - private static Flux requestListSharedDomains(CloudFoundryClient cloudFoundryClient) { - return PaginationUtils - .requestClientV2Resources(page -> cloudFoundryClient.sharedDomains() - .list(ListSharedDomainsRequest.builder() - .page(page) - .build())); - } - - private static Mono requestOrganizationQuotaDefinition(CloudFoundryClient cloudFoundryClient, String quotaDefinitionId) { - return cloudFoundryClient.organizationQuotaDefinitions() - .get(GetOrganizationQuotaDefinitionRequest.builder() - .organizationQuotaDefinitionId(quotaDefinitionId) - .build()); - } - - private static Flux requestOrganizationQuotaDefinitions(CloudFoundryClient cloudFoundryClient, String organizationQuotaDefinition) { - return PaginationUtils - .requestClientV2Resources(page -> cloudFoundryClient.organizationQuotaDefinitions() - .list(ListOrganizationQuotaDefinitionsRequest.builder() - .name(organizationQuotaDefinition) - .page(page) - .build())); - } - - private static Flux requestOrganizations(CloudFoundryClient cloudFoundryClient, String organizationName) { - return PaginationUtils - .requestClientV2Resources(page -> cloudFoundryClient.organizations() - .list(ListOrganizationsRequest.builder() - .name(organizationName) - .page(page) - .build())); - } - - private static Flux requestOrganizations(CloudFoundryClient cloudFoundryClient) { - return PaginationUtils - .requestClientV2Resources(page -> cloudFoundryClient.organizations() - .list(ListOrganizationsRequest.builder() - .page(page) - .build())); - } - - private static Flux requestSpaceQuotaDefinitions(CloudFoundryClient cloudFoundryClient, String organizationId) { - return PaginationUtils - .requestClientV2Resources(page -> cloudFoundryClient.organizations() - .listSpaceQuotaDefinitions(ListOrganizationSpaceQuotaDefinitionsRequest.builder() - .page(page) - .organizationId(organizationId) - .build())); - } - - private static Flux requestSpaces(CloudFoundryClient cloudFoundryClient, String organizationId) { - return PaginationUtils - .requestClientV2Resources(page -> cloudFoundryClient.organizations() - .listSpaces(ListOrganizationSpacesRequest.builder() - .page(page) - .organizationId(organizationId) - .build())); - } - - private static Mono requestUpdateOrganization(CloudFoundryClient cloudFoundryClient, String organizationId, String newName) { - return cloudFoundryClient.organizations() - .update(UpdateOrganizationRequest.builder() - .organizationId(organizationId) - .name(newName) - .build()); - } - - private static Mono setOrganizationManager(CloudFoundryClient cloudFoundryClient, String organizationId, String username) { - return Mono - .zip( - requestAssociateOrganizationManagerByUsername(cloudFoundryClient, organizationId, username), - requestAssociateOrganizationUserByUsername(cloudFoundryClient, organizationId, username) - ) - .then(); - } - - private static OrganizationDetail toOrganizationDetail(List domains, OrganizationQuota organizationQuota, List spacesQuotas, List spaces, - OrganizationResource organizationResource, OrganizationInfoRequest organizationInfoRequest) { + .map(DefaultOrganizations::toSpaceQuota) + .collectList(); + } + + private static Mono + requestAssociateOrganizationManagerByUsername( + CloudFoundryClient cloudFoundryClient, String organizationId, String username) { + return cloudFoundryClient + .organizations() + .associateManagerByUsername( + AssociateOrganizationManagerByUsernameRequest.builder() + .organizationId(organizationId) + .username(username) + .build()); + } + + private static Mono + requestAssociateOrganizationUserByUsername( + CloudFoundryClient cloudFoundryClient, String organizationId, String username) { + return cloudFoundryClient + .organizations() + .associateUserByUsername( + AssociateOrganizationUserByUsernameRequest.builder() + .organizationId(organizationId) + .username(username) + .build()); + } + + private static Mono requestCreateOrganization( + CloudFoundryClient cloudFoundryClient, String organization, String quotaDefinitionId) { + return cloudFoundryClient + .organizations() + .create( + org.cloudfoundry.client.v2.organizations.CreateOrganizationRequest.builder() + .name(organization) + .quotaDefinitionId(quotaDefinitionId) + .build()); + } + + private static Mono requestDeleteOrganization( + CloudFoundryClient cloudFoundryClient, String organizationId) { + return cloudFoundryClient + .organizations() + .delete( + org.cloudfoundry.client.v2.organizations.DeleteOrganizationRequest.builder() + .organizationId(organizationId) + .async(true) + .build()); + } + + private static Mono requestGetFeatureFlag( + CloudFoundryClient cloudFoundryClient, String featureFlag) { + return cloudFoundryClient + .featureFlags() + .get(GetFeatureFlagRequest.builder().name(featureFlag).build()); + } + + private static Flux requestListPrivateDomains( + CloudFoundryClient cloudFoundryClient, String organizationId) { + return PaginationUtils.requestClientV2Resources( + page -> + cloudFoundryClient + .organizations() + .listPrivateDomains( + ListOrganizationPrivateDomainsRequest.builder() + .organizationId(organizationId) + .page(page) + .build())); + } + + private static Flux requestListSharedDomains( + CloudFoundryClient cloudFoundryClient) { + return PaginationUtils.requestClientV2Resources( + page -> + cloudFoundryClient + .sharedDomains() + .list(ListSharedDomainsRequest.builder().page(page).build())); + } + + private static Mono requestOrganizationQuotaDefinition( + CloudFoundryClient cloudFoundryClient, String quotaDefinitionId) { + return cloudFoundryClient + .organizationQuotaDefinitions() + .get( + GetOrganizationQuotaDefinitionRequest.builder() + .organizationQuotaDefinitionId(quotaDefinitionId) + .build()); + } + + private static Flux requestOrganizationQuotaDefinitions( + CloudFoundryClient cloudFoundryClient, String organizationQuotaDefinition) { + return PaginationUtils.requestClientV2Resources( + page -> + cloudFoundryClient + .organizationQuotaDefinitions() + .list( + ListOrganizationQuotaDefinitionsRequest.builder() + .name(organizationQuotaDefinition) + .page(page) + .build())); + } + + private static Flux requestOrganizations( + CloudFoundryClient cloudFoundryClient, String organizationName) { + return PaginationUtils.requestClientV2Resources( + page -> + cloudFoundryClient + .organizations() + .list( + ListOrganizationsRequest.builder() + .name(organizationName) + .page(page) + .build())); + } + + private static Flux requestOrganizations( + CloudFoundryClient cloudFoundryClient) { + return PaginationUtils.requestClientV2Resources( + page -> + cloudFoundryClient + .organizations() + .list(ListOrganizationsRequest.builder().page(page).build())); + } + + private static Flux requestSpaceQuotaDefinitions( + CloudFoundryClient cloudFoundryClient, String organizationId) { + return PaginationUtils.requestClientV2Resources( + page -> + cloudFoundryClient + .organizations() + .listSpaceQuotaDefinitions( + ListOrganizationSpaceQuotaDefinitionsRequest.builder() + .page(page) + .organizationId(organizationId) + .build())); + } + + private static Flux requestSpaces( + CloudFoundryClient cloudFoundryClient, String organizationId) { + return PaginationUtils.requestClientV2Resources( + page -> + cloudFoundryClient + .organizations() + .listSpaces( + ListOrganizationSpacesRequest.builder() + .page(page) + .organizationId(organizationId) + .build())); + } + + private static Mono requestUpdateOrganization( + CloudFoundryClient cloudFoundryClient, String organizationId, String newName) { + return cloudFoundryClient + .organizations() + .update( + UpdateOrganizationRequest.builder() + .organizationId(organizationId) + .name(newName) + .build()); + } + + private static Mono setOrganizationManager( + CloudFoundryClient cloudFoundryClient, String organizationId, String username) { + return Mono.zip( + requestAssociateOrganizationManagerByUsername( + cloudFoundryClient, organizationId, username), + requestAssociateOrganizationUserByUsername( + cloudFoundryClient, organizationId, username)) + .then(); + } + + private static OrganizationDetail toOrganizationDetail( + List domains, + OrganizationQuota organizationQuota, + List spacesQuotas, + List spaces, + OrganizationResource organizationResource, + OrganizationInfoRequest organizationInfoRequest) { return OrganizationDetail.builder() - .domains(domains) - .id(ResourceUtils.getId(organizationResource)) - .name(organizationInfoRequest.getName()) - .quota(organizationQuota) - .spaceQuotas(spacesQuotas) - .spaces(spaces) - .build(); + .domains(domains) + .id(ResourceUtils.getId(organizationResource)) + .name(organizationInfoRequest.getName()) + .quota(organizationQuota) + .spaceQuotas(spacesQuotas) + .spaces(spaces) + .build(); } - private static OrganizationQuota toOrganizationQuota(GetOrganizationQuotaDefinitionResponse response, OrganizationResource resource) { + private static OrganizationQuota toOrganizationQuota( + GetOrganizationQuotaDefinitionResponse response, OrganizationResource resource) { return OrganizationQuota.builder() - .id(ResourceUtils.getId(response)) - .organizationId(ResourceUtils.getId(resource)) - .name(ResourceUtils.getEntity(response).getName()) - .totalMemoryLimit(ResourceUtils.getEntity(response).getMemoryLimit()) - .instanceMemoryLimit(ResourceUtils.getEntity(response).getInstanceMemoryLimit()) - .totalRoutes(ResourceUtils.getEntity(response).getTotalRoutes()) - .totalServiceInstances(ResourceUtils.getEntity(response).getTotalServices()) - .paidServicePlans(ResourceUtils.getEntity(response).getNonBasicServicesAllowed()) - .build(); + .id(ResourceUtils.getId(response)) + .organizationId(ResourceUtils.getId(resource)) + .name(ResourceUtils.getEntity(response).getName()) + .totalMemoryLimit(ResourceUtils.getEntity(response).getMemoryLimit()) + .instanceMemoryLimit(ResourceUtils.getEntity(response).getInstanceMemoryLimit()) + .totalRoutes(ResourceUtils.getEntity(response).getTotalRoutes()) + .totalServiceInstances(ResourceUtils.getEntity(response).getTotalServices()) + .paidServicePlans(ResourceUtils.getEntity(response).getNonBasicServicesAllowed()) + .build(); } private static OrganizationSummary toOrganizationSummary(OrganizationResource resource) { return OrganizationSummary.builder() - .id(ResourceUtils.getId(resource)) - .name(ResourceUtils.getEntity(resource).getName()) - .build(); + .id(ResourceUtils.getId(resource)) + .name(ResourceUtils.getEntity(resource).getName()) + .build(); } private static SpaceQuota toSpaceQuota(SpaceQuotaDefinitionResource resource) { return SpaceQuota.builder() - .id(ResourceUtils.getId(resource)) - .organizationId(ResourceUtils.getEntity(resource).getOrganizationId()) - .name(ResourceUtils.getEntity(resource).getName()) - .totalMemoryLimit(ResourceUtils.getEntity(resource).getMemoryLimit()) - .instanceMemoryLimit(ResourceUtils.getEntity(resource).getInstanceMemoryLimit()) - .totalRoutes(ResourceUtils.getEntity(resource).getTotalRoutes()) - .totalServiceInstances(ResourceUtils.getEntity(resource).getTotalServices()) - .paidServicePlans(ResourceUtils.getEntity(resource).getNonBasicServicesAllowed()) - .build(); + .id(ResourceUtils.getId(resource)) + .organizationId(ResourceUtils.getEntity(resource).getOrganizationId()) + .name(ResourceUtils.getEntity(resource).getName()) + .totalMemoryLimit(ResourceUtils.getEntity(resource).getMemoryLimit()) + .instanceMemoryLimit(ResourceUtils.getEntity(resource).getInstanceMemoryLimit()) + .totalRoutes(ResourceUtils.getEntity(resource).getTotalRoutes()) + .totalServiceInstances(ResourceUtils.getEntity(resource).getTotalServices()) + .paidServicePlans(ResourceUtils.getEntity(resource).getNonBasicServicesAllowed()) + .build(); } - } diff --git a/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/organizations/Organizations.java b/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/organizations/Organizations.java index 1bd30cf8a9..452ae31885 100644 --- a/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/organizations/Organizations.java +++ b/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/organizations/Organizations.java @@ -62,5 +62,4 @@ public interface Organizations { * @return completion indicator */ Mono rename(RenameOrganizationRequest request); - } diff --git a/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/routes/DefaultRoutes.java b/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/routes/DefaultRoutes.java index bd02a06ff4..0bd0de2357 100644 --- a/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/routes/DefaultRoutes.java +++ b/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/routes/DefaultRoutes.java @@ -16,6 +16,17 @@ package org.cloudfoundry.operations.routes; +import static org.cloudfoundry.util.tuple.TupleUtils.function; +import static org.cloudfoundry.util.tuple.TupleUtils.predicate; + +import java.time.Duration; +import java.util.Collections; +import java.util.List; +import java.util.Map; +import java.util.NoSuchElementException; +import java.util.Optional; +import java.util.function.Function; +import java.util.function.UnaryOperator; import org.cloudfoundry.client.CloudFoundryClient; import org.cloudfoundry.client.v2.Resource; import org.cloudfoundry.client.v2.applications.ApplicationResource; @@ -48,18 +59,6 @@ import reactor.core.publisher.Mono; import reactor.util.function.Tuples; -import java.time.Duration; -import java.util.Collections; -import java.util.List; -import java.util.Map; -import java.util.NoSuchElementException; -import java.util.Optional; -import java.util.function.Function; -import java.util.function.UnaryOperator; - -import static org.cloudfoundry.util.tuple.TupleUtils.function; -import static org.cloudfoundry.util.tuple.TupleUtils.predicate; - public final class DefaultRoutes implements Routes { private final Mono cloudFoundryClient; @@ -68,7 +67,10 @@ public final class DefaultRoutes implements Routes { private final Mono spaceId; - public DefaultRoutes(Mono cloudFoundryClient, Mono organizationId, Mono spaceId) { + public DefaultRoutes( + Mono cloudFoundryClient, + Mono organizationId, + Mono spaceId) { this.cloudFoundryClient = cloudFoundryClient; this.organizationId = organizationId; this.spaceId = spaceId; @@ -76,260 +78,484 @@ public DefaultRoutes(Mono cloudFoundryClient, Mono o @Override public Mono check(CheckRouteRequest request) { - return Mono - .zip(this.cloudFoundryClient, this.organizationId) - .flatMap(function((cloudFoundryClient, organizationId) -> Mono.zip( - Mono.just(cloudFoundryClient), - getOptionalDomainId(cloudFoundryClient, organizationId, request.getDomain()) - ))) - .flatMap(function((cloudFoundryClient, domainId) -> requestRouteExists(cloudFoundryClient, domainId, request.getHost(), request.getPath()))) - .defaultIfEmpty(false) - .transform(OperationsLogging.log("Check Route Exists")) - .checkpoint(); + return Mono.zip(this.cloudFoundryClient, this.organizationId) + .flatMap( + function( + (cloudFoundryClient, organizationId) -> + Mono.zip( + Mono.just(cloudFoundryClient), + getOptionalDomainId( + cloudFoundryClient, + organizationId, + request.getDomain())))) + .flatMap( + function( + (cloudFoundryClient, domainId) -> + requestRouteExists( + cloudFoundryClient, + domainId, + request.getHost(), + request.getPath()))) + .defaultIfEmpty(false) + .transform(OperationsLogging.log("Check Route Exists")) + .checkpoint(); } @Override public Mono create(CreateRouteRequest request) { - return Mono - .zip(this.cloudFoundryClient, this.organizationId) - .flatMap(function((cloudFoundryClient, organizationId) -> Mono.zip( - Mono.just(cloudFoundryClient), - getSpaceId(cloudFoundryClient, organizationId, request.getSpace()), - getDomainId(cloudFoundryClient, organizationId, request.getDomain()) - ))) - .flatMap(function((cloudFoundryClient, spaceId, domainId) -> - requestCreateRoute(cloudFoundryClient, domainId, request.getHost(), request.getPath(), request.getPort(), request.getRandomPort(), spaceId) - .map(ResourceUtils::getEntity) - .flatMap(routeEntity -> Mono.justOrEmpty(routeEntity.getPort())) - )) - .transform(OperationsLogging.log("Create Route")) - .checkpoint(); + return Mono.zip(this.cloudFoundryClient, this.organizationId) + .flatMap( + function( + (cloudFoundryClient, organizationId) -> + Mono.zip( + Mono.just(cloudFoundryClient), + getSpaceId( + cloudFoundryClient, + organizationId, + request.getSpace()), + getDomainId( + cloudFoundryClient, + organizationId, + request.getDomain())))) + .flatMap( + function( + (cloudFoundryClient, spaceId, domainId) -> + requestCreateRoute( + cloudFoundryClient, + domainId, + request.getHost(), + request.getPath(), + request.getPort(), + request.getRandomPort(), + spaceId) + .map(ResourceUtils::getEntity) + .flatMap( + routeEntity -> + Mono.justOrEmpty( + routeEntity.getPort())))) + .transform(OperationsLogging.log("Create Route")) + .checkpoint(); } @Override public Mono delete(DeleteRouteRequest request) { - return Mono - .zip(this.cloudFoundryClient, this.organizationId) - .flatMap(function((cloudFoundryClient, organizationId) -> Mono.zip( - Mono.just(cloudFoundryClient), - getDomainId(cloudFoundryClient, organizationId, request.getDomain()) - ))) - .flatMap(function((cloudFoundryClient, domainId) -> Mono.zip( - Mono.just(cloudFoundryClient), - Mono.just(request.getCompletionTimeout()), - getRouteId(cloudFoundryClient, request.getHost(), request.getDomain(), domainId, request.getPath(), request.getPort()) - ))) - .flatMap(function(DefaultRoutes::deleteRoute)) - .transform(OperationsLogging.log("Delete Route")) - .checkpoint(); + return Mono.zip(this.cloudFoundryClient, this.organizationId) + .flatMap( + function( + (cloudFoundryClient, organizationId) -> + Mono.zip( + Mono.just(cloudFoundryClient), + getDomainId( + cloudFoundryClient, + organizationId, + request.getDomain())))) + .flatMap( + function( + (cloudFoundryClient, domainId) -> + Mono.zip( + Mono.just(cloudFoundryClient), + Mono.just(request.getCompletionTimeout()), + getRouteId( + cloudFoundryClient, + request.getHost(), + request.getDomain(), + domainId, + request.getPath(), + request.getPort())))) + .flatMap(function(DefaultRoutes::deleteRoute)) + .transform(OperationsLogging.log("Delete Route")) + .checkpoint(); } @Override public Mono deleteOrphanedRoutes(DeleteOrphanedRoutesRequest request) { - return Mono - .zip(this.cloudFoundryClient, this.spaceId) - .flatMapMany(function((cloudFoundryClient, spaceId) -> requestSpaceRoutes(cloudFoundryClient, spaceId) - .filter(route -> isRouteOrphan(ResourceUtils.getEntity(route))) - .map(ResourceUtils::getId) - .map(routeId -> Tuples.of(cloudFoundryClient, routeId)))) - .flatMap(function((cloudFoundryClient, routeId) -> getApplications(cloudFoundryClient, routeId) - .map(applicationResources -> Tuples.of(cloudFoundryClient, applicationResources, routeId)))) - .filter(predicate((cloudFoundryClient, applicationResources, routeId) -> isApplicationOrphan(applicationResources))) - .flatMap(function((cloudFoundryClient, applicationResources, routeId) -> deleteRoute(cloudFoundryClient, request.getCompletionTimeout(), routeId))) - .then() - .transform(OperationsLogging.log("Delete Orphaned Routes")) - .checkpoint(); + return Mono.zip(this.cloudFoundryClient, this.spaceId) + .flatMapMany( + function( + (cloudFoundryClient, spaceId) -> + requestSpaceRoutes(cloudFoundryClient, spaceId) + .filter( + route -> + isRouteOrphan( + ResourceUtils.getEntity( + route))) + .map(ResourceUtils::getId) + .map( + routeId -> + Tuples.of( + cloudFoundryClient, + routeId)))) + .flatMap( + function( + (cloudFoundryClient, routeId) -> + getApplications(cloudFoundryClient, routeId) + .map( + applicationResources -> + Tuples.of( + cloudFoundryClient, + applicationResources, + routeId)))) + .filter( + predicate( + (cloudFoundryClient, applicationResources, routeId) -> + isApplicationOrphan(applicationResources))) + .flatMap( + function( + (cloudFoundryClient, applicationResources, routeId) -> + deleteRoute( + cloudFoundryClient, + request.getCompletionTimeout(), + routeId))) + .then() + .transform(OperationsLogging.log("Delete Orphaned Routes")) + .checkpoint(); } @Override public Flux list(ListRoutesRequest request) { - return Mono - .zip(this.cloudFoundryClient, this.organizationId) - .flatMap(function((cloudFoundryClient, organizationId) -> Mono.zip( - Mono.just(cloudFoundryClient), - getAllDomains(cloudFoundryClient, organizationId), - getAllSpaces(cloudFoundryClient, organizationId) - ))) - .flatMapMany(function((cloudFoundryClient, domains, spaces) -> getRoutes(cloudFoundryClient, request, this.organizationId, this.spaceId) - .map(route -> Tuples.of(cloudFoundryClient, domains, route, spaces)))) - .flatMap(function((cloudFoundryClient, domains, route, spaces) -> Mono - .zip( - getApplicationNames(cloudFoundryClient, ResourceUtils.getId(route)), - getDomainName(domains, ResourceUtils.getEntity(route).getDomainId()), - Mono.just(route), - getServiceName(cloudFoundryClient, ResourceUtils.getEntity(route)), - getSpaceName(spaces, ResourceUtils.getEntity(route).getSpaceId()) - ))) - .map(function(DefaultRoutes::toRoute)) - .transform(OperationsLogging.log("List Routes")) - .checkpoint(); + return Mono.zip(this.cloudFoundryClient, this.organizationId) + .flatMap( + function( + (cloudFoundryClient, organizationId) -> + Mono.zip( + Mono.just(cloudFoundryClient), + getAllDomains(cloudFoundryClient, organizationId), + getAllSpaces(cloudFoundryClient, organizationId)))) + .flatMapMany( + function( + (cloudFoundryClient, domains, spaces) -> + getRoutes( + cloudFoundryClient, + request, + this.organizationId, + this.spaceId) + .map( + route -> + Tuples.of( + cloudFoundryClient, + domains, + route, + spaces)))) + .flatMap( + function( + (cloudFoundryClient, domains, route, spaces) -> + Mono.zip( + getApplicationNames( + cloudFoundryClient, + ResourceUtils.getId(route)), + getDomainName( + domains, + ResourceUtils.getEntity(route) + .getDomainId()), + Mono.just(route), + getServiceName( + cloudFoundryClient, + ResourceUtils.getEntity(route)), + getSpaceName( + spaces, + ResourceUtils.getEntity(route) + .getSpaceId())))) + .map(function(DefaultRoutes::toRoute)) + .transform(OperationsLogging.log("List Routes")) + .checkpoint(); } @Override public Mono map(MapRouteRequest request) { - return Mono - .zip(this.cloudFoundryClient, this.organizationId, this.spaceId) - .flatMap(function((cloudFoundryClient, organizationId, spaceId) -> Mono.zip( - Mono.just(cloudFoundryClient), - getOrCreateRoute(cloudFoundryClient, organizationId, spaceId, request.getDomain(), request.getHost(), request.getPath(), request.getPort(), request.getRandomPort()), - getApplicationId(cloudFoundryClient, request.getApplicationName(), spaceId) - ))) - .flatMap(function((cloudFoundryClient, routeResource, applicationId) -> requestAssociateRoute(cloudFoundryClient, applicationId, ResourceUtils.getId(routeResource)))) - .then(Mono.justOrEmpty(request.getPort())) - .transform(OperationsLogging.log("Map Route")) - .checkpoint(); + return Mono.zip(this.cloudFoundryClient, this.organizationId, this.spaceId) + .flatMap( + function( + (cloudFoundryClient, organizationId, spaceId) -> + Mono.zip( + Mono.just(cloudFoundryClient), + getOrCreateRoute( + cloudFoundryClient, + organizationId, + spaceId, + request.getDomain(), + request.getHost(), + request.getPath(), + request.getPort(), + request.getRandomPort()), + getApplicationId( + cloudFoundryClient, + request.getApplicationName(), + spaceId)))) + .flatMap( + function( + (cloudFoundryClient, routeResource, applicationId) -> + requestAssociateRoute( + cloudFoundryClient, + applicationId, + ResourceUtils.getId(routeResource)))) + .then(Mono.justOrEmpty(request.getPort())) + .transform(OperationsLogging.log("Map Route")) + .checkpoint(); } @Override public Mono unmap(UnmapRouteRequest request) { - return Mono - .zip(this.cloudFoundryClient, this.organizationId, this.spaceId) - .flatMap(function((cloudFoundryClient, organizationId, spaceId) -> Mono.zip( - Mono.just(cloudFoundryClient), - getApplicationId(cloudFoundryClient, request.getApplicationName(), spaceId), - getDomainId(cloudFoundryClient, organizationId, request.getDomain()) - .flatMap(domainId -> getRouteId(cloudFoundryClient, request.getHost(), request.getDomain(), domainId, request.getPath(), request.getPort())) - ))) - .flatMap(function(DefaultRoutes::requestRemoveRouteFromApplication)) - .transform(OperationsLogging.log("Unmap Route")) - .checkpoint(); - } - - private static Mono deleteRoute(CloudFoundryClient cloudFoundryClient, Duration completionTimeout, String routeId) { + return Mono.zip(this.cloudFoundryClient, this.organizationId, this.spaceId) + .flatMap( + function( + (cloudFoundryClient, organizationId, spaceId) -> + Mono.zip( + Mono.just(cloudFoundryClient), + getApplicationId( + cloudFoundryClient, + request.getApplicationName(), + spaceId), + getDomainId( + cloudFoundryClient, + organizationId, + request.getDomain()) + .flatMap( + domainId -> + getRouteId( + cloudFoundryClient, + request.getHost(), + request.getDomain(), + domainId, + request.getPath(), + request + .getPort()))))) + .flatMap(function(DefaultRoutes::requestRemoveRouteFromApplication)) + .transform(OperationsLogging.log("Unmap Route")) + .checkpoint(); + } + + private static Mono deleteRoute( + CloudFoundryClient cloudFoundryClient, Duration completionTimeout, String routeId) { return requestDeleteRoute(cloudFoundryClient, routeId) - .flatMap(job -> JobUtils.waitForCompletion(cloudFoundryClient, completionTimeout, job)); + .flatMap( + job -> + JobUtils.waitForCompletion( + cloudFoundryClient, completionTimeout, job)); } - private static Mono> getAllDomains(CloudFoundryClient cloudFoundryClient, String organizationId) { + private static Mono> getAllDomains( + CloudFoundryClient cloudFoundryClient, String organizationId) { return requestAllPrivateDomains(cloudFoundryClient, organizationId) - .map(resource -> Tuples.of(ResourceUtils.getId(resource), ResourceUtils.getEntity(resource).getName())) - .mergeWith(requestAllSharedDomains(cloudFoundryClient) - .map(resource -> Tuples.of(ResourceUtils.getId(resource), ResourceUtils.getEntity(resource).getName()))) - .collectMap(function((id, name) -> id), function((id, name) -> name)); - } - - private static Mono> getAllSpaces(CloudFoundryClient cloudFoundryClient, String organizationId) { + .map( + resource -> + Tuples.of( + ResourceUtils.getId(resource), + ResourceUtils.getEntity(resource).getName())) + .mergeWith( + requestAllSharedDomains(cloudFoundryClient) + .map( + resource -> + Tuples.of( + ResourceUtils.getId(resource), + ResourceUtils.getEntity(resource) + .getName()))) + .collectMap(function((id, name) -> id), function((id, name) -> name)); + } + + private static Mono> getAllSpaces( + CloudFoundryClient cloudFoundryClient, String organizationId) { return requestAllSpaces(cloudFoundryClient, organizationId) - .map(resource -> Tuples.of(ResourceUtils.getId(resource), ResourceUtils.getEntity(resource).getName())) - .collectMap(function((id, name) -> id), function((id, name) -> name)); + .map( + resource -> + Tuples.of( + ResourceUtils.getId(resource), + ResourceUtils.getEntity(resource).getName())) + .collectMap(function((id, name) -> id), function((id, name) -> name)); } - private static Mono getApplication(CloudFoundryClient cloudFoundryClient, String application, String spaceId) { + private static Mono getApplication( + CloudFoundryClient cloudFoundryClient, String application, String spaceId) { return requestApplications(cloudFoundryClient, application, spaceId) - .single() - .onErrorResume(NoSuchElementException.class, t -> ExceptionUtils.illegalArgument("Application %s does not exist", application)); + .single() + .onErrorResume( + NoSuchElementException.class, + t -> + ExceptionUtils.illegalArgument( + "Application %s does not exist", application)); } - private static Mono getApplicationId(CloudFoundryClient cloudFoundryClient, String application, String spaceId) { - return getApplication(cloudFoundryClient, application, spaceId) - .map(ResourceUtils::getId); + private static Mono getApplicationId( + CloudFoundryClient cloudFoundryClient, String application, String spaceId) { + return getApplication(cloudFoundryClient, application, spaceId).map(ResourceUtils::getId); } - private static Mono> getApplicationNames(CloudFoundryClient cloudFoundryClient, String routeId) { + private static Mono> getApplicationNames( + CloudFoundryClient cloudFoundryClient, String routeId) { return requestApplications(cloudFoundryClient, routeId) - .map(resource -> ResourceUtils.getEntity(resource).getName()) - .collectList(); + .map(resource -> ResourceUtils.getEntity(resource).getName()) + .collectList(); } - private static Mono> getApplications(CloudFoundryClient cloudFoundryClient, String routeId) { - return requestApplications(cloudFoundryClient, routeId) - .collectList(); + private static Mono> getApplications( + CloudFoundryClient cloudFoundryClient, String routeId) { + return requestApplications(cloudFoundryClient, routeId).collectList(); } - private static Mono> getDomain(CloudFoundryClient cloudFoundryClient, String organizationId, String domain) { + private static Mono> getDomain( + CloudFoundryClient cloudFoundryClient, String organizationId, String domain) { return getDomains(cloudFoundryClient, organizationId, domain) - .single() - .onErrorResume(NoSuchElementException.class, t -> ExceptionUtils.illegalArgument("Domain %s does not exist", domain)); + .single() + .onErrorResume( + NoSuchElementException.class, + t -> ExceptionUtils.illegalArgument("Domain %s does not exist", domain)); } - private static Mono getDomainId(CloudFoundryClient cloudFoundryClient, String organizationId, String domain) { - return getDomain(cloudFoundryClient, organizationId, domain) - .map(ResourceUtils::getId); + private static Mono getDomainId( + CloudFoundryClient cloudFoundryClient, String organizationId, String domain) { + return getDomain(cloudFoundryClient, organizationId, domain).map(ResourceUtils::getId); } private static Mono getDomainName(Map domains, String domainId) { return Mono.just(domains.get(domainId)); } - private static Flux> getDomains(CloudFoundryClient cloudFoundryClient, String organizationId, String domain) { + private static Flux> getDomains( + CloudFoundryClient cloudFoundryClient, String organizationId, String domain) { return requestPrivateDomains(cloudFoundryClient, organizationId, domain) - .map((Function>) in -> in) - .switchIfEmpty(requestSharedDomains(cloudFoundryClient, domain)); + .map((Function>) in -> in) + .switchIfEmpty(requestSharedDomains(cloudFoundryClient, domain)); } - private static Mono getOptionalDomainId(CloudFoundryClient cloudFoundryClient, String organizationId, String domain) { + private static Mono getOptionalDomainId( + CloudFoundryClient cloudFoundryClient, String organizationId, String domain) { return getDomains(cloudFoundryClient, organizationId, domain) - .singleOrEmpty() - .map(ResourceUtils::getId); - } - - private static Mono getOrCreateRoute(CloudFoundryClient cloudFoundryClient, String organizationId, String spaceId, String domain, String host, String path, Integer port, - Boolean randomPort) { + .singleOrEmpty() + .map(ResourceUtils::getId); + } + + private static Mono getOrCreateRoute( + CloudFoundryClient cloudFoundryClient, + String organizationId, + String spaceId, + String domain, + String host, + String path, + Integer port, + Boolean randomPort) { if (randomPort != null) { return getDomainId(cloudFoundryClient, organizationId, domain) - .flatMap(domainId -> requestCreateRoute(cloudFoundryClient, domainId, host, path, port, randomPort, spaceId)); + .flatMap( + domainId -> + requestCreateRoute( + cloudFoundryClient, + domainId, + host, + path, + port, + randomPort, + spaceId)); } return getDomainId(cloudFoundryClient, organizationId, domain) - .flatMap(domainId -> getRoute(cloudFoundryClient, domainId, host, path, port) - .cast(AbstractRouteResource.class) - .switchIfEmpty(requestCreateRoute(cloudFoundryClient, domainId, host, path, port, randomPort, spaceId))); - } - - private static Mono getRoute(CloudFoundryClient cloudFoundryClient, String domainId, String domain, String host, String path, Integer port) { + .flatMap( + domainId -> + getRoute(cloudFoundryClient, domainId, host, path, port) + .cast(AbstractRouteResource.class) + .switchIfEmpty( + requestCreateRoute( + cloudFoundryClient, + domainId, + host, + path, + port, + randomPort, + spaceId))); + } + + private static Mono getRoute( + CloudFoundryClient cloudFoundryClient, + String domainId, + String domain, + String host, + String path, + Integer port) { return getRoute(cloudFoundryClient, domainId, host, path, port) - .switchIfEmpty(ExceptionUtils.illegalArgument("Route for %s does not exist", domain)); + .switchIfEmpty( + ExceptionUtils.illegalArgument("Route for %s does not exist", domain)); } - private static Mono getRoute(CloudFoundryClient cloudFoundryClient, String domainId, String host, String path, Integer port) { + private static Mono getRoute( + CloudFoundryClient cloudFoundryClient, + String domainId, + String host, + String path, + Integer port) { if (port != null) { - return requestRoutes(cloudFoundryClient, domainId, null, null, port) - .singleOrEmpty(); + return requestRoutes(cloudFoundryClient, domainId, null, null, port).singleOrEmpty(); } else { return requestRoutes(cloudFoundryClient, domainId, host, path, port) - .filter(resource -> isIdentical(nullSafe(host), ResourceUtils.getEntity(resource).getHost())) - .filter(resource -> isIdentical(Optional.ofNullable(path).orElse(""), ResourceUtils.getEntity(resource).getPath())) - .singleOrEmpty(); + .filter( + resource -> + isIdentical( + nullSafe(host), + ResourceUtils.getEntity(resource).getHost())) + .filter( + resource -> + isIdentical( + Optional.ofNullable(path).orElse(""), + ResourceUtils.getEntity(resource).getPath())) + .singleOrEmpty(); } } - private static Mono getRouteId(CloudFoundryClient cloudFoundryClient, String host, String domain, String domainId, String path, Integer port) { + private static Mono getRouteId( + CloudFoundryClient cloudFoundryClient, + String host, + String domain, + String domainId, + String path, + Integer port) { return getRoute(cloudFoundryClient, domainId, domain, host, path, port) - .map(ResourceUtils::getId); + .map(ResourceUtils::getId); } - private static Flux getRoutes(CloudFoundryClient cloudFoundryClient, ListRoutesRequest request, Mono organizationId, Mono spaceId) { + private static Flux getRoutes( + CloudFoundryClient cloudFoundryClient, + ListRoutesRequest request, + Mono organizationId, + Mono spaceId) { if (Level.ORGANIZATION == request.getLevel()) { - return organizationId - .flatMapMany(organizationId1 -> requestRoutes(cloudFoundryClient, builder -> builder.organizationId(organizationId1))); + return organizationId.flatMapMany( + organizationId1 -> + requestRoutes( + cloudFoundryClient, + builder -> builder.organizationId(organizationId1))); } else { - return spaceId - .flatMapMany(spaceId1 -> requestSpaceRoutes(cloudFoundryClient, spaceId1)); + return spaceId.flatMapMany( + spaceId1 -> requestSpaceRoutes(cloudFoundryClient, spaceId1)); } } - private static Mono> getServiceInstanceName(CloudFoundryClient cloudFoundryClient, String serviceInstanceId, String spaceId) { + private static Mono> getServiceInstanceName( + CloudFoundryClient cloudFoundryClient, String serviceInstanceId, String spaceId) { return requestListSpaceServiceInstances(cloudFoundryClient, spaceId) - .filter(resource -> serviceInstanceId.equals(ResourceUtils.getId(resource))) - .single() - .map(resource -> Optional.of(ResourceUtils.getEntity(resource).getName())); + .filter(resource -> serviceInstanceId.equals(ResourceUtils.getId(resource))) + .single() + .map(resource -> Optional.of(ResourceUtils.getEntity(resource).getName())); } - private static Mono> getServiceName(CloudFoundryClient cloudFoundryClient, RouteEntity route) { + private static Mono> getServiceName( + CloudFoundryClient cloudFoundryClient, RouteEntity route) { return Mono.justOrEmpty(route.getServiceInstanceId()) - .flatMap(serviceInstanceId -> getServiceInstanceName(cloudFoundryClient, serviceInstanceId, route.getSpaceId())) - .defaultIfEmpty(Optional.empty()); + .flatMap( + serviceInstanceId -> + getServiceInstanceName( + cloudFoundryClient, serviceInstanceId, route.getSpaceId())) + .defaultIfEmpty(Optional.empty()); } - private static Mono getSpace(CloudFoundryClient cloudFoundryClient, String organizationId, String space) { + private static Mono getSpace( + CloudFoundryClient cloudFoundryClient, String organizationId, String space) { return requestSpaces(cloudFoundryClient, organizationId, space) - .single() - .onErrorResume(NoSuchElementException.class, t -> ExceptionUtils.illegalArgument("Space %s does not exist", space)); + .single() + .onErrorResume( + NoSuchElementException.class, + t -> ExceptionUtils.illegalArgument("Space %s does not exist", space)); } - private static Mono getSpaceId(CloudFoundryClient cloudFoundryClient, String organizationId, String space) { - return getSpace(cloudFoundryClient, organizationId, space) - .map(ResourceUtils::getId); + private static Mono getSpaceId( + CloudFoundryClient cloudFoundryClient, String organizationId, String space) { + return getSpace(cloudFoundryClient, organizationId, space).map(ResourceUtils::getId); } private static Mono getSpaceName(Map spaces, String spaceId) { @@ -348,62 +574,90 @@ private static String nullSafe(String host) { return host == null ? "" : host; } - private static Flux requestAllPrivateDomains(CloudFoundryClient cloudFoundryClient, String organizationId) { - return PaginationUtils - .requestClientV2Resources(page -> cloudFoundryClient.organizations() - .listPrivateDomains(ListOrganizationPrivateDomainsRequest.builder() - .organizationId(organizationId) - .page(page) - .build())); - } - - private static Flux requestAllSharedDomains(CloudFoundryClient cloudFoundryClient) { - return PaginationUtils - .requestClientV2Resources(page -> cloudFoundryClient.sharedDomains() - .list(ListSharedDomainsRequest.builder() - .page(page) - .build())); - } - - private static Flux requestAllSpaces(CloudFoundryClient cloudFoundryClient, String organizationId) { - return PaginationUtils - .requestClientV2Resources(page -> cloudFoundryClient.organizations() - .listSpaces(ListOrganizationSpacesRequest.builder() - .organizationId(organizationId) - .page(page) - .build())); - } - - private static Flux requestApplications(CloudFoundryClient cloudFoundryClient, String routeId) { - return PaginationUtils - .requestClientV2Resources(page -> cloudFoundryClient.routes() - .listApplications(ListRouteApplicationsRequest.builder() - .routeId(routeId) - .page(page) - .build())); - } - - private static Flux requestApplications(CloudFoundryClient cloudFoundryClient, String application, String spaceId) { - return PaginationUtils - .requestClientV2Resources(page -> cloudFoundryClient.spaces() - .listApplications(ListSpaceApplicationsRequest.builder() - .name(application) - .page(page) - .spaceId(spaceId) - .build())); - } - - private static Mono requestAssociateRoute(CloudFoundryClient cloudFoundryClient, String applicationId, String routeId) { - return cloudFoundryClient.applicationsV2() - .associateRoute(AssociateApplicationRouteRequest.builder() - .applicationId(applicationId) - .routeId(routeId) - .build()); - } - - private static Mono requestCreateRoute(CloudFoundryClient cloudFoundryClient, String domainId, String host, String path, Integer port, Boolean randomPort, String spaceId) { - - org.cloudfoundry.client.v2.routes.CreateRouteRequest.Builder builder = org.cloudfoundry.client.v2.routes.CreateRouteRequest.builder(); + private static Flux requestAllPrivateDomains( + CloudFoundryClient cloudFoundryClient, String organizationId) { + return PaginationUtils.requestClientV2Resources( + page -> + cloudFoundryClient + .organizations() + .listPrivateDomains( + ListOrganizationPrivateDomainsRequest.builder() + .organizationId(organizationId) + .page(page) + .build())); + } + + private static Flux requestAllSharedDomains( + CloudFoundryClient cloudFoundryClient) { + return PaginationUtils.requestClientV2Resources( + page -> + cloudFoundryClient + .sharedDomains() + .list(ListSharedDomainsRequest.builder().page(page).build())); + } + + private static Flux requestAllSpaces( + CloudFoundryClient cloudFoundryClient, String organizationId) { + return PaginationUtils.requestClientV2Resources( + page -> + cloudFoundryClient + .organizations() + .listSpaces( + ListOrganizationSpacesRequest.builder() + .organizationId(organizationId) + .page(page) + .build())); + } + + private static Flux requestApplications( + CloudFoundryClient cloudFoundryClient, String routeId) { + return PaginationUtils.requestClientV2Resources( + page -> + cloudFoundryClient + .routes() + .listApplications( + ListRouteApplicationsRequest.builder() + .routeId(routeId) + .page(page) + .build())); + } + + private static Flux requestApplications( + CloudFoundryClient cloudFoundryClient, String application, String spaceId) { + return PaginationUtils.requestClientV2Resources( + page -> + cloudFoundryClient + .spaces() + .listApplications( + ListSpaceApplicationsRequest.builder() + .name(application) + .page(page) + .spaceId(spaceId) + .build())); + } + + private static Mono requestAssociateRoute( + CloudFoundryClient cloudFoundryClient, String applicationId, String routeId) { + return cloudFoundryClient + .applicationsV2() + .associateRoute( + AssociateApplicationRouteRequest.builder() + .applicationId(applicationId) + .routeId(routeId) + .build()); + } + + private static Mono requestCreateRoute( + CloudFoundryClient cloudFoundryClient, + String domainId, + String host, + String path, + Integer port, + Boolean randomPort, + String spaceId) { + + org.cloudfoundry.client.v2.routes.CreateRouteRequest.Builder builder = + org.cloudfoundry.client.v2.routes.CreateRouteRequest.builder(); if (randomPort != null && randomPort) { builder.generatePort(true); @@ -414,115 +668,160 @@ private static Mono requestCreateRoute(CloudFoundryClient c builder.path(path); } - return cloudFoundryClient.routes() - .create(builder - .domainId(domainId) - .spaceId(spaceId) - .build()); - } - - private static Mono requestDeleteRoute(CloudFoundryClient cloudFoundryClient, String routeId) { - return cloudFoundryClient.routes() - .delete(org.cloudfoundry.client.v2.routes.DeleteRouteRequest.builder() - .async(true) - .routeId(routeId) - .build()); - } - - private static Flux requestListSpaceServiceInstances(CloudFoundryClient cloudFoundryClient, String spaceId) { - return PaginationUtils - .requestClientV2Resources(page -> cloudFoundryClient.spaces() - .listServiceInstances(ListSpaceServiceInstancesRequest.builder() - .page(page) - .returnUserProvidedServiceInstances(true) - .spaceId(spaceId) - .build())); - } - - private static Flux requestPrivateDomains(CloudFoundryClient cloudFoundryClient, String organizationId, String domain) { - return PaginationUtils - .requestClientV2Resources(page -> cloudFoundryClient.organizations() - .listPrivateDomains(ListOrganizationPrivateDomainsRequest.builder() - .organizationId(organizationId) - .name(domain) - .page(page) - .build())); - } - - private static Mono requestRemoveRouteFromApplication(CloudFoundryClient cloudFoundryClient, String applicationId, String routeId) { - return cloudFoundryClient.applicationsV2() - .removeRoute(RemoveApplicationRouteRequest.builder() - .applicationId(applicationId) - .routeId(routeId) - .build()); - } - - private static Mono requestRouteExists(CloudFoundryClient cloudFoundryClient, String domainId, String host, String path) { - return cloudFoundryClient.routes() - .exists(RouteExistsRequest.builder() - .domainId(domainId) - .host(host) - .path(path) - .build()); - } - - private static Flux requestRoutes(CloudFoundryClient cloudFoundryClient, UnaryOperator modifier) { - - org.cloudfoundry.client.v2.routes.ListRoutesRequest.Builder listBuilder = modifier.apply(org.cloudfoundry.client.v2.routes.ListRoutesRequest.builder()); - - return PaginationUtils - .requestClientV2Resources(page -> cloudFoundryClient.routes() - .list(listBuilder - .page(page) - .build())); - } - - private static Flux requestRoutes(CloudFoundryClient cloudFoundryClient, String domainId, String host, String path, Integer port) { - return requestRoutes(cloudFoundryClient, builder -> builder - .domainId(domainId) - .hosts(Optional.ofNullable(host).map(Collections::singletonList).orElse(null)) - .paths(Optional.ofNullable(path).map(Collections::singletonList).orElse(null)) - .port(Optional.ofNullable(port).orElse(null)) - ); - } - - private static Flux requestSharedDomains(CloudFoundryClient cloudFoundryClient, String domain) { - return PaginationUtils - .requestClientV2Resources(page -> cloudFoundryClient.sharedDomains() - .list(ListSharedDomainsRequest.builder() - .name(domain) - .page(page) - .build())); - } - - private static Flux requestSpaceRoutes(CloudFoundryClient cloudFoundryClient, String spaceId) { - return PaginationUtils - .requestClientV2Resources(page -> cloudFoundryClient.spaces() - .listRoutes(ListSpaceRoutesRequest.builder() - .spaceId(spaceId) - .page(page) - .build())); - } - - private static Flux requestSpaces(CloudFoundryClient cloudFoundryClient, String organizationId, String space) { - return PaginationUtils - .requestClientV2Resources(page -> cloudFoundryClient.organizations() - .listSpaces(ListOrganizationSpacesRequest.builder() - .organizationId(organizationId) - .name(space) - .page(page) - .build())); - } - - private static Route toRoute(List applications, String domain, RouteResource resource, Optional service, String space) { + return cloudFoundryClient + .routes() + .create(builder.domainId(domainId).spaceId(spaceId).build()); + } + + private static Mono requestDeleteRoute( + CloudFoundryClient cloudFoundryClient, String routeId) { + return cloudFoundryClient + .routes() + .delete( + org.cloudfoundry.client.v2.routes.DeleteRouteRequest.builder() + .async(true) + .routeId(routeId) + .build()); + } + + private static Flux requestListSpaceServiceInstances( + CloudFoundryClient cloudFoundryClient, String spaceId) { + return PaginationUtils.requestClientV2Resources( + page -> + cloudFoundryClient + .spaces() + .listServiceInstances( + ListSpaceServiceInstancesRequest.builder() + .page(page) + .returnUserProvidedServiceInstances(true) + .spaceId(spaceId) + .build())); + } + + private static Flux requestPrivateDomains( + CloudFoundryClient cloudFoundryClient, String organizationId, String domain) { + return PaginationUtils.requestClientV2Resources( + page -> + cloudFoundryClient + .organizations() + .listPrivateDomains( + ListOrganizationPrivateDomainsRequest.builder() + .organizationId(organizationId) + .name(domain) + .page(page) + .build())); + } + + private static Mono requestRemoveRouteFromApplication( + CloudFoundryClient cloudFoundryClient, String applicationId, String routeId) { + return cloudFoundryClient + .applicationsV2() + .removeRoute( + RemoveApplicationRouteRequest.builder() + .applicationId(applicationId) + .routeId(routeId) + .build()); + } + + private static Mono requestRouteExists( + CloudFoundryClient cloudFoundryClient, String domainId, String host, String path) { + return cloudFoundryClient + .routes() + .exists( + RouteExistsRequest.builder() + .domainId(domainId) + .host(host) + .path(path) + .build()); + } + + private static Flux requestRoutes( + CloudFoundryClient cloudFoundryClient, + UnaryOperator modifier) { + + org.cloudfoundry.client.v2.routes.ListRoutesRequest.Builder listBuilder = + modifier.apply(org.cloudfoundry.client.v2.routes.ListRoutesRequest.builder()); + + return PaginationUtils.requestClientV2Resources( + page -> cloudFoundryClient.routes().list(listBuilder.page(page).build())); + } + + private static Flux requestRoutes( + CloudFoundryClient cloudFoundryClient, + String domainId, + String host, + String path, + Integer port) { + return requestRoutes( + cloudFoundryClient, + builder -> + builder.domainId(domainId) + .hosts( + Optional.ofNullable(host) + .map(Collections::singletonList) + .orElse(null)) + .paths( + Optional.ofNullable(path) + .map(Collections::singletonList) + .orElse(null)) + .port(Optional.ofNullable(port).orElse(null))); + } + + private static Flux requestSharedDomains( + CloudFoundryClient cloudFoundryClient, String domain) { + return PaginationUtils.requestClientV2Resources( + page -> + cloudFoundryClient + .sharedDomains() + .list( + ListSharedDomainsRequest.builder() + .name(domain) + .page(page) + .build())); + } + + private static Flux requestSpaceRoutes( + CloudFoundryClient cloudFoundryClient, String spaceId) { + return PaginationUtils.requestClientV2Resources( + page -> + cloudFoundryClient + .spaces() + .listRoutes( + ListSpaceRoutesRequest.builder() + .spaceId(spaceId) + .page(page) + .build())); + } + + private static Flux requestSpaces( + CloudFoundryClient cloudFoundryClient, String organizationId, String space) { + return PaginationUtils.requestClientV2Resources( + page -> + cloudFoundryClient + .organizations() + .listSpaces( + ListOrganizationSpacesRequest.builder() + .organizationId(organizationId) + .name(space) + .page(page) + .build())); + } + + private static Route toRoute( + List applications, + String domain, + RouteResource resource, + Optional service, + String space) { RouteEntity entity = ResourceUtils.getEntity(resource); - Route.Builder builder = Route.builder() - .applications(applications) - .domain(domain) - .host(entity.getHost()) - .id(ResourceUtils.getId(resource)) - .path(entity.getPath()) - .space(space); + Route.Builder builder = + Route.builder() + .applications(applications) + .domain(domain) + .host(entity.getHost()) + .id(ResourceUtils.getId(resource)) + .path(entity.getPath()) + .space(space); service.ifPresent(builder::service); @@ -532,5 +831,4 @@ private static Route toRoute(List applications, String domain, RouteReso private boolean isRouteOrphan(RouteEntity entity) { return entity.getServiceInstanceId() == null || entity.getServiceInstanceId().isEmpty(); } - } diff --git a/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/routes/Level.java b/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/routes/Level.java index e987e6124b..6550facfc2 100644 --- a/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/routes/Level.java +++ b/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/routes/Level.java @@ -30,5 +30,4 @@ public enum Level { * List routes for the current space in the current organisation */ SPACE - } diff --git a/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/routes/Routes.java b/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/routes/Routes.java index c33d889d44..98972261a1 100644 --- a/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/routes/Routes.java +++ b/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/routes/Routes.java @@ -80,5 +80,4 @@ public interface Routes { * @return a completion indicator */ Mono unmap(UnmapRouteRequest request); - } diff --git a/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/serviceadmin/Access.java b/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/serviceadmin/Access.java index 9c9fba0c6c..52f5fd2c4c 100644 --- a/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/serviceadmin/Access.java +++ b/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/serviceadmin/Access.java @@ -35,5 +35,4 @@ public enum Access { * Service is available to none */ NONE - } diff --git a/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/serviceadmin/DefaultServiceAdmin.java b/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/serviceadmin/DefaultServiceAdmin.java index ea82640c88..9b965e04fe 100644 --- a/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/serviceadmin/DefaultServiceAdmin.java +++ b/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/serviceadmin/DefaultServiceAdmin.java @@ -16,6 +16,15 @@ package org.cloudfoundry.operations.serviceadmin; +import static org.cloudfoundry.util.tuple.TupleUtils.function; +import static org.cloudfoundry.util.tuple.TupleUtils.predicate; + +import java.util.Collections; +import java.util.List; +import java.util.NoSuchElementException; +import java.util.Optional; +import java.util.function.Predicate; +import java.util.stream.Collectors; import org.cloudfoundry.client.CloudFoundryClient; import org.cloudfoundry.client.v2.organizations.GetOrganizationRequest; import org.cloudfoundry.client.v2.organizations.GetOrganizationResponse; @@ -47,16 +56,6 @@ import reactor.core.publisher.Mono; import reactor.util.function.Tuples; -import java.util.Collections; -import java.util.List; -import java.util.NoSuchElementException; -import java.util.Optional; -import java.util.function.Predicate; -import java.util.stream.Collectors; - -import static org.cloudfoundry.util.tuple.TupleUtils.function; -import static org.cloudfoundry.util.tuple.TupleUtils.predicate; - public final class DefaultServiceAdmin implements ServiceAdmin { private final Mono cloudFoundryClient; @@ -70,173 +69,262 @@ public DefaultServiceAdmin(Mono cloudFoundryClient, Mono create(CreateServiceBrokerRequest request) { - return Mono - .zip(this.cloudFoundryClient, this.spaceId) - .flatMap(function((cloudFoundryClient, spaceId) -> requestCreateServiceBroker(cloudFoundryClient, request.getName(), request.getUrl(), request.getUsername(), request.getPassword(), - request.getSpaceScoped(), spaceId))) - .then() - .transform(OperationsLogging.log("Create Service Broker")) - .checkpoint(); + return Mono.zip(this.cloudFoundryClient, this.spaceId) + .flatMap( + function( + (cloudFoundryClient, spaceId) -> + requestCreateServiceBroker( + cloudFoundryClient, + request.getName(), + request.getUrl(), + request.getUsername(), + request.getPassword(), + request.getSpaceScoped(), + spaceId))) + .then() + .transform(OperationsLogging.log("Create Service Broker")) + .checkpoint(); } @Override public Mono delete(DeleteServiceBrokerRequest request) { return this.cloudFoundryClient - .flatMap(cloudFoundryClient -> Mono.zip( - Mono.just(cloudFoundryClient), - getServiceBrokerId(cloudFoundryClient, request.getName()) - )) - .flatMap(function(DefaultServiceAdmin::requestDeleteServiceBroker)) - .transform(OperationsLogging.log("Delete Service Broker")) - .checkpoint(); + .flatMap( + cloudFoundryClient -> + Mono.zip( + Mono.just(cloudFoundryClient), + getServiceBrokerId(cloudFoundryClient, request.getName()))) + .flatMap(function(DefaultServiceAdmin::requestDeleteServiceBroker)) + .transform(OperationsLogging.log("Delete Service Broker")) + .checkpoint(); } @Override public Mono disableServiceAccess(DisableServiceAccessRequest request) { return this.cloudFoundryClient - .flatMap(cloudFoundryClient -> Mono.zip( - Mono.just(cloudFoundryClient), - getServiceId(cloudFoundryClient, request.getServiceName()))) - .flatMap(function((cloudFoundryClient, serviceId) -> Mono.zip( - Mono.just(cloudFoundryClient), - getServicePlans(cloudFoundryClient, serviceId) - ))) - .flatMap(function((cloudFoundryClient, servicePlans) -> Mono.when( - updateServicePlanVisibilities(cloudFoundryClient, request, servicePlans), - updateServicePlansPublicStatus(cloudFoundryClient, request, servicePlans) - ))) - .then() - .transform(OperationsLogging.log("Disable Service Access")) - .checkpoint(); + .flatMap( + cloudFoundryClient -> + Mono.zip( + Mono.just(cloudFoundryClient), + getServiceId(cloudFoundryClient, request.getServiceName()))) + .flatMap( + function( + (cloudFoundryClient, serviceId) -> + Mono.zip( + Mono.just(cloudFoundryClient), + getServicePlans(cloudFoundryClient, serviceId)))) + .flatMap( + function( + (cloudFoundryClient, servicePlans) -> + Mono.when( + updateServicePlanVisibilities( + cloudFoundryClient, request, servicePlans), + updateServicePlansPublicStatus( + cloudFoundryClient, + request, + servicePlans)))) + .then() + .transform(OperationsLogging.log("Disable Service Access")) + .checkpoint(); } @Override public Mono enableServiceAccess(EnableServiceAccessRequest request) { return this.cloudFoundryClient - .flatMap(cloudFoundryClient -> Mono.zip( - Mono.just(cloudFoundryClient), - getServiceId(cloudFoundryClient, request.getServiceName()))) - .flatMap(function((cloudFoundryClient, serviceId) -> Mono.zip( - Mono.just(cloudFoundryClient), - getServicePlans(cloudFoundryClient, serviceId) - ))) - .flatMap(function((cloudFoundryClient, servicePlans) -> Mono.when( - updateServicePlanVisibilities(cloudFoundryClient, request, servicePlans), - updateServicePlansPublicStatus(cloudFoundryClient, request, servicePlans) - ))) - .then() - .transform(OperationsLogging.log("Enable Service Access")) - .checkpoint(); + .flatMap( + cloudFoundryClient -> + Mono.zip( + Mono.just(cloudFoundryClient), + getServiceId(cloudFoundryClient, request.getServiceName()))) + .flatMap( + function( + (cloudFoundryClient, serviceId) -> + Mono.zip( + Mono.just(cloudFoundryClient), + getServicePlans(cloudFoundryClient, serviceId)))) + .flatMap( + function( + (cloudFoundryClient, servicePlans) -> + Mono.when( + updateServicePlanVisibilities( + cloudFoundryClient, request, servicePlans), + updateServicePlansPublicStatus( + cloudFoundryClient, + request, + servicePlans)))) + .then() + .transform(OperationsLogging.log("Enable Service Access")) + .checkpoint(); } @Override public Flux list() { return this.cloudFoundryClient - .flatMapMany(DefaultServiceAdmin::requestListServiceBrokers) - .map(this::toServiceBroker) - .transform(OperationsLogging.log("List Service Brokers")) - .checkpoint(); + .flatMapMany(DefaultServiceAdmin::requestListServiceBrokers) + .map(this::toServiceBroker) + .transform(OperationsLogging.log("List Service Brokers")) + .checkpoint(); } @Override public Flux listServiceAccessSettings(ListServiceAccessSettingsRequest request) { return this.cloudFoundryClient - .flatMap(cloudFoundryClient -> Mono.zip( - Mono.just(cloudFoundryClient), - listServiceBrokers(cloudFoundryClient), - Mono.just(request), - requestListServicePlanVisibilities(cloudFoundryClient) - )) - .flatMapMany(function(DefaultServiceAdmin::collectServiceAccessSettings)) - .transform(OperationsLogging.log("List Service Access Settings")) - .checkpoint(); + .flatMap( + cloudFoundryClient -> + Mono.zip( + Mono.just(cloudFoundryClient), + listServiceBrokers(cloudFoundryClient), + Mono.just(request), + requestListServicePlanVisibilities(cloudFoundryClient))) + .flatMapMany(function(DefaultServiceAdmin::collectServiceAccessSettings)) + .transform(OperationsLogging.log("List Service Access Settings")) + .checkpoint(); } @Override public Mono update(UpdateServiceBrokerRequest request) { return this.cloudFoundryClient - .flatMap(cloudFoundryClient -> Mono.zip( - Mono.just(cloudFoundryClient), - getServiceBrokerId(cloudFoundryClient, request.getName()) - )) - .flatMap(function((cloudFoundryClient, serviceBrokerId) -> requestUpdateServiceBroker(cloudFoundryClient, request, serviceBrokerId))) - .then() - .transform(OperationsLogging.log("Update Service Broker")) - .checkpoint(); - } - - private static Flux collectServiceAccessSettings(CloudFoundryClient cloudFoundryClient, List brokers, ListServiceAccessSettingsRequest request, - List visibilities) { - List brokerIds = brokers.stream() - .filter(isRequiredServiceBroker(request.getBrokerName())) - .map(ResourceUtils::getId) - .collect(Collectors.toList()); + .flatMap( + cloudFoundryClient -> + Mono.zip( + Mono.just(cloudFoundryClient), + getServiceBrokerId(cloudFoundryClient, request.getName()))) + .flatMap( + function( + (cloudFoundryClient, serviceBrokerId) -> + requestUpdateServiceBroker( + cloudFoundryClient, request, serviceBrokerId))) + .then() + .transform(OperationsLogging.log("Update Service Broker")) + .checkpoint(); + } + + private static Flux collectServiceAccessSettings( + CloudFoundryClient cloudFoundryClient, + List brokers, + ListServiceAccessSettingsRequest request, + List visibilities) { + List brokerIds = + brokers.stream() + .filter(isRequiredServiceBroker(request.getBrokerName())) + .map(ResourceUtils::getId) + .collect(Collectors.toList()); if (brokerIds.size() == 0) { - throw new IllegalArgumentException(String.format("Service Broker %s not found", request.getBrokerName())); + throw new IllegalArgumentException( + String.format("Service Broker %s not found", request.getBrokerName())); } - return Mono - .when( - validateOrganization(cloudFoundryClient, request.getOrganizationName()), - validateService(cloudFoundryClient, request.getServiceName())) - .thenMany(requestListServices(cloudFoundryClient, brokerIds)) - .filter(service -> isVisibleService(request, service)) - .collectList() - .flatMapMany(services -> getServicePlans(cloudFoundryClient, services) - .map(servicePlan -> Tuples.of(services, servicePlan))) - .flatMap(function((services, servicePlan) -> getOrganizationNames(cloudFoundryClient, servicePlan, visibilities) - .map(organizationNames -> Tuples.of(organizationNames, services, servicePlan)))) - .filter(predicate((organizationNames, services, servicePlan) -> isVisibleOrganization(organizationNames, request.getOrganizationName(), servicePlan))) - .map(function((organizationNames, services, servicePlan) -> toServiceAccess(brokers, organizationNames, services, servicePlan))); - } - - private static Mono getOrganizationId(CloudFoundryClient cloudFoundryClient, String organizationName) { + return Mono.when( + validateOrganization(cloudFoundryClient, request.getOrganizationName()), + validateService(cloudFoundryClient, request.getServiceName())) + .thenMany(requestListServices(cloudFoundryClient, brokerIds)) + .filter(service -> isVisibleService(request, service)) + .collectList() + .flatMapMany( + services -> + getServicePlans(cloudFoundryClient, services) + .map(servicePlan -> Tuples.of(services, servicePlan))) + .flatMap( + function( + (services, servicePlan) -> + getOrganizationNames( + cloudFoundryClient, + servicePlan, + visibilities) + .map( + organizationNames -> + Tuples.of( + organizationNames, + services, + servicePlan)))) + .filter( + predicate( + (organizationNames, services, servicePlan) -> + isVisibleOrganization( + organizationNames, + request.getOrganizationName(), + servicePlan))) + .map( + function( + (organizationNames, services, servicePlan) -> + toServiceAccess( + brokers, + organizationNames, + services, + servicePlan))); + } + + private static Mono getOrganizationId( + CloudFoundryClient cloudFoundryClient, String organizationName) { return requestListOrganizations(cloudFoundryClient, organizationName) - .singleOrEmpty() - .map(ResourceUtils::getId) - .switchIfEmpty(ExceptionUtils.illegalArgument("Organization %s not found", organizationName)); + .singleOrEmpty() + .map(ResourceUtils::getId) + .switchIfEmpty( + ExceptionUtils.illegalArgument( + "Organization %s not found", organizationName)); } - private static Mono> getOrganizationNames(CloudFoundryClient cloudFoundryClient, ServicePlanResource servicePlan, List visibilities) { + private static Mono> getOrganizationNames( + CloudFoundryClient cloudFoundryClient, + ServicePlanResource servicePlan, + List visibilities) { if (visibilities == null || visibilities.size() == 0) { return Mono.just(Collections.emptyList()); } return Flux.fromIterable(visibilities) - .filter(visibility -> servicePlan.getMetadata().getId().equals(visibility.getEntity().getServicePlanId())) - .flatMap(visibility -> requestGetOrganization(cloudFoundryClient, visibility.getEntity().getOrganizationId())) - .map(organization -> ResourceUtils.getEntity(organization).getName()) - .collectList(); - } - - private static Mono getServiceBroker(CloudFoundryClient cloudFoundryClient, String serviceBrokerName) { + .filter( + visibility -> + servicePlan + .getMetadata() + .getId() + .equals(visibility.getEntity().getServicePlanId())) + .flatMap( + visibility -> + requestGetOrganization( + cloudFoundryClient, + visibility.getEntity().getOrganizationId())) + .map(organization -> ResourceUtils.getEntity(organization).getName()) + .collectList(); + } + + private static Mono getServiceBroker( + CloudFoundryClient cloudFoundryClient, String serviceBrokerName) { return requestListServiceBrokers(cloudFoundryClient, serviceBrokerName) - .single() - .onErrorResume(NoSuchElementException.class, t -> ExceptionUtils.illegalArgument("Service Broker %s not found", serviceBrokerName)); + .single() + .onErrorResume( + NoSuchElementException.class, + t -> + ExceptionUtils.illegalArgument( + "Service Broker %s not found", serviceBrokerName)); } - private static Mono getServiceBrokerId(CloudFoundryClient cloudFoundryClient, String serviceBrokerName) { - return getServiceBroker(cloudFoundryClient, serviceBrokerName) - .map(ResourceUtils::getId); + private static Mono getServiceBrokerId( + CloudFoundryClient cloudFoundryClient, String serviceBrokerName) { + return getServiceBroker(cloudFoundryClient, serviceBrokerName).map(ResourceUtils::getId); } - private static Mono getServiceId(CloudFoundryClient cloudFoundryClient, String serviceName) { + private static Mono getServiceId( + CloudFoundryClient cloudFoundryClient, String serviceName) { return requestListServices(cloudFoundryClient, serviceName) - .singleOrEmpty() - .map(ResourceUtils::getId) - .switchIfEmpty(ExceptionUtils.illegalArgument("Service offering %s not found", serviceName)); + .singleOrEmpty() + .map(ResourceUtils::getId) + .switchIfEmpty( + ExceptionUtils.illegalArgument( + "Service offering %s not found", serviceName)); } - private static Mono> getServicePlans(CloudFoundryClient cloudFoundryClient, String serviceId) { + private static Mono> getServicePlans( + CloudFoundryClient cloudFoundryClient, String serviceId) { return requestListServicePlans(cloudFoundryClient, Collections.singletonList(serviceId)) - .collectList(); + .collectList(); } - private static Flux getServicePlans(CloudFoundryClient cloudFoundryClient, List services) { - List serviceIds = services.stream() - .map(ResourceUtils::getId) - .collect(Collectors.toList()); + private static Flux getServicePlans( + CloudFoundryClient cloudFoundryClient, List services) { + List serviceIds = + services.stream().map(ResourceUtils::getId).collect(Collectors.toList()); return requestListServicePlans(cloudFoundryClient, serviceIds); } @@ -249,182 +337,265 @@ private static Predicate isRequiredServiceBroker(String b } } - private static boolean isUpdateableServicePlan(String servicePlanName, ServicePlanResource servicePlan) { - return servicePlanName == null || servicePlanName.isEmpty() || servicePlanName.equals(ResourceUtils.getEntity(servicePlan).getName()); + private static boolean isUpdateableServicePlan( + String servicePlanName, ServicePlanResource servicePlan) { + return servicePlanName == null + || servicePlanName.isEmpty() + || servicePlanName.equals(ResourceUtils.getEntity(servicePlan).getName()); } - private static boolean isVisibleOrganization(List organizationNames, String requiredOrganization, ServicePlanResource servicePlan) { - return ResourceUtils.getEntity(servicePlan).getPubliclyVisible() || - requiredOrganization == null || - requiredOrganization.isEmpty() || - organizationNames != null && organizationNames.contains(requiredOrganization); + private static boolean isVisibleOrganization( + List organizationNames, + String requiredOrganization, + ServicePlanResource servicePlan) { + return ResourceUtils.getEntity(servicePlan).getPubliclyVisible() + || requiredOrganization == null + || requiredOrganization.isEmpty() + || organizationNames != null && organizationNames.contains(requiredOrganization); } - private static boolean isVisibleService(ListServiceAccessSettingsRequest request, ServiceResource service) { - return request.getServiceName() == null || - request.getServiceName().isEmpty() || - request.getServiceName().equals(ResourceUtils.getEntity(service).getLabel()); + private static boolean isVisibleService( + ListServiceAccessSettingsRequest request, ServiceResource service) { + return request.getServiceName() == null + || request.getServiceName().isEmpty() + || request.getServiceName().equals(ResourceUtils.getEntity(service).getLabel()); } - private static Mono> listServiceBrokers(CloudFoundryClient cloudFoundryClient) { + private static Mono> listServiceBrokers( + CloudFoundryClient cloudFoundryClient) { return requestListServiceBrokers(cloudFoundryClient) - .switchIfEmpty(ExceptionUtils.illegalArgument("No Service Brokers found")) - .collectList(); + .switchIfEmpty(ExceptionUtils.illegalArgument("No Service Brokers found")) + .collectList(); } - private static Flux listServicePlanVisibilityIds(CloudFoundryClient cloudFoundryClient, List servicePlanIds) { + private static Flux listServicePlanVisibilityIds( + CloudFoundryClient cloudFoundryClient, List servicePlanIds) { return requestListServicePlanVisibilities(cloudFoundryClient, servicePlanIds) - .map(ResourceUtils::getId); - } - - private static Flux listServicePlanVisibilityIds(CloudFoundryClient cloudFoundryClient, String organizationId, List servicePlanIds) { - return requestListServicePlanVisibilities(cloudFoundryClient, organizationId, servicePlanIds) - .map(ResourceUtils::getId); - } - - private static Mono requestCreateServiceBroker(CloudFoundryClient cloudFoundryClient, String name, String url, String username, String password, Boolean isSpaceScoped, - String spaceId) { - return cloudFoundryClient.serviceBrokers() - .create(org.cloudfoundry.client.v2.servicebrokers.CreateServiceBrokerRequest.builder() - .name(name) - .brokerUrl(url) - .authenticationUsername(username) - .authenticationPassword(password) - .spaceId(Optional.ofNullable(isSpaceScoped).orElse(false) ? spaceId : null) - .build()); - } - - private static Mono requestCreateServicePlanVisibility(CloudFoundryClient cloudFoundryClient, String organizationId, String servicePlanId) { - return cloudFoundryClient.servicePlanVisibilities() - .create(CreateServicePlanVisibilityRequest.builder() - .organizationId(organizationId) - .servicePlanId(servicePlanId) - .build()); - } - - private static Mono requestDeleteServiceBroker(CloudFoundryClient cloudFoundryClient, String serviceBrokerId) { - return cloudFoundryClient.serviceBrokers() - .delete(org.cloudfoundry.client.v2.servicebrokers.DeleteServiceBrokerRequest.builder() - .serviceBrokerId(serviceBrokerId) - .build()); - } - - private static Mono requestDeleteServicePlanVisibility(CloudFoundryClient cloudFoundryClient, String visibilityId) { - return cloudFoundryClient.servicePlanVisibilities() - .delete(DeleteServicePlanVisibilityRequest.builder() - .async(true) - .servicePlanVisibilityId(visibilityId) - .build()); - } - - private static Mono requestGetOrganization(CloudFoundryClient cloudFoundryClient, String organizationId) { - return cloudFoundryClient.organizations() - .get(GetOrganizationRequest.builder() - .organizationId(organizationId) - .build()); - } - - private static Flux requestListOrganizations(CloudFoundryClient cloudFoundryClient, String organizationName) { - return PaginationUtils - .requestClientV2Resources(page -> cloudFoundryClient.organizations() - .list(ListOrganizationsRequest.builder() - .name(organizationName) - .page(page) - .build())); - } - - private static Flux requestListServiceBrokers(CloudFoundryClient cloudFoundryClient) { - return PaginationUtils - .requestClientV2Resources(page -> cloudFoundryClient.serviceBrokers() - .list(ListServiceBrokersRequest.builder() - .page(page) - .build())); - } - - private static Flux requestListServiceBrokers(CloudFoundryClient cloudFoundryClient, String serviceBrokerName) { - return PaginationUtils - .requestClientV2Resources(page -> cloudFoundryClient.serviceBrokers() - .list(ListServiceBrokersRequest.builder() - .name(serviceBrokerName) - .page(page) - .build())); - } - - private static Mono> requestListServicePlanVisibilities(CloudFoundryClient cloudFoundryClient) { - return PaginationUtils - .requestClientV2Resources(page -> cloudFoundryClient.servicePlanVisibilities() - .list(ListServicePlanVisibilitiesRequest.builder() - .page(page) - .build())) - .collectList(); - } - - private static Flux requestListServicePlanVisibilities(CloudFoundryClient cloudFoundryClient, List servicePlanIds) { - return PaginationUtils - .requestClientV2Resources(page -> cloudFoundryClient.servicePlanVisibilities() - .list(ListServicePlanVisibilitiesRequest.builder() - .page(page) - .servicePlanIds(servicePlanIds) - .build())); - } - - private static Flux requestListServicePlanVisibilities(CloudFoundryClient cloudFoundryClient, String organizationId, List servicePlanIds) { - return PaginationUtils - .requestClientV2Resources(page -> cloudFoundryClient.servicePlanVisibilities() - .list(ListServicePlanVisibilitiesRequest.builder() - .organizationId(organizationId) - .page(page) - .servicePlanIds(servicePlanIds) - .build())); - } - - private static Flux requestListServicePlans(CloudFoundryClient cloudFoundryClient, List services) { - return PaginationUtils.requestClientV2Resources(page -> cloudFoundryClient.servicePlans() - .list(ListServicePlansRequest.builder() - .page(page) - .serviceIds(services) - .build())); - } - - private static Flux requestListServices(CloudFoundryClient cloudFoundryClient, List brokerIds) { - return PaginationUtils - .requestClientV2Resources(page -> cloudFoundryClient.services() - .list(ListServicesRequest.builder() - .page(page) - .serviceBrokerIds(brokerIds) - .build())); - } - - private static Flux requestListServices(CloudFoundryClient cloudFoundryClient, String serviceName) { - return PaginationUtils - .requestClientV2Resources(page -> cloudFoundryClient.services() - .list(ListServicesRequest.builder() - .page(page) - .label(serviceName) - .build())); - } - - private static Mono requestUpdateServiceBroker(CloudFoundryClient cloudFoundryClient, UpdateServiceBrokerRequest request, String serviceBrokerId) { - return cloudFoundryClient.serviceBrokers() - .update(org.cloudfoundry.client.v2.servicebrokers.UpdateServiceBrokerRequest.builder() - .serviceBrokerId(serviceBrokerId) - .name(request.getName()) - .brokerUrl(request.getUrl()) - .authenticationUsername(request.getUsername()) - .authenticationPassword(request.getPassword()) - .build()); - } - - private static Mono requestUpdateServicePlanPublicStatus(CloudFoundryClient cloudFoundryClient, boolean publiclyVisible, String servicePlanId) { - return cloudFoundryClient.servicePlans() - .update(UpdateServicePlanRequest.builder() - .publiclyVisible(publiclyVisible) - .servicePlanId(servicePlanId) - .build()); - } - - private static ServiceAccess toServiceAccess(List brokers, List organizationNames, List services, - ServicePlanResource servicePlan) { + .map(ResourceUtils::getId); + } + + private static Flux listServicePlanVisibilityIds( + CloudFoundryClient cloudFoundryClient, + String organizationId, + List servicePlanIds) { + return requestListServicePlanVisibilities( + cloudFoundryClient, organizationId, servicePlanIds) + .map(ResourceUtils::getId); + } + + private static Mono requestCreateServiceBroker( + CloudFoundryClient cloudFoundryClient, + String name, + String url, + String username, + String password, + Boolean isSpaceScoped, + String spaceId) { + return cloudFoundryClient + .serviceBrokers() + .create( + org.cloudfoundry.client.v2.servicebrokers.CreateServiceBrokerRequest + .builder() + .name(name) + .brokerUrl(url) + .authenticationUsername(username) + .authenticationPassword(password) + .spaceId( + Optional.ofNullable(isSpaceScoped).orElse(false) + ? spaceId + : null) + .build()); + } + + private static Mono requestCreateServicePlanVisibility( + CloudFoundryClient cloudFoundryClient, String organizationId, String servicePlanId) { + return cloudFoundryClient + .servicePlanVisibilities() + .create( + CreateServicePlanVisibilityRequest.builder() + .organizationId(organizationId) + .servicePlanId(servicePlanId) + .build()); + } + + private static Mono requestDeleteServiceBroker( + CloudFoundryClient cloudFoundryClient, String serviceBrokerId) { + return cloudFoundryClient + .serviceBrokers() + .delete( + org.cloudfoundry.client.v2.servicebrokers.DeleteServiceBrokerRequest + .builder() + .serviceBrokerId(serviceBrokerId) + .build()); + } + + private static Mono requestDeleteServicePlanVisibility( + CloudFoundryClient cloudFoundryClient, String visibilityId) { + return cloudFoundryClient + .servicePlanVisibilities() + .delete( + DeleteServicePlanVisibilityRequest.builder() + .async(true) + .servicePlanVisibilityId(visibilityId) + .build()); + } + + private static Mono requestGetOrganization( + CloudFoundryClient cloudFoundryClient, String organizationId) { + return cloudFoundryClient + .organizations() + .get(GetOrganizationRequest.builder().organizationId(organizationId).build()); + } + + private static Flux requestListOrganizations( + CloudFoundryClient cloudFoundryClient, String organizationName) { + return PaginationUtils.requestClientV2Resources( + page -> + cloudFoundryClient + .organizations() + .list( + ListOrganizationsRequest.builder() + .name(organizationName) + .page(page) + .build())); + } + + private static Flux requestListServiceBrokers( + CloudFoundryClient cloudFoundryClient) { + return PaginationUtils.requestClientV2Resources( + page -> + cloudFoundryClient + .serviceBrokers() + .list(ListServiceBrokersRequest.builder().page(page).build())); + } + + private static Flux requestListServiceBrokers( + CloudFoundryClient cloudFoundryClient, String serviceBrokerName) { + return PaginationUtils.requestClientV2Resources( + page -> + cloudFoundryClient + .serviceBrokers() + .list( + ListServiceBrokersRequest.builder() + .name(serviceBrokerName) + .page(page) + .build())); + } + + private static Mono> requestListServicePlanVisibilities( + CloudFoundryClient cloudFoundryClient) { + return PaginationUtils.requestClientV2Resources( + page -> + cloudFoundryClient + .servicePlanVisibilities() + .list( + ListServicePlanVisibilitiesRequest.builder() + .page(page) + .build())) + .collectList(); + } + + private static Flux requestListServicePlanVisibilities( + CloudFoundryClient cloudFoundryClient, List servicePlanIds) { + return PaginationUtils.requestClientV2Resources( + page -> + cloudFoundryClient + .servicePlanVisibilities() + .list( + ListServicePlanVisibilitiesRequest.builder() + .page(page) + .servicePlanIds(servicePlanIds) + .build())); + } + + private static Flux requestListServicePlanVisibilities( + CloudFoundryClient cloudFoundryClient, + String organizationId, + List servicePlanIds) { + return PaginationUtils.requestClientV2Resources( + page -> + cloudFoundryClient + .servicePlanVisibilities() + .list( + ListServicePlanVisibilitiesRequest.builder() + .organizationId(organizationId) + .page(page) + .servicePlanIds(servicePlanIds) + .build())); + } + + private static Flux requestListServicePlans( + CloudFoundryClient cloudFoundryClient, List services) { + return PaginationUtils.requestClientV2Resources( + page -> + cloudFoundryClient + .servicePlans() + .list( + ListServicePlansRequest.builder() + .page(page) + .serviceIds(services) + .build())); + } + + private static Flux requestListServices( + CloudFoundryClient cloudFoundryClient, List brokerIds) { + return PaginationUtils.requestClientV2Resources( + page -> + cloudFoundryClient + .services() + .list( + ListServicesRequest.builder() + .page(page) + .serviceBrokerIds(brokerIds) + .build())); + } + + private static Flux requestListServices( + CloudFoundryClient cloudFoundryClient, String serviceName) { + return PaginationUtils.requestClientV2Resources( + page -> + cloudFoundryClient + .services() + .list( + ListServicesRequest.builder() + .page(page) + .label(serviceName) + .build())); + } + + private static Mono requestUpdateServiceBroker( + CloudFoundryClient cloudFoundryClient, + UpdateServiceBrokerRequest request, + String serviceBrokerId) { + return cloudFoundryClient + .serviceBrokers() + .update( + org.cloudfoundry.client.v2.servicebrokers.UpdateServiceBrokerRequest + .builder() + .serviceBrokerId(serviceBrokerId) + .name(request.getName()) + .brokerUrl(request.getUrl()) + .authenticationUsername(request.getUsername()) + .authenticationPassword(request.getPassword()) + .build()); + } + + private static Mono requestUpdateServicePlanPublicStatus( + CloudFoundryClient cloudFoundryClient, boolean publiclyVisible, String servicePlanId) { + return cloudFoundryClient + .servicePlans() + .update( + UpdateServicePlanRequest.builder() + .publiclyVisible(publiclyVisible) + .servicePlanId(servicePlanId) + .build()); + } + + private static ServiceAccess toServiceAccess( + List brokers, + List organizationNames, + List services, + ServicePlanResource servicePlan) { Access access = Access.NONE; if (organizationNames != null && organizationNames.size() > 0) { access = Access.LIMITED; @@ -434,67 +605,143 @@ private static ServiceAccess toServiceAccess(List brokers } String servicePlanName = ResourceUtils.getEntity(servicePlan).getName(); - ServiceResource service = services.stream() - .filter(item -> ResourceUtils.getId(item).equals(servicePlan.getEntity().getServiceId())) - .findFirst() - .orElseThrow(() -> new IllegalStateException(String.format("Unable to find service for %s", servicePlanName))); + ServiceResource service = + services.stream() + .filter( + item -> + ResourceUtils.getId(item) + .equals(servicePlan.getEntity().getServiceId())) + .findFirst() + .orElseThrow( + () -> + new IllegalStateException( + String.format( + "Unable to find service for %s", + servicePlanName))); String serviceName = ResourceUtils.getEntity(service).getLabel(); - String brokerName = brokers.stream() - .filter(broker -> ResourceUtils.getId(broker).equals(ResourceUtils.getEntity(service).getServiceBrokerId())) - .map(broker -> ResourceUtils.getEntity(broker).getName()) - .findFirst() - .orElseThrow(() -> new IllegalStateException(String.format("Unable to find broker for %s", serviceName))); + String brokerName = + brokers.stream() + .filter( + broker -> + ResourceUtils.getId(broker) + .equals( + ResourceUtils.getEntity(service) + .getServiceBrokerId())) + .map(broker -> ResourceUtils.getEntity(broker).getName()) + .findFirst() + .orElseThrow( + () -> + new IllegalStateException( + String.format( + "Unable to find broker for %s", + serviceName))); return ServiceAccess.builder() - .access(access) - .brokerName(brokerName) - .organizationNames(organizationNames) - .planName(servicePlanName) - .serviceName(serviceName) - .build(); - } - - private static Mono updateServicePlanVisibilities(CloudFoundryClient cloudFoundryClient, EnableServiceAccessRequest request, List servicePlans) { - List servicePlanIds = servicePlans.stream() - .filter(servicePlan -> isUpdateableServicePlan(request.getServicePlanName(), servicePlan)) - .map(ResourceUtils::getId) - .collect(Collectors.toList()); + .access(access) + .brokerName(brokerName) + .organizationNames(organizationNames) + .planName(servicePlanName) + .serviceName(serviceName) + .build(); + } + + private static Mono updateServicePlanVisibilities( + CloudFoundryClient cloudFoundryClient, + EnableServiceAccessRequest request, + List servicePlans) { + List servicePlanIds = + servicePlans.stream() + .filter( + servicePlan -> + isUpdateableServicePlan( + request.getServicePlanName(), servicePlan)) + .map(ResourceUtils::getId) + .collect(Collectors.toList()); if (request.getOrganizationName() != null && !request.getOrganizationName().isEmpty()) { return getOrganizationId(cloudFoundryClient, request.getOrganizationName()) - .flatMapMany(organizationId -> Flux.fromIterable(servicePlanIds) - .flatMap(servicePlanId -> requestCreateServicePlanVisibility(cloudFoundryClient, organizationId, servicePlanId))) - .then(); + .flatMapMany( + organizationId -> + Flux.fromIterable(servicePlanIds) + .flatMap( + servicePlanId -> + requestCreateServicePlanVisibility( + cloudFoundryClient, + organizationId, + servicePlanId))) + .then(); } else { return listServicePlanVisibilityIds(cloudFoundryClient, servicePlanIds) - .flatMap(visibilityId -> requestDeleteServicePlanVisibility(cloudFoundryClient, visibilityId) - .flatMap(job -> JobUtils.waitForCompletion(cloudFoundryClient, request.getCompletionTimeout(), job))) - .then(); + .flatMap( + visibilityId -> + requestDeleteServicePlanVisibility( + cloudFoundryClient, visibilityId) + .flatMap( + job -> + JobUtils.waitForCompletion( + cloudFoundryClient, + request.getCompletionTimeout(), + job))) + .then(); } } - private static Mono updateServicePlanVisibilities(CloudFoundryClient cloudFoundryClient, DisableServiceAccessRequest request, List servicePlans) { - List servicePlanIds = servicePlans.stream() - .filter(servicePlan -> isUpdateableServicePlan(request.getServicePlanName(), servicePlan)) - .map(ResourceUtils::getId) - .collect(Collectors.toList()); + private static Mono updateServicePlanVisibilities( + CloudFoundryClient cloudFoundryClient, + DisableServiceAccessRequest request, + List servicePlans) { + List servicePlanIds = + servicePlans.stream() + .filter( + servicePlan -> + isUpdateableServicePlan( + request.getServicePlanName(), servicePlan)) + .map(ResourceUtils::getId) + .collect(Collectors.toList()); if (request.getOrganizationName() != null && !request.getOrganizationName().isEmpty()) { return getOrganizationId(cloudFoundryClient, request.getOrganizationName()) - .flatMap(organizationId -> listServicePlanVisibilityIds(cloudFoundryClient, organizationId, servicePlanIds) - .flatMap(visibilityId -> requestDeleteServicePlanVisibility(cloudFoundryClient, visibilityId) - .flatMap(job -> JobUtils.waitForCompletion(cloudFoundryClient, request.getCompletionTimeout(), job))) - .then()); + .flatMap( + organizationId -> + listServicePlanVisibilityIds( + cloudFoundryClient, + organizationId, + servicePlanIds) + .flatMap( + visibilityId -> + requestDeleteServicePlanVisibility( + cloudFoundryClient, + visibilityId) + .flatMap( + job -> + JobUtils + .waitForCompletion( + cloudFoundryClient, + request + .getCompletionTimeout(), + job))) + .then()); } else { return listServicePlanVisibilityIds(cloudFoundryClient, servicePlanIds) - .flatMap(visibilityId -> requestDeleteServicePlanVisibility(cloudFoundryClient, visibilityId) - .flatMap(job -> JobUtils.waitForCompletion(cloudFoundryClient, request.getCompletionTimeout(), job))) - .then(); + .flatMap( + visibilityId -> + requestDeleteServicePlanVisibility( + cloudFoundryClient, visibilityId) + .flatMap( + job -> + JobUtils.waitForCompletion( + cloudFoundryClient, + request.getCompletionTimeout(), + job))) + .then(); } } - private static Mono updateServicePlansPublicStatus(CloudFoundryClient cloudFoundryClient, DisableServiceAccessRequest request, List servicePlans) { + private static Mono updateServicePlansPublicStatus( + CloudFoundryClient cloudFoundryClient, + DisableServiceAccessRequest request, + List servicePlans) { if (request.getOrganizationName() != null && !request.getOrganizationName().isEmpty()) { return Mono.empty(); } @@ -504,38 +751,56 @@ private static Mono updateServicePlansPublicStatus(CloudFoundryClient clou } return Flux.fromIterable(servicePlans) - .filter(servicePlan -> ResourceUtils.getEntity(servicePlan).getPubliclyVisible()) - .flatMap(servicePlan -> requestUpdateServicePlanPublicStatus(cloudFoundryClient, false, ResourceUtils.getId(servicePlan))) - .then(); + .filter(servicePlan -> ResourceUtils.getEntity(servicePlan).getPubliclyVisible()) + .flatMap( + servicePlan -> + requestUpdateServicePlanPublicStatus( + cloudFoundryClient, + false, + ResourceUtils.getId(servicePlan))) + .then(); } - private static Mono updateServicePlansPublicStatus(CloudFoundryClient cloudFoundryClient, EnableServiceAccessRequest request, List servicePlans) { + private static Mono updateServicePlansPublicStatus( + CloudFoundryClient cloudFoundryClient, + EnableServiceAccessRequest request, + List servicePlans) { if (request.getOrganizationName() != null && !request.getOrganizationName().isEmpty()) { return Mono.empty(); } return Flux.fromIterable(servicePlans) - .filter(servicePlan -> isUpdateableServicePlan(request.getServicePlanName(), servicePlan)) - .filter(servicePlan -> !ResourceUtils.getEntity(servicePlan).getPubliclyVisible()) - .flatMap(servicePlan -> requestUpdateServicePlanPublicStatus(cloudFoundryClient, true, ResourceUtils.getId(servicePlan))) - .then(); + .filter( + servicePlan -> + isUpdateableServicePlan(request.getServicePlanName(), servicePlan)) + .filter(servicePlan -> !ResourceUtils.getEntity(servicePlan).getPubliclyVisible()) + .flatMap( + servicePlan -> + requestUpdateServicePlanPublicStatus( + cloudFoundryClient, true, ResourceUtils.getId(servicePlan))) + .then(); } - private static Mono validateOrganization(CloudFoundryClient cloudFoundryClient, String organizationName) { + private static Mono validateOrganization( + CloudFoundryClient cloudFoundryClient, String organizationName) { if (organizationName != null) { return requestListOrganizations(cloudFoundryClient, organizationName) - .switchIfEmpty(ExceptionUtils.illegalArgument("Organization %s not found", organizationName)) - .then(); + .switchIfEmpty( + ExceptionUtils.illegalArgument( + "Organization %s not found", organizationName)) + .then(); } else { return Mono.empty(); } } - private static Mono validateService(CloudFoundryClient cloudFoundryClient, String serviceName) { + private static Mono validateService( + CloudFoundryClient cloudFoundryClient, String serviceName) { if (serviceName != null) { return requestListServices(cloudFoundryClient, serviceName) - .switchIfEmpty(ExceptionUtils.illegalArgument("Service %s not found", serviceName)) - .then(); + .switchIfEmpty( + ExceptionUtils.illegalArgument("Service %s not found", serviceName)) + .then(); } else { return Mono.empty(); } @@ -545,10 +810,9 @@ private ServiceBroker toServiceBroker(ServiceBrokerResource resource) { ServiceBrokerEntity entity = ResourceUtils.getEntity(resource); return ServiceBroker.builder() - .id(ResourceUtils.getId(resource)) - .name(entity.getName()) - .url(entity.getBrokerUrl()) - .build(); + .id(ResourceUtils.getId(resource)) + .name(entity.getName()) + .url(entity.getBrokerUrl()) + .build(); } - } diff --git a/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/serviceadmin/ServiceAdmin.java b/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/serviceadmin/ServiceAdmin.java index ea43379630..897fade753 100644 --- a/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/serviceadmin/ServiceAdmin.java +++ b/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/serviceadmin/ServiceAdmin.java @@ -77,7 +77,5 @@ public interface ServiceAdmin { * @param request The Update Service Broker request * @return a completion indicator */ - Mono update(UpdateServiceBrokerRequest request); - } diff --git a/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/services/AbstractServiceInstanceSummary.java b/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/services/AbstractServiceInstanceSummary.java index a5ba721af3..dd44b87ae3 100644 --- a/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/services/AbstractServiceInstanceSummary.java +++ b/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/services/AbstractServiceInstanceSummary.java @@ -16,11 +16,10 @@ package org.cloudfoundry.operations.services; +import java.util.List; import org.cloudfoundry.Nullable; import org.cloudfoundry.client.v2.MaintenanceInfo; -import java.util.List; - /** * A service instance summary base class */ @@ -75,5 +74,4 @@ public abstract class AbstractServiceInstanceSummary { * The type of the service instance */ abstract ServiceInstanceType getType(); - } diff --git a/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/services/DefaultServices.java b/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/services/DefaultServices.java index 9afd909325..5e5407eeb5 100644 --- a/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/services/DefaultServices.java +++ b/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/services/DefaultServices.java @@ -16,7 +16,20 @@ package org.cloudfoundry.operations.services; +import static org.cloudfoundry.util.tuple.TupleUtils.function; + import com.fasterxml.jackson.databind.ObjectMapper; +import java.io.IOException; +import java.time.Duration; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.NoSuchElementException; +import java.util.Optional; +import java.util.function.UnaryOperator; +import java.util.stream.Collectors; import org.cloudfoundry.client.CloudFoundryClient; import org.cloudfoundry.client.v2.applications.ApplicationEntity; import org.cloudfoundry.client.v2.applications.ApplicationResource; @@ -83,20 +96,6 @@ import reactor.core.publisher.Mono; import reactor.util.function.Tuples; -import java.io.IOException; -import java.time.Duration; -import java.util.ArrayList; -import java.util.Collections; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.NoSuchElementException; -import java.util.Optional; -import java.util.function.UnaryOperator; -import java.util.stream.Collectors; - -import static org.cloudfoundry.util.tuple.TupleUtils.function; - public final class DefaultServices implements Services { private static final int CF_ROUTE_SERVICE_ALREADY_BOUND = 130008; @@ -111,7 +110,10 @@ public final class DefaultServices implements Services { private final Mono spaceId; - public DefaultServices(Mono cloudFoundryClient, Mono organizationId, Mono spaceId) { + public DefaultServices( + Mono cloudFoundryClient, + Mono organizationId, + Mono spaceId) { this.cloudFoundryClient = cloudFoundryClient; this.spaceId = spaceId; this.organizationId = organizationId; @@ -119,297 +121,504 @@ public DefaultServices(Mono cloudFoundryClient, Mono @Override public Mono bind(BindServiceInstanceRequest request) { - return Mono - .zip(this.cloudFoundryClient, this.spaceId) - .flatMap(function((cloudFoundryClient, spaceId) -> Mono.zip( - Mono.just(cloudFoundryClient), - getApplicationId(cloudFoundryClient, request.getApplicationName(), spaceId), - getSpaceServiceInstanceId(cloudFoundryClient, request.getServiceInstanceName(), spaceId) - ))) - .flatMap(function((cloudFoundryClient, applicationId, serviceInstanceId) -> createServiceBinding(cloudFoundryClient, applicationId, serviceInstanceId, request.getParameters()))) - .then() - .transform(OperationsLogging.log("Bind Service Instance")) - .checkpoint(); + return Mono.zip(this.cloudFoundryClient, this.spaceId) + .flatMap( + function( + (cloudFoundryClient, spaceId) -> + Mono.zip( + Mono.just(cloudFoundryClient), + getApplicationId( + cloudFoundryClient, + request.getApplicationName(), + spaceId), + getSpaceServiceInstanceId( + cloudFoundryClient, + request.getServiceInstanceName(), + spaceId)))) + .flatMap( + function( + (cloudFoundryClient, applicationId, serviceInstanceId) -> + createServiceBinding( + cloudFoundryClient, + applicationId, + serviceInstanceId, + request.getParameters()))) + .then() + .transform(OperationsLogging.log("Bind Service Instance")) + .checkpoint(); } @Override public Mono bindRoute(BindRouteServiceInstanceRequest request) { - return Mono - .zip(this.cloudFoundryClient, this.organizationId, this.spaceId) - .flatMap(function((cloudFoundryClient, organizationId, spaceId) -> Mono.zip( - Mono.just(cloudFoundryClient), - getDomainId(cloudFoundryClient, request.getDomainName(), organizationId), - Mono.just(spaceId) - ))) - .flatMap(function((cloudFoundryClient, domainId, spaceId) -> Mono.zip( - Mono.just(cloudFoundryClient), - getRouteId(cloudFoundryClient, request.getDomainName(), domainId, request.getHostname(), request.getPath()), - getSpaceServiceInstanceId(cloudFoundryClient, request.getServiceInstanceName(), spaceId) - ))) - .flatMap(function((cloudFoundryClient, routeId, userProvidedServiceInstanceId) -> createRouteBinding(cloudFoundryClient, routeId, userProvidedServiceInstanceId, request.getParameters()))) - .then() - .transform(OperationsLogging.log("Bind Route to Service Instance")) - .checkpoint(); + return Mono.zip(this.cloudFoundryClient, this.organizationId, this.spaceId) + .flatMap( + function( + (cloudFoundryClient, organizationId, spaceId) -> + Mono.zip( + Mono.just(cloudFoundryClient), + getDomainId( + cloudFoundryClient, + request.getDomainName(), + organizationId), + Mono.just(spaceId)))) + .flatMap( + function( + (cloudFoundryClient, domainId, spaceId) -> + Mono.zip( + Mono.just(cloudFoundryClient), + getRouteId( + cloudFoundryClient, + request.getDomainName(), + domainId, + request.getHostname(), + request.getPath()), + getSpaceServiceInstanceId( + cloudFoundryClient, + request.getServiceInstanceName(), + spaceId)))) + .flatMap( + function( + (cloudFoundryClient, routeId, userProvidedServiceInstanceId) -> + createRouteBinding( + cloudFoundryClient, + routeId, + userProvidedServiceInstanceId, + request.getParameters()))) + .then() + .transform(OperationsLogging.log("Bind Route to Service Instance")) + .checkpoint(); } @Override public Mono createInstance(CreateServiceInstanceRequest request) { - return Mono - .zip(this.cloudFoundryClient, this.spaceId) - .flatMap(function((cloudFoundryClient, spaceId) -> Mono.zip( - Mono.just(cloudFoundryClient), - Mono.just(spaceId), - getServiceIdByName(cloudFoundryClient, spaceId, request.getServiceName()) - ))) - .flatMap(function((cloudFoundryClient, spaceId, serviceId) -> Mono.zip( - Mono.just(cloudFoundryClient), - Mono.just(spaceId), - getServicePlanIdByName(cloudFoundryClient, serviceId, request.getPlanName()) - ))) - .flatMap(function((cloudFoundryClient, spaceId, planId) -> Mono.zip( - Mono.just(cloudFoundryClient), - Mono.just(request.getCompletionTimeout()), - createServiceInstance(cloudFoundryClient, spaceId, planId, request) - ))) - .flatMap(function(DefaultServices::waitForInstanceAction)) - .transform(OperationsLogging.log("Create Service Instance")) - .checkpoint(); + return Mono.zip(this.cloudFoundryClient, this.spaceId) + .flatMap( + function( + (cloudFoundryClient, spaceId) -> + Mono.zip( + Mono.just(cloudFoundryClient), + Mono.just(spaceId), + getServiceIdByName( + cloudFoundryClient, + spaceId, + request.getServiceName())))) + .flatMap( + function( + (cloudFoundryClient, spaceId, serviceId) -> + Mono.zip( + Mono.just(cloudFoundryClient), + Mono.just(spaceId), + getServicePlanIdByName( + cloudFoundryClient, + serviceId, + request.getPlanName())))) + .flatMap( + function( + (cloudFoundryClient, spaceId, planId) -> + Mono.zip( + Mono.just(cloudFoundryClient), + Mono.just(request.getCompletionTimeout()), + createServiceInstance( + cloudFoundryClient, + spaceId, + planId, + request)))) + .flatMap(function(DefaultServices::waitForInstanceAction)) + .transform(OperationsLogging.log("Create Service Instance")) + .checkpoint(); } @Override public Mono createServiceKey(CreateServiceKeyRequest request) { - return Mono - .zip(this.cloudFoundryClient, this.spaceId) - .flatMap(function((cloudFoundryClient, spaceId) -> Mono.zip( - Mono.just(cloudFoundryClient), - getSpaceServiceInstanceId(cloudFoundryClient, request.getServiceInstanceName(), spaceId) - ))) - .flatMap(function((cloudFoundryClient, serviceInstanceId) -> requestCreateServiceKey(cloudFoundryClient, serviceInstanceId, request.getServiceKeyName(), request.getParameters()))) - .then() - .transform(OperationsLogging.log("Create Service Key")) - .checkpoint(); + return Mono.zip(this.cloudFoundryClient, this.spaceId) + .flatMap( + function( + (cloudFoundryClient, spaceId) -> + Mono.zip( + Mono.just(cloudFoundryClient), + getSpaceServiceInstanceId( + cloudFoundryClient, + request.getServiceInstanceName(), + spaceId)))) + .flatMap( + function( + (cloudFoundryClient, serviceInstanceId) -> + requestCreateServiceKey( + cloudFoundryClient, + serviceInstanceId, + request.getServiceKeyName(), + request.getParameters()))) + .then() + .transform(OperationsLogging.log("Create Service Key")) + .checkpoint(); } @Override public Mono createUserProvidedInstance(CreateUserProvidedServiceInstanceRequest request) { - return Mono - .zip(this.cloudFoundryClient, this.spaceId) - .flatMap(function((cloudFoundryClient, spaceId) -> requestCreateUserProvidedServiceInstance(cloudFoundryClient, request.getName(), request.getCredentials(), request.getRouteServiceUrl(), - spaceId, request.getSyslogDrainUrl(), request.getTags()))) - .then() - .transform(OperationsLogging.log("Create User Provided Service Instance")) - .checkpoint(); + return Mono.zip(this.cloudFoundryClient, this.spaceId) + .flatMap( + function( + (cloudFoundryClient, spaceId) -> + requestCreateUserProvidedServiceInstance( + cloudFoundryClient, + request.getName(), + request.getCredentials(), + request.getRouteServiceUrl(), + spaceId, + request.getSyslogDrainUrl(), + request.getTags()))) + .then() + .transform(OperationsLogging.log("Create User Provided Service Instance")) + .checkpoint(); } @Override public Mono deleteInstance(DeleteServiceInstanceRequest request) { - return Mono - .zip(this.cloudFoundryClient, this.spaceId) - .flatMap(function((cloudFoundryClient, spaceId) -> Mono.zip( - Mono.just(cloudFoundryClient), - Mono.just(request.getCompletionTimeout()), - getSpaceServiceInstance(cloudFoundryClient, request.getName(), spaceId) - ))) - .flatMap(function(DefaultServices::deleteServiceInstance)) - .transform(OperationsLogging.log("Delete Service Instance")) - .checkpoint(); + return Mono.zip(this.cloudFoundryClient, this.spaceId) + .flatMap( + function( + (cloudFoundryClient, spaceId) -> + Mono.zip( + Mono.just(cloudFoundryClient), + Mono.just(request.getCompletionTimeout()), + getSpaceServiceInstance( + cloudFoundryClient, + request.getName(), + spaceId)))) + .flatMap(function(DefaultServices::deleteServiceInstance)) + .transform(OperationsLogging.log("Delete Service Instance")) + .checkpoint(); } @Override public Mono deleteServiceKey(DeleteServiceKeyRequest request) { - return Mono - .zip(this.cloudFoundryClient, this.spaceId) - .flatMap(function((cloudFoundryClient, spaceId) -> Mono.zip( - Mono.just(cloudFoundryClient), - getSpaceServiceInstanceId(cloudFoundryClient, request.getServiceInstanceName(), spaceId) - ))) - .flatMap(function((cloudFoundryClient, serviceInstanceId) -> Mono.zip( - Mono.just(cloudFoundryClient), - getServiceKey(cloudFoundryClient, serviceInstanceId, request.getServiceKeyName()) - .map(ResourceUtils::getId) - ))) - .flatMap(function(DefaultServices::requestDeleteServiceKey)) - .transform(OperationsLogging.log("Delete Service Key")) - .checkpoint(); + return Mono.zip(this.cloudFoundryClient, this.spaceId) + .flatMap( + function( + (cloudFoundryClient, spaceId) -> + Mono.zip( + Mono.just(cloudFoundryClient), + getSpaceServiceInstanceId( + cloudFoundryClient, + request.getServiceInstanceName(), + spaceId)))) + .flatMap( + function( + (cloudFoundryClient, serviceInstanceId) -> + Mono.zip( + Mono.just(cloudFoundryClient), + getServiceKey( + cloudFoundryClient, + serviceInstanceId, + request.getServiceKeyName()) + .map(ResourceUtils::getId)))) + .flatMap(function(DefaultServices::requestDeleteServiceKey)) + .transform(OperationsLogging.log("Delete Service Key")) + .checkpoint(); } @Override public Mono getInstance(GetServiceInstanceRequest request) { - return Mono - .zip(this.cloudFoundryClient, this.spaceId) - .flatMap(function((cloudFoundryClient, spaceId) -> Mono.zip( - Mono.just(cloudFoundryClient), - getSpaceServiceInstance(cloudFoundryClient, request.getName(), spaceId) - ))) - .flatMap(function((cloudFoundryClient, resource) -> Mono.zip( - Mono.just(cloudFoundryClient), - Mono.just(resource), - getServicePlanEntity(cloudFoundryClient, ResourceUtils.getEntity(resource).getServicePlanId()) - ))) - .flatMap(function((cloudFoundryClient, resource, servicePlanEntity) -> Mono.zip( - Mono.just(resource), - Mono.just(Optional.ofNullable(servicePlanEntity.getName())), - getBoundApplications(cloudFoundryClient, ResourceUtils.getId(resource)), - getServiceEntity(cloudFoundryClient, Optional.ofNullable(servicePlanEntity.getServiceId())) - ))) - .map(function(DefaultServices::toServiceInstance)) - .transform(OperationsLogging.log("Get Service Instance")) - .checkpoint(); + return Mono.zip(this.cloudFoundryClient, this.spaceId) + .flatMap( + function( + (cloudFoundryClient, spaceId) -> + Mono.zip( + Mono.just(cloudFoundryClient), + getSpaceServiceInstance( + cloudFoundryClient, + request.getName(), + spaceId)))) + .flatMap( + function( + (cloudFoundryClient, resource) -> + Mono.zip( + Mono.just(cloudFoundryClient), + Mono.just(resource), + getServicePlanEntity( + cloudFoundryClient, + ResourceUtils.getEntity(resource) + .getServicePlanId())))) + .flatMap( + function( + (cloudFoundryClient, resource, servicePlanEntity) -> + Mono.zip( + Mono.just(resource), + Mono.just( + Optional.ofNullable( + servicePlanEntity.getName())), + getBoundApplications( + cloudFoundryClient, + ResourceUtils.getId(resource)), + getServiceEntity( + cloudFoundryClient, + Optional.ofNullable( + servicePlanEntity + .getServiceId()))))) + .map(function(DefaultServices::toServiceInstance)) + .transform(OperationsLogging.log("Get Service Instance")) + .checkpoint(); } @Override public Mono getServiceKey(GetServiceKeyRequest request) { - return Mono - .zip(this.cloudFoundryClient, this.spaceId) - .flatMap(function((cloudFoundryClient, spaceId) -> Mono.zip( - Mono.just(cloudFoundryClient), - getSpaceServiceInstanceId(cloudFoundryClient, request.getServiceInstanceName(), spaceId) - ))) - .flatMap(function((cloudFoundryClient, serviceInstanceId) -> getServiceKey(cloudFoundryClient, serviceInstanceId, request.getServiceKeyName()))) - .map(DefaultServices::toServiceKey) - .transform(OperationsLogging.log("Get Service Key")) - .checkpoint(); + return Mono.zip(this.cloudFoundryClient, this.spaceId) + .flatMap( + function( + (cloudFoundryClient, spaceId) -> + Mono.zip( + Mono.just(cloudFoundryClient), + getSpaceServiceInstanceId( + cloudFoundryClient, + request.getServiceInstanceName(), + spaceId)))) + .flatMap( + function( + (cloudFoundryClient, serviceInstanceId) -> + getServiceKey( + cloudFoundryClient, + serviceInstanceId, + request.getServiceKeyName()))) + .map(DefaultServices::toServiceKey) + .transform(OperationsLogging.log("Get Service Key")) + .checkpoint(); } @Override public Flux listInstances() { - return Mono - .zip(this.cloudFoundryClient, this.spaceId) - .flatMap(function((cloudFoundryClient, spaceId) -> cloudFoundryClient.spaces() - .getSummary(GetSpaceSummaryRequest.builder() - .spaceId(spaceId) - .build()))) - .flatMapMany(DefaultServices::toServiceInstanceSummary) - .transform(OperationsLogging.log("List Service Instances")) - .checkpoint(); + return Mono.zip(this.cloudFoundryClient, this.spaceId) + .flatMap( + function( + (cloudFoundryClient, spaceId) -> + cloudFoundryClient + .spaces() + .getSummary( + GetSpaceSummaryRequest.builder() + .spaceId(spaceId) + .build()))) + .flatMapMany(DefaultServices::toServiceInstanceSummary) + .transform(OperationsLogging.log("List Service Instances")) + .checkpoint(); } @Override public Flux listServiceKeys(ListServiceKeysRequest request) { - return Mono - .zip(this.cloudFoundryClient, this.spaceId) - .flatMap(function((cloudFoundryClient, spaceId) -> Mono.zip( - Mono.just(cloudFoundryClient), - getSpaceServiceInstanceId(cloudFoundryClient, request.getServiceInstanceName(), spaceId) - ))) - .flatMapMany(function((cloudFoundryClient, serviceInstanceId) -> requestListServiceInstanceServiceKeys(cloudFoundryClient, serviceInstanceId))) - .map(DefaultServices::toServiceKey) - .transform(OperationsLogging.log("List Service Keys")) - .checkpoint(); + return Mono.zip(this.cloudFoundryClient, this.spaceId) + .flatMap( + function( + (cloudFoundryClient, spaceId) -> + Mono.zip( + Mono.just(cloudFoundryClient), + getSpaceServiceInstanceId( + cloudFoundryClient, + request.getServiceInstanceName(), + spaceId)))) + .flatMapMany( + function( + (cloudFoundryClient, serviceInstanceId) -> + requestListServiceInstanceServiceKeys( + cloudFoundryClient, serviceInstanceId))) + .map(DefaultServices::toServiceKey) + .transform(OperationsLogging.log("List Service Keys")) + .checkpoint(); } @Override public Flux listServiceOfferings(ListServiceOfferingsRequest request) { - return Mono - .zip(this.cloudFoundryClient, this.spaceId) - .flatMapMany(function((cloudFoundryClient, spaceId) -> Optional - .ofNullable(request.getServiceName()) - .map(serviceName -> getSpaceService(cloudFoundryClient, spaceId, serviceName).flux()) - .orElse(requestListServices(cloudFoundryClient, spaceId)) - .map(resource -> Tuples.of(cloudFoundryClient, resource)) - )) - .flatMap(function((cloudFoundryClient, resource) -> Mono.zip( - Mono.just(resource), - getServicePlans(cloudFoundryClient, ResourceUtils.getId(resource)) - ))) - .map(function(DefaultServices::toServiceOffering)) - .transform(OperationsLogging.log("List Service Offerings")) - .checkpoint(); + return Mono.zip(this.cloudFoundryClient, this.spaceId) + .flatMapMany( + function( + (cloudFoundryClient, spaceId) -> + Optional.ofNullable(request.getServiceName()) + .map( + serviceName -> + getSpaceService( + cloudFoundryClient, + spaceId, + serviceName) + .flux()) + .orElse( + requestListServices( + cloudFoundryClient, spaceId)) + .map( + resource -> + Tuples.of( + cloudFoundryClient, + resource)))) + .flatMap( + function( + (cloudFoundryClient, resource) -> + Mono.zip( + Mono.just(resource), + getServicePlans( + cloudFoundryClient, + ResourceUtils.getId(resource))))) + .map(function(DefaultServices::toServiceOffering)) + .transform(OperationsLogging.log("List Service Offerings")) + .checkpoint(); } @Override public Mono renameInstance(RenameServiceInstanceRequest request) { - return Mono - .zip(this.cloudFoundryClient, this.spaceId) - .flatMap(function((cloudFoundryClient, spaceId) -> Mono.zip( - Mono.just(cloudFoundryClient), - getSpaceServiceInstance(cloudFoundryClient, request.getName(), spaceId) - ))) - .flatMap(function((cloudFoundryClient, serviceInstance) -> renameServiceInstance(cloudFoundryClient, serviceInstance, request.getNewName()))) - .then() - .transform(OperationsLogging.log("Rename Service Instance")) - .checkpoint(); + return Mono.zip(this.cloudFoundryClient, this.spaceId) + .flatMap( + function( + (cloudFoundryClient, spaceId) -> + Mono.zip( + Mono.just(cloudFoundryClient), + getSpaceServiceInstance( + cloudFoundryClient, + request.getName(), + spaceId)))) + .flatMap( + function( + (cloudFoundryClient, serviceInstance) -> + renameServiceInstance( + cloudFoundryClient, + serviceInstance, + request.getNewName()))) + .then() + .transform(OperationsLogging.log("Rename Service Instance")) + .checkpoint(); } @Override public Mono unbind(UnbindServiceInstanceRequest request) { - return Mono - .zip(this.cloudFoundryClient, this.spaceId) - .flatMap(function((cloudFoundryClient, spaceId) -> Mono.zip( - Mono.just(cloudFoundryClient), - getApplicationId(cloudFoundryClient, request.getApplicationName(), spaceId), - getSpaceServiceInstanceId(cloudFoundryClient, request.getServiceInstanceName(), spaceId) - ))) - .flatMap(function((cloudFoundryClient, applicationId, serviceInstanceId) -> Mono.zip( - Mono.just(cloudFoundryClient), - Mono.just(request.getCompletionTimeout()), - getServiceBindingId(cloudFoundryClient, applicationId, serviceInstanceId, request.getServiceInstanceName()) - ))) - .flatMap(function(DefaultServices::deleteServiceBinding)) - .then() - .transform(OperationsLogging.log("Unbind Service Instance")) - .checkpoint(); + return Mono.zip(this.cloudFoundryClient, this.spaceId) + .flatMap( + function( + (cloudFoundryClient, spaceId) -> + Mono.zip( + Mono.just(cloudFoundryClient), + getApplicationId( + cloudFoundryClient, + request.getApplicationName(), + spaceId), + getSpaceServiceInstanceId( + cloudFoundryClient, + request.getServiceInstanceName(), + spaceId)))) + .flatMap( + function( + (cloudFoundryClient, applicationId, serviceInstanceId) -> + Mono.zip( + Mono.just(cloudFoundryClient), + Mono.just(request.getCompletionTimeout()), + getServiceBindingId( + cloudFoundryClient, + applicationId, + serviceInstanceId, + request.getServiceInstanceName())))) + .flatMap(function(DefaultServices::deleteServiceBinding)) + .then() + .transform(OperationsLogging.log("Unbind Service Instance")) + .checkpoint(); } @Override public Mono unbindRoute(UnbindRouteServiceInstanceRequest request) { - return Mono - .zip(this.cloudFoundryClient, this.organizationId, this.spaceId) - .flatMap(function((cloudFoundryClient, organizationId, spaceId) -> Mono.zip( - Mono.just(cloudFoundryClient), - getDomainId(cloudFoundryClient, request.getDomainName(), organizationId), - Mono.just(spaceId) - ))) - .flatMap(function((cloudFoundryClient, domainId, spaceId) -> Mono.zip( - Mono.just(cloudFoundryClient), - getRouteId(cloudFoundryClient, request.getDomainName(), domainId, request.getHostname(), request.getPath()), - getSpaceServiceInstanceId(cloudFoundryClient, request.getServiceInstanceName(), spaceId) - ))) - .flatMap(function(DefaultServices::requestRemoveRoute)) - .then() - .transform(OperationsLogging.log("Unbind Route from Service Instance")) - .checkpoint(); + return Mono.zip(this.cloudFoundryClient, this.organizationId, this.spaceId) + .flatMap( + function( + (cloudFoundryClient, organizationId, spaceId) -> + Mono.zip( + Mono.just(cloudFoundryClient), + getDomainId( + cloudFoundryClient, + request.getDomainName(), + organizationId), + Mono.just(spaceId)))) + .flatMap( + function( + (cloudFoundryClient, domainId, spaceId) -> + Mono.zip( + Mono.just(cloudFoundryClient), + getRouteId( + cloudFoundryClient, + request.getDomainName(), + domainId, + request.getHostname(), + request.getPath()), + getSpaceServiceInstanceId( + cloudFoundryClient, + request.getServiceInstanceName(), + spaceId)))) + .flatMap(function(DefaultServices::requestRemoveRoute)) + .then() + .transform(OperationsLogging.log("Unbind Route from Service Instance")) + .checkpoint(); } @Override public Mono updateInstance(UpdateServiceInstanceRequest request) { - return Mono - .zip(this.cloudFoundryClient, this.organizationId, this.spaceId) - .flatMap(function((cloudFoundryClient, organizationId, spaceId) -> Mono.zip( - Mono.just(cloudFoundryClient), - Mono.just(organizationId), - getSpaceServiceInstance(cloudFoundryClient, request.getServiceInstanceName(), spaceId) - ))) - .flatMap(function((cloudFoundryClient, organizationId, serviceInstance) -> Mono.zip( - Mono.just(cloudFoundryClient), - Mono.just(ResourceUtils.getId(serviceInstance)), - getOptionalValidatedServicePlanId(cloudFoundryClient, request.getPlanName(), serviceInstance, organizationId) - ))) - .flatMap(function((cloudFoundryClient, serviceInstanceId, servicePlanId) -> Mono.zip( - Mono.just(cloudFoundryClient), - Mono.just(request.getCompletionTimeout()), - requestUpdateServiceInstance(cloudFoundryClient, request, serviceInstanceId, servicePlanId.orElse(null))))) - .flatMap(function(DefaultServices::waitForInstanceAction)) - .then() - .transform(OperationsLogging.log("Update Service Instance")) - .checkpoint(); + return Mono.zip(this.cloudFoundryClient, this.organizationId, this.spaceId) + .flatMap( + function( + (cloudFoundryClient, organizationId, spaceId) -> + Mono.zip( + Mono.just(cloudFoundryClient), + Mono.just(organizationId), + getSpaceServiceInstance( + cloudFoundryClient, + request.getServiceInstanceName(), + spaceId)))) + .flatMap( + function( + (cloudFoundryClient, organizationId, serviceInstance) -> + Mono.zip( + Mono.just(cloudFoundryClient), + Mono.just(ResourceUtils.getId(serviceInstance)), + getOptionalValidatedServicePlanId( + cloudFoundryClient, + request.getPlanName(), + serviceInstance, + organizationId)))) + .flatMap( + function( + (cloudFoundryClient, serviceInstanceId, servicePlanId) -> + Mono.zip( + Mono.just(cloudFoundryClient), + Mono.just(request.getCompletionTimeout()), + requestUpdateServiceInstance( + cloudFoundryClient, + request, + serviceInstanceId, + servicePlanId.orElse(null))))) + .flatMap(function(DefaultServices::waitForInstanceAction)) + .then() + .transform(OperationsLogging.log("Update Service Instance")) + .checkpoint(); } @Override public Mono updateUserProvidedInstance(UpdateUserProvidedServiceInstanceRequest request) { - return Mono - .zip(this.cloudFoundryClient, this.spaceId) - .flatMap(function((cloudFoundryClient, spaceId) -> Mono.zip( - Mono.just(cloudFoundryClient), - getSpaceUserProvidedServiceInstanceId(cloudFoundryClient, request.getUserProvidedServiceInstanceName(), spaceId) - ))) - .flatMap(function((cloudFoundryClient, userProvidedServiceInstanceId) -> updateUserProvidedServiceInstance(cloudFoundryClient, request, userProvidedServiceInstanceId))) - .then() - .transform(OperationsLogging.log("Update User Provided Service Instance")) - .checkpoint(); - } - - private static Mono> checkVisibility(CloudFoundryClient cloudFoundryClient, String organizationId, ServicePlanResource resource) { + return Mono.zip(this.cloudFoundryClient, this.spaceId) + .flatMap( + function( + (cloudFoundryClient, spaceId) -> + Mono.zip( + Mono.just(cloudFoundryClient), + getSpaceUserProvidedServiceInstanceId( + cloudFoundryClient, + request + .getUserProvidedServiceInstanceName(), + spaceId)))) + .flatMap( + function( + (cloudFoundryClient, userProvidedServiceInstanceId) -> + updateUserProvidedServiceInstance( + cloudFoundryClient, + request, + userProvidedServiceInstanceId))) + .then() + .transform(OperationsLogging.log("Update User Provided Service Instance")) + .checkpoint(); + } + + private static Mono> checkVisibility( + CloudFoundryClient cloudFoundryClient, + String organizationId, + ServicePlanResource resource) { String servicePlanId = ResourceUtils.getId(resource); if (resource.getEntity().getPubliclyVisible()) { @@ -417,73 +626,131 @@ private static Mono> checkVisibility(CloudFoundryClient cloudFo } return requestListServicePlanVisibilities(cloudFoundryClient, organizationId, servicePlanId) - .next() - .switchIfEmpty(ExceptionUtils.illegalArgument("Service Plan %s is not visible to your organization", resource.getEntity().getName())) - .thenReturn(Optional.of(servicePlanId)); - } - - private static Mono createRouteBinding(CloudFoundryClient cloudFoundryClient, String routeId, String userProvidedServiceInstanceId, - Map parameters) { - return requestCreateRouteBinding(cloudFoundryClient, routeId, userProvidedServiceInstanceId, parameters) - .onErrorResume(ExceptionUtils.statusCode(CF_ROUTE_SERVICE_ALREADY_BOUND), t -> Mono.empty()); - } - - private static Mono createServiceBinding(CloudFoundryClient cloudFoundryClient, String applicationId, String serviceInstanceId, Map parameters) { - return requestCreateServiceBinding(cloudFoundryClient, applicationId, serviceInstanceId, parameters) - .onErrorResume(ExceptionUtils.statusCode(CF_SERVICE_ALREADY_BOUND), t -> Mono.empty()); - } - - private static Mono createServiceInstance(CloudFoundryClient cloudFoundryClient, String spaceId, String planId, CreateServiceInstanceRequest request) { - return requestCreateServiceInstance(cloudFoundryClient, spaceId, planId, request.getServiceInstanceName(), request.getParameters(), request.getTags()) - .cast(AbstractServiceInstanceResource.class); - } - - private static Mono deleteServiceBinding(CloudFoundryClient cloudFoundryClient, Duration completionTimeout, String serviceBindingId) { + .next() + .switchIfEmpty( + ExceptionUtils.illegalArgument( + "Service Plan %s is not visible to your organization", + resource.getEntity().getName())) + .thenReturn(Optional.of(servicePlanId)); + } + + private static Mono createRouteBinding( + CloudFoundryClient cloudFoundryClient, + String routeId, + String userProvidedServiceInstanceId, + Map parameters) { + return requestCreateRouteBinding( + cloudFoundryClient, routeId, userProvidedServiceInstanceId, parameters) + .onErrorResume( + ExceptionUtils.statusCode(CF_ROUTE_SERVICE_ALREADY_BOUND), + t -> Mono.empty()); + } + + private static Mono createServiceBinding( + CloudFoundryClient cloudFoundryClient, + String applicationId, + String serviceInstanceId, + Map parameters) { + return requestCreateServiceBinding( + cloudFoundryClient, applicationId, serviceInstanceId, parameters) + .onErrorResume( + ExceptionUtils.statusCode(CF_SERVICE_ALREADY_BOUND), t -> Mono.empty()); + } + + private static Mono createServiceInstance( + CloudFoundryClient cloudFoundryClient, + String spaceId, + String planId, + CreateServiceInstanceRequest request) { + return requestCreateServiceInstance( + cloudFoundryClient, + spaceId, + planId, + request.getServiceInstanceName(), + request.getParameters(), + request.getTags()) + .cast(AbstractServiceInstanceResource.class); + } + + private static Mono deleteServiceBinding( + CloudFoundryClient cloudFoundryClient, + Duration completionTimeout, + String serviceBindingId) { return requestDeleteServiceBinding(cloudFoundryClient, serviceBindingId) - .flatMap(job -> JobUtils.waitForCompletion(cloudFoundryClient, completionTimeout, job)); + .flatMap( + job -> + JobUtils.waitForCompletion( + cloudFoundryClient, completionTimeout, job)); } - private static Mono deleteServiceInstance(CloudFoundryClient cloudFoundryClient, Duration completionTimeout, UnionServiceInstanceResource serviceInstance) { + private static Mono deleteServiceInstance( + CloudFoundryClient cloudFoundryClient, + Duration completionTimeout, + UnionServiceInstanceResource serviceInstance) { if (isUserProvidedService(serviceInstance)) { - return requestDeleteUserProvidedServiceInstance(cloudFoundryClient, ResourceUtils.getId(serviceInstance)); + return requestDeleteUserProvidedServiceInstance( + cloudFoundryClient, ResourceUtils.getId(serviceInstance)); } else { - return requestDeleteServiceInstance(cloudFoundryClient, ResourceUtils.getId(serviceInstance)) - .flatMap(response -> { - Object entity = response.getEntity(); - if (entity instanceof JobEntity) { - return JobUtils.waitForCompletion(cloudFoundryClient, completionTimeout, (JobEntity) response.getEntity()); - } else { - return LastOperationUtils.waitForCompletion(completionTimeout, () -> requestGetServiceInstance(cloudFoundryClient, ResourceUtils.getId(serviceInstance)) - .map(r -> ResourceUtils.getEntity(r).getLastOperation())); - } - }); + return requestDeleteServiceInstance( + cloudFoundryClient, ResourceUtils.getId(serviceInstance)) + .flatMap( + response -> { + Object entity = response.getEntity(); + if (entity instanceof JobEntity) { + return JobUtils.waitForCompletion( + cloudFoundryClient, + completionTimeout, + (JobEntity) response.getEntity()); + } else { + return LastOperationUtils.waitForCompletion( + completionTimeout, + () -> + requestGetServiceInstance( + cloudFoundryClient, + ResourceUtils.getId( + serviceInstance)) + .map( + r -> + ResourceUtils.getEntity( + r) + .getLastOperation())); + } + }); } } - private static Mono getApplication(CloudFoundryClient cloudFoundryClient, String applicationName, String spaceId) { + private static Mono getApplication( + CloudFoundryClient cloudFoundryClient, String applicationName, String spaceId) { return requestListApplications(cloudFoundryClient, applicationName, spaceId) - .single() - .onErrorResume(NoSuchElementException.class, t -> ExceptionUtils.illegalArgument("Application %s does not exist", applicationName)); + .single() + .onErrorResume( + NoSuchElementException.class, + t -> + ExceptionUtils.illegalArgument( + "Application %s does not exist", applicationName)); } - private static Mono getApplicationId(CloudFoundryClient cloudFoundryClient, String applicationName, String spaceId) { + private static Mono getApplicationId( + CloudFoundryClient cloudFoundryClient, String applicationName, String spaceId) { return getApplication(cloudFoundryClient, applicationName, spaceId) - .map(ResourceUtils::getId); + .map(ResourceUtils::getId); } - private static Mono> getBoundApplications(CloudFoundryClient cloudFoundryClient, String serviceInstanceId) { + private static Mono> getBoundApplications( + CloudFoundryClient cloudFoundryClient, String serviceInstanceId) { return requestListServiceBindings(cloudFoundryClient, serviceInstanceId) - .map(resource -> ResourceUtils.getEntity(resource).getApplicationId()) - .flatMap(applicationId -> requestGetApplication(cloudFoundryClient, applicationId)) - .map(ResourceUtils::getEntity) - .map(ApplicationEntity::getName) - .collectList(); + .map(resource -> ResourceUtils.getEntity(resource).getApplicationId()) + .flatMap(applicationId -> requestGetApplication(cloudFoundryClient, applicationId)) + .map(ResourceUtils::getEntity) + .map(ApplicationEntity::getName) + .collectList(); } - private static Mono getDomainId(CloudFoundryClient cloudFoundryClient, String domain, String organizationId) { + private static Mono getDomainId( + CloudFoundryClient cloudFoundryClient, String domain, String organizationId) { return getPrivateDomainId(cloudFoundryClient, domain, organizationId) - .switchIfEmpty(getSharedDomainId(cloudFoundryClient, domain)) - .switchIfEmpty(ExceptionUtils.illegalArgument("Domain %s not found", domain)); + .switchIfEmpty(getSharedDomainId(cloudFoundryClient, domain)) + .switchIfEmpty(ExceptionUtils.illegalArgument("Domain %s not found", domain)); } @SuppressWarnings("unchecked") @@ -499,8 +766,11 @@ private static String getExtraValue(String extra, String key) { } } - private static Mono> getOptionalValidatedServicePlanId(CloudFoundryClient cloudFoundryClient, String planName, UnionServiceInstanceResource serviceInstance, - String organizationId) { + private static Mono> getOptionalValidatedServicePlanId( + CloudFoundryClient cloudFoundryClient, + String planName, + UnionServiceInstanceResource serviceInstance, + String organizationId) { if (planName == null || planName.isEmpty()) { return Mono.just(Optional.empty()); } @@ -508,128 +778,192 @@ private static Mono> getOptionalValidatedServicePlanId(CloudFou String servicePlanId = serviceInstance.getEntity().getServicePlanId(); if (servicePlanId == null || servicePlanId.isEmpty()) { - return ExceptionUtils.illegalArgument("Plan does not exist for the %s service", serviceInstance.getEntity().getName()); + return ExceptionUtils.illegalArgument( + "Plan does not exist for the %s service", + serviceInstance.getEntity().getName()); } return getServiceId(cloudFoundryClient, servicePlanId) - .flatMap(serviceId -> requestGetService(cloudFoundryClient, serviceId)) - .filter(DefaultServices::isPlanUpdateable) - .switchIfEmpty(ExceptionUtils.illegalArgument("Plan for the %s service cannot be updated", serviceInstance.getEntity().getName())) - .flatMapMany(response -> requestListServicePlans(cloudFoundryClient, ResourceUtils.getId(response))) - .filter(resource -> planName.equals(resource.getEntity().getName())) - .singleOrEmpty() - .switchIfEmpty(ExceptionUtils.illegalArgument("New service plan %s not found", planName)) - .flatMap(resource -> checkVisibility(cloudFoundryClient, organizationId, resource)); - } - - private static Mono getPrivateDomainId(CloudFoundryClient cloudFoundryClient, String domain, String organizationId) { + .flatMap(serviceId -> requestGetService(cloudFoundryClient, serviceId)) + .filter(DefaultServices::isPlanUpdateable) + .switchIfEmpty( + ExceptionUtils.illegalArgument( + "Plan for the %s service cannot be updated", + serviceInstance.getEntity().getName())) + .flatMapMany( + response -> + requestListServicePlans( + cloudFoundryClient, ResourceUtils.getId(response))) + .filter(resource -> planName.equals(resource.getEntity().getName())) + .singleOrEmpty() + .switchIfEmpty( + ExceptionUtils.illegalArgument("New service plan %s not found", planName)) + .flatMap(resource -> checkVisibility(cloudFoundryClient, organizationId, resource)); + } + + private static Mono getPrivateDomainId( + CloudFoundryClient cloudFoundryClient, String domain, String organizationId) { return requestPrivateDomain(cloudFoundryClient, domain, organizationId) - .map(ResourceUtils::getId) - .singleOrEmpty(); + .map(ResourceUtils::getId) + .singleOrEmpty(); } - private static Mono getRoute(CloudFoundryClient cloudFoundryClient, String domain, String domainId, String host, String path) { + private static Mono getRoute( + CloudFoundryClient cloudFoundryClient, + String domain, + String domainId, + String host, + String path) { return getRoute(cloudFoundryClient, domainId, host, path) - .switchIfEmpty(ExceptionUtils.illegalArgument("Route %s does not exist", host == null ? domain : host + "." + domain)); + .switchIfEmpty( + ExceptionUtils.illegalArgument( + "Route %s does not exist", + host == null ? domain : host + "." + domain)); } - private static Mono getRoute(CloudFoundryClient cloudFoundryClient, String domainId, String host, String routePath) { + private static Mono getRoute( + CloudFoundryClient cloudFoundryClient, String domainId, String host, String routePath) { return requestRoutes(cloudFoundryClient, domainId, host, routePath) - .filter(resource -> isIdentical(host, ResourceUtils.getEntity(resource).getHost())) - .filter(resource -> isIdentical(Optional.ofNullable(routePath).orElse(""), ResourceUtils.getEntity(resource).getPath())) - .singleOrEmpty(); - } - - private static Mono getRouteId(CloudFoundryClient cloudFoundryClient, String domain, String domainId, String host, String path) { - return getRoute(cloudFoundryClient, domain, domainId, host, path) - .map(ResourceUtils::getId); - } - - private static Mono getServiceBindingId(CloudFoundryClient cloudFoundryClient, String applicationId, String serviceInstanceId, String serviceInstanceName) { + .filter(resource -> isIdentical(host, ResourceUtils.getEntity(resource).getHost())) + .filter( + resource -> + isIdentical( + Optional.ofNullable(routePath).orElse(""), + ResourceUtils.getEntity(resource).getPath())) + .singleOrEmpty(); + } + + private static Mono getRouteId( + CloudFoundryClient cloudFoundryClient, + String domain, + String domainId, + String host, + String path) { + return getRoute(cloudFoundryClient, domain, domainId, host, path).map(ResourceUtils::getId); + } + + private static Mono getServiceBindingId( + CloudFoundryClient cloudFoundryClient, + String applicationId, + String serviceInstanceId, + String serviceInstanceName) { return requestListServiceBindings(cloudFoundryClient, applicationId, serviceInstanceId) - .singleOrEmpty() - .switchIfEmpty(ExceptionUtils.illegalState("Service instance %s is not bound to application", serviceInstanceName)) - .map(ResourceUtils::getId); - } - - private static Mono getServiceEntity(CloudFoundryClient cloudFoundryClient, Optional serviceId) { - return Mono - .justOrEmpty(serviceId) - .flatMap(serviceId1 -> requestGetService(cloudFoundryClient, serviceId1)) - .map(ResourceUtils::getEntity) - .switchIfEmpty(Mono.just(ServiceEntity.builder().build())); + .singleOrEmpty() + .switchIfEmpty( + ExceptionUtils.illegalState( + "Service instance %s is not bound to application", + serviceInstanceName)) + .map(ResourceUtils::getId); + } + + private static Mono getServiceEntity( + CloudFoundryClient cloudFoundryClient, Optional serviceId) { + return Mono.justOrEmpty(serviceId) + .flatMap(serviceId1 -> requestGetService(cloudFoundryClient, serviceId1)) + .map(ResourceUtils::getEntity) + .switchIfEmpty(Mono.just(ServiceEntity.builder().build())); } - private static Mono getServiceId(CloudFoundryClient cloudFoundryClient, String servicePlanId) { + private static Mono getServiceId( + CloudFoundryClient cloudFoundryClient, String servicePlanId) { return requestGetServicePlan(cloudFoundryClient, servicePlanId) - .map(response -> response.getEntity().getServiceId()); + .map(response -> response.getEntity().getServiceId()); } - private static Mono getServiceIdByName(CloudFoundryClient cloudFoundryClient, String spaceId, String service) { - return getSpaceService(cloudFoundryClient, spaceId, service) - .map(ResourceUtils::getId); + private static Mono getServiceIdByName( + CloudFoundryClient cloudFoundryClient, String spaceId, String service) { + return getSpaceService(cloudFoundryClient, spaceId, service).map(ResourceUtils::getId); } - private static Mono getServiceKey(CloudFoundryClient cloudFoundryClient, String serviceInstanceId, String serviceKey) { - return requestListServiceInstanceServiceKeys(cloudFoundryClient, serviceInstanceId, serviceKey) - .single() - .onErrorResume(NoSuchElementException.class, t -> ExceptionUtils.illegalArgument("Service key %s does not exist", serviceKey)); + private static Mono getServiceKey( + CloudFoundryClient cloudFoundryClient, String serviceInstanceId, String serviceKey) { + return requestListServiceInstanceServiceKeys( + cloudFoundryClient, serviceInstanceId, serviceKey) + .single() + .onErrorResume( + NoSuchElementException.class, + t -> + ExceptionUtils.illegalArgument( + "Service key %s does not exist", serviceKey)); } - private static Mono getServicePlanEntity(CloudFoundryClient cloudFoundryClient, String servicePlanId) { - return Mono - .justOrEmpty(servicePlanId) - .flatMap(servicePlanId1 -> requestGetServicePlan(cloudFoundryClient, servicePlanId1)) - .map(ResourceUtils::getEntity) - .switchIfEmpty(Mono.just(ServicePlanEntity.builder().build())); + private static Mono getServicePlanEntity( + CloudFoundryClient cloudFoundryClient, String servicePlanId) { + return Mono.justOrEmpty(servicePlanId) + .flatMap( + servicePlanId1 -> requestGetServicePlan(cloudFoundryClient, servicePlanId1)) + .map(ResourceUtils::getEntity) + .switchIfEmpty(Mono.just(ServicePlanEntity.builder().build())); } - private static Mono getServicePlanIdByName(CloudFoundryClient cloudFoundryClient, String serviceId, String plan) { + private static Mono getServicePlanIdByName( + CloudFoundryClient cloudFoundryClient, String serviceId, String plan) { return requestListServicePlans(cloudFoundryClient, serviceId) - .filter(resource -> plan.equals(ResourceUtils.getEntity(resource).getName())) - .single() - .map(ResourceUtils::getId) - .onErrorResume(NoSuchElementException.class, t -> ExceptionUtils.illegalArgument("Service plan %s does not exist", plan)); + .filter(resource -> plan.equals(ResourceUtils.getEntity(resource).getName())) + .single() + .map(ResourceUtils::getId) + .onErrorResume( + NoSuchElementException.class, + t -> + ExceptionUtils.illegalArgument( + "Service plan %s does not exist", plan)); } - private static Mono> getServicePlans(CloudFoundryClient cloudFoundryClient, String serviceId) { - return requestListServicePlans(cloudFoundryClient, serviceId) - .collectList(); + private static Mono> getServicePlans( + CloudFoundryClient cloudFoundryClient, String serviceId) { + return requestListServicePlans(cloudFoundryClient, serviceId).collectList(); } - private static Mono getSharedDomainId(CloudFoundryClient cloudFoundryClient, String domain) { + private static Mono getSharedDomainId( + CloudFoundryClient cloudFoundryClient, String domain) { return requestSharedDomain(cloudFoundryClient, domain) - .map(ResourceUtils::getId) - .singleOrEmpty(); + .map(ResourceUtils::getId) + .singleOrEmpty(); } - private static Mono getSpaceService(CloudFoundryClient cloudFoundryClient, String spaceId, String service) { + private static Mono getSpaceService( + CloudFoundryClient cloudFoundryClient, String spaceId, String service) { return requestListServices(cloudFoundryClient, spaceId, service) - .single() - .onErrorResume(NoSuchElementException.class, t -> ExceptionUtils.illegalArgument("Service %s does not exist", service)); + .single() + .onErrorResume( + NoSuchElementException.class, + t -> ExceptionUtils.illegalArgument("Service %s does not exist", service)); } - private static Mono getSpaceServiceInstance(CloudFoundryClient cloudFoundryClient, String serviceInstanceName, String spaceId) { + private static Mono getSpaceServiceInstance( + CloudFoundryClient cloudFoundryClient, String serviceInstanceName, String spaceId) { return requestListServiceInstances(cloudFoundryClient, spaceId, serviceInstanceName) - .single() - .onErrorResume(NoSuchElementException.class, t -> ExceptionUtils.illegalArgument("Service instance %s does not exist", serviceInstanceName)); + .single() + .onErrorResume( + NoSuchElementException.class, + t -> + ExceptionUtils.illegalArgument( + "Service instance %s does not exist", serviceInstanceName)); } - private static Mono getSpaceServiceInstanceId(CloudFoundryClient cloudFoundryClient, String serviceInstanceName, String spaceId) { + private static Mono getSpaceServiceInstanceId( + CloudFoundryClient cloudFoundryClient, String serviceInstanceName, String spaceId) { return getSpaceServiceInstance(cloudFoundryClient, serviceInstanceName, spaceId) - .map(ResourceUtils::getId); + .map(ResourceUtils::getId); } - private static Mono getSpaceUserProvidedServiceInstance(CloudFoundryClient cloudFoundryClient, String serviceInstanceName, String spaceId) { + private static Mono getSpaceUserProvidedServiceInstance( + CloudFoundryClient cloudFoundryClient, String serviceInstanceName, String spaceId) { return requestListServiceInstances(cloudFoundryClient, spaceId, serviceInstanceName) - .filter(DefaultServices::isUserProvidedService) - .single() - .onErrorResume(NoSuchElementException.class, t -> ExceptionUtils.illegalArgument("User provided service instance %s does not exist", serviceInstanceName)); - } - - private static Mono getSpaceUserProvidedServiceInstanceId(CloudFoundryClient cloudFoundryClient, String serviceInstanceName, String spaceId) { + .filter(DefaultServices::isUserProvidedService) + .single() + .onErrorResume( + NoSuchElementException.class, + t -> + ExceptionUtils.illegalArgument( + "User provided service instance %s does not exist", + serviceInstanceName)); + } + + private static Mono getSpaceUserProvidedServiceInstanceId( + CloudFoundryClient cloudFoundryClient, String serviceInstanceName, String spaceId) { return getSpaceUserProvidedServiceInstance(cloudFoundryClient, serviceInstanceName, spaceId) - .map(ResourceUtils::getId); + .map(ResourceUtils::getId); } private static boolean isIdentical(String s, String t) { @@ -641,418 +975,599 @@ private static boolean isPlanUpdateable(GetServiceResponse response) { } private static boolean isUserProvidedService(UnionServiceInstanceResource serviceInstance) { - return ServiceInstanceType.from(ResourceUtils.getEntity(serviceInstance).getType()).equals(ServiceInstanceType.USER_PROVIDED); + return ServiceInstanceType.from(ResourceUtils.getEntity(serviceInstance).getType()) + .equals(ServiceInstanceType.USER_PROVIDED); } - private static Mono renameServiceInstance(CloudFoundryClient cloudFoundryClient, UnionServiceInstanceResource serviceInstance, String newName) { + private static Mono renameServiceInstance( + CloudFoundryClient cloudFoundryClient, + UnionServiceInstanceResource serviceInstance, + String newName) { if (isUserProvidedService(serviceInstance)) { - return requestUserProvidedServiceInstanceUpdate(cloudFoundryClient, ResourceUtils.getId(serviceInstance), newName) - .map(ResourceUtils::getEntity) - .cast(BaseServiceInstanceEntity.class); + return requestUserProvidedServiceInstanceUpdate( + cloudFoundryClient, ResourceUtils.getId(serviceInstance), newName) + .map(ResourceUtils::getEntity) + .cast(BaseServiceInstanceEntity.class); } else { - return requestServiceInstanceUpdate(cloudFoundryClient, ResourceUtils.getId(serviceInstance), newName) - .map(ResourceUtils::getEntity) - .cast(BaseServiceInstanceEntity.class); + return requestServiceInstanceUpdate( + cloudFoundryClient, ResourceUtils.getId(serviceInstance), newName) + .map(ResourceUtils::getEntity) + .cast(BaseServiceInstanceEntity.class); } } - private static Mono requestCreateRouteBinding(CloudFoundryClient cloudFoundryClient, String routeId, String userProvidedServiceInstanceId, - Map parameters) { - return cloudFoundryClient.userProvidedServiceInstances() - .associateRoute(AssociateUserProvidedServiceInstanceRouteRequest.builder() - .parameters(parameters) - .routeId(routeId) - .userProvidedServiceInstanceId(userProvidedServiceInstanceId) - .build()); - } - - private static Mono requestCreateServiceBinding(CloudFoundryClient cloudFoundryClient, String applicationId, String serviceInstanceId, - Map parameters) { - return cloudFoundryClient.serviceBindingsV2() - .create(CreateServiceBindingRequest.builder() - .applicationId(applicationId) - .parameters(parameters) - .serviceInstanceId(serviceInstanceId) - .build()); - } - - private static Mono requestCreateServiceInstance(CloudFoundryClient cloudFoundryClient, String spaceId, String planId, String serviceInstance, - Map parameters, List tags) { - return cloudFoundryClient.serviceInstances() - .create(org.cloudfoundry.client.v2.serviceinstances.CreateServiceInstanceRequest.builder() - .acceptsIncomplete(true) - .name(serviceInstance) - .servicePlanId(planId) - .spaceId(spaceId) - .parameters(parameters) - .tags(tags) - .build()); - } - - private static Mono requestCreateServiceKey(CloudFoundryClient cloudFoundryClient, String serviceInstanceId, String serviceKey, Map parameters) { - return cloudFoundryClient.serviceKeys() - .create(org.cloudfoundry.client.v2.servicekeys.CreateServiceKeyRequest.builder() - .serviceInstanceId(serviceInstanceId) - .name(serviceKey) - .parameters(parameters) - .build()); - } - - private static Mono requestCreateUserProvidedServiceInstance(CloudFoundryClient cloudFoundryClient, String name, Map credentials, - String routeServiceUrl, String spaceId, String syslogDrainUrl, List tags) { - return cloudFoundryClient.userProvidedServiceInstances() - .create(org.cloudfoundry.client.v2.userprovidedserviceinstances.CreateUserProvidedServiceInstanceRequest.builder() - .name(name) - .credentials(credentials) - .routeServiceUrl(routeServiceUrl) - .spaceId(spaceId) - .syslogDrainUrl(syslogDrainUrl) - .tags(tags) - .build()); - } - - private static Mono requestDeleteServiceBinding(CloudFoundryClient cloudFoundryClient, String serviceBindingId) { - return cloudFoundryClient.serviceBindingsV2() - .delete(DeleteServiceBindingRequest.builder() - .serviceBindingId(serviceBindingId) - .async(true) - .build()); - } - - private static Mono requestDeleteServiceInstance(CloudFoundryClient cloudFoundryClient, String serviceInstanceId) { - return cloudFoundryClient.serviceInstances() - .delete(org.cloudfoundry.client.v2.serviceinstances.DeleteServiceInstanceRequest.builder() - .acceptsIncomplete(true) - .serviceInstanceId(serviceInstanceId) - .async(true) - .build()); - } - - private static Mono requestDeleteServiceKey(CloudFoundryClient cloudFoundryClient, String serviceKeyId) { - return cloudFoundryClient.serviceKeys() - .delete(org.cloudfoundry.client.v2.servicekeys.DeleteServiceKeyRequest.builder() - .serviceKeyId(serviceKeyId) - .build()); - } - - private static Mono requestDeleteUserProvidedServiceInstance(CloudFoundryClient cloudFoundryClient, String serviceInstanceId) { - return cloudFoundryClient.userProvidedServiceInstances() - .delete(DeleteUserProvidedServiceInstanceRequest.builder() - .userProvidedServiceInstanceId(serviceInstanceId) - .build()); - } - - private static Mono requestGetApplication(CloudFoundryClient cloudFoundryClient, String applicationId) { - return cloudFoundryClient.applicationsV2() - .get(GetApplicationRequest.builder() - .applicationId(applicationId) - .build()); - } - - private static Mono requestGetService(CloudFoundryClient cloudFoundryClient, String serviceId) { - return cloudFoundryClient.services() - .get(GetServiceRequest.builder() - .serviceId(serviceId) - .build()); - } - - private static Mono requestGetServiceInstance(CloudFoundryClient cloudFoundryClient, String serviceInstanceId) { - return cloudFoundryClient.serviceInstances() - .get(org.cloudfoundry.client.v2.serviceinstances.GetServiceInstanceRequest.builder() - .serviceInstanceId(serviceInstanceId) - .build()); - } - - private static Mono requestGetServicePlan(CloudFoundryClient cloudFoundryClient, String servicePlanId) { - return cloudFoundryClient.servicePlans() - .get(GetServicePlanRequest.builder() - .servicePlanId(servicePlanId) - .build()); - } - - private static Flux requestListApplications(CloudFoundryClient cloudFoundryClient, String application, String spaceId) { - return PaginationUtils - .requestClientV2Resources(page -> cloudFoundryClient.spaces() - .listApplications(ListSpaceApplicationsRequest.builder() - .name(application) - .spaceId(spaceId) - .page(page) - .build())); - } - - private static Flux requestListServiceBindings(CloudFoundryClient cloudFoundryClient, String applicationId, String serviceInstanceId) { - return PaginationUtils - .requestClientV2Resources(page -> cloudFoundryClient.applicationsV2() - .listServiceBindings(ListApplicationServiceBindingsRequest.builder() - .page(page) - .applicationId(applicationId) - .serviceInstanceId(serviceInstanceId) - .build())); - } - - private static Flux requestListServiceBindings(CloudFoundryClient cloudFoundryClient, String serviceInstanceId) { - return PaginationUtils - .requestClientV2Resources(page -> cloudFoundryClient.serviceBindingsV2() - .list(ListServiceBindingsRequest.builder() - .page(page) - .serviceInstanceId(serviceInstanceId) - .build())); - } - - private static Flux requestListServiceInstanceServiceKeys(CloudFoundryClient cloudFoundryClient, String serviceInstanceId, String serviceKey) { - return PaginationUtils - .requestClientV2Resources(page -> cloudFoundryClient.serviceInstances() - .listServiceKeys(ListServiceInstanceServiceKeysRequest.builder() - .serviceInstanceId(serviceInstanceId) - .name(serviceKey) - .page(page) - .build())); - } - - private static Flux requestListServiceInstanceServiceKeys(CloudFoundryClient cloudFoundryClient, String serviceInstanceId) { - return PaginationUtils - .requestClientV2Resources(page -> cloudFoundryClient.serviceInstances() - .listServiceKeys(ListServiceInstanceServiceKeysRequest.builder() - .page(page) - .serviceInstanceId(serviceInstanceId) - .build())); - } - - private static Flux requestListServiceInstances(CloudFoundryClient cloudFoundryClient, String spaceId, String serviceInstanceName) { - return PaginationUtils - .requestClientV2Resources(page -> cloudFoundryClient.spaces() - .listServiceInstances(ListSpaceServiceInstancesRequest.builder() - .page(page) - .returnUserProvidedServiceInstances(true) - .name(serviceInstanceName) - .spaceId(spaceId) - .build())); - } - - private static Flux requestListServicePlanVisibilities(CloudFoundryClient cloudFoundryClient, String organizationId, String servicePlanId) { - return PaginationUtils - .requestClientV2Resources(page -> cloudFoundryClient.servicePlanVisibilities() - .list(ListServicePlanVisibilitiesRequest.builder() - .organizationId(organizationId) - .page(page) - .servicePlanId(servicePlanId) - .build())); - } - - private static Flux requestListServicePlans(CloudFoundryClient cloudFoundryClient, String serviceId) { - return PaginationUtils - .requestClientV2Resources(page -> cloudFoundryClient.servicePlans() - .list(ListServicePlansRequest.builder() - .page(page) - .serviceId(serviceId) - .build())); - } - - private static Flux requestListServices(CloudFoundryClient cloudFoundryClient, String spaceId) { - return PaginationUtils - .requestClientV2Resources(page -> cloudFoundryClient.spaces() - .listServices(ListSpaceServicesRequest.builder() - .page(page) - .spaceId(spaceId) - .build())); - } - - private static Flux requestListServices(CloudFoundryClient cloudFoundryClient, String spaceId, String serviceName) { - return PaginationUtils - .requestClientV2Resources(page -> cloudFoundryClient.spaces() - .listServices(ListSpaceServicesRequest.builder() - .label(serviceName) - .page(page) - .spaceId(spaceId) - .build())); - } - - private static Flux requestPrivateDomain(CloudFoundryClient cloudFoundryClient, String domain, String organizationId) { - return PaginationUtils - .requestClientV2Resources(page -> cloudFoundryClient.organizations() - .listPrivateDomains(ListOrganizationPrivateDomainsRequest.builder() - .name(domain) - .organizationId(organizationId) - .page(page) - .build())); - } - - private static Mono requestRemoveRoute(CloudFoundryClient cloudFoundryClient, String routeId, String userProvidedServiceInstanceId) { - return cloudFoundryClient.userProvidedServiceInstances() - .removeRoute(RemoveUserProvidedServiceInstanceRouteRequest.builder() - .routeId(routeId) - .userProvidedServiceInstanceId(userProvidedServiceInstanceId) - .build()); - } - - private static Flux requestRoutes(CloudFoundryClient cloudFoundryClient, UnaryOperator modifier) { + private static Mono + requestCreateRouteBinding( + CloudFoundryClient cloudFoundryClient, + String routeId, + String userProvidedServiceInstanceId, + Map parameters) { + return cloudFoundryClient + .userProvidedServiceInstances() + .associateRoute( + AssociateUserProvidedServiceInstanceRouteRequest.builder() + .parameters(parameters) + .routeId(routeId) + .userProvidedServiceInstanceId(userProvidedServiceInstanceId) + .build()); + } + + private static Mono requestCreateServiceBinding( + CloudFoundryClient cloudFoundryClient, + String applicationId, + String serviceInstanceId, + Map parameters) { + return cloudFoundryClient + .serviceBindingsV2() + .create( + CreateServiceBindingRequest.builder() + .applicationId(applicationId) + .parameters(parameters) + .serviceInstanceId(serviceInstanceId) + .build()); + } + + private static Mono requestCreateServiceInstance( + CloudFoundryClient cloudFoundryClient, + String spaceId, + String planId, + String serviceInstance, + Map parameters, + List tags) { + return cloudFoundryClient + .serviceInstances() + .create( + org.cloudfoundry.client.v2.serviceinstances.CreateServiceInstanceRequest + .builder() + .acceptsIncomplete(true) + .name(serviceInstance) + .servicePlanId(planId) + .spaceId(spaceId) + .parameters(parameters) + .tags(tags) + .build()); + } + + private static Mono requestCreateServiceKey( + CloudFoundryClient cloudFoundryClient, + String serviceInstanceId, + String serviceKey, + Map parameters) { + return cloudFoundryClient + .serviceKeys() + .create( + org.cloudfoundry.client.v2.servicekeys.CreateServiceKeyRequest.builder() + .serviceInstanceId(serviceInstanceId) + .name(serviceKey) + .parameters(parameters) + .build()); + } + + private static Mono + requestCreateUserProvidedServiceInstance( + CloudFoundryClient cloudFoundryClient, + String name, + Map credentials, + String routeServiceUrl, + String spaceId, + String syslogDrainUrl, + List tags) { + return cloudFoundryClient + .userProvidedServiceInstances() + .create( + org.cloudfoundry.client.v2.userprovidedserviceinstances + .CreateUserProvidedServiceInstanceRequest.builder() + .name(name) + .credentials(credentials) + .routeServiceUrl(routeServiceUrl) + .spaceId(spaceId) + .syslogDrainUrl(syslogDrainUrl) + .tags(tags) + .build()); + } + + private static Mono requestDeleteServiceBinding( + CloudFoundryClient cloudFoundryClient, String serviceBindingId) { + return cloudFoundryClient + .serviceBindingsV2() + .delete( + DeleteServiceBindingRequest.builder() + .serviceBindingId(serviceBindingId) + .async(true) + .build()); + } + + private static Mono requestDeleteServiceInstance( + CloudFoundryClient cloudFoundryClient, String serviceInstanceId) { + return cloudFoundryClient + .serviceInstances() + .delete( + org.cloudfoundry.client.v2.serviceinstances.DeleteServiceInstanceRequest + .builder() + .acceptsIncomplete(true) + .serviceInstanceId(serviceInstanceId) + .async(true) + .build()); + } + + private static Mono requestDeleteServiceKey( + CloudFoundryClient cloudFoundryClient, String serviceKeyId) { + return cloudFoundryClient + .serviceKeys() + .delete( + org.cloudfoundry.client.v2.servicekeys.DeleteServiceKeyRequest.builder() + .serviceKeyId(serviceKeyId) + .build()); + } + + private static Mono requestDeleteUserProvidedServiceInstance( + CloudFoundryClient cloudFoundryClient, String serviceInstanceId) { + return cloudFoundryClient + .userProvidedServiceInstances() + .delete( + DeleteUserProvidedServiceInstanceRequest.builder() + .userProvidedServiceInstanceId(serviceInstanceId) + .build()); + } + + private static Mono requestGetApplication( + CloudFoundryClient cloudFoundryClient, String applicationId) { + return cloudFoundryClient + .applicationsV2() + .get(GetApplicationRequest.builder().applicationId(applicationId).build()); + } + + private static Mono requestGetService( + CloudFoundryClient cloudFoundryClient, String serviceId) { + return cloudFoundryClient + .services() + .get(GetServiceRequest.builder().serviceId(serviceId).build()); + } + + private static Mono requestGetServiceInstance( + CloudFoundryClient cloudFoundryClient, String serviceInstanceId) { + return cloudFoundryClient + .serviceInstances() + .get( + org.cloudfoundry.client.v2.serviceinstances.GetServiceInstanceRequest + .builder() + .serviceInstanceId(serviceInstanceId) + .build()); + } + + private static Mono requestGetServicePlan( + CloudFoundryClient cloudFoundryClient, String servicePlanId) { + return cloudFoundryClient + .servicePlans() + .get(GetServicePlanRequest.builder().servicePlanId(servicePlanId).build()); + } + + private static Flux requestListApplications( + CloudFoundryClient cloudFoundryClient, String application, String spaceId) { + return PaginationUtils.requestClientV2Resources( + page -> + cloudFoundryClient + .spaces() + .listApplications( + ListSpaceApplicationsRequest.builder() + .name(application) + .spaceId(spaceId) + .page(page) + .build())); + } + + private static Flux requestListServiceBindings( + CloudFoundryClient cloudFoundryClient, String applicationId, String serviceInstanceId) { + return PaginationUtils.requestClientV2Resources( + page -> + cloudFoundryClient + .applicationsV2() + .listServiceBindings( + ListApplicationServiceBindingsRequest.builder() + .page(page) + .applicationId(applicationId) + .serviceInstanceId(serviceInstanceId) + .build())); + } + + private static Flux requestListServiceBindings( + CloudFoundryClient cloudFoundryClient, String serviceInstanceId) { + return PaginationUtils.requestClientV2Resources( + page -> + cloudFoundryClient + .serviceBindingsV2() + .list( + ListServiceBindingsRequest.builder() + .page(page) + .serviceInstanceId(serviceInstanceId) + .build())); + } + + private static Flux requestListServiceInstanceServiceKeys( + CloudFoundryClient cloudFoundryClient, String serviceInstanceId, String serviceKey) { + return PaginationUtils.requestClientV2Resources( + page -> + cloudFoundryClient + .serviceInstances() + .listServiceKeys( + ListServiceInstanceServiceKeysRequest.builder() + .serviceInstanceId(serviceInstanceId) + .name(serviceKey) + .page(page) + .build())); + } + + private static Flux requestListServiceInstanceServiceKeys( + CloudFoundryClient cloudFoundryClient, String serviceInstanceId) { + return PaginationUtils.requestClientV2Resources( + page -> + cloudFoundryClient + .serviceInstances() + .listServiceKeys( + ListServiceInstanceServiceKeysRequest.builder() + .page(page) + .serviceInstanceId(serviceInstanceId) + .build())); + } + + private static Flux requestListServiceInstances( + CloudFoundryClient cloudFoundryClient, String spaceId, String serviceInstanceName) { + return PaginationUtils.requestClientV2Resources( + page -> + cloudFoundryClient + .spaces() + .listServiceInstances( + ListSpaceServiceInstancesRequest.builder() + .page(page) + .returnUserProvidedServiceInstances(true) + .name(serviceInstanceName) + .spaceId(spaceId) + .build())); + } + + private static Flux requestListServicePlanVisibilities( + CloudFoundryClient cloudFoundryClient, String organizationId, String servicePlanId) { + return PaginationUtils.requestClientV2Resources( + page -> + cloudFoundryClient + .servicePlanVisibilities() + .list( + ListServicePlanVisibilitiesRequest.builder() + .organizationId(organizationId) + .page(page) + .servicePlanId(servicePlanId) + .build())); + } + + private static Flux requestListServicePlans( + CloudFoundryClient cloudFoundryClient, String serviceId) { + return PaginationUtils.requestClientV2Resources( + page -> + cloudFoundryClient + .servicePlans() + .list( + ListServicePlansRequest.builder() + .page(page) + .serviceId(serviceId) + .build())); + } + + private static Flux requestListServices( + CloudFoundryClient cloudFoundryClient, String spaceId) { + return PaginationUtils.requestClientV2Resources( + page -> + cloudFoundryClient + .spaces() + .listServices( + ListSpaceServicesRequest.builder() + .page(page) + .spaceId(spaceId) + .build())); + } + + private static Flux requestListServices( + CloudFoundryClient cloudFoundryClient, String spaceId, String serviceName) { + return PaginationUtils.requestClientV2Resources( + page -> + cloudFoundryClient + .spaces() + .listServices( + ListSpaceServicesRequest.builder() + .label(serviceName) + .page(page) + .spaceId(spaceId) + .build())); + } + + private static Flux requestPrivateDomain( + CloudFoundryClient cloudFoundryClient, String domain, String organizationId) { + return PaginationUtils.requestClientV2Resources( + page -> + cloudFoundryClient + .organizations() + .listPrivateDomains( + ListOrganizationPrivateDomainsRequest.builder() + .name(domain) + .organizationId(organizationId) + .page(page) + .build())); + } + + private static Mono requestRemoveRoute( + CloudFoundryClient cloudFoundryClient, + String routeId, + String userProvidedServiceInstanceId) { + return cloudFoundryClient + .userProvidedServiceInstances() + .removeRoute( + RemoveUserProvidedServiceInstanceRouteRequest.builder() + .routeId(routeId) + .userProvidedServiceInstanceId(userProvidedServiceInstanceId) + .build()); + } + + private static Flux requestRoutes( + CloudFoundryClient cloudFoundryClient, + UnaryOperator modifier) { ListRoutesRequest.Builder listBuilder = modifier.apply(ListRoutesRequest.builder()); - return PaginationUtils - .requestClientV2Resources(page -> cloudFoundryClient.routes() - .list(listBuilder - .page(page) - .build())); - } - - private static Flux requestRoutes(CloudFoundryClient cloudFoundryClient, String domainId, String host, String path) { - return requestRoutes(cloudFoundryClient, builder -> builder - .domainId(domainId) - .hosts(Optional.ofNullable(host).map(Collections::singletonList).orElse(null)) - .paths(Optional.ofNullable(path).map(Collections::singletonList).orElse(null)) - ); - } - - private static Mono requestServiceInstanceUpdate(CloudFoundryClient cloudFoundryClient, String serviceInstanceId, String newName) { - return cloudFoundryClient.serviceInstances() - .update(org.cloudfoundry.client.v2.serviceinstances.UpdateServiceInstanceRequest.builder() - .name(newName) - .serviceInstanceId(serviceInstanceId) - .build()); - } - - private static Flux requestSharedDomain(CloudFoundryClient cloudFoundryClient, String domain) { - return PaginationUtils - .requestClientV2Resources(page -> cloudFoundryClient.sharedDomains() - .list(ListSharedDomainsRequest.builder() - .name(domain) - .page(page) - .build())); - } - - private static Mono requestUpdateServiceInstance(CloudFoundryClient cloudFoundryClient, UpdateServiceInstanceRequest request, String serviceInstanceId, - String servicePlanId) { - return cloudFoundryClient.serviceInstances() - .update(org.cloudfoundry.client.v2.serviceinstances - .UpdateServiceInstanceRequest.builder() - .acceptsIncomplete(true) - .maintenanceInfo(request.getMaintenanceInfo()) - .parameters(request.getParameters()) - .serviceInstanceId(serviceInstanceId) - .servicePlanId(servicePlanId) - .tags(request.getTags()) - .build()); - } - - private static Mono requestUserProvidedServiceInstanceUpdate(CloudFoundryClient cloudFoundryClient, String serviceInstanceId, String newName) { - return cloudFoundryClient.userProvidedServiceInstances() - .update(org.cloudfoundry.client.v2.userprovidedserviceinstances.UpdateUserProvidedServiceInstanceRequest.builder() - .name(newName) - .userProvidedServiceInstanceId(serviceInstanceId) - .build()); - } - - private static ServiceInstance toServiceInstance(UnionServiceInstanceResource resource, Optional plan, List applications, ServiceEntity serviceEntity) { + return PaginationUtils.requestClientV2Resources( + page -> cloudFoundryClient.routes().list(listBuilder.page(page).build())); + } + + private static Flux requestRoutes( + CloudFoundryClient cloudFoundryClient, String domainId, String host, String path) { + return requestRoutes( + cloudFoundryClient, + builder -> + builder.domainId(domainId) + .hosts( + Optional.ofNullable(host) + .map(Collections::singletonList) + .orElse(null)) + .paths( + Optional.ofNullable(path) + .map(Collections::singletonList) + .orElse(null))); + } + + private static Mono requestServiceInstanceUpdate( + CloudFoundryClient cloudFoundryClient, String serviceInstanceId, String newName) { + return cloudFoundryClient + .serviceInstances() + .update( + org.cloudfoundry.client.v2.serviceinstances.UpdateServiceInstanceRequest + .builder() + .name(newName) + .serviceInstanceId(serviceInstanceId) + .build()); + } + + private static Flux requestSharedDomain( + CloudFoundryClient cloudFoundryClient, String domain) { + return PaginationUtils.requestClientV2Resources( + page -> + cloudFoundryClient + .sharedDomains() + .list( + ListSharedDomainsRequest.builder() + .name(domain) + .page(page) + .build())); + } + + private static Mono requestUpdateServiceInstance( + CloudFoundryClient cloudFoundryClient, + UpdateServiceInstanceRequest request, + String serviceInstanceId, + String servicePlanId) { + return cloudFoundryClient + .serviceInstances() + .update( + org.cloudfoundry.client.v2.serviceinstances.UpdateServiceInstanceRequest + .builder() + .acceptsIncomplete(true) + .maintenanceInfo(request.getMaintenanceInfo()) + .parameters(request.getParameters()) + .serviceInstanceId(serviceInstanceId) + .servicePlanId(servicePlanId) + .tags(request.getTags()) + .build()); + } + + private static Mono + requestUserProvidedServiceInstanceUpdate( + CloudFoundryClient cloudFoundryClient, + String serviceInstanceId, + String newName) { + return cloudFoundryClient + .userProvidedServiceInstances() + .update( + org.cloudfoundry.client.v2.userprovidedserviceinstances + .UpdateUserProvidedServiceInstanceRequest.builder() + .name(newName) + .userProvidedServiceInstanceId(serviceInstanceId) + .build()); + } + + private static ServiceInstance toServiceInstance( + UnionServiceInstanceResource resource, + Optional plan, + List applications, + ServiceEntity serviceEntity) { String extra = Optional.ofNullable(serviceEntity.getExtra()).orElse(""); - Optional documentationUrl = Optional.ofNullable(getExtraValue(extra, "documentationUrl")); + Optional documentationUrl = + Optional.ofNullable(getExtraValue(extra, "documentationUrl")); UnionServiceInstanceEntity serviceInstanceEntity = resource.getEntity(); - LastOperation lastOperation = Optional - .ofNullable(serviceInstanceEntity.getLastOperation()) - .orElse(LastOperation.builder() - .build()); + LastOperation lastOperation = + Optional.ofNullable(serviceInstanceEntity.getLastOperation()) + .orElse(LastOperation.builder().build()); return ServiceInstance.builder() - .applications(applications) - .dashboardUrl(serviceInstanceEntity.getDashboardUrl()) - .description(serviceEntity.getDescription()) - .documentationUrl(documentationUrl.orElse(null)) - .id(ResourceUtils.getId(resource)) - .lastOperation(lastOperation.getType()) - .maintenanceInfo(serviceInstanceEntity.getMaintenanceInfo()) - .message(lastOperation.getDescription()) - .name(serviceInstanceEntity.getName()) - .plan(plan.orElse(null)) - .service(serviceEntity.getLabel()) - .startedAt(lastOperation.getCreatedAt()) - .status(lastOperation.getState()) - .tags(serviceInstanceEntity.getTags()) - .type(ServiceInstanceType.from(serviceInstanceEntity.getType())) - .updatedAt(lastOperation.getUpdatedAt()) - .build(); - } - - private static Flux toServiceInstanceSummary(GetSpaceSummaryResponse response) { + .applications(applications) + .dashboardUrl(serviceInstanceEntity.getDashboardUrl()) + .description(serviceEntity.getDescription()) + .documentationUrl(documentationUrl.orElse(null)) + .id(ResourceUtils.getId(resource)) + .lastOperation(lastOperation.getType()) + .maintenanceInfo(serviceInstanceEntity.getMaintenanceInfo()) + .message(lastOperation.getDescription()) + .name(serviceInstanceEntity.getName()) + .plan(plan.orElse(null)) + .service(serviceEntity.getLabel()) + .startedAt(lastOperation.getCreatedAt()) + .status(lastOperation.getState()) + .tags(serviceInstanceEntity.getTags()) + .type(ServiceInstanceType.from(serviceInstanceEntity.getType())) + .updatedAt(lastOperation.getUpdatedAt()) + .build(); + } + + private static Flux toServiceInstanceSummary( + GetSpaceSummaryResponse response) { Map> applicationBindings = new HashMap<>(); response.getApplications() - .forEach(application -> application.getServiceNames() - .forEach(serviceName -> { - if (!applicationBindings.containsKey(serviceName)) { - applicationBindings.put(serviceName, new ArrayList<>()); - } - - applicationBindings.get(serviceName).add(application.getName()); - }) - ); + .forEach( + application -> + application + .getServiceNames() + .forEach( + serviceName -> { + if (!applicationBindings.containsKey( + serviceName)) { + applicationBindings.put( + serviceName, new ArrayList<>()); + } + + applicationBindings + .get(serviceName) + .add(application.getName()); + })); return Flux.fromIterable(response.getServices()) - .map(service -> ServiceInstanceSummary.builder() - .applications(Optional.ofNullable(applicationBindings.get(service.getName())).orElse(Collections.emptyList())) - .id(service.getId()) - .lastOperation(service.getLastOperation() == null ? null : service.getLastOperation().getDescription()) - .maintenanceInfo(service.getMaintenanceInfo()) - .name(service.getName()) - .plan(service.getServicePlan() == null ? null : service.getServicePlan().getName()) - .service(service.getServicePlan() == null ? null : service.getServicePlan().getService().getLabel()) - .type(service.getServicePlan() == null ? ServiceInstanceType.USER_PROVIDED : ServiceInstanceType.MANAGED) - .build()); + .map( + service -> + ServiceInstanceSummary.builder() + .applications( + Optional.ofNullable( + applicationBindings.get( + service.getName())) + .orElse(Collections.emptyList())) + .id(service.getId()) + .lastOperation( + service.getLastOperation() == null + ? null + : service.getLastOperation() + .getDescription()) + .maintenanceInfo(service.getMaintenanceInfo()) + .name(service.getName()) + .plan( + service.getServicePlan() == null + ? null + : service.getServicePlan().getName()) + .service( + service.getServicePlan() == null + ? null + : service.getServicePlan() + .getService() + .getLabel()) + .type( + service.getServicePlan() == null + ? ServiceInstanceType.USER_PROVIDED + : ServiceInstanceType.MANAGED) + .build()); } private static ServiceKey toServiceKey(AbstractServiceKeyResource resource) { ServiceKeyEntity entity = ResourceUtils.getEntity(resource); return ServiceKey.builder() - .credentials(entity.getCredentials()) - .id(ResourceUtils.getId(resource)) - .name(entity.getName()) - .build(); + .credentials(entity.getCredentials()) + .id(ResourceUtils.getId(resource)) + .name(entity.getName()) + .build(); } - private static ServiceOffering toServiceOffering(ServiceResource resource, List servicePlans) { + private static ServiceOffering toServiceOffering( + ServiceResource resource, List servicePlans) { ServiceEntity entity = resource.getEntity(); return ServiceOffering.builder() - .description(entity.getDescription()) - .id(ResourceUtils.getId(resource)) - .label(entity.getLabel()) - .servicePlans(toServicePlans(servicePlans)) - .build(); + .description(entity.getDescription()) + .id(ResourceUtils.getId(resource)) + .label(entity.getLabel()) + .servicePlans(toServicePlans(servicePlans)) + .build(); } private static ServicePlan toServicePlan(ServicePlanResource resource) { ServicePlanEntity entity = ResourceUtils.getEntity(resource); return ServicePlan.builder() - .description(entity.getDescription()) - .free(entity.getFree()) - .id(ResourceUtils.getId(resource)) - .name(entity.getName()) - .build(); + .description(entity.getDescription()) + .free(entity.getFree()) + .id(ResourceUtils.getId(resource)) + .name(entity.getName()) + .build(); } private static List toServicePlans(List servicePlans) { return servicePlans.stream() - .map(DefaultServices::toServicePlan) - .collect(Collectors.toList()); - } - - private static Mono updateUserProvidedServiceInstance(CloudFoundryClient cloudFoundryClient, - UpdateUserProvidedServiceInstanceRequest request, - String userProvidedServiceInstanceId) { - return cloudFoundryClient.userProvidedServiceInstances() - .update(org.cloudfoundry.client.v2.userprovidedserviceinstances.UpdateUserProvidedServiceInstanceRequest.builder() - .credentials(request.getCredentials()) - .syslogDrainUrl(request.getSyslogDrainUrl()) - .tags(request.getTags()) - .userProvidedServiceInstanceId(userProvidedServiceInstanceId) - .build()); + .map(DefaultServices::toServicePlan) + .collect(Collectors.toList()); + } + + private static Mono + updateUserProvidedServiceInstance( + CloudFoundryClient cloudFoundryClient, + UpdateUserProvidedServiceInstanceRequest request, + String userProvidedServiceInstanceId) { + return cloudFoundryClient + .userProvidedServiceInstances() + .update( + org.cloudfoundry.client.v2.userprovidedserviceinstances + .UpdateUserProvidedServiceInstanceRequest.builder() + .credentials(request.getCredentials()) + .syslogDrainUrl(request.getSyslogDrainUrl()) + .tags(request.getTags()) + .userProvidedServiceInstanceId(userProvidedServiceInstanceId) + .build()); + } + + private static Mono waitForInstanceAction( + CloudFoundryClient cloudFoundryClient, + Duration completionTimeout, + AbstractServiceInstanceResource serviceInstance) { + return LastOperationUtils.waitForCompletion( + completionTimeout, + () -> + requestGetServiceInstance( + cloudFoundryClient, ResourceUtils.getId(serviceInstance)) + .map( + response -> + ResourceUtils.getEntity(response) + .getLastOperation())); } - - private static Mono waitForInstanceAction(CloudFoundryClient cloudFoundryClient, Duration completionTimeout, AbstractServiceInstanceResource serviceInstance) { - return LastOperationUtils - .waitForCompletion(completionTimeout, () -> requestGetServiceInstance(cloudFoundryClient, ResourceUtils.getId(serviceInstance)) - .map(response -> ResourceUtils.getEntity(response).getLastOperation())); - } - } diff --git a/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/services/ServiceInstanceType.java b/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/services/ServiceInstanceType.java index f08e8c841f..ecff309f6e 100644 --- a/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/services/ServiceInstanceType.java +++ b/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/services/ServiceInstanceType.java @@ -23,7 +23,6 @@ * The type of a service instance */ public enum ServiceInstanceType { - MANAGED("managed_service_instance"), USER_PROVIDED("user_provided_service_instance"); @@ -42,9 +41,9 @@ public static ServiceInstanceType from(String s) { case "user_provided_service_instance": return USER_PROVIDED; default: - throw new IllegalArgumentException(String.format("Unknown service instance type: %s", s)); + throw new IllegalArgumentException( + String.format("Unknown service instance type: %s", s)); } - } @JsonValue @@ -56,5 +55,4 @@ public String getValue() { public String toString() { return this.getValue(); } - } diff --git a/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/services/Services.java b/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/services/Services.java index e858648b12..f31ecfdfdd 100644 --- a/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/services/Services.java +++ b/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/services/Services.java @@ -158,5 +158,4 @@ public interface Services { * @return a completion indicator */ Mono updateUserProvidedInstance(UpdateUserProvidedServiceInstanceRequest request); - } diff --git a/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/spaceadmin/DefaultSpaceAdmin.java b/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/spaceadmin/DefaultSpaceAdmin.java index 8261d0aa56..0376863969 100644 --- a/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/spaceadmin/DefaultSpaceAdmin.java +++ b/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/spaceadmin/DefaultSpaceAdmin.java @@ -16,6 +16,9 @@ package org.cloudfoundry.operations.spaceadmin; +import static org.cloudfoundry.util.tuple.TupleUtils.function; + +import java.util.NoSuchElementException; import org.cloudfoundry.client.CloudFoundryClient; import org.cloudfoundry.client.v2.organizations.ListOrganizationSpaceQuotaDefinitionsRequest; import org.cloudfoundry.client.v2.spacequotadefinitions.SpaceQuotaDefinitionEntity; @@ -27,70 +30,77 @@ import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; -import java.util.NoSuchElementException; - -import static org.cloudfoundry.util.tuple.TupleUtils.function; - public final class DefaultSpaceAdmin implements SpaceAdmin { private final Mono cloudFoundryClient; private final Mono organizationId; - public DefaultSpaceAdmin(Mono cloudFoundryClient, Mono organizationId) { + public DefaultSpaceAdmin( + Mono cloudFoundryClient, Mono organizationId) { this.cloudFoundryClient = cloudFoundryClient; this.organizationId = organizationId; } @Override public Mono get(GetSpaceQuotaRequest request) { - return Mono - .zip(this.cloudFoundryClient, this.organizationId) - .flatMap(function((cloudFoundryClient, organizationId) -> getSpaceQuotaDefinition(cloudFoundryClient, organizationId, request.getName()))) - .map(DefaultSpaceAdmin::toSpaceQuota) - .transform(OperationsLogging.log("Get Space Quota")) - .checkpoint(); + return Mono.zip(this.cloudFoundryClient, this.organizationId) + .flatMap( + function( + (cloudFoundryClient, organizationId) -> + getSpaceQuotaDefinition( + cloudFoundryClient, + organizationId, + request.getName()))) + .map(DefaultSpaceAdmin::toSpaceQuota) + .transform(OperationsLogging.log("Get Space Quota")) + .checkpoint(); } @Override public Flux listQuotas() { - return Mono - .zip(this.cloudFoundryClient, this.organizationId) - .flatMapMany(function(DefaultSpaceAdmin::requestSpaceQuotaDefinitions)) - .map(DefaultSpaceAdmin::toSpaceQuota) - .transform(OperationsLogging.log("List Space Quota")) - .checkpoint(); + return Mono.zip(this.cloudFoundryClient, this.organizationId) + .flatMapMany(function(DefaultSpaceAdmin::requestSpaceQuotaDefinitions)) + .map(DefaultSpaceAdmin::toSpaceQuota) + .transform(OperationsLogging.log("List Space Quota")) + .checkpoint(); } - private static Mono getSpaceQuotaDefinition(CloudFoundryClient cloudFoundryClient, String organizationId, String name) { + private static Mono getSpaceQuotaDefinition( + CloudFoundryClient cloudFoundryClient, String organizationId, String name) { return requestSpaceQuotaDefinitions(cloudFoundryClient, organizationId) - .filter(resource -> name.equals(ResourceUtils.getEntity(resource).getName())) - .single() - .onErrorResume(NoSuchElementException.class, t -> ExceptionUtils.illegalArgument("Space Quota %s does not exist", name)); + .filter(resource -> name.equals(ResourceUtils.getEntity(resource).getName())) + .single() + .onErrorResume( + NoSuchElementException.class, + t -> ExceptionUtils.illegalArgument("Space Quota %s does not exist", name)); } - private static Flux requestSpaceQuotaDefinitions(CloudFoundryClient cloudFoundryClient, String organizationId) { - return PaginationUtils - .requestClientV2Resources(page -> cloudFoundryClient.organizations() - .listSpaceQuotaDefinitions(ListOrganizationSpaceQuotaDefinitionsRequest.builder() - .organizationId(organizationId) - .page(page) - .build())); + private static Flux requestSpaceQuotaDefinitions( + CloudFoundryClient cloudFoundryClient, String organizationId) { + return PaginationUtils.requestClientV2Resources( + page -> + cloudFoundryClient + .organizations() + .listSpaceQuotaDefinitions( + ListOrganizationSpaceQuotaDefinitionsRequest.builder() + .organizationId(organizationId) + .page(page) + .build())); } private static SpaceQuota toSpaceQuota(SpaceQuotaDefinitionResource resource) { SpaceQuotaDefinitionEntity entity = ResourceUtils.getEntity(resource); return SpaceQuota.builder() - .id(ResourceUtils.getId(resource)) - .instanceMemoryLimit(entity.getInstanceMemoryLimit()) - .name(entity.getName()) - .organizationId(entity.getOrganizationId()) - .paidServicePlans(entity.getNonBasicServicesAllowed()) - .totalMemoryLimit(entity.getMemoryLimit()) - .totalRoutes(entity.getTotalRoutes()) - .totalServiceInstances(entity.getTotalServices()) - .build(); + .id(ResourceUtils.getId(resource)) + .instanceMemoryLimit(entity.getInstanceMemoryLimit()) + .name(entity.getName()) + .organizationId(entity.getOrganizationId()) + .paidServicePlans(entity.getNonBasicServicesAllowed()) + .totalMemoryLimit(entity.getMemoryLimit()) + .totalRoutes(entity.getTotalRoutes()) + .totalServiceInstances(entity.getTotalServices()) + .build(); } - } diff --git a/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/spaceadmin/SpaceAdmin.java b/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/spaceadmin/SpaceAdmin.java index 89927c9413..5be3d13c5c 100644 --- a/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/spaceadmin/SpaceAdmin.java +++ b/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/spaceadmin/SpaceAdmin.java @@ -38,5 +38,4 @@ public interface SpaceAdmin { * @return the space quotas */ Flux listQuotas(); - -} \ No newline at end of file +} diff --git a/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/spaces/DefaultSpaces.java b/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/spaces/DefaultSpaces.java index f528e7f7db..12835ab099 100644 --- a/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/spaces/DefaultSpaces.java +++ b/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/spaces/DefaultSpaces.java @@ -16,6 +16,15 @@ package org.cloudfoundry.operations.spaces; +import static org.cloudfoundry.util.tuple.TupleUtils.function; + +import java.time.Duration; +import java.util.Collections; +import java.util.List; +import java.util.NoSuchElementException; +import java.util.Optional; +import java.util.function.Predicate; +import java.util.stream.Collectors; import org.cloudfoundry.client.CloudFoundryClient; import org.cloudfoundry.client.v2.Resource; import org.cloudfoundry.client.v2.applications.ApplicationResource; @@ -61,16 +70,6 @@ import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; -import java.time.Duration; -import java.util.Collections; -import java.util.List; -import java.util.NoSuchElementException; -import java.util.Optional; -import java.util.function.Predicate; -import java.util.stream.Collectors; - -import static org.cloudfoundry.util.tuple.TupleUtils.function; - public final class DefaultSpaces implements Spaces { private final Mono cloudFoundryClient; @@ -79,7 +78,10 @@ public final class DefaultSpaces implements Spaces { private final Mono username; - public DefaultSpaces(Mono cloudFoundryClient, Mono organizationId, Mono username) { + public DefaultSpaces( + Mono cloudFoundryClient, + Mono organizationId, + Mono username) { this.cloudFoundryClient = cloudFoundryClient; this.organizationId = organizationId; this.username = username; @@ -87,465 +89,649 @@ public DefaultSpaces(Mono cloudFoundryClient, Mono o @Override public Mono allowSsh(AllowSpaceSshRequest request) { - return Mono - .zip(this.cloudFoundryClient, this.organizationId) - .flatMap(function((cloudFoundryClient, organizationId) -> Mono.zip( - Mono.just(cloudFoundryClient), - getOrganizationSpaceIdWhere(cloudFoundryClient, organizationId, request.getName(), sshEnabled(false)) - ))) - .flatMap(function((cloudFoundryClient, spaceId) -> requestUpdateSpaceSsh(cloudFoundryClient, spaceId, true))) - .then() - .transform(OperationsLogging.log("Allow Space SSH")) - .checkpoint(); + return Mono.zip(this.cloudFoundryClient, this.organizationId) + .flatMap( + function( + (cloudFoundryClient, organizationId) -> + Mono.zip( + Mono.just(cloudFoundryClient), + getOrganizationSpaceIdWhere( + cloudFoundryClient, + organizationId, + request.getName(), + sshEnabled(false))))) + .flatMap( + function( + (cloudFoundryClient, spaceId) -> + requestUpdateSpaceSsh(cloudFoundryClient, spaceId, true))) + .then() + .transform(OperationsLogging.log("Allow Space SSH")) + .checkpoint(); } @Override public Mono create(CreateSpaceRequest request) { - return Mono - .zip(this.cloudFoundryClient, this.username) - .flatMap(function((cloudFoundryClient, username) -> Mono.zip( - Mono.just(cloudFoundryClient), - Mono.just(username), - getOrganizationIdOrDefault(cloudFoundryClient, request.getOrganization(), this.organizationId) - ))) - .flatMap(function((cloudFoundryClient, username, organizationId) -> Mono.zip( - Mono.just(cloudFoundryClient), - Mono.just(username), - Mono.just(organizationId), - getOptionalSpaceQuotaId(cloudFoundryClient, organizationId, request.getSpaceQuota()) - ))) - .flatMap(function((cloudFoundryClient, username, organizationId, spaceQuotaId) -> Mono.zip( - Mono.just(cloudFoundryClient), - Mono.just(organizationId), - requestCreateSpace(cloudFoundryClient, organizationId, request.getName(), spaceQuotaId.orElse(null)) - .map(ResourceUtils::getId), - Mono.just(username) - ))) - .delayUntil(function((cloudFoundryClient, organizationId, spaceId, username) -> requestAssociateOrganizationUserByUsername(cloudFoundryClient, organizationId, username))) - .flatMap(function((cloudFoundryClient, organizationId, spaceId, username) -> Mono.zip( - requestAssociateSpaceManagerByUsername(cloudFoundryClient, spaceId, username), - requestAssociateSpaceDeveloperByUsername(cloudFoundryClient, spaceId, username) - ))) - .then() - .transform(OperationsLogging.log("Create Space")) - .checkpoint(); + return Mono.zip(this.cloudFoundryClient, this.username) + .flatMap( + function( + (cloudFoundryClient, username) -> + Mono.zip( + Mono.just(cloudFoundryClient), + Mono.just(username), + getOrganizationIdOrDefault( + cloudFoundryClient, + request.getOrganization(), + this.organizationId)))) + .flatMap( + function( + (cloudFoundryClient, username, organizationId) -> + Mono.zip( + Mono.just(cloudFoundryClient), + Mono.just(username), + Mono.just(organizationId), + getOptionalSpaceQuotaId( + cloudFoundryClient, + organizationId, + request.getSpaceQuota())))) + .flatMap( + function( + (cloudFoundryClient, username, organizationId, spaceQuotaId) -> + Mono.zip( + Mono.just(cloudFoundryClient), + Mono.just(organizationId), + requestCreateSpace( + cloudFoundryClient, + organizationId, + request.getName(), + spaceQuotaId.orElse(null)) + .map(ResourceUtils::getId), + Mono.just(username)))) + .delayUntil( + function( + (cloudFoundryClient, organizationId, spaceId, username) -> + requestAssociateOrganizationUserByUsername( + cloudFoundryClient, organizationId, username))) + .flatMap( + function( + (cloudFoundryClient, organizationId, spaceId, username) -> + Mono.zip( + requestAssociateSpaceManagerByUsername( + cloudFoundryClient, spaceId, username), + requestAssociateSpaceDeveloperByUsername( + cloudFoundryClient, spaceId, username)))) + .then() + .transform(OperationsLogging.log("Create Space")) + .checkpoint(); } @Override public Mono delete(DeleteSpaceRequest request) { - return Mono - .zip(this.cloudFoundryClient, this.organizationId) - .flatMap(function((cloudFoundryClient, organizationId) -> Mono.zip( - Mono.just(cloudFoundryClient), - Mono.just(request.getCompletionTimeout()), - getOrganizationSpaceId(cloudFoundryClient, organizationId, request.getName()) - ))) - .flatMap(function(DefaultSpaces::deleteSpace)) - .transform(OperationsLogging.log("Delete Space")) - .checkpoint(); + return Mono.zip(this.cloudFoundryClient, this.organizationId) + .flatMap( + function( + (cloudFoundryClient, organizationId) -> + Mono.zip( + Mono.just(cloudFoundryClient), + Mono.just(request.getCompletionTimeout()), + getOrganizationSpaceId( + cloudFoundryClient, + organizationId, + request.getName())))) + .flatMap(function(DefaultSpaces::deleteSpace)) + .transform(OperationsLogging.log("Delete Space")) + .checkpoint(); } @Override public Mono disallowSsh(DisallowSpaceSshRequest request) { - return Mono - .zip(this.cloudFoundryClient, this.organizationId) - .flatMap(function((cloudFoundryClient, organizationId) -> Mono.zip( - Mono.just(cloudFoundryClient), - getOrganizationSpaceIdWhere(cloudFoundryClient, organizationId, request.getName(), sshEnabled(true)) - ))) - .flatMap(function((cloudFoundryClient, spaceId) -> requestUpdateSpaceSsh(cloudFoundryClient, spaceId, false))) - .then() - .transform(OperationsLogging.log("Disallow Space SSH")) - .checkpoint(); + return Mono.zip(this.cloudFoundryClient, this.organizationId) + .flatMap( + function( + (cloudFoundryClient, organizationId) -> + Mono.zip( + Mono.just(cloudFoundryClient), + getOrganizationSpaceIdWhere( + cloudFoundryClient, + organizationId, + request.getName(), + sshEnabled(true))))) + .flatMap( + function( + (cloudFoundryClient, spaceId) -> + requestUpdateSpaceSsh(cloudFoundryClient, spaceId, false))) + .then() + .transform(OperationsLogging.log("Disallow Space SSH")) + .checkpoint(); } @Override public Mono get(GetSpaceRequest request) { - return Mono - .zip(this.cloudFoundryClient, this.organizationId) - .flatMap(function((cloudFoundryClient, organizationId) -> Mono.zip( - Mono.just(cloudFoundryClient), - getOrganizationSpace(cloudFoundryClient, organizationId, request.getName()) - ))) - .flatMap(function((cloudFoundryClient, resource) -> getSpaceDetail(cloudFoundryClient, resource, request))) - .transform(OperationsLogging.log("Get Space")) - .checkpoint(); + return Mono.zip(this.cloudFoundryClient, this.organizationId) + .flatMap( + function( + (cloudFoundryClient, organizationId) -> + Mono.zip( + Mono.just(cloudFoundryClient), + getOrganizationSpace( + cloudFoundryClient, + organizationId, + request.getName())))) + .flatMap( + function( + (cloudFoundryClient, resource) -> + getSpaceDetail(cloudFoundryClient, resource, request))) + .transform(OperationsLogging.log("Get Space")) + .checkpoint(); } @Override public Flux list() { - return Mono - .zip(this.cloudFoundryClient, this.organizationId) - .flatMapMany(function(DefaultSpaces::requestSpaces)) - .map(DefaultSpaces::toSpaceSummary) - .transform(OperationsLogging.log("List Spaces")) - .checkpoint(); + return Mono.zip(this.cloudFoundryClient, this.organizationId) + .flatMapMany(function(DefaultSpaces::requestSpaces)) + .map(DefaultSpaces::toSpaceSummary) + .transform(OperationsLogging.log("List Spaces")) + .checkpoint(); } @Override public Mono rename(RenameSpaceRequest request) { - return Mono - .zip(this.cloudFoundryClient, this.organizationId) - .flatMap(function((cloudFoundryClient, organizationId) -> Mono.zip( - Mono.just(cloudFoundryClient), - getOrganizationSpaceId(cloudFoundryClient, organizationId, request.getName()) - ))) - .flatMap(function((cloudFoundryClient, spaceId) -> requestUpdateSpace(cloudFoundryClient, spaceId, request.getNewName()))) - .then() - .transform(OperationsLogging.log("Rename Space")) - .checkpoint(); + return Mono.zip(this.cloudFoundryClient, this.organizationId) + .flatMap( + function( + (cloudFoundryClient, organizationId) -> + Mono.zip( + Mono.just(cloudFoundryClient), + getOrganizationSpaceId( + cloudFoundryClient, + organizationId, + request.getName())))) + .flatMap( + function( + (cloudFoundryClient, spaceId) -> + requestUpdateSpace( + cloudFoundryClient, spaceId, request.getNewName()))) + .then() + .transform(OperationsLogging.log("Rename Space")) + .checkpoint(); } @Override public Mono sshAllowed(SpaceSshAllowedRequest request) { - return Mono - .zip(this.cloudFoundryClient, this.organizationId) - .flatMap(function((cloudFoundryClient, organizationId) -> getOrganizationSpace(cloudFoundryClient, organizationId, request.getName()))) - .map(resource -> ResourceUtils.getEntity(resource).getAllowSsh()) - .transform(OperationsLogging.log("Is Space SSH Allowed")) - .checkpoint(); - } - - private static Mono deleteSpace(CloudFoundryClient cloudFoundryClient, Duration completionTimeout, String spaceId) { + return Mono.zip(this.cloudFoundryClient, this.organizationId) + .flatMap( + function( + (cloudFoundryClient, organizationId) -> + getOrganizationSpace( + cloudFoundryClient, + organizationId, + request.getName()))) + .map(resource -> ResourceUtils.getEntity(resource).getAllowSsh()) + .transform(OperationsLogging.log("Is Space SSH Allowed")) + .checkpoint(); + } + + private static Mono deleteSpace( + CloudFoundryClient cloudFoundryClient, Duration completionTimeout, String spaceId) { return requestDeleteSpace(cloudFoundryClient, spaceId) - .flatMap(job -> JobUtils.waitForCompletion(cloudFoundryClient, completionTimeout, job)); + .flatMap( + job -> + JobUtils.waitForCompletion( + cloudFoundryClient, completionTimeout, job)); } - private static Mono> getApplicationNames(CloudFoundryClient cloudFoundryClient, SpaceResource spaceResource) { + private static Mono> getApplicationNames( + CloudFoundryClient cloudFoundryClient, SpaceResource spaceResource) { return requestSpaceApplications(cloudFoundryClient, ResourceUtils.getId(spaceResource)) - .map(applicationResource -> ResourceUtils.getEntity(applicationResource).getName()) - .collectList(); + .map(applicationResource -> ResourceUtils.getEntity(applicationResource).getName()) + .collectList(); } - private static Mono> getDomainNames(CloudFoundryClient cloudFoundryClient, SpaceResource spaceResource) { - return requestListPrivateDomains(cloudFoundryClient, spaceResource.getEntity().getOrganizationId()) - .map(resource -> resource.getEntity().getName()) - .mergeWith(requestListSharedDomains(cloudFoundryClient) - .map(resource -> resource.getEntity().getName())) - .collectList(); + private static Mono> getDomainNames( + CloudFoundryClient cloudFoundryClient, SpaceResource spaceResource) { + return requestListPrivateDomains( + cloudFoundryClient, spaceResource.getEntity().getOrganizationId()) + .map(resource -> resource.getEntity().getName()) + .mergeWith( + requestListSharedDomains(cloudFoundryClient) + .map(resource -> resource.getEntity().getName())) + .collectList(); } - private static Mono> getOptionalSpaceQuotaDefinition(CloudFoundryClient cloudFoundryClient, SpaceResource spaceResource) { - String spaceQuotaDefinitionId = ResourceUtils.getEntity(spaceResource).getSpaceQuotaDefinitionId(); + private static Mono> getOptionalSpaceQuotaDefinition( + CloudFoundryClient cloudFoundryClient, SpaceResource spaceResource) { + String spaceQuotaDefinitionId = + ResourceUtils.getEntity(spaceResource).getSpaceQuotaDefinitionId(); if (spaceQuotaDefinitionId == null) { return Mono.just(Optional.empty()); } return requestSpaceQuotaDefinition(cloudFoundryClient, spaceQuotaDefinitionId) - .map(DefaultSpaces::toSpaceQuotaDefinition) - .map(Optional::of); + .map(DefaultSpaces::toSpaceQuotaDefinition) + .map(Optional::of); } - private static Mono> getOptionalSpaceQuotaId(CloudFoundryClient cloudFoundryClient, String organizationId, String spaceQuota) { + private static Mono> getOptionalSpaceQuotaId( + CloudFoundryClient cloudFoundryClient, String organizationId, String spaceQuota) { if (spaceQuota == null) { return Mono.just(Optional.empty()); } else { return getSpaceQuota(cloudFoundryClient, organizationId, spaceQuota) - .map(ResourceUtils::getId) - .map(Optional::of); + .map(ResourceUtils::getId) + .map(Optional::of); } } - private static Mono getOrganization(CloudFoundryClient cloudFoundryClient, String organization) { + private static Mono getOrganization( + CloudFoundryClient cloudFoundryClient, String organization) { return requestOrganizations(cloudFoundryClient, organization) - .single() - .onErrorResume(NoSuchElementException.class, t -> ExceptionUtils.illegalArgument("Organization %s does not exist", organization)); + .single() + .onErrorResume( + NoSuchElementException.class, + t -> + ExceptionUtils.illegalArgument( + "Organization %s does not exist", organization)); } - private static Mono getOrganizationId(CloudFoundryClient cloudFoundryClient, String organization) { - return getOrganization(cloudFoundryClient, organization) - .map(ResourceUtils::getId); + private static Mono getOrganizationId( + CloudFoundryClient cloudFoundryClient, String organization) { + return getOrganization(cloudFoundryClient, organization).map(ResourceUtils::getId); } - private static Mono getOrganizationIdOrDefault(CloudFoundryClient cloudFoundryClient, String organizationName, Mono organizationId) { + private static Mono getOrganizationIdOrDefault( + CloudFoundryClient cloudFoundryClient, + String organizationName, + Mono organizationId) { return Optional.ofNullable(organizationName) - .map(organization -> getOrganizationId(cloudFoundryClient, organization)) - .orElse(organizationId); + .map(organization -> getOrganizationId(cloudFoundryClient, organization)) + .orElse(organizationId); } - private static Mono getOrganizationName(CloudFoundryClient cloudFoundryClient, SpaceResource resource) { - return requestOrganization(cloudFoundryClient, ResourceUtils.getEntity(resource).getOrganizationId()) - .map(response -> ResourceUtils.getEntity(response).getName()); + private static Mono getOrganizationName( + CloudFoundryClient cloudFoundryClient, SpaceResource resource) { + return requestOrganization( + cloudFoundryClient, ResourceUtils.getEntity(resource).getOrganizationId()) + .map(response -> ResourceUtils.getEntity(response).getName()); } - private static Mono getOrganizationSpace(CloudFoundryClient cloudFoundryClient, String organizationId, String space) { + private static Mono getOrganizationSpace( + CloudFoundryClient cloudFoundryClient, String organizationId, String space) { return requestOrganizationSpaces(cloudFoundryClient, organizationId, space) - .single() - .onErrorResume(NoSuchElementException.class, t -> ExceptionUtils.illegalArgument("Space %s does not exist", space)); + .single() + .onErrorResume( + NoSuchElementException.class, + t -> ExceptionUtils.illegalArgument("Space %s does not exist", space)); } - private static Mono getOrganizationSpaceId(CloudFoundryClient cloudFoundryClient, String organizationId, String space) { + private static Mono getOrganizationSpaceId( + CloudFoundryClient cloudFoundryClient, String organizationId, String space) { return getOrganizationSpace(cloudFoundryClient, organizationId, space) - .map(ResourceUtils::getId); + .map(ResourceUtils::getId); } - private static Mono getOrganizationSpaceIdWhere(CloudFoundryClient cloudFoundryClient, String organizationId, String space, Predicate predicate) { + private static Mono getOrganizationSpaceIdWhere( + CloudFoundryClient cloudFoundryClient, + String organizationId, + String space, + Predicate predicate) { return getOrganizationSpace(cloudFoundryClient, organizationId, space) - .filter(predicate) - .map(ResourceUtils::getId); + .filter(predicate) + .map(ResourceUtils::getId); } - private static Mono> getSecurityGroups(CloudFoundryClient cloudFoundryClient, SpaceResource spaceResource, boolean withRules) { + private static Mono> getSecurityGroups( + CloudFoundryClient cloudFoundryClient, SpaceResource spaceResource, boolean withRules) { return requestSpaceSecurityGroups(cloudFoundryClient, ResourceUtils.getId(spaceResource)) - .map(securityGroupResource -> { - SecurityGroupEntity entity = ResourceUtils.getEntity(securityGroupResource); - if (!withRules) { - entity = SecurityGroupEntity.builder() - .name(entity.getName()) - .runningDefault(entity.getRunningDefault()) - .spacesUrl(entity.getSpacesUrl()) - .stagingDefault(entity.getStagingDefault()) - .build(); - } - return entity; - }) - .collectList(); - } - - private static Mono> getServiceNames(CloudFoundryClient cloudFoundryClient, SpaceResource spaceResource) { + .map( + securityGroupResource -> { + SecurityGroupEntity entity = + ResourceUtils.getEntity(securityGroupResource); + if (!withRules) { + entity = + SecurityGroupEntity.builder() + .name(entity.getName()) + .runningDefault(entity.getRunningDefault()) + .spacesUrl(entity.getSpacesUrl()) + .stagingDefault(entity.getStagingDefault()) + .build(); + } + return entity; + }) + .collectList(); + } + + private static Mono> getServiceNames( + CloudFoundryClient cloudFoundryClient, SpaceResource spaceResource) { return requestSpaceServices(cloudFoundryClient, ResourceUtils.getId(spaceResource)) - .map(serviceResource -> ResourceUtils.getEntity(serviceResource).getLabel()) - .collectList(); - } - - private static Mono getSpaceDetail(CloudFoundryClient cloudFoundryClient, SpaceResource resource, GetSpaceRequest request) { - return Mono - .zip( - getApplicationNames(cloudFoundryClient, resource), - getDomainNames(cloudFoundryClient, resource), - getOrganizationName(cloudFoundryClient, resource), - getSecurityGroups(cloudFoundryClient, resource, Optional.ofNullable(request.getSecurityGroupRules()).orElse(false)), - getServiceNames(cloudFoundryClient, resource), - getOptionalSpaceQuotaDefinition(cloudFoundryClient, resource) - ) - .map(function((applications, domains, organization, securityGroups, services, spaceQuota) -> - toSpaceDetail(applications, domains, organization, resource, securityGroups, services, spaceQuota))); - } - - private static Mono getSpaceQuota(CloudFoundryClient cloudFoundryClient, String organizationId, String spaceQuota) { + .map(serviceResource -> ResourceUtils.getEntity(serviceResource).getLabel()) + .collectList(); + } + + private static Mono getSpaceDetail( + CloudFoundryClient cloudFoundryClient, + SpaceResource resource, + GetSpaceRequest request) { + return Mono.zip( + getApplicationNames(cloudFoundryClient, resource), + getDomainNames(cloudFoundryClient, resource), + getOrganizationName(cloudFoundryClient, resource), + getSecurityGroups( + cloudFoundryClient, + resource, + Optional.ofNullable(request.getSecurityGroupRules()).orElse(false)), + getServiceNames(cloudFoundryClient, resource), + getOptionalSpaceQuotaDefinition(cloudFoundryClient, resource)) + .map( + function( + (applications, + domains, + organization, + securityGroups, + services, + spaceQuota) -> + toSpaceDetail( + applications, + domains, + organization, + resource, + securityGroups, + services, + spaceQuota))); + } + + private static Mono getSpaceQuota( + CloudFoundryClient cloudFoundryClient, String organizationId, String spaceQuota) { return requestOrganizationSpaceQuotas(cloudFoundryClient, organizationId, spaceQuota) - .single() - .onErrorResume(NoSuchElementException.class, t -> ExceptionUtils.illegalArgument("Space quota definition %s does not exist", spaceQuota)); - } - - private static Mono requestAssociateOrganizationUserByUsername(CloudFoundryClient cloudFoundryClient, String organizationId, String username) { - return cloudFoundryClient.organizations() - .associateUserByUsername(AssociateOrganizationUserByUsernameRequest.builder() - .organizationId(organizationId) - .username(username) - .build()); - } - - private static Mono requestAssociateSpaceDeveloperByUsername(CloudFoundryClient cloudFoundryClient, String spaceId, String username) { - return cloudFoundryClient.spaces() - .associateDeveloperByUsername(AssociateSpaceDeveloperByUsernameRequest.builder() - .spaceId(spaceId) - .username(username) - .build()); - } - - private static Mono requestAssociateSpaceManagerByUsername(CloudFoundryClient cloudFoundryClient, String spaceId, String username) { - return cloudFoundryClient.spaces() - .associateManagerByUsername(AssociateSpaceManagerByUsernameRequest.builder() - .spaceId(spaceId) - .username(username) - .build()); - } - - private static Mono requestCreateSpace(CloudFoundryClient cloudFoundryClient, String organizationId, String space, String spaceQuotaId) { - return cloudFoundryClient.spaces() - .create(org.cloudfoundry.client.v2.spaces.CreateSpaceRequest.builder() - .name(space) - .organizationId(organizationId) - .spaceQuotaDefinitionId(spaceQuotaId) - .build()); - } - - private static Mono requestDeleteSpace(CloudFoundryClient cloudFoundryClient, String spaceId) { - return cloudFoundryClient.spaces() - .delete(org.cloudfoundry.client.v2.spaces.DeleteSpaceRequest.builder() - .async(true) - .spaceId(spaceId) - .build()); - } - - private static Flux requestListPrivateDomains(CloudFoundryClient cloudFoundryClient, String organizationId) { - return PaginationUtils - .requestClientV2Resources(page -> cloudFoundryClient.organizations() - .listPrivateDomains(ListOrganizationPrivateDomainsRequest.builder() - .organizationId(organizationId) - .page(page) - .build())); - } - - private static Flux requestListSharedDomains(CloudFoundryClient cloudFoundryClient) { - return PaginationUtils - .requestClientV2Resources(page -> cloudFoundryClient.sharedDomains() - .list(ListSharedDomainsRequest.builder() - .page(page) - .build())); - } - - private static Mono requestOrganization(CloudFoundryClient cloudFoundryClient, String organizationId) { - return cloudFoundryClient.organizations() - .get(GetOrganizationRequest.builder() - .organizationId(organizationId) - .build()); - } - - private static Flux requestOrganizationSpaceQuotas(CloudFoundryClient cloudFoundryClient, String organizationId, String spaceQuota) { - return PaginationUtils - .requestClientV2Resources(page -> cloudFoundryClient.organizations() - .listSpaceQuotaDefinitions(ListOrganizationSpaceQuotaDefinitionsRequest.builder() - .page(page) - .organizationId(organizationId) - .build())) - .filter(resource -> ResourceUtils.getEntity(resource).getName().equals(spaceQuota)); - } - - private static Flux requestOrganizationSpaces(CloudFoundryClient cloudFoundryClient, String organizationId, String space) { - return PaginationUtils - .requestClientV2Resources(page -> cloudFoundryClient.organizations() - .listSpaces(ListOrganizationSpacesRequest.builder() - .name(space) - .organizationId(organizationId) - .page(page) - .build())); - } - - private static Flux requestOrganizations(CloudFoundryClient cloudFoundryClient, String organizationName) { - return PaginationUtils - .requestClientV2Resources(page -> cloudFoundryClient.organizations() - .list(ListOrganizationsRequest.builder() - .name(organizationName) - .page(page) - .build())); - } - - private static Flux requestSpaceApplications(CloudFoundryClient cloudFoundryClient, String spaceId) { - return PaginationUtils - .requestClientV2Resources(page -> cloudFoundryClient.spaces() - .listApplications(ListSpaceApplicationsRequest.builder() - .page(page) - .spaceId(spaceId) - .build())); - } - - private static Mono requestSpaceQuotaDefinition(CloudFoundryClient cloudFoundryClient, String spaceQuotaDefinitionId) { - return cloudFoundryClient.spaceQuotaDefinitions() - .get(GetSpaceQuotaDefinitionRequest.builder() - .spaceQuotaDefinitionId(spaceQuotaDefinitionId) - .build()); - } - - private static Flux requestSpaceSecurityGroups(CloudFoundryClient cloudFoundryClient, String spaceId) { - return PaginationUtils - .requestClientV2Resources(page -> cloudFoundryClient.spaces() - .listSecurityGroups(ListSpaceSecurityGroupsRequest.builder() - .spaceId(spaceId) - .page(page) - .build())); - } - - private static Flux requestSpaceServices(CloudFoundryClient cloudFoundryClient, String spaceId) { - return PaginationUtils - .requestClientV2Resources(page -> cloudFoundryClient.spaces() - .listServices(ListSpaceServicesRequest.builder() - .page(page) - .spaceId(spaceId) - .build())); - } - - private static Flux requestSpaces(CloudFoundryClient cloudFoundryClient, String organizationId) { - return PaginationUtils - .requestClientV2Resources(page -> cloudFoundryClient.spaces() - .list(ListSpacesRequest.builder() - .organizationId(organizationId) - .page(page) - .build())); - } - - private static Mono requestUpdateSpace(CloudFoundryClient cloudFoundryClient, String spaceId, String newName) { - return cloudFoundryClient.spaces() - .update(UpdateSpaceRequest.builder() - .name(newName) - .spaceId(spaceId) - .build()); - } - - private static Mono requestUpdateSpaceSsh(CloudFoundryClient cloudFoundryClient, String spaceId, Boolean allowed) { - return cloudFoundryClient.spaces() - .update(UpdateSpaceRequest.builder() - .allowSsh(allowed) - .spaceId(spaceId) - .build()); + .single() + .onErrorResume( + NoSuchElementException.class, + t -> + ExceptionUtils.illegalArgument( + "Space quota definition %s does not exist", spaceQuota)); + } + + private static Mono + requestAssociateOrganizationUserByUsername( + CloudFoundryClient cloudFoundryClient, String organizationId, String username) { + return cloudFoundryClient + .organizations() + .associateUserByUsername( + AssociateOrganizationUserByUsernameRequest.builder() + .organizationId(organizationId) + .username(username) + .build()); + } + + private static Mono + requestAssociateSpaceDeveloperByUsername( + CloudFoundryClient cloudFoundryClient, String spaceId, String username) { + return cloudFoundryClient + .spaces() + .associateDeveloperByUsername( + AssociateSpaceDeveloperByUsernameRequest.builder() + .spaceId(spaceId) + .username(username) + .build()); + } + + private static Mono + requestAssociateSpaceManagerByUsername( + CloudFoundryClient cloudFoundryClient, String spaceId, String username) { + return cloudFoundryClient + .spaces() + .associateManagerByUsername( + AssociateSpaceManagerByUsernameRequest.builder() + .spaceId(spaceId) + .username(username) + .build()); + } + + private static Mono requestCreateSpace( + CloudFoundryClient cloudFoundryClient, + String organizationId, + String space, + String spaceQuotaId) { + return cloudFoundryClient + .spaces() + .create( + org.cloudfoundry.client.v2.spaces.CreateSpaceRequest.builder() + .name(space) + .organizationId(organizationId) + .spaceQuotaDefinitionId(spaceQuotaId) + .build()); + } + + private static Mono requestDeleteSpace( + CloudFoundryClient cloudFoundryClient, String spaceId) { + return cloudFoundryClient + .spaces() + .delete( + org.cloudfoundry.client.v2.spaces.DeleteSpaceRequest.builder() + .async(true) + .spaceId(spaceId) + .build()); + } + + private static Flux requestListPrivateDomains( + CloudFoundryClient cloudFoundryClient, String organizationId) { + return PaginationUtils.requestClientV2Resources( + page -> + cloudFoundryClient + .organizations() + .listPrivateDomains( + ListOrganizationPrivateDomainsRequest.builder() + .organizationId(organizationId) + .page(page) + .build())); + } + + private static Flux requestListSharedDomains( + CloudFoundryClient cloudFoundryClient) { + return PaginationUtils.requestClientV2Resources( + page -> + cloudFoundryClient + .sharedDomains() + .list(ListSharedDomainsRequest.builder().page(page).build())); + } + + private static Mono requestOrganization( + CloudFoundryClient cloudFoundryClient, String organizationId) { + return cloudFoundryClient + .organizations() + .get(GetOrganizationRequest.builder().organizationId(organizationId).build()); + } + + private static Flux requestOrganizationSpaceQuotas( + CloudFoundryClient cloudFoundryClient, String organizationId, String spaceQuota) { + return PaginationUtils.requestClientV2Resources( + page -> + cloudFoundryClient + .organizations() + .listSpaceQuotaDefinitions( + ListOrganizationSpaceQuotaDefinitionsRequest + .builder() + .page(page) + .organizationId(organizationId) + .build())) + .filter(resource -> ResourceUtils.getEntity(resource).getName().equals(spaceQuota)); + } + + private static Flux requestOrganizationSpaces( + CloudFoundryClient cloudFoundryClient, String organizationId, String space) { + return PaginationUtils.requestClientV2Resources( + page -> + cloudFoundryClient + .organizations() + .listSpaces( + ListOrganizationSpacesRequest.builder() + .name(space) + .organizationId(organizationId) + .page(page) + .build())); + } + + private static Flux requestOrganizations( + CloudFoundryClient cloudFoundryClient, String organizationName) { + return PaginationUtils.requestClientV2Resources( + page -> + cloudFoundryClient + .organizations() + .list( + ListOrganizationsRequest.builder() + .name(organizationName) + .page(page) + .build())); + } + + private static Flux requestSpaceApplications( + CloudFoundryClient cloudFoundryClient, String spaceId) { + return PaginationUtils.requestClientV2Resources( + page -> + cloudFoundryClient + .spaces() + .listApplications( + ListSpaceApplicationsRequest.builder() + .page(page) + .spaceId(spaceId) + .build())); + } + + private static Mono requestSpaceQuotaDefinition( + CloudFoundryClient cloudFoundryClient, String spaceQuotaDefinitionId) { + return cloudFoundryClient + .spaceQuotaDefinitions() + .get( + GetSpaceQuotaDefinitionRequest.builder() + .spaceQuotaDefinitionId(spaceQuotaDefinitionId) + .build()); + } + + private static Flux requestSpaceSecurityGroups( + CloudFoundryClient cloudFoundryClient, String spaceId) { + return PaginationUtils.requestClientV2Resources( + page -> + cloudFoundryClient + .spaces() + .listSecurityGroups( + ListSpaceSecurityGroupsRequest.builder() + .spaceId(spaceId) + .page(page) + .build())); + } + + private static Flux requestSpaceServices( + CloudFoundryClient cloudFoundryClient, String spaceId) { + return PaginationUtils.requestClientV2Resources( + page -> + cloudFoundryClient + .spaces() + .listServices( + ListSpaceServicesRequest.builder() + .page(page) + .spaceId(spaceId) + .build())); + } + + private static Flux requestSpaces( + CloudFoundryClient cloudFoundryClient, String organizationId) { + return PaginationUtils.requestClientV2Resources( + page -> + cloudFoundryClient + .spaces() + .list( + ListSpacesRequest.builder() + .organizationId(organizationId) + .page(page) + .build())); + } + + private static Mono requestUpdateSpace( + CloudFoundryClient cloudFoundryClient, String spaceId, String newName) { + return cloudFoundryClient + .spaces() + .update(UpdateSpaceRequest.builder().name(newName).spaceId(spaceId).build()); + } + + private static Mono requestUpdateSpaceSsh( + CloudFoundryClient cloudFoundryClient, String spaceId, Boolean allowed) { + return cloudFoundryClient + .spaces() + .update(UpdateSpaceRequest.builder().allowSsh(allowed).spaceId(spaceId).build()); } private static Predicate sshEnabled(Boolean enabled) { return resource -> enabled.equals(ResourceUtils.getEntity(resource).getAllowSsh()); } - private static SpaceDetail toSpaceDetail(List applications, - List domains, - String organization, - SpaceResource resource, - List securityGroups, - List services, - Optional spaceQuota) { + private static SpaceDetail toSpaceDetail( + List applications, + List domains, + String organization, + SpaceResource resource, + List securityGroups, + List services, + Optional spaceQuota) { return SpaceDetail.builder() - .applications(applications) - .domains(domains) - .id(ResourceUtils.getId(resource)) - .name(ResourceUtils.getEntity(resource).getName()) - .organization(organization) - .securityGroups(toSpaceDetailSecurityGroups(securityGroups)) - .services(services) - .spaceQuota(spaceQuota) - .build(); + .applications(applications) + .domains(domains) + .id(ResourceUtils.getId(resource)) + .name(ResourceUtils.getEntity(resource).getName()) + .organization(organization) + .securityGroups(toSpaceDetailSecurityGroups(securityGroups)) + .services(services) + .spaceQuota(spaceQuota) + .build(); } private static List toSpaceDetailSecurityGroupRules(List rules) { return Optional.ofNullable(rules) - .map(r -> r.stream() - .map(ruleEntity -> Rule.builder() - .destination(ruleEntity.getDestination()) - .ports(ruleEntity.getPorts()) - .protocol(ruleEntity.getProtocol()) - .build()) - .collect(Collectors.toList())) - .orElse(Collections.emptyList()); - } - - private static List toSpaceDetailSecurityGroups(List securityGroups) { + .map( + r -> + r.stream() + .map( + ruleEntity -> + Rule.builder() + .destination( + ruleEntity.getDestination()) + .ports(ruleEntity.getPorts()) + .protocol(ruleEntity.getProtocol()) + .build()) + .collect(Collectors.toList())) + .orElse(Collections.emptyList()); + } + + private static List toSpaceDetailSecurityGroups( + List securityGroups) { return securityGroups.stream() - .map(entity -> SecurityGroup.builder() - .name(entity.getName()) - .rules(toSpaceDetailSecurityGroupRules(entity.getRules())) - .build()) - .collect(Collectors.toList()); + .map( + entity -> + SecurityGroup.builder() + .name(entity.getName()) + .rules(toSpaceDetailSecurityGroupRules(entity.getRules())) + .build()) + .collect(Collectors.toList()); } - private static SpaceQuota toSpaceQuotaDefinition(Resource resource) { + private static SpaceQuota toSpaceQuotaDefinition( + Resource resource) { SpaceQuotaDefinitionEntity entity = ResourceUtils.getEntity(resource); return SpaceQuota.builder() - .id(ResourceUtils.getId(resource)) - .instanceMemoryLimit(entity.getInstanceMemoryLimit()) - .name(entity.getName()) - .organizationId(entity.getOrganizationId()) - .paidServicePlans(entity.getNonBasicServicesAllowed()) - .totalMemoryLimit(entity.getMemoryLimit()) - .totalRoutes(entity.getTotalRoutes()) - .totalServiceInstances(entity.getTotalServices()) - .build(); + .id(ResourceUtils.getId(resource)) + .instanceMemoryLimit(entity.getInstanceMemoryLimit()) + .name(entity.getName()) + .organizationId(entity.getOrganizationId()) + .paidServicePlans(entity.getNonBasicServicesAllowed()) + .totalMemoryLimit(entity.getMemoryLimit()) + .totalRoutes(entity.getTotalRoutes()) + .totalServiceInstances(entity.getTotalServices()) + .build(); } private static SpaceSummary toSpaceSummary(SpaceResource resource) { return SpaceSummary.builder() - .id(ResourceUtils.getId(resource)) - .name(ResourceUtils.getEntity(resource).getName()) - .build(); + .id(ResourceUtils.getId(resource)) + .name(ResourceUtils.getEntity(resource).getName()) + .build(); } - } diff --git a/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/spaces/Spaces.java b/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/spaces/Spaces.java index 27cb27eef0..1793138a6d 100644 --- a/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/spaces/Spaces.java +++ b/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/spaces/Spaces.java @@ -86,5 +86,4 @@ public interface Spaces { * @return Boolean is ssh allowed on the space */ Mono sshAllowed(SpaceSshAllowedRequest request); - } diff --git a/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/stacks/DefaultStacks.java b/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/stacks/DefaultStacks.java index 98a1aa30f5..b57dbca983 100644 --- a/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/stacks/DefaultStacks.java +++ b/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/stacks/DefaultStacks.java @@ -16,6 +16,7 @@ package org.cloudfoundry.operations.stacks; +import java.util.NoSuchElementException; import org.cloudfoundry.client.CloudFoundryClient; import org.cloudfoundry.client.v2.stacks.ListStacksRequest; import org.cloudfoundry.client.v2.stacks.StackResource; @@ -26,8 +27,6 @@ import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; -import java.util.NoSuchElementException; - public final class DefaultStacks implements Stacks { private final Mono cloudFoundryClient; @@ -39,50 +38,52 @@ public DefaultStacks(Mono cloudFoundryClient) { @Override public Mono get(GetStackRequest request) { return this.cloudFoundryClient - .flatMap(cloudFoundryClient -> getStack(cloudFoundryClient, request.getName())) - .map(this::toStack) - .transform(OperationsLogging.log("Get Stack")) - .checkpoint(); + .flatMap(cloudFoundryClient -> getStack(cloudFoundryClient, request.getName())) + .map(this::toStack) + .transform(OperationsLogging.log("Get Stack")) + .checkpoint(); } @Override public Flux list() { return this.cloudFoundryClient - .flatMapMany(DefaultStacks::requestStacks) - .map(this::toStack) - .transform(OperationsLogging.log("List Stacks")) - .checkpoint(); + .flatMapMany(DefaultStacks::requestStacks) + .map(this::toStack) + .transform(OperationsLogging.log("List Stacks")) + .checkpoint(); } - private static Mono getStack(CloudFoundryClient cloudFoundryClient, String stack) { + private static Mono getStack( + CloudFoundryClient cloudFoundryClient, String stack) { return requestStack(cloudFoundryClient, stack) - .single() - .onErrorResume(NoSuchElementException.class, t -> ExceptionUtils.illegalArgument("Stack %s does not exist", stack)); + .single() + .onErrorResume( + NoSuchElementException.class, + t -> ExceptionUtils.illegalArgument("Stack %s does not exist", stack)); } - private static Flux requestStack(CloudFoundryClient cloudFoundryClient, String stack) { - return PaginationUtils - .requestClientV2Resources(page -> cloudFoundryClient.stacks().list( - ListStacksRequest.builder() - .name(stack) - .page(page) - .build())); + private static Flux requestStack( + CloudFoundryClient cloudFoundryClient, String stack) { + return PaginationUtils.requestClientV2Resources( + page -> + cloudFoundryClient + .stacks() + .list(ListStacksRequest.builder().name(stack).page(page).build())); } private static Flux requestStacks(CloudFoundryClient cloudFoundryClient) { - return PaginationUtils - .requestClientV2Resources(page -> cloudFoundryClient.stacks().list( - ListStacksRequest.builder() - .page(page) - .build())); + return PaginationUtils.requestClientV2Resources( + page -> + cloudFoundryClient + .stacks() + .list(ListStacksRequest.builder().page(page).build())); } private Stack toStack(StackResource stackResource) { return Stack.builder() - .description(ResourceUtils.getEntity(stackResource).getDescription()) - .id(ResourceUtils.getId(stackResource)) - .name(ResourceUtils.getEntity(stackResource).getName()) - .build(); + .description(ResourceUtils.getEntity(stackResource).getDescription()) + .id(ResourceUtils.getId(stackResource)) + .name(ResourceUtils.getEntity(stackResource).getName()) + .build(); } - } diff --git a/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/stacks/Stacks.java b/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/stacks/Stacks.java index d7f273355b..3e798f0f62 100644 --- a/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/stacks/Stacks.java +++ b/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/stacks/Stacks.java @@ -38,5 +38,4 @@ public interface Stacks { * @return a list of {@link Stack}s */ Flux list(); - } diff --git a/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/useradmin/DefaultUserAdmin.java b/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/useradmin/DefaultUserAdmin.java index a544756fa4..ff4024413b 100644 --- a/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/useradmin/DefaultUserAdmin.java +++ b/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/useradmin/DefaultUserAdmin.java @@ -16,6 +16,11 @@ package org.cloudfoundry.operations.useradmin; +import static org.cloudfoundry.util.tuple.TupleUtils.function; +import static org.cloudfoundry.util.tuple.TupleUtils.predicate; + +import java.time.Duration; +import java.util.List; import org.cloudfoundry.client.CloudFoundryClient; import org.cloudfoundry.client.v2.ClientV2Exception; import org.cloudfoundry.client.v2.featureflags.GetFeatureFlagRequest; @@ -61,12 +66,6 @@ import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; -import java.time.Duration; -import java.util.List; - -import static org.cloudfoundry.util.tuple.TupleUtils.function; -import static org.cloudfoundry.util.tuple.TupleUtils.predicate; - public final class DefaultUserAdmin implements UserAdmin { private static final String SET_ROLES_BY_USERNAME_FEATURE_FLAG = "set_roles_by_username"; @@ -77,7 +76,8 @@ public final class DefaultUserAdmin implements UserAdmin { private final Mono uaaClient; - public DefaultUserAdmin(Mono cloudFoundryClient, Mono uaaClient) { + public DefaultUserAdmin( + Mono cloudFoundryClient, Mono uaaClient) { this.uaaClient = uaaClient; this.cloudFoundryClient = cloudFoundryClient; } @@ -85,222 +85,345 @@ public DefaultUserAdmin(Mono cloudFoundryClient, Mono create(CreateUserRequest request) { return Mono.zip(this.cloudFoundryClient, this.uaaClient) - .flatMap(function((cloudFoundryClient, uaaClient) -> Mono.zip( - Mono.just(cloudFoundryClient), - createUaaUserId(uaaClient, request)))) - .flatMap(function(DefaultUserAdmin::requestCreateUser)) - .then() - .transform(OperationsLogging.log("Create User")) - .checkpoint(); + .flatMap( + function( + (cloudFoundryClient, uaaClient) -> + Mono.zip( + Mono.just(cloudFoundryClient), + createUaaUserId(uaaClient, request)))) + .flatMap(function(DefaultUserAdmin::requestCreateUser)) + .then() + .transform(OperationsLogging.log("Create User")) + .checkpoint(); } @Override public Mono delete(DeleteUserRequest request) { return Mono.zip(this.cloudFoundryClient, this.uaaClient) - .flatMap(function((cloudFoundryClient, uaaClient) -> Mono.zip( - Mono.just(cloudFoundryClient), - Mono.just(uaaClient), - getUserId(uaaClient, request.getUsername())))) - .flatMap(function((cloudFoundryClient, uaaClient, userId) -> Mono.zip( - deleteUser(cloudFoundryClient, userId), - requestDeleteUaaUser(uaaClient, userId)))) - .then() - .transform(OperationsLogging.log("Delete User")) - .checkpoint(); + .flatMap( + function( + (cloudFoundryClient, uaaClient) -> + Mono.zip( + Mono.just(cloudFoundryClient), + Mono.just(uaaClient), + getUserId(uaaClient, request.getUsername())))) + .flatMap( + function( + (cloudFoundryClient, uaaClient, userId) -> + Mono.zip( + deleteUser(cloudFoundryClient, userId), + requestDeleteUaaUser(uaaClient, userId)))) + .then() + .transform(OperationsLogging.log("Delete User")) + .checkpoint(); } @Override public Mono listOrganizationUsers(ListOrganizationUsersRequest request) { return this.cloudFoundryClient - .flatMap(cloudFoundryClient -> Mono.zip( - Mono.just(cloudFoundryClient), - getOrganizationId(cloudFoundryClient, request.getOrganizationName()) - )) - .flatMap(function((cloudFoundryClient, organizationId) -> Mono.zip( - listOrganizationAuditorNames(cloudFoundryClient, organizationId), - listOrganizationBillingManagerNames(cloudFoundryClient, organizationId), - listOrganizationManagerNames(cloudFoundryClient, organizationId) - ))) - .flatMap(function(this::toOrganizationUsers)) - .transform(OperationsLogging.log("List Organization Users")) - .checkpoint(); + .flatMap( + cloudFoundryClient -> + Mono.zip( + Mono.just(cloudFoundryClient), + getOrganizationId( + cloudFoundryClient, request.getOrganizationName()))) + .flatMap( + function( + (cloudFoundryClient, organizationId) -> + Mono.zip( + listOrganizationAuditorNames( + cloudFoundryClient, organizationId), + listOrganizationBillingManagerNames( + cloudFoundryClient, organizationId), + listOrganizationManagerNames( + cloudFoundryClient, organizationId)))) + .flatMap(function(this::toOrganizationUsers)) + .transform(OperationsLogging.log("List Organization Users")) + .checkpoint(); } @Override public Mono listSpaceUsers(ListSpaceUsersRequest request) { return this.cloudFoundryClient - .flatMap(cloudFoundryClient -> Mono.zip( - Mono.just(cloudFoundryClient), - getOrganizationId(cloudFoundryClient, request.getOrganizationName()) - )) - .flatMap(function((cloudFoundryClient, organizationId) -> Mono.zip( - Mono.just(cloudFoundryClient), - getSpaceId(cloudFoundryClient, organizationId, request.getSpaceName())) - )) - .flatMap(function((cloudFoundryClient, spaceId) -> Mono.zip( - listSpaceAuditorNames(cloudFoundryClient, spaceId), - listSpaceDeveloperNames(cloudFoundryClient, spaceId), - listSpaceManagerNames(cloudFoundryClient, spaceId) - ))) - .flatMap(function(this::toSpaceUsers)) - .transform(OperationsLogging.log("List Space Users")) - .checkpoint(); + .flatMap( + cloudFoundryClient -> + Mono.zip( + Mono.just(cloudFoundryClient), + getOrganizationId( + cloudFoundryClient, request.getOrganizationName()))) + .flatMap( + function( + (cloudFoundryClient, organizationId) -> + Mono.zip( + Mono.just(cloudFoundryClient), + getSpaceId( + cloudFoundryClient, + organizationId, + request.getSpaceName())))) + .flatMap( + function( + (cloudFoundryClient, spaceId) -> + Mono.zip( + listSpaceAuditorNames(cloudFoundryClient, spaceId), + listSpaceDeveloperNames( + cloudFoundryClient, spaceId), + listSpaceManagerNames( + cloudFoundryClient, spaceId)))) + .flatMap(function(this::toSpaceUsers)) + .transform(OperationsLogging.log("List Space Users")) + .checkpoint(); } @Override public Mono setOrganizationRole(SetOrganizationRoleRequest request) { return this.cloudFoundryClient - .flatMap(cloudFoundryClient -> Mono.zip( - Mono.just(cloudFoundryClient), - getFeatureFlagEnabled(cloudFoundryClient, SET_ROLES_BY_USERNAME_FEATURE_FLAG) - )) - .filter(predicate((cloudFoundryClient, setRolesByUsernameEnabled) -> setRolesByUsernameEnabled)) - .switchIfEmpty(ExceptionUtils.illegalState("Setting roles by username is not enabled")) - .flatMap(function((cloudFoundryClient, ignore) -> Mono.zip( - Mono.just(cloudFoundryClient), - getOrganizationId(cloudFoundryClient, request.getOrganizationName())) - )) - .flatMap(function((cloudFoundryClient, organizationId) -> Mono.zip( - requestAssociateOrganizationUserByUsername(cloudFoundryClient, organizationId, request), - associateOrganizationRole(cloudFoundryClient, organizationId, request)) - )) - .transform(OperationsLogging.log("Set User Organization Role")) - .then(); + .flatMap( + cloudFoundryClient -> + Mono.zip( + Mono.just(cloudFoundryClient), + getFeatureFlagEnabled( + cloudFoundryClient, + SET_ROLES_BY_USERNAME_FEATURE_FLAG))) + .filter( + predicate( + (cloudFoundryClient, setRolesByUsernameEnabled) -> + setRolesByUsernameEnabled)) + .switchIfEmpty( + ExceptionUtils.illegalState("Setting roles by username is not enabled")) + .flatMap( + function( + (cloudFoundryClient, ignore) -> + Mono.zip( + Mono.just(cloudFoundryClient), + getOrganizationId( + cloudFoundryClient, + request.getOrganizationName())))) + .flatMap( + function( + (cloudFoundryClient, organizationId) -> + Mono.zip( + requestAssociateOrganizationUserByUsername( + cloudFoundryClient, + organizationId, + request), + associateOrganizationRole( + cloudFoundryClient, + organizationId, + request)))) + .transform(OperationsLogging.log("Set User Organization Role")) + .then(); } @Override public Mono setSpaceRole(SetSpaceRoleRequest request) { return this.cloudFoundryClient - .flatMap(cloudFoundryClient -> Mono.zip( - Mono.just(cloudFoundryClient), - getFeatureFlagEnabled(cloudFoundryClient, SET_ROLES_BY_USERNAME_FEATURE_FLAG) - )) - .filter(predicate((cloudFoundryClient, setRolesByUsernameEnabled) -> setRolesByUsernameEnabled)) - .switchIfEmpty(ExceptionUtils.illegalState("Setting roles by username is not enabled")) - .flatMap(function((cloudFoundryClient, ignore) -> Mono.zip( - Mono.just(cloudFoundryClient), - getOrganizationId(cloudFoundryClient, request.getOrganizationName())) - )) - .flatMap(function((cloudFoundryClient, organizationId) -> Mono.zip( - Mono.just(cloudFoundryClient), - Mono.just(organizationId), - getSpaceId(cloudFoundryClient, organizationId, request.getSpaceName()) - ))) - .flatMap(function((cloudFoundryClient, organizationId, spaceId) -> Mono.zip( - Mono.just(cloudFoundryClient), - Mono.just(spaceId), - associateOrganizationRole(cloudFoundryClient, request.getUsername(), organizationId)) - )) - .flatMap(function((cloudFoundryClient, spaceId, ignore) -> associateSpaceRole(cloudFoundryClient, request, spaceId))) - .transform(OperationsLogging.log("Set User Space Role")) - .then(); + .flatMap( + cloudFoundryClient -> + Mono.zip( + Mono.just(cloudFoundryClient), + getFeatureFlagEnabled( + cloudFoundryClient, + SET_ROLES_BY_USERNAME_FEATURE_FLAG))) + .filter( + predicate( + (cloudFoundryClient, setRolesByUsernameEnabled) -> + setRolesByUsernameEnabled)) + .switchIfEmpty( + ExceptionUtils.illegalState("Setting roles by username is not enabled")) + .flatMap( + function( + (cloudFoundryClient, ignore) -> + Mono.zip( + Mono.just(cloudFoundryClient), + getOrganizationId( + cloudFoundryClient, + request.getOrganizationName())))) + .flatMap( + function( + (cloudFoundryClient, organizationId) -> + Mono.zip( + Mono.just(cloudFoundryClient), + Mono.just(organizationId), + getSpaceId( + cloudFoundryClient, + organizationId, + request.getSpaceName())))) + .flatMap( + function( + (cloudFoundryClient, organizationId, spaceId) -> + Mono.zip( + Mono.just(cloudFoundryClient), + Mono.just(spaceId), + associateOrganizationRole( + cloudFoundryClient, + request.getUsername(), + organizationId)))) + .flatMap( + function( + (cloudFoundryClient, spaceId, ignore) -> + associateSpaceRole(cloudFoundryClient, request, spaceId))) + .transform(OperationsLogging.log("Set User Space Role")) + .then(); } @Override public Mono unsetOrganizationRole(UnsetOrganizationRoleRequest request) { return this.cloudFoundryClient - .flatMap(cloudFoundryClient -> Mono.zip( - Mono.just(cloudFoundryClient), - getFeatureFlagEnabled(cloudFoundryClient, UNSET_ROLES_BY_USERNAME_FEATURE_FLAG) - )) - .filter(predicate((cloudFoundryClient, setRolesByUsernameEnabled) -> setRolesByUsernameEnabled)) - .switchIfEmpty(ExceptionUtils.illegalState("Unsetting roles by username is not enabled")) - .flatMap(function((cloudFoundryClient, ignore) -> Mono.zip( - Mono.just(cloudFoundryClient), - getOrganizationId(cloudFoundryClient, request.getOrganizationName())) - )) - .flatMap(function((cloudFoundryClient, organizationId) -> removeOrganizationRole(cloudFoundryClient, organizationId, request))) - .transform(OperationsLogging.log("Unset User Organization Role")) - .then(); + .flatMap( + cloudFoundryClient -> + Mono.zip( + Mono.just(cloudFoundryClient), + getFeatureFlagEnabled( + cloudFoundryClient, + UNSET_ROLES_BY_USERNAME_FEATURE_FLAG))) + .filter( + predicate( + (cloudFoundryClient, setRolesByUsernameEnabled) -> + setRolesByUsernameEnabled)) + .switchIfEmpty( + ExceptionUtils.illegalState("Unsetting roles by username is not enabled")) + .flatMap( + function( + (cloudFoundryClient, ignore) -> + Mono.zip( + Mono.just(cloudFoundryClient), + getOrganizationId( + cloudFoundryClient, + request.getOrganizationName())))) + .flatMap( + function( + (cloudFoundryClient, organizationId) -> + removeOrganizationRole( + cloudFoundryClient, organizationId, request))) + .transform(OperationsLogging.log("Unset User Organization Role")) + .then(); } @Override public Mono unsetSpaceRole(UnsetSpaceRoleRequest request) { return this.cloudFoundryClient - .flatMap(cloudFoundryClient -> Mono.zip( - Mono.just(cloudFoundryClient), - getFeatureFlagEnabled(cloudFoundryClient, UNSET_ROLES_BY_USERNAME_FEATURE_FLAG) - )) - .filter(predicate((cloudFoundryClient, setRolesByUsernameEnabled) -> setRolesByUsernameEnabled)) - .switchIfEmpty(ExceptionUtils.illegalState("Unsetting roles by username is not enabled")) - .flatMap(function((cloudFoundryClient, ignore) -> Mono.zip( - Mono.just(cloudFoundryClient), - getOrganizationId(cloudFoundryClient, request.getOrganizationName())) - )) - .flatMap(function((cloudFoundryClient, organizationId) -> Mono.zip( - Mono.just(cloudFoundryClient), - getSpaceId(cloudFoundryClient, organizationId, request.getSpaceName()) - ))) - .flatMap(function((cloudFoundryClient, spaceId) -> removeSpaceRole(cloudFoundryClient, request, spaceId))) - .transform(OperationsLogging.log("Unset User Space Role")) - .then(); - } - - private static Mono associateOrganizationRole(CloudFoundryClient cloudFoundryClient, String organizationId, SetOrganizationRoleRequest request) { - if (OrganizationRole.AUDITOR == request.getOrganizationRole()) { - return cloudFoundryClient.organizations() - .associateAuditorByUsername(AssociateOrganizationAuditorByUsernameRequest.builder() - .organizationId(organizationId) - .username(request.getUsername()) - .build()) + .flatMap( + cloudFoundryClient -> + Mono.zip( + Mono.just(cloudFoundryClient), + getFeatureFlagEnabled( + cloudFoundryClient, + UNSET_ROLES_BY_USERNAME_FEATURE_FLAG))) + .filter( + predicate( + (cloudFoundryClient, setRolesByUsernameEnabled) -> + setRolesByUsernameEnabled)) + .switchIfEmpty( + ExceptionUtils.illegalState("Unsetting roles by username is not enabled")) + .flatMap( + function( + (cloudFoundryClient, ignore) -> + Mono.zip( + Mono.just(cloudFoundryClient), + getOrganizationId( + cloudFoundryClient, + request.getOrganizationName())))) + .flatMap( + function( + (cloudFoundryClient, organizationId) -> + Mono.zip( + Mono.just(cloudFoundryClient), + getSpaceId( + cloudFoundryClient, + organizationId, + request.getSpaceName())))) + .flatMap( + function( + (cloudFoundryClient, spaceId) -> + removeSpaceRole(cloudFoundryClient, request, spaceId))) + .transform(OperationsLogging.log("Unset User Space Role")) .then(); + } + + private static Mono associateOrganizationRole( + CloudFoundryClient cloudFoundryClient, + String organizationId, + SetOrganizationRoleRequest request) { + if (OrganizationRole.AUDITOR == request.getOrganizationRole()) { + return cloudFoundryClient + .organizations() + .associateAuditorByUsername( + AssociateOrganizationAuditorByUsernameRequest.builder() + .organizationId(organizationId) + .username(request.getUsername()) + .build()) + .then(); } if (OrganizationRole.BILLING_MANAGER == request.getOrganizationRole()) { - return cloudFoundryClient.organizations() - .associateBillingManagerByUsername(AssociateOrganizationBillingManagerByUsernameRequest.builder() - .organizationId(organizationId) - .username(request.getUsername()) - .build()) - .then(); + return cloudFoundryClient + .organizations() + .associateBillingManagerByUsername( + AssociateOrganizationBillingManagerByUsernameRequest.builder() + .organizationId(organizationId) + .username(request.getUsername()) + .build()) + .then(); } if (OrganizationRole.MANAGER == request.getOrganizationRole()) { - return cloudFoundryClient.organizations() - .associateManagerByUsername(AssociateOrganizationManagerByUsernameRequest.builder() - .organizationId(organizationId) - .username(request.getUsername()) - .build()) - .then(); + return cloudFoundryClient + .organizations() + .associateManagerByUsername( + AssociateOrganizationManagerByUsernameRequest.builder() + .organizationId(organizationId) + .username(request.getUsername()) + .build()) + .then(); } return ExceptionUtils.illegalArgument("Unknown organization role specified"); } - private static Mono associateOrganizationRole(CloudFoundryClient cloudFoundryClient, String username, String organizationId) { - return cloudFoundryClient.organizations() - .associateUserByUsername(AssociateOrganizationUserByUsernameRequest.builder() - .organizationId(organizationId) - .username(username) - .build()); + private static Mono associateOrganizationRole( + CloudFoundryClient cloudFoundryClient, String username, String organizationId) { + return cloudFoundryClient + .organizations() + .associateUserByUsername( + AssociateOrganizationUserByUsernameRequest.builder() + .organizationId(organizationId) + .username(username) + .build()); } - private static Mono associateSpaceRole(CloudFoundryClient cloudFoundryClient, SetSpaceRoleRequest request, String spaceId) { + private static Mono associateSpaceRole( + CloudFoundryClient cloudFoundryClient, SetSpaceRoleRequest request, String spaceId) { if (SpaceRole.AUDITOR == request.getSpaceRole()) { - return cloudFoundryClient.spaces() - .associateAuditorByUsername(AssociateSpaceAuditorByUsernameRequest.builder() - .spaceId(spaceId) - .username(request.getUsername()) - .build()) - .then(); + return cloudFoundryClient + .spaces() + .associateAuditorByUsername( + AssociateSpaceAuditorByUsernameRequest.builder() + .spaceId(spaceId) + .username(request.getUsername()) + .build()) + .then(); } if (SpaceRole.DEVELOPER == request.getSpaceRole()) { - return cloudFoundryClient.spaces() - .associateDeveloperByUsername(AssociateSpaceDeveloperByUsernameRequest.builder() - .spaceId(spaceId) - .username(request.getUsername()) - .build()) - .then(); + return cloudFoundryClient + .spaces() + .associateDeveloperByUsername( + AssociateSpaceDeveloperByUsernameRequest.builder() + .spaceId(spaceId) + .username(request.getUsername()) + .build()) + .then(); } if (SpaceRole.MANAGER == request.getSpaceRole()) { - return cloudFoundryClient.spaces() - .associateManagerByUsername(AssociateSpaceManagerByUsernameRequest.builder() - .spaceId(spaceId) - .username(request.getUsername()) - .build()) - .then(); + return cloudFoundryClient + .spaces() + .associateManagerByUsername( + AssociateSpaceManagerByUsernameRequest.builder() + .spaceId(spaceId) + .username(request.getUsername()) + .build()) + .then(); } return ExceptionUtils.illegalArgument("Unknown space role specified"); @@ -308,281 +431,388 @@ private static Mono associateSpaceRole(CloudFoundryClient cloudFoundryClie private static Mono createUaaUserId(UaaClient uaaClient, CreateUserRequest request) { return requestCreateUaaUser(uaaClient, request) - .map(CreateUserResponse::getId) - .onErrorResume(UaaException.class, t -> ExceptionUtils.illegalArgument("User %s already exists", request.getUsername())); + .map(CreateUserResponse::getId) + .onErrorResume( + UaaException.class, + t -> + ExceptionUtils.illegalArgument( + "User %s already exists", request.getUsername())); } private static Mono deleteUser(CloudFoundryClient cloudFoundryClient, String userId) { return requestDeleteUser(cloudFoundryClient, userId) - .onErrorResume(t -> t instanceof ClientV2Exception && ((ClientV2Exception) t).getStatusCode() == 404, t -> Mono.empty()) - .flatMap(job -> JobUtils.waitForCompletion(cloudFoundryClient, Duration.ofMinutes(5), job)); - } - - private static Mono getFeatureFlagEnabled(CloudFoundryClient cloudFoundryClient, String featureFlag) { + .onErrorResume( + t -> + t instanceof ClientV2Exception + && ((ClientV2Exception) t).getStatusCode() == 404, + t -> Mono.empty()) + .flatMap( + job -> + JobUtils.waitForCompletion( + cloudFoundryClient, Duration.ofMinutes(5), job)); + } + + private static Mono getFeatureFlagEnabled( + CloudFoundryClient cloudFoundryClient, String featureFlag) { return requestGetFeatureFlag(cloudFoundryClient, featureFlag) - .map(GetFeatureFlagResponse::getEnabled); + .map(GetFeatureFlagResponse::getEnabled); } - private static Mono getOrganizationId(CloudFoundryClient cloudFoundryClient, String organizationName) { + private static Mono getOrganizationId( + CloudFoundryClient cloudFoundryClient, String organizationName) { return requestListOrganizations(cloudFoundryClient, organizationName) - .singleOrEmpty() - .map(ResourceUtils::getId) - .switchIfEmpty(ExceptionUtils.illegalArgument("Organization %s not found", organizationName)); + .singleOrEmpty() + .map(ResourceUtils::getId) + .switchIfEmpty( + ExceptionUtils.illegalArgument( + "Organization %s not found", organizationName)); } - private static Mono getSpaceId(CloudFoundryClient cloudFoundryClient, String organizationId, String spaceName) { + private static Mono getSpaceId( + CloudFoundryClient cloudFoundryClient, String organizationId, String spaceName) { return requestListSpaces(cloudFoundryClient, organizationId, spaceName) - .singleOrEmpty() - .map(ResourceUtils::getId) - .switchIfEmpty(ExceptionUtils.illegalArgument("Space %s not found", spaceName)); + .singleOrEmpty() + .map(ResourceUtils::getId) + .switchIfEmpty(ExceptionUtils.illegalArgument("Space %s not found", spaceName)); } private static Mono getUserId(UaaClient uaaClient, String username) { - return PaginationUtils - .requestUaaResources(startIndex -> uaaClient.users() - .list(ListUsersRequest.builder() - .filter(String.format("userName eq \"%s\"", username)) - .startIndex(startIndex) - .build())) - .switchIfEmpty(ExceptionUtils.illegalArgument("User %s does not exist", username)) - .single() - .map(User::getId); - } - - private static Mono> listOrganizationAuditorNames(CloudFoundryClient cloudFoundryClient, String organizationId) { + return PaginationUtils.requestUaaResources( + startIndex -> + uaaClient + .users() + .list( + ListUsersRequest.builder() + .filter( + String.format( + "userName eq \"%s\"", + username)) + .startIndex(startIndex) + .build())) + .switchIfEmpty(ExceptionUtils.illegalArgument("User %s does not exist", username)) + .single() + .map(User::getId); + } + + private static Mono> listOrganizationAuditorNames( + CloudFoundryClient cloudFoundryClient, String organizationId) { return requestListOrganizationAuditors(cloudFoundryClient, organizationId) - .map(resource -> ResourceUtils.getEntity(resource).getUsername()) - .collectList(); + .map(resource -> ResourceUtils.getEntity(resource).getUsername()) + .collectList(); } - private static Mono> listOrganizationBillingManagerNames(CloudFoundryClient cloudFoundryClient, String organizationId) { + private static Mono> listOrganizationBillingManagerNames( + CloudFoundryClient cloudFoundryClient, String organizationId) { return requestListOrganizationBillingManagers(cloudFoundryClient, organizationId) - .map(resource -> ResourceUtils.getEntity(resource).getUsername()) - .collectList(); + .map(resource -> ResourceUtils.getEntity(resource).getUsername()) + .collectList(); } - private static Mono> listOrganizationManagerNames(CloudFoundryClient cloudFoundryClient, String organizationId) { + private static Mono> listOrganizationManagerNames( + CloudFoundryClient cloudFoundryClient, String organizationId) { return requestListOrganizationManagers(cloudFoundryClient, organizationId) - .map(resource -> ResourceUtils.getEntity(resource).getUsername()) - .collectList(); + .map(resource -> ResourceUtils.getEntity(resource).getUsername()) + .collectList(); } - private static Mono> listSpaceAuditorNames(CloudFoundryClient cloudFoundryClient, String spaceId) { + private static Mono> listSpaceAuditorNames( + CloudFoundryClient cloudFoundryClient, String spaceId) { return requestListSpaceAuditors(cloudFoundryClient, spaceId) - .filter(resource -> null != ResourceUtils.getEntity(resource).getUsername()) - .map(resource -> ResourceUtils.getEntity(resource).getUsername()) - .collectList(); + .filter(resource -> null != ResourceUtils.getEntity(resource).getUsername()) + .map(resource -> ResourceUtils.getEntity(resource).getUsername()) + .collectList(); } - private static Mono> listSpaceDeveloperNames(CloudFoundryClient cloudFoundryClient, String spaceId) { + private static Mono> listSpaceDeveloperNames( + CloudFoundryClient cloudFoundryClient, String spaceId) { return requestListSpaceDevelopers(cloudFoundryClient, spaceId) - .filter(resource -> null != ResourceUtils.getEntity(resource).getUsername()) - .map(resource -> ResourceUtils.getEntity(resource).getUsername()) - .collectList(); + .filter(resource -> null != ResourceUtils.getEntity(resource).getUsername()) + .map(resource -> ResourceUtils.getEntity(resource).getUsername()) + .collectList(); } - private static Mono> listSpaceManagerNames(CloudFoundryClient cloudFoundryClient, String spaceId) { + private static Mono> listSpaceManagerNames( + CloudFoundryClient cloudFoundryClient, String spaceId) { return requestListSpaceManagers(cloudFoundryClient, spaceId) - .filter(resource -> null != ResourceUtils.getEntity(resource).getUsername()) - .map(resource -> ResourceUtils.getEntity(resource).getUsername()) - .collectList(); + .filter(resource -> null != ResourceUtils.getEntity(resource).getUsername()) + .map(resource -> ResourceUtils.getEntity(resource).getUsername()) + .collectList(); } - private static Mono removeOrganizationRole(CloudFoundryClient cloudFoundryClient, String organizationId, UnsetOrganizationRoleRequest request) { + private static Mono removeOrganizationRole( + CloudFoundryClient cloudFoundryClient, + String organizationId, + UnsetOrganizationRoleRequest request) { if (OrganizationRole.AUDITOR == request.getOrganizationRole()) { - return cloudFoundryClient.organizations() - .removeAuditorByUsername(RemoveOrganizationAuditorByUsernameRequest.builder() - .organizationId(organizationId) - .username(request.getUsername()) - .build()) - .then(); + return cloudFoundryClient + .organizations() + .removeAuditorByUsername( + RemoveOrganizationAuditorByUsernameRequest.builder() + .organizationId(organizationId) + .username(request.getUsername()) + .build()) + .then(); } if (OrganizationRole.BILLING_MANAGER == request.getOrganizationRole()) { - return cloudFoundryClient.organizations() - .removeBillingManagerByUsername(RemoveOrganizationBillingManagerByUsernameRequest.builder() - .organizationId(organizationId) - .username(request.getUsername()) - .build()) - .then(); + return cloudFoundryClient + .organizations() + .removeBillingManagerByUsername( + RemoveOrganizationBillingManagerByUsernameRequest.builder() + .organizationId(organizationId) + .username(request.getUsername()) + .build()) + .then(); } if (OrganizationRole.MANAGER == request.getOrganizationRole()) { - return cloudFoundryClient.organizations() - .removeManagerByUsername(RemoveOrganizationManagerByUsernameRequest.builder() - .organizationId(organizationId) - .username(request.getUsername()) - .build()) - .then(); + return cloudFoundryClient + .organizations() + .removeManagerByUsername( + RemoveOrganizationManagerByUsernameRequest.builder() + .organizationId(organizationId) + .username(request.getUsername()) + .build()) + .then(); } return ExceptionUtils.illegalArgument("Unknown organization role specified"); } - private static Mono removeSpaceRole(CloudFoundryClient cloudFoundryClient, UnsetSpaceRoleRequest request, String spaceId) { + private static Mono removeSpaceRole( + CloudFoundryClient cloudFoundryClient, UnsetSpaceRoleRequest request, String spaceId) { if (SpaceRole.AUDITOR == request.getSpaceRole()) { - return cloudFoundryClient.spaces() - .removeAuditorByUsername(RemoveSpaceAuditorByUsernameRequest.builder() - .spaceId(spaceId) - .username(request.getUsername()) - .build()) - .then(); + return cloudFoundryClient + .spaces() + .removeAuditorByUsername( + RemoveSpaceAuditorByUsernameRequest.builder() + .spaceId(spaceId) + .username(request.getUsername()) + .build()) + .then(); } if (SpaceRole.DEVELOPER == request.getSpaceRole()) { - return cloudFoundryClient.spaces() - .removeDeveloperByUsername(RemoveSpaceDeveloperByUsernameRequest.builder() - .spaceId(spaceId) - .username(request.getUsername()) - .build()) - .then(); + return cloudFoundryClient + .spaces() + .removeDeveloperByUsername( + RemoveSpaceDeveloperByUsernameRequest.builder() + .spaceId(spaceId) + .username(request.getUsername()) + .build()) + .then(); } if (SpaceRole.MANAGER == request.getSpaceRole()) { - return cloudFoundryClient.spaces() - .removeManagerByUsername(RemoveSpaceManagerByUsernameRequest.builder() - .spaceId(spaceId) - .username(request.getUsername()) - .build()) - .then(); + return cloudFoundryClient + .spaces() + .removeManagerByUsername( + RemoveSpaceManagerByUsernameRequest.builder() + .spaceId(spaceId) + .username(request.getUsername()) + .build()) + .then(); } return ExceptionUtils.illegalArgument("Unknown space role specified"); } - private static Mono requestAssociateOrganizationUserByUsername(CloudFoundryClient cloudFoundryClient, String organizationId, - SetOrganizationRoleRequest request) { - return cloudFoundryClient.organizations() - .associateUserByUsername(AssociateOrganizationUserByUsernameRequest.builder() - .organizationId(organizationId) - .username(request.getUsername()) - .build()); - } - - private static Mono requestCreateUaaUser(UaaClient uaaClient, CreateUserRequest request) { - return uaaClient.users() - .create(org.cloudfoundry.uaa.users.CreateUserRequest.builder() - .email(Email.builder() - .primary(true) - .value(request.getUsername()) - .build()) - .name(Name.builder() - .familyName(request.getUsername()) - .givenName(request.getUsername()) - .build()) - .origin(request.getOrigin()) - .password(request.getPassword()) - .userName(request.getUsername()) - .build()); - } - - private static Mono requestCreateUser(CloudFoundryClient cloudFoundryClient, String userId) { - return cloudFoundryClient.users() - .create(org.cloudfoundry.client.v2.users.CreateUserRequest.builder() - .uaaId(userId) - .build()); - } - - private static Mono requestDeleteUaaUser(UaaClient uaaClient, String userId) { - return uaaClient.users().delete(org.cloudfoundry.uaa.users.DeleteUserRequest.builder() - .userId(userId) - .build()); - } - - private static Mono requestDeleteUser(CloudFoundryClient cloudFoundryClient, String userId) { - return cloudFoundryClient.users() - .delete(org.cloudfoundry.client.v2.users.DeleteUserRequest.builder() - .async(true) - .userId(userId) - .build()); + private static Mono + requestAssociateOrganizationUserByUsername( + CloudFoundryClient cloudFoundryClient, + String organizationId, + SetOrganizationRoleRequest request) { + return cloudFoundryClient + .organizations() + .associateUserByUsername( + AssociateOrganizationUserByUsernameRequest.builder() + .organizationId(organizationId) + .username(request.getUsername()) + .build()); + } + + private static Mono requestCreateUaaUser( + UaaClient uaaClient, CreateUserRequest request) { + return uaaClient + .users() + .create( + org.cloudfoundry.uaa.users.CreateUserRequest.builder() + .email( + Email.builder() + .primary(true) + .value(request.getUsername()) + .build()) + .name( + Name.builder() + .familyName(request.getUsername()) + .givenName(request.getUsername()) + .build()) + .origin(request.getOrigin()) + .password(request.getPassword()) + .userName(request.getUsername()) + .build()); + } + + private static Mono requestCreateUser( + CloudFoundryClient cloudFoundryClient, String userId) { + return cloudFoundryClient + .users() + .create( + org.cloudfoundry.client.v2.users.CreateUserRequest.builder() + .uaaId(userId) + .build()); + } + + private static Mono requestDeleteUaaUser( + UaaClient uaaClient, String userId) { + return uaaClient + .users() + .delete( + org.cloudfoundry.uaa.users.DeleteUserRequest.builder() + .userId(userId) + .build()); + } + + private static Mono requestDeleteUser( + CloudFoundryClient cloudFoundryClient, String userId) { + return cloudFoundryClient + .users() + .delete( + org.cloudfoundry.client.v2.users.DeleteUserRequest.builder() + .async(true) + .userId(userId) + .build()); + } + + private static Mono requestGetFeatureFlag( + CloudFoundryClient cloudFoundryClient, String featureFlag) { + return cloudFoundryClient + .featureFlags() + .get(GetFeatureFlagRequest.builder().name(featureFlag).build()); + } + + private static Flux requestListOrganizationAuditors( + CloudFoundryClient cloudFoundryClient, String organizationId) { + return PaginationUtils.requestClientV2Resources( + page -> + cloudFoundryClient + .organizations() + .listAuditors( + ListOrganizationAuditorsRequest.builder() + .organizationId(organizationId) + .page(page) + .build())); + } + + private static Flux requestListOrganizationBillingManagers( + CloudFoundryClient cloudFoundryClient, String organizationId) { + return PaginationUtils.requestClientV2Resources( + page -> + cloudFoundryClient + .organizations() + .listBillingManagers( + ListOrganizationBillingManagersRequest.builder() + .organizationId(organizationId) + .page(page) + .build())); + } + + private static Flux requestListOrganizationManagers( + CloudFoundryClient cloudFoundryClient, String organizationId) { + return PaginationUtils.requestClientV2Resources( + page -> + cloudFoundryClient + .organizations() + .listManagers( + ListOrganizationManagersRequest.builder() + .organizationId(organizationId) + .page(page) + .build())); + } + + private static Flux requestListOrganizations( + CloudFoundryClient cloudFoundryClient, String organizationName) { + return PaginationUtils.requestClientV2Resources( + page -> + cloudFoundryClient + .organizations() + .list( + ListOrganizationsRequest.builder() + .name(organizationName) + .page(page) + .build())); + } + + private static Flux requestListSpaceAuditors( + CloudFoundryClient cloudFoundryClient, String spaceId) { + return PaginationUtils.requestClientV2Resources( + page -> + cloudFoundryClient + .spaces() + .listAuditors( + ListSpaceAuditorsRequest.builder() + .page(page) + .spaceId(spaceId) + .build())); + } + + private static Flux requestListSpaceDevelopers( + CloudFoundryClient cloudFoundryClient, String spaceId) { + return PaginationUtils.requestClientV2Resources( + page -> + cloudFoundryClient + .spaces() + .listDevelopers( + ListSpaceDevelopersRequest.builder() + .page(page) + .spaceId(spaceId) + .build())); + } + + private static Flux requestListSpaceManagers( + CloudFoundryClient cloudFoundryClient, String spaceId) { + return PaginationUtils.requestClientV2Resources( + page -> + cloudFoundryClient + .spaces() + .listManagers( + ListSpaceManagersRequest.builder() + .page(page) + .spaceId(spaceId) + .build())); + } + + private static Flux requestListSpaces( + CloudFoundryClient cloudFoundryClient, String organizationId, String spaceName) { + return PaginationUtils.requestClientV2Resources( + page -> + cloudFoundryClient + .organizations() + .listSpaces( + ListOrganizationSpacesRequest.builder() + .organizationId(organizationId) + .name(spaceName) + .page(page) + .build())); + } + + private Mono toOrganizationUsers( + List auditors, List billingManagers, List managers) { + return Mono.just( + OrganizationUsers.builder() + .addAllAuditors(auditors) + .addAllBillingManagers(billingManagers) + .addAllManagers(managers) + .build()); + } + + private Mono toSpaceUsers( + List auditors, List developers, List managers) { + return Mono.just( + SpaceUsers.builder() + .addAllAuditors(auditors) + .addAllDevelopers(developers) + .addAllManagers(managers) + .build()); } - - private static Mono requestGetFeatureFlag(CloudFoundryClient cloudFoundryClient, String featureFlag) { - return cloudFoundryClient.featureFlags() - .get(GetFeatureFlagRequest.builder() - .name(featureFlag) - .build()); - } - - private static Flux requestListOrganizationAuditors(CloudFoundryClient cloudFoundryClient, String organizationId) { - return PaginationUtils.requestClientV2Resources(page -> cloudFoundryClient.organizations() - .listAuditors(ListOrganizationAuditorsRequest.builder() - .organizationId(organizationId) - .page(page) - .build())); - } - - private static Flux requestListOrganizationBillingManagers(CloudFoundryClient cloudFoundryClient, String organizationId) { - return PaginationUtils.requestClientV2Resources(page -> cloudFoundryClient.organizations() - .listBillingManagers(ListOrganizationBillingManagersRequest.builder() - .organizationId(organizationId) - .page(page) - .build())); - } - - private static Flux requestListOrganizationManagers(CloudFoundryClient cloudFoundryClient, String organizationId) { - return PaginationUtils.requestClientV2Resources(page -> cloudFoundryClient.organizations() - .listManagers(ListOrganizationManagersRequest.builder() - .organizationId(organizationId) - .page(page) - .build())); - } - - private static Flux requestListOrganizations(CloudFoundryClient cloudFoundryClient, String organizationName) { - return PaginationUtils.requestClientV2Resources(page -> cloudFoundryClient.organizations() - .list(ListOrganizationsRequest.builder() - .name(organizationName) - .page(page) - .build())); - } - - private static Flux requestListSpaceAuditors(CloudFoundryClient cloudFoundryClient, String spaceId) { - return PaginationUtils.requestClientV2Resources(page -> cloudFoundryClient.spaces() - .listAuditors(ListSpaceAuditorsRequest.builder() - .page(page) - .spaceId(spaceId) - .build())); - } - - private static Flux requestListSpaceDevelopers(CloudFoundryClient cloudFoundryClient, String spaceId) { - return PaginationUtils.requestClientV2Resources(page -> cloudFoundryClient.spaces() - .listDevelopers(ListSpaceDevelopersRequest.builder() - .page(page) - .spaceId(spaceId) - .build())); - } - - private static Flux requestListSpaceManagers(CloudFoundryClient cloudFoundryClient, String spaceId) { - return PaginationUtils.requestClientV2Resources(page -> cloudFoundryClient.spaces() - .listManagers(ListSpaceManagersRequest.builder() - .page(page) - .spaceId(spaceId) - .build())); - } - - private static Flux requestListSpaces(CloudFoundryClient cloudFoundryClient, String organizationId, String spaceName) { - return PaginationUtils.requestClientV2Resources(page -> cloudFoundryClient.organizations() - .listSpaces(ListOrganizationSpacesRequest.builder() - .organizationId(organizationId) - .name(spaceName) - .page(page) - .build())); - } - - private Mono toOrganizationUsers(List auditors, List billingManagers, List managers) { - return Mono.just(OrganizationUsers.builder() - .addAllAuditors(auditors) - .addAllBillingManagers(billingManagers) - .addAllManagers(managers) - .build()); - } - - private Mono toSpaceUsers(List auditors, List developers, List managers) { - return Mono.just(SpaceUsers.builder() - .addAllAuditors(auditors) - .addAllDevelopers(developers) - .addAllManagers(managers) - .build()); - } - } diff --git a/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/useradmin/OrganizationRole.java b/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/useradmin/OrganizationRole.java index 7049ad929d..f5ec0a1b47 100644 --- a/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/useradmin/OrganizationRole.java +++ b/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/useradmin/OrganizationRole.java @@ -35,5 +35,4 @@ public enum OrganizationRole { * User is a Manager for the organization */ MANAGER - } diff --git a/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/useradmin/SpaceRole.java b/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/useradmin/SpaceRole.java index eafd647eba..d6e10af7e0 100644 --- a/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/useradmin/SpaceRole.java +++ b/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/useradmin/SpaceRole.java @@ -35,5 +35,4 @@ public enum SpaceRole { * User is a Manager for the space */ MANAGER - } diff --git a/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/useradmin/UserAdmin.java b/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/useradmin/UserAdmin.java index 070f91602b..89cac0016c 100644 --- a/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/useradmin/UserAdmin.java +++ b/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/useradmin/UserAdmin.java @@ -86,5 +86,4 @@ public interface UserAdmin { * @return completion indicator */ Mono unsetSpaceRole(UnsetSpaceRoleRequest request); - } diff --git a/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/util/OperationsLogging.java b/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/util/OperationsLogging.java index 526c2d85e9..2c7a167515 100644 --- a/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/util/OperationsLogging.java +++ b/cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/util/OperationsLogging.java @@ -16,6 +16,9 @@ package org.cloudfoundry.operations.util; +import java.util.concurrent.atomic.AtomicLong; +import java.util.function.Consumer; +import java.util.function.Function; import org.cloudfoundry.util.TimeUtils; import org.reactivestreams.Publisher; import org.reactivestreams.Subscription; @@ -25,16 +28,11 @@ import reactor.core.publisher.Mono; import reactor.core.publisher.SignalType; -import java.util.concurrent.atomic.AtomicLong; -import java.util.function.Consumer; -import java.util.function.Function; - public final class OperationsLogging { private static final Logger LOGGER = LoggerFactory.getLogger("cloudfoundry-client.operations"); - private OperationsLogging() { - } + private OperationsLogging() {} @SuppressWarnings("unchecked") public static , U> Function log(String message) { @@ -44,30 +42,28 @@ public static , U> Function log(String message) { AtomicLong startTimeHolder = new AtomicLong(); - Consumer start = subscription -> { - startTimeHolder.set(System.currentTimeMillis()); - LOGGER.debug("START {}", message); - }; + Consumer start = + subscription -> { + startTimeHolder.set(System.currentTimeMillis()); + LOGGER.debug("START {}", message); + }; - Consumer finish = signalType -> { - String elapsed = TimeUtils.asTime(System.currentTimeMillis() - startTimeHolder.get()); - LOGGER.debug("FINISH {} ({}/{})", message, signalType, elapsed); - }; + Consumer finish = + signalType -> { + String elapsed = + TimeUtils.asTime(System.currentTimeMillis() - startTimeHolder.get()); + LOGGER.debug("FINISH {} ({}/{})", message, signalType, elapsed); + }; return f -> { if (f instanceof Mono) { - return (T) ((Mono) f) - .doOnSubscribe(start) - .doFinally(finish); + return (T) ((Mono) f).doOnSubscribe(start).doFinally(finish); } if (f instanceof Flux) { - return (T) ((Flux) f) - .doOnSubscribe(start) - .doFinally(finish); + return (T) ((Flux) f).doOnSubscribe(start).doFinally(finish); } else { return f; } }; } - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/AbstractOperationsTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/AbstractOperationsTest.java index 4efb6e4b9d..bdfd87e949 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/AbstractOperationsTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/AbstractOperationsTest.java @@ -16,6 +16,10 @@ package org.cloudfoundry.operations; +import static org.mockito.Mockito.RETURNS_SMART_NULLS; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; + import org.cloudfoundry.client.CloudFoundryClient; import org.cloudfoundry.client.v2.applications.ApplicationsV2; import org.cloudfoundry.client.v2.buildpacks.Buildpacks; @@ -52,19 +56,19 @@ import org.junit.Before; import reactor.core.publisher.Mono; -import static org.mockito.Mockito.RETURNS_SMART_NULLS; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.when; - public abstract class AbstractOperationsTest { - protected static final Mono MISSING_ID = Mono.error(new java.lang.IllegalStateException("MISSING_ID")); + protected static final Mono MISSING_ID = + Mono.error(new java.lang.IllegalStateException("MISSING_ID")); - protected static final Mono MISSING_ORGANIZATION_ID = Mono.error(new java.lang.IllegalStateException("MISSING_ORGANIZATION_ID")); + protected static final Mono MISSING_ORGANIZATION_ID = + Mono.error(new java.lang.IllegalStateException("MISSING_ORGANIZATION_ID")); - protected static final Mono MISSING_SPACE_ID = Mono.error(new java.lang.IllegalStateException("MISSING_SPACE_ID")); + protected static final Mono MISSING_SPACE_ID = + Mono.error(new java.lang.IllegalStateException("MISSING_SPACE_ID")); - protected static final Mono MISSING_USERNAME = Mono.error(new java.lang.IllegalStateException("MISSING_USERNAME")); + protected static final Mono MISSING_USERNAME = + Mono.error(new java.lang.IllegalStateException("MISSING_USERNAME")); protected static final String TEST_ORGANIZATION_ID = "test-organization-id"; @@ -84,7 +88,8 @@ public abstract class AbstractOperationsTest { protected final Buildpacks buildpacks = mock(Buildpacks.class, RETURNS_SMART_NULLS); - protected final CloudFoundryClient cloudFoundryClient = mock(CloudFoundryClient.class, RETURNS_SMART_NULLS); + protected final CloudFoundryClient cloudFoundryClient = + mock(CloudFoundryClient.class, RETURNS_SMART_NULLS); protected final Domains domains = mock(Domains.class, RETURNS_SMART_NULLS); @@ -96,7 +101,8 @@ public abstract class AbstractOperationsTest { protected final Jobs jobs = mock(Jobs.class, RETURNS_SMART_NULLS); - protected final OrganizationQuotaDefinitions organizationQuotaDefinitions = mock(OrganizationQuotaDefinitions.class, RETURNS_SMART_NULLS); + protected final OrganizationQuotaDefinitions organizationQuotaDefinitions = + mock(OrganizationQuotaDefinitions.class, RETURNS_SMART_NULLS); protected final Organizations organizations = mock(Organizations.class, RETURNS_SMART_NULLS); @@ -110,15 +116,18 @@ public abstract class AbstractOperationsTest { protected final RoutingClient routingClient = mock(RoutingClient.class, RETURNS_SMART_NULLS); - protected final ServiceBindingsV2 serviceBindingsV2 = mock(ServiceBindingsV2.class, RETURNS_SMART_NULLS); + protected final ServiceBindingsV2 serviceBindingsV2 = + mock(ServiceBindingsV2.class, RETURNS_SMART_NULLS); protected final ServiceBrokers serviceBrokers = mock(ServiceBrokers.class, RETURNS_SMART_NULLS); - protected final ServiceInstances serviceInstances = mock(ServiceInstances.class, RETURNS_SMART_NULLS); + protected final ServiceInstances serviceInstances = + mock(ServiceInstances.class, RETURNS_SMART_NULLS); protected final ServiceKeys serviceKeys = mock(ServiceKeys.class, RETURNS_SMART_NULLS); - protected final ServicePlanVisibilities servicePlanVisibilities = mock(ServicePlanVisibilities.class, RETURNS_SMART_NULLS); + protected final ServicePlanVisibilities servicePlanVisibilities = + mock(ServicePlanVisibilities.class, RETURNS_SMART_NULLS); protected final ServicePlans servicePlans = mock(ServicePlans.class, RETURNS_SMART_NULLS); @@ -126,7 +135,8 @@ public abstract class AbstractOperationsTest { protected final SharedDomains sharedDomains = mock(SharedDomains.class, RETURNS_SMART_NULLS); - protected final SpaceQuotaDefinitions spaceQuotaDefinitions = mock(SpaceQuotaDefinitions.class, RETURNS_SMART_NULLS); + protected final SpaceQuotaDefinitions spaceQuotaDefinitions = + mock(SpaceQuotaDefinitions.class, RETURNS_SMART_NULLS); protected final Spaces spaces = mock(Spaces.class, RETURNS_SMART_NULLS); @@ -138,9 +148,11 @@ public abstract class AbstractOperationsTest { protected final UaaClient uaaClient = mock(UaaClient.class, RETURNS_SMART_NULLS); - protected final org.cloudfoundry.uaa.users.Users uaaUsers = mock(org.cloudfoundry.uaa.users.Users.class, RETURNS_SMART_NULLS); + protected final org.cloudfoundry.uaa.users.Users uaaUsers = + mock(org.cloudfoundry.uaa.users.Users.class, RETURNS_SMART_NULLS); - protected final UserProvidedServiceInstances userProvidedServiceInstances = mock(UserProvidedServiceInstances.class, RETURNS_SMART_NULLS); + protected final UserProvidedServiceInstances userProvidedServiceInstances = + mock(UserProvidedServiceInstances.class, RETURNS_SMART_NULLS); protected final Users users = mock(Users.class, RETURNS_SMART_NULLS); @@ -154,7 +166,8 @@ public final void mockClient() { when(this.cloudFoundryClient.featureFlags()).thenReturn(this.featureFlags); when(this.cloudFoundryClient.jobs()).thenReturn(this.jobs); when(this.cloudFoundryClient.organizations()).thenReturn(this.organizations); - when(this.cloudFoundryClient.organizationQuotaDefinitions()).thenReturn(this.organizationQuotaDefinitions); + when(this.cloudFoundryClient.organizationQuotaDefinitions()) + .thenReturn(this.organizationQuotaDefinitions); when(this.cloudFoundryClient.privateDomains()).thenReturn(this.privateDomains); when(this.cloudFoundryClient.resourceMatch()).thenReturn(this.resourceMatch); when(this.cloudFoundryClient.routes()).thenReturn(this.routes); @@ -163,14 +176,17 @@ public final void mockClient() { when(this.cloudFoundryClient.serviceInstances()).thenReturn(this.serviceInstances); when(this.cloudFoundryClient.serviceKeys()).thenReturn(this.serviceKeys); when(this.cloudFoundryClient.servicePlans()).thenReturn(this.servicePlans); - when(this.cloudFoundryClient.servicePlanVisibilities()).thenReturn(this.servicePlanVisibilities); + when(this.cloudFoundryClient.servicePlanVisibilities()) + .thenReturn(this.servicePlanVisibilities); when(this.cloudFoundryClient.services()).thenReturn(this.services); when(this.cloudFoundryClient.sharedDomains()).thenReturn(this.sharedDomains); - when(this.cloudFoundryClient.spaceQuotaDefinitions()).thenReturn(this.spaceQuotaDefinitions); + when(this.cloudFoundryClient.spaceQuotaDefinitions()) + .thenReturn(this.spaceQuotaDefinitions); when(this.cloudFoundryClient.spaces()).thenReturn(this.spaces); when(this.cloudFoundryClient.stacks()).thenReturn(this.stacks); when(this.cloudFoundryClient.tasks()).thenReturn(this.tasks); - when(this.cloudFoundryClient.userProvidedServiceInstances()).thenReturn(this.userProvidedServiceInstances); + when(this.cloudFoundryClient.userProvidedServiceInstances()) + .thenReturn(this.userProvidedServiceInstances); when(this.cloudFoundryClient.users()).thenReturn(this.users); when(this.routingClient.routerGroups()).thenReturn(this.routerGroups); @@ -179,5 +195,4 @@ public final void mockClient() { when(this.uaaClient.tokens()).thenReturn(this.tokens); when(this.uaaClient.users()).thenReturn(this.uaaUsers); } - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/DefaultCloudFoundryOperationsTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/DefaultCloudFoundryOperationsTest.java index fb4e703e87..580e2111c7 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/DefaultCloudFoundryOperationsTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/DefaultCloudFoundryOperationsTest.java @@ -16,19 +16,20 @@ package org.cloudfoundry.operations; -import org.junit.Test; - import static org.assertj.core.api.Assertions.assertThat; +import org.junit.Test; + public final class DefaultCloudFoundryOperationsTest extends AbstractOperationsTest { - private final DefaultCloudFoundryOperations operations = DefaultCloudFoundryOperations.builder() - .cloudFoundryClient(this.cloudFoundryClient) - .dopplerClient(this.dopplerClient) - .organization(TEST_ORGANIZATION_NAME) - .space(TEST_SPACE_NAME) - .uaaClient(this.uaaClient) - .build(); + private final DefaultCloudFoundryOperations operations = + DefaultCloudFoundryOperations.builder() + .cloudFoundryClient(this.cloudFoundryClient) + .dopplerClient(this.dopplerClient) + .organization(TEST_ORGANIZATION_NAME) + .space(TEST_SPACE_NAME) + .uaaClient(this.uaaClient) + .build(); @Test public void advanced() { @@ -99,5 +100,4 @@ public void stacks() { public void userAdmin() { assertThat(this.operations.userAdmin()).isNotNull(); } - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/TestObjects.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/TestObjects.java index a840420d48..119b62fabb 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/TestObjects.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/TestObjects.java @@ -16,7 +16,7 @@ package org.cloudfoundry.operations; -import org.springframework.util.ReflectionUtils; +import static org.assertj.core.api.Assertions.assertThat; import java.lang.reflect.Array; import java.lang.reflect.Method; @@ -32,8 +32,7 @@ import java.util.Set; import java.util.function.Predicate; import java.util.stream.Collectors; - -import static org.assertj.core.api.Assertions.assertThat; +import org.springframework.util.ReflectionUtils; /** * {@code TestObjects} provides a generic utility which transforms a builder object of type {@code T}, by calling its configuration methods with default values. @@ -99,15 +98,21 @@ private static boolean buildsRequestType(Class builderType) { private static T fill(T builder, Optional modifier) { Class builderType = builder.getClass(); - assertThat(isBuilderType(builderType)).as("Cannot fill type %s", builderType.getName()).isTrue(); + assertThat(isBuilderType(builderType)) + .as("Cannot fill type %s", builderType.getName()) + .isTrue(); assertThat(buildsRequestType(builderType)).as("Do not fill Request types").isFalse(); List builderMethods = getMethods(builderType); Set builtGetters = getBuiltGetters(builderType); return getConfigurationMethods(builderType, builderMethods, builtGetters).stream() - .collect(() -> builder, (b, method) -> ReflectionUtils.invokeMethod(method, b, getConfiguredValue(method, modifier)), (a, b) -> { - }); + .collect( + () -> builder, + (b, method) -> + ReflectionUtils.invokeMethod( + method, b, getConfiguredValue(method, modifier)), + (a, b) -> {}); } private static Method getBuildMethod(Class builderType) { @@ -121,22 +126,23 @@ private static Method getBuilderMethod(Class builderType) { private static Set getBuiltGetters(Class builderType) { Class builtType = getBuiltType(builderType); return Arrays.stream(ReflectionUtils.getUniqueDeclaredMethods(builtType)) - .map(Method::getName) - .filter(s -> s.startsWith("get")) - .collect(Collectors.toSet()); + .map(Method::getName) + .filter(s -> s.startsWith("get")) + .collect(Collectors.toSet()); } private static Class getBuiltType(Class builderType) { return getBuildMethod(builderType).getReturnType(); } - private static List getConfigurationMethods(Class builderType, List builderMethods, Set builtGetters) { + private static List getConfigurationMethods( + Class builderType, List builderMethods, Set builtGetters) { return builderMethods.stream() - .filter(TestObjects::isPublic) - .filter(returnsThisType(builderType)) - .filter(TestObjects::hasSingleParameter) - .filter(method -> hasMatchingGetter(method, builtGetters)) - .collect(Collectors.toList()); + .filter(TestObjects::isPublic) + .filter(returnsThisType(builderType)) + .filter(TestObjects::hasSingleParameter) + .filter(method -> hasMatchingGetter(method, builtGetters)) + .collect(Collectors.toList()); } private static Object getConfiguredBuilder(Class parameterType, Optional modifier) { @@ -151,13 +157,13 @@ private static Object getConfiguredEnum(Class parameterType) { } private static String getConfiguredString(Method method, Optional modifier) { - return modifier - .map(m -> String.format("test-%s%s", m, method.getName())) - .orElse(String.format("test-%s", method.getName())); + return modifier.map(m -> String.format("test-%s%s", m, method.getName())) + .orElse(String.format("test-%s", method.getName())); } @SuppressWarnings("unchecked") - private static Object getConfiguredValue(Method configurationMethod, Optional modifier) { + private static Object getConfiguredValue( + Method configurationMethod, Optional modifier) { Class parameterType = getParameter(configurationMethod).getType(); if (isBuiltType(parameterType)) { @@ -185,7 +191,8 @@ private static Object getConfiguredValue(Method configurationMethod, Optional builtGetters) { String propertyName = method.getName(); - String candidate = String.format("get%s%s", propertyName.substring(0, 1).toUpperCase(), propertyName.substring(1)); + String candidate = + String.format( + "get%s%s", + propertyName.substring(0, 1).toUpperCase(), propertyName.substring(1)); return builtGetters.contains(candidate); } @@ -209,20 +219,20 @@ private static boolean hasSingleParameter(Method method) { private static boolean isBuilderType(Class aType) { return Optional.ofNullable(getBuildMethod(aType)) - .map(Method::getReturnType) - .map(TestObjects::getBuilderMethod) - .map(Method::getReturnType) - .map(aType::equals) - .orElse(false); + .map(Method::getReturnType) + .map(TestObjects::getBuilderMethod) + .map(Method::getReturnType) + .map(aType::equals) + .orElse(false); } private static boolean isBuiltType(Class aType) { return Optional.ofNullable(getBuilderMethod(aType)) - .map(Method::getReturnType) - .map(TestObjects::getBuildMethod) - .map(Method::getReturnType) - .map(aType::equals) - .orElse(false); + .map(Method::getReturnType) + .map(TestObjects::getBuildMethod) + .map(Method::getReturnType) + .map(aType::equals) + .orElse(false); } private static boolean isPublic(Method method) { @@ -232,5 +242,4 @@ private static boolean isPublic(Method method) { private static Predicate returnsThisType(Class aType) { return method -> aType == method.getReturnType(); } - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/advanced/DefaultAdvancedTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/advanced/DefaultAdvancedTest.java index 6b6e4dfc7b..9e4099a837 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/advanced/DefaultAdvancedTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/advanced/DefaultAdvancedTest.java @@ -16,6 +16,9 @@ package org.cloudfoundry.operations.advanced; +import static org.mockito.Mockito.when; + +import java.time.Duration; import org.cloudfoundry.operations.AbstractOperationsTest; import org.cloudfoundry.uaa.UaaClient; import org.cloudfoundry.uaa.authorizations.AuthorizeByAuthorizationCodeGrantApiRequest; @@ -23,10 +26,6 @@ import reactor.core.publisher.Mono; import reactor.test.StepVerifier; -import java.time.Duration; - -import static org.mockito.Mockito.when; - public final class DefaultAdvancedTest extends AbstractOperationsTest { private final DefaultAdvanced advanced = new DefaultAdvanced(Mono.just(this.uaaClient)); @@ -36,19 +35,20 @@ public void sshCode() { requestAuthorizeByAuthorizationCodeGrantApi(this.uaaClient); this.advanced - .sshCode() - .as(StepVerifier::create) - .expectNext("test-code") - .expectComplete() - .verify(Duration.ofSeconds(5)); + .sshCode() + .as(StepVerifier::create) + .expectNext("test-code") + .expectComplete() + .verify(Duration.ofSeconds(5)); } private static void requestAuthorizeByAuthorizationCodeGrantApi(UaaClient uaaClient) { - when(uaaClient.authorizations() - .authorizationCodeGrantApi(AuthorizeByAuthorizationCodeGrantApiRequest.builder() - .clientId("ssh-proxy") - .build())) - .thenReturn(Mono.just("test-code")); + when(uaaClient + .authorizations() + .authorizationCodeGrantApi( + AuthorizeByAuthorizationCodeGrantApiRequest.builder() + .clientId("ssh-proxy") + .build())) + .thenReturn(Mono.just("test-code")); } - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/ApplicationManifestTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/ApplicationManifestTest.java index d24b26befe..5ce77924cd 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/ApplicationManifestTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/ApplicationManifestTest.java @@ -16,83 +16,70 @@ package org.cloudfoundry.operations.applications; -import org.junit.Test; - import java.nio.file.Paths; +import org.junit.Test; public final class ApplicationManifestTest { @Test(expected = IllegalStateException.class) public void dockerAndBuildpack() { ApplicationManifest.builder() - .name("test-name") - .buildpack("test-buildpack") - .docker(Docker.builder() - .image("test-docker-image") - .build()) - .build(); + .name("test-name") + .buildpack("test-buildpack") + .docker(Docker.builder().image("test-docker-image").build()) + .build(); } @Test(expected = IllegalStateException.class) public void dockerAndPath() { ApplicationManifest.builder() - .name("test-name") - .docker(Docker.builder() - .image("test-docker-image") - .build()) - .path(Paths.get("test-application")) - .build(); + .name("test-name") + .docker(Docker.builder().image("test-docker-image").build()) + .path(Paths.get("test-application")) + .build(); } @Test(expected = IllegalStateException.class) public void dockerCredentialsNoImage() { ApplicationManifest.builder() - .name("test-name") - .docker(Docker.builder() - .password("test-password") - .username("test-username") - .build()) - .build(); + .name("test-name") + .docker( + Docker.builder() + .password("test-password") + .username("test-username") + .build()) + .build(); } @Test(expected = IllegalStateException.class) public void routesAndDomains() { ApplicationManifest.builder() - .name("test-name") - .route(Route.builder() - .route("test-route") - .build()) - .domain("test-domain") - .build(); + .name("test-name") + .route(Route.builder().route("test-route").build()) + .domain("test-domain") + .build(); } @Test(expected = IllegalStateException.class) public void routesAndHosts() { ApplicationManifest.builder() - .name("test-name") - .route(Route.builder() - .route("test-route") - .build()) - .host("test-host") - .build(); + .name("test-name") + .route(Route.builder().route("test-route").build()) + .host("test-host") + .build(); } @Test(expected = IllegalStateException.class) public void routesAndNoHostName() { ApplicationManifest.builder() - .name("test-name") - .route(Route.builder() - .route("test-route") - .build()) - .noHostname(true) - .build(); + .name("test-name") + .route(Route.builder().route("test-route").build()) + .noHostname(true) + .build(); } @Test public void valid() { - ApplicationManifest.builder() - .name("test-name") - .build(); + ApplicationManifest.builder().name("test-name").build(); } - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/ApplicationManifestUtilsTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/ApplicationManifestUtilsTest.java index a69fd782cd..bcccb8cba5 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/ApplicationManifestUtilsTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/ApplicationManifestUtilsTest.java @@ -16,9 +16,11 @@ package org.cloudfoundry.operations.applications; -import org.apache.commons.lang3.SystemUtils; -import org.junit.Test; -import org.springframework.core.io.ClassPathResource; +import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.AssertionsForClassTypes.assertThatExceptionOfType; +import static org.cloudfoundry.operations.applications.ApplicationHealthCheck.NONE; +import static org.cloudfoundry.operations.applications.ApplicationHealthCheck.PORT; +import static org.junit.Assume.assumeTrue; import java.io.IOException; import java.nio.file.Files; @@ -28,361 +30,337 @@ import java.util.Collections; import java.util.List; import java.util.NoSuchElementException; - -import static org.assertj.core.api.Assertions.assertThat; -import static org.assertj.core.api.AssertionsForClassTypes.assertThatExceptionOfType; -import static org.cloudfoundry.operations.applications.ApplicationHealthCheck.NONE; -import static org.cloudfoundry.operations.applications.ApplicationHealthCheck.PORT; -import static org.junit.Assume.assumeTrue; +import org.apache.commons.lang3.SystemUtils; +import org.junit.Test; +import org.springframework.core.io.ClassPathResource; public final class ApplicationManifestUtilsTest { @Test public void anchorsAndReferences() throws IOException { - List expected = Collections.singletonList( - ApplicationManifest.builder() - .name("test-application") - .service("test-service-name") - .build()); - - List actual = ApplicationManifestUtils.read(new ClassPathResource("fixtures/manifest-kilo.yml").getFile().toPath()); + List expected = + Collections.singletonList( + ApplicationManifest.builder() + .name("test-application") + .service("test-service-name") + .build()); + + List actual = + ApplicationManifestUtils.read( + new ClassPathResource("fixtures/manifest-kilo.yml").getFile().toPath()); assertThat(actual).isEqualTo(expected); } @Test public void readCommon() throws IOException { - List expected = Arrays.asList( - ApplicationManifest.builder() - .name("charlie-application-1") - .buildpack("charlie-buildpack") - .command("charlie-command") - .disk(-1) - .healthCheckHttpEndpoint("charlie-health-check-http-endpoint") - .healthCheckType(NONE) - .instances(-1) - .memory(-1) - .noRoute(true) - .path(Paths.get("/charlie-path").toAbsolutePath()) - .randomRoute(true) - .route(Route.builder() - .route("charlie-route-1") - .build()) - .route(Route.builder() - .route("charlie-route-2") - .build()) - .stack("charlie-stack") - .timeout(-1) - .environmentVariable("CHARLIE_KEY_1", "charlie-value-1") - .environmentVariable("CHARLIE_KEY_2", "charlie-value-2") - .service("charlie-instance-1") - .service("charlie-instance-2") - .build(), - ApplicationManifest.builder() - .name("charlie-application-2") - .buildpacks("charlie-buildpack", "alternate-buildpack") - .command("alternate-command") - .disk(-2) - .healthCheckHttpEndpoint("alternate-health-check-http-endpoint") - .healthCheckType(PORT) - .instances(-2) - .memory(-2) - .noRoute(false) - .path(Paths.get("/alternate-path").toAbsolutePath()) - .randomRoute(false) - .route(Route.builder() - .route("charlie-route-1") - .build()) - .route(Route.builder() - .route("charlie-route-2") - .build()) - .route(Route.builder() - .route("alternate-route-1") - .build()) - .route(Route.builder() - .route("alternate-route-2") - .build()) - .stack("alternate-stack") - .timeout(-2) - .environmentVariable("CHARLIE_KEY_1", "charlie-value-1") - .environmentVariable("CHARLIE_KEY_2", "charlie-value-2") - .environmentVariable("ALTERNATE_KEY_1", "alternate-value-1") - .environmentVariable("ALTERNATE_KEY_2", "alternate-value-2") - .service("charlie-instance-1") - .service("charlie-instance-2") - .service("alternate-instance-1") - .service("alternate-instance-2") - .build()); - - List actual = ApplicationManifestUtils.read(new ClassPathResource("fixtures/manifest-charlie.yml").getFile().toPath()); + List expected = + Arrays.asList( + ApplicationManifest.builder() + .name("charlie-application-1") + .buildpack("charlie-buildpack") + .command("charlie-command") + .disk(-1) + .healthCheckHttpEndpoint("charlie-health-check-http-endpoint") + .healthCheckType(NONE) + .instances(-1) + .memory(-1) + .noRoute(true) + .path(Paths.get("/charlie-path").toAbsolutePath()) + .randomRoute(true) + .route(Route.builder().route("charlie-route-1").build()) + .route(Route.builder().route("charlie-route-2").build()) + .stack("charlie-stack") + .timeout(-1) + .environmentVariable("CHARLIE_KEY_1", "charlie-value-1") + .environmentVariable("CHARLIE_KEY_2", "charlie-value-2") + .service("charlie-instance-1") + .service("charlie-instance-2") + .build(), + ApplicationManifest.builder() + .name("charlie-application-2") + .buildpacks("charlie-buildpack", "alternate-buildpack") + .command("alternate-command") + .disk(-2) + .healthCheckHttpEndpoint("alternate-health-check-http-endpoint") + .healthCheckType(PORT) + .instances(-2) + .memory(-2) + .noRoute(false) + .path(Paths.get("/alternate-path").toAbsolutePath()) + .randomRoute(false) + .route(Route.builder().route("charlie-route-1").build()) + .route(Route.builder().route("charlie-route-2").build()) + .route(Route.builder().route("alternate-route-1").build()) + .route(Route.builder().route("alternate-route-2").build()) + .stack("alternate-stack") + .timeout(-2) + .environmentVariable("CHARLIE_KEY_1", "charlie-value-1") + .environmentVariable("CHARLIE_KEY_2", "charlie-value-2") + .environmentVariable("ALTERNATE_KEY_1", "alternate-value-1") + .environmentVariable("ALTERNATE_KEY_2", "alternate-value-2") + .service("charlie-instance-1") + .service("charlie-instance-2") + .service("alternate-instance-1") + .service("alternate-instance-2") + .build()); + + List actual = + ApplicationManifestUtils.read( + new ClassPathResource("fixtures/manifest-charlie.yml").getFile().toPath()); assertThat(actual).isEqualTo(expected); } @Test public void readCommonAndInherit() throws IOException { - List expected = Arrays.asList( - ApplicationManifest.builder() - .name("charlie-application-1") - .buildpacks("charlie-buildpack", "delta-buildpack") - .command("delta-command") - .disk(-3) - .healthCheckHttpEndpoint("delta-health-check-http-endpoint") - .healthCheckType(NONE) - .instances(-3) - .memory(-3) - .noRoute(true) - .path(Paths.get("/delta-path").toAbsolutePath()) - .randomRoute(true) - .route(Route.builder() - .route("charlie-route-1") - .build()) - .route(Route.builder() - .route("charlie-route-2") - .build()) - .route(Route.builder() - .route("delta-route-1") - .build()) - .route(Route.builder() - .route("delta-route-2") - .build()) - .stack("delta-stack") - .timeout(-3) - .environmentVariable("CHARLIE_KEY_1", "charlie-value-1") - .environmentVariable("CHARLIE_KEY_2", "charlie-value-2") - .environmentVariable("DELTA_KEY_1", "delta-value-1") - .environmentVariable("DELTA_KEY_2", "delta-value-2") - .service("charlie-instance-1") - .service("charlie-instance-2") - .service("delta-instance-1") - .service("delta-instance-2") - .build(), - ApplicationManifest.builder() - .name("charlie-application-2") - .buildpacks("charlie-buildpack", "delta-buildpack", "alternate-buildpack") - .command("alternate-command") - .disk(-2) - .healthCheckHttpEndpoint("alternate-health-check-http-endpoint") - .healthCheckType(PORT) - .instances(-2) - .memory(-2) - .noRoute(false) - .path(Paths.get("/alternate-path").toAbsolutePath()) - .randomRoute(false) - .route(Route.builder() - .route("charlie-route-1") - .build()) - .route(Route.builder() - .route("charlie-route-2") - .build()) - .route(Route.builder() - .route("delta-route-1") - .build()) - .route(Route.builder() - .route("delta-route-2") - .build()) - .route(Route.builder() - .route("alternate-route-1") - .build()) - .route(Route.builder() - .route("alternate-route-2") - .build()) - .stack("alternate-stack") - .timeout(-2) - .environmentVariable("CHARLIE_KEY_1", "charlie-value-1") - .environmentVariable("CHARLIE_KEY_2", "charlie-value-2") - .environmentVariable("DELTA_KEY_1", "delta-value-1") - .environmentVariable("DELTA_KEY_2", "delta-value-2") - .environmentVariable("ALTERNATE_KEY_1", "alternate-value-1") - .environmentVariable("ALTERNATE_KEY_2", "alternate-value-2") - .service("charlie-instance-1") - .service("charlie-instance-2") - .service("delta-instance-1") - .service("delta-instance-2") - .service("alternate-instance-1") - .service("alternate-instance-2") - .build()); - - List actual = ApplicationManifestUtils.read(new ClassPathResource("fixtures/manifest-delta.yml").getFile().toPath()); + List expected = + Arrays.asList( + ApplicationManifest.builder() + .name("charlie-application-1") + .buildpacks("charlie-buildpack", "delta-buildpack") + .command("delta-command") + .disk(-3) + .healthCheckHttpEndpoint("delta-health-check-http-endpoint") + .healthCheckType(NONE) + .instances(-3) + .memory(-3) + .noRoute(true) + .path(Paths.get("/delta-path").toAbsolutePath()) + .randomRoute(true) + .route(Route.builder().route("charlie-route-1").build()) + .route(Route.builder().route("charlie-route-2").build()) + .route(Route.builder().route("delta-route-1").build()) + .route(Route.builder().route("delta-route-2").build()) + .stack("delta-stack") + .timeout(-3) + .environmentVariable("CHARLIE_KEY_1", "charlie-value-1") + .environmentVariable("CHARLIE_KEY_2", "charlie-value-2") + .environmentVariable("DELTA_KEY_1", "delta-value-1") + .environmentVariable("DELTA_KEY_2", "delta-value-2") + .service("charlie-instance-1") + .service("charlie-instance-2") + .service("delta-instance-1") + .service("delta-instance-2") + .build(), + ApplicationManifest.builder() + .name("charlie-application-2") + .buildpacks( + "charlie-buildpack", + "delta-buildpack", + "alternate-buildpack") + .command("alternate-command") + .disk(-2) + .healthCheckHttpEndpoint("alternate-health-check-http-endpoint") + .healthCheckType(PORT) + .instances(-2) + .memory(-2) + .noRoute(false) + .path(Paths.get("/alternate-path").toAbsolutePath()) + .randomRoute(false) + .route(Route.builder().route("charlie-route-1").build()) + .route(Route.builder().route("charlie-route-2").build()) + .route(Route.builder().route("delta-route-1").build()) + .route(Route.builder().route("delta-route-2").build()) + .route(Route.builder().route("alternate-route-1").build()) + .route(Route.builder().route("alternate-route-2").build()) + .stack("alternate-stack") + .timeout(-2) + .environmentVariable("CHARLIE_KEY_1", "charlie-value-1") + .environmentVariable("CHARLIE_KEY_2", "charlie-value-2") + .environmentVariable("DELTA_KEY_1", "delta-value-1") + .environmentVariable("DELTA_KEY_2", "delta-value-2") + .environmentVariable("ALTERNATE_KEY_1", "alternate-value-1") + .environmentVariable("ALTERNATE_KEY_2", "alternate-value-2") + .service("charlie-instance-1") + .service("charlie-instance-2") + .service("delta-instance-1") + .service("delta-instance-2") + .service("alternate-instance-1") + .service("alternate-instance-2") + .build()); + + List actual = + ApplicationManifestUtils.read( + new ClassPathResource("fixtures/manifest-delta.yml").getFile().toPath()); assertThat(actual).isEqualTo(expected); } @Test public void readDocker() throws IOException { - List expected = Collections.singletonList( - ApplicationManifest.builder() - .name("lima-application-1") - .docker(Docker.builder() - .image("lima-docker-image") - .password("lima-docker-password") - .username("lima-docker-username") - .build()) - .healthCheckHttpEndpoint("lima-health-check-http-endpoint") - .healthCheckType(NONE) - .noRoute(false) - .build()); - - List actual = ApplicationManifestUtils.read(new ClassPathResource("fixtures/manifest-lima.yml").getFile().toPath()); + List expected = + Collections.singletonList( + ApplicationManifest.builder() + .name("lima-application-1") + .docker( + Docker.builder() + .image("lima-docker-image") + .password("lima-docker-password") + .username("lima-docker-username") + .build()) + .healthCheckHttpEndpoint("lima-health-check-http-endpoint") + .healthCheckType(NONE) + .noRoute(false) + .build()); + + List actual = + ApplicationManifestUtils.read( + new ClassPathResource("fixtures/manifest-lima.yml").getFile().toPath()); assertThat(actual).isEqualTo(expected); } @Test public void readInherit() throws IOException { - List expected = Arrays.asList( - ApplicationManifest.builder() - .name("alpha-application-1") - .buildpacks("alpha-buildpack", "beta-buildpack") - .command("beta-command") - .disk(-2) - .healthCheckHttpEndpoint("beta-health-check-http-endpoint") - .healthCheckType(NONE) - .instances(-2) - .memory(2) - .noRoute(false) - .path(Paths.get("/beta-path").toAbsolutePath()) - .randomRoute(false) - .route(Route.builder() - .route("alpha-route-1") - .build()) - .route(Route.builder() - .route("alpha-route-2") - .build()) - .route(Route.builder() - .route("beta-route-1") - .build()) - .route(Route.builder() - .route("beta-route-2") - .build()) - .stack("beta-stack") - .timeout(-2) - .environmentVariable("ALPHA_KEY_1", "alpha-value-1") - .environmentVariable("ALPHA_KEY_2", "alpha-value-2") - .environmentVariable("BETA_KEY_1", "beta-value-1") - .environmentVariable("BETA_KEY_2", "beta-value-2") - .service("alpha-instance-1") - .service("alpha-instance-2") - .service("beta-instance-1") - .service("beta-instance-2") - .build(), - ApplicationManifest.builder() - .name("beta-application-1") - .buildpack("beta-buildpack") - .command("beta-command") - .disk(-1) - .healthCheckHttpEndpoint("beta-health-check-http-endpoint") - .healthCheckType(NONE) - .instances(-1) - .memory(2048) - .noRoute(true) - .path(Paths.get("/beta-path").toAbsolutePath()) - .randomRoute(true) - .route(Route.builder() - .route("beta-route-1") - .build()) - .route(Route.builder() - .route("beta-route-2") - .build()) - .stack("beta-stack") - .timeout(-1) - .environmentVariable("BETA_KEY_1", "beta-value-1") - .environmentVariable("BETA_KEY_2", "beta-value-2") - .service("beta-instance-1") - .service("beta-instance-2") - .build(), - ApplicationManifest.builder() - .name("beta-application-2") - .buildpack("beta-buildpack") - .command("beta-command") - .disk(-1) - .domain("beta-domain") - .domain("beta-domains-1") - .domain("beta-domains-2") - .healthCheckHttpEndpoint("beta-health-check-http-endpoint") - .healthCheckType(NONE) - .host("beta-host") - .host("beta-hosts-1") - .host("beta-hosts-2") - .instances(-1) - .memory(2) - .noHostname(true) - .noRoute(true) - .path(Paths.get("/beta-path").toAbsolutePath()) - .randomRoute(true) - .stack("beta-stack") - .timeout(-1) - .environmentVariable("BETA_KEY_1", "beta-value-1") - .environmentVariable("BETA_KEY_2", "beta-value-2") - .service("beta-instance-1") - .service("beta-instance-2") - .build()); - - List actual = ApplicationManifestUtils.read(new ClassPathResource("fixtures/manifest-beta.yml").getFile().toPath()); + List expected = + Arrays.asList( + ApplicationManifest.builder() + .name("alpha-application-1") + .buildpacks("alpha-buildpack", "beta-buildpack") + .command("beta-command") + .disk(-2) + .healthCheckHttpEndpoint("beta-health-check-http-endpoint") + .healthCheckType(NONE) + .instances(-2) + .memory(2) + .noRoute(false) + .path(Paths.get("/beta-path").toAbsolutePath()) + .randomRoute(false) + .route(Route.builder().route("alpha-route-1").build()) + .route(Route.builder().route("alpha-route-2").build()) + .route(Route.builder().route("beta-route-1").build()) + .route(Route.builder().route("beta-route-2").build()) + .stack("beta-stack") + .timeout(-2) + .environmentVariable("ALPHA_KEY_1", "alpha-value-1") + .environmentVariable("ALPHA_KEY_2", "alpha-value-2") + .environmentVariable("BETA_KEY_1", "beta-value-1") + .environmentVariable("BETA_KEY_2", "beta-value-2") + .service("alpha-instance-1") + .service("alpha-instance-2") + .service("beta-instance-1") + .service("beta-instance-2") + .build(), + ApplicationManifest.builder() + .name("beta-application-1") + .buildpack("beta-buildpack") + .command("beta-command") + .disk(-1) + .healthCheckHttpEndpoint("beta-health-check-http-endpoint") + .healthCheckType(NONE) + .instances(-1) + .memory(2048) + .noRoute(true) + .path(Paths.get("/beta-path").toAbsolutePath()) + .randomRoute(true) + .route(Route.builder().route("beta-route-1").build()) + .route(Route.builder().route("beta-route-2").build()) + .stack("beta-stack") + .timeout(-1) + .environmentVariable("BETA_KEY_1", "beta-value-1") + .environmentVariable("BETA_KEY_2", "beta-value-2") + .service("beta-instance-1") + .service("beta-instance-2") + .build(), + ApplicationManifest.builder() + .name("beta-application-2") + .buildpack("beta-buildpack") + .command("beta-command") + .disk(-1) + .domain("beta-domain") + .domain("beta-domains-1") + .domain("beta-domains-2") + .healthCheckHttpEndpoint("beta-health-check-http-endpoint") + .healthCheckType(NONE) + .host("beta-host") + .host("beta-hosts-1") + .host("beta-hosts-2") + .instances(-1) + .memory(2) + .noHostname(true) + .noRoute(true) + .path(Paths.get("/beta-path").toAbsolutePath()) + .randomRoute(true) + .stack("beta-stack") + .timeout(-1) + .environmentVariable("BETA_KEY_1", "beta-value-1") + .environmentVariable("BETA_KEY_2", "beta-value-2") + .service("beta-instance-1") + .service("beta-instance-2") + .build()); + + List actual = + ApplicationManifestUtils.read( + new ClassPathResource("fixtures/manifest-beta.yml").getFile().toPath()); assertThat(actual).isEqualTo(expected); } @Test public void readInheritCommon() throws IOException { - List expected = Collections.singletonList( - ApplicationManifest.builder() - .name("juliet-application") - .buildpack("indigo-buildpack") - .command("indigo-command") - .disk(-1) - .healthCheckHttpEndpoint("indigo-health-check-http-endpoint") - .healthCheckType(NONE) - .instances(-1) - .memory(-1) - .noRoute(true) - .path(Paths.get("/indigo-path").toAbsolutePath()) - .randomRoute(true) - .route(Route.builder() - .route("indigo-route-1") - .build()) - .route(Route.builder() - .route("indigo-route-2") - .build()) - .stack("indigo-stack") - .timeout(-1) - .environmentVariable("INDIGO_KEY_1", "indigo-value-1") - .environmentVariable("INDIGO_KEY_2", "indigo-value-2") - .service("indigo-instance-1") - .service("indigo-instance-2") - .build()); - - List actual = ApplicationManifestUtils.read(new ClassPathResource("fixtures/manifest-juliet.yml").getFile().toPath()); + List expected = + Collections.singletonList( + ApplicationManifest.builder() + .name("juliet-application") + .buildpack("indigo-buildpack") + .command("indigo-command") + .disk(-1) + .healthCheckHttpEndpoint("indigo-health-check-http-endpoint") + .healthCheckType(NONE) + .instances(-1) + .memory(-1) + .noRoute(true) + .path(Paths.get("/indigo-path").toAbsolutePath()) + .randomRoute(true) + .route(Route.builder().route("indigo-route-1").build()) + .route(Route.builder().route("indigo-route-2").build()) + .stack("indigo-stack") + .timeout(-1) + .environmentVariable("INDIGO_KEY_1", "indigo-value-1") + .environmentVariable("INDIGO_KEY_2", "indigo-value-2") + .service("indigo-instance-1") + .service("indigo-instance-2") + .build()); + + List actual = + ApplicationManifestUtils.read( + new ClassPathResource("fixtures/manifest-juliet.yml").getFile().toPath()); assertThat(actual).isEqualTo(expected); } @Test public void readNoApplications() throws IOException { - List actual = ApplicationManifestUtils.read(new ClassPathResource("fixtures/manifest-hotel.yml").getFile().toPath()); + List actual = + ApplicationManifestUtils.read( + new ClassPathResource("fixtures/manifest-hotel.yml").getFile().toPath()); assertThat(actual).isEmpty(); } @Test(expected = IllegalStateException.class) public void readNoName() throws IOException { - ApplicationManifestUtils.read(new ClassPathResource("fixtures/manifest-foxtrot.yml").getFile().toPath()); + ApplicationManifestUtils.read( + new ClassPathResource("fixtures/manifest-foxtrot.yml").getFile().toPath()); } @Test(expected = IllegalStateException.class) public void readNoRoute() throws IOException { - ApplicationManifestUtils.read(new ClassPathResource("fixtures/manifest-golf.yml").getFile().toPath()); + ApplicationManifestUtils.read( + new ClassPathResource("fixtures/manifest-golf.yml").getFile().toPath()); } @Test public void relativePath() throws IOException { Path root = new ClassPathResource("fixtures/manifest-november.yml").getFile().toPath(); - List expected = Collections.singletonList( - ApplicationManifest.builder() - .name("alpha-application-1") - .path(root.getParent().resolve("alpha-path")) - .build()); + List expected = + Collections.singletonList( + ApplicationManifest.builder() + .name("alpha-application-1") + .path(root.getParent().resolve("alpha-path")) + .build()); List actual = ApplicationManifestUtils.read(root); @@ -391,85 +369,92 @@ public void relativePath() throws IOException { @Test public void testDiskQuotaAndMemoryParsing() throws Exception { - List expected = Arrays.asList( - ApplicationManifest.builder() - .name("quota-test-1") - .memory(1) - .disk(2) - .build(), - ApplicationManifest.builder() - .name("quota-test-2") - .memory(3) - .disk(4) - .build(), - ApplicationManifest.builder() - .name("quota-test-3") - .memory(5) - .disk(6) - .build(), - ApplicationManifest.builder() - .name("quota-test-4") - .memory(7) - .disk(8) - .build(), - ApplicationManifest.builder() - .name("quota-test-5") - .memory(1024) - .disk(2048) - .build(), - ApplicationManifest.builder() - .name("quota-test-6") - .memory(3072) - .disk(4096) - .build(), - ApplicationManifest.builder() - .name("quota-test-7") - .memory(5120) - .disk(6144) - .build(), - ApplicationManifest.builder() - .name("quota-test-8") - .memory(7168) - .disk(8192) - .build(), - ApplicationManifest.builder() - .name("quota-test-9") - .memory(1234) - .disk(5678) - .build() - ); - - List actual = ApplicationManifestUtils.read(new ClassPathResource("fixtures/manifest-mike.yml").getFile().toPath()); + List expected = + Arrays.asList( + ApplicationManifest.builder() + .name("quota-test-1") + .memory(1) + .disk(2) + .build(), + ApplicationManifest.builder() + .name("quota-test-2") + .memory(3) + .disk(4) + .build(), + ApplicationManifest.builder() + .name("quota-test-3") + .memory(5) + .disk(6) + .build(), + ApplicationManifest.builder() + .name("quota-test-4") + .memory(7) + .disk(8) + .build(), + ApplicationManifest.builder() + .name("quota-test-5") + .memory(1024) + .disk(2048) + .build(), + ApplicationManifest.builder() + .name("quota-test-6") + .memory(3072) + .disk(4096) + .build(), + ApplicationManifest.builder() + .name("quota-test-7") + .memory(5120) + .disk(6144) + .build(), + ApplicationManifest.builder() + .name("quota-test-8") + .memory(7168) + .disk(8192) + .build(), + ApplicationManifest.builder() + .name("quota-test-9") + .memory(1234) + .disk(5678) + .build()); + + List actual = + ApplicationManifestUtils.read( + new ClassPathResource("fixtures/manifest-mike.yml").getFile().toPath()); assertThat(actual).isEqualTo(expected); } @Test public void readSingleBuildpack() throws IOException { - List expected = Collections.singletonList( - ApplicationManifest.builder() - .name("oscar-application") - .buildpack("oscar-buildpack") - .build()); - - List actual = ApplicationManifestUtils.read(new ClassPathResource("fixtures/manifest-oscar.yml").getFile().toPath()); + List expected = + Collections.singletonList( + ApplicationManifest.builder() + .name("oscar-application") + .buildpack("oscar-buildpack") + .build()); + + List actual = + ApplicationManifestUtils.read( + new ClassPathResource("fixtures/manifest-oscar.yml").getFile().toPath()); assertThat(actual).isEqualTo(expected); } @Test public void readWithVariableSubstitution() throws IOException { - List expected = Collections.singletonList( - ApplicationManifest.builder() - .name("papa-1-application") - .buildpack("papa-buildpack") - .instances(2) - .memory(1024) - .build()); - - List actual = ApplicationManifestUtils.read( - new ClassPathResource("fixtures/manifest-papa-1.yml").getFile().toPath(), - new ClassPathResource("fixtures/vars-papa-1.yml").getFile().toPath()); + List expected = + Collections.singletonList( + ApplicationManifest.builder() + .name("papa-1-application") + .buildpack("papa-buildpack") + .instances(2) + .memory(1024) + .build()); + + List actual = + ApplicationManifestUtils.read( + new ClassPathResource("fixtures/manifest-papa-1.yml").getFile().toPath(), + new ClassPathResource("fixtures/vars-papa-1.yml").getFile().toPath()); assertThat(actual).isEqualTo(expected); } @@ -477,87 +462,104 @@ public void readWithVariableSubstitution() throws IOException { @Test public void readWithVariableSubstitution_throwExceptionOnMissing() throws IOException { assertThatExceptionOfType(NoSuchElementException.class) - .isThrownBy(() -> { - ApplicationManifestUtils.read( - new ClassPathResource("fixtures/manifest-papa-2.yml").getFile().toPath(), - new ClassPathResource("fixtures/vars-papa-2.yml").getFile().toPath()); - }).withMessageMatching("Expected to find variable: abcdef"); + .isThrownBy( + () -> { + ApplicationManifestUtils.read( + new ClassPathResource("fixtures/manifest-papa-2.yml") + .getFile() + .toPath(), + new ClassPathResource("fixtures/vars-papa-2.yml") + .getFile() + .toPath()); + }) + .withMessageMatching("Expected to find variable: abcdef"); } + @Test public void readWithVariableSubstitution_dontEvaluateRegex() throws IOException { - List expected = Collections.singletonList( - ApplicationManifest.builder() - .name("papa-7-application") - .buildpack("((regex*))") - .build()); - - List actual = ApplicationManifestUtils.read( - new ClassPathResource("fixtures/manifest-papa-7.yml").getFile().toPath(), - new ClassPathResource("fixtures/vars-papa-7.yml").getFile().toPath()); + List expected = + Collections.singletonList( + ApplicationManifest.builder() + .name("papa-7-application") + .buildpack("((regex*))") + .build()); + + List actual = + ApplicationManifestUtils.read( + new ClassPathResource("fixtures/manifest-papa-7.yml").getFile().toPath(), + new ClassPathResource("fixtures/vars-papa-7.yml").getFile().toPath()); assertThat(actual).isEqualTo(expected); } + @Test public void readWithVariableSubstitution_avoidEndlessSubstitution() throws IOException { - List expected = Collections.singletonList( - ApplicationManifest.builder() - .name("papa-3-application") - .buildpack("((endless_2))") - .build()); - - List actual = ApplicationManifestUtils.read( - new ClassPathResource("fixtures/manifest-papa-3.yml").getFile().toPath(), - new ClassPathResource("fixtures/vars-papa-3.yml").getFile().toPath()); + List expected = + Collections.singletonList( + ApplicationManifest.builder() + .name("papa-3-application") + .buildpack("((endless_2))") + .build()); + + List actual = + ApplicationManifestUtils.read( + new ClassPathResource("fixtures/manifest-papa-3.yml").getFile().toPath(), + new ClassPathResource("fixtures/vars-papa-3.yml").getFile().toPath()); assertThat(actual).isEqualTo(expected); } @Test public void readWithVariableSubstitution_dontAllowInjectionTest() throws IOException { - List expected = Collections.singletonList( - ApplicationManifest.builder() - .name("papa-4-application") - .buildpack("((test))") - .build()); - - List actual = ApplicationManifestUtils.read( - new ClassPathResource("fixtures/manifest-papa-4.yml").getFile().toPath(), - new ClassPathResource("fixtures/vars-papa-4.yml").getFile().toPath()); + List expected = + Collections.singletonList( + ApplicationManifest.builder() + .name("papa-4-application") + .buildpack("((test))") + .build()); + + List actual = + ApplicationManifestUtils.read( + new ClassPathResource("fixtures/manifest-papa-4.yml").getFile().toPath(), + new ClassPathResource("fixtures/vars-papa-4.yml").getFile().toPath()); assertThat(actual).isEqualTo(expected); } @Test public void readWithVariableSubstitution_addMultipleVariablesInOneField() throws IOException { - List expected = Collections.singletonList( - ApplicationManifest.builder() - .name("papa-5-application") - .buildpack("one and two is a very nice buildpack name for three") - .build()); - - List actual = ApplicationManifestUtils.read( - new ClassPathResource("fixtures/manifest-papa-5.yml").getFile().toPath(), - new ClassPathResource("fixtures/vars-papa-5.yml").getFile().toPath()); + List expected = + Collections.singletonList( + ApplicationManifest.builder() + .name("papa-5-application") + .buildpack("one and two is a very nice buildpack name for three") + .build()); + + List actual = + ApplicationManifestUtils.read( + new ClassPathResource("fixtures/manifest-papa-5.yml").getFile().toPath(), + new ClassPathResource("fixtures/vars-papa-5.yml").getFile().toPath()); assertThat(actual).isEqualTo(expected); } @Test public void readWithVariableSubstitution_noSubstitutionAtAll() throws IOException { - List expected = Collections.singletonList( - ApplicationManifest.builder() - .name("papa-6-application") - .buildpack("buildpack_papa_6") - .build()); - - List actual = ApplicationManifestUtils.read( - new ClassPathResource("fixtures/manifest-papa-6.yml").getFile().toPath(), - new ClassPathResource("fixtures/vars-papa-6.yml").getFile().toPath()); + List expected = + Collections.singletonList( + ApplicationManifest.builder() + .name("papa-6-application") + .buildpack("buildpack_papa_6") + .build()); + + List actual = + ApplicationManifestUtils.read( + new ClassPathResource("fixtures/manifest-papa-6.yml").getFile().toPath(), + new ClassPathResource("fixtures/vars-papa-6.yml").getFile().toPath()); assertThat(actual).isEqualTo(expected); } - @Test public void unixRead() throws IOException { assumeTrue(SystemUtils.IS_OS_UNIX); @@ -583,34 +585,33 @@ public void windowsWrite() throws IOException { } private void read(String path, String expectedManifest) throws IOException { - List expected = Collections.singletonList( - ApplicationManifest.builder() - .name("alpha-application-1") - .buildpack("alpha-buildpack") - .command("alpha-command") - .disk(-1) - .healthCheckHttpEndpoint("alpha-health-check-http-endpoint") - .healthCheckType(NONE) - .instances(-1) - .memory(1) - .noRoute(true) - .path(Paths.get(path)) - .randomRoute(true) - .route(Route.builder() - .route("alpha-route-1") - .build()) - .route(Route.builder() - .route("alpha-route-2") - .build()) - .stack("alpha-stack") - .timeout(-1) - .environmentVariable("ALPHA_KEY_1", "alpha-value-1") - .environmentVariable("ALPHA_KEY_2", "alpha-value-2") - .service("alpha-instance-1") - .service("alpha-instance-2") - .build()); - - List actual = ApplicationManifestUtils.read(new ClassPathResource(expectedManifest).getFile().toPath()); + List expected = + Collections.singletonList( + ApplicationManifest.builder() + .name("alpha-application-1") + .buildpack("alpha-buildpack") + .command("alpha-command") + .disk(-1) + .healthCheckHttpEndpoint("alpha-health-check-http-endpoint") + .healthCheckType(NONE) + .instances(-1) + .memory(1) + .noRoute(true) + .path(Paths.get(path)) + .randomRoute(true) + .route(Route.builder().route("alpha-route-1").build()) + .route(Route.builder().route("alpha-route-2").build()) + .stack("alpha-stack") + .timeout(-1) + .environmentVariable("ALPHA_KEY_1", "alpha-value-1") + .environmentVariable("ALPHA_KEY_2", "alpha-value-2") + .service("alpha-instance-1") + .service("alpha-instance-2") + .build()); + + List actual = + ApplicationManifestUtils.read( + new ClassPathResource(expectedManifest).getFile().toPath()); assertThat(actual).isEqualTo(expected); } @@ -618,60 +619,58 @@ private void read(String path, String expectedManifest) throws IOException { private void write(String path, String expectedManifest) throws IOException { Path out = Files.createTempFile("test-manifest-", ".yml"); - ApplicationManifestUtils.write(out, Arrays.asList( - ApplicationManifest.builder() - .name("alpha-application-1") - .buildpack("alpha-buildpack") - .command("alpha-command") - .disk(512) - .healthCheckHttpEndpoint("alpha-health-check-http-endpoint") - .instances(-1) - .memory(512) - .noRoute(true) - .path(Paths.get(path)) - .randomRoute(true) - .route(Route.builder() - .route("alpha-route-1") - .build()) - .route(Route.builder() - .route("alpha-route-2") - .build()) - .stack("alpha-stack") - .timeout(-1) - .environmentVariable("ALPHA_KEY_1", "alpha-value-1") - .environmentVariable("ALPHA_KEY_2", "alpha-value-2") - .service("alpha-instance-1") - .service("alpha-instance-2") - .build(), - ApplicationManifest.builder() - .name("alpha-application-2") - .buildpack("alpha-buildpack") - .command("alpha-command") - .domain("alpha-domain") - .domain("alpha-domains-1") - .domain("alpha-domains-2") - .healthCheckHttpEndpoint("alpha-health-check-http-endpoint") - .healthCheckType(PORT) - .host("alpha-host") - .host("alpha-hosts-1") - .host("alpha-hosts-2") - .instances(-1) - .noHostname(true) - .noRoute(true) - .path(Paths.get(path)) - .randomRoute(true) - .stack("alpha-stack") - .timeout(-1) - .environmentVariable("ALPHA_KEY_1", "alpha-value-1") - .environmentVariable("ALPHA_KEY_2", "alpha-value-2") - .service("alpha-instance-1") - .service("alpha-instance-2") - .build())); - - List expected = Files.readAllLines(new ClassPathResource(expectedManifest).getFile().toPath()); + ApplicationManifestUtils.write( + out, + Arrays.asList( + ApplicationManifest.builder() + .name("alpha-application-1") + .buildpack("alpha-buildpack") + .command("alpha-command") + .disk(512) + .healthCheckHttpEndpoint("alpha-health-check-http-endpoint") + .instances(-1) + .memory(512) + .noRoute(true) + .path(Paths.get(path)) + .randomRoute(true) + .route(Route.builder().route("alpha-route-1").build()) + .route(Route.builder().route("alpha-route-2").build()) + .stack("alpha-stack") + .timeout(-1) + .environmentVariable("ALPHA_KEY_1", "alpha-value-1") + .environmentVariable("ALPHA_KEY_2", "alpha-value-2") + .service("alpha-instance-1") + .service("alpha-instance-2") + .build(), + ApplicationManifest.builder() + .name("alpha-application-2") + .buildpack("alpha-buildpack") + .command("alpha-command") + .domain("alpha-domain") + .domain("alpha-domains-1") + .domain("alpha-domains-2") + .healthCheckHttpEndpoint("alpha-health-check-http-endpoint") + .healthCheckType(PORT) + .host("alpha-host") + .host("alpha-hosts-1") + .host("alpha-hosts-2") + .instances(-1) + .noHostname(true) + .noRoute(true) + .path(Paths.get(path)) + .randomRoute(true) + .stack("alpha-stack") + .timeout(-1) + .environmentVariable("ALPHA_KEY_1", "alpha-value-1") + .environmentVariable("ALPHA_KEY_2", "alpha-value-2") + .service("alpha-instance-1") + .service("alpha-instance-2") + .build())); + + List expected = + Files.readAllLines(new ClassPathResource(expectedManifest).getFile().toPath()); List actual = Files.readAllLines(out); assertThat(actual).isEqualTo(expected); } - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/ApplicationSshEnabledRequestTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/ApplicationSshEnabledRequestTest.java index eb89faa01b..80fbeaa03f 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/ApplicationSshEnabledRequestTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/ApplicationSshEnabledRequestTest.java @@ -22,15 +22,11 @@ public final class ApplicationSshEnabledRequestTest { @Test(expected = IllegalStateException.class) public void noName() { - ApplicationSshEnabledRequest.builder() - .build(); + ApplicationSshEnabledRequest.builder().build(); } @Test public void valid() { - ApplicationSshEnabledRequest.builder() - .name("test-name") - .build(); + ApplicationSshEnabledRequest.builder().name("test-name").build(); } - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/CopySourceApplicationRequestTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/CopySourceApplicationRequestTest.java index 00d7028d47..4f9657ed40 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/CopySourceApplicationRequestTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/CopySourceApplicationRequestTest.java @@ -22,33 +22,28 @@ public final class CopySourceApplicationRequestTest { @Test(expected = IllegalStateException.class) public void noName() { - CopySourceApplicationRequest.builder() - .targetName("test-target-name") - .build(); + CopySourceApplicationRequest.builder().targetName("test-target-name").build(); } @Test(expected = IllegalStateException.class) public void noTargetName() { - CopySourceApplicationRequest.builder() - .name("test-name") - .build(); + CopySourceApplicationRequest.builder().name("test-name").build(); } @Test(expected = IllegalStateException.class) public void organizationNoSpace() { CopySourceApplicationRequest.builder() - .name("test-name") - .targetName("test-target-name") - .targetOrganization("test-target-organization") - .build(); + .name("test-name") + .targetName("test-target-name") + .targetOrganization("test-target-organization") + .build(); } @Test public void valid() { CopySourceApplicationRequest.builder() - .name("test-name") - .targetName("test-target-name") - .build(); + .name("test-name") + .targetName("test-target-name") + .build(); } - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/DefaultApplicationsTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/DefaultApplicationsTest.java index 4f6abff4a9..3efeff144d 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/DefaultApplicationsTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/DefaultApplicationsTest.java @@ -16,6 +16,26 @@ package org.cloudfoundry.operations.applications; +import static org.assertj.core.api.Assertions.assertThat; +import static org.cloudfoundry.client.v3.LifecycleType.BUILDPACK; +import static org.cloudfoundry.client.v3.LifecycleType.DOCKER; +import static org.cloudfoundry.operations.TestObjects.fill; +import static org.mockito.Mockito.RETURNS_SMART_NULLS; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; + +import java.io.IOException; +import java.nio.file.Path; +import java.time.Duration; +import java.util.Arrays; +import java.util.Collection; +import java.util.Collections; +import java.util.Date; +import java.util.LinkedList; +import java.util.Map; +import java.util.Optional; +import java.util.Queue; +import java.util.function.Supplier; import org.cloudfoundry.client.CloudFoundryClient; import org.cloudfoundry.client.v2.ClientV2Exception; import org.cloudfoundry.client.v2.Metadata; @@ -131,98 +151,124 @@ import reactor.test.StepVerifier; import reactor.test.scheduler.VirtualTimeScheduler; -import java.io.IOException; -import java.nio.file.Path; -import java.time.Duration; -import java.util.Arrays; -import java.util.Collection; -import java.util.Collections; -import java.util.Date; -import java.util.LinkedList; -import java.util.Map; -import java.util.Optional; -import java.util.Queue; -import java.util.function.Supplier; - -import static org.assertj.core.api.Assertions.assertThat; -import static org.cloudfoundry.client.v3.LifecycleType.BUILDPACK; -import static org.cloudfoundry.client.v3.LifecycleType.DOCKER; -import static org.cloudfoundry.operations.TestObjects.fill; -import static org.mockito.Mockito.RETURNS_SMART_NULLS; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.when; - public final class DefaultApplicationsTest extends AbstractOperationsTest { private RandomWords randomWords = mock(RandomWords.class, RETURNS_SMART_NULLS); - private final DefaultApplications applications = new DefaultApplications(Mono.just(this.cloudFoundryClient), Mono.just(this.dopplerClient), this.randomWords, Mono.just(TEST_SPACE_ID)); + private final DefaultApplications applications = + new DefaultApplications( + Mono.just(this.cloudFoundryClient), + Mono.just(this.dopplerClient), + this.randomWords, + Mono.just(TEST_SPACE_ID)); @Test public void copySourceNoRestartOrgSpace() { - requestApplications(this.cloudFoundryClient, "test-application-name", TEST_SPACE_ID, "test-metadata-id"); + requestApplications( + this.cloudFoundryClient, + "test-application-name", + TEST_SPACE_ID, + "test-metadata-id"); requestSpace(this.cloudFoundryClient, TEST_SPACE_ID, TEST_ORGANIZATION_ID); requestOrganizations(this.cloudFoundryClient, "test-target-organization"); - requestOrganizationSpacesByName(this.cloudFoundryClient, "test-organization-resource-metadata-id", "test-target-space"); - requestApplications(this.cloudFoundryClient, "test-target-application-name", "test-space-resource-metadata-id", "test-metadata-id"); + requestOrganizationSpacesByName( + this.cloudFoundryClient, + "test-organization-resource-metadata-id", + "test-target-space"); + requestApplications( + this.cloudFoundryClient, + "test-target-application-name", + "test-space-resource-metadata-id", + "test-metadata-id"); requestCopyBits(this.cloudFoundryClient, "test-metadata-id", "test-metadata-id"); requestJobSuccess(this.cloudFoundryClient, "test-copy-bits-id"); - StepVerifier.withVirtualTime(() -> this.applications - .copySource(CopySourceApplicationRequest.builder() - .name("test-application-name") - .targetName("test-target-application-name") - .targetSpace("test-target-space") - .targetOrganization("test-target-organization") - .build())) - .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(3))) - .expectComplete() - .verify(Duration.ofSeconds(5)); + StepVerifier.withVirtualTime( + () -> + this.applications.copySource( + CopySourceApplicationRequest.builder() + .name("test-application-name") + .targetName("test-target-application-name") + .targetSpace("test-target-space") + .targetOrganization("test-target-organization") + .build())) + .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(3))) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void copySourceNoRestartSpace() { - requestApplications(this.cloudFoundryClient, "test-application-name", TEST_SPACE_ID, "test-metadata-id"); + requestApplications( + this.cloudFoundryClient, + "test-application-name", + TEST_SPACE_ID, + "test-metadata-id"); requestSpace(this.cloudFoundryClient, TEST_SPACE_ID, TEST_ORGANIZATION_ID); - requestOrganizationSpacesByName(this.cloudFoundryClient, TEST_ORGANIZATION_ID, "test-target-space"); - requestApplications(this.cloudFoundryClient, "test-target-application-name", "test-space-resource-metadata-id", "test-metadata-id"); + requestOrganizationSpacesByName( + this.cloudFoundryClient, TEST_ORGANIZATION_ID, "test-target-space"); + requestApplications( + this.cloudFoundryClient, + "test-target-application-name", + "test-space-resource-metadata-id", + "test-metadata-id"); requestCopyBits(this.cloudFoundryClient, "test-metadata-id", "test-metadata-id"); requestJobSuccess(this.cloudFoundryClient, "test-copy-bits-id"); - StepVerifier.withVirtualTime(() -> this.applications - .copySource(CopySourceApplicationRequest.builder() - .name("test-application-name") - .targetName("test-target-application-name") - .targetSpace("test-target-space") - .build())) - .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(3))) - .expectComplete() - .verify(Duration.ofSeconds(5)); + StepVerifier.withVirtualTime( + () -> + this.applications.copySource( + CopySourceApplicationRequest.builder() + .name("test-application-name") + .targetName("test-target-application-name") + .targetSpace("test-target-space") + .build())) + .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(3))) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void copySourceOrganizationNotFound() { - requestApplications(this.cloudFoundryClient, "test-application-name", TEST_SPACE_ID, "test-metadata-id"); + requestApplications( + this.cloudFoundryClient, + "test-application-name", + TEST_SPACE_ID, + "test-metadata-id"); requestSpace(this.cloudFoundryClient, TEST_SPACE_ID, TEST_ORGANIZATION_ID); requestOrganizationsNotFound(this.cloudFoundryClient, "test-target-organization"); this.applications - .copySource(CopySourceApplicationRequest.builder() - .name("test-application-name") - .targetName("test-target-application-name") - .targetOrganization("test-target-organization") - .targetSpace("test-target-space") - .build()) - .as(StepVerifier::create) - .consumeErrorWith(t -> assertThat(t).isInstanceOf(IllegalArgumentException.class).hasMessage("Organization test-target-organization not found")) - .verify(Duration.ofSeconds(5)); + .copySource( + CopySourceApplicationRequest.builder() + .name("test-application-name") + .targetName("test-target-application-name") + .targetOrganization("test-target-organization") + .targetSpace("test-target-space") + .build()) + .as(StepVerifier::create) + .consumeErrorWith( + t -> + assertThat(t) + .isInstanceOf(IllegalArgumentException.class) + .hasMessage( + "Organization test-target-organization not found")) + .verify(Duration.ofSeconds(5)); } @Test public void copySourceRestart() { - requestApplications(this.cloudFoundryClient, "test-application-name", TEST_SPACE_ID, "test-metadata-id"); + requestApplications( + this.cloudFoundryClient, + "test-application-name", + TEST_SPACE_ID, + "test-metadata-id"); requestSpace(this.cloudFoundryClient, TEST_SPACE_ID, TEST_ORGANIZATION_ID); - requestApplications(this.cloudFoundryClient, "test-target-application-name", TEST_SPACE_ID, "test-metadata-id"); + requestApplications( + this.cloudFoundryClient, + "test-target-application-name", + TEST_SPACE_ID, + "test-metadata-id"); requestCopyBits(this.cloudFoundryClient, "test-metadata-id", "test-metadata-id"); requestJobSuccess(this.cloudFoundryClient, "test-copy-bits-id"); requestUpdateApplicationState(this.cloudFoundryClient, "test-metadata-id", "STOPPED"); @@ -230,119 +276,145 @@ public void copySourceRestart() { requestGetApplication(this.cloudFoundryClient, "test-metadata-id"); requestApplicationInstancesRunning(this.cloudFoundryClient, "test-metadata-id"); - StepVerifier.withVirtualTime(() -> this.applications - .copySource(CopySourceApplicationRequest.builder() - .name("test-application-name") - .targetName("test-target-application-name") - .restart(true) - .build())) - .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(3))) - .expectComplete() - .verify(Duration.ofSeconds(5)); + StepVerifier.withVirtualTime( + () -> + this.applications.copySource( + CopySourceApplicationRequest.builder() + .name("test-application-name") + .targetName("test-target-application-name") + .restart(true) + .build())) + .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(3))) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void copySourceSpaceNotFound() { - requestApplications(this.cloudFoundryClient, "test-application-name", "test-space-id", "test-metadata-id"); + requestApplications( + this.cloudFoundryClient, + "test-application-name", + "test-space-id", + "test-metadata-id"); requestSpace(this.cloudFoundryClient, TEST_SPACE_ID, TEST_ORGANIZATION_ID); - requestOrganizationSpacesByNameNotFound(this.cloudFoundryClient, TEST_ORGANIZATION_ID, "test-target-space"); + requestOrganizationSpacesByNameNotFound( + this.cloudFoundryClient, TEST_ORGANIZATION_ID, "test-target-space"); this.applications - .copySource(CopySourceApplicationRequest.builder() - .name("test-application-name") - .targetName("test-target-application-name") - .targetSpace("test-target-space") - .build()) - .as(StepVerifier::create) - .consumeErrorWith(t -> assertThat(t).isInstanceOf(IllegalArgumentException.class).hasMessage("Space test-target-space not found")) - .verify(Duration.ofSeconds(5)); + .copySource( + CopySourceApplicationRequest.builder() + .name("test-application-name") + .targetName("test-target-application-name") + .targetSpace("test-target-space") + .build()) + .as(StepVerifier::create) + .consumeErrorWith( + t -> + assertThat(t) + .isInstanceOf(IllegalArgumentException.class) + .hasMessage("Space test-target-space not found")) + .verify(Duration.ofSeconds(5)); } @Test public void deleteAndDeleteRoutes() { - requestApplications(this.cloudFoundryClient, "test-name", TEST_SPACE_ID, "test-metadata-id"); + requestApplications( + this.cloudFoundryClient, "test-name", TEST_SPACE_ID, "test-metadata-id"); requestApplicationSummary(this.cloudFoundryClient, "test-metadata-id"); requestDeleteRoute(this.cloudFoundryClient, "test-route-id"); requestApplicationServiceBindingsEmpty(this.cloudFoundryClient, "test-metadata-id"); requestDeleteApplication(this.cloudFoundryClient, "test-metadata-id"); requestJobSuccess(this.cloudFoundryClient, "test-job-entity-id"); - StepVerifier.withVirtualTime(() -> this.applications - .delete(DeleteApplicationRequest.builder() - .deleteRoutes(true) - .name("test-name") - .build())) - .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(3))) - .expectComplete() - .verify(Duration.ofSeconds(5)); + StepVerifier.withVirtualTime( + () -> + this.applications.delete( + DeleteApplicationRequest.builder() + .deleteRoutes(true) + .name("test-name") + .build())) + .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(3))) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void deleteAndDeleteRoutesFailure() { - requestApplications(this.cloudFoundryClient, "test-name", TEST_SPACE_ID, "test-metadata-id"); + requestApplications( + this.cloudFoundryClient, "test-name", TEST_SPACE_ID, "test-metadata-id"); requestApplicationSummary(this.cloudFoundryClient, "test-metadata-id"); requestDeleteRoute(this.cloudFoundryClient, "test-route-id"); requestDeleteApplication(this.cloudFoundryClient, "test-metadata-id"); requestJobFailure(this.cloudFoundryClient, "test-job-entity-id"); - StepVerifier.withVirtualTime(() -> this.applications - .delete(DeleteApplicationRequest.builder() - .deleteRoutes(true) - .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)); + StepVerifier.withVirtualTime( + () -> + this.applications.delete( + DeleteApplicationRequest.builder() + .deleteRoutes(true) + .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)); } @Test public void deleteAndDoNotDeleteRoutes() { - requestApplications(this.cloudFoundryClient, "test-name", TEST_SPACE_ID, "test-metadata-id"); + requestApplications( + this.cloudFoundryClient, "test-name", TEST_SPACE_ID, "test-metadata-id"); requestApplicationSummary(this.cloudFoundryClient, "test-metadata-id"); requestApplicationServiceBindingsEmpty(this.cloudFoundryClient, "test-metadata-id"); requestDeleteApplication(this.cloudFoundryClient, "test-metadata-id"); this.applications - .delete(DeleteApplicationRequest.builder() - .name("test-name") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .delete(DeleteApplicationRequest.builder().name("test-name").build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void deleteWithBoundRoutes() { - requestApplications(this.cloudFoundryClient, "test-name", TEST_SPACE_ID, "test-metadata-id"); + requestApplications( + this.cloudFoundryClient, "test-name", TEST_SPACE_ID, "test-metadata-id"); requestApplicationSummary(this.cloudFoundryClient, "test-metadata-id"); requestDeleteRoute(this.cloudFoundryClient, "test-route-id"); requestApplicationServiceBindings(this.cloudFoundryClient, "test-metadata-id"); - requestRemoveServiceBinding(this.cloudFoundryClient, "test-metadata-id", "test-service-binding-id"); + requestRemoveServiceBinding( + this.cloudFoundryClient, "test-metadata-id", "test-service-binding-id"); requestDeleteApplication(this.cloudFoundryClient, "test-metadata-id"); requestJobSuccess(this.cloudFoundryClient, "test-job-entity-id"); - StepVerifier.withVirtualTime(() -> this.applications - .delete(DeleteApplicationRequest.builder() - .deleteRoutes(true) - .name("test-name") - .build())) - .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(3))) - .expectComplete() - .verify(Duration.ofSeconds(5)); + StepVerifier.withVirtualTime( + () -> + this.applications.delete( + DeleteApplicationRequest.builder() + .deleteRoutes(true) + .name("test-name") + .build())) + .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(3))) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void disableSsh() { - requestApplications(this.cloudFoundryClient, "test-app-name", TEST_SPACE_ID, "test-metadata-id"); + requestApplications( + this.cloudFoundryClient, "test-app-name", TEST_SPACE_ID, "test-metadata-id"); requestUpdateApplicationSsh(this.cloudFoundryClient, "test-metadata-id", false); this.applications - .disableSsh(DisableApplicationSshRequest.builder() - .name("test-app-name") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .disableSsh(DisableApplicationSshRequest.builder().name("test-app-name").build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test @@ -350,12 +422,10 @@ public void disableSshAlreadyDisabled() { requestApplicationsWithSsh(this.cloudFoundryClient, "test-app-name", TEST_SPACE_ID, false); this.applications - .disableSsh(DisableApplicationSshRequest.builder() - .name("test-app-name") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .disableSsh(DisableApplicationSshRequest.builder().name("test-app-name").build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test @@ -363,26 +433,27 @@ public void disableSshNoApp() { requestApplicationsEmpty(this.cloudFoundryClient, "test-app-name", TEST_SPACE_ID); this.applications - .disableSsh(DisableApplicationSshRequest.builder() - .name("test-app-name") - .build()) - .as(StepVerifier::create) - .consumeErrorWith(t -> assertThat(t).isInstanceOf(IllegalArgumentException.class).hasMessage("Application test-app-name does not exist")) - .verify(Duration.ofSeconds(5)); + .disableSsh(DisableApplicationSshRequest.builder().name("test-app-name").build()) + .as(StepVerifier::create) + .consumeErrorWith( + t -> + assertThat(t) + .isInstanceOf(IllegalArgumentException.class) + .hasMessage("Application test-app-name does not exist")) + .verify(Duration.ofSeconds(5)); } @Test public void enableSsh() { - requestApplications(this.cloudFoundryClient, "test-app-name", TEST_SPACE_ID, "test-metadata-id"); + requestApplications( + this.cloudFoundryClient, "test-app-name", TEST_SPACE_ID, "test-metadata-id"); requestUpdateApplicationSsh(this.cloudFoundryClient, "test-application-id", true); this.applications - .enableSsh(EnableApplicationSshRequest.builder() - .name("test-app-name") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .enableSsh(EnableApplicationSshRequest.builder().name("test-app-name").build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test @@ -390,12 +461,10 @@ public void enableSshAlreadyEnabled() { requestApplicationsWithSsh(this.cloudFoundryClient, "test-app-name", TEST_SPACE_ID, true); this.applications - .enableSsh(EnableApplicationSshRequest.builder() - .name("test-app-name") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .enableSsh(EnableApplicationSshRequest.builder().name("test-app-name").build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test @@ -403,17 +472,20 @@ public void enableSshNoApp() { requestApplicationsEmpty(this.cloudFoundryClient, "test-app-name", TEST_SPACE_ID); this.applications - .enableSsh(EnableApplicationSshRequest.builder() - .name("test-app-name") - .build()) - .as(StepVerifier::create) - .consumeErrorWith(t -> assertThat(t).isInstanceOf(IllegalArgumentException.class).hasMessage("Application test-app-name does not exist")) - .verify(Duration.ofSeconds(5)); + .enableSsh(EnableApplicationSshRequest.builder().name("test-app-name").build()) + .as(StepVerifier::create) + .consumeErrorWith( + t -> + assertThat(t) + .isInstanceOf(IllegalArgumentException.class) + .hasMessage("Application test-app-name does not exist")) + .verify(Duration.ofSeconds(5)); } @Test public void get() { - requestApplications(this.cloudFoundryClient, "test-app", TEST_SPACE_ID, "test-application-id"); + requestApplications( + this.cloudFoundryClient, "test-app", TEST_SPACE_ID, "test-application-id"); requestApplicationStatistics(this.cloudFoundryClient, "test-application-id"); requestStack(this.cloudFoundryClient, "test-application-stackId"); requestApplicationSummary(this.cloudFoundryClient, "test-application-id"); @@ -421,164 +493,177 @@ public void get() { requestGetApplicationV3Buildpack(this.cloudFoundryClient, "test-application-id"); this.applications - .get(GetApplicationRequest.builder() - .name("test-app") - .build()) - .as(StepVerifier::create) - .expectNext(fill(ApplicationDetail.builder()) - .buildpack("test-buildpack") - .id("test-application-summary-id") - .instanceDetail(fill(InstanceDetail.builder()) - .index("instance-0") - .since(new Date(1000)) - .state("test-application-instance-info-state") - .build()) - .lastUploaded(new Date(0)) - .name("test-application-summary-name") - .requestedState("test-application-summary-state") - .stack("test-stack-entity-name") - .url("test-route-host.test-domain-name/test-path") - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .get(GetApplicationRequest.builder().name("test-app").build()) + .as(StepVerifier::create) + .expectNext( + fill(ApplicationDetail.builder()) + .buildpack("test-buildpack") + .id("test-application-summary-id") + .instanceDetail( + fill(InstanceDetail.builder()) + .index("instance-0") + .since(new Date(1000)) + .state("test-application-instance-info-state") + .build()) + .lastUploaded(new Date(0)) + .name("test-application-summary-name") + .requestedState("test-application-summary-state") + .stack("test-stack-entity-name") + .url("test-route-host.test-domain-name/test-path") + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void getApplicationManifest() { - requestApplications(this.cloudFoundryClient, "test-app", TEST_SPACE_ID, "test-application-id"); + requestApplications( + this.cloudFoundryClient, "test-app", TEST_SPACE_ID, "test-application-id"); requestApplicationSummary(this.cloudFoundryClient, "test-application-id"); requestStack(this.cloudFoundryClient, "test-application-summary-stackId"); requestGetApplicationV3BuildpackMultiple(this.cloudFoundryClient, "test-application-id"); this.applications - .getApplicationManifest(GetApplicationManifestRequest.builder() - .name("test-app") - .build()) - .as(StepVerifier::create) - .expectNext(ApplicationManifest.builder() - .buildpacks("test-buildpack-1", "test-buildpack-2") - .command("test-application-summary-command") - .disk(1) - .environmentVariables(Collections.emptyMap()) - .healthCheckHttpEndpoint("test-application-summary-healthCheckHttpEndpoint") - .healthCheckType(ApplicationHealthCheck.PORT) - .instances(1) - .memory(1) - .name("test-application-summary-name") - .route(Route.builder() - .route("test-route-host.test-domain-name/test-path") - .build()) - .service("test-service-instance-name") - .stack("test-stack-entity-name") - .timeout(1) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .getApplicationManifest( + GetApplicationManifestRequest.builder().name("test-app").build()) + .as(StepVerifier::create) + .expectNext( + ApplicationManifest.builder() + .buildpacks("test-buildpack-1", "test-buildpack-2") + .command("test-application-summary-command") + .disk(1) + .environmentVariables(Collections.emptyMap()) + .healthCheckHttpEndpoint( + "test-application-summary-healthCheckHttpEndpoint") + .healthCheckType(ApplicationHealthCheck.PORT) + .instances(1) + .memory(1) + .name("test-application-summary-name") + .route( + Route.builder() + .route("test-route-host.test-domain-name/test-path") + .build()) + .service("test-service-instance-name") + .stack("test-stack-entity-name") + .timeout(1) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void getApplicationManifestDocker() { - requestApplications(this.cloudFoundryClient, "test-app", TEST_SPACE_ID, "test-application-id"); + requestApplications( + this.cloudFoundryClient, "test-app", TEST_SPACE_ID, "test-application-id"); requestApplicationSummaryDocker(this.cloudFoundryClient, "test-application-id"); requestStack(this.cloudFoundryClient, "test-application-summary-stackId"); requestGetApplicationV3Docker(this.cloudFoundryClient, "test-application-id"); this.applications - .getApplicationManifest(GetApplicationManifestRequest.builder() - .name("test-app") - .build()) - .as(StepVerifier::create) - .expectNext(ApplicationManifest.builder() - .command("test-application-summary-command") - .disk(1) - .docker(Docker.builder() - .image("cloudfoundry/test-app") - .username("admin") - .password("Abcd5") - .build()) - .environmentVariables(Collections.emptyMap()) - .healthCheckHttpEndpoint("test-application-summary-healthCheckHttpEndpoint") - .healthCheckType(ApplicationHealthCheck.PORT) - .instances(1) - .memory(1) - .name("test-application-summary-name") - .route(Route.builder() - .route("test-route-host.test-domain-name/test-path") - .build()) - .service("test-service-instance-name") - .stack("test-stack-entity-name") - .timeout(1) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .getApplicationManifest( + GetApplicationManifestRequest.builder().name("test-app").build()) + .as(StepVerifier::create) + .expectNext( + ApplicationManifest.builder() + .command("test-application-summary-command") + .disk(1) + .docker( + Docker.builder() + .image("cloudfoundry/test-app") + .username("admin") + .password("Abcd5") + .build()) + .environmentVariables(Collections.emptyMap()) + .healthCheckHttpEndpoint( + "test-application-summary-healthCheckHttpEndpoint") + .healthCheckType(ApplicationHealthCheck.PORT) + .instances(1) + .memory(1) + .name("test-application-summary-name") + .route( + Route.builder() + .route("test-route-host.test-domain-name/test-path") + .build()) + .service("test-service-instance-name") + .stack("test-stack-entity-name") + .timeout(1) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void getApplicationManifestNoRoutes() { - requestApplications(this.cloudFoundryClient, "test-app", TEST_SPACE_ID, "test-application-id"); + requestApplications( + this.cloudFoundryClient, "test-app", TEST_SPACE_ID, "test-application-id"); requestApplicationSummaryNoRoutes(this.cloudFoundryClient, "test-application-id"); requestStack(this.cloudFoundryClient, "test-application-summary-stackId"); requestGetApplicationV3Buildpack(this.cloudFoundryClient, "test-application-id"); this.applications - .getApplicationManifest(GetApplicationManifestRequest.builder() - .name("test-app") - .build()) - .as(StepVerifier::create) - .expectNext(ApplicationManifest.builder() - .buildpack("test-buildpack") - .command("test-application-summary-command") - .disk(1) - .environmentVariables(Collections.emptyMap()) - .healthCheckHttpEndpoint("test-application-summary-healthCheckHttpEndpoint") - .healthCheckType(ApplicationHealthCheck.PORT) - .instances(1) - .memory(1) - .name("test-application-summary-name") - .noRoute(true) - .stack("test-stack-entity-name") - .timeout(1) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .getApplicationManifest( + GetApplicationManifestRequest.builder().name("test-app").build()) + .as(StepVerifier::create) + .expectNext( + ApplicationManifest.builder() + .buildpack("test-buildpack") + .command("test-application-summary-command") + .disk(1) + .environmentVariables(Collections.emptyMap()) + .healthCheckHttpEndpoint( + "test-application-summary-healthCheckHttpEndpoint") + .healthCheckType(ApplicationHealthCheck.PORT) + .instances(1) + .memory(1) + .name("test-application-summary-name") + .noRoute(true) + .stack("test-stack-entity-name") + .timeout(1) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void getApplicationManifestTcp() { - requestApplications(this.cloudFoundryClient, "test-app", TEST_SPACE_ID, "test-application-id"); + requestApplications( + this.cloudFoundryClient, "test-app", TEST_SPACE_ID, "test-application-id"); requestApplicationSummaryTcp(this.cloudFoundryClient, "test-application-id"); requestStack(this.cloudFoundryClient, "test-application-summary-stackId"); requestGetApplicationV3Buildpack(this.cloudFoundryClient, "test-application-id"); this.applications - .getApplicationManifest(GetApplicationManifestRequest.builder() - .name("test-app") - .build()) - .as(StepVerifier::create) - .expectNext(ApplicationManifest.builder() - .buildpack("test-buildpack") - .command("test-application-summary-command") - .disk(1) - .environmentVariables(Collections.emptyMap()) - .healthCheckHttpEndpoint("test-application-summary-healthCheckHttpEndpoint") - .healthCheckType(ApplicationHealthCheck.PORT) - .instances(1) - .memory(1) - .name("test-application-summary-name") - .route(Route.builder() - .route("test-route-host.test-domain-name:999") - .build()) - .service("test-service-instance-name") - .stack("test-stack-entity-name") - .timeout(1) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .getApplicationManifest( + GetApplicationManifestRequest.builder().name("test-app").build()) + .as(StepVerifier::create) + .expectNext( + ApplicationManifest.builder() + .buildpack("test-buildpack") + .command("test-application-summary-command") + .disk(1) + .environmentVariables(Collections.emptyMap()) + .healthCheckHttpEndpoint( + "test-application-summary-healthCheckHttpEndpoint") + .healthCheckType(ApplicationHealthCheck.PORT) + .instances(1) + .memory(1) + .name("test-application-summary-name") + .route( + Route.builder() + .route("test-route-host.test-domain-name:999") + .build()) + .service("test-service-instance-name") + .stack("test-stack-entity-name") + .timeout(1) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void getBuildpackError() { - requestApplications(this.cloudFoundryClient, "test-app", TEST_SPACE_ID, "test-application-id"); + requestApplications( + this.cloudFoundryClient, "test-app", TEST_SPACE_ID, "test-application-id"); requestApplicationStatistics(this.cloudFoundryClient, "test-application-id"); requestStack(this.cloudFoundryClient, "test-application-stackId"); requestApplicationSummary(this.cloudFoundryClient, "test-application-id"); @@ -586,26 +671,26 @@ public void getBuildpackError() { requestGetApplicationV3Buildpack(this.cloudFoundryClient, "test-application-id"); this.applications - .get(GetApplicationRequest.builder() - .name("test-app") - .build()) - .as(StepVerifier::create) - .expectNext(fill(ApplicationDetail.builder()) - .buildpack("test-buildpack") - .id("test-application-summary-id") - .lastUploaded(new Date(0)) - .name("test-application-summary-name") - .requestedState("test-application-summary-state") - .stack("test-stack-entity-name") - .url("test-route-host.test-domain-name/test-path") - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .get(GetApplicationRequest.builder().name("test-app").build()) + .as(StepVerifier::create) + .expectNext( + fill(ApplicationDetail.builder()) + .buildpack("test-buildpack") + .id("test-application-summary-id") + .lastUploaded(new Date(0)) + .name("test-application-summary-name") + .requestedState("test-application-summary-state") + .stack("test-stack-entity-name") + .url("test-route-host.test-domain-name/test-path") + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void getDetectedBuildpack() { - requestApplications(this.cloudFoundryClient, "test-app", TEST_SPACE_ID, "test-application-id"); + requestApplications( + this.cloudFoundryClient, "test-app", TEST_SPACE_ID, "test-application-id"); requestApplicationStatistics(this.cloudFoundryClient, "test-application-id"); requestStack(this.cloudFoundryClient, "test-application-stackId"); requestApplicationSummaryDetectedBuildpack(this.cloudFoundryClient, "test-application-id"); @@ -613,26 +698,26 @@ public void getDetectedBuildpack() { requestGetApplicationV3Docker(this.cloudFoundryClient, "test-application-id"); this.applications - .get(GetApplicationRequest.builder() - .name("test-app") - .build()) - .as(StepVerifier::create) - .expectNext(fill(ApplicationDetail.builder()) - .buildpack("test-application-summary-detectedBuildpack") - .id("test-application-summary-id") - .instanceDetail(fill(InstanceDetail.builder()) - .index("instance-0") - .since(new Date(1000)) - .state("test-application-instance-info-state") - .build()) - .lastUploaded(new Date(0)) - .name("test-application-summary-name") - .requestedState("test-application-summary-state") - .stack("test-stack-entity-name") - .url("test-route-host.test-domain-name:1") - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .get(GetApplicationRequest.builder().name("test-app").build()) + .as(StepVerifier::create) + .expectNext( + fill(ApplicationDetail.builder()) + .buildpack("test-application-summary-detectedBuildpack") + .id("test-application-summary-id") + .instanceDetail( + fill(InstanceDetail.builder()) + .index("instance-0") + .since(new Date(1000)) + .state("test-application-instance-info-state") + .build()) + .lastUploaded(new Date(0)) + .name("test-application-summary-name") + .requestedState("test-application-summary-state") + .stack("test-stack-entity-name") + .url("test-route-host.test-domain-name:1") + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test @@ -641,26 +726,30 @@ public void getEnvironments() { requestApplicationEnvironment(this.cloudFoundryClient, "test-metadata-id"); this.applications - .getEnvironments(GetApplicationEnvironmentsRequest.builder() - .name("test-app") - .build()) - .as(StepVerifier::create) - .expectNext(ApplicationEnvironments.builder() - .running(FluentMap.builder() - .entry("running-env-name", "running-env-value") - .build()) - .staging(FluentMap.builder() - .entry("staging-env-name", "staging-env-value") - .build()) - .systemProvided(FluentMap.builder() - .entry("system-env-name", "system-env-value") - .build()) - .userProvided(FluentMap.builder() - .entry("env-name", "env-value") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .getEnvironments( + GetApplicationEnvironmentsRequest.builder().name("test-app").build()) + .as(StepVerifier::create) + .expectNext( + ApplicationEnvironments.builder() + .running( + FluentMap.builder() + .entry("running-env-name", "running-env-value") + .build()) + .staging( + FluentMap.builder() + .entry("staging-env-name", "staging-env-value") + .build()) + .systemProvided( + FluentMap.builder() + .entry("system-env-name", "system-env-value") + .build()) + .userProvided( + FluentMap.builder() + .entry("env-name", "env-value") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test @@ -668,70 +757,84 @@ public void getEnvironmentsNoApp() { requestApplicationsEmpty(this.cloudFoundryClient, "test-app", TEST_SPACE_ID); this.applications - .getEnvironments(GetApplicationEnvironmentsRequest.builder() - .name("test-app") - .build()) - .as(StepVerifier::create) - .consumeErrorWith(t -> assertThat(t).isInstanceOf(IllegalArgumentException.class).hasMessage("Application test-app does not exist")) - .verify(Duration.ofSeconds(5)); + .getEnvironments( + GetApplicationEnvironmentsRequest.builder().name("test-app").build()) + .as(StepVerifier::create) + .consumeErrorWith( + t -> + assertThat(t) + .isInstanceOf(IllegalArgumentException.class) + .hasMessage("Application test-app does not exist")) + .verify(Duration.ofSeconds(5)); } @Test public void getEvents() { requestApplications(this.cloudFoundryClient, "test-app", TEST_SPACE_ID, "test-metadata-id"); - requestEvents(this.cloudFoundryClient, "test-metadata-id", - fill(EventEntity.builder(), "event-") - .timestamp("2016-02-08T15:45:59Z") - .metadata("request", Optional.of(FluentMap.builder() - .entry("instances", 1) - .entry("memory", 2) - .entry("environment_json", "test-data") - .entry("state", "test-state") - .build())) - .build()); + requestEvents( + this.cloudFoundryClient, + "test-metadata-id", + fill(EventEntity.builder(), "event-") + .timestamp("2016-02-08T15:45:59Z") + .metadata( + "request", + Optional.of( + FluentMap.builder() + .entry("instances", 1) + .entry("memory", 2) + .entry("environment_json", "test-data") + .entry("state", "test-state") + .build())) + .build()); this.applications - .getEvents(GetApplicationEventsRequest.builder() - .name("test-app") - .build()) - .as(StepVerifier::create) - .expectNext(ApplicationEvent.builder() - .actor("test-event-actorName") - .description("instances: 1, memory: 2, state: test-state, environment_json: test-data") - .event("test-event-type") - .id("test-event-id") - .time(DateUtils.parseFromIso8601("2016-02-08T15:45:59Z")) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .getEvents(GetApplicationEventsRequest.builder().name("test-app").build()) + .as(StepVerifier::create) + .expectNext( + ApplicationEvent.builder() + .actor("test-event-actorName") + .description( + "instances: 1, memory: 2, state: test-state," + + " environment_json: test-data") + .event("test-event-type") + .id("test-event-id") + .time(DateUtils.parseFromIso8601("2016-02-08T15:45:59Z")) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void getEventsBadTimeSparseMetadata() { requestApplications(this.cloudFoundryClient, "test-app", TEST_SPACE_ID, "test-metadata-id"); - requestEvents(this.cloudFoundryClient, "test-metadata-id", - fill(EventEntity.builder(), "event-") - .timestamp("BAD-TIMESTAMP") - .metadata("request", Optional.of(FluentMap.builder() - .entry("memory", 2) - .entry("environment_json", "test-data") - .entry("state", "test-state") - .build())) - .build()); + requestEvents( + this.cloudFoundryClient, + "test-metadata-id", + fill(EventEntity.builder(), "event-") + .timestamp("BAD-TIMESTAMP") + .metadata( + "request", + Optional.of( + FluentMap.builder() + .entry("memory", 2) + .entry("environment_json", "test-data") + .entry("state", "test-state") + .build())) + .build()); this.applications - .getEvents(GetApplicationEventsRequest.builder() - .name("test-app") - .build()) - .as(StepVerifier::create) - .expectNext(ApplicationEvent.builder() - .actor("test-event-actorName") - .description("memory: 2, state: test-state, environment_json: test-data") - .event("test-event-type") - .id("test-event-id") - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .getEvents(GetApplicationEventsRequest.builder().name("test-app").build()) + .as(StepVerifier::create) + .expectNext( + ApplicationEvent.builder() + .actor("test-event-actorName") + .description( + "memory: 2, state: test-state, environment_json: test-data") + .event("test-event-type") + .id("test-event-id") + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test @@ -740,124 +843,143 @@ public void getEventsFoundZero() { requestEvents(this.cloudFoundryClient, "test-metadata-id"); this.applications - .getEvents(GetApplicationEventsRequest.builder() - .name("test-app") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .getEvents(GetApplicationEventsRequest.builder().name("test-app").build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void getEventsLimitZero() { requestApplications(this.cloudFoundryClient, "test-app", TEST_SPACE_ID, "test-metadata-id"); - requestEvents(this.cloudFoundryClient, "test-metadata-id", - fill(EventEntity.builder(), "event-") - .timestamp("2016-02-08T15:45:59Z") - .metadata("request", Optional.of(FluentMap.builder() - .entry("instances", 1) - .entry("memory", 2) - .entry("environment_json", "test-data") - .entry("state", "test-state") - .build())) - .build()); + requestEvents( + this.cloudFoundryClient, + "test-metadata-id", + fill(EventEntity.builder(), "event-") + .timestamp("2016-02-08T15:45:59Z") + .metadata( + "request", + Optional.of( + FluentMap.builder() + .entry("instances", 1) + .entry("memory", 2) + .entry("environment_json", "test-data") + .entry("state", "test-state") + .build())) + .build()); this.applications - .getEvents(GetApplicationEventsRequest.builder() - .name("test-app") - .maxNumberOfEvents(0) - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .getEvents( + GetApplicationEventsRequest.builder() + .name("test-app") + .maxNumberOfEvents(0) + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void getEventsNoRequestMetadata() { requestApplications(this.cloudFoundryClient, "test-app", TEST_SPACE_ID, "test-metadata-id"); - requestEvents(this.cloudFoundryClient, "test-metadata-id", - fill(EventEntity.builder(), "event-") - .timestamp("2016-02-08T15:45:59Z") - .metadata("index", Optional.of(1)) - .build()); + requestEvents( + this.cloudFoundryClient, + "test-metadata-id", + fill(EventEntity.builder(), "event-") + .timestamp("2016-02-08T15:45:59Z") + .metadata("index", Optional.of(1)) + .build()); this.applications - .getEvents(GetApplicationEventsRequest.builder() - .name("test-app") - .build()) - .as(StepVerifier::create) - .expectNext(ApplicationEvent.builder() - .actor("test-event-actorName") - .description("") - .event("test-event-type") - .time(DateUtils.parseFromIso8601("2016-02-08T15:45:59Z")) - .id("test-event-id") - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .getEvents(GetApplicationEventsRequest.builder().name("test-app").build()) + .as(StepVerifier::create) + .expectNext( + ApplicationEvent.builder() + .actor("test-event-actorName") + .description("") + .event("test-event-type") + .time(DateUtils.parseFromIso8601("2016-02-08T15:45:59Z")) + .id("test-event-id") + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void getEventsTwo() { requestApplications(this.cloudFoundryClient, "test-app", TEST_SPACE_ID, "test-metadata-id"); - requestEvents(this.cloudFoundryClient, "test-metadata-id", - fill(EventEntity.builder(), "event-") - .timestamp("2016-02-08T15:45:59Z") - .metadata("request", Optional.of(FluentMap.builder() - .entry("instances", 1) - .entry("memory", 2) - .entry("environment_json", "test-data") - .entry("state", "test-state") - .build())) - .build(), - fill(EventEntity.builder(), "event-") - .timestamp("2016-02-08T15:49:07Z") - .metadata("request", Optional.of(FluentMap.builder() - .entry("state", "test-state-two") - .build())) - .build() - ); + requestEvents( + this.cloudFoundryClient, + "test-metadata-id", + fill(EventEntity.builder(), "event-") + .timestamp("2016-02-08T15:45:59Z") + .metadata( + "request", + Optional.of( + FluentMap.builder() + .entry("instances", 1) + .entry("memory", 2) + .entry("environment_json", "test-data") + .entry("state", "test-state") + .build())) + .build(), + fill(EventEntity.builder(), "event-") + .timestamp("2016-02-08T15:49:07Z") + .metadata( + "request", + Optional.of( + FluentMap.builder() + .entry("state", "test-state-two") + .build())) + .build()); this.applications - .getEvents(GetApplicationEventsRequest.builder() - .name("test-app") - .build()) - .as(StepVerifier::create) - .expectNext(ApplicationEvent.builder() - .actor("test-event-actorName") - .description("instances: 1, memory: 2, state: test-state, environment_json: test-data") - .event("test-event-type") - .id("test-event-id") - .time(DateUtils.parseFromIso8601("2016-02-08T15:45:59Z")) - .build(), - ApplicationEvent.builder() - .actor("test-event-actorName") - .description("state: test-state-two") - .event("test-event-type") - .id("test-event-id") - .time(DateUtils.parseFromIso8601("2016-02-08T15:49:07Z")) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .getEvents(GetApplicationEventsRequest.builder().name("test-app").build()) + .as(StepVerifier::create) + .expectNext( + ApplicationEvent.builder() + .actor("test-event-actorName") + .description( + "instances: 1, memory: 2, state: test-state," + + " environment_json: test-data") + .event("test-event-type") + .id("test-event-id") + .time(DateUtils.parseFromIso8601("2016-02-08T15:45:59Z")) + .build(), + ApplicationEvent.builder() + .actor("test-event-actorName") + .description("state: test-state-two") + .event("test-event-type") + .id("test-event-id") + .time(DateUtils.parseFromIso8601("2016-02-08T15:49:07Z")) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void getHealthCheck() { - requestApplications(this.cloudFoundryClient, "test-application-name", TEST_SPACE_ID, "test-metadata-id"); + requestApplications( + this.cloudFoundryClient, + "test-application-name", + TEST_SPACE_ID, + "test-metadata-id"); this.applications - .getHealthCheck(GetApplicationHealthCheckRequest.builder() - .name("test-application-name") - .build()) - .as(StepVerifier::create) - .expectNext(ApplicationHealthCheck.PORT) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .getHealthCheck( + GetApplicationHealthCheckRequest.builder() + .name("test-application-name") + .build()) + .as(StepVerifier::create) + .expectNext(ApplicationHealthCheck.PORT) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void getInstancesError() { - requestApplications(this.cloudFoundryClient, "test-app", TEST_SPACE_ID, "test-application-id"); + requestApplications( + this.cloudFoundryClient, "test-app", TEST_SPACE_ID, "test-application-id"); requestApplicationStatistics(this.cloudFoundryClient, "test-application-id"); requestStack(this.cloudFoundryClient, "test-application-stackId"); requestApplicationSummary(this.cloudFoundryClient, "test-application-id"); @@ -865,26 +987,26 @@ public void getInstancesError() { requestGetApplicationV3Buildpack(this.cloudFoundryClient, "test-application-id"); this.applications - .get(GetApplicationRequest.builder() - .name("test-app") - .build()) - .as(StepVerifier::create) - .expectNext(fill(ApplicationDetail.builder()) - .buildpack("test-buildpack") - .id("test-application-summary-id") - .lastUploaded(new Date(0)) - .name("test-application-summary-name") - .requestedState("test-application-summary-state") - .stack("test-stack-entity-name") - .url("test-route-host.test-domain-name/test-path") - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .get(GetApplicationRequest.builder().name("test-app").build()) + .as(StepVerifier::create) + .expectNext( + fill(ApplicationDetail.builder()) + .buildpack("test-buildpack") + .id("test-application-summary-id") + .lastUploaded(new Date(0)) + .name("test-application-summary-name") + .requestedState("test-application-summary-state") + .stack("test-stack-entity-name") + .url("test-route-host.test-domain-name/test-path") + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void getNoBuildpack() { - requestApplications(this.cloudFoundryClient, "test-app", TEST_SPACE_ID, "test-application-id"); + requestApplications( + this.cloudFoundryClient, "test-app", TEST_SPACE_ID, "test-application-id"); requestApplicationStatistics(this.cloudFoundryClient, "test-application-id"); requestStack(this.cloudFoundryClient, "test-application-stackId"); requestApplicationSummaryNoBuildpack(this.cloudFoundryClient, "test-application-id"); @@ -892,31 +1014,32 @@ public void getNoBuildpack() { requestGetApplicationV3Docker(this.cloudFoundryClient, "test-application-id"); this.applications - .get(GetApplicationRequest.builder() - .name("test-app") - .build()) - .as(StepVerifier::create) - .expectNext(fill(ApplicationDetail.builder()) - .buildpack(null) - .id("test-application-summary-id") - .instanceDetail(fill(InstanceDetail.builder()) - .index("instance-0") - .since(new Date(1000)) - .state("test-application-instance-info-state") - .build()) - .lastUploaded(new Date(0)) - .name("test-application-summary-name") - .requestedState("test-application-summary-state") - .stack("test-stack-entity-name") - .url("test-route-host.test-domain-name:1") - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .get(GetApplicationRequest.builder().name("test-app").build()) + .as(StepVerifier::create) + .expectNext( + fill(ApplicationDetail.builder()) + .buildpack(null) + .id("test-application-summary-id") + .instanceDetail( + fill(InstanceDetail.builder()) + .index("instance-0") + .since(new Date(1000)) + .state("test-application-instance-info-state") + .build()) + .lastUploaded(new Date(0)) + .name("test-application-summary-name") + .requestedState("test-application-summary-state") + .stack("test-stack-entity-name") + .url("test-route-host.test-domain-name:1") + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void getStagingError() { - requestApplications(this.cloudFoundryClient, "test-app", TEST_SPACE_ID, "test-application-id"); + requestApplications( + this.cloudFoundryClient, "test-app", TEST_SPACE_ID, "test-application-id"); requestApplicationStatistics(this.cloudFoundryClient, "test-application-id"); requestStack(this.cloudFoundryClient, "test-application-stackId"); requestApplicationSummary(this.cloudFoundryClient, "test-application-id"); @@ -924,26 +1047,26 @@ public void getStagingError() { requestGetApplicationV3Buildpack(this.cloudFoundryClient, "test-application-id"); this.applications - .get(GetApplicationRequest.builder() - .name("test-app") - .build()) - .as(StepVerifier::create) - .expectNext(fill(ApplicationDetail.builder()) - .buildpack("test-buildpack") - .id("test-application-summary-id") - .lastUploaded(new Date(0)) - .name("test-application-summary-name") - .requestedState("test-application-summary-state") - .stack("test-stack-entity-name") - .url("test-route-host.test-domain-name/test-path") - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .get(GetApplicationRequest.builder().name("test-app").build()) + .as(StepVerifier::create) + .expectNext( + fill(ApplicationDetail.builder()) + .buildpack("test-buildpack") + .id("test-application-summary-id") + .lastUploaded(new Date(0)) + .name("test-application-summary-name") + .requestedState("test-application-summary-state") + .stack("test-stack-entity-name") + .url("test-route-host.test-domain-name/test-path") + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void getStoppedError() { - requestApplications(this.cloudFoundryClient, "test-app", TEST_SPACE_ID, "test-application-id"); + requestApplications( + this.cloudFoundryClient, "test-app", TEST_SPACE_ID, "test-application-id"); requestApplicationStatisticsError(this.cloudFoundryClient, "test-application-id", 200003); requestStack(this.cloudFoundryClient, "test-application-stackId"); requestApplicationSummary(this.cloudFoundryClient, "test-application-id"); @@ -951,31 +1074,32 @@ public void getStoppedError() { requestGetApplicationV3Buildpack(this.cloudFoundryClient, "test-application-id"); this.applications - .get(GetApplicationRequest.builder() - .name("test-app") - .build()) - .as(StepVerifier::create) - .expectNext(fill(ApplicationDetail.builder()) - .buildpack("test-buildpack") - .id("test-application-summary-id") - .instanceDetail(InstanceDetail.builder() - .index("instance-0") - .since(new Date(1000)) - .state("test-application-instance-info-state") - .build()) - .lastUploaded(new Date(0)) - .name("test-application-summary-name") - .requestedState("test-application-summary-state") - .stack("test-stack-entity-name") - .url("test-route-host.test-domain-name/test-path") - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .get(GetApplicationRequest.builder().name("test-app").build()) + .as(StepVerifier::create) + .expectNext( + fill(ApplicationDetail.builder()) + .buildpack("test-buildpack") + .id("test-application-summary-id") + .instanceDetail( + InstanceDetail.builder() + .index("instance-0") + .since(new Date(1000)) + .state("test-application-instance-info-state") + .build()) + .lastUploaded(new Date(0)) + .name("test-application-summary-name") + .requestedState("test-application-summary-state") + .stack("test-stack-entity-name") + .url("test-route-host.test-domain-name/test-path") + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void getWithEmptyInstance() { - requestApplications(this.cloudFoundryClient, "test-app", TEST_SPACE_ID, "test-application-id"); + requestApplications( + this.cloudFoundryClient, "test-app", TEST_SPACE_ID, "test-application-id"); requestApplicationStatistics(this.cloudFoundryClient, "test-application-id"); requestStack(this.cloudFoundryClient, "test-application-stackId"); requestApplicationSummary(this.cloudFoundryClient, "test-application-id"); @@ -983,31 +1107,32 @@ public void getWithEmptyInstance() { requestGetApplicationV3Buildpack(this.cloudFoundryClient, "test-application-id"); this.applications - .get(GetApplicationRequest.builder() - .name("test-app") - .build()) - .as(StepVerifier::create) - .expectNext(fill(ApplicationDetail.builder()) - .buildpack("test-buildpack") - .id("test-application-summary-id") - .instanceDetail(fill(InstanceDetail.builder()) - .index("instance-0") - .since(null) - .state(null) - .build()) - .lastUploaded(new Date(0)) - .name("test-application-summary-name") - .requestedState("test-application-summary-state") - .stack("test-stack-entity-name") - .url("test-route-host.test-domain-name/test-path") - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .get(GetApplicationRequest.builder().name("test-app").build()) + .as(StepVerifier::create) + .expectNext( + fill(ApplicationDetail.builder()) + .buildpack("test-buildpack") + .id("test-application-summary-id") + .instanceDetail( + fill(InstanceDetail.builder()) + .index("instance-0") + .since(null) + .state(null) + .build()) + .lastUploaded(new Date(0)) + .name("test-application-summary-name") + .requestedState("test-application-summary-state") + .stack("test-stack-entity-name") + .url("test-route-host.test-domain-name/test-path") + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void getWithEmptyInstanceStats() { - requestApplications(this.cloudFoundryClient, "test-app", TEST_SPACE_ID, "test-application-id"); + requestApplications( + this.cloudFoundryClient, "test-app", TEST_SPACE_ID, "test-application-id"); requestApplicationEmptyStats(this.cloudFoundryClient, "test-application-id"); requestStack(this.cloudFoundryClient, "test-application-stackId"); requestApplicationSummary(this.cloudFoundryClient, "test-application-id"); @@ -1015,31 +1140,32 @@ public void getWithEmptyInstanceStats() { requestGetApplicationV3Buildpack(this.cloudFoundryClient, "test-application-id"); this.applications - .get(GetApplicationRequest.builder() - .name("test-app") - .build()) - .as(StepVerifier::create) - .expectNext(fill(ApplicationDetail.builder()) - .buildpack("test-buildpack") - .id("test-application-summary-id") - .instanceDetail(InstanceDetail.builder() - .index("instance-0") - .since(new Date(1000)) - .state("test-application-instance-info-state") - .build()) - .lastUploaded(new Date(0)) - .name("test-application-summary-name") - .requestedState("test-application-summary-state") - .stack("test-stack-entity-name") - .url("test-route-host.test-domain-name/test-path") - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .get(GetApplicationRequest.builder().name("test-app").build()) + .as(StepVerifier::create) + .expectNext( + fill(ApplicationDetail.builder()) + .buildpack("test-buildpack") + .id("test-application-summary-id") + .instanceDetail( + InstanceDetail.builder() + .index("instance-0") + .since(new Date(1000)) + .state("test-application-instance-info-state") + .build()) + .lastUploaded(new Date(0)) + .name("test-application-summary-name") + .requestedState("test-application-summary-state") + .stack("test-stack-entity-name") + .url("test-route-host.test-domain-name/test-path") + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void getWithNoInstances() { - requestApplications(this.cloudFoundryClient, "test-app", TEST_SPACE_ID, "test-application-id"); + requestApplications( + this.cloudFoundryClient, "test-app", TEST_SPACE_ID, "test-application-id"); requestApplicationStatistics(this.cloudFoundryClient, "test-application-id"); requestStack(this.cloudFoundryClient, "test-application-stackId"); requestApplicationSummary(this.cloudFoundryClient, "test-application-id"); @@ -1047,26 +1173,26 @@ public void getWithNoInstances() { requestGetApplicationV3Buildpack(this.cloudFoundryClient, "test-application-id"); this.applications - .get(GetApplicationRequest.builder() - .name("test-app") - .build()) - .as(StepVerifier::create) - .expectNext(fill(ApplicationDetail.builder()) - .buildpack("test-buildpack") - .id("test-application-summary-id") - .lastUploaded(new Date(0)) - .name("test-application-summary-name") - .requestedState("test-application-summary-state") - .stack("test-stack-entity-name") - .url("test-route-host.test-domain-name/test-path") - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .get(GetApplicationRequest.builder().name("test-app").build()) + .as(StepVerifier::create) + .expectNext( + fill(ApplicationDetail.builder()) + .buildpack("test-buildpack") + .id("test-application-summary-id") + .lastUploaded(new Date(0)) + .name("test-application-summary-name") + .requestedState("test-application-summary-state") + .stack("test-stack-entity-name") + .url("test-route-host.test-domain-name/test-path") + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void getWithNullStats() { - requestApplications(this.cloudFoundryClient, "test-app", TEST_SPACE_ID, "test-application-id"); + requestApplications( + this.cloudFoundryClient, "test-app", TEST_SPACE_ID, "test-application-id"); requestApplicationNullStats(this.cloudFoundryClient, "test-application-id"); requestStack(this.cloudFoundryClient, "test-application-stackId"); requestApplicationSummary(this.cloudFoundryClient, "test-application-id"); @@ -1074,31 +1200,32 @@ public void getWithNullStats() { requestGetApplicationV3Buildpack(this.cloudFoundryClient, "test-application-id"); this.applications - .get(GetApplicationRequest.builder() - .name("test-app") - .build()) - .as(StepVerifier::create) - .expectNext(fill(ApplicationDetail.builder()) - .buildpack("test-buildpack") - .id("test-application-summary-id") - .instanceDetail(InstanceDetail.builder() - .index("instance-0") - .since(new Date(1000)) - .state("test-application-instance-info-state") - .build()) - .lastUploaded(new Date(0)) - .name("test-application-summary-name") - .requestedState("test-application-summary-state") - .stack("test-stack-entity-name") - .url("test-route-host.test-domain-name/test-path") - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .get(GetApplicationRequest.builder().name("test-app").build()) + .as(StepVerifier::create) + .expectNext( + fill(ApplicationDetail.builder()) + .buildpack("test-buildpack") + .id("test-application-summary-id") + .instanceDetail( + InstanceDetail.builder() + .index("instance-0") + .since(new Date(1000)) + .state("test-application-instance-info-state") + .build()) + .lastUploaded(new Date(0)) + .name("test-application-summary-name") + .requestedState("test-application-summary-state") + .stack("test-stack-entity-name") + .url("test-route-host.test-domain-name/test-path") + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void getWithNullUsage() { - requestApplications(this.cloudFoundryClient, "test-app", TEST_SPACE_ID, "test-application-id"); + requestApplications( + this.cloudFoundryClient, "test-app", TEST_SPACE_ID, "test-application-id"); requestApplicationNullUsage(this.cloudFoundryClient, "test-application-id"); requestStack(this.cloudFoundryClient, "test-application-stackId"); requestApplicationSummary(this.cloudFoundryClient, "test-application-id"); @@ -1106,81 +1233,83 @@ public void getWithNullUsage() { requestGetApplicationV3Buildpack(this.cloudFoundryClient, "test-application-id"); this.applications - .get(GetApplicationRequest.builder() - .name("test-app") - .build()) - .as(StepVerifier::create) - .expectNext(fill(ApplicationDetail.builder()) - .buildpack("test-buildpack") - .id("test-application-summary-id") - .instanceDetail(InstanceDetail.builder() - .index("instance-0") - .diskQuota(1L) - .memoryQuota(1L) - .since(new Date(1000)) - .state("test-application-instance-info-state") - .build()) - .lastUploaded(new Date(0)) - .name("test-application-summary-name") - .requestedState("test-application-summary-state") - .stack("test-stack-entity-name") - .url("test-route-host.test-domain-name/test-path") - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .get(GetApplicationRequest.builder().name("test-app").build()) + .as(StepVerifier::create) + .expectNext( + fill(ApplicationDetail.builder()) + .buildpack("test-buildpack") + .id("test-application-summary-id") + .instanceDetail( + InstanceDetail.builder() + .index("instance-0") + .diskQuota(1L) + .memoryQuota(1L) + .since(new Date(1000)) + .state("test-application-instance-info-state") + .build()) + .lastUploaded(new Date(0)) + .name("test-application-summary-name") + .requestedState("test-application-summary-state") + .stack("test-stack-entity-name") + .url("test-route-host.test-domain-name/test-path") + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void list() { requestSpaceSummary(this.cloudFoundryClient, TEST_SPACE_ID); - this.applications.list() - .as(StepVerifier::create) - .expectNext(fill(ApplicationSummary.builder()) - .id("test-application-summary-id") - .name("test-application-summary-name") - .requestedState("test-application-summary-state") - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + this.applications + .list() + .as(StepVerifier::create) + .expectNext( + fill(ApplicationSummary.builder()) + .id("test-application-summary-id") + .name("test-application-summary-name") + .requestedState("test-application-summary-state") + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void listTasks() { - requestApplicationsV3(this.cloudFoundryClient, "test-name", TEST_SPACE_ID, "test-metadata-id"); + requestApplicationsV3( + this.cloudFoundryClient, "test-name", TEST_SPACE_ID, "test-metadata-id"); requestListTasks(this.cloudFoundryClient, "test-metadata-id"); this.applications - .listTasks(ListApplicationTasksRequest.builder() - .name("test-name") - .build()) - .as(StepVerifier::create) - .expectNext(fill(Task.builder()) - .command("test-command") - .state(TaskState.CANCELING) - .name("test-name") - .sequenceId(1) - .startTime("test-createdAt") - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .listTasks(ListApplicationTasksRequest.builder().name("test-name").build()) + .as(StepVerifier::create) + .expectNext( + fill(Task.builder()) + .command("test-command") + .state(TaskState.CANCELING) + .name("test-name") + .sequenceId(1) + .startTime("test-createdAt") + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void logs() { - requestApplications(this.cloudFoundryClient, "test-application-name", TEST_SPACE_ID, "test-metadata-id"); + requestApplications( + this.cloudFoundryClient, + "test-application-name", + TEST_SPACE_ID, + "test-metadata-id"); requestLogsStream(this.dopplerClient, "test-metadata-id"); this.applications - .logs(LogsRequest.builder() - .name("test-application-name") - .recent(false) - .build()) - .as(StepVerifier::create) - .expectNext(fill(LogMessage.builder(), "log-message-") - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .logs(LogsRequest.builder().name("test-application-name").recent(false).build()) + .as(StepVerifier::create) + .expectNext(fill(LogMessage.builder(), "log-message-").build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test @@ -1188,117 +1317,155 @@ public void logsNoApp() { requestApplicationsEmpty(this.cloudFoundryClient, "test-application-name", TEST_SPACE_ID); this.applications - .logs(LogsRequest.builder() - .name("test-application-name") - .build()) - .as(StepVerifier::create) - .consumeErrorWith(t -> assertThat(t).isInstanceOf(IllegalArgumentException.class).hasMessage("Application test-application-name does not exist")) - .verify(Duration.ofSeconds(5)); + .logs(LogsRequest.builder().name("test-application-name").build()) + .as(StepVerifier::create) + .consumeErrorWith( + t -> + assertThat(t) + .isInstanceOf(IllegalArgumentException.class) + .hasMessage( + "Application test-application-name does not exist")) + .verify(Duration.ofSeconds(5)); } @Test public void logsRecent() { - requestApplications(this.cloudFoundryClient, "test-application-name", TEST_SPACE_ID, "test-metadata-id"); + requestApplications( + this.cloudFoundryClient, + "test-application-name", + TEST_SPACE_ID, + "test-metadata-id"); requestLogsRecent(this.dopplerClient, "test-metadata-id"); this.applications - .logs(LogsRequest.builder() - .name("test-application-name") - .recent(true) - .build()) - .as(StepVerifier::create) - .expectNext(fill(LogMessage.builder(), "log-message-") - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .logs(LogsRequest.builder().name("test-application-name").recent(true).build()) + .as(StepVerifier::create) + .expectNext(fill(LogMessage.builder(), "log-message-").build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void logsRecentNotSet() { - requestApplications(this.cloudFoundryClient, "test-application-name", TEST_SPACE_ID, "test-metadata-id"); + requestApplications( + this.cloudFoundryClient, + "test-application-name", + TEST_SPACE_ID, + "test-metadata-id"); requestLogsStream(this.dopplerClient, "test-metadata-id"); this.applications - .logs(LogsRequest.builder() - .name("test-application-name") - .build()) - .as(StepVerifier::create) - .expectNext(fill(LogMessage.builder(), "log-message-") - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .logs(LogsRequest.builder().name("test-application-name").build()) + .as(StepVerifier::create) + .expectNext(fill(LogMessage.builder(), "log-message-").build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void pushDocker() { requestSpace(this.cloudFoundryClient, TEST_SPACE_ID, TEST_ORGANIZATION_ID); requestApplicationsEmpty(this.cloudFoundryClient, "test-name", TEST_SPACE_ID); - requestCreateDockerApplication(this.cloudFoundryClient, PushApplicationRequest.builder() - .dockerImage("cloudfoundry/lattice-app") - .domain("test-shared-domain") - .name("test-name") - .build(), TEST_SPACE_ID, null, "test-application-id"); - requestPrivateDomainNotFound(this.cloudFoundryClient, "test-shared-domain", TEST_ORGANIZATION_ID); + requestCreateDockerApplication( + this.cloudFoundryClient, + PushApplicationRequest.builder() + .dockerImage("cloudfoundry/lattice-app") + .domain("test-shared-domain") + .name("test-name") + .build(), + TEST_SPACE_ID, + null, + "test-application-id"); + requestPrivateDomainNotFound( + this.cloudFoundryClient, "test-shared-domain", TEST_ORGANIZATION_ID); requestPrivateDomainsEmpty(this.cloudFoundryClient, TEST_ORGANIZATION_ID); requestSharedDomain(this.cloudFoundryClient, "test-shared-domain", "test-shared-domain-id"); - requestSharedDomains(this.cloudFoundryClient, "test-shared-domain", "test-shared-domain-id"); + requestSharedDomains( + this.cloudFoundryClient, "test-shared-domain", "test-shared-domain-id"); requestGetSharedDomain(this.cloudFoundryClient, "test-shared-domain-id"); requestApplicationRoutes(this.cloudFoundryClient, "test-application-id", "test-route-id"); - requestRoutesEmpty(this.cloudFoundryClient, "test-shared-domain-id", "test-name", null, null); - requestCreateRoute(this.cloudFoundryClient, "test-shared-domain-id", "test-name", null, null, TEST_SPACE_ID, "test-route-id"); + requestRoutesEmpty( + this.cloudFoundryClient, "test-shared-domain-id", "test-name", null, null); + 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"); requestUpdateApplicationState(this.cloudFoundryClient, "test-application-id", "STOPPED"); requestUpdateApplicationState(this.cloudFoundryClient, "test-application-id", "STARTED"); requestGetApplication(this.cloudFoundryClient, "test-application-id"); requestApplicationInstancesRunning(this.cloudFoundryClient, "test-application-id"); - StepVerifier.withVirtualTime(() -> this.applications - .push(PushApplicationRequest.builder() - .dockerImage("cloudfoundry/lattice-app") - .domain("test-shared-domain") - .name("test-name") - .build())) - .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(3))) - .expectComplete() - .verify(Duration.ofSeconds(5)); + StepVerifier.withVirtualTime( + () -> + this.applications.push( + PushApplicationRequest.builder() + .dockerImage("cloudfoundry/lattice-app") + .domain("test-shared-domain") + .name("test-name") + .build())) + .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(3))) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void pushDockerPrivateRepository() { requestSpace(this.cloudFoundryClient, TEST_SPACE_ID, TEST_ORGANIZATION_ID); requestApplicationsEmpty(this.cloudFoundryClient, "test-name", TEST_SPACE_ID); - requestCreateDockerApplication(this.cloudFoundryClient, PushApplicationRequest.builder() - .dockerImage("cloudfoundry/lattice-app") - .dockerPassword("test-docker-password") - .dockerUsername("test-docker-username") - .domain("test-shared-domain") - .name("test-name") - .build(), TEST_SPACE_ID, null, "test-application-id"); - requestPrivateDomainNotFound(this.cloudFoundryClient, "test-shared-domain", TEST_ORGANIZATION_ID); + requestCreateDockerApplication( + this.cloudFoundryClient, + PushApplicationRequest.builder() + .dockerImage("cloudfoundry/lattice-app") + .dockerPassword("test-docker-password") + .dockerUsername("test-docker-username") + .domain("test-shared-domain") + .name("test-name") + .build(), + TEST_SPACE_ID, + null, + "test-application-id"); + requestPrivateDomainNotFound( + this.cloudFoundryClient, "test-shared-domain", TEST_ORGANIZATION_ID); requestPrivateDomainsEmpty(this.cloudFoundryClient, TEST_ORGANIZATION_ID); requestSharedDomain(this.cloudFoundryClient, "test-shared-domain", "test-shared-domain-id"); - requestSharedDomains(this.cloudFoundryClient, "test-shared-domain", "test-shared-domain-id"); + requestSharedDomains( + this.cloudFoundryClient, "test-shared-domain", "test-shared-domain-id"); requestGetSharedDomain(this.cloudFoundryClient, "test-shared-domain-id"); requestApplicationRoutes(this.cloudFoundryClient, "test-application-id", "test-route-id"); - requestRoutesEmpty(this.cloudFoundryClient, "test-shared-domain-id", "test-name", null, null); - requestCreateRoute(this.cloudFoundryClient, "test-shared-domain-id", "test-name", null, null, TEST_SPACE_ID, "test-route-id"); + requestRoutesEmpty( + this.cloudFoundryClient, "test-shared-domain-id", "test-name", null, null); + 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"); requestUpdateApplicationState(this.cloudFoundryClient, "test-application-id", "STOPPED"); requestUpdateApplicationState(this.cloudFoundryClient, "test-application-id", "STARTED"); requestGetApplication(this.cloudFoundryClient, "test-application-id"); requestApplicationInstancesRunning(this.cloudFoundryClient, "test-application-id"); - StepVerifier.withVirtualTime(() -> this.applications - .push(PushApplicationRequest.builder() - .dockerImage("cloudfoundry/lattice-app") - .dockerPassword("test-docker-password") - .dockerUsername("test-docker-username") - .domain("test-shared-domain") - .name("test-name") - .build())) - .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(3))) - .expectComplete() - .verify(Duration.ofSeconds(5)); + StepVerifier.withVirtualTime( + () -> + this.applications.push( + PushApplicationRequest.builder() + .dockerImage("cloudfoundry/lattice-app") + .dockerPassword("test-docker-password") + .dockerUsername("test-docker-username") + .domain("test-shared-domain") + .name("test-name") + .build())) + .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(3))) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test @@ -1306,27 +1473,48 @@ public void pushDomainNotFound() throws IOException { Path testApplication = new ClassPathResource("test-application.zip").getFile().toPath(); requestApplicationsEmpty(this.cloudFoundryClient, "test-application-name", TEST_SPACE_ID); - requestCreateApplication(this.cloudFoundryClient, ApplicationManifest.builder() - .path(testApplication) - .domain("test-shared-domain") - .name("test-application-name") - .build(), TEST_SPACE_ID, null, "test-application-id"); + requestCreateApplication( + this.cloudFoundryClient, + ApplicationManifest.builder() + .path(testApplication) + .domain("test-shared-domain") + .name("test-application-name") + .build(), + TEST_SPACE_ID, + null, + "test-application-id"); requestSpace(this.cloudFoundryClient, TEST_SPACE_ID, TEST_ORGANIZATION_ID); requestPrivateDomainsEmpty(this.cloudFoundryClient, TEST_ORGANIZATION_ID); requestSharedDomainsEmpty(this.cloudFoundryClient); requestApplicationRoutes(this.cloudFoundryClient, "test-application-id", "test-route-id"); - requestListMatchingResources(this.cloudFoundryClient, Arrays.asList(new ResourceMatchingUtils.ArtifactMetadata("da39a3ee5e6b4b0d3255bfef95601890afd80709", "Staticfile", "100644", 0), - new ResourceMatchingUtils.ArtifactMetadata("45044a6ddbfe11415a8f8a6219de68a2c66b496b", "index.html", "100644", 178))); + requestListMatchingResources( + this.cloudFoundryClient, + Arrays.asList( + new ResourceMatchingUtils.ArtifactMetadata( + "da39a3ee5e6b4b0d3255bfef95601890afd80709", + "Staticfile", + "100644", + 0), + new ResourceMatchingUtils.ArtifactMetadata( + "45044a6ddbfe11415a8f8a6219de68a2c66b496b", + "index.html", + "100644", + 178))); this.applications - .push(PushApplicationRequest.builder() - .path(testApplication) - .domain("test-shared-domain") - .name("test-application-name") - .build()) - .as(StepVerifier::create) - .consumeErrorWith(t -> assertThat(t).isInstanceOf(IllegalArgumentException.class).hasMessage("Domain test-shared-domain not found")) - .verify(Duration.ofSeconds(5)); + .push( + PushApplicationRequest.builder() + .path(testApplication) + .domain("test-shared-domain") + .name("test-application-name") + .build()) + .as(StepVerifier::create) + .consumeErrorWith( + t -> + assertThat(t) + .isInstanceOf(IllegalArgumentException.class) + .hasMessage("Domain test-shared-domain not found")) + .verify(Duration.ofSeconds(5)); } @Test @@ -1334,37 +1522,65 @@ public void pushExistingApplication() throws IOException { Path testApplication = new ClassPathResource("test-application.zip").getFile().toPath(); requestSpace(this.cloudFoundryClient, TEST_SPACE_ID, TEST_ORGANIZATION_ID); - requestApplications(this.cloudFoundryClient, "test-name", TEST_SPACE_ID, "test-application-id"); - requestUpdateApplication(this.cloudFoundryClient, "test-application-id", ApplicationManifest.builder() - .path(testApplication) - .environmentVariable("test-var", "test-value") - .domain("test-shared-domain") - .name("test-name") - .build(), null); + requestApplications( + this.cloudFoundryClient, "test-name", TEST_SPACE_ID, "test-application-id"); + requestUpdateApplication( + this.cloudFoundryClient, + "test-application-id", + ApplicationManifest.builder() + .path(testApplication) + .environmentVariable("test-var", "test-value") + .domain("test-shared-domain") + .name("test-name") + .build(), + null); requestPrivateDomainsEmpty(this.cloudFoundryClient, TEST_ORGANIZATION_ID); - requestSharedDomains(this.cloudFoundryClient, "test-shared-domain", "test-shared-domain-id"); + requestSharedDomains( + this.cloudFoundryClient, "test-shared-domain", "test-shared-domain-id"); requestApplicationRoutes(this.cloudFoundryClient, "test-application-id", "test-route-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"); + 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"); + requestUpload( + this.cloudFoundryClient, "test-application-id", testApplication, "test-job-id"); requestJobSuccess(this.cloudFoundryClient, "test-job-entity-id"); requestUpdateApplicationState(this.cloudFoundryClient, "test-application-id", "STOPPED"); requestUpdateApplicationState(this.cloudFoundryClient, "test-application-id", "STARTED"); requestGetApplication(this.cloudFoundryClient, "test-application-id"); requestApplicationInstancesRunning(this.cloudFoundryClient, "test-application-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))) - .expectComplete() - .verify(Duration.ofSeconds(5)); + StepVerifier.withVirtualTime( + () -> + this.applications.push( + PushApplicationRequest.builder() + .path(testApplication) + .domain("test-shared-domain") + .name("test-name") + .build())) + .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(3))) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test @@ -1372,41 +1588,76 @@ public void pushExistingApplicationWithEnvironmentVariables() throws IOException Path testApplication = new ClassPathResource("test-application.zip").getFile().toPath(); requestSpace(this.cloudFoundryClient, TEST_SPACE_ID, TEST_ORGANIZATION_ID); - requestApplications(this.cloudFoundryClient, "test-name", TEST_SPACE_ID, "test-application-id", Collections.singletonMap("test-key-1", "test-value-1")); - requestUpdateApplication(this.cloudFoundryClient, "test-application-id", ApplicationManifest.builder() - .path(testApplication) - .domain("test-shared-domain") - .environmentVariable("test-key-1", "test-value-1") - .environmentVariable("test-key-2", "test-value-2") - .name("test-name") - .build(), null); + requestApplications( + this.cloudFoundryClient, + "test-name", + TEST_SPACE_ID, + "test-application-id", + Collections.singletonMap("test-key-1", "test-value-1")); + requestUpdateApplication( + this.cloudFoundryClient, + "test-application-id", + ApplicationManifest.builder() + .path(testApplication) + .domain("test-shared-domain") + .environmentVariable("test-key-1", "test-value-1") + .environmentVariable("test-key-2", "test-value-2") + .name("test-name") + .build(), + null); requestPrivateDomainsEmpty(this.cloudFoundryClient, TEST_ORGANIZATION_ID); - requestSharedDomains(this.cloudFoundryClient, "test-shared-domain", "test-shared-domain-id"); + requestSharedDomains( + this.cloudFoundryClient, "test-shared-domain", "test-shared-domain-id"); requestApplicationRoutes(this.cloudFoundryClient, "test-application-id", "test-route-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"); + 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"); + requestUpload( + this.cloudFoundryClient, "test-application-id", testApplication, "test-job-id"); requestJobSuccess(this.cloudFoundryClient, "test-job-entity-id"); requestUpdateApplicationState(this.cloudFoundryClient, "test-application-id", "STOPPED"); requestUpdateApplicationState(this.cloudFoundryClient, "test-application-id", "STARTED"); requestGetApplication(this.cloudFoundryClient, "test-application-id"); requestApplicationInstancesRunning(this.cloudFoundryClient, "test-application-id"); - StepVerifier.withVirtualTime(() -> this.applications - .pushManifest(PushApplicationManifestRequest.builder() - .manifest(ApplicationManifest.builder() - .path(testApplication) - .domain("test-shared-domain") - .environmentVariable("test-key-2", "test-value-2") - .name("test-name") - .build()) - .build())) - .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(3))) - .expectComplete() - .verify(Duration.ofSeconds(5)); + StepVerifier.withVirtualTime( + () -> + this.applications.pushManifest( + PushApplicationManifestRequest.builder() + .manifest( + ApplicationManifest.builder() + .path(testApplication) + .domain("test-shared-domain") + .environmentVariable( + "test-key-2", + "test-value-2") + .name("test-name") + .build()) + .build())) + .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(3))) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test @@ -1414,42 +1665,75 @@ public void pushExistingApplicationWithNullEnvironment() throws IOException { Path testApplication = new ClassPathResource("test-application.zip").getFile().toPath(); requestSpace(this.cloudFoundryClient, TEST_SPACE_ID, TEST_ORGANIZATION_ID); - requestApplications(this.cloudFoundryClient, "test-name", TEST_SPACE_ID, "test-application-id", null); - requestUpdateApplication(this.cloudFoundryClient, "test-application-id", ApplicationManifest.builder() - .path(testApplication) - .domain("test-shared-domain") - .environmentVariable("test-key-1", "test-value-1") - .environmentVariable("test-key-2", "test-value-2") - .name("test-name") - .build(), null); + requestApplications( + this.cloudFoundryClient, "test-name", TEST_SPACE_ID, "test-application-id", null); + requestUpdateApplication( + this.cloudFoundryClient, + "test-application-id", + ApplicationManifest.builder() + .path(testApplication) + .domain("test-shared-domain") + .environmentVariable("test-key-1", "test-value-1") + .environmentVariable("test-key-2", "test-value-2") + .name("test-name") + .build(), + null); requestPrivateDomainsEmpty(this.cloudFoundryClient, TEST_ORGANIZATION_ID); - requestSharedDomains(this.cloudFoundryClient, "test-shared-domain", "test-shared-domain-id"); + requestSharedDomains( + this.cloudFoundryClient, "test-shared-domain", "test-shared-domain-id"); requestApplicationRoutes(this.cloudFoundryClient, "test-application-id", "test-route-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"); + 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"); + requestUpload( + this.cloudFoundryClient, "test-application-id", testApplication, "test-job-id"); requestJobSuccess(this.cloudFoundryClient, "test-job-entity-id"); requestUpdateApplicationState(this.cloudFoundryClient, "test-application-id", "STOPPED"); requestUpdateApplicationState(this.cloudFoundryClient, "test-application-id", "STARTED"); requestGetApplication(this.cloudFoundryClient, "test-application-id"); requestApplicationInstancesRunning(this.cloudFoundryClient, "test-application-id"); - StepVerifier.withVirtualTime(() -> this.applications - .pushManifest(PushApplicationManifestRequest.builder() - .manifest(ApplicationManifest.builder() - .path(testApplication) - .domain("test-shared-domain") - .environmentVariable("test-key-1", "test-value-1") - .environmentVariable("test-key-2", "test-value-2") - .name("test-name") - .build()) - .build())) - .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(3))) - .expectComplete() - .verify(Duration.ofSeconds(5)); + StepVerifier.withVirtualTime( + () -> + this.applications.pushManifest( + PushApplicationManifestRequest.builder() + .manifest( + ApplicationManifest.builder() + .path(testApplication) + .domain("test-shared-domain") + .environmentVariable( + "test-key-1", + "test-value-1") + .environmentVariable( + "test-key-2", + "test-value-2") + .name("test-name") + .build()) + .build())) + .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(3))) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test @@ -1457,37 +1741,62 @@ public void pushExistingRouteWithHost() 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") - .host("test-host") - .name("test-name") - .build(), TEST_SPACE_ID, null, "test-application-id"); + requestCreateApplication( + this.cloudFoundryClient, + ApplicationManifest.builder() + .path(testApplication) + .domain("test-shared-domain") + .host("test-host") + .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); - requestSharedDomains(this.cloudFoundryClient, "test-shared-domain", "test-shared-domain-id"); + requestSharedDomains( + this.cloudFoundryClient, "test-shared-domain", "test-shared-domain-id"); requestApplicationRoutes(this.cloudFoundryClient, "test-application-id", "test-route-id"); - requestRoutes(this.cloudFoundryClient, "test-shared-domain-id", "test-host", null, "test-route-id"); - requestListMatchingResources(this.cloudFoundryClient, Arrays.asList(new ResourceMatchingUtils.ArtifactMetadata("da39a3ee5e6b4b0d3255bfef95601890afd80709", "Staticfile", "100644", 0), - new ResourceMatchingUtils.ArtifactMetadata("45044a6ddbfe11415a8f8a6219de68a2c66b496b", "index.html", "100644", 178))); + requestRoutes( + this.cloudFoundryClient, + "test-shared-domain-id", + "test-host", + null, + "test-route-id"); + requestListMatchingResources( + this.cloudFoundryClient, + Arrays.asList( + new ResourceMatchingUtils.ArtifactMetadata( + "da39a3ee5e6b4b0d3255bfef95601890afd80709", + "Staticfile", + "100644", + 0), + new ResourceMatchingUtils.ArtifactMetadata( + "45044a6ddbfe11415a8f8a6219de68a2c66b496b", + "index.html", + "100644", + 178))); requestAssociateRoute(this.cloudFoundryClient, "test-application-id", "test-route-id"); - requestUpload(this.cloudFoundryClient, "test-application-id", testApplication, "test-job-id"); + requestUpload( + this.cloudFoundryClient, "test-application-id", testApplication, "test-job-id"); requestJobSuccess(this.cloudFoundryClient, "test-job-entity-id"); requestUpdateApplicationState(this.cloudFoundryClient, "test-application-id", "STOPPED"); requestUpdateApplicationState(this.cloudFoundryClient, "test-application-id", "STARTED"); requestGetApplication(this.cloudFoundryClient, "test-application-id"); requestApplicationInstancesRunning(this.cloudFoundryClient, "test-application-id"); - StepVerifier.withVirtualTime(() -> this.applications - .push(PushApplicationRequest.builder() - .path(testApplication) - .domain("test-shared-domain") - .host("test-host") - .name("test-name") - .build())) - .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(3))) - .expectComplete() - .verify(Duration.ofSeconds(5)); + StepVerifier.withVirtualTime( + () -> + this.applications.push( + PushApplicationRequest.builder() + .path(testApplication) + .domain("test-shared-domain") + .host("test-host") + .name("test-name") + .build())) + .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(3))) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test @@ -1495,38 +1804,58 @@ public void pushExistingRouteWithNoHost() 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") - .noHostname(true) - .name("test-name") - .build(), TEST_SPACE_ID, null, "test-application-id"); + requestCreateApplication( + this.cloudFoundryClient, + ApplicationManifest.builder() + .path(testApplication) + .domain("test-shared-domain") + .noHostname(true) + .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"); + requestSharedDomains( + this.cloudFoundryClient, "test-shared-domain", "test-shared-domain-id"); requestApplicationRoutes(this.cloudFoundryClient, "test-application-id", "test-route-id"); requestRoutes(this.cloudFoundryClient, "test-shared-domain-id", "", null, "test-route-id"); - requestListMatchingResources(this.cloudFoundryClient, Arrays.asList(new ResourceMatchingUtils.ArtifactMetadata("da39a3ee5e6b4b0d3255bfef95601890afd80709", "Staticfile", "100644", 0), - new ResourceMatchingUtils.ArtifactMetadata("45044a6ddbfe11415a8f8a6219de68a2c66b496b", "index.html", "100644", 178))); + requestListMatchingResources( + this.cloudFoundryClient, + Arrays.asList( + new ResourceMatchingUtils.ArtifactMetadata( + "da39a3ee5e6b4b0d3255bfef95601890afd80709", + "Staticfile", + "100644", + 0), + new ResourceMatchingUtils.ArtifactMetadata( + "45044a6ddbfe11415a8f8a6219de68a2c66b496b", + "index.html", + "100644", + 178))); requestAssociateRoute(this.cloudFoundryClient, "test-application-id", "test-route-id"); - requestUpload(this.cloudFoundryClient, "test-application-id", testApplication, "test-job-id"); + requestUpload( + this.cloudFoundryClient, "test-application-id", testApplication, "test-job-id"); requestJobSuccess(this.cloudFoundryClient, "test-job-entity-id"); requestUpdateApplicationState(this.cloudFoundryClient, "test-application-id", "STOPPED"); requestUpdateApplicationState(this.cloudFoundryClient, "test-application-id", "STARTED"); requestGetApplication(this.cloudFoundryClient, "test-application-id"); requestApplicationInstancesRunning(this.cloudFoundryClient, "test-application-id"); - StepVerifier.withVirtualTime(() -> this.applications - .push(PushApplicationRequest.builder() - .path(testApplication) - .domain("test-shared-domain") - .noHostname(true) - .name("test-name") - .build())) - .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(3))) - .expectComplete() - .verify(Duration.ofSeconds(5)); + StepVerifier.withVirtualTime( + () -> + this.applications.push( + PushApplicationRequest.builder() + .path(testApplication) + .domain("test-shared-domain") + .noHostname(true) + .name("test-name") + .build())) + .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(3))) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test @@ -1535,18 +1864,24 @@ public void pushInvalidStack() throws IOException { requestSpace(this.cloudFoundryClient, TEST_SPACE_ID, TEST_ORGANIZATION_ID); requestPrivateDomainsEmpty(this.cloudFoundryClient, TEST_ORGANIZATION_ID); - requestSharedDomains(this.cloudFoundryClient, "test-shared-domain", "test-shared-domain-id"); + requestSharedDomains( + this.cloudFoundryClient, "test-shared-domain", "test-shared-domain-id"); requestStackIdEmpty(this.cloudFoundryClient, "invalid-stack"); this.applications - .push(PushApplicationRequest.builder() - .path(testApplication) - .name("test-name") - .stack("invalid-stack") - .build()) - .as(StepVerifier::create) - .consumeErrorWith(t -> assertThat(t).isInstanceOf(IllegalArgumentException.class).hasMessage("Stack invalid-stack does not exist")) - .verify(Duration.ofSeconds(5)); + .push( + PushApplicationRequest.builder() + .path(testApplication) + .name("test-name") + .stack("invalid-stack") + .build()) + .as(StepVerifier::create) + .consumeErrorWith( + t -> + assertThat(t) + .isInstanceOf(IllegalArgumentException.class) + .hasMessage("Stack invalid-stack does not exist")) + .verify(Duration.ofSeconds(5)); } @Test @@ -1555,44 +1890,83 @@ public void pushMultipleRoutes() throws IOException { requestSpace(this.cloudFoundryClient, TEST_SPACE_ID, TEST_ORGANIZATION_ID); requestPrivateDomainsEmpty(this.cloudFoundryClient, TEST_ORGANIZATION_ID); - requestSharedDomains(this.cloudFoundryClient, "test-shared-domain", "test-shared-domain-id"); + requestSharedDomains( + this.cloudFoundryClient, "test-shared-domain", "test-shared-domain-id"); 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"); + requestCreateApplication( + this.cloudFoundryClient, + ApplicationManifest.builder() + .path(testApplication) + .domain("test-shared-domain") + .name("test-name") + .build(), + TEST_SPACE_ID, + null, + "test-application-id"); requestApplicationRoutes(this.cloudFoundryClient, "test-application-id", "test-route-id"); - requestListMatchingResources(this.cloudFoundryClient, Arrays.asList(new ResourceMatchingUtils.ArtifactMetadata("da39a3ee5e6b4b0d3255bfef95601890afd80709", "Staticfile", "100644", 0), - new ResourceMatchingUtils.ArtifactMetadata("45044a6ddbfe11415a8f8a6219de68a2c66b496b", "index.html", "100644", 178))); + requestListMatchingResources( + this.cloudFoundryClient, + Arrays.asList( + new ResourceMatchingUtils.ArtifactMetadata( + "da39a3ee5e6b4b0d3255bfef95601890afd80709", + "Staticfile", + "100644", + 0), + new ResourceMatchingUtils.ArtifactMetadata( + "45044a6ddbfe11415a8f8a6219de68a2c66b496b", + "index.html", + "100644", + 178))); requestRoutesEmpty(this.cloudFoundryClient, "test-shared-domain-id", "test1", null, null); - requestCreateRoute(this.cloudFoundryClient, "test-shared-domain-id", "test1", null, null, TEST_SPACE_ID, "test-route-id"); + requestCreateRoute( + this.cloudFoundryClient, + "test-shared-domain-id", + "test1", + null, + null, + TEST_SPACE_ID, + "test-route-id"); requestRoutesEmpty(this.cloudFoundryClient, "test-shared-domain-id", "test2", null, null); - requestCreateRoute(this.cloudFoundryClient, "test-shared-domain-id", "test2", null, null, TEST_SPACE_ID, "test-route-id"); + requestCreateRoute( + this.cloudFoundryClient, + "test-shared-domain-id", + "test2", + 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"); + requestUpload( + this.cloudFoundryClient, "test-application-id", testApplication, "test-job-id"); requestJobSuccess(this.cloudFoundryClient, "test-job-entity-id"); requestUpdateApplicationState(this.cloudFoundryClient, "test-application-id", "STOPPED"); requestUpdateApplicationState(this.cloudFoundryClient, "test-application-id", "STARTED"); requestGetApplication(this.cloudFoundryClient, "test-application-id"); requestApplicationInstancesRunning(this.cloudFoundryClient, "test-application-id"); - StepVerifier.withVirtualTime(() -> this.applications - .pushManifest(PushApplicationManifestRequest.builder() - .manifest(ApplicationManifest.builder() - .path(testApplication) - .name("test-name") - .route(Route.builder() - .route("test1.test-shared-domain") - .build()) - .route(Route.builder() - .route("test2.test-shared-domain") - .build()) - .build()) - .build())) - .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(3))) - .expectComplete() - .verify(Duration.ofSeconds(5)); + StepVerifier.withVirtualTime( + () -> + this.applications.pushManifest( + PushApplicationManifestRequest.builder() + .manifest( + ApplicationManifest.builder() + .path(testApplication) + .name("test-name") + .route( + Route.builder() + .route( + "test1.test-shared-domain") + .build()) + .route( + Route.builder() + .route( + "test2.test-shared-domain") + .build()) + .build()) + .build())) + .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(3))) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test @@ -1600,40 +1974,68 @@ public void pushNewApplication() 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") - .healthCheckHttpEndpoint("/health") - .healthCheckType(ApplicationHealthCheck.HTTP) - .build(), TEST_SPACE_ID, null, "test-application-id"); + requestCreateApplication( + this.cloudFoundryClient, + ApplicationManifest.builder() + .path(testApplication) + .domain("test-shared-domain") + .name("test-name") + .healthCheckHttpEndpoint("/health") + .healthCheckType(ApplicationHealthCheck.HTTP) + .build(), + TEST_SPACE_ID, + null, + "test-application-id"); requestSpace(this.cloudFoundryClient, TEST_SPACE_ID, TEST_ORGANIZATION_ID); - requestListMatchingResources(this.cloudFoundryClient, Arrays.asList(new ResourceMatchingUtils.ArtifactMetadata("da39a3ee5e6b4b0d3255bfef95601890afd80709", "Staticfile", "100644", 0), - new ResourceMatchingUtils.ArtifactMetadata("45044a6ddbfe11415a8f8a6219de68a2c66b496b", "index.html", "100644", 178))); + requestListMatchingResources( + this.cloudFoundryClient, + Arrays.asList( + new ResourceMatchingUtils.ArtifactMetadata( + "da39a3ee5e6b4b0d3255bfef95601890afd80709", + "Staticfile", + "100644", + 0), + new ResourceMatchingUtils.ArtifactMetadata( + "45044a6ddbfe11415a8f8a6219de68a2c66b496b", + "index.html", + "100644", + 178))); requestPrivateDomainsEmpty(this.cloudFoundryClient, TEST_ORGANIZATION_ID); - requestSharedDomains(this.cloudFoundryClient, "test-shared-domain", "test-shared-domain-id"); + requestSharedDomains( + this.cloudFoundryClient, "test-shared-domain", "test-shared-domain-id"); requestApplicationRoutes(this.cloudFoundryClient, "test-application-id", "test-route-id"); - requestRoutesEmpty(this.cloudFoundryClient, "test-shared-domain-id", "test-name", null, null); - requestCreateRoute(this.cloudFoundryClient, "test-shared-domain-id", "test-name", null, null, TEST_SPACE_ID, "test-route-id"); + requestRoutesEmpty( + this.cloudFoundryClient, "test-shared-domain-id", "test-name", null, null); + 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"); + requestUpload( + this.cloudFoundryClient, "test-application-id", testApplication, "test-job-id"); requestJobSuccess(this.cloudFoundryClient, "test-job-entity-id"); requestUpdateApplicationState(this.cloudFoundryClient, "test-application-id", "STOPPED"); requestUpdateApplicationState(this.cloudFoundryClient, "test-application-id", "STARTED"); requestGetApplication(this.cloudFoundryClient, "test-application-id"); requestApplicationInstancesRunning(this.cloudFoundryClient, "test-application-id"); - StepVerifier.withVirtualTime(() -> this.applications - .push(PushApplicationRequest.builder() - .path(testApplication) - .domain("test-shared-domain") - .name("test-name") - .healthCheckHttpEndpoint("/health") - .healthCheckType(ApplicationHealthCheck.HTTP) - .build())) - .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(3))) - .expectComplete() - .verify(Duration.ofSeconds(5)); + StepVerifier.withVirtualTime( + () -> + this.applications.push( + PushApplicationRequest.builder() + .path(testApplication) + .domain("test-shared-domain") + .name("test-name") + .healthCheckHttpEndpoint("/health") + .healthCheckType(ApplicationHealthCheck.HTTP) + .build())) + .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(3))) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test @@ -1642,39 +2044,69 @@ public void pushNewApplicationWithEnvironmentVariables() throws IOException { requestSpace(this.cloudFoundryClient, TEST_SPACE_ID, TEST_ORGANIZATION_ID); requestApplicationsEmpty(this.cloudFoundryClient, "test.name", TEST_SPACE_ID); - requestCreateApplication(this.cloudFoundryClient, ApplicationManifest.builder() - .path(testApplication) - .environmentVariable("test-key", "test-value") - .domain("test-shared-domain") - .name("test.name") - .build(), TEST_SPACE_ID, null, "test-application-id"); - requestListMatchingResources(this.cloudFoundryClient, Arrays.asList(new ResourceMatchingUtils.ArtifactMetadata("da39a3ee5e6b4b0d3255bfef95601890afd80709", "Staticfile", "100644", 0), - new ResourceMatchingUtils.ArtifactMetadata("45044a6ddbfe11415a8f8a6219de68a2c66b496b", "index.html", "100644", 178))); + requestCreateApplication( + this.cloudFoundryClient, + ApplicationManifest.builder() + .path(testApplication) + .environmentVariable("test-key", "test-value") + .domain("test-shared-domain") + .name("test.name") + .build(), + TEST_SPACE_ID, + null, + "test-application-id"); + requestListMatchingResources( + this.cloudFoundryClient, + Arrays.asList( + new ResourceMatchingUtils.ArtifactMetadata( + "da39a3ee5e6b4b0d3255bfef95601890afd80709", + "Staticfile", + "100644", + 0), + new ResourceMatchingUtils.ArtifactMetadata( + "45044a6ddbfe11415a8f8a6219de68a2c66b496b", + "index.html", + "100644", + 178))); requestPrivateDomainsEmpty(this.cloudFoundryClient, TEST_ORGANIZATION_ID); - requestSharedDomains(this.cloudFoundryClient, "test-shared-domain", "test-shared-domain-id"); + requestSharedDomains( + this.cloudFoundryClient, "test-shared-domain", "test-shared-domain-id"); requestApplicationRoutes(this.cloudFoundryClient, "test-application-id", "test-route-id"); - requestRoutesEmpty(this.cloudFoundryClient, "test-shared-domain-id", "testname", null, null); - requestCreateRoute(this.cloudFoundryClient, "test-shared-domain-id", "testname", null, null, TEST_SPACE_ID, "test-route-id"); + requestRoutesEmpty( + this.cloudFoundryClient, "test-shared-domain-id", "testname", null, null); + requestCreateRoute( + this.cloudFoundryClient, + "test-shared-domain-id", + "testname", + 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"); + requestUpload( + this.cloudFoundryClient, "test-application-id", testApplication, "test-job-id"); requestJobSuccess(this.cloudFoundryClient, "test-job-entity-id"); requestUpdateApplicationState(this.cloudFoundryClient, "test-application-id", "STOPPED"); requestUpdateApplicationState(this.cloudFoundryClient, "test-application-id", "STARTED"); requestGetApplication(this.cloudFoundryClient, "test-application-id"); requestApplicationInstancesRunning(this.cloudFoundryClient, "test-application-id"); - StepVerifier.withVirtualTime(() -> this.applications - .pushManifest(PushApplicationManifestRequest.builder() - .manifest(ApplicationManifest.builder() - .path(testApplication) - .domain("test-shared-domain") - .environmentVariable("test-key", "test-value") - .name("test.name") - .build()) - .build())) - .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(3))) - .expectComplete() - .verify(Duration.ofSeconds(5)); + StepVerifier.withVirtualTime( + () -> + this.applications.pushManifest( + PushApplicationManifestRequest.builder() + .manifest( + ApplicationManifest.builder() + .path(testApplication) + .domain("test-shared-domain") + .environmentVariable( + "test-key", "test-value") + .name("test.name") + .build()) + .build())) + .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(3))) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test @@ -1682,38 +2114,66 @@ public void pushNewRouteWithHost() 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") - .host("test-host") - .name("test-name") - .build(), TEST_SPACE_ID, null, "test-application-id"); + requestCreateApplication( + this.cloudFoundryClient, + ApplicationManifest.builder() + .path(testApplication) + .domain("test-shared-domain") + .host("test-host") + .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); - requestSharedDomains(this.cloudFoundryClient, "test-shared-domain", "test-shared-domain-id"); + requestSharedDomains( + this.cloudFoundryClient, "test-shared-domain", "test-shared-domain-id"); requestApplicationRoutes(this.cloudFoundryClient, "test-application-id", "test-route-id"); - requestRoutesEmpty(this.cloudFoundryClient, "test-shared-domain-id", "test-host", 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-host", null, null, TEST_SPACE_ID, "test-route-id"); + requestRoutesEmpty( + this.cloudFoundryClient, "test-shared-domain-id", "test-host", 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-host", + 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"); + requestUpload( + this.cloudFoundryClient, "test-application-id", testApplication, "test-job-id"); requestJobSuccess(this.cloudFoundryClient, "test-job-entity-id"); requestUpdateApplicationState(this.cloudFoundryClient, "test-application-id", "STOPPED"); requestUpdateApplicationState(this.cloudFoundryClient, "test-application-id", "STARTED"); requestGetApplication(this.cloudFoundryClient, "test-application-id"); requestApplicationInstancesRunning(this.cloudFoundryClient, "test-application-id"); - StepVerifier.withVirtualTime(() -> this.applications - .push(PushApplicationRequest.builder() - .path(testApplication) - .domain("test-shared-domain") - .host("test-host") - .name("test-name") - .build())) - .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(3))) - .expectComplete() - .verify(Duration.ofSeconds(5)); + StepVerifier.withVirtualTime( + () -> + this.applications.push( + PushApplicationRequest.builder() + .path(testApplication) + .domain("test-shared-domain") + .host("test-host") + .name("test-name") + .build())) + .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(3))) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test @@ -1721,38 +2181,65 @@ public void pushNewRouteWithNoHost() 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") - .noHostname(true) - .name("test-name") - .build(), TEST_SPACE_ID, null, "test-application-id"); + requestCreateApplication( + this.cloudFoundryClient, + ApplicationManifest.builder() + .path(testApplication) + .domain("test-shared-domain") + .noHostname(true) + .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); - requestSharedDomains(this.cloudFoundryClient, "test-shared-domain", "test-shared-domain-id"); + requestSharedDomains( + this.cloudFoundryClient, "test-shared-domain", "test-shared-domain-id"); requestRoutesEmpty(this.cloudFoundryClient, "test-shared-domain-id", "", null, null); requestApplicationRoutes(this.cloudFoundryClient, "test-application-id", "test-route-id"); - 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", "", null, null, TEST_SPACE_ID, "test-route-id"); + 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", + "", + 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"); + requestUpload( + this.cloudFoundryClient, "test-application-id", testApplication, "test-job-id"); requestJobSuccess(this.cloudFoundryClient, "test-job-entity-id"); requestUpdateApplicationState(this.cloudFoundryClient, "test-application-id", "STOPPED"); requestUpdateApplicationState(this.cloudFoundryClient, "test-application-id", "STARTED"); requestGetApplication(this.cloudFoundryClient, "test-application-id"); requestApplicationInstancesRunning(this.cloudFoundryClient, "test-application-id"); - StepVerifier.withVirtualTime(() -> this.applications - .push(PushApplicationRequest.builder() - .path(testApplication) - .domain("test-shared-domain") - .noHostname(true) - .name("test-name") - .build())) - .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(3))) - .expectComplete() - .verify(Duration.ofSeconds(5)); + StepVerifier.withVirtualTime( + () -> + this.applications.push( + PushApplicationRequest.builder() + .path(testApplication) + .domain("test-shared-domain") + .noHostname(true) + .name("test-name") + .build())) + .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(3))) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test @@ -1760,25 +2247,43 @@ public void pushNoDomainNoneFound() 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) - .name("test-name") - .build(), TEST_SPACE_ID, null, "test-application-id"); + requestCreateApplication( + this.cloudFoundryClient, + ApplicationManifest.builder().path(testApplication).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); requestSharedDomainsEmpty(this.cloudFoundryClient); - requestListMatchingResources(this.cloudFoundryClient, Arrays.asList(new ResourceMatchingUtils.ArtifactMetadata("da39a3ee5e6b4b0d3255bfef95601890afd80709", "Staticfile", "100644", 0), - new ResourceMatchingUtils.ArtifactMetadata("45044a6ddbfe11415a8f8a6219de68a2c66b496b", "index.html", "100644", 178))); + requestListMatchingResources( + this.cloudFoundryClient, + Arrays.asList( + new ResourceMatchingUtils.ArtifactMetadata( + "da39a3ee5e6b4b0d3255bfef95601890afd80709", + "Staticfile", + "100644", + 0), + new ResourceMatchingUtils.ArtifactMetadata( + "45044a6ddbfe11415a8f8a6219de68a2c66b496b", + "index.html", + "100644", + 178))); requestApplicationRoutesEmpty(this.cloudFoundryClient, "test-application-id"); this.applications - .push(PushApplicationRequest.builder() - .path(testApplication) - .name("test-name") - .build()) - .as(StepVerifier::create) - .consumeErrorWith(t -> assertThat(t).isInstanceOf(IllegalArgumentException.class).hasMessage("No default domain found")) - .verify(Duration.ofSeconds(5)); + .push( + PushApplicationRequest.builder() + .path(testApplication) + .name("test-name") + .build()) + .as(StepVerifier::create) + .consumeErrorWith( + t -> + assertThat(t) + .isInstanceOf(IllegalArgumentException.class) + .hasMessage("No default domain found")) + .verify(Duration.ofSeconds(5)); } @Test @@ -1786,25 +2291,44 @@ public void pushNoDomainPrivate() 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) - .name("test-name") - .build(), TEST_SPACE_ID, null, "test-application-id"); + requestCreateApplication( + this.cloudFoundryClient, + ApplicationManifest.builder().path(testApplication).name("test-name").build(), + TEST_SPACE_ID, + null, + "test-application-id"); requestSpace(this.cloudFoundryClient, TEST_SPACE_ID, TEST_ORGANIZATION_ID); - requestPrivateDomains(this.cloudFoundryClient, TEST_ORGANIZATION_ID, "test-private-domain-id"); + requestPrivateDomains( + this.cloudFoundryClient, TEST_ORGANIZATION_ID, "test-private-domain-id"); requestSharedDomainsEmpty(this.cloudFoundryClient); - requestListMatchingResources(this.cloudFoundryClient, Arrays.asList(new ResourceMatchingUtils.ArtifactMetadata("da39a3ee5e6b4b0d3255bfef95601890afd80709", "Staticfile", "100644", 0), - new ResourceMatchingUtils.ArtifactMetadata("45044a6ddbfe11415a8f8a6219de68a2c66b496b", "index.html", "100644", 178))); + requestListMatchingResources( + this.cloudFoundryClient, + Arrays.asList( + new ResourceMatchingUtils.ArtifactMetadata( + "da39a3ee5e6b4b0d3255bfef95601890afd80709", + "Staticfile", + "100644", + 0), + new ResourceMatchingUtils.ArtifactMetadata( + "45044a6ddbfe11415a8f8a6219de68a2c66b496b", + "index.html", + "100644", + 178))); requestApplicationRoutesEmpty(this.cloudFoundryClient, "test-application-id"); this.applications - .push(PushApplicationRequest.builder() - .path(testApplication) - .name("test-name") - .build()) - .as(StepVerifier::create) - .consumeErrorWith(t -> assertThat(t).isInstanceOf(IllegalArgumentException.class).hasMessage("No default domain found")) - .verify(Duration.ofSeconds(5)); + .push( + PushApplicationRequest.builder() + .path(testApplication) + .name("test-name") + .build()) + .as(StepVerifier::create) + .consumeErrorWith( + t -> + assertThat(t) + .isInstanceOf(IllegalArgumentException.class) + .hasMessage("No default domain found")) + .verify(Duration.ofSeconds(5)); } @Test @@ -1812,34 +2336,59 @@ public void pushNoDomainShared() 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) - .name("test-name") - .build(), TEST_SPACE_ID, null, "test-application-id"); + requestCreateApplication( + this.cloudFoundryClient, + ApplicationManifest.builder().path(testApplication).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); - 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))); + 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))); requestApplicationRoutesEmpty(this.cloudFoundryClient, "test-application-id"); - requestCreateRoute(this.cloudFoundryClient, "test-shared-domain-id", "test-name", null, null, TEST_SPACE_ID, "test-route-id"); + 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"); + requestUpload( + this.cloudFoundryClient, "test-application-id", testApplication, "test-job-id"); requestJobSuccess(this.cloudFoundryClient, "test-job-entity-id"); requestUpdateApplicationState(this.cloudFoundryClient, "test-application-id", "STOPPED"); requestUpdateApplicationState(this.cloudFoundryClient, "test-application-id", "STARTED"); requestGetApplication(this.cloudFoundryClient, "test-application-id"); requestApplicationInstancesRunning(this.cloudFoundryClient, "test-application-id"); - StepVerifier.withVirtualTime(() -> this.applications - .push(PushApplicationRequest.builder() - .path(testApplication) - .name("test-name") - .build())) - .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(3))) - .expectComplete() - .verify(Duration.ofSeconds(5)); + StepVerifier.withVirtualTime( + () -> + this.applications.push( + PushApplicationRequest.builder() + .path(testApplication) + .name("test-name") + .build())) + .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(3))) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test @@ -1848,37 +2397,65 @@ public void pushNoHostnameFlag() throws IOException { requestSpace(this.cloudFoundryClient, TEST_SPACE_ID, TEST_ORGANIZATION_ID); requestPrivateDomainsEmpty(this.cloudFoundryClient, TEST_ORGANIZATION_ID); - requestSharedDomains(this.cloudFoundryClient, "test-shared-domain", "test-shared-domain-id"); + requestSharedDomains( + this.cloudFoundryClient, "test-shared-domain", "test-shared-domain-id"); 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"); - requestListMatchingResources(this.cloudFoundryClient, Arrays.asList(new ResourceMatchingUtils.ArtifactMetadata("da39a3ee5e6b4b0d3255bfef95601890afd80709", "Staticfile", "100644", 0), - new ResourceMatchingUtils.ArtifactMetadata("45044a6ddbfe11415a8f8a6219de68a2c66b496b", "index.html", "100644", 178))); + requestCreateApplication( + this.cloudFoundryClient, + ApplicationManifest.builder() + .path(testApplication) + .domain("test-shared-domain") + .name("test-name") + .build(), + TEST_SPACE_ID, + null, + "test-application-id"); + requestListMatchingResources( + this.cloudFoundryClient, + Arrays.asList( + new ResourceMatchingUtils.ArtifactMetadata( + "da39a3ee5e6b4b0d3255bfef95601890afd80709", + "Staticfile", + "100644", + 0), + new ResourceMatchingUtils.ArtifactMetadata( + "45044a6ddbfe11415a8f8a6219de68a2c66b496b", + "index.html", + "100644", + 178))); requestApplicationRoutesEmpty(this.cloudFoundryClient, "test-application-id"); requestRoutesEmpty(this.cloudFoundryClient, "test-shared-domain-id", "", null, null); - requestCreateRoute(this.cloudFoundryClient, "test-shared-domain-id", "", null, null, TEST_SPACE_ID, "test-route-id"); + requestCreateRoute( + this.cloudFoundryClient, + "test-shared-domain-id", + "", + 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"); + requestUpload( + this.cloudFoundryClient, "test-application-id", testApplication, "test-job-id"); requestJobSuccess(this.cloudFoundryClient, "test-job-entity-id"); requestUpdateApplicationState(this.cloudFoundryClient, "test-application-id", "STOPPED"); requestUpdateApplicationState(this.cloudFoundryClient, "test-application-id", "STARTED"); requestGetApplication(this.cloudFoundryClient, "test-application-id"); requestApplicationInstancesRunning(this.cloudFoundryClient, "test-application-id"); - StepVerifier.withVirtualTime(() -> this.applications - .pushManifest(PushApplicationManifestRequest.builder() - .manifest(ApplicationManifest.builder() - .path(testApplication) - .name("test-name") - .noHostname(true) - .build()) - .build())) - .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(3))) - .expectComplete() - .verify(Duration.ofSeconds(5)); + StepVerifier.withVirtualTime( + () -> + this.applications.pushManifest( + PushApplicationManifestRequest.builder() + .manifest( + ApplicationManifest.builder() + .path(testApplication) + .name("test-name") + .noHostname(true) + .build()) + .build())) + .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(3))) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test @@ -1886,33 +2463,61 @@ public void pushNoInstances() 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) - .name("test-name") - .instances(0) - .build(), TEST_SPACE_ID, null, "test-application-id"); + requestCreateApplication( + this.cloudFoundryClient, + ApplicationManifest.builder() + .path(testApplication) + .name("test-name") + .instances(0) + .build(), + TEST_SPACE_ID, + null, + "test-application-id"); requestSpace(this.cloudFoundryClient, TEST_SPACE_ID, TEST_ORGANIZATION_ID); requestPrivateDomainsEmpty(this.cloudFoundryClient, TEST_ORGANIZATION_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))); + 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))); requestApplicationRoutesEmpty(this.cloudFoundryClient, "test-application-id"); - requestCreateRoute(this.cloudFoundryClient, "test-shared-domain-id", "test-name", null, null, TEST_SPACE_ID, "test-route-id"); + 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"); + requestUpload( + this.cloudFoundryClient, "test-application-id", testApplication, "test-job-id"); requestJobSuccess(this.cloudFoundryClient, "test-job-entity-id"); requestUpdateApplicationState(this.cloudFoundryClient, "test-application-id", "STOPPED", 0); - StepVerifier.withVirtualTime(() -> this.applications - .push(PushApplicationRequest.builder() - .path(testApplication) - .name("test-name") - .instances(0) - .build())) - .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(3))) - .expectComplete() - .verify(Duration.ofSeconds(5)); + StepVerifier.withVirtualTime( + () -> + this.applications.push( + PushApplicationRequest.builder() + .path(testApplication) + .name("test-name") + .instances(0) + .build())) + .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(3))) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test @@ -1920,33 +2525,53 @@ public void pushNoRoute() 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) - .noRoute(true) - .name("test-name") - .build(), TEST_SPACE_ID, null, "test-application-id"); + requestCreateApplication( + this.cloudFoundryClient, + ApplicationManifest.builder() + .path(testApplication) + .noRoute(true) + .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); - requestSharedDomains(this.cloudFoundryClient, "test-shared-domain", "test-shared-domain-id"); - requestListMatchingResources(this.cloudFoundryClient, Arrays.asList(new ResourceMatchingUtils.ArtifactMetadata("da39a3ee5e6b4b0d3255bfef95601890afd80709", "Staticfile", "100644", 0), - new ResourceMatchingUtils.ArtifactMetadata("45044a6ddbfe11415a8f8a6219de68a2c66b496b", "index.html", "100644", 178))); + requestSharedDomains( + this.cloudFoundryClient, "test-shared-domain", "test-shared-domain-id"); + requestListMatchingResources( + this.cloudFoundryClient, + Arrays.asList( + new ResourceMatchingUtils.ArtifactMetadata( + "da39a3ee5e6b4b0d3255bfef95601890afd80709", + "Staticfile", + "100644", + 0), + new ResourceMatchingUtils.ArtifactMetadata( + "45044a6ddbfe11415a8f8a6219de68a2c66b496b", + "index.html", + "100644", + 178))); requestApplicationRoutesEmpty(this.cloudFoundryClient, "test-application-id"); - requestUpload(this.cloudFoundryClient, "test-application-id", testApplication, "test-job-id"); + requestUpload( + this.cloudFoundryClient, "test-application-id", testApplication, "test-job-id"); requestUpdateApplicationState(this.cloudFoundryClient, "test-application-id", "STOPPED"); requestUpdateApplicationState(this.cloudFoundryClient, "test-application-id", "STARTED"); requestJobSuccess(this.cloudFoundryClient, "test-job-entity-id"); requestGetApplication(this.cloudFoundryClient, "test-application-id"); requestApplicationInstancesRunning(this.cloudFoundryClient, "test-application-id"); - StepVerifier.withVirtualTime(() -> this.applications - .push(PushApplicationRequest.builder() - .path(testApplication) - .noRoute(true) - .name("test-name") - .build())) - .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(3))) - .expectComplete() - .verify(Duration.ofSeconds(5)); + StepVerifier.withVirtualTime( + () -> + this.applications.push( + PushApplicationRequest.builder() + .path(testApplication) + .noRoute(true) + .name("test-name") + .build())) + .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(3))) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test @@ -1955,35 +2580,57 @@ public void pushNoRouteFlag() throws IOException { requestSpace(this.cloudFoundryClient, TEST_SPACE_ID, TEST_ORGANIZATION_ID); requestPrivateDomainsEmpty(this.cloudFoundryClient, TEST_ORGANIZATION_ID); - requestSharedDomains(this.cloudFoundryClient, "test-shared-domain", "test-shared-domain-id"); + requestSharedDomains( + this.cloudFoundryClient, "test-shared-domain", "test-shared-domain-id"); 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"); - requestListMatchingResources(this.cloudFoundryClient, Arrays.asList(new ResourceMatchingUtils.ArtifactMetadata("da39a3ee5e6b4b0d3255bfef95601890afd80709", "Staticfile", "100644", 0), - new ResourceMatchingUtils.ArtifactMetadata("45044a6ddbfe11415a8f8a6219de68a2c66b496b", "index.html", "100644", 178))); + requestCreateApplication( + this.cloudFoundryClient, + ApplicationManifest.builder() + .path(testApplication) + .domain("test-shared-domain") + .name("test-name") + .build(), + TEST_SPACE_ID, + null, + "test-application-id"); + requestListMatchingResources( + this.cloudFoundryClient, + Arrays.asList( + new ResourceMatchingUtils.ArtifactMetadata( + "da39a3ee5e6b4b0d3255bfef95601890afd80709", + "Staticfile", + "100644", + 0), + new ResourceMatchingUtils.ArtifactMetadata( + "45044a6ddbfe11415a8f8a6219de68a2c66b496b", + "index.html", + "100644", + 178))); requestApplicationRoutes(this.cloudFoundryClient, "test-application-id", "test-route-id"); - requestRemoveApplicationRoute(this.cloudFoundryClient, "test-application-id", "test-route-id"); - requestUpload(this.cloudFoundryClient, "test-application-id", testApplication, "test-job-id"); + requestRemoveApplicationRoute( + this.cloudFoundryClient, "test-application-id", "test-route-id"); + requestUpload( + this.cloudFoundryClient, "test-application-id", testApplication, "test-job-id"); requestJobSuccess(this.cloudFoundryClient, "test-job-entity-id"); requestUpdateApplicationState(this.cloudFoundryClient, "test-application-id", "STOPPED"); requestUpdateApplicationState(this.cloudFoundryClient, "test-application-id", "STARTED"); requestGetApplication(this.cloudFoundryClient, "test-application-id"); requestApplicationInstancesRunning(this.cloudFoundryClient, "test-application-id"); - StepVerifier.withVirtualTime(() -> this.applications - .pushManifest(PushApplicationManifestRequest.builder() - .manifest(ApplicationManifest.builder() - .path(testApplication) - .name("test-name") - .noRoute(true) - .build()) - .build())) - .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(3))) - .expectComplete() - .verify(Duration.ofSeconds(5)); + StepVerifier.withVirtualTime( + () -> + this.applications.pushManifest( + PushApplicationManifestRequest.builder() + .manifest( + ApplicationManifest.builder() + .path(testApplication) + .name("test-name") + .noRoute(true) + .build()) + .build())) + .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(3))) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test @@ -1991,32 +2638,57 @@ public void pushNoStart() 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) - .name("test-name") - .build(), TEST_SPACE_ID, null, "test-application-id"); + requestCreateApplication( + this.cloudFoundryClient, + ApplicationManifest.builder().path(testApplication).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); - 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))); + 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))); requestApplicationRoutesEmpty(this.cloudFoundryClient, "test-application-id"); - requestCreateRoute(this.cloudFoundryClient, "test-shared-domain-id", "test-name", null, null, TEST_SPACE_ID, "test-route-id"); + 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"); + requestUpload( + this.cloudFoundryClient, "test-application-id", testApplication, "test-job-id"); requestJobSuccess(this.cloudFoundryClient, "test-job-entity-id"); requestUpdateApplicationState(this.cloudFoundryClient, "test-application-id", "STOPPED"); - StepVerifier.withVirtualTime(() -> this.applications - .push(PushApplicationRequest.builder() - .path(testApplication) - .name("test-name") - .noStart(true) - .build())) - .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(3))) - .expectComplete() - .verify(Duration.ofSeconds(5)); + StepVerifier.withVirtualTime( + () -> + this.applications.push( + PushApplicationRequest.builder() + .path(testApplication) + .name("test-name") + .noStart(true) + .build())) + .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(3))) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test @@ -2024,36 +2696,64 @@ public void pushPrivateDomain() 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-private-domain") - .name("test-name") - .build(), TEST_SPACE_ID, null, "test-application-id"); + requestCreateApplication( + this.cloudFoundryClient, + ApplicationManifest.builder() + .path(testApplication) + .domain("test-private-domain") + .name("test-name") + .build(), + TEST_SPACE_ID, + null, + "test-application-id"); requestSpace(this.cloudFoundryClient, TEST_SPACE_ID, TEST_ORGANIZATION_ID); - requestPrivateDomains(this.cloudFoundryClient, TEST_ORGANIZATION_ID, "test-private-domain-id"); + requestPrivateDomains( + this.cloudFoundryClient, TEST_ORGANIZATION_ID, "test-private-domain-id"); requestSharedDomainsEmpty(this.cloudFoundryClient); - requestRoutesEmpty(this.cloudFoundryClient, "test-private-domain-id", "test-name", null, null); + requestRoutesEmpty( + this.cloudFoundryClient, "test-private-domain-id", "test-name", null, null); requestApplicationRoutes(this.cloudFoundryClient, "test-application-id", "test-route-id"); - requestListMatchingResources(this.cloudFoundryClient, Arrays.asList(new ResourceMatchingUtils.ArtifactMetadata("da39a3ee5e6b4b0d3255bfef95601890afd80709", "Staticfile", "100644", 0), - new ResourceMatchingUtils.ArtifactMetadata("45044a6ddbfe11415a8f8a6219de68a2c66b496b", "index.html", "100644", 178))); - requestCreateRoute(this.cloudFoundryClient, "test-private-domain-id", "test-name", null, null, TEST_SPACE_ID, "test-route-id"); + requestListMatchingResources( + this.cloudFoundryClient, + Arrays.asList( + new ResourceMatchingUtils.ArtifactMetadata( + "da39a3ee5e6b4b0d3255bfef95601890afd80709", + "Staticfile", + "100644", + 0), + new ResourceMatchingUtils.ArtifactMetadata( + "45044a6ddbfe11415a8f8a6219de68a2c66b496b", + "index.html", + "100644", + 178))); + requestCreateRoute( + this.cloudFoundryClient, + "test-private-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"); + requestUpload( + this.cloudFoundryClient, "test-application-id", testApplication, "test-job-id"); requestJobSuccess(this.cloudFoundryClient, "test-job-entity-id"); requestUpdateApplicationState(this.cloudFoundryClient, "test-application-id", "STOPPED"); requestUpdateApplicationState(this.cloudFoundryClient, "test-application-id", "STARTED"); requestGetApplication(this.cloudFoundryClient, "test-application-id"); requestApplicationInstancesRunning(this.cloudFoundryClient, "test-application-id"); - StepVerifier.withVirtualTime(() -> this.applications - .push(PushApplicationRequest.builder() - .path(testApplication) - .domain("test-private-domain") - .name("test-name") - .build())) - .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(3))) - .expectComplete() - .verify(Duration.ofSeconds(5)); + StepVerifier.withVirtualTime( + () -> + this.applications.push( + PushApplicationRequest.builder() + .path(testApplication) + .domain("test-private-domain") + .name("test-name") + .build())) + .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(3))) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test @@ -2061,40 +2761,71 @@ public void pushRandomRoute() throws IOException { Path testApplication = new ClassPathResource("test-application.zip").getFile().toPath(); requestApplicationsEmpty(this.cloudFoundryClient, "test-application.name", TEST_SPACE_ID); - requestCreateApplication(this.cloudFoundryClient, ApplicationManifest.builder() - .path(testApplication) - .domain("test-shared-domain") - .name("test-application.name") - .randomRoute(true) - .build(), TEST_SPACE_ID, null, "test-application-id"); + requestCreateApplication( + this.cloudFoundryClient, + ApplicationManifest.builder() + .path(testApplication) + .domain("test-shared-domain") + .name("test-application.name") + .randomRoute(true) + .build(), + TEST_SPACE_ID, + null, + "test-application-id"); requestSpace(this.cloudFoundryClient, TEST_SPACE_ID, TEST_ORGANIZATION_ID); requestPrivateDomainsEmpty(this.cloudFoundryClient, TEST_ORGANIZATION_ID); - requestSharedDomains(this.cloudFoundryClient, "test-shared-domain", "test-shared-domain-id"); + requestSharedDomains( + this.cloudFoundryClient, "test-shared-domain", "test-shared-domain-id"); provideRandomWords(this.randomWords); requestApplicationRoutes(this.cloudFoundryClient, "test-application-id", "test-route-id"); - requestRoutesEmpty(this.cloudFoundryClient, "test-shared-domain-id", "test-applicationname-test-adjective-test-noun", 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-applicationname-test-adjective-test-noun", null, null, TEST_SPACE_ID, "test-route-id"); + requestRoutesEmpty( + this.cloudFoundryClient, + "test-shared-domain-id", + "test-applicationname-test-adjective-test-noun", + 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-applicationname-test-adjective-test-noun", + 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"); + requestUpload( + this.cloudFoundryClient, "test-application-id", testApplication, "test-job-id"); requestJobSuccess(this.cloudFoundryClient, "test-job-entity-id"); requestUpdateApplicationState(this.cloudFoundryClient, "test-application-id", "STOPPED"); requestUpdateApplicationState(this.cloudFoundryClient, "test-application-id", "STARTED"); requestGetApplication(this.cloudFoundryClient, "test-application-id"); requestApplicationInstancesRunning(this.cloudFoundryClient, "test-application-id"); - StepVerifier.withVirtualTime(() -> this.applications - .push(PushApplicationRequest.builder() - .path(testApplication) - .domain("test-shared-domain") - .name("test-application.name") - .randomRoute(true) - .build())) - .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(3))) - .expectComplete() - .verify(Duration.ofSeconds(5)); + StepVerifier.withVirtualTime( + () -> + this.applications.push( + PushApplicationRequest.builder() + .path(testApplication) + .domain("test-shared-domain") + .name("test-application.name") + .randomRoute(true) + .build())) + .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(3))) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test @@ -2102,36 +2833,64 @@ public void pushSharedDomain() 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"); + 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); - requestSharedDomains(this.cloudFoundryClient, "test-shared-domain", "test-shared-domain-id"); + requestSharedDomains( + this.cloudFoundryClient, "test-shared-domain", "test-shared-domain-id"); requestApplicationRoutes(this.cloudFoundryClient, "test-application-id", "test-route-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"); + 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"); + requestUpload( + this.cloudFoundryClient, "test-application-id", testApplication, "test-job-id"); requestJobSuccess(this.cloudFoundryClient, "test-job-entity-id"); requestUpdateApplicationState(this.cloudFoundryClient, "test-application-id", "STOPPED"); requestUpdateApplicationState(this.cloudFoundryClient, "test-application-id", "STARTED"); requestGetApplication(this.cloudFoundryClient, "test-application-id"); requestApplicationInstancesRunning(this.cloudFoundryClient, "test-application-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))) - .expectComplete() - .verify(Duration.ofSeconds(5)); + StepVerifier.withVirtualTime( + () -> + this.applications.push( + PushApplicationRequest.builder() + .path(testApplication) + .domain("test-shared-domain") + .name("test-name") + .build())) + .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(3))) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test @@ -2139,36 +2898,68 @@ public void pushStartFailsRunning() 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"); + 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); - requestSharedDomains(this.cloudFoundryClient, "test-shared-domain", "test-shared-domain-id"); + requestSharedDomains( + this.cloudFoundryClient, "test-shared-domain", "test-shared-domain-id"); requestApplicationRoutes(this.cloudFoundryClient, "test-application-id", "test-route-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"); + 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"); + requestUpload( + this.cloudFoundryClient, "test-application-id", testApplication, "test-job-id"); requestJobSuccess(this.cloudFoundryClient, "test-job-entity-id"); requestUpdateApplicationState(this.cloudFoundryClient, "test-application-id", "STOPPED"); requestUpdateApplicationState(this.cloudFoundryClient, "test-application-id", "STARTED"); requestGetApplication(this.cloudFoundryClient, "test-application-id"); requestApplicationInstancesFailingTotal(this.cloudFoundryClient, "test-application-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(IllegalStateException.class).hasMessage("Application test-name failed during start")) - .verify(Duration.ofSeconds(5)); + 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(IllegalStateException.class) + .hasMessage("Application test-name failed during start")) + .verify(Duration.ofSeconds(5)); } @Test @@ -2176,35 +2967,68 @@ public void pushStartFailsStaging() 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"); + 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); requestApplicationRoutes(this.cloudFoundryClient, "test-application-id", "test-route-id"); - requestPrivateDomains(this.cloudFoundryClient, TEST_ORGANIZATION_ID, "test-private-domain-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"); + requestPrivateDomains( + this.cloudFoundryClient, TEST_ORGANIZATION_ID, "test-private-domain-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"); + requestUpload( + this.cloudFoundryClient, "test-application-id", testApplication, "test-job-id"); requestJobSuccess(this.cloudFoundryClient, "test-job-entity-id"); requestUpdateApplicationState(this.cloudFoundryClient, "test-application-id", "STOPPED"); requestUpdateApplicationState(this.cloudFoundryClient, "test-application-id", "STARTED"); requestGetApplicationFailing(this.cloudFoundryClient, "test-application-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(IllegalStateException.class).hasMessage("Application test-name failed during staging")) - .verify(Duration.ofSeconds(5)); + 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(IllegalStateException.class) + .hasMessage("Application test-name failed during staging")) + .verify(Duration.ofSeconds(5)); } @Test @@ -2215,34 +3039,59 @@ public void pushTcpRandomRoute() throws IOException { requestSpace(this.cloudFoundryClient, TEST_SPACE_ID, TEST_ORGANIZATION_ID); requestPrivateDomainsEmpty(this.cloudFoundryClient, TEST_ORGANIZATION_ID); requestTcpDomains(this.cloudFoundryClient, "test-tcp-domain", "test-tcp-domain-id"); - requestCreateApplication(this.cloudFoundryClient, ApplicationManifest.builder() - .path(testApplication) - .domain("test-tcp-domain") - .name("test-name") - .build(), TEST_SPACE_ID, null, "test-application-id"); - requestListMatchingResources(this.cloudFoundryClient, Arrays.asList(new ResourceMatchingUtils.ArtifactMetadata("da39a3ee5e6b4b0d3255bfef95601890afd80709", "Staticfile", "100644", 0), - new ResourceMatchingUtils.ArtifactMetadata("45044a6ddbfe11415a8f8a6219de68a2c66b496b", "index.html", "100644", 178))); + requestCreateApplication( + this.cloudFoundryClient, + ApplicationManifest.builder() + .path(testApplication) + .domain("test-tcp-domain") + .name("test-name") + .build(), + TEST_SPACE_ID, + null, + "test-application-id"); + requestListMatchingResources( + this.cloudFoundryClient, + Arrays.asList( + new ResourceMatchingUtils.ArtifactMetadata( + "da39a3ee5e6b4b0d3255bfef95601890afd80709", + "Staticfile", + "100644", + 0), + new ResourceMatchingUtils.ArtifactMetadata( + "45044a6ddbfe11415a8f8a6219de68a2c66b496b", + "index.html", + "100644", + 178))); requestApplicationRoutes(this.cloudFoundryClient, "test-application-id", "test-route-id"); requestRoutesEmpty(this.cloudFoundryClient, "test-tcp-domain-id", null, null, null); - requestCreateRoute(this.cloudFoundryClient, "test-tcp-domain-id", true, null, TEST_SPACE_ID, "test-route-id"); + requestCreateRoute( + this.cloudFoundryClient, + "test-tcp-domain-id", + true, + 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"); + requestUpload( + this.cloudFoundryClient, "test-application-id", testApplication, "test-job-id"); requestJobSuccess(this.cloudFoundryClient, "test-job-entity-id"); requestUpdateApplicationState(this.cloudFoundryClient, "test-application-id", "STOPPED"); requestUpdateApplicationState(this.cloudFoundryClient, "test-application-id", "STARTED"); requestGetApplication(this.cloudFoundryClient, "test-application-id"); requestApplicationInstancesRunning(this.cloudFoundryClient, "test-application-id"); - StepVerifier.withVirtualTime(() -> this.applications - .push(PushApplicationRequest.builder() - .path(testApplication) - .domain("test-tcp-domain") - .randomRoute(true) - .name("test-name") - .build())) - .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(3))) - .expectComplete() - .verify(Duration.ofSeconds(5)); + StepVerifier.withVirtualTime( + () -> + this.applications.push( + PushApplicationRequest.builder() + .path(testApplication) + .domain("test-tcp-domain") + .randomRoute(true) + .name("test-name") + .build())) + .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(3))) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test @@ -2253,37 +3102,65 @@ public void pushTcpRoute() throws IOException { requestApplicationsEmpty(this.cloudFoundryClient, "test-name", TEST_SPACE_ID); requestPrivateDomainsEmpty(this.cloudFoundryClient, TEST_ORGANIZATION_ID); requestTcpDomains(this.cloudFoundryClient, "test-tcp-domain", "test-tcp-domain-id"); - requestCreateApplication(this.cloudFoundryClient, ApplicationManifest.builder() - .path(testApplication) - .domain("test-tcp-domain") - .name("test-name") - .build(), TEST_SPACE_ID, null, "test-application-id"); - requestListMatchingResources(this.cloudFoundryClient, Arrays.asList(new ResourceMatchingUtils.ArtifactMetadata("da39a3ee5e6b4b0d3255bfef95601890afd80709", "Staticfile", "100644", 0), - new ResourceMatchingUtils.ArtifactMetadata("45044a6ddbfe11415a8f8a6219de68a2c66b496b", "index.html", "100644", 178))); + requestCreateApplication( + this.cloudFoundryClient, + ApplicationManifest.builder() + .path(testApplication) + .domain("test-tcp-domain") + .name("test-name") + .build(), + TEST_SPACE_ID, + null, + "test-application-id"); + requestListMatchingResources( + this.cloudFoundryClient, + Arrays.asList( + new ResourceMatchingUtils.ArtifactMetadata( + "da39a3ee5e6b4b0d3255bfef95601890afd80709", + "Staticfile", + "100644", + 0), + new ResourceMatchingUtils.ArtifactMetadata( + "45044a6ddbfe11415a8f8a6219de68a2c66b496b", + "index.html", + "100644", + 178))); requestApplicationRoutes(this.cloudFoundryClient, "test-application-id", "test-route-id"); requestRoutesEmpty(this.cloudFoundryClient, "test-tcp-domain-id", null, 61001, null); - requestCreateRoute(this.cloudFoundryClient, "test-tcp-domain-id", null, 61001, TEST_SPACE_ID, "test-route-id"); + requestCreateRoute( + this.cloudFoundryClient, + "test-tcp-domain-id", + null, + 61001, + 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"); + requestUpload( + this.cloudFoundryClient, "test-application-id", testApplication, "test-job-id"); requestJobSuccess(this.cloudFoundryClient, "test-job-entity-id"); requestUpdateApplicationState(this.cloudFoundryClient, "test-application-id", "STOPPED"); requestUpdateApplicationState(this.cloudFoundryClient, "test-application-id", "STARTED"); requestGetApplication(this.cloudFoundryClient, "test-application-id"); requestApplicationInstancesRunning(this.cloudFoundryClient, "test-application-id"); - StepVerifier.withVirtualTime(() -> this.applications - .pushManifest(PushApplicationManifestRequest.builder() - .manifest(ApplicationManifest.builder() - .path(testApplication) - .route(Route.builder() - .route("test-tcp-domain:61001") - .build()) - .name("test-name") - .build()) - .build())) - .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(3))) - .expectComplete() - .verify(Duration.ofSeconds(5)); + StepVerifier.withVirtualTime( + () -> + this.applications.pushManifest( + PushApplicationManifestRequest.builder() + .manifest( + ApplicationManifest.builder() + .path(testApplication) + .route( + Route.builder() + .route( + "test-tcp-domain:61001") + .build()) + .name("test-name") + .build()) + .build())) + .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(3))) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test @@ -2291,47 +3168,84 @@ 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"); + 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"); + 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"); + 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)); + 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)); } @Test public void rename() { - requestApplications(this.cloudFoundryClient, "test-app-name", TEST_SPACE_ID, "test-metadata-id"); - requestUpdateApplicationRename(this.cloudFoundryClient, "test-metadata-id", "test-new-app-name"); + requestApplications( + this.cloudFoundryClient, "test-app-name", TEST_SPACE_ID, "test-metadata-id"); + requestUpdateApplicationRename( + this.cloudFoundryClient, "test-metadata-id", "test-new-app-name"); this.applications - .rename(RenameApplicationRequest.builder() - .name("test-app-name") - .newName("test-new-app-name") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .rename( + RenameApplicationRequest.builder() + .name("test-app-name") + .newName("test-new-app-name") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test @@ -2339,29 +3253,40 @@ public void renameNoApp() { requestApplicationsEmpty(this.cloudFoundryClient, "test-app-name", TEST_SPACE_ID); this.applications - .rename(RenameApplicationRequest.builder() - .name("test-app-name") - .newName("test-new-app-name") - .build()) - .as(StepVerifier::create) - .consumeErrorWith(t -> assertThat(t).isInstanceOf(IllegalArgumentException.class).hasMessage("Application test-app-name does not exist")) - .verify(Duration.ofSeconds(5)); + .rename( + RenameApplicationRequest.builder() + .name("test-app-name") + .newName("test-new-app-name") + .build()) + .as(StepVerifier::create) + .consumeErrorWith( + t -> + assertThat(t) + .isInstanceOf(IllegalArgumentException.class) + .hasMessage("Application test-app-name does not exist")) + .verify(Duration.ofSeconds(5)); } @Test public void restage() { - requestApplications(this.cloudFoundryClient, "test-application-name", TEST_SPACE_ID, "test-metadata-id"); + requestApplications( + this.cloudFoundryClient, + "test-application-name", + TEST_SPACE_ID, + "test-metadata-id"); requestRestageApplication(this.cloudFoundryClient, "test-metadata-id"); requestGetApplication(this.cloudFoundryClient, "test-metadata-id"); requestApplicationInstancesRunning(this.cloudFoundryClient, "test-metadata-id"); - StepVerifier.withVirtualTime(() -> this.applications - .restage(RestageApplicationRequest.builder() - .name("test-application-name") - .build())) - .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(3))) - .expectComplete() - .verify(Duration.ofSeconds(5)); + StepVerifier.withVirtualTime( + () -> + this.applications.restage( + RestageApplicationRequest.builder() + .name("test-application-name") + .build())) + .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(3))) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test @@ -2369,258 +3294,342 @@ public void restageInvalidApplication() { requestApplicationsEmpty(this.cloudFoundryClient, "test-application-name", TEST_SPACE_ID); this.applications - .restage(RestageApplicationRequest.builder() - .name("test-application-name") - .build()) - .as(StepVerifier::create) - .consumeErrorWith(t -> assertThat(t).isInstanceOf(IllegalArgumentException.class).hasMessage("Application test-application-name does not exist")) - .verify(Duration.ofSeconds(5)); + .restage(RestageApplicationRequest.builder().name("test-application-name").build()) + .as(StepVerifier::create) + .consumeErrorWith( + t -> + assertThat(t) + .isInstanceOf(IllegalArgumentException.class) + .hasMessage( + "Application test-application-name does not exist")) + .verify(Duration.ofSeconds(5)); } @Test public void restageStagingFailure() { - requestApplications(this.cloudFoundryClient, "test-application-name", TEST_SPACE_ID, "test-metadata-id"); + requestApplications( + this.cloudFoundryClient, + "test-application-name", + TEST_SPACE_ID, + "test-metadata-id"); requestRestageApplication(this.cloudFoundryClient, "test-metadata-id"); requestGetApplicationFailing(this.cloudFoundryClient, "test-metadata-id"); this.applications - .restage(RestageApplicationRequest.builder() - .name("test-application-name") - .build()) - .as(StepVerifier::create) - .consumeErrorWith(t -> assertThat(t).isInstanceOf(IllegalStateException.class).hasMessage("Application test-application-name failed during staging")) - .verify(Duration.ofSeconds(5)); + .restage(RestageApplicationRequest.builder().name("test-application-name").build()) + .as(StepVerifier::create) + .consumeErrorWith( + t -> + assertThat(t) + .isInstanceOf(IllegalStateException.class) + .hasMessage( + "Application test-application-name failed during" + + " staging")) + .verify(Duration.ofSeconds(5)); } @Test public void restageStartingFailurePartial() { - requestApplications(this.cloudFoundryClient, "test-application-name", TEST_SPACE_ID, "test-metadata-id"); + requestApplications( + this.cloudFoundryClient, + "test-application-name", + TEST_SPACE_ID, + "test-metadata-id"); requestRestageApplication(this.cloudFoundryClient, "test-metadata-id"); requestGetApplication(this.cloudFoundryClient, "test-metadata-id"); requestApplicationInstancesFailingPartial(this.cloudFoundryClient, "test-metadata-id"); - StepVerifier.withVirtualTime(() -> this.applications - .restage(RestageApplicationRequest.builder() - .name("test-application-name") - .build())) - .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(3))) - .expectComplete() - .verify(Duration.ofSeconds(5)); + StepVerifier.withVirtualTime( + () -> + this.applications.restage( + RestageApplicationRequest.builder() + .name("test-application-name") + .build())) + .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(3))) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void restageStartingFailureTotal() { - requestApplications(this.cloudFoundryClient, "test-application-name", TEST_SPACE_ID, "test-metadata-id"); + requestApplications( + this.cloudFoundryClient, + "test-application-name", + TEST_SPACE_ID, + "test-metadata-id"); requestRestageApplication(this.cloudFoundryClient, "test-metadata-id"); requestGetApplication(this.cloudFoundryClient, "test-metadata-id"); requestApplicationInstancesFailingTotal(this.cloudFoundryClient, "test-metadata-id"); - StepVerifier.withVirtualTime(() -> this.applications - .restage(RestageApplicationRequest.builder() - .name("test-application-name") - .build())) - .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(3))) - .consumeErrorWith(t -> assertThat(t).isInstanceOf(IllegalStateException.class).hasMessage("Application test-application-name failed during start")) - .verify(Duration.ofSeconds(5)); + StepVerifier.withVirtualTime( + () -> + this.applications.restage( + RestageApplicationRequest.builder() + .name("test-application-name") + .build())) + .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(3))) + .consumeErrorWith( + t -> + assertThat(t) + .isInstanceOf(IllegalStateException.class) + .hasMessage( + "Application test-application-name failed during" + + " start")) + .verify(Duration.ofSeconds(5)); } @Test public void restageTimeout() { - requestApplications(this.cloudFoundryClient, "test-application-name", TEST_SPACE_ID, "test-metadata-id"); + requestApplications( + this.cloudFoundryClient, + "test-application-name", + TEST_SPACE_ID, + "test-metadata-id"); requestRestageApplication(this.cloudFoundryClient, "test-metadata-id"); requestGetApplicationTimeout(this.cloudFoundryClient, "test-metadata-id"); this.applications - .restage(RestageApplicationRequest.builder() - .name("test-application-name") - .stagingTimeout(Duration.ofSeconds(1)) - .build()) - .as(StepVerifier::create) - .consumeErrorWith(t -> assertThat(t).isInstanceOf(IllegalStateException.class).hasMessage("Application test-application-name timed out during staging")) - .verify(Duration.ofSeconds(5)); + .restage( + RestageApplicationRequest.builder() + .name("test-application-name") + .stagingTimeout(Duration.ofSeconds(1)) + .build()) + .as(StepVerifier::create) + .consumeErrorWith( + t -> + assertThat(t) + .isInstanceOf(IllegalStateException.class) + .hasMessage( + "Application test-application-name timed out during" + + " staging")) + .verify(Duration.ofSeconds(5)); } @Test public void restartFailurePartial() { - requestApplicationsSpecificState(this.cloudFoundryClient, "test-app-name", TEST_SPACE_ID, "STARTED"); + requestApplicationsSpecificState( + this.cloudFoundryClient, "test-app-name", TEST_SPACE_ID, "STARTED"); requestUpdateApplicationState(this.cloudFoundryClient, "test-application-id", "STOPPED"); requestUpdateApplicationState(this.cloudFoundryClient, "test-application-id", "STARTED"); requestGetApplication(this.cloudFoundryClient, "test-application-id"); requestApplicationInstancesFailingPartial(this.cloudFoundryClient, "test-application-id"); - StepVerifier.withVirtualTime(() -> this.applications - .restart(RestartApplicationRequest.builder() - .name("test-app-name") - .build())) - .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(3))) - .expectComplete() - .verify(Duration.ofSeconds(5)); + StepVerifier.withVirtualTime( + () -> + this.applications.restart( + RestartApplicationRequest.builder() + .name("test-app-name") + .build())) + .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(3))) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void restartFailureTotal() { - requestApplicationsSpecificState(this.cloudFoundryClient, "test-app-name", TEST_SPACE_ID, "STARTED"); + requestApplicationsSpecificState( + this.cloudFoundryClient, "test-app-name", TEST_SPACE_ID, "STARTED"); requestUpdateApplicationState(this.cloudFoundryClient, "test-application-id", "STOPPED"); requestUpdateApplicationState(this.cloudFoundryClient, "test-application-id", "STARTED"); requestGetApplication(this.cloudFoundryClient, "test-application-id"); requestApplicationInstancesFailingTotal(this.cloudFoundryClient, "test-application-id"); - StepVerifier.withVirtualTime(() -> this.applications - .restart(RestartApplicationRequest.builder() - .name("test-app-name") - .build())) - .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(3))) - .consumeErrorWith(t -> assertThat(t).isInstanceOf(IllegalStateException.class).hasMessage("Application test-app-name failed during start")) - .verify(Duration.ofSeconds(5)); + StepVerifier.withVirtualTime( + () -> + this.applications.restart( + RestartApplicationRequest.builder() + .name("test-app-name") + .build())) + .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(3))) + .consumeErrorWith( + t -> + assertThat(t) + .isInstanceOf(IllegalStateException.class) + .hasMessage( + "Application test-app-name failed during start")) + .verify(Duration.ofSeconds(5)); } @Test public void restartInstance() { - requestApplications(this.cloudFoundryClient, "test-application-name", TEST_SPACE_ID, "test-metadata-id"); + requestApplications( + this.cloudFoundryClient, + "test-application-name", + TEST_SPACE_ID, + "test-metadata-id"); requestTerminateApplicationInstance(this.cloudFoundryClient, "test-metadata-id", "0"); - StepVerifier.withVirtualTime(() -> this.applications - .restartInstance(RestartApplicationInstanceRequest.builder() - .name("test-application-name") - .instanceIndex(0) - .build())) - .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(3))) - .expectComplete() - .verify(Duration.ofSeconds(5)); + StepVerifier.withVirtualTime( + () -> + this.applications.restartInstance( + RestartApplicationInstanceRequest.builder() + .name("test-application-name") + .instanceIndex(0) + .build())) + .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(3))) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void restartNoApp() { - requestApplicationsEmpty(this.cloudFoundryClient, "test-non-existent-app-name", TEST_SPACE_ID); + requestApplicationsEmpty( + this.cloudFoundryClient, "test-non-existent-app-name", TEST_SPACE_ID); this.applications - .restart(RestartApplicationRequest.builder() - .name("test-non-existent-app-name") - .build()) - .as(StepVerifier::create) - .consumeErrorWith(t -> assertThat(t).isInstanceOf(IllegalArgumentException.class).hasMessage("Application test-non-existent-app-name does not exist")) - .verify(Duration.ofSeconds(5)); + .restart( + RestartApplicationRequest.builder() + .name("test-non-existent-app-name") + .build()) + .as(StepVerifier::create) + .consumeErrorWith( + t -> + assertThat(t) + .isInstanceOf(IllegalArgumentException.class) + .hasMessage( + "Application test-non-existent-app-name does not" + + " exist")) + .verify(Duration.ofSeconds(5)); } @Test public void restartNotStartedAndNotStopped() { - requestApplicationsSpecificState(this.cloudFoundryClient, "test-app-name", TEST_SPACE_ID, "unknown-state"); + requestApplicationsSpecificState( + this.cloudFoundryClient, "test-app-name", TEST_SPACE_ID, "unknown-state"); requestUpdateApplicationState(this.cloudFoundryClient, "test-application-id", "STOPPED"); requestUpdateApplicationState(this.cloudFoundryClient, "test-application-id", "STARTED"); requestGetApplication(this.cloudFoundryClient, "test-application-id"); requestApplicationInstancesRunning(this.cloudFoundryClient, "test-application-id"); - StepVerifier.withVirtualTime(() -> this.applications - .restart(RestartApplicationRequest.builder() - .name("test-app-name") - .build())) - .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(3))) - .expectComplete() - .verify(Duration.ofSeconds(5)); + StepVerifier.withVirtualTime( + () -> + this.applications.restart( + RestartApplicationRequest.builder() + .name("test-app-name") + .build())) + .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(3))) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void restartStarted() { - requestApplicationsSpecificState(this.cloudFoundryClient, "test-app-name", TEST_SPACE_ID, "STARTED"); + requestApplicationsSpecificState( + this.cloudFoundryClient, "test-app-name", TEST_SPACE_ID, "STARTED"); requestUpdateApplicationState(this.cloudFoundryClient, "test-application-id", "STOPPED"); requestUpdateApplicationState(this.cloudFoundryClient, "test-application-id", "STARTED"); requestGetApplication(this.cloudFoundryClient, "test-application-id"); requestApplicationInstancesRunning(this.cloudFoundryClient, "test-application-id"); - StepVerifier.withVirtualTime(() -> this.applications - .restart(RestartApplicationRequest.builder() - .name("test-app-name") - .build())) - .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(3))) - .expectComplete() - .verify(Duration.ofSeconds(5)); + StepVerifier.withVirtualTime( + () -> + this.applications.restart( + RestartApplicationRequest.builder() + .name("test-app-name") + .build())) + .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(3))) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void restartStopped() { - requestApplicationsSpecificState(this.cloudFoundryClient, "test-app-name", TEST_SPACE_ID, "STOPPED"); + requestApplicationsSpecificState( + this.cloudFoundryClient, "test-app-name", TEST_SPACE_ID, "STOPPED"); requestUpdateApplicationState(this.cloudFoundryClient, "test-application-id", "STARTED"); requestGetApplication(this.cloudFoundryClient, "test-application-id"); requestApplicationInstancesRunning(this.cloudFoundryClient, "test-application-id"); - StepVerifier.withVirtualTime(() -> this.applications - .restart(RestartApplicationRequest.builder() - .name("test-app-name") - .build())) - .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(3))) - .expectComplete() - .verify(Duration.ofSeconds(5)); + StepVerifier.withVirtualTime( + () -> + this.applications.restart( + RestartApplicationRequest.builder() + .name("test-app-name") + .build())) + .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(3))) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void runTask() { - requestApplicationsV3(this.cloudFoundryClient, "test-application-name", TEST_SPACE_ID, "test-metadata-id"); + requestApplicationsV3( + this.cloudFoundryClient, + "test-application-name", + TEST_SPACE_ID, + "test-metadata-id"); requestRunTask(this.cloudFoundryClient, "test-metadata-id"); this.applications - .runTask(RunApplicationTaskRequest.builder() - .applicationName("test-application-name") - .command("test-command") - .build()) - .as(StepVerifier::create) - .expectNext(fill(Task.builder()) - .command("test-command") - .state(TaskState.CANCELING) - .name("test-name") - .sequenceId(1) - .startTime("test-createdAt") - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .runTask( + RunApplicationTaskRequest.builder() + .applicationName("test-application-name") + .command("test-command") + .build()) + .as(StepVerifier::create) + .expectNext( + fill(Task.builder()) + .command("test-command") + .state(TaskState.CANCELING) + .name("test-name") + .sequenceId(1) + .startTime("test-createdAt") + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void scaleDiskAndInstancesNotStarted() { - requestApplicationsSpecificState(this.cloudFoundryClient, "test-app-name", TEST_SPACE_ID, "STOPPED"); - requestUpdateApplicationScale(this.cloudFoundryClient, "test-application-id", 2048, 2, null); + requestApplicationsSpecificState( + this.cloudFoundryClient, "test-app-name", TEST_SPACE_ID, "STOPPED"); + requestUpdateApplicationScale( + this.cloudFoundryClient, "test-application-id", 2048, 2, null); this.applications - .scale(ScaleApplicationRequest.builder() - .name("test-app-name") - .instances(2) - .diskLimit(2048) - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .scale( + ScaleApplicationRequest.builder() + .name("test-app-name") + .instances(2) + .diskLimit(2048) + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void scaleDiskAndInstancesStarted() { - requestApplicationsSpecificState(this.cloudFoundryClient, "test-app-name", TEST_SPACE_ID, "STARTED"); - requestUpdateApplicationScale(this.cloudFoundryClient, "test-application-id", 2048, 2, null); + requestApplicationsSpecificState( + this.cloudFoundryClient, "test-app-name", TEST_SPACE_ID, "STARTED"); + requestUpdateApplicationScale( + this.cloudFoundryClient, "test-application-id", 2048, 2, null); requestUpdateApplicationState(this.cloudFoundryClient, "test-application-id", "STOPPED"); requestUpdateApplicationState(this.cloudFoundryClient, "test-application-id", "STARTED"); this.applications - .scale(ScaleApplicationRequest.builder() - .name("test-app-name") - .instances(2) - .diskLimit(2048) - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .scale( + ScaleApplicationRequest.builder() + .name("test-app-name") + .instances(2) + .diskLimit(2048) + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void scaleInstances() { - requestApplications(this.cloudFoundryClient, "test-app-name", TEST_SPACE_ID, "test-metadata-id"); + requestApplications( + this.cloudFoundryClient, "test-app-name", TEST_SPACE_ID, "test-metadata-id"); requestUpdateApplicationScale(this.cloudFoundryClient, "test-metadata-id", null, 2, null); this.applications - .scale(ScaleApplicationRequest.builder() - .name("test-app-name") - .instances(2) - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .scale(ScaleApplicationRequest.builder().name("test-app-name").instances(2).build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test @@ -2628,52 +3637,58 @@ public void scaleInstancesNoApp() { requestApplicationsEmpty(this.cloudFoundryClient, "test-app-name", TEST_SPACE_ID); this.applications - .scale(ScaleApplicationRequest.builder() - .name("test-app-name") - .instances(2) - .build()) - .as(StepVerifier::create) - .consumeErrorWith(t -> assertThat(t).isInstanceOf(IllegalArgumentException.class).hasMessage("Application test-app-name does not exist")) - .verify(Duration.ofSeconds(5)); + .scale(ScaleApplicationRequest.builder().name("test-app-name").instances(2).build()) + .as(StepVerifier::create) + .consumeErrorWith( + t -> + assertThat(t) + .isInstanceOf(IllegalArgumentException.class) + .hasMessage("Application test-app-name does not exist")) + .verify(Duration.ofSeconds(5)); } @Test public void scaleNoChange() { - requestApplications(this.cloudFoundryClient, "test-app-name", TEST_SPACE_ID, "test-metadata-id"); + requestApplications( + this.cloudFoundryClient, "test-app-name", TEST_SPACE_ID, "test-metadata-id"); this.applications - .scale(ScaleApplicationRequest.builder() - .name("test-app-name") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .scale(ScaleApplicationRequest.builder().name("test-app-name").build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void setEnvironmentVariable() { - requestApplications(this.cloudFoundryClient, "test-app", TEST_SPACE_ID, "test-metadata-id", - FluentMap.builder() - .entry("test-var", "test-value") - .entry("test-var2", "test-value2") - .build()); - requestUpdateApplicationEnvironment(this.cloudFoundryClient, "test-metadata-id", - FluentMap.builder() - .entry("test-var", "test-value") - .entry("test-var2", "test-value2") - .entry("test-var-name", "test-var-value") - .build() - ); + requestApplications( + this.cloudFoundryClient, + "test-app", + TEST_SPACE_ID, + "test-metadata-id", + FluentMap.builder() + .entry("test-var", "test-value") + .entry("test-var2", "test-value2") + .build()); + requestUpdateApplicationEnvironment( + this.cloudFoundryClient, + "test-metadata-id", + FluentMap.builder() + .entry("test-var", "test-value") + .entry("test-var2", "test-value2") + .entry("test-var-name", "test-var-value") + .build()); this.applications - .setEnvironmentVariable(SetEnvironmentVariableApplicationRequest.builder() - .name("test-app") - .variableName("test-var-name") - .variableValue("test-var-value") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .setEnvironmentVariable( + SetEnvironmentVariableApplicationRequest.builder() + .name("test-app") + .variableName("test-var-name") + .variableValue("test-var-value") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test @@ -2681,43 +3696,53 @@ public void setEnvironmentVariableNoApp() { requestApplicationsEmpty(this.cloudFoundryClient, "test-app", TEST_SPACE_ID); this.applications - .setEnvironmentVariable(SetEnvironmentVariableApplicationRequest.builder() - .name("test-app") - .variableName("test-var-name") - .variableValue("test-var-value") - .build()) - .as(StepVerifier::create) - .consumeErrorWith(t -> assertThat(t).isInstanceOf(IllegalArgumentException.class).hasMessage("Application test-app does not exist")) - .verify(Duration.ofSeconds(5)); + .setEnvironmentVariable( + SetEnvironmentVariableApplicationRequest.builder() + .name("test-app") + .variableName("test-var-name") + .variableValue("test-var-value") + .build()) + .as(StepVerifier::create) + .consumeErrorWith( + t -> + assertThat(t) + .isInstanceOf(IllegalArgumentException.class) + .hasMessage("Application test-app does not exist")) + .verify(Duration.ofSeconds(5)); } @Test public void setHealthCheck() { - requestApplications(this.cloudFoundryClient, "test-application-name", TEST_SPACE_ID, "test-application-id"); - requestUpdateApplicationHealthCheck(this.cloudFoundryClient, "test-application-id", ApplicationHealthCheck.PORT); + requestApplications( + this.cloudFoundryClient, + "test-application-name", + TEST_SPACE_ID, + "test-application-id"); + requestUpdateApplicationHealthCheck( + this.cloudFoundryClient, "test-application-id", ApplicationHealthCheck.PORT); this.applications - .setHealthCheck(SetApplicationHealthCheckRequest.builder() - .name("test-application-name") - .type(ApplicationHealthCheck.PORT) - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .setHealthCheck( + SetApplicationHealthCheckRequest.builder() + .name("test-application-name") + .type(ApplicationHealthCheck.PORT) + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void sshEnabled() { - requestApplications(this.cloudFoundryClient, "test-app-name", TEST_SPACE_ID, "test-metadata-id"); + requestApplications( + this.cloudFoundryClient, "test-app-name", TEST_SPACE_ID, "test-metadata-id"); this.applications - .sshEnabled(ApplicationSshEnabledRequest.builder() - .name("test-app-name") - .build()) - .as(StepVerifier::create) - .expectNext(true) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .sshEnabled(ApplicationSshEnabledRequest.builder().name("test-app-name").build()) + .as(StepVerifier::create) + .expectNext(true) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test @@ -2725,61 +3750,83 @@ public void sshEnabledNoApp() { requestApplicationsEmpty(this.cloudFoundryClient, "test-app-name", TEST_SPACE_ID); this.applications - .sshEnabled(ApplicationSshEnabledRequest.builder() - .name("test-app-name") - .build()) - .as(StepVerifier::create) - .consumeErrorWith(t -> assertThat(t).isInstanceOf(IllegalArgumentException.class).hasMessage("Application test-app-name does not exist")) - .verify(Duration.ofSeconds(5)); + .sshEnabled(ApplicationSshEnabledRequest.builder().name("test-app-name").build()) + .as(StepVerifier::create) + .consumeErrorWith( + t -> + assertThat(t) + .isInstanceOf(IllegalArgumentException.class) + .hasMessage("Application test-app-name does not exist")) + .verify(Duration.ofSeconds(5)); } @Test public void startApplicationFailurePartial() { - requestApplicationsSpecificState(this.cloudFoundryClient, "test-application-name", TEST_SPACE_ID, "STOPPED"); + requestApplicationsSpecificState( + this.cloudFoundryClient, "test-application-name", TEST_SPACE_ID, "STOPPED"); requestUpdateApplicationState(this.cloudFoundryClient, "test-application-id", "STARTED"); requestGetApplication(this.cloudFoundryClient, "test-application-id"); requestApplicationInstancesFailingPartial(this.cloudFoundryClient, "test-application-id"); - StepVerifier.withVirtualTime(() -> this.applications - .start(StartApplicationRequest.builder() - .name("test-application-name") - .build())) - .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(3))) - .expectComplete() - .verify(Duration.ofSeconds(5)); + StepVerifier.withVirtualTime( + () -> + this.applications.start( + StartApplicationRequest.builder() + .name("test-application-name") + .build())) + .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(3))) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void startApplicationFailureTotal() { - requestApplicationsSpecificState(this.cloudFoundryClient, "test-application-name", TEST_SPACE_ID, "STOPPED"); + requestApplicationsSpecificState( + this.cloudFoundryClient, "test-application-name", TEST_SPACE_ID, "STOPPED"); requestUpdateApplicationState(this.cloudFoundryClient, "test-application-id", "STARTED"); requestGetApplication(this.cloudFoundryClient, "test-application-id"); requestApplicationInstancesFailingTotal(this.cloudFoundryClient, "test-application-id"); - StepVerifier.withVirtualTime(() -> this.applications - .start(StartApplicationRequest.builder() - .name("test-application-name") - .build())) - .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(3))) - .consumeErrorWith(t -> assertThat(t).isInstanceOf(IllegalStateException.class).hasMessage("Application test-application-name failed during start")) - .verify(Duration.ofSeconds(5)); + StepVerifier.withVirtualTime( + () -> + this.applications.start( + StartApplicationRequest.builder() + .name("test-application-name") + .build())) + .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(3))) + .consumeErrorWith( + t -> + assertThat(t) + .isInstanceOf(IllegalStateException.class) + .hasMessage( + "Application test-application-name failed during" + + " start")) + .verify(Duration.ofSeconds(5)); } @Test public void startApplicationTimeout() { - requestApplicationsSpecificState(this.cloudFoundryClient, "test-application-name", TEST_SPACE_ID, "STOPPED"); + requestApplicationsSpecificState( + this.cloudFoundryClient, "test-application-name", TEST_SPACE_ID, "STOPPED"); requestUpdateApplicationState(this.cloudFoundryClient, "test-application-id", "STARTED"); requestGetApplication(this.cloudFoundryClient, "test-application-id"); requestApplicationInstancesTimeout(this.cloudFoundryClient, "test-application-id"); this.applications - .start(StartApplicationRequest.builder() - .name("test-application-name") - .startupTimeout(Duration.ofSeconds(1)) - .build()) - .as(StepVerifier::create) - .consumeErrorWith(t -> assertThat(t).isInstanceOf(IllegalStateException.class).hasMessage("Application test-application-name timed out during start")) - .verify(Duration.ofSeconds(5)); + .start( + StartApplicationRequest.builder() + .name("test-application-name") + .startupTimeout(Duration.ofSeconds(1)) + .build()) + .as(StepVerifier::create) + .consumeErrorWith( + t -> + assertThat(t) + .isInstanceOf(IllegalStateException.class) + .hasMessage( + "Application test-application-name timed out during" + + " start")) + .verify(Duration.ofSeconds(5)); } @Test @@ -2787,41 +3834,46 @@ public void startInvalidApplication() { requestApplicationsEmpty(this.cloudFoundryClient, "test-application-name", TEST_SPACE_ID); this.applications - .start(StartApplicationRequest.builder() - .name("test-application-name") - .build()) - .as(StepVerifier::create) - .consumeErrorWith(t -> assertThat(t).isInstanceOf(IllegalArgumentException.class).hasMessage("Application test-application-name does not exist")) - .verify(Duration.ofSeconds(5)); + .start(StartApplicationRequest.builder().name("test-application-name").build()) + .as(StepVerifier::create) + .consumeErrorWith( + t -> + assertThat(t) + .isInstanceOf(IllegalArgumentException.class) + .hasMessage( + "Application test-application-name does not exist")) + .verify(Duration.ofSeconds(5)); } @Test public void startStartedApplication() { - requestApplicationsSpecificState(this.cloudFoundryClient, "test-application-name", TEST_SPACE_ID, "STARTED"); + requestApplicationsSpecificState( + this.cloudFoundryClient, "test-application-name", TEST_SPACE_ID, "STARTED"); this.applications - .start(StartApplicationRequest.builder() - .name("test-application-name") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .start(StartApplicationRequest.builder().name("test-application-name").build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void startStoppedApplication() { - requestApplicationsSpecificState(this.cloudFoundryClient, "test-application-name", TEST_SPACE_ID, "STOPPED"); + requestApplicationsSpecificState( + this.cloudFoundryClient, "test-application-name", TEST_SPACE_ID, "STOPPED"); requestUpdateApplicationState(this.cloudFoundryClient, "test-application-id", "STARTED"); requestGetApplication(this.cloudFoundryClient, "test-application-id"); requestApplicationInstancesRunning(this.cloudFoundryClient, "test-application-id"); - StepVerifier.withVirtualTime(() -> this.applications - .start(StartApplicationRequest.builder() - .name("test-application-name") - .build())) - .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(3))) - .expectComplete() - .verify(Duration.ofSeconds(5)); + StepVerifier.withVirtualTime( + () -> + this.applications.start( + StartApplicationRequest.builder() + .name("test-application-name") + .build())) + .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(3))) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test @@ -2829,95 +3881,117 @@ public void stopInvalidApplication() { requestApplicationsEmpty(this.cloudFoundryClient, "test-application-name", TEST_SPACE_ID); this.applications - .stop(StopApplicationRequest.builder() - .name("test-application-name") - .build()) - .as(StepVerifier::create) - .consumeErrorWith(t -> assertThat(t).isInstanceOf(IllegalArgumentException.class).hasMessage("Application test-application-name does not exist")) - .verify(Duration.ofSeconds(5)); + .stop(StopApplicationRequest.builder().name("test-application-name").build()) + .as(StepVerifier::create) + .consumeErrorWith( + t -> + assertThat(t) + .isInstanceOf(IllegalArgumentException.class) + .hasMessage( + "Application test-application-name does not exist")) + .verify(Duration.ofSeconds(5)); } @Test public void stopStartedApplication() { - requestApplicationsSpecificState(this.cloudFoundryClient, "test-application-name", TEST_SPACE_ID, "STARTED"); + requestApplicationsSpecificState( + this.cloudFoundryClient, "test-application-name", TEST_SPACE_ID, "STARTED"); requestUpdateApplicationState(this.cloudFoundryClient, "test-application-id", "STOPPED"); this.applications - .stop(StopApplicationRequest.builder() - .name("test-application-name") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .stop(StopApplicationRequest.builder().name("test-application-name").build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void stopStoppedApplication() { - requestApplicationsSpecificState(this.cloudFoundryClient, "test-application-name", TEST_SPACE_ID, "STOPPED"); + requestApplicationsSpecificState( + this.cloudFoundryClient, "test-application-name", TEST_SPACE_ID, "STOPPED"); this.applications - .stop(StopApplicationRequest.builder() - .name("test-application-name") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .stop(StopApplicationRequest.builder().name("test-application-name").build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void terminateTask() { - requestApplicationsV3(this.cloudFoundryClient, "test-application-name", TEST_SPACE_ID, "test-metadata-id"); + requestApplicationsV3( + this.cloudFoundryClient, + "test-application-name", + TEST_SPACE_ID, + "test-metadata-id"); requestListTasks(this.cloudFoundryClient, "test-metadata-id", 1); requestCancelTask(this.cloudFoundryClient, "test-id"); this.applications - .terminateTask(TerminateApplicationTaskRequest.builder() - .applicationName("test-application-name") - .sequenceId(1) - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .terminateTask( + TerminateApplicationTaskRequest.builder() + .applicationName("test-application-name") + .sequenceId(1) + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void terminateTaskNoTask() { - requestApplicationsV3(this.cloudFoundryClient, "test-application-name", TEST_SPACE_ID, "test-metadata-id"); + requestApplicationsV3( + this.cloudFoundryClient, + "test-application-name", + TEST_SPACE_ID, + "test-metadata-id"); requestListTasksEmpty(this.cloudFoundryClient, "test-metadata-id", 1); requestCancelTask(this.cloudFoundryClient, "test-id"); this.applications - .terminateTask(TerminateApplicationTaskRequest.builder() - .applicationName("test-application-name") - .sequenceId(1) - .build()) - .as(StepVerifier::create) - .consumeErrorWith(t -> assertThat(t).isInstanceOf(IllegalArgumentException.class).hasMessage("Task with sequence id of 1 does not exist")) - .verify(Duration.ofSeconds(5)); + .terminateTask( + TerminateApplicationTaskRequest.builder() + .applicationName("test-application-name") + .sequenceId(1) + .build()) + .as(StepVerifier::create) + .consumeErrorWith( + t -> + assertThat(t) + .isInstanceOf(IllegalArgumentException.class) + .hasMessage("Task with sequence id of 1 does not exist")) + .verify(Duration.ofSeconds(5)); } @Test public void unsetEnvironmentVariable() { - requestApplications(this.cloudFoundryClient, "test-app", TEST_SPACE_ID, "test-metadata-id", - FluentMap.builder() - .entry("test-var", "test-value") - .entry("test-var2", "test-value2") - .entry("test-var-name", "test-var-value") - .build()); - requestUpdateApplicationEnvironment(this.cloudFoundryClient, "test-metadata-id", - FluentMap.builder() - .entry("test-var2", "test-value2") - .entry("test-var-name", "test-var-value") - .build()); + requestApplications( + this.cloudFoundryClient, + "test-app", + TEST_SPACE_ID, + "test-metadata-id", + FluentMap.builder() + .entry("test-var", "test-value") + .entry("test-var2", "test-value2") + .entry("test-var-name", "test-var-value") + .build()); + requestUpdateApplicationEnvironment( + this.cloudFoundryClient, + "test-metadata-id", + FluentMap.builder() + .entry("test-var2", "test-value2") + .entry("test-var-name", "test-var-value") + .build()); this.applications - .unsetEnvironmentVariable(UnsetEnvironmentVariableApplicationRequest.builder() - .name("test-app") - .variableName("test-var") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .unsetEnvironmentVariable( + UnsetEnvironmentVariableApplicationRequest.builder() + .name("test-app") + .variableName("test-var") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test @@ -2925,13 +3999,18 @@ public void unsetEnvironmentVariableNoApp() { requestApplicationsEmpty(this.cloudFoundryClient, "test-app", TEST_SPACE_ID); this.applications - .unsetEnvironmentVariable(UnsetEnvironmentVariableApplicationRequest.builder() - .name("test-app") - .variableName("test-var") - .build()) - .as(StepVerifier::create) - .consumeErrorWith(t -> assertThat(t).isInstanceOf(IllegalArgumentException.class).hasMessage("Application test-app does not exist")) - .verify(Duration.ofSeconds(5)); + .unsetEnvironmentVariable( + UnsetEnvironmentVariableApplicationRequest.builder() + .name("test-app") + .variableName("test-var") + .build()) + .as(StepVerifier::create) + .consumeErrorWith( + t -> + assertThat(t) + .isInstanceOf(IllegalArgumentException.class) + .hasMessage("Application test-app does not exist")) + .verify(Duration.ofSeconds(5)); } private static void provideRandomWords(RandomWords randomWords) { @@ -2939,1055 +4018,1531 @@ private static void provideRandomWords(RandomWords randomWords) { when(randomWords.getNoun()).thenReturn("test-noun"); } - private static void requestApplicationEmptyInstance(CloudFoundryClient cloudFoundryClient, String applicationId) { - when(cloudFoundryClient.applicationsV2() - .instances(ApplicationInstancesRequest.builder() - .applicationId(applicationId) - .build())) - .thenReturn(Mono - .just(ApplicationInstancesResponse.builder() - .instance("instance-0", ApplicationInstanceInfo.builder() - .build()) - .build())); - } - - private static void requestApplicationEmptyStats(CloudFoundryClient cloudFoundryClient, String applicationId) { - when(cloudFoundryClient.applicationsV2() - .statistics(ApplicationStatisticsRequest.builder() - .applicationId(applicationId) - .build())) - .thenReturn(Mono - .just(ApplicationStatisticsResponse.builder() - .build())); - } - - private static void requestApplicationEnvironment(CloudFoundryClient cloudFoundryClient, String applicationId) { - when(cloudFoundryClient.applicationsV2() - .environment(ApplicationEnvironmentRequest.builder() - .applicationId(applicationId) - .build())) - .thenReturn(Mono - .just(ApplicationEnvironmentResponse.builder() - .runningEnvironmentJson("running-env-name", "running-env-value") - .applicationEnvironmentJson("application-env-name", "application-env-value") - .stagingEnvironmentJson("staging-env-name", "staging-env-value") - .environmentJson("env-name", "env-value") - .systemEnvironmentJson("system-env-name", "system-env-value") - .build())); - } - - private static void requestApplicationInstances(CloudFoundryClient cloudFoundryClient, String applicationId) { - when(cloudFoundryClient.applicationsV2() - .instances(ApplicationInstancesRequest.builder() - .applicationId(applicationId) - .build())) - .thenReturn(Mono - .just(ApplicationInstancesResponse.builder() - .instance("instance-0", fill(ApplicationInstanceInfo.builder(), "application-instance-info-") - .build()) - .build())); - } - - private static void requestApplicationInstancesError(CloudFoundryClient cloudFoundryClient, String applicationId, Integer code) { - when(cloudFoundryClient.applicationsV2() - .instances(ApplicationInstancesRequest.builder() - .applicationId(applicationId) - .build())) - .thenReturn(Mono - .error(new ClientV2Exception(null, code, "test-exception-description", "test-exception-errorCode"))); - } - - private static void requestApplicationInstancesFailingPartial(CloudFoundryClient cloudFoundryClient, String applicationId) { - when(cloudFoundryClient.applicationsV2() - .instances(ApplicationInstancesRequest.builder() - .applicationId(applicationId) - .build())) - .thenReturn(Mono - .just(fill(ApplicationInstancesResponse.builder(), "application-instances-") - .instance("instance-0", fill(ApplicationInstanceInfo.builder(), "application-instance-info-") - .state("RUNNING") - .build()) - .instance("instance-1", fill(ApplicationInstanceInfo.builder(), "application-instance-info-") - .state("FLAPPING") - .build()) - .build())); - } - - private static void requestApplicationInstancesFailingTotal(CloudFoundryClient cloudFoundryClient, String applicationId) { - when(cloudFoundryClient.applicationsV2() - .instances(ApplicationInstancesRequest.builder() - .applicationId(applicationId) - .build())) - .thenReturn(Mono - .just(fill(ApplicationInstancesResponse.builder(), "application-instances-") - .instance("instance-0", fill(ApplicationInstanceInfo.builder(), "application-instance-info-") - .state("FLAPPING") - .build()) - .build())); - } - - private static void requestApplicationInstancesRunning(CloudFoundryClient cloudFoundryClient, String applicationId) { - when(cloudFoundryClient.applicationsV2() - .instances(ApplicationInstancesRequest.builder() - .applicationId(applicationId) - .build())) - .thenReturn(Mono - .just(fill(ApplicationInstancesResponse.builder(), "application-instances-") - .instance("instance-0", fill(ApplicationInstanceInfo.builder(), "application-instance-info-") - .state("RUNNING") - .build()) - .build())); - } - - private static void requestApplicationInstancesTimeout(CloudFoundryClient cloudFoundryClient, String applicationId) { - when(cloudFoundryClient.applicationsV2() - .instances(ApplicationInstancesRequest.builder() - .applicationId(applicationId) - .build())) - .thenReturn(Mono - .just(fill(ApplicationInstancesResponse.builder(), "application-instances-") - .instance("instance-0", fill(ApplicationInstanceInfo.builder(), "application-instance-info-") - .state("STARTING") - .build()) - .build())); - } - - private static void requestApplicationNoInstances(CloudFoundryClient cloudFoundryClient, String applicationId) { - when(cloudFoundryClient.applicationsV2() - .instances(ApplicationInstancesRequest.builder() - .applicationId(applicationId) - .build())) - .thenReturn(Mono - .just(ApplicationInstancesResponse.builder().build())); - } - - private static void requestApplicationNullStats(CloudFoundryClient cloudFoundryClient, String applicationId) { - when(cloudFoundryClient.applicationsV2() - .statistics(ApplicationStatisticsRequest.builder() - .applicationId(applicationId) - .build())) - .thenReturn(Mono - .just(ApplicationStatisticsResponse.builder() - .instance("instance-0", fill(InstanceStatistics.builder(), "instance-statistics-") - .statistics(null) - .build()) - .build())); - } - - private static void requestApplicationNullUsage(CloudFoundryClient cloudFoundryClient, String applicationId) { - when(cloudFoundryClient.applicationsV2() - .statistics(ApplicationStatisticsRequest.builder() - .applicationId(applicationId) - .build())) - .thenReturn(Mono - .just(ApplicationStatisticsResponse.builder() - .instance("instance-0", fill(InstanceStatistics.builder(), "instance-statistics-") - .statistics(fill(Statistics.builder(), "statistics-") - .usage(null) - .build()) - .build()) - .build())); - } - - private static void requestApplicationRoutes(CloudFoundryClient cloudFoundryClient, String applicationId, String routeId) { - when(cloudFoundryClient.applicationsV2() - .listRoutes(ListApplicationRoutesRequest.builder() - .applicationId(applicationId) - .page(1) - .build())) - .thenReturn(Mono - .just(fill(ListApplicationRoutesResponse.builder()) - .resource(fill(RouteResource.builder()) - .metadata(fill(Metadata.builder()) - .id(routeId) - .build()) - .build()) - .totalPages(1) - .build())); - } - - private static void requestApplicationRoutesEmpty(CloudFoundryClient cloudFoundryClient, String applicationId) { - when(cloudFoundryClient.applicationsV2() - .listRoutes(ListApplicationRoutesRequest.builder() - .applicationId(applicationId) - .page(1) - .build())) - .thenReturn(Mono - .just(fill(ListApplicationRoutesResponse.builder()) - .totalPages(1) - .build())); - } - - private static void requestApplicationServiceBindings(CloudFoundryClient cloudFoundryClient, String applicationId) { - when(cloudFoundryClient.applicationsV2() - .listServiceBindings(ListApplicationServiceBindingsRequest.builder() - .applicationId(applicationId) - .page(1) - .build())) - .thenReturn(Mono - .just(fill(ListApplicationServiceBindingsResponse.builder(), "test-service-binding-") - .resource(fill(ServiceBindingResource.builder()) - .metadata(fill(Metadata.builder()) - .id("test-service-binding-id") - .build()) - .build()) - .totalPages(1) - .build())); - } - - private static void requestApplicationServiceBindingsEmpty(CloudFoundryClient cloudFoundryClient, String applicationId) { - when(cloudFoundryClient.applicationsV2() - .listServiceBindings(ListApplicationServiceBindingsRequest.builder() - .applicationId(applicationId) - .page(1) - .build())) - .thenReturn(Mono.empty()); - } - - private static void requestApplicationStatistics(CloudFoundryClient cloudFoundryClient, String applicationId) { - when(cloudFoundryClient.applicationsV2() - .statistics(ApplicationStatisticsRequest.builder() - .applicationId(applicationId) - .build())) - .thenReturn(Mono - .just(ApplicationStatisticsResponse.builder() - .instance("instance-0", fill(InstanceStatistics.builder(), "instance-statistics-") - .statistics(fill(Statistics.builder(), "statistics-") - .usage(fill(Usage.builder(), "usage-") - .build()) - .build()) - .build()) - .build())); - } - - private static void requestApplicationStatisticsError(CloudFoundryClient cloudFoundryClient, String applicationId, Integer code) { - when(cloudFoundryClient.applicationsV2() - .statistics(ApplicationStatisticsRequest.builder() - .applicationId(applicationId) - .build())) - .thenReturn(Mono - .error(new ClientV2Exception(null, code, "test-exception-description", "test-exception-errorCode"))); - } - - private static void requestApplicationSummary(CloudFoundryClient cloudFoundryClient, String applicationId) { - when(cloudFoundryClient.applicationsV2() - .summary(SummaryApplicationRequest.builder() - .applicationId(applicationId) - .build())) - .thenReturn(Mono - .just(fill(SummaryApplicationResponse.builder(), "application-summary-") - .buildpack("test-buildpack") - .healthCheckType("port") - .packageUpdatedAt(DateUtils.formatToIso8601(new Date(0))) - .route(fill(org.cloudfoundry.client.v2.routes.Route.builder(), "route-") - .domain(fill(org.cloudfoundry.client.v2.domains.Domain.builder(), "domain-").build()) - .path("/test-path") - .port(null) - .build()) - .dockerImage(null) - .dockerCredentials(null) - .service(ServiceInstance.builder() - .name("test-service-instance-name") - .build()) - .build())); - } - - private static void requestApplicationSummaryDetectedBuildpack(CloudFoundryClient cloudFoundryClient, String applicationId) { - when(cloudFoundryClient.applicationsV2() - .summary(SummaryApplicationRequest.builder() - .applicationId(applicationId) - .build())) - .thenReturn(Mono - .just(fill(SummaryApplicationResponse.builder(), "application-summary-") - .route(fill(org.cloudfoundry.client.v2.routes.Route.builder(), "route-") - .domain(fill(org.cloudfoundry.client.v2.domains.Domain.builder(), "domain-") - .build()) - .build()) - .buildpack(null) - .packageUpdatedAt(DateUtils.formatToIso8601(new Date(0))) - .build())); - } - - private static void requestApplicationSummaryDocker(CloudFoundryClient cloudFoundryClient, String applicationId) { - when(cloudFoundryClient.applicationsV2() - .summary(SummaryApplicationRequest.builder() - .applicationId(applicationId) - .build())) - .thenReturn(Mono - .just(fill(SummaryApplicationResponse.builder(), "application-summary-") - .buildpack(null) - .healthCheckType("port") - .packageUpdatedAt(DateUtils.formatToIso8601(new Date(0))) - .route(fill(org.cloudfoundry.client.v2.routes.Route.builder(), "route-") - .domain(fill(org.cloudfoundry.client.v2.domains.Domain.builder(), "domain-").build()) - .path("/test-path") - .port(null) - .build()) - .dockerImage("cloudfoundry/test-app") - .dockerCredentials(DockerCredentials.builder() - .username("admin") - .password("Abcd5") - .build()) - .service(ServiceInstance.builder() - .name("test-service-instance-name") - .build()) - .build())); - } - - private static void requestApplicationSummaryNoBuildpack(CloudFoundryClient cloudFoundryClient, String applicationId) { - when(cloudFoundryClient.applicationsV2() - .summary(SummaryApplicationRequest.builder() - .applicationId(applicationId) - .build())) - .thenReturn(Mono - .just(fill(SummaryApplicationResponse.builder(), "application-summary-") - .route(fill(org.cloudfoundry.client.v2.routes.Route.builder(), "route-") - .domain(fill(org.cloudfoundry.client.v2.domains.Domain.builder(), "domain-") - .build()) - .build()) - .buildpack(null) - .detectedBuildpack(null) - .packageUpdatedAt(DateUtils.formatToIso8601(new Date(0))) - .build())); - } - - private static void requestApplicationSummaryNoRoutes(CloudFoundryClient cloudFoundryClient, String applicationId) { - when(cloudFoundryClient.applicationsV2() - .summary(SummaryApplicationRequest.builder() - .applicationId(applicationId) - .build())) - .thenReturn(Mono - .just(fill(SummaryApplicationResponse.builder(), "application-summary-") - .buildpack("test-buildpack") - .healthCheckType("port") - .dockerImage(null) - .dockerCredentials(null) - .packageUpdatedAt(DateUtils.formatToIso8601(new Date(0))) - .build())); - } - - private static void requestApplicationSummaryTcp(CloudFoundryClient cloudFoundryClient, String applicationId) { - when(cloudFoundryClient.applicationsV2() - .summary(SummaryApplicationRequest.builder() - .applicationId(applicationId) - .build())) - .thenReturn(Mono - .just(fill(SummaryApplicationResponse.builder(), "application-summary-") - .buildpack("test-buildpack") - .healthCheckType("port") - .packageUpdatedAt(DateUtils.formatToIso8601(new Date(0))) - .route(fill(org.cloudfoundry.client.v2.routes.Route.builder(), "route-") - .domain(fill(org.cloudfoundry.client.v2.domains.Domain.builder(), "domain-").build()) - .port(999) - .build()) - .dockerImage(null) - .dockerCredentials(null) - .service(ServiceInstance.builder() - .name("test-service-instance-name") - .build()) - .build())); - } - - private static void requestApplications(CloudFoundryClient cloudFoundryClient, String application, String spaceId, String applicationId) { - requestApplications(cloudFoundryClient, application, spaceId, applicationId, Collections.singletonMap("test-var", "test-value")); - } - - private static void requestApplications(CloudFoundryClient cloudFoundryClient, String application, String spaceId, String applicationId, Map envResponse) { - when(cloudFoundryClient.spaces() - .listApplications(ListSpaceApplicationsRequest.builder() - .name(application) - .page(1) - .spaceId(spaceId) - .build())) - .thenReturn(Mono - .just(fill(ListSpaceApplicationsResponse.builder()) - .resource(ApplicationResource.builder() - .metadata(fill(Metadata.builder()) - .id(applicationId) - .build()) - .entity(fill(ApplicationEntity.builder(), "application-") - .environmentJsons(envResponse) - .healthCheckType(ApplicationHealthCheck.PORT.getValue()) - .build()) - .build()) - .totalPages(1) - .build())); - } - - private static void requestApplicationsEmpty(CloudFoundryClient cloudFoundryClient, String application, String spaceId) { - when(cloudFoundryClient.spaces() - .listApplications(ListSpaceApplicationsRequest.builder() - .name(application) - .page(1) - .spaceId(spaceId) - .build())) - .thenReturn(Mono - .just(fill(ListSpaceApplicationsResponse.builder()) - .build())); - } - - private static void requestApplicationsSpecificState(CloudFoundryClient cloudFoundryClient, String application, String spaceId, String stateReturned) { - when(cloudFoundryClient.spaces() - .listApplications(ListSpaceApplicationsRequest.builder() - .name(application) - .page(1) - .spaceId(spaceId) - .build())) - .thenReturn(Mono - .just(fill(ListSpaceApplicationsResponse.builder()) - .resource(fill(ApplicationResource.builder(), "application-") - .entity(fill(ApplicationEntity.builder(), "application-entity-") - .state(stateReturned) - .build()) - .build()) - .build())); - } - - private static void requestApplicationsV3(CloudFoundryClient cloudFoundryClient, String application, String spaceId, String applicationId) { - when(cloudFoundryClient.applicationsV3() - .list(ListApplicationsRequest.builder() - .name(application) - .page(1) - .spaceId(spaceId) - .build())) - .thenReturn(Mono - .just(fill(ListApplicationsResponse.builder()) - .resource(org.cloudfoundry.client.v3.applications.ApplicationResource.builder() - .createdAt("test-created-at") - .id(applicationId) - .lifecycle(Lifecycle.builder() - .data(BuildpackData.builder() - .buildpack("test-buildpack") - .build()) - .type(BUILDPACK) - .build()) - .name("test-name") - .state(ApplicationState.STOPPED) - .updatedAt("test-updated-at") - .build()) - .build())); - } - - private static void requestApplicationsWithSsh(CloudFoundryClient cloudFoundryClient, String application, String spaceId, Boolean sshEnabled) { - when(cloudFoundryClient.spaces() - .listApplications(ListSpaceApplicationsRequest.builder() - .name(application) - .spaceId(spaceId) - .page(1) - .build())) - .thenReturn(Mono - .just(fill(ListSpaceApplicationsResponse.builder()) - .resource(ApplicationResource.builder() - .metadata(fill(Metadata.builder()) - .id("test-application-id") - .build()) - .entity(fill(ApplicationEntity.builder(), "application-") - .environmentJson("test-var", "test-value") - .enableSsh(sshEnabled) - .build()) - .build()) - .totalPages(1) - .build())); - } - - private static void requestAssociateRoute(CloudFoundryClient cloudFoundryClient, String applicationId, String routeId) { - when(cloudFoundryClient.applicationsV2() - .associateRoute(AssociateApplicationRouteRequest.builder() - .applicationId(applicationId) - .routeId(routeId) - .build())) - .thenReturn(Mono.empty()); + private static void requestApplicationEmptyInstance( + CloudFoundryClient cloudFoundryClient, String applicationId) { + when(cloudFoundryClient + .applicationsV2() + .instances( + ApplicationInstancesRequest.builder() + .applicationId(applicationId) + .build())) + .thenReturn( + Mono.just( + ApplicationInstancesResponse.builder() + .instance( + "instance-0", + ApplicationInstanceInfo.builder().build()) + .build())); + } + + private static void requestApplicationEmptyStats( + CloudFoundryClient cloudFoundryClient, String applicationId) { + when(cloudFoundryClient + .applicationsV2() + .statistics( + ApplicationStatisticsRequest.builder() + .applicationId(applicationId) + .build())) + .thenReturn(Mono.just(ApplicationStatisticsResponse.builder().build())); + } + + private static void requestApplicationEnvironment( + CloudFoundryClient cloudFoundryClient, String applicationId) { + when(cloudFoundryClient + .applicationsV2() + .environment( + ApplicationEnvironmentRequest.builder() + .applicationId(applicationId) + .build())) + .thenReturn( + Mono.just( + ApplicationEnvironmentResponse.builder() + .runningEnvironmentJson( + "running-env-name", "running-env-value") + .applicationEnvironmentJson( + "application-env-name", "application-env-value") + .stagingEnvironmentJson( + "staging-env-name", "staging-env-value") + .environmentJson("env-name", "env-value") + .systemEnvironmentJson( + "system-env-name", "system-env-value") + .build())); + } + + private static void requestApplicationInstances( + CloudFoundryClient cloudFoundryClient, String applicationId) { + when(cloudFoundryClient + .applicationsV2() + .instances( + ApplicationInstancesRequest.builder() + .applicationId(applicationId) + .build())) + .thenReturn( + Mono.just( + ApplicationInstancesResponse.builder() + .instance( + "instance-0", + fill( + ApplicationInstanceInfo.builder(), + "application-instance-info-") + .build()) + .build())); + } + + private static void requestApplicationInstancesError( + CloudFoundryClient cloudFoundryClient, String applicationId, Integer code) { + when(cloudFoundryClient + .applicationsV2() + .instances( + ApplicationInstancesRequest.builder() + .applicationId(applicationId) + .build())) + .thenReturn( + Mono.error( + new ClientV2Exception( + null, + code, + "test-exception-description", + "test-exception-errorCode"))); + } + + private static void requestApplicationInstancesFailingPartial( + CloudFoundryClient cloudFoundryClient, String applicationId) { + when(cloudFoundryClient + .applicationsV2() + .instances( + ApplicationInstancesRequest.builder() + .applicationId(applicationId) + .build())) + .thenReturn( + Mono.just( + fill( + ApplicationInstancesResponse.builder(), + "application-instances-") + .instance( + "instance-0", + fill( + ApplicationInstanceInfo.builder(), + "application-instance-info-") + .state("RUNNING") + .build()) + .instance( + "instance-1", + fill( + ApplicationInstanceInfo.builder(), + "application-instance-info-") + .state("FLAPPING") + .build()) + .build())); + } + + private static void requestApplicationInstancesFailingTotal( + CloudFoundryClient cloudFoundryClient, String applicationId) { + when(cloudFoundryClient + .applicationsV2() + .instances( + ApplicationInstancesRequest.builder() + .applicationId(applicationId) + .build())) + .thenReturn( + Mono.just( + fill( + ApplicationInstancesResponse.builder(), + "application-instances-") + .instance( + "instance-0", + fill( + ApplicationInstanceInfo.builder(), + "application-instance-info-") + .state("FLAPPING") + .build()) + .build())); + } + + private static void requestApplicationInstancesRunning( + CloudFoundryClient cloudFoundryClient, String applicationId) { + when(cloudFoundryClient + .applicationsV2() + .instances( + ApplicationInstancesRequest.builder() + .applicationId(applicationId) + .build())) + .thenReturn( + Mono.just( + fill( + ApplicationInstancesResponse.builder(), + "application-instances-") + .instance( + "instance-0", + fill( + ApplicationInstanceInfo.builder(), + "application-instance-info-") + .state("RUNNING") + .build()) + .build())); + } + + private static void requestApplicationInstancesTimeout( + CloudFoundryClient cloudFoundryClient, String applicationId) { + when(cloudFoundryClient + .applicationsV2() + .instances( + ApplicationInstancesRequest.builder() + .applicationId(applicationId) + .build())) + .thenReturn( + Mono.just( + fill( + ApplicationInstancesResponse.builder(), + "application-instances-") + .instance( + "instance-0", + fill( + ApplicationInstanceInfo.builder(), + "application-instance-info-") + .state("STARTING") + .build()) + .build())); + } + + private static void requestApplicationNoInstances( + CloudFoundryClient cloudFoundryClient, String applicationId) { + when(cloudFoundryClient + .applicationsV2() + .instances( + ApplicationInstancesRequest.builder() + .applicationId(applicationId) + .build())) + .thenReturn(Mono.just(ApplicationInstancesResponse.builder().build())); + } + + private static void requestApplicationNullStats( + CloudFoundryClient cloudFoundryClient, String applicationId) { + when(cloudFoundryClient + .applicationsV2() + .statistics( + ApplicationStatisticsRequest.builder() + .applicationId(applicationId) + .build())) + .thenReturn( + Mono.just( + ApplicationStatisticsResponse.builder() + .instance( + "instance-0", + fill( + InstanceStatistics.builder(), + "instance-statistics-") + .statistics(null) + .build()) + .build())); + } + + private static void requestApplicationNullUsage( + CloudFoundryClient cloudFoundryClient, String applicationId) { + when(cloudFoundryClient + .applicationsV2() + .statistics( + ApplicationStatisticsRequest.builder() + .applicationId(applicationId) + .build())) + .thenReturn( + Mono.just( + ApplicationStatisticsResponse.builder() + .instance( + "instance-0", + fill( + InstanceStatistics.builder(), + "instance-statistics-") + .statistics( + fill( + Statistics + .builder(), + "statistics-") + .usage(null) + .build()) + .build()) + .build())); + } + + private static void requestApplicationRoutes( + CloudFoundryClient cloudFoundryClient, String applicationId, String routeId) { + when(cloudFoundryClient + .applicationsV2() + .listRoutes( + ListApplicationRoutesRequest.builder() + .applicationId(applicationId) + .page(1) + .build())) + .thenReturn( + Mono.just( + fill(ListApplicationRoutesResponse.builder()) + .resource( + fill(RouteResource.builder()) + .metadata( + fill(Metadata.builder()) + .id(routeId) + .build()) + .build()) + .totalPages(1) + .build())); + } + + private static void requestApplicationRoutesEmpty( + CloudFoundryClient cloudFoundryClient, String applicationId) { + when(cloudFoundryClient + .applicationsV2() + .listRoutes( + ListApplicationRoutesRequest.builder() + .applicationId(applicationId) + .page(1) + .build())) + .thenReturn( + Mono.just( + fill(ListApplicationRoutesResponse.builder()) + .totalPages(1) + .build())); + } + + private static void requestApplicationServiceBindings( + CloudFoundryClient cloudFoundryClient, String applicationId) { + when(cloudFoundryClient + .applicationsV2() + .listServiceBindings( + ListApplicationServiceBindingsRequest.builder() + .applicationId(applicationId) + .page(1) + .build())) + .thenReturn( + Mono.just( + fill( + ListApplicationServiceBindingsResponse.builder(), + "test-service-binding-") + .resource( + fill(ServiceBindingResource.builder()) + .metadata( + fill(Metadata.builder()) + .id( + "test-service-binding-id") + .build()) + .build()) + .totalPages(1) + .build())); + } + + private static void requestApplicationServiceBindingsEmpty( + CloudFoundryClient cloudFoundryClient, String applicationId) { + when(cloudFoundryClient + .applicationsV2() + .listServiceBindings( + ListApplicationServiceBindingsRequest.builder() + .applicationId(applicationId) + .page(1) + .build())) + .thenReturn(Mono.empty()); + } + + private static void requestApplicationStatistics( + CloudFoundryClient cloudFoundryClient, String applicationId) { + when(cloudFoundryClient + .applicationsV2() + .statistics( + ApplicationStatisticsRequest.builder() + .applicationId(applicationId) + .build())) + .thenReturn( + Mono.just( + ApplicationStatisticsResponse.builder() + .instance( + "instance-0", + fill( + InstanceStatistics.builder(), + "instance-statistics-") + .statistics( + fill( + Statistics + .builder(), + "statistics-") + .usage( + fill( + Usage + .builder(), + "usage-") + .build()) + .build()) + .build()) + .build())); + } + + private static void requestApplicationStatisticsError( + CloudFoundryClient cloudFoundryClient, String applicationId, Integer code) { + when(cloudFoundryClient + .applicationsV2() + .statistics( + ApplicationStatisticsRequest.builder() + .applicationId(applicationId) + .build())) + .thenReturn( + Mono.error( + new ClientV2Exception( + null, + code, + "test-exception-description", + "test-exception-errorCode"))); + } + + private static void requestApplicationSummary( + CloudFoundryClient cloudFoundryClient, String applicationId) { + when(cloudFoundryClient + .applicationsV2() + .summary( + SummaryApplicationRequest.builder() + .applicationId(applicationId) + .build())) + .thenReturn( + Mono.just( + fill(SummaryApplicationResponse.builder(), "application-summary-") + .buildpack("test-buildpack") + .healthCheckType("port") + .packageUpdatedAt(DateUtils.formatToIso8601(new Date(0))) + .route( + fill( + org.cloudfoundry.client.v2.routes + .Route.builder(), + "route-") + .domain( + fill( + org.cloudfoundry + .client.v2 + .domains + .Domain + .builder(), + "domain-") + .build()) + .path("/test-path") + .port(null) + .build()) + .dockerImage(null) + .dockerCredentials(null) + .service( + ServiceInstance.builder() + .name("test-service-instance-name") + .build()) + .build())); + } + + private static void requestApplicationSummaryDetectedBuildpack( + CloudFoundryClient cloudFoundryClient, String applicationId) { + when(cloudFoundryClient + .applicationsV2() + .summary( + SummaryApplicationRequest.builder() + .applicationId(applicationId) + .build())) + .thenReturn( + Mono.just( + fill(SummaryApplicationResponse.builder(), "application-summary-") + .route( + fill( + org.cloudfoundry.client.v2.routes + .Route.builder(), + "route-") + .domain( + fill( + org.cloudfoundry + .client.v2 + .domains + .Domain + .builder(), + "domain-") + .build()) + .build()) + .buildpack(null) + .packageUpdatedAt(DateUtils.formatToIso8601(new Date(0))) + .build())); + } + + private static void requestApplicationSummaryDocker( + CloudFoundryClient cloudFoundryClient, String applicationId) { + when(cloudFoundryClient + .applicationsV2() + .summary( + SummaryApplicationRequest.builder() + .applicationId(applicationId) + .build())) + .thenReturn( + Mono.just( + fill(SummaryApplicationResponse.builder(), "application-summary-") + .buildpack(null) + .healthCheckType("port") + .packageUpdatedAt(DateUtils.formatToIso8601(new Date(0))) + .route( + fill( + org.cloudfoundry.client.v2.routes + .Route.builder(), + "route-") + .domain( + fill( + org.cloudfoundry + .client.v2 + .domains + .Domain + .builder(), + "domain-") + .build()) + .path("/test-path") + .port(null) + .build()) + .dockerImage("cloudfoundry/test-app") + .dockerCredentials( + DockerCredentials.builder() + .username("admin") + .password("Abcd5") + .build()) + .service( + ServiceInstance.builder() + .name("test-service-instance-name") + .build()) + .build())); + } + + private static void requestApplicationSummaryNoBuildpack( + CloudFoundryClient cloudFoundryClient, String applicationId) { + when(cloudFoundryClient + .applicationsV2() + .summary( + SummaryApplicationRequest.builder() + .applicationId(applicationId) + .build())) + .thenReturn( + Mono.just( + fill(SummaryApplicationResponse.builder(), "application-summary-") + .route( + fill( + org.cloudfoundry.client.v2.routes + .Route.builder(), + "route-") + .domain( + fill( + org.cloudfoundry + .client.v2 + .domains + .Domain + .builder(), + "domain-") + .build()) + .build()) + .buildpack(null) + .detectedBuildpack(null) + .packageUpdatedAt(DateUtils.formatToIso8601(new Date(0))) + .build())); + } + + private static void requestApplicationSummaryNoRoutes( + CloudFoundryClient cloudFoundryClient, String applicationId) { + when(cloudFoundryClient + .applicationsV2() + .summary( + SummaryApplicationRequest.builder() + .applicationId(applicationId) + .build())) + .thenReturn( + Mono.just( + fill(SummaryApplicationResponse.builder(), "application-summary-") + .buildpack("test-buildpack") + .healthCheckType("port") + .dockerImage(null) + .dockerCredentials(null) + .packageUpdatedAt(DateUtils.formatToIso8601(new Date(0))) + .build())); + } + + private static void requestApplicationSummaryTcp( + CloudFoundryClient cloudFoundryClient, String applicationId) { + when(cloudFoundryClient + .applicationsV2() + .summary( + SummaryApplicationRequest.builder() + .applicationId(applicationId) + .build())) + .thenReturn( + Mono.just( + fill(SummaryApplicationResponse.builder(), "application-summary-") + .buildpack("test-buildpack") + .healthCheckType("port") + .packageUpdatedAt(DateUtils.formatToIso8601(new Date(0))) + .route( + fill( + org.cloudfoundry.client.v2.routes + .Route.builder(), + "route-") + .domain( + fill( + org.cloudfoundry + .client.v2 + .domains + .Domain + .builder(), + "domain-") + .build()) + .port(999) + .build()) + .dockerImage(null) + .dockerCredentials(null) + .service( + ServiceInstance.builder() + .name("test-service-instance-name") + .build()) + .build())); + } + + private static void requestApplications( + CloudFoundryClient cloudFoundryClient, + String application, + String spaceId, + String applicationId) { + requestApplications( + cloudFoundryClient, + application, + spaceId, + applicationId, + Collections.singletonMap("test-var", "test-value")); + } + + private static void requestApplications( + CloudFoundryClient cloudFoundryClient, + String application, + String spaceId, + String applicationId, + Map envResponse) { + when(cloudFoundryClient + .spaces() + .listApplications( + ListSpaceApplicationsRequest.builder() + .name(application) + .page(1) + .spaceId(spaceId) + .build())) + .thenReturn( + Mono.just( + fill(ListSpaceApplicationsResponse.builder()) + .resource( + ApplicationResource.builder() + .metadata( + fill(Metadata.builder()) + .id(applicationId) + .build()) + .entity( + fill( + ApplicationEntity + .builder(), + "application-") + .environmentJsons( + envResponse) + .healthCheckType( + ApplicationHealthCheck + .PORT + .getValue()) + .build()) + .build()) + .totalPages(1) + .build())); + } + + private static void requestApplicationsEmpty( + CloudFoundryClient cloudFoundryClient, String application, String spaceId) { + when(cloudFoundryClient + .spaces() + .listApplications( + ListSpaceApplicationsRequest.builder() + .name(application) + .page(1) + .spaceId(spaceId) + .build())) + .thenReturn(Mono.just(fill(ListSpaceApplicationsResponse.builder()).build())); + } + + private static void requestApplicationsSpecificState( + CloudFoundryClient cloudFoundryClient, + String application, + String spaceId, + String stateReturned) { + when(cloudFoundryClient + .spaces() + .listApplications( + ListSpaceApplicationsRequest.builder() + .name(application) + .page(1) + .spaceId(spaceId) + .build())) + .thenReturn( + Mono.just( + fill(ListSpaceApplicationsResponse.builder()) + .resource( + fill(ApplicationResource.builder(), "application-") + .entity( + fill( + ApplicationEntity + .builder(), + "application-entity-") + .state(stateReturned) + .build()) + .build()) + .build())); + } + + private static void requestApplicationsV3( + CloudFoundryClient cloudFoundryClient, + String application, + String spaceId, + String applicationId) { + when(cloudFoundryClient + .applicationsV3() + .list( + ListApplicationsRequest.builder() + .name(application) + .page(1) + .spaceId(spaceId) + .build())) + .thenReturn( + Mono.just( + fill(ListApplicationsResponse.builder()) + .resource( + org.cloudfoundry.client.v3.applications + .ApplicationResource.builder() + .createdAt("test-created-at") + .id(applicationId) + .lifecycle( + Lifecycle.builder() + .data( + BuildpackData + .builder() + .buildpack( + "test-buildpack") + .build()) + .type(BUILDPACK) + .build()) + .name("test-name") + .state(ApplicationState.STOPPED) + .updatedAt("test-updated-at") + .build()) + .build())); + } + + private static void requestApplicationsWithSsh( + CloudFoundryClient cloudFoundryClient, + String application, + String spaceId, + Boolean sshEnabled) { + when(cloudFoundryClient + .spaces() + .listApplications( + ListSpaceApplicationsRequest.builder() + .name(application) + .spaceId(spaceId) + .page(1) + .build())) + .thenReturn( + Mono.just( + fill(ListSpaceApplicationsResponse.builder()) + .resource( + ApplicationResource.builder() + .metadata( + fill(Metadata.builder()) + .id("test-application-id") + .build()) + .entity( + fill( + ApplicationEntity + .builder(), + "application-") + .environmentJson( + "test-var", + "test-value") + .enableSsh(sshEnabled) + .build()) + .build()) + .totalPages(1) + .build())); + } + + private static void requestAssociateRoute( + CloudFoundryClient cloudFoundryClient, String applicationId, String routeId) { + when(cloudFoundryClient + .applicationsV2() + .associateRoute( + AssociateApplicationRouteRequest.builder() + .applicationId(applicationId) + .routeId(routeId) + .build())) + .thenReturn(Mono.empty()); } private static void requestCancelTask(CloudFoundryClient cloudFoundryClient, String taskId) { - when(cloudFoundryClient.tasks() - .cancel(CancelTaskRequest.builder() - .taskId(taskId) - .build())) - .thenReturn(Mono - .just(fill(CancelTaskResponse.builder()) - .build())); - } - - private static void requestCopyBits(CloudFoundryClient cloudFoundryClient, String sourceApplicationId, String targetApplicationId) { - when(cloudFoundryClient.applicationsV2() - .copy(CopyApplicationRequest.builder() - .applicationId(targetApplicationId) - .sourceApplicationId(sourceApplicationId) - .build())) - .thenReturn(Mono - .just(fill(CopyApplicationResponse.builder(), "copy-bits-") - .build())); - } - - private static void requestCreateApplication(CloudFoundryClient cloudFoundryClient, ApplicationManifest manifest, String spaceId, String stackId, String applicationId) { - CreateApplicationRequest.Builder builder = CreateApplicationRequest.builder() - .command(manifest.getCommand()) - .diskQuota(manifest.getDisk()) - .environmentJsons(manifest.getEnvironmentVariables()) - .healthCheckTimeout(manifest.getTimeout()) - .healthCheckHttpEndpoint(manifest.getHealthCheckHttpEndpoint()) - .healthCheckType(Optional.ofNullable(manifest.getHealthCheckType()).map(ApplicationHealthCheck::getValue).orElse(null)) - .instances(manifest.getInstances()) - .memory(manifest.getMemory()) - .name(manifest.getName()) - .spaceId(spaceId) - .stackId(stackId); + when(cloudFoundryClient.tasks().cancel(CancelTaskRequest.builder().taskId(taskId).build())) + .thenReturn(Mono.just(fill(CancelTaskResponse.builder()).build())); + } + + private static void requestCopyBits( + CloudFoundryClient cloudFoundryClient, + String sourceApplicationId, + String targetApplicationId) { + when(cloudFoundryClient + .applicationsV2() + .copy( + CopyApplicationRequest.builder() + .applicationId(targetApplicationId) + .sourceApplicationId(sourceApplicationId) + .build())) + .thenReturn( + Mono.just(fill(CopyApplicationResponse.builder(), "copy-bits-").build())); + } + + private static void requestCreateApplication( + CloudFoundryClient cloudFoundryClient, + ApplicationManifest manifest, + String spaceId, + String stackId, + String applicationId) { + CreateApplicationRequest.Builder builder = + CreateApplicationRequest.builder() + .command(manifest.getCommand()) + .diskQuota(manifest.getDisk()) + .environmentJsons(manifest.getEnvironmentVariables()) + .healthCheckTimeout(manifest.getTimeout()) + .healthCheckHttpEndpoint(manifest.getHealthCheckHttpEndpoint()) + .healthCheckType( + Optional.ofNullable(manifest.getHealthCheckType()) + .map(ApplicationHealthCheck::getValue) + .orElse(null)) + .instances(manifest.getInstances()) + .memory(manifest.getMemory()) + .name(manifest.getName()) + .spaceId(spaceId) + .stackId(stackId); if (manifest.getBuildpacks() != null) { builder.buildpack(manifest.getBuildpacks().get(0)); } - when(cloudFoundryClient.applicationsV2() - .create(builder.build())) - .thenReturn(Mono - .just(fill(CreateApplicationResponse.builder(), "create-") - .metadata(fill(Metadata.builder()) - .id(applicationId) - .build()) - .build())); - } - - private static void requestCreateDockerApplication(CloudFoundryClient cloudFoundryClient, PushApplicationRequest request, String spaceId, String stackId, String applicationId) { + when(cloudFoundryClient.applicationsV2().create(builder.build())) + .thenReturn( + Mono.just( + fill(CreateApplicationResponse.builder(), "create-") + .metadata( + fill(Metadata.builder()).id(applicationId).build()) + .build())); + } + + private static void requestCreateDockerApplication( + CloudFoundryClient cloudFoundryClient, + PushApplicationRequest request, + String spaceId, + String stackId, + String applicationId) { CreateApplicationRequest.Builder requestBuilder = CreateApplicationRequest.builder(); - requestBuilder.dockerCredentials(DockerCredentials.builder().username(request.getDockerUsername()).password(request.getDockerPassword()).build()); - - when(cloudFoundryClient.applicationsV2() - .create(requestBuilder - .command(request.getCommand()) - .diego(true) - .diskQuota(request.getDiskQuota()) - .dockerImage(request.getDockerImage()) - .healthCheckTimeout(request.getTimeout()) - .healthCheckType(Optional.ofNullable(request.getHealthCheckType()).map(ApplicationHealthCheck::getValue).orElse(null)) - .instances(request.getInstances()) - .memory(request.getMemory()) - .name(request.getName()) - .spaceId(spaceId) - .stackId(stackId) - .build())) - .thenReturn(Mono - .just(fill(CreateApplicationResponse.builder(), "create-") - .metadata(fill(Metadata.builder()) - .id(applicationId) - .build()) - .build())); - } - - private static void requestCreateRoute(CloudFoundryClient cloudFoundryClient, String domainId, String host, String path, Integer port, String spaceId, String routeId) { - when(cloudFoundryClient.routes() - .create(CreateRouteRequest.builder() - .domainId(domainId) - .host(host) - .path(path) - .port(port) - .spaceId(spaceId) - .build())) - .thenReturn(Mono - .just(fill(CreateRouteResponse.builder()) - .metadata(fill(Metadata.builder()) - .id(routeId) - .build()) - .entity(fill(RouteEntity.builder()) - .build()) - .build())); - } - - private static void requestCreateRoute(CloudFoundryClient cloudFoundryClient, String domainId, Boolean generatePort, Integer port, String spaceId, String routeId) { - when(cloudFoundryClient.routes() - .create(CreateRouteRequest.builder() - .domainId(domainId) - .generatePort(generatePort) - .port(port) - .spaceId(spaceId) - .build())) - .thenReturn(Mono - .just(fill(CreateRouteResponse.builder()) - .metadata(fill(Metadata.builder()) - .id(routeId) - .build()) - .entity(fill(RouteEntity.builder()) - .build()) - .build())); - } - - private static void requestDeleteApplication(CloudFoundryClient cloudFoundryClient, String applicationId) { - when(cloudFoundryClient.applicationsV2() - .delete(org.cloudfoundry.client.v2.applications.DeleteApplicationRequest.builder() - .applicationId(applicationId) - .build())). - thenReturn(Mono.empty()); + requestBuilder.dockerCredentials( + DockerCredentials.builder() + .username(request.getDockerUsername()) + .password(request.getDockerPassword()) + .build()); + + when(cloudFoundryClient + .applicationsV2() + .create( + requestBuilder + .command(request.getCommand()) + .diego(true) + .diskQuota(request.getDiskQuota()) + .dockerImage(request.getDockerImage()) + .healthCheckTimeout(request.getTimeout()) + .healthCheckType( + Optional.ofNullable(request.getHealthCheckType()) + .map(ApplicationHealthCheck::getValue) + .orElse(null)) + .instances(request.getInstances()) + .memory(request.getMemory()) + .name(request.getName()) + .spaceId(spaceId) + .stackId(stackId) + .build())) + .thenReturn( + Mono.just( + fill(CreateApplicationResponse.builder(), "create-") + .metadata( + fill(Metadata.builder()).id(applicationId).build()) + .build())); + } + + private static void requestCreateRoute( + CloudFoundryClient cloudFoundryClient, + String domainId, + String host, + String path, + Integer port, + String spaceId, + String routeId) { + when(cloudFoundryClient + .routes() + .create( + CreateRouteRequest.builder() + .domainId(domainId) + .host(host) + .path(path) + .port(port) + .spaceId(spaceId) + .build())) + .thenReturn( + Mono.just( + fill(CreateRouteResponse.builder()) + .metadata(fill(Metadata.builder()).id(routeId).build()) + .entity(fill(RouteEntity.builder()).build()) + .build())); + } + + private static void requestCreateRoute( + CloudFoundryClient cloudFoundryClient, + String domainId, + Boolean generatePort, + Integer port, + String spaceId, + String routeId) { + when(cloudFoundryClient + .routes() + .create( + CreateRouteRequest.builder() + .domainId(domainId) + .generatePort(generatePort) + .port(port) + .spaceId(spaceId) + .build())) + .thenReturn( + Mono.just( + fill(CreateRouteResponse.builder()) + .metadata(fill(Metadata.builder()).id(routeId).build()) + .entity(fill(RouteEntity.builder()).build()) + .build())); + } + + private static void requestDeleteApplication( + CloudFoundryClient cloudFoundryClient, String applicationId) { + when(cloudFoundryClient + .applicationsV2() + .delete( + org.cloudfoundry.client.v2.applications.DeleteApplicationRequest + .builder() + .applicationId(applicationId) + .build())) + .thenReturn(Mono.empty()); } private static void requestDeleteRoute(CloudFoundryClient cloudFoundryClient, String routeId) { - when(cloudFoundryClient.routes() - .delete(org.cloudfoundry.client.v2.routes.DeleteRouteRequest.builder() - .async(true) - .routeId(routeId) - .build())) - .thenReturn(Mono - .just(fill(DeleteRouteResponse.builder()) - .entity(fill(JobEntity.builder(), "job-entity-") - .build()) - .build())); - } - - private static void requestEvents(CloudFoundryClient cloudFoundryClient, String applicationId, EventEntity... entities) { + when(cloudFoundryClient + .routes() + .delete( + org.cloudfoundry.client.v2.routes.DeleteRouteRequest.builder() + .async(true) + .routeId(routeId) + .build())) + .thenReturn( + Mono.just( + fill(DeleteRouteResponse.builder()) + .entity(fill(JobEntity.builder(), "job-entity-").build()) + .build())); + } + + private static void requestEvents( + CloudFoundryClient cloudFoundryClient, String applicationId, EventEntity... entities) { ListEventsResponse.Builder responseBuilder = fill(ListEventsResponse.builder()); for (EventEntity entity : entities) { - responseBuilder.resource(EventResource.builder() - .metadata(fill(Metadata.builder()) - .id("test-event-id") - .build()) - .entity(entity) - .build()); + responseBuilder.resource( + EventResource.builder() + .metadata(fill(Metadata.builder()).id("test-event-id").build()) + .entity(entity) + .build()); } - when(cloudFoundryClient.events() - .list(ListEventsRequest.builder() - .actee(applicationId) - .orderDirection(OrderDirection.DESCENDING) - .resultsPerPage(50) - .page(1) - .build())) - .thenReturn(Mono - .just(responseBuilder - .totalPages(1) - .build())); - } - - private static void requestGetApplication(CloudFoundryClient cloudFoundryClient, String applicationId) { - when(cloudFoundryClient.applicationsV2() - .get(org.cloudfoundry.client.v2.applications.GetApplicationRequest.builder() - .applicationId(applicationId) - .build())) - .thenReturn(Mono - .defer(new Supplier>() { - - private final Queue responses = new LinkedList<>(Arrays.asList( - fill(GetApplicationResponse.builder(), "job-") - .entity(fill(ApplicationEntity.builder()) - .packageState("STAGING") - .build()) - .build(), - fill(GetApplicationResponse.builder(), "job-") - .entity(fill(ApplicationEntity.builder()) - .packageState("STAGED") - .build()) - .build() - )); - - @Override - public Mono get() { - return Mono.just(this.responses.poll()); - } - - })); - } - - private static void requestGetApplicationFailing(CloudFoundryClient cloudFoundryClient, String applicationId) { - when(cloudFoundryClient.applicationsV2() - .get(org.cloudfoundry.client.v2.applications.GetApplicationRequest.builder() - .applicationId(applicationId) - .build())) - .thenReturn(Mono - .just(fill(GetApplicationResponse.builder()) - .entity(fill(ApplicationEntity.builder()) - .packageState("FAILED") - .build()) - .build())); - } - - private static void requestGetApplicationTimeout(CloudFoundryClient cloudFoundryClient, String applicationId) { - when(cloudFoundryClient.applicationsV2() - .get(org.cloudfoundry.client.v2.applications.GetApplicationRequest.builder() - .applicationId(applicationId) - .build())) - .thenReturn(Mono - .just(fill(GetApplicationResponse.builder()) - .entity(fill(ApplicationEntity.builder()) - .packageState("STAGING") - .build()) - .build())); - } - - private static void requestGetApplicationV3Buildpack(CloudFoundryClient cloudFoundryClient, String applicationId) { - when(cloudFoundryClient.applicationsV3() - .get(org.cloudfoundry.client.v3.applications.GetApplicationRequest.builder() - .applicationId(applicationId) - .build())) - .thenReturn(Mono - .just(org.cloudfoundry.client.v3.applications.GetApplicationResponse.builder() - .createdAt("test-created-at") - .id(applicationId) - .lifecycle(Lifecycle.builder() - .data(BuildpackData.builder() - .buildpack("test-buildpack") - .build()) - .type(BUILDPACK) - .build()) - .name("test-name") - .state(ApplicationState.STOPPED) - .updatedAt("test-updated-at") - .build())); - } - - private static void requestGetApplicationV3BuildpackMultiple(CloudFoundryClient cloudFoundryClient, String applicationId) { - when(cloudFoundryClient.applicationsV3() - .get(org.cloudfoundry.client.v3.applications.GetApplicationRequest.builder() - .applicationId(applicationId) - .build())) - .thenReturn(Mono - .just(org.cloudfoundry.client.v3.applications.GetApplicationResponse.builder() - .createdAt("test-created-at") - .id(applicationId) - .lifecycle(Lifecycle.builder() - .data(BuildpackData.builder() - .buildpacks("test-buildpack-1", "test-buildpack-2") - .build()) - .type(BUILDPACK) - .build()) - .name("test-name") - .state(ApplicationState.STOPPED) - .updatedAt("test-updated-at") - .build())); - } - - private static void requestGetApplicationV3Docker(CloudFoundryClient cloudFoundryClient, String applicationId) { - when(cloudFoundryClient.applicationsV3() - .get(org.cloudfoundry.client.v3.applications.GetApplicationRequest.builder() - .applicationId(applicationId) - .build())) - .thenReturn(Mono - .just(org.cloudfoundry.client.v3.applications.GetApplicationResponse.builder() - .createdAt("test-created-at") - .id(applicationId) - .lifecycle(Lifecycle.builder() - .data(DockerData.builder() - .build()) - .type(DOCKER) - .build()) - .name("test-name") - .state(ApplicationState.STOPPED) - .updatedAt("test-updated-at") - .build())); - - } - - private static void requestGetSharedDomain(CloudFoundryClient cloudFoundryClient, String domainId) { - when(cloudFoundryClient.sharedDomains() - .get(GetSharedDomainRequest.builder() - .sharedDomainId(domainId) - .build())) - .thenReturn(Mono - .just(fill(GetSharedDomainResponse.builder()) - .entity(SharedDomainEntity.builder() - .build()) - .build())); + when(cloudFoundryClient + .events() + .list( + ListEventsRequest.builder() + .actee(applicationId) + .orderDirection(OrderDirection.DESCENDING) + .resultsPerPage(50) + .page(1) + .build())) + .thenReturn(Mono.just(responseBuilder.totalPages(1).build())); + } + + private static void requestGetApplication( + CloudFoundryClient cloudFoundryClient, String applicationId) { + when(cloudFoundryClient + .applicationsV2() + .get( + org.cloudfoundry.client.v2.applications.GetApplicationRequest + .builder() + .applicationId(applicationId) + .build())) + .thenReturn( + Mono.defer( + new Supplier>() { + + private final Queue responses = + new LinkedList<>( + Arrays.asList( + fill( + GetApplicationResponse + .builder(), + "job-") + .entity( + fill(ApplicationEntity + .builder()) + .packageState( + "STAGING") + .build()) + .build(), + fill( + GetApplicationResponse + .builder(), + "job-") + .entity( + fill(ApplicationEntity + .builder()) + .packageState( + "STAGED") + .build()) + .build())); + + @Override + public Mono get() { + return Mono.just(this.responses.poll()); + } + })); + } + + private static void requestGetApplicationFailing( + CloudFoundryClient cloudFoundryClient, String applicationId) { + when(cloudFoundryClient + .applicationsV2() + .get( + org.cloudfoundry.client.v2.applications.GetApplicationRequest + .builder() + .applicationId(applicationId) + .build())) + .thenReturn( + Mono.just( + fill(GetApplicationResponse.builder()) + .entity( + fill(ApplicationEntity.builder()) + .packageState("FAILED") + .build()) + .build())); + } + + private static void requestGetApplicationTimeout( + CloudFoundryClient cloudFoundryClient, String applicationId) { + when(cloudFoundryClient + .applicationsV2() + .get( + org.cloudfoundry.client.v2.applications.GetApplicationRequest + .builder() + .applicationId(applicationId) + .build())) + .thenReturn( + Mono.just( + fill(GetApplicationResponse.builder()) + .entity( + fill(ApplicationEntity.builder()) + .packageState("STAGING") + .build()) + .build())); + } + + private static void requestGetApplicationV3Buildpack( + CloudFoundryClient cloudFoundryClient, String applicationId) { + when(cloudFoundryClient + .applicationsV3() + .get( + org.cloudfoundry.client.v3.applications.GetApplicationRequest + .builder() + .applicationId(applicationId) + .build())) + .thenReturn( + Mono.just( + org.cloudfoundry.client.v3.applications.GetApplicationResponse + .builder() + .createdAt("test-created-at") + .id(applicationId) + .lifecycle( + Lifecycle.builder() + .data( + BuildpackData.builder() + .buildpack("test-buildpack") + .build()) + .type(BUILDPACK) + .build()) + .name("test-name") + .state(ApplicationState.STOPPED) + .updatedAt("test-updated-at") + .build())); + } + + private static void requestGetApplicationV3BuildpackMultiple( + CloudFoundryClient cloudFoundryClient, String applicationId) { + when(cloudFoundryClient + .applicationsV3() + .get( + org.cloudfoundry.client.v3.applications.GetApplicationRequest + .builder() + .applicationId(applicationId) + .build())) + .thenReturn( + Mono.just( + org.cloudfoundry.client.v3.applications.GetApplicationResponse + .builder() + .createdAt("test-created-at") + .id(applicationId) + .lifecycle( + Lifecycle.builder() + .data( + BuildpackData.builder() + .buildpacks( + "test-buildpack-1", + "test-buildpack-2") + .build()) + .type(BUILDPACK) + .build()) + .name("test-name") + .state(ApplicationState.STOPPED) + .updatedAt("test-updated-at") + .build())); + } + + private static void requestGetApplicationV3Docker( + CloudFoundryClient cloudFoundryClient, String applicationId) { + when(cloudFoundryClient + .applicationsV3() + .get( + org.cloudfoundry.client.v3.applications.GetApplicationRequest + .builder() + .applicationId(applicationId) + .build())) + .thenReturn( + Mono.just( + org.cloudfoundry.client.v3.applications.GetApplicationResponse + .builder() + .createdAt("test-created-at") + .id(applicationId) + .lifecycle( + Lifecycle.builder() + .data(DockerData.builder().build()) + .type(DOCKER) + .build()) + .name("test-name") + .state(ApplicationState.STOPPED) + .updatedAt("test-updated-at") + .build())); + } + + private static void requestGetSharedDomain( + CloudFoundryClient cloudFoundryClient, String domainId) { + when(cloudFoundryClient + .sharedDomains() + .get(GetSharedDomainRequest.builder().sharedDomainId(domainId).build())) + .thenReturn( + Mono.just( + fill(GetSharedDomainResponse.builder()) + .entity(SharedDomainEntity.builder().build()) + .build())); } private static void requestJobFailure(CloudFoundryClient cloudFoundryClient, String jobId) { - when(cloudFoundryClient.jobs() - .get(GetJobRequest.builder() - .jobId(jobId) - .build())) - .thenReturn(Mono - .defer(new Supplier>() { - - private final Queue responses = new LinkedList<>(Arrays.asList( - fill(GetJobResponse.builder(), "job-") - .entity(fill(JobEntity.builder()) - .status("running") - .build()) - .build(), - fill(GetJobResponse.builder(), "job-") - .entity(fill(JobEntity.builder()) - .errorDetails(fill(ErrorDetails.builder(), "error-details-") - .build()) - .status("failed") - .build()) - .build() - )); - - @Override - public Mono get() { - return Mono.just(this.responses.poll()); - } - - })); + when(cloudFoundryClient.jobs().get(GetJobRequest.builder().jobId(jobId).build())) + .thenReturn( + Mono.defer( + new Supplier>() { + + private final Queue responses = + new LinkedList<>( + Arrays.asList( + fill(GetJobResponse.builder(), "job-") + .entity( + fill(JobEntity + .builder()) + .status( + "running") + .build()) + .build(), + fill(GetJobResponse.builder(), "job-") + .entity( + fill(JobEntity + .builder()) + .errorDetails( + fill( + ErrorDetails + .builder(), + "error-details-") + .build()) + .status( + "failed") + .build()) + .build())); + + @Override + public Mono get() { + return Mono.just(this.responses.poll()); + } + })); } private static void requestJobSuccess(CloudFoundryClient cloudFoundryClient, String jobId) { - when(cloudFoundryClient.jobs() - .get(GetJobRequest.builder() - .jobId(jobId) - .build())) - .thenReturn(Mono - .defer(new Supplier>() { - - private final Queue responses = new LinkedList<>(Arrays.asList( - fill(GetJobResponse.builder(), "job-") - .entity(fill(JobEntity.builder()) - .status("running") - .build()) - .build(), - fill(GetJobResponse.builder(), "job-") - .entity(fill(JobEntity.builder()) - .status("finished") - .build()) - .build() - )); - - @Override - public Mono get() { - return Mono.just(this.responses.poll()); - } - - })); - } - - private static void requestListMatchingResources(CloudFoundryClient cloudFoundryClient, Collection artifactMetadatas) { - ListMatchingResourcesRequest request = artifactMetadatas.stream() - .reduce(ListMatchingResourcesRequest.builder(), (builder, artifactMetadata) -> builder.resource(Resource.builder() - .hash(artifactMetadata.getHash()) - .mode(artifactMetadata.getPermissions()) - .size(artifactMetadata.getSize()) - .build()), (a, b) -> a.addAllResources(b.build().getResources())) - .build(); - - when(cloudFoundryClient.resourceMatch() - .list(request)) - .thenReturn(Mono - .just(ListMatchingResourcesResponse.builder() - .build())); - } - - private static void requestListTasks(CloudFoundryClient cloudFoundryClient, String applicationId) { - when(cloudFoundryClient.applicationsV3() - .listTasks(org.cloudfoundry.client.v3.applications.ListApplicationTasksRequest.builder() - .applicationId(applicationId) - .page(1) - .build())) - .thenReturn(Mono - .just(fill(org.cloudfoundry.client.v3.applications.ListApplicationTasksResponse.builder()) - .resource(fill(TaskResource.builder()) - .build()) - .build())); - } - - private static void requestListTasks(CloudFoundryClient cloudFoundryClient, String applicationId, Integer sequenceId) { - when(cloudFoundryClient.applicationsV3() - .listTasks(org.cloudfoundry.client.v3.applications.ListApplicationTasksRequest.builder() - .applicationId(applicationId) - .page(1) - .sequenceId(sequenceId.toString()) - .build())) - .thenReturn(Mono - .just(fill(org.cloudfoundry.client.v3.applications.ListApplicationTasksResponse.builder()) - .resource(fill(TaskResource.builder()) - .build()) - .build())); - } - - private static void requestListTasksEmpty(CloudFoundryClient cloudFoundryClient, String applicationId, Integer sequenceId) { - when(cloudFoundryClient.applicationsV3() - .listTasks(org.cloudfoundry.client.v3.applications.ListApplicationTasksRequest.builder() - .applicationId(applicationId) - .page(1) - .sequenceId(sequenceId.toString()) - .build())) - .thenReturn(Mono - .just(fill(org.cloudfoundry.client.v3.applications.ListApplicationTasksResponse.builder()) - .build())); + when(cloudFoundryClient.jobs().get(GetJobRequest.builder().jobId(jobId).build())) + .thenReturn( + Mono.defer( + new Supplier>() { + + private final Queue responses = + new LinkedList<>( + Arrays.asList( + fill(GetJobResponse.builder(), "job-") + .entity( + fill(JobEntity + .builder()) + .status( + "running") + .build()) + .build(), + fill(GetJobResponse.builder(), "job-") + .entity( + fill(JobEntity + .builder()) + .status( + "finished") + .build()) + .build())); + + @Override + public Mono get() { + return Mono.just(this.responses.poll()); + } + })); + } + + private static void requestListMatchingResources( + CloudFoundryClient cloudFoundryClient, + Collection artifactMetadatas) { + ListMatchingResourcesRequest request = + artifactMetadatas.stream() + .reduce( + ListMatchingResourcesRequest.builder(), + (builder, artifactMetadata) -> + builder.resource( + Resource.builder() + .hash(artifactMetadata.getHash()) + .mode(artifactMetadata.getPermissions()) + .size(artifactMetadata.getSize()) + .build()), + (a, b) -> a.addAllResources(b.build().getResources())) + .build(); + + when(cloudFoundryClient.resourceMatch().list(request)) + .thenReturn(Mono.just(ListMatchingResourcesResponse.builder().build())); + } + + private static void requestListTasks( + CloudFoundryClient cloudFoundryClient, String applicationId) { + when(cloudFoundryClient + .applicationsV3() + .listTasks( + org.cloudfoundry.client.v3.applications.ListApplicationTasksRequest + .builder() + .applicationId(applicationId) + .page(1) + .build())) + .thenReturn( + Mono.just( + fill(org.cloudfoundry.client.v3.applications + .ListApplicationTasksResponse.builder()) + .resource(fill(TaskResource.builder()).build()) + .build())); + } + + private static void requestListTasks( + CloudFoundryClient cloudFoundryClient, String applicationId, Integer sequenceId) { + when(cloudFoundryClient + .applicationsV3() + .listTasks( + org.cloudfoundry.client.v3.applications.ListApplicationTasksRequest + .builder() + .applicationId(applicationId) + .page(1) + .sequenceId(sequenceId.toString()) + .build())) + .thenReturn( + Mono.just( + fill(org.cloudfoundry.client.v3.applications + .ListApplicationTasksResponse.builder()) + .resource(fill(TaskResource.builder()).build()) + .build())); + } + + private static void requestListTasksEmpty( + CloudFoundryClient cloudFoundryClient, String applicationId, Integer sequenceId) { + when(cloudFoundryClient + .applicationsV3() + .listTasks( + org.cloudfoundry.client.v3.applications.ListApplicationTasksRequest + .builder() + .applicationId(applicationId) + .page(1) + .sequenceId(sequenceId.toString()) + .build())) + .thenReturn( + Mono.just( + fill(org.cloudfoundry.client.v3.applications + .ListApplicationTasksResponse.builder()) + .build())); } private static void requestLogsRecent(DopplerClient dopplerClient, String applicationId) { - when(dopplerClient - .recentLogs(RecentLogsRequest.builder() - .applicationId(applicationId) - .build())) - .thenReturn(Flux - .just(Envelope.builder() - .eventType(EventType.LOG_MESSAGE) - .logMessage(fill(LogMessage.builder(), "log-message-") - .build()) - .origin("rsp") - .build())); + when(dopplerClient.recentLogs( + RecentLogsRequest.builder().applicationId(applicationId).build())) + .thenReturn( + Flux.just( + Envelope.builder() + .eventType(EventType.LOG_MESSAGE) + .logMessage( + fill(LogMessage.builder(), "log-message-").build()) + .origin("rsp") + .build())); } private static void requestLogsStream(DopplerClient dopplerClient, String applicationId) { - when(dopplerClient - .stream(StreamRequest.builder() - .applicationId(applicationId) - .build())) - .thenReturn(Flux - .just(Envelope.builder() - .eventType(EventType.LOG_MESSAGE) - .logMessage(fill(LogMessage.builder(), "log-message-") - .build()) - .origin("rsp") - .build())); - } - - private static void requestOrganizationSpacesByName(CloudFoundryClient cloudFoundryClient, String organizationId, String space) { - when(cloudFoundryClient.organizations() - .listSpaces(ListOrganizationSpacesRequest.builder() - .organizationId(organizationId) - .name(space) - .page(1) - .build())) - .thenReturn(Mono - .just(fill(ListOrganizationSpacesResponse.builder()) - .resource(SpaceResource.builder() - .metadata(fill(Metadata.builder(), "space-resource-metadata-") - .build()) - .entity(fill(SpaceEntity.builder()) - .build()) - .build()) - .totalPages(1) - .build())); - } - - private static void requestOrganizationSpacesByNameNotFound(CloudFoundryClient cloudFoundryClient, String organizationId, String space) { - when(cloudFoundryClient.organizations() - .listSpaces(ListOrganizationSpacesRequest.builder() - .organizationId(organizationId) - .name(space) - .page(1) - .build())) - .thenReturn(Mono - .just(fill(ListOrganizationSpacesResponse.builder()) - .totalPages(1) - .build())); - } - - private static void requestOrganizations(CloudFoundryClient cloudFoundryClient, String organization) { - when(cloudFoundryClient.organizations() - .list(ListOrganizationsRequest.builder() - .name(organization) - .page(1) - .build())) - .thenReturn(Mono - .just(fill(ListOrganizationsResponse.builder()) - .resource(OrganizationResource.builder() - .metadata(fill(Metadata.builder(), "organization-resource-metadata-") - .build()) - .entity(fill(OrganizationEntity.builder()) - .build()) - .build()) - .totalPages(1) - .build())); - } - - private static void requestOrganizationsNotFound(CloudFoundryClient cloudFoundryClient, String organization) { - when(cloudFoundryClient.organizations() - .list(ListOrganizationsRequest.builder() - .name(organization) - .page(1) - .build())) - .thenReturn(Mono - .just(fill(ListOrganizationsResponse.builder()) - .totalPages(1) - .build())); - } - - private static void requestPrivateDomainNotFound(CloudFoundryClient cloudFoundryClient, String domain, String organizationId) { - when(cloudFoundryClient.organizations() - .listPrivateDomains(ListOrganizationPrivateDomainsRequest.builder() - .name(domain) - .organizationId(organizationId) - .page(1) - .build())) - .thenReturn(Mono - .just(fill(ListOrganizationPrivateDomainsResponse.builder()) - .build())); - } - - private static void requestPrivateDomains(CloudFoundryClient cloudFoundryClient, String organizationId, String domainId) { - when(cloudFoundryClient.organizations() - .listPrivateDomains(ListOrganizationPrivateDomainsRequest.builder() - .organizationId(organizationId) - .page(1) - .build())) - .thenReturn(Mono - .just(fill(ListOrganizationPrivateDomainsResponse.builder()) - .resource(fill(PrivateDomainResource.builder()) - .metadata(fill(Metadata.builder()) - .id(domainId) - .build()) - .entity(fill(PrivateDomainEntity.builder()) - .name("test-private-domain") - .build()) - .build()) - .build())); - } - - private static void requestPrivateDomainsEmpty(CloudFoundryClient cloudFoundryClient, String organizationId) { - when(cloudFoundryClient.organizations() - .listPrivateDomains(ListOrganizationPrivateDomainsRequest.builder() - .organizationId(organizationId) - .page(1) - .build())) - .thenReturn(Mono - .just(fill(ListOrganizationPrivateDomainsResponse.builder()) - .build())); - } - - private static void requestRemoveApplicationRoute(CloudFoundryClient cloudFoundryClient, String applicationId, String routeId) { - when(cloudFoundryClient.applicationsV2() - .removeRoute(RemoveApplicationRouteRequest.builder() - .applicationId(applicationId) - .routeId(routeId) - .build())) - .thenReturn(Mono.empty()); - } - - private static void requestRemoveServiceBinding(CloudFoundryClient cloudFoundryClient, String applicationId, String serviceBindingId) { - when(cloudFoundryClient.applicationsV2() - .removeServiceBinding(RemoveApplicationServiceBindingRequest.builder() - .applicationId(applicationId) - .serviceBindingId(serviceBindingId) - .build())) - .thenReturn(Mono.empty()); - } - - private static void requestRestageApplication(CloudFoundryClient cloudFoundryClient, String applicationId) { - when(cloudFoundryClient.applicationsV2() - .restage(org.cloudfoundry.client.v2.applications.RestageApplicationRequest.builder() - .applicationId(applicationId) - .build())) - .thenReturn(Mono - .just(fill(RestageApplicationResponse.builder(), "application-") - .build())); - } - - private static void requestRoutes(CloudFoundryClient cloudFoundryClient, String domainId, String host, String routePath, String routeId) { + when(dopplerClient.stream(StreamRequest.builder().applicationId(applicationId).build())) + .thenReturn( + Flux.just( + Envelope.builder() + .eventType(EventType.LOG_MESSAGE) + .logMessage( + fill(LogMessage.builder(), "log-message-").build()) + .origin("rsp") + .build())); + } + + private static void requestOrganizationSpacesByName( + CloudFoundryClient cloudFoundryClient, String organizationId, String space) { + when(cloudFoundryClient + .organizations() + .listSpaces( + ListOrganizationSpacesRequest.builder() + .organizationId(organizationId) + .name(space) + .page(1) + .build())) + .thenReturn( + Mono.just( + fill(ListOrganizationSpacesResponse.builder()) + .resource( + SpaceResource.builder() + .metadata( + fill( + Metadata.builder(), + "space-resource-metadata-") + .build()) + .entity(fill(SpaceEntity.builder()).build()) + .build()) + .totalPages(1) + .build())); + } + + private static void requestOrganizationSpacesByNameNotFound( + CloudFoundryClient cloudFoundryClient, String organizationId, String space) { + when(cloudFoundryClient + .organizations() + .listSpaces( + ListOrganizationSpacesRequest.builder() + .organizationId(organizationId) + .name(space) + .page(1) + .build())) + .thenReturn( + Mono.just( + fill(ListOrganizationSpacesResponse.builder()) + .totalPages(1) + .build())); + } + + private static void requestOrganizations( + CloudFoundryClient cloudFoundryClient, String organization) { + when(cloudFoundryClient + .organizations() + .list( + ListOrganizationsRequest.builder() + .name(organization) + .page(1) + .build())) + .thenReturn( + Mono.just( + fill(ListOrganizationsResponse.builder()) + .resource( + OrganizationResource.builder() + .metadata( + fill( + Metadata.builder(), + "organization-resource-metadata-") + .build()) + .entity( + fill(OrganizationEntity.builder()) + .build()) + .build()) + .totalPages(1) + .build())); + } + + private static void requestOrganizationsNotFound( + CloudFoundryClient cloudFoundryClient, String organization) { + when(cloudFoundryClient + .organizations() + .list( + ListOrganizationsRequest.builder() + .name(organization) + .page(1) + .build())) + .thenReturn( + Mono.just(fill(ListOrganizationsResponse.builder()).totalPages(1).build())); + } + + private static void requestPrivateDomainNotFound( + CloudFoundryClient cloudFoundryClient, String domain, String organizationId) { + when(cloudFoundryClient + .organizations() + .listPrivateDomains( + ListOrganizationPrivateDomainsRequest.builder() + .name(domain) + .organizationId(organizationId) + .page(1) + .build())) + .thenReturn( + Mono.just(fill(ListOrganizationPrivateDomainsResponse.builder()).build())); + } + + private static void requestPrivateDomains( + CloudFoundryClient cloudFoundryClient, String organizationId, String domainId) { + when(cloudFoundryClient + .organizations() + .listPrivateDomains( + ListOrganizationPrivateDomainsRequest.builder() + .organizationId(organizationId) + .page(1) + .build())) + .thenReturn( + Mono.just( + fill(ListOrganizationPrivateDomainsResponse.builder()) + .resource( + fill(PrivateDomainResource.builder()) + .metadata( + fill(Metadata.builder()) + .id(domainId) + .build()) + .entity( + fill(PrivateDomainEntity.builder()) + .name("test-private-domain") + .build()) + .build()) + .build())); + } + + private static void requestPrivateDomainsEmpty( + CloudFoundryClient cloudFoundryClient, String organizationId) { + when(cloudFoundryClient + .organizations() + .listPrivateDomains( + ListOrganizationPrivateDomainsRequest.builder() + .organizationId(organizationId) + .page(1) + .build())) + .thenReturn( + Mono.just(fill(ListOrganizationPrivateDomainsResponse.builder()).build())); + } + + private static void requestRemoveApplicationRoute( + CloudFoundryClient cloudFoundryClient, String applicationId, String routeId) { + when(cloudFoundryClient + .applicationsV2() + .removeRoute( + RemoveApplicationRouteRequest.builder() + .applicationId(applicationId) + .routeId(routeId) + .build())) + .thenReturn(Mono.empty()); + } + + private static void requestRemoveServiceBinding( + CloudFoundryClient cloudFoundryClient, String applicationId, String serviceBindingId) { + when(cloudFoundryClient + .applicationsV2() + .removeServiceBinding( + RemoveApplicationServiceBindingRequest.builder() + .applicationId(applicationId) + .serviceBindingId(serviceBindingId) + .build())) + .thenReturn(Mono.empty()); + } + + private static void requestRestageApplication( + CloudFoundryClient cloudFoundryClient, String applicationId) { + when(cloudFoundryClient + .applicationsV2() + .restage( + org.cloudfoundry.client.v2.applications.RestageApplicationRequest + .builder() + .applicationId(applicationId) + .build())) + .thenReturn( + Mono.just( + fill(RestageApplicationResponse.builder(), "application-") + .build())); + } + + private static void requestRoutes( + CloudFoundryClient cloudFoundryClient, + String domainId, + String host, + String routePath, + String routeId) { ListRoutesRequest.Builder requestBuilder = ListRoutesRequest.builder(); Optional.ofNullable(host).ifPresent(requestBuilder::host); Optional.ofNullable(routePath).ifPresent(requestBuilder::path); - when(cloudFoundryClient.routes() - .list(requestBuilder - .domainId(domainId) - .page(1) - .build())) - .thenReturn(Mono - .just(fill(ListRoutesResponse.builder()) - .resource(RouteResource.builder() - .metadata(fill(Metadata.builder()) - .id(routeId) - .build()) - .entity(RouteEntity.builder() - .host(host) - .path(routePath == null ? "" : routePath) - .build()) - .build()) - .build())); - } - - private static void requestRoutesEmpty(CloudFoundryClient cloudFoundryClient, String domainId, String host, Integer port, String routePath) { + when(cloudFoundryClient.routes().list(requestBuilder.domainId(domainId).page(1).build())) + .thenReturn( + Mono.just( + fill(ListRoutesResponse.builder()) + .resource( + RouteResource.builder() + .metadata( + fill(Metadata.builder()) + .id(routeId) + .build()) + .entity( + RouteEntity.builder() + .host(host) + .path( + routePath == null + ? "" + : routePath) + .build()) + .build()) + .build())); + } + + private static void requestRoutesEmpty( + CloudFoundryClient cloudFoundryClient, + String domainId, + String host, + Integer port, + String routePath) { ListRoutesRequest.Builder requestBuilder = ListRoutesRequest.builder(); Optional.ofNullable(domainId).ifPresent(requestBuilder::domainId); @@ -3995,288 +5550,354 @@ private static void requestRoutesEmpty(CloudFoundryClient cloudFoundryClient, St Optional.ofNullable(port).ifPresent(requestBuilder::port); Optional.ofNullable(routePath).ifPresent(requestBuilder::path); - when(cloudFoundryClient.routes() - .list(requestBuilder - .page(1) - .build())) - .thenReturn(Mono - .just(fill(ListRoutesResponse.builder()) - .build())); - } - - private static void requestRunTask(CloudFoundryClient cloudFoundryClient, String applicationId) { - when(cloudFoundryClient.tasks() - .create(CreateTaskRequest.builder() - .applicationId(applicationId) - .command("test-command") - .build())) - .thenReturn(Mono - .just(fill(CreateTaskResponse.builder()) - .build())); - } - - private static void requestSharedDomain(CloudFoundryClient cloudFoundryClient, String domain, String domainId) { - when(cloudFoundryClient.sharedDomains() - .list(ListSharedDomainsRequest.builder() - .page(1) - .name(domain) - .build())) - .thenReturn(Mono - .just(fill(ListSharedDomainsResponse.builder()) - .resource(SharedDomainResource.builder() - .metadata(fill(Metadata.builder()) - .id(domainId) - .build()) - .entity(SharedDomainEntity.builder() - .name(domain) - .build()) - .build()) - .build())); - } - - private static void requestSharedDomains(CloudFoundryClient cloudFoundryClient, String domain, String domainId) { - when(cloudFoundryClient.sharedDomains() - .list(ListSharedDomainsRequest.builder() - .page(1) - .build())) - .thenReturn(Mono - .just(fill(ListSharedDomainsResponse.builder()) - .resource(SharedDomainResource.builder() - .metadata(fill(Metadata.builder()) - .id(domainId) - .build()) - .entity(fill(SharedDomainEntity.builder()) - .internal(false) - .name(domain) - .build()) - .build()) - .build())); + when(cloudFoundryClient.routes().list(requestBuilder.page(1).build())) + .thenReturn(Mono.just(fill(ListRoutesResponse.builder()).build())); + } + + private static void requestRunTask( + CloudFoundryClient cloudFoundryClient, String applicationId) { + when(cloudFoundryClient + .tasks() + .create( + CreateTaskRequest.builder() + .applicationId(applicationId) + .command("test-command") + .build())) + .thenReturn(Mono.just(fill(CreateTaskResponse.builder()).build())); + } + + private static void requestSharedDomain( + CloudFoundryClient cloudFoundryClient, String domain, String domainId) { + when(cloudFoundryClient + .sharedDomains() + .list(ListSharedDomainsRequest.builder().page(1).name(domain).build())) + .thenReturn( + Mono.just( + fill(ListSharedDomainsResponse.builder()) + .resource( + SharedDomainResource.builder() + .metadata( + fill(Metadata.builder()) + .id(domainId) + .build()) + .entity( + SharedDomainEntity.builder() + .name(domain) + .build()) + .build()) + .build())); + } + + private static void requestSharedDomains( + CloudFoundryClient cloudFoundryClient, String domain, String domainId) { + when(cloudFoundryClient + .sharedDomains() + .list(ListSharedDomainsRequest.builder().page(1).build())) + .thenReturn( + Mono.just( + fill(ListSharedDomainsResponse.builder()) + .resource( + SharedDomainResource.builder() + .metadata( + fill(Metadata.builder()) + .id(domainId) + .build()) + .entity( + fill(SharedDomainEntity.builder()) + .internal(false) + .name(domain) + .build()) + .build()) + .build())); } private static void requestSharedDomainsEmpty(CloudFoundryClient cloudFoundryClient) { - when(cloudFoundryClient.sharedDomains() - .list(ListSharedDomainsRequest.builder() - .page(1) - .build())) - .thenReturn(Mono - .just(fill(ListSharedDomainsResponse.builder()) - .build())); - } - - private static void requestSpace(CloudFoundryClient cloudFoundryClient, String spaceId, String organizationId) { - when(cloudFoundryClient.spaces() - .get(GetSpaceRequest.builder() - .spaceId(spaceId) - .build())) - .thenReturn(Mono - .just(fill(GetSpaceResponse.builder()) - .entity(fill(SpaceEntity.builder()) - .organizationId(organizationId) - .build()) - .build())); + when(cloudFoundryClient + .sharedDomains() + .list(ListSharedDomainsRequest.builder().page(1).build())) + .thenReturn(Mono.just(fill(ListSharedDomainsResponse.builder()).build())); + } + + private static void requestSpace( + CloudFoundryClient cloudFoundryClient, String spaceId, String organizationId) { + when(cloudFoundryClient.spaces().get(GetSpaceRequest.builder().spaceId(spaceId).build())) + .thenReturn( + Mono.just( + fill(GetSpaceResponse.builder()) + .entity( + fill(SpaceEntity.builder()) + .organizationId(organizationId) + .build()) + .build())); } private static void requestSpaceSummary(CloudFoundryClient cloudFoundryClient, String spaceId) { - when(cloudFoundryClient.spaces() - .getSummary(GetSpaceSummaryRequest.builder() - .spaceId(spaceId) - .build())) - .thenReturn(Mono - .just(fill(GetSpaceSummaryResponse.builder(), "space-summary-") - .application(fill(SpaceApplicationSummary.builder(), "application-summary-") - .build()) - .build())); + when(cloudFoundryClient + .spaces() + .getSummary(GetSpaceSummaryRequest.builder().spaceId(spaceId).build())) + .thenReturn( + Mono.just( + fill(GetSpaceSummaryResponse.builder(), "space-summary-") + .application( + fill( + SpaceApplicationSummary.builder(), + "application-summary-") + .build()) + .build())); } private static void requestStack(CloudFoundryClient cloudFoundryClient, String stackId) { - when(cloudFoundryClient.stacks() - .get(GetStackRequest.builder() - .stackId(stackId) - .build())) - .thenReturn(Mono - .just(fill(GetStackResponse.builder()) - .entity(fill(StackEntity.builder(), "stack-entity-") - .build()) - .build())); + when(cloudFoundryClient.stacks().get(GetStackRequest.builder().stackId(stackId).build())) + .thenReturn( + Mono.just( + fill(GetStackResponse.builder()) + .entity( + fill(StackEntity.builder(), "stack-entity-") + .build()) + .build())); } private static void requestStackIdEmpty(CloudFoundryClient cloudFoundryClient, String stack) { - when(cloudFoundryClient.stacks() - .list(ListStacksRequest.builder() - .name(stack) - .page(1) - .build())) - .thenReturn(Mono - .just(fill(ListStacksResponse.builder()) - .build())); - } - - private static void requestTcpDomains(CloudFoundryClient cloudFoundryClient, String domain, String domainId) { - when(cloudFoundryClient.sharedDomains() - .list(ListSharedDomainsRequest.builder() - .page(1) - .build())) - .thenReturn(Mono - .just(fill(ListSharedDomainsResponse.builder()) - .resource(SharedDomainResource.builder() - .metadata(fill(Metadata.builder()) - .id(domainId) - .build()) - .entity(fill(SharedDomainEntity.builder()) - .name(domain) - .routerGroupType("tcp") - .build()) - .build()) - .build())); - } - - private static void requestTerminateApplicationInstance(CloudFoundryClient cloudFoundryClient, String applicationId, String instanceIndex) { - when(cloudFoundryClient.applicationsV2() - .terminateInstance(TerminateApplicationInstanceRequest.builder() - .applicationId(applicationId) - .index(instanceIndex) - .build())). - thenReturn(Mono.empty()); - } - - private static void requestUpdateApplication(CloudFoundryClient cloudFoundryClient, String applicationId, ApplicationManifest manifest, String stackId) { + when(cloudFoundryClient + .stacks() + .list(ListStacksRequest.builder().name(stack).page(1).build())) + .thenReturn(Mono.just(fill(ListStacksResponse.builder()).build())); + } + + private static void requestTcpDomains( + CloudFoundryClient cloudFoundryClient, String domain, String domainId) { + when(cloudFoundryClient + .sharedDomains() + .list(ListSharedDomainsRequest.builder().page(1).build())) + .thenReturn( + Mono.just( + fill(ListSharedDomainsResponse.builder()) + .resource( + SharedDomainResource.builder() + .metadata( + fill(Metadata.builder()) + .id(domainId) + .build()) + .entity( + fill(SharedDomainEntity.builder()) + .name(domain) + .routerGroupType("tcp") + .build()) + .build()) + .build())); + } + + private static void requestTerminateApplicationInstance( + CloudFoundryClient cloudFoundryClient, String applicationId, String instanceIndex) { + when(cloudFoundryClient + .applicationsV2() + .terminateInstance( + TerminateApplicationInstanceRequest.builder() + .applicationId(applicationId) + .index(instanceIndex) + .build())) + .thenReturn(Mono.empty()); + } + + private static void requestUpdateApplication( + CloudFoundryClient cloudFoundryClient, + String applicationId, + ApplicationManifest manifest, + String stackId) { UpdateApplicationRequest.Builder builder = UpdateApplicationRequest.builder(); if (manifest.getDocker() != null) { Optional.ofNullable(manifest.getDocker().getImage()).ifPresent(builder::dockerImage); String dockerUsername = manifest.getDocker().getUsername(); String dockerPassword = manifest.getDocker().getPassword(); - builder.dockerCredentials(DockerCredentials.builder().username(dockerUsername).password(dockerPassword).build()); + builder.dockerCredentials( + DockerCredentials.builder() + .username(dockerUsername) + .password(dockerPassword) + .build()); } if (manifest.getBuildpacks() != null) { builder.buildpack(manifest.getBuildpacks().get(0)); } - when(cloudFoundryClient.applicationsV2() - .update(builder - .applicationId(applicationId) - .command(manifest.getCommand()) - .diskQuota(manifest.getDisk()) - .environmentJsons(manifest.getEnvironmentVariables()) - .healthCheckTimeout(manifest.getTimeout()) - .healthCheckType(Optional.ofNullable(manifest.getHealthCheckType()).map(ApplicationHealthCheck::getValue).orElse(null)) - .instances(manifest.getInstances()) - .memory(manifest.getMemory()) - .name(manifest.getName()) - .stackId(stackId) - .build())) - .thenReturn(Mono - .just(fill(UpdateApplicationResponse.builder()) - .metadata(fill(Metadata.builder()) - .id(applicationId) - .build()) - .build())); - } - - private static void requestUpdateApplicationEnvironment(CloudFoundryClient cloudFoundryClient, String applicationId, Map environment) { - when(cloudFoundryClient.applicationsV2() - .update(UpdateApplicationRequest.builder() - .applicationId(applicationId) - .environmentJsons(environment) - .build())) - .thenReturn(Mono.just(fill(UpdateApplicationResponse.builder()) - .entity(fill(ApplicationEntity.builder()) - .environmentJsons(environment) - .build()) - .build())); - } - - private static void requestUpdateApplicationHealthCheck(CloudFoundryClient cloudFoundryClient, String applicationId, ApplicationHealthCheck type) { - when(cloudFoundryClient.applicationsV2() - .update(UpdateApplicationRequest.builder() - .applicationId(applicationId) - .healthCheckType(type.getValue()) - .build())) - .thenReturn(Mono - .just(fill(UpdateApplicationResponse.builder()) - .entity(fill(ApplicationEntity.builder(), "application-entity-") - .build()) - .build())); - } - - private static void requestUpdateApplicationRename(CloudFoundryClient cloudFoundryClient, String applicationId, String name) { - when(cloudFoundryClient.applicationsV2() - .update(UpdateApplicationRequest.builder() - .applicationId(applicationId) - .name(name) - .build())) - .thenReturn(Mono - .just(fill(UpdateApplicationResponse.builder()) - .entity(fill(ApplicationEntity.builder(), "application-entity-") - .build()) - .build())); - } - - private static void requestUpdateApplicationScale(CloudFoundryClient cloudFoundryClient, String applicationId, Integer disk, Integer instances, Integer memory) { - when(cloudFoundryClient.applicationsV2() - .update(UpdateApplicationRequest.builder() - .applicationId(applicationId) - .diskQuota(disk) - .instances(instances) - .memory(memory) - .build())) - .thenReturn(Mono - .just(fill(UpdateApplicationResponse.builder()) - .entity(fill(ApplicationEntity.builder()) - .build()) - .build())); - } - - private static void requestUpdateApplicationSsh(CloudFoundryClient cloudFoundryClient, String applicationId, Boolean enabled) { - when(cloudFoundryClient.applicationsV2() - .update(UpdateApplicationRequest.builder() - .applicationId(applicationId) - .enableSsh(enabled) - .build())) - .thenReturn(Mono - .just(fill(UpdateApplicationResponse.builder()) - .entity(fill(ApplicationEntity.builder(), "application-entity-") - .build()) - .build())); - } - - private static void requestUpdateApplicationState(CloudFoundryClient cloudFoundryClient, String applicationId, String state) { + when(cloudFoundryClient + .applicationsV2() + .update( + builder.applicationId(applicationId) + .command(manifest.getCommand()) + .diskQuota(manifest.getDisk()) + .environmentJsons(manifest.getEnvironmentVariables()) + .healthCheckTimeout(manifest.getTimeout()) + .healthCheckType( + Optional.ofNullable(manifest.getHealthCheckType()) + .map(ApplicationHealthCheck::getValue) + .orElse(null)) + .instances(manifest.getInstances()) + .memory(manifest.getMemory()) + .name(manifest.getName()) + .stackId(stackId) + .build())) + .thenReturn( + Mono.just( + fill(UpdateApplicationResponse.builder()) + .metadata( + fill(Metadata.builder()).id(applicationId).build()) + .build())); + } + + private static void requestUpdateApplicationEnvironment( + CloudFoundryClient cloudFoundryClient, + String applicationId, + Map environment) { + when(cloudFoundryClient + .applicationsV2() + .update( + UpdateApplicationRequest.builder() + .applicationId(applicationId) + .environmentJsons(environment) + .build())) + .thenReturn( + Mono.just( + fill(UpdateApplicationResponse.builder()) + .entity( + fill(ApplicationEntity.builder()) + .environmentJsons(environment) + .build()) + .build())); + } + + private static void requestUpdateApplicationHealthCheck( + CloudFoundryClient cloudFoundryClient, + String applicationId, + ApplicationHealthCheck type) { + when(cloudFoundryClient + .applicationsV2() + .update( + UpdateApplicationRequest.builder() + .applicationId(applicationId) + .healthCheckType(type.getValue()) + .build())) + .thenReturn( + Mono.just( + fill(UpdateApplicationResponse.builder()) + .entity( + fill( + ApplicationEntity.builder(), + "application-entity-") + .build()) + .build())); + } + + private static void requestUpdateApplicationRename( + CloudFoundryClient cloudFoundryClient, String applicationId, String name) { + when(cloudFoundryClient + .applicationsV2() + .update( + UpdateApplicationRequest.builder() + .applicationId(applicationId) + .name(name) + .build())) + .thenReturn( + Mono.just( + fill(UpdateApplicationResponse.builder()) + .entity( + fill( + ApplicationEntity.builder(), + "application-entity-") + .build()) + .build())); + } + + private static void requestUpdateApplicationScale( + CloudFoundryClient cloudFoundryClient, + String applicationId, + Integer disk, + Integer instances, + Integer memory) { + when(cloudFoundryClient + .applicationsV2() + .update( + UpdateApplicationRequest.builder() + .applicationId(applicationId) + .diskQuota(disk) + .instances(instances) + .memory(memory) + .build())) + .thenReturn( + Mono.just( + fill(UpdateApplicationResponse.builder()) + .entity(fill(ApplicationEntity.builder()).build()) + .build())); + } + + private static void requestUpdateApplicationSsh( + CloudFoundryClient cloudFoundryClient, String applicationId, Boolean enabled) { + when(cloudFoundryClient + .applicationsV2() + .update( + UpdateApplicationRequest.builder() + .applicationId(applicationId) + .enableSsh(enabled) + .build())) + .thenReturn( + Mono.just( + fill(UpdateApplicationResponse.builder()) + .entity( + fill( + ApplicationEntity.builder(), + "application-entity-") + .build()) + .build())); + } + + private static void requestUpdateApplicationState( + CloudFoundryClient cloudFoundryClient, String applicationId, String state) { requestUpdateApplicationState(cloudFoundryClient, applicationId, state, 1); } - private static void requestUpdateApplicationState(CloudFoundryClient cloudFoundryClient, String applicationId, String state, int instances) { - when(cloudFoundryClient.applicationsV2() - .update(UpdateApplicationRequest.builder() - .applicationId(applicationId) - .state(state) - .build())) - .thenReturn(Mono - .just(UpdateApplicationResponse.builder() - .metadata(fill(Metadata.builder()) - .id(applicationId) - .build()) - .entity(fill(ApplicationEntity.builder()) - .state(state) - .instances(instances) - .build()) - .build())); - } - - private static void requestUpload(CloudFoundryClient cloudFoundryClient, String applicationId, Path application, String jobId) { - when(cloudFoundryClient.applicationsV2() - .upload(UploadApplicationRequest.builder() - .applicationId(applicationId) - .async(true) - .application(application) - .build())) - .thenReturn(Mono - .just(fill(UploadApplicationResponse.builder()) - .metadata(fill(Metadata.builder()) - .id(jobId) - .build()) - .entity(fill(JobEntity.builder(), "job-entity-") - .build()) - .build())); + private static void requestUpdateApplicationState( + CloudFoundryClient cloudFoundryClient, + String applicationId, + String state, + int instances) { + when(cloudFoundryClient + .applicationsV2() + .update( + UpdateApplicationRequest.builder() + .applicationId(applicationId) + .state(state) + .build())) + .thenReturn( + Mono.just( + UpdateApplicationResponse.builder() + .metadata( + fill(Metadata.builder()).id(applicationId).build()) + .entity( + fill(ApplicationEntity.builder()) + .state(state) + .instances(instances) + .build()) + .build())); + } + + private static void requestUpload( + CloudFoundryClient cloudFoundryClient, + String applicationId, + Path application, + String jobId) { + when(cloudFoundryClient + .applicationsV2() + .upload( + UploadApplicationRequest.builder() + .applicationId(applicationId) + .async(true) + .application(application) + .build())) + .thenReturn( + Mono.just( + fill(UploadApplicationResponse.builder()) + .metadata(fill(Metadata.builder()).id(jobId).build()) + .entity(fill(JobEntity.builder(), "job-entity-").build()) + .build())); } - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/DeleteApplicationRequestTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/DeleteApplicationRequestTest.java index a7db273792..68b978c4bc 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/DeleteApplicationRequestTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/DeleteApplicationRequestTest.java @@ -22,16 +22,11 @@ public final class DeleteApplicationRequestTest { @Test(expected = IllegalStateException.class) public void noName() { - DeleteApplicationRequest.builder() - .build(); + DeleteApplicationRequest.builder().build(); } @Test public void valid() { - DeleteApplicationRequest.builder() - .name("test-name") - .deleteRoutes(true) - .build(); + DeleteApplicationRequest.builder().name("test-name").deleteRoutes(true).build(); } - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/DisableApplicationSshTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/DisableApplicationSshTest.java index 7ef31c1201..86d85f55f8 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/DisableApplicationSshTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/DisableApplicationSshTest.java @@ -22,15 +22,11 @@ public final class DisableApplicationSshTest { @Test(expected = IllegalStateException.class) public void noName() { - DisableApplicationSshRequest.builder() - .build(); + DisableApplicationSshRequest.builder().build(); } @Test public void valid() { - DisableApplicationSshRequest.builder() - .name("test-name") - .build(); + DisableApplicationSshRequest.builder().name("test-name").build(); } - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/EnableApplicationSshRequestTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/EnableApplicationSshRequestTest.java index e3480b6685..b1b7c5cc25 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/EnableApplicationSshRequestTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/EnableApplicationSshRequestTest.java @@ -22,15 +22,11 @@ public final class EnableApplicationSshRequestTest { @Test(expected = IllegalStateException.class) public void noName() { - EnableApplicationSshRequest.builder() - .build(); + EnableApplicationSshRequest.builder().build(); } @Test public void valid() { - EnableApplicationSshRequest.builder() - .name("test-name") - .build(); + EnableApplicationSshRequest.builder().name("test-name").build(); } - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/GetApplicationEnvironmentsRequestTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/GetApplicationEnvironmentsRequestTest.java index b9e6b6b685..a1a103a287 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/GetApplicationEnvironmentsRequestTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/GetApplicationEnvironmentsRequestTest.java @@ -22,15 +22,11 @@ public final class GetApplicationEnvironmentsRequestTest { @Test(expected = IllegalStateException.class) public void noName() { - GetApplicationEnvironmentsRequest.builder() - .build(); + GetApplicationEnvironmentsRequest.builder().build(); } @Test public void valid() { - GetApplicationEnvironmentsRequest.builder() - .name("test-name") - .build(); + GetApplicationEnvironmentsRequest.builder().name("test-name").build(); } - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/GetApplicationEventsRequestTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/GetApplicationEventsRequestTest.java index 43582c216b..09b5d29008 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/GetApplicationEventsRequestTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/GetApplicationEventsRequestTest.java @@ -22,15 +22,11 @@ public final class GetApplicationEventsRequestTest { @Test(expected = IllegalStateException.class) public void noName() { - GetApplicationEventsRequest.builder() - .build(); + GetApplicationEventsRequest.builder().build(); } @Test public void valid() { - GetApplicationEventsRequest.builder() - .name("test-name") - .build(); + GetApplicationEventsRequest.builder().name("test-name").build(); } - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/GetApplicationHealthCheckRequestTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/GetApplicationHealthCheckRequestTest.java index d58abe4856..a629d297e4 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/GetApplicationHealthCheckRequestTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/GetApplicationHealthCheckRequestTest.java @@ -22,15 +22,11 @@ public final class GetApplicationHealthCheckRequestTest { @Test(expected = IllegalStateException.class) public void noName() { - GetApplicationHealthCheckRequest.builder() - .build(); + GetApplicationHealthCheckRequest.builder().build(); } @Test public void valid() { - GetApplicationHealthCheckRequest.builder() - .name("test-name") - .build(); + GetApplicationHealthCheckRequest.builder().name("test-name").build(); } - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/GetApplicationManifestRequestTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/GetApplicationManifestRequestTest.java index b8dec702eb..886bfec5f8 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/GetApplicationManifestRequestTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/GetApplicationManifestRequestTest.java @@ -22,15 +22,11 @@ public final class GetApplicationManifestRequestTest { @Test(expected = IllegalStateException.class) public void noName() { - GetApplicationManifestRequest.builder() - .build(); + GetApplicationManifestRequest.builder().build(); } @Test public void valid() { - GetApplicationManifestRequest.builder() - .name("test-name") - .build(); + GetApplicationManifestRequest.builder().name("test-name").build(); } - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/GetApplicationRequestTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/GetApplicationRequestTest.java index 051b3d52c6..9148c4ef3f 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/GetApplicationRequestTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/GetApplicationRequestTest.java @@ -22,15 +22,11 @@ public final class GetApplicationRequestTest { @Test(expected = IllegalStateException.class) public void noName() { - GetApplicationRequest.builder() - .build(); + GetApplicationRequest.builder().build(); } @Test public void valid() { - GetApplicationRequest.builder() - .name("test-name") - .build(); + GetApplicationRequest.builder().name("test-name").build(); } - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/ListApplicationTasksRequestTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/ListApplicationTasksRequestTest.java index f6e268733e..adcefd0768 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/ListApplicationTasksRequestTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/ListApplicationTasksRequestTest.java @@ -22,15 +22,11 @@ public final class ListApplicationTasksRequestTest { @Test(expected = IllegalStateException.class) public void noName() { - ListApplicationTasksRequest.builder() - .build(); + ListApplicationTasksRequest.builder().build(); } @Test public void valid() { - ListApplicationTasksRequest.builder() - .name("test-name") - .build(); + ListApplicationTasksRequest.builder().name("test-name").build(); } - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/LogsRequestTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/LogsRequestTest.java index 58909b6add..7ca10707c7 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/LogsRequestTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/LogsRequestTest.java @@ -22,15 +22,11 @@ public final class LogsRequestTest { @Test(expected = IllegalStateException.class) public void noName() { - LogsRequest.builder() - .build(); + LogsRequest.builder().build(); } @Test public void valid() { - LogsRequest.builder() - .name("test-name") - .build(); + LogsRequest.builder().name("test-name").build(); } - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/ManifestV3ApplicationTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/ManifestV3ApplicationTest.java index 84c43d88eb..7d48d8a3ea 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/ManifestV3ApplicationTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/ManifestV3ApplicationTest.java @@ -16,82 +16,70 @@ package org.cloudfoundry.operations.applications; -import org.junit.Test; - import java.nio.file.Paths; +import org.junit.Test; public class ManifestV3ApplicationTest { @Test(expected = IllegalStateException.class) public void dockerAndBuildpack() { ManifestV3Application.builder() - .name("test-name") - .buildpack("test-buildpack") - .docker(Docker.builder() - .image("test-docker-image") - .build()) - .build(); + .name("test-name") + .buildpack("test-buildpack") + .docker(Docker.builder().image("test-docker-image").build()) + .build(); } @Test(expected = IllegalStateException.class) public void dockerAndPath() { ManifestV3Application.builder() - .name("test-name") - .docker(Docker.builder() - .image("test-docker-image") - .build()) - .path(Paths.get("test-application")) - .build(); + .name("test-name") + .docker(Docker.builder().image("test-docker-image").build()) + .path(Paths.get("test-application")) + .build(); } @Test(expected = IllegalStateException.class) public void dockerCredentialsNoImage() { ManifestV3Application.builder() - .name("test-name") - .docker(Docker.builder() - .password("test-password") - .username("test-username") - .build()) - .build(); + .name("test-name") + .docker( + Docker.builder() + .password("test-password") + .username("test-username") + .build()) + .build(); } @Test(expected = IllegalStateException.class) public void routesAndDomains() { ManifestV3Application.builder() - .name("test-name") - .route(Route.builder() - .route("test-route") - .build()) - .domain("test-domain") - .build(); + .name("test-name") + .route(Route.builder().route("test-route").build()) + .domain("test-domain") + .build(); } @Test(expected = IllegalStateException.class) public void routesAndHosts() { ManifestV3Application.builder() - .name("test-name") - .route(Route.builder() - .route("test-route") - .build()) - .host("test-host") - .build(); + .name("test-name") + .route(Route.builder().route("test-route").build()) + .host("test-host") + .build(); } @Test(expected = IllegalStateException.class) public void routesAndNoHostName() { ManifestV3Application.builder() - .name("test-name") - .route(Route.builder() - .route("test-route") - .build()) - .noHostname(true) - .build(); + .name("test-name") + .route(Route.builder().route("test-route").build()) + .noHostname(true) + .build(); } @Test public void valid() { - ManifestV3Application.builder() - .name("test-name") - .build(); + ManifestV3Application.builder().name("test-name").build(); } -} \ No newline at end of file +} diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/ManifestV3ProcessTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/ManifestV3ProcessTest.java index c457718c75..45b8bc0139 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/ManifestV3ProcessTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/ManifestV3ProcessTest.java @@ -21,14 +21,11 @@ public class ManifestV3ProcessTest { @Test(expected = IllegalStateException.class) public void noType() { - ManifestV3Process.builder() - .build(); + ManifestV3Process.builder().build(); } @Test public void valid() { - ManifestV3Process.builder() - .type("test-type") - .build(); + ManifestV3Process.builder().type("test-type").build(); } -} \ No newline at end of file +} diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/ManifestV3ServiceTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/ManifestV3ServiceTest.java index 03b20899a7..e30980fb7d 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/ManifestV3ServiceTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/ManifestV3ServiceTest.java @@ -21,14 +21,11 @@ public class ManifestV3ServiceTest { @Test(expected = IllegalStateException.class) public void noName() { - ManifestV3Service.builder() - .build(); + ManifestV3Service.builder().build(); } @Test public void valid() { - ManifestV3Service.builder() - .name("test-service-name") - .build(); + ManifestV3Service.builder().name("test-service-name").build(); } -} \ No newline at end of file +} diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/ManifestV3SidecarTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/ManifestV3SidecarTest.java index c24f4f7e67..04a7bca713 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/ManifestV3SidecarTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/ManifestV3SidecarTest.java @@ -22,14 +22,11 @@ public class ManifestV3SidecarTest { @Test(expected = IllegalStateException.class) public void noName() { - ManifestV3Sidecar.builder() - .build(); + ManifestV3Sidecar.builder().build(); } @Test public void valid() { - ManifestV3Sidecar.builder() - .name("test-service-name") - .build(); + ManifestV3Sidecar.builder().name("test-service-name").build(); } -} \ No newline at end of file +} diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/ManifestV3Test.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/ManifestV3Test.java index fa167fa99e..6d4ee60a5b 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/ManifestV3Test.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/ManifestV3Test.java @@ -20,28 +20,21 @@ public class ManifestV3Test { - private final ManifestV3Application testApplication = ManifestV3Application.builder() - .name("test-application-name") - .build(); + private final ManifestV3Application testApplication = + ManifestV3Application.builder().name("test-application-name").build(); @Test(expected = IllegalStateException.class) public void illegalVersion() { - ManifestV3.builder() - .version(2) - .application(testApplication) - .build(); + ManifestV3.builder().version(2).application(testApplication).build(); } @Test(expected = IllegalStateException.class) public void noApplications() { - ManifestV3.builder() - .build(); + ManifestV3.builder().build(); } @Test public void valid() { - ManifestV3.builder() - .application(testApplication) - .build(); + ManifestV3.builder().application(testApplication).build(); } -} \ No newline at end of file +} diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/PushApplicationRequestTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/PushApplicationRequestTest.java index 11752f06a7..2686f0784e 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/PushApplicationRequestTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/PushApplicationRequestTest.java @@ -16,49 +16,40 @@ package org.cloudfoundry.operations.applications; -import org.junit.Test; - import java.nio.file.Paths; +import org.junit.Test; public final class PushApplicationRequestTest { @Test(expected = IllegalStateException.class) public void applicationAndDocker() { PushApplicationRequest.builder() - .path(Paths.get("test-application")) - .dockerImage("test-docker") - .name("test-name") - .build(); + .path(Paths.get("test-application")) + .dockerImage("test-docker") + .name("test-name") + .build(); } @Test(expected = IllegalStateException.class) public void noApplicationOrDocker() { - PushApplicationRequest.builder() - .name("test-name") - .build(); + PushApplicationRequest.builder().name("test-name").build(); } @Test(expected = IllegalStateException.class) public void noName() { - PushApplicationRequest.builder() - .path(Paths.get("test-application")) - .build(); + PushApplicationRequest.builder().path(Paths.get("test-application")).build(); } @Test public void validApplication() { PushApplicationRequest.builder() - .path(Paths.get("test-application")) - .name("test-name") - .build(); + .path(Paths.get("test-application")) + .name("test-name") + .build(); } @Test public void validDocker() { - PushApplicationRequest.builder() - .dockerImage("test-docker") - .name("test-name") - .build(); + PushApplicationRequest.builder().dockerImage("test-docker").name("test-name").build(); } - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/PushManifestV3RequestTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/PushManifestV3RequestTest.java index 315ee41e09..6bf241fe45 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/PushManifestV3RequestTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/PushManifestV3RequestTest.java @@ -22,18 +22,19 @@ public class PushManifestV3RequestTest { @Test(expected = IllegalStateException.class) public void noManifest() { - PushManifestV3Request.builder() - .build(); + PushManifestV3Request.builder().build(); } @Test public void valid() { PushManifestV3Request.builder() - .manifest(ManifestV3.builder() - .application(ManifestV3Application.builder() - .name("test-application-name") - .build()) - .build()) - .build(); + .manifest( + ManifestV3.builder() + .application( + ManifestV3Application.builder() + .name("test-application-name") + .build()) + .build()) + .build(); } -} \ No newline at end of file +} diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/RestartApplicationInstanceRequestTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/RestartApplicationInstanceRequestTest.java index a62b5b122c..f0eb01c998 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/RestartApplicationInstanceRequestTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/RestartApplicationInstanceRequestTest.java @@ -22,24 +22,16 @@ public final class RestartApplicationInstanceRequestTest { @Test(expected = IllegalStateException.class) public void noInstanceIndex() { - RestartApplicationInstanceRequest.builder() - .name("test-name") - .build(); + RestartApplicationInstanceRequest.builder().name("test-name").build(); } @Test(expected = IllegalStateException.class) public void noName() { - RestartApplicationInstanceRequest.builder() - .instanceIndex(0) - .build(); + RestartApplicationInstanceRequest.builder().instanceIndex(0).build(); } @Test public void valid() { - RestartApplicationInstanceRequest.builder() - .instanceIndex(0) - .name("test-name") - .build(); + RestartApplicationInstanceRequest.builder().instanceIndex(0).name("test-name").build(); } - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/RestartApplicationRequestTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/RestartApplicationRequestTest.java index 7c324e8714..197c81af6f 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/RestartApplicationRequestTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/RestartApplicationRequestTest.java @@ -22,15 +22,11 @@ public final class RestartApplicationRequestTest { @Test(expected = IllegalStateException.class) public void noName() { - RestartApplicationRequest.builder() - .build(); + RestartApplicationRequest.builder().build(); } @Test public void valid() { - RestartApplicationRequest.builder() - .name("test-name") - .build(); + RestartApplicationRequest.builder().name("test-name").build(); } - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/RouteUtilsTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/RouteUtilsTest.java index 545aea2d60..6156bdacda 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/RouteUtilsTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/RouteUtilsTest.java @@ -16,63 +16,46 @@ package org.cloudfoundry.operations.applications; -import org.junit.Test; -import reactor.test.StepVerifier; +import static org.assertj.core.api.Assertions.assertThat; import java.time.Duration; import java.util.ArrayList; import java.util.Collections; import java.util.List; - -import static org.assertj.core.api.Assertions.assertThat; +import org.junit.Test; +import reactor.test.StepVerifier; public class RouteUtilsTest { @Test public void complexHit() { List availableDomains = new ArrayList<>(); - availableDomains.add(DomainSummary.builder() - .id("1") - .name("test.com") - .build()); - availableDomains.add(DomainSummary.builder() - .id("2") - .name("test.test.com") - .build()); - - DecomposedRoute expected = DecomposedRoute.builder() - .domain("test.test.com") - .build(); + availableDomains.add(DomainSummary.builder().id("1").name("test.com").build()); + availableDomains.add(DomainSummary.builder().id("2").name("test.test.com").build()); + + DecomposedRoute expected = DecomposedRoute.builder().domain("test.test.com").build(); RouteUtils.decomposeRoute(availableDomains, "test.test.com", null) - .as(StepVerifier::create) - .expectNext(expected) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .as(StepVerifier::create) + .expectNext(expected) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void complexPathHit() { List availableDomains = new ArrayList<>(); - availableDomains.add(DomainSummary.builder() - .id("1") - .name("test.com") - .build()); - availableDomains.add(DomainSummary.builder() - .id("2") - .name("test.test.com") - .build()); - - DecomposedRoute expected = DecomposedRoute.builder() - .domain("test.test.com") - .path("/path") - .build(); + availableDomains.add(DomainSummary.builder().id("1").name("test.com").build()); + availableDomains.add(DomainSummary.builder().id("2").name("test.test.com").build()); + + DecomposedRoute expected = + DecomposedRoute.builder().domain("test.test.com").path("/path").build(); RouteUtils.decomposeRoute(availableDomains, "test.test.com/path", null) - .as(StepVerifier::create) - .expectNext(expected) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .as(StepVerifier::create) + .expectNext(expected) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test(expected = IllegalArgumentException.class) @@ -80,206 +63,170 @@ public void empty() { List availableDomains = Collections.emptyList(); RouteUtils.decomposeRoute(availableDomains, "test.test.com", null) - .as(StepVerifier::create) - .consumeErrorWith(t -> assertThat(t).isInstanceOf(IllegalArgumentException.class).hasMessage("The route test.test.com did not match any existing domains")) - .verify(Duration.ofSeconds(5)); + .as(StepVerifier::create) + .consumeErrorWith( + t -> + assertThat(t) + .isInstanceOf(IllegalArgumentException.class) + .hasMessage( + "The route test.test.com did not match any existing" + + " domains")) + .verify(Duration.ofSeconds(5)); } @Test(expected = IllegalArgumentException.class) public void partialMatchMiss() { List availableDomains = new ArrayList<>(); - availableDomains.add(DomainSummary.builder() - .id("1") - .name("test.something.com") - .build()); - availableDomains.add(DomainSummary.builder() - .id("2") - .name("something.com") - .build()); - availableDomains.add(DomainSummary.builder() - .id("3") - .name("hing.com") - .build()); + availableDomains.add(DomainSummary.builder().id("1").name("test.something.com").build()); + availableDomains.add(DomainSummary.builder().id("2").name("something.com").build()); + availableDomains.add(DomainSummary.builder().id("3").name("hing.com").build()); RouteUtils.decomposeRoute(availableDomains, "thing.com", null) - .as(StepVerifier::create) - .consumeErrorWith(t -> assertThat(t).isInstanceOf(IllegalArgumentException.class).hasMessage("The route thing.com did not match any existing domains")) - .verify(Duration.ofSeconds(5)); + .as(StepVerifier::create) + .consumeErrorWith( + t -> + assertThat(t) + .isInstanceOf(IllegalArgumentException.class) + .hasMessage( + "The route thing.com did not match any existing" + + " domains")) + .verify(Duration.ofSeconds(5)); } @Test(expected = IllegalArgumentException.class) public void partialMiss() { List availableDomains = new ArrayList<>(); - availableDomains.add(DomainSummary.builder() - .id("1") - .name("test.com") - .build()); - availableDomains.add(DomainSummary.builder() - .id("2") - .name("test.test.com") - .build()); + availableDomains.add(DomainSummary.builder().id("1").name("test.com").build()); + availableDomains.add(DomainSummary.builder().id("2").name("test.test.com").build()); RouteUtils.decomposeRoute(availableDomains, "est.com", null) - .as(StepVerifier::create) - .consumeErrorWith(t -> assertThat(t).isInstanceOf(IllegalArgumentException.class).hasMessage("The route est.com did not match any existing domains")) - .verify(Duration.ofSeconds(5)); + .as(StepVerifier::create) + .consumeErrorWith( + t -> + assertThat(t) + .isInstanceOf(IllegalArgumentException.class) + .hasMessage( + "The route est.com did not match any existing" + + " domains")) + .verify(Duration.ofSeconds(5)); } @Test(expected = IllegalArgumentException.class) public void pathMiss() { List availableDomains = new ArrayList<>(); - availableDomains.add(DomainSummary.builder() - .id("1") - .name("test.com") - .build()); - availableDomains.add(DomainSummary.builder() - .id("2") - .name("test.test.com") - .build()); + availableDomains.add(DomainSummary.builder().id("1").name("test.com").build()); + availableDomains.add(DomainSummary.builder().id("2").name("test.test.com").build()); RouteUtils.decomposeRoute(availableDomains, "miss.com/path", null) - .as(StepVerifier::create) - .consumeErrorWith(t -> assertThat(t).isInstanceOf(IllegalArgumentException.class).hasMessage("The route miss.com/path did not match any existing domains")) - .verify(Duration.ofSeconds(5)); + .as(StepVerifier::create) + .consumeErrorWith( + t -> + assertThat(t) + .isInstanceOf(IllegalArgumentException.class) + .hasMessage( + "The route miss.com/path did not match any existing" + + " domains")) + .verify(Duration.ofSeconds(5)); } @Test public void routeDecompositionPathHit() { List availableDomains = new ArrayList<>(); - availableDomains.add(DomainSummary.builder() - .id("1") - .name("test.com") - .build()); - availableDomains.add(DomainSummary.builder() - .id("2") - .name("test.test.com") - .build()); - - DecomposedRoute expected = DecomposedRoute.builder() - .domain("test.com") - .path("/path") - .build(); + availableDomains.add(DomainSummary.builder().id("1").name("test.com").build()); + availableDomains.add(DomainSummary.builder().id("2").name("test.test.com").build()); + + DecomposedRoute expected = + DecomposedRoute.builder().domain("test.com").path("/path").build(); RouteUtils.decomposeRoute(availableDomains, "test.com/path", null) - .as(StepVerifier::create) - .expectNext(expected) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .as(StepVerifier::create) + .expectNext(expected) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void simpleHit() { List availableDomains = new ArrayList<>(); - availableDomains.add(DomainSummary.builder() - .id("1") - .name("test.com") - .build()); - availableDomains.add(DomainSummary.builder() - .id("2") - .name("test.test.com") - .build()); - - DecomposedRoute expected = DecomposedRoute.builder() - .domain("test.com") - .build(); + availableDomains.add(DomainSummary.builder().id("1").name("test.com").build()); + availableDomains.add(DomainSummary.builder().id("2").name("test.test.com").build()); + + DecomposedRoute expected = DecomposedRoute.builder().domain("test.com").build(); RouteUtils.decomposeRoute(availableDomains, "test.com", null) - .as(StepVerifier::create) - .expectNext(expected) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .as(StepVerifier::create) + .expectNext(expected) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void simpleHostHit() { List availableDomains = new ArrayList<>(); - availableDomains.add(DomainSummary.builder() - .id("1") - .name("test.com") - .build()); - availableDomains.add(DomainSummary.builder() - .id("2") - .name("test.test.com") - .build()); - - DecomposedRoute expected = DecomposedRoute.builder() - .domain("test.com") - .host("host") - .build(); + availableDomains.add(DomainSummary.builder().id("1").name("test.com").build()); + availableDomains.add(DomainSummary.builder().id("2").name("test.test.com").build()); + + DecomposedRoute expected = + DecomposedRoute.builder().domain("test.com").host("host").build(); RouteUtils.decomposeRoute(availableDomains, "host.test.com", null) - .as(StepVerifier::create) - .expectNext(expected) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .as(StepVerifier::create) + .expectNext(expected) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void simpleHostPathHit() { List availableDomains = new ArrayList<>(); - availableDomains.add(DomainSummary.builder() - .id("1") - .name("test.com") - .build()); - availableDomains.add(DomainSummary.builder() - .id("2") - .name("test.test.com") - .build()); - - DecomposedRoute expected = DecomposedRoute.builder() - .domain("test.com") - .host("host") - .path("/path") - .build(); + availableDomains.add(DomainSummary.builder().id("1").name("test.com").build()); + availableDomains.add(DomainSummary.builder().id("2").name("test.test.com").build()); + + DecomposedRoute expected = + DecomposedRoute.builder().domain("test.com").host("host").path("/path").build(); RouteUtils.decomposeRoute(availableDomains, "host.test.com/path", null) - .as(StepVerifier::create) - .expectNext(expected) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .as(StepVerifier::create) + .expectNext(expected) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test(expected = IllegalArgumentException.class) public void simpleMiss() { List availableDomains = new ArrayList<>(); - availableDomains.add(DomainSummary.builder() - .id("1") - .name("test.com") - .build()); - availableDomains.add(DomainSummary.builder() - .id("2") - .name("test.test.com") - .build()); + availableDomains.add(DomainSummary.builder().id("1").name("test.com").build()); + availableDomains.add(DomainSummary.builder().id("2").name("test.test.com").build()); RouteUtils.decomposeRoute(availableDomains, "miss.com", null) - .as(StepVerifier::create) - .consumeErrorWith(t -> assertThat(t).isInstanceOf(IllegalArgumentException.class).hasMessage("The route miss.com did not match any existing domains")) - .verify(Duration.ofSeconds(5)); + .as(StepVerifier::create) + .consumeErrorWith( + t -> + assertThat(t) + .isInstanceOf(IllegalArgumentException.class) + .hasMessage( + "The route miss.com did not match any existing" + + " domains")) + .verify(Duration.ofSeconds(5)); } @Test public void simplePathOverride() { List availableDomains = new ArrayList<>(); - availableDomains.add(DomainSummary.builder() - .id("1") - .name("test.com") - .build()); - availableDomains.add(DomainSummary.builder() - .id("2") - .name("test.test.com") - .build()); - - DecomposedRoute expected = DecomposedRoute.builder() - .domain("test.com") - .host("host") - .path("/override-path") - .build(); + availableDomains.add(DomainSummary.builder().id("1").name("test.com").build()); + availableDomains.add(DomainSummary.builder().id("2").name("test.test.com").build()); + + DecomposedRoute expected = + DecomposedRoute.builder() + .domain("test.com") + .host("host") + .path("/override-path") + .build(); RouteUtils.decomposeRoute(availableDomains, "host.test.com/path", "/override-path") - .as(StepVerifier::create) - .expectNext(expected) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .as(StepVerifier::create) + .expectNext(expected) + .expectComplete() + .verify(Duration.ofSeconds(5)); } - -} \ No newline at end of file +} diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/RunApplicationTaskRequestTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/RunApplicationTaskRequestTest.java index 21a85e17d8..dfa78b24c8 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/RunApplicationTaskRequestTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/RunApplicationTaskRequestTest.java @@ -22,27 +22,22 @@ public final class RunApplicationTaskRequestTest { @Test(expected = IllegalStateException.class) public void noApplicationName() { - RunApplicationTaskRequest.builder() - .command("test-command") - .build(); + RunApplicationTaskRequest.builder().command("test-command").build(); } @Test(expected = IllegalStateException.class) public void noCommand() { - RunApplicationTaskRequest.builder() - .applicationName("test-application-name") - .build(); + RunApplicationTaskRequest.builder().applicationName("test-application-name").build(); } @Test public void valid() { RunApplicationTaskRequest.builder() - .applicationName("test-application-name") - .command("test-command") - .disk(1) - .memory(1) - .taskName("test-task-name") - .build(); + .applicationName("test-application-name") + .command("test-command") + .disk(1) + .memory(1) + .taskName("test-task-name") + .build(); } - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/ScaleApplicationRequestTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/ScaleApplicationRequestTest.java index 50e6283e33..8222140e7f 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/ScaleApplicationRequestTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/ScaleApplicationRequestTest.java @@ -22,15 +22,11 @@ public final class ScaleApplicationRequestTest { @Test(expected = IllegalStateException.class) public void noName() { - ScaleApplicationRequest.builder() - .build(); + ScaleApplicationRequest.builder().build(); } @Test public void valid() { - ScaleApplicationRequest.builder() - .name("test-name") - .build(); + ScaleApplicationRequest.builder().name("test-name").build(); } - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/SetApplicationHealthCheckRequestTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/SetApplicationHealthCheckRequestTest.java index 6636af3123..e608b1f05a 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/SetApplicationHealthCheckRequestTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/SetApplicationHealthCheckRequestTest.java @@ -22,24 +22,19 @@ public final class SetApplicationHealthCheckRequestTest { @Test(expected = IllegalStateException.class) public void noName() { - SetApplicationHealthCheckRequest.builder() - .type(ApplicationHealthCheck.NONE) - .build(); + SetApplicationHealthCheckRequest.builder().type(ApplicationHealthCheck.NONE).build(); } @Test(expected = IllegalStateException.class) public void noType() { - SetApplicationHealthCheckRequest.builder() - .name("test-name") - .build(); + SetApplicationHealthCheckRequest.builder().name("test-name").build(); } @Test public void valid() { SetApplicationHealthCheckRequest.builder() - .name("test-name") - .type(ApplicationHealthCheck.NONE) - .build(); + .name("test-name") + .type(ApplicationHealthCheck.NONE) + .build(); } - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/SetEnvironmentVariableApplicationRequestTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/SetEnvironmentVariableApplicationRequestTest.java index 44e90a8a35..3b90e1e969 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/SetEnvironmentVariableApplicationRequestTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/SetEnvironmentVariableApplicationRequestTest.java @@ -23,34 +23,33 @@ public final class SetEnvironmentVariableApplicationRequestTest { @Test(expected = IllegalStateException.class) public void noName() { SetEnvironmentVariableApplicationRequest.builder() - .variableName("test-variable-name") - .variableValue("test-variable-value") - .build(); + .variableName("test-variable-name") + .variableValue("test-variable-value") + .build(); } @Test(expected = IllegalStateException.class) public void noVariableName() { SetEnvironmentVariableApplicationRequest.builder() - .name("test-name") - .variableValue("test-variable-value") - .build(); + .name("test-name") + .variableValue("test-variable-value") + .build(); } @Test(expected = IllegalStateException.class) public void noVariableValue() { SetEnvironmentVariableApplicationRequest.builder() - .name("test-name") - .variableName("test-variable-name") - .build(); + .name("test-name") + .variableName("test-variable-name") + .build(); } @Test public void valid() { SetEnvironmentVariableApplicationRequest.builder() - .name("test-name") - .variableName("test-variable-name") - .variableValue("test-variable-value") - .build(); + .name("test-name") + .variableName("test-variable-name") + .variableValue("test-variable-value") + .build(); } - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/StartApplicationRequestTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/StartApplicationRequestTest.java index 8b141dbca9..433130c28c 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/StartApplicationRequestTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/StartApplicationRequestTest.java @@ -22,15 +22,11 @@ public final class StartApplicationRequestTest { @Test(expected = IllegalStateException.class) public void noName() { - StartApplicationRequest.builder() - .build(); + StartApplicationRequest.builder().build(); } @Test public void valid() { - StartApplicationRequest.builder() - .name("test-name") - .build(); + StartApplicationRequest.builder().name("test-name").build(); } - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/StopApplicationRequestTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/StopApplicationRequestTest.java index 6c5a01b815..3382122b44 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/StopApplicationRequestTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/StopApplicationRequestTest.java @@ -22,15 +22,11 @@ public final class StopApplicationRequestTest { @Test(expected = IllegalStateException.class) public void noName() { - StopApplicationRequest.builder() - .build(); + StopApplicationRequest.builder().build(); } @Test public void valid() { - StopApplicationRequest.builder() - .name("test-name") - .build(); + StopApplicationRequest.builder().name("test-name").build(); } - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/TerminateApplicationTaskRequestTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/TerminateApplicationTaskRequestTest.java index 09ac1a2052..3aa4ccaf96 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/TerminateApplicationTaskRequestTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/TerminateApplicationTaskRequestTest.java @@ -22,24 +22,19 @@ public final class TerminateApplicationTaskRequestTest { @Test(expected = IllegalStateException.class) public void noApplicationName() { - TerminateApplicationTaskRequest.builder() - .sequenceId(1) - .build(); + TerminateApplicationTaskRequest.builder().sequenceId(1).build(); } @Test(expected = IllegalStateException.class) public void noSequenceId() { - TerminateApplicationTaskRequest.builder() - .applicationName("test-application-name") - .build(); + TerminateApplicationTaskRequest.builder().applicationName("test-application-name").build(); } @Test public void valid() { TerminateApplicationTaskRequest.builder() - .applicationName("test-application-name") - .sequenceId(1) - .build(); + .applicationName("test-application-name") + .sequenceId(1) + .build(); } - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/UnsetEnvironmentVariableApplicationRequestTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/UnsetEnvironmentVariableApplicationRequestTest.java index 08bce705e7..33f405ceb5 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/UnsetEnvironmentVariableApplicationRequestTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/UnsetEnvironmentVariableApplicationRequestTest.java @@ -23,23 +23,20 @@ public final class UnsetEnvironmentVariableApplicationRequestTest { @Test(expected = IllegalStateException.class) public void noName() { UnsetEnvironmentVariableApplicationRequest.builder() - .variableName("test-variable-name") - .build(); + .variableName("test-variable-name") + .build(); } @Test(expected = IllegalStateException.class) public void noVariableName() { - UnsetEnvironmentVariableApplicationRequest.builder() - .name("test-name") - .build(); + UnsetEnvironmentVariableApplicationRequest.builder().name("test-name").build(); } @Test public void valid() { UnsetEnvironmentVariableApplicationRequest.builder() - .name("test-name") - .variableName("test-variable-name") - .build(); + .name("test-name") + .variableName("test-variable-name") + .build(); } - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/WordListRandomWordsTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/WordListRandomWordsTest.java index 8c2917d531..64dba2c01c 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/WordListRandomWordsTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/applications/WordListRandomWordsTest.java @@ -16,10 +16,9 @@ package org.cloudfoundry.operations.applications; -import org.junit.Test; - import static org.assertj.core.api.Assertions.assertThat; +import org.junit.Test; public final class WordListRandomWordsTest { @@ -34,5 +33,4 @@ public void getAdjective() { public void getNoun() { assertThat(this.randomWords.getNoun()).isNotNull(); } - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/buildpacks/CreateBuildpackRequestTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/buildpacks/CreateBuildpackRequestTest.java index 6ba3f582c1..81fe1f2989 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/buildpacks/CreateBuildpackRequestTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/buildpacks/CreateBuildpackRequestTest.java @@ -16,43 +16,35 @@ package org.cloudfoundry.operations.buildpacks; -import org.junit.Test; - import java.nio.file.Paths; +import org.junit.Test; public class CreateBuildpackRequestTest { @Test(expected = IllegalStateException.class) public void noBuildpack() { - CreateBuildpackRequest.builder() - .name("test-name") - .position(0) - .build(); + CreateBuildpackRequest.builder().name("test-name").position(0).build(); } @Test(expected = IllegalStateException.class) public void noName() { - CreateBuildpackRequest.builder() - .buildpack(Paths.get("test-buildpack")) - .position(0) - .build(); + CreateBuildpackRequest.builder().buildpack(Paths.get("test-buildpack")).position(0).build(); } @Test(expected = IllegalStateException.class) public void noPosition() { CreateBuildpackRequest.builder() - .buildpack(Paths.get("test-buildpack")) - .name("test-name") - .build(); + .buildpack(Paths.get("test-buildpack")) + .name("test-name") + .build(); } @Test public void valid() { CreateBuildpackRequest.builder() - .buildpack(Paths.get("test-buildpack")) - .name("test-name") - .position(0) - .build(); + .buildpack(Paths.get("test-buildpack")) + .name("test-name") + .position(0) + .build(); } - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/buildpacks/DefaultBuildpacksTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/buildpacks/DefaultBuildpacksTest.java index 681fd62c8a..9ae3f05cad 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/buildpacks/DefaultBuildpacksTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/buildpacks/DefaultBuildpacksTest.java @@ -16,6 +16,16 @@ package org.cloudfoundry.operations.buildpacks; +import static org.cloudfoundry.operations.TestObjects.fill; +import static org.mockito.Mockito.when; + +import java.nio.file.Path; +import java.nio.file.Paths; +import java.time.Duration; +import java.util.Arrays; +import java.util.LinkedList; +import java.util.Queue; +import java.util.function.Supplier; import org.cloudfoundry.client.CloudFoundryClient; import org.cloudfoundry.client.v2.Metadata; import org.cloudfoundry.client.v2.buildpacks.BuildpackEntity; @@ -35,36 +45,31 @@ import reactor.test.StepVerifier; import reactor.test.scheduler.VirtualTimeScheduler; -import java.nio.file.Path; -import java.nio.file.Paths; -import java.time.Duration; -import java.util.Arrays; -import java.util.LinkedList; -import java.util.Queue; -import java.util.function.Supplier; - -import static org.cloudfoundry.operations.TestObjects.fill; -import static org.mockito.Mockito.when; - public final class DefaultBuildpacksTest extends AbstractOperationsTest { - private final DefaultBuildpacks buildpacks = new DefaultBuildpacks(Mono.just(this.cloudFoundryClient)); + private final DefaultBuildpacks buildpacks = + new DefaultBuildpacks(Mono.just(this.cloudFoundryClient)); @Test public void create() { requestCreateBuildpack(this.cloudFoundryClient, "test-buildpack", 1, true); - requestUploadBuildpack(this.cloudFoundryClient, "test-buildpack-id", Paths.get("test-buildpack"), "test-buildpack"); + requestUploadBuildpack( + this.cloudFoundryClient, + "test-buildpack-id", + Paths.get("test-buildpack"), + "test-buildpack"); this.buildpacks - .create(CreateBuildpackRequest.builder() - .buildpack(Paths.get("test-buildpack")) - .name("test-buildpack") - .enable(true) - .position(1) - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .create( + CreateBuildpackRequest.builder() + .buildpack(Paths.get("test-buildpack")) + .name("test-buildpack") + .enable(true) + .position(1) + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test @@ -73,13 +78,15 @@ public void delete() { requestDeleteBuildpack(this.cloudFoundryClient, "test-buildpack-id"); requestJobSuccess(this.cloudFoundryClient, "test-job-id"); - StepVerifier.withVirtualTime(() -> this.buildpacks - .delete(DeleteBuildpackRequest.builder() - .name("test-buildpack") - .build())) - .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(3))) - .expectComplete() - .verify(Duration.ofSeconds(5)); + StepVerifier.withVirtualTime( + () -> + this.buildpacks.delete( + DeleteBuildpackRequest.builder() + .name("test-buildpack") + .build())) + .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(3))) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test @@ -87,19 +94,20 @@ public void list() { requestBuildpacks(this.cloudFoundryClient); this.buildpacks - .list() - .as(StepVerifier::create) - .expectNext(Buildpack.builder() - .enabled(true) - .filename("test-buildpack-filename") - .id("test-buildpack-id") - .locked(true) - .name("test-buildpack-name") - .position(1) - .stack("test-buildpack-stack") - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .list() + .as(StepVerifier::create) + .expectNext( + Buildpack.builder() + .enabled(true) + .filename("test-buildpack-filename") + .id("test-buildpack-id") + .locked(true) + .name("test-buildpack-name") + .position(1) + .stack("test-buildpack-stack") + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test @@ -108,13 +116,14 @@ public void rename() { requestUpdateBuildpack(this.cloudFoundryClient, "test-buildpack-id", "test-buildpack-new"); this.buildpacks - .rename(RenameBuildpackRequest.builder() - .name("test-buildpack") - .newName("test-buildpack-new") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .rename( + RenameBuildpackRequest.builder() + .name("test-buildpack") + .newName("test-buildpack-new") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test @@ -123,156 +132,188 @@ public void update() { requestUpdateBuildpack(this.cloudFoundryClient, "test-buildpack-id", true, true, 5); this.buildpacks - .update(UpdateBuildpackRequest.builder() - .enable(true) - .lock(true) - .name("test-buildpack") - .position(5) - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .update( + UpdateBuildpackRequest.builder() + .enable(true) + .lock(true) + .name("test-buildpack") + .position(5) + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void updateWithBits() { requestListBuildpacks(this.cloudFoundryClient, "test-buildpack"); requestUpdateBuildpack(this.cloudFoundryClient, "test-buildpack-id", true, true, 5); - requestUploadBuildpack(this.cloudFoundryClient, "test-buildpack-id", Paths.get("test-buildpack"), "test-buildpack"); + requestUploadBuildpack( + this.cloudFoundryClient, + "test-buildpack-id", + Paths.get("test-buildpack"), + "test-buildpack"); this.buildpacks - .update(UpdateBuildpackRequest.builder() - .buildpack(Paths.get("test-buildpack")) - .enable(true) - .lock(true) - .name("test-buildpack") - .position(5) - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .update( + UpdateBuildpackRequest.builder() + .buildpack(Paths.get("test-buildpack")) + .enable(true) + .lock(true) + .name("test-buildpack") + .position(5) + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } private static void requestBuildpacks(CloudFoundryClient cloudFoundryClient) { - when(cloudFoundryClient.buildpacks() - .list(ListBuildpacksRequest.builder() - .page(1) - .build())) - .thenReturn(Mono - .just(fill(ListBuildpacksResponse.builder()) - .resource(fill(BuildpackResource.builder(), "buildpack-") - .build()) - .build())); + when(cloudFoundryClient.buildpacks().list(ListBuildpacksRequest.builder().page(1).build())) + .thenReturn( + Mono.just( + fill(ListBuildpacksResponse.builder()) + .resource( + fill(BuildpackResource.builder(), "buildpack-") + .build()) + .build())); } - private static void requestCreateBuildpack(CloudFoundryClient cloudFoundryClient, String name, Integer position, Boolean enable) { - when(cloudFoundryClient.buildpacks() - .create(org.cloudfoundry.client.v2.buildpacks.CreateBuildpackRequest.builder() - .name(name) - .position(position) - .enabled(enable) - .build())) - .thenReturn(Mono - .just(fill(CreateBuildpackResponse.builder(), "buildpack-") - .build())); + private static void requestCreateBuildpack( + CloudFoundryClient cloudFoundryClient, String name, Integer position, Boolean enable) { + when(cloudFoundryClient + .buildpacks() + .create( + org.cloudfoundry.client.v2.buildpacks.CreateBuildpackRequest + .builder() + .name(name) + .position(position) + .enabled(enable) + .build())) + .thenReturn( + Mono.just(fill(CreateBuildpackResponse.builder(), "buildpack-").build())); } - private static void requestDeleteBuildpack(CloudFoundryClient cloudFoundryClient, String buildpackId) { - when(cloudFoundryClient.buildpacks() - .delete(org.cloudfoundry.client.v2.buildpacks.DeleteBuildpackRequest.builder() - .async(true) - .buildpackId(buildpackId) - .build())) - .thenReturn(Mono - .just(fill(DeleteBuildpackResponse.builder()) - .entity(fill(JobEntity.builder()) - .id("test-job-id") - .build()) - .build())); + private static void requestDeleteBuildpack( + CloudFoundryClient cloudFoundryClient, String buildpackId) { + when(cloudFoundryClient + .buildpacks() + .delete( + org.cloudfoundry.client.v2.buildpacks.DeleteBuildpackRequest + .builder() + .async(true) + .buildpackId(buildpackId) + .build())) + .thenReturn( + Mono.just( + fill(DeleteBuildpackResponse.builder()) + .entity(fill(JobEntity.builder()).id("test-job-id").build()) + .build())); } private static void requestJobSuccess(CloudFoundryClient cloudFoundryClient, String jobId) { - when(cloudFoundryClient.jobs() - .get(GetJobRequest.builder() - .jobId(jobId) - .build())) - .thenReturn(Mono - .defer(new Supplier>() { + when(cloudFoundryClient.jobs().get(GetJobRequest.builder().jobId(jobId).build())) + .thenReturn( + Mono.defer( + new Supplier>() { - private final Queue responses = new LinkedList<>(Arrays.asList( - fill(GetJobResponse.builder(), "test-job-") - .entity(fill(JobEntity.builder()) - .status("running") - .build()) - .build(), - fill(GetJobResponse.builder(), "job-") - .entity(fill(JobEntity.builder()) - .status("finished") - .build()) - .build() - )); - - @Override - public Mono get() { - return Mono.just(this.responses.poll()); - } + private final Queue responses = + new LinkedList<>( + Arrays.asList( + fill( + GetJobResponse + .builder(), + "test-job-") + .entity( + fill(JobEntity + .builder()) + .status( + "running") + .build()) + .build(), + fill(GetJobResponse.builder(), "job-") + .entity( + fill(JobEntity + .builder()) + .status( + "finished") + .build()) + .build())); - })); + @Override + public Mono get() { + return Mono.just(this.responses.poll()); + } + })); } private static void requestListBuildpacks(CloudFoundryClient cloudFoundryClient, String name) { - when(cloudFoundryClient.buildpacks() - .list(ListBuildpacksRequest.builder() - .name(name) - .page(1) - .build())) - .thenReturn(Mono - .just(ListBuildpacksResponse.builder() - .resource(BuildpackResource.builder() - .metadata(Metadata.builder() - .id("test-buildpack-id") - .build()) - .entity(BuildpackEntity.builder() - .name(name) - .build()) - .build()) - .build())); + when(cloudFoundryClient + .buildpacks() + .list(ListBuildpacksRequest.builder().name(name).page(1).build())) + .thenReturn( + Mono.just( + ListBuildpacksResponse.builder() + .resource( + BuildpackResource.builder() + .metadata( + Metadata.builder() + .id("test-buildpack-id") + .build()) + .entity( + BuildpackEntity.builder() + .name(name) + .build()) + .build()) + .build())); } - private static void requestUpdateBuildpack(CloudFoundryClient cloudFoundryClient, String buildpackId, String name) { - when(cloudFoundryClient.buildpacks() - .update(org.cloudfoundry.client.v2.buildpacks.UpdateBuildpackRequest.builder() - .buildpackId(buildpackId) - .name(name) - .build())) - .thenReturn(Mono - .just(fill(UpdateBuildpackResponse.builder()) - .build())); + private static void requestUpdateBuildpack( + CloudFoundryClient cloudFoundryClient, String buildpackId, String name) { + when(cloudFoundryClient + .buildpacks() + .update( + org.cloudfoundry.client.v2.buildpacks.UpdateBuildpackRequest + .builder() + .buildpackId(buildpackId) + .name(name) + .build())) + .thenReturn(Mono.just(fill(UpdateBuildpackResponse.builder()).build())); } - private static void requestUpdateBuildpack(CloudFoundryClient cloudFoundryClient, String buildpackId, boolean enabled, boolean locked, Integer position) { - when(cloudFoundryClient.buildpacks() - .update(org.cloudfoundry.client.v2.buildpacks.UpdateBuildpackRequest.builder() - .buildpackId(buildpackId) - .enabled(enabled) - .locked(locked) - .position(position) - .build())) - .thenReturn(Mono - .just(fill(UpdateBuildpackResponse.builder()) - .build())); + private static void requestUpdateBuildpack( + CloudFoundryClient cloudFoundryClient, + String buildpackId, + boolean enabled, + boolean locked, + Integer position) { + when(cloudFoundryClient + .buildpacks() + .update( + org.cloudfoundry.client.v2.buildpacks.UpdateBuildpackRequest + .builder() + .buildpackId(buildpackId) + .enabled(enabled) + .locked(locked) + .position(position) + .build())) + .thenReturn(Mono.just(fill(UpdateBuildpackResponse.builder()).build())); } - private static void requestUploadBuildpack(CloudFoundryClient cloudFoundryClient, String buildpackId, Path buildpack, String filename) { - when(cloudFoundryClient.buildpacks() - .upload(org.cloudfoundry.client.v2.buildpacks.UploadBuildpackRequest.builder() - .buildpackId(buildpackId) - .buildpack(buildpack) - .filename(filename) - .build())) - .thenReturn(Mono - .just(fill(UploadBuildpackResponse.builder()) - .build())); + private static void requestUploadBuildpack( + CloudFoundryClient cloudFoundryClient, + String buildpackId, + Path buildpack, + String filename) { + when(cloudFoundryClient + .buildpacks() + .upload( + org.cloudfoundry.client.v2.buildpacks.UploadBuildpackRequest + .builder() + .buildpackId(buildpackId) + .buildpack(buildpack) + .filename(filename) + .build())) + .thenReturn(Mono.just(fill(UploadBuildpackResponse.builder()).build())); } - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/buildpacks/DeleteBuildpackRequestTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/buildpacks/DeleteBuildpackRequestTest.java index 9ab3a74111..af5c162695 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/buildpacks/DeleteBuildpackRequestTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/buildpacks/DeleteBuildpackRequestTest.java @@ -16,24 +16,21 @@ package org.cloudfoundry.operations.buildpacks; -import org.junit.Test; - import java.time.Duration; +import org.junit.Test; public class DeleteBuildpackRequestTest { @Test(expected = IllegalStateException.class) public void noName() { - DeleteBuildpackRequest.builder() - .build(); + DeleteBuildpackRequest.builder().build(); } @Test public void valid() { DeleteBuildpackRequest.builder() - .name("test-buildpack-name") - .completionTimeout(Duration.ofSeconds(5)) - .build(); + .name("test-buildpack-name") + .completionTimeout(Duration.ofSeconds(5)) + .build(); } - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/buildpacks/RenameBuildpackRequestTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/buildpacks/RenameBuildpackRequestTest.java index 0c9acc4c47..4d72154d69 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/buildpacks/RenameBuildpackRequestTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/buildpacks/RenameBuildpackRequestTest.java @@ -22,24 +22,19 @@ public class RenameBuildpackRequestTest { @Test(expected = IllegalStateException.class) public void noName() { - RenameBuildpackRequest.builder() - .newName("test-buildpack-new-name") - .build(); + RenameBuildpackRequest.builder().newName("test-buildpack-new-name").build(); } @Test(expected = IllegalStateException.class) public void noNewName() { - RenameBuildpackRequest.builder() - .name("test-buildpack-name") - .build(); + RenameBuildpackRequest.builder().name("test-buildpack-name").build(); } @Test public void valid() { RenameBuildpackRequest.builder() - .name("test-buildpack-name") - .newName("test-buildpack-new-name") - .build(); + .name("test-buildpack-name") + .newName("test-buildpack-new-name") + .build(); } - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/buildpacks/UpdateBuildpackRequestTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/buildpacks/UpdateBuildpackRequestTest.java index 41c2421246..5b1d0a6709 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/buildpacks/UpdateBuildpackRequestTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/buildpacks/UpdateBuildpackRequestTest.java @@ -16,27 +16,24 @@ package org.cloudfoundry.operations.buildpacks; -import org.junit.Test; - import java.nio.file.Paths; +import org.junit.Test; public class UpdateBuildpackRequestTest { @Test(expected = IllegalStateException.class) public void noName() { - UpdateBuildpackRequest.builder() - .build(); + UpdateBuildpackRequest.builder().build(); } @Test public void valid() { UpdateBuildpackRequest.builder() - .buildpack(Paths.get("test-buildpack")) - .enable(false) - .lock(true) - .name("test-name") - .position(0) - .build(); + .buildpack(Paths.get("test-buildpack")) + .enable(false) + .lock(true) + .name("test-name") + .position(0) + .build(); } - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/domains/CreateDomainRequestTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/domains/CreateDomainRequestTest.java index 800a585a3b..189bca3bdf 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/domains/CreateDomainRequestTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/domains/CreateDomainRequestTest.java @@ -22,24 +22,19 @@ public final class CreateDomainRequestTest { @Test(expected = IllegalStateException.class) public void noDomain() { - CreateDomainRequest.builder() - .organization("test-organization") - .build(); + CreateDomainRequest.builder().organization("test-organization").build(); } @Test(expected = IllegalStateException.class) public void noOrganization() { - CreateDomainRequest.builder() - .domain("test-domain") - .build(); + CreateDomainRequest.builder().domain("test-domain").build(); } @Test public void valid() { CreateDomainRequest.builder() - .domain("test-domain") - .organization("test-organization") - .build(); + .domain("test-domain") + .organization("test-organization") + .build(); } - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/domains/CreateSharedDomainRequestTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/domains/CreateSharedDomainRequestTest.java index 3c7a650196..1e06f7992c 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/domains/CreateSharedDomainRequestTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/domains/CreateSharedDomainRequestTest.java @@ -22,15 +22,11 @@ public final class CreateSharedDomainRequestTest { @Test(expected = IllegalStateException.class) public void noDomain() { - CreateSharedDomainRequest.builder() - .build(); + CreateSharedDomainRequest.builder().build(); } @Test public void valid() { - CreateSharedDomainRequest.builder() - .domain("test-domain") - .build(); + CreateSharedDomainRequest.builder().domain("test-domain").build(); } - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/domains/DefaultDomainsTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/domains/DefaultDomainsTest.java index 93e5a30e69..3a98fac495 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/domains/DefaultDomainsTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/domains/DefaultDomainsTest.java @@ -16,6 +16,11 @@ package org.cloudfoundry.operations.domains; +import static org.assertj.core.api.Assertions.assertThat; +import static org.cloudfoundry.operations.TestObjects.fill; +import static org.mockito.Mockito.when; + +import java.time.Duration; import org.cloudfoundry.client.CloudFoundryClient; import org.cloudfoundry.client.v2.Metadata; import org.cloudfoundry.client.v2.organizations.AssociateOrganizationPrivateDomainRequest; @@ -41,15 +46,10 @@ import reactor.core.publisher.Mono; import reactor.test.StepVerifier; -import java.time.Duration; - -import static org.assertj.core.api.Assertions.assertThat; -import static org.cloudfoundry.operations.TestObjects.fill; -import static org.mockito.Mockito.when; - public final class DefaultDomainsTest extends AbstractOperationsTest { - private final DefaultDomains domains = new DefaultDomains(Mono.just(this.cloudFoundryClient), Mono.just(this.routingClient)); + private final DefaultDomains domains = + new DefaultDomains(Mono.just(this.cloudFoundryClient), Mono.just(this.routingClient)); @Test public void createDomain() { @@ -57,13 +57,14 @@ public void createDomain() { requestCreatePrivateDomain(this.cloudFoundryClient, "test-domain", "test-organization-id"); this.domains - .create(CreateDomainRequest.builder() - .domain("test-domain") - .organization("test-organization") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .create( + CreateDomainRequest.builder() + .domain("test-domain") + .organization("test-organization") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test @@ -71,12 +72,10 @@ public void createSharedDomain() { requestCreateSharedDomain(this.cloudFoundryClient, "test-domain"); this.domains - .createShared(CreateSharedDomainRequest.builder() - .domain("test-domain") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .createShared(CreateSharedDomainRequest.builder().domain("test-domain").build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test @@ -85,20 +84,21 @@ public void listDomains() { requestSharedDomains(this.cloudFoundryClient); this.domains - .list() - .as(StepVerifier::create) - .expectNext(Domain.builder() - .id("test-private-domain-id") - .name("test-private-domain-name") - .status(Status.OWNED) - .build(), - Domain.builder() - .id("test-shared-domain-id") - .name("test-shared-domain-name") - .status(Status.SHARED) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .list() + .as(StepVerifier::create) + .expectNext( + Domain.builder() + .id("test-private-domain-id") + .name("test-private-domain-name") + .status(Status.OWNED) + .build(), + Domain.builder() + .id("test-shared-domain-id") + .name("test-shared-domain-name") + .status(Status.SHARED) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test @@ -107,15 +107,16 @@ public void listDomainsOnlyPrivate() { requestSharedDomainsEmpty(this.cloudFoundryClient); this.domains - .list() - .as(StepVerifier::create) - .expectNext(Domain.builder() - .id("test-private-domain-id") - .name("test-private-domain-name") - .status(Status.OWNED) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .list() + .as(StepVerifier::create) + .expectNext( + Domain.builder() + .id("test-private-domain-id") + .name("test-private-domain-name") + .status(Status.OWNED) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test @@ -124,15 +125,16 @@ public void listDomainsOnlyShared() { requestPrivateDomainsEmpty(this.cloudFoundryClient); this.domains - .list() - .as(StepVerifier::create) - .expectNext(Domain.builder() - .id("test-shared-domain-id") - .name("test-shared-domain-name") - .status(Status.SHARED) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .list() + .as(StepVerifier::create) + .expectNext( + Domain.builder() + .id("test-shared-domain-id") + .name("test-shared-domain-name") + .status(Status.SHARED) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test @@ -141,21 +143,22 @@ public void listDomainsTcp() { requestSharedDomainsTcp(this.cloudFoundryClient); this.domains - .list() - .as(StepVerifier::create) - .expectNext(Domain.builder() - .id("test-private-domain-id") - .name("test-private-domain-name") - .status(Status.OWNED) - .build(), - Domain.builder() - .id("test-shared-domain-id") - .name("test-shared-domain-name") - .status(Status.SHARED) - .type("test-shared-domain-type") - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .list() + .as(StepVerifier::create) + .expectNext( + Domain.builder() + .id("test-private-domain-id") + .name("test-private-domain-name") + .status(Status.OWNED) + .build(), + Domain.builder() + .id("test-shared-domain-id") + .name("test-shared-domain-name") + .status(Status.SHARED) + .type("test-shared-domain-type") + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test @@ -163,31 +166,34 @@ public void listRouterGroups() { requestListRouterGroups(this.routingClient); this.domains - .listRouterGroups() - .as(StepVerifier::create) - .expectNext(RouterGroup.builder() - .id("test-routerGroupId") - .name("test-name") - .type("test-type") - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .listRouterGroups() + .as(StepVerifier::create) + .expectNext( + RouterGroup.builder() + .id("test-routerGroupId") + .name("test-name") + .type("test-type") + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void shareDomain() { requestListPrivateDomains(this.cloudFoundryClient, "test-domain", "test-domain-id"); requestOrganizations(this.cloudFoundryClient, "test-organization"); - requestAssociateOrganizationPrivateDomain(this.cloudFoundryClient, "test-domain-id", "test-organization-id"); + requestAssociateOrganizationPrivateDomain( + this.cloudFoundryClient, "test-domain-id", "test-organization-id"); this.domains - .share(ShareDomainRequest.builder() - .domain("test-domain") - .organization("test-organization") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .share( + ShareDomainRequest.builder() + .domain("test-domain") + .organization("test-organization") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test @@ -196,182 +202,224 @@ public void shareDomainSharedDomain() { requestOrganizations(this.cloudFoundryClient, "test-organization"); this.domains - .share(ShareDomainRequest.builder() - .domain("test-domain") - .organization("test-organization") - .build()) - .as(StepVerifier::create) - .consumeErrorWith(t -> assertThat(t).isInstanceOf(IllegalArgumentException.class).hasMessage("Private domain test-domain does not exist")) - .verify(Duration.ofSeconds(5)); + .share( + ShareDomainRequest.builder() + .domain("test-domain") + .organization("test-organization") + .build()) + .as(StepVerifier::create) + .consumeErrorWith( + t -> + assertThat(t) + .isInstanceOf(IllegalArgumentException.class) + .hasMessage("Private domain test-domain does not exist")) + .verify(Duration.ofSeconds(5)); } @Test public void unshareDomain() { requestListPrivateDomains(this.cloudFoundryClient, "test-domain", "test-domain-id"); requestOrganizations(this.cloudFoundryClient, "test-organization"); - requestRemoveOrganizationPrivateDomain(this.cloudFoundryClient, "test-domain-id", "test-organization-id"); + requestRemoveOrganizationPrivateDomain( + this.cloudFoundryClient, "test-domain-id", "test-organization-id"); this.domains - .unshare(UnshareDomainRequest.builder() - .domain("test-domain") - .organization("test-organization") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .unshare( + UnshareDomainRequest.builder() + .domain("test-domain") + .organization("test-organization") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } - private static void requestAssociateOrganizationPrivateDomain(CloudFoundryClient cloudFoundryClient, String domainId, String organizationId) { - when(cloudFoundryClient.organizations() - .associatePrivateDomain(AssociateOrganizationPrivateDomainRequest.builder() - .privateDomainId(domainId) - .organizationId(organizationId) - .build())) - .thenReturn(Mono.empty()); + private static void requestAssociateOrganizationPrivateDomain( + CloudFoundryClient cloudFoundryClient, String domainId, String organizationId) { + when(cloudFoundryClient + .organizations() + .associatePrivateDomain( + AssociateOrganizationPrivateDomainRequest.builder() + .privateDomainId(domainId) + .organizationId(organizationId) + .build())) + .thenReturn(Mono.empty()); } - private static void requestCreatePrivateDomain(CloudFoundryClient cloudFoundryClient, String domain, String organizationId) { - when(cloudFoundryClient.privateDomains() - .create(CreatePrivateDomainRequest.builder() - .name(domain) - .owningOrganizationId(organizationId) - .build())) - .thenReturn(Mono - .just(fill(CreatePrivateDomainResponse.builder(), "private-domain-") - .build())); + private static void requestCreatePrivateDomain( + CloudFoundryClient cloudFoundryClient, String domain, String organizationId) { + when(cloudFoundryClient + .privateDomains() + .create( + CreatePrivateDomainRequest.builder() + .name(domain) + .owningOrganizationId(organizationId) + .build())) + .thenReturn( + Mono.just( + fill(CreatePrivateDomainResponse.builder(), "private-domain-") + .build())); } - private static void requestCreateSharedDomain(CloudFoundryClient cloudFoundryClient, String domain) { - when(cloudFoundryClient.sharedDomains() - .create(org.cloudfoundry.client.v2.shareddomains.CreateSharedDomainRequest.builder() - .name(domain) - .build())) - .thenReturn(Mono - .just(fill(CreateSharedDomainResponse.builder(), "shared-domain-") - .build())); + private static void requestCreateSharedDomain( + CloudFoundryClient cloudFoundryClient, String domain) { + when(cloudFoundryClient + .sharedDomains() + .create( + org.cloudfoundry.client.v2.shareddomains.CreateSharedDomainRequest + .builder() + .name(domain) + .build())) + .thenReturn( + Mono.just( + fill(CreateSharedDomainResponse.builder(), "shared-domain-") + .build())); } - private static void requestListPrivateDomains(CloudFoundryClient cloudFoundryClient, String domain, String domainId) { - when(cloudFoundryClient.privateDomains() - .list(ListPrivateDomainsRequest.builder() - .name(domain) - .page(1) - .build())) - .thenReturn(Mono - .just(fill(ListPrivateDomainsResponse.builder()) - .resource(fill(PrivateDomainResource.builder()) - .metadata(fill(Metadata.builder(), "private-domain-") - .id(domainId) - .build()) - .build()) - .totalPages(1) - .build())); + private static void requestListPrivateDomains( + CloudFoundryClient cloudFoundryClient, String domain, String domainId) { + when(cloudFoundryClient + .privateDomains() + .list(ListPrivateDomainsRequest.builder().name(domain).page(1).build())) + .thenReturn( + Mono.just( + fill(ListPrivateDomainsResponse.builder()) + .resource( + fill(PrivateDomainResource.builder()) + .metadata( + fill( + Metadata.builder(), + "private-domain-") + .id(domainId) + .build()) + .build()) + .totalPages(1) + .build())); } - private static void requestListPrivateDomainsEmpty(CloudFoundryClient cloudFoundryClient, String domain) { - when(cloudFoundryClient.privateDomains() - .list(ListPrivateDomainsRequest.builder() - .name(domain) - .page(1) - .build())) - .thenReturn(Mono - .just(fill(ListPrivateDomainsResponse.builder()) - .build())); + private static void requestListPrivateDomainsEmpty( + CloudFoundryClient cloudFoundryClient, String domain) { + when(cloudFoundryClient + .privateDomains() + .list(ListPrivateDomainsRequest.builder().name(domain).page(1).build())) + .thenReturn(Mono.just(fill(ListPrivateDomainsResponse.builder()).build())); } private static void requestListRouterGroups(RoutingClient routingClient) { - when(routingClient.routerGroups() - .list(ListRouterGroupsRequest.builder() - .build())) - .thenReturn(Mono - .just(ListRouterGroupsResponse.builder() - .routerGroup(fill(org.cloudfoundry.routing.v1.routergroups.RouterGroup.builder()) - .build()) - .build())); + when(routingClient.routerGroups().list(ListRouterGroupsRequest.builder().build())) + .thenReturn( + Mono.just( + ListRouterGroupsResponse.builder() + .routerGroup( + fill(org.cloudfoundry.routing.v1.routergroups + .RouterGroup.builder()) + .build()) + .build())); } - private static void requestOrganizations(CloudFoundryClient cloudFoundryClient, String organization) { - when(cloudFoundryClient.organizations() - .list(ListOrganizationsRequest.builder() - .name(organization) - .page(1) - .build())) - .thenReturn(Mono - .just(fill(ListOrganizationsResponse.builder()) - .resource(fill(OrganizationResource.builder(), "organization-") - .build()) - .build())); + private static void requestOrganizations( + CloudFoundryClient cloudFoundryClient, String organization) { + when(cloudFoundryClient + .organizations() + .list( + ListOrganizationsRequest.builder() + .name(organization) + .page(1) + .build())) + .thenReturn( + Mono.just( + fill(ListOrganizationsResponse.builder()) + .resource( + fill( + OrganizationResource.builder(), + "organization-") + .build()) + .build())); } private static void requestPrivateDomains(CloudFoundryClient cloudFoundryClient) { - when(cloudFoundryClient.privateDomains() - .list(ListPrivateDomainsRequest.builder() - .page(1) - .build())) - .thenReturn(Mono - .just(fill(ListPrivateDomainsResponse.builder()) - .resource(fill(PrivateDomainResource.builder(), "private-domain-") - .build()) - .build())); + when(cloudFoundryClient + .privateDomains() + .list(ListPrivateDomainsRequest.builder().page(1).build())) + .thenReturn( + Mono.just( + fill(ListPrivateDomainsResponse.builder()) + .resource( + fill( + PrivateDomainResource.builder(), + "private-domain-") + .build()) + .build())); } private static void requestPrivateDomainsEmpty(CloudFoundryClient cloudFoundryClient) { - when(cloudFoundryClient.privateDomains() - .list(ListPrivateDomainsRequest.builder() - .page(1) - .build())) - .thenReturn(Mono - .just(fill(ListPrivateDomainsResponse.builder()) - .build())); + when(cloudFoundryClient + .privateDomains() + .list(ListPrivateDomainsRequest.builder().page(1).build())) + .thenReturn(Mono.just(fill(ListPrivateDomainsResponse.builder()).build())); } - private static void requestRemoveOrganizationPrivateDomain(CloudFoundryClient cloudFoundryClient, String domainId, String organizationId) { - when(cloudFoundryClient.organizations() - .removePrivateDomain(RemoveOrganizationPrivateDomainRequest.builder() - .privateDomainId(domainId) - .organizationId(organizationId) - .build())) - .thenReturn(Mono.empty()); + private static void requestRemoveOrganizationPrivateDomain( + CloudFoundryClient cloudFoundryClient, String domainId, String organizationId) { + when(cloudFoundryClient + .organizations() + .removePrivateDomain( + RemoveOrganizationPrivateDomainRequest.builder() + .privateDomainId(domainId) + .organizationId(organizationId) + .build())) + .thenReturn(Mono.empty()); } private static void requestSharedDomains(CloudFoundryClient cloudFoundryClient) { - when(cloudFoundryClient.sharedDomains() - .list(ListSharedDomainsRequest.builder() - .page(1) - .build())) - .thenReturn(Mono - .just(fill(ListSharedDomainsResponse.builder()) - .resource(fill(SharedDomainResource.builder(), "shared-domain-") - .entity(fill(SharedDomainEntity.builder(), "shared-domain-") - .routerGroupType(null) - .build()) - .build()) - .build())); + when(cloudFoundryClient + .sharedDomains() + .list(ListSharedDomainsRequest.builder().page(1).build())) + .thenReturn( + Mono.just( + fill(ListSharedDomainsResponse.builder()) + .resource( + fill( + SharedDomainResource.builder(), + "shared-domain-") + .entity( + fill( + SharedDomainEntity + .builder(), + "shared-domain-") + .routerGroupType(null) + .build()) + .build()) + .build())); } private static void requestSharedDomainsEmpty(CloudFoundryClient cloudFoundryClient) { - when(cloudFoundryClient.sharedDomains() - .list(ListSharedDomainsRequest.builder() - .page(1) - .build())) - .thenReturn(Mono - .just(fill(ListSharedDomainsResponse.builder()) - .build())); + when(cloudFoundryClient + .sharedDomains() + .list(ListSharedDomainsRequest.builder().page(1).build())) + .thenReturn(Mono.just(fill(ListSharedDomainsResponse.builder()).build())); } private static void requestSharedDomainsTcp(CloudFoundryClient cloudFoundryClient) { - when(cloudFoundryClient.sharedDomains() - .list(ListSharedDomainsRequest.builder() - .page(1) - .build())) - .thenReturn(Mono - .just(fill(ListSharedDomainsResponse.builder()) - .resource(fill(SharedDomainResource.builder(), "shared-domain-") - .entity(fill(SharedDomainEntity.builder(), "shared-domain-") - .routerGroupType("test-shared-domain-type") - .build()) - .build()) - .build())); + when(cloudFoundryClient + .sharedDomains() + .list(ListSharedDomainsRequest.builder().page(1).build())) + .thenReturn( + Mono.just( + fill(ListSharedDomainsResponse.builder()) + .resource( + fill( + SharedDomainResource.builder(), + "shared-domain-") + .entity( + fill( + SharedDomainEntity + .builder(), + "shared-domain-") + .routerGroupType( + "test-shared-domain-type") + .build()) + .build()) + .build())); } - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/domains/ShareDomainRequestTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/domains/ShareDomainRequestTest.java index ff7ca05e4b..fd2dee236a 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/domains/ShareDomainRequestTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/domains/ShareDomainRequestTest.java @@ -22,24 +22,19 @@ public final class ShareDomainRequestTest { @Test(expected = IllegalStateException.class) public void noDomain() { - ShareDomainRequest.builder() - .organization("test-organization") - .build(); + ShareDomainRequest.builder().organization("test-organization").build(); } @Test(expected = IllegalStateException.class) public void noOrganization() { - ShareDomainRequest.builder() - .domain("test-domain") - .build(); + ShareDomainRequest.builder().domain("test-domain").build(); } @Test public void valid() { ShareDomainRequest.builder() - .domain("test-domain") - .organization("test-organization") - .build(); + .domain("test-domain") + .organization("test-organization") + .build(); } - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/domains/UnshareDomainRequestTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/domains/UnshareDomainRequestTest.java index 760cef78b1..b1282c6bc8 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/domains/UnshareDomainRequestTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/domains/UnshareDomainRequestTest.java @@ -22,24 +22,19 @@ public final class UnshareDomainRequestTest { @Test(expected = IllegalStateException.class) public void noDomain() { - UnshareDomainRequest.builder() - .organization("test-organization") - .build(); + UnshareDomainRequest.builder().organization("test-organization").build(); } @Test(expected = IllegalStateException.class) public void noOrganization() { - UnshareDomainRequest.builder() - .domain("test-domain") - .build(); + UnshareDomainRequest.builder().domain("test-domain").build(); } @Test public void valid() { UnshareDomainRequest.builder() - .domain("test-domain") - .organization("test-organization") - .build(); + .domain("test-domain") + .organization("test-organization") + .build(); } - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/networkpolicies/AddNetworkPolicyRequestTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/networkpolicies/AddNetworkPolicyRequestTest.java index 3aadae6533..64ee6e68a5 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/networkpolicies/AddNetworkPolicyRequestTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/networkpolicies/AddNetworkPolicyRequestTest.java @@ -22,24 +22,19 @@ public final class AddNetworkPolicyRequestTest { @Test(expected = IllegalStateException.class) public void noDestination() { - AddNetworkPolicyRequest.builder() - .source("test-source") - .build(); + AddNetworkPolicyRequest.builder().source("test-source").build(); } @Test(expected = IllegalStateException.class) public void noSource() { - AddNetworkPolicyRequest.builder() - .destination("test-destination") - .build(); + AddNetworkPolicyRequest.builder().destination("test-destination").build(); } @Test public void valid() { AddNetworkPolicyRequest.builder() - .destination("test-destination") - .source("test-source") - .build(); + .destination("test-destination") + .source("test-source") + .build(); } - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/networkpolicies/ListNetworkPoliciesRequestTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/networkpolicies/ListNetworkPoliciesRequestTest.java index 6881597b9f..d71dce0310 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/networkpolicies/ListNetworkPoliciesRequestTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/networkpolicies/ListNetworkPoliciesRequestTest.java @@ -22,8 +22,6 @@ public final class ListNetworkPoliciesRequestTest { @Test public void valid() { - ListNetworkPoliciesRequest.builder() - .build(); + ListNetworkPoliciesRequest.builder().build(); } - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/networkpolicies/RemoveNetworkPolicyRequestTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/networkpolicies/RemoveNetworkPolicyRequestTest.java index 87abc48a73..6ce3aa52a3 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/networkpolicies/RemoveNetworkPolicyRequestTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/networkpolicies/RemoveNetworkPolicyRequestTest.java @@ -23,47 +23,46 @@ public final class RemoveNetworkPolicyRequestTest { @Test(expected = IllegalStateException.class) public void noDestination() { RemoveNetworkPolicyRequest.builder() - .protocol("test-protocol") - .startPort(1234) - .source("test-source") - .build(); + .protocol("test-protocol") + .startPort(1234) + .source("test-source") + .build(); } @Test(expected = IllegalStateException.class) public void noPort() { RemoveNetworkPolicyRequest.builder() - .destination("test-destination") - .protocol("test-protocol") - .source("test-source") - .build(); + .destination("test-destination") + .protocol("test-protocol") + .source("test-source") + .build(); } @Test(expected = IllegalStateException.class) public void noProtocol() { RemoveNetworkPolicyRequest.builder() - .destination("test-destination") - .startPort(1234) - .source("test-source") - .build(); + .destination("test-destination") + .startPort(1234) + .source("test-source") + .build(); } @Test(expected = IllegalStateException.class) public void noSource() { RemoveNetworkPolicyRequest.builder() - .destination("test-destination") - .protocol("test-protocol") - .startPort(1234) - .build(); + .destination("test-destination") + .protocol("test-protocol") + .startPort(1234) + .build(); } @Test public void valid() { RemoveNetworkPolicyRequest.builder() - .destination("test-destination") - .protocol("test-protocol") - .startPort(1234) - .source("test-source") - .build(); + .destination("test-destination") + .protocol("test-protocol") + .startPort(1234) + .source("test-source") + .build(); } - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/organizationadmin/CreateQuotaRequestTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/organizationadmin/CreateQuotaRequestTest.java index 6d707976e3..4e1a77cd34 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/organizationadmin/CreateQuotaRequestTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/organizationadmin/CreateQuotaRequestTest.java @@ -22,15 +22,11 @@ public final class CreateQuotaRequestTest { @Test(expected = IllegalStateException.class) public void noName() { - CreateQuotaRequest.builder() - .build(); + CreateQuotaRequest.builder().build(); } @Test public void valid() { - CreateQuotaRequest.builder() - .name("test-name") - .build(); + CreateQuotaRequest.builder().name("test-name").build(); } - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/organizationadmin/DefaultOrganizationAdminTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/organizationadmin/DefaultOrganizationAdminTest.java index 7b0d5f5ee2..998a426d96 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/organizationadmin/DefaultOrganizationAdminTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/organizationadmin/DefaultOrganizationAdminTest.java @@ -16,6 +16,11 @@ package org.cloudfoundry.operations.organizationadmin; +import static org.assertj.core.api.Assertions.assertThat; +import static org.cloudfoundry.operations.TestObjects.fill; +import static org.mockito.Mockito.when; + +import java.time.Duration; import org.cloudfoundry.client.CloudFoundryClient; import org.cloudfoundry.client.v2.ClientV2Exception; import org.cloudfoundry.client.v2.Metadata; @@ -37,110 +42,119 @@ import reactor.core.publisher.Mono; import reactor.test.StepVerifier; -import java.time.Duration; - -import static org.assertj.core.api.Assertions.assertThat; -import static org.cloudfoundry.operations.TestObjects.fill; -import static org.mockito.Mockito.when; - public final class DefaultOrganizationAdminTest extends AbstractOperationsTest { - private final DefaultOrganizationAdmin organizationAdmin = new DefaultOrganizationAdmin(Mono.just(this.cloudFoundryClient)); + private final DefaultOrganizationAdmin organizationAdmin = + new DefaultOrganizationAdmin(Mono.just(this.cloudFoundryClient)); @Test public void createQuota() { - requestCreateOrganizationQuota(this.cloudFoundryClient, 3, 4, "test-quota", true, 1, 2, "test-quota-id"); - - this.organizationAdmin.createQuota(CreateQuotaRequest.builder() - .name("test-quota") - .allowPaidServicePlans(true) - .totalRoutes(1) - .totalServices(2) - .instanceMemoryLimit(3) - .memoryLimit(4) - .build()) - .as(StepVerifier::create) - .expectNext(OrganizationQuota.builder() - .allowPaidServicePlans(true) - .applicationInstanceLimit(-1) - .id("test-quota-id") - .instanceMemoryLimit(3) - .memoryLimit(4) - .name("test-quota") - .totalReservedRoutePorts(0) - .totalRoutes(1) - .totalServices(2) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + requestCreateOrganizationQuota( + this.cloudFoundryClient, 3, 4, "test-quota", true, 1, 2, "test-quota-id"); + + this.organizationAdmin + .createQuota( + CreateQuotaRequest.builder() + .name("test-quota") + .allowPaidServicePlans(true) + .totalRoutes(1) + .totalServices(2) + .instanceMemoryLimit(3) + .memoryLimit(4) + .build()) + .as(StepVerifier::create) + .expectNext( + OrganizationQuota.builder() + .allowPaidServicePlans(true) + .applicationInstanceLimit(-1) + .id("test-quota-id") + .instanceMemoryLimit(3) + .memoryLimit(4) + .name("test-quota") + .totalReservedRoutePorts(0) + .totalRoutes(1) + .totalServices(2) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void createQuotaError() { requestCreateOrganizationQuotaError(this.cloudFoundryClient, "test-quota-error"); - this.organizationAdmin.createQuota(CreateQuotaRequest.builder() - .name("test-quota-error") - .build()) - .as(StepVerifier::create) - .consumeErrorWith(t -> assertThat(t).isInstanceOf(ClientV2Exception.class).hasMessage("test-exception-errorCode(999): test-exception-description")) - .verify(Duration.ofSeconds(5)); + this.organizationAdmin + .createQuota(CreateQuotaRequest.builder().name("test-quota-error").build()) + .as(StepVerifier::create) + .consumeErrorWith( + t -> + assertThat(t) + .isInstanceOf(ClientV2Exception.class) + .hasMessage( + "test-exception-errorCode(999):" + + " test-exception-description")) + .verify(Duration.ofSeconds(5)); } @Test public void getQuota() { requestListOrganizationQuotas(this.cloudFoundryClient, "test-quota"); - this.organizationAdmin.getQuota(GetQuotaRequest.builder() - .name("test-quota") - .build()) - .as(StepVerifier::create) - .expectNext(OrganizationQuota.builder() - .allowPaidServicePlans(true) - .applicationInstanceLimit(1) - .id("test-quota-id") - .instanceMemoryLimit(1) - .memoryLimit(1) - .name("test-quota-name") - .totalReservedRoutePorts(1) - .totalRoutes(1) - .totalServices(1) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + this.organizationAdmin + .getQuota(GetQuotaRequest.builder().name("test-quota").build()) + .as(StepVerifier::create) + .expectNext( + OrganizationQuota.builder() + .allowPaidServicePlans(true) + .applicationInstanceLimit(1) + .id("test-quota-id") + .instanceMemoryLimit(1) + .memoryLimit(1) + .name("test-quota-name") + .totalReservedRoutePorts(1) + .totalRoutes(1) + .totalServices(1) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void getQuotaNotFound() { requestListOrganizationQuotasEmpty(this.cloudFoundryClient, "test-quota-not-found"); - this.organizationAdmin.getQuota(GetQuotaRequest.builder() - .name("test-quota-not-found") - .build()) - .as(StepVerifier::create) - .consumeErrorWith(t -> assertThat(t).isInstanceOf(IllegalArgumentException.class).hasMessage("Quota test-quota-not-found does not exist")) - .verify(Duration.ofSeconds(5)); + this.organizationAdmin + .getQuota(GetQuotaRequest.builder().name("test-quota-not-found").build()) + .as(StepVerifier::create) + .consumeErrorWith( + t -> + assertThat(t) + .isInstanceOf(IllegalArgumentException.class) + .hasMessage("Quota test-quota-not-found does not exist")) + .verify(Duration.ofSeconds(5)); } @Test public void listQuotas() { requestListOrganizationQuotas(this.cloudFoundryClient); - this.organizationAdmin.listQuotas() - .as(StepVerifier::create) - .expectNext(OrganizationQuota.builder() - .allowPaidServicePlans(true) - .applicationInstanceLimit(1) - .id("test-quota-id") - .instanceMemoryLimit(1) - .memoryLimit(1) - .name("test-quota-name") - .totalReservedRoutePorts(1) - .totalRoutes(1) - .totalServices(1) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + this.organizationAdmin + .listQuotas() + .as(StepVerifier::create) + .expectNext( + OrganizationQuota.builder() + .allowPaidServicePlans(true) + .applicationInstanceLimit(1) + .id("test-quota-id") + .instanceMemoryLimit(1) + .memoryLimit(1) + .name("test-quota-name") + .totalReservedRoutePorts(1) + .totalRoutes(1) + .totalServices(1) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test @@ -149,13 +163,15 @@ public void setQuota() { requestListOrganizations(this.cloudFoundryClient, "test-organization"); requestUpdateOrganization(this.cloudFoundryClient, "test-organization-id", "test-quota-id"); - this.organizationAdmin.setQuota(SetQuotaRequest.builder() - .organizationName("test-organization") - .quotaName("test-quota") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + this.organizationAdmin + .setQuota( + SetQuotaRequest.builder() + .organizationName("test-organization") + .quotaName("test-quota") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test @@ -163,13 +179,21 @@ public void setQuotaOrganizationNotFound() { requestListOrganizationQuotas(this.cloudFoundryClient, "test-quota"); requestListOrganizationEmpty(this.cloudFoundryClient, "test-organization-not-found"); - this.organizationAdmin.setQuota(SetQuotaRequest.builder() - .organizationName("test-organization-not-found") - .quotaName("test-quota") - .build()) - .as(StepVerifier::create) - .consumeErrorWith(t -> assertThat(t).isInstanceOf(IllegalArgumentException.class).hasMessage("Organization test-organization-not-found does not exist")) - .verify(Duration.ofSeconds(5)); + this.organizationAdmin + .setQuota( + SetQuotaRequest.builder() + .organizationName("test-organization-not-found") + .quotaName("test-quota") + .build()) + .as(StepVerifier::create) + .consumeErrorWith( + t -> + assertThat(t) + .isInstanceOf(IllegalArgumentException.class) + .hasMessage( + "Organization test-organization-not-found does not" + + " exist")) + .verify(Duration.ofSeconds(5)); } @Test @@ -177,207 +201,279 @@ public void setQuotaQuotaNotFound() { requestListOrganizationQuotasEmpty(this.cloudFoundryClient, "test-quota-not-found"); requestListOrganizations(this.cloudFoundryClient, "test-organization"); - this.organizationAdmin.setQuota(SetQuotaRequest.builder() - .organizationName("test-organization") - .quotaName("test-quota-not-found") - .build()) - .as(StepVerifier::create) - .consumeErrorWith(t -> assertThat(t).isInstanceOf(IllegalArgumentException.class).hasMessage("Quota test-quota-not-found does not exist")) - .verify(Duration.ofSeconds(5)); + this.organizationAdmin + .setQuota( + SetQuotaRequest.builder() + .organizationName("test-organization") + .quotaName("test-quota-not-found") + .build()) + .as(StepVerifier::create) + .consumeErrorWith( + t -> + assertThat(t) + .isInstanceOf(IllegalArgumentException.class) + .hasMessage("Quota test-quota-not-found does not exist")) + .verify(Duration.ofSeconds(5)); } @Test public void updateQuota() { requestListOrganizationQuotas(this.cloudFoundryClient, "test-quota"); - requestUpdateOrganizationQuota(this.cloudFoundryClient, "test-quota-id", 3, 4, "new-test-quota", true, 1, 2); - - this.organizationAdmin.updateQuota(UpdateQuotaRequest.builder() - .name("test-quota") - .allowPaidServicePlans(true) - .newName("new-test-quota") - .totalRoutes(1) - .totalServices(2) - .instanceMemoryLimit(3) - .memoryLimit(4) - .build()) - .as(StepVerifier::create) - .expectNext(OrganizationQuota.builder() - .allowPaidServicePlans(true) - .applicationInstanceLimit(-1) - .id("test-quota-id") - .instanceMemoryLimit(3) - .memoryLimit(4) - .name("new-test-quota") - .totalReservedRoutePorts(0) - .totalRoutes(1) - .totalServices(2) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + requestUpdateOrganizationQuota( + this.cloudFoundryClient, "test-quota-id", 3, 4, "new-test-quota", true, 1, 2); + + this.organizationAdmin + .updateQuota( + UpdateQuotaRequest.builder() + .name("test-quota") + .allowPaidServicePlans(true) + .newName("new-test-quota") + .totalRoutes(1) + .totalServices(2) + .instanceMemoryLimit(3) + .memoryLimit(4) + .build()) + .as(StepVerifier::create) + .expectNext( + OrganizationQuota.builder() + .allowPaidServicePlans(true) + .applicationInstanceLimit(-1) + .id("test-quota-id") + .instanceMemoryLimit(3) + .memoryLimit(4) + .name("new-test-quota") + .totalReservedRoutePorts(0) + .totalRoutes(1) + .totalServices(2) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void updateQuotaNotFound() { requestListOrganizationQuotasEmpty(this.cloudFoundryClient, "test-quota-not-found"); - this.organizationAdmin.updateQuota(UpdateQuotaRequest.builder() - .name("test-quota-not-found") - .newName("new-test-quota") - .build()) - .as(StepVerifier::create) - .consumeErrorWith(t -> assertThat(t).isInstanceOf(IllegalArgumentException.class).hasMessage("Quota test-quota-not-found does not exist")) - .verify(Duration.ofSeconds(5)); + this.organizationAdmin + .updateQuota( + UpdateQuotaRequest.builder() + .name("test-quota-not-found") + .newName("new-test-quota") + .build()) + .as(StepVerifier::create) + .consumeErrorWith( + t -> + assertThat(t) + .isInstanceOf(IllegalArgumentException.class) + .hasMessage("Quota test-quota-not-found does not exist")) + .verify(Duration.ofSeconds(5)); } - private static void requestCreateOrganizationQuota(CloudFoundryClient cloudFoundryClient, Integer instanceMemoryLimit, Integer memoryLimit, String name, Boolean nonBasicServicesAllowed, - Integer totalRoutes, Integer totalServices, String quotaDefinitionId) { - when(cloudFoundryClient.organizationQuotaDefinitions() - .create(CreateOrganizationQuotaDefinitionRequest.builder() - .applicationInstanceLimit(-1) - .instanceMemoryLimit(instanceMemoryLimit) - .memoryLimit(memoryLimit) - .nonBasicServicesAllowed(nonBasicServicesAllowed) - .totalReservedRoutePorts(0) - .totalRoutes(totalRoutes) - .totalServices(totalServices) - .name(name) - .build())) - .thenReturn(Mono - .just(CreateOrganizationQuotaDefinitionResponse.builder() - .metadata(fill(Metadata.builder()) - .id(quotaDefinitionId) - .build()) - .entity(OrganizationQuotaDefinitionEntity.builder() - .totalServices(totalServices) - .memoryLimit(memoryLimit) - .instanceMemoryLimit(instanceMemoryLimit) - .applicationInstanceLimit(-1) - .applicationTaskLimit(-1) - .name("test-quota") - .nonBasicServicesAllowed(nonBasicServicesAllowed) - .totalReservedRoutePorts(0) - .totalPrivateDomains(-1) - .totalRoutes(totalRoutes) - .build()) - .build())); + private static void requestCreateOrganizationQuota( + CloudFoundryClient cloudFoundryClient, + Integer instanceMemoryLimit, + Integer memoryLimit, + String name, + Boolean nonBasicServicesAllowed, + Integer totalRoutes, + Integer totalServices, + String quotaDefinitionId) { + when(cloudFoundryClient + .organizationQuotaDefinitions() + .create( + CreateOrganizationQuotaDefinitionRequest.builder() + .applicationInstanceLimit(-1) + .instanceMemoryLimit(instanceMemoryLimit) + .memoryLimit(memoryLimit) + .nonBasicServicesAllowed(nonBasicServicesAllowed) + .totalReservedRoutePorts(0) + .totalRoutes(totalRoutes) + .totalServices(totalServices) + .name(name) + .build())) + .thenReturn( + Mono.just( + CreateOrganizationQuotaDefinitionResponse.builder() + .metadata( + fill(Metadata.builder()) + .id(quotaDefinitionId) + .build()) + .entity( + OrganizationQuotaDefinitionEntity.builder() + .totalServices(totalServices) + .memoryLimit(memoryLimit) + .instanceMemoryLimit(instanceMemoryLimit) + .applicationInstanceLimit(-1) + .applicationTaskLimit(-1) + .name("test-quota") + .nonBasicServicesAllowed( + nonBasicServicesAllowed) + .totalReservedRoutePorts(0) + .totalPrivateDomains(-1) + .totalRoutes(totalRoutes) + .build()) + .build())); } - private static void requestCreateOrganizationQuotaError(CloudFoundryClient cloudFoundryClient, String name) { - when(cloudFoundryClient.organizationQuotaDefinitions() - .create(CreateOrganizationQuotaDefinitionRequest.builder() - .applicationInstanceLimit(-1) - .instanceMemoryLimit(-1) - .memoryLimit(0) - .nonBasicServicesAllowed(false) - .totalReservedRoutePorts(0) - .totalRoutes(0) - .totalServices(0) - .name(name) - .build())) - .thenReturn(Mono - .error(new ClientV2Exception(null, 999, "test-exception-description", "test-exception-errorCode"))); + private static void requestCreateOrganizationQuotaError( + CloudFoundryClient cloudFoundryClient, String name) { + when(cloudFoundryClient + .organizationQuotaDefinitions() + .create( + CreateOrganizationQuotaDefinitionRequest.builder() + .applicationInstanceLimit(-1) + .instanceMemoryLimit(-1) + .memoryLimit(0) + .nonBasicServicesAllowed(false) + .totalReservedRoutePorts(0) + .totalRoutes(0) + .totalServices(0) + .name(name) + .build())) + .thenReturn( + Mono.error( + new ClientV2Exception( + null, + 999, + "test-exception-description", + "test-exception-errorCode"))); } - private static void requestListOrganizationEmpty(CloudFoundryClient cloudFoundryClient, String name) { - when(cloudFoundryClient.organizations() - .list(ListOrganizationsRequest.builder() - .name(name) - .page(1) - .build())) - .thenReturn(Mono - .just(fill(ListOrganizationsResponse.builder()) - .build())); + private static void requestListOrganizationEmpty( + CloudFoundryClient cloudFoundryClient, String name) { + when(cloudFoundryClient + .organizations() + .list(ListOrganizationsRequest.builder().name(name).page(1).build())) + .thenReturn(Mono.just(fill(ListOrganizationsResponse.builder()).build())); } private static void requestListOrganizationQuotas(CloudFoundryClient cloudFoundryClient) { - when(cloudFoundryClient.organizationQuotaDefinitions() - .list(ListOrganizationQuotaDefinitionsRequest.builder() - .page(1) - .build())) - .thenReturn(Mono - .just(fill(ListOrganizationQuotaDefinitionsResponse.builder()) - .resource(fill(OrganizationQuotaDefinitionResource.builder(), "quota-") - .build()) - .build())); + when(cloudFoundryClient + .organizationQuotaDefinitions() + .list(ListOrganizationQuotaDefinitionsRequest.builder().page(1).build())) + .thenReturn( + Mono.just( + fill(ListOrganizationQuotaDefinitionsResponse.builder()) + .resource( + fill( + OrganizationQuotaDefinitionResource + .builder(), + "quota-") + .build()) + .build())); } - private static void requestListOrganizationQuotas(CloudFoundryClient cloudFoundryClient, String name) { - when(cloudFoundryClient.organizationQuotaDefinitions() - .list(ListOrganizationQuotaDefinitionsRequest.builder() - .name(name) - .page(1) - .build())) - .thenReturn(Mono - .just(fill(ListOrganizationQuotaDefinitionsResponse.builder()) - .resource(fill(OrganizationQuotaDefinitionResource.builder(), "quota-") - .build()) - .build())); + private static void requestListOrganizationQuotas( + CloudFoundryClient cloudFoundryClient, String name) { + when(cloudFoundryClient + .organizationQuotaDefinitions() + .list( + ListOrganizationQuotaDefinitionsRequest.builder() + .name(name) + .page(1) + .build())) + .thenReturn( + Mono.just( + fill(ListOrganizationQuotaDefinitionsResponse.builder()) + .resource( + fill( + OrganizationQuotaDefinitionResource + .builder(), + "quota-") + .build()) + .build())); } - private static void requestListOrganizationQuotasEmpty(CloudFoundryClient cloudFoundryClient, String name) { - when(cloudFoundryClient.organizationQuotaDefinitions() - .list(ListOrganizationQuotaDefinitionsRequest.builder() - .name(name) - .page(1) - .build())) - .thenReturn(Mono - .just(fill(ListOrganizationQuotaDefinitionsResponse.builder()) - .build())); + private static void requestListOrganizationQuotasEmpty( + CloudFoundryClient cloudFoundryClient, String name) { + when(cloudFoundryClient + .organizationQuotaDefinitions() + .list( + ListOrganizationQuotaDefinitionsRequest.builder() + .name(name) + .page(1) + .build())) + .thenReturn( + Mono.just( + fill(ListOrganizationQuotaDefinitionsResponse.builder()).build())); } - private static void requestListOrganizations(CloudFoundryClient cloudFoundryClient, String name) { - when(cloudFoundryClient.organizations() - .list(ListOrganizationsRequest.builder() - .name(name) - .page(1) - .build())) - .thenReturn(Mono - .just(fill(ListOrganizationsResponse.builder()) - .resource(fill(OrganizationResource.builder(), "organization-") - .build()) - .build())); + private static void requestListOrganizations( + CloudFoundryClient cloudFoundryClient, String name) { + when(cloudFoundryClient + .organizations() + .list(ListOrganizationsRequest.builder().name(name).page(1).build())) + .thenReturn( + Mono.just( + fill(ListOrganizationsResponse.builder()) + .resource( + fill( + OrganizationResource.builder(), + "organization-") + .build()) + .build())); } - private static void requestUpdateOrganization(CloudFoundryClient cloudFoundryClient, String organizationId, String quotaId) { - when(cloudFoundryClient.organizations() - .update(UpdateOrganizationRequest.builder() - .organizationId(organizationId) - .quotaDefinitionId(quotaId) - .build())) - .thenReturn(Mono - .just(fill(UpdateOrganizationResponse.builder(), "organization-").build())); + private static void requestUpdateOrganization( + CloudFoundryClient cloudFoundryClient, String organizationId, String quotaId) { + when(cloudFoundryClient + .organizations() + .update( + UpdateOrganizationRequest.builder() + .organizationId(organizationId) + .quotaDefinitionId(quotaId) + .build())) + .thenReturn( + Mono.just( + fill(UpdateOrganizationResponse.builder(), "organization-") + .build())); } - private static void requestUpdateOrganizationQuota(CloudFoundryClient cloudFoundryClient, String organizationQuotaDefinitionId, Integer instanceMemoryLimit, Integer memoryLimit, String name, - Boolean nonBasicServicesAllowed, Integer totalRoutes, Integer totalServices) { - when(cloudFoundryClient.organizationQuotaDefinitions() - .update(UpdateOrganizationQuotaDefinitionRequest.builder() - .applicationInstanceLimit(-1) - .instanceMemoryLimit(instanceMemoryLimit) - .memoryLimit(memoryLimit) - .name(name) - .nonBasicServicesAllowed(nonBasicServicesAllowed) - .organizationQuotaDefinitionId(organizationQuotaDefinitionId) - .totalReservedRoutePorts(0) - .totalRoutes(totalRoutes) - .totalServices(totalServices) - .build())) - .thenReturn(Mono - .just(UpdateOrganizationQuotaDefinitionResponse.builder() - .metadata(fill(Metadata.builder()).id(organizationQuotaDefinitionId).build()) - .entity(OrganizationQuotaDefinitionEntity.builder() - .applicationInstanceLimit(-1) - .applicationTaskLimit(-1) - .instanceMemoryLimit(instanceMemoryLimit) - .memoryLimit(memoryLimit) - .name(name) - .nonBasicServicesAllowed(nonBasicServicesAllowed) - .totalReservedRoutePorts(0) - .totalPrivateDomains(-1) - .totalRoutes(totalRoutes) - .totalServices(totalServices) - .build()) - .build())); + private static void requestUpdateOrganizationQuota( + CloudFoundryClient cloudFoundryClient, + String organizationQuotaDefinitionId, + Integer instanceMemoryLimit, + Integer memoryLimit, + String name, + Boolean nonBasicServicesAllowed, + Integer totalRoutes, + Integer totalServices) { + when(cloudFoundryClient + .organizationQuotaDefinitions() + .update( + UpdateOrganizationQuotaDefinitionRequest.builder() + .applicationInstanceLimit(-1) + .instanceMemoryLimit(instanceMemoryLimit) + .memoryLimit(memoryLimit) + .name(name) + .nonBasicServicesAllowed(nonBasicServicesAllowed) + .organizationQuotaDefinitionId( + organizationQuotaDefinitionId) + .totalReservedRoutePorts(0) + .totalRoutes(totalRoutes) + .totalServices(totalServices) + .build())) + .thenReturn( + Mono.just( + UpdateOrganizationQuotaDefinitionResponse.builder() + .metadata( + fill(Metadata.builder()) + .id(organizationQuotaDefinitionId) + .build()) + .entity( + OrganizationQuotaDefinitionEntity.builder() + .applicationInstanceLimit(-1) + .applicationTaskLimit(-1) + .instanceMemoryLimit(instanceMemoryLimit) + .memoryLimit(memoryLimit) + .name(name) + .nonBasicServicesAllowed( + nonBasicServicesAllowed) + .totalReservedRoutePorts(0) + .totalPrivateDomains(-1) + .totalRoutes(totalRoutes) + .totalServices(totalServices) + .build()) + .build())); } - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/organizationadmin/DeleteQuotaRequestTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/organizationadmin/DeleteQuotaRequestTest.java index a15f0721ad..2fcd2d84b5 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/organizationadmin/DeleteQuotaRequestTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/organizationadmin/DeleteQuotaRequestTest.java @@ -22,15 +22,11 @@ public final class DeleteQuotaRequestTest { @Test(expected = IllegalStateException.class) public void noName() { - DeleteQuotaRequest.builder() - .build(); + DeleteQuotaRequest.builder().build(); } @Test public void valid() { - DeleteQuotaRequest.builder() - .name("test-quota") - .build(); + DeleteQuotaRequest.builder().name("test-quota").build(); } - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/organizationadmin/GetQuotaRequestTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/organizationadmin/GetQuotaRequestTest.java index 96335e6355..9f7dbe8ca6 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/organizationadmin/GetQuotaRequestTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/organizationadmin/GetQuotaRequestTest.java @@ -22,15 +22,11 @@ public final class GetQuotaRequestTest { @Test(expected = IllegalStateException.class) public void noName() { - GetQuotaRequest.builder() - .build(); + GetQuotaRequest.builder().build(); } @Test public void valid() { - GetQuotaRequest.builder() - .name("test-name") - .build(); + GetQuotaRequest.builder().name("test-name").build(); } - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/organizationadmin/SetQuotaRequestTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/organizationadmin/SetQuotaRequestTest.java index 5c888e5d35..9920d9ab17 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/organizationadmin/SetQuotaRequestTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/organizationadmin/SetQuotaRequestTest.java @@ -22,24 +22,19 @@ public final class SetQuotaRequestTest { @Test(expected = IllegalStateException.class) public void noOrganizationName() { - SetQuotaRequest.builder() - .quotaName("test-quota") - .build(); + SetQuotaRequest.builder().quotaName("test-quota").build(); } @Test(expected = IllegalStateException.class) public void noQuotaName() { - SetQuotaRequest.builder() - .organizationName("test-organization") - .build(); + SetQuotaRequest.builder().organizationName("test-organization").build(); } @Test public void valid() { SetQuotaRequest.builder() - .organizationName("test-organization") - .quotaName("test-quota") - .build(); + .organizationName("test-organization") + .quotaName("test-quota") + .build(); } - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/organizationadmin/UpdateQuotaRequestTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/organizationadmin/UpdateQuotaRequestTest.java index fdf0e36a14..04967984e8 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/organizationadmin/UpdateQuotaRequestTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/organizationadmin/UpdateQuotaRequestTest.java @@ -22,15 +22,11 @@ public final class UpdateQuotaRequestTest { @Test(expected = IllegalStateException.class) public void noName() { - UpdateQuotaRequest.builder() - .build(); + UpdateQuotaRequest.builder().build(); } @Test public void valid() { - UpdateQuotaRequest.builder() - .name("test-name") - .build(); + UpdateQuotaRequest.builder().name("test-name").build(); } - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/organizations/CreateOrganizationRequestTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/organizations/CreateOrganizationRequestTest.java index 0619e0f1e1..eff807b4bf 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/organizations/CreateOrganizationRequestTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/organizations/CreateOrganizationRequestTest.java @@ -22,15 +22,11 @@ public final class CreateOrganizationRequestTest { @Test(expected = IllegalStateException.class) public void noOrganizationName() { - CreateOrganizationRequest.builder() - .build(); + CreateOrganizationRequest.builder().build(); } @Test public void valid() { - CreateOrganizationRequest.builder() - .organizationName("test-organization") - .build(); + CreateOrganizationRequest.builder().organizationName("test-organization").build(); } - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/organizations/DefaultOrganizationsTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/organizations/DefaultOrganizationsTest.java index 46617217d9..dccd1251d5 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/organizations/DefaultOrganizationsTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/organizations/DefaultOrganizationsTest.java @@ -16,6 +16,15 @@ package org.cloudfoundry.operations.organizations; +import static org.assertj.core.api.Assertions.assertThat; +import static org.cloudfoundry.operations.TestObjects.fill; +import static org.mockito.Mockito.when; + +import java.time.Duration; +import java.util.Arrays; +import java.util.LinkedList; +import java.util.Queue; +import java.util.function.Supplier; import org.cloudfoundry.client.CloudFoundryClient; import org.cloudfoundry.client.v2.ClientV2Exception; import org.cloudfoundry.client.v2.Metadata; @@ -63,19 +72,10 @@ import reactor.test.StepVerifier; import reactor.test.scheduler.VirtualTimeScheduler; -import java.time.Duration; -import java.util.Arrays; -import java.util.LinkedList; -import java.util.Queue; -import java.util.function.Supplier; - -import static org.assertj.core.api.Assertions.assertThat; -import static org.cloudfoundry.operations.TestObjects.fill; -import static org.mockito.Mockito.when; - public final class DefaultOrganizationsTest extends AbstractOperationsTest { - private final DefaultOrganizations organizations = new DefaultOrganizations(Mono.just(this.cloudFoundryClient), Mono.just(TEST_USERNAME)); + private final DefaultOrganizations organizations = + new DefaultOrganizations(Mono.just(this.cloudFoundryClient), Mono.just(TEST_USERNAME)); @Test public void create() { @@ -85,12 +85,13 @@ public void create() { requestAssociateOrganizationUserByUsername(this.cloudFoundryClient, TEST_USERNAME); this.organizations - .create(CreateOrganizationRequest.builder() - .organizationName(TEST_ORGANIZATION_NAME) - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .create( + CreateOrganizationRequest.builder() + .organizationName(TEST_ORGANIZATION_NAME) + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test @@ -99,29 +100,35 @@ public void createSetRolesByUsernameDisabled() { requestGetFeatureFlagDisabled(this.cloudFoundryClient, "set_roles_by_username"); this.organizations - .create(CreateOrganizationRequest.builder() - .organizationName(TEST_ORGANIZATION_NAME) - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .create( + CreateOrganizationRequest.builder() + .organizationName(TEST_ORGANIZATION_NAME) + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void createWithQuota() { requestOrganizationQuotaDefinitions(this.cloudFoundryClient, "test-quota-definition-name"); - requestCreateOrganization(this.cloudFoundryClient, TEST_ORGANIZATION_NAME, "test-organization-quota-definition-id"); + requestCreateOrganization( + this.cloudFoundryClient, + TEST_ORGANIZATION_NAME, + "test-organization-quota-definition-id"); requestGetFeatureFlagEnabled(this.cloudFoundryClient, "set_roles_by_username"); requestAssociateOrganizationManagerByUsername(this.cloudFoundryClient, TEST_USERNAME); requestAssociateOrganizationUserByUsername(this.cloudFoundryClient, TEST_USERNAME); - this.organizations.create(CreateOrganizationRequest.builder() - .organizationName(TEST_ORGANIZATION_NAME) - .quotaDefinitionName("test-quota-definition-name") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + this.organizations + .create( + CreateOrganizationRequest.builder() + .organizationName(TEST_ORGANIZATION_NAME) + .quotaDefinitionName("test-quota-definition-name") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test @@ -130,13 +137,15 @@ public void delete() { requestDeleteOrganization(this.cloudFoundryClient, TEST_ORGANIZATION_ID); requestJobSuccess(this.cloudFoundryClient, "test-id"); - StepVerifier.withVirtualTime(() -> this.organizations - .delete(DeleteOrganizationRequest.builder() - .name(TEST_ORGANIZATION_NAME) - .build())) - .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(3))) - .expectComplete() - .verify(Duration.ofSeconds(5)); + StepVerifier.withVirtualTime( + () -> + this.organizations.delete( + DeleteOrganizationRequest.builder() + .name(TEST_ORGANIZATION_NAME) + .build())) + .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(3))) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test @@ -145,13 +154,21 @@ public void deleteFailure() { requestDeleteOrganization(this.cloudFoundryClient, TEST_ORGANIZATION_ID); requestJobFailure(this.cloudFoundryClient, "test-id"); - StepVerifier.withVirtualTime(() -> this.organizations - .delete(DeleteOrganizationRequest.builder() - .name(TEST_ORGANIZATION_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)); + StepVerifier.withVirtualTime( + () -> + this.organizations.delete( + DeleteOrganizationRequest.builder() + .name(TEST_ORGANIZATION_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)); } @Test @@ -159,28 +176,28 @@ public void info() { requestOrganizations(this.cloudFoundryClient, TEST_ORGANIZATION_NAME); requestPrivateDomains(this.cloudFoundryClient, TEST_ORGANIZATION_ID); requestSharedDomains(this.cloudFoundryClient); - requestOrganizationQuotaDefinition(this.cloudFoundryClient, "test-organization-entity-quotaDefinitionId"); + requestOrganizationQuotaDefinition( + this.cloudFoundryClient, "test-organization-entity-quotaDefinitionId"); requestSpaceQuotaDefinitions(this.cloudFoundryClient, TEST_ORGANIZATION_ID); requestSpaces(this.cloudFoundryClient, TEST_ORGANIZATION_ID); this.organizations - .get(OrganizationInfoRequest.builder() - .name(TEST_ORGANIZATION_NAME) - .build()) - .as(StepVerifier::create) - .expectNext(fill(OrganizationDetail.builder()) - .domains("test-private-domain-name", "test-shared-domain-name") - .id(TEST_ORGANIZATION_ID) - .name(TEST_ORGANIZATION_NAME) - .quota(fill(OrganizationQuota.builder()) - .organizationId(TEST_ORGANIZATION_ID) - .build()) - .space("test-name") - .spaceQuota(fill(SpaceQuota.builder()) - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .get(OrganizationInfoRequest.builder().name(TEST_ORGANIZATION_NAME).build()) + .as(StepVerifier::create) + .expectNext( + fill(OrganizationDetail.builder()) + .domains("test-private-domain-name", "test-shared-domain-name") + .id(TEST_ORGANIZATION_ID) + .name(TEST_ORGANIZATION_NAME) + .quota( + fill(OrganizationQuota.builder()) + .organizationId(TEST_ORGANIZATION_ID) + .build()) + .space("test-name") + .spaceQuota(fill(SpaceQuota.builder()).build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test @@ -188,276 +205,357 @@ public void list() { requestOrganizations(this.cloudFoundryClient); this.organizations - .list() - .as(StepVerifier::create) - .expectNext(fill(OrganizationSummary.builder(), "organization-") - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .list() + .as(StepVerifier::create) + .expectNext(fill(OrganizationSummary.builder(), "organization-").build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void rename() { requestOrganizations(this.cloudFoundryClient, TEST_ORGANIZATION_NAME); - requestUpdateOrganization(this.cloudFoundryClient, TEST_ORGANIZATION_ID, "test-new-organization-name"); + requestUpdateOrganization( + this.cloudFoundryClient, TEST_ORGANIZATION_ID, "test-new-organization-name"); this.organizations - .rename(RenameOrganizationRequest.builder() - .name(TEST_ORGANIZATION_NAME) - .newName("test-new-organization-name") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .rename( + RenameOrganizationRequest.builder() + .name(TEST_ORGANIZATION_NAME) + .newName("test-new-organization-name") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } - private static void requestAssociateOrganizationManagerByUsername(CloudFoundryClient cloudFoundryClient, String username) { - when(cloudFoundryClient.organizations() - .associateManagerByUsername(AssociateOrganizationManagerByUsernameRequest.builder() - .organizationId("test-id") - .username(username) - .build())) - .thenReturn(Mono - .just(fill(AssociateOrganizationManagerByUsernameResponse.builder()) - .build())); + private static void requestAssociateOrganizationManagerByUsername( + CloudFoundryClient cloudFoundryClient, String username) { + when(cloudFoundryClient + .organizations() + .associateManagerByUsername( + AssociateOrganizationManagerByUsernameRequest.builder() + .organizationId("test-id") + .username(username) + .build())) + .thenReturn( + Mono.just( + fill(AssociateOrganizationManagerByUsernameResponse.builder()) + .build())); } - private static void requestAssociateOrganizationUserByUsername(CloudFoundryClient cloudFoundryClient, String username) { - when(cloudFoundryClient.organizations() - .associateUserByUsername(AssociateOrganizationUserByUsernameRequest.builder() - .organizationId("test-id") - .username(username) - .build())) - .thenReturn(Mono - .just(fill(AssociateOrganizationUserByUsernameResponse.builder()) - .build())); + private static void requestAssociateOrganizationUserByUsername( + CloudFoundryClient cloudFoundryClient, String username) { + when(cloudFoundryClient + .organizations() + .associateUserByUsername( + AssociateOrganizationUserByUsernameRequest.builder() + .organizationId("test-id") + .username(username) + .build())) + .thenReturn( + Mono.just( + fill(AssociateOrganizationUserByUsernameResponse.builder()) + .build())); } - private static void requestCreateOrganization(CloudFoundryClient cloudFoundryClient, String organization, String organizationQuotaDefinitionId) { - when(cloudFoundryClient.organizations() - .create(org.cloudfoundry.client.v2.organizations.CreateOrganizationRequest.builder() - .name(organization) - .quotaDefinitionId(organizationQuotaDefinitionId) - .build())) - .thenReturn(Mono - .just(fill(CreateOrganizationResponse.builder()) - .build())); + private static void requestCreateOrganization( + CloudFoundryClient cloudFoundryClient, + String organization, + String organizationQuotaDefinitionId) { + when(cloudFoundryClient + .organizations() + .create( + org.cloudfoundry.client.v2.organizations.CreateOrganizationRequest + .builder() + .name(organization) + .quotaDefinitionId(organizationQuotaDefinitionId) + .build())) + .thenReturn(Mono.just(fill(CreateOrganizationResponse.builder()).build())); } - private static void requestDeleteOrganization(CloudFoundryClient cloudFoundryClient, String organizationId) { - when(cloudFoundryClient.organizations() - .delete(org.cloudfoundry.client.v2.organizations.DeleteOrganizationRequest.builder() - .organizationId(organizationId) - .async(true) - .build())) - .thenReturn(Mono - .just(fill(DeleteOrganizationResponse.builder()) - .build())); + private static void requestDeleteOrganization( + CloudFoundryClient cloudFoundryClient, String organizationId) { + when(cloudFoundryClient + .organizations() + .delete( + org.cloudfoundry.client.v2.organizations.DeleteOrganizationRequest + .builder() + .organizationId(organizationId) + .async(true) + .build())) + .thenReturn(Mono.just(fill(DeleteOrganizationResponse.builder()).build())); } - private static void requestGetFeatureFlagDisabled(CloudFoundryClient cloudFoundryClient, String featureFlag) { - when(cloudFoundryClient.featureFlags() - .get(GetFeatureFlagRequest.builder() - .name(featureFlag) - .build())) - .thenReturn(Mono.just(GetFeatureFlagResponse.builder() - .enabled(false) - .build())); + private static void requestGetFeatureFlagDisabled( + CloudFoundryClient cloudFoundryClient, String featureFlag) { + when(cloudFoundryClient + .featureFlags() + .get(GetFeatureFlagRequest.builder().name(featureFlag).build())) + .thenReturn(Mono.just(GetFeatureFlagResponse.builder().enabled(false).build())); } - private static void requestGetFeatureFlagEnabled(CloudFoundryClient cloudFoundryClient, String featureFlag) { - when(cloudFoundryClient.featureFlags() - .get(GetFeatureFlagRequest.builder() - .name(featureFlag) - .build())) - .thenReturn(Mono.just(GetFeatureFlagResponse.builder() - .enabled(true) - .build())); + private static void requestGetFeatureFlagEnabled( + CloudFoundryClient cloudFoundryClient, String featureFlag) { + when(cloudFoundryClient + .featureFlags() + .get(GetFeatureFlagRequest.builder().name(featureFlag).build())) + .thenReturn(Mono.just(GetFeatureFlagResponse.builder().enabled(true).build())); } private static void requestJobFailure(CloudFoundryClient cloudFoundryClient, String jobId) { - when(cloudFoundryClient.jobs() - .get(GetJobRequest.builder() - .jobId(jobId) - .build())) - .thenReturn(Mono - .defer(new Supplier>() { - - private final Queue responses = new LinkedList<>(Arrays.asList( - GetJobResponse.builder() - .metadata(fill(Metadata.builder()).build()) - .entity(fill(JobEntity.builder()) - .status("running") - .build()) - .build(), - GetJobResponse.builder() - .metadata(fill(Metadata.builder()).build()) - .entity(fill(JobEntity.builder()) - .errorDetails(fill(ErrorDetails.builder(), "error-details-") - .build()) - .status("failed") - .build()) - .build() - )); - - @Override - public Mono get() { - return Mono.just(this.responses.poll()); - } - - })); + when(cloudFoundryClient.jobs().get(GetJobRequest.builder().jobId(jobId).build())) + .thenReturn( + Mono.defer( + new Supplier>() { + + private final Queue responses = + new LinkedList<>( + Arrays.asList( + GetJobResponse.builder() + .metadata( + fill(Metadata.builder()) + .build()) + .entity( + fill(JobEntity + .builder()) + .status( + "running") + .build()) + .build(), + GetJobResponse.builder() + .metadata( + fill(Metadata.builder()) + .build()) + .entity( + fill(JobEntity + .builder()) + .errorDetails( + fill( + ErrorDetails + .builder(), + "error-details-") + .build()) + .status( + "failed") + .build()) + .build())); + + @Override + public Mono get() { + return Mono.just(this.responses.poll()); + } + })); } private static void requestJobSuccess(CloudFoundryClient cloudFoundryClient, String jobId) { - when(cloudFoundryClient.jobs() - .get(GetJobRequest.builder() - .jobId(jobId) - .build())) - .thenReturn(Mono - .defer(new Supplier>() { - - private final Queue responses = new LinkedList<>(Arrays.asList( - GetJobResponse.builder() - .metadata(fill(Metadata.builder()).build()) - .entity(fill(JobEntity.builder()) - .status("running") - .build()) - .build(), - GetJobResponse.builder() - .metadata(fill(Metadata.builder()).build()) - .entity(fill(JobEntity.builder()) - .status("finished") - .build()) - .build() - )); - - @Override - public Mono get() { - return Mono.just(this.responses.poll()); - } - - })); + when(cloudFoundryClient.jobs().get(GetJobRequest.builder().jobId(jobId).build())) + .thenReturn( + Mono.defer( + new Supplier>() { + + private final Queue responses = + new LinkedList<>( + Arrays.asList( + GetJobResponse.builder() + .metadata( + fill(Metadata.builder()) + .build()) + .entity( + fill(JobEntity + .builder()) + .status( + "running") + .build()) + .build(), + GetJobResponse.builder() + .metadata( + fill(Metadata.builder()) + .build()) + .entity( + fill(JobEntity + .builder()) + .status( + "finished") + .build()) + .build())); + + @Override + public Mono get() { + return Mono.just(this.responses.poll()); + } + })); } - private static void requestOrganizationQuotaDefinition(CloudFoundryClient cloudFoundryClient, String quotaDefinitionId) { - when(cloudFoundryClient.organizationQuotaDefinitions() - .get(GetOrganizationQuotaDefinitionRequest.builder() - .organizationQuotaDefinitionId(quotaDefinitionId) - .build())) - .thenReturn(Mono - .just(fill(GetOrganizationQuotaDefinitionResponse.builder()) - .entity(fill(OrganizationQuotaDefinitionEntity.builder()) - .build()) - .build())); + private static void requestOrganizationQuotaDefinition( + CloudFoundryClient cloudFoundryClient, String quotaDefinitionId) { + when(cloudFoundryClient + .organizationQuotaDefinitions() + .get( + GetOrganizationQuotaDefinitionRequest.builder() + .organizationQuotaDefinitionId(quotaDefinitionId) + .build())) + .thenReturn( + Mono.just( + fill(GetOrganizationQuotaDefinitionResponse.builder()) + .entity( + fill(OrganizationQuotaDefinitionEntity.builder()) + .build()) + .build())); } - private static void requestOrganizationQuotaDefinitions(CloudFoundryClient cloudFoundryClient, String organizationQuotaDefinition) { - when(cloudFoundryClient.organizationQuotaDefinitions() - .list(ListOrganizationQuotaDefinitionsRequest.builder() - .name(organizationQuotaDefinition) - .page(1) - .build())) - .thenReturn(Mono - .just(fill(ListOrganizationQuotaDefinitionsResponse.builder()) - .resource(fill(OrganizationQuotaDefinitionResource.builder(), "organization-quota-definition-") - .entity(fill(OrganizationQuotaDefinitionEntity.builder(), "organization-quota-definition-entity-") - .build()) - .build()) - .build())); + private static void requestOrganizationQuotaDefinitions( + CloudFoundryClient cloudFoundryClient, String organizationQuotaDefinition) { + when(cloudFoundryClient + .organizationQuotaDefinitions() + .list( + ListOrganizationQuotaDefinitionsRequest.builder() + .name(organizationQuotaDefinition) + .page(1) + .build())) + .thenReturn( + Mono.just( + fill(ListOrganizationQuotaDefinitionsResponse.builder()) + .resource( + fill( + OrganizationQuotaDefinitionResource + .builder(), + "organization-quota-definition-") + .entity( + fill( + OrganizationQuotaDefinitionEntity + .builder(), + "organization-quota-definition-entity-") + .build()) + .build()) + .build())); } - private static void requestOrganizations(CloudFoundryClient cloudFoundryClient, String organizationName) { - when(cloudFoundryClient.organizations() - .list(ListOrganizationsRequest.builder() - .name(organizationName) - .page(1) - .build())) - .thenReturn(Mono - .just(fill(ListOrganizationsResponse.builder()) - .resource(fill(OrganizationResource.builder(), "organization-") - .entity(fill(OrganizationEntity.builder(), "organization-entity-") - .build()) - .build()) - .build())); - + private static void requestOrganizations( + CloudFoundryClient cloudFoundryClient, String organizationName) { + when(cloudFoundryClient + .organizations() + .list( + ListOrganizationsRequest.builder() + .name(organizationName) + .page(1) + .build())) + .thenReturn( + Mono.just( + fill(ListOrganizationsResponse.builder()) + .resource( + fill( + OrganizationResource.builder(), + "organization-") + .entity( + fill( + OrganizationEntity + .builder(), + "organization-entity-") + .build()) + .build()) + .build())); } private static void requestOrganizations(CloudFoundryClient cloudFoundryClient) { - when(cloudFoundryClient.organizations() - .list(ListOrganizationsRequest.builder() - .page(1) - .build())) - .thenReturn(Mono - .just(fill(ListOrganizationsResponse.builder()) - .resource(fill(OrganizationResource.builder(), "organization-") - .build()) - .build())); + when(cloudFoundryClient + .organizations() + .list(ListOrganizationsRequest.builder().page(1).build())) + .thenReturn( + Mono.just( + fill(ListOrganizationsResponse.builder()) + .resource( + fill( + OrganizationResource.builder(), + "organization-") + .build()) + .build())); } - private static void requestPrivateDomains(CloudFoundryClient cloudFoundryClient, String organizationId) { - when(cloudFoundryClient.organizations() - .listPrivateDomains(ListOrganizationPrivateDomainsRequest.builder() - .organizationId(organizationId) - .page(1) - .build())) - .thenReturn(Mono - .just(fill(ListOrganizationPrivateDomainsResponse.builder()) - .resource(fill(PrivateDomainResource.builder()) - .entity(fill(PrivateDomainEntity.builder()) - .name("test-private-domain-name") - .build()) - .build()) - .build())); + private static void requestPrivateDomains( + CloudFoundryClient cloudFoundryClient, String organizationId) { + when(cloudFoundryClient + .organizations() + .listPrivateDomains( + ListOrganizationPrivateDomainsRequest.builder() + .organizationId(organizationId) + .page(1) + .build())) + .thenReturn( + Mono.just( + fill(ListOrganizationPrivateDomainsResponse.builder()) + .resource( + fill(PrivateDomainResource.builder()) + .entity( + fill(PrivateDomainEntity.builder()) + .name( + "test-private-domain-name") + .build()) + .build()) + .build())); } private static void requestSharedDomains(CloudFoundryClient cloudFoundryClient) { - when(cloudFoundryClient.sharedDomains() - .list(ListSharedDomainsRequest.builder() - .page(1) - .build())) - .thenReturn(Mono - .just(ListSharedDomainsResponse.builder() - .resource(fill(SharedDomainResource.builder()) - .entity(fill(SharedDomainEntity.builder()) - .name("test-shared-domain-name") - .build()) - .build()) - .build())); + when(cloudFoundryClient + .sharedDomains() + .list(ListSharedDomainsRequest.builder().page(1).build())) + .thenReturn( + Mono.just( + ListSharedDomainsResponse.builder() + .resource( + fill(SharedDomainResource.builder()) + .entity( + fill(SharedDomainEntity.builder()) + .name( + "test-shared-domain-name") + .build()) + .build()) + .build())); } - private static void requestSpaceQuotaDefinitions(CloudFoundryClient cloudFoundryClient, String organizationId) { - when(cloudFoundryClient.organizations() - .listSpaceQuotaDefinitions(ListOrganizationSpaceQuotaDefinitionsRequest.builder() - .organizationId(organizationId) - .page(1) - .build())) - .thenReturn(Mono - .just(fill(ListOrganizationSpaceQuotaDefinitionsResponse.builder()) - .resource(fill(SpaceQuotaDefinitionResource.builder()) - .build()) - .build())); + private static void requestSpaceQuotaDefinitions( + CloudFoundryClient cloudFoundryClient, String organizationId) { + when(cloudFoundryClient + .organizations() + .listSpaceQuotaDefinitions( + ListOrganizationSpaceQuotaDefinitionsRequest.builder() + .organizationId(organizationId) + .page(1) + .build())) + .thenReturn( + Mono.just( + fill(ListOrganizationSpaceQuotaDefinitionsResponse.builder()) + .resource( + fill(SpaceQuotaDefinitionResource.builder()) + .build()) + .build())); } - private static void requestSpaces(CloudFoundryClient cloudFoundryClient, String organizationId) { - when(cloudFoundryClient.organizations() - .listSpaces(ListOrganizationSpacesRequest.builder() - .organizationId(organizationId) - .page(1) - .build())) - .thenReturn(Mono - .just(fill(ListOrganizationSpacesResponse.builder()) - .resource(fill(SpaceResource.builder()) - .build()) - .build())); + private static void requestSpaces( + CloudFoundryClient cloudFoundryClient, String organizationId) { + when(cloudFoundryClient + .organizations() + .listSpaces( + ListOrganizationSpacesRequest.builder() + .organizationId(organizationId) + .page(1) + .build())) + .thenReturn( + Mono.just( + fill(ListOrganizationSpacesResponse.builder()) + .resource(fill(SpaceResource.builder()).build()) + .build())); } - private static void requestUpdateOrganization(CloudFoundryClient cloudFoundryClient, String organizationId, String newName) { - when(cloudFoundryClient.organizations() - .update(UpdateOrganizationRequest.builder() - .name(newName) - .organizationId(organizationId) - .build())) - .thenReturn(Mono.empty()); + private static void requestUpdateOrganization( + CloudFoundryClient cloudFoundryClient, String organizationId, String newName) { + when(cloudFoundryClient + .organizations() + .update( + UpdateOrganizationRequest.builder() + .name(newName) + .organizationId(organizationId) + .build())) + .thenReturn(Mono.empty()); } - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/organizations/DeleteOrganizationRequestTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/organizations/DeleteOrganizationRequestTest.java index 39f0a0760a..e09020d225 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/organizations/DeleteOrganizationRequestTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/organizations/DeleteOrganizationRequestTest.java @@ -22,15 +22,11 @@ public final class DeleteOrganizationRequestTest { @Test(expected = IllegalStateException.class) public void noName() { - DeleteOrganizationRequest.builder() - .build(); + DeleteOrganizationRequest.builder().build(); } @Test public void valid() { - DeleteOrganizationRequest.builder() - .name("test-organization-name") - .build(); + DeleteOrganizationRequest.builder().name("test-organization-name").build(); } - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/organizations/OrganizationSummaryDetailRequestTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/organizations/OrganizationSummaryDetailRequestTest.java index cac22378c0..043d4abaae 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/organizations/OrganizationSummaryDetailRequestTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/organizations/OrganizationSummaryDetailRequestTest.java @@ -22,15 +22,11 @@ public final class OrganizationSummaryDetailRequestTest { @Test(expected = IllegalStateException.class) public void noName() { - OrganizationInfoRequest.builder() - .build(); + OrganizationInfoRequest.builder().build(); } @Test public void valid() { - OrganizationInfoRequest.builder() - .name("test-organization-name") - .build(); + OrganizationInfoRequest.builder().name("test-organization-name").build(); } - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/organizations/RenameOrganizationRequestTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/organizations/RenameOrganizationRequestTest.java index 5491b77ca4..0f4294d36b 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/organizations/RenameOrganizationRequestTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/organizations/RenameOrganizationRequestTest.java @@ -22,24 +22,16 @@ public final class RenameOrganizationRequestTest { @Test(expected = IllegalStateException.class) public void noName() { - RenameOrganizationRequest.builder() - .newName("new-name") - .build(); + RenameOrganizationRequest.builder().newName("new-name").build(); } @Test public void valid() { - RenameOrganizationRequest.builder() - .name("test-name") - .newName("test-new-name") - .build(); + RenameOrganizationRequest.builder().name("test-name").newName("test-new-name").build(); } @Test(expected = IllegalStateException.class) public void validNoNewName() { - RenameOrganizationRequest.builder() - .name("name") - .build(); + RenameOrganizationRequest.builder().name("name").build(); } - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/routes/CheckRouteRequestTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/routes/CheckRouteRequestTest.java index b2996d7147..8e94dfa1ba 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/routes/CheckRouteRequestTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/routes/CheckRouteRequestTest.java @@ -22,15 +22,11 @@ public final class CheckRouteRequestTest { @Test(expected = IllegalStateException.class) public void noDomain() { - CheckRouteRequest.builder() - .build(); + CheckRouteRequest.builder().build(); } @Test public void valid() { - CheckRouteRequest.builder() - .domain("test-domain") - .build(); + CheckRouteRequest.builder().domain("test-domain").build(); } - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/routes/CreateRouteRequestTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/routes/CreateRouteRequestTest.java index 0f25b2f2d3..928350ef6d 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/routes/CreateRouteRequestTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/routes/CreateRouteRequestTest.java @@ -22,45 +22,36 @@ public final class CreateRouteRequestTest { @Test(expected = IllegalStateException.class) public void noDomain() { - CreateRouteRequest.builder() - .space("test-space") - .build(); + CreateRouteRequest.builder().space("test-space").build(); } @Test(expected = IllegalStateException.class) public void noSpace() { - CreateRouteRequest.builder() - .domain("test-domain") - .host("test-hostname") - .build(); + CreateRouteRequest.builder().domain("test-domain").host("test-hostname").build(); } @Test(expected = IllegalStateException.class) public void portConflict() { CreateRouteRequest.builder() - .domain("test-domain") - .port(123) - .randomPort(true) - .space("test-space") - .build(); + .domain("test-domain") + .port(123) + .randomPort(true) + .space("test-space") + .build(); } @Test(expected = IllegalStateException.class) public void setupConflict() { CreateRouteRequest.builder() - .domain("test-domain") - .host("test-hostname") - .port(123) - .space("test-space") - .build(); + .domain("test-domain") + .host("test-hostname") + .port(123) + .space("test-space") + .build(); } @Test public void valid() { - CreateRouteRequest.builder() - .domain("test-domain") - .space("test-space") - .build(); + CreateRouteRequest.builder().domain("test-domain").space("test-space").build(); } - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/routes/DefaultRoutesTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/routes/DefaultRoutesTest.java index 54311e4449..3ebc769cb5 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/routes/DefaultRoutesTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/routes/DefaultRoutesTest.java @@ -16,6 +16,17 @@ package org.cloudfoundry.operations.routes; +import static org.assertj.core.api.Assertions.assertThat; +import static org.cloudfoundry.operations.TestObjects.fill; +import static org.mockito.Mockito.when; + +import java.time.Duration; +import java.util.Arrays; +import java.util.Collections; +import java.util.LinkedList; +import java.util.Optional; +import java.util.Queue; +import java.util.function.Supplier; import org.cloudfoundry.client.CloudFoundryClient; import org.cloudfoundry.client.v2.ClientV2Exception; import org.cloudfoundry.client.v2.Metadata; @@ -59,21 +70,13 @@ import reactor.test.StepVerifier; import reactor.test.scheduler.VirtualTimeScheduler; -import java.time.Duration; -import java.util.Arrays; -import java.util.Collections; -import java.util.LinkedList; -import java.util.Optional; -import java.util.Queue; -import java.util.function.Supplier; - -import static org.assertj.core.api.Assertions.assertThat; -import static org.cloudfoundry.operations.TestObjects.fill; -import static org.mockito.Mockito.when; - public final class DefaultRoutesTest extends AbstractOperationsTest { - private final DefaultRoutes routes = new DefaultRoutes(Mono.just(this.cloudFoundryClient), Mono.just(TEST_ORGANIZATION_ID), Mono.just(TEST_SPACE_ID)); + private final DefaultRoutes routes = + new DefaultRoutes( + Mono.just(this.cloudFoundryClient), + Mono.just(TEST_ORGANIZATION_ID), + Mono.just(TEST_SPACE_ID)); @Test public void checkRouteInvalidDomain() { @@ -81,66 +84,78 @@ public void checkRouteInvalidDomain() { requestSharedDomainsEmpty(this.cloudFoundryClient, "test-domain"); this.routes - .check(CheckRouteRequest.builder() - .domain("test-domain") - .host("test-host") - .build()) - .as(StepVerifier::create) - .expectNext(false) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .check(CheckRouteRequest.builder().domain("test-domain").host("test-host").build()) + .as(StepVerifier::create) + .expectNext(false) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void checkRouteInvalidHost() { requestPrivateDomains(this.cloudFoundryClient, TEST_ORGANIZATION_ID, "test-domain"); - requestRouteExistsFalse(this.cloudFoundryClient, "test-private-domain-metadata-id", "test-host", "test-path"); + requestRouteExistsFalse( + this.cloudFoundryClient, + "test-private-domain-metadata-id", + "test-host", + "test-path"); this.routes - .check(CheckRouteRequest.builder() - .domain("test-domain") - .host("test-host") - .path("test-path") - .build()) - .as(StepVerifier::create) - .expectNext(false) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .check( + CheckRouteRequest.builder() + .domain("test-domain") + .host("test-host") + .path("test-path") + .build()) + .as(StepVerifier::create) + .expectNext(false) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void checkRoutePrivateDomain() { requestPrivateDomains(this.cloudFoundryClient, TEST_ORGANIZATION_ID, "test-domain"); - requestRouteExistsTrue(this.cloudFoundryClient, "test-private-domain-metadata-id", "test-host", "test-path"); + requestRouteExistsTrue( + this.cloudFoundryClient, + "test-private-domain-metadata-id", + "test-host", + "test-path"); this.routes - .check(CheckRouteRequest.builder() - .domain("test-domain") - .host("test-host") - .path("test-path") - .build()) - .as(StepVerifier::create) - .expectNext(true) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .check( + CheckRouteRequest.builder() + .domain("test-domain") + .host("test-host") + .path("test-path") + .build()) + .as(StepVerifier::create) + .expectNext(true) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void checkRouteSharedDomain() { requestPrivateDomainsEmpty(this.cloudFoundryClient, TEST_ORGANIZATION_ID, "test-domain"); requestSharedDomains(this.cloudFoundryClient, "test-domain"); - requestRouteExistsTrue(this.cloudFoundryClient, "test-shared-domain-metadata-id", "test-host", "test-path"); + requestRouteExistsTrue( + this.cloudFoundryClient, + "test-shared-domain-metadata-id", + "test-host", + "test-path"); this.routes - .check(CheckRouteRequest.builder() - .domain("test-domain") - .host("test-host") - .path("test-path") - .build()) - .as(StepVerifier::create) - .expectNext(true) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .check( + CheckRouteRequest.builder() + .domain("test-domain") + .host("test-host") + .path("test-path") + .build()) + .as(StepVerifier::create) + .expectNext(true) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test @@ -148,18 +163,26 @@ public void createRouteAssignedPort() { requestSpaces(this.cloudFoundryClient, TEST_ORGANIZATION_ID, TEST_SPACE_NAME); requestPrivateDomainsEmpty(this.cloudFoundryClient, TEST_ORGANIZATION_ID, "test-domain"); requestSharedDomains(this.cloudFoundryClient, "test-domain"); - requestCreateRoute(this.cloudFoundryClient, "test-shared-domain-metadata-id", null, null, null, 9999, "test-space-id"); + requestCreateRoute( + this.cloudFoundryClient, + "test-shared-domain-metadata-id", + null, + null, + null, + 9999, + "test-space-id"); this.routes - .create(CreateRouteRequest.builder() - .domain("test-domain") - .port(9999) - .space(TEST_SPACE_NAME) - .build()) - .as(StepVerifier::create) - .expectNext(1) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .create( + CreateRouteRequest.builder() + .domain("test-domain") + .port(9999) + .space(TEST_SPACE_NAME) + .build()) + .as(StepVerifier::create) + .expectNext(1) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test @@ -169,14 +192,19 @@ public void createRouteInvalidDomain() { requestSharedDomainsEmpty(this.cloudFoundryClient, "test-domain"); this.routes - .create(CreateRouteRequest.builder() - .domain("test-domain") - .host("test-host") - .space(TEST_SPACE_NAME) - .build()) - .as(StepVerifier::create) - .consumeErrorWith(t -> assertThat(t).isInstanceOf(IllegalArgumentException.class).hasMessage("Domain test-domain does not exist")) - .verify(Duration.ofSeconds(5)); + .create( + CreateRouteRequest.builder() + .domain("test-domain") + .host("test-host") + .space(TEST_SPACE_NAME) + .build()) + .as(StepVerifier::create) + .consumeErrorWith( + t -> + assertThat(t) + .isInstanceOf(IllegalArgumentException.class) + .hasMessage("Domain test-domain does not exist")) + .verify(Duration.ofSeconds(5)); } @Test @@ -185,70 +213,99 @@ public void createRouteInvalidSpace() { requestPrivateDomains(this.cloudFoundryClient, TEST_ORGANIZATION_ID, "test-domain"); this.routes - .create(CreateRouteRequest.builder() - .domain("test-domain") - .host("test-host") - .path("test-path") - .space(TEST_SPACE_NAME) - .build()) - .as(StepVerifier::create) - .consumeErrorWith(t -> assertThat(t).isInstanceOf(IllegalArgumentException.class).hasMessage("Space test-space-name does not exist")) - .verify(Duration.ofSeconds(5)); + .create( + CreateRouteRequest.builder() + .domain("test-domain") + .host("test-host") + .path("test-path") + .space(TEST_SPACE_NAME) + .build()) + .as(StepVerifier::create) + .consumeErrorWith( + t -> + assertThat(t) + .isInstanceOf(IllegalArgumentException.class) + .hasMessage("Space test-space-name does not exist")) + .verify(Duration.ofSeconds(5)); } @Test public void createRouteNoHost() { requestSpaces(this.cloudFoundryClient, TEST_ORGANIZATION_ID, TEST_SPACE_NAME); requestPrivateDomains(this.cloudFoundryClient, TEST_ORGANIZATION_ID, "test-domain"); - requestCreateRoute(this.cloudFoundryClient, "test-private-domain-metadata-id", null, null, "test-path", null, "test-space-id"); + requestCreateRoute( + this.cloudFoundryClient, + "test-private-domain-metadata-id", + null, + null, + "test-path", + null, + "test-space-id"); this.routes - .create(CreateRouteRequest.builder() - .domain("test-domain") - .path("test-path") - .space(TEST_SPACE_NAME) - .build()) - .as(StepVerifier::create) - .expectNext(1) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .create( + CreateRouteRequest.builder() + .domain("test-domain") + .path("test-path") + .space(TEST_SPACE_NAME) + .build()) + .as(StepVerifier::create) + .expectNext(1) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void createRouteNoPath() { requestSpaces(this.cloudFoundryClient, TEST_ORGANIZATION_ID, TEST_SPACE_NAME); requestPrivateDomains(this.cloudFoundryClient, TEST_ORGANIZATION_ID, "test-domain"); - requestCreateRoute(this.cloudFoundryClient, "test-private-domain-metadata-id", "test-host", null, null, null, "test-space-id"); + requestCreateRoute( + this.cloudFoundryClient, + "test-private-domain-metadata-id", + "test-host", + null, + null, + null, + "test-space-id"); this.routes - .create(CreateRouteRequest.builder() - .domain("test-domain") - .host("test-host") - .space(TEST_SPACE_NAME) - .build()) - .as(StepVerifier::create) - .expectNext(1) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .create( + CreateRouteRequest.builder() + .domain("test-domain") + .host("test-host") + .space(TEST_SPACE_NAME) + .build()) + .as(StepVerifier::create) + .expectNext(1) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void createRoutePrivateDomain() { requestSpaces(this.cloudFoundryClient, TEST_ORGANIZATION_ID, TEST_SPACE_NAME); requestPrivateDomains(this.cloudFoundryClient, TEST_ORGANIZATION_ID, "test-domain"); - requestCreateRoute(this.cloudFoundryClient, "test-private-domain-metadata-id", "test-host", null, "test-path", null, "test-space-id"); + requestCreateRoute( + this.cloudFoundryClient, + "test-private-domain-metadata-id", + "test-host", + null, + "test-path", + null, + "test-space-id"); this.routes - .create(CreateRouteRequest.builder() - .domain("test-domain") - .host("test-host") - .path("test-path") - .space(TEST_SPACE_NAME) - .build()) - .as(StepVerifier::create) - .expectNext(1) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .create( + CreateRouteRequest.builder() + .domain("test-domain") + .host("test-host") + .path("test-path") + .space(TEST_SPACE_NAME) + .build()) + .as(StepVerifier::create) + .expectNext(1) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test @@ -256,18 +313,26 @@ public void createRouteRandomPort() { requestSpaces(this.cloudFoundryClient, TEST_ORGANIZATION_ID, TEST_SPACE_NAME); requestPrivateDomainsEmpty(this.cloudFoundryClient, TEST_ORGANIZATION_ID, "test-domain"); requestSharedDomains(this.cloudFoundryClient, "test-domain"); - requestCreateRoute(this.cloudFoundryClient, "test-shared-domain-metadata-id", null, true, null, null, "test-space-id"); + requestCreateRoute( + this.cloudFoundryClient, + "test-shared-domain-metadata-id", + null, + true, + null, + null, + "test-space-id"); this.routes - .create(CreateRouteRequest.builder() - .domain("test-domain") - .randomPort(true) - .space(TEST_SPACE_NAME) - .build()) - .as(StepVerifier::create) - .expectNext(1) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .create( + CreateRouteRequest.builder() + .domain("test-domain") + .randomPort(true) + .space(TEST_SPACE_NAME) + .build()) + .as(StepVerifier::create) + .expectNext(1) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test @@ -278,32 +343,47 @@ public void deleteAssignedPort() { requestDeleteRoute(this.cloudFoundryClient, "test-route-id"); requestJobSuccess(this.cloudFoundryClient, "test-job-entity-id"); - StepVerifier.withVirtualTime(() -> this.routes - .delete(DeleteRouteRequest.builder() - .domain("test-domain") - .port(9999) - .build())) - .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(3))) - .expectComplete() - .verify(Duration.ofSeconds(5)); + StepVerifier.withVirtualTime( + () -> + this.routes.delete( + DeleteRouteRequest.builder() + .domain("test-domain") + .port(9999) + .build())) + .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(3))) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void deleteFailure() { requestPrivateDomains(this.cloudFoundryClient, TEST_ORGANIZATION_ID, "test-domain"); - requestRoutes(this.cloudFoundryClient, "test-private-domain-metadata-id", "test-host", "test-path", null); + requestRoutes( + this.cloudFoundryClient, + "test-private-domain-metadata-id", + "test-host", + "test-path", + null); requestDeleteRoute(this.cloudFoundryClient, "test-route-id"); requestJobFailure(this.cloudFoundryClient, "test-job-entity-id"); - StepVerifier.withVirtualTime(() -> this.routes - .delete(DeleteRouteRequest.builder() - .domain("test-domain") - .host("test-host") - .path("test-path") - .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)); + StepVerifier.withVirtualTime( + () -> + this.routes.delete( + DeleteRouteRequest.builder() + .domain("test-domain") + .host("test-host") + .path("test-path") + .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)); } @Test @@ -312,30 +392,45 @@ public void deleteInvalidDomain() { requestSharedDomainsEmpty(this.cloudFoundryClient, "test-domain"); this.routes - .delete(DeleteRouteRequest.builder() - .domain("test-domain") - .host("test-host") - .path("test-path") - .build()) - .as(StepVerifier::create) - .consumeErrorWith(t -> assertThat(t).isInstanceOf(IllegalArgumentException.class).hasMessage("Domain test-domain does not exist")) - .verify(Duration.ofSeconds(5)); + .delete( + DeleteRouteRequest.builder() + .domain("test-domain") + .host("test-host") + .path("test-path") + .build()) + .as(StepVerifier::create) + .consumeErrorWith( + t -> + assertThat(t) + .isInstanceOf(IllegalArgumentException.class) + .hasMessage("Domain test-domain does not exist")) + .verify(Duration.ofSeconds(5)); } @Test public void deleteInvalidRoute() { requestPrivateDomains(this.cloudFoundryClient, TEST_ORGANIZATION_ID, "test-domain"); - requestRoutesEmpty(this.cloudFoundryClient, "test-private-domain-metadata-id", "test-host", "test-path", null); + requestRoutesEmpty( + this.cloudFoundryClient, + "test-private-domain-metadata-id", + "test-host", + "test-path", + null); this.routes - .delete(DeleteRouteRequest.builder() - .domain("test-domain") - .host("test-host") - .path("test-path") - .build()) - .as(StepVerifier::create) - .consumeErrorWith(t -> assertThat(t).isInstanceOf(IllegalArgumentException.class).hasMessage("Route for test-domain does not exist")) - .verify(Duration.ofSeconds(5)); + .delete( + DeleteRouteRequest.builder() + .domain("test-domain") + .host("test-host") + .path("test-path") + .build()) + .as(StepVerifier::create) + .consumeErrorWith( + t -> + assertThat(t) + .isInstanceOf(IllegalArgumentException.class) + .hasMessage("Route for test-domain does not exist")) + .verify(Duration.ofSeconds(5)); } @Test @@ -344,11 +439,10 @@ public void deleteOrphanedRoutesAssociatedApplication() { requestApplications(this.cloudFoundryClient, "test-route-id"); this.routes - .deleteOrphanedRoutes(DeleteOrphanedRoutesRequest.builder() - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .deleteOrphanedRoutes(DeleteOrphanedRoutesRequest.builder().build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test @@ -356,11 +450,10 @@ public void deleteOrphanedRoutesAssociatedService() { requestSpaceRoutesService(this.cloudFoundryClient, TEST_SPACE_ID); this.routes - .deleteOrphanedRoutes(DeleteOrphanedRoutesRequest.builder() - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .deleteOrphanedRoutes(DeleteOrphanedRoutesRequest.builder().build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test @@ -370,12 +463,13 @@ public void deleteOrphanedRoutesNoAssociations() { requestDeleteRoute(this.cloudFoundryClient, "test-route-id"); requestJobSuccess(this.cloudFoundryClient, "test-job-entity-id"); - StepVerifier.withVirtualTime(() -> this.routes - .deleteOrphanedRoutes(DeleteOrphanedRoutesRequest.builder() - .build())) - .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(3))) - .expectComplete() - .verify(Duration.ofSeconds(5)); + StepVerifier.withVirtualTime( + () -> + this.routes.deleteOrphanedRoutes( + DeleteOrphanedRoutesRequest.builder().build())) + .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(3))) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test @@ -385,12 +479,19 @@ public void deleteOrphanedRoutesNoAssociationsFailure() { requestDeleteRoute(this.cloudFoundryClient, "test-route-id"); requestJobFailure(this.cloudFoundryClient, "test-job-entity-id"); - StepVerifier.withVirtualTime(() -> this.routes - .deleteOrphanedRoutes(DeleteOrphanedRoutesRequest.builder() - .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)); + StepVerifier.withVirtualTime( + () -> + this.routes.deleteOrphanedRoutes( + DeleteOrphanedRoutesRequest.builder().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)); } @Test @@ -398,48 +499,61 @@ public void deleteOrphanedRoutesNoRoutes() { requestSpaceRoutesEmpty(this.cloudFoundryClient, TEST_SPACE_ID); this.routes - .deleteOrphanedRoutes(DeleteOrphanedRoutesRequest.builder() - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .deleteOrphanedRoutes(DeleteOrphanedRoutesRequest.builder().build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void deletePrivateDomain() { requestPrivateDomains(this.cloudFoundryClient, TEST_ORGANIZATION_ID, "test-domain"); - requestRoutes(this.cloudFoundryClient, "test-private-domain-metadata-id", "test-host", "test-path", null); + requestRoutes( + this.cloudFoundryClient, + "test-private-domain-metadata-id", + "test-host", + "test-path", + null); requestDeleteRoute(this.cloudFoundryClient, "test-route-id"); requestJobSuccess(this.cloudFoundryClient, "test-job-entity-id"); - StepVerifier.withVirtualTime(() -> this.routes - .delete(DeleteRouteRequest.builder() - .domain("test-domain") - .host("test-host") - .path("test-path") - .build())) - .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(3))) - .expectComplete() - .verify(Duration.ofSeconds(5)); + StepVerifier.withVirtualTime( + () -> + this.routes.delete( + DeleteRouteRequest.builder() + .domain("test-domain") + .host("test-host") + .path("test-path") + .build())) + .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(3))) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void deleteSharedDomain() { requestPrivateDomainsEmpty(this.cloudFoundryClient, TEST_ORGANIZATION_ID, "test-domain"); requestSharedDomains(this.cloudFoundryClient, "test-domain"); - requestRoutes(this.cloudFoundryClient, "test-shared-domain-metadata-id", "test-host", "test-path", null); + requestRoutes( + this.cloudFoundryClient, + "test-shared-domain-metadata-id", + "test-host", + "test-path", + null); requestDeleteRoute(this.cloudFoundryClient, "test-route-id"); requestJobSuccess(this.cloudFoundryClient, "test-job-entity-id"); - StepVerifier.withVirtualTime(() -> this.routes - .delete(DeleteRouteRequest.builder() - .domain("test-domain") - .host("test-host") - .path("test-path") - .build())) - .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(3))) - .expectComplete() - .verify(Duration.ofSeconds(5)); + StepVerifier.withVirtualTime( + () -> + this.routes.delete( + DeleteRouteRequest.builder() + .domain("test-domain") + .host("test-host") + .path("test-path") + .build())) + .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(3))) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test @@ -448,25 +562,27 @@ public void listCurrentOrganizationNoSpace() { requestPrivateDomainsAll(this.cloudFoundryClient, TEST_ORGANIZATION_ID); requestSharedDomainsAll(this.cloudFoundryClient); requestSpacesAll(this.cloudFoundryClient, TEST_ORGANIZATION_ID); - requestSpaceServiceInstances(this.cloudFoundryClient, "test-route-entity-serviceInstanceId", "test-route-entity-spaceId"); + requestSpaceServiceInstances( + this.cloudFoundryClient, + "test-route-entity-serviceInstanceId", + "test-route-entity-spaceId"); requestApplications(this.cloudFoundryClient, "test-id"); this.routes - .list(ListRoutesRequest.builder() - .level(Level.ORGANIZATION) - .build()) - .as(StepVerifier::create) - .expectNext(Route.builder() - .application("test-application-name") - .domain("test-shared-domain-name") - .host("test-route-entity-host") - .id("test-id") - .path("test-route-entity-path") - .service("test-service-instance-entityname") - .space("test-space-entity-name") - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .list(ListRoutesRequest.builder().level(Level.ORGANIZATION).build()) + .as(StepVerifier::create) + .expectNext( + Route.builder() + .application("test-application-name") + .domain("test-shared-domain-name") + .host("test-route-entity-host") + .id("test-id") + .path("test-route-entity-path") + .service("test-service-instance-entityname") + .space("test-space-entity-name") + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test @@ -478,12 +594,10 @@ public void listCurrentOrganizationNoSpaceNoRoutes() { requestApplications(this.cloudFoundryClient, "test-id"); this.routes - .list(ListRoutesRequest.builder() - .level(Level.ORGANIZATION) - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .list(ListRoutesRequest.builder().level(Level.ORGANIZATION).build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test @@ -495,20 +609,19 @@ public void listCurrentSpace() { requestApplications(this.cloudFoundryClient, "test-route-id"); this.routes - .list(ListRoutesRequest.builder() - .level(Level.SPACE) - .build()) - .as(StepVerifier::create) - .expectNext(Route.builder() - .application("test-application-name") - .domain("test-shared-domain-name") - .host("test-route-entity-host") - .id("test-route-id") - .path("test-route-entity-path") - .space("test-space-entity-name") - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .list(ListRoutesRequest.builder().level(Level.SPACE).build()) + .as(StepVerifier::create) + .expectNext( + Route.builder() + .application("test-application-name") + .domain("test-shared-domain-name") + .host("test-route-entity-host") + .id("test-route-id") + .path("test-route-entity-path") + .space("test-space-entity-name") + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test @@ -520,19 +633,18 @@ public void listCurrentSpaceNoPath() { requestApplications(this.cloudFoundryClient, "test-route-id"); this.routes - .list(ListRoutesRequest.builder() - .level(Level.SPACE) - .build()) - .as(StepVerifier::create) - .expectNext(Route.builder() - .application("test-application-name") - .domain("test-shared-domain-name") - .host("test-route-entity-host") - .id("test-route-id") - .space("test-space-entity-name") - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .list(ListRoutesRequest.builder().level(Level.SPACE).build()) + .as(StepVerifier::create) + .expectNext( + Route.builder() + .application("test-application-name") + .domain("test-shared-domain-name") + .host("test-route-entity-host") + .id("test-route-id") + .space("test-space-entity-name") + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test @@ -540,58 +652,91 @@ public void mapRouteAssignedPort() { requestApplications(this.cloudFoundryClient, "test-application-name", TEST_SPACE_ID); requestPrivateDomainsEmpty(this.cloudFoundryClient, TEST_ORGANIZATION_ID, "test-domain"); requestSharedDomains(this.cloudFoundryClient, "test-domain"); - requestRoutesEmpty(this.cloudFoundryClient, "test-shared-domain-metadata-id", null, null, 9999); - requestCreateRoute(this.cloudFoundryClient, "test-shared-domain-metadata-id", null, null, null, 9999, TEST_SPACE_ID); + requestRoutesEmpty( + this.cloudFoundryClient, "test-shared-domain-metadata-id", null, null, 9999); + requestCreateRoute( + this.cloudFoundryClient, + "test-shared-domain-metadata-id", + null, + null, + null, + 9999, + TEST_SPACE_ID); requestAssociateRoute(this.cloudFoundryClient, "test-application-id", "test-route-id"); this.routes - .map(MapRouteRequest.builder() - .applicationName("test-application-name") - .domain("test-domain") - .port(9999) - .build()) - .as(StepVerifier::create) - .expectNext(9999) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .map( + MapRouteRequest.builder() + .applicationName("test-application-name") + .domain("test-domain") + .port(9999) + .build()) + .as(StepVerifier::create) + .expectNext(9999) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void mapRouteExists() { requestApplications(this.cloudFoundryClient, "test-application-name", TEST_SPACE_ID); requestPrivateDomains(this.cloudFoundryClient, TEST_ORGANIZATION_ID, "test-domain"); - requestRoutes(this.cloudFoundryClient, "test-private-domain-metadata-id", "test-host", "test-path", null); + requestRoutes( + this.cloudFoundryClient, + "test-private-domain-metadata-id", + "test-host", + "test-path", + null); requestAssociateRoute(this.cloudFoundryClient, "test-application-id", "test-route-id"); this.routes - .map(MapRouteRequest.builder() - .applicationName("test-application-name") - .domain("test-domain") - .host("test-host") - .path("test-path") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .map( + MapRouteRequest.builder() + .applicationName("test-application-name") + .domain("test-domain") + .host("test-host") + .path("test-path") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void mapRouteInvalidApplicationName() { requestApplicationsEmpty(this.cloudFoundryClient, "test-application-name", TEST_SPACE_ID); requestPrivateDomains(this.cloudFoundryClient, TEST_ORGANIZATION_ID, "test-domain"); - requestRoutesEmpty(this.cloudFoundryClient, "test-private-domain-metadata-id", "test-host", "test-path", null); - requestCreateRoute(this.cloudFoundryClient, "test-private-domain-metadata-id", "test-host", null, "test-path", null, "test-space-id"); + requestRoutesEmpty( + this.cloudFoundryClient, + "test-private-domain-metadata-id", + "test-host", + "test-path", + null); + requestCreateRoute( + this.cloudFoundryClient, + "test-private-domain-metadata-id", + "test-host", + null, + "test-path", + null, + "test-space-id"); this.routes - .map(MapRouteRequest.builder() - .applicationName("test-application-name") - .domain("test-domain") - .host("test-host") - .path("test-path") - .build()) - .as(StepVerifier::create) - .consumeErrorWith(t -> assertThat(t).isInstanceOf(IllegalArgumentException.class).hasMessage("Application test-application-name does not exist")) - .verify(Duration.ofSeconds(5)); + .map( + MapRouteRequest.builder() + .applicationName("test-application-name") + .domain("test-domain") + .host("test-host") + .path("test-path") + .build()) + .as(StepVerifier::create) + .consumeErrorWith( + t -> + assertThat(t) + .isInstanceOf(IllegalArgumentException.class) + .hasMessage( + "Application test-application-name does not exist")) + .verify(Duration.ofSeconds(5)); } @Test @@ -601,73 +746,109 @@ public void mapRouteInvalidDomain() { requestSharedDomainsEmpty(this.cloudFoundryClient, "test-domain"); this.routes - .map(MapRouteRequest.builder() - .applicationName("test-application-name") - .domain("test-domain") - .host("test-host") - .path("test-path") - .build()) - .as(StepVerifier::create) - .consumeErrorWith(t -> assertThat(t).isInstanceOf(IllegalArgumentException.class).hasMessage("Domain test-domain does not exist")) - .verify(Duration.ofSeconds(5)); + .map( + MapRouteRequest.builder() + .applicationName("test-application-name") + .domain("test-domain") + .host("test-host") + .path("test-path") + .build()) + .as(StepVerifier::create) + .consumeErrorWith( + t -> + assertThat(t) + .isInstanceOf(IllegalArgumentException.class) + .hasMessage("Domain test-domain does not exist")) + .verify(Duration.ofSeconds(5)); } @Test public void mapRouteNoHost() { requestApplications(this.cloudFoundryClient, "test-application-name", TEST_SPACE_ID); requestPrivateDomains(this.cloudFoundryClient, TEST_ORGANIZATION_ID, "test-domain"); - requestRoutesEmpty(this.cloudFoundryClient, "test-private-domain-metadata-id", null, "test-path", null); - requestCreateRoute(this.cloudFoundryClient, "test-private-domain-metadata-id", null, null, "test-path", null, TEST_SPACE_ID); + requestRoutesEmpty( + this.cloudFoundryClient, + "test-private-domain-metadata-id", + null, + "test-path", + null); + requestCreateRoute( + this.cloudFoundryClient, + "test-private-domain-metadata-id", + null, + null, + "test-path", + null, + TEST_SPACE_ID); requestAssociateRoute(this.cloudFoundryClient, "test-application-id", "test-route-id"); this.routes - .map(MapRouteRequest.builder() - .applicationName("test-application-name") - .domain("test-domain") - .path("test-path") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .map( + MapRouteRequest.builder() + .applicationName("test-application-name") + .domain("test-domain") + .path("test-path") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void mapRoutePath() { requestApplications(this.cloudFoundryClient, "test-application-name", TEST_SPACE_ID); requestPrivateDomains(this.cloudFoundryClient, TEST_ORGANIZATION_ID, "test-domain"); - requestRoutesTwo(this.cloudFoundryClient, "test-private-domain-metadata-id", "test-host", "test-path"); + requestRoutesTwo( + this.cloudFoundryClient, + "test-private-domain-metadata-id", + "test-host", + "test-path"); requestAssociateRoute(this.cloudFoundryClient, "test-application-id", "test-route-id"); this.routes - .map(MapRouteRequest.builder() - .applicationName("test-application-name") - .domain("test-domain") - .host("test-host") - .path("test-path") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .map( + MapRouteRequest.builder() + .applicationName("test-application-name") + .domain("test-domain") + .host("test-host") + .path("test-path") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void mapRoutePrivateDomain() { requestApplications(this.cloudFoundryClient, "test-application-name", TEST_SPACE_ID); requestPrivateDomains(this.cloudFoundryClient, TEST_ORGANIZATION_ID, "test-domain"); - requestRoutesEmpty(this.cloudFoundryClient, "test-private-domain-metadata-id", "test-host", "test-path", null); - requestCreateRoute(this.cloudFoundryClient, "test-private-domain-metadata-id", "test-host", null, "test-path", null, TEST_SPACE_ID); + requestRoutesEmpty( + this.cloudFoundryClient, + "test-private-domain-metadata-id", + "test-host", + "test-path", + null); + requestCreateRoute( + this.cloudFoundryClient, + "test-private-domain-metadata-id", + "test-host", + null, + "test-path", + null, + TEST_SPACE_ID); requestAssociateRoute(this.cloudFoundryClient, "test-application-id", "test-route-id"); this.routes - .map(MapRouteRequest.builder() - .applicationName("test-application-name") - .domain("test-domain") - .host("test-host") - .path("test-path") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .map( + MapRouteRequest.builder() + .applicationName("test-application-name") + .domain("test-domain") + .host("test-host") + .path("test-path") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test @@ -675,20 +856,33 @@ public void mapRouteSharedDomain() { requestApplications(this.cloudFoundryClient, "test-application-name", TEST_SPACE_ID); requestPrivateDomainsEmpty(this.cloudFoundryClient, TEST_ORGANIZATION_ID, "test-domain"); requestSharedDomains(this.cloudFoundryClient, "test-domain"); - requestRoutesEmpty(this.cloudFoundryClient, "test-shared-domain-metadata-id", "test-host", "test-path", null); - requestCreateRoute(this.cloudFoundryClient, "test-shared-domain-metadata-id", "test-host", null, "test-path", null, TEST_SPACE_ID); + requestRoutesEmpty( + this.cloudFoundryClient, + "test-shared-domain-metadata-id", + "test-host", + "test-path", + null); + requestCreateRoute( + this.cloudFoundryClient, + "test-shared-domain-metadata-id", + "test-host", + null, + "test-path", + null, + TEST_SPACE_ID); requestAssociateRoute(this.cloudFoundryClient, "test-application-id", "test-route-id"); this.routes - .map(MapRouteRequest.builder() - .applicationName("test-application-name") - .domain("test-domain") - .host("test-host") - .path("test-path") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .map( + MapRouteRequest.builder() + .applicationName("test-application-name") + .domain("test-domain") + .host("test-host") + .path("test-path") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test @@ -697,17 +891,19 @@ public void unmapRouteAssignedPort() { requestPrivateDomainsEmpty(this.cloudFoundryClient, TEST_ORGANIZATION_ID, "test-domain"); requestSharedDomains(this.cloudFoundryClient, "test-domain"); requestRoutes(this.cloudFoundryClient, "test-shared-domain-metadata-id", null, null, 9999); - requestRemoveRouteFromApplication(this.cloudFoundryClient, "test-application-id", "test-route-id"); + requestRemoveRouteFromApplication( + this.cloudFoundryClient, "test-application-id", "test-route-id"); this.routes - .unmap(UnmapRouteRequest.builder() - .applicationName("test-application-name") - .domain("test-domain") - .port(9999) - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .unmap( + UnmapRouteRequest.builder() + .applicationName("test-application-name") + .domain("test-domain") + .port(9999) + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test @@ -716,14 +912,20 @@ public void unmapRouteInvalidApplicationName() { requestPrivateDomains(this.cloudFoundryClient, TEST_ORGANIZATION_ID, "test-domain"); this.routes - .unmap(UnmapRouteRequest.builder() - .applicationName("test-application-name") - .domain("test-domain") - .host("test-host") - .build()) - .as(StepVerifier::create) - .consumeErrorWith(t -> assertThat(t).isInstanceOf(IllegalArgumentException.class).hasMessage("Application test-application-name does not exist")) - .verify(Duration.ofSeconds(5)); + .unmap( + UnmapRouteRequest.builder() + .applicationName("test-application-name") + .domain("test-domain") + .host("test-host") + .build()) + .as(StepVerifier::create) + .consumeErrorWith( + t -> + assertThat(t) + .isInstanceOf(IllegalArgumentException.class) + .hasMessage( + "Application test-application-name does not exist")) + .verify(Duration.ofSeconds(5)); } @Test @@ -733,51 +935,73 @@ public void unmapRouteInvalidDomain() { requestSharedDomainsEmpty(this.cloudFoundryClient, "test-domain"); this.routes - .unmap(UnmapRouteRequest.builder() - .applicationName("test-application-name") - .domain("test-domain") - .host("test-host") - .build()) - .as(StepVerifier::create) - .consumeErrorWith(t -> assertThat(t).isInstanceOf(IllegalArgumentException.class).hasMessage("Domain test-domain does not exist")) - .verify(Duration.ofSeconds(5)); + .unmap( + UnmapRouteRequest.builder() + .applicationName("test-application-name") + .domain("test-domain") + .host("test-host") + .build()) + .as(StepVerifier::create) + .consumeErrorWith( + t -> + assertThat(t) + .isInstanceOf(IllegalArgumentException.class) + .hasMessage("Domain test-domain does not exist")) + .verify(Duration.ofSeconds(5)); } @Test public void unmapRouteInvalidRoute() { requestApplications(this.cloudFoundryClient, "test-application-name", TEST_SPACE_ID); requestPrivateDomains(this.cloudFoundryClient, TEST_ORGANIZATION_ID, "test-domain"); - requestRoutesEmpty(this.cloudFoundryClient, "test-private-domain-metadata-id", "test-host", "test-path", null); + requestRoutesEmpty( + this.cloudFoundryClient, + "test-private-domain-metadata-id", + "test-host", + "test-path", + null); this.routes - .unmap(UnmapRouteRequest.builder() - .applicationName("test-application-name") - .domain("test-domain") - .host("test-host") - .path("test-path") - .build()) - .as(StepVerifier::create) - .consumeErrorWith(t -> assertThat(t).isInstanceOf(IllegalArgumentException.class).hasMessage("Route for test-domain does not exist")) - .verify(Duration.ofSeconds(5)); + .unmap( + UnmapRouteRequest.builder() + .applicationName("test-application-name") + .domain("test-domain") + .host("test-host") + .path("test-path") + .build()) + .as(StepVerifier::create) + .consumeErrorWith( + t -> + assertThat(t) + .isInstanceOf(IllegalArgumentException.class) + .hasMessage("Route for test-domain does not exist")) + .verify(Duration.ofSeconds(5)); } @Test public void unmapRoutePrivateDomain() { requestApplications(this.cloudFoundryClient, "test-application-name", TEST_SPACE_ID); requestPrivateDomains(this.cloudFoundryClient, TEST_ORGANIZATION_ID, "test-domain"); - requestRoutes(this.cloudFoundryClient, "test-private-domain-metadata-id", "test-host", "test-path", null); - requestRemoveRouteFromApplication(this.cloudFoundryClient, "test-application-id", "test-route-id"); + requestRoutes( + this.cloudFoundryClient, + "test-private-domain-metadata-id", + "test-host", + "test-path", + null); + requestRemoveRouteFromApplication( + this.cloudFoundryClient, "test-application-id", "test-route-id"); this.routes - .unmap(UnmapRouteRequest.builder() - .applicationName("test-application-name") - .domain("test-domain") - .host("test-host") - .path("test-path") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .unmap( + UnmapRouteRequest.builder() + .applicationName("test-application-name") + .domain("test-domain") + .host("test-host") + .path("test-path") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test @@ -785,501 +1009,683 @@ public void unmapRouteSharedDomain() { requestApplications(this.cloudFoundryClient, "test-application-name", TEST_SPACE_ID); requestPrivateDomainsEmpty(this.cloudFoundryClient, TEST_ORGANIZATION_ID, "test-domain"); requestSharedDomains(this.cloudFoundryClient, "test-domain"); - requestRoutes(this.cloudFoundryClient, "test-shared-domain-metadata-id", "test-host", "test-path", null); - requestRemoveRouteFromApplication(this.cloudFoundryClient, "test-application-id", "test-route-id"); + requestRoutes( + this.cloudFoundryClient, + "test-shared-domain-metadata-id", + "test-host", + "test-path", + null); + requestRemoveRouteFromApplication( + this.cloudFoundryClient, "test-application-id", "test-route-id"); this.routes - .unmap(UnmapRouteRequest.builder() - .applicationName("test-application-name") - .domain("test-domain") - .host("test-host") - .path("test-path") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .unmap( + UnmapRouteRequest.builder() + .applicationName("test-application-name") + .domain("test-domain") + .host("test-host") + .path("test-path") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } private static void requestApplications(CloudFoundryClient cloudFoundryClient, String routeId) { - when(cloudFoundryClient.routes() - .listApplications(ListRouteApplicationsRequest.builder() - .page(1) - .routeId(routeId) - .build())) - .thenReturn(Mono - .just(fill(ListRouteApplicationsResponse.builder()) - .resource(fill(ApplicationResource.builder(), "application-") - .build()) - .build())); - } - - private static void requestApplications(CloudFoundryClient cloudFoundryClient, String application, String spaceId) { - when(cloudFoundryClient.spaces() - .listApplications(ListSpaceApplicationsRequest.builder() - .name(application) - .page(1) - .spaceId(spaceId) - .build())) - .thenReturn(Mono - .just(fill(ListSpaceApplicationsResponse.builder()) - .resource(fill(ApplicationResource.builder(), "application-") - .build()) - .build())); - } - - private static void requestApplicationsEmpty(CloudFoundryClient cloudFoundryClient, String routeId) { - when(cloudFoundryClient.routes() - .listApplications(ListRouteApplicationsRequest.builder() - .page(1) - .routeId(routeId) - .build())) - .thenReturn(Mono - .just(fill(ListRouteApplicationsResponse.builder()) - .build())); - } - - private static void requestApplicationsEmpty(CloudFoundryClient cloudFoundryClient, String application, String spaceId) { - when(cloudFoundryClient.spaces() - .listApplications(ListSpaceApplicationsRequest.builder() - .name(application) - .page(1) - .spaceId(spaceId) - .build())) - .thenReturn(Mono - .just(fill(ListSpaceApplicationsResponse.builder()) - .build())); - } - - private static void requestAssociateRoute(CloudFoundryClient cloudFoundryClient, String applicationId, String routeId) { - when(cloudFoundryClient.applicationsV2() - .associateRoute(AssociateApplicationRouteRequest.builder() - .applicationId(applicationId) - .routeId(routeId) - .build())) - .thenReturn(Mono - .just(fill(AssociateApplicationRouteResponse.builder()) - .build())); - } - - private static void requestCreateRoute(CloudFoundryClient cloudFoundryClient, String domainId, String host, Boolean randomPort, String path, Integer port, String spaceId) { - when(cloudFoundryClient.routes() - .create(org.cloudfoundry.client.v2.routes.CreateRouteRequest.builder() - .domainId(domainId) - .generatePort(randomPort) - .host(host) - .path(path) - .port(port) - .spaceId(spaceId) - .build())) - .thenReturn(Mono - .just(fill(CreateRouteResponse.builder(), "route-") - .build())); + when(cloudFoundryClient + .routes() + .listApplications( + ListRouteApplicationsRequest.builder() + .page(1) + .routeId(routeId) + .build())) + .thenReturn( + Mono.just( + fill(ListRouteApplicationsResponse.builder()) + .resource( + fill(ApplicationResource.builder(), "application-") + .build()) + .build())); + } + + private static void requestApplications( + CloudFoundryClient cloudFoundryClient, String application, String spaceId) { + when(cloudFoundryClient + .spaces() + .listApplications( + ListSpaceApplicationsRequest.builder() + .name(application) + .page(1) + .spaceId(spaceId) + .build())) + .thenReturn( + Mono.just( + fill(ListSpaceApplicationsResponse.builder()) + .resource( + fill(ApplicationResource.builder(), "application-") + .build()) + .build())); + } + + private static void requestApplicationsEmpty( + CloudFoundryClient cloudFoundryClient, String routeId) { + when(cloudFoundryClient + .routes() + .listApplications( + ListRouteApplicationsRequest.builder() + .page(1) + .routeId(routeId) + .build())) + .thenReturn(Mono.just(fill(ListRouteApplicationsResponse.builder()).build())); + } + + private static void requestApplicationsEmpty( + CloudFoundryClient cloudFoundryClient, String application, String spaceId) { + when(cloudFoundryClient + .spaces() + .listApplications( + ListSpaceApplicationsRequest.builder() + .name(application) + .page(1) + .spaceId(spaceId) + .build())) + .thenReturn(Mono.just(fill(ListSpaceApplicationsResponse.builder()).build())); + } + + private static void requestAssociateRoute( + CloudFoundryClient cloudFoundryClient, String applicationId, String routeId) { + when(cloudFoundryClient + .applicationsV2() + .associateRoute( + AssociateApplicationRouteRequest.builder() + .applicationId(applicationId) + .routeId(routeId) + .build())) + .thenReturn(Mono.just(fill(AssociateApplicationRouteResponse.builder()).build())); + } + + private static void requestCreateRoute( + CloudFoundryClient cloudFoundryClient, + String domainId, + String host, + Boolean randomPort, + String path, + Integer port, + String spaceId) { + when(cloudFoundryClient + .routes() + .create( + org.cloudfoundry.client.v2.routes.CreateRouteRequest.builder() + .domainId(domainId) + .generatePort(randomPort) + .host(host) + .path(path) + .port(port) + .spaceId(spaceId) + .build())) + .thenReturn(Mono.just(fill(CreateRouteResponse.builder(), "route-").build())); } private static void requestDeleteRoute(CloudFoundryClient cloudFoundryClient, String routeId) { - when(cloudFoundryClient.routes() - .delete(org.cloudfoundry.client.v2.routes.DeleteRouteRequest.builder() - .async(true) - .routeId(routeId) - .build())) - .thenReturn(Mono - .just(fill(DeleteRouteResponse.builder()) - .entity(fill(JobEntity.builder(), "job-entity-") - .build()) - .build())); + when(cloudFoundryClient + .routes() + .delete( + org.cloudfoundry.client.v2.routes.DeleteRouteRequest.builder() + .async(true) + .routeId(routeId) + .build())) + .thenReturn( + Mono.just( + fill(DeleteRouteResponse.builder()) + .entity(fill(JobEntity.builder(), "job-entity-").build()) + .build())); } private static void requestJobFailure(CloudFoundryClient cloudFoundryClient, String jobId) { - when(cloudFoundryClient.jobs() - .get(GetJobRequest.builder() - .jobId(jobId) - .build())) - .thenReturn(Mono - .defer(new Supplier>() { - - private final Queue responses = new LinkedList<>(Arrays.asList( - fill(GetJobResponse.builder(), "job-") - .entity(fill(JobEntity.builder()) - .status("running") - .build()) - .build(), - fill(GetJobResponse.builder(), "job-") - .entity(fill(JobEntity.builder()) - .errorDetails(fill(ErrorDetails.builder(), "error-details-") - .build()) - .status("failed") - .build()) - .build() - )); - - @Override - public Mono get() { - return Mono.just(this.responses.poll()); - } - - })); + when(cloudFoundryClient.jobs().get(GetJobRequest.builder().jobId(jobId).build())) + .thenReturn( + Mono.defer( + new Supplier>() { + + private final Queue responses = + new LinkedList<>( + Arrays.asList( + fill(GetJobResponse.builder(), "job-") + .entity( + fill(JobEntity + .builder()) + .status( + "running") + .build()) + .build(), + fill(GetJobResponse.builder(), "job-") + .entity( + fill(JobEntity + .builder()) + .errorDetails( + fill( + ErrorDetails + .builder(), + "error-details-") + .build()) + .status( + "failed") + .build()) + .build())); + + @Override + public Mono get() { + return Mono.just(this.responses.poll()); + } + })); } private static void requestJobSuccess(CloudFoundryClient cloudFoundryClient, String jobId) { - when(cloudFoundryClient.jobs() - .get(GetJobRequest.builder() - .jobId(jobId) - .build())) - .thenReturn(Mono - .defer(new Supplier>() { - - private final Queue responses = new LinkedList<>(Arrays.asList( - fill(GetJobResponse.builder(), "job-") - .entity(fill(JobEntity.builder()) - .status("running") - .build()) - .build(), - fill(GetJobResponse.builder(), "job-") - .entity(fill(JobEntity.builder()) - .status("finished") - .build()) - .build() - )); - - @Override - public Mono get() { - return Mono.just(this.responses.poll()); - } - - })); - } - - private static void requestOrganizationsRoutes(CloudFoundryClient cloudFoundryClient, String organizationId) { - when(cloudFoundryClient.routes() - .list(org.cloudfoundry.client.v2.routes.ListRoutesRequest.builder() - .organizationId(organizationId) - .page(1) - .build())) - .thenReturn(Mono - .just(fill(ListRoutesResponse.builder()) - .resource(fill(RouteResource.builder()) - .entity(fill(RouteEntity.builder(), "route-entity-") - .domainId("test-domain-id") - .build()) - .build()) - .build())); - } - - private static void requestOrganizationsRoutesEmpty(CloudFoundryClient cloudFoundryClient, String organizationId) { - when(cloudFoundryClient.routes() - .list(org.cloudfoundry.client.v2.routes.ListRoutesRequest.builder() - .organizationId(organizationId) - .page(1) - .build())) - .thenReturn(Mono - .just(fill(ListRoutesResponse.builder()) - .build())); - } - - private static void requestPrivateDomains(CloudFoundryClient cloudFoundryClient, String organizationId, String domain) { - when(cloudFoundryClient.organizations() - .listPrivateDomains(ListOrganizationPrivateDomainsRequest.builder() - .name(domain) - .organizationId(organizationId) - .page(1) - .build())) - .thenReturn(Mono - .just(fill(ListOrganizationPrivateDomainsResponse.builder()) - .resource(fill(PrivateDomainResource.builder(), "private-domain-") - .metadata(fill(Metadata.builder(), "private-domain-metadata-") - .build()) - .build()) - .build())); - } - - private static void requestPrivateDomainsAll(CloudFoundryClient cloudFoundryClient, String organizationId) { - when(cloudFoundryClient.organizations() - .listPrivateDomains(ListOrganizationPrivateDomainsRequest.builder() - .organizationId(organizationId) - .page(1) - .build())) - .thenReturn(Mono - .just(fill(ListOrganizationPrivateDomainsResponse.builder()) - .resource(fill(PrivateDomainResource.builder(), "private-domain-") - .metadata(fill(Metadata.builder(), "private-domain-metadata-") - .build()) - .build()) - .build())); - } - - private static void requestPrivateDomainsEmpty(CloudFoundryClient cloudFoundryClient, String organizationId, String domain) { - when(cloudFoundryClient.organizations() - .listPrivateDomains(ListOrganizationPrivateDomainsRequest.builder() - .name(domain) - .organizationId(organizationId) - .page(1) - .build())) - .thenReturn(Mono - .just(fill(ListOrganizationPrivateDomainsResponse.builder()) - .build())); - } - - private static void requestRemoveRouteFromApplication(CloudFoundryClient cloudFoundryClient, String applicationId, String routeId) { - when(cloudFoundryClient.applicationsV2() - .removeRoute(RemoveApplicationRouteRequest.builder() - .applicationId(applicationId) - .routeId(routeId) - .build())) - .thenReturn(Mono.empty()); - } - - private static void requestRouteExistsFalse(CloudFoundryClient cloudFoundryClient, String domainId, String host, String path) { - when(cloudFoundryClient.routes() - .exists(RouteExistsRequest.builder() - .domainId(domainId) - .host(host) - .path(path) - .build())) - .thenReturn(Mono - .just(false)); - } - - private static void requestRouteExistsTrue(CloudFoundryClient cloudFoundryClient, String domainId, String host, String path) { - when(cloudFoundryClient.routes() - .exists(RouteExistsRequest.builder() - .domainId(domainId) - .host(host) - .path(path) - .build())) - .thenReturn(Mono - .just(true)); - } - - private static void requestRoutes(CloudFoundryClient cloudFoundryClient, String domainId, String host, String path, Integer port) { - when(cloudFoundryClient.routes() - .list(org.cloudfoundry.client.v2.routes.ListRoutesRequest.builder() - .domainId(domainId) - .hosts(Optional.ofNullable(host).map(Collections::singletonList).orElse(null)) - .page(1) - .paths(Optional.ofNullable(path).map(Collections::singletonList).orElse(null)) - .port(Optional.ofNullable(port).orElse(null)) - .build())) - .thenReturn(Mono - .just(fill(ListRoutesResponse.builder()) - .resource(fill(RouteResource.builder(), "route-") - .entity(RouteEntity.builder() - .host(host) - .path(path == null ? "" : path) - .port(port) - .build()) - .build()) - .build())); - } - - private static void requestRoutesEmpty(CloudFoundryClient cloudFoundryClient, String domainId, String host, String path, Integer port) { - when(cloudFoundryClient.routes() - .list(org.cloudfoundry.client.v2.routes.ListRoutesRequest.builder() - .domainId(domainId) - .hosts(Optional.ofNullable(host).map(Collections::singletonList).orElse(null)) - .organizationId(null) - .page(1) - .paths(Optional.ofNullable(path).map(Collections::singletonList).orElse(null)) - .port(Optional.ofNullable(port).orElse(null)) - .build())) - .thenReturn(Mono - .just(fill(ListRoutesResponse.builder()) - .build())); - } - - private static void requestRoutesTwo(CloudFoundryClient cloudFoundryClient, String domainId, String host, String path) { - when(cloudFoundryClient.routes() - .list(org.cloudfoundry.client.v2.routes.ListRoutesRequest.builder() - .domainId(domainId) - .hosts(Optional.ofNullable(host).map(Collections::singletonList).orElse(null)) - .page(1) - .paths(Optional.ofNullable(path).map(Collections::singletonList).orElse(null)) - .build())) - .thenReturn(Mono - .just(fill(ListRoutesResponse.builder()) - .resource(fill(RouteResource.builder(), "route-") - .entity(RouteEntity.builder() - .host(null) - .path(null) - .build()) - .build()) - .resource(fill(RouteResource.builder(), "route-") - .entity(RouteEntity.builder() - .host(host) - .path(path == null ? "" : path) - .build()) - .build()) - .build())); + when(cloudFoundryClient.jobs().get(GetJobRequest.builder().jobId(jobId).build())) + .thenReturn( + Mono.defer( + new Supplier>() { + + private final Queue responses = + new LinkedList<>( + Arrays.asList( + fill(GetJobResponse.builder(), "job-") + .entity( + fill(JobEntity + .builder()) + .status( + "running") + .build()) + .build(), + fill(GetJobResponse.builder(), "job-") + .entity( + fill(JobEntity + .builder()) + .status( + "finished") + .build()) + .build())); + + @Override + public Mono get() { + return Mono.just(this.responses.poll()); + } + })); + } + + private static void requestOrganizationsRoutes( + CloudFoundryClient cloudFoundryClient, String organizationId) { + when(cloudFoundryClient + .routes() + .list( + org.cloudfoundry.client.v2.routes.ListRoutesRequest.builder() + .organizationId(organizationId) + .page(1) + .build())) + .thenReturn( + Mono.just( + fill(ListRoutesResponse.builder()) + .resource( + fill(RouteResource.builder()) + .entity( + fill( + RouteEntity + .builder(), + "route-entity-") + .domainId("test-domain-id") + .build()) + .build()) + .build())); + } + + private static void requestOrganizationsRoutesEmpty( + CloudFoundryClient cloudFoundryClient, String organizationId) { + when(cloudFoundryClient + .routes() + .list( + org.cloudfoundry.client.v2.routes.ListRoutesRequest.builder() + .organizationId(organizationId) + .page(1) + .build())) + .thenReturn(Mono.just(fill(ListRoutesResponse.builder()).build())); + } + + private static void requestPrivateDomains( + CloudFoundryClient cloudFoundryClient, String organizationId, String domain) { + when(cloudFoundryClient + .organizations() + .listPrivateDomains( + ListOrganizationPrivateDomainsRequest.builder() + .name(domain) + .organizationId(organizationId) + .page(1) + .build())) + .thenReturn( + Mono.just( + fill(ListOrganizationPrivateDomainsResponse.builder()) + .resource( + fill( + PrivateDomainResource.builder(), + "private-domain-") + .metadata( + fill( + Metadata.builder(), + "private-domain-metadata-") + .build()) + .build()) + .build())); + } + + private static void requestPrivateDomainsAll( + CloudFoundryClient cloudFoundryClient, String organizationId) { + when(cloudFoundryClient + .organizations() + .listPrivateDomains( + ListOrganizationPrivateDomainsRequest.builder() + .organizationId(organizationId) + .page(1) + .build())) + .thenReturn( + Mono.just( + fill(ListOrganizationPrivateDomainsResponse.builder()) + .resource( + fill( + PrivateDomainResource.builder(), + "private-domain-") + .metadata( + fill( + Metadata.builder(), + "private-domain-metadata-") + .build()) + .build()) + .build())); + } + + private static void requestPrivateDomainsEmpty( + CloudFoundryClient cloudFoundryClient, String organizationId, String domain) { + when(cloudFoundryClient + .organizations() + .listPrivateDomains( + ListOrganizationPrivateDomainsRequest.builder() + .name(domain) + .organizationId(organizationId) + .page(1) + .build())) + .thenReturn( + Mono.just(fill(ListOrganizationPrivateDomainsResponse.builder()).build())); + } + + private static void requestRemoveRouteFromApplication( + CloudFoundryClient cloudFoundryClient, String applicationId, String routeId) { + when(cloudFoundryClient + .applicationsV2() + .removeRoute( + RemoveApplicationRouteRequest.builder() + .applicationId(applicationId) + .routeId(routeId) + .build())) + .thenReturn(Mono.empty()); + } + + private static void requestRouteExistsFalse( + CloudFoundryClient cloudFoundryClient, String domainId, String host, String path) { + when(cloudFoundryClient + .routes() + .exists( + RouteExistsRequest.builder() + .domainId(domainId) + .host(host) + .path(path) + .build())) + .thenReturn(Mono.just(false)); + } + + private static void requestRouteExistsTrue( + CloudFoundryClient cloudFoundryClient, String domainId, String host, String path) { + when(cloudFoundryClient + .routes() + .exists( + RouteExistsRequest.builder() + .domainId(domainId) + .host(host) + .path(path) + .build())) + .thenReturn(Mono.just(true)); + } + + private static void requestRoutes( + CloudFoundryClient cloudFoundryClient, + String domainId, + String host, + String path, + Integer port) { + when(cloudFoundryClient + .routes() + .list( + org.cloudfoundry.client.v2.routes.ListRoutesRequest.builder() + .domainId(domainId) + .hosts( + Optional.ofNullable(host) + .map(Collections::singletonList) + .orElse(null)) + .page(1) + .paths( + Optional.ofNullable(path) + .map(Collections::singletonList) + .orElse(null)) + .port(Optional.ofNullable(port).orElse(null)) + .build())) + .thenReturn( + Mono.just( + fill(ListRoutesResponse.builder()) + .resource( + fill(RouteResource.builder(), "route-") + .entity( + RouteEntity.builder() + .host(host) + .path( + path == null + ? "" + : path) + .port(port) + .build()) + .build()) + .build())); + } + + private static void requestRoutesEmpty( + CloudFoundryClient cloudFoundryClient, + String domainId, + String host, + String path, + Integer port) { + when(cloudFoundryClient + .routes() + .list( + org.cloudfoundry.client.v2.routes.ListRoutesRequest.builder() + .domainId(domainId) + .hosts( + Optional.ofNullable(host) + .map(Collections::singletonList) + .orElse(null)) + .organizationId(null) + .page(1) + .paths( + Optional.ofNullable(path) + .map(Collections::singletonList) + .orElse(null)) + .port(Optional.ofNullable(port).orElse(null)) + .build())) + .thenReturn(Mono.just(fill(ListRoutesResponse.builder()).build())); + } + + private static void requestRoutesTwo( + CloudFoundryClient cloudFoundryClient, String domainId, String host, String path) { + when(cloudFoundryClient + .routes() + .list( + org.cloudfoundry.client.v2.routes.ListRoutesRequest.builder() + .domainId(domainId) + .hosts( + Optional.ofNullable(host) + .map(Collections::singletonList) + .orElse(null)) + .page(1) + .paths( + Optional.ofNullable(path) + .map(Collections::singletonList) + .orElse(null)) + .build())) + .thenReturn( + Mono.just( + fill(ListRoutesResponse.builder()) + .resource( + fill(RouteResource.builder(), "route-") + .entity( + RouteEntity.builder() + .host(null) + .path(null) + .build()) + .build()) + .resource( + fill(RouteResource.builder(), "route-") + .entity( + RouteEntity.builder() + .host(host) + .path( + path == null + ? "" + : path) + .build()) + .build()) + .build())); } private static void requestSharedDomains(CloudFoundryClient cloudFoundryClient, String domain) { - when(cloudFoundryClient.sharedDomains() - .list(ListSharedDomainsRequest.builder() - .name(domain) - .page(1) - .build())) - .thenReturn(Mono - .just(fill(ListSharedDomainsResponse.builder()) - .resource(fill(SharedDomainResource.builder(), "shared-domain-") - .metadata(fill(Metadata.builder(), "shared-domain-metadata-") - .build()) - .build()) - .build())); - + when(cloudFoundryClient + .sharedDomains() + .list(ListSharedDomainsRequest.builder().name(domain).page(1).build())) + .thenReturn( + Mono.just( + fill(ListSharedDomainsResponse.builder()) + .resource( + fill( + SharedDomainResource.builder(), + "shared-domain-") + .metadata( + fill( + Metadata.builder(), + "shared-domain-metadata-") + .build()) + .build()) + .build())); } private static void requestSharedDomainsAll(CloudFoundryClient cloudFoundryClient) { - when(cloudFoundryClient.sharedDomains() - .list(ListSharedDomainsRequest.builder() - .page(1) - .build())) - .thenReturn(Mono - .just(fill(ListSharedDomainsResponse.builder()) - .resource(fill(SharedDomainResource.builder(), "shared-domain-") - .metadata(fill(Metadata.builder(), "shared-domain-metadata-") - .id("test-domain-id") - .build()) - .build()) - .build())); - - } - - private static void requestSharedDomainsEmpty(CloudFoundryClient cloudFoundryClient, String domain) { - when(cloudFoundryClient.sharedDomains() - .list(ListSharedDomainsRequest.builder() - .name(domain) - .page(1) - .build())) - .thenReturn(Mono - .just(fill(ListSharedDomainsResponse.builder()) - .build())); + when(cloudFoundryClient + .sharedDomains() + .list(ListSharedDomainsRequest.builder().page(1).build())) + .thenReturn( + Mono.just( + fill(ListSharedDomainsResponse.builder()) + .resource( + fill( + SharedDomainResource.builder(), + "shared-domain-") + .metadata( + fill( + Metadata.builder(), + "shared-domain-metadata-") + .id("test-domain-id") + .build()) + .build()) + .build())); + } + + private static void requestSharedDomainsEmpty( + CloudFoundryClient cloudFoundryClient, String domain) { + when(cloudFoundryClient + .sharedDomains() + .list(ListSharedDomainsRequest.builder().name(domain).page(1).build())) + .thenReturn(Mono.just(fill(ListSharedDomainsResponse.builder()).build())); } private static void requestSpaceRoutes(CloudFoundryClient cloudFoundryClient, String spaceId) { - when(cloudFoundryClient.spaces() - .listRoutes(ListSpaceRoutesRequest.builder() - .page(1) - .spaceId(spaceId) - .build())) - .thenReturn(Mono - .just(fill(ListSpaceRoutesResponse.builder()) - .resource(fill(RouteResource.builder(), "route-") - .entity(fill(RouteEntity.builder(), "route-entity-") - .domainId("test-domain-id") - .serviceInstanceId(null) - .build()) - .build()) - .build())); - } - - private static void requestSpaceRoutesEmpty(CloudFoundryClient cloudFoundryClient, String spaceId) { - when(cloudFoundryClient.spaces() - .listRoutes(ListSpaceRoutesRequest.builder() - .page(1) - .spaceId(spaceId) - .build())) - .thenReturn(Mono - .just(fill(ListSpaceRoutesResponse.builder()) - .build())); - } - - private static void requestSpaceRoutesNoPath(CloudFoundryClient cloudFoundryClient, String spaceId) { - when(cloudFoundryClient.spaces() - .listRoutes(ListSpaceRoutesRequest.builder() - .page(1) - .spaceId(spaceId) - .build())) - .thenReturn(Mono - .just(fill(ListSpaceRoutesResponse.builder()) - .resource(fill(RouteResource.builder(), "route-") - .entity(fill(RouteEntity.builder(), "route-entity-") - .domainId("test-domain-id") - .path(null) - .serviceInstanceId(null) - .build()) - .build()) - .build())); - } - - private static void requestSpaceRoutesService(CloudFoundryClient cloudFoundryClient, String spaceId) { - when(cloudFoundryClient.spaces() - .listRoutes(ListSpaceRoutesRequest.builder() - .page(1) - .spaceId(spaceId) - .build())) - .thenReturn(Mono - .just(fill(ListSpaceRoutesResponse.builder()) - .resource(fill(RouteResource.builder(), "route-") - .entity(fill(RouteEntity.builder(), "route-entity-") - .domainId("test-domain-id") - .serviceInstanceId("test-service-instance-id") - .build()) - .build()) - .build())); - } - - private static void requestSpaceServiceInstances(CloudFoundryClient cloudFoundryClient, String serviceInstanceId, String spaceId) { - when(cloudFoundryClient.spaces() - .listServiceInstances(ListSpaceServiceInstancesRequest.builder() - .page(1) - .returnUserProvidedServiceInstances(true) - .spaceId(spaceId) - .build())) - .thenReturn(Mono - .just(fill(ListSpaceServiceInstancesResponse.builder()) - .resource(fill(UnionServiceInstanceResource.builder(), "service-instance-") - .metadata(fill(Metadata.builder(), "service-instance-metadata-") - .id(serviceInstanceId) - .build()) - .entity(fill(UnionServiceInstanceEntity.builder(), "service-instance-entity") - .spaceId(spaceId) - .build()) - .build()) - .build())); - } - - private static void requestSpaces(CloudFoundryClient cloudFoundryClient, String organizationId, String space) { - when(cloudFoundryClient.organizations() - .listSpaces(ListOrganizationSpacesRequest.builder() - .name(space) - .organizationId(organizationId) - .page(1) - .build())) - .thenReturn(Mono - .just(fill(ListOrganizationSpacesResponse.builder()) - .resource(fill(SpaceResource.builder(), "space-").build()) - .build())); - } - - private static void requestSpacesAll(CloudFoundryClient cloudFoundryClient, String organizationId) { - when(cloudFoundryClient.organizations() - .listSpaces(ListOrganizationSpacesRequest.builder() - .organizationId(organizationId) - .page(1) - .build())) - .thenReturn(Mono - .just(fill(ListOrganizationSpacesResponse.builder()) - .resource(SpaceResource.builder() - .metadata(fill(Metadata.builder(), "space-resource-") - .id("test-route-entity-spaceId") - .build()) - .entity(fill(SpaceEntity.builder(), "space-entity-") - .name("test-space-entity-name") - .organizationId(organizationId) - .build()) - .build()) - .build())); - } - - private static void requestSpacesEmpty(CloudFoundryClient cloudFoundryClient, String organizationId, String space) { - when(cloudFoundryClient.organizations() - .listSpaces(ListOrganizationSpacesRequest.builder() - .name(space) - .organizationId(organizationId) - .page(1) - .build())) - .thenReturn(Mono - .just(fill(ListOrganizationSpacesResponse.builder()) - .build())); + when(cloudFoundryClient + .spaces() + .listRoutes( + ListSpaceRoutesRequest.builder().page(1).spaceId(spaceId).build())) + .thenReturn( + Mono.just( + fill(ListSpaceRoutesResponse.builder()) + .resource( + fill(RouteResource.builder(), "route-") + .entity( + fill( + RouteEntity + .builder(), + "route-entity-") + .domainId("test-domain-id") + .serviceInstanceId(null) + .build()) + .build()) + .build())); + } + + private static void requestSpaceRoutesEmpty( + CloudFoundryClient cloudFoundryClient, String spaceId) { + when(cloudFoundryClient + .spaces() + .listRoutes( + ListSpaceRoutesRequest.builder().page(1).spaceId(spaceId).build())) + .thenReturn(Mono.just(fill(ListSpaceRoutesResponse.builder()).build())); + } + + private static void requestSpaceRoutesNoPath( + CloudFoundryClient cloudFoundryClient, String spaceId) { + when(cloudFoundryClient + .spaces() + .listRoutes( + ListSpaceRoutesRequest.builder().page(1).spaceId(spaceId).build())) + .thenReturn( + Mono.just( + fill(ListSpaceRoutesResponse.builder()) + .resource( + fill(RouteResource.builder(), "route-") + .entity( + fill( + RouteEntity + .builder(), + "route-entity-") + .domainId("test-domain-id") + .path(null) + .serviceInstanceId(null) + .build()) + .build()) + .build())); + } + + private static void requestSpaceRoutesService( + CloudFoundryClient cloudFoundryClient, String spaceId) { + when(cloudFoundryClient + .spaces() + .listRoutes( + ListSpaceRoutesRequest.builder().page(1).spaceId(spaceId).build())) + .thenReturn( + Mono.just( + fill(ListSpaceRoutesResponse.builder()) + .resource( + fill(RouteResource.builder(), "route-") + .entity( + fill( + RouteEntity + .builder(), + "route-entity-") + .domainId("test-domain-id") + .serviceInstanceId( + "test-service-instance-id") + .build()) + .build()) + .build())); + } + + private static void requestSpaceServiceInstances( + CloudFoundryClient cloudFoundryClient, String serviceInstanceId, String spaceId) { + when(cloudFoundryClient + .spaces() + .listServiceInstances( + ListSpaceServiceInstancesRequest.builder() + .page(1) + .returnUserProvidedServiceInstances(true) + .spaceId(spaceId) + .build())) + .thenReturn( + Mono.just( + fill(ListSpaceServiceInstancesResponse.builder()) + .resource( + fill( + UnionServiceInstanceResource + .builder(), + "service-instance-") + .metadata( + fill( + Metadata.builder(), + "service-instance-metadata-") + .id(serviceInstanceId) + .build()) + .entity( + fill( + UnionServiceInstanceEntity + .builder(), + "service-instance-entity") + .spaceId(spaceId) + .build()) + .build()) + .build())); + } + + private static void requestSpaces( + CloudFoundryClient cloudFoundryClient, String organizationId, String space) { + when(cloudFoundryClient + .organizations() + .listSpaces( + ListOrganizationSpacesRequest.builder() + .name(space) + .organizationId(organizationId) + .page(1) + .build())) + .thenReturn( + Mono.just( + fill(ListOrganizationSpacesResponse.builder()) + .resource(fill(SpaceResource.builder(), "space-").build()) + .build())); + } + + private static void requestSpacesAll( + CloudFoundryClient cloudFoundryClient, String organizationId) { + when(cloudFoundryClient + .organizations() + .listSpaces( + ListOrganizationSpacesRequest.builder() + .organizationId(organizationId) + .page(1) + .build())) + .thenReturn( + Mono.just( + fill(ListOrganizationSpacesResponse.builder()) + .resource( + SpaceResource.builder() + .metadata( + fill( + Metadata.builder(), + "space-resource-") + .id( + "test-route-entity-spaceId") + .build()) + .entity( + fill( + SpaceEntity + .builder(), + "space-entity-") + .name( + "test-space-entity-name") + .organizationId( + organizationId) + .build()) + .build()) + .build())); + } + + private static void requestSpacesEmpty( + CloudFoundryClient cloudFoundryClient, String organizationId, String space) { + when(cloudFoundryClient + .organizations() + .listSpaces( + ListOrganizationSpacesRequest.builder() + .name(space) + .organizationId(organizationId) + .page(1) + .build())) + .thenReturn(Mono.just(fill(ListOrganizationSpacesResponse.builder()).build())); } - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/routes/DeleteOrphanedRoutesRequestTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/routes/DeleteOrphanedRoutesRequestTest.java index 9a1728d30c..9149fb1f47 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/routes/DeleteOrphanedRoutesRequestTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/routes/DeleteOrphanedRoutesRequestTest.java @@ -22,8 +22,6 @@ public final class DeleteOrphanedRoutesRequestTest { @Test public void valid() { - DeleteOrphanedRoutesRequest.builder() - .build(); + DeleteOrphanedRoutesRequest.builder().build(); } - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/routes/DeleteRouteRequestTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/routes/DeleteRouteRequestTest.java index 97836829fd..c5c783cd42 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/routes/DeleteRouteRequestTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/routes/DeleteRouteRequestTest.java @@ -22,24 +22,16 @@ public final class DeleteRouteRequestTest { @Test(expected = IllegalStateException.class) public void noDomain() { - DeleteRouteRequest.builder() - .build(); + DeleteRouteRequest.builder().build(); } @Test(expected = IllegalStateException.class) public void setupConflict() { - DeleteRouteRequest.builder() - .domain("test-domain") - .host("test-hostname") - .port(123) - .build(); + DeleteRouteRequest.builder().domain("test-domain").host("test-hostname").port(123).build(); } @Test public void valid() { - DeleteRouteRequest.builder() - .domain("test-domain") - .build(); + DeleteRouteRequest.builder().domain("test-domain").build(); } - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/routes/ListRoutesRequestTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/routes/ListRoutesRequestTest.java index 68186b4cd9..ae90da1011 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/routes/ListRoutesRequestTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/routes/ListRoutesRequestTest.java @@ -22,8 +22,6 @@ public final class ListRoutesRequestTest { @Test public void valid() { - ListRoutesRequest.builder() - .build(); + ListRoutesRequest.builder().build(); } - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/routes/MapRouteRequestTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/routes/MapRouteRequestTest.java index c5a6febd44..367709fdb0 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/routes/MapRouteRequestTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/routes/MapRouteRequestTest.java @@ -22,57 +22,43 @@ public final class MapRouteRequestTest { @Test(expected = IllegalStateException.class) public void noApplicationName() { - MapRouteRequest.builder() - .domain("test-domain") - .host("test-host") - .path("test-path") - .build(); + MapRouteRequest.builder().domain("test-domain").host("test-host").path("test-path").build(); } @Test(expected = IllegalStateException.class) public void noDomain() { MapRouteRequest.builder() - .applicationName("test-applicationName") - .host("test-host") - .path("test-path") - .build(); + .applicationName("test-applicationName") + .host("test-host") + .path("test-path") + .build(); } @Test(expected = IllegalStateException.class) public void portConflict() { - MapRouteRequest.builder() - .domain("test-domain") - .port(123) - .randomPort(true) - .build(); + MapRouteRequest.builder().domain("test-domain").port(123).randomPort(true).build(); } @Test(expected = IllegalStateException.class) public void setupConflict() { - MapRouteRequest.builder() - .domain("test-domain") - .host("test-hostname") - .port(123) - .build(); + MapRouteRequest.builder().domain("test-domain").host("test-hostname").port(123).build(); } @Test public void validMax() { MapRouteRequest.builder() - .applicationName("test-applicationName") - .domain("test-domain") - .host("test-host") - .path("test-path") - .build(); + .applicationName("test-applicationName") + .domain("test-domain") + .host("test-host") + .path("test-path") + .build(); } @Test public void validMin() { MapRouteRequest.builder() - .applicationName("test-applicationName") - .domain("test-domain") - .build(); + .applicationName("test-applicationName") + .domain("test-domain") + .build(); } - - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/routes/UnmapRouteRequestTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/routes/UnmapRouteRequestTest.java index d2d08dd374..f2b9f9623f 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/routes/UnmapRouteRequestTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/routes/UnmapRouteRequestTest.java @@ -22,33 +22,24 @@ public final class UnmapRouteRequestTest { @Test(expected = IllegalStateException.class) public void noApplicationName() { - UnmapRouteRequest.builder() - .domain("test-domain") - .build(); + UnmapRouteRequest.builder().domain("test-domain").build(); } @Test(expected = IllegalStateException.class) public void noDomain() { - UnmapRouteRequest.builder() - .applicationName("test-applicationName") - .build(); + UnmapRouteRequest.builder().applicationName("test-applicationName").build(); } @Test(expected = IllegalStateException.class) public void setupConflict() { - UnmapRouteRequest.builder() - .domain("test-domain") - .host("test-hostname") - .port(123) - .build(); + UnmapRouteRequest.builder().domain("test-domain").host("test-hostname").port(123).build(); } @Test public void valid() { UnmapRouteRequest.builder() - .applicationName("test-applicationName") - .domain("test-domain") - .build(); + .applicationName("test-applicationName") + .domain("test-domain") + .build(); } - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/serviceadmin/CreateServiceBrokerRequestTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/serviceadmin/CreateServiceBrokerRequestTest.java index cfbb1358a0..06f29c0fa3 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/serviceadmin/CreateServiceBrokerRequestTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/serviceadmin/CreateServiceBrokerRequestTest.java @@ -23,47 +23,46 @@ public final class CreateServiceBrokerRequestTest { @Test(expected = IllegalStateException.class) public void noName() { CreateServiceBrokerRequest.builder() - .url("test-broker-url") - .username("test-username") - .password("test-password") - .build(); + .url("test-broker-url") + .username("test-username") + .password("test-password") + .build(); } @Test(expected = IllegalStateException.class) public void noPassword() { CreateServiceBrokerRequest.builder() - .name("test-broker") - .url("test-broker-url") - .username("test-username") - .build(); + .name("test-broker") + .url("test-broker-url") + .username("test-username") + .build(); } @Test(expected = IllegalStateException.class) public void noUrl() { CreateServiceBrokerRequest.builder() - .name("test-broker") - .username("test-username") - .password("test-password") - .build(); + .name("test-broker") + .username("test-username") + .password("test-password") + .build(); } @Test(expected = IllegalStateException.class) public void noUsername() { CreateServiceBrokerRequest.builder() - .name("test-broker") - .url("test-broker-url") - .password("test-password") - .build(); + .name("test-broker") + .url("test-broker-url") + .password("test-password") + .build(); } @Test public void valid() { CreateServiceBrokerRequest.builder() - .name("test-broker") - .url("test-broker-url") - .username("test-username") - .password("test-password") - .build(); + .name("test-broker") + .url("test-broker-url") + .username("test-username") + .password("test-password") + .build(); } - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/serviceadmin/DefaultServiceAdminTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/serviceadmin/DefaultServiceAdminTest.java index e13cec46fb..7e0f02ac30 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/serviceadmin/DefaultServiceAdminTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/serviceadmin/DefaultServiceAdminTest.java @@ -16,6 +16,11 @@ package org.cloudfoundry.operations.serviceadmin; +import static org.assertj.core.api.Assertions.assertThat; +import static org.cloudfoundry.operations.TestObjects.fill; +import static org.mockito.Mockito.when; + +import java.time.Duration; import org.cloudfoundry.client.CloudFoundryClient; import org.cloudfoundry.client.v2.Metadata; import org.cloudfoundry.client.v2.organizations.GetOrganizationRequest; @@ -51,47 +56,56 @@ import reactor.core.publisher.Mono; import reactor.test.StepVerifier; -import java.time.Duration; - -import static org.assertj.core.api.Assertions.assertThat; -import static org.cloudfoundry.operations.TestObjects.fill; -import static org.mockito.Mockito.when; - public final class DefaultServiceAdminTest extends AbstractOperationsTest { - private final DefaultServiceAdmin serviceAdmin = new DefaultServiceAdmin(Mono.just(this.cloudFoundryClient), Mono.just(TEST_SPACE_ID)); + private final DefaultServiceAdmin serviceAdmin = + new DefaultServiceAdmin(Mono.just(this.cloudFoundryClient), Mono.just(TEST_SPACE_ID)); @Test public void createServiceBroker() { - requestCreateServiceBroker(this.cloudFoundryClient, "test-service-broker-name", "test-service-broker-url", "test-service-broker-username", "test-service-broker-password", null); + requestCreateServiceBroker( + this.cloudFoundryClient, + "test-service-broker-name", + "test-service-broker-url", + "test-service-broker-username", + "test-service-broker-password", + null); this.serviceAdmin - .create(CreateServiceBrokerRequest.builder() - .name("test-service-broker-name") - .url("test-service-broker-url") - .username("test-service-broker-username") - .password("test-service-broker-password") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .create( + CreateServiceBrokerRequest.builder() + .name("test-service-broker-name") + .url("test-service-broker-url") + .username("test-service-broker-username") + .password("test-service-broker-password") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void createServiceBrokerWithSpaceScope() { - requestCreateServiceBroker(this.cloudFoundryClient, "test-service-broker-name", "test-service-broker-url", "test-service-broker-username", "test-service-broker-password", TEST_SPACE_ID); + requestCreateServiceBroker( + this.cloudFoundryClient, + "test-service-broker-name", + "test-service-broker-url", + "test-service-broker-username", + "test-service-broker-password", + TEST_SPACE_ID); this.serviceAdmin - .create(CreateServiceBrokerRequest.builder() - .name("test-service-broker-name") - .url("test-service-broker-url") - .username("test-service-broker-username") - .password("test-service-broker-password") - .spaceScoped(true) - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .create( + CreateServiceBrokerRequest.builder() + .name("test-service-broker-name") + .url("test-service-broker-url") + .username("test-service-broker-username") + .password("test-service-broker-password") + .spaceScoped(true) + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test @@ -100,12 +114,13 @@ public void deleteServiceBroker() { requestDeleteServiceBroker(this.cloudFoundryClient, "test-service-broker-id"); this.serviceAdmin - .delete(DeleteServiceBrokerRequest.builder() - .name("test-service-broker-name") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .delete( + DeleteServiceBrokerRequest.builder() + .name("test-service-broker-name") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test @@ -114,12 +129,19 @@ public void deleteServiceBrokerNoServiceBroker() { requestDeleteServiceBroker(this.cloudFoundryClient, "test-service-broker-id"); this.serviceAdmin - .delete(DeleteServiceBrokerRequest.builder() - .name("test-service-broker-name") - .build()) - .as(StepVerifier::create) - .consumeErrorWith(t -> assertThat(t).isInstanceOf(IllegalArgumentException.class).hasMessage("Service Broker test-service-broker-name not found")) - .verify(Duration.ofSeconds(5)); + .delete( + DeleteServiceBrokerRequest.builder() + .name("test-service-broker-name") + .build()) + .as(StepVerifier::create) + .consumeErrorWith( + t -> + assertThat(t) + .isInstanceOf(IllegalArgumentException.class) + .hasMessage( + "Service Broker test-service-broker-name not" + + " found")) + .verify(Duration.ofSeconds(5)); } @Test @@ -127,55 +149,63 @@ public void disableServiceAccess() { requestListServicesWithName(this.cloudFoundryClient, "test-service-name"); requestListServicePlans(this.cloudFoundryClient, "test-service-id"); requestListServicePlanVisibilities(this.cloudFoundryClient, "test-service-plan-id"); - requestDeleteServicePlanVisibility(this.cloudFoundryClient, "test-service-plan-visibility-id"); + requestDeleteServicePlanVisibility( + this.cloudFoundryClient, "test-service-plan-visibility-id"); requestUpdateServicePlan(this.cloudFoundryClient, false, "test-service-plan-id"); this.serviceAdmin - .disableServiceAccess(DisableServiceAccessRequest.builder() - .serviceName("test-service-name") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .disableServiceAccess( + DisableServiceAccessRequest.builder() + .serviceName("test-service-name") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void disableServiceAccessSpecifyAll() { requestListServicesWithName(this.cloudFoundryClient, "test-service-name"); requestListServicePlans(this.cloudFoundryClient, "test-service-id"); - requestListServicePlanVisibilities(this.cloudFoundryClient, "test-organization-id", "test-service-plan-id"); + requestListServicePlanVisibilities( + this.cloudFoundryClient, "test-organization-id", "test-service-plan-id"); requestListOrganizations(this.cloudFoundryClient, "test-organization-name"); - requestDeleteServicePlanVisibility(this.cloudFoundryClient, "test-service-plan-visibility-id"); + requestDeleteServicePlanVisibility( + this.cloudFoundryClient, "test-service-plan-visibility-id"); requestUpdateServicePlan(this.cloudFoundryClient, false, "test-service-plan-id"); this.serviceAdmin - .disableServiceAccess(DisableServiceAccessRequest.builder() - .organizationName("test-organization-name") - .serviceName("test-service-name") - .servicePlanName("test-service-plan-name") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .disableServiceAccess( + DisableServiceAccessRequest.builder() + .organizationName("test-organization-name") + .serviceName("test-service-name") + .servicePlanName("test-service-plan-name") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void disableServiceAccessSpecifyOrganization() { requestListServicesWithName(this.cloudFoundryClient, "test-service-name"); requestListServicePlans(this.cloudFoundryClient, "test-service-id"); - requestListServicePlanVisibilities(this.cloudFoundryClient, "test-organization-id", "test-service-plan-id"); + requestListServicePlanVisibilities( + this.cloudFoundryClient, "test-organization-id", "test-service-plan-id"); requestListOrganizations(this.cloudFoundryClient, "test-organization-name"); - requestDeleteServicePlanVisibility(this.cloudFoundryClient, "test-service-plan-visibility-id"); + requestDeleteServicePlanVisibility( + this.cloudFoundryClient, "test-service-plan-visibility-id"); requestUpdateServicePlan(this.cloudFoundryClient, false, "test-service-plan-id"); this.serviceAdmin - .disableServiceAccess(DisableServiceAccessRequest.builder() - .organizationName("test-organization-name") - .serviceName("test-service-name") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .disableServiceAccess( + DisableServiceAccessRequest.builder() + .organizationName("test-organization-name") + .serviceName("test-service-name") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test @@ -183,17 +213,19 @@ public void disableServiceAccessSpecifyServicePlan() { requestListServicesWithName(this.cloudFoundryClient, "test-service-name"); requestListServicePlans(this.cloudFoundryClient, "test-service-id"); requestListServicePlanVisibilities(this.cloudFoundryClient, "test-service-plan-id"); - requestDeleteServicePlanVisibility(this.cloudFoundryClient, "test-service-plan-visibility-id"); + requestDeleteServicePlanVisibility( + this.cloudFoundryClient, "test-service-plan-visibility-id"); requestUpdateServicePlan(this.cloudFoundryClient, false, "test-service-plan-id"); this.serviceAdmin - .disableServiceAccess(DisableServiceAccessRequest.builder() - .serviceName("test-service-name") - .servicePlanName("test-service-plan-name") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .disableServiceAccess( + DisableServiceAccessRequest.builder() + .serviceName("test-service-name") + .servicePlanName("test-service-plan-name") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test @@ -201,15 +233,17 @@ public void enableServiceAccess() { requestListServicesWithName(this.cloudFoundryClient, "test-service-name"); requestListServicePlans(this.cloudFoundryClient, "test-service-id"); requestListServicePlanVisibilities(this.cloudFoundryClient, "test-service-plan-id"); - requestDeleteServicePlanVisibility(this.cloudFoundryClient, "test-service-plan-visibility-id"); + requestDeleteServicePlanVisibility( + this.cloudFoundryClient, "test-service-plan-visibility-id"); this.serviceAdmin - .enableServiceAccess(EnableServiceAccessRequest.builder() - .serviceName("test-service-name") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .enableServiceAccess( + EnableServiceAccessRequest.builder() + .serviceName("test-service-name") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test @@ -219,13 +253,19 @@ public void enableServiceAccessOrganizationNotFound() { requestListOrganizationsEmpty(this.cloudFoundryClient, "bogus-organization-name"); this.serviceAdmin - .enableServiceAccess(EnableServiceAccessRequest.builder() - .organizationName("bogus-organization-name") - .serviceName("test-service-name") - .build()) - .as(StepVerifier::create) - .consumeErrorWith(t -> assertThat(t).isInstanceOf(IllegalArgumentException.class).hasMessage("Organization bogus-organization-name not found")) - .verify(Duration.ofSeconds(5)); + .enableServiceAccess( + EnableServiceAccessRequest.builder() + .organizationName("bogus-organization-name") + .serviceName("test-service-name") + .build()) + .as(StepVerifier::create) + .consumeErrorWith( + t -> + assertThat(t) + .isInstanceOf(IllegalArgumentException.class) + .hasMessage( + "Organization bogus-organization-name not found")) + .verify(Duration.ofSeconds(5)); } @Test @@ -233,12 +273,18 @@ public void enableServiceAccessServiceNotFound() { requestListServicesWithNameEmpty(this.cloudFoundryClient, "bogus-service-name"); this.serviceAdmin - .enableServiceAccess(EnableServiceAccessRequest.builder() - .serviceName("bogus-service-name") - .build()) - .as(StepVerifier::create) - .consumeErrorWith(t -> assertThat(t).isInstanceOf(IllegalArgumentException.class).hasMessage("Service offering bogus-service-name not found")) - .verify(Duration.ofSeconds(5)); + .enableServiceAccess( + EnableServiceAccessRequest.builder() + .serviceName("bogus-service-name") + .build()) + .as(StepVerifier::create) + .consumeErrorWith( + t -> + assertThat(t) + .isInstanceOf(IllegalArgumentException.class) + .hasMessage( + "Service offering bogus-service-name not found")) + .verify(Duration.ofSeconds(5)); } @Test @@ -246,17 +292,19 @@ public void enableServiceAccessSpecifyAll() { requestListServicesWithName(this.cloudFoundryClient, "test-service-name"); requestListServicePlans(this.cloudFoundryClient, "test-service-id"); requestListOrganizations(this.cloudFoundryClient, "test-organization-name"); - requestCreateServicePlanVisibility(this.cloudFoundryClient, "test-organization-id", "test-service-plan-id"); + requestCreateServicePlanVisibility( + this.cloudFoundryClient, "test-organization-id", "test-service-plan-id"); this.serviceAdmin - .enableServiceAccess(EnableServiceAccessRequest.builder() - .organizationName("test-organization-name") - .serviceName("test-service-name") - .servicePlanName("test-service-plan-name") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .enableServiceAccess( + EnableServiceAccessRequest.builder() + .organizationName("test-organization-name") + .serviceName("test-service-name") + .servicePlanName("test-service-plan-name") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test @@ -265,16 +313,18 @@ public void enableServiceAccessSpecifyOrganization() { requestListServicePlans(this.cloudFoundryClient, "test-service-id"); requestListServicePlanVisibilities(this.cloudFoundryClient, "test-service-plan-id"); requestListOrganizations(this.cloudFoundryClient, "test-organization-name"); - requestCreateServicePlanVisibility(this.cloudFoundryClient, "test-organization-id", "test-service-plan-id"); + requestCreateServicePlanVisibility( + this.cloudFoundryClient, "test-organization-id", "test-service-plan-id"); this.serviceAdmin - .enableServiceAccess(EnableServiceAccessRequest.builder() - .organizationName("test-organization-name") - .serviceName("test-service-name") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .enableServiceAccess( + EnableServiceAccessRequest.builder() + .organizationName("test-organization-name") + .serviceName("test-service-name") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test @@ -282,37 +332,44 @@ public void enableServiceAccessSpecifyServicePlan() { requestListServicesWithName(this.cloudFoundryClient, "test-service-name"); requestListServicePlans(this.cloudFoundryClient, "test-service-id"); requestListServicePlanVisibilities(this.cloudFoundryClient, "test-service-plan-id"); - requestDeleteServicePlanVisibility(this.cloudFoundryClient, "test-service-plan-visibility-id"); + requestDeleteServicePlanVisibility( + this.cloudFoundryClient, "test-service-plan-visibility-id"); this.serviceAdmin - .enableServiceAccess(EnableServiceAccessRequest.builder() - .serviceName("test-service-name") - .servicePlanName("test-service-plan-name") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .enableServiceAccess( + EnableServiceAccessRequest.builder() + .serviceName("test-service-name") + .servicePlanName("test-service-plan-name") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void enableServiceAccessSpecifyServicePlanWithoutPublicVisibility() { - ServicePlanResource servicePlan1 = buildServicePlan("test-service-plan-id-1", "test-service-plan-name-1"); - ServicePlanResource servicePlan2 = buildServicePlan("test-service-plan-id-2", "test-service-plan-name-2"); + ServicePlanResource servicePlan1 = + buildServicePlan("test-service-plan-id-1", "test-service-plan-name-1"); + ServicePlanResource servicePlan2 = + buildServicePlan("test-service-plan-id-2", "test-service-plan-name-2"); requestListServicesWithName(this.cloudFoundryClient, "test-service-name"); - requestListServicePlans(this.cloudFoundryClient, "test-service-id", servicePlan1, servicePlan2); + requestListServicePlans( + this.cloudFoundryClient, "test-service-id", servicePlan1, servicePlan2); requestListServicePlanVisibilities(this.cloudFoundryClient, "test-service-plan-id-1"); - requestDeleteServicePlanVisibility(this.cloudFoundryClient, "test-service-plan-visibility-id"); + requestDeleteServicePlanVisibility( + this.cloudFoundryClient, "test-service-plan-visibility-id"); requestUpdateServicePlan(this.cloudFoundryClient, "test-service-plan-id-1"); this.serviceAdmin - .enableServiceAccess(EnableServiceAccessRequest.builder() - .serviceName("test-service-name") - .servicePlanName("test-service-plan-name-1") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .enableServiceAccess( + EnableServiceAccessRequest.builder() + .serviceName("test-service-name") + .servicePlanName("test-service-plan-name-1") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test @@ -323,18 +380,18 @@ public void listServiceAccessSettings() { requestListServicePlans(this.cloudFoundryClient, "test-service-id"); this.serviceAdmin - .listServiceAccessSettings(ListServiceAccessSettingsRequest.builder() - .build()) - .as(StepVerifier::create) - .expectNext(ServiceAccess.builder() - .access(Access.ALL) - .brokerName("test-service-broker-resource-name") - .organizationNames() - .planName("test-service-plan-name") - .serviceName("test-service-name") - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .listServiceAccessSettings(ListServiceAccessSettingsRequest.builder().build()) + .as(StepVerifier::create) + .expectNext( + ServiceAccess.builder() + .access(Access.ALL) + .brokerName("test-service-broker-resource-name") + .organizationNames() + .planName("test-service-plan-name") + .serviceName("test-service-name") + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test @@ -343,11 +400,14 @@ public void listServiceAccessSettingsNoBrokers() { requestListServicePlanVisibilitiesEmpty(this.cloudFoundryClient); this.serviceAdmin - .listServiceAccessSettings(ListServiceAccessSettingsRequest.builder() - .build()) - .as(StepVerifier::create) - .consumeErrorWith(t -> assertThat(t).isInstanceOf(IllegalArgumentException.class).hasMessage("No Service Brokers found")) - .verify(Duration.ofSeconds(5)); + .listServiceAccessSettings(ListServiceAccessSettingsRequest.builder().build()) + .as(StepVerifier::create) + .consumeErrorWith( + t -> + assertThat(t) + .isInstanceOf(IllegalArgumentException.class) + .hasMessage("No Service Brokers found")) + .verify(Duration.ofSeconds(5)); } @Test @@ -358,19 +418,21 @@ public void listServiceAccessSettingsSpecifyBroker() { requestListServicePlans(this.cloudFoundryClient, "test-service-id"); this.serviceAdmin - .listServiceAccessSettings(ListServiceAccessSettingsRequest.builder() - .brokerName("test-service-broker-resource-name") - .build()) - .as(StepVerifier::create) - .expectNext(ServiceAccess.builder() - .access(Access.ALL) - .brokerName("test-service-broker-resource-name") - .organizationNames() - .planName("test-service-plan-name") - .serviceName("test-service-name") - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .listServiceAccessSettings( + ListServiceAccessSettingsRequest.builder() + .brokerName("test-service-broker-resource-name") + .build()) + .as(StepVerifier::create) + .expectNext( + ServiceAccess.builder() + .access(Access.ALL) + .brokerName("test-service-broker-resource-name") + .organizationNames() + .planName("test-service-plan-name") + .serviceName("test-service-name") + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test @@ -379,12 +441,19 @@ public void listServiceAccessSettingsSpecifyBrokerNotFound() { requestListServicePlanVisibilitiesEmpty(this.cloudFoundryClient); this.serviceAdmin - .listServiceAccessSettings(ListServiceAccessSettingsRequest.builder() - .brokerName("bogus-service-broker-resource-name") - .build()) - .as(StepVerifier::create) - .consumeErrorWith(t -> assertThat(t).isInstanceOf(IllegalArgumentException.class).hasMessage("Service Broker bogus-service-broker-resource-name not found")) - .verify(Duration.ofSeconds(5)); + .listServiceAccessSettings( + ListServiceAccessSettingsRequest.builder() + .brokerName("bogus-service-broker-resource-name") + .build()) + .as(StepVerifier::create) + .consumeErrorWith( + t -> + assertThat(t) + .isInstanceOf(IllegalArgumentException.class) + .hasMessage( + "Service Broker bogus-service-broker-resource-name" + + " not found")) + .verify(Duration.ofSeconds(5)); } @Test @@ -397,19 +466,21 @@ public void listServiceAccessSettingsSpecifyOrganization() { requestGetOrganization(this.cloudFoundryClient, "test-organization-id"); this.serviceAdmin - .listServiceAccessSettings(ListServiceAccessSettingsRequest.builder() - .organizationName("test-organization-name") - .build()) - .as(StepVerifier::create) - .expectNext(ServiceAccess.builder() - .access(Access.ALL) - .brokerName("test-service-broker-resource-name") - .organizationName("test-organization-name") - .planName("test-service-plan-name") - .serviceName("test-service-name") - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .listServiceAccessSettings( + ListServiceAccessSettingsRequest.builder() + .organizationName("test-organization-name") + .build()) + .as(StepVerifier::create) + .expectNext( + ServiceAccess.builder() + .access(Access.ALL) + .brokerName("test-service-broker-resource-name") + .organizationName("test-organization-name") + .planName("test-service-plan-name") + .serviceName("test-service-name") + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test @@ -419,12 +490,18 @@ public void listServiceAccessSettingsSpecifyOrganizationNotFound() { requestListOrganizationsEmpty(this.cloudFoundryClient, "bogus-organization-name"); this.serviceAdmin - .listServiceAccessSettings(ListServiceAccessSettingsRequest.builder() - .organizationName("bogus-organization-name") - .build()) - .as(StepVerifier::create) - .consumeErrorWith(t -> assertThat(t).isInstanceOf(IllegalArgumentException.class).hasMessage("Organization bogus-organization-name not found")) - .verify(Duration.ofSeconds(5)); + .listServiceAccessSettings( + ListServiceAccessSettingsRequest.builder() + .organizationName("bogus-organization-name") + .build()) + .as(StepVerifier::create) + .consumeErrorWith( + t -> + assertThat(t) + .isInstanceOf(IllegalArgumentException.class) + .hasMessage( + "Organization bogus-organization-name not found")) + .verify(Duration.ofSeconds(5)); } @Test @@ -436,19 +513,21 @@ public void listServiceAccessSettingsSpecifyService() { requestListServicePlans(this.cloudFoundryClient, "test-service-id"); this.serviceAdmin - .listServiceAccessSettings(ListServiceAccessSettingsRequest.builder() - .serviceName("test-service-name") - .build()) - .as(StepVerifier::create) - .expectNext(ServiceAccess.builder() - .access(Access.ALL) - .brokerName("test-service-broker-resource-name") - .organizationNames() - .planName("test-service-plan-name") - .serviceName("test-service-name") - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .listServiceAccessSettings( + ListServiceAccessSettingsRequest.builder() + .serviceName("test-service-name") + .build()) + .as(StepVerifier::create) + .expectNext( + ServiceAccess.builder() + .access(Access.ALL) + .brokerName("test-service-broker-resource-name") + .organizationNames() + .planName("test-service-plan-name") + .serviceName("test-service-name") + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test @@ -458,12 +537,17 @@ public void listServiceAccessSettingsSpecifyServiceNotFound() { requestListServicesWithNameEmpty(this.cloudFoundryClient, "bogus-service-name"); this.serviceAdmin - .listServiceAccessSettings(ListServiceAccessSettingsRequest.builder() - .serviceName("bogus-service-name") - .build()) - .as(StepVerifier::create) - .consumeErrorWith(t -> assertThat(t).isInstanceOf(IllegalArgumentException.class).hasMessage("Service bogus-service-name not found")) - .verify(Duration.ofSeconds(5)); + .listServiceAccessSettings( + ListServiceAccessSettingsRequest.builder() + .serviceName("bogus-service-name") + .build()) + .as(StepVerifier::create) + .consumeErrorWith( + t -> + assertThat(t) + .isInstanceOf(IllegalArgumentException.class) + .hasMessage("Service bogus-service-name not found")) + .verify(Duration.ofSeconds(5)); } @Test @@ -471,15 +555,16 @@ public void listServiceBrokers() { requestListServiceBrokers(this.cloudFoundryClient); this.serviceAdmin - .list() - .as(StepVerifier::create) - .expectNext(ServiceBroker.builder() - .id("test-service-broker-id") - .name("test-service-broker-resource-name") - .url("test-service-broker-resource-brokerUrl") - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .list() + .as(StepVerifier::create) + .expectNext( + ServiceBroker.builder() + .id("test-service-broker-id") + .name("test-service-broker-resource-name") + .url("test-service-broker-resource-brokerUrl") + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test @@ -487,349 +572,469 @@ public void listServiceBrokersNoBrokers() { requestListServiceBrokersEmpty(this.cloudFoundryClient); this.serviceAdmin - .list() - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .list() + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void updateServiceBroker() { requestListServiceBrokers(this.cloudFoundryClient, "test-service-broker-name"); - requestUpdateServiceBroker(this.cloudFoundryClient, "test-service-broker-name", "test-service-broker-url", "test-service-broker-username", - "test-service-broker-password", "test-service-broker-id"); + requestUpdateServiceBroker( + this.cloudFoundryClient, + "test-service-broker-name", + "test-service-broker-url", + "test-service-broker-username", + "test-service-broker-password", + "test-service-broker-id"); this.serviceAdmin - .update(UpdateServiceBrokerRequest.builder() - .name("test-service-broker-name") - .url("test-service-broker-url") - .username("test-service-broker-username") - .password("test-service-broker-password") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .update( + UpdateServiceBrokerRequest.builder() + .name("test-service-broker-name") + .url("test-service-broker-url") + .username("test-service-broker-username") + .password("test-service-broker-password") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void updateServiceBrokerNoServiceBroker() { requestListServiceBrokersEmpty(this.cloudFoundryClient, "test-service-broker-name"); - requestUpdateServiceBroker(this.cloudFoundryClient, "test-service-broker-name", "test-service-broker-url", "test-service-broker-username", - "test-service-broker-password", "test-service-broker-id"); + requestUpdateServiceBroker( + this.cloudFoundryClient, + "test-service-broker-name", + "test-service-broker-url", + "test-service-broker-username", + "test-service-broker-password", + "test-service-broker-id"); this.serviceAdmin - .update(UpdateServiceBrokerRequest.builder() - .name("test-service-broker-name") - .url("test-service-broker-url") - .username("test-service-broker-username") - .password("test-service-broker-password") - .build()) - .as(StepVerifier::create) - .consumeErrorWith(t -> assertThat(t).isInstanceOf(IllegalArgumentException.class).hasMessage("Service Broker test-service-broker-name not found")) - .verify(Duration.ofSeconds(5)); + .update( + UpdateServiceBrokerRequest.builder() + .name("test-service-broker-name") + .url("test-service-broker-url") + .username("test-service-broker-username") + .password("test-service-broker-password") + .build()) + .as(StepVerifier::create) + .consumeErrorWith( + t -> + assertThat(t) + .isInstanceOf(IllegalArgumentException.class) + .hasMessage( + "Service Broker test-service-broker-name not" + + " found")) + .verify(Duration.ofSeconds(5)); } private static ServicePlanResource buildServicePlan(String id, String name) { return fill(ServicePlanResource.builder(), "service-plan-") - .metadata(fill(Metadata.builder(), "service-plan-") - .id(id) - .build()) - .entity(fill(ServicePlanEntity.builder(), "service-plan-") - .name(name) - .serviceId("test-service-id") - .publiclyVisible(false) - .build()) - .build(); - } - - private static void requestCreateServiceBroker(CloudFoundryClient cloudFoundryClient, String name, String url, String username, String password, String spaceId) { - when(cloudFoundryClient.serviceBrokers() - .create(org.cloudfoundry.client.v2.servicebrokers.CreateServiceBrokerRequest.builder() - .name(name) - .brokerUrl(url) - .authenticationUsername(username) - .authenticationPassword(password) - .spaceId(spaceId) - .build())) - .thenReturn(Mono - .just(fill(CreateServiceBrokerResponse.builder()) - .build())); - } - - private static void requestCreateServicePlanVisibility(CloudFoundryClient cloudFoundryClient, String organizationId, String servicePlanId) { - when(cloudFoundryClient.servicePlanVisibilities() - .create(CreateServicePlanVisibilityRequest.builder() - .organizationId(organizationId) - .servicePlanId(servicePlanId) - .build())) - .thenReturn(Mono - .just(fill(CreateServicePlanVisibilityResponse.builder()) - .build())); - } - - private static void requestDeleteServiceBroker(CloudFoundryClient cloudFoundryClient, String serviceBrokerId) { - when(cloudFoundryClient.serviceBrokers() - .delete(org.cloudfoundry.client.v2.servicebrokers.DeleteServiceBrokerRequest.builder() - .serviceBrokerId(serviceBrokerId) - .build())) - .thenReturn(Mono.empty()); - } - - private static void requestDeleteServicePlanVisibility(CloudFoundryClient cloudFoundryClient, String servicePlanVisibilityId) { - when(cloudFoundryClient.servicePlanVisibilities() - .delete(DeleteServicePlanVisibilityRequest.builder() - .async(true) - .servicePlanVisibilityId(servicePlanVisibilityId) - .build())) - .thenReturn(Mono.empty()); - } - - private static void requestGetOrganization(CloudFoundryClient cloudFoundryClient, String organizationId) { - when(cloudFoundryClient.organizations() - .get(GetOrganizationRequest.builder() - .organizationId(organizationId) - .build())) - .thenReturn(Mono - .just(fill(GetOrganizationResponse.builder(), "organization-") - .build())); - } - - private static void requestListOrganizations(CloudFoundryClient cloudFoundryClient, String organizationName) { - when(cloudFoundryClient.organizations() - .list(ListOrganizationsRequest.builder() - .name(organizationName) - .page(1) - .build())) - .thenReturn(Mono - .just(fill(ListOrganizationsResponse.builder()) - .resource(fill(OrganizationResource.builder(), "organization-") - .build()) - .build())); - } - - private static void requestListOrganizationsEmpty(CloudFoundryClient cloudFoundryClient, String organizationName) { - when(cloudFoundryClient.organizations() - .list(ListOrganizationsRequest.builder() - .name(organizationName) - .page(1) - .build())) - .thenReturn(Mono - .just(fill(ListOrganizationsResponse.builder()) - .build())); + .metadata(fill(Metadata.builder(), "service-plan-").id(id).build()) + .entity( + fill(ServicePlanEntity.builder(), "service-plan-") + .name(name) + .serviceId("test-service-id") + .publiclyVisible(false) + .build()) + .build(); + } + + private static void requestCreateServiceBroker( + CloudFoundryClient cloudFoundryClient, + String name, + String url, + String username, + String password, + String spaceId) { + when(cloudFoundryClient + .serviceBrokers() + .create( + org.cloudfoundry.client.v2.servicebrokers.CreateServiceBrokerRequest + .builder() + .name(name) + .brokerUrl(url) + .authenticationUsername(username) + .authenticationPassword(password) + .spaceId(spaceId) + .build())) + .thenReturn(Mono.just(fill(CreateServiceBrokerResponse.builder()).build())); + } + + private static void requestCreateServicePlanVisibility( + CloudFoundryClient cloudFoundryClient, String organizationId, String servicePlanId) { + when(cloudFoundryClient + .servicePlanVisibilities() + .create( + CreateServicePlanVisibilityRequest.builder() + .organizationId(organizationId) + .servicePlanId(servicePlanId) + .build())) + .thenReturn(Mono.just(fill(CreateServicePlanVisibilityResponse.builder()).build())); + } + + private static void requestDeleteServiceBroker( + CloudFoundryClient cloudFoundryClient, String serviceBrokerId) { + when(cloudFoundryClient + .serviceBrokers() + .delete( + org.cloudfoundry.client.v2.servicebrokers.DeleteServiceBrokerRequest + .builder() + .serviceBrokerId(serviceBrokerId) + .build())) + .thenReturn(Mono.empty()); + } + + private static void requestDeleteServicePlanVisibility( + CloudFoundryClient cloudFoundryClient, String servicePlanVisibilityId) { + when(cloudFoundryClient + .servicePlanVisibilities() + .delete( + DeleteServicePlanVisibilityRequest.builder() + .async(true) + .servicePlanVisibilityId(servicePlanVisibilityId) + .build())) + .thenReturn(Mono.empty()); + } + + private static void requestGetOrganization( + CloudFoundryClient cloudFoundryClient, String organizationId) { + when(cloudFoundryClient + .organizations() + .get( + GetOrganizationRequest.builder() + .organizationId(organizationId) + .build())) + .thenReturn( + Mono.just( + fill(GetOrganizationResponse.builder(), "organization-").build())); + } + + private static void requestListOrganizations( + CloudFoundryClient cloudFoundryClient, String organizationName) { + when(cloudFoundryClient + .organizations() + .list( + ListOrganizationsRequest.builder() + .name(organizationName) + .page(1) + .build())) + .thenReturn( + Mono.just( + fill(ListOrganizationsResponse.builder()) + .resource( + fill( + OrganizationResource.builder(), + "organization-") + .build()) + .build())); + } + + private static void requestListOrganizationsEmpty( + CloudFoundryClient cloudFoundryClient, String organizationName) { + when(cloudFoundryClient + .organizations() + .list( + ListOrganizationsRequest.builder() + .name(organizationName) + .page(1) + .build())) + .thenReturn(Mono.just(fill(ListOrganizationsResponse.builder()).build())); } private static void requestListServiceBrokers(CloudFoundryClient cloudFoundryClient) { - when(cloudFoundryClient.serviceBrokers() - .list(ListServiceBrokersRequest.builder() - .page(1) - .build())) - .thenReturn(Mono - .just(fill(ListServiceBrokersResponse.builder()) - .resource(fill(ServiceBrokerResource.builder(), "service-broker-") - .metadata(fill(Metadata.builder(), "service-broker-") - .id("test-service-broker-id") - .build()) - .entity(fill(ServiceBrokerEntity.builder(), "service-broker-resource-") - .build()) - .build()) - .build())); - } - - private static void requestListServiceBrokers(CloudFoundryClient cloudFoundryClient, String serviceBrokerName) { - when(cloudFoundryClient.serviceBrokers() - .list(ListServiceBrokersRequest.builder() - .name(serviceBrokerName) - .page(1) - .build())) - .thenReturn(Mono - .just(fill(ListServiceBrokersResponse.builder()) - .resource(fill(ServiceBrokerResource.builder(), "service-broker-") - .entity(fill(ServiceBrokerEntity.builder(), "service-broker-resource-") - .build()) - .build()) - .build())); + when(cloudFoundryClient + .serviceBrokers() + .list(ListServiceBrokersRequest.builder().page(1).build())) + .thenReturn( + Mono.just( + fill(ListServiceBrokersResponse.builder()) + .resource( + fill( + ServiceBrokerResource.builder(), + "service-broker-") + .metadata( + fill( + Metadata.builder(), + "service-broker-") + .id( + "test-service-broker-id") + .build()) + .entity( + fill( + ServiceBrokerEntity + .builder(), + "service-broker-resource-") + .build()) + .build()) + .build())); + } + + private static void requestListServiceBrokers( + CloudFoundryClient cloudFoundryClient, String serviceBrokerName) { + when(cloudFoundryClient + .serviceBrokers() + .list( + ListServiceBrokersRequest.builder() + .name(serviceBrokerName) + .page(1) + .build())) + .thenReturn( + Mono.just( + fill(ListServiceBrokersResponse.builder()) + .resource( + fill( + ServiceBrokerResource.builder(), + "service-broker-") + .entity( + fill( + ServiceBrokerEntity + .builder(), + "service-broker-resource-") + .build()) + .build()) + .build())); } private static void requestListServiceBrokersEmpty(CloudFoundryClient cloudFoundryClient) { - when(cloudFoundryClient.serviceBrokers() - .list(ListServiceBrokersRequest.builder() - .page(1) - .build())) - .thenReturn(Mono - .just(fill(ListServiceBrokersResponse.builder()) - .build())); - } - - private static void requestListServiceBrokersEmpty(CloudFoundryClient cloudFoundryClient, String serviceBrokerName) { - when(cloudFoundryClient.serviceBrokers() - .list(ListServiceBrokersRequest.builder() - .name(serviceBrokerName) - .page(1) - .build())) - .thenReturn(Mono - .just(fill(ListServiceBrokersResponse.builder()) - .build())); + when(cloudFoundryClient + .serviceBrokers() + .list(ListServiceBrokersRequest.builder().page(1).build())) + .thenReturn(Mono.just(fill(ListServiceBrokersResponse.builder()).build())); + } + + private static void requestListServiceBrokersEmpty( + CloudFoundryClient cloudFoundryClient, String serviceBrokerName) { + when(cloudFoundryClient + .serviceBrokers() + .list( + ListServiceBrokersRequest.builder() + .name(serviceBrokerName) + .page(1) + .build())) + .thenReturn(Mono.just(fill(ListServiceBrokersResponse.builder()).build())); } private static void requestListServicePlanVisibilities(CloudFoundryClient cloudFoundryClient) { - when(cloudFoundryClient.servicePlanVisibilities() - .list(ListServicePlanVisibilitiesRequest.builder() - .page(1) - .build())) - .thenReturn(Mono - .just(fill(ListServicePlanVisibilitiesResponse.builder()) - .resource(fill(ServicePlanVisibilityResource.builder()) - .entity(fill(ServicePlanVisibilityEntity.builder()) - .organizationId("test-organization-id") - .servicePlanId("test-service-plan-id") - .build()) - .build()) - .build())); - } - - private static void requestListServicePlanVisibilities(CloudFoundryClient cloudFoundryClient, String servicePlanId) { - when(cloudFoundryClient.servicePlanVisibilities() - .list(ListServicePlanVisibilitiesRequest.builder() - .page(1) - .servicePlanId(servicePlanId) - .build())) - .thenReturn(Mono - .just(fill(ListServicePlanVisibilitiesResponse.builder(), "service-plan-visibility-") - .resource(fill(ServicePlanVisibilityResource.builder(), "service-plan-visibility-") - .entity(fill(ServicePlanVisibilityEntity.builder()) - .organizationId("test-organization-id") - .servicePlanId(servicePlanId) - .build()) - .build()) - .build())); - } - - private static void requestListServicePlanVisibilities(CloudFoundryClient cloudFoundryClient, String organizationId, String servicePlanId) { - when(cloudFoundryClient.servicePlanVisibilities() - .list(ListServicePlanVisibilitiesRequest.builder() - .organizationId(organizationId) - .page(1) - .servicePlanId(servicePlanId) - .build())) - .thenReturn(Mono - .just(fill(ListServicePlanVisibilitiesResponse.builder(), "service-plan-visibility-") - .resource(fill(ServicePlanVisibilityResource.builder(), "service-plan-visibility-") - .entity(fill(ServicePlanVisibilityEntity.builder()) - .organizationId(organizationId) - .servicePlanId(servicePlanId) - .build()) - .build()) - .build())); - } - - private static void requestListServicePlanVisibilitiesEmpty(CloudFoundryClient cloudFoundryClient) { - when(cloudFoundryClient.servicePlanVisibilities() - .list(ListServicePlanVisibilitiesRequest.builder() - .page(1) - .build())) - .thenReturn(Mono - .just(fill(ListServicePlanVisibilitiesResponse.builder()) - .build())); - } - - private static void requestListServicePlans(CloudFoundryClient cloudFoundryClient, String serviceId) { - ServicePlanResource resource = fill(ServicePlanResource.builder(), "service-plan-") - .entity(fill(ServicePlanEntity.builder(), "service-plan-") - .serviceId("test-service-id") - .build()) - .build(); + when(cloudFoundryClient + .servicePlanVisibilities() + .list(ListServicePlanVisibilitiesRequest.builder().page(1).build())) + .thenReturn( + Mono.just( + fill(ListServicePlanVisibilitiesResponse.builder()) + .resource( + fill(ServicePlanVisibilityResource.builder()) + .entity( + fill(ServicePlanVisibilityEntity + .builder()) + .organizationId( + "test-organization-id") + .servicePlanId( + "test-service-plan-id") + .build()) + .build()) + .build())); + } + + private static void requestListServicePlanVisibilities( + CloudFoundryClient cloudFoundryClient, String servicePlanId) { + when(cloudFoundryClient + .servicePlanVisibilities() + .list( + ListServicePlanVisibilitiesRequest.builder() + .page(1) + .servicePlanId(servicePlanId) + .build())) + .thenReturn( + Mono.just( + fill( + ListServicePlanVisibilitiesResponse.builder(), + "service-plan-visibility-") + .resource( + fill( + ServicePlanVisibilityResource + .builder(), + "service-plan-visibility-") + .entity( + fill(ServicePlanVisibilityEntity + .builder()) + .organizationId( + "test-organization-id") + .servicePlanId( + servicePlanId) + .build()) + .build()) + .build())); + } + + private static void requestListServicePlanVisibilities( + CloudFoundryClient cloudFoundryClient, String organizationId, String servicePlanId) { + when(cloudFoundryClient + .servicePlanVisibilities() + .list( + ListServicePlanVisibilitiesRequest.builder() + .organizationId(organizationId) + .page(1) + .servicePlanId(servicePlanId) + .build())) + .thenReturn( + Mono.just( + fill( + ListServicePlanVisibilitiesResponse.builder(), + "service-plan-visibility-") + .resource( + fill( + ServicePlanVisibilityResource + .builder(), + "service-plan-visibility-") + .entity( + fill(ServicePlanVisibilityEntity + .builder()) + .organizationId( + organizationId) + .servicePlanId( + servicePlanId) + .build()) + .build()) + .build())); + } + + private static void requestListServicePlanVisibilitiesEmpty( + CloudFoundryClient cloudFoundryClient) { + when(cloudFoundryClient + .servicePlanVisibilities() + .list(ListServicePlanVisibilitiesRequest.builder().page(1).build())) + .thenReturn(Mono.just(fill(ListServicePlanVisibilitiesResponse.builder()).build())); + } + + private static void requestListServicePlans( + CloudFoundryClient cloudFoundryClient, String serviceId) { + ServicePlanResource resource = + fill(ServicePlanResource.builder(), "service-plan-") + .entity( + fill(ServicePlanEntity.builder(), "service-plan-") + .serviceId("test-service-id") + .build()) + .build(); requestListServicePlans(cloudFoundryClient, serviceId, resource); } - private static void requestListServicePlans(CloudFoundryClient cloudFoundryClient, String serviceId, ServicePlanResource... resources) { - when(cloudFoundryClient.servicePlans() - .list(ListServicePlansRequest.builder() - .page(1) - .serviceId(serviceId) - .build())) - .thenReturn(Mono - .just(fill(ListServicePlansResponse.builder()) - .resources(resources) - .build())); - } - - private static void requestListServicesWithBroker(CloudFoundryClient cloudFoundryClient, String serviceBrokerId) { - when(cloudFoundryClient.services() - .list(ListServicesRequest.builder() - .serviceBrokerId(serviceBrokerId) - .page(1) - .build())) - .thenReturn(Mono - .just(fill(ListServicesResponse.builder()) - .resource(fill(ServiceResource.builder(), "service-") - .entity(fill(ServiceEntity.builder()) - .label("test-service-name") - .serviceBrokerId("test-service-broker-id") - .build()) - .build()) - .build())); - } - - private static void requestListServicesWithName(CloudFoundryClient cloudFoundryClient, String label) { - when(cloudFoundryClient.services() - .list(ListServicesRequest.builder() - .label(label) - .page(1) - .build())) - .thenReturn(Mono - .just(fill(ListServicesResponse.builder()) - .resource(fill(ServiceResource.builder(), "service-") - .entity(fill(ServiceEntity.builder()) - .label("test-service-name") - .serviceBrokerId("test-service-broker-id") - .build()) - .build()) - .build())); - } - - private static void requestListServicesWithNameEmpty(CloudFoundryClient cloudFoundryClient, String label) { - when(cloudFoundryClient.services() - .list(ListServicesRequest.builder() - .label(label) - .page(1) - .build())) - .thenReturn(Mono - .just(fill(ListServicesResponse.builder()) - .build())); - } - - private static void requestUpdateServiceBroker(CloudFoundryClient cloudFoundryClient, String name, String url, String username, String password, String serviceBrokerId) { - when(cloudFoundryClient.serviceBrokers() - .update(org.cloudfoundry.client.v2.servicebrokers.UpdateServiceBrokerRequest.builder() - .serviceBrokerId(serviceBrokerId) - .name(name) - .brokerUrl(url) - .authenticationUsername(username) - .authenticationPassword(password) - .build())) - .thenReturn(Mono - .just(fill(UpdateServiceBrokerResponse.builder()) - .build())); - } - - private static void requestUpdateServicePlan(CloudFoundryClient cloudFoundryClient, String servicePlanId) { - when(cloudFoundryClient.servicePlans() - .update(UpdateServicePlanRequest.builder() - .publiclyVisible(true) - .servicePlanId(servicePlanId) - .build())) - .thenReturn(Mono.empty()); - } - - private static void requestUpdateServicePlan(CloudFoundryClient cloudFoundryClient, boolean publiclyVisible, String servicePlanId) { - when(cloudFoundryClient.servicePlans() - .update(UpdateServicePlanRequest.builder() - .publiclyVisible(publiclyVisible) - .servicePlanId(servicePlanId) - .build())) - .thenReturn(Mono - .just(fill(UpdateServicePlanResponse.builder()) - .build())); + private static void requestListServicePlans( + CloudFoundryClient cloudFoundryClient, + String serviceId, + ServicePlanResource... resources) { + when(cloudFoundryClient + .servicePlans() + .list( + ListServicePlansRequest.builder() + .page(1) + .serviceId(serviceId) + .build())) + .thenReturn( + Mono.just( + fill(ListServicePlansResponse.builder()) + .resources(resources) + .build())); + } + + private static void requestListServicesWithBroker( + CloudFoundryClient cloudFoundryClient, String serviceBrokerId) { + when(cloudFoundryClient + .services() + .list( + ListServicesRequest.builder() + .serviceBrokerId(serviceBrokerId) + .page(1) + .build())) + .thenReturn( + Mono.just( + fill(ListServicesResponse.builder()) + .resource( + fill(ServiceResource.builder(), "service-") + .entity( + fill(ServiceEntity.builder()) + .label("test-service-name") + .serviceBrokerId( + "test-service-broker-id") + .build()) + .build()) + .build())); + } + + private static void requestListServicesWithName( + CloudFoundryClient cloudFoundryClient, String label) { + when(cloudFoundryClient + .services() + .list(ListServicesRequest.builder().label(label).page(1).build())) + .thenReturn( + Mono.just( + fill(ListServicesResponse.builder()) + .resource( + fill(ServiceResource.builder(), "service-") + .entity( + fill(ServiceEntity.builder()) + .label("test-service-name") + .serviceBrokerId( + "test-service-broker-id") + .build()) + .build()) + .build())); + } + + private static void requestListServicesWithNameEmpty( + CloudFoundryClient cloudFoundryClient, String label) { + when(cloudFoundryClient + .services() + .list(ListServicesRequest.builder().label(label).page(1).build())) + .thenReturn(Mono.just(fill(ListServicesResponse.builder()).build())); + } + + private static void requestUpdateServiceBroker( + CloudFoundryClient cloudFoundryClient, + String name, + String url, + String username, + String password, + String serviceBrokerId) { + when(cloudFoundryClient + .serviceBrokers() + .update( + org.cloudfoundry.client.v2.servicebrokers.UpdateServiceBrokerRequest + .builder() + .serviceBrokerId(serviceBrokerId) + .name(name) + .brokerUrl(url) + .authenticationUsername(username) + .authenticationPassword(password) + .build())) + .thenReturn(Mono.just(fill(UpdateServiceBrokerResponse.builder()).build())); } + private static void requestUpdateServicePlan( + CloudFoundryClient cloudFoundryClient, String servicePlanId) { + when(cloudFoundryClient + .servicePlans() + .update( + UpdateServicePlanRequest.builder() + .publiclyVisible(true) + .servicePlanId(servicePlanId) + .build())) + .thenReturn(Mono.empty()); + } + + private static void requestUpdateServicePlan( + CloudFoundryClient cloudFoundryClient, boolean publiclyVisible, String servicePlanId) { + when(cloudFoundryClient + .servicePlans() + .update( + UpdateServicePlanRequest.builder() + .publiclyVisible(publiclyVisible) + .servicePlanId(servicePlanId) + .build())) + .thenReturn(Mono.just(fill(UpdateServicePlanResponse.builder()).build())); + } } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/serviceadmin/DeleteServiceBrokerRequestTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/serviceadmin/DeleteServiceBrokerRequestTest.java index b28a97fb1c..820265e1ba 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/serviceadmin/DeleteServiceBrokerRequestTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/serviceadmin/DeleteServiceBrokerRequestTest.java @@ -22,15 +22,11 @@ public class DeleteServiceBrokerRequestTest { @Test(expected = IllegalStateException.class) public void noName() { - DeleteServiceBrokerRequest.builder() - .build(); + DeleteServiceBrokerRequest.builder().build(); } @Test public void valid() { - DeleteServiceBrokerRequest.builder() - .name("test-service-broker") - .build(); + DeleteServiceBrokerRequest.builder().name("test-service-broker").build(); } - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/serviceadmin/DisableServiceAccessRequestTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/serviceadmin/DisableServiceAccessRequestTest.java index 9c85002d91..9c62e37338 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/serviceadmin/DisableServiceAccessRequestTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/serviceadmin/DisableServiceAccessRequestTest.java @@ -22,15 +22,11 @@ public final class DisableServiceAccessRequestTest { @Test(expected = IllegalStateException.class) public void noServiceName() { - DisableServiceAccessRequest.builder() - .build(); + DisableServiceAccessRequest.builder().build(); } @Test public void valid() { - DisableServiceAccessRequest.builder() - .serviceName("test-service-name") - .build(); + DisableServiceAccessRequest.builder().serviceName("test-service-name").build(); } - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/serviceadmin/EnableServiceAccessRequestTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/serviceadmin/EnableServiceAccessRequestTest.java index cc485a632e..c29258e727 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/serviceadmin/EnableServiceAccessRequestTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/serviceadmin/EnableServiceAccessRequestTest.java @@ -23,10 +23,9 @@ public final class EnableServiceAccessRequestTest { @Test public void valid() { ListServiceAccessSettingsRequest.builder() - .brokerName("test-broker-name") - .organizationName("test-organization-name") - .serviceName("test-service-name") - .build(); + .brokerName("test-broker-name") + .organizationName("test-organization-name") + .serviceName("test-service-name") + .build(); } - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/serviceadmin/ListServiceAccessSettingsRequestTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/serviceadmin/ListServiceAccessSettingsRequestTest.java index e4a9247c98..1778fa53c6 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/serviceadmin/ListServiceAccessSettingsRequestTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/serviceadmin/ListServiceAccessSettingsRequestTest.java @@ -22,15 +22,11 @@ public final class ListServiceAccessSettingsRequestTest { @Test(expected = IllegalStateException.class) public void noServiceName() { - DisableServiceAccessRequest.builder() - .build(); + DisableServiceAccessRequest.builder().build(); } @Test public void valid() { - DisableServiceAccessRequest.builder() - .serviceName("test-service-name") - .build(); + DisableServiceAccessRequest.builder().serviceName("test-service-name").build(); } - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/serviceadmin/UpdateServiceBrokerRequestTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/serviceadmin/UpdateServiceBrokerRequestTest.java index 5c87e1eaa9..e55c6acc29 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/serviceadmin/UpdateServiceBrokerRequestTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/serviceadmin/UpdateServiceBrokerRequestTest.java @@ -23,46 +23,46 @@ public class UpdateServiceBrokerRequestTest { @Test(expected = IllegalStateException.class) public void noName() { UpdateServiceBrokerRequest.builder() - .url("test-broker-url") - .username("test-username") - .password("test-password") - .build(); + .url("test-broker-url") + .username("test-username") + .password("test-password") + .build(); } @Test(expected = IllegalStateException.class) public void noPassword() { UpdateServiceBrokerRequest.builder() - .name("test-broker") - .url("test-broker-url") - .username("test-username") - .build(); + .name("test-broker") + .url("test-broker-url") + .username("test-username") + .build(); } @Test(expected = IllegalStateException.class) public void noUrl() { UpdateServiceBrokerRequest.builder() - .name("test-broker") - .username("test-username") - .password("test-password") - .build(); + .name("test-broker") + .username("test-username") + .password("test-password") + .build(); } @Test(expected = IllegalStateException.class) public void noUsername() { UpdateServiceBrokerRequest.builder() - .name("test-broker") - .url("test-broker-url") - .password("test-password") - .build(); + .name("test-broker") + .url("test-broker-url") + .password("test-password") + .build(); } @Test public void valid() { UpdateServiceBrokerRequest.builder() - .name("test-broker") - .url("test-broker-url") - .username("test-username") - .password("test-password") - .build(); + .name("test-broker") + .url("test-broker-url") + .username("test-username") + .password("test-password") + .build(); } } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/services/BindRouteServiceInstanceRequestTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/services/BindRouteServiceInstanceRequestTest.java index 700977176e..dad52104d1 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/services/BindRouteServiceInstanceRequestTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/services/BindRouteServiceInstanceRequestTest.java @@ -23,23 +23,20 @@ public final class BindRouteServiceInstanceRequestTest { @Test(expected = IllegalStateException.class) public void noDomainName() { BindRouteServiceInstanceRequest.builder() - .serviceInstanceName("test-service-instance-name") - .build(); + .serviceInstanceName("test-service-instance-name") + .build(); } @Test(expected = IllegalStateException.class) public void noServiceInstanceName() { - BindRouteServiceInstanceRequest.builder() - .domainName("test-domain-name") - .build(); + BindRouteServiceInstanceRequest.builder().domainName("test-domain-name").build(); } @Test public void valid() { BindRouteServiceInstanceRequest.builder() - .domainName("test-domain-name") - .serviceInstanceName("test-service-instance-name") - .build(); + .domainName("test-domain-name") + .serviceInstanceName("test-service-instance-name") + .build(); } - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/services/BindServiceInstanceRequestTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/services/BindServiceInstanceRequestTest.java index 04ca6c8b8d..83ca455a44 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/services/BindServiceInstanceRequestTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/services/BindServiceInstanceRequestTest.java @@ -23,23 +23,20 @@ public final class BindServiceInstanceRequestTest { @Test(expected = IllegalStateException.class) public void noApplicationName() { BindServiceInstanceRequest.builder() - .serviceInstanceName("test-service-instance-name") - .build(); + .serviceInstanceName("test-service-instance-name") + .build(); } @Test(expected = IllegalStateException.class) public void noServiceInstanceName() { - BindServiceInstanceRequest.builder() - .applicationName("test-application-name") - .build(); + BindServiceInstanceRequest.builder().applicationName("test-application-name").build(); } @Test public void valid() { BindServiceInstanceRequest.builder() - .applicationName("test-application-name") - .serviceInstanceName("test-service-instance-name") - .build(); + .applicationName("test-application-name") + .serviceInstanceName("test-service-instance-name") + .build(); } - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/services/CreateServiceInstanceRequestTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/services/CreateServiceInstanceRequestTest.java index 0e06ca29a2..ed309a394e 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/services/CreateServiceInstanceRequestTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/services/CreateServiceInstanceRequestTest.java @@ -23,34 +23,33 @@ public final class CreateServiceInstanceRequestTest { @Test(expected = IllegalStateException.class) public void noPlan() { CreateServiceInstanceRequest.builder() - .serviceName("test-service-name") - .serviceInstanceName("test-service-instance-name") - .build(); + .serviceName("test-service-name") + .serviceInstanceName("test-service-instance-name") + .build(); } @Test(expected = IllegalStateException.class) public void noServiceInstanceName() { CreateServiceInstanceRequest.builder() - .planName("test-plan-name") - .serviceName("test-service-name") - .build(); + .planName("test-plan-name") + .serviceName("test-service-name") + .build(); } @Test(expected = IllegalStateException.class) public void noServiceName() { CreateServiceInstanceRequest.builder() - .planName("test-plan-name") - .serviceInstanceName("test-service-instance-name") - .build(); + .planName("test-plan-name") + .serviceInstanceName("test-service-instance-name") + .build(); } @Test public void valid() { CreateServiceInstanceRequest.builder() - .planName("test-plan-name") - .serviceName("test-service-name") - .serviceInstanceName("test-service-instance-name") - .build(); + .planName("test-plan-name") + .serviceName("test-service-name") + .serviceInstanceName("test-service-instance-name") + .build(); } - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/services/CreateServiceKeyRequestTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/services/CreateServiceKeyRequestTest.java index 55f6367362..33fe39ca88 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/services/CreateServiceKeyRequestTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/services/CreateServiceKeyRequestTest.java @@ -22,24 +22,19 @@ public final class CreateServiceKeyRequestTest { @Test(expected = IllegalStateException.class) public void noSerivceInstanceName() { - CreateServiceKeyRequest.builder() - .serviceKeyName("test-service-key-name") - .build(); + CreateServiceKeyRequest.builder().serviceKeyName("test-service-key-name").build(); } @Test(expected = IllegalStateException.class) public void noServiceKeyName() { - CreateServiceKeyRequest.builder() - .serviceInstanceName("test-service-instance-name") - .build(); + CreateServiceKeyRequest.builder().serviceInstanceName("test-service-instance-name").build(); } @Test public void valid() { CreateServiceKeyRequest.builder() - .serviceInstanceName("test-service-instance-name") - .serviceKeyName("test-service-key-name") - .build(); + .serviceInstanceName("test-service-instance-name") + .serviceKeyName("test-service-key-name") + .build(); } - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/services/CreateUserProvidedServiceInstanceRequestTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/services/CreateUserProvidedServiceInstanceRequestTest.java index 0b00bf796a..a248917c6c 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/services/CreateUserProvidedServiceInstanceRequestTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/services/CreateUserProvidedServiceInstanceRequestTest.java @@ -22,15 +22,11 @@ public final class CreateUserProvidedServiceInstanceRequestTest { @Test(expected = IllegalStateException.class) public void noName() { - CreateUserProvidedServiceInstanceRequest.builder() - .build(); + CreateUserProvidedServiceInstanceRequest.builder().build(); } @Test public void valid() { - CreateUserProvidedServiceInstanceRequest.builder() - .name("test-name") - .build(); + CreateUserProvidedServiceInstanceRequest.builder().name("test-name").build(); } - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/services/DefaultServicesTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/services/DefaultServicesTest.java index b6e2e545a1..022adec0df 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/services/DefaultServicesTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/services/DefaultServicesTest.java @@ -16,6 +16,18 @@ package org.cloudfoundry.operations.services; +import static org.assertj.core.api.Assertions.assertThat; +import static org.cloudfoundry.operations.TestObjects.fill; +import static org.mockito.Mockito.when; + +import java.time.Duration; +import java.util.Arrays; +import java.util.Collections; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; +import java.util.Queue; +import java.util.function.Supplier; import org.cloudfoundry.client.CloudFoundryClient; import org.cloudfoundry.client.v2.ClientV2Exception; import org.cloudfoundry.client.v2.MaintenanceInfo; @@ -99,468 +111,636 @@ import reactor.test.StepVerifier; import reactor.test.scheduler.VirtualTimeScheduler; -import java.time.Duration; -import java.util.Arrays; -import java.util.Collections; -import java.util.LinkedList; -import java.util.List; -import java.util.Map; -import java.util.Queue; -import java.util.function.Supplier; - -import static org.assertj.core.api.Assertions.assertThat; -import static org.cloudfoundry.operations.TestObjects.fill; -import static org.mockito.Mockito.when; - public final class DefaultServicesTest extends AbstractOperationsTest { - private final DefaultServices services = new DefaultServices(Mono.just(this.cloudFoundryClient), Mono.just(TEST_ORGANIZATION_ID), Mono.just(TEST_SPACE_ID)); + private final DefaultServices services = + new DefaultServices( + Mono.just(this.cloudFoundryClient), + Mono.just(TEST_ORGANIZATION_ID), + Mono.just(TEST_SPACE_ID)); @Test public void bindRouteServiceInstanceAlreadyBound() { - requestListOrganizationPrivateDomains(this.cloudFoundryClient, "test-domain-name", TEST_ORGANIZATION_ID); - requestListSpaceServiceInstancesUserProvided(this.cloudFoundryClient, "test-service-instance-name", TEST_SPACE_ID); + requestListOrganizationPrivateDomains( + this.cloudFoundryClient, "test-domain-name", TEST_ORGANIZATION_ID); + requestListSpaceServiceInstancesUserProvided( + this.cloudFoundryClient, "test-service-instance-name", TEST_SPACE_ID); requestListRoutes(this.cloudFoundryClient, "test-private-domain-id"); - requestAssociateUserProvidedServiceInstanceRouteError(this.cloudFoundryClient, "test-route-id", "test-service-instance-id", - Collections.singletonMap("test-parameter-key", "test-parameter-value"), 130008); + requestAssociateUserProvidedServiceInstanceRouteError( + this.cloudFoundryClient, + "test-route-id", + "test-service-instance-id", + Collections.singletonMap("test-parameter-key", "test-parameter-value"), + 130008); this.services - .bindRoute(BindRouteServiceInstanceRequest.builder() - .domainName("test-domain-name") - .parameter("test-parameter-key", "test-parameter-value") - .serviceInstanceName("test-service-instance-name") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .bindRoute( + BindRouteServiceInstanceRequest.builder() + .domainName("test-domain-name") + .parameter("test-parameter-key", "test-parameter-value") + .serviceInstanceName("test-service-instance-name") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void bindRouteServiceInstanceDomainNotFound() { - requestListOrganizationPrivateDomainsEmpty(this.cloudFoundryClient, "test-domain-name", TEST_ORGANIZATION_ID); + requestListOrganizationPrivateDomainsEmpty( + this.cloudFoundryClient, "test-domain-name", TEST_ORGANIZATION_ID); requestListSharedDomainsEmpty(this.cloudFoundryClient, "test-domain-name"); this.services - .bindRoute(BindRouteServiceInstanceRequest.builder() - .domainName("test-domain-name") - .parameter("test-parameter-key", "test-parameter-value") - .serviceInstanceName("test-service-instance-name") - .build()) - .as(StepVerifier::create) - .consumeErrorWith(t -> assertThat(t).isInstanceOf(IllegalArgumentException.class).hasMessage("Domain test-domain-name not found")) - .verify(Duration.ofSeconds(5)); + .bindRoute( + BindRouteServiceInstanceRequest.builder() + .domainName("test-domain-name") + .parameter("test-parameter-key", "test-parameter-value") + .serviceInstanceName("test-service-instance-name") + .build()) + .as(StepVerifier::create) + .consumeErrorWith( + t -> + assertThat(t) + .isInstanceOf(IllegalArgumentException.class) + .hasMessage("Domain test-domain-name not found")) + .verify(Duration.ofSeconds(5)); } @Test public void bindRouteServiceInstancePrivateDomain() { - requestListOrganizationPrivateDomains(this.cloudFoundryClient, "test-domain-name", TEST_ORGANIZATION_ID); - requestListSpaceServiceInstancesUserProvided(this.cloudFoundryClient, "test-service-instance-name", TEST_SPACE_ID); + requestListOrganizationPrivateDomains( + this.cloudFoundryClient, "test-domain-name", TEST_ORGANIZATION_ID); + requestListSpaceServiceInstancesUserProvided( + this.cloudFoundryClient, "test-service-instance-name", TEST_SPACE_ID); requestListRoutes(this.cloudFoundryClient, "test-private-domain-id"); - requestAssociateUserProvidedServiceInstanceRoute(this.cloudFoundryClient, "test-route-id", "test-service-instance-id", - Collections.singletonMap("test-parameter-key", "test-parameter-value")); + requestAssociateUserProvidedServiceInstanceRoute( + this.cloudFoundryClient, + "test-route-id", + "test-service-instance-id", + Collections.singletonMap("test-parameter-key", "test-parameter-value")); this.services - .bindRoute(BindRouteServiceInstanceRequest.builder() - .domainName("test-domain-name") - .parameter("test-parameter-key", "test-parameter-value") - .serviceInstanceName("test-service-instance-name") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .bindRoute( + BindRouteServiceInstanceRequest.builder() + .domainName("test-domain-name") + .parameter("test-parameter-key", "test-parameter-value") + .serviceInstanceName("test-service-instance-name") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void bindRouteServiceInstancePrivateDomainWithHostAndPath() { - requestListOrganizationPrivateDomains(this.cloudFoundryClient, "test-domain-name", TEST_ORGANIZATION_ID); - requestListSpaceServiceInstancesUserProvided(this.cloudFoundryClient, "test-service-instance-name", TEST_SPACE_ID); - requestListRoutes(this.cloudFoundryClient, "test-private-domain-id", "test-host", "test-path"); - requestAssociateUserProvidedServiceInstanceRoute(this.cloudFoundryClient, "test-route-id", "test-service-instance-id", - Collections.singletonMap("test-parameter-key", "test-parameter-value")); + requestListOrganizationPrivateDomains( + this.cloudFoundryClient, "test-domain-name", TEST_ORGANIZATION_ID); + requestListSpaceServiceInstancesUserProvided( + this.cloudFoundryClient, "test-service-instance-name", TEST_SPACE_ID); + requestListRoutes( + this.cloudFoundryClient, "test-private-domain-id", "test-host", "test-path"); + requestAssociateUserProvidedServiceInstanceRoute( + this.cloudFoundryClient, + "test-route-id", + "test-service-instance-id", + Collections.singletonMap("test-parameter-key", "test-parameter-value")); this.services - .bindRoute(BindRouteServiceInstanceRequest.builder() - .domainName("test-domain-name") - .hostname("test-host") - .parameter("test-parameter-key", "test-parameter-value") - .path("test-path") - .serviceInstanceName("test-service-instance-name") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .bindRoute( + BindRouteServiceInstanceRequest.builder() + .domainName("test-domain-name") + .hostname("test-host") + .parameter("test-parameter-key", "test-parameter-value") + .path("test-path") + .serviceInstanceName("test-service-instance-name") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void bindRouteServiceInstanceServiceInstanceNotFound() { - requestListOrganizationPrivateDomains(this.cloudFoundryClient, "test-domain-name", TEST_ORGANIZATION_ID); - requestListSpaceServiceInstancesEmpty(this.cloudFoundryClient, "test-service-instance-name", TEST_SPACE_ID); + requestListOrganizationPrivateDomains( + this.cloudFoundryClient, "test-domain-name", TEST_ORGANIZATION_ID); + requestListSpaceServiceInstancesEmpty( + this.cloudFoundryClient, "test-service-instance-name", TEST_SPACE_ID); requestListRoutes(this.cloudFoundryClient, "test-private-domain-id"); this.services - .bindRoute(BindRouteServiceInstanceRequest.builder() - .domainName("test-domain-name") - .parameter("test-parameter-key", "test-parameter-value") - .serviceInstanceName("test-service-instance-name") - .build()) - .as(StepVerifier::create) - .consumeErrorWith(t -> assertThat(t).isInstanceOf(IllegalArgumentException.class).hasMessage("Service instance test-service-instance-name does not exist")) - .verify(Duration.ofSeconds(5)); + .bindRoute( + BindRouteServiceInstanceRequest.builder() + .domainName("test-domain-name") + .parameter("test-parameter-key", "test-parameter-value") + .serviceInstanceName("test-service-instance-name") + .build()) + .as(StepVerifier::create) + .consumeErrorWith( + t -> + assertThat(t) + .isInstanceOf(IllegalArgumentException.class) + .hasMessage( + "Service instance test-service-instance-name does" + + " not exist")) + .verify(Duration.ofSeconds(5)); } @Test public void bindRouteServiceInstanceSharedDomain() { - requestListOrganizationPrivateDomainsEmpty(this.cloudFoundryClient, "test-domain-name", TEST_ORGANIZATION_ID); + requestListOrganizationPrivateDomainsEmpty( + this.cloudFoundryClient, "test-domain-name", TEST_ORGANIZATION_ID); requestListSharedDomains(this.cloudFoundryClient, "test-domain-name"); - requestListSpaceServiceInstancesUserProvided(this.cloudFoundryClient, "test-service-instance-name", TEST_SPACE_ID); + requestListSpaceServiceInstancesUserProvided( + this.cloudFoundryClient, "test-service-instance-name", TEST_SPACE_ID); requestListRoutes(this.cloudFoundryClient, "test-shared-domain-id"); - requestAssociateUserProvidedServiceInstanceRoute(this.cloudFoundryClient, "test-route-id", "test-service-instance-id", - Collections.singletonMap("test-parameter-key", "test-parameter-value")); + requestAssociateUserProvidedServiceInstanceRoute( + this.cloudFoundryClient, + "test-route-id", + "test-service-instance-id", + Collections.singletonMap("test-parameter-key", "test-parameter-value")); this.services - .bindRoute(BindRouteServiceInstanceRequest.builder() - .domainName("test-domain-name") - .parameter("test-parameter-key", "test-parameter-value") - .serviceInstanceName("test-service-instance-name") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .bindRoute( + BindRouteServiceInstanceRequest.builder() + .domainName("test-domain-name") + .parameter("test-parameter-key", "test-parameter-value") + .serviceInstanceName("test-service-instance-name") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void bindServiceInstance() { requestApplications(this.cloudFoundryClient, "test-application-name", TEST_SPACE_ID); - requestListSpaceServiceInstances(this.cloudFoundryClient, "test-service-instance-name", TEST_SPACE_ID); - requestCreateServiceBinding(this.cloudFoundryClient, "test-application-id", "test-service-instance-id", Collections.singletonMap("test-parameter-key", "test-parameter-value")); + requestListSpaceServiceInstances( + this.cloudFoundryClient, "test-service-instance-name", TEST_SPACE_ID); + requestCreateServiceBinding( + this.cloudFoundryClient, + "test-application-id", + "test-service-instance-id", + Collections.singletonMap("test-parameter-key", "test-parameter-value")); this.services - .bind(BindServiceInstanceRequest.builder() - .applicationName("test-application-name") - .parameter("test-parameter-key", "test-parameter-value") - .serviceInstanceName("test-service-instance-name") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .bind( + BindServiceInstanceRequest.builder() + .applicationName("test-application-name") + .parameter("test-parameter-key", "test-parameter-value") + .serviceInstanceName("test-service-instance-name") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void bindServiceInstanceAlreadyBound() { requestApplications(this.cloudFoundryClient, "test-application-name", TEST_SPACE_ID); - requestListSpaceServiceInstances(this.cloudFoundryClient, "test-service-instance-name", TEST_SPACE_ID); - requestCreateServiceBindingError(this.cloudFoundryClient, "test-application-id", "test-service-instance-id", Collections.singletonMap("test-parameter-key", "test-parameter-value"), 90003); + requestListSpaceServiceInstances( + this.cloudFoundryClient, "test-service-instance-name", TEST_SPACE_ID); + requestCreateServiceBindingError( + this.cloudFoundryClient, + "test-application-id", + "test-service-instance-id", + Collections.singletonMap("test-parameter-key", "test-parameter-value"), + 90003); this.services - .bind(BindServiceInstanceRequest.builder() - .applicationName("test-application-name") - .parameter("test-parameter-key", "test-parameter-value") - .serviceInstanceName("test-service-instance-name") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .bind( + BindServiceInstanceRequest.builder() + .applicationName("test-application-name") + .parameter("test-parameter-key", "test-parameter-value") + .serviceInstanceName("test-service-instance-name") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void bindServiceInstanceNoApplication() { requestApplicationsEmpty(this.cloudFoundryClient, "test-application-name", TEST_SPACE_ID); - requestListSpaceServiceInstances(this.cloudFoundryClient, "test-service-instance-name", TEST_SPACE_ID); + requestListSpaceServiceInstances( + this.cloudFoundryClient, "test-service-instance-name", TEST_SPACE_ID); this.services - .bind(BindServiceInstanceRequest.builder() - .applicationName("test-application-name") - .parameter("test-parameter-key", "test-parameter-value") - .serviceInstanceName("test-service-instance-name") - .build()) - .as(StepVerifier::create) - .consumeErrorWith(t -> assertThat(t).isInstanceOf(IllegalArgumentException.class).hasMessage("Application test-application-name does not exist")) - .verify(Duration.ofSeconds(5)); + .bind( + BindServiceInstanceRequest.builder() + .applicationName("test-application-name") + .parameter("test-parameter-key", "test-parameter-value") + .serviceInstanceName("test-service-instance-name") + .build()) + .as(StepVerifier::create) + .consumeErrorWith( + t -> + assertThat(t) + .isInstanceOf(IllegalArgumentException.class) + .hasMessage( + "Application test-application-name does not exist")) + .verify(Duration.ofSeconds(5)); } @Test public void bindServiceInstanceNoServiceInstance() { requestApplications(this.cloudFoundryClient, "test-application-name", TEST_SPACE_ID); - requestListSpaceServiceInstancesEmpty(this.cloudFoundryClient, "test-service-instance-name", TEST_SPACE_ID); + requestListSpaceServiceInstancesEmpty( + this.cloudFoundryClient, "test-service-instance-name", TEST_SPACE_ID); this.services - .bind(BindServiceInstanceRequest.builder() - .applicationName("test-application-name") - .parameter("test-parameter-key", "test-parameter-value") - .serviceInstanceName("test-service-instance-name") - .build()) - .as(StepVerifier::create) - .consumeErrorWith(t -> assertThat(t).isInstanceOf(IllegalArgumentException.class).hasMessage("Service instance test-service-instance-name does not exist")) - .verify(Duration.ofSeconds(5)); + .bind( + BindServiceInstanceRequest.builder() + .applicationName("test-application-name") + .parameter("test-parameter-key", "test-parameter-value") + .serviceInstanceName("test-service-instance-name") + .build()) + .as(StepVerifier::create) + .consumeErrorWith( + t -> + assertThat(t) + .isInstanceOf(IllegalArgumentException.class) + .hasMessage( + "Service instance test-service-instance-name does" + + " not exist")) + .verify(Duration.ofSeconds(5)); } @Test public void createServiceInstance() { requestListSpaceServices(this.cloudFoundryClient, TEST_SPACE_ID, "test-service"); - requestListSpaceServicePlans(this.cloudFoundryClient, "test-service-id", "test-plan", "test-plan-id"); - requestCreateServiceInstance(this.cloudFoundryClient, TEST_SPACE_ID, "test-plan-id", "test-service-instance", null, null, "test-service-instance-id", "in progress"); - requestGetServiceInstance(this.cloudFoundryClient, "test-service-instance-id", "successful"); + requestListSpaceServicePlans( + this.cloudFoundryClient, "test-service-id", "test-plan", "test-plan-id"); + requestCreateServiceInstance( + this.cloudFoundryClient, + TEST_SPACE_ID, + "test-plan-id", + "test-service-instance", + null, + null, + "test-service-instance-id", + "in progress"); + requestGetServiceInstance( + this.cloudFoundryClient, "test-service-instance-id", "successful"); this.services - .createInstance(CreateServiceInstanceRequest.builder() - .planName("test-plan") - .serviceInstanceName("test-service-instance") - .serviceName("test-service") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .createInstance( + CreateServiceInstanceRequest.builder() + .planName("test-plan") + .serviceInstanceName("test-service-instance") + .serviceName("test-service") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void createServiceKey() { - requestListSpaceServiceInstances(this.cloudFoundryClient, "test-service-instance", TEST_SPACE_ID); - requestCreateServiceKey(this.cloudFoundryClient, "test-service-instance-id", "test-service-key", - Collections.singletonMap("test-parameter-key", "test-parameter-value")); + requestListSpaceServiceInstances( + this.cloudFoundryClient, "test-service-instance", TEST_SPACE_ID); + requestCreateServiceKey( + this.cloudFoundryClient, + "test-service-instance-id", + "test-service-key", + Collections.singletonMap("test-parameter-key", "test-parameter-value")); this.services - .createServiceKey(CreateServiceKeyRequest.builder() - .parameter("test-parameter-key", "test-parameter-value") - .serviceInstanceName("test-service-instance") - .serviceKeyName("test-service-key") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .createServiceKey( + CreateServiceKeyRequest.builder() + .parameter("test-parameter-key", "test-parameter-value") + .serviceInstanceName("test-service-instance") + .serviceKeyName("test-service-key") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void createServiceKeyNoServiceInstance() { - requestListSpaceServiceInstancesEmpty(this.cloudFoundryClient, "test-service-instance-does-not-exist", TEST_SPACE_ID); + requestListSpaceServiceInstancesEmpty( + this.cloudFoundryClient, "test-service-instance-does-not-exist", TEST_SPACE_ID); this.services - .createServiceKey(CreateServiceKeyRequest.builder() - .parameter("test-parameter-key", "test-parameter-value") - .serviceInstanceName("test-service-instance-does-not-exist") - .serviceKeyName("test-service-key") - .build()) - .as(StepVerifier::create) - .consumeErrorWith(t -> assertThat(t).isInstanceOf(IllegalArgumentException.class).hasMessage("Service instance test-service-instance-does-not-exist does not exist")) - .verify(Duration.ofSeconds(5)); + .createServiceKey( + CreateServiceKeyRequest.builder() + .parameter("test-parameter-key", "test-parameter-value") + .serviceInstanceName("test-service-instance-does-not-exist") + .serviceKeyName("test-service-key") + .build()) + .as(StepVerifier::create) + .consumeErrorWith( + t -> + assertThat(t) + .isInstanceOf(IllegalArgumentException.class) + .hasMessage( + "Service instance" + + " test-service-instance-does-not-exist does" + + " not exist")) + .verify(Duration.ofSeconds(5)); } @Test public void createUserProvidedServiceInstance() { - requestCreateUserProvidedServiceInstance(this.cloudFoundryClient, TEST_SPACE_ID, "test-user-provided-service-instance", - Collections.singletonMap("test-credential-key", "test-credential-value"), "test-route-url", "test-syslog-url", "test-tag", "test-user-provided-service-instance-id"); + requestCreateUserProvidedServiceInstance( + this.cloudFoundryClient, + TEST_SPACE_ID, + "test-user-provided-service-instance", + Collections.singletonMap("test-credential-key", "test-credential-value"), + "test-route-url", + "test-syslog-url", + "test-tag", + "test-user-provided-service-instance-id"); this.services - .createUserProvidedInstance(CreateUserProvidedServiceInstanceRequest.builder() - .credential("test-credential-key", "test-credential-value") - .name("test-user-provided-service-instance") - .routeServiceUrl("test-route-url") - .syslogDrainUrl("test-syslog-url") - .tags("test-tag") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .createUserProvidedInstance( + CreateUserProvidedServiceInstanceRequest.builder() + .credential("test-credential-key", "test-credential-value") + .name("test-user-provided-service-instance") + .routeServiceUrl("test-route-url") + .syslogDrainUrl("test-syslog-url") + .tags("test-tag") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void deleteServiceInstance() { - requestListSpaceServiceInstances(this.cloudFoundryClient, "test-service-instance-name", TEST_SPACE_ID); + requestListSpaceServiceInstances( + this.cloudFoundryClient, "test-service-instance-name", TEST_SPACE_ID); requestDeleteServiceInstance(this.cloudFoundryClient, "test-service-instance-id"); requestJobSuccess(this.cloudFoundryClient, "test-job-entity-id"); - StepVerifier.withVirtualTime(() -> this.services - .deleteInstance(DeleteServiceInstanceRequest.builder() - .name("test-service-instance-name") - .build())) - .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(3))) - .expectComplete() - .verify(Duration.ofSeconds(5)); + StepVerifier.withVirtualTime( + () -> + this.services.deleteInstance( + DeleteServiceInstanceRequest.builder() + .name("test-service-instance-name") + .build())) + .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(3))) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void deleteServiceInstanceAcceptsIncomplete() { - requestListSpaceServiceInstances(this.cloudFoundryClient, "test-service-instance-name", TEST_SPACE_ID); - requestDeleteServiceInstanceAcceptsIncomplete(this.cloudFoundryClient, "test-service-instance-id"); + requestListSpaceServiceInstances( + this.cloudFoundryClient, "test-service-instance-name", TEST_SPACE_ID); + requestDeleteServiceInstanceAcceptsIncomplete( + this.cloudFoundryClient, "test-service-instance-id"); requestGetServiceInstanceNotExist(this.cloudFoundryClient, "test-service-instance-id"); this.services - .deleteInstance(DeleteServiceInstanceRequest.builder() - .name("test-service-instance-name") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .deleteInstance( + DeleteServiceInstanceRequest.builder() + .name("test-service-instance-name") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void deleteServiceInstanceNotFound() { - requestListSpaceServiceInstancesEmpty(this.cloudFoundryClient, "test-invalid-name", TEST_SPACE_ID); + requestListSpaceServiceInstancesEmpty( + this.cloudFoundryClient, "test-invalid-name", TEST_SPACE_ID); this.services - .deleteInstance(DeleteServiceInstanceRequest.builder() - .name("test-invalid-name") - .build()) - .as(StepVerifier::create) - .consumeErrorWith(t -> assertThat(t).isInstanceOf(IllegalArgumentException.class).hasMessage("Service instance test-invalid-name does not exist")) - .verify(Duration.ofSeconds(5)); + .deleteInstance( + DeleteServiceInstanceRequest.builder().name("test-invalid-name").build()) + .as(StepVerifier::create) + .consumeErrorWith( + t -> + assertThat(t) + .isInstanceOf(IllegalArgumentException.class) + .hasMessage( + "Service instance test-invalid-name does not" + + " exist")) + .verify(Duration.ofSeconds(5)); } @Test public void deleteServiceKey() { - requestListSpaceServiceInstances(this.cloudFoundryClient, "test-service-instance-name", TEST_SPACE_ID); - requestListSpaceServiceInstanceServiceKeys(this.cloudFoundryClient, "test-service-instance-id", "test-service-key-name", "key", "val"); + requestListSpaceServiceInstances( + this.cloudFoundryClient, "test-service-instance-name", TEST_SPACE_ID); + requestListSpaceServiceInstanceServiceKeys( + this.cloudFoundryClient, + "test-service-instance-id", + "test-service-key-name", + "key", + "val"); requestDeleteServiceKey(this.cloudFoundryClient, "test-service-key-id"); this.services - .deleteServiceKey(DeleteServiceKeyRequest.builder() - .serviceInstanceName("test-service-instance-name") - .serviceKeyName("test-service-key-name") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .deleteServiceKey( + DeleteServiceKeyRequest.builder() + .serviceInstanceName("test-service-instance-name") + .serviceKeyName("test-service-key-name") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void deleteServiceKeyNoServiceInstance() { - requestListSpaceServiceInstancesEmpty(this.cloudFoundryClient, "test-service-instance", TEST_SPACE_ID); + requestListSpaceServiceInstancesEmpty( + this.cloudFoundryClient, "test-service-instance", TEST_SPACE_ID); this.services - .deleteServiceKey(DeleteServiceKeyRequest.builder() - .serviceInstanceName("test-service-instance") - .serviceKeyName("test-service-key") - .build()) - .as(StepVerifier::create) - .consumeErrorWith(t -> assertThat(t).isInstanceOf(IllegalArgumentException.class).hasMessage("Service instance test-service-instance does not exist")) - .verify(Duration.ofSeconds(5)); + .deleteServiceKey( + DeleteServiceKeyRequest.builder() + .serviceInstanceName("test-service-instance") + .serviceKeyName("test-service-key") + .build()) + .as(StepVerifier::create) + .consumeErrorWith( + t -> + assertThat(t) + .isInstanceOf(IllegalArgumentException.class) + .hasMessage( + "Service instance test-service-instance does not" + + " exist")) + .verify(Duration.ofSeconds(5)); } @Test public void deleteServiceKeyNoServiceKey() { - requestListSpaceServiceInstances(this.cloudFoundryClient, "test-service-instance-name", TEST_SPACE_ID); - requestListSpaceServiceInstanceServiceKeysEmpty(this.cloudFoundryClient, "test-service-instance-id", "test-service-key-not-found"); + requestListSpaceServiceInstances( + this.cloudFoundryClient, "test-service-instance-name", TEST_SPACE_ID); + requestListSpaceServiceInstanceServiceKeysEmpty( + this.cloudFoundryClient, "test-service-instance-id", "test-service-key-not-found"); this.services - .deleteServiceKey(DeleteServiceKeyRequest.builder() - .serviceInstanceName("test-service-instance-name") - .serviceKeyName("test-service-key-not-found") - .build()).as(StepVerifier::create) - .consumeErrorWith(t -> assertThat(t).isInstanceOf(IllegalArgumentException.class).hasMessage("Service key test-service-key-not-found does not exist")) - .verify(Duration.ofSeconds(5)); + .deleteServiceKey( + DeleteServiceKeyRequest.builder() + .serviceInstanceName("test-service-instance-name") + .serviceKeyName("test-service-key-not-found") + .build()) + .as(StepVerifier::create) + .consumeErrorWith( + t -> + assertThat(t) + .isInstanceOf(IllegalArgumentException.class) + .hasMessage( + "Service key test-service-key-not-found does not" + + " exist")) + .verify(Duration.ofSeconds(5)); } @Test public void deleteUserProvidedServiceInstance() { - requestListSpaceServiceInstancesUserProvided(this.cloudFoundryClient, "test-service-instance-name", TEST_SPACE_ID); - requestDeleteUserProvidedServiceInstance(this.cloudFoundryClient, "test-service-instance-id"); + requestListSpaceServiceInstancesUserProvided( + this.cloudFoundryClient, "test-service-instance-name", TEST_SPACE_ID); + requestDeleteUserProvidedServiceInstance( + this.cloudFoundryClient, "test-service-instance-id"); this.services - .deleteInstance(DeleteServiceInstanceRequest.builder() - .name("test-service-instance-name") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .deleteInstance( + DeleteServiceInstanceRequest.builder() + .name("test-service-instance-name") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void getServiceInstanceManaged() { - requestListSpaceServiceInstancesManaged(this.cloudFoundryClient, "test-service-instance-name", TEST_SPACE_ID); - requestGetServicePlan(this.cloudFoundryClient, "test-service-plan-id", "test-service-plan", "test-service-id"); - requestListSpaceServiceBindings(this.cloudFoundryClient, "test-service-instance-id", "test-application-id"); + requestListSpaceServiceInstancesManaged( + this.cloudFoundryClient, "test-service-instance-name", TEST_SPACE_ID); + requestGetServicePlan( + this.cloudFoundryClient, + "test-service-plan-id", + "test-service-plan", + "test-service-id"); + requestListSpaceServiceBindings( + this.cloudFoundryClient, "test-service-instance-id", "test-application-id"); requestGetService(this.cloudFoundryClient, "test-service-id", "test-service"); requestGetApplication(this.cloudFoundryClient, "test-application-id", "test-application"); this.services - .getInstance(GetServiceInstanceRequest.builder() - .name("test-service-instance-name") - .build()) - .as(StepVerifier::create) - .expectNext(fill(ServiceInstance.builder()) - .application("test-application") - .documentationUrl("test-documentation-url") - .id("test-service-instance-id") - .lastOperation("test-type") - .maintenanceInfo(MaintenanceInfo.builder() - .description("test-description") - .version("test-version") - .build()) - .name("test-service-instance-name") - .plan("test-service-plan") - .tag("test-tag") - .type(ServiceInstanceType.MANAGED) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .getInstance( + GetServiceInstanceRequest.builder() + .name("test-service-instance-name") + .build()) + .as(StepVerifier::create) + .expectNext( + fill(ServiceInstance.builder()) + .application("test-application") + .documentationUrl("test-documentation-url") + .id("test-service-instance-id") + .lastOperation("test-type") + .maintenanceInfo( + MaintenanceInfo.builder() + .description("test-description") + .version("test-version") + .build()) + .name("test-service-instance-name") + .plan("test-service-plan") + .tag("test-tag") + .type(ServiceInstanceType.MANAGED) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void getServiceInstanceNoInstances() { - requestListSpaceServiceInstancesEmpty(this.cloudFoundryClient, "test-invalid-name", TEST_SPACE_ID); + requestListSpaceServiceInstancesEmpty( + this.cloudFoundryClient, "test-invalid-name", TEST_SPACE_ID); this.services - .getInstance(GetServiceInstanceRequest.builder() - .name("test-invalid-name") - .build()) - .as(StepVerifier::create) - .consumeErrorWith(t -> assertThat(t).isInstanceOf(IllegalArgumentException.class).hasMessage("Service instance test-invalid-name does not exist")) - .verify(Duration.ofSeconds(5)); + .getInstance(GetServiceInstanceRequest.builder().name("test-invalid-name").build()) + .as(StepVerifier::create) + .consumeErrorWith( + t -> + assertThat(t) + .isInstanceOf(IllegalArgumentException.class) + .hasMessage( + "Service instance test-invalid-name does not" + + " exist")) + .verify(Duration.ofSeconds(5)); } @Test public void getServiceInstanceUserProvided() { - requestListSpaceServiceInstancesUserProvided(this.cloudFoundryClient, "test-service-instance-name", TEST_SPACE_ID); - requestListSpaceServiceBindings(this.cloudFoundryClient, "test-service-instance-id", "test-application-id"); + requestListSpaceServiceInstancesUserProvided( + this.cloudFoundryClient, "test-service-instance-name", TEST_SPACE_ID); + requestListSpaceServiceBindings( + this.cloudFoundryClient, "test-service-instance-id", "test-application-id"); requestGetApplication(this.cloudFoundryClient, "test-application-id", "test-application"); this.services - .getInstance(GetServiceInstanceRequest.builder() - .name("test-service-instance-name") - .build()) - .as(StepVerifier::create) - .expectNext(ServiceInstance.builder() - .application("test-application") - .id("test-service-instance-id") - .name("test-service-instance-name") - .type(ServiceInstanceType.USER_PROVIDED) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .getInstance( + GetServiceInstanceRequest.builder() + .name("test-service-instance-name") + .build()) + .as(StepVerifier::create) + .expectNext( + ServiceInstance.builder() + .application("test-application") + .id("test-service-instance-id") + .name("test-service-instance-name") + .type(ServiceInstanceType.USER_PROVIDED) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void getServiceKey() { - requestListSpaceServiceInstances(this.cloudFoundryClient, "test-service-instance-name", TEST_SPACE_ID); - requestListSpaceServiceInstanceServiceKeys(this.cloudFoundryClient, "test-service-instance-id", "test-service-key-name", "key", "val"); + requestListSpaceServiceInstances( + this.cloudFoundryClient, "test-service-instance-name", TEST_SPACE_ID); + requestListSpaceServiceInstanceServiceKeys( + this.cloudFoundryClient, + "test-service-instance-id", + "test-service-key-name", + "key", + "val"); this.services - .getServiceKey(GetServiceKeyRequest.builder() - .serviceInstanceName("test-service-instance-name") - .serviceKeyName("test-service-key-name") - .build()) - .as(StepVerifier::create) - .expectNext(ServiceKey.builder() - .credential("key", "val") - .id("test-service-key-id") - .name("test-service-key-name") - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .getServiceKey( + GetServiceKeyRequest.builder() + .serviceInstanceName("test-service-instance-name") + .serviceKeyName("test-service-key-name") + .build()) + .as(StepVerifier::create) + .expectNext( + ServiceKey.builder() + .credential("key", "val") + .id("test-service-key-id") + .name("test-service-key-name") + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void getServiceKeyNoKeys() { - requestListSpaceServiceInstances(this.cloudFoundryClient, "test-service-instance-name", TEST_SPACE_ID); - requestListSpaceServiceInstanceServiceKeysEmpty(this.cloudFoundryClient, "test-service-instance-id", "test-service-key-not-found"); + requestListSpaceServiceInstances( + this.cloudFoundryClient, "test-service-instance-name", TEST_SPACE_ID); + requestListSpaceServiceInstanceServiceKeysEmpty( + this.cloudFoundryClient, "test-service-instance-id", "test-service-key-not-found"); this.services - .getServiceKey(GetServiceKeyRequest.builder() - .serviceInstanceName("test-service-instance-name") - .serviceKeyName("test-service-key-not-found") - .build()) - .as(StepVerifier::create) - .consumeErrorWith(t -> assertThat(t).isInstanceOf(IllegalArgumentException.class).hasMessage("Service key test-service-key-not-found does not exist")) - .verify(Duration.ofSeconds(5)); + .getServiceKey( + GetServiceKeyRequest.builder() + .serviceInstanceName("test-service-instance-name") + .serviceKeyName("test-service-key-not-found") + .build()) + .as(StepVerifier::create) + .consumeErrorWith( + t -> + assertThat(t) + .isInstanceOf(IllegalArgumentException.class) + .hasMessage( + "Service key test-service-key-not-found does not" + + " exist")) + .verify(Duration.ofSeconds(5)); } @Test @@ -568,19 +748,20 @@ public void listInstancesManagedServices() { requestGetSpaceSummaryManagedServices(this.cloudFoundryClient, TEST_SPACE_ID); this.services - .listInstances() - .as(StepVerifier::create) - .expectNext(ServiceInstanceSummary.builder() - .applications("test-application-name-1", "test-application-name-2") - .id("test-service-id-2") - .lastOperation("test-last-operation-description-2") - .name("test-service-name-2") - .plan("test-service-plan-name-2") - .service("test-provided-service-label") - .type(ServiceInstanceType.MANAGED) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .listInstances() + .as(StepVerifier::create) + .expectNext( + ServiceInstanceSummary.builder() + .applications("test-application-name-1", "test-application-name-2") + .id("test-service-id-2") + .lastOperation("test-last-operation-description-2") + .name("test-service-name-2") + .plan("test-service-plan-name-2") + .service("test-provided-service-label") + .type(ServiceInstanceType.MANAGED) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test @@ -588,18 +769,19 @@ public void listInstancesNoApplications() { requestGetSpaceSummaryManagedServicesNoApplications(this.cloudFoundryClient, TEST_SPACE_ID); this.services - .listInstances() - .as(StepVerifier::create) - .expectNext(ServiceInstanceSummary.builder() - .id("test-service-id") - .lastOperation("test-last-operation-description") - .name("test-service-name") - .plan("test-service-plan-name") - .service("test-provided-service-label") - .type(ServiceInstanceType.MANAGED) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .listInstances() + .as(StepVerifier::create) + .expectNext( + ServiceInstanceSummary.builder() + .id("test-service-id") + .lastOperation("test-last-operation-description") + .name("test-service-name") + .plan("test-service-plan-name") + .service("test-provided-service-label") + .type(ServiceInstanceType.MANAGED) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test @@ -607,10 +789,10 @@ public void listInstancesNoInstances() { requestGetSpaceSummaryEmpty(this.cloudFoundryClient, TEST_SPACE_ID); this.services - .listInstances() - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .listInstances() + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test @@ -618,19 +800,20 @@ public void listInstancesOneApplication() { requestGetSpaceSummaryManagedServicesOneApplication(this.cloudFoundryClient, TEST_SPACE_ID); this.services - .listInstances() - .as(StepVerifier::create) - .expectNext(ServiceInstanceSummary.builder() - .application("test-application-name") - .id("test-service-id-1") - .lastOperation("test-last-operation-description-1") - .name("test-service-name-1") - .plan("test-service-plan-name-1") - .service("test-provided-service-label") - .type(ServiceInstanceType.MANAGED) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .listInstances() + .as(StepVerifier::create) + .expectNext( + ServiceInstanceSummary.builder() + .application("test-application-name") + .id("test-service-id-1") + .lastOperation("test-last-operation-description-1") + .name("test-service-name-1") + .plan("test-service-plan-name-1") + .service("test-provided-service-label") + .type(ServiceInstanceType.MANAGED) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test @@ -638,417 +821,587 @@ public void listInstancesUserProvidedServices() { requestGetSpaceSummaryUserProvidedServices(this.cloudFoundryClient, TEST_SPACE_ID); this.services - .listInstances() - .as(StepVerifier::create) - .expectNext(ServiceInstanceSummary.builder() - .applications("test-application-name-1", "test-application-name-2") - .id("test-service-id-2") - .name("test-service-name-2") - .type(ServiceInstanceType.USER_PROVIDED) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .listInstances() + .as(StepVerifier::create) + .expectNext( + ServiceInstanceSummary.builder() + .applications("test-application-name-1", "test-application-name-2") + .id("test-service-id-2") + .name("test-service-name-2") + .type(ServiceInstanceType.USER_PROVIDED) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void listServiceKeys() { - requestListSpaceServiceInstances(this.cloudFoundryClient, "test-service-instance-name", TEST_SPACE_ID); - requestListSpaceServiceInstanceServiceKeys(this.cloudFoundryClient, "test-service-instance-id", "key", "val"); + requestListSpaceServiceInstances( + this.cloudFoundryClient, "test-service-instance-name", TEST_SPACE_ID); + requestListSpaceServiceInstanceServiceKeys( + this.cloudFoundryClient, "test-service-instance-id", "key", "val"); this.services - .listServiceKeys(ListServiceKeysRequest.builder() - .serviceInstanceName("test-service-instance-name") - .build()) - .as(StepVerifier::create) - .expectNext(ServiceKey.builder() - .credential("key", "val") - .id("test-service-key-id") - .name("test-service-key-entity-name") - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .listServiceKeys( + ListServiceKeysRequest.builder() + .serviceInstanceName("test-service-instance-name") + .build()) + .as(StepVerifier::create) + .expectNext( + ServiceKey.builder() + .credential("key", "val") + .id("test-service-key-id") + .name("test-service-key-entity-name") + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void listServiceKeysEmpty() { - requestListSpaceServiceInstances(this.cloudFoundryClient, "test-service-instance-name", TEST_SPACE_ID); - requestListSpaceServiceInstanceServiceKeysEmpty(this.cloudFoundryClient, "test-service-instance-id"); + requestListSpaceServiceInstances( + this.cloudFoundryClient, "test-service-instance-name", TEST_SPACE_ID); + requestListSpaceServiceInstanceServiceKeysEmpty( + this.cloudFoundryClient, "test-service-instance-id"); this.services - .listServiceKeys(ListServiceKeysRequest.builder() - .serviceInstanceName("test-service-instance-name") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .listServiceKeys( + ListServiceKeysRequest.builder() + .serviceInstanceName("test-service-instance-name") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void listServiceKeysNoServiceInstance() { - requestListSpaceServiceInstancesEmpty(this.cloudFoundryClient, "test-service-instance-name", TEST_SPACE_ID); + requestListSpaceServiceInstancesEmpty( + this.cloudFoundryClient, "test-service-instance-name", TEST_SPACE_ID); this.services - .listServiceKeys(ListServiceKeysRequest.builder() - .serviceInstanceName("test-service-instance-name") - .build()) - .as(StepVerifier::create) - .consumeErrorWith(t -> assertThat(t).isInstanceOf(IllegalArgumentException.class).hasMessage("Service instance test-service-instance-name does not exist")) - .verify(Duration.ofSeconds(5)); + .listServiceKeys( + ListServiceKeysRequest.builder() + .serviceInstanceName("test-service-instance-name") + .build()) + .as(StepVerifier::create) + .consumeErrorWith( + t -> + assertThat(t) + .isInstanceOf(IllegalArgumentException.class) + .hasMessage( + "Service instance test-service-instance-name does" + + " not exist")) + .verify(Duration.ofSeconds(5)); } @Test public void listServiceOfferings() { - requestListSpaceServicesTwo(this.cloudFoundryClient, TEST_SPACE_ID, "test-service1", "test-service2"); - requestListSpaceServicePlans(this.cloudFoundryClient, "test-service1-id", "test-service1-plan", "test-service1-plan-id"); - requestListSpaceServicePlans(this.cloudFoundryClient, "test-service2-id", "test-service2-plan", "test-service2-plan-id"); + requestListSpaceServicesTwo( + this.cloudFoundryClient, TEST_SPACE_ID, "test-service1", "test-service2"); + requestListSpaceServicePlans( + this.cloudFoundryClient, + "test-service1-id", + "test-service1-plan", + "test-service1-plan-id"); + requestListSpaceServicePlans( + this.cloudFoundryClient, + "test-service2-id", + "test-service2-plan", + "test-service2-plan-id"); this.services - .listServiceOfferings(ListServiceOfferingsRequest.builder() - .build()) - .as(StepVerifier::create) - .expectNext(ServiceOffering.builder() - .description("test-service1-description") - .id("test-service1-id") - .label("test-service1") - .servicePlan(ServicePlan.builder() - .description("test-description") - .free(true) - .id("test-service1-plan-id") - .name("test-service1-plan") - .build()) - .build(), - ServiceOffering.builder() - .description("test-service2-description") - .id("test-service2-id") - .label("test-service2") - .servicePlan(ServicePlan.builder() - .description("test-description") - .free(true) - .id("test-service2-plan-id") - .name("test-service2-plan") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .listServiceOfferings(ListServiceOfferingsRequest.builder().build()) + .as(StepVerifier::create) + .expectNext( + ServiceOffering.builder() + .description("test-service1-description") + .id("test-service1-id") + .label("test-service1") + .servicePlan( + ServicePlan.builder() + .description("test-description") + .free(true) + .id("test-service1-plan-id") + .name("test-service1-plan") + .build()) + .build(), + ServiceOffering.builder() + .description("test-service2-description") + .id("test-service2-id") + .label("test-service2") + .servicePlan( + ServicePlan.builder() + .description("test-description") + .free(true) + .id("test-service2-plan-id") + .name("test-service2-plan") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void listServiceOfferingsSingle() { requestListSpaceServices(this.cloudFoundryClient, TEST_SPACE_ID, "test-service"); - requestListSpaceServicePlans(this.cloudFoundryClient, "test-service-id", "test-service-plan", "test-service-plan-id"); + requestListSpaceServicePlans( + this.cloudFoundryClient, + "test-service-id", + "test-service-plan", + "test-service-plan-id"); this.services - .listServiceOfferings(ListServiceOfferingsRequest.builder() - .serviceName("test-service") - .build()) - .as(StepVerifier::create) - .expectNext(ServiceOffering.builder() - .description("test-service-description") - .id("test-service-id") - .label("test-service") - .servicePlan(ServicePlan.builder() - .description("test-description") - .free(true) - .id("test-service-plan-id") - .name("test-service-plan") - .build()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .listServiceOfferings( + ListServiceOfferingsRequest.builder().serviceName("test-service").build()) + .as(StepVerifier::create) + .expectNext( + ServiceOffering.builder() + .description("test-service-description") + .id("test-service-id") + .label("test-service") + .servicePlan( + ServicePlan.builder() + .description("test-description") + .free(true) + .id("test-service-plan-id") + .name("test-service-plan") + .build()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void renameServiceInstance() { - requestListSpaceServiceInstances(this.cloudFoundryClient, "test-service-instance-name", TEST_SPACE_ID); - requestRenameServiceInstance(this.cloudFoundryClient, "test-service-instance-id", "test-service-instance-new-name"); + requestListSpaceServiceInstances( + this.cloudFoundryClient, "test-service-instance-name", TEST_SPACE_ID); + requestRenameServiceInstance( + this.cloudFoundryClient, + "test-service-instance-id", + "test-service-instance-new-name"); this.services - .renameInstance(RenameServiceInstanceRequest.builder() - .name("test-service-instance-name") - .newName("test-service-instance-new-name") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .renameInstance( + RenameServiceInstanceRequest.builder() + .name("test-service-instance-name") + .newName("test-service-instance-new-name") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void unbindRoute() { - requestListOrganizationPrivateDomains(this.cloudFoundryClient, "test-domain-name", TEST_ORGANIZATION_ID); + requestListOrganizationPrivateDomains( + this.cloudFoundryClient, "test-domain-name", TEST_ORGANIZATION_ID); requestListRoutes(this.cloudFoundryClient, "test-private-domain-id"); - requestListSpaceServiceInstancesUserProvided(this.cloudFoundryClient, "test-service-instance-name", TEST_SPACE_ID); - requestRemoveUserProvidedServiceInstanceRoute(this.cloudFoundryClient, "test-route-id", "test-service-instance-id"); + requestListSpaceServiceInstancesUserProvided( + this.cloudFoundryClient, "test-service-instance-name", TEST_SPACE_ID); + requestRemoveUserProvidedServiceInstanceRoute( + this.cloudFoundryClient, "test-route-id", "test-service-instance-id"); this.services - .unbindRoute(UnbindRouteServiceInstanceRequest.builder() - .domainName("test-domain-name") - .serviceInstanceName("test-service-instance-name") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .unbindRoute( + UnbindRouteServiceInstanceRequest.builder() + .domainName("test-domain-name") + .serviceInstanceName("test-service-instance-name") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void unbindRouteServiceInstanceRouteNotFound() { - requestListOrganizationPrivateDomains(this.cloudFoundryClient, "test-domain-name", TEST_ORGANIZATION_ID); + requestListOrganizationPrivateDomains( + this.cloudFoundryClient, "test-domain-name", TEST_ORGANIZATION_ID); requestListRoutesEmpty(this.cloudFoundryClient, "test-private-domain-id"); - requestListSpaceServiceInstances(this.cloudFoundryClient, "test-service-instance-name", TEST_SPACE_ID); + requestListSpaceServiceInstances( + this.cloudFoundryClient, "test-service-instance-name", TEST_SPACE_ID); this.services - .unbindRoute(UnbindRouteServiceInstanceRequest.builder() - .domainName("test-domain-name") - .serviceInstanceName("test-service-instance-name") - .build()) - .as(StepVerifier::create) - .consumeErrorWith(t -> assertThat(t).isInstanceOf(IllegalArgumentException.class).hasMessage("Route test-domain-name does not exist")) - .verify(Duration.ofSeconds(5)); + .unbindRoute( + UnbindRouteServiceInstanceRequest.builder() + .domainName("test-domain-name") + .serviceInstanceName("test-service-instance-name") + .build()) + .as(StepVerifier::create) + .consumeErrorWith( + t -> + assertThat(t) + .isInstanceOf(IllegalArgumentException.class) + .hasMessage("Route test-domain-name does not exist")) + .verify(Duration.ofSeconds(5)); } @Test public void unbindRouteServiceInstanceServiceInstanceNotFound() { - requestListOrganizationPrivateDomains(this.cloudFoundryClient, "test-domain-name", TEST_ORGANIZATION_ID); + requestListOrganizationPrivateDomains( + this.cloudFoundryClient, "test-domain-name", TEST_ORGANIZATION_ID); requestListRoutes(this.cloudFoundryClient, "test-private-domain-id"); - requestListSpaceServiceInstancesEmpty(this.cloudFoundryClient, "test-service-instance-name", TEST_SPACE_ID); + requestListSpaceServiceInstancesEmpty( + this.cloudFoundryClient, "test-service-instance-name", TEST_SPACE_ID); this.services - .unbindRoute(UnbindRouteServiceInstanceRequest.builder() - .domainName("test-domain-name") - .serviceInstanceName("test-service-instance-name") - .build()) - .as(StepVerifier::create) - .consumeErrorWith(t -> assertThat(t).isInstanceOf(IllegalArgumentException.class).hasMessage("Service instance test-service-instance-name does not exist")) - .verify(Duration.ofSeconds(5)); + .unbindRoute( + UnbindRouteServiceInstanceRequest.builder() + .domainName("test-domain-name") + .serviceInstanceName("test-service-instance-name") + .build()) + .as(StepVerifier::create) + .consumeErrorWith( + t -> + assertThat(t) + .isInstanceOf(IllegalArgumentException.class) + .hasMessage( + "Service instance test-service-instance-name does" + + " not exist")) + .verify(Duration.ofSeconds(5)); } @Test public void unbindServiceInstance() { requestApplications(this.cloudFoundryClient, "test-application-name", TEST_SPACE_ID); - requestListSpaceServiceInstances(this.cloudFoundryClient, "test-service-instance-name", TEST_SPACE_ID); - requestApplicationsListServiceBindings(this.cloudFoundryClient, "test-application-id", "test-service-instance-id"); + requestListSpaceServiceInstances( + this.cloudFoundryClient, "test-service-instance-name", TEST_SPACE_ID); + requestApplicationsListServiceBindings( + this.cloudFoundryClient, "test-application-id", "test-service-instance-id"); requestDeleteServiceBinding(this.cloudFoundryClient, "test-service-binding-id"); requestJobSuccess(this.cloudFoundryClient, "test-job-entity-id"); - StepVerifier.withVirtualTime(() -> this.services - .unbind(UnbindServiceInstanceRequest.builder() - .applicationName("test-application-name") - .serviceInstanceName("test-service-instance-name") - .build())) - .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(3))) - .expectComplete() - .verify(Duration.ofSeconds(5)); + StepVerifier.withVirtualTime( + () -> + this.services.unbind( + UnbindServiceInstanceRequest.builder() + .applicationName("test-application-name") + .serviceInstanceName("test-service-instance-name") + .build())) + .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(3))) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void unbindServiceInstanceFailure() { requestApplications(this.cloudFoundryClient, "test-application-name", TEST_SPACE_ID); - requestListSpaceServiceInstances(this.cloudFoundryClient, "test-service-instance-name", TEST_SPACE_ID); - requestApplicationsListServiceBindings(this.cloudFoundryClient, "test-application-id", "test-service-instance-id"); + requestListSpaceServiceInstances( + this.cloudFoundryClient, "test-service-instance-name", TEST_SPACE_ID); + requestApplicationsListServiceBindings( + this.cloudFoundryClient, "test-application-id", "test-service-instance-id"); requestDeleteServiceBinding(this.cloudFoundryClient, "test-service-binding-id"); requestJobFailure(this.cloudFoundryClient, "test-job-entity-id"); - StepVerifier.withVirtualTime(() -> this.services - .unbind(UnbindServiceInstanceRequest.builder() - .applicationName("test-application-name") - .serviceInstanceName("test-service-instance-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)); + StepVerifier.withVirtualTime( + () -> + this.services.unbind( + UnbindServiceInstanceRequest.builder() + .applicationName("test-application-name") + .serviceInstanceName("test-service-instance-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)); } @Test public void updateService() { - requestListSpaceServiceInstances(this.cloudFoundryClient, "test-service", TEST_SPACE_ID, "test-service-plan-id"); - requestGetServicePlan(this.cloudFoundryClient, "test-service-plan-id", "test-service-plan", "test-service-id"); + requestListSpaceServiceInstances( + this.cloudFoundryClient, "test-service", TEST_SPACE_ID, "test-service-plan-id"); + requestGetServicePlan( + this.cloudFoundryClient, + "test-service-plan-id", + "test-service-plan", + "test-service-id"); requestGetService(this.cloudFoundryClient, "test-service-id", "test-service"); - requestListSpaceServicePlans(this.cloudFoundryClient, "test-service-id", "test-plan", "test-plan-id"); - requestUpdateServiceInstance(this.cloudFoundryClient, Collections.singletonMap("test-parameter-key", "test-parameter-value"), "test-service-instance-id", "test-plan-id", - Collections.singletonList("test-tag")); + requestListSpaceServicePlans( + this.cloudFoundryClient, "test-service-id", "test-plan", "test-plan-id"); + requestUpdateServiceInstance( + this.cloudFoundryClient, + Collections.singletonMap("test-parameter-key", "test-parameter-value"), + "test-service-instance-id", + "test-plan-id", + Collections.singletonList("test-tag")); requestGetServiceInstance(this.cloudFoundryClient, "test-id", "successful"); this.services - .updateInstance(UpdateServiceInstanceRequest.builder() - .parameter("test-parameter-key", "test-parameter-value") - .planName("test-plan") - .serviceInstanceName("test-service") - .tag("test-tag") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .updateInstance( + UpdateServiceInstanceRequest.builder() + .parameter("test-parameter-key", "test-parameter-value") + .planName("test-plan") + .serviceInstanceName("test-service") + .tag("test-tag") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void updateServiceNewPlanDoesNotExist() { - requestListSpaceServiceInstances(this.cloudFoundryClient, "test-service", TEST_SPACE_ID, "test-service-plan-id"); - requestGetServicePlan(this.cloudFoundryClient, "test-service-plan-id", "test-service-plan", "test-service-id"); + requestListSpaceServiceInstances( + this.cloudFoundryClient, "test-service", TEST_SPACE_ID, "test-service-plan-id"); + requestGetServicePlan( + this.cloudFoundryClient, + "test-service-plan-id", + "test-service-plan", + "test-service-id"); requestGetService(this.cloudFoundryClient, "test-service-id", "test-service"); - requestListSpaceServicePlans(this.cloudFoundryClient, "test-service-id", "test-other-plan-not-this-one", "test-plan-id"); + requestListSpaceServicePlans( + this.cloudFoundryClient, + "test-service-id", + "test-other-plan-not-this-one", + "test-plan-id"); this.services - .updateInstance(UpdateServiceInstanceRequest.builder() - .parameter("test-parameter-key", "test-parameter-value") - .planName("test-plan") - .serviceInstanceName("test-service") - .tag("test-tag") - .build()) - .as(StepVerifier::create) - .consumeErrorWith(t -> assertThat(t).isInstanceOf(IllegalArgumentException.class).hasMessage("New service plan test-plan not found")) - .verify(Duration.ofSeconds(5)); + .updateInstance( + UpdateServiceInstanceRequest.builder() + .parameter("test-parameter-key", "test-parameter-value") + .planName("test-plan") + .serviceInstanceName("test-service") + .tag("test-tag") + .build()) + .as(StepVerifier::create) + .consumeErrorWith( + t -> + assertThat(t) + .isInstanceOf(IllegalArgumentException.class) + .hasMessage("New service plan test-plan not found")) + .verify(Duration.ofSeconds(5)); } @Test public void updateServiceNoParameters() { - requestListSpaceServiceInstances(this.cloudFoundryClient, "test-service", TEST_SPACE_ID, "test-service-plan-id"); - requestGetServicePlan(this.cloudFoundryClient, "test-service-plan-id", "test-service-plan", "test-service-id"); + requestListSpaceServiceInstances( + this.cloudFoundryClient, "test-service", TEST_SPACE_ID, "test-service-plan-id"); + requestGetServicePlan( + this.cloudFoundryClient, + "test-service-plan-id", + "test-service-plan", + "test-service-id"); requestGetService(this.cloudFoundryClient, "test-service-id", "test-service"); - requestListSpaceServicePlans(this.cloudFoundryClient, "test-service-id", "test-plan", "test-service-plan-id"); - requestUpdateServiceInstance(this.cloudFoundryClient, null, "test-service-instance-id", "test-service-plan-id", Collections.singletonList("test-tag")); + requestListSpaceServicePlans( + this.cloudFoundryClient, "test-service-id", "test-plan", "test-service-plan-id"); + requestUpdateServiceInstance( + this.cloudFoundryClient, + null, + "test-service-instance-id", + "test-service-plan-id", + Collections.singletonList("test-tag")); requestGetServiceInstance(this.cloudFoundryClient, "test-id", "successful"); this.services - .updateInstance(UpdateServiceInstanceRequest.builder() - .planName("test-plan") - .serviceInstanceName("test-service") - .tag("test-tag") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .updateInstance( + UpdateServiceInstanceRequest.builder() + .planName("test-plan") + .serviceInstanceName("test-service") + .tag("test-tag") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void updateServiceNoPlan() { requestListSpaceServiceInstances(this.cloudFoundryClient, "test-service", TEST_SPACE_ID); - requestUpdateServiceInstance(this.cloudFoundryClient, Collections.singletonMap("test-parameter-key", "test-parameter-value"), "test-service-instance-id", null, - Collections.singletonList("test-tag")); + requestUpdateServiceInstance( + this.cloudFoundryClient, + Collections.singletonMap("test-parameter-key", "test-parameter-value"), + "test-service-instance-id", + null, + Collections.singletonList("test-tag")); requestGetServiceInstance(this.cloudFoundryClient, "test-id", "successful"); this.services - .updateInstance(UpdateServiceInstanceRequest.builder() - .parameter("test-parameter-key", "test-parameter-value") - .serviceInstanceName("test-service") - .tag("test-tag") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .updateInstance( + UpdateServiceInstanceRequest.builder() + .parameter("test-parameter-key", "test-parameter-value") + .serviceInstanceName("test-service") + .tag("test-tag") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void updateServiceNoPlanExists() { - requestListSpaceServiceInstances(this.cloudFoundryClient, "test-service", TEST_SPACE_ID, null); + requestListSpaceServiceInstances( + this.cloudFoundryClient, "test-service", TEST_SPACE_ID, null); this.services - .updateInstance(UpdateServiceInstanceRequest.builder() - .parameter("test-parameter-key", "test-parameter-value") - .planName("test-plan") - .serviceInstanceName("test-service") - .tag("test-tag") - .build()) - .as(StepVerifier::create) - .consumeErrorWith(t -> assertThat(t).isInstanceOf(IllegalArgumentException.class).hasMessage("Plan does not exist for the test-name service")) - .verify(Duration.ofSeconds(5)); + .updateInstance( + UpdateServiceInstanceRequest.builder() + .parameter("test-parameter-key", "test-parameter-value") + .planName("test-plan") + .serviceInstanceName("test-service") + .tag("test-tag") + .build()) + .as(StepVerifier::create) + .consumeErrorWith( + t -> + assertThat(t) + .isInstanceOf(IllegalArgumentException.class) + .hasMessage( + "Plan does not exist for the test-name service")) + .verify(Duration.ofSeconds(5)); } @Test public void updateServiceNoTags() { - requestListSpaceServiceInstances(this.cloudFoundryClient, "test-service", TEST_SPACE_ID, "test-service-plan-id"); - requestGetServicePlan(this.cloudFoundryClient, "test-service-plan-id", "test-service-plan", "test-service-id"); + requestListSpaceServiceInstances( + this.cloudFoundryClient, "test-service", TEST_SPACE_ID, "test-service-plan-id"); + requestGetServicePlan( + this.cloudFoundryClient, + "test-service-plan-id", + "test-service-plan", + "test-service-id"); requestGetService(this.cloudFoundryClient, "test-service-id", "test-service"); - requestListSpaceServicePlans(this.cloudFoundryClient, "test-service-id", "test-plan", "test-plan-id"); - requestUpdateServiceInstance(this.cloudFoundryClient, Collections.singletonMap("test-parameter-key", "test-parameter-value"), "test-service-instance-id", "test-plan-id", null); + requestListSpaceServicePlans( + this.cloudFoundryClient, "test-service-id", "test-plan", "test-plan-id"); + requestUpdateServiceInstance( + this.cloudFoundryClient, + Collections.singletonMap("test-parameter-key", "test-parameter-value"), + "test-service-instance-id", + "test-plan-id", + null); requestGetServiceInstance(this.cloudFoundryClient, "test-id", "successful"); this.services - .updateInstance(UpdateServiceInstanceRequest.builder() - .parameter("test-parameter-key", "test-parameter-value") - .planName("test-plan") - .serviceInstanceName("test-service") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .updateInstance( + UpdateServiceInstanceRequest.builder() + .parameter("test-parameter-key", "test-parameter-value") + .planName("test-plan") + .serviceInstanceName("test-service") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void updateServiceNotPublic() { - requestListSpaceServiceInstances(this.cloudFoundryClient, "test-service", TEST_SPACE_ID, "test-plan-id"); - requestGetServicePlan(this.cloudFoundryClient, "test-plan-id", "test-service-plan", "test-service-id"); + requestListSpaceServiceInstances( + this.cloudFoundryClient, "test-service", TEST_SPACE_ID, "test-plan-id"); + requestGetServicePlan( + this.cloudFoundryClient, "test-plan-id", "test-service-plan", "test-service-id"); requestGetService(this.cloudFoundryClient, "test-service-id", "test-service"); - requestListSpaceServicePlansNotPublic(this.cloudFoundryClient, "test-service-id", "test-plan", "test-plan-id"); - requestListSpaceServicePlanVisibilities(this.cloudFoundryClient, "test-organization-id", "test-plan-id"); - requestUpdateServiceInstance(this.cloudFoundryClient, Collections.singletonMap("test-parameter-key", "test-parameter-value"), "test-service-instance-id", "test-plan-id", - Collections.singletonList("test-tag")); + requestListSpaceServicePlansNotPublic( + this.cloudFoundryClient, "test-service-id", "test-plan", "test-plan-id"); + requestListSpaceServicePlanVisibilities( + this.cloudFoundryClient, "test-organization-id", "test-plan-id"); + requestUpdateServiceInstance( + this.cloudFoundryClient, + Collections.singletonMap("test-parameter-key", "test-parameter-value"), + "test-service-instance-id", + "test-plan-id", + Collections.singletonList("test-tag")); requestGetServiceInstance(this.cloudFoundryClient, "test-id", "successful"); this.services - .updateInstance(UpdateServiceInstanceRequest.builder() - .parameter("test-parameter-key", "test-parameter-value") - .planName("test-plan") - .serviceInstanceName("test-service") - .tag("test-tag") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .updateInstance( + UpdateServiceInstanceRequest.builder() + .parameter("test-parameter-key", "test-parameter-value") + .planName("test-plan") + .serviceInstanceName("test-service") + .tag("test-tag") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void updateServiceNotVisible() { - requestListSpaceServiceInstances(this.cloudFoundryClient, "test-service", TEST_SPACE_ID, "test-plan-id"); - requestGetServicePlan(this.cloudFoundryClient, "test-plan-id", "test-service-plan", "test-service-id"); + requestListSpaceServiceInstances( + this.cloudFoundryClient, "test-service", TEST_SPACE_ID, "test-plan-id"); + requestGetServicePlan( + this.cloudFoundryClient, "test-plan-id", "test-service-plan", "test-service-id"); requestGetService(this.cloudFoundryClient, "test-service-id", "test-service"); - requestListSpaceServicePlansNotPublic(this.cloudFoundryClient, "test-service-id", "test-plan", "test-plan-id"); - requestListSpaceServicePlanVisibilitiesEmpty(this.cloudFoundryClient, "test-organization-id", "test-plan-id"); + requestListSpaceServicePlansNotPublic( + this.cloudFoundryClient, "test-service-id", "test-plan", "test-plan-id"); + requestListSpaceServicePlanVisibilitiesEmpty( + this.cloudFoundryClient, "test-organization-id", "test-plan-id"); this.services - .updateInstance(UpdateServiceInstanceRequest.builder() - .parameter("test-parameter-key", "test-parameter-value") - .planName("test-plan") - .serviceInstanceName("test-service") - .tag("test-tag") - .build()) - .as(StepVerifier::create) - .consumeErrorWith(t -> assertThat(t).isInstanceOf(IllegalArgumentException.class).hasMessage("Service Plan test-plan is not visible to your organization")) - .verify(Duration.ofSeconds(5)); + .updateInstance( + UpdateServiceInstanceRequest.builder() + .parameter("test-parameter-key", "test-parameter-value") + .planName("test-plan") + .serviceInstanceName("test-service") + .tag("test-tag") + .build()) + .as(StepVerifier::create) + .consumeErrorWith( + t -> + assertThat(t) + .isInstanceOf(IllegalArgumentException.class) + .hasMessage( + "Service Plan test-plan is not visible to your" + + " organization")) + .verify(Duration.ofSeconds(5)); } @Test public void updateServicePlanNotUpdateable() { - requestListSpaceServiceInstances(this.cloudFoundryClient, "test-service", TEST_SPACE_ID, "test-service-plan-id"); - requestGetServicePlan(this.cloudFoundryClient, "test-service-plan-id", "test-service-plan", "test-service-id"); - requestGetServiceNotPlanUpdateable(this.cloudFoundryClient, "test-service-id", "test-service"); + requestListSpaceServiceInstances( + this.cloudFoundryClient, "test-service", TEST_SPACE_ID, "test-service-plan-id"); + requestGetServicePlan( + this.cloudFoundryClient, + "test-service-plan-id", + "test-service-plan", + "test-service-id"); + requestGetServiceNotPlanUpdateable( + this.cloudFoundryClient, "test-service-id", "test-service"); this.services - .updateInstance(UpdateServiceInstanceRequest.builder() - .parameter("test-parameter-key", "test-parameter-value") - .planName("test-plan") - .serviceInstanceName("test-service") - .tag("test-tag") - .build()) - .as(StepVerifier::create) - .consumeErrorWith(t -> assertThat(t).isInstanceOf(IllegalArgumentException.class).hasMessage("Plan for the test-name service cannot be updated")) - .verify(Duration.ofSeconds(5)); + .updateInstance( + UpdateServiceInstanceRequest.builder() + .parameter("test-parameter-key", "test-parameter-value") + .planName("test-plan") + .serviceInstanceName("test-service") + .tag("test-tag") + .build()) + .as(StepVerifier::create) + .consumeErrorWith( + t -> + assertThat(t) + .isInstanceOf(IllegalArgumentException.class) + .hasMessage( + "Plan for the test-name service cannot be updated")) + .verify(Duration.ofSeconds(5)); } @Test public void updateUserProvidedService() { - requestListSpaceServiceInstancesUserProvided(this.cloudFoundryClient, "test-service", TEST_SPACE_ID); - requestUpdateUserProvidedServiceInstance(this.cloudFoundryClient, Collections.singletonMap("test-credential-key", "test-credential-value"), - "syslog-url", Collections.singletonList("tag1"), "test-service-instance-id"); + requestListSpaceServiceInstancesUserProvided( + this.cloudFoundryClient, "test-service", TEST_SPACE_ID); + requestUpdateUserProvidedServiceInstance( + this.cloudFoundryClient, + Collections.singletonMap("test-credential-key", "test-credential-value"), + "syslog-url", + Collections.singletonList("tag1"), + "test-service-instance-id"); this.services - .updateUserProvidedInstance(UpdateUserProvidedServiceInstanceRequest.builder() - .credential("test-credential-key", "test-credential-value") - .syslogDrainUrl("syslog-url") - .tags("tag1") - .userProvidedServiceInstanceName("test-service") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .updateUserProvidedInstance( + UpdateUserProvidedServiceInstanceRequest.builder() + .credential("test-credential-key", "test-credential-value") + .syslogDrainUrl("syslog-url") + .tags("tag1") + .userProvidedServiceInstanceName("test-service") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test @@ -1056,955 +1409,1332 @@ public void updateUserProvidedServiceNotUserProvided() { requestListSpaceServiceInstances(this.cloudFoundryClient, "test-service", TEST_SPACE_ID); this.services - .updateUserProvidedInstance(UpdateUserProvidedServiceInstanceRequest.builder() - .userProvidedServiceInstanceName("test-service") - .build()) - .as(StepVerifier::create) - .consumeErrorWith(t -> assertThat(t).isInstanceOf(IllegalArgumentException.class).hasMessage("User provided service instance test-service does not exist")) - .verify(Duration.ofSeconds(5)); - } - - private static void requestApplications(CloudFoundryClient cloudFoundryClient, String applicationName, String spaceId) { - when(cloudFoundryClient.spaces() - .listApplications(ListSpaceApplicationsRequest.builder() - .name(applicationName) - .page(1) - .spaceId(spaceId) - .build())) - .thenReturn(Mono - .just(fill(ListSpaceApplicationsResponse.builder()) - .resource(fill(ApplicationResource.builder(), "application-") - .build()) - .build())); - } - - private static void requestApplicationsEmpty(CloudFoundryClient cloudFoundryClient, String applicationName, String spaceId) { - when(cloudFoundryClient.spaces() - .listApplications(ListSpaceApplicationsRequest.builder() - .name(applicationName) - .page(1) - .spaceId(spaceId) - .build())) - .thenReturn(Mono - .just(fill(ListSpaceApplicationsResponse.builder()) - .build())); - } - - private static void requestApplicationsListServiceBindings(CloudFoundryClient cloudFoundryClient, String applicationId, String serviceInstanceId) { - when(cloudFoundryClient.applicationsV2() - .listServiceBindings(ListApplicationServiceBindingsRequest.builder() - .page(1) - .applicationId(applicationId) - .serviceInstanceId(serviceInstanceId) - .build())) - .thenReturn(Mono - .just(fill(ListApplicationServiceBindingsResponse.builder()) - .resource(fill(ServiceBindingResource.builder(), "service-binding-") - .entity(ServiceBindingEntity.builder() - .applicationId(applicationId) - .build()) - .build()) - .build())); - } - - private static void requestAssociateUserProvidedServiceInstanceRoute(CloudFoundryClient cloudFoundryClient, String routeId, String userProvidedServiceInstanceId, Map parameters) { - when(cloudFoundryClient.userProvidedServiceInstances() - .associateRoute(AssociateUserProvidedServiceInstanceRouteRequest.builder() - .parameters(parameters) - .routeId(routeId) - .userProvidedServiceInstanceId(userProvidedServiceInstanceId) - .build())) - .thenReturn(Mono - .just(fill(AssociateUserProvidedServiceInstanceRouteResponse.builder()) - .build())); - } - - private static void requestAssociateUserProvidedServiceInstanceRouteError(CloudFoundryClient cloudFoundryClient, String routeId, String userProvidedServiceInstanceId, - Map parameters, Integer code) { - when(cloudFoundryClient.userProvidedServiceInstances() - .associateRoute(AssociateUserProvidedServiceInstanceRouteRequest.builder() - .parameters(parameters) - .routeId(routeId) - .userProvidedServiceInstanceId(userProvidedServiceInstanceId) - .build())) - .thenReturn(Mono - .error(new ClientV2Exception(null, code, "test-exception-description", "test-exception-errorCode"))); - } - - private static void requestCreateServiceBinding(CloudFoundryClient cloudFoundryClient, String applicationId, String serviceInstanceId, Map parameters) { - when(cloudFoundryClient.serviceBindingsV2() - .create(CreateServiceBindingRequest.builder() - .applicationId(applicationId) - .parameters(parameters) - .serviceInstanceId(serviceInstanceId) - .build())) - .thenReturn(Mono - .just(fill(CreateServiceBindingResponse.builder(), "service-binding-") - .build())); - } - - private static void requestCreateServiceBindingError(CloudFoundryClient cloudFoundryClient, String applicationId, String serviceInstanceId, Map parameters, int code) { - when(cloudFoundryClient.serviceBindingsV2() - .create(CreateServiceBindingRequest.builder() - .applicationId(applicationId) - .parameters(parameters) - .serviceInstanceId(serviceInstanceId) - .build())) - .thenReturn(Mono - .error(new ClientV2Exception(null, code, "test-exception-description", "test-exception-errorCode"))); - } - - private static void requestCreateServiceInstance(CloudFoundryClient cloudFoundryClient, String spaceId, String planId, String serviceInstance, Map parameters, List tags, - String serviceInstanceId, String state) { - when(cloudFoundryClient.serviceInstances() - .create(org.cloudfoundry.client.v2.serviceinstances.CreateServiceInstanceRequest.builder() - .acceptsIncomplete(true) - .name(serviceInstance) - .parameters(parameters) - .servicePlanId(planId) - .spaceId(spaceId) - .tags(tags) - .build())) - .thenReturn(Mono - .just(fill(CreateServiceInstanceResponse.builder()) - .metadata(fill(Metadata.builder()) - .id(serviceInstanceId) - .build()) - .entity(fill(ServiceInstanceEntity.builder()) - .lastOperation(LastOperation.builder() - .state(state) - .type("create") - .build()) - .build()) - .build())); - } - - private static void requestCreateServiceKey(CloudFoundryClient cloudFoundryClient, String serviceInstanceId, String serviceKey, Map parameters) { - when(cloudFoundryClient.serviceKeys() - .create(org.cloudfoundry.client.v2.servicekeys.CreateServiceKeyRequest.builder() - .name(serviceKey) - .parameters(parameters) - .serviceInstanceId(serviceInstanceId) - .build())) - .thenReturn(Mono - .just(fill(CreateServiceKeyResponse.builder(), "service-key") - .build())); - } - - private static void requestCreateUserProvidedServiceInstance(CloudFoundryClient cloudFoundryClient, String spaceId, String name, Map credentials, String routeServiceUrl, - String syslogDrainUrl, String tag, String userProvidedServiceInstanceId) { - when(cloudFoundryClient.userProvidedServiceInstances() - .create(org.cloudfoundry.client.v2.userprovidedserviceinstances.CreateUserProvidedServiceInstanceRequest.builder() - .credentials(credentials) - .name(name) - .routeServiceUrl(routeServiceUrl) - .spaceId(spaceId) - .syslogDrainUrl(syslogDrainUrl) - .tag(tag) - .build())) - .thenReturn(Mono - .just(fill(CreateUserProvidedServiceInstanceResponse.builder()) - .metadata(fill(Metadata.builder()) - .id(userProvidedServiceInstanceId) - .build()) - .entity(fill(UserProvidedServiceInstanceEntity.builder()) - .build()) - .build())); - } - - private static void requestDeleteServiceBinding(CloudFoundryClient cloudFoundryClient, String serviceBindingId) { - when(cloudFoundryClient.serviceBindingsV2() - .delete(DeleteServiceBindingRequest.builder() - .async(true) - .serviceBindingId(serviceBindingId) - .build())) - .thenReturn(Mono - .just(fill(DeleteServiceBindingResponse.builder()) - .entity(fill(JobEntity.builder(), "job-entity-") - .build()) - .build())); - } - - private static void requestDeleteServiceInstance(CloudFoundryClient cloudFoundryClient, String serviceInstanceId) { - when(cloudFoundryClient.serviceInstances() - .delete(org.cloudfoundry.client.v2.serviceinstances.DeleteServiceInstanceRequest.builder() - .acceptsIncomplete(true) - .async(true) - .serviceInstanceId(serviceInstanceId) - .build())) - .thenReturn(Mono - .just(DeleteServiceInstanceResponse.builder() - .entity(fill(JobEntity.builder(), "job-entity-") - .build()) - .build())); - - } - - private static void requestDeleteServiceInstanceAcceptsIncomplete(CloudFoundryClient cloudFoundryClient, String serviceInstanceId) { - when(cloudFoundryClient.serviceInstances() - .delete(org.cloudfoundry.client.v2.serviceinstances.DeleteServiceInstanceRequest.builder() - .acceptsIncomplete(true) - .async(true) - .serviceInstanceId(serviceInstanceId) - .build())) - .thenReturn(Mono - .just(DeleteServiceInstanceResponse.builder() - .entity(fill(ServiceInstanceEntity.builder(), "service-instance-entity-") - .lastOperation(LastOperation.builder() - .state("in progress") - .build()) - .build()) - .build())); - - } - - private static void requestDeleteServiceKey(CloudFoundryClient cloudFoundryClient, String serviceKeyId) { - when(cloudFoundryClient.serviceKeys() - .delete(org.cloudfoundry.client.v2.servicekeys.DeleteServiceKeyRequest.builder() - .serviceKeyId(serviceKeyId) - .build())) - .thenReturn(Mono.empty()); - } - - private static void requestDeleteUserProvidedServiceInstance(CloudFoundryClient cloudFoundryClient, String serviceInstanceId) { - when(cloudFoundryClient.userProvidedServiceInstances() - .delete(DeleteUserProvidedServiceInstanceRequest.builder() - .userProvidedServiceInstanceId(serviceInstanceId) - .build())) - .thenReturn(Mono.empty()); - } - - private static void requestGetApplication(CloudFoundryClient cloudFoundryClient, String applicationId, String application) { - when(cloudFoundryClient.applicationsV2() - .get(GetApplicationRequest.builder() - .applicationId(applicationId) - .build())) - .thenReturn(Mono - .just(fill(GetApplicationResponse.builder()) - .metadata(fill(Metadata.builder()) - .id(applicationId) - .build()) - .entity(fill(ApplicationEntity.builder()) - .name(application) - .build()) - .build()) - ); - } - - private static void requestGetService(CloudFoundryClient cloudFoundryClient, String serviceId, String service) { - when(cloudFoundryClient.services() - .get(GetServiceRequest.builder() - .serviceId(serviceId) - .build())) - .thenReturn(Mono - .just(fill(GetServiceResponse.builder()) - .metadata(fill(Metadata.builder()) - .id(serviceId) - .build()) - .entity(fill(ServiceEntity.builder()) - .extra("{\"displayName\":\"test-value\",\"longDescription\":\"test-value\",\"documentationUrl\":\"test-documentation-url\",\"supportUrl\":\"test-value\"}") - .label(service) - .build()) - .build())); - } - - private static void requestGetServiceInstance(CloudFoundryClient cloudFoundryClient, String serviceInstanceId, String state) { - when(cloudFoundryClient.serviceInstances() - .get(org.cloudfoundry.client.v2.serviceinstances.GetServiceInstanceRequest.builder() - .serviceInstanceId(serviceInstanceId) - .build())) - .thenReturn(Mono - .just(fill(GetServiceInstanceResponse.builder()) - .metadata(fill(Metadata.builder()) - .id(serviceInstanceId) - .build()) - .entity(fill(ServiceInstanceEntity.builder()) - .lastOperation(LastOperation.builder() - .state(state) - .type("create") - .build()) - .build()) - .build())); - } - - private static void requestGetServiceInstanceNotExist(CloudFoundryClient cloudFoundryClient, String serviceInstanceId) { - when(cloudFoundryClient.serviceInstances() - .get(org.cloudfoundry.client.v2.serviceinstances.GetServiceInstanceRequest.builder() - .serviceInstanceId(serviceInstanceId) - .build())) - .thenReturn(Mono.error(new ClientV2Exception(404, 404, "test-description", "test-error-code"))); - } - - private static void requestGetServiceNotPlanUpdateable(CloudFoundryClient cloudFoundryClient, String serviceId, String service) { - when(cloudFoundryClient.services() - .get(GetServiceRequest.builder() - .serviceId(serviceId) - .build())) - .thenReturn(Mono - .just(fill(GetServiceResponse.builder()) - .metadata(fill(Metadata.builder()) - .id(serviceId) - .build()) - .entity(fill(ServiceEntity.builder()) - .extra("{\"displayName\":\"test-value\",\"longDescription\":\"test-value\",\"documentationUrl\":\"test-documentation-url\",\"supportUrl\":\"test-value\"}") - .label(service) - .planUpdateable(false) - .build()) - .build())); - } - - private static void requestGetServicePlan(CloudFoundryClient cloudFoundryClient, String servicePlanId, String servicePlan, String serviceId) { - when(cloudFoundryClient.servicePlans() - .get(GetServicePlanRequest.builder() - .servicePlanId(servicePlanId) - .build())) - .thenReturn(Mono - .just(fill(GetServicePlanResponse.builder()) - .entity(ServicePlanEntity.builder() - .name(servicePlan) - .serviceId(serviceId) - .build()) - .build())); - } - - private static void requestGetSpaceSummaryEmpty(CloudFoundryClient cloudFoundryClient, String spaceId) { - when(cloudFoundryClient.spaces() - .getSummary(GetSpaceSummaryRequest.builder() - .spaceId(spaceId) - .build())) - .thenReturn(Mono - .just(fill(GetSpaceSummaryResponse.builder()) - .build())); - } - - private static void requestGetSpaceSummaryManagedServices(CloudFoundryClient cloudFoundryClient, String spaceId) { - when(cloudFoundryClient.spaces() - .getSummary(GetSpaceSummaryRequest.builder() - .spaceId(spaceId) - .build())) - .thenReturn(Mono - .just(fill(GetSpaceSummaryResponse.builder()) - .id(spaceId) - .application(SpaceApplicationSummary.builder() - .id("test-application-id-1") - .name("test-application-name-1") - .serviceNames("test-service-name-1", "test-service-name-2") - .spaceId(spaceId) - .build()) - .application(SpaceApplicationSummary.builder() - .id("test-application-id-2") - .name("test-application-name-2") - .serviceNames("test-service-name-2", "test-service-name-3") - .spaceId(spaceId) - .build()) - .service(org.cloudfoundry.client.v2.serviceinstances.ServiceInstance.builder() - .id("test-service-id-2") - .lastOperation(LastOperation.builder() - .description("test-last-operation-description-2") - .build()) - .name("test-service-name-2") - .servicePlan(Plan.builder() - .id("test-service-plan-id-2") - .name("test-service-plan-name-2") - .service(Service.builder() - .id("test-provided-service-id") - .label("test-provided-service-label") + .updateUserProvidedInstance( + UpdateUserProvidedServiceInstanceRequest.builder() + .userProvidedServiceInstanceName("test-service") .build()) - .build()) - .build()) - .build())); - } - - private static void requestGetSpaceSummaryManagedServicesNoApplications(CloudFoundryClient cloudFoundryClient, String spaceId) { - when(cloudFoundryClient.spaces() - .getSummary(GetSpaceSummaryRequest.builder() - .spaceId(spaceId) - .build())) - .thenReturn(Mono - .just(fill(GetSpaceSummaryResponse.builder()) - .id(spaceId) - .service(org.cloudfoundry.client.v2.serviceinstances.ServiceInstance.builder() - .id("test-service-id") - .lastOperation(LastOperation.builder() - .description("test-last-operation-description") - .build()) - .name("test-service-name") - .servicePlan(Plan.builder() - .id("test-service-plan-id") - .name("test-service-plan-name") - .service(Service.builder() - .id("test-provided-service-id") - .label("test-provided-service-label") - .build()) - .build()) - .build()) - .build())); - } - - private static void requestGetSpaceSummaryManagedServicesOneApplication(CloudFoundryClient cloudFoundryClient, String spaceId) { - when(cloudFoundryClient.spaces() - .getSummary(GetSpaceSummaryRequest.builder() - .spaceId(spaceId) - .build())) - .thenReturn(Mono - .just(fill(GetSpaceSummaryResponse.builder()) - .id(spaceId) - .application(SpaceApplicationSummary.builder() - .id("test-application-id") - .name("test-application-name") - .serviceNames("test-service-name-1", "test-service-name-2") - .spaceId(spaceId) - .build()) - .service(org.cloudfoundry.client.v2.serviceinstances.ServiceInstance.builder() - .id("test-service-id-1") - .lastOperation(LastOperation.builder() - .description("test-last-operation-description-1") - .build()) - .name("test-service-name-1") - .servicePlan(Plan.builder() - .id("test-service-plan-id-1") - .name("test-service-plan-name-1") - .service(Service.builder() - .id("test-provided-service-id") - .label("test-provided-service-label") - .build()) - .build()) - .build()) - .build())); - } - - private static void requestGetSpaceSummaryUserProvidedServices(CloudFoundryClient cloudFoundryClient, String spaceId) { - when(cloudFoundryClient.spaces() - .getSummary(GetSpaceSummaryRequest.builder() - .spaceId(spaceId) - .build())) - .thenReturn(Mono - .just(fill(GetSpaceSummaryResponse.builder()) - .id(spaceId) - .application(SpaceApplicationSummary.builder() - .id("test-application-id-1") - .name("test-application-name-1") - .serviceNames("test-service-name-1", "test-service-name-2") - .spaceId(spaceId) - .build()) - .application(SpaceApplicationSummary.builder() - .id("test-application-id-2") - .name("test-application-name-2") - .serviceNames("test-service-name-2", "test-service-name-3") - .spaceId(spaceId) - .build()) - .service(org.cloudfoundry.client.v2.serviceinstances.ServiceInstance.builder() - .id("test-service-id-2") - .name("test-service-name-2") - .boundApplicationCount(1) - .build()) - .build())); + .as(StepVerifier::create) + .consumeErrorWith( + t -> + assertThat(t) + .isInstanceOf(IllegalArgumentException.class) + .hasMessage( + "User provided service instance test-service does" + + " not exist")) + .verify(Duration.ofSeconds(5)); + } + + private static void requestApplications( + CloudFoundryClient cloudFoundryClient, String applicationName, String spaceId) { + when(cloudFoundryClient + .spaces() + .listApplications( + ListSpaceApplicationsRequest.builder() + .name(applicationName) + .page(1) + .spaceId(spaceId) + .build())) + .thenReturn( + Mono.just( + fill(ListSpaceApplicationsResponse.builder()) + .resource( + fill(ApplicationResource.builder(), "application-") + .build()) + .build())); + } + + private static void requestApplicationsEmpty( + CloudFoundryClient cloudFoundryClient, String applicationName, String spaceId) { + when(cloudFoundryClient + .spaces() + .listApplications( + ListSpaceApplicationsRequest.builder() + .name(applicationName) + .page(1) + .spaceId(spaceId) + .build())) + .thenReturn(Mono.just(fill(ListSpaceApplicationsResponse.builder()).build())); + } + + private static void requestApplicationsListServiceBindings( + CloudFoundryClient cloudFoundryClient, String applicationId, String serviceInstanceId) { + when(cloudFoundryClient + .applicationsV2() + .listServiceBindings( + ListApplicationServiceBindingsRequest.builder() + .page(1) + .applicationId(applicationId) + .serviceInstanceId(serviceInstanceId) + .build())) + .thenReturn( + Mono.just( + fill(ListApplicationServiceBindingsResponse.builder()) + .resource( + fill( + ServiceBindingResource.builder(), + "service-binding-") + .entity( + ServiceBindingEntity.builder() + .applicationId( + applicationId) + .build()) + .build()) + .build())); + } + + private static void requestAssociateUserProvidedServiceInstanceRoute( + CloudFoundryClient cloudFoundryClient, + String routeId, + String userProvidedServiceInstanceId, + Map parameters) { + when(cloudFoundryClient + .userProvidedServiceInstances() + .associateRoute( + AssociateUserProvidedServiceInstanceRouteRequest.builder() + .parameters(parameters) + .routeId(routeId) + .userProvidedServiceInstanceId( + userProvidedServiceInstanceId) + .build())) + .thenReturn( + Mono.just( + fill(AssociateUserProvidedServiceInstanceRouteResponse.builder()) + .build())); + } + + private static void requestAssociateUserProvidedServiceInstanceRouteError( + CloudFoundryClient cloudFoundryClient, + String routeId, + String userProvidedServiceInstanceId, + Map parameters, + Integer code) { + when(cloudFoundryClient + .userProvidedServiceInstances() + .associateRoute( + AssociateUserProvidedServiceInstanceRouteRequest.builder() + .parameters(parameters) + .routeId(routeId) + .userProvidedServiceInstanceId( + userProvidedServiceInstanceId) + .build())) + .thenReturn( + Mono.error( + new ClientV2Exception( + null, + code, + "test-exception-description", + "test-exception-errorCode"))); + } + + private static void requestCreateServiceBinding( + CloudFoundryClient cloudFoundryClient, + String applicationId, + String serviceInstanceId, + Map parameters) { + when(cloudFoundryClient + .serviceBindingsV2() + .create( + CreateServiceBindingRequest.builder() + .applicationId(applicationId) + .parameters(parameters) + .serviceInstanceId(serviceInstanceId) + .build())) + .thenReturn( + Mono.just( + fill(CreateServiceBindingResponse.builder(), "service-binding-") + .build())); + } + + private static void requestCreateServiceBindingError( + CloudFoundryClient cloudFoundryClient, + String applicationId, + String serviceInstanceId, + Map parameters, + int code) { + when(cloudFoundryClient + .serviceBindingsV2() + .create( + CreateServiceBindingRequest.builder() + .applicationId(applicationId) + .parameters(parameters) + .serviceInstanceId(serviceInstanceId) + .build())) + .thenReturn( + Mono.error( + new ClientV2Exception( + null, + code, + "test-exception-description", + "test-exception-errorCode"))); + } + + private static void requestCreateServiceInstance( + CloudFoundryClient cloudFoundryClient, + String spaceId, + String planId, + String serviceInstance, + Map parameters, + List tags, + String serviceInstanceId, + String state) { + when(cloudFoundryClient + .serviceInstances() + .create( + org.cloudfoundry.client.v2.serviceinstances + .CreateServiceInstanceRequest.builder() + .acceptsIncomplete(true) + .name(serviceInstance) + .parameters(parameters) + .servicePlanId(planId) + .spaceId(spaceId) + .tags(tags) + .build())) + .thenReturn( + Mono.just( + fill(CreateServiceInstanceResponse.builder()) + .metadata( + fill(Metadata.builder()) + .id(serviceInstanceId) + .build()) + .entity( + fill(ServiceInstanceEntity.builder()) + .lastOperation( + LastOperation.builder() + .state(state) + .type("create") + .build()) + .build()) + .build())); + } + + private static void requestCreateServiceKey( + CloudFoundryClient cloudFoundryClient, + String serviceInstanceId, + String serviceKey, + Map parameters) { + when(cloudFoundryClient + .serviceKeys() + .create( + org.cloudfoundry.client.v2.servicekeys.CreateServiceKeyRequest + .builder() + .name(serviceKey) + .parameters(parameters) + .serviceInstanceId(serviceInstanceId) + .build())) + .thenReturn( + Mono.just(fill(CreateServiceKeyResponse.builder(), "service-key").build())); + } + + private static void requestCreateUserProvidedServiceInstance( + CloudFoundryClient cloudFoundryClient, + String spaceId, + String name, + Map credentials, + String routeServiceUrl, + String syslogDrainUrl, + String tag, + String userProvidedServiceInstanceId) { + when(cloudFoundryClient + .userProvidedServiceInstances() + .create( + org.cloudfoundry.client.v2.userprovidedserviceinstances + .CreateUserProvidedServiceInstanceRequest.builder() + .credentials(credentials) + .name(name) + .routeServiceUrl(routeServiceUrl) + .spaceId(spaceId) + .syslogDrainUrl(syslogDrainUrl) + .tag(tag) + .build())) + .thenReturn( + Mono.just( + fill(CreateUserProvidedServiceInstanceResponse.builder()) + .metadata( + fill(Metadata.builder()) + .id(userProvidedServiceInstanceId) + .build()) + .entity( + fill(UserProvidedServiceInstanceEntity.builder()) + .build()) + .build())); + } + + private static void requestDeleteServiceBinding( + CloudFoundryClient cloudFoundryClient, String serviceBindingId) { + when(cloudFoundryClient + .serviceBindingsV2() + .delete( + DeleteServiceBindingRequest.builder() + .async(true) + .serviceBindingId(serviceBindingId) + .build())) + .thenReturn( + Mono.just( + fill(DeleteServiceBindingResponse.builder()) + .entity(fill(JobEntity.builder(), "job-entity-").build()) + .build())); + } + + private static void requestDeleteServiceInstance( + CloudFoundryClient cloudFoundryClient, String serviceInstanceId) { + when(cloudFoundryClient + .serviceInstances() + .delete( + org.cloudfoundry.client.v2.serviceinstances + .DeleteServiceInstanceRequest.builder() + .acceptsIncomplete(true) + .async(true) + .serviceInstanceId(serviceInstanceId) + .build())) + .thenReturn( + Mono.just( + DeleteServiceInstanceResponse.builder() + .entity(fill(JobEntity.builder(), "job-entity-").build()) + .build())); + } + + private static void requestDeleteServiceInstanceAcceptsIncomplete( + CloudFoundryClient cloudFoundryClient, String serviceInstanceId) { + when(cloudFoundryClient + .serviceInstances() + .delete( + org.cloudfoundry.client.v2.serviceinstances + .DeleteServiceInstanceRequest.builder() + .acceptsIncomplete(true) + .async(true) + .serviceInstanceId(serviceInstanceId) + .build())) + .thenReturn( + Mono.just( + DeleteServiceInstanceResponse.builder() + .entity( + fill( + ServiceInstanceEntity.builder(), + "service-instance-entity-") + .lastOperation( + LastOperation.builder() + .state("in progress") + .build()) + .build()) + .build())); + } + + private static void requestDeleteServiceKey( + CloudFoundryClient cloudFoundryClient, String serviceKeyId) { + when(cloudFoundryClient + .serviceKeys() + .delete( + org.cloudfoundry.client.v2.servicekeys.DeleteServiceKeyRequest + .builder() + .serviceKeyId(serviceKeyId) + .build())) + .thenReturn(Mono.empty()); + } + + private static void requestDeleteUserProvidedServiceInstance( + CloudFoundryClient cloudFoundryClient, String serviceInstanceId) { + when(cloudFoundryClient + .userProvidedServiceInstances() + .delete( + DeleteUserProvidedServiceInstanceRequest.builder() + .userProvidedServiceInstanceId(serviceInstanceId) + .build())) + .thenReturn(Mono.empty()); + } + + private static void requestGetApplication( + CloudFoundryClient cloudFoundryClient, String applicationId, String application) { + when(cloudFoundryClient + .applicationsV2() + .get(GetApplicationRequest.builder().applicationId(applicationId).build())) + .thenReturn( + Mono.just( + fill(GetApplicationResponse.builder()) + .metadata( + fill(Metadata.builder()).id(applicationId).build()) + .entity( + fill(ApplicationEntity.builder()) + .name(application) + .build()) + .build())); + } + + private static void requestGetService( + CloudFoundryClient cloudFoundryClient, String serviceId, String service) { + when(cloudFoundryClient + .services() + .get(GetServiceRequest.builder().serviceId(serviceId).build())) + .thenReturn( + Mono.just( + fill(GetServiceResponse.builder()) + .metadata(fill(Metadata.builder()).id(serviceId).build()) + .entity( + fill(ServiceEntity.builder()) + .extra( + "{\"displayName\":\"test-value\",\"longDescription\":\"test-value\",\"documentationUrl\":\"test-documentation-url\",\"supportUrl\":\"test-value\"}") + .label(service) + .build()) + .build())); + } + + private static void requestGetServiceInstance( + CloudFoundryClient cloudFoundryClient, String serviceInstanceId, String state) { + when(cloudFoundryClient + .serviceInstances() + .get( + org.cloudfoundry.client.v2.serviceinstances + .GetServiceInstanceRequest.builder() + .serviceInstanceId(serviceInstanceId) + .build())) + .thenReturn( + Mono.just( + fill(GetServiceInstanceResponse.builder()) + .metadata( + fill(Metadata.builder()) + .id(serviceInstanceId) + .build()) + .entity( + fill(ServiceInstanceEntity.builder()) + .lastOperation( + LastOperation.builder() + .state(state) + .type("create") + .build()) + .build()) + .build())); + } + + private static void requestGetServiceInstanceNotExist( + CloudFoundryClient cloudFoundryClient, String serviceInstanceId) { + when(cloudFoundryClient + .serviceInstances() + .get( + org.cloudfoundry.client.v2.serviceinstances + .GetServiceInstanceRequest.builder() + .serviceInstanceId(serviceInstanceId) + .build())) + .thenReturn( + Mono.error( + new ClientV2Exception( + 404, 404, "test-description", "test-error-code"))); + } + + private static void requestGetServiceNotPlanUpdateable( + CloudFoundryClient cloudFoundryClient, String serviceId, String service) { + when(cloudFoundryClient + .services() + .get(GetServiceRequest.builder().serviceId(serviceId).build())) + .thenReturn( + Mono.just( + fill(GetServiceResponse.builder()) + .metadata(fill(Metadata.builder()).id(serviceId).build()) + .entity( + fill(ServiceEntity.builder()) + .extra( + "{\"displayName\":\"test-value\",\"longDescription\":\"test-value\",\"documentationUrl\":\"test-documentation-url\",\"supportUrl\":\"test-value\"}") + .label(service) + .planUpdateable(false) + .build()) + .build())); + } + + private static void requestGetServicePlan( + CloudFoundryClient cloudFoundryClient, + String servicePlanId, + String servicePlan, + String serviceId) { + when(cloudFoundryClient + .servicePlans() + .get(GetServicePlanRequest.builder().servicePlanId(servicePlanId).build())) + .thenReturn( + Mono.just( + fill(GetServicePlanResponse.builder()) + .entity( + ServicePlanEntity.builder() + .name(servicePlan) + .serviceId(serviceId) + .build()) + .build())); + } + + private static void requestGetSpaceSummaryEmpty( + CloudFoundryClient cloudFoundryClient, String spaceId) { + when(cloudFoundryClient + .spaces() + .getSummary(GetSpaceSummaryRequest.builder().spaceId(spaceId).build())) + .thenReturn(Mono.just(fill(GetSpaceSummaryResponse.builder()).build())); + } + + private static void requestGetSpaceSummaryManagedServices( + CloudFoundryClient cloudFoundryClient, String spaceId) { + when(cloudFoundryClient + .spaces() + .getSummary(GetSpaceSummaryRequest.builder().spaceId(spaceId).build())) + .thenReturn( + Mono.just( + fill(GetSpaceSummaryResponse.builder()) + .id(spaceId) + .application( + SpaceApplicationSummary.builder() + .id("test-application-id-1") + .name("test-application-name-1") + .serviceNames( + "test-service-name-1", + "test-service-name-2") + .spaceId(spaceId) + .build()) + .application( + SpaceApplicationSummary.builder() + .id("test-application-id-2") + .name("test-application-name-2") + .serviceNames( + "test-service-name-2", + "test-service-name-3") + .spaceId(spaceId) + .build()) + .service( + org.cloudfoundry.client.v2.serviceinstances + .ServiceInstance.builder() + .id("test-service-id-2") + .lastOperation( + LastOperation.builder() + .description( + "test-last-operation-description-2") + .build()) + .name("test-service-name-2") + .servicePlan( + Plan.builder() + .id( + "test-service-plan-id-2") + .name( + "test-service-plan-name-2") + .service( + Service.builder() + .id( + "test-provided-service-id") + .label( + "test-provided-service-label") + .build()) + .build()) + .build()) + .build())); + } + + private static void requestGetSpaceSummaryManagedServicesNoApplications( + CloudFoundryClient cloudFoundryClient, String spaceId) { + when(cloudFoundryClient + .spaces() + .getSummary(GetSpaceSummaryRequest.builder().spaceId(spaceId).build())) + .thenReturn( + Mono.just( + fill(GetSpaceSummaryResponse.builder()) + .id(spaceId) + .service( + org.cloudfoundry.client.v2.serviceinstances + .ServiceInstance.builder() + .id("test-service-id") + .lastOperation( + LastOperation.builder() + .description( + "test-last-operation-description") + .build()) + .name("test-service-name") + .servicePlan( + Plan.builder() + .id("test-service-plan-id") + .name( + "test-service-plan-name") + .service( + Service.builder() + .id( + "test-provided-service-id") + .label( + "test-provided-service-label") + .build()) + .build()) + .build()) + .build())); + } + + private static void requestGetSpaceSummaryManagedServicesOneApplication( + CloudFoundryClient cloudFoundryClient, String spaceId) { + when(cloudFoundryClient + .spaces() + .getSummary(GetSpaceSummaryRequest.builder().spaceId(spaceId).build())) + .thenReturn( + Mono.just( + fill(GetSpaceSummaryResponse.builder()) + .id(spaceId) + .application( + SpaceApplicationSummary.builder() + .id("test-application-id") + .name("test-application-name") + .serviceNames( + "test-service-name-1", + "test-service-name-2") + .spaceId(spaceId) + .build()) + .service( + org.cloudfoundry.client.v2.serviceinstances + .ServiceInstance.builder() + .id("test-service-id-1") + .lastOperation( + LastOperation.builder() + .description( + "test-last-operation-description-1") + .build()) + .name("test-service-name-1") + .servicePlan( + Plan.builder() + .id( + "test-service-plan-id-1") + .name( + "test-service-plan-name-1") + .service( + Service.builder() + .id( + "test-provided-service-id") + .label( + "test-provided-service-label") + .build()) + .build()) + .build()) + .build())); + } + + private static void requestGetSpaceSummaryUserProvidedServices( + CloudFoundryClient cloudFoundryClient, String spaceId) { + when(cloudFoundryClient + .spaces() + .getSummary(GetSpaceSummaryRequest.builder().spaceId(spaceId).build())) + .thenReturn( + Mono.just( + fill(GetSpaceSummaryResponse.builder()) + .id(spaceId) + .application( + SpaceApplicationSummary.builder() + .id("test-application-id-1") + .name("test-application-name-1") + .serviceNames( + "test-service-name-1", + "test-service-name-2") + .spaceId(spaceId) + .build()) + .application( + SpaceApplicationSummary.builder() + .id("test-application-id-2") + .name("test-application-name-2") + .serviceNames( + "test-service-name-2", + "test-service-name-3") + .spaceId(spaceId) + .build()) + .service( + org.cloudfoundry.client.v2.serviceinstances + .ServiceInstance.builder() + .id("test-service-id-2") + .name("test-service-name-2") + .boundApplicationCount(1) + .build()) + .build())); } private static void requestJobFailure(CloudFoundryClient cloudFoundryClient, String jobId) { - when(cloudFoundryClient.jobs() - .get(GetJobRequest.builder() - .jobId(jobId) - .build())) - .thenReturn(Mono - .defer(new Supplier>() { - - private final Queue responses = new LinkedList<>(Arrays.asList( - fill(GetJobResponse.builder(), "job-") - .entity(fill(JobEntity.builder()) - .status("running") - .build()) - .build(), - fill(GetJobResponse.builder(), "job-") - .entity(fill(JobEntity.builder()) - .errorDetails(fill(ErrorDetails.builder(), "error-details-") - .build()) - .status("failed") - .build()) - .build() - )); - - @Override - public Mono get() { - return Mono.just(this.responses.poll()); - } - - })); + when(cloudFoundryClient.jobs().get(GetJobRequest.builder().jobId(jobId).build())) + .thenReturn( + Mono.defer( + new Supplier>() { + + private final Queue responses = + new LinkedList<>( + Arrays.asList( + fill(GetJobResponse.builder(), "job-") + .entity( + fill(JobEntity + .builder()) + .status( + "running") + .build()) + .build(), + fill(GetJobResponse.builder(), "job-") + .entity( + fill(JobEntity + .builder()) + .errorDetails( + fill( + ErrorDetails + .builder(), + "error-details-") + .build()) + .status( + "failed") + .build()) + .build())); + + @Override + public Mono get() { + return Mono.just(this.responses.poll()); + } + })); } private static void requestJobSuccess(CloudFoundryClient cloudFoundryClient, String jobId) { - when(cloudFoundryClient.jobs() - .get(GetJobRequest.builder() - .jobId(jobId) - .build())) - .thenReturn(Mono - .defer(new Supplier>() { - - private final Queue responses = new LinkedList<>(Arrays.asList( - fill(GetJobResponse.builder(), "job-") - .entity(fill(JobEntity.builder()) - .status("running") - .build()) - .build(), - fill(GetJobResponse.builder(), "job-") - .entity(fill(JobEntity.builder()) - .status("finished") - .build()) - .build() - )); - - @Override - public Mono get() { - return Mono.just(this.responses.poll()); - } - - })); - } - - private static void requestListOrganizationPrivateDomains(CloudFoundryClient cloudFoundryClient, String name, String organizationId) { - when(cloudFoundryClient.organizations() - .listPrivateDomains(ListOrganizationPrivateDomainsRequest.builder() - .name(name) - .organizationId(organizationId) - .page(1) - .build())) - .thenReturn(Mono - .just(fill(ListOrganizationPrivateDomainsResponse.builder()) - .resource(fill(PrivateDomainResource.builder(), "private-domain-") - .build()) - .build())); - } - - private static void requestListOrganizationPrivateDomainsEmpty(CloudFoundryClient cloudFoundryClient, String name, String organizationId) { - when(cloudFoundryClient.organizations() - .listPrivateDomains(ListOrganizationPrivateDomainsRequest.builder() - .name(name) - .organizationId(organizationId) - .page(1) - .build())) - .thenReturn(Mono - .just(fill(ListOrganizationPrivateDomainsResponse.builder()) - .build())); - } - - private static void requestListRoutes(CloudFoundryClient cloudFoundryClient, String domainId, String host, String path) { - when(cloudFoundryClient.routes() - .list(ListRoutesRequest.builder() - .domainId(domainId) - .host(host) - .page(1) - .path(path) - .build())) - .thenReturn(Mono - .just(fill(ListRoutesResponse.builder()) - .resource(fill(RouteResource.builder(), "route-") - .entity(RouteEntity.builder() - .domainId(domainId) - .host(host) - .path(path) - .serviceInstanceId("test-service-instance-id") - .build()) - .build()) - .build())); + when(cloudFoundryClient.jobs().get(GetJobRequest.builder().jobId(jobId).build())) + .thenReturn( + Mono.defer( + new Supplier>() { + + private final Queue responses = + new LinkedList<>( + Arrays.asList( + fill(GetJobResponse.builder(), "job-") + .entity( + fill(JobEntity + .builder()) + .status( + "running") + .build()) + .build(), + fill(GetJobResponse.builder(), "job-") + .entity( + fill(JobEntity + .builder()) + .status( + "finished") + .build()) + .build())); + + @Override + public Mono get() { + return Mono.just(this.responses.poll()); + } + })); + } + + private static void requestListOrganizationPrivateDomains( + CloudFoundryClient cloudFoundryClient, String name, String organizationId) { + when(cloudFoundryClient + .organizations() + .listPrivateDomains( + ListOrganizationPrivateDomainsRequest.builder() + .name(name) + .organizationId(organizationId) + .page(1) + .build())) + .thenReturn( + Mono.just( + fill(ListOrganizationPrivateDomainsResponse.builder()) + .resource( + fill( + PrivateDomainResource.builder(), + "private-domain-") + .build()) + .build())); + } + + private static void requestListOrganizationPrivateDomainsEmpty( + CloudFoundryClient cloudFoundryClient, String name, String organizationId) { + when(cloudFoundryClient + .organizations() + .listPrivateDomains( + ListOrganizationPrivateDomainsRequest.builder() + .name(name) + .organizationId(organizationId) + .page(1) + .build())) + .thenReturn( + Mono.just(fill(ListOrganizationPrivateDomainsResponse.builder()).build())); + } + + private static void requestListRoutes( + CloudFoundryClient cloudFoundryClient, String domainId, String host, String path) { + when(cloudFoundryClient + .routes() + .list( + ListRoutesRequest.builder() + .domainId(domainId) + .host(host) + .page(1) + .path(path) + .build())) + .thenReturn( + Mono.just( + fill(ListRoutesResponse.builder()) + .resource( + fill(RouteResource.builder(), "route-") + .entity( + RouteEntity.builder() + .domainId(domainId) + .host(host) + .path(path) + .serviceInstanceId( + "test-service-instance-id") + .build()) + .build()) + .build())); } private static void requestListRoutes(CloudFoundryClient cloudFoundryClient, String domainId) { - when(cloudFoundryClient.routes() - .list(ListRoutesRequest.builder() - .domainId(domainId) - .page(1) - .build())) - .thenReturn(Mono - .just(fill(ListRoutesResponse.builder()) - .resource(fill(RouteResource.builder(), "route-") - .entity(RouteEntity.builder() - .domainId(domainId) - .path("") - .serviceInstanceId("test-service-instance-id") - .build()) - .build()) - .build())); - } - - private static void requestListRoutesEmpty(CloudFoundryClient cloudFoundryClient, String domainId) { - when(cloudFoundryClient.routes() - .list(ListRoutesRequest.builder() - .domainId(domainId) - .page(1) - .build())) - .thenReturn(Mono - .just(fill(ListRoutesResponse.builder()) - .build())); - } - - private static void requestListSpaceServiceBindings(CloudFoundryClient cloudFoundryClient, String serviceInstanceId, String applicationId) { - when(cloudFoundryClient.serviceBindingsV2() - .list(ListServiceBindingsRequest.builder() - .page(1) - .serviceInstanceId(serviceInstanceId) - .build())) - .thenReturn(Mono - .just(fill(ListServiceBindingsResponse.builder()) - .resource(fill(ServiceBindingResource.builder(), "service-binding") - .entity(ServiceBindingEntity.builder() - .applicationId(applicationId) - .build()) - .build()) - .build())); - } - - private static void requestListSpaceServiceInstanceServiceKeys(CloudFoundryClient cloudFoundryClient, String serviceInstanceId, String serviceKey, String credentialKey, String credentialValue) { - when(cloudFoundryClient.serviceInstances() - .listServiceKeys(ListServiceInstanceServiceKeysRequest.builder() - .name(serviceKey) - .page(1) - .serviceInstanceId(serviceInstanceId) - .build())) - .thenReturn(Mono - .just(fill(ListServiceInstanceServiceKeysResponse.builder()) - .resource(fill(ServiceKeyResource.builder(), "service-key-") - .entity(ServiceKeyEntity.builder() - .credential(credentialKey, credentialValue) - .name(serviceKey) - .build()) - .build()) - .build())); - } - - private static void requestListSpaceServiceInstanceServiceKeys(CloudFoundryClient cloudFoundryClient, String serviceInstanceId, String credentialKey, String credentialValue) { - when(cloudFoundryClient.serviceInstances() - .listServiceKeys(ListServiceInstanceServiceKeysRequest.builder() - .page(1) - .serviceInstanceId(serviceInstanceId) - .build())) - .thenReturn(Mono - .just(fill(ListServiceInstanceServiceKeysResponse.builder()) - .resource(fill(ServiceKeyResource.builder(), "service-key-") - .entity(fill(ServiceKeyEntity.builder(), "service-key-entity-") - .credential(credentialKey, credentialValue) - .build()) - .build()) - .build())); - } - - private static void requestListSpaceServiceInstanceServiceKeysEmpty(CloudFoundryClient cloudFoundryClient, String serviceInstanceId, String serviceKey) { - when(cloudFoundryClient.serviceInstances() - .listServiceKeys(ListServiceInstanceServiceKeysRequest.builder() - .name(serviceKey) - .page(1) - .serviceInstanceId(serviceInstanceId) - .build())) - .thenReturn(Mono - .just(fill(ListServiceInstanceServiceKeysResponse.builder()) - .build())); - } - - private static void requestListSpaceServiceInstanceServiceKeysEmpty(CloudFoundryClient cloudFoundryClient, String serviceInstanceId) { - when(cloudFoundryClient.serviceInstances() - .listServiceKeys(ListServiceInstanceServiceKeysRequest.builder() - .page(1) - .serviceInstanceId(serviceInstanceId) - .build())) - .thenReturn(Mono - .just(fill(ListServiceInstanceServiceKeysResponse.builder()) - .build())); - } - - private static void requestListSpaceServiceInstances(CloudFoundryClient cloudFoundryClient, String serviceName, String spaceId) { - when(cloudFoundryClient.spaces() - .listServiceInstances(ListSpaceServiceInstancesRequest.builder() - .name(serviceName) - .page(1) - .returnUserProvidedServiceInstances(true) - .spaceId(spaceId) - .build())) - .thenReturn(Mono - .just(fill(ListSpaceServiceInstancesResponse.builder()) - .resource(fill(UnionServiceInstanceResource.builder(), "service-instance-") - .entity(fill(UnionServiceInstanceEntity.builder(), "service-instance-") - .type(ServiceInstanceType.MANAGED.toString()) - .build()) - .build()) - .build())); - } - - private static void requestListSpaceServiceInstances(CloudFoundryClient cloudFoundryClient, String serviceName, String spaceId, String servicePlanId) { - when(cloudFoundryClient.spaces() - .listServiceInstances(ListSpaceServiceInstancesRequest.builder() - .name(serviceName) - .page(1) - .returnUserProvidedServiceInstances(true) - .spaceId(spaceId) - .build())) - .thenReturn(Mono - .just(fill(ListSpaceServiceInstancesResponse.builder()) - .resource(fill(UnionServiceInstanceResource.builder(), "service-instance-") - .entity(fill(UnionServiceInstanceEntity.builder()) - .servicePlanId(servicePlanId) - .build()) - .build()) - .build())); - } - - private static void requestListSpaceServiceInstancesEmpty(CloudFoundryClient cloudFoundryClient, String serviceName, String spaceId) { - when(cloudFoundryClient.spaces() - .listServiceInstances(ListSpaceServiceInstancesRequest.builder() - .name(serviceName) - .page(1) - .returnUserProvidedServiceInstances(true) - .spaceId(spaceId) - .build())) - .thenReturn(Mono - .just(fill(ListSpaceServiceInstancesResponse.builder()) - .build())); - } - - private static void requestListSpaceServiceInstancesManaged(CloudFoundryClient cloudFoundryClient, String serviceName, String spaceId) { - when(cloudFoundryClient.spaces() - .listServiceInstances(ListSpaceServiceInstancesRequest.builder() - .name(serviceName) - .page(1) - .returnUserProvidedServiceInstances(true) - .spaceId(spaceId) - .build())) - .thenReturn(Mono - .just(fill(ListSpaceServiceInstancesResponse.builder()) - .resource(UnionServiceInstanceResource.builder() - .metadata(fill(Metadata.builder()) - .id("test-service-instance-id") - .build()) - .entity(fill(UnionServiceInstanceEntity.builder()) - .lastOperation(LastOperation.builder() - .createdAt("test-startedAt") - .description("test-message") - .state("test-status") - .type("test-type") - .updatedAt("test-updatedAt") - .build()) - .name(serviceName) - .servicePlanId("test-service-plan-id") - .tags(Collections.singletonList("test-tag")) - .type(ServiceInstanceType.MANAGED.toString()) - .build()) - .build()) - .build())); - } - - private static void requestListSpaceServiceInstancesUserProvided(CloudFoundryClient cloudFoundryClient, String serviceName, String spaceId) { - when(cloudFoundryClient.spaces() - .listServiceInstances(ListSpaceServiceInstancesRequest.builder() - .page(1) - .spaceId(spaceId) - .returnUserProvidedServiceInstances(true) - .name(serviceName) - .build())) - .thenReturn(Mono - .just(fill(ListSpaceServiceInstancesResponse.builder()) - .resource(UnionServiceInstanceResource.builder() - .metadata(fill(Metadata.builder()) - .id("test-service-instance-id") - .build()) - .entity(UnionServiceInstanceEntity.builder() - .name(serviceName) - .type(ServiceInstanceType.USER_PROVIDED.toString()) - .build()) - .build()) - .build())); - } - - private static void requestListSpaceServicePlanVisibilities(CloudFoundryClient cloudFoundryClient, String organizationId, String servicePlanId) { - when(cloudFoundryClient.servicePlanVisibilities() - .list(ListServicePlanVisibilitiesRequest.builder() - .organizationId(organizationId) - .page(1) - .servicePlanId(servicePlanId) - .build())) - .thenReturn(Mono - .just(fill(ListServicePlanVisibilitiesResponse.builder()) - .resource(fill(ServicePlanVisibilityResource.builder()) - .entity(ServicePlanVisibilityEntity.builder() - .organizationId(organizationId) - .servicePlanId(servicePlanId) - .build()) - .build()) - .build())); - } - - private static void requestListSpaceServicePlanVisibilitiesEmpty(CloudFoundryClient cloudFoundryClient, String organizationId, String servicePlanId) { - when(cloudFoundryClient.servicePlanVisibilities() - .list(ListServicePlanVisibilitiesRequest.builder() - .organizationId(organizationId) - .page(1) - .servicePlanId(servicePlanId) - .build())) - .thenReturn(Mono - .just(fill(ListServicePlanVisibilitiesResponse.builder()) - .build())); - } - - private static void requestListSpaceServicePlans(CloudFoundryClient cloudFoundryClient, String serviceId, String plan, String planId) { - when(cloudFoundryClient.servicePlans() - .list(ListServicePlansRequest.builder() - .page(1) - .serviceId(serviceId) - .build())) - .thenReturn(Mono - .just(fill(ListServicePlansResponse.builder()) - .resource(ServicePlanResource.builder() - .metadata(fill(Metadata.builder()) - .id(planId) - .build()) - .entity(fill(ServicePlanEntity.builder()) - .name(plan) - .build()) - .build()) - .build()) - - ); - } - - private static void requestListSpaceServicePlansNotPublic(CloudFoundryClient cloudFoundryClient, String serviceId, String plan, String planId) { - when(cloudFoundryClient.servicePlans() - .list(ListServicePlansRequest.builder() - .serviceId(serviceId) - .page(1) - .build())) - .thenReturn(Mono - .just(fill(ListServicePlansResponse.builder()) - .resource(ServicePlanResource.builder() - .metadata(fill(Metadata.builder()) - .id(planId) - .build()) - .entity(fill(ServicePlanEntity.builder()) - .name(plan) - .publiclyVisible(false) - .build()) - .build()) - .build()) - - ); - } - - private static void requestListSpaceServices(CloudFoundryClient cloudFoundryClient, String spaceId, String serviceLabel) { - when(cloudFoundryClient.spaces() - .listServices(ListSpaceServicesRequest.builder() - .label(serviceLabel) - .page(1) - .spaceId(spaceId) - .build())) - .thenReturn(Mono - .just(fill(ListSpaceServicesResponse.builder()) - .resource(ServiceResource.builder() - .metadata(fill(Metadata.builder()) - .id(serviceLabel + "-id") - .build()) - .entity(fill(ServiceEntity.builder()) - .description(serviceLabel + "-description") - .label(serviceLabel) - .build()) - .build()) - .build())); - } - - private static void requestListSpaceServicesTwo(CloudFoundryClient cloudFoundryClient, String spaceId, String serviceLabel1, String serviceLabel2) { - when(cloudFoundryClient.spaces() - .listServices(ListSpaceServicesRequest.builder() - .page(1) - .spaceId(spaceId) - .build())) - .thenReturn(Mono - .just(fill(ListSpaceServicesResponse.builder()) - .resource(ServiceResource.builder() - .metadata(fill(Metadata.builder()) - .id(serviceLabel1 + "-id") - .build()) - .entity(fill(ServiceEntity.builder()) - .description(serviceLabel1 + "-description") - .label(serviceLabel1) - .build()) - .build()) - .resource(ServiceResource.builder() - .metadata(fill(Metadata.builder()) - .id(serviceLabel2 + "-id") - .build()) - .entity(fill(ServiceEntity.builder()) - .description(serviceLabel2 + "-description") - .label(serviceLabel2) - .build()) - .build()) - .build())); - } - - private static void requestRemoveUserProvidedServiceInstanceRoute(CloudFoundryClient cloudFoundryClient, String routeId, String serviceInstanceId) { - when(cloudFoundryClient.userProvidedServiceInstances() - .removeRoute(RemoveUserProvidedServiceInstanceRouteRequest.builder() - .routeId(routeId) - .userProvidedServiceInstanceId(serviceInstanceId) - .build())) - .thenReturn(Mono.empty()); - } - - private static void requestRenameServiceInstance(CloudFoundryClient cloudFoundryClient, String serviceInstanceId, String newName) { - when(cloudFoundryClient.serviceInstances() - .update(org.cloudfoundry.client.v2.serviceinstances.UpdateServiceInstanceRequest.builder() - .name(newName) - .serviceInstanceId(serviceInstanceId) - .build())) - .thenReturn(Mono - .just(fill(UpdateServiceInstanceResponse.builder()) - .build())); - } - - private static void requestUpdateServiceInstance(CloudFoundryClient cloudFoundryClient, Map parameter, String serviceInstanceId, String servicePlanId, List tags) { - when(cloudFoundryClient.serviceInstances() - .update(org.cloudfoundry.client.v2.serviceinstances.UpdateServiceInstanceRequest.builder() - .acceptsIncomplete(true) - .parameters(parameter) - .serviceInstanceId(serviceInstanceId) - .servicePlanId(servicePlanId) - .tags(tags) - .build())) - .thenReturn(Mono - .just(fill(UpdateServiceInstanceResponse.builder()) - .build())); - } - - private static void requestUpdateUserProvidedServiceInstance(CloudFoundryClient cloudFoundryClient, Map credentials, String syslogDrainUrl, List tags, - String userProvidedServiceInstanceId) { - when(cloudFoundryClient.userProvidedServiceInstances() - .update(org.cloudfoundry.client.v2.userprovidedserviceinstances.UpdateUserProvidedServiceInstanceRequest.builder() - .credentials(credentials) - .syslogDrainUrl(syslogDrainUrl) - .tags(tags) - .userProvidedServiceInstanceId(userProvidedServiceInstanceId) - .build())) - .thenReturn(Mono - .just(fill(UpdateUserProvidedServiceInstanceResponse.builder()) - .build())); + when(cloudFoundryClient + .routes() + .list(ListRoutesRequest.builder().domainId(domainId).page(1).build())) + .thenReturn( + Mono.just( + fill(ListRoutesResponse.builder()) + .resource( + fill(RouteResource.builder(), "route-") + .entity( + RouteEntity.builder() + .domainId(domainId) + .path("") + .serviceInstanceId( + "test-service-instance-id") + .build()) + .build()) + .build())); + } + + private static void requestListRoutesEmpty( + CloudFoundryClient cloudFoundryClient, String domainId) { + when(cloudFoundryClient + .routes() + .list(ListRoutesRequest.builder().domainId(domainId).page(1).build())) + .thenReturn(Mono.just(fill(ListRoutesResponse.builder()).build())); + } + + private static void requestListSpaceServiceBindings( + CloudFoundryClient cloudFoundryClient, String serviceInstanceId, String applicationId) { + when(cloudFoundryClient + .serviceBindingsV2() + .list( + ListServiceBindingsRequest.builder() + .page(1) + .serviceInstanceId(serviceInstanceId) + .build())) + .thenReturn( + Mono.just( + fill(ListServiceBindingsResponse.builder()) + .resource( + fill( + ServiceBindingResource.builder(), + "service-binding") + .entity( + ServiceBindingEntity.builder() + .applicationId( + applicationId) + .build()) + .build()) + .build())); + } + + private static void requestListSpaceServiceInstanceServiceKeys( + CloudFoundryClient cloudFoundryClient, + String serviceInstanceId, + String serviceKey, + String credentialKey, + String credentialValue) { + when(cloudFoundryClient + .serviceInstances() + .listServiceKeys( + ListServiceInstanceServiceKeysRequest.builder() + .name(serviceKey) + .page(1) + .serviceInstanceId(serviceInstanceId) + .build())) + .thenReturn( + Mono.just( + fill(ListServiceInstanceServiceKeysResponse.builder()) + .resource( + fill(ServiceKeyResource.builder(), "service-key-") + .entity( + ServiceKeyEntity.builder() + .credential( + credentialKey, + credentialValue) + .name(serviceKey) + .build()) + .build()) + .build())); + } + + private static void requestListSpaceServiceInstanceServiceKeys( + CloudFoundryClient cloudFoundryClient, + String serviceInstanceId, + String credentialKey, + String credentialValue) { + when(cloudFoundryClient + .serviceInstances() + .listServiceKeys( + ListServiceInstanceServiceKeysRequest.builder() + .page(1) + .serviceInstanceId(serviceInstanceId) + .build())) + .thenReturn( + Mono.just( + fill(ListServiceInstanceServiceKeysResponse.builder()) + .resource( + fill(ServiceKeyResource.builder(), "service-key-") + .entity( + fill( + ServiceKeyEntity + .builder(), + "service-key-entity-") + .credential( + credentialKey, + credentialValue) + .build()) + .build()) + .build())); + } + + private static void requestListSpaceServiceInstanceServiceKeysEmpty( + CloudFoundryClient cloudFoundryClient, String serviceInstanceId, String serviceKey) { + when(cloudFoundryClient + .serviceInstances() + .listServiceKeys( + ListServiceInstanceServiceKeysRequest.builder() + .name(serviceKey) + .page(1) + .serviceInstanceId(serviceInstanceId) + .build())) + .thenReturn( + Mono.just(fill(ListServiceInstanceServiceKeysResponse.builder()).build())); + } + + private static void requestListSpaceServiceInstanceServiceKeysEmpty( + CloudFoundryClient cloudFoundryClient, String serviceInstanceId) { + when(cloudFoundryClient + .serviceInstances() + .listServiceKeys( + ListServiceInstanceServiceKeysRequest.builder() + .page(1) + .serviceInstanceId(serviceInstanceId) + .build())) + .thenReturn( + Mono.just(fill(ListServiceInstanceServiceKeysResponse.builder()).build())); + } + + private static void requestListSpaceServiceInstances( + CloudFoundryClient cloudFoundryClient, String serviceName, String spaceId) { + when(cloudFoundryClient + .spaces() + .listServiceInstances( + ListSpaceServiceInstancesRequest.builder() + .name(serviceName) + .page(1) + .returnUserProvidedServiceInstances(true) + .spaceId(spaceId) + .build())) + .thenReturn( + Mono.just( + fill(ListSpaceServiceInstancesResponse.builder()) + .resource( + fill( + UnionServiceInstanceResource + .builder(), + "service-instance-") + .entity( + fill( + UnionServiceInstanceEntity + .builder(), + "service-instance-") + .type( + ServiceInstanceType + .MANAGED + .toString()) + .build()) + .build()) + .build())); + } + + private static void requestListSpaceServiceInstances( + CloudFoundryClient cloudFoundryClient, + String serviceName, + String spaceId, + String servicePlanId) { + when(cloudFoundryClient + .spaces() + .listServiceInstances( + ListSpaceServiceInstancesRequest.builder() + .name(serviceName) + .page(1) + .returnUserProvidedServiceInstances(true) + .spaceId(spaceId) + .build())) + .thenReturn( + Mono.just( + fill(ListSpaceServiceInstancesResponse.builder()) + .resource( + fill( + UnionServiceInstanceResource + .builder(), + "service-instance-") + .entity( + fill(UnionServiceInstanceEntity + .builder()) + .servicePlanId( + servicePlanId) + .build()) + .build()) + .build())); + } + + private static void requestListSpaceServiceInstancesEmpty( + CloudFoundryClient cloudFoundryClient, String serviceName, String spaceId) { + when(cloudFoundryClient + .spaces() + .listServiceInstances( + ListSpaceServiceInstancesRequest.builder() + .name(serviceName) + .page(1) + .returnUserProvidedServiceInstances(true) + .spaceId(spaceId) + .build())) + .thenReturn(Mono.just(fill(ListSpaceServiceInstancesResponse.builder()).build())); + } + + private static void requestListSpaceServiceInstancesManaged( + CloudFoundryClient cloudFoundryClient, String serviceName, String spaceId) { + when(cloudFoundryClient + .spaces() + .listServiceInstances( + ListSpaceServiceInstancesRequest.builder() + .name(serviceName) + .page(1) + .returnUserProvidedServiceInstances(true) + .spaceId(spaceId) + .build())) + .thenReturn( + Mono.just( + fill(ListSpaceServiceInstancesResponse.builder()) + .resource( + UnionServiceInstanceResource.builder() + .metadata( + fill(Metadata.builder()) + .id( + "test-service-instance-id") + .build()) + .entity( + fill(UnionServiceInstanceEntity + .builder()) + .lastOperation( + LastOperation + .builder() + .createdAt( + "test-startedAt") + .description( + "test-message") + .state( + "test-status") + .type( + "test-type") + .updatedAt( + "test-updatedAt") + .build()) + .name(serviceName) + .servicePlanId( + "test-service-plan-id") + .tags( + Collections + .singletonList( + "test-tag")) + .type( + ServiceInstanceType + .MANAGED + .toString()) + .build()) + .build()) + .build())); + } + + private static void requestListSpaceServiceInstancesUserProvided( + CloudFoundryClient cloudFoundryClient, String serviceName, String spaceId) { + when(cloudFoundryClient + .spaces() + .listServiceInstances( + ListSpaceServiceInstancesRequest.builder() + .page(1) + .spaceId(spaceId) + .returnUserProvidedServiceInstances(true) + .name(serviceName) + .build())) + .thenReturn( + Mono.just( + fill(ListSpaceServiceInstancesResponse.builder()) + .resource( + UnionServiceInstanceResource.builder() + .metadata( + fill(Metadata.builder()) + .id( + "test-service-instance-id") + .build()) + .entity( + UnionServiceInstanceEntity.builder() + .name(serviceName) + .type( + ServiceInstanceType + .USER_PROVIDED + .toString()) + .build()) + .build()) + .build())); + } + + private static void requestListSpaceServicePlanVisibilities( + CloudFoundryClient cloudFoundryClient, String organizationId, String servicePlanId) { + when(cloudFoundryClient + .servicePlanVisibilities() + .list( + ListServicePlanVisibilitiesRequest.builder() + .organizationId(organizationId) + .page(1) + .servicePlanId(servicePlanId) + .build())) + .thenReturn( + Mono.just( + fill(ListServicePlanVisibilitiesResponse.builder()) + .resource( + fill(ServicePlanVisibilityResource.builder()) + .entity( + ServicePlanVisibilityEntity + .builder() + .organizationId( + organizationId) + .servicePlanId( + servicePlanId) + .build()) + .build()) + .build())); + } + + private static void requestListSpaceServicePlanVisibilitiesEmpty( + CloudFoundryClient cloudFoundryClient, String organizationId, String servicePlanId) { + when(cloudFoundryClient + .servicePlanVisibilities() + .list( + ListServicePlanVisibilitiesRequest.builder() + .organizationId(organizationId) + .page(1) + .servicePlanId(servicePlanId) + .build())) + .thenReturn(Mono.just(fill(ListServicePlanVisibilitiesResponse.builder()).build())); + } + + private static void requestListSpaceServicePlans( + CloudFoundryClient cloudFoundryClient, String serviceId, String plan, String planId) { + when(cloudFoundryClient + .servicePlans() + .list( + ListServicePlansRequest.builder() + .page(1) + .serviceId(serviceId) + .build())) + .thenReturn( + Mono.just( + fill(ListServicePlansResponse.builder()) + .resource( + ServicePlanResource.builder() + .metadata( + fill(Metadata.builder()) + .id(planId) + .build()) + .entity( + fill(ServicePlanEntity.builder()) + .name(plan) + .build()) + .build()) + .build())); + } + + private static void requestListSpaceServicePlansNotPublic( + CloudFoundryClient cloudFoundryClient, String serviceId, String plan, String planId) { + when(cloudFoundryClient + .servicePlans() + .list( + ListServicePlansRequest.builder() + .serviceId(serviceId) + .page(1) + .build())) + .thenReturn( + Mono.just( + fill(ListServicePlansResponse.builder()) + .resource( + ServicePlanResource.builder() + .metadata( + fill(Metadata.builder()) + .id(planId) + .build()) + .entity( + fill(ServicePlanEntity.builder()) + .name(plan) + .publiclyVisible(false) + .build()) + .build()) + .build())); + } + + private static void requestListSpaceServices( + CloudFoundryClient cloudFoundryClient, String spaceId, String serviceLabel) { + when(cloudFoundryClient + .spaces() + .listServices( + ListSpaceServicesRequest.builder() + .label(serviceLabel) + .page(1) + .spaceId(spaceId) + .build())) + .thenReturn( + Mono.just( + fill(ListSpaceServicesResponse.builder()) + .resource( + ServiceResource.builder() + .metadata( + fill(Metadata.builder()) + .id(serviceLabel + "-id") + .build()) + .entity( + fill(ServiceEntity.builder()) + .description( + serviceLabel + + "-description") + .label(serviceLabel) + .build()) + .build()) + .build())); + } + + private static void requestListSpaceServicesTwo( + CloudFoundryClient cloudFoundryClient, + String spaceId, + String serviceLabel1, + String serviceLabel2) { + when(cloudFoundryClient + .spaces() + .listServices( + ListSpaceServicesRequest.builder() + .page(1) + .spaceId(spaceId) + .build())) + .thenReturn( + Mono.just( + fill(ListSpaceServicesResponse.builder()) + .resource( + ServiceResource.builder() + .metadata( + fill(Metadata.builder()) + .id(serviceLabel1 + "-id") + .build()) + .entity( + fill(ServiceEntity.builder()) + .description( + serviceLabel1 + + "-description") + .label(serviceLabel1) + .build()) + .build()) + .resource( + ServiceResource.builder() + .metadata( + fill(Metadata.builder()) + .id(serviceLabel2 + "-id") + .build()) + .entity( + fill(ServiceEntity.builder()) + .description( + serviceLabel2 + + "-description") + .label(serviceLabel2) + .build()) + .build()) + .build())); + } + + private static void requestRemoveUserProvidedServiceInstanceRoute( + CloudFoundryClient cloudFoundryClient, String routeId, String serviceInstanceId) { + when(cloudFoundryClient + .userProvidedServiceInstances() + .removeRoute( + RemoveUserProvidedServiceInstanceRouteRequest.builder() + .routeId(routeId) + .userProvidedServiceInstanceId(serviceInstanceId) + .build())) + .thenReturn(Mono.empty()); + } + + private static void requestRenameServiceInstance( + CloudFoundryClient cloudFoundryClient, String serviceInstanceId, String newName) { + when(cloudFoundryClient + .serviceInstances() + .update( + org.cloudfoundry.client.v2.serviceinstances + .UpdateServiceInstanceRequest.builder() + .name(newName) + .serviceInstanceId(serviceInstanceId) + .build())) + .thenReturn(Mono.just(fill(UpdateServiceInstanceResponse.builder()).build())); + } + + private static void requestUpdateServiceInstance( + CloudFoundryClient cloudFoundryClient, + Map parameter, + String serviceInstanceId, + String servicePlanId, + List tags) { + when(cloudFoundryClient + .serviceInstances() + .update( + org.cloudfoundry.client.v2.serviceinstances + .UpdateServiceInstanceRequest.builder() + .acceptsIncomplete(true) + .parameters(parameter) + .serviceInstanceId(serviceInstanceId) + .servicePlanId(servicePlanId) + .tags(tags) + .build())) + .thenReturn(Mono.just(fill(UpdateServiceInstanceResponse.builder()).build())); + } + + private static void requestUpdateUserProvidedServiceInstance( + CloudFoundryClient cloudFoundryClient, + Map credentials, + String syslogDrainUrl, + List tags, + String userProvidedServiceInstanceId) { + when(cloudFoundryClient + .userProvidedServiceInstances() + .update( + org.cloudfoundry.client.v2.userprovidedserviceinstances + .UpdateUserProvidedServiceInstanceRequest.builder() + .credentials(credentials) + .syslogDrainUrl(syslogDrainUrl) + .tags(tags) + .userProvidedServiceInstanceId( + userProvidedServiceInstanceId) + .build())) + .thenReturn( + Mono.just( + fill(UpdateUserProvidedServiceInstanceResponse.builder()).build())); } private void requestListSharedDomains(CloudFoundryClient cloudFoundryClient, String name) { - when(cloudFoundryClient.sharedDomains() - .list(ListSharedDomainsRequest.builder() - .name(name) - .page(1) - .build())) - .thenReturn(Mono - .just(fill(ListSharedDomainsResponse.builder()) - .resource(fill(SharedDomainResource.builder(), "shared-domain-") - .build()) - .build())); + when(cloudFoundryClient + .sharedDomains() + .list(ListSharedDomainsRequest.builder().name(name).page(1).build())) + .thenReturn( + Mono.just( + fill(ListSharedDomainsResponse.builder()) + .resource( + fill( + SharedDomainResource.builder(), + "shared-domain-") + .build()) + .build())); } private void requestListSharedDomainsEmpty(CloudFoundryClient cloudFoundryClient, String name) { - when(cloudFoundryClient.sharedDomains() - .list(ListSharedDomainsRequest.builder() - .name(name) - .page(1) - .build())) - .thenReturn(Mono - .just(fill(ListSharedDomainsResponse.builder()) - .build())); + when(cloudFoundryClient + .sharedDomains() + .list(ListSharedDomainsRequest.builder().name(name).page(1).build())) + .thenReturn(Mono.just(fill(ListSharedDomainsResponse.builder()).build())); } - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/services/DeleteServiceInstanceRequestTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/services/DeleteServiceInstanceRequestTest.java index de26460890..9045a70b6b 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/services/DeleteServiceInstanceRequestTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/services/DeleteServiceInstanceRequestTest.java @@ -22,15 +22,11 @@ public final class DeleteServiceInstanceRequestTest { @Test(expected = IllegalStateException.class) public void noName() { - DeleteServiceInstanceRequest.builder() - .build(); + DeleteServiceInstanceRequest.builder().build(); } @Test public void valid() { - DeleteServiceInstanceRequest.builder() - .name("test-service-name") - .build(); + DeleteServiceInstanceRequest.builder().name("test-service-name").build(); } - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/services/DeleteServiceKeyRequestTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/services/DeleteServiceKeyRequestTest.java index 74f8eb4ffc..3e4d3dadb9 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/services/DeleteServiceKeyRequestTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/services/DeleteServiceKeyRequestTest.java @@ -22,24 +22,19 @@ public final class DeleteServiceKeyRequestTest { @Test(expected = IllegalStateException.class) public void noServiceInstanceName() { - DeleteServiceKeyRequest.builder() - .serviceKeyName("test-service-key-name") - .build(); + DeleteServiceKeyRequest.builder().serviceKeyName("test-service-key-name").build(); } @Test(expected = IllegalStateException.class) public void noServiceKeyName() { - DeleteServiceKeyRequest.builder() - .serviceInstanceName("test-service-instance-name") - .build(); + DeleteServiceKeyRequest.builder().serviceInstanceName("test-service-instance-name").build(); } @Test public void valid() { DeleteServiceKeyRequest.builder() - .serviceInstanceName("test-service-instance-name") - .serviceKeyName("test-service-key-name") - .build(); + .serviceInstanceName("test-service-instance-name") + .serviceKeyName("test-service-key-name") + .build(); } - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/services/GetServiceInstanceRequestTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/services/GetServiceInstanceRequestTest.java index 7725df449d..cfaf8e8a33 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/services/GetServiceInstanceRequestTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/services/GetServiceInstanceRequestTest.java @@ -22,15 +22,11 @@ public final class GetServiceInstanceRequestTest { @Test(expected = IllegalStateException.class) public void noName() { - GetServiceInstanceRequest.builder() - .build(); + GetServiceInstanceRequest.builder().build(); } @Test public void valid() { - GetServiceInstanceRequest.builder() - .name("test-service-name") - .build(); + GetServiceInstanceRequest.builder().name("test-service-name").build(); } - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/services/GetServiceKeyRequestTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/services/GetServiceKeyRequestTest.java index ac84ce6f97..6312ecd421 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/services/GetServiceKeyRequestTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/services/GetServiceKeyRequestTest.java @@ -22,24 +22,19 @@ public final class GetServiceKeyRequestTest { @Test(expected = IllegalStateException.class) public void noServiceInstanceName() { - GetServiceKeyRequest.builder() - .serviceKeyName("test-service-key-name") - .build(); + GetServiceKeyRequest.builder().serviceKeyName("test-service-key-name").build(); } @Test(expected = IllegalStateException.class) public void noServiceKeyName() { - GetServiceKeyRequest.builder() - .serviceInstanceName("test-service-instance-name") - .build(); + GetServiceKeyRequest.builder().serviceInstanceName("test-service-instance-name").build(); } @Test public void valid() { GetServiceKeyRequest.builder() - .serviceKeyName("test-service-key-name") - .serviceInstanceName("test-service-instance-name") - .build(); + .serviceKeyName("test-service-key-name") + .serviceInstanceName("test-service-instance-name") + .build(); } - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/services/ListServiceKeysRequestTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/services/ListServiceKeysRequestTest.java index cd81403077..46751d28a8 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/services/ListServiceKeysRequestTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/services/ListServiceKeysRequestTest.java @@ -22,15 +22,11 @@ public class ListServiceKeysRequestTest { @Test(expected = IllegalStateException.class) public void noServiceInstanceName() { - ListServiceKeysRequest.builder() - .build(); + ListServiceKeysRequest.builder().build(); } @Test public void valid() { - ListServiceKeysRequest.builder() - .serviceInstanceName("service-instance") - .build(); + ListServiceKeysRequest.builder().serviceInstanceName("service-instance").build(); } - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/services/ListServiceOfferingsRequestTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/services/ListServiceOfferingsRequestTest.java index 518a916e28..c45e398016 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/services/ListServiceOfferingsRequestTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/services/ListServiceOfferingsRequestTest.java @@ -22,8 +22,6 @@ public final class ListServiceOfferingsRequestTest { @Test public void valid() { - ListServiceOfferingsRequest.builder() - .build(); + ListServiceOfferingsRequest.builder().build(); } - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/services/RenameServiceInstanceRequestTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/services/RenameServiceInstanceRequestTest.java index 05b888855c..85d038cbfc 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/services/RenameServiceInstanceRequestTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/services/RenameServiceInstanceRequestTest.java @@ -22,24 +22,19 @@ public final class RenameServiceInstanceRequestTest { @Test(expected = IllegalStateException.class) public void noName() { - RenameServiceInstanceRequest.builder() - .newName("test-service-new-name") - .build(); + RenameServiceInstanceRequest.builder().newName("test-service-new-name").build(); } @Test(expected = IllegalStateException.class) public void noNewName() { - RenameServiceInstanceRequest.builder() - .name("test-service-name") - .build(); + RenameServiceInstanceRequest.builder().name("test-service-name").build(); } @Test public void valid() { RenameServiceInstanceRequest.builder() - .name("test-service-name") - .newName("test-service-new-name") - .build(); + .name("test-service-name") + .newName("test-service-new-name") + .build(); } - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/services/UnbindRouteServiceInstanceRequestTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/services/UnbindRouteServiceInstanceRequestTest.java index 44890ac783..4aad926959 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/services/UnbindRouteServiceInstanceRequestTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/services/UnbindRouteServiceInstanceRequestTest.java @@ -23,23 +23,20 @@ public final class UnbindRouteServiceInstanceRequestTest { @Test(expected = IllegalStateException.class) public void noDomainName() { UnbindRouteServiceInstanceRequest.builder() - .serviceInstanceName("test-service-instance-name") - .build(); + .serviceInstanceName("test-service-instance-name") + .build(); } @Test(expected = IllegalStateException.class) public void noServiceInstanceName() { - UnbindRouteServiceInstanceRequest.builder() - .domainName("test-domain-name") - .build(); + UnbindRouteServiceInstanceRequest.builder().domainName("test-domain-name").build(); } @Test public void valid() { UnbindRouteServiceInstanceRequest.builder() - .domainName("test-domain-name") - .serviceInstanceName("test-service-instance-name") - .build(); + .domainName("test-domain-name") + .serviceInstanceName("test-service-instance-name") + .build(); } - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/services/UnbindServiceInstanceRequestTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/services/UnbindServiceInstanceRequestTest.java index 6ace7bc323..f4ef8d21d4 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/services/UnbindServiceInstanceRequestTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/services/UnbindServiceInstanceRequestTest.java @@ -23,23 +23,20 @@ public final class UnbindServiceInstanceRequestTest { @Test(expected = IllegalStateException.class) public void noApplicationName() { UnbindServiceInstanceRequest.builder() - .serviceInstanceName("test-service-instance-name") - .build(); + .serviceInstanceName("test-service-instance-name") + .build(); } @Test(expected = IllegalStateException.class) public void noServiceInstanceName() { - UnbindServiceInstanceRequest.builder() - .applicationName("test-application-name") - .build(); + UnbindServiceInstanceRequest.builder().applicationName("test-application-name").build(); } @Test public void valid() { UnbindServiceInstanceRequest.builder() - .applicationName("test-application-name") - .serviceInstanceName("test-service-instance-name") - .build(); + .applicationName("test-application-name") + .serviceInstanceName("test-service-instance-name") + .build(); } - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/services/UpdateServiceInstanceRequestTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/services/UpdateServiceInstanceRequestTest.java index e27936011a..37057acd12 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/services/UpdateServiceInstanceRequestTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/services/UpdateServiceInstanceRequestTest.java @@ -22,15 +22,13 @@ public final class UpdateServiceInstanceRequestTest { @Test(expected = IllegalStateException.class) public void noServiceInstanceName() { - CreateServiceInstanceRequest.builder() - .build(); + CreateServiceInstanceRequest.builder().build(); } @Test public void valid() { UpdateServiceInstanceRequest.builder() - .serviceInstanceName("test-service-instance-name") - .build(); + .serviceInstanceName("test-service-instance-name") + .build(); } - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/spaceadmin/DefaultSpaceAdminTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/spaceadmin/DefaultSpaceAdminTest.java index 2b77360631..bb6abac09a 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/spaceadmin/DefaultSpaceAdminTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/spaceadmin/DefaultSpaceAdminTest.java @@ -16,6 +16,11 @@ package org.cloudfoundry.operations.spaceadmin; +import static org.assertj.core.api.Assertions.assertThat; +import static org.cloudfoundry.operations.TestObjects.fill; +import static org.mockito.Mockito.when; + +import java.time.Duration; import org.cloudfoundry.client.CloudFoundryClient; import org.cloudfoundry.client.v2.organizations.ListOrganizationSpaceQuotaDefinitionsRequest; import org.cloudfoundry.client.v2.organizations.ListOrganizationSpaceQuotaDefinitionsResponse; @@ -25,29 +30,25 @@ import reactor.core.publisher.Mono; import reactor.test.StepVerifier; -import java.time.Duration; - -import static org.assertj.core.api.Assertions.assertThat; -import static org.cloudfoundry.operations.TestObjects.fill; -import static org.mockito.Mockito.when; - public final class DefaultSpaceAdminTest extends AbstractOperationsTest { - private final DefaultSpaceAdmin spaceAdmin = new DefaultSpaceAdmin(Mono.just(this.cloudFoundryClient), Mono.just(TEST_ORGANIZATION_ID)); + private final DefaultSpaceAdmin spaceAdmin = + new DefaultSpaceAdmin( + Mono.just(this.cloudFoundryClient), Mono.just(TEST_ORGANIZATION_ID)); @Test public void get() { requestSpaceQuotaDefinitions(this.cloudFoundryClient, TEST_ORGANIZATION_ID); this.spaceAdmin - .get(GetSpaceQuotaRequest.builder() - .name("test-space-quota-definition-name") - .build()) - .as(StepVerifier::create) - .expectNext(fill(SpaceQuota.builder(), "space-quota-definition-") - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .get( + GetSpaceQuotaRequest.builder() + .name("test-space-quota-definition-name") + .build()) + .as(StepVerifier::create) + .expectNext(fill(SpaceQuota.builder(), "space-quota-definition-").build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test @@ -55,12 +56,19 @@ public void getNotFound() { requestSpaceQuotaDefinitionsEmpty(this.cloudFoundryClient, TEST_ORGANIZATION_ID); this.spaceAdmin - .get(GetSpaceQuotaRequest.builder() - .name("test-space-quota-definition-name") - .build()) - .as(StepVerifier::create) - .consumeErrorWith(t -> assertThat(t).isInstanceOf(IllegalArgumentException.class).hasMessage("Space Quota test-space-quota-definition-name does not exist")) - .verify(Duration.ofSeconds(5)); + .get( + GetSpaceQuotaRequest.builder() + .name("test-space-quota-definition-name") + .build()) + .as(StepVerifier::create) + .consumeErrorWith( + t -> + assertThat(t) + .isInstanceOf(IllegalArgumentException.class) + .hasMessage( + "Space Quota test-space-quota-definition-name does" + + " not exist")) + .verify(Duration.ofSeconds(5)); } @Test @@ -68,36 +76,46 @@ public void list() { requestSpaceQuotaDefinitions(this.cloudFoundryClient, TEST_ORGANIZATION_ID); this.spaceAdmin - .listQuotas() - .as(StepVerifier::create) - .expectNext(fill(SpaceQuota.builder(), "space-quota-definition-") - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .listQuotas() + .as(StepVerifier::create) + .expectNext(fill(SpaceQuota.builder(), "space-quota-definition-").build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } - private static void requestSpaceQuotaDefinitions(CloudFoundryClient cloudFoundryClient, String organizationId) { - when(cloudFoundryClient.organizations() - .listSpaceQuotaDefinitions(ListOrganizationSpaceQuotaDefinitionsRequest.builder() - .organizationId(organizationId) - .page(1) - .build())) - .thenReturn(Mono - .just(fill(ListOrganizationSpaceQuotaDefinitionsResponse.builder()) - .resource(fill(SpaceQuotaDefinitionResource.builder(), "space-quota-definition-") - .build()) - .build())); + private static void requestSpaceQuotaDefinitions( + CloudFoundryClient cloudFoundryClient, String organizationId) { + when(cloudFoundryClient + .organizations() + .listSpaceQuotaDefinitions( + ListOrganizationSpaceQuotaDefinitionsRequest.builder() + .organizationId(organizationId) + .page(1) + .build())) + .thenReturn( + Mono.just( + fill(ListOrganizationSpaceQuotaDefinitionsResponse.builder()) + .resource( + fill( + SpaceQuotaDefinitionResource + .builder(), + "space-quota-definition-") + .build()) + .build())); } - private static void requestSpaceQuotaDefinitionsEmpty(CloudFoundryClient cloudFoundryClient, String organizationId) { - when(cloudFoundryClient.organizations() - .listSpaceQuotaDefinitions(ListOrganizationSpaceQuotaDefinitionsRequest.builder() - .organizationId(organizationId) - .page(1) - .build())) - .thenReturn(Mono - .just(fill(ListOrganizationSpaceQuotaDefinitionsResponse.builder()) - .build())); + private static void requestSpaceQuotaDefinitionsEmpty( + CloudFoundryClient cloudFoundryClient, String organizationId) { + when(cloudFoundryClient + .organizations() + .listSpaceQuotaDefinitions( + ListOrganizationSpaceQuotaDefinitionsRequest.builder() + .organizationId(organizationId) + .page(1) + .build())) + .thenReturn( + Mono.just( + fill(ListOrganizationSpaceQuotaDefinitionsResponse.builder()) + .build())); } - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/spaceadmin/GetSpaceQuotaRequestTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/spaceadmin/GetSpaceQuotaRequestTest.java index dc05139a98..ce1c7f1185 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/spaceadmin/GetSpaceQuotaRequestTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/spaceadmin/GetSpaceQuotaRequestTest.java @@ -22,15 +22,11 @@ public final class GetSpaceQuotaRequestTest { @Test(expected = IllegalStateException.class) public void noName() { - GetSpaceQuotaRequest.builder() - .build(); + GetSpaceQuotaRequest.builder().build(); } @Test public void valid() { - GetSpaceQuotaRequest.builder() - .name("test-name") - .build(); + GetSpaceQuotaRequest.builder().name("test-name").build(); } - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/spaces/AllowSpaceSshRequestTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/spaces/AllowSpaceSshRequestTest.java index 41ed91aa82..d89b043347 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/spaces/AllowSpaceSshRequestTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/spaces/AllowSpaceSshRequestTest.java @@ -22,15 +22,11 @@ public final class AllowSpaceSshRequestTest { @Test(expected = IllegalStateException.class) public void noName() { - AllowSpaceSshRequest.builder() - .build(); + AllowSpaceSshRequest.builder().build(); } @Test public void valid() { - AllowSpaceSshRequest.builder() - .name("test-name") - .build(); + AllowSpaceSshRequest.builder().name("test-name").build(); } - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/spaces/CreateSpaceRequestTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/spaces/CreateSpaceRequestTest.java index 797af15a06..1275c9d8fe 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/spaces/CreateSpaceRequestTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/spaces/CreateSpaceRequestTest.java @@ -22,15 +22,11 @@ public final class CreateSpaceRequestTest { @Test(expected = IllegalStateException.class) public void noName() { - CreateSpaceRequest.builder() - .build(); + CreateSpaceRequest.builder().build(); } @Test public void valid() { - CreateSpaceRequest.builder() - .name("test-name") - .build(); + CreateSpaceRequest.builder().name("test-name").build(); } - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/spaces/DefaultSpacesTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/spaces/DefaultSpacesTest.java index 53d0174a40..8b74492699 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/spaces/DefaultSpacesTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/spaces/DefaultSpacesTest.java @@ -16,6 +16,16 @@ package org.cloudfoundry.operations.spaces; +import static org.assertj.core.api.Assertions.assertThat; +import static org.cloudfoundry.operations.TestObjects.fill; +import static org.mockito.Mockito.when; + +import java.time.Duration; +import java.util.Arrays; +import java.util.LinkedList; +import java.util.Optional; +import java.util.Queue; +import java.util.function.Supplier; import org.cloudfoundry.client.CloudFoundryClient; import org.cloudfoundry.client.v2.ClientV2Exception; import org.cloudfoundry.client.v2.Metadata; @@ -76,107 +86,131 @@ import reactor.test.StepVerifier; import reactor.test.scheduler.VirtualTimeScheduler; -import java.time.Duration; -import java.util.Arrays; -import java.util.LinkedList; -import java.util.Optional; -import java.util.Queue; -import java.util.function.Supplier; - -import static org.assertj.core.api.Assertions.assertThat; -import static org.cloudfoundry.operations.TestObjects.fill; -import static org.mockito.Mockito.when; - public final class DefaultSpacesTest extends AbstractOperationsTest { - private final DefaultSpaces spaces = new DefaultSpaces(Mono.just(this.cloudFoundryClient), Mono.just(TEST_ORGANIZATION_ID), Mono.just(TEST_USERNAME)); + private final DefaultSpaces spaces = + new DefaultSpaces( + Mono.just(this.cloudFoundryClient), + Mono.just(TEST_ORGANIZATION_ID), + Mono.just(TEST_USERNAME)); @Test public void allowSsh() { - requestOrganizationSpaces(this.cloudFoundryClient, TEST_ORGANIZATION_ID, "test-space-name", "test-space-spaceQuotaDefinitionId"); + requestOrganizationSpaces( + this.cloudFoundryClient, + TEST_ORGANIZATION_ID, + "test-space-name", + "test-space-spaceQuotaDefinitionId"); requestUpdateSpaceSsh(this.cloudFoundryClient, "test-space-id", true); this.spaces - .allowSsh(AllowSpaceSshRequest.builder() - .name("test-space-name") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .allowSsh(AllowSpaceSshRequest.builder().name("test-space-name").build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void allowSshAlreadyAllowed() { - requestOrganizationSpacesWithSsh(this.cloudFoundryClient, TEST_ORGANIZATION_ID, "test-space-name", true); + requestOrganizationSpacesWithSsh( + this.cloudFoundryClient, TEST_ORGANIZATION_ID, "test-space-name", true); this.spaces - .allowSsh(AllowSpaceSshRequest.builder() - .name("test-space-name") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .allowSsh(AllowSpaceSshRequest.builder().name("test-space-name").build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void allowSshNoSpace() { - requestOrganizationSpacesEmpty(this.cloudFoundryClient, TEST_ORGANIZATION_ID, "test-space-name"); + requestOrganizationSpacesEmpty( + this.cloudFoundryClient, TEST_ORGANIZATION_ID, "test-space-name"); this.spaces - .allowSsh(AllowSpaceSshRequest.builder() - .name("test-space-name") - .build()) - .as(StepVerifier::create) - .consumeErrorWith(t -> assertThat(t).isInstanceOf(IllegalArgumentException.class).hasMessage("Space test-space-name does not exist")) - .verify(Duration.ofSeconds(5)); + .allowSsh(AllowSpaceSshRequest.builder().name("test-space-name").build()) + .as(StepVerifier::create) + .consumeErrorWith( + t -> + assertThat(t) + .isInstanceOf(IllegalArgumentException.class) + .hasMessage("Space test-space-name does not exist")) + .verify(Duration.ofSeconds(5)); } @Test public void createNoOrgNoQuota() { - requestCreateSpace(this.cloudFoundryClient, TEST_ORGANIZATION_ID, "test-space-name", null, "test-space-id"); - requestAssociateOrganizationUserByUsername(this.cloudFoundryClient, TEST_ORGANIZATION_ID, TEST_USERNAME); - requestAssociateSpaceManagerByUsername(this.cloudFoundryClient, "test-space-id", TEST_USERNAME); - requestAssociateSpaceDeveloperByUsername(this.cloudFoundryClient, "test-space-id", TEST_USERNAME); + requestCreateSpace( + this.cloudFoundryClient, + TEST_ORGANIZATION_ID, + "test-space-name", + null, + "test-space-id"); + requestAssociateOrganizationUserByUsername( + this.cloudFoundryClient, TEST_ORGANIZATION_ID, TEST_USERNAME); + requestAssociateSpaceManagerByUsername( + this.cloudFoundryClient, "test-space-id", TEST_USERNAME); + requestAssociateSpaceDeveloperByUsername( + this.cloudFoundryClient, "test-space-id", TEST_USERNAME); this.spaces - .create(CreateSpaceRequest.builder() - .name("test-space-name") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .create(CreateSpaceRequest.builder().name("test-space-name").build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void createNoOrgQuota() { - requestOrganizationSpaceQuotas(this.cloudFoundryClient, TEST_ORGANIZATION_ID, "test-space-quota", "test-space-quota-id"); - requestCreateSpace(this.cloudFoundryClient, TEST_ORGANIZATION_ID, "test-space-name", "test-space-quota-id", "test-space-id"); - requestAssociateOrganizationUserByUsername(this.cloudFoundryClient, TEST_ORGANIZATION_ID, TEST_USERNAME); - requestAssociateSpaceManagerByUsername(this.cloudFoundryClient, "test-space-id", TEST_USERNAME); - requestAssociateSpaceDeveloperByUsername(this.cloudFoundryClient, "test-space-id", TEST_USERNAME); + requestOrganizationSpaceQuotas( + this.cloudFoundryClient, + TEST_ORGANIZATION_ID, + "test-space-quota", + "test-space-quota-id"); + requestCreateSpace( + this.cloudFoundryClient, + TEST_ORGANIZATION_ID, + "test-space-name", + "test-space-quota-id", + "test-space-id"); + requestAssociateOrganizationUserByUsername( + this.cloudFoundryClient, TEST_ORGANIZATION_ID, TEST_USERNAME); + requestAssociateSpaceManagerByUsername( + this.cloudFoundryClient, "test-space-id", TEST_USERNAME); + requestAssociateSpaceDeveloperByUsername( + this.cloudFoundryClient, "test-space-id", TEST_USERNAME); this.spaces - .create(CreateSpaceRequest.builder() - .name("test-space-name") - .spaceQuota("test-space-quota") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .create( + CreateSpaceRequest.builder() + .name("test-space-name") + .spaceQuota("test-space-quota") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void createNoOrgQuotaNotFound() { - requestOrganizationSpaceQuotas(this.cloudFoundryClient, TEST_ORGANIZATION_ID, "test-space-quota", null); + requestOrganizationSpaceQuotas( + this.cloudFoundryClient, TEST_ORGANIZATION_ID, "test-space-quota", null); this.spaces - .create(CreateSpaceRequest.builder() - .name("test-space-name") - .spaceQuota("test-space-quota") - .build()) - .as(StepVerifier::create) - .consumeErrorWith(t -> assertThat(t).isInstanceOf(IllegalArgumentException.class).hasMessage("Space quota definition test-space-quota does not exist")) - .verify(Duration.ofSeconds(5)); + .create( + CreateSpaceRequest.builder() + .name("test-space-name") + .spaceQuota("test-space-quota") + .build()) + .as(StepVerifier::create) + .consumeErrorWith( + t -> + assertThat(t) + .isInstanceOf(IllegalArgumentException.class) + .hasMessage( + "Space quota definition test-space-quota does not" + + " exist")) + .verify(Duration.ofSeconds(5)); } @Test @@ -184,123 +218,173 @@ public void createOrgNotFound() { requestOrganizations(this.cloudFoundryClient, "test-other-organization", null); this.spaces - .create(CreateSpaceRequest.builder() - .name("test-space-name") - .spaceQuota("test-space-quota") - .organization("test-other-organization") - .build()) - .as(StepVerifier::create) - .consumeErrorWith(t -> assertThat(t).isInstanceOf(IllegalArgumentException.class).hasMessage("Organization test-other-organization does not exist")) - .verify(Duration.ofSeconds(5)); + .create( + CreateSpaceRequest.builder() + .name("test-space-name") + .spaceQuota("test-space-quota") + .organization("test-other-organization") + .build()) + .as(StepVerifier::create) + .consumeErrorWith( + t -> + assertThat(t) + .isInstanceOf(IllegalArgumentException.class) + .hasMessage( + "Organization test-other-organization does not" + + " exist")) + .verify(Duration.ofSeconds(5)); } @Test public void createOrgQuota() { - requestOrganizations(this.cloudFoundryClient, "test-other-organization", "test-other-organization-id"); - requestOrganizationSpaceQuotas(this.cloudFoundryClient, "test-other-organization-id", "test-space-quota", "test-space-quota-id"); - requestCreateSpace(this.cloudFoundryClient, "test-other-organization-id", "test-space-name", "test-space-quota-id", "test-space-id"); - requestAssociateOrganizationUserByUsername(this.cloudFoundryClient, "test-other-organization-id", TEST_USERNAME); - requestAssociateSpaceManagerByUsername(this.cloudFoundryClient, "test-space-id", TEST_USERNAME); - requestAssociateSpaceDeveloperByUsername(this.cloudFoundryClient, "test-space-id", TEST_USERNAME); + requestOrganizations( + this.cloudFoundryClient, "test-other-organization", "test-other-organization-id"); + requestOrganizationSpaceQuotas( + this.cloudFoundryClient, + "test-other-organization-id", + "test-space-quota", + "test-space-quota-id"); + requestCreateSpace( + this.cloudFoundryClient, + "test-other-organization-id", + "test-space-name", + "test-space-quota-id", + "test-space-id"); + requestAssociateOrganizationUserByUsername( + this.cloudFoundryClient, "test-other-organization-id", TEST_USERNAME); + requestAssociateSpaceManagerByUsername( + this.cloudFoundryClient, "test-space-id", TEST_USERNAME); + requestAssociateSpaceDeveloperByUsername( + this.cloudFoundryClient, "test-space-id", TEST_USERNAME); this.spaces - .create(CreateSpaceRequest.builder() - .name("test-space-name") - .organization("test-other-organization") - .spaceQuota("test-space-quota") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .create( + CreateSpaceRequest.builder() + .name("test-space-name") + .organization("test-other-organization") + .spaceQuota("test-space-quota") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void delete() { - requestOrganizationSpaces(this.cloudFoundryClient, TEST_ORGANIZATION_ID, "test-space-name", "test-space-spaceQuotaDefinitionId"); + requestOrganizationSpaces( + this.cloudFoundryClient, + TEST_ORGANIZATION_ID, + "test-space-name", + "test-space-spaceQuotaDefinitionId"); requestDeleteSpace(this.cloudFoundryClient, "test-space-id"); requestJobSuccess(this.cloudFoundryClient, "test-job-entity-id"); - StepVerifier.withVirtualTime(() -> this.spaces - .delete(DeleteSpaceRequest.builder() - .name("test-space-name") - .build())) - .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(3))) - .expectComplete() - .verify(Duration.ofSeconds(5)); + StepVerifier.withVirtualTime( + () -> + this.spaces.delete( + DeleteSpaceRequest.builder() + .name("test-space-name") + .build())) + .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(3))) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void deleteFailure() { - requestOrganizationSpaces(this.cloudFoundryClient, TEST_ORGANIZATION_ID, "test-space-name", "test-space-spaceQuotaDefinitionId"); + requestOrganizationSpaces( + this.cloudFoundryClient, + TEST_ORGANIZATION_ID, + "test-space-name", + "test-space-spaceQuotaDefinitionId"); requestDeleteSpace(this.cloudFoundryClient, "test-space-id"); requestJobFailure(this.cloudFoundryClient, "test-job-entity-id"); - StepVerifier.withVirtualTime(() -> this.spaces - .delete(DeleteSpaceRequest.builder() - .name("test-space-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)); + StepVerifier.withVirtualTime( + () -> + this.spaces.delete( + DeleteSpaceRequest.builder() + .name("test-space-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)); } @Test public void deleteInvalidSpace() { - requestOrganizationSpacesEmpty(this.cloudFoundryClient, TEST_ORGANIZATION_ID, "test-space-name"); + requestOrganizationSpacesEmpty( + this.cloudFoundryClient, TEST_ORGANIZATION_ID, "test-space-name"); this.spaces - .delete(DeleteSpaceRequest.builder() - .name("test-space-name") - .build()) - .as(StepVerifier::create) - .consumeErrorWith(t -> assertThat(t).isInstanceOf(IllegalArgumentException.class).hasMessage("Space test-space-name does not exist")) - .verify(Duration.ofSeconds(5)); + .delete(DeleteSpaceRequest.builder().name("test-space-name").build()) + .as(StepVerifier::create) + .consumeErrorWith( + t -> + assertThat(t) + .isInstanceOf(IllegalArgumentException.class) + .hasMessage("Space test-space-name does not exist")) + .verify(Duration.ofSeconds(5)); } @Test public void disallowSsh() { - requestOrganizationSpaces(this.cloudFoundryClient, TEST_ORGANIZATION_ID, "test-space-name", "test-space-spaceQuotaDefinitionId"); + requestOrganizationSpaces( + this.cloudFoundryClient, + TEST_ORGANIZATION_ID, + "test-space-name", + "test-space-spaceQuotaDefinitionId"); requestUpdateSpaceSsh(this.cloudFoundryClient, "test-space-id", false); this.spaces - .disallowSsh(DisallowSpaceSshRequest.builder() - .name("test-space-name") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .disallowSsh(DisallowSpaceSshRequest.builder().name("test-space-name").build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void disallowSshAlreadyDisallowed() { - requestOrganizationSpacesWithSsh(this.cloudFoundryClient, TEST_ORGANIZATION_ID, "test-space-name", false); + requestOrganizationSpacesWithSsh( + this.cloudFoundryClient, TEST_ORGANIZATION_ID, "test-space-name", false); this.spaces - .disallowSsh(DisallowSpaceSshRequest.builder() - .name("test-space-name") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .disallowSsh(DisallowSpaceSshRequest.builder().name("test-space-name").build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void disallowSshNoSpace() { - requestOrganizationSpacesEmpty(this.cloudFoundryClient, TEST_ORGANIZATION_ID, "test-space-name"); + requestOrganizationSpacesEmpty( + this.cloudFoundryClient, TEST_ORGANIZATION_ID, "test-space-name"); this.spaces - .disallowSsh(DisallowSpaceSshRequest.builder() - .name("test-space-name") - .build()) - .as(StepVerifier::create) - .consumeErrorWith(t -> assertThat(t).isInstanceOf(IllegalArgumentException.class).hasMessage("Space test-space-name does not exist")) - .verify(Duration.ofSeconds(5)); + .disallowSsh(DisallowSpaceSshRequest.builder().name("test-space-name").build()) + .as(StepVerifier::create) + .consumeErrorWith( + t -> + assertThat(t) + .isInstanceOf(IllegalArgumentException.class) + .hasMessage("Space test-space-name does not exist")) + .verify(Duration.ofSeconds(5)); } @Test public void get() { requestOrganization(this.cloudFoundryClient, "test-space-organizationId"); - requestOrganizationSpaces(this.cloudFoundryClient, TEST_ORGANIZATION_ID, TEST_SPACE_NAME, "test-space-spaceQuotaDefinitionId"); + requestOrganizationSpaces( + this.cloudFoundryClient, + TEST_ORGANIZATION_ID, + TEST_SPACE_NAME, + "test-space-spaceQuotaDefinitionId"); requestSpaceApplications(this.cloudFoundryClient, TEST_SPACE_ID); requestPrivateDomains(this.cloudFoundryClient, "test-space-organizationId"); requestSharedDomains(this.cloudFoundryClient); @@ -309,35 +393,46 @@ public void get() { requestSpaceQuotaDefinition(this.cloudFoundryClient, "test-space-spaceQuotaDefinitionId"); this.spaces - .get(GetSpaceRequest.builder() - .name("test-space-name") - .securityGroupRules(true) - .build()) - .as(StepVerifier::create) - .expectNext(SpaceDetail.builder() - .application("test-application-name") - .domains("test-private-domain-name", "test-shared-domain-name") - .id(TEST_SPACE_ID) - .name(TEST_SPACE_NAME) - .organization("test-organization-name") - .securityGroup(SecurityGroup.builder() - .name("test-security-group-name") - .rule(fill(Rule.builder(), "security-group-") - .build()) - .build()) - .service("test-service-label") - .spaceQuota(Optional - .of(fill(SpaceQuota.builder(), "space-quota-definition-") - .build())) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .get( + GetSpaceRequest.builder() + .name("test-space-name") + .securityGroupRules(true) + .build()) + .as(StepVerifier::create) + .expectNext( + SpaceDetail.builder() + .application("test-application-name") + .domains("test-private-domain-name", "test-shared-domain-name") + .id(TEST_SPACE_ID) + .name(TEST_SPACE_NAME) + .organization("test-organization-name") + .securityGroup( + SecurityGroup.builder() + .name("test-security-group-name") + .rule( + fill(Rule.builder(), "security-group-") + .build()) + .build()) + .service("test-service-label") + .spaceQuota( + Optional.of( + fill( + SpaceQuota.builder(), + "space-quota-definition-") + .build())) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void getNoSecurityGroupRules() { requestOrganization(this.cloudFoundryClient, "test-space-organizationId"); - requestOrganizationSpaces(this.cloudFoundryClient, TEST_ORGANIZATION_ID, TEST_SPACE_NAME, "test-space-spaceQuotaDefinitionId"); + requestOrganizationSpaces( + this.cloudFoundryClient, + TEST_ORGANIZATION_ID, + TEST_SPACE_NAME, + "test-space-spaceQuotaDefinitionId"); requestSpaceApplications(this.cloudFoundryClient, TEST_SPACE_ID); requestPrivateDomains(this.cloudFoundryClient, "test-space-organizationId"); requestSharedDomains(this.cloudFoundryClient); @@ -346,32 +441,36 @@ public void getNoSecurityGroupRules() { requestSpaceQuotaDefinition(this.cloudFoundryClient, "test-space-spaceQuotaDefinitionId"); this.spaces - .get(GetSpaceRequest.builder() - .name(TEST_SPACE_NAME) - .build()) - .as(StepVerifier::create) - .expectNext(SpaceDetail.builder() - .application("test-application-name") - .domains("test-private-domain-name", "test-shared-domain-name") - .id(TEST_SPACE_ID) - .name(TEST_SPACE_NAME) - .organization("test-organization-name") - .securityGroup(SecurityGroup.builder() - .name("test-security-group-name") - .build()) - .service("test-service-label") - .spaceQuota(Optional - .of(fill(SpaceQuota.builder(), "space-quota-definition-") - .build())) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .get(GetSpaceRequest.builder().name(TEST_SPACE_NAME).build()) + .as(StepVerifier::create) + .expectNext( + SpaceDetail.builder() + .application("test-application-name") + .domains("test-private-domain-name", "test-shared-domain-name") + .id(TEST_SPACE_ID) + .name(TEST_SPACE_NAME) + .organization("test-organization-name") + .securityGroup( + SecurityGroup.builder() + .name("test-security-group-name") + .build()) + .service("test-service-label") + .spaceQuota( + Optional.of( + fill( + SpaceQuota.builder(), + "space-quota-definition-") + .build())) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void getSpaceQuotaNull() { requestOrganization(this.cloudFoundryClient, "test-space-organizationId"); - requestOrganizationSpaces(this.cloudFoundryClient, TEST_ORGANIZATION_ID, TEST_SPACE_NAME, null); + requestOrganizationSpaces( + this.cloudFoundryClient, TEST_ORGANIZATION_ID, TEST_SPACE_NAME, null); requestSpaceApplications(this.cloudFoundryClient, TEST_SPACE_ID); requestPrivateDomains(this.cloudFoundryClient, "test-space-organizationId"); requestSharedDomains(this.cloudFoundryClient); @@ -379,25 +478,28 @@ public void getSpaceQuotaNull() { requestSpaceServices(this.cloudFoundryClient, TEST_SPACE_ID); this.spaces - .get(GetSpaceRequest.builder() - .name(TEST_SPACE_NAME) - .securityGroupRules(false) - .build()) - .as(StepVerifier::create) - .expectNext(SpaceDetail.builder() - .application("test-application-name") - .domains("test-private-domain-name", "test-shared-domain-name") - .id(TEST_SPACE_ID) - .name(TEST_SPACE_NAME) - .organization("test-organization-name") - .securityGroup(SecurityGroup.builder() - .name("test-security-group-name") - .build()) - .service("test-service-label") - .spaceQuota(Optional.empty()) - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .get( + GetSpaceRequest.builder() + .name(TEST_SPACE_NAME) + .securityGroupRules(false) + .build()) + .as(StepVerifier::create) + .expectNext( + SpaceDetail.builder() + .application("test-application-name") + .domains("test-private-domain-name", "test-shared-domain-name") + .id(TEST_SPACE_ID) + .name(TEST_SPACE_NAME) + .organization("test-organization-name") + .securityGroup( + SecurityGroup.builder() + .name("test-security-group-name") + .build()) + .service("test-service-label") + .spaceQuota(Optional.empty()) + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test @@ -405,411 +507,545 @@ public void list() { requestSpaces(this.cloudFoundryClient, TEST_ORGANIZATION_ID); this.spaces - .list() - .as(StepVerifier::create) - .expectNext(fill(SpaceSummary.builder(), "space-") - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .list() + .as(StepVerifier::create) + .expectNext(fill(SpaceSummary.builder(), "space-").build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void rename() { - requestOrganizationSpaces(this.cloudFoundryClient, TEST_ORGANIZATION_ID, "test-space-name", "test-space-spaceQuotaDefinitionId"); + requestOrganizationSpaces( + this.cloudFoundryClient, + TEST_ORGANIZATION_ID, + "test-space-name", + "test-space-spaceQuotaDefinitionId"); requestUpdateSpace(this.cloudFoundryClient, "test-space-id", "test-new-space-name"); this.spaces - .rename(RenameSpaceRequest.builder() - .name("test-space-name") - .newName("test-new-space-name") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .rename( + RenameSpaceRequest.builder() + .name("test-space-name") + .newName("test-new-space-name") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void renameNoSpace() { - requestOrganizationSpacesEmpty(this.cloudFoundryClient, TEST_ORGANIZATION_ID, "test-space-name"); + requestOrganizationSpacesEmpty( + this.cloudFoundryClient, TEST_ORGANIZATION_ID, "test-space-name"); this.spaces - .rename(RenameSpaceRequest.builder() - .name("test-space-name") - .newName("test-new-space-name") - .build()) - .as(StepVerifier::create) - .consumeErrorWith(t -> assertThat(t).isInstanceOf(IllegalArgumentException.class).hasMessage("Space test-space-name does not exist")) - .verify(Duration.ofSeconds(5)); + .rename( + RenameSpaceRequest.builder() + .name("test-space-name") + .newName("test-new-space-name") + .build()) + .as(StepVerifier::create) + .consumeErrorWith( + t -> + assertThat(t) + .isInstanceOf(IllegalArgumentException.class) + .hasMessage("Space test-space-name does not exist")) + .verify(Duration.ofSeconds(5)); } @Test public void sshAllowed() { - requestOrganizationSpaces(this.cloudFoundryClient, TEST_ORGANIZATION_ID, "test-space-name", "test-space-spaceQuotaDefinitionId"); + requestOrganizationSpaces( + this.cloudFoundryClient, + TEST_ORGANIZATION_ID, + "test-space-name", + "test-space-spaceQuotaDefinitionId"); this.spaces - .sshAllowed(SpaceSshAllowedRequest.builder() - .name("test-space-name") - .build()) - .as(StepVerifier::create) - .expectNext(true) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .sshAllowed(SpaceSshAllowedRequest.builder().name("test-space-name").build()) + .as(StepVerifier::create) + .expectNext(true) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void sshAllowedNoSpace() { - requestOrganizationSpacesEmpty(this.cloudFoundryClient, TEST_ORGANIZATION_ID, "test-space-name"); + requestOrganizationSpacesEmpty( + this.cloudFoundryClient, TEST_ORGANIZATION_ID, "test-space-name"); this.spaces - .sshAllowed(SpaceSshAllowedRequest.builder() - .name("test-space-name") - .build()) - .as(StepVerifier::create) - .consumeErrorWith(t -> assertThat(t).isInstanceOf(IllegalArgumentException.class).hasMessage("Space test-space-name does not exist")) - .verify(Duration.ofSeconds(5)); - } - - private static void requestAssociateOrganizationUserByUsername(CloudFoundryClient cloudFoundryClient, String organizationId, String username) { - when(cloudFoundryClient.organizations() - .associateUserByUsername(AssociateOrganizationUserByUsernameRequest.builder() - .organizationId(organizationId) - .username(username) - .build())) - .thenReturn(Mono - .just(fill(AssociateOrganizationUserByUsernameResponse.builder(), "associate-user-") - .build())); - } - - private static void requestAssociateSpaceDeveloperByUsername(CloudFoundryClient cloudFoundryClient, String spaceId, String username) { - when(cloudFoundryClient.spaces() - .associateDeveloperByUsername(AssociateSpaceDeveloperByUsernameRequest.builder() - .spaceId(spaceId) - .username(username) - .build())) - .thenReturn(Mono - .just(fill(AssociateSpaceDeveloperByUsernameResponse.builder(), "associate-developer-") - .build())); - } - - private static void requestAssociateSpaceManagerByUsername(CloudFoundryClient cloudFoundryClient, String spaceId, String username) { - when(cloudFoundryClient.spaces() - .associateManagerByUsername(AssociateSpaceManagerByUsernameRequest.builder() - .spaceId(spaceId) - .username(username) - .build())) - .thenReturn(Mono - .just(fill(AssociateSpaceManagerByUsernameResponse.builder(), "associate-manager-") - .build())); - } - - private static void requestCreateSpace(CloudFoundryClient cloudFoundryClient, String organizationId, String space, String spaceQuotaId, String spaceId) { - when(cloudFoundryClient.spaces() - .create(org.cloudfoundry.client.v2.spaces.CreateSpaceRequest.builder() - .name(space) - .organizationId(organizationId) - .spaceQuotaDefinitionId(spaceQuotaId) - .build())) - .thenReturn(Mono - .just(fill(CreateSpaceResponse.builder()) - .metadata(fill(Metadata.builder()) - .id(spaceId) - .build()) - .build())); + .sshAllowed(SpaceSshAllowedRequest.builder().name("test-space-name").build()) + .as(StepVerifier::create) + .consumeErrorWith( + t -> + assertThat(t) + .isInstanceOf(IllegalArgumentException.class) + .hasMessage("Space test-space-name does not exist")) + .verify(Duration.ofSeconds(5)); } - private static void requestDeleteSpace(CloudFoundryClient cloudFoundryClient, String spaceId) { - when(cloudFoundryClient.spaces() - .delete(org.cloudfoundry.client.v2.spaces.DeleteSpaceRequest.builder() - .async(true) - .spaceId(spaceId) - .build())) - .thenReturn(Mono - .just(fill(DeleteSpaceResponse.builder()) - .entity(fill(JobEntity.builder(), "job-entity-") - .build()) - .build())); + private static void requestAssociateOrganizationUserByUsername( + CloudFoundryClient cloudFoundryClient, String organizationId, String username) { + when(cloudFoundryClient + .organizations() + .associateUserByUsername( + AssociateOrganizationUserByUsernameRequest.builder() + .organizationId(organizationId) + .username(username) + .build())) + .thenReturn( + Mono.just( + fill( + AssociateOrganizationUserByUsernameResponse + .builder(), + "associate-user-") + .build())); } - private static void requestJobFailure(CloudFoundryClient cloudFoundryClient, String jobId) { - when(cloudFoundryClient.jobs() - .get(GetJobRequest.builder() - .jobId(jobId) - .build())) - .thenReturn(Mono - .defer(new Supplier>() { - - private final Queue responses = new LinkedList<>(Arrays.asList( - fill(GetJobResponse.builder(), "job-") - .entity(fill(JobEntity.builder()) - .status("running") - .build()) - .build(), - fill(GetJobResponse.builder(), "job-") - .entity(fill(JobEntity.builder()) - .errorDetails(fill(ErrorDetails.builder(), "error-details-") - .build()) - .status("failed") - .build()) - .build() - )); + private static void requestAssociateSpaceDeveloperByUsername( + CloudFoundryClient cloudFoundryClient, String spaceId, String username) { + when(cloudFoundryClient + .spaces() + .associateDeveloperByUsername( + AssociateSpaceDeveloperByUsernameRequest.builder() + .spaceId(spaceId) + .username(username) + .build())) + .thenReturn( + Mono.just( + fill( + AssociateSpaceDeveloperByUsernameResponse.builder(), + "associate-developer-") + .build())); + } - @Override - public Mono get() { - return Mono.just(this.responses.poll()); - } + private static void requestAssociateSpaceManagerByUsername( + CloudFoundryClient cloudFoundryClient, String spaceId, String username) { + when(cloudFoundryClient + .spaces() + .associateManagerByUsername( + AssociateSpaceManagerByUsernameRequest.builder() + .spaceId(spaceId) + .username(username) + .build())) + .thenReturn( + Mono.just( + fill( + AssociateSpaceManagerByUsernameResponse.builder(), + "associate-manager-") + .build())); + } - })); + private static void requestCreateSpace( + CloudFoundryClient cloudFoundryClient, + String organizationId, + String space, + String spaceQuotaId, + String spaceId) { + when(cloudFoundryClient + .spaces() + .create( + org.cloudfoundry.client.v2.spaces.CreateSpaceRequest.builder() + .name(space) + .organizationId(organizationId) + .spaceQuotaDefinitionId(spaceQuotaId) + .build())) + .thenReturn( + Mono.just( + fill(CreateSpaceResponse.builder()) + .metadata(fill(Metadata.builder()).id(spaceId).build()) + .build())); } - private static void requestJobSuccess(CloudFoundryClient cloudFoundryClient, String jobId) { - when(cloudFoundryClient.jobs() - .get(GetJobRequest.builder() - .jobId(jobId) - .build())) - .thenReturn(Mono - .defer(new Supplier>() { - - private final Queue responses = new LinkedList<>(Arrays.asList( - fill(GetJobResponse.builder(), "job-") - .entity(fill(JobEntity.builder()) - .status("running") - .build()) - .build(), - fill(GetJobResponse.builder(), "job-") - .entity(fill(JobEntity.builder()) - .status("finished") - .build()) - .build() - )); + private static void requestDeleteSpace(CloudFoundryClient cloudFoundryClient, String spaceId) { + when(cloudFoundryClient + .spaces() + .delete( + org.cloudfoundry.client.v2.spaces.DeleteSpaceRequest.builder() + .async(true) + .spaceId(spaceId) + .build())) + .thenReturn( + Mono.just( + fill(DeleteSpaceResponse.builder()) + .entity(fill(JobEntity.builder(), "job-entity-").build()) + .build())); + } - @Override - public Mono get() { - return Mono.just(this.responses.poll()); - } + private static void requestJobFailure(CloudFoundryClient cloudFoundryClient, String jobId) { + when(cloudFoundryClient.jobs().get(GetJobRequest.builder().jobId(jobId).build())) + .thenReturn( + Mono.defer( + new Supplier>() { + + private final Queue responses = + new LinkedList<>( + Arrays.asList( + fill(GetJobResponse.builder(), "job-") + .entity( + fill(JobEntity + .builder()) + .status( + "running") + .build()) + .build(), + fill(GetJobResponse.builder(), "job-") + .entity( + fill(JobEntity + .builder()) + .errorDetails( + fill( + ErrorDetails + .builder(), + "error-details-") + .build()) + .status( + "failed") + .build()) + .build())); + + @Override + public Mono get() { + return Mono.just(this.responses.poll()); + } + })); + } - })); + private static void requestJobSuccess(CloudFoundryClient cloudFoundryClient, String jobId) { + when(cloudFoundryClient.jobs().get(GetJobRequest.builder().jobId(jobId).build())) + .thenReturn( + Mono.defer( + new Supplier>() { + + private final Queue responses = + new LinkedList<>( + Arrays.asList( + fill(GetJobResponse.builder(), "job-") + .entity( + fill(JobEntity + .builder()) + .status( + "running") + .build()) + .build(), + fill(GetJobResponse.builder(), "job-") + .entity( + fill(JobEntity + .builder()) + .status( + "finished") + .build()) + .build())); + + @Override + public Mono get() { + return Mono.just(this.responses.poll()); + } + })); } - private static void requestOrganization(CloudFoundryClient cloudFoundryClient, String organizationId) { - when(cloudFoundryClient.organizations() - .get(GetOrganizationRequest.builder() - .organizationId(organizationId) - .build())) - .thenReturn(Mono - .just(fill(GetOrganizationResponse.builder(), "organization-") - .build())); + private static void requestOrganization( + CloudFoundryClient cloudFoundryClient, String organizationId) { + when(cloudFoundryClient + .organizations() + .get( + GetOrganizationRequest.builder() + .organizationId(organizationId) + .build())) + .thenReturn( + Mono.just( + fill(GetOrganizationResponse.builder(), "organization-").build())); } - private static void requestOrganizationSpaceQuotas(CloudFoundryClient cloudFoundryClient, String organizationId, String spaceQuota, String spaceQuotaId) { - ListOrganizationSpaceQuotaDefinitionsResponse.Builder responseBuilder = fill(ListOrganizationSpaceQuotaDefinitionsResponse.builder()); + private static void requestOrganizationSpaceQuotas( + CloudFoundryClient cloudFoundryClient, + String organizationId, + String spaceQuota, + String spaceQuotaId) { + ListOrganizationSpaceQuotaDefinitionsResponse.Builder responseBuilder = + fill(ListOrganizationSpaceQuotaDefinitionsResponse.builder()); if (spaceQuotaId != null) { - responseBuilder - .resource(SpaceQuotaDefinitionResource.builder() - .metadata(fill(Metadata.builder()) - .id(spaceQuotaId) - .build()) - .entity(SpaceQuotaDefinitionEntity.builder() - .name(spaceQuota) - .build()) - .build()); + responseBuilder.resource( + SpaceQuotaDefinitionResource.builder() + .metadata(fill(Metadata.builder()).id(spaceQuotaId).build()) + .entity(SpaceQuotaDefinitionEntity.builder().name(spaceQuota).build()) + .build()); } - when(cloudFoundryClient.organizations() - .listSpaceQuotaDefinitions(ListOrganizationSpaceQuotaDefinitionsRequest.builder() - .organizationId(organizationId) - .page(1) - .build())) - .thenReturn(Mono - .just(responseBuilder.build())); - } - - private static void requestOrganizationSpaces(CloudFoundryClient cloudFoundryClient, String organizationId, String space, String spaceQuotaDefinitionId) { - when(cloudFoundryClient.organizations() - .listSpaces(ListOrganizationSpacesRequest.builder() - .name(space) - .organizationId(organizationId) - .page(1) - .build())) - .thenReturn(Mono - .just(fill(ListOrganizationSpacesResponse.builder()) - .resource(fill(SpaceResource.builder(), "space-") - .entity(fill(SpaceEntity.builder(), "space-") - .spaceQuotaDefinitionId(spaceQuotaDefinitionId) - .build()) - .build()) - .build())); - } - - private static void requestOrganizationSpacesEmpty(CloudFoundryClient cloudFoundryClient, String organizationId, String space) { - when(cloudFoundryClient.organizations() - .listSpaces(ListOrganizationSpacesRequest.builder() - .name(space) - .organizationId(organizationId) - .page(1) - .build())) - .thenReturn(Mono - .just(fill(ListOrganizationSpacesResponse.builder()) - .build())); - } - - private static void requestOrganizationSpacesWithSsh(CloudFoundryClient cloudFoundryClient, String organizationId, String space, Boolean allowSsh) { - when(cloudFoundryClient.organizations() - .listSpaces(ListOrganizationSpacesRequest.builder() - .name(space) - .organizationId(organizationId) - .page(1) - .build())) - .thenReturn(Mono - .just(fill(ListOrganizationSpacesResponse.builder()) - .resource(fill(SpaceResource.builder(), "space-") - .entity(fill(SpaceEntity.builder(), "space-entity-") - .allowSsh(allowSsh) - .build()) - .build()) - .build())); - } - - private static void requestOrganizations(CloudFoundryClient cloudFoundryClient, String organization, String organizationId) { - ListOrganizationsResponse.Builder responseBuilder = fill(ListOrganizationsResponse.builder(), "organization-"); + when(cloudFoundryClient + .organizations() + .listSpaceQuotaDefinitions( + ListOrganizationSpaceQuotaDefinitionsRequest.builder() + .organizationId(organizationId) + .page(1) + .build())) + .thenReturn(Mono.just(responseBuilder.build())); + } + + private static void requestOrganizationSpaces( + CloudFoundryClient cloudFoundryClient, + String organizationId, + String space, + String spaceQuotaDefinitionId) { + when(cloudFoundryClient + .organizations() + .listSpaces( + ListOrganizationSpacesRequest.builder() + .name(space) + .organizationId(organizationId) + .page(1) + .build())) + .thenReturn( + Mono.just( + fill(ListOrganizationSpacesResponse.builder()) + .resource( + fill(SpaceResource.builder(), "space-") + .entity( + fill( + SpaceEntity + .builder(), + "space-") + .spaceQuotaDefinitionId( + spaceQuotaDefinitionId) + .build()) + .build()) + .build())); + } + + private static void requestOrganizationSpacesEmpty( + CloudFoundryClient cloudFoundryClient, String organizationId, String space) { + when(cloudFoundryClient + .organizations() + .listSpaces( + ListOrganizationSpacesRequest.builder() + .name(space) + .organizationId(organizationId) + .page(1) + .build())) + .thenReturn(Mono.just(fill(ListOrganizationSpacesResponse.builder()).build())); + } + + private static void requestOrganizationSpacesWithSsh( + CloudFoundryClient cloudFoundryClient, + String organizationId, + String space, + Boolean allowSsh) { + when(cloudFoundryClient + .organizations() + .listSpaces( + ListOrganizationSpacesRequest.builder() + .name(space) + .organizationId(organizationId) + .page(1) + .build())) + .thenReturn( + Mono.just( + fill(ListOrganizationSpacesResponse.builder()) + .resource( + fill(SpaceResource.builder(), "space-") + .entity( + fill( + SpaceEntity + .builder(), + "space-entity-") + .allowSsh(allowSsh) + .build()) + .build()) + .build())); + } + + private static void requestOrganizations( + CloudFoundryClient cloudFoundryClient, String organization, String organizationId) { + ListOrganizationsResponse.Builder responseBuilder = + fill(ListOrganizationsResponse.builder(), "organization-"); if (organizationId != null) { - responseBuilder - .resource(fill(OrganizationResource.builder()) - .metadata(fill(Metadata.builder()) - .id(organizationId) - .build()) - .build()); + responseBuilder.resource( + fill(OrganizationResource.builder()) + .metadata(fill(Metadata.builder()).id(organizationId).build()) + .build()); } - when(cloudFoundryClient.organizations() - .list(ListOrganizationsRequest.builder() - .name(organization) - .page(1) - .build())) - .thenReturn(Mono - .just(responseBuilder - .build())); - } - - private static void requestPrivateDomains(CloudFoundryClient cloudFoundryClient, String organizationId) { - when(cloudFoundryClient.organizations() - .listPrivateDomains(ListOrganizationPrivateDomainsRequest.builder() - .organizationId(organizationId) - .page(1) - .build())) - .thenReturn(Mono - .just(fill(ListOrganizationPrivateDomainsResponse.builder()) - .resource(fill(PrivateDomainResource.builder()) - .entity(fill(PrivateDomainEntity.builder()) - .name("test-private-domain-name") - .build()) - .build()) - .build())); + when(cloudFoundryClient + .organizations() + .list( + ListOrganizationsRequest.builder() + .name(organization) + .page(1) + .build())) + .thenReturn(Mono.just(responseBuilder.build())); + } + + private static void requestPrivateDomains( + CloudFoundryClient cloudFoundryClient, String organizationId) { + when(cloudFoundryClient + .organizations() + .listPrivateDomains( + ListOrganizationPrivateDomainsRequest.builder() + .organizationId(organizationId) + .page(1) + .build())) + .thenReturn( + Mono.just( + fill(ListOrganizationPrivateDomainsResponse.builder()) + .resource( + fill(PrivateDomainResource.builder()) + .entity( + fill(PrivateDomainEntity.builder()) + .name( + "test-private-domain-name") + .build()) + .build()) + .build())); } private static void requestSharedDomains(CloudFoundryClient cloudFoundryClient) { - when(cloudFoundryClient.sharedDomains() - .list(ListSharedDomainsRequest.builder() - .page(1) - .build())) - .thenReturn(Mono - .just(ListSharedDomainsResponse.builder() - .resource(fill(SharedDomainResource.builder()) - .entity(fill(SharedDomainEntity.builder()) - .name("test-shared-domain-name") - .build()) - .build()) - .build())); - } - - private static void requestSpaceApplications(CloudFoundryClient cloudFoundryClient, String spaceId) { - when(cloudFoundryClient.spaces() - .listApplications(ListSpaceApplicationsRequest.builder() - .page(1) - .spaceId(spaceId) - .build())) - .thenReturn(Mono - .just(fill(ListSpaceApplicationsResponse.builder()) - .resource(fill(ApplicationResource.builder(), "application-") - .build()) - .build())); - } - - private static void requestSpaceQuotaDefinition(CloudFoundryClient cloudFoundryClient, String spaceQuotaDefinitionId) { - when(cloudFoundryClient.spaceQuotaDefinitions() - .get(GetSpaceQuotaDefinitionRequest.builder() - .spaceQuotaDefinitionId(spaceQuotaDefinitionId) - .build())) - .thenReturn(Mono - .just(fill(GetSpaceQuotaDefinitionResponse.builder(), "space-quota-definition-") - .build())); - - } - - private static void requestSpaceSecurityGroups(CloudFoundryClient cloudFoundryClient, String spaceId) { - when(cloudFoundryClient.spaces() - .listSecurityGroups(ListSpaceSecurityGroupsRequest.builder() - .page(1) - .spaceId(spaceId) - .build())) - .thenReturn(Mono - .just(fill(ListSpaceSecurityGroupsResponse.builder()) - .resource(fill(SecurityGroupResource.builder(), "security-group-") - .entity(fill(SecurityGroupEntity.builder(), "security-group-") - .rule(fill(RuleEntity.builder(), "security-group-") - .build()) - .build()) - .build()) - .build())); - } - - private static void requestSpaceServices(CloudFoundryClient cloudFoundryClient, String spaceId) { - when(cloudFoundryClient.spaces() - .listServices(ListSpaceServicesRequest.builder() - .page(1) - .spaceId(spaceId) - .build())) - .thenReturn(Mono - .just(fill(ListSpaceServicesResponse.builder()) - .resource(fill(ServiceResource.builder(), "service-") - .build()) - .build())); - } - - private static void requestSpaces(CloudFoundryClient cloudFoundryClient, String organizationId) { - when(cloudFoundryClient.spaces() - .list(ListSpacesRequest.builder() - .organizationId(organizationId) - .page(1) - .build())) - .thenReturn(Mono - .just(fill(ListSpacesResponse.builder()) - .resource(fill(SpaceResource.builder(), "space-") - .build()) - .build())); - } - - private static void requestUpdateSpace(CloudFoundryClient cloudFoundryClient, String spaceId, String newName) { - when(cloudFoundryClient.spaces() - .update(UpdateSpaceRequest.builder() - .name(newName) - .spaceId(spaceId) - .build())) - .thenReturn(Mono.empty()); - } - - private static void requestUpdateSpaceSsh(CloudFoundryClient cloudFoundryClient, String spaceId, Boolean allowed) { - when(cloudFoundryClient.spaces() - .update(UpdateSpaceRequest.builder() - .allowSsh(allowed) - .spaceId(spaceId) - .build())) - .thenReturn(Mono - .just(fill(UpdateSpaceResponse.builder()) - .entity(fill(SpaceEntity.builder(), "space-entity-") - .build()) - .build())); + when(cloudFoundryClient + .sharedDomains() + .list(ListSharedDomainsRequest.builder().page(1).build())) + .thenReturn( + Mono.just( + ListSharedDomainsResponse.builder() + .resource( + fill(SharedDomainResource.builder()) + .entity( + fill(SharedDomainEntity.builder()) + .name( + "test-shared-domain-name") + .build()) + .build()) + .build())); } + private static void requestSpaceApplications( + CloudFoundryClient cloudFoundryClient, String spaceId) { + when(cloudFoundryClient + .spaces() + .listApplications( + ListSpaceApplicationsRequest.builder() + .page(1) + .spaceId(spaceId) + .build())) + .thenReturn( + Mono.just( + fill(ListSpaceApplicationsResponse.builder()) + .resource( + fill(ApplicationResource.builder(), "application-") + .build()) + .build())); + } + + private static void requestSpaceQuotaDefinition( + CloudFoundryClient cloudFoundryClient, String spaceQuotaDefinitionId) { + when(cloudFoundryClient + .spaceQuotaDefinitions() + .get( + GetSpaceQuotaDefinitionRequest.builder() + .spaceQuotaDefinitionId(spaceQuotaDefinitionId) + .build())) + .thenReturn( + Mono.just( + fill( + GetSpaceQuotaDefinitionResponse.builder(), + "space-quota-definition-") + .build())); + } + + private static void requestSpaceSecurityGroups( + CloudFoundryClient cloudFoundryClient, String spaceId) { + when(cloudFoundryClient + .spaces() + .listSecurityGroups( + ListSpaceSecurityGroupsRequest.builder() + .page(1) + .spaceId(spaceId) + .build())) + .thenReturn( + Mono.just( + fill(ListSpaceSecurityGroupsResponse.builder()) + .resource( + fill( + SecurityGroupResource.builder(), + "security-group-") + .entity( + fill( + SecurityGroupEntity + .builder(), + "security-group-") + .rule( + fill( + RuleEntity + .builder(), + "security-group-") + .build()) + .build()) + .build()) + .build())); + } + + private static void requestSpaceServices( + CloudFoundryClient cloudFoundryClient, String spaceId) { + when(cloudFoundryClient + .spaces() + .listServices( + ListSpaceServicesRequest.builder() + .page(1) + .spaceId(spaceId) + .build())) + .thenReturn( + Mono.just( + fill(ListSpaceServicesResponse.builder()) + .resource( + fill(ServiceResource.builder(), "service-").build()) + .build())); + } + + private static void requestSpaces( + CloudFoundryClient cloudFoundryClient, String organizationId) { + when(cloudFoundryClient + .spaces() + .list( + ListSpacesRequest.builder() + .organizationId(organizationId) + .page(1) + .build())) + .thenReturn( + Mono.just( + fill(ListSpacesResponse.builder()) + .resource(fill(SpaceResource.builder(), "space-").build()) + .build())); + } + + private static void requestUpdateSpace( + CloudFoundryClient cloudFoundryClient, String spaceId, String newName) { + when(cloudFoundryClient + .spaces() + .update( + UpdateSpaceRequest.builder() + .name(newName) + .spaceId(spaceId) + .build())) + .thenReturn(Mono.empty()); + } + + private static void requestUpdateSpaceSsh( + CloudFoundryClient cloudFoundryClient, String spaceId, Boolean allowed) { + when(cloudFoundryClient + .spaces() + .update( + UpdateSpaceRequest.builder() + .allowSsh(allowed) + .spaceId(spaceId) + .build())) + .thenReturn( + Mono.just( + fill(UpdateSpaceResponse.builder()) + .entity( + fill(SpaceEntity.builder(), "space-entity-") + .build()) + .build())); + } } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/spaces/DeleteSpaceRequestTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/spaces/DeleteSpaceRequestTest.java index 1295afe6e5..46baedb65c 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/spaces/DeleteSpaceRequestTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/spaces/DeleteSpaceRequestTest.java @@ -22,15 +22,11 @@ public final class DeleteSpaceRequestTest { @Test(expected = IllegalStateException.class) public void noName() { - DeleteSpaceRequest.builder() - .build(); + DeleteSpaceRequest.builder().build(); } @Test public void valid() { - DeleteSpaceRequest.builder() - .name("test-name") - .build(); + DeleteSpaceRequest.builder().name("test-name").build(); } - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/spaces/DisallowSpaceSshRequestTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/spaces/DisallowSpaceSshRequestTest.java index b8cbe055e6..86d067d014 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/spaces/DisallowSpaceSshRequestTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/spaces/DisallowSpaceSshRequestTest.java @@ -22,15 +22,11 @@ public final class DisallowSpaceSshRequestTest { @Test(expected = IllegalStateException.class) public void noName() { - DisallowSpaceSshRequest.builder() - .build(); + DisallowSpaceSshRequest.builder().build(); } @Test public void valid() { - DisallowSpaceSshRequest.builder() - .name("test-name") - .build(); + DisallowSpaceSshRequest.builder().name("test-name").build(); } - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/spaces/GetSpaceRequestTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/spaces/GetSpaceRequestTest.java index ade3fb8f16..cdfa1baf25 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/spaces/GetSpaceRequestTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/spaces/GetSpaceRequestTest.java @@ -22,15 +22,11 @@ public final class GetSpaceRequestTest { @Test(expected = IllegalStateException.class) public void noName() { - GetSpaceRequest.builder() - .build(); + GetSpaceRequest.builder().build(); } @Test public void valid() { - GetSpaceRequest.builder() - .name("test-name") - .build(); + GetSpaceRequest.builder().name("test-name").build(); } - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/spaces/RenameSpaceRequestTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/spaces/RenameSpaceRequestTest.java index 2389d9e6f5..fbd850df76 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/spaces/RenameSpaceRequestTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/spaces/RenameSpaceRequestTest.java @@ -22,24 +22,16 @@ public final class RenameSpaceRequestTest { @Test(expected = IllegalStateException.class) public void noName() { - RenameSpaceRequest.builder() - .newName("new-name") - .build(); + RenameSpaceRequest.builder().newName("new-name").build(); } @Test(expected = IllegalStateException.class) public void noNewName() { - RenameSpaceRequest.builder() - .name("name") - .build(); + RenameSpaceRequest.builder().name("name").build(); } @Test public void valid() { - RenameSpaceRequest.builder() - .name("test-name") - .newName("test-new-name") - .build(); + RenameSpaceRequest.builder().name("test-name").newName("test-new-name").build(); } - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/spaces/SpaceSshAllowedRequestTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/spaces/SpaceSshAllowedRequestTest.java index bd23f00add..038e16052f 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/spaces/SpaceSshAllowedRequestTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/spaces/SpaceSshAllowedRequestTest.java @@ -22,15 +22,11 @@ public final class SpaceSshAllowedRequestTest { @Test(expected = IllegalStateException.class) public void noName() { - SpaceSshAllowedRequest.builder() - .build(); + SpaceSshAllowedRequest.builder().build(); } @Test public void valid() { - SpaceSshAllowedRequest.builder() - .name("test-name") - .build(); + SpaceSshAllowedRequest.builder().name("test-name").build(); } - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/stacks/DefaultStacksTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/stacks/DefaultStacksTest.java index 018337b6d3..ee100b6225 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/stacks/DefaultStacksTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/stacks/DefaultStacksTest.java @@ -16,6 +16,10 @@ package org.cloudfoundry.operations.stacks; +import static org.cloudfoundry.operations.TestObjects.fill; +import static org.mockito.Mockito.when; + +import java.time.Duration; import org.cloudfoundry.client.CloudFoundryClient; import org.cloudfoundry.client.v2.stacks.ListStacksRequest; import org.cloudfoundry.client.v2.stacks.ListStacksResponse; @@ -25,11 +29,6 @@ import reactor.core.publisher.Mono; import reactor.test.StepVerifier; -import java.time.Duration; - -import static org.cloudfoundry.operations.TestObjects.fill; -import static org.mockito.Mockito.when; - public final class DefaultStacksTest extends AbstractOperationsTest { private final DefaultStacks stacks = new DefaultStacks(Mono.just(this.cloudFoundryClient)); @@ -39,51 +38,42 @@ public void getStack() { requestStacks(this.cloudFoundryClient, "test-stack-name"); this.stacks - .get(GetStackRequest.builder() - .name("test-stack-name") - .build()) - .as(StepVerifier::create) - .expectNext(fill(Stack.builder(), "stack-") - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .get(GetStackRequest.builder().name("test-stack-name").build()) + .as(StepVerifier::create) + .expectNext(fill(Stack.builder(), "stack-").build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void listStacks() { requestStacks(this.cloudFoundryClient); - this.stacks.list() - .as(StepVerifier::create) - .expectNext(fill(Stack.builder(), "stack-") - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + this.stacks + .list() + .as(StepVerifier::create) + .expectNext(fill(Stack.builder(), "stack-").build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } private static void requestStacks(CloudFoundryClient cloudFoundryClient) { - when(cloudFoundryClient.stacks() - .list(ListStacksRequest.builder() - .page(1) - .build())) - .thenReturn(Mono - .just(fill(ListStacksResponse.builder()) - .resource(fill(StackResource.builder(), "stack-") - .build()) - .build())); + when(cloudFoundryClient.stacks().list(ListStacksRequest.builder().page(1).build())) + .thenReturn( + Mono.just( + fill(ListStacksResponse.builder()) + .resource(fill(StackResource.builder(), "stack-").build()) + .build())); } private static void requestStacks(CloudFoundryClient cloudFoundryClient, String name) { - when(cloudFoundryClient.stacks() - .list(ListStacksRequest.builder() - .name(name) - .page(1) - .build())) - .thenReturn(Mono - .just(fill(ListStacksResponse.builder()) - .resource(fill(StackResource.builder(), "stack-") - .build()) - .build())); + when(cloudFoundryClient + .stacks() + .list(ListStacksRequest.builder().name(name).page(1).build())) + .thenReturn( + Mono.just( + fill(ListStacksResponse.builder()) + .resource(fill(StackResource.builder(), "stack-").build()) + .build())); } - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/stacks/GetStackRequestTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/stacks/GetStackRequestTest.java index c7b92acb72..f86868c9a9 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/stacks/GetStackRequestTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/stacks/GetStackRequestTest.java @@ -22,15 +22,11 @@ public final class GetStackRequestTest { @Test(expected = IllegalStateException.class) public void noName() { - GetStackRequest.builder() - .build(); + GetStackRequest.builder().build(); } @Test public void valid() { - GetStackRequest.builder() - .name("test-stack-name") - .build(); + GetStackRequest.builder().name("test-stack-name").build(); } - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/useradmin/CreateUserRequestTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/useradmin/CreateUserRequestTest.java index a96fc90320..1e566844c6 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/useradmin/CreateUserRequestTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/useradmin/CreateUserRequestTest.java @@ -23,32 +23,24 @@ public final class CreateUserRequestTest { @Test(expected = IllegalStateException.class) public void bothOriginAndPassword() { CreateUserRequest.builder() - .origin("test-origin") - .password("test-password") - .username("test-username") - .build(); + .origin("test-origin") + .password("test-password") + .username("test-username") + .build(); } @Test(expected = IllegalStateException.class) public void noOriginOrPassword() { - CreateUserRequest.builder() - .username("test-username") - .build(); + CreateUserRequest.builder().username("test-username").build(); } @Test(expected = IllegalStateException.class) public void noUsername() { - CreateUserRequest.builder() - .password("test-password") - .build(); + CreateUserRequest.builder().password("test-password").build(); } @Test public void valid() { - CreateUserRequest.builder() - .password("test-password") - .username("test-username") - .build(); + CreateUserRequest.builder().password("test-password").username("test-username").build(); } - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/useradmin/DefaultUserAdminTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/useradmin/DefaultUserAdminTest.java index 8312899eb1..98cb303cb5 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/useradmin/DefaultUserAdminTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/useradmin/DefaultUserAdminTest.java @@ -16,6 +16,15 @@ package org.cloudfoundry.operations.useradmin; +import static org.assertj.core.api.Assertions.assertThat; +import static org.cloudfoundry.operations.TestObjects.fill; +import static org.mockito.Mockito.when; + +import java.time.Duration; +import java.util.Arrays; +import java.util.LinkedList; +import java.util.Queue; +import java.util.function.Supplier; import org.cloudfoundry.client.CloudFoundryClient; import org.cloudfoundry.client.v2.ClientV2Exception; import org.cloudfoundry.client.v2.Metadata; @@ -69,19 +78,10 @@ import reactor.test.StepVerifier; import reactor.test.scheduler.VirtualTimeScheduler; -import java.time.Duration; -import java.util.Arrays; -import java.util.LinkedList; -import java.util.Queue; -import java.util.function.Supplier; - -import static org.assertj.core.api.Assertions.assertThat; -import static org.cloudfoundry.operations.TestObjects.fill; -import static org.mockito.Mockito.when; - public final class DefaultUserAdminTest extends AbstractOperationsTest { - private final DefaultUserAdmin userAdmin = new DefaultUserAdmin(Mono.just(this.cloudFoundryClient), Mono.just(this.uaaClient)); + private final DefaultUserAdmin userAdmin = + new DefaultUserAdmin(Mono.just(this.cloudFoundryClient), Mono.just(this.uaaClient)); @Test public void createUaaUserExists() { @@ -89,13 +89,14 @@ public void createUaaUserExists() { requestCreateUser(this.cloudFoundryClient); this.userAdmin - .create(CreateUserRequest.builder() - .username("test-username") - .password("test-password") - .build()) - .as(StepVerifier::create) - .expectErrorMessage("User test-username already exists") - .verify(Duration.ofSeconds(5)); + .create( + CreateUserRequest.builder() + .username("test-username") + .password("test-password") + .build()) + .as(StepVerifier::create) + .expectErrorMessage("User test-username already exists") + .verify(Duration.ofSeconds(5)); } @Test @@ -104,13 +105,14 @@ public void createWithPassword() { requestCreateUser(this.cloudFoundryClient); this.userAdmin - .create(CreateUserRequest.builder() - .username("test-username") - .password("test-password") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .create( + CreateUserRequest.builder() + .username("test-username") + .password("test-password") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test @@ -120,13 +122,15 @@ public void delete() { requestJobSuccess(this.cloudFoundryClient, "test-job-entity-id"); requestDeleteUaaUser(this.uaaClient); - StepVerifier.withVirtualTime(() -> this.userAdmin - .delete(DeleteUserRequest.builder() - .username("test-username") - .build())) - .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(3))) - .expectComplete() - .verify(Duration.ofSeconds(5)); + StepVerifier.withVirtualTime( + () -> + this.userAdmin.delete( + DeleteUserRequest.builder() + .username("test-username") + .build())) + .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(3))) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test @@ -136,13 +140,21 @@ public void deleteFailure() { requestJobFailure(this.cloudFoundryClient, "test-job-entity-id"); requestDeleteUaaUser(this.uaaClient); - StepVerifier.withVirtualTime(() -> this.userAdmin - .delete(DeleteUserRequest.builder() - .username("test-username") - .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)); + StepVerifier.withVirtualTime( + () -> + this.userAdmin.delete( + DeleteUserRequest.builder() + .username("test-username") + .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)); } @Test @@ -152,12 +164,10 @@ public void deleteNoCfUser() { requestDeleteUaaUser(this.uaaClient); this.userAdmin - .delete(DeleteUserRequest.builder() - .username("test-username") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .delete(DeleteUserRequest.builder().username("test-username").build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test @@ -165,12 +175,10 @@ public void deleteNoUaaUser() { requestListUserEmpty(this.uaaClient); this.userAdmin - .delete(DeleteUserRequest.builder() - .username("test-username") - .build()) - .as(StepVerifier::create) - .expectErrorMessage("User test-username does not exist") - .verify(Duration.ofSeconds(5)); + .delete(DeleteUserRequest.builder().username("test-username").build()) + .as(StepVerifier::create) + .expectErrorMessage("User test-username does not exist") + .verify(Duration.ofSeconds(5)); } @Test @@ -181,17 +189,19 @@ public void listOrganizationUsersAllFound() { requestListOrganizationManagers(this.cloudFoundryClient); this.userAdmin - .listOrganizationUsers(ListOrganizationUsersRequest.builder() - .organizationName("test-organization-name") - .build()) - .as(StepVerifier::create) - .expectNext(OrganizationUsers.builder() - .auditor("test-auditor-username") - .billingManager("test-billing-manager-username") - .manager("test-manager-username") - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .listOrganizationUsers( + ListOrganizationUsersRequest.builder() + .organizationName("test-organization-name") + .build()) + .as(StepVerifier::create) + .expectNext( + OrganizationUsers.builder() + .auditor("test-auditor-username") + .billingManager("test-billing-manager-username") + .manager("test-manager-username") + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test @@ -202,14 +212,14 @@ public void listOrganizationUsersNoneFound() { requestListOrganizationManagersEmpty(this.cloudFoundryClient); this.userAdmin - .listOrganizationUsers(ListOrganizationUsersRequest.builder() - .organizationName("test-organization-name") - .build()) - .as(StepVerifier::create) - .expectNext(OrganizationUsers.builder() - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .listOrganizationUsers( + ListOrganizationUsersRequest.builder() + .organizationName("test-organization-name") + .build()) + .as(StepVerifier::create) + .expectNext(OrganizationUsers.builder().build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test @@ -217,12 +227,13 @@ public void listOrganizationUsersOrganizationNotFound() { requestOrganizationEmpty(this.cloudFoundryClient); this.userAdmin - .listOrganizationUsers(ListOrganizationUsersRequest.builder() - .organizationName("unknown-organization-name") - .build()) - .as(StepVerifier::create) - .expectErrorMessage("Organization unknown-organization-name not found") - .verify(Duration.ofSeconds(5)); + .listOrganizationUsers( + ListOrganizationUsersRequest.builder() + .organizationName("unknown-organization-name") + .build()) + .as(StepVerifier::create) + .expectErrorMessage("Organization unknown-organization-name not found") + .verify(Duration.ofSeconds(5)); } @Test @@ -234,18 +245,20 @@ public void listSpaceUsersAllFound() { requestListSpaceManagers(this.cloudFoundryClient); this.userAdmin - .listSpaceUsers(ListSpaceUsersRequest.builder() - .organizationName("test-organization-name") - .spaceName("test-space-name") - .build()) - .as(StepVerifier::create) - .expectNext(SpaceUsers.builder() - .auditor("test-auditor-username") - .developer("test-developer-username") - .manager("test-manager-username") - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .listSpaceUsers( + ListSpaceUsersRequest.builder() + .organizationName("test-organization-name") + .spaceName("test-space-name") + .build()) + .as(StepVerifier::create) + .expectNext( + SpaceUsers.builder() + .auditor("test-auditor-username") + .developer("test-developer-username") + .manager("test-manager-username") + .build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test @@ -257,15 +270,15 @@ public void listSpaceUsersNoneFound() { requestListSpaceManagersEmpty(this.cloudFoundryClient); this.userAdmin - .listSpaceUsers(ListSpaceUsersRequest.builder() - .organizationName("test-organization-name") - .spaceName("test-space-name") - .build()) - .as(StepVerifier::create) - .expectNext(SpaceUsers.builder() - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .listSpaceUsers( + ListSpaceUsersRequest.builder() + .organizationName("test-organization-name") + .spaceName("test-space-name") + .build()) + .as(StepVerifier::create) + .expectNext(SpaceUsers.builder().build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test @@ -277,15 +290,15 @@ public void listSpaceUsersNullsFound() { requestListSpaceManagersNulls(this.cloudFoundryClient); this.userAdmin - .listSpaceUsers(ListSpaceUsersRequest.builder() - .organizationName("test-organization-name") - .spaceName("test-space-name") - .build()) - .as(StepVerifier::create) - .expectNext(SpaceUsers.builder() - .build()) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .listSpaceUsers( + ListSpaceUsersRequest.builder() + .organizationName("test-organization-name") + .spaceName("test-space-name") + .build()) + .as(StepVerifier::create) + .expectNext(SpaceUsers.builder().build()) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test @@ -293,13 +306,14 @@ public void listSpaceUsersOrganizationNotFound() { requestOrganizationEmpty(this.cloudFoundryClient); this.userAdmin - .listSpaceUsers(ListSpaceUsersRequest.builder() - .organizationName("unknown-organization-name") - .spaceName("test-space-name") - .build()) - .as(StepVerifier::create) - .expectErrorMessage("Organization unknown-organization-name not found") - .verify(Duration.ofSeconds(5)); + .listSpaceUsers( + ListSpaceUsersRequest.builder() + .organizationName("unknown-organization-name") + .spaceName("test-space-name") + .build()) + .as(StepVerifier::create) + .expectErrorMessage("Organization unknown-organization-name not found") + .verify(Duration.ofSeconds(5)); } @Test @@ -308,31 +322,35 @@ public void listSpaceUsersSpaceNotFound() { requestSpaceEmpty(this.cloudFoundryClient); this.userAdmin - .listSpaceUsers(ListSpaceUsersRequest.builder() - .organizationName("test-organization-name") - .spaceName("unknown-space-name") - .build()) - .as(StepVerifier::create) - .expectErrorMessage("Space unknown-space-name not found") - .verify(Duration.ofSeconds(5)); + .listSpaceUsers( + ListSpaceUsersRequest.builder() + .organizationName("test-organization-name") + .spaceName("unknown-space-name") + .build()) + .as(StepVerifier::create) + .expectErrorMessage("Space unknown-space-name not found") + .verify(Duration.ofSeconds(5)); } @Test public void setOrganizationRole() { requestGetFeatureFlag(this.cloudFoundryClient, "set_roles_by_username", true); requestListOrganizations(this.cloudFoundryClient, "test-organization-name"); - requestAssociateOrganizationUserByUsername(this.cloudFoundryClient, "test-organization-id", "test-username"); - requestAssociateOrganizationAuditorByUsername(this.cloudFoundryClient, "test-organization-id", "test-username"); + requestAssociateOrganizationUserByUsername( + this.cloudFoundryClient, "test-organization-id", "test-username"); + requestAssociateOrganizationAuditorByUsername( + this.cloudFoundryClient, "test-organization-id", "test-username"); this.userAdmin - .setOrganizationRole(SetOrganizationRoleRequest.builder() - .organizationName("test-organization-name") - .organizationRole(OrganizationRole.AUDITOR) - .username("test-username") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .setOrganizationRole( + SetOrganizationRoleRequest.builder() + .organizationName("test-organization-name") + .organizationRole(OrganizationRole.AUDITOR) + .username("test-username") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test @@ -340,14 +358,15 @@ public void setOrganizationRoleFeatureDisabled() { requestGetFeatureFlag(this.cloudFoundryClient, "set_roles_by_username", false); this.userAdmin - .setOrganizationRole(SetOrganizationRoleRequest.builder() - .organizationName("test-organization-name") - .organizationRole(OrganizationRole.MANAGER) - .username("test-username") - .build()) - .as(StepVerifier::create) - .expectErrorMessage("Setting roles by username is not enabled") - .verify(Duration.ofSeconds(5)); + .setOrganizationRole( + SetOrganizationRoleRequest.builder() + .organizationName("test-organization-name") + .organizationRole(OrganizationRole.MANAGER) + .username("test-username") + .build()) + .as(StepVerifier::create) + .expectErrorMessage("Setting roles by username is not enabled") + .verify(Duration.ofSeconds(5)); } @Test @@ -356,34 +375,39 @@ public void setOrganizationRoleInvalidOrganization() { requestListOrganizationsEmpty(this.cloudFoundryClient, "test-organization-name"); this.userAdmin - .setOrganizationRole(SetOrganizationRoleRequest.builder() - .organizationName("test-organization-name") - .organizationRole(OrganizationRole.BILLING_MANAGER) - .username("test-username") - .build()) - .as(StepVerifier::create) - .expectErrorMessage("Organization test-organization-name not found") - .verify(Duration.ofSeconds(5)); + .setOrganizationRole( + SetOrganizationRoleRequest.builder() + .organizationName("test-organization-name") + .organizationRole(OrganizationRole.BILLING_MANAGER) + .username("test-username") + .build()) + .as(StepVerifier::create) + .expectErrorMessage("Organization test-organization-name not found") + .verify(Duration.ofSeconds(5)); } @Test public void setSpaceRole() { requestGetFeatureFlag(this.cloudFoundryClient, "set_roles_by_username", true); requestListOrganizations(this.cloudFoundryClient, "test-organization-name"); - requestListOrganizationSpaces(this.cloudFoundryClient, "test-organization-id", "test-space-name"); - requestAssociateOrganizationUserByUsername(this.cloudFoundryClient, "test-organization-id", "test-username"); - requestAssociateSpaceManagerByUsername(this.cloudFoundryClient, "test-space-id", "test-username"); + requestListOrganizationSpaces( + this.cloudFoundryClient, "test-organization-id", "test-space-name"); + requestAssociateOrganizationUserByUsername( + this.cloudFoundryClient, "test-organization-id", "test-username"); + requestAssociateSpaceManagerByUsername( + this.cloudFoundryClient, "test-space-id", "test-username"); this.userAdmin - .setSpaceRole(SetSpaceRoleRequest.builder() - .organizationName("test-organization-name") - .spaceName("test-space-name") - .spaceRole(SpaceRole.MANAGER) - .username("test-username") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .setSpaceRole( + SetSpaceRoleRequest.builder() + .organizationName("test-organization-name") + .spaceName("test-space-name") + .spaceRole(SpaceRole.MANAGER) + .username("test-username") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test @@ -391,15 +415,16 @@ public void setSpaceRoleFeatureDisabled() { requestGetFeatureFlag(this.cloudFoundryClient, "set_roles_by_username", false); this.userAdmin - .setSpaceRole(SetSpaceRoleRequest.builder() - .organizationName("test-organization-name") - .spaceName("test-space-name") - .spaceRole(SpaceRole.MANAGER) - .username("test-username") - .build()) - .as(StepVerifier::create) - .expectErrorMessage("Setting roles by username is not enabled") - .verify(Duration.ofSeconds(5)); + .setSpaceRole( + SetSpaceRoleRequest.builder() + .organizationName("test-organization-name") + .spaceName("test-space-name") + .spaceRole(SpaceRole.MANAGER) + .username("test-username") + .build()) + .as(StepVerifier::create) + .expectErrorMessage("Setting roles by username is not enabled") + .verify(Duration.ofSeconds(5)); } @Test @@ -408,50 +433,55 @@ public void setSpaceRoleInvalidOrganization() { requestListOrganizationsEmpty(this.cloudFoundryClient, "test-organization-name"); this.userAdmin - .setSpaceRole(SetSpaceRoleRequest.builder() - .organizationName("test-organization-name") - .spaceName("test-space-name") - .spaceRole(SpaceRole.MANAGER) - .username("test-username") - .build()) - .as(StepVerifier::create) - .expectErrorMessage("Organization test-organization-name not found") - .verify(Duration.ofSeconds(5)); + .setSpaceRole( + SetSpaceRoleRequest.builder() + .organizationName("test-organization-name") + .spaceName("test-space-name") + .spaceRole(SpaceRole.MANAGER) + .username("test-username") + .build()) + .as(StepVerifier::create) + .expectErrorMessage("Organization test-organization-name not found") + .verify(Duration.ofSeconds(5)); } @Test public void setSpaceRoleInvalidSpace() { requestGetFeatureFlag(this.cloudFoundryClient, "set_roles_by_username", true); requestListOrganizations(this.cloudFoundryClient, "test-organization-name"); - requestListOrganizationSpacesEmpty(this.cloudFoundryClient, "test-organization-id", "test-space-name"); + requestListOrganizationSpacesEmpty( + this.cloudFoundryClient, "test-organization-id", "test-space-name"); this.userAdmin - .setSpaceRole(SetSpaceRoleRequest.builder() - .organizationName("test-organization-name") - .spaceName("test-space-name") - .spaceRole(SpaceRole.MANAGER) - .username("test-username") - .build()) - .as(StepVerifier::create) - .expectErrorMessage("Space test-space-name not found") - .verify(Duration.ofSeconds(5)); + .setSpaceRole( + SetSpaceRoleRequest.builder() + .organizationName("test-organization-name") + .spaceName("test-space-name") + .spaceRole(SpaceRole.MANAGER) + .username("test-username") + .build()) + .as(StepVerifier::create) + .expectErrorMessage("Space test-space-name not found") + .verify(Duration.ofSeconds(5)); } @Test public void unsetOrganizationRole() { requestGetFeatureFlag(this.cloudFoundryClient, "unset_roles_by_username", true); requestListOrganizations(this.cloudFoundryClient, "test-organization-name"); - requestRemoveOrganizationManagerByUsername(this.cloudFoundryClient, "test-organization-id", "test-username"); + requestRemoveOrganizationManagerByUsername( + this.cloudFoundryClient, "test-organization-id", "test-username"); this.userAdmin - .unsetOrganizationRole(UnsetOrganizationRoleRequest.builder() - .organizationName("test-organization-name") - .organizationRole(OrganizationRole.MANAGER) - .username("test-username") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .unsetOrganizationRole( + UnsetOrganizationRoleRequest.builder() + .organizationName("test-organization-name") + .organizationRole(OrganizationRole.MANAGER) + .username("test-username") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test @@ -459,14 +489,15 @@ public void unsetOrganizationRoleFeatureDisabled() { requestGetFeatureFlag(this.cloudFoundryClient, "unset_roles_by_username", false); this.userAdmin - .unsetOrganizationRole(UnsetOrganizationRoleRequest.builder() - .organizationName("test-organization-name") - .organizationRole(OrganizationRole.MANAGER) - .username("test-username") - .build()) - .as(StepVerifier::create) - .expectErrorMessage("Unsetting roles by username is not enabled") - .verify(Duration.ofSeconds(5)); + .unsetOrganizationRole( + UnsetOrganizationRoleRequest.builder() + .organizationName("test-organization-name") + .organizationRole(OrganizationRole.MANAGER) + .username("test-username") + .build()) + .as(StepVerifier::create) + .expectErrorMessage("Unsetting roles by username is not enabled") + .verify(Duration.ofSeconds(5)); } @Test @@ -475,33 +506,37 @@ public void unsetOrganizationRoleInvalidOrganization() { requestListOrganizationsEmpty(this.cloudFoundryClient, "test-organization-name"); this.userAdmin - .unsetOrganizationRole(UnsetOrganizationRoleRequest.builder() - .organizationName("test-organization-name") - .organizationRole(OrganizationRole.MANAGER) - .username("test-username") - .build()) - .as(StepVerifier::create) - .expectErrorMessage("Organization test-organization-name not found") - .verify(Duration.ofSeconds(5)); + .unsetOrganizationRole( + UnsetOrganizationRoleRequest.builder() + .organizationName("test-organization-name") + .organizationRole(OrganizationRole.MANAGER) + .username("test-username") + .build()) + .as(StepVerifier::create) + .expectErrorMessage("Organization test-organization-name not found") + .verify(Duration.ofSeconds(5)); } @Test public void unsetSpaceRole() { requestGetFeatureFlag(this.cloudFoundryClient, "unset_roles_by_username", true); requestListOrganizations(this.cloudFoundryClient, "test-organization-name"); - requestListOrganizationSpaces(this.cloudFoundryClient, "test-organization-id", "test-space-name"); - requestRemoveSpaceManagerByUsername(this.cloudFoundryClient, "test-space-id", "test-username"); + requestListOrganizationSpaces( + this.cloudFoundryClient, "test-organization-id", "test-space-name"); + requestRemoveSpaceManagerByUsername( + this.cloudFoundryClient, "test-space-id", "test-username"); this.userAdmin - .unsetSpaceRole(UnsetSpaceRoleRequest.builder() - .organizationName("test-organization-name") - .spaceName("test-space-name") - .spaceRole(SpaceRole.MANAGER) - .username("test-username") - .build()) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(5)); + .unsetSpaceRole( + UnsetSpaceRoleRequest.builder() + .organizationName("test-organization-name") + .spaceName("test-space-name") + .spaceRole(SpaceRole.MANAGER) + .username("test-username") + .build()) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test @@ -509,632 +544,795 @@ public void unsetSpaceRoleFeatureDisabled() { requestGetFeatureFlag(this.cloudFoundryClient, "unset_roles_by_username", false); this.userAdmin - .unsetSpaceRole(UnsetSpaceRoleRequest.builder() - .organizationName("test-organization-name") - .spaceName("test-space-name") - .spaceRole(SpaceRole.MANAGER) - .username("test-username") - .build()) - .as(StepVerifier::create) - .expectErrorMessage("Unsetting roles by username is not enabled") - .verify(Duration.ofSeconds(5)); + .unsetSpaceRole( + UnsetSpaceRoleRequest.builder() + .organizationName("test-organization-name") + .spaceName("test-space-name") + .spaceRole(SpaceRole.MANAGER) + .username("test-username") + .build()) + .as(StepVerifier::create) + .expectErrorMessage("Unsetting roles by username is not enabled") + .verify(Duration.ofSeconds(5)); } - @Test public void unsetSpaceRoleInvalidOrganization() { requestGetFeatureFlag(this.cloudFoundryClient, "unset_roles_by_username", true); requestListOrganizationsEmpty(this.cloudFoundryClient, "test-organization-name"); this.userAdmin - .unsetSpaceRole(UnsetSpaceRoleRequest.builder() - .organizationName("test-organization-name") - .spaceName("test-space-name") - .spaceRole(SpaceRole.MANAGER) - .username("test-username") - .build()) - .as(StepVerifier::create) - .expectErrorMessage("Organization test-organization-name not found") - .verify(Duration.ofSeconds(5)); + .unsetSpaceRole( + UnsetSpaceRoleRequest.builder() + .organizationName("test-organization-name") + .spaceName("test-space-name") + .spaceRole(SpaceRole.MANAGER) + .username("test-username") + .build()) + .as(StepVerifier::create) + .expectErrorMessage("Organization test-organization-name not found") + .verify(Duration.ofSeconds(5)); } @Test public void unsetSpaceRoleInvalidSpace() { requestGetFeatureFlag(this.cloudFoundryClient, "unset_roles_by_username", true); requestListOrganizations(this.cloudFoundryClient, "test-organization-name"); - requestListOrganizationSpacesEmpty(this.cloudFoundryClient, "test-organization-id", "test-space-name"); + requestListOrganizationSpacesEmpty( + this.cloudFoundryClient, "test-organization-id", "test-space-name"); this.userAdmin - .unsetSpaceRole(UnsetSpaceRoleRequest.builder() - .organizationName("test-organization-name") - .spaceName("test-space-name") - .spaceRole(SpaceRole.MANAGER) - .username("test-username") - .build()) - .as(StepVerifier::create) - .expectErrorMessage("Space test-space-name not found") - .verify(Duration.ofSeconds(5)); - } - - private static void requestAssociateOrganizationAuditorByUsername(CloudFoundryClient cloudFoundryClient, String organizationId, String username) { - when(cloudFoundryClient.organizations() - .associateAuditorByUsername(AssociateOrganizationAuditorByUsernameRequest.builder() - .organizationId(organizationId) - .username(username) - .build())) - .thenReturn(Mono - .just(fill(AssociateOrganizationAuditorByUsernameResponse.builder(), "associate-auditor-") - .build())); - } - - private static void requestAssociateOrganizationUserByUsername(CloudFoundryClient cloudFoundryClient, String organizationId, String username) { - when(cloudFoundryClient.organizations() - .associateUserByUsername(AssociateOrganizationUserByUsernameRequest.builder() - .organizationId(organizationId) - .username(username) - .build())) - .thenReturn(Mono - .just(fill(AssociateOrganizationUserByUsernameResponse.builder(), "associate-user-") - .build())); - } - - private static void requestAssociateSpaceManagerByUsername(CloudFoundryClient cloudFoundryClient, String spaceId, String username) { - when(cloudFoundryClient.spaces() - .associateManagerByUsername(AssociateSpaceManagerByUsernameRequest.builder() - .spaceId(spaceId) - .username(username) - .build())) - .thenReturn(Mono - .just(fill(AssociateSpaceManagerByUsernameResponse.builder(), "associate-manager-") - .build())); + .unsetSpaceRole( + UnsetSpaceRoleRequest.builder() + .organizationName("test-organization-name") + .spaceName("test-space-name") + .spaceRole(SpaceRole.MANAGER) + .username("test-username") + .build()) + .as(StepVerifier::create) + .expectErrorMessage("Space test-space-name not found") + .verify(Duration.ofSeconds(5)); + } + + private static void requestAssociateOrganizationAuditorByUsername( + CloudFoundryClient cloudFoundryClient, String organizationId, String username) { + when(cloudFoundryClient + .organizations() + .associateAuditorByUsername( + AssociateOrganizationAuditorByUsernameRequest.builder() + .organizationId(organizationId) + .username(username) + .build())) + .thenReturn( + Mono.just( + fill( + AssociateOrganizationAuditorByUsernameResponse + .builder(), + "associate-auditor-") + .build())); + } + + private static void requestAssociateOrganizationUserByUsername( + CloudFoundryClient cloudFoundryClient, String organizationId, String username) { + when(cloudFoundryClient + .organizations() + .associateUserByUsername( + AssociateOrganizationUserByUsernameRequest.builder() + .organizationId(organizationId) + .username(username) + .build())) + .thenReturn( + Mono.just( + fill( + AssociateOrganizationUserByUsernameResponse + .builder(), + "associate-user-") + .build())); + } + + private static void requestAssociateSpaceManagerByUsername( + CloudFoundryClient cloudFoundryClient, String spaceId, String username) { + when(cloudFoundryClient + .spaces() + .associateManagerByUsername( + AssociateSpaceManagerByUsernameRequest.builder() + .spaceId(spaceId) + .username(username) + .build())) + .thenReturn( + Mono.just( + fill( + AssociateSpaceManagerByUsernameResponse.builder(), + "associate-manager-") + .build())); } private static void requestCreateUaaUser(UaaClient uaaClient) { - when(uaaClient.users() - .create(org.cloudfoundry.uaa.users.CreateUserRequest.builder() - .email(Email.builder() - .primary(true) - .value("test-username") - .build()) - .name(Name.builder() - .familyName("test-username") - .givenName("test-username") - .build()) - .password("test-password") - .userName("test-username") - .build())) - .thenReturn(Mono - .just(org.cloudfoundry.uaa.users.CreateUserResponse.builder() - .id("test-user-id") - .active(true) - .meta(Meta.builder() - .created("test-created") - .lastModified("test-last-modified") - .version(1) - .build()) - .name(Name.builder().build()) - .origin("test-origin") - .passwordLastModified("test-password-last-modified") - .userName("test-username") - .verified(false) - .zoneId("test-zone-id") - .build())); + when(uaaClient + .users() + .create( + org.cloudfoundry.uaa.users.CreateUserRequest.builder() + .email( + Email.builder() + .primary(true) + .value("test-username") + .build()) + .name( + Name.builder() + .familyName("test-username") + .givenName("test-username") + .build()) + .password("test-password") + .userName("test-username") + .build())) + .thenReturn( + Mono.just( + org.cloudfoundry.uaa.users.CreateUserResponse.builder() + .id("test-user-id") + .active(true) + .meta( + Meta.builder() + .created("test-created") + .lastModified("test-last-modified") + .version(1) + .build()) + .name(Name.builder().build()) + .origin("test-origin") + .passwordLastModified("test-password-last-modified") + .userName("test-username") + .verified(false) + .zoneId("test-zone-id") + .build())); } private static void requestCreateUaaUserAlreadyExists(UaaClient uaaClient) { - when(uaaClient.users() - .create(org.cloudfoundry.uaa.users.CreateUserRequest.builder() - .email(Email.builder() - .primary(true) - .value("test-username") - .build()) - .name(Name.builder() - .familyName("test-username") - .givenName("test-username") - .build()) - .password("test-password") - .userName("test-username") - .build())) - .thenReturn(Mono.error(new UaaException(409, "test-error", "test-error-description"))); + when(uaaClient + .users() + .create( + org.cloudfoundry.uaa.users.CreateUserRequest.builder() + .email( + Email.builder() + .primary(true) + .value("test-username") + .build()) + .name( + Name.builder() + .familyName("test-username") + .givenName("test-username") + .build()) + .password("test-password") + .userName("test-username") + .build())) + .thenReturn( + Mono.error(new UaaException(409, "test-error", "test-error-description"))); } private static void requestCreateUser(CloudFoundryClient cloudFoundryClient) { - when(cloudFoundryClient.users() - .create(org.cloudfoundry.client.v2.users.CreateUserRequest.builder() - .uaaId("test-user-id") - .build())) - .thenReturn(Mono - .just(org.cloudfoundry.client.v2.users.CreateUserResponse.builder() - .build())); + when(cloudFoundryClient + .users() + .create( + org.cloudfoundry.client.v2.users.CreateUserRequest.builder() + .uaaId("test-user-id") + .build())) + .thenReturn( + Mono.just( + org.cloudfoundry.client.v2.users.CreateUserResponse.builder() + .build())); } private static void requestDeleteUaaUser(UaaClient uaaClient) { - when(uaaClient.users() - .delete(org.cloudfoundry.uaa.users.DeleteUserRequest.builder() - .userId("test-user-id") - .build())) - .thenReturn(Mono - .just(org.cloudfoundry.uaa.users.DeleteUserResponse.builder() - .id("test-user-id") - .active(true) - .meta(Meta.builder() - .created("test-created") - .lastModified("test-last-modified") - .version(1) - .build()) - .name(Name.builder().build()) - .origin("test-origin") - .passwordLastModified("test-password-last-modified") - .userName("test-username") - .verified(false) - .zoneId("test-zone-id") - .build())); + when(uaaClient + .users() + .delete( + org.cloudfoundry.uaa.users.DeleteUserRequest.builder() + .userId("test-user-id") + .build())) + .thenReturn( + Mono.just( + org.cloudfoundry.uaa.users.DeleteUserResponse.builder() + .id("test-user-id") + .active(true) + .meta( + Meta.builder() + .created("test-created") + .lastModified("test-last-modified") + .version(1) + .build()) + .name(Name.builder().build()) + .origin("test-origin") + .passwordLastModified("test-password-last-modified") + .userName("test-username") + .verified(false) + .zoneId("test-zone-id") + .build())); } private static void requestDeleteUser(CloudFoundryClient cloudFoundryClient) { - when(cloudFoundryClient.users() - .delete(org.cloudfoundry.client.v2.users.DeleteUserRequest.builder() - .async(true) - .userId("test-user-id") - .build())) - .thenReturn(Mono - .just(fill(DeleteUserResponse.builder()) - .entity(fill(JobEntity.builder(), "job-entity-") - .build()) - .build())); + when(cloudFoundryClient + .users() + .delete( + org.cloudfoundry.client.v2.users.DeleteUserRequest.builder() + .async(true) + .userId("test-user-id") + .build())) + .thenReturn( + Mono.just( + fill(DeleteUserResponse.builder()) + .entity(fill(JobEntity.builder(), "job-entity-").build()) + .build())); } private static void requestDeleteUserEmpty(CloudFoundryClient cloudFoundryClient) { - when(cloudFoundryClient.users() - .delete(org.cloudfoundry.client.v2.users.DeleteUserRequest.builder() - .async(true) - .userId("test-user-id") - .build())) - .thenReturn(Mono.error(new ClientV2Exception(404, 404, "test-description", "test-error-code"))); - } - - private static void requestGetFeatureFlag(CloudFoundryClient cloudFoundryClient, String featureFlag, Boolean enabled) { - when(cloudFoundryClient.featureFlags() - .get(GetFeatureFlagRequest.builder() - .name(featureFlag) - .build())) - .thenReturn(Mono.just(GetFeatureFlagResponse.builder() - .enabled(enabled) - .build())); + when(cloudFoundryClient + .users() + .delete( + org.cloudfoundry.client.v2.users.DeleteUserRequest.builder() + .async(true) + .userId("test-user-id") + .build())) + .thenReturn( + Mono.error( + new ClientV2Exception( + 404, 404, "test-description", "test-error-code"))); + } + + private static void requestGetFeatureFlag( + CloudFoundryClient cloudFoundryClient, String featureFlag, Boolean enabled) { + when(cloudFoundryClient + .featureFlags() + .get(GetFeatureFlagRequest.builder().name(featureFlag).build())) + .thenReturn(Mono.just(GetFeatureFlagResponse.builder().enabled(enabled).build())); } private static void requestJobFailure(CloudFoundryClient cloudFoundryClient, String jobId) { - when(cloudFoundryClient.jobs() - .get(GetJobRequest.builder() - .jobId(jobId) - .build())) - .thenReturn(Mono - .defer(new Supplier>() { - - private final Queue responses = new LinkedList<>(Arrays.asList( - fill(GetJobResponse.builder(), "job-") - .entity(fill(JobEntity.builder()) - .status("running") - .build()) - .build(), - fill(GetJobResponse.builder(), "job-") - .entity(fill(JobEntity.builder()) - .errorDetails(fill(ErrorDetails.builder(), "error-details-") - .build()) - .status("failed") - .build()) - .build() - )); - - @Override - public Mono get() { - return Mono.just(this.responses.poll()); - } - - })); + when(cloudFoundryClient.jobs().get(GetJobRequest.builder().jobId(jobId).build())) + .thenReturn( + Mono.defer( + new Supplier>() { + + private final Queue responses = + new LinkedList<>( + Arrays.asList( + fill(GetJobResponse.builder(), "job-") + .entity( + fill(JobEntity + .builder()) + .status( + "running") + .build()) + .build(), + fill(GetJobResponse.builder(), "job-") + .entity( + fill(JobEntity + .builder()) + .errorDetails( + fill( + ErrorDetails + .builder(), + "error-details-") + .build()) + .status( + "failed") + .build()) + .build())); + + @Override + public Mono get() { + return Mono.just(this.responses.poll()); + } + })); } private static void requestJobSuccess(CloudFoundryClient cloudFoundryClient, String jobId) { - when(cloudFoundryClient.jobs() - .get(GetJobRequest.builder() - .jobId(jobId) - .build())) - .thenReturn(Mono - .defer(new Supplier>() { - - private final Queue responses = new LinkedList<>(Arrays.asList( - fill(GetJobResponse.builder(), "job-") - .entity(fill(JobEntity.builder()) - .status("running") - .build()) - .build(), - fill(GetJobResponse.builder(), "job-") - .entity(fill(JobEntity.builder()) - .status("finished") - .build()) - .build() - )); - - @Override - public Mono get() { - return Mono.just(this.responses.poll()); - } - - })); + when(cloudFoundryClient.jobs().get(GetJobRequest.builder().jobId(jobId).build())) + .thenReturn( + Mono.defer( + new Supplier>() { + + private final Queue responses = + new LinkedList<>( + Arrays.asList( + fill(GetJobResponse.builder(), "job-") + .entity( + fill(JobEntity + .builder()) + .status( + "running") + .build()) + .build(), + fill(GetJobResponse.builder(), "job-") + .entity( + fill(JobEntity + .builder()) + .status( + "finished") + .build()) + .build())); + + @Override + public Mono get() { + return Mono.just(this.responses.poll()); + } + })); } private static void requestListOrganizationAuditors(CloudFoundryClient cloudFoundryClient) { - when(cloudFoundryClient.organizations() - .listAuditors(ListOrganizationAuditorsRequest.builder() - .organizationId("test-organization-id") - .page(1) - .build())) - .thenReturn(Mono - .just(fill(ListOrganizationAuditorsResponse.builder()) - .resource(fill(UserResource.builder()) - .entity(fill(UserEntity.builder()) - .username("test-auditor-username") - .build()) - .build()) - .build())); - } - - private static void requestListOrganizationAuditorsEmpty(CloudFoundryClient cloudFoundryClient) { - when(cloudFoundryClient.organizations() - .listAuditors(ListOrganizationAuditorsRequest.builder() - .organizationId("test-organization-id") - .page(1) - .build())) - .thenReturn(Mono - .just(fill(ListOrganizationAuditorsResponse.builder()) - .build())); - } - - private static void requestListOrganizationBillingManagers(CloudFoundryClient cloudFoundryClient) { - when(cloudFoundryClient.organizations() - .listBillingManagers(ListOrganizationBillingManagersRequest.builder() - .organizationId("test-organization-id") - .page(1) - .build())) - .thenReturn(Mono - .just(fill(ListOrganizationBillingManagersResponse.builder()) - .resource(fill(UserResource.builder()) - .entity(fill(UserEntity.builder()) - .username("test-billing-manager-username") - .build()) - .build()) - .build())); - } - - private static void requestListOrganizationBillingManagersEmpty(CloudFoundryClient cloudFoundryClient) { - when(cloudFoundryClient.organizations() - .listBillingManagers(ListOrganizationBillingManagersRequest.builder() - .organizationId("test-organization-id") - .page(1) - .build())) - .thenReturn(Mono - .just(fill(ListOrganizationBillingManagersResponse.builder()) - .build())); + when(cloudFoundryClient + .organizations() + .listAuditors( + ListOrganizationAuditorsRequest.builder() + .organizationId("test-organization-id") + .page(1) + .build())) + .thenReturn( + Mono.just( + fill(ListOrganizationAuditorsResponse.builder()) + .resource( + fill(UserResource.builder()) + .entity( + fill(UserEntity.builder()) + .username( + "test-auditor-username") + .build()) + .build()) + .build())); + } + + private static void requestListOrganizationAuditorsEmpty( + CloudFoundryClient cloudFoundryClient) { + when(cloudFoundryClient + .organizations() + .listAuditors( + ListOrganizationAuditorsRequest.builder() + .organizationId("test-organization-id") + .page(1) + .build())) + .thenReturn(Mono.just(fill(ListOrganizationAuditorsResponse.builder()).build())); + } + + private static void requestListOrganizationBillingManagers( + CloudFoundryClient cloudFoundryClient) { + when(cloudFoundryClient + .organizations() + .listBillingManagers( + ListOrganizationBillingManagersRequest.builder() + .organizationId("test-organization-id") + .page(1) + .build())) + .thenReturn( + Mono.just( + fill(ListOrganizationBillingManagersResponse.builder()) + .resource( + fill(UserResource.builder()) + .entity( + fill(UserEntity.builder()) + .username( + "test-billing-manager-username") + .build()) + .build()) + .build())); + } + + private static void requestListOrganizationBillingManagersEmpty( + CloudFoundryClient cloudFoundryClient) { + when(cloudFoundryClient + .organizations() + .listBillingManagers( + ListOrganizationBillingManagersRequest.builder() + .organizationId("test-organization-id") + .page(1) + .build())) + .thenReturn( + Mono.just(fill(ListOrganizationBillingManagersResponse.builder()).build())); } private static void requestListOrganizationManagers(CloudFoundryClient cloudFoundryClient) { - when(cloudFoundryClient.organizations() - .listManagers(ListOrganizationManagersRequest.builder() - .organizationId("test-organization-id") - .page(1) - .build())) - .thenReturn(Mono - .just(fill(ListOrganizationManagersResponse.builder()) - .resource(fill(UserResource.builder()) - .entity(fill(UserEntity.builder()) - .username("test-manager-username") - .build()) - .build()) - .build())); - } - - private static void requestListOrganizationManagersEmpty(CloudFoundryClient cloudFoundryClient) { - when(cloudFoundryClient.organizations() - .listManagers(ListOrganizationManagersRequest.builder() - .organizationId("test-organization-id") - .page(1) - .build())) - .thenReturn(Mono - .just(fill(ListOrganizationManagersResponse.builder()) - .build())); - } - - private static void requestListOrganizationSpaces(CloudFoundryClient cloudFoundryClient, String organizationId, String spaceName) { - when(cloudFoundryClient.organizations() - .listSpaces(ListOrganizationSpacesRequest.builder() - .name(spaceName) - .organizationId(organizationId) - .page(1) - .build())) - .thenReturn(Mono - .just(fill(ListOrganizationSpacesResponse.builder()) - .resource(fill(SpaceResource.builder(), "space-") - .entity(fill(SpaceEntity.builder(), "space-entity-") - .build()) - .build()) - .build())); - } - - private static void requestListOrganizationSpacesEmpty(CloudFoundryClient cloudFoundryClient, String organizationId, String spaceName) { - when(cloudFoundryClient.organizations() - .listSpaces(ListOrganizationSpacesRequest.builder() - .name(spaceName) - .organizationId(organizationId) - .page(1) - .build())) - .thenReturn(Mono - .just(fill(ListOrganizationSpacesResponse.builder()) - .build())); - } - - private static void requestListOrganizations(CloudFoundryClient cloudFoundryClient, String organizationName) { - when(cloudFoundryClient.organizations() - .list(ListOrganizationsRequest.builder() - .name(organizationName) - .page(1) - .build())) - .thenReturn(Mono - .just(fill(ListOrganizationsResponse.builder()) - .resource(fill(OrganizationResource.builder(), "organization-") - .entity(fill(OrganizationEntity.builder(), "organization-entity-") - .build()) - .build()) - .build())); - } - - private static void requestListOrganizationsEmpty(CloudFoundryClient cloudFoundryClient, String organizationName) { - when(cloudFoundryClient.organizations() - .list(ListOrganizationsRequest.builder() - .name(organizationName) - .page(1) - .build())) - .thenReturn(Mono - .just(fill(ListOrganizationsResponse.builder()) - .build())); + when(cloudFoundryClient + .organizations() + .listManagers( + ListOrganizationManagersRequest.builder() + .organizationId("test-organization-id") + .page(1) + .build())) + .thenReturn( + Mono.just( + fill(ListOrganizationManagersResponse.builder()) + .resource( + fill(UserResource.builder()) + .entity( + fill(UserEntity.builder()) + .username( + "test-manager-username") + .build()) + .build()) + .build())); + } + + private static void requestListOrganizationManagersEmpty( + CloudFoundryClient cloudFoundryClient) { + when(cloudFoundryClient + .organizations() + .listManagers( + ListOrganizationManagersRequest.builder() + .organizationId("test-organization-id") + .page(1) + .build())) + .thenReturn(Mono.just(fill(ListOrganizationManagersResponse.builder()).build())); + } + + private static void requestListOrganizationSpaces( + CloudFoundryClient cloudFoundryClient, String organizationId, String spaceName) { + when(cloudFoundryClient + .organizations() + .listSpaces( + ListOrganizationSpacesRequest.builder() + .name(spaceName) + .organizationId(organizationId) + .page(1) + .build())) + .thenReturn( + Mono.just( + fill(ListOrganizationSpacesResponse.builder()) + .resource( + fill(SpaceResource.builder(), "space-") + .entity( + fill( + SpaceEntity + .builder(), + "space-entity-") + .build()) + .build()) + .build())); + } + + private static void requestListOrganizationSpacesEmpty( + CloudFoundryClient cloudFoundryClient, String organizationId, String spaceName) { + when(cloudFoundryClient + .organizations() + .listSpaces( + ListOrganizationSpacesRequest.builder() + .name(spaceName) + .organizationId(organizationId) + .page(1) + .build())) + .thenReturn(Mono.just(fill(ListOrganizationSpacesResponse.builder()).build())); + } + + private static void requestListOrganizations( + CloudFoundryClient cloudFoundryClient, String organizationName) { + when(cloudFoundryClient + .organizations() + .list( + ListOrganizationsRequest.builder() + .name(organizationName) + .page(1) + .build())) + .thenReturn( + Mono.just( + fill(ListOrganizationsResponse.builder()) + .resource( + fill( + OrganizationResource.builder(), + "organization-") + .entity( + fill( + OrganizationEntity + .builder(), + "organization-entity-") + .build()) + .build()) + .build())); + } + + private static void requestListOrganizationsEmpty( + CloudFoundryClient cloudFoundryClient, String organizationName) { + when(cloudFoundryClient + .organizations() + .list( + ListOrganizationsRequest.builder() + .name(organizationName) + .page(1) + .build())) + .thenReturn(Mono.just(fill(ListOrganizationsResponse.builder()).build())); } private static void requestListSpaceAuditors(CloudFoundryClient cloudFoundryClient) { - when(cloudFoundryClient.spaces() - .listAuditors(ListSpaceAuditorsRequest.builder() - .spaceId("test-space-id") - .page(1) - .build())) - .thenReturn(Mono - .just(fill(ListSpaceAuditorsResponse.builder()) - .resource(fill(UserResource.builder()) - .entity(fill(UserEntity.builder()) - .username("test-auditor-username") - .build()) - .build()) - .build())); + when(cloudFoundryClient + .spaces() + .listAuditors( + ListSpaceAuditorsRequest.builder() + .spaceId("test-space-id") + .page(1) + .build())) + .thenReturn( + Mono.just( + fill(ListSpaceAuditorsResponse.builder()) + .resource( + fill(UserResource.builder()) + .entity( + fill(UserEntity.builder()) + .username( + "test-auditor-username") + .build()) + .build()) + .build())); } private static void requestListSpaceAuditorsEmpty(CloudFoundryClient cloudFoundryClient) { - when(cloudFoundryClient.spaces() - .listAuditors(ListSpaceAuditorsRequest.builder() - .spaceId("test-space-id") - .page(1) - .build())) - .thenReturn(Mono - .just(fill(ListSpaceAuditorsResponse.builder()) - .build())); + when(cloudFoundryClient + .spaces() + .listAuditors( + ListSpaceAuditorsRequest.builder() + .spaceId("test-space-id") + .page(1) + .build())) + .thenReturn(Mono.just(fill(ListSpaceAuditorsResponse.builder()).build())); } private static void requestListSpaceAuditorsNulls(CloudFoundryClient cloudFoundryClient) { - when(cloudFoundryClient.spaces() - .listAuditors(ListSpaceAuditorsRequest.builder() - .spaceId("test-space-id") - .page(1) - .build())) - .thenReturn(Mono - .just(fill(ListSpaceAuditorsResponse.builder()) - .resource(fill(UserResource.builder()) - .entity(fill(UserEntity.builder()) - .username(null) - .build()) - .build()) - .build())); + when(cloudFoundryClient + .spaces() + .listAuditors( + ListSpaceAuditorsRequest.builder() + .spaceId("test-space-id") + .page(1) + .build())) + .thenReturn( + Mono.just( + fill(ListSpaceAuditorsResponse.builder()) + .resource( + fill(UserResource.builder()) + .entity( + fill(UserEntity.builder()) + .username(null) + .build()) + .build()) + .build())); } private static void requestListSpaceDevelopers(CloudFoundryClient cloudFoundryClient) { - when(cloudFoundryClient.spaces() - .listDevelopers(ListSpaceDevelopersRequest.builder() - .spaceId("test-space-id") - .page(1) - .build())) - .thenReturn(Mono - .just(fill(ListSpaceDevelopersResponse.builder()) - .resource(fill(UserResource.builder()) - .entity(fill(UserEntity.builder()) - .username("test-developer-username") - .build()) - .build()) - .build())); + when(cloudFoundryClient + .spaces() + .listDevelopers( + ListSpaceDevelopersRequest.builder() + .spaceId("test-space-id") + .page(1) + .build())) + .thenReturn( + Mono.just( + fill(ListSpaceDevelopersResponse.builder()) + .resource( + fill(UserResource.builder()) + .entity( + fill(UserEntity.builder()) + .username( + "test-developer-username") + .build()) + .build()) + .build())); } private static void requestListSpaceDevelopersEmpty(CloudFoundryClient cloudFoundryClient) { - when(cloudFoundryClient.spaces() - .listDevelopers(ListSpaceDevelopersRequest.builder() - .spaceId("test-space-id") - .page(1) - .build())) - .thenReturn(Mono - .just(fill(ListSpaceDevelopersResponse.builder()) - .build())); + when(cloudFoundryClient + .spaces() + .listDevelopers( + ListSpaceDevelopersRequest.builder() + .spaceId("test-space-id") + .page(1) + .build())) + .thenReturn(Mono.just(fill(ListSpaceDevelopersResponse.builder()).build())); } private static void requestListSpaceDevelopersNulls(CloudFoundryClient cloudFoundryClient) { - when(cloudFoundryClient.spaces() - .listDevelopers(ListSpaceDevelopersRequest.builder() - .spaceId("test-space-id") - .page(1) - .build())) - .thenReturn(Mono - .just(fill(ListSpaceDevelopersResponse.builder()) - .resource(fill(UserResource.builder()) - .entity(fill(UserEntity.builder()) - .username(null) - .build()) - .build()) - .build())); + when(cloudFoundryClient + .spaces() + .listDevelopers( + ListSpaceDevelopersRequest.builder() + .spaceId("test-space-id") + .page(1) + .build())) + .thenReturn( + Mono.just( + fill(ListSpaceDevelopersResponse.builder()) + .resource( + fill(UserResource.builder()) + .entity( + fill(UserEntity.builder()) + .username(null) + .build()) + .build()) + .build())); } private static void requestListSpaceManagers(CloudFoundryClient cloudFoundryClient) { - when(cloudFoundryClient.spaces() - .listManagers(ListSpaceManagersRequest.builder() - .spaceId("test-space-id") - .page(1) - .build())) - .thenReturn(Mono - .just(fill(ListSpaceManagersResponse.builder()) - .resource(fill(UserResource.builder()) - .entity(fill(UserEntity.builder()) - .username("test-manager-username") - .build()) - .build()) - .build())); + when(cloudFoundryClient + .spaces() + .listManagers( + ListSpaceManagersRequest.builder() + .spaceId("test-space-id") + .page(1) + .build())) + .thenReturn( + Mono.just( + fill(ListSpaceManagersResponse.builder()) + .resource( + fill(UserResource.builder()) + .entity( + fill(UserEntity.builder()) + .username( + "test-manager-username") + .build()) + .build()) + .build())); } private static void requestListSpaceManagersEmpty(CloudFoundryClient cloudFoundryClient) { - when(cloudFoundryClient.spaces() - .listManagers(ListSpaceManagersRequest.builder() - .spaceId("test-space-id") - .page(1) - .build())) - .thenReturn(Mono - .just(fill(ListSpaceManagersResponse.builder()) - .build())); + when(cloudFoundryClient + .spaces() + .listManagers( + ListSpaceManagersRequest.builder() + .spaceId("test-space-id") + .page(1) + .build())) + .thenReturn(Mono.just(fill(ListSpaceManagersResponse.builder()).build())); } private static void requestListSpaceManagersNulls(CloudFoundryClient cloudFoundryClient) { - when(cloudFoundryClient.spaces() - .listManagers(ListSpaceManagersRequest.builder() - .spaceId("test-space-id") - .page(1) - .build())) - .thenReturn(Mono - .just(fill(ListSpaceManagersResponse.builder()) - .resource(fill(UserResource.builder()) - .entity(fill(UserEntity.builder()) - .username(null) - .build()) - .build()) - .build())); + when(cloudFoundryClient + .spaces() + .listManagers( + ListSpaceManagersRequest.builder() + .spaceId("test-space-id") + .page(1) + .build())) + .thenReturn( + Mono.just( + fill(ListSpaceManagersResponse.builder()) + .resource( + fill(UserResource.builder()) + .entity( + fill(UserEntity.builder()) + .username(null) + .build()) + .build()) + .build())); } private static void requestListUser(UaaClient uaaClient) { - when(uaaClient.users() - .list(org.cloudfoundry.uaa.users.ListUsersRequest.builder() - .filter("userName eq \"test-username\"") - .startIndex(1) - .build())) - .thenReturn(Mono - .just(fill(org.cloudfoundry.uaa.users.ListUsersResponse.builder()) - .resource(User.builder() - .id("test-user-id") - .active(true) - .meta(Meta.builder() - .created("test-created") - .lastModified("test-last-modified") - .version(1) - .build()) - .name(Name.builder().build()) - .origin("test-origin") - .passwordLastModified("test-password-last-modified") - .userName("test-username") - .verified(false) - .zoneId("test-zone-id") - .build()) - .build())); + when(uaaClient + .users() + .list( + org.cloudfoundry.uaa.users.ListUsersRequest.builder() + .filter("userName eq \"test-username\"") + .startIndex(1) + .build())) + .thenReturn( + Mono.just( + fill(org.cloudfoundry.uaa.users.ListUsersResponse.builder()) + .resource( + User.builder() + .id("test-user-id") + .active(true) + .meta( + Meta.builder() + .created("test-created") + .lastModified( + "test-last-modified") + .version(1) + .build()) + .name(Name.builder().build()) + .origin("test-origin") + .passwordLastModified( + "test-password-last-modified") + .userName("test-username") + .verified(false) + .zoneId("test-zone-id") + .build()) + .build())); } private static void requestListUserEmpty(UaaClient uaaClient) { - when(uaaClient.users() - .list(org.cloudfoundry.uaa.users.ListUsersRequest.builder() - .filter("userName eq \"test-username\"") - .startIndex(1) - .build())) - .thenReturn(Mono - .just(fill(org.cloudfoundry.uaa.users.ListUsersResponse.builder()) - .build())); + when(uaaClient + .users() + .list( + org.cloudfoundry.uaa.users.ListUsersRequest.builder() + .filter("userName eq \"test-username\"") + .startIndex(1) + .build())) + .thenReturn( + Mono.just( + fill(org.cloudfoundry.uaa.users.ListUsersResponse.builder()) + .build())); } private static void requestOrganization(CloudFoundryClient cloudFoundryClient) { - when(cloudFoundryClient.organizations() - .list(ListOrganizationsRequest.builder() - .name("test-organization-name") - .page(1) - .build())) - .thenReturn(Mono - .just(fill(ListOrganizationsResponse.builder()) - .resource(fill(OrganizationResource.builder(), "organization-") - .metadata(fill(Metadata.builder()) - .id("test-organization-id") - .build()) - .build()) - .build())); + when(cloudFoundryClient + .organizations() + .list( + ListOrganizationsRequest.builder() + .name("test-organization-name") + .page(1) + .build())) + .thenReturn( + Mono.just( + fill(ListOrganizationsResponse.builder()) + .resource( + fill( + OrganizationResource.builder(), + "organization-") + .metadata( + fill(Metadata.builder()) + .id("test-organization-id") + .build()) + .build()) + .build())); } private static void requestOrganizationEmpty(CloudFoundryClient cloudFoundryClient) { - when(cloudFoundryClient.organizations() - .list(ListOrganizationsRequest.builder() - .name("unknown-organization-name") - .page(1) - .build())) - .thenReturn(Mono - .just(fill(ListOrganizationsResponse.builder()) - .build())); - } - - private static void requestRemoveOrganizationManagerByUsername(CloudFoundryClient cloudFoundryClient, String organizationId, String username) { - when(cloudFoundryClient.organizations() - .removeManagerByUsername(RemoveOrganizationManagerByUsernameRequest.builder() - .organizationId(organizationId) - .username(username) - .build())) - .thenReturn(Mono.empty()); - } - - private static void requestRemoveSpaceManagerByUsername(CloudFoundryClient cloudFoundryClient, String spaceId, String username) { - when(cloudFoundryClient.spaces() - .removeManagerByUsername(RemoveSpaceManagerByUsernameRequest.builder() - .spaceId(spaceId) - .username(username) - .build())) - .thenReturn(Mono - .just(fill(RemoveSpaceManagerByUsernameResponse.builder(), "associate-manager-") - .build())); + when(cloudFoundryClient + .organizations() + .list( + ListOrganizationsRequest.builder() + .name("unknown-organization-name") + .page(1) + .build())) + .thenReturn(Mono.just(fill(ListOrganizationsResponse.builder()).build())); + } + + private static void requestRemoveOrganizationManagerByUsername( + CloudFoundryClient cloudFoundryClient, String organizationId, String username) { + when(cloudFoundryClient + .organizations() + .removeManagerByUsername( + RemoveOrganizationManagerByUsernameRequest.builder() + .organizationId(organizationId) + .username(username) + .build())) + .thenReturn(Mono.empty()); + } + + private static void requestRemoveSpaceManagerByUsername( + CloudFoundryClient cloudFoundryClient, String spaceId, String username) { + when(cloudFoundryClient + .spaces() + .removeManagerByUsername( + RemoveSpaceManagerByUsernameRequest.builder() + .spaceId(spaceId) + .username(username) + .build())) + .thenReturn( + Mono.just( + fill( + RemoveSpaceManagerByUsernameResponse.builder(), + "associate-manager-") + .build())); } private static void requestSpace(CloudFoundryClient cloudFoundryClient) { - when(cloudFoundryClient.organizations() - .listSpaces(ListOrganizationSpacesRequest.builder() - .name("test-space-name") - .organizationId("test-organization-id") - .page(1) - .build())) - .thenReturn(Mono - .just(fill(ListOrganizationSpacesResponse.builder()) - .resource(fill(SpaceResource.builder(), "space-") - .build()) - .build())); + when(cloudFoundryClient + .organizations() + .listSpaces( + ListOrganizationSpacesRequest.builder() + .name("test-space-name") + .organizationId("test-organization-id") + .page(1) + .build())) + .thenReturn( + Mono.just( + fill(ListOrganizationSpacesResponse.builder()) + .resource(fill(SpaceResource.builder(), "space-").build()) + .build())); } private static void requestSpaceEmpty(CloudFoundryClient cloudFoundryClient) { - when(cloudFoundryClient.organizations() - .listSpaces(ListOrganizationSpacesRequest.builder() - .name("unknown-space-name") - .organizationId("test-organization-id") - .page(1) - .build())) - .thenReturn(Mono - .just(fill(ListOrganizationSpacesResponse.builder()) - .build())); + when(cloudFoundryClient + .organizations() + .listSpaces( + ListOrganizationSpacesRequest.builder() + .name("unknown-space-name") + .organizationId("test-organization-id") + .page(1) + .build())) + .thenReturn(Mono.just(fill(ListOrganizationSpacesResponse.builder()).build())); } - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/useradmin/DeleteUserRequestTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/useradmin/DeleteUserRequestTest.java index f46a23f672..096027e611 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/useradmin/DeleteUserRequestTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/useradmin/DeleteUserRequestTest.java @@ -22,15 +22,11 @@ public final class DeleteUserRequestTest { @Test(expected = IllegalStateException.class) public void noUsername() { - DeleteUserRequest.builder() - .build(); + DeleteUserRequest.builder().build(); } @Test public void valid() { - DeleteUserRequest.builder() - .username("test-username") - .build(); + DeleteUserRequest.builder().username("test-username").build(); } - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/useradmin/ListOrganizationUsersRequestTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/useradmin/ListOrganizationUsersRequestTest.java index f657b9c761..9afdb649ff 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/useradmin/ListOrganizationUsersRequestTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/useradmin/ListOrganizationUsersRequestTest.java @@ -22,15 +22,11 @@ public final class ListOrganizationUsersRequestTest { @Test(expected = IllegalStateException.class) public void noOrganizationName() { - ListOrganizationUsersRequest.builder() - .build(); + ListOrganizationUsersRequest.builder().build(); } @Test public void valid() { - ListOrganizationUsersRequest.builder() - .organizationName("test-organization") - .build(); + ListOrganizationUsersRequest.builder().organizationName("test-organization").build(); } - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/useradmin/ListSpaceUsersRequestTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/useradmin/ListSpaceUsersRequestTest.java index 95591a34de..2e94140a06 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/useradmin/ListSpaceUsersRequestTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/useradmin/ListSpaceUsersRequestTest.java @@ -22,24 +22,19 @@ public final class ListSpaceUsersRequestTest { @Test(expected = IllegalStateException.class) public void noOrganizationName() { - ListSpaceUsersRequest.builder() - .spaceName("test-space") - .build(); + ListSpaceUsersRequest.builder().spaceName("test-space").build(); } @Test(expected = IllegalStateException.class) public void noSpaceName() { - ListSpaceUsersRequest.builder() - .organizationName("test-organization") - .build(); + ListSpaceUsersRequest.builder().organizationName("test-organization").build(); } @Test public void valid() { ListSpaceUsersRequest.builder() - .organizationName("test-organization") - .spaceName("test-space") - .build(); + .organizationName("test-organization") + .spaceName("test-space") + .build(); } - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/useradmin/SetOrganizationRoleRequestTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/useradmin/SetOrganizationRoleRequestTest.java index a8b5b22b4f..d525405a85 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/useradmin/SetOrganizationRoleRequestTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/useradmin/SetOrganizationRoleRequestTest.java @@ -23,34 +23,33 @@ public final class SetOrganizationRoleRequestTest { @Test(expected = IllegalStateException.class) public void noOrganizationName() { SetOrganizationRoleRequest.builder() - .organizationRole(OrganizationRole.AUDITOR) - .username("test-username") - .build(); + .organizationRole(OrganizationRole.AUDITOR) + .username("test-username") + .build(); } @Test(expected = IllegalStateException.class) public void noOrganizationRole() { SetOrganizationRoleRequest.builder() - .organizationName("test-organization") - .username("test-username") - .build(); + .organizationName("test-organization") + .username("test-username") + .build(); } @Test(expected = IllegalStateException.class) public void noUsername() { SetOrganizationRoleRequest.builder() - .organizationName("test-organization") - .organizationRole(OrganizationRole.BILLING_MANAGER) - .build(); + .organizationName("test-organization") + .organizationRole(OrganizationRole.BILLING_MANAGER) + .build(); } @Test public void valid() { SetOrganizationRoleRequest.builder() - .organizationName("test-organization") - .organizationRole(OrganizationRole.MANAGER) - .username("test-username") - .build(); + .organizationName("test-organization") + .organizationRole(OrganizationRole.MANAGER) + .username("test-username") + .build(); } - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/useradmin/SetSpaceRoleRequestTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/useradmin/SetSpaceRoleRequestTest.java index 1ea3fbb039..670abf1c5a 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/useradmin/SetSpaceRoleRequestTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/useradmin/SetSpaceRoleRequestTest.java @@ -23,48 +23,46 @@ public final class SetSpaceRoleRequestTest { @Test(expected = IllegalStateException.class) public void noOrganizationName() { SetSpaceRoleRequest.builder() - .spaceName("test-space") - .spaceRole(SpaceRole.AUDITOR) - .username("test-username") - .build(); + .spaceName("test-space") + .spaceRole(SpaceRole.AUDITOR) + .username("test-username") + .build(); } @Test(expected = IllegalStateException.class) public void noSpaceName() { SetSpaceRoleRequest.builder() - .organizationName("test-organization") - .spaceRole(SpaceRole.MANAGER) - .username("test-username") - .build(); + .organizationName("test-organization") + .spaceRole(SpaceRole.MANAGER) + .username("test-username") + .build(); } - @Test(expected = IllegalStateException.class) public void noSpaceRole() { SetSpaceRoleRequest.builder() - .organizationName("test-organization") - .spaceName("test-space") - .username("test-username") - .build(); + .organizationName("test-organization") + .spaceName("test-space") + .username("test-username") + .build(); } @Test(expected = IllegalStateException.class) public void noUsername() { SetSpaceRoleRequest.builder() - .organizationName("test-organization") - .spaceName("test-space") - .spaceRole(SpaceRole.DEVELOPER) - .build(); + .organizationName("test-organization") + .spaceName("test-space") + .spaceRole(SpaceRole.DEVELOPER) + .build(); } @Test public void valid() { SetSpaceRoleRequest.builder() - .organizationName("test-organization") - .spaceName("test-space") - .spaceRole(SpaceRole.AUDITOR) - .username("test-username") - .build(); + .organizationName("test-organization") + .spaceName("test-space") + .spaceRole(SpaceRole.AUDITOR) + .username("test-username") + .build(); } - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/useradmin/UnsetOrganizationRoleRequestTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/useradmin/UnsetOrganizationRoleRequestTest.java index a799f96aff..ce043bf2a0 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/useradmin/UnsetOrganizationRoleRequestTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/useradmin/UnsetOrganizationRoleRequestTest.java @@ -23,34 +23,33 @@ public final class UnsetOrganizationRoleRequestTest { @Test(expected = IllegalStateException.class) public void noOrganizationName() { UnsetOrganizationRoleRequest.builder() - .organizationRole(OrganizationRole.AUDITOR) - .username("test-username") - .build(); + .organizationRole(OrganizationRole.AUDITOR) + .username("test-username") + .build(); } @Test(expected = IllegalStateException.class) public void noOrganizationRole() { UnsetOrganizationRoleRequest.builder() - .organizationName("test-organization") - .username("test-username") - .build(); + .organizationName("test-organization") + .username("test-username") + .build(); } @Test(expected = IllegalStateException.class) public void noUsername() { UnsetOrganizationRoleRequest.builder() - .organizationName("test-organization") - .organizationRole(OrganizationRole.BILLING_MANAGER) - .build(); + .organizationName("test-organization") + .organizationRole(OrganizationRole.BILLING_MANAGER) + .build(); } @Test public void valid() { UnsetOrganizationRoleRequest.builder() - .organizationName("test-organization") - .organizationRole(OrganizationRole.MANAGER) - .username("test-username") - .build(); + .organizationName("test-organization") + .organizationRole(OrganizationRole.MANAGER) + .username("test-username") + .build(); } - } diff --git a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/useradmin/UnsetSpaceRoleRequestTest.java b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/useradmin/UnsetSpaceRoleRequestTest.java index 67df9ecb5e..e6083f87ca 100644 --- a/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/useradmin/UnsetSpaceRoleRequestTest.java +++ b/cloudfoundry-operations/src/test/java/org/cloudfoundry/operations/useradmin/UnsetSpaceRoleRequestTest.java @@ -23,48 +23,46 @@ public final class UnsetSpaceRoleRequestTest { @Test(expected = IllegalStateException.class) public void noOrganizationName() { UnsetSpaceRoleRequest.builder() - .spaceName("test-space") - .spaceRole(SpaceRole.AUDITOR) - .username("test-username") - .build(); + .spaceName("test-space") + .spaceRole(SpaceRole.AUDITOR) + .username("test-username") + .build(); } @Test(expected = IllegalStateException.class) public void noSpaceName() { UnsetSpaceRoleRequest.builder() - .organizationName("test-organization") - .spaceRole(SpaceRole.MANAGER) - .username("test-username") - .build(); + .organizationName("test-organization") + .spaceRole(SpaceRole.MANAGER) + .username("test-username") + .build(); } - @Test(expected = IllegalStateException.class) public void noSpaceRole() { UnsetSpaceRoleRequest.builder() - .organizationName("test-organization") - .spaceName("test-space") - .username("test-username") - .build(); + .organizationName("test-organization") + .spaceName("test-space") + .username("test-username") + .build(); } @Test(expected = IllegalStateException.class) public void noUsername() { UnsetSpaceRoleRequest.builder() - .organizationName("test-organization") - .spaceName("test-space") - .spaceRole(SpaceRole.DEVELOPER) - .build(); + .organizationName("test-organization") + .spaceName("test-space") + .spaceRole(SpaceRole.DEVELOPER) + .build(); } @Test public void valid() { UnsetSpaceRoleRequest.builder() - .organizationName("test-organization") - .spaceName("test-space") - .spaceRole(SpaceRole.AUDITOR) - .username("test-username") - .build(); + .organizationName("test-organization") + .spaceName("test-space") + .spaceRole(SpaceRole.AUDITOR) + .username("test-username") + .build(); } - } diff --git a/cloudfoundry-util/src/main/java/org/cloudfoundry/util/ByteArrayPool.java b/cloudfoundry-util/src/main/java/org/cloudfoundry/util/ByteArrayPool.java index 28fc452baa..70283d3baf 100644 --- a/cloudfoundry-util/src/main/java/org/cloudfoundry/util/ByteArrayPool.java +++ b/cloudfoundry-util/src/main/java/org/cloudfoundry/util/ByteArrayPool.java @@ -39,11 +39,13 @@ public final class ByteArrayPool { private static final AtomicLong EVICTOR_COUNTER = new AtomicLong(); - private static final ThreadFactory EVICTOR_FACTORY = r -> { - Thread t = new Thread(r, "byte-buffer-evictor-" + EVICTOR_COUNTER.incrementAndGet()); - t.setDaemon(true); - return t; - }; + private static final ThreadFactory EVICTOR_FACTORY = + r -> { + Thread t = + new Thread(r, "byte-buffer-evictor-" + EVICTOR_COUNTER.incrementAndGet()); + t.setDaemon(true); + return t; + }; private static final int MIBIBYTE = 1_024 * 1_024; @@ -60,7 +62,8 @@ private ByteArrayPool(int capacity, Duration ttl) { this.ttl = ttl; Executors.newScheduledThreadPool(1, EVICTOR_FACTORY) - .scheduleAtFixedRate(this::evict, ttl.toMillis(), ttl.toMillis(), TimeUnit.MILLISECONDS); + .scheduleAtFixedRate( + this::evict, ttl.toMillis(), ttl.toMillis(), TimeUnit.MILLISECONDS); } /** @@ -73,9 +76,10 @@ public static void withByteArray(Consumer consumer) { } private void doWithByteArray(Consumer consumer) { - byte[] byteArray = Optional.ofNullable(this.cache.poll()) - .map(ByteArrayExpiry::getByteArray) - .orElseGet(() -> new byte[this.capacity]); + byte[] byteArray = + Optional.ofNullable(this.cache.poll()) + .map(ByteArrayExpiry::getByteArray) + .orElseGet(() -> new byte[this.capacity]); try { consumer.accept(byteArray); @@ -87,9 +91,10 @@ private void doWithByteArray(Consumer consumer) { private void evict() { Instant now = Instant.now(); - new ArrayList<>(this.cache).stream() - .filter(expiry -> expiry.getExpiration().isBefore(now)) - .forEach(this.cache::remove); + new ArrayList<>(this.cache) + .stream() + .filter(expiry -> expiry.getExpiration().isBefore(now)) + .forEach(this.cache::remove); } private static class ByteArrayExpiry { @@ -110,8 +115,5 @@ private byte[] getByteArray() { private Instant getExpiration() { return this.expiration; } - } - - } diff --git a/cloudfoundry-util/src/main/java/org/cloudfoundry/util/DateUtils.java b/cloudfoundry-util/src/main/java/org/cloudfoundry/util/DateUtils.java index 491ca5f511..81c34e3876 100644 --- a/cloudfoundry-util/src/main/java/org/cloudfoundry/util/DateUtils.java +++ b/cloudfoundry-util/src/main/java/org/cloudfoundry/util/DateUtils.java @@ -16,23 +16,23 @@ package org.cloudfoundry.util; +import static java.util.concurrent.TimeUnit.SECONDS; + import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; -import static java.util.concurrent.TimeUnit.SECONDS; - /** * Utilities for dealing with {@link Date}s */ public final class DateUtils { - private static final SimpleDateFormat ISO8601 = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssXXX"); + private static final SimpleDateFormat ISO8601 = + new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssXXX"); private static final Object MONITOR = new Object(); - private DateUtils() { - } + private DateUtils() {} /** * Formats a {@link Date} into a String in {@code ISO8601} format @@ -73,5 +73,4 @@ public static Date parseSecondsFromEpoch(Double d) { return new Date(SECONDS.toMillis(d.longValue())); } } - } diff --git a/cloudfoundry-util/src/main/java/org/cloudfoundry/util/DelayTimeoutException.java b/cloudfoundry-util/src/main/java/org/cloudfoundry/util/DelayTimeoutException.java index 90b25ea39b..cd2020692d 100644 --- a/cloudfoundry-util/src/main/java/org/cloudfoundry/util/DelayTimeoutException.java +++ b/cloudfoundry-util/src/main/java/org/cloudfoundry/util/DelayTimeoutException.java @@ -22,5 +22,4 @@ public final class DelayTimeoutException extends RuntimeException { private static final long serialVersionUID = 5151226191223608759L; - } diff --git a/cloudfoundry-util/src/main/java/org/cloudfoundry/util/DelayUtils.java b/cloudfoundry-util/src/main/java/org/cloudfoundry/util/DelayUtils.java index 02be2c8f03..9738fe2419 100644 --- a/cloudfoundry-util/src/main/java/org/cloudfoundry/util/DelayUtils.java +++ b/cloudfoundry-util/src/main/java/org/cloudfoundry/util/DelayUtils.java @@ -16,6 +16,10 @@ package org.cloudfoundry.util; +import java.time.Duration; +import java.time.Instant; +import java.util.function.Consumer; +import java.util.function.Function; import org.atteo.evo.inflector.English; import org.reactivestreams.Publisher; import org.reactivestreams.Subscription; @@ -24,11 +28,6 @@ import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; -import java.time.Duration; -import java.time.Instant; -import java.util.function.Consumer; -import java.util.function.Function; - /** * Utilities for delaying progress */ @@ -36,8 +35,7 @@ public final class DelayUtils { private static final Logger LOGGER = LoggerFactory.getLogger("cloudfoundry-client.delay"); - private DelayUtils() { - } + private DelayUtils() {} /** * Implements an exponential backoff delay for use with {@link Mono#repeatWhenEmpty(Function)} @@ -47,7 +45,8 @@ private DelayUtils() { * @param timeout the maximum amount of time to delay for * @return a delayed {@link Publisher} */ - public static Function, Publisher> exponentialBackOff(Duration minimum, Duration maximum, Duration timeout) { + public static Function, Publisher> exponentialBackOff( + Duration minimum, Duration maximum, Duration timeout) { Instant finish = Instant.now().plus(timeout); return iterations -> getDelay(minimum, maximum, finish, iterations); } @@ -59,10 +58,9 @@ public static Function, Publisher> exponentialBackOff(Duration min * @return a delayed {@link Publisher} */ public static Function, Publisher> fixed(Duration duration) { - return iterations -> iterations - .flatMap(iteration -> Mono - .delay(duration) - .doOnSubscribe(logDelay(duration)), 1); + return iterations -> + iterations.flatMap( + iteration -> Mono.delay(duration).doOnSubscribe(logDelay(duration)), 1); } /** @@ -71,10 +69,9 @@ public static Function, Publisher> fixed(Duration duration) { * @return an instant (no delay) {@link Publisher} */ public static Function, Publisher> instant() { - return iterations -> iterations - .flatMap(iteration -> Mono - .just(0L) - .doOnSubscribe(logDelay(Duration.ZERO)), 1); + return iterations -> + iterations.flatMap( + iteration -> Mono.just(0L).doOnSubscribe(logDelay(Duration.ZERO)), 1); } private static Duration calculateDuration(Duration minimum, Duration maximum, Long iteration) { @@ -82,18 +79,18 @@ private static Duration calculateDuration(Duration minimum, Duration maximum, Lo return min(candidate, maximum); } - private static Flux getDelay(Duration minimum, Duration maximum, Instant finish, Flux iterations) { + private static Flux getDelay( + Duration minimum, Duration maximum, Instant finish, Flux iterations) { return iterations - .map(iteration -> calculateDuration(minimum, maximum, iteration)) - .concatMap(delay -> { - if (Instant.now().isAfter(finish)) { - return Mono.error(new DelayTimeoutException()); - } - - return Mono - .delay(delay) - .doOnSubscribe(logDelay(delay)); - }); + .map(iteration -> calculateDuration(minimum, maximum, iteration)) + .concatMap( + delay -> { + if (Instant.now().isAfter(finish)) { + return Mono.error(new DelayTimeoutException()); + } + + return Mono.delay(delay).doOnSubscribe(logDelay(delay)); + }); } private static Consumer logDelay(Duration delay) { @@ -105,12 +102,12 @@ private static Consumer logDelay(Duration delay) { } int milliseconds = (int) delay.toMillis(); - LOGGER.debug("Delaying {} {}", milliseconds, English.plural("millisecond", milliseconds)); + LOGGER.debug( + "Delaying {} {}", milliseconds, English.plural("millisecond", milliseconds)); }; } private static Duration min(Duration a, Duration b) { return (a.compareTo(b) <= 0) ? a : b; } - } diff --git a/cloudfoundry-util/src/main/java/org/cloudfoundry/util/ExceptionUtils.java b/cloudfoundry-util/src/main/java/org/cloudfoundry/util/ExceptionUtils.java index 4724fd6841..0d128ea5c6 100644 --- a/cloudfoundry-util/src/main/java/org/cloudfoundry/util/ExceptionUtils.java +++ b/cloudfoundry-util/src/main/java/org/cloudfoundry/util/ExceptionUtils.java @@ -16,19 +16,17 @@ package org.cloudfoundry.util; -import org.cloudfoundry.client.v2.ClientV2Exception; -import reactor.core.publisher.Mono; - import java.util.Arrays; import java.util.function.Predicate; +import org.cloudfoundry.client.v2.ClientV2Exception; +import reactor.core.publisher.Mono; /** * Utilities for dealing with {@link Exception}s */ public final class ExceptionUtils { - private ExceptionUtils() { - } + private ExceptionUtils() {} /** * Returns a {@link Mono} containing an {@link IllegalArgumentException} with the configured message @@ -67,8 +65,13 @@ public static Mono illegalState(String format, Object... args) { * @return {@code true} if the exception is a {@link ClientV2Exception} and its code matches */ public static Predicate statusCode(int... codes) { - return t -> t instanceof ClientV2Exception && - Arrays.stream(codes).anyMatch(candidate -> ((ClientV2Exception) t).getCode().equals(candidate)); + return t -> + t instanceof ClientV2Exception + && Arrays.stream(codes) + .anyMatch( + candidate -> + ((ClientV2Exception) t) + .getCode() + .equals(candidate)); } - } diff --git a/cloudfoundry-util/src/main/java/org/cloudfoundry/util/FileUtils.java b/cloudfoundry-util/src/main/java/org/cloudfoundry/util/FileUtils.java index 1077524fa0..9d40833e7d 100644 --- a/cloudfoundry-util/src/main/java/org/cloudfoundry/util/FileUtils.java +++ b/cloudfoundry-util/src/main/java/org/cloudfoundry/util/FileUtils.java @@ -16,13 +16,6 @@ package org.cloudfoundry.util; -import org.apache.commons.compress.archivers.zip.ZipArchiveEntry; -import org.apache.commons.compress.archivers.zip.ZipArchiveOutputStream; -import org.apache.commons.compress.archivers.zip.ZipFile; -import reactor.core.Exceptions; -import reactor.core.publisher.Mono; -import reactor.core.scheduler.Schedulers; - import java.io.IOException; import java.io.InputStream; import java.math.BigInteger; @@ -36,6 +29,12 @@ import java.util.Map; import java.util.function.Predicate; import java.util.stream.Stream; +import org.apache.commons.compress.archivers.zip.ZipArchiveEntry; +import org.apache.commons.compress.archivers.zip.ZipArchiveOutputStream; +import org.apache.commons.compress.archivers.zip.ZipFile; +import reactor.core.Exceptions; +import reactor.core.publisher.Mono; +import reactor.core.scheduler.Schedulers; /** * Utilities for files @@ -44,20 +43,20 @@ public final class FileUtils { private static final Integer DEFAULT_PERMISSIONS = 0744; - private static final Map PERMISSION_MODES = FluentMap.builder() - .entry(PosixFilePermission.OWNER_READ, 0400) - .entry(PosixFilePermission.OWNER_WRITE, 0200) - .entry(PosixFilePermission.OWNER_EXECUTE, 0100) - .entry(PosixFilePermission.GROUP_READ, 0040) - .entry(PosixFilePermission.GROUP_WRITE, 0020) - .entry(PosixFilePermission.GROUP_EXECUTE, 0010) - .entry(PosixFilePermission.OTHERS_READ, 0004) - .entry(PosixFilePermission.OTHERS_WRITE, 0002) - .entry(PosixFilePermission.OTHERS_EXECUTE, 0001) - .build(); + private static final Map PERMISSION_MODES = + FluentMap.builder() + .entry(PosixFilePermission.OWNER_READ, 0400) + .entry(PosixFilePermission.OWNER_WRITE, 0200) + .entry(PosixFilePermission.OWNER_EXECUTE, 0100) + .entry(PosixFilePermission.GROUP_READ, 0040) + .entry(PosixFilePermission.GROUP_WRITE, 0020) + .entry(PosixFilePermission.GROUP_EXECUTE, 0010) + .entry(PosixFilePermission.OTHERS_READ, 0004) + .entry(PosixFilePermission.OTHERS_WRITE, 0002) + .entry(PosixFilePermission.OTHERS_EXECUTE, 0001) + .build(); - private FileUtils() { - } + private FileUtils() {} /** * Compresses a candidate {@link Path} if it is a directory. Otherwise returns the original {@link Path}. @@ -77,25 +76,30 @@ public static Mono compress(Path candidate) { * @return the {@link Path} for a compressed artifact */ public static Mono compress(Path candidate, Predicate filter) { - return Mono - .defer(() -> { - try { - Path staging = Files.createTempFile(String.format("compressed-%s-", candidate.getFileName()), ".zip"); + return Mono.defer( + () -> { + try { + Path staging = + Files.createTempFile( + String.format( + "compressed-%s-", candidate.getFileName()), + ".zip"); - try (ZipArchiveOutputStream out = new ZipArchiveOutputStream(staging.toFile())) { - if (Files.isDirectory(candidate)) { - compressFromDirectory(candidate, filter, out); - } else { - compressFromZip(candidate, filter, out); - } - } + try (ZipArchiveOutputStream out = + new ZipArchiveOutputStream(staging.toFile())) { + if (Files.isDirectory(candidate)) { + compressFromDirectory(candidate, filter, out); + } else { + compressFromZip(candidate, filter, out); + } + } - return Mono.just(staging); - } catch (IOException e) { - throw Exceptions.propagate(e); - } - }) - .subscribeOn(Schedulers.boundedElastic()); + return Mono.just(staging); + } catch (IOException e) { + throw Exceptions.propagate(e); + } + }) + .subscribeOn(Schedulers.boundedElastic()); } /** @@ -107,7 +111,9 @@ public static Mono compress(Path candidate, Predicate filter) { */ public static String getRelativePathName(Path root, Path path) { Path relative = root.relativize(path); - return Files.isDirectory(path) && !relative.toString().endsWith("/") ? String.format("%s/", relative.toString()) : relative.toString(); + return Files.isDirectory(path) && !relative.toString().endsWith("/") + ? String.format("%s/", relative.toString()) + : relative.toString(); } /** @@ -134,16 +140,17 @@ public static String hash(InputStream in) { try { MessageDigest digest = MessageDigest.getInstance("sha1"); - ByteArrayPool.withByteArray(buffer -> { - try { - int length; - while ((length = in.read(buffer)) != -1) { - digest.update(buffer, 0, length); - } - } catch (IOException e) { - throw Exceptions.propagate(e); - } - }); + ByteArrayPool.withByteArray( + buffer -> { + try { + int length; + while ((length = in.read(buffer)) != -1) { + digest.update(buffer, 0, length); + } + } catch (IOException e) { + throw Exceptions.propagate(e); + } + }); return String.format("%040x", new BigInteger(1, digest.digest())); } catch (NoSuchAlgorithmException e) { @@ -189,30 +196,41 @@ public static int size(Path path) { } } - private static void compressFromDirectory(Path candidate, Predicate filter, ZipArchiveOutputStream out) { + private static void compressFromDirectory( + Path candidate, Predicate filter, ZipArchiveOutputStream out) { try (Stream contents = Files.walk(candidate)) { - contents - .filter(path -> { - try { - return !Files.isSameFile(candidate, path); - } catch (IOException e) { - throw Exceptions.propagate(e); - } - }) - .filter(path -> filter.test(getRelativePathName(candidate, path))) - .forEach(path -> { - try (InputStream in = Files.isDirectory(path) ? null : Files.newInputStream(path)) { - write(in, Files.getLastModifiedTime(path), getUnixMode(path), out, getRelativePathName(candidate, path)); - } catch (IOException e) { - throw Exceptions.propagate(e); - } - }); + contents.filter( + path -> { + try { + return !Files.isSameFile(candidate, path); + } catch (IOException e) { + throw Exceptions.propagate(e); + } + }) + .filter(path -> filter.test(getRelativePathName(candidate, path))) + .forEach( + path -> { + try (InputStream in = + Files.isDirectory(path) + ? null + : Files.newInputStream(path)) { + write( + in, + Files.getLastModifiedTime(path), + getUnixMode(path), + out, + getRelativePathName(candidate, path)); + } catch (IOException e) { + throw Exceptions.propagate(e); + } + }); } catch (IOException e) { throw Exceptions.propagate(e); } } - private static void compressFromZip(Path candidate, Predicate filter, ZipArchiveOutputStream out) { + private static void compressFromZip( + Path candidate, Predicate filter, ZipArchiveOutputStream out) { try (ZipFile zipFile = new ZipFile(candidate.toFile())) { Enumeration entries = zipFile.getEntries(); @@ -222,7 +240,12 @@ private static void compressFromZip(Path candidate, Predicate filter, Zi if (filter.test(entry.getName())) { try (InputStream in = zipFile.getInputStream(entry)) { int mode = entry.getUnixMode(); - write(in, entry.getLastModifiedTime(), mode == 0 ? DEFAULT_PERMISSIONS : mode, out, entry.getName()); + write( + in, + entry.getLastModifiedTime(), + mode == 0 ? DEFAULT_PERMISSIONS : mode, + out, + entry.getName()); } } } @@ -236,16 +259,19 @@ private static int getUnixMode(Path path) throws IOException { return DEFAULT_PERMISSIONS; } - return Files.getPosixFilePermissions(path).stream() - .mapToInt(PERMISSION_MODES::get) - .sum(); + return Files.getPosixFilePermissions(path).stream().mapToInt(PERMISSION_MODES::get).sum(); } private static boolean isPosixFile(Path path) { return path.getFileSystem().supportedFileAttributeViews().contains("posix"); } - private static void write(InputStream in, FileTime lastModifiedTime, int mode, ZipArchiveOutputStream out, String path) { + private static void write( + InputStream in, + FileTime lastModifiedTime, + int mode, + ZipArchiveOutputStream out, + String path) { try { ZipArchiveEntry entry = new ZipArchiveEntry(path); entry.setUnixMode(mode); @@ -253,16 +279,17 @@ private static void write(InputStream in, FileTime lastModifiedTime, int mode, Z out.putArchiveEntry(entry); if (in != null) { - ByteArrayPool.withByteArray(buffer -> { - try { - int length; - while ((length = in.read(buffer)) != -1) { - out.write(buffer, 0, length); - } - } catch (IOException e) { - throw Exceptions.propagate(e); - } - }); + ByteArrayPool.withByteArray( + buffer -> { + try { + int length; + while ((length = in.read(buffer)) != -1) { + out.write(buffer, 0, length); + } + } catch (IOException e) { + throw Exceptions.propagate(e); + } + }); } out.closeArchiveEntry(); @@ -270,5 +297,4 @@ private static void write(InputStream in, FileTime lastModifiedTime, int mode, Z throw Exceptions.propagate(e); } } - } diff --git a/cloudfoundry-util/src/main/java/org/cloudfoundry/util/FluentMap.java b/cloudfoundry-util/src/main/java/org/cloudfoundry/util/FluentMap.java index e3b4a89082..61a02b376e 100644 --- a/cloudfoundry-util/src/main/java/org/cloudfoundry/util/FluentMap.java +++ b/cloudfoundry-util/src/main/java/org/cloudfoundry/util/FluentMap.java @@ -45,7 +45,5 @@ public Builder entry(K key, V value) { this.entries.put(key, value); return this; } - } - } diff --git a/cloudfoundry-util/src/main/java/org/cloudfoundry/util/JobUtils.java b/cloudfoundry-util/src/main/java/org/cloudfoundry/util/JobUtils.java index 22670e1068..be7d0837b1 100644 --- a/cloudfoundry-util/src/main/java/org/cloudfoundry/util/JobUtils.java +++ b/cloudfoundry-util/src/main/java/org/cloudfoundry/util/JobUtils.java @@ -16,6 +16,12 @@ package org.cloudfoundry.util; +import static org.cloudfoundry.util.DelayUtils.exponentialBackOff; + +import java.time.Duration; +import java.util.EnumSet; +import java.util.List; +import java.util.Set; import org.cloudfoundry.client.CloudFoundryClient; import org.cloudfoundry.client.v2.ClientV2Exception; import org.cloudfoundry.client.v2.Resource; @@ -29,24 +35,17 @@ import org.cloudfoundry.client.v3.jobs.JobState; import reactor.core.publisher.Mono; -import java.time.Duration; -import java.util.EnumSet; -import java.util.List; -import java.util.Set; - -import static org.cloudfoundry.util.DelayUtils.exponentialBackOff; - /** * Utilities for Jobs */ public final class JobUtils { - private static final Set FINAL_STATES = EnumSet.of(JobState.COMPLETE, JobState.FAILED); + private static final Set FINAL_STATES = + EnumSet.of(JobState.COMPLETE, JobState.FAILED); private static final Integer STATUS_OK = 200; - private JobUtils() { - } + private JobUtils() {} /** * Waits for a job to complete @@ -57,8 +56,10 @@ private JobUtils() { * @param the Job resource type * @return {@code onComplete} once job has completed */ - public static > Mono waitForCompletion(CloudFoundryClient cloudFoundryClient, Duration completionTimeout, R resource) { - return waitForCompletion(cloudFoundryClient, completionTimeout, ResourceUtils.getEntity(resource)); + public static > Mono waitForCompletion( + CloudFoundryClient cloudFoundryClient, Duration completionTimeout, R resource) { + return waitForCompletion( + cloudFoundryClient, completionTimeout, ResourceUtils.getEntity(resource)); } /** @@ -69,21 +70,28 @@ public static > Mono waitForCompletion(Cloud * @param jobEntity the entity representing the job * @return {@code onComplete} once job has completed */ - public static Mono waitForCompletion(CloudFoundryClient cloudFoundryClient, Duration completionTimeout, JobEntity jobEntity) { + public static Mono waitForCompletion( + CloudFoundryClient cloudFoundryClient, + Duration completionTimeout, + JobEntity jobEntity) { Mono job; if (JobUtils.isComplete(jobEntity)) { job = Mono.just(jobEntity); } else { - job = requestJobV2(cloudFoundryClient, jobEntity.getId()) - .map(GetJobResponse::getEntity) - .filter(JobUtils::isComplete) - .repeatWhenEmpty(exponentialBackOff(Duration.ofSeconds(1), Duration.ofSeconds(15), completionTimeout)); + job = + requestJobV2(cloudFoundryClient, jobEntity.getId()) + .map(GetJobResponse::getEntity) + .filter(JobUtils::isComplete) + .repeatWhenEmpty( + exponentialBackOff( + Duration.ofSeconds(1), + Duration.ofSeconds(15), + completionTimeout)); } - return job - .filter(entity -> "failed".equals(entity.getStatus())) - .flatMap(JobUtils::getError); + return job.filter(entity -> "failed".equals(entity.getStatus())) + .flatMap(JobUtils::getError); } /** @@ -94,17 +102,25 @@ public static Mono waitForCompletion(CloudFoundryClient cloudFoundryClient * @param jobId the id of the job * @return {@code onComplete} once job has completed */ - public static Mono waitForCompletion(CloudFoundryClient cloudFoundryClient, Duration completionTimeout, String jobId) { + public static Mono waitForCompletion( + CloudFoundryClient cloudFoundryClient, Duration completionTimeout, String jobId) { return requestJobV3(cloudFoundryClient, jobId) - .filter(job -> FINAL_STATES.contains(job.getState())) - .repeatWhenEmpty(exponentialBackOff(Duration.ofSeconds(1), Duration.ofSeconds(15), completionTimeout)) - .filter(job -> JobState.FAILED == job.getState()) - .flatMap(JobUtils::getError); + .filter(job -> FINAL_STATES.contains(job.getState())) + .repeatWhenEmpty( + exponentialBackOff( + Duration.ofSeconds(1), Duration.ofSeconds(15), completionTimeout)) + .filter(job -> JobState.FAILED == job.getState()) + .flatMap(JobUtils::getError); } private static Mono getError(JobEntity entity) { ErrorDetails errorDetails = entity.getErrorDetails(); - return Mono.error(new ClientV2Exception(null, errorDetails.getCode(), errorDetails.getDescription(), errorDetails.getErrorCode())); + return Mono.error( + new ClientV2Exception( + null, + errorDetails.getCode(), + errorDetails.getDescription(), + errorDetails.getErrorCode())); } private static Mono getError(Job job) { @@ -117,18 +133,15 @@ private static boolean isComplete(JobEntity entity) { return "finished".equals(status) || "failed".equals(status); } - private static Mono requestJobV2(CloudFoundryClient cloudFoundryClient, String jobId) { - return cloudFoundryClient.jobs() - .get(GetJobRequest.builder() - .jobId(jobId) - .build()); + private static Mono requestJobV2( + CloudFoundryClient cloudFoundryClient, String jobId) { + return cloudFoundryClient.jobs().get(GetJobRequest.builder().jobId(jobId).build()); } - private static Mono requestJobV3(CloudFoundryClient cloudFoundryClient, String jobId) { - return cloudFoundryClient.jobsV3() - .get(org.cloudfoundry.client.v3.jobs.GetJobRequest.builder() - .jobId(jobId) - .build()); + private static Mono requestJobV3( + CloudFoundryClient cloudFoundryClient, String jobId) { + return cloudFoundryClient + .jobsV3() + .get(org.cloudfoundry.client.v3.jobs.GetJobRequest.builder().jobId(jobId).build()); } - } diff --git a/cloudfoundry-util/src/main/java/org/cloudfoundry/util/LastOperationUtils.java b/cloudfoundry-util/src/main/java/org/cloudfoundry/util/LastOperationUtils.java index fb23362ed8..8440c06b3e 100644 --- a/cloudfoundry-util/src/main/java/org/cloudfoundry/util/LastOperationUtils.java +++ b/cloudfoundry-util/src/main/java/org/cloudfoundry/util/LastOperationUtils.java @@ -16,13 +16,12 @@ package org.cloudfoundry.util; +import java.time.Duration; +import java.util.function.Supplier; import org.cloudfoundry.client.v2.ClientV2Exception; import org.cloudfoundry.client.v2.serviceinstances.LastOperation; import reactor.core.publisher.Mono; -import java.time.Duration; -import java.util.function.Supplier; - /** * Utilities for {@link LastOperation}s */ @@ -30,16 +29,22 @@ public final class LastOperationUtils { private static final String IN_PROGRESS = "in progress"; - private LastOperationUtils() { - } - - public static Mono waitForCompletion(Duration completionTimeout, Supplier> lastOperationSupplier) { - return lastOperationSupplier.get() - .map(LastOperation::getState) - .filter(state -> !IN_PROGRESS.equals(state)) - .repeatWhenEmpty(DelayUtils.exponentialBackOff(Duration.ofSeconds(1), Duration.ofSeconds(15), completionTimeout)) - .onErrorResume(t -> t instanceof ClientV2Exception && ((ClientV2Exception) t).getStatusCode() == 404, t -> Mono.empty()) - .then(); + private LastOperationUtils() {} + + public static Mono waitForCompletion( + Duration completionTimeout, Supplier> lastOperationSupplier) { + return lastOperationSupplier + .get() + .map(LastOperation::getState) + .filter(state -> !IN_PROGRESS.equals(state)) + .repeatWhenEmpty( + DelayUtils.exponentialBackOff( + Duration.ofSeconds(1), Duration.ofSeconds(15), completionTimeout)) + .onErrorResume( + t -> + t instanceof ClientV2Exception + && ((ClientV2Exception) t).getStatusCode() == 404, + t -> Mono.empty()) + .then(); } - } diff --git a/cloudfoundry-util/src/main/java/org/cloudfoundry/util/OperationUtils.java b/cloudfoundry-util/src/main/java/org/cloudfoundry/util/OperationUtils.java index 841ec33a57..5afa439eab 100644 --- a/cloudfoundry-util/src/main/java/org/cloudfoundry/util/OperationUtils.java +++ b/cloudfoundry-util/src/main/java/org/cloudfoundry/util/OperationUtils.java @@ -16,20 +16,18 @@ package org.cloudfoundry.util; +import java.io.ByteArrayOutputStream; +import java.io.IOException; import reactor.core.Exceptions; import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; -import java.io.ByteArrayOutputStream; -import java.io.IOException; - /** * Utilities with operations that do not (yet) exist */ public final class OperationUtils { - private OperationUtils() { - } + private OperationUtils() {} /** * Operation to collect a {@code Flux} into a contiguous single byte array, delivered as a single element of a {@code Mono}. @@ -38,16 +36,16 @@ private OperationUtils() { * @return a Mono of a byte array */ public static Mono collectByteArray(Flux bytes) { - return bytes - .reduceWith(ByteArrayOutputStream::new, (prev, next) -> { - try { - prev.write(next); - } catch (IOException e) { - throw Exceptions.propagate(e); - } - return prev; - }) - .map(ByteArrayOutputStream::toByteArray); + return bytes.reduceWith( + ByteArrayOutputStream::new, + (prev, next) -> { + try { + prev.write(next); + } catch (IOException e) { + throw Exceptions.propagate(e); + } + return prev; + }) + .map(ByteArrayOutputStream::toByteArray); } - } diff --git a/cloudfoundry-util/src/main/java/org/cloudfoundry/util/PaginationUtils.java b/cloudfoundry-util/src/main/java/org/cloudfoundry/util/PaginationUtils.java index 290eba1918..75ef75f415 100644 --- a/cloudfoundry-util/src/main/java/org/cloudfoundry/util/PaginationUtils.java +++ b/cloudfoundry-util/src/main/java/org/cloudfoundry/util/PaginationUtils.java @@ -16,19 +16,17 @@ package org.cloudfoundry.util; -import reactor.core.publisher.Flux; -import reactor.core.publisher.Mono; - import java.util.Optional; import java.util.function.Function; +import reactor.core.publisher.Flux; +import reactor.core.publisher.Mono; /** * A utility class to provide functions for handling PaginatedResponse and those containing lists of Resources. */ public final class PaginationUtils { - private PaginationUtils() { - } + private PaginationUtils() {} /** * Generate the stream of resources accumulated from a series of responses obtained from the page supplier. @@ -38,13 +36,15 @@ private PaginationUtils() { * @param the type of {@link org.cloudfoundry.client.v2.PaginatedResponse}. * @return a stream of T objects. */ - public static , U extends org.cloudfoundry.client.v2.PaginatedResponse> Flux requestClientV2Resources( - Function> pageSupplier) { + public static < + T extends org.cloudfoundry.client.v2.Resource, + U extends org.cloudfoundry.client.v2.PaginatedResponse> + Flux requestClientV2Resources(Function> pageSupplier) { return pageSupplier - .apply(1) - .flatMapMany(requestClientV2AdditionalPages(pageSupplier)) - .flatMap(ResourceUtils::getResources); + .apply(1) + .flatMapMany(requestClientV2AdditionalPages(pageSupplier)) + .flatMap(ResourceUtils::getResources); } /** @@ -56,11 +56,12 @@ public static , U extends org.c * @return a stream of T objects. */ @SuppressWarnings("rawtypes") - public static > Flux requestClientV3Resources(Function> pageSupplier) { + public static > + Flux requestClientV3Resources(Function> pageSupplier) { return pageSupplier - .apply(1) - .flatMapMany(requestClientV3AdditionalPages(pageSupplier)) - .flatMapIterable(org.cloudfoundry.client.v3.PaginatedResponse::getResources); + .apply(1) + .flatMapMany(requestClientV3AdditionalPages(pageSupplier)) + .flatMapIterable(org.cloudfoundry.client.v3.PaginatedResponse::getResources); } /** @@ -72,46 +73,52 @@ public static > Flu * @return a stream of T objects. */ @SuppressWarnings("rawtypes") - public static > Flux requestUaaResources(Function> pageSupplier) { + public static > + Flux requestUaaResources(Function> pageSupplier) { return pageSupplier - .apply(1) - .flatMapMany(requestUaaAdditionalPages(pageSupplier)) - .flatMapIterable(org.cloudfoundry.uaa.PaginatedResponse::getResources); + .apply(1) + .flatMapMany(requestUaaAdditionalPages(pageSupplier)) + .flatMapIterable(org.cloudfoundry.uaa.PaginatedResponse::getResources); } - private static Function> requestAdditionalPages(Function> pageSupplier, Function totalPagesSupplier) { + private static Function> requestAdditionalPages( + Function> pageSupplier, Function totalPagesSupplier) { return response -> { Integer totalPages = Optional.ofNullable(totalPagesSupplier.apply(response)).orElse(1); - return Flux - .range(2, totalPages - 1) - .flatMap(pageSupplier) - .startWith(response) - .buffer() - .flatMapIterable(d -> d); + return Flux.range(2, totalPages - 1) + .flatMap(pageSupplier) + .startWith(response) + .buffer() + .flatMapIterable(d -> d); }; } - private static > Function> requestClientV2AdditionalPages(Function> pageSupplier) { + private static > + Function> requestClientV2AdditionalPages( + Function> pageSupplier) { return requestAdditionalPages(pageSupplier, response -> response.getTotalPages()); } - private static > Function> requestClientV3AdditionalPages(Function> pageSupplier) { - return requestAdditionalPages(pageSupplier, response -> response.getPagination().getTotalPages()); + private static > + Function> requestClientV3AdditionalPages( + Function> pageSupplier) { + return requestAdditionalPages( + pageSupplier, response -> response.getPagination().getTotalPages()); } - private static > Function> requestUaaAdditionalPages(Function> pageSupplier) { + private static > + Function> requestUaaAdditionalPages( + Function> pageSupplier) { return response -> { Integer totalPages = (response.getTotalResults() - 1) / response.getItemsPerPage() + 1; - return Flux - .range(1, totalPages - 1) - .map(page -> 1 + (page * response.getItemsPerPage())) - .flatMap(pageSupplier) - .startWith(response) - .buffer() - .flatMapIterable(d -> d); + return Flux.range(1, totalPages - 1) + .map(page -> 1 + (page * response.getItemsPerPage())) + .flatMap(pageSupplier) + .startWith(response) + .buffer() + .flatMapIterable(d -> d); }; } - } diff --git a/cloudfoundry-util/src/main/java/org/cloudfoundry/util/ResourceMatchingUtils.java b/cloudfoundry-util/src/main/java/org/cloudfoundry/util/ResourceMatchingUtils.java index d1fcc9d804..d863256fd2 100644 --- a/cloudfoundry-util/src/main/java/org/cloudfoundry/util/ResourceMatchingUtils.java +++ b/cloudfoundry-util/src/main/java/org/cloudfoundry/util/ResourceMatchingUtils.java @@ -16,6 +16,14 @@ package org.cloudfoundry.util; +import java.io.IOException; +import java.io.InputStream; +import java.nio.file.Files; +import java.nio.file.Path; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Enumeration; +import java.util.List; import org.apache.commons.compress.archivers.zip.ZipArchiveEntry; import org.apache.commons.compress.archivers.zip.ZipFile; import org.cloudfoundry.client.CloudFoundryClient; @@ -29,49 +37,59 @@ import reactor.core.publisher.Mono; import reactor.core.scheduler.Schedulers; -import java.io.IOException; -import java.io.InputStream; -import java.nio.file.Files; -import java.nio.file.Path; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Enumeration; -import java.util.List; - /** * Utilities for matching resources */ public final class ResourceMatchingUtils { - private static final Logger LOGGER = LoggerFactory.getLogger("cloudfoundry-client.resource-matching"); - - private ResourceMatchingUtils() { - } - - public static Mono> getMatchedResources(CloudFoundryClient cloudFoundryClient, Path application) { - return (Files.isDirectory(application) ? getArtifactMetadataFromDirectory(application) : getArtifactMetadataFromZip(application)) - .collectMap(ArtifactMetadata::getHash) - .flatMapMany(artifactMetadatas -> requestListMatchingResources(cloudFoundryClient, artifactMetadatas.values()) - .flatMapIterable(ListMatchingResourcesResponse::getResources) - .map(resource -> artifactMetadatas.get(resource.getHash()))) - .collectList() - .doOnNext(matched -> LOGGER.debug("{} resources matched totaling {}", matched.size(), SizeUtils.asIbi(matched.stream() - .mapToInt(ArtifactMetadata::getSize) - .sum()))) - .subscribeOn(Schedulers.boundedElastic()); + private static final Logger LOGGER = + LoggerFactory.getLogger("cloudfoundry-client.resource-matching"); + + private ResourceMatchingUtils() {} + + public static Mono> getMatchedResources( + CloudFoundryClient cloudFoundryClient, Path application) { + return (Files.isDirectory(application) + ? getArtifactMetadataFromDirectory(application) + : getArtifactMetadataFromZip(application)) + .collectMap(ArtifactMetadata::getHash) + .flatMapMany( + artifactMetadatas -> + requestListMatchingResources( + cloudFoundryClient, artifactMetadatas.values()) + .flatMapIterable( + ListMatchingResourcesResponse::getResources) + .map(resource -> artifactMetadatas.get(resource.getHash()))) + .collectList() + .doOnNext( + matched -> + LOGGER.debug( + "{} resources matched totaling {}", + matched.size(), + SizeUtils.asIbi( + matched.stream() + .mapToInt(ArtifactMetadata::getSize) + .sum()))) + .subscribeOn(Schedulers.boundedElastic()); } private static Flux getArtifactMetadataFromDirectory(Path application) { - return Flux - .defer(() -> { - try { - return Flux.fromStream(Files.walk(application)); - } catch (IOException e) { - throw Exceptions.propagate(e); - } - }) - .filter(path -> !Files.isDirectory(path)) - .map(path -> new ArtifactMetadata(FileUtils.hash(path), FileUtils.getRelativePathName(application, path), FileUtils.permissions(path), FileUtils.size(path))); + return Flux.defer( + () -> { + try { + return Flux.fromStream(Files.walk(application)); + } catch (IOException e) { + throw Exceptions.propagate(e); + } + }) + .filter(path -> !Files.isDirectory(path)) + .map( + path -> + new ArtifactMetadata( + FileUtils.hash(path), + FileUtils.getRelativePathName(application, path), + FileUtils.permissions(path), + FileUtils.size(path))); } private static Flux getArtifactMetadataFromZip(Path application) { @@ -92,7 +110,6 @@ private static Flux getArtifactMetadataFromZip(Path applicatio artifactMetadatas.add(new ArtifactMetadata(hash, path, permissions, size)); } - } } } catch (IOException e) { @@ -102,17 +119,23 @@ private static Flux getArtifactMetadataFromZip(Path applicatio return Flux.fromIterable(artifactMetadatas); } - private static Mono requestListMatchingResources(CloudFoundryClient cloudFoundryClient, Collection artifactMetadatas) { - ListMatchingResourcesRequest request = artifactMetadatas.stream() - .reduce(ListMatchingResourcesRequest.builder(), (builder, artifactMetadata) -> builder.resource(Resource.builder() - .hash(artifactMetadata.getHash()) - .mode(artifactMetadata.getPermissions()) - .size(artifactMetadata.getSize()) - .build()), (a, b) -> a.addAllResources(b.build().getResources())) - .build(); - - return cloudFoundryClient.resourceMatch() - .list(request); + private static Mono requestListMatchingResources( + CloudFoundryClient cloudFoundryClient, Collection artifactMetadatas) { + ListMatchingResourcesRequest request = + artifactMetadatas.stream() + .reduce( + ListMatchingResourcesRequest.builder(), + (builder, artifactMetadata) -> + builder.resource( + Resource.builder() + .hash(artifactMetadata.getHash()) + .mode(artifactMetadata.getPermissions()) + .size(artifactMetadata.getSize()) + .build()), + (a, b) -> a.addAllResources(b.build().getResources())) + .build(); + + return cloudFoundryClient.resourceMatch().list(request); } /** @@ -170,7 +193,6 @@ public String getPermissions() { return this.permissions; } - /** * Returns the size of the artifact * @@ -179,8 +201,5 @@ public String getPermissions() { public int getSize() { return this.size; } - } - - } diff --git a/cloudfoundry-util/src/main/java/org/cloudfoundry/util/ResourceMatchingUtilsV3.java b/cloudfoundry-util/src/main/java/org/cloudfoundry/util/ResourceMatchingUtilsV3.java index 2f8a905d6b..0589c5dfbd 100644 --- a/cloudfoundry-util/src/main/java/org/cloudfoundry/util/ResourceMatchingUtilsV3.java +++ b/cloudfoundry-util/src/main/java/org/cloudfoundry/util/ResourceMatchingUtilsV3.java @@ -16,6 +16,14 @@ package org.cloudfoundry.util; +import java.io.IOException; +import java.io.InputStream; +import java.nio.file.Files; +import java.nio.file.Path; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Enumeration; +import java.util.List; import org.apache.commons.compress.archivers.zip.ZipArchiveEntry; import org.apache.commons.compress.archivers.zip.ZipFile; import org.cloudfoundry.client.CloudFoundryClient; @@ -31,55 +39,58 @@ import reactor.core.publisher.Mono; import reactor.core.scheduler.Schedulers; -import java.io.IOException; -import java.io.InputStream; -import java.nio.file.Files; -import java.nio.file.Path; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Enumeration; -import java.util.List; - /** * Utilities for matching resources with objects for v3 API */ public final class ResourceMatchingUtilsV3 { - private static final Logger LOGGER = LoggerFactory.getLogger("cloudfoundry-client.resource-matching-v3"); - - private ResourceMatchingUtilsV3() { - } - - public static Mono> getMatchedResources(CloudFoundryClient cloudFoundryClient, Path application) { - return (Files.isDirectory(application) ? getArtifactMetadataFromDirectory(application) : getArtifactMetadataFromZip(application)) - .collectList() - .flatMap((List artifactMetadatas) -> requestListMatchingResources(cloudFoundryClient, artifactMetadatas)) - .map(ListMatchingResourcesResponse::getResources) - .doOnNext(matched -> LOGGER.debug("{} resources matched totaling {}", matched.size(), SizeUtils.asIbi(matched.stream() - .mapToInt(MatchedResource::getSize) - .sum()))) - .subscribeOn(Schedulers.boundedElastic()); + private static final Logger LOGGER = + LoggerFactory.getLogger("cloudfoundry-client.resource-matching-v3"); + + private ResourceMatchingUtilsV3() {} + + public static Mono> getMatchedResources( + CloudFoundryClient cloudFoundryClient, Path application) { + return (Files.isDirectory(application) + ? getArtifactMetadataFromDirectory(application) + : getArtifactMetadataFromZip(application)) + .collectList() + .flatMap( + (List artifactMetadatas) -> + requestListMatchingResources(cloudFoundryClient, artifactMetadatas)) + .map(ListMatchingResourcesResponse::getResources) + .doOnNext( + matched -> + LOGGER.debug( + "{} resources matched totaling {}", + matched.size(), + SizeUtils.asIbi( + matched.stream() + .mapToInt(MatchedResource::getSize) + .sum()))) + .subscribeOn(Schedulers.boundedElastic()); } private static Flux getArtifactMetadataFromDirectory(Path application) { - return Flux - .defer(() -> { - try { - return Flux.fromStream(Files.walk(application)); - } catch (IOException e) { - throw Exceptions.propagate(e); - } - }) - .filter(path -> !Files.isDirectory(path)) - .map(path -> new ArtifactMetadata( - Checksum.builder() - .type(ChecksumType.SHA1) - .value(FileUtils.hash(path)) - .build(), - FileUtils.getRelativePathName(application, path), - FileUtils.permissions(path), - FileUtils.size(path)) - ); + return Flux.defer( + () -> { + try { + return Flux.fromStream(Files.walk(application)); + } catch (IOException e) { + throw Exceptions.propagate(e); + } + }) + .filter(path -> !Files.isDirectory(path)) + .map( + path -> + new ArtifactMetadata( + Checksum.builder() + .type(ChecksumType.SHA1) + .value(FileUtils.hash(path)) + .build(), + FileUtils.getRelativePathName(application, path), + FileUtils.permissions(path), + FileUtils.size(path))); } private static Flux getArtifactMetadataFromZip(Path application) { @@ -93,17 +104,18 @@ private static Flux getArtifactMetadataFromZip(Path applicatio if (!entry.isDirectory()) { try (InputStream in = zipFile.getInputStream(entry)) { - Checksum checksum = Checksum.builder() - .type(ChecksumType.SHA1) - .value(FileUtils.hash(in)) - .build(); + Checksum checksum = + Checksum.builder() + .type(ChecksumType.SHA1) + .value(FileUtils.hash(in)) + .build(); String path = entry.getName(); String permissions = FileUtils.permissions(entry.getUnixMode()); int size = (int) entry.getSize(); - artifactMetadatas.add(new ArtifactMetadata(checksum, path, permissions, size)); + artifactMetadatas.add( + new ArtifactMetadata(checksum, path, permissions, size)); } - } } } catch (IOException e) { @@ -113,18 +125,24 @@ private static Flux getArtifactMetadataFromZip(Path applicatio return Flux.fromIterable(artifactMetadatas); } - private static Mono requestListMatchingResources(CloudFoundryClient cloudFoundryClient, Collection artifactMetadatas) { - ListMatchingResourcesRequest request = artifactMetadatas.stream() - .reduce(ListMatchingResourcesRequest.builder(), (builder, artifactMetadata) -> builder.resource(MatchedResource.builder() - .checksum(artifactMetadata.getChecksum()) - .mode(artifactMetadata.getPermissions()) - .size(artifactMetadata.getSize()) - .path(artifactMetadata.getPath()) - .build()), (a, b) -> a.addAllResources(b.build().getResources())) - .build(); - - return cloudFoundryClient.resourceMatchV3() - .list(request); + private static Mono requestListMatchingResources( + CloudFoundryClient cloudFoundryClient, Collection artifactMetadatas) { + ListMatchingResourcesRequest request = + artifactMetadatas.stream() + .reduce( + ListMatchingResourcesRequest.builder(), + (builder, artifactMetadata) -> + builder.resource( + MatchedResource.builder() + .checksum(artifactMetadata.getChecksum()) + .mode(artifactMetadata.getPermissions()) + .size(artifactMetadata.getSize()) + .path(artifactMetadata.getPath()) + .build()), + (a, b) -> a.addAllResources(b.build().getResources())) + .build(); + + return cloudFoundryClient.resourceMatchV3().list(request); } /** @@ -182,7 +200,6 @@ public String getPermissions() { return this.permissions; } - /** * Returns the size of the artifact in bytes * @@ -191,6 +208,5 @@ public String getPermissions() { public int getSize() { return this.size; } - } } diff --git a/cloudfoundry-util/src/main/java/org/cloudfoundry/util/ResourceUtils.java b/cloudfoundry-util/src/main/java/org/cloudfoundry/util/ResourceUtils.java index 1616f1f88b..1f51f8321f 100644 --- a/cloudfoundry-util/src/main/java/org/cloudfoundry/util/ResourceUtils.java +++ b/cloudfoundry-util/src/main/java/org/cloudfoundry/util/ResourceUtils.java @@ -25,8 +25,7 @@ */ public final class ResourceUtils { - private ResourceUtils() { - } + private ResourceUtils() {} /** * Return the entity of a resource @@ -58,8 +57,8 @@ public static String getId(Resource resource) { * @param the response type * @return a stream of resources from the response */ - public static , U extends PaginatedResponse> Flux getResources(U response) { + public static , U extends PaginatedResponse> Flux getResources( + U response) { return Flux.fromIterable(response.getResources()); } - } diff --git a/cloudfoundry-util/src/main/java/org/cloudfoundry/util/SizeUtils.java b/cloudfoundry-util/src/main/java/org/cloudfoundry/util/SizeUtils.java index 55910e0e25..f96be19bfc 100644 --- a/cloudfoundry-util/src/main/java/org/cloudfoundry/util/SizeUtils.java +++ b/cloudfoundry-util/src/main/java/org/cloudfoundry/util/SizeUtils.java @@ -46,5 +46,4 @@ public static String asIbi(long size) { return String.format("%d B", size); } } - } diff --git a/cloudfoundry-util/src/main/java/org/cloudfoundry/util/SortingUtils.java b/cloudfoundry-util/src/main/java/org/cloudfoundry/util/SortingUtils.java index c458c0a07e..7e63113686 100644 --- a/cloudfoundry-util/src/main/java/org/cloudfoundry/util/SortingUtils.java +++ b/cloudfoundry-util/src/main/java/org/cloudfoundry/util/SortingUtils.java @@ -16,10 +16,7 @@ package org.cloudfoundry.util; -import reactor.core.Disposable; -import reactor.core.publisher.Flux; -import reactor.core.publisher.Sinks; -import reactor.util.function.Tuple2; +import static reactor.core.publisher.Sinks.EmitFailureHandler.FAIL_FAST; import java.time.Duration; import java.time.Instant; @@ -29,16 +26,17 @@ import java.util.PriorityQueue; import java.util.Queue; import java.util.function.Function; - -import static reactor.core.publisher.Sinks.EmitFailureHandler.FAIL_FAST; +import reactor.core.Disposable; +import reactor.core.publisher.Flux; +import reactor.core.publisher.Sinks; +import reactor.util.function.Tuple2; /** * Utilities for sorting */ public final class SortingUtils { - private SortingUtils() { - } + private SortingUtils() {} /** * Sorts the elements of a {@link Flux} within a sliding time window. This sorter should be used when element order may be scrambled, but that scrambling has a certain 'temporal locality' to it. @@ -49,31 +47,39 @@ private SortingUtils() { * @param The type of the elements to be sorted * @return a {@link Flux} providing the sorted elements */ - public static Function, Flux> timespan(Comparator comparator, Duration timespan) { + public static Function, Flux> timespan( + Comparator comparator, Duration timespan) { return source -> { - Queue> accumulator = new PriorityQueue<>((o1, o2) -> comparator.compare(o1.getT2(), o2.getT2())); + Queue> accumulator = + new PriorityQueue<>((o1, o2) -> comparator.compare(o1.getT2(), o2.getT2())); Object monitor = new Object(); Sinks.Many d = Sinks.many().multicast().directBestEffort(); - Disposable disposable = source - .timestamp() - .subscribe(item -> { - synchronized (monitor) { - accumulator.add(item); - } - }, throwable -> d.emitError(throwable, FAIL_FAST), () -> d.emitComplete(FAIL_FAST)); - - return Flux - .interval(timespan) - .takeUntilOther(d.asFlux()) - .flatMap(n -> getItems(accumulator, monitor, timespan), null, () -> getItems(accumulator, monitor, Duration.ZERO)) - .doOnCancel(disposable::dispose); + Disposable disposable = + source.timestamp() + .subscribe( + item -> { + synchronized (monitor) { + accumulator.add(item); + } + }, + throwable -> d.emitError(throwable, FAIL_FAST), + () -> d.emitComplete(FAIL_FAST)); + + return Flux.interval(timespan) + .takeUntilOther(d.asFlux()) + .flatMap( + n -> getItems(accumulator, monitor, timespan), + null, + () -> getItems(accumulator, monitor, Duration.ZERO)) + .doOnCancel(disposable::dispose); }; } - private static Flux getItems(Queue> accumulator, Object monitor, Duration timespan) { + private static Flux getItems( + Queue> accumulator, Object monitor, Duration timespan) { List items = new ArrayList<>(); synchronized (monitor) { @@ -86,7 +92,9 @@ private static Flux getItems(Queue> accumulator, Object m } private static boolean isBefore(Tuple2 candidate, Duration timespan) { - return candidate != null && (Duration.ZERO == timespan || Instant.ofEpochMilli(candidate.getT1()).isBefore(Instant.now().minus(timespan))); + return candidate != null + && (Duration.ZERO == timespan + || Instant.ofEpochMilli(candidate.getT1()) + .isBefore(Instant.now().minus(timespan))); } - } diff --git a/cloudfoundry-util/src/main/java/org/cloudfoundry/util/TimeUtils.java b/cloudfoundry-util/src/main/java/org/cloudfoundry/util/TimeUtils.java index 274853f8bf..27899a7790 100644 --- a/cloudfoundry-util/src/main/java/org/cloudfoundry/util/TimeUtils.java +++ b/cloudfoundry-util/src/main/java/org/cloudfoundry/util/TimeUtils.java @@ -29,8 +29,7 @@ public final class TimeUtils { private static final double HOUR = 60 * MINUTE; - private TimeUtils() { - } + private TimeUtils() {} /** * Renders a time period in human readable form @@ -49,5 +48,4 @@ public static String asTime(long time) { return String.format("%d ms", time); } } - } diff --git a/cloudfoundry-util/src/main/java/org/cloudfoundry/util/package-info.java b/cloudfoundry-util/src/main/java/org/cloudfoundry/util/package-info.java index 5ded110f81..87fea9698c 100644 --- a/cloudfoundry-util/src/main/java/org/cloudfoundry/util/package-info.java +++ b/cloudfoundry-util/src/main/java/org/cloudfoundry/util/package-info.java @@ -17,5 +17,4 @@ /** * Utilities for working with Cloud Foundry Client APIs */ - package org.cloudfoundry.util; diff --git a/cloudfoundry-util/src/main/java/org/cloudfoundry/util/tuple/Consumer2.java b/cloudfoundry-util/src/main/java/org/cloudfoundry/util/tuple/Consumer2.java index f2afeeb24e..6ef0a3c890 100644 --- a/cloudfoundry-util/src/main/java/org/cloudfoundry/util/tuple/Consumer2.java +++ b/cloudfoundry-util/src/main/java/org/cloudfoundry/util/tuple/Consumer2.java @@ -32,5 +32,4 @@ public interface Consumer2 { * @param t2 the second input argument */ void accept(T1 t1, T2 t2); - } diff --git a/cloudfoundry-util/src/main/java/org/cloudfoundry/util/tuple/Consumer3.java b/cloudfoundry-util/src/main/java/org/cloudfoundry/util/tuple/Consumer3.java index c74a312f45..affb0a2c6d 100644 --- a/cloudfoundry-util/src/main/java/org/cloudfoundry/util/tuple/Consumer3.java +++ b/cloudfoundry-util/src/main/java/org/cloudfoundry/util/tuple/Consumer3.java @@ -34,5 +34,4 @@ public interface Consumer3 { * @param t3 the third input argument */ void accept(T1 t1, T2 t2, T3 t3); - } diff --git a/cloudfoundry-util/src/main/java/org/cloudfoundry/util/tuple/Consumer4.java b/cloudfoundry-util/src/main/java/org/cloudfoundry/util/tuple/Consumer4.java index 76632ab09e..7d7c5ac33d 100644 --- a/cloudfoundry-util/src/main/java/org/cloudfoundry/util/tuple/Consumer4.java +++ b/cloudfoundry-util/src/main/java/org/cloudfoundry/util/tuple/Consumer4.java @@ -36,5 +36,4 @@ public interface Consumer4 { * @param t4 the fourth input argument */ void accept(T1 t1, T2 t2, T3 t3, T4 t4); - } diff --git a/cloudfoundry-util/src/main/java/org/cloudfoundry/util/tuple/Consumer5.java b/cloudfoundry-util/src/main/java/org/cloudfoundry/util/tuple/Consumer5.java index 9932b9dbc2..9031c9f04e 100644 --- a/cloudfoundry-util/src/main/java/org/cloudfoundry/util/tuple/Consumer5.java +++ b/cloudfoundry-util/src/main/java/org/cloudfoundry/util/tuple/Consumer5.java @@ -38,5 +38,4 @@ public interface Consumer5 { * @param t5 the fifth input argument */ void accept(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5); - } diff --git a/cloudfoundry-util/src/main/java/org/cloudfoundry/util/tuple/Consumer6.java b/cloudfoundry-util/src/main/java/org/cloudfoundry/util/tuple/Consumer6.java index 06d1d46535..a776f19035 100644 --- a/cloudfoundry-util/src/main/java/org/cloudfoundry/util/tuple/Consumer6.java +++ b/cloudfoundry-util/src/main/java/org/cloudfoundry/util/tuple/Consumer6.java @@ -40,5 +40,4 @@ public interface Consumer6 { * @param t6 the sixth input argument */ void accept(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6); - } diff --git a/cloudfoundry-util/src/main/java/org/cloudfoundry/util/tuple/Consumer7.java b/cloudfoundry-util/src/main/java/org/cloudfoundry/util/tuple/Consumer7.java index e1273f5661..ab4b2eed1e 100644 --- a/cloudfoundry-util/src/main/java/org/cloudfoundry/util/tuple/Consumer7.java +++ b/cloudfoundry-util/src/main/java/org/cloudfoundry/util/tuple/Consumer7.java @@ -42,5 +42,4 @@ public interface Consumer7 { * @param t7 the seventh input argument */ void accept(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7); - } diff --git a/cloudfoundry-util/src/main/java/org/cloudfoundry/util/tuple/Consumer8.java b/cloudfoundry-util/src/main/java/org/cloudfoundry/util/tuple/Consumer8.java index d63ba7595a..81e763de16 100644 --- a/cloudfoundry-util/src/main/java/org/cloudfoundry/util/tuple/Consumer8.java +++ b/cloudfoundry-util/src/main/java/org/cloudfoundry/util/tuple/Consumer8.java @@ -44,5 +44,4 @@ public interface Consumer8 { * @param t8 the eighth input argument */ void accept(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8); - } diff --git a/cloudfoundry-util/src/main/java/org/cloudfoundry/util/tuple/Function2.java b/cloudfoundry-util/src/main/java/org/cloudfoundry/util/tuple/Function2.java index a58629239b..fc1f6ef1a6 100644 --- a/cloudfoundry-util/src/main/java/org/cloudfoundry/util/tuple/Function2.java +++ b/cloudfoundry-util/src/main/java/org/cloudfoundry/util/tuple/Function2.java @@ -36,5 +36,4 @@ public interface Function2 extends BiFunction { * @return the function result */ R apply(T1 t1, T2 t2); - } diff --git a/cloudfoundry-util/src/main/java/org/cloudfoundry/util/tuple/Function3.java b/cloudfoundry-util/src/main/java/org/cloudfoundry/util/tuple/Function3.java index d1db43642b..10f9623502 100644 --- a/cloudfoundry-util/src/main/java/org/cloudfoundry/util/tuple/Function3.java +++ b/cloudfoundry-util/src/main/java/org/cloudfoundry/util/tuple/Function3.java @@ -36,5 +36,4 @@ public interface Function3 { * @return the function result */ R apply(T1 t1, T2 t2, T3 t3); - } diff --git a/cloudfoundry-util/src/main/java/org/cloudfoundry/util/tuple/Function4.java b/cloudfoundry-util/src/main/java/org/cloudfoundry/util/tuple/Function4.java index 8df356d714..d319907cf9 100644 --- a/cloudfoundry-util/src/main/java/org/cloudfoundry/util/tuple/Function4.java +++ b/cloudfoundry-util/src/main/java/org/cloudfoundry/util/tuple/Function4.java @@ -38,5 +38,4 @@ public interface Function4 { * @return the function result */ R apply(T1 t1, T2 t2, T3 t3, T4 t4); - } diff --git a/cloudfoundry-util/src/main/java/org/cloudfoundry/util/tuple/Function5.java b/cloudfoundry-util/src/main/java/org/cloudfoundry/util/tuple/Function5.java index 212daa8c0c..2c1efd8d34 100644 --- a/cloudfoundry-util/src/main/java/org/cloudfoundry/util/tuple/Function5.java +++ b/cloudfoundry-util/src/main/java/org/cloudfoundry/util/tuple/Function5.java @@ -40,5 +40,4 @@ public interface Function5 { * @return the function result */ R apply(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5); - } diff --git a/cloudfoundry-util/src/main/java/org/cloudfoundry/util/tuple/Function6.java b/cloudfoundry-util/src/main/java/org/cloudfoundry/util/tuple/Function6.java index 3fb2be5660..e071728d2f 100644 --- a/cloudfoundry-util/src/main/java/org/cloudfoundry/util/tuple/Function6.java +++ b/cloudfoundry-util/src/main/java/org/cloudfoundry/util/tuple/Function6.java @@ -42,5 +42,4 @@ public interface Function6 { * @return the function result */ R apply(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6); - } diff --git a/cloudfoundry-util/src/main/java/org/cloudfoundry/util/tuple/Function7.java b/cloudfoundry-util/src/main/java/org/cloudfoundry/util/tuple/Function7.java index 11ea21410d..9e29434b9c 100644 --- a/cloudfoundry-util/src/main/java/org/cloudfoundry/util/tuple/Function7.java +++ b/cloudfoundry-util/src/main/java/org/cloudfoundry/util/tuple/Function7.java @@ -44,5 +44,4 @@ public interface Function7 { * @return the function result */ R apply(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7); - } diff --git a/cloudfoundry-util/src/main/java/org/cloudfoundry/util/tuple/Function8.java b/cloudfoundry-util/src/main/java/org/cloudfoundry/util/tuple/Function8.java index a3bdb5b9f7..811ddea47f 100644 --- a/cloudfoundry-util/src/main/java/org/cloudfoundry/util/tuple/Function8.java +++ b/cloudfoundry-util/src/main/java/org/cloudfoundry/util/tuple/Function8.java @@ -46,5 +46,4 @@ public interface Function8 { * @return the function result */ R apply(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8); - } diff --git a/cloudfoundry-util/src/main/java/org/cloudfoundry/util/tuple/Predicate2.java b/cloudfoundry-util/src/main/java/org/cloudfoundry/util/tuple/Predicate2.java index 79d93de63b..13c24ca52e 100644 --- a/cloudfoundry-util/src/main/java/org/cloudfoundry/util/tuple/Predicate2.java +++ b/cloudfoundry-util/src/main/java/org/cloudfoundry/util/tuple/Predicate2.java @@ -33,5 +33,4 @@ public interface Predicate2 { * @return {@code true} if the input arguments match the predicate, otherwise {@code false} */ boolean test(T1 t1, T2 t2); - } diff --git a/cloudfoundry-util/src/main/java/org/cloudfoundry/util/tuple/Predicate3.java b/cloudfoundry-util/src/main/java/org/cloudfoundry/util/tuple/Predicate3.java index be88542fbc..fb70db8f27 100644 --- a/cloudfoundry-util/src/main/java/org/cloudfoundry/util/tuple/Predicate3.java +++ b/cloudfoundry-util/src/main/java/org/cloudfoundry/util/tuple/Predicate3.java @@ -35,5 +35,4 @@ public interface Predicate3 { * @return {@code true} if the input arguments match the predicate, otherwise {@code false} */ boolean test(T1 t1, T2 t2, T3 t3); - } diff --git a/cloudfoundry-util/src/main/java/org/cloudfoundry/util/tuple/Predicate4.java b/cloudfoundry-util/src/main/java/org/cloudfoundry/util/tuple/Predicate4.java index bc71549f98..6b7977af65 100644 --- a/cloudfoundry-util/src/main/java/org/cloudfoundry/util/tuple/Predicate4.java +++ b/cloudfoundry-util/src/main/java/org/cloudfoundry/util/tuple/Predicate4.java @@ -37,5 +37,4 @@ public interface Predicate4 { * @return {@code true} if the input arguments match the predicate, otherwise {@code false} */ boolean test(T1 t1, T2 t2, T3 t3, T4 t4); - } diff --git a/cloudfoundry-util/src/main/java/org/cloudfoundry/util/tuple/Predicate5.java b/cloudfoundry-util/src/main/java/org/cloudfoundry/util/tuple/Predicate5.java index fb2b12dc55..2475970b1f 100644 --- a/cloudfoundry-util/src/main/java/org/cloudfoundry/util/tuple/Predicate5.java +++ b/cloudfoundry-util/src/main/java/org/cloudfoundry/util/tuple/Predicate5.java @@ -39,5 +39,4 @@ public interface Predicate5 { * @return {@code true} if the input arguments match the predicate, otherwise {@code false} */ boolean test(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5); - } diff --git a/cloudfoundry-util/src/main/java/org/cloudfoundry/util/tuple/Predicate6.java b/cloudfoundry-util/src/main/java/org/cloudfoundry/util/tuple/Predicate6.java index 8bdc19372f..84875036ff 100644 --- a/cloudfoundry-util/src/main/java/org/cloudfoundry/util/tuple/Predicate6.java +++ b/cloudfoundry-util/src/main/java/org/cloudfoundry/util/tuple/Predicate6.java @@ -41,5 +41,4 @@ public interface Predicate6 { * @return {@code true} if the input arguments match the predicate, otherwise {@code false} */ boolean test(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6); - } diff --git a/cloudfoundry-util/src/main/java/org/cloudfoundry/util/tuple/Predicate7.java b/cloudfoundry-util/src/main/java/org/cloudfoundry/util/tuple/Predicate7.java index 408383c351..24e59b64dc 100644 --- a/cloudfoundry-util/src/main/java/org/cloudfoundry/util/tuple/Predicate7.java +++ b/cloudfoundry-util/src/main/java/org/cloudfoundry/util/tuple/Predicate7.java @@ -43,5 +43,4 @@ public interface Predicate7 { * @return {@code true} if the input arguments match the predicate, otherwise {@code false} */ boolean test(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7); - } diff --git a/cloudfoundry-util/src/main/java/org/cloudfoundry/util/tuple/Predicate8.java b/cloudfoundry-util/src/main/java/org/cloudfoundry/util/tuple/Predicate8.java index c62c44529c..94f328958b 100644 --- a/cloudfoundry-util/src/main/java/org/cloudfoundry/util/tuple/Predicate8.java +++ b/cloudfoundry-util/src/main/java/org/cloudfoundry/util/tuple/Predicate8.java @@ -45,5 +45,4 @@ public interface Predicate8 { * @return {@code true} if the input arguments match the predicate, otherwise {@code false} */ boolean test(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8); - } diff --git a/cloudfoundry-util/src/main/java/org/cloudfoundry/util/tuple/TupleUtils.java b/cloudfoundry-util/src/main/java/org/cloudfoundry/util/tuple/TupleUtils.java index f9a35e2c29..b2fad7028f 100644 --- a/cloudfoundry-util/src/main/java/org/cloudfoundry/util/tuple/TupleUtils.java +++ b/cloudfoundry-util/src/main/java/org/cloudfoundry/util/tuple/TupleUtils.java @@ -16,6 +16,9 @@ package org.cloudfoundry.util.tuple; +import java.util.function.Consumer; +import java.util.function.Function; +import java.util.function.Predicate; import reactor.util.function.Tuple2; import reactor.util.function.Tuple3; import reactor.util.function.Tuple4; @@ -24,14 +27,9 @@ import reactor.util.function.Tuple7; import reactor.util.function.Tuple8; -import java.util.function.Consumer; -import java.util.function.Function; -import java.util.function.Predicate; - public final class TupleUtils { - private TupleUtils() { - } + private TupleUtils() {} /** * Returns a {@link Consumer} of {@link Tuple2} that wraps a consumer of the component values of the tuple @@ -54,7 +52,8 @@ public static Consumer> consumer(Consumer2 consu * @param the type of the third value * @return the wrapper consumer */ - public static Consumer> consumer(Consumer3 consumer) { + public static Consumer> consumer( + Consumer3 consumer) { return tuple -> consumer.accept(tuple.getT1(), tuple.getT2(), tuple.getT3()); } @@ -68,7 +67,8 @@ public static Consumer> consumer(Consumer3 the type of the fourth value * @return the wrapper consumer */ - public static Consumer> consumer(Consumer4 consumer) { + public static Consumer> consumer( + Consumer4 consumer) { return tuple -> consumer.accept(tuple.getT1(), tuple.getT2(), tuple.getT3(), tuple.getT4()); } @@ -83,8 +83,11 @@ public static Consumer> consumer(Consume * @param the type of the fifth value * @return the wrapper consumer */ - public static Consumer> consumer(Consumer5 consumer) { - return tuple -> consumer.accept(tuple.getT1(), tuple.getT2(), tuple.getT3(), tuple.getT4(), tuple.getT5()); + public static Consumer> consumer( + Consumer5 consumer) { + return tuple -> + consumer.accept( + tuple.getT1(), tuple.getT2(), tuple.getT3(), tuple.getT4(), tuple.getT5()); } /** @@ -99,8 +102,16 @@ public static Consumer> consumer * @param the type of the sixth value * @return the wrapper consumer */ - public static Consumer> consumer(Consumer6 consumer) { - return tuple -> consumer.accept(tuple.getT1(), tuple.getT2(), tuple.getT3(), tuple.getT4(), tuple.getT5(), tuple.getT6()); + public static Consumer> consumer( + Consumer6 consumer) { + return tuple -> + consumer.accept( + tuple.getT1(), + tuple.getT2(), + tuple.getT3(), + tuple.getT4(), + tuple.getT5(), + tuple.getT6()); } /** @@ -116,8 +127,18 @@ public static Consumer> * @param the type of the seventh value * @return the wrapper consumer */ - public static Consumer> consumer(Consumer7 consumer) { - return tuple -> consumer.accept(tuple.getT1(), tuple.getT2(), tuple.getT3(), tuple.getT4(), tuple.getT5(), tuple.getT6(), tuple.getT7()); + public static + Consumer> consumer( + Consumer7 consumer) { + return tuple -> + consumer.accept( + tuple.getT1(), + tuple.getT2(), + tuple.getT3(), + tuple.getT4(), + tuple.getT5(), + tuple.getT6(), + tuple.getT7()); } /** @@ -134,8 +155,19 @@ public static Consumer the type of the eighth value * @return the wrapper consumer */ - public static Consumer> consumer(Consumer8 consumer) { - return tuple -> consumer.accept(tuple.getT1(), tuple.getT2(), tuple.getT3(), tuple.getT4(), tuple.getT5(), tuple.getT6(), tuple.getT7(), tuple.getT8()); + public static + Consumer> consumer( + Consumer8 consumer) { + return tuple -> + consumer.accept( + tuple.getT1(), + tuple.getT2(), + tuple.getT3(), + tuple.getT4(), + tuple.getT5(), + tuple.getT6(), + tuple.getT7(), + tuple.getT8()); } /** @@ -161,7 +193,8 @@ public static Function, R> function(Function2 the type of the result of the function * @return the wrapper function */ - public static Function, R> function(Function3 function) { + public static Function, R> function( + Function3 function) { return tuple -> function.apply(tuple.getT1(), tuple.getT2(), tuple.getT3()); } @@ -176,7 +209,8 @@ public static Function, R> function(Function3 * @param the type of the result of the function * @return the wrapper function */ - public static Function, R> function(Function4 function) { + public static Function, R> function( + Function4 function) { return tuple -> function.apply(tuple.getT1(), tuple.getT2(), tuple.getT3(), tuple.getT4()); } @@ -192,8 +226,11 @@ public static Function, R> function(F * @param the type of the result of the function * @return the wrapper function */ - public static Function, R> function(Function5 function) { - return tuple -> function.apply(tuple.getT1(), tuple.getT2(), tuple.getT3(), tuple.getT4(), tuple.getT5()); + public static Function, R> function( + Function5 function) { + return tuple -> + function.apply( + tuple.getT1(), tuple.getT2(), tuple.getT3(), tuple.getT4(), tuple.getT5()); } /** @@ -209,8 +246,16 @@ public static Function, R> fu * @param the type of the result of the function * @return the wrapper function */ - public static Function, R> function(Function6 function) { - return tuple -> function.apply(tuple.getT1(), tuple.getT2(), tuple.getT3(), tuple.getT4(), tuple.getT5(), tuple.getT6()); + public static Function, R> function( + Function6 function) { + return tuple -> + function.apply( + tuple.getT1(), + tuple.getT2(), + tuple.getT3(), + tuple.getT4(), + tuple.getT5(), + tuple.getT6()); } /** @@ -227,8 +272,18 @@ public static Function the type of the result of the function * @return the wrapper function */ - public static Function, R> function(Function7 function) { - return tuple -> function.apply(tuple.getT1(), tuple.getT2(), tuple.getT3(), tuple.getT4(), tuple.getT5(), tuple.getT6(), tuple.getT7()); + public static + Function, R> function( + Function7 function) { + return tuple -> + function.apply( + tuple.getT1(), + tuple.getT2(), + tuple.getT3(), + tuple.getT4(), + tuple.getT5(), + tuple.getT6(), + tuple.getT7()); } /** @@ -246,8 +301,19 @@ public static Function the type of the result of the function * @return the wrapper function */ - public static Function, R> function(Function8 function) { - return tuple -> function.apply(tuple.getT1(), tuple.getT2(), tuple.getT3(), tuple.getT4(), tuple.getT5(), tuple.getT6(), tuple.getT7(), tuple.getT8()); + public static + Function, R> function( + Function8 function) { + return tuple -> + function.apply( + tuple.getT1(), + tuple.getT2(), + tuple.getT3(), + tuple.getT4(), + tuple.getT5(), + tuple.getT6(), + tuple.getT7(), + tuple.getT8()); } /** @@ -271,7 +337,8 @@ public static Predicate> predicate(Predicate2 pr * @param the type of the third value * @return the wrapper predicate */ - public static Predicate> predicate(Predicate3 predicate) { + public static Predicate> predicate( + Predicate3 predicate) { return tuple -> predicate.test(tuple.getT1(), tuple.getT2(), tuple.getT3()); } @@ -285,7 +352,8 @@ public static Predicate> predicate(Predicate3 the type of the fourth value * @return the wrapper predicate */ - public static Predicate> predicate(Predicate4 predicate) { + public static Predicate> predicate( + Predicate4 predicate) { return tuple -> predicate.test(tuple.getT1(), tuple.getT2(), tuple.getT3(), tuple.getT4()); } @@ -300,8 +368,11 @@ public static Predicate> predicate(Predi * @param the type of the fifth value * @return the wrapper predicate */ - public static Predicate> predicate(Predicate5 predicate) { - return tuple -> predicate.test(tuple.getT1(), tuple.getT2(), tuple.getT3(), tuple.getT4(), tuple.getT5()); + public static Predicate> predicate( + Predicate5 predicate) { + return tuple -> + predicate.test( + tuple.getT1(), tuple.getT2(), tuple.getT3(), tuple.getT4(), tuple.getT5()); } /** @@ -316,8 +387,16 @@ public static Predicate> predica * @param the type of the sixth value * @return the wrapper predicate */ - public static Predicate> predicate(Predicate6 predicate) { - return tuple -> predicate.test(tuple.getT1(), tuple.getT2(), tuple.getT3(), tuple.getT4(), tuple.getT5(), tuple.getT6()); + public static Predicate> predicate( + Predicate6 predicate) { + return tuple -> + predicate.test( + tuple.getT1(), + tuple.getT2(), + tuple.getT3(), + tuple.getT4(), + tuple.getT5(), + tuple.getT6()); } /** @@ -333,8 +412,18 @@ public static Predicate> * @param the type of the seventh value * @return the wrapper predicate */ - public static Predicate> predicate(Predicate7 predicate) { - return tuple -> predicate.test(tuple.getT1(), tuple.getT2(), tuple.getT3(), tuple.getT4(), tuple.getT5(), tuple.getT6(), tuple.getT7()); + public static + Predicate> predicate( + Predicate7 predicate) { + return tuple -> + predicate.test( + tuple.getT1(), + tuple.getT2(), + tuple.getT3(), + tuple.getT4(), + tuple.getT5(), + tuple.getT6(), + tuple.getT7()); } /** @@ -351,8 +440,18 @@ public static Predicate the type of the eighth value * @return the wrapper predicate */ - public static Predicate> predicate(Predicate8 predicate) { - return tuple -> predicate.test(tuple.getT1(), tuple.getT2(), tuple.getT3(), tuple.getT4(), tuple.getT5(), tuple.getT6(), tuple.getT7(), tuple.getT8()); + public static + Predicate> predicate( + Predicate8 predicate) { + return tuple -> + predicate.test( + tuple.getT1(), + tuple.getT2(), + tuple.getT3(), + tuple.getT4(), + tuple.getT5(), + tuple.getT6(), + tuple.getT7(), + tuple.getT8()); } - } diff --git a/cloudfoundry-util/src/test/java/org/cloudfoundry/util/DelayUtilsTest.java b/cloudfoundry-util/src/test/java/org/cloudfoundry/util/DelayUtilsTest.java index a4d2683f2c..c14c7eb732 100644 --- a/cloudfoundry-util/src/test/java/org/cloudfoundry/util/DelayUtilsTest.java +++ b/cloudfoundry-util/src/test/java/org/cloudfoundry/util/DelayUtilsTest.java @@ -16,6 +16,7 @@ package org.cloudfoundry.util; +import java.time.Duration; import org.junit.Test; import org.reactivestreams.Publisher; import reactor.core.publisher.Flux; @@ -23,74 +24,89 @@ import reactor.test.StepVerifier; import reactor.test.scheduler.VirtualTimeScheduler; -import java.time.Duration; - public final class DelayUtilsTest { @SuppressWarnings("unchecked") @Test public void exponentialBackOff() { - StepVerifier.withVirtualTime(() -> (Publisher) DelayUtils.exponentialBackOff(Duration.ofSeconds(1), Duration.ofSeconds(5), Duration.ofSeconds(5)) - .apply(Flux.just(1L, 2L, 3L))) - .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(2))) - .expectNext(0L) - .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(4))) - .expectNext(0L) - .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(8))) - .expectNext(0L) - .expectComplete() - .verify(Duration.ofSeconds(5)); + StepVerifier.withVirtualTime( + () -> + (Publisher) + DelayUtils.exponentialBackOff( + Duration.ofSeconds(1), + Duration.ofSeconds(5), + Duration.ofSeconds(5)) + .apply(Flux.just(1L, 2L, 3L))) + .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(2))) + .expectNext(0L) + .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(4))) + .expectNext(0L) + .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(8))) + .expectNext(0L) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @SuppressWarnings("unchecked") @Test public void exponentialBackOffMaximum() { - StepVerifier.withVirtualTime(() -> (Publisher) DelayUtils.exponentialBackOff(Duration.ofSeconds(1), Duration.ofSeconds(1), Duration.ofSeconds(5)) - .apply(Flux.just(1L, 2L, 3L))) - .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(1))) - .expectNext(0L) - .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(1))) - .expectNext(0L) - .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(1))) - .expectNext(0L) - .expectComplete() - .verify(Duration.ofSeconds(5)); + StepVerifier.withVirtualTime( + () -> + (Publisher) + DelayUtils.exponentialBackOff( + Duration.ofSeconds(1), + Duration.ofSeconds(1), + Duration.ofSeconds(5)) + .apply(Flux.just(1L, 2L, 3L))) + .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(1))) + .expectNext(0L) + .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(1))) + .expectNext(0L) + .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(1))) + .expectNext(0L) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @Test public void exponentialBackOffTimeout() { - StepVerifier.create(DelayUtils.exponentialBackOff(Duration.ofMillis(500), Duration.ofMillis(500), Duration.ofMillis(100)) - .apply(Mono.delay(Duration.ofMillis(200)) - .thenMany(Flux.just(1L)))) - .expectError(DelayTimeoutException.class) - .verify(Duration.ofSeconds(5)); + StepVerifier.create( + DelayUtils.exponentialBackOff( + Duration.ofMillis(500), + Duration.ofMillis(500), + Duration.ofMillis(100)) + .apply(Mono.delay(Duration.ofMillis(200)).thenMany(Flux.just(1L)))) + .expectError(DelayTimeoutException.class) + .verify(Duration.ofSeconds(5)); } @SuppressWarnings("unchecked") @Test public void fixed() { - StepVerifier.withVirtualTime(() -> (Publisher) DelayUtils.fixed(Duration.ofSeconds(1)) - .apply(Flux.just(1L, 2L, 3L))) - .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(1))) - .expectNext(0L) - .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(1))) - .expectNext(0L) - .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(1))) - .expectNext(0L) - .expectComplete() - .verify(Duration.ofSeconds(5)); + StepVerifier.withVirtualTime( + () -> + (Publisher) + DelayUtils.fixed(Duration.ofSeconds(1)) + .apply(Flux.just(1L, 2L, 3L))) + .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(1))) + .expectNext(0L) + .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(1))) + .expectNext(0L) + .then(() -> VirtualTimeScheduler.get().advanceTimeBy(Duration.ofSeconds(1))) + .expectNext(0L) + .expectComplete() + .verify(Duration.ofSeconds(5)); } @SuppressWarnings("unchecked") @Test public void instant() { - StepVerifier.withVirtualTime(() -> (Publisher) DelayUtils.instant() - .apply(Flux.just(1L, 2L, 3L))) - .expectNext(0L) - .expectNext(0L) - .expectNext(0L) - .expectComplete() - .verify(Duration.ofSeconds(5)); + StepVerifier.withVirtualTime( + () -> (Publisher) DelayUtils.instant().apply(Flux.just(1L, 2L, 3L))) + .expectNext(0L) + .expectNext(0L) + .expectNext(0L) + .expectComplete() + .verify(Duration.ofSeconds(5)); } - } diff --git a/cloudfoundry-util/src/test/java/org/cloudfoundry/util/PaginationUtilsTest.java b/cloudfoundry-util/src/test/java/org/cloudfoundry/util/PaginationUtilsTest.java index 5feaa87131..7de245bcb8 100644 --- a/cloudfoundry-util/src/test/java/org/cloudfoundry/util/PaginationUtilsTest.java +++ b/cloudfoundry-util/src/test/java/org/cloudfoundry/util/PaginationUtilsTest.java @@ -16,6 +16,12 @@ package org.cloudfoundry.util; +import static org.mockito.Mockito.RETURNS_SMART_NULLS; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; + +import java.time.Duration; +import java.util.Collections; import org.cloudfoundry.client.v2.spaces.ListSpacesRequest; import org.cloudfoundry.client.v2.spaces.ListSpacesResponse; import org.cloudfoundry.client.v2.spaces.SpaceEntity; @@ -39,13 +45,6 @@ import reactor.core.publisher.Mono; import reactor.test.StepVerifier; -import java.time.Duration; -import java.util.Collections; - -import static org.mockito.Mockito.RETURNS_SMART_NULLS; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.when; - public final class PaginationUtilsTest { @Test @@ -56,15 +55,12 @@ public void requestClientV2Resources() { requestListSpaces(spaces, 2, 3); requestListSpaces(spaces, 3, 3); - PaginationUtils - .requestClientV2Resources(page -> spaces - .list(ListSpacesRequest.builder() - .page(page) - .build())) - .as(StepVerifier::create) - .expectNextCount(3) - .expectComplete() - .verify(Duration.ofSeconds(1)); + PaginationUtils.requestClientV2Resources( + page -> spaces.list(ListSpacesRequest.builder().page(page).build())) + .as(StepVerifier::create) + .expectNextCount(3) + .expectComplete() + .verify(Duration.ofSeconds(1)); } @Test @@ -73,14 +69,11 @@ public void requestClientV2ResourcesEmpty() { requestListSpacesEmpty(spaces); - PaginationUtils - .requestClientV2Resources(page -> spaces - .list(ListSpacesRequest.builder() - .page(page) - .build())) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(1)); + PaginationUtils.requestClientV2Resources( + page -> spaces.list(ListSpacesRequest.builder().page(page).build())) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(1)); } @Test @@ -89,14 +82,11 @@ public void requestClientV3Empty() { requestListPackagesEmpty(packages); - PaginationUtils - .requestClientV3Resources(page -> packages - .list(ListPackagesRequest.builder() - .page(page) - .build())) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(1)); + PaginationUtils.requestClientV3Resources( + page -> packages.list(ListPackagesRequest.builder().page(page).build())) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(1)); } @Test @@ -107,15 +97,12 @@ public void requestClientV3Resources() { requestListPackages(packages, 2, 3); requestListPackages(packages, 3, 3); - PaginationUtils - .requestClientV3Resources(page -> packages - .list(ListPackagesRequest.builder() - .page(page) - .build())) - .as(StepVerifier::create) - .expectNextCount(3) - .expectComplete() - .verify(Duration.ofSeconds(1)); + PaginationUtils.requestClientV3Resources( + page -> packages.list(ListPackagesRequest.builder().page(page).build())) + .as(StepVerifier::create) + .expectNextCount(3) + .expectComplete() + .verify(Duration.ofSeconds(1)); } @Test @@ -126,15 +113,14 @@ public void requestUaaResources() { requestListUsers(users, 101, 100, 250); requestListUsers(users, 201, 100, 250); - PaginationUtils - .requestUaaResources(startIndex -> users - .list(ListUsersRequest.builder() - .startIndex(startIndex) - .build())) - .as(StepVerifier::create) - .expectNextCount(3) - .expectComplete() - .verify(Duration.ofSeconds(1)); + PaginationUtils.requestUaaResources( + startIndex -> + users.list( + ListUsersRequest.builder().startIndex(startIndex).build())) + .as(StepVerifier::create) + .expectNextCount(3) + .expectComplete() + .verify(Duration.ofSeconds(1)); } @Test @@ -143,121 +129,111 @@ public void requestUaaResourcesEmpty() { requestListUsersEmpty(users, 1, 100); - PaginationUtils - .requestUaaResources(startIndex -> users - .list(ListUsersRequest.builder() - .startIndex(startIndex) - .build())) - .as(StepVerifier::create) - .expectComplete() - .verify(Duration.ofSeconds(1)); + PaginationUtils.requestUaaResources( + startIndex -> + users.list( + ListUsersRequest.builder().startIndex(startIndex).build())) + .as(StepVerifier::create) + .expectComplete() + .verify(Duration.ofSeconds(1)); } private static void requestListPackages(Packages packages, Integer page, Integer totalPages) { - when(packages - .list(ListPackagesRequest.builder() - .page(page) - .build())) - .thenReturn(Mono - .just(ListPackagesResponse.builder() - .resource(PackageResource.builder() - .id(page.toString()) - .createdAt("test-created-at") - .updatedAt("test-updated-at") - .type(PackageType.BITS) - .data(BitsData.builder() - .build()) - .state(PackageState.READY) - .build()) - .pagination(Pagination.builder() - .totalPages(totalPages) - .build()) - .build())); + when(packages.list(ListPackagesRequest.builder().page(page).build())) + .thenReturn( + Mono.just( + ListPackagesResponse.builder() + .resource( + PackageResource.builder() + .id(page.toString()) + .createdAt("test-created-at") + .updatedAt("test-updated-at") + .type(PackageType.BITS) + .data(BitsData.builder().build()) + .state(PackageState.READY) + .build()) + .pagination( + Pagination.builder().totalPages(totalPages).build()) + .build())); } private static void requestListPackagesEmpty(Packages packages) { - when(packages - .list(ListPackagesRequest.builder() - .page(1) - .build())) - .thenReturn(Mono - .just(ListPackagesResponse.builder() - .resources(Collections.emptyList()) - .pagination(Pagination.builder() - .totalPages(1) - .build()) - .build())); + when(packages.list(ListPackagesRequest.builder().page(1).build())) + .thenReturn( + Mono.just( + ListPackagesResponse.builder() + .resources(Collections.emptyList()) + .pagination(Pagination.builder().totalPages(1).build()) + .build())); } private static void requestListSpaces(Spaces spaces, Integer page, Integer totalPages) { - when(spaces - .list(ListSpacesRequest.builder() - .page(page) - .build())) - .thenReturn(Mono - .just(ListSpacesResponse.builder() - .resource(SpaceResource.builder() - .entity(SpaceEntity.builder() - .name(page.toString()) - .build()) - .build()) - .totalPages(totalPages) - .build())); + when(spaces.list(ListSpacesRequest.builder().page(page).build())) + .thenReturn( + Mono.just( + ListSpacesResponse.builder() + .resource( + SpaceResource.builder() + .entity( + SpaceEntity.builder() + .name(page.toString()) + .build()) + .build()) + .totalPages(totalPages) + .build())); } private static void requestListSpacesEmpty(Spaces spaces) { - when(spaces - .list(ListSpacesRequest.builder() - .page(1) - .build())) - .thenReturn(Mono - .just(ListSpacesResponse.builder() - .resources(Collections.emptyList()) - .totalPages(1) - .build())); + when(spaces.list(ListSpacesRequest.builder().page(1).build())) + .thenReturn( + Mono.just( + ListSpacesResponse.builder() + .resources(Collections.emptyList()) + .totalPages(1) + .build())); } - private static void requestListUsers(Users users, Integer startIndex, Integer itemsPerPage, Integer totalResults) { - when(users - .list(ListUsersRequest.builder() - .startIndex(startIndex) - .build())) - .thenReturn(Mono - .just(ListUsersResponse.builder() - .resource(User.builder() - .active(true) - .meta(Meta.builder() - .created("test-created") - .lastModified("test-last-modified") - .version(0) - .build()) - .id(startIndex.toString()) - .name(Name.builder() - .build()) - .origin("test-origin") - .passwordLastModified("test-password-last-modified") - .verified(true) - .userName("test-user-name") - .zoneId("test-zone-id") - .build()) - .itemsPerPage(itemsPerPage) - .startIndex(startIndex) - .totalResults(totalResults) - .build())); + private static void requestListUsers( + Users users, Integer startIndex, Integer itemsPerPage, Integer totalResults) { + when(users.list(ListUsersRequest.builder().startIndex(startIndex).build())) + .thenReturn( + Mono.just( + ListUsersResponse.builder() + .resource( + User.builder() + .active(true) + .meta( + Meta.builder() + .created("test-created") + .lastModified( + "test-last-modified") + .version(0) + .build()) + .id(startIndex.toString()) + .name(Name.builder().build()) + .origin("test-origin") + .passwordLastModified( + "test-password-last-modified") + .verified(true) + .userName("test-user-name") + .zoneId("test-zone-id") + .build()) + .itemsPerPage(itemsPerPage) + .startIndex(startIndex) + .totalResults(totalResults) + .build())); } - private static void requestListUsersEmpty(Users users, Integer startIndex, Integer itemsPerPage) { - when(users - .list(ListUsersRequest.builder() - .startIndex(startIndex) - .build())) - .thenReturn(Mono - .just(ListUsersResponse.builder() - .resources(Collections.emptyList()) - .itemsPerPage(itemsPerPage) - .startIndex(startIndex) - .totalResults(0) - .build())); + private static void requestListUsersEmpty( + Users users, Integer startIndex, Integer itemsPerPage) { + when(users.list(ListUsersRequest.builder().startIndex(startIndex).build())) + .thenReturn( + Mono.just( + ListUsersResponse.builder() + .resources(Collections.emptyList()) + .itemsPerPage(itemsPerPage) + .startIndex(startIndex) + .totalResults(0) + .build())); } - } diff --git a/cloudfoundry-util/src/test/java/org/cloudfoundry/util/tuple/TupleUtilsTest.java b/cloudfoundry-util/src/test/java/org/cloudfoundry/util/tuple/TupleUtilsTest.java index 651977729b..45e26fd1ba 100644 --- a/cloudfoundry-util/src/test/java/org/cloudfoundry/util/tuple/TupleUtilsTest.java +++ b/cloudfoundry-util/src/test/java/org/cloudfoundry/util/tuple/TupleUtilsTest.java @@ -16,340 +16,353 @@ package org.cloudfoundry.util.tuple; +import static org.assertj.core.api.Assertions.assertThat; + import org.junit.Test; import reactor.util.function.Tuples; -import static org.assertj.core.api.Assertions.assertThat; - public final class TupleUtilsTest { @Test public void consumer2() { - TupleUtils - .consumer((first, second) -> { - assertThat(first).isEqualTo(1); - assertThat(second).isEqualTo(2); - }) - .accept(Tuples.of(1, 2)); + TupleUtils.consumer( + (first, second) -> { + assertThat(first).isEqualTo(1); + assertThat(second).isEqualTo(2); + }) + .accept(Tuples.of(1, 2)); } @Test public void consumer3() { - TupleUtils - .consumer((first, second, third) -> { - assertThat(first).isEqualTo(1); - assertThat(second).isEqualTo(2); - assertThat(third).isEqualTo(3); - }) - .accept(Tuples.of(1, 2, 3)); + TupleUtils.consumer( + (first, second, third) -> { + assertThat(first).isEqualTo(1); + assertThat(second).isEqualTo(2); + assertThat(third).isEqualTo(3); + }) + .accept(Tuples.of(1, 2, 3)); } @Test public void consumer4() { - TupleUtils - .consumer((first, second, third, fourth) -> { - assertThat(first).isEqualTo(1); - assertThat(second).isEqualTo(2); - assertThat(third).isEqualTo(3); - assertThat(fourth).isEqualTo(4); - }) - .accept(Tuples.of(1, 2, 3, 4)); + TupleUtils.consumer( + (first, second, third, fourth) -> { + assertThat(first).isEqualTo(1); + assertThat(second).isEqualTo(2); + assertThat(third).isEqualTo(3); + assertThat(fourth).isEqualTo(4); + }) + .accept(Tuples.of(1, 2, 3, 4)); } @Test public void consumer5() { - TupleUtils - .consumer((first, second, third, fourth, fifth) -> { - assertThat(first).isEqualTo(1); - assertThat(second).isEqualTo(2); - assertThat(third).isEqualTo(3); - assertThat(fourth).isEqualTo(4); - assertThat(fifth).isEqualTo(5); - }) - .accept(Tuples.of(1, 2, 3, 4, 5)); + TupleUtils.consumer( + (first, second, third, fourth, fifth) -> { + assertThat(first).isEqualTo(1); + assertThat(second).isEqualTo(2); + assertThat(third).isEqualTo(3); + assertThat(fourth).isEqualTo(4); + assertThat(fifth).isEqualTo(5); + }) + .accept(Tuples.of(1, 2, 3, 4, 5)); } @Test public void consumer6() { - TupleUtils - .consumer((first, second, third, fourth, fifth, sixth) -> { - assertThat(first).isEqualTo(1); - assertThat(second).isEqualTo(2); - assertThat(third).isEqualTo(3); - assertThat(fourth).isEqualTo(4); - assertThat(fifth).isEqualTo(5); - assertThat(sixth).isEqualTo(6); - }) - .accept(Tuples.of(1, 2, 3, 4, 5, 6)); + TupleUtils.consumer( + (first, second, third, fourth, fifth, sixth) -> { + assertThat(first).isEqualTo(1); + assertThat(second).isEqualTo(2); + assertThat(third).isEqualTo(3); + assertThat(fourth).isEqualTo(4); + assertThat(fifth).isEqualTo(5); + assertThat(sixth).isEqualTo(6); + }) + .accept(Tuples.of(1, 2, 3, 4, 5, 6)); } @Test public void consumer7() { - TupleUtils - .consumer((first, second, third, fourth, fifth, sixth, seventh) -> { - assertThat(first).isEqualTo(1); - assertThat(second).isEqualTo(2); - assertThat(third).isEqualTo(3); - assertThat(fourth).isEqualTo(4); - assertThat(fifth).isEqualTo(5); - assertThat(sixth).isEqualTo(6); - assertThat(seventh).isEqualTo(7); - }) - .accept(Tuples.of(1, 2, 3, 4, 5, 6, 7)); + TupleUtils.consumer( + (first, second, third, fourth, fifth, sixth, seventh) -> { + assertThat(first).isEqualTo(1); + assertThat(second).isEqualTo(2); + assertThat(third).isEqualTo(3); + assertThat(fourth).isEqualTo(4); + assertThat(fifth).isEqualTo(5); + assertThat(sixth).isEqualTo(6); + assertThat(seventh).isEqualTo(7); + }) + .accept(Tuples.of(1, 2, 3, 4, 5, 6, 7)); } @Test public void consumer8() { - TupleUtils - .consumer((first, second, third, fourth, fifth, sixth, seventh, eighth) -> { - assertThat(first).isEqualTo(1); - assertThat(second).isEqualTo(2); - assertThat(third).isEqualTo(3); - assertThat(fourth).isEqualTo(4); - assertThat(fifth).isEqualTo(5); - assertThat(sixth).isEqualTo(6); - assertThat(seventh).isEqualTo(7); - assertThat(eighth).isEqualTo(8); - }) - .accept(Tuples.of(1, 2, 3, 4, 5, 6, 7, 8)); + TupleUtils.consumer( + (first, second, third, fourth, fifth, sixth, seventh, eighth) -> { + assertThat(first).isEqualTo(1); + assertThat(second).isEqualTo(2); + assertThat(third).isEqualTo(3); + assertThat(fourth).isEqualTo(4); + assertThat(fifth).isEqualTo(5); + assertThat(sixth).isEqualTo(6); + assertThat(seventh).isEqualTo(7); + assertThat(eighth).isEqualTo(8); + }) + .accept(Tuples.of(1, 2, 3, 4, 5, 6, 7, 8)); } @Test public void function2() { - int result = TupleUtils - .function((first, second) -> { - assertThat(first).isEqualTo(1); - assertThat(second).isEqualTo(2); + int result = + TupleUtils.function( + (first, second) -> { + assertThat(first).isEqualTo(1); + assertThat(second).isEqualTo(2); - return -1; - }) - .apply(Tuples.of(1, 2)); + return -1; + }) + .apply(Tuples.of(1, 2)); assertThat(result).isEqualTo(-1); } @Test public void function3() { - int result = TupleUtils - .function((first, second, third) -> { - assertThat(first).isEqualTo(1); - assertThat(second).isEqualTo(2); - assertThat(third).isEqualTo(3); + int result = + TupleUtils.function( + (first, second, third) -> { + assertThat(first).isEqualTo(1); + assertThat(second).isEqualTo(2); + assertThat(third).isEqualTo(3); - return -1; - }) - .apply(Tuples.of(1, 2, 3)); + return -1; + }) + .apply(Tuples.of(1, 2, 3)); assertThat(result).isEqualTo(-1); } @Test public void function4() { - int result = TupleUtils - .function((first, second, third, fourth) -> { - assertThat(first).isEqualTo(1); - assertThat(second).isEqualTo(2); - assertThat(third).isEqualTo(3); - assertThat(fourth).isEqualTo(4); - - return -1; - }) - .apply(Tuples.of(1, 2, 3, 4)); + int result = + TupleUtils.function( + (first, second, third, fourth) -> { + assertThat(first).isEqualTo(1); + assertThat(second).isEqualTo(2); + assertThat(third).isEqualTo(3); + assertThat(fourth).isEqualTo(4); + + return -1; + }) + .apply(Tuples.of(1, 2, 3, 4)); assertThat(result).isEqualTo(-1); } @Test public void function5() { - int result = TupleUtils - .function((first, second, third, fourth, fifth) -> { - assertThat(first).isEqualTo(1); - assertThat(second).isEqualTo(2); - assertThat(third).isEqualTo(3); - assertThat(fourth).isEqualTo(4); - assertThat(fifth).isEqualTo(5); - - return -1; - }) - .apply(Tuples.of(1, 2, 3, 4, 5)); + int result = + TupleUtils.function( + (first, second, third, fourth, fifth) -> { + assertThat(first).isEqualTo(1); + assertThat(second).isEqualTo(2); + assertThat(third).isEqualTo(3); + assertThat(fourth).isEqualTo(4); + assertThat(fifth).isEqualTo(5); + + return -1; + }) + .apply(Tuples.of(1, 2, 3, 4, 5)); assertThat(result).isEqualTo(-1); } @Test public void function6() { - int result = TupleUtils - .function((first, second, third, fourth, fifth, sixth) -> { - assertThat(first).isEqualTo(1); - assertThat(second).isEqualTo(2); - assertThat(third).isEqualTo(3); - assertThat(fourth).isEqualTo(4); - assertThat(fifth).isEqualTo(5); - assertThat(sixth).isEqualTo(6); - - return -1; - }) - .apply(Tuples.of(1, 2, 3, 4, 5, 6)); + int result = + TupleUtils.function( + (first, second, third, fourth, fifth, sixth) -> { + assertThat(first).isEqualTo(1); + assertThat(second).isEqualTo(2); + assertThat(third).isEqualTo(3); + assertThat(fourth).isEqualTo(4); + assertThat(fifth).isEqualTo(5); + assertThat(sixth).isEqualTo(6); + + return -1; + }) + .apply(Tuples.of(1, 2, 3, 4, 5, 6)); assertThat(result).isEqualTo(-1); } @Test public void function7() { - int result = TupleUtils - .function((first, second, third, fourth, fifth, sixth, seventh) -> { - assertThat(first).isEqualTo(1); - assertThat(second).isEqualTo(2); - assertThat(third).isEqualTo(3); - assertThat(fourth).isEqualTo(4); - assertThat(fifth).isEqualTo(5); - assertThat(sixth).isEqualTo(6); - assertThat(seventh).isEqualTo(7); - - return -1; - }) - .apply(Tuples.of(1, 2, 3, 4, 5, 6, 7)); + int result = + TupleUtils.function( + (first, second, third, fourth, fifth, sixth, seventh) -> { + assertThat(first).isEqualTo(1); + assertThat(second).isEqualTo(2); + assertThat(third).isEqualTo(3); + assertThat(fourth).isEqualTo(4); + assertThat(fifth).isEqualTo(5); + assertThat(sixth).isEqualTo(6); + assertThat(seventh).isEqualTo(7); + + return -1; + }) + .apply(Tuples.of(1, 2, 3, 4, 5, 6, 7)); assertThat(result).isEqualTo(-1); } @Test public void function8() { - int result = TupleUtils - .function((first, second, third, fourth, fifth, sixth, seventh, eighth) -> { - assertThat(first).isEqualTo(1); - assertThat(second).isEqualTo(2); - assertThat(third).isEqualTo(3); - assertThat(fourth).isEqualTo(4); - assertThat(fifth).isEqualTo(5); - assertThat(sixth).isEqualTo(6); - assertThat(seventh).isEqualTo(7); - assertThat(eighth).isEqualTo(8); - - return -1; - }) - .apply(Tuples.of(1, 2, 3, 4, 5, 6, 7, 8)); + int result = + TupleUtils.function( + (first, second, third, fourth, fifth, sixth, seventh, eighth) -> { + assertThat(first).isEqualTo(1); + assertThat(second).isEqualTo(2); + assertThat(third).isEqualTo(3); + assertThat(fourth).isEqualTo(4); + assertThat(fifth).isEqualTo(5); + assertThat(sixth).isEqualTo(6); + assertThat(seventh).isEqualTo(7); + assertThat(eighth).isEqualTo(8); + + return -1; + }) + .apply(Tuples.of(1, 2, 3, 4, 5, 6, 7, 8)); assertThat(result).isEqualTo(-1); } @Test public void predicate2() { - boolean result = TupleUtils - .predicate((first, second) -> { - assertThat(first).isEqualTo(1); - assertThat(second).isEqualTo(2); + boolean result = + TupleUtils.predicate( + (first, second) -> { + assertThat(first).isEqualTo(1); + assertThat(second).isEqualTo(2); - return true; - }) - .test(Tuples.of(1, 2)); + return true; + }) + .test(Tuples.of(1, 2)); assertThat(result).isTrue(); } @Test public void predicate3() { - boolean result = TupleUtils - .predicate((first, second, third) -> { - assertThat(first).isEqualTo(1); - assertThat(second).isEqualTo(2); - assertThat(third).isEqualTo(3); + boolean result = + TupleUtils.predicate( + (first, second, third) -> { + assertThat(first).isEqualTo(1); + assertThat(second).isEqualTo(2); + assertThat(third).isEqualTo(3); - return true; - }) - .test(Tuples.of(1, 2, 3)); + return true; + }) + .test(Tuples.of(1, 2, 3)); assertThat(result).isTrue(); } @Test public void predicate4() { - boolean result = TupleUtils - .predicate((first, second, third, fourth) -> { - assertThat(first).isEqualTo(1); - assertThat(second).isEqualTo(2); - assertThat(third).isEqualTo(3); - assertThat(fourth).isEqualTo(4); - - return true; - }) - .test(Tuples.of(1, 2, 3, 4)); + boolean result = + TupleUtils.predicate( + (first, second, third, fourth) -> { + assertThat(first).isEqualTo(1); + assertThat(second).isEqualTo(2); + assertThat(third).isEqualTo(3); + assertThat(fourth).isEqualTo(4); + + return true; + }) + .test(Tuples.of(1, 2, 3, 4)); assertThat(result).isTrue(); } @Test public void predicate5() { - boolean result = TupleUtils - .predicate((first, second, third, fourth, fifth) -> { - assertThat(first).isEqualTo(1); - assertThat(second).isEqualTo(2); - assertThat(third).isEqualTo(3); - assertThat(fourth).isEqualTo(4); - assertThat(fifth).isEqualTo(5); - - return true; - }) - .test(Tuples.of(1, 2, 3, 4, 5)); + boolean result = + TupleUtils.predicate( + (first, second, third, fourth, fifth) -> { + assertThat(first).isEqualTo(1); + assertThat(second).isEqualTo(2); + assertThat(third).isEqualTo(3); + assertThat(fourth).isEqualTo(4); + assertThat(fifth).isEqualTo(5); + + return true; + }) + .test(Tuples.of(1, 2, 3, 4, 5)); assertThat(result).isTrue(); } @Test public void predicate6() { - boolean result = TupleUtils - .predicate((first, second, third, fourth, fifth, sixth) -> { - assertThat(first).isEqualTo(1); - assertThat(second).isEqualTo(2); - assertThat(third).isEqualTo(3); - assertThat(fourth).isEqualTo(4); - assertThat(fifth).isEqualTo(5); - assertThat(sixth).isEqualTo(6); - - return true; - }) - .test(Tuples.of(1, 2, 3, 4, 5, 6)); + boolean result = + TupleUtils.predicate( + (first, second, third, fourth, fifth, sixth) -> { + assertThat(first).isEqualTo(1); + assertThat(second).isEqualTo(2); + assertThat(third).isEqualTo(3); + assertThat(fourth).isEqualTo(4); + assertThat(fifth).isEqualTo(5); + assertThat(sixth).isEqualTo(6); + + return true; + }) + .test(Tuples.of(1, 2, 3, 4, 5, 6)); assertThat(result).isTrue(); } @Test public void predicate7() { - boolean result = TupleUtils - .predicate((first, second, third, fourth, fifth, sixth, seventh) -> { - assertThat(first).isEqualTo(1); - assertThat(second).isEqualTo(2); - assertThat(third).isEqualTo(3); - assertThat(fourth).isEqualTo(4); - assertThat(fifth).isEqualTo(5); - assertThat(sixth).isEqualTo(6); - assertThat(seventh).isEqualTo(7); - - return true; - }) - .test(Tuples.of(1, 2, 3, 4, 5, 6, 7)); + boolean result = + TupleUtils.predicate( + (first, second, third, fourth, fifth, sixth, seventh) -> { + assertThat(first).isEqualTo(1); + assertThat(second).isEqualTo(2); + assertThat(third).isEqualTo(3); + assertThat(fourth).isEqualTo(4); + assertThat(fifth).isEqualTo(5); + assertThat(sixth).isEqualTo(6); + assertThat(seventh).isEqualTo(7); + + return true; + }) + .test(Tuples.of(1, 2, 3, 4, 5, 6, 7)); assertThat(result).isTrue(); } @Test public void predicate8() { - boolean result = TupleUtils - .predicate((first, second, third, fourth, fifth, sixth, seventh, eighth) -> { - assertThat(first).isEqualTo(1); - assertThat(second).isEqualTo(2); - assertThat(third).isEqualTo(3); - assertThat(fourth).isEqualTo(4); - assertThat(fifth).isEqualTo(5); - assertThat(sixth).isEqualTo(6); - assertThat(seventh).isEqualTo(7); - assertThat(eighth).isEqualTo(8); - - return true; - }) - .test(Tuples.of(1, 2, 3, 4, 5, 6, 7, 8)); + boolean result = + TupleUtils.predicate( + (first, second, third, fourth, fifth, sixth, seventh, eighth) -> { + assertThat(first).isEqualTo(1); + assertThat(second).isEqualTo(2); + assertThat(third).isEqualTo(3); + assertThat(fourth).isEqualTo(4); + assertThat(fifth).isEqualTo(5); + assertThat(sixth).isEqualTo(6); + assertThat(seventh).isEqualTo(7); + assertThat(eighth).isEqualTo(8); + + return true; + }) + .test(Tuples.of(1, 2, 3, 4, 5, 6, 7, 8)); assertThat(result).isTrue(); } - }