Search in sources :

Example 6 with Plan

use of org.springframework.cloud.servicebroker.model.catalog.Plan in project spring-cloud-open-service-broker by spring-cloud.

the class CatalogControllerIntegrationTest method assertCatalog.

private void assertCatalog(final String uri) {
    List<Plan> plans = serviceDefinition.getPlans();
    Schemas schemas = plans.get(1).getSchemas();
    Map<String, Object> createServiceInstanceSchema = schemas.getServiceInstanceSchema().getCreateMethodSchema().getParameters();
    Map<String, Object> updateServiceInstanceSchema = schemas.getServiceInstanceSchema().getUpdateMethodSchema().getParameters();
    Map<String, Object> createServiceBindingSchema = schemas.getServiceBindingSchema().getCreateMethodSchema().getParameters();
    client.get().uri(uri).accept(MediaType.APPLICATION_JSON).exchange().expectStatus().isOk().expectHeader().contentTypeCompatibleWith(MediaType.APPLICATION_JSON).expectBody().jsonPath("$.services").isNotEmpty().jsonPath("$.services").isArray().jsonPath("$.services[0]").isNotEmpty().jsonPath("$.services[0].id").isEqualTo(serviceDefinition.getId()).jsonPath("$.services[0].name").isEqualTo(serviceDefinition.getName()).jsonPath("$.services[0].description").isEqualTo(serviceDefinition.getDescription()).jsonPath("$.services[0].bindable").isEqualTo(serviceDefinition.isBindable()).jsonPath("$.services[0].plan_updateable").doesNotExist().jsonPath("$.services[0].instances_retrievable").doesNotExist().jsonPath("$.services[0].bindings_retrievable").doesNotExist().jsonPath("$.services[0].requires").isNotEmpty().jsonPath("$.services[0].requires").isArray().jsonPath("$.services[0].requires[0]").isEqualTo(SERVICE_REQUIRES_SYSLOG_DRAIN.toString()).jsonPath("$.services[0].requires[1]").isEqualTo(SERVICE_REQUIRES_ROUTE_FORWARDING.toString()).jsonPath("$.services[0].requires[2]").doesNotExist().jsonPath("$.services[0].plans").isNotEmpty().jsonPath("$.services[0].plans").isArray().jsonPath("$.services[0].plans[0].id").isEqualTo(plans.get(0).getId()).jsonPath("$.services[0].plans[0].name").isEqualTo(plans.get(0).getName()).jsonPath("$.services[0].plans[0].description").isEqualTo(plans.get(0).getDescription()).jsonPath("$.services[0].plans[0].free").isEqualTo(plans.get(0).isFree()).jsonPath("$.services[0].plans[0].maintenance_info").isNotEmpty().jsonPath("$.services[0].plans[0].maintenance_info.version").isEqualTo("1.0.0-alpha+001").jsonPath("$.services[0].plans[0].maintenance_info.description").isEqualTo("Description for maintenance info").jsonPath("$.services[0].plans[1].id").isEqualTo(plans.get(1).getId()).jsonPath("$.services[0].plans[1].name").isEqualTo(plans.get(1).getName()).jsonPath("$.services[0].plans[1].description").isEqualTo(plans.get(1).getDescription()).jsonPath("$.services[0].plans[1].metadata").isEqualTo(plans.get(1).getMetadata()).jsonPath("$.services[0].plans[1].bindable").isEqualTo(plans.get(1).isBindable()).jsonPath("$.services[0].plans[1].free").isEqualTo(plans.get(1).isFree()).jsonPath("$.services[0].plans[1].plan_updateable").isEqualTo(plans.get(1).isPlanUpdateable()).jsonPath("$.services[0].plans[1].schemas.service_instance.create.parameters").isEqualTo(createServiceInstanceSchema).jsonPath("$.services[0].plans[1].schemas.service_instance.update.parameters").isEqualTo(updateServiceInstanceSchema).jsonPath("$.services[0].plans[1].schemas.service_binding.create.parameters").isEqualTo(createServiceBindingSchema).jsonPath("$.services[0].plans[1].maximum_polling_duration").isEqualTo(plans.get(1).getMaximumPollingDuration()).jsonPath("$.services[0].plans[1].maintenance_info").doesNotExist().jsonPath("$.services[0].plans[2].id").isEqualTo(plans.get(2).getId()).jsonPath("$.services[0].plans[2].name").isEqualTo(plans.get(2).getName()).jsonPath("$.services[0].plans[2].description").isEqualTo(plans.get(2).getDescription()).jsonPath("$.services[0].plans[2].free").isEqualTo(plans.get(2).isFree()).jsonPath("$.services[0].plans[2].maintenance_info").doesNotExist().jsonPath("$.services[0].plans[3]").doesNotExist().jsonPath("$.services[1]").doesNotExist();
}
Also used : Plan(org.springframework.cloud.servicebroker.model.catalog.Plan) Schemas(org.springframework.cloud.servicebroker.model.catalog.Schemas)

Aggregations

Plan (org.springframework.cloud.servicebroker.model.catalog.Plan)6 Schemas (org.springframework.cloud.servicebroker.model.catalog.Schemas)3 ServiceDefinition (org.springframework.cloud.servicebroker.model.catalog.ServiceDefinition)3 ArrayList (java.util.ArrayList)2 BeforeEach (org.junit.jupiter.api.BeforeEach)2 List (java.util.List)1 Bean (org.springframework.context.annotation.Bean)1 ResultActions (org.springframework.test.web.servlet.ResultActions)1