assertThat(catalog.getServiceDefinitions().get(0).getPlans().get(0).getId()).isEqualTo("plan-one-id"); assertThat(catalog.getServiceDefinitions().get(0).getPlans().get(0).getName()).isEqualTo("Plan One"); assertThat(catalog.getServiceDefinitions().get(0).getPlans().get(0).getDescription()).isEqualTo("Description for Plan One"); assertThat(context) .getBean(CatalogService.class)
@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(0).getId()).isEqualTo("plan-one-id"); assertThat(catalog.getServiceDefinitions().get(0).getPlans().get(0).getName()).isEqualTo("Plan One"); assertThat(catalog.getServiceDefinitions().get(0).getPlans().get(0).getDescription()).isEqualTo("Description for Plan One"); assertThat(catalog.getServiceDefinitions().get(0).getPlans().get(1).getId()).isEqualTo("plan-two-id"); assertThat(catalog.getServiceDefinitions().get(0).getPlans().get(1).getName()).isEqualTo("Plan Two"); assertThat(catalog.getServiceDefinitions().get(0).getPlans().get(1).getDescription()).isEqualTo("Description for Plan Two"); 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(1).getPlans().get(0).getId()).isEqualTo("plan-one-id"); assertThat(catalog.getServiceDefinitions().get(1).getPlans().get(0).getName()).isEqualTo("Plan One"); assertThat(catalog.getServiceDefinitions().get(1).getPlans().get(0).getDescription()).isEqualTo("Description for Plan One");
assertThat(plan.getDescription()).isEqualTo("Plan One"); assertThat(plan.isFree()).isEqualTo(false); assertThat(plan.isBindable()).isEqualTo(true);
.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)))
.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[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[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[3]").doesNotExist()