Search in sources :

Example 1 with Schemas

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

the class CatalogControllerIntegrationTest method assertResult.

@SuppressWarnings("unchecked")
private void assertResult(MvcResult mvcResult) throws Exception {
    List<String> features = (List<String>) serviceDefinition.getMetadata().get("features");
    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();
    ResultActions resultActions = this.mockMvc.perform(asyncDispatch(mvcResult));
    resultActions.andDo(print()).andExpect(status().isOk()).andExpect(content().contentTypeCompatibleWith(MediaType.APPLICATION_JSON)).andExpect(jsonPath("$.services", hasSize(1))).andExpect(jsonPath("$.services[*].id", contains(serviceDefinition.getId()))).andExpect(jsonPath("$.services[*].name", contains(serviceDefinition.getName()))).andExpect(jsonPath("$.services[*].description", contains(serviceDefinition.getDescription()))).andExpect(jsonPath("$.services[*].bindable", contains(serviceDefinition.isBindable()))).andExpect(jsonPath("$.services[*].requires[*]", containsInAnyOrder(SERVICE_REQUIRES_SYSLOG_DRAIN.toString(), SERVICE_REQUIRES_ROUTE_FORWARDING.toString()))).andExpect(jsonPath("$.services[*].metadata.features[*]", contains(features.get(0), features.get(1)))).andExpect(jsonPath("$.services[*].plans[*]", hasSize(3))).andExpect(jsonPath("$.services[*].plans[*].id", containsInAnyOrder(plans.get(0).getId(), plans.get(1).getId(), plans.get(2).getId()))).andExpect(jsonPath("$.services[*].plans[*].name", containsInAnyOrder(plans.get(0).getName(), plans.get(1).getName(), plans.get(2).getName()))).andExpect(jsonPath("$.services[*].plans[*].description", containsInAnyOrder(plans.get(0).getDescription(), plans.get(1).getDescription(), plans.get(2).getDescription()))).andExpect(jsonPath("$.services[*].plans[*].metadata", contains(plans.get(1).getMetadata()))).andExpect(jsonPath("$.services[*].plans[*].bindable", hasSize(1))).andExpect(jsonPath("$.services[*].plans[*].bindable", contains(plans.get(1).isBindable()))).andExpect(jsonPath("$.services[*].plans[*].free", containsInAnyOrder(plans.get(0).isFree(), plans.get(1).isFree(), plans.get(2).isFree()))).andExpect(jsonPath("$.services[*].plans[*].plan_updateable", contains(plans.get(1).isPlanUpdateable()))).andExpect(jsonPath("$.services[*].plans[*].maximum_polling_duration", contains(plans.get(1).getMaximumPollingDuration()))).andExpect(jsonPath("$.services[*].plans[*].schemas.service_instance.create.parameters", contains(createServiceInstanceSchema))).andExpect(jsonPath("$.services[*].plans[*].schemas.service_instance.update.parameters", contains(updateServiceInstanceSchema))).andExpect(jsonPath("$.services[*].plans[*].schemas.service_binding.create.parameters", contains(createServiceBindingSchema))).andExpect(jsonPath("$.services[*].plans[*].maintenance_info.version", contains(plans.get(0).getMaintenanceInfo().getVersion()))).andExpect(jsonPath("$.services[*].plans[*].maintenance_info.description", contains(plans.get(0).getMaintenanceInfo().getDescription())));
}
Also used : List(java.util.List) ResultActions(org.springframework.test.web.servlet.ResultActions) Plan(org.springframework.cloud.servicebroker.model.catalog.Plan) Schemas(org.springframework.cloud.servicebroker.model.catalog.Schemas)

Example 2 with Schemas

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

the class CatalogControllerIntegrationTest method assertResult.

@SuppressWarnings("unchecked")
private void assertResult(ResultActions result) throws Exception {
    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();
    result.andDo(print()).andExpect(status().isOk()).andExpect(content().contentTypeCompatibleWith(MediaType.APPLICATION_JSON)).andExpect(jsonPath("$.services", hasSize(1))).andExpect(jsonPath("$.services[*].id", contains(serviceDefinition.getId()))).andExpect(jsonPath("$.services[*].name", contains(serviceDefinition.getName()))).andExpect(jsonPath("$.services[*].description", contains(serviceDefinition.getDescription()))).andExpect(jsonPath("$.services[*].bindable", contains(serviceDefinition.isBindable()))).andExpect(jsonPath("$.services[*].requires[*]", containsInAnyOrder(SERVICE_REQUIRES_SYSLOG_DRAIN.toString(), SERVICE_REQUIRES_ROUTE_FORWARDING.toString()))).andExpect(jsonPath("$.services[*].plans[*]", hasSize(2))).andExpect(jsonPath("$.services[*].plans[*].id", containsInAnyOrder(plans.get(0).getId(), plans.get(1).getId()))).andExpect(jsonPath("$.services[*].plans[*].name", containsInAnyOrder(plans.get(0).getName(), plans.get(1).getName()))).andExpect(jsonPath("$.services[*].plans[*].description", containsInAnyOrder(plans.get(0).getDescription(), plans.get(1).getDescription()))).andExpect(jsonPath("$.services[*].plans[*].metadata", contains(plans.get(1).getMetadata()))).andExpect(jsonPath("$.services[*].plans[*].bindable", hasSize(1))).andExpect(jsonPath("$.services[*].plans[*].bindable", contains(plans.get(1).isBindable()))).andExpect(jsonPath("$.services[*].plans[*].free", containsInAnyOrder(plans.get(0).isFree(), plans.get(1).isFree()))).andExpect(jsonPath("$.services[*].plans[*].schemas.service_instance.create.parameters", contains(createServiceInstanceSchema))).andExpect(jsonPath("$.services[*].plans[*].schemas.service_instance.update.parameters", contains(updateServiceInstanceSchema))).andExpect(jsonPath("$.services[*].plans[*].schemas.service_binding.create.parameters", contains(createServiceBindingSchema)));
}
Also used : Plan(org.springframework.cloud.servicebroker.model.catalog.Plan) Schemas(org.springframework.cloud.servicebroker.model.catalog.Schemas)

Example 3 with Schemas

use of org.springframework.cloud.servicebroker.model.catalog.Schemas 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)3 Schemas (org.springframework.cloud.servicebroker.model.catalog.Schemas)3 List (java.util.List)1 ResultActions (org.springframework.test.web.servlet.ResultActions)1