@Test public void planWithDefaultsIsSerializedToJson() { Plan plan = Plan.builder() .id("plan-id-one") .name("plan-one") .description("Plan One") .build(); assertThat(plan.getId()).isEqualTo("plan-id-one"); assertThat(plan.getName()).isEqualTo("plan-one"); assertThat(plan.getDescription()).isEqualTo("Plan One"); assertThat(plan.isFree()).isEqualTo(true); assertThat(plan.isBindable()).isNull(); assertThat(plan.getMetadata()).isNull(); assertThat(plan.getSchemas()).isNull(); DocumentContext json = JsonUtils.toJsonPath(plan); assertThat(json).hasPath("$.id").isEqualTo("plan-id-one"); assertThat(json).hasPath("$.name").isEqualTo("plan-one"); assertThat(json).hasPath("$.description").isEqualTo("Plan One"); assertThat(json).hasPath("$.free").isEqualTo(true); assertThat(json).hasNoPath("$.bindable"); assertThat(json).hasNoPath("$.metadata"); assertThat(json).hasNoPath("$.schemas"); }
assertThat(catalog.getServiceDefinitions().get(0).getPlans().get(1).getMetadata()).containsOnly(entry("key1", "value1"), entry("key2", "value2")); 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(plan.getName()).isEqualTo("plan-one"); assertThat(plan.getDescription()).isEqualTo("Plan One"); assertThat(plan.isFree()).isEqualTo(false); assertThat(plan.isBindable()).isEqualTo(true); assertThat(plan.getMetadata()).hasSize(4);
.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[*].schemas.service_instance.create.parameters", contains(createServiceInstanceSchema))) .andExpect(jsonPath("$.services[*].plans[*].schemas.service_instance.update.parameters", contains(updateServiceInstanceSchema)))
.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[1].id").isEqualTo(plans.get(1).getId()) .jsonPath("$.services[0].plans[1].name").isEqualTo(plans.get(1).getName()) .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].schemas.service_instance.create.parameters").isEqualTo(createServiceInstanceSchema) .jsonPath("$.services[0].plans[1].schemas.service_instance.update.parameters").isEqualTo(updateServiceInstanceSchema) .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[3]").doesNotExist() .jsonPath("$.services[1]").doesNotExist();