/** * Construct a {@link ServiceInstanceSchema} from the provided values. * * @return the newly constructed {@literal ServiceInstanceSchema} */ public ServiceInstanceSchema build() { return new ServiceInstanceSchema(createMethodSchema, updateMethodSchema); } }
@Test public void emptySchemasIsSerializedToJson() { Schemas schemas = Schemas.builder() .serviceInstanceSchema(ServiceInstanceSchema.builder().build()) .serviceBindingSchema(ServiceBindingSchema.builder().build()) .build(); assertThat(schemas.getServiceInstanceSchema().getCreateMethodSchema()).isNull(); assertThat(schemas.getServiceInstanceSchema().getUpdateMethodSchema()).isNull(); assertThat(schemas.getServiceBindingSchema().getCreateMethodSchema()).isNull(); DocumentContext json = JsonUtils.toJsonPath(schemas); assertThat(json).hasPath("$.service_instance"); assertThat(json).hasNoPath("$.service_instance.create"); assertThat(json).hasNoPath("$.service_instance.update"); assertThat(json).hasPath("$.service_binding"); assertThat(json).hasNoPath("$.service_binding.create"); }
assertThat(catalog.getServiceDefinitions().get(0).getPlans().get(1).isBindable()).isTrue(); assertThat(catalog.getServiceDefinitions().get(0).getPlans().get(1).isFree()).isTrue(); assertThat(catalog.getServiceDefinitions().get(0).getPlans().get(1).getSchemas().getServiceInstanceSchema().getCreateMethodSchema().getParameters()) .containsOnly(entry("$schema", "http://example.com/service/create/schema"), entry("type", "object")); assertThat(catalog.getServiceDefinitions().get(0).getPlans().get(1).getSchemas().getServiceInstanceSchema().getUpdateMethodSchema().getParameters()) .containsOnly(entry("$schema", "http://example.com/service/update/schema"), entry("type", "object")); assertThat(catalog.getServiceDefinitions().get(0).getPlans().get(1).getSchemas().getServiceBindingSchema().getCreateMethodSchema().getParameters())
/** * Converts this object into its corresponding model * * @return a ServiceInstanceSchema model * @see org.springframework.cloud.servicebroker.model.catalog.ServiceInstanceSchema */ public org.springframework.cloud.servicebroker.model.catalog.ServiceInstanceSchema toModel() { return org.springframework.cloud.servicebroker.model.catalog.ServiceInstanceSchema.builder() .createMethodSchema(this.create != null ? this.create.toModel() : null) .updateMethodSchema(this.update != null ? this.update.toModel() : null) .build(); }
.serviceInstanceSchema(ServiceInstanceSchema.builder() .createMethodSchema(MethodSchema.builder() .parameters("$schema", "http://example.com/service/create/schema") .build(); assertThat(schemas.getServiceInstanceSchema().getCreateMethodSchema().getParameters() .get("$schema")).isEqualTo("http://example.com/service/create/schema"); assertThat(schemas.getServiceInstanceSchema().getCreateMethodSchema().getParameters() .get("type")).isEqualTo("object"); assertThat(schemas.getServiceInstanceSchema().getUpdateMethodSchema().getParameters() .get("$schema")).isEqualTo("http://example.com/service/update/schema"); assertThat(schemas.getServiceInstanceSchema().getUpdateMethodSchema().getParameters() .get("type")).isEqualTo("object");
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();
private static Plan getPlanTwo() { Schemas schemas = Schemas.builder() .serviceInstanceSchema(ServiceInstanceSchema.builder() .createMethodSchema(MethodSchema.builder() .parameters("$schema", "http://example.com/service/create/schema") .parameters("type", "object") .build()) .updateMethodSchema(MethodSchema.builder() .parameters("$schema", "http://example.com/service/update/schema") .parameters("type", "object") .build()) .build()) .serviceBindingSchema(ServiceBindingSchema.builder() .createMethodSchema(MethodSchema.builder() .parameters("$schema", "http://example.com/binding/create/schema") .parameters("type", "object") .build()) .build()) .build(); return Plan.builder() .id("plan-two-id") .name("Plan Two") .description("Description for Plan Two") .metadata("key1", "value1") .metadata("key2", "value2") .bindable(false) .free(true) .schemas(schemas) .build(); }
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();
/** * Construct a {@link ServiceInstanceSchema} from the provided values. * * @return the newly constructed {@literal ServiceInstanceSchema} */ public ServiceInstanceSchema build() { return new ServiceInstanceSchema(createMethodSchema, updateMethodSchema); } }