Java源码示例:org.springframework.cloud.servicebroker.model.catalog.Catalog
示例1
@Bean
public Catalog catalog() {
Plan plan = Plan.builder()
.id("b973fb78-82f3-49ef-9b8b-c1876974a6cd")
.name("standard")
.description("A simple book store plan")
.free(true)
.build();
ServiceDefinition serviceDefinition = ServiceDefinition.builder()
.id("bdb1be2e-360b-495c-8115-d7697f9c6a9e")
.name("bookstore")
.description("A simple book store service")
.bindable(true)
.tags("book-store", "books", "sample")
.plans(plan)
.metadata("displayName", "bookstore")
.metadata("longDescription", "A simple book store service")
.metadata("providerDisplayName", "Acme Books")
.build();
return Catalog.builder()
.serviceDefinitions(serviceDefinition)
.build();
}
示例2
@Bean
protected CatalogService catalogService() {
return new CatalogService() {
@Override
public Mono<ServiceDefinition> getServiceDefinition(String serviceId) {
return this.getCatalog()
.flatMapIterable(Catalog::getServiceDefinitions)
.filter(service -> serviceId.equals(service.getId()))
.next();
}
@Override
public Mono<Catalog> getCatalog() {
return Mono.just(Catalog.builder()
.serviceDefinitions(ServiceDefinition.builder()
.id("default-service")
.plans(Plan.builder()
.id("default-plan")
.build())
.build())
.build()
);
}
};
}
示例3
@Bean
public Catalog catalog() {
Plan plan = Plan.builder()
.id("simple-plan")
.name("standard")
.description("A simple plan")
.free(true)
.build();
ServiceDefinition serviceDefinition = ServiceDefinition.builder()
.id("example-service")
.name("example")
.description("A simple example")
.bindable(true)
.tags("example", "tags")
.plans(plan)
.build();
return Catalog.builder()
.serviceDefinitions(serviceDefinition)
.build();
}
示例4
@Bean
public Catalog catalog() {
Plan mailFreePlan = Plan.builder()
.id("fd81196c-a414-43e5-bd81-1dbb082a3c55")
.name("mail-free-plan")
.description("Mail Service Free Plan")
.free(true)
.build();
ServiceDefinition serviceDefinition = ServiceDefinition.builder()
.id("b92c0ca7-c162-4029-b567-0d92978c0a97")
.name("mail-service")
.description("Mail Service")
.bindable(true)
.tags("mail", "service")
.plans(mailFreePlan)
.build();
return Catalog.builder()
.serviceDefinitions(serviceDefinition)
.build();
}
示例5
@Bean
public Catalog catalog() {
return new Catalog(mergeServices().stream()
.filter(ServiceDefinitionProxy::getActive)
.map(ServiceDefinitionProxy::unproxy)
.collect(Collectors.toList()));
}
示例6
@Override
protected FailureAnalysis analyze(Throwable rootFailure, CatalogDefinitionDoesNotExistException cause) {
String description = "A 'service broker catalog' is required for Spring Cloud Open Service Broker applications";
String action = String.format("Consider defining a catalog in properties or a bean of type" +
" '%s' in your configuration. Alternatively, you may implement a service of type '%s'. See " +
"the reference documentation for more information: " + REFERENCE_DOC, Catalog.class,
CatalogService.class);
return new FailureAnalysis(description, action, cause);
}
示例7
/**
* Conditionally provides a {@link CatalogService} bean
*
* @param catalog the catalog
* @return the bean
*/
@Bean
@ConditionalOnMissingBean(CatalogService.class)
public CatalogService beanCatalogService(@Autowired(required = false) Catalog catalog) {
if (catalog == null) {
throw new CatalogDefinitionDoesNotExistException();
}
return new BeanCatalogService(catalog);
}
示例8
@Test
void matchingHeaderSent() throws Exception {
given(catalogService.getCatalog())
.willReturn(Mono.just(Catalog.builder().build()));
mockWithExpectedVersion().perform(get(CATALOG_PATH)
.header(BrokerApiVersion.DEFAULT_API_VERSION_HEADER, "expected-version")
.accept(MediaType.APPLICATION_JSON))
.andExpect(status().isOk());
}
示例9
@Test
void anyHeaderNotSent() throws Exception {
given(catalogService.getCatalog())
.willReturn(Mono.just(Catalog.builder().build()));
mockWithDefaultVersion().perform(get(CATALOG_PATH)
.accept(MediaType.APPLICATION_JSON))
.andExpect(status().isOk());
}
示例10
@Test
void anyHeaderSent() throws Exception {
given(catalogService.getCatalog())
.willReturn(Mono.just(Catalog.builder().build()));
mockWithDefaultVersion().perform(get(CATALOG_PATH)
.header(BrokerApiVersion.DEFAULT_API_VERSION_HEADER, "ignored-version")
.accept(MediaType.APPLICATION_JSON))
.andExpect(status().isOk());
}
示例11
@BeforeEach
void setUp() {
this.mvc = MockMvcBuilders.standaloneSetup(controller)
.addInterceptors(new RequestIdentityInterceptor())
.build();
given(catalogService.getCatalog())
.willReturn(Mono.just(Catalog.builder().build()));
}
示例12
@BeforeEach
void setUp() {
this.mockMvc = MockMvcBuilders.standaloneSetup(this.controller)
.setMessageConverters(new MappingJackson2HttpMessageConverter())
.build();
this.serviceDefinition = ServiceFixture.getSimpleService();
Catalog catalog = Catalog.builder()
.serviceDefinitions(this.serviceDefinition)
.build();
given(this.catalogService.getCatalog())
.willReturn(Mono.just(catalog));
}
示例13
@Test
void servicesAreCreatedFromCatalogProperties() {
this.contextRunner
.withUserConfiguration(MissingCatalogServiceConfiguration.class)
.withPropertyValues(
"spring.cloud.openservicebroker.catalog.services[0].id=service-one-id",
"spring.cloud.openservicebroker.catalog.services[0].name=Service One",
"spring.cloud.openservicebroker.catalog.services[0].description=Description for Service One",
"spring.cloud.openservicebroker.catalog.services[0].plans[0].id=plan-one-id",
"spring.cloud.openservicebroker.catalog.services[0].plans[0].name=Plan One",
"spring.cloud.openservicebroker.catalog.services[0].plans[0].description=Description for Plan One")
.run((context) -> {
assertThat(context).hasSingleBean(Catalog.class);
Catalog catalog = context.getBean(Catalog.class);
assertThat(catalog.getServiceDefinitions()).hasSize(1);
assertThat(catalog.getServiceDefinitions().get(0).getId()).isEqualTo("service-one-id");
assertThat(catalog.getServiceDefinitions().get(0).getName()).isEqualTo("Service One");
assertThat(catalog.getServiceDefinitions().get(0).getDescription())
.isEqualTo("Description for Service One");
assertThat(catalog.getServiceDefinitions().get(0).getPlans()).hasSize(1);
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)
.isExactlyInstanceOf(BeanCatalogService.class);
assertThat(context)
.getBean(ServiceInstanceBindingService.class)
.isExactlyInstanceOf(NonBindableServiceInstanceBindingService.class);
assertThat(context)
.getBean(ServiceInstanceService.class)
.isExactlyInstanceOf(TestServiceInstanceService.class);
});
}
示例14
@Test
void matchingHeaderSent() {
given(catalogService.getCatalog())
.willReturn(Mono.just(Catalog.builder().build()));
mockWithExpectedVersion().get().uri(CATALOG_PATH)
.header(BrokerApiVersion.DEFAULT_API_VERSION_HEADER, "expected-version")
.accept(MediaType.APPLICATION_JSON)
.exchange()
.expectStatus().isOk();
}
示例15
@Test
void anyHeaderNotSent() {
given(catalogService.getCatalog())
.willReturn(Mono.just(Catalog.builder().build()));
mockWithDefaultVersion().get().uri(CATALOG_PATH)
.accept(MediaType.APPLICATION_JSON)
.exchange()
.expectStatus().isOk();
}
示例16
@Test
void anyHeaderSent() {
given(catalogService.getCatalog())
.willReturn(Mono.just(Catalog.builder().build()));
mockWithDefaultVersion().get().uri(CATALOG_PATH)
.header(BrokerApiVersion.DEFAULT_API_VERSION_HEADER, "ignored-version")
.accept(MediaType.APPLICATION_JSON)
.exchange()
.expectStatus().isOk();
}
示例17
@BeforeEach
void setUp() {
this.client = WebTestClient.bindToController(this.controller).build();
this.serviceDefinition = ServiceFixture.getSimpleService();
Catalog catalog = Catalog.builder()
.serviceDefinitions(this.serviceDefinition)
.build();
given(this.catalogService.getCatalog())
.willReturn(Mono.just(catalog));
}
示例18
@BeforeEach
void setUp() {
this.client = WebTestClient.bindToController(controller)
.webFilter(new RequestIdentityWebFilter())
.build();
given(catalogService.getCatalog())
.willReturn(Mono.just(Catalog.builder().build()));
}
示例19
@Override
public Mono<Catalog> getCatalog() {
return getServiceDefinition("example-service")
.map(serviceDefinition -> Catalog.builder()
.serviceDefinitions(serviceDefinition)
.build());
}
示例20
/**
* REST controller for getting a catalog
*
* @return the catalog
*/
@GetMapping({"/v2/catalog", "{platformInstanceId}/v2/catalog"})
public Mono<Catalog> getCatalog() {
return catalogService.getCatalog()
.doOnRequest(v -> LOG.info("Retrieving catalog"))
.doOnSuccess(catalog -> {
LOG.info("Success retrieving catalog");
LOG.debug("catalog={}", catalog);
})
.doOnError(e -> LOG.error("Error retrieving catalog. error=" + e.getMessage(), e));
}
示例21
@Test
void catalogIsReturned() {
Catalog expectedCatalog = Catalog.builder().build();
given(catalogService.getCatalog()).willReturn(Mono.just(expectedCatalog));
CatalogController controller = new CatalogController(catalogService);
Catalog actualCatalog = controller.getCatalog().block();
assertThat(actualCatalog).isEqualTo(expectedCatalog);
}
示例22
@BeforeEach
void setUp() {
serviceDefinition = ServiceDefinition.builder()
.id(SVC_DEF_ID)
.name("Name")
.description("Description")
.bindable(true)
.build();
catalog = Catalog.builder()
.serviceDefinitions(serviceDefinition)
.build();
service = new BeanCatalogService(catalog);
}
示例23
@Override
public Mono<Catalog> getCatalog() {
return Mono.empty();
}
示例24
private void validateCatalogModel(Catalog catalog) {
assertThat(catalog.getServiceDefinitions().get(0).getId()).isEqualTo("service-one-id");
assertThat(catalog.getServiceDefinitions().get(0).getName()).isEqualTo("Service One");
assertThat(catalog.getServiceDefinitions().get(0).getDescription()).isEqualTo("Description for Service One");
assertThat(catalog.getServiceDefinitions().get(0).isBindable()).isTrue();
assertThat(catalog.getServiceDefinitions().get(0).isBindingsRetrievable()).isTrue();
assertThat(catalog.getServiceDefinitions().get(0).isAllowContextUpdates()).isFalse();
assertThat(catalog.getServiceDefinitions().get(0).isInstancesRetrievable()).isTrue();
assertThat(catalog.getServiceDefinitions().get(0).isPlanUpdateable()).isTrue();
assertThat(catalog.getServiceDefinitions().get(0).getMetadata())
.contains(entry("key1", "value1"), entry("key2", "value2"));
assertThat(catalog.getServiceDefinitions().get(0).getMetadata().get("displayName"))
.isEqualTo("service display name");
assertThat(catalog.getServiceDefinitions().get(0).getMetadata().get("imageUrl")).isEqualTo("image-uri");
assertThat(catalog.getServiceDefinitions().get(0).getMetadata().get("longDescription"))
.isEqualTo("service long description");
assertThat(catalog.getServiceDefinitions().get(0).getMetadata().get("providerDisplayName"))
.isEqualTo("service provider display name");
assertThat(catalog.getServiceDefinitions().get(0).getMetadata().get("documentationUrl"))
.isEqualTo("service-documentation-url");
assertThat(catalog.getServiceDefinitions().get(0).getMetadata().get("supportUrl"))
.isEqualTo("service-support-url");
assertThat(catalog.getServiceDefinitions().get(0).getRequires())
.containsOnly("syslog_drain", "route_forwarding");
assertThat(catalog.getServiceDefinitions().get(0).getTags()).containsOnly("tag1", "tag2");
assertThat(catalog.getServiceDefinitions().get(0).getDashboardClient().getId()).isEqualTo("dashboard-id");
assertThat(catalog.getServiceDefinitions().get(0).getDashboardClient().getSecret())
.isEqualTo("dashboard-secret");
assertThat(catalog.getServiceDefinitions().get(0).getDashboardClient().getRedirectUri())
.isEqualTo("dashboard-redirect-uri");
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(0).getMaintenanceInfo().getVersion())
.isEqualTo("1.0.1");
assertThat(catalog.getServiceDefinitions().get(0).getPlans().get(0).getMaintenanceInfo().getDescription())
.isEqualTo("Description for maintenance info");
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())
.contains(entry("key1", "value1"), entry("key2", "value2"),
entry("displayName", "sample display name"));
assertThat(catalog.getServiceDefinitions().get(0).getPlans().get(1).getMetadata().get("costs")).isNotNull();
assertThat(catalog.getServiceDefinitions().get(0).getPlans().get(1).getMetadata().get("bullets")).isNotNull();
assertThat(catalog.getServiceDefinitions().get(0).getPlans().get(1).getMetadata())
.contains(entry("displayName", "sample display name"),
entry("bullets", Arrays.asList("bullet1", "bullet2")), entry("key1", "value1"),
entry("key2", "value2"));
@SuppressWarnings("unchecked")
Map<String, Object> cost =
((List<Map<String, Object>>) catalog.getServiceDefinitions().get(0).getPlans().get(1).getMetadata()
.get("costs")).get(0);
assertThat(cost.get("unit")).isEqualTo("MONTHLY");
@SuppressWarnings("unchecked")
Map<String, Object> amount = (Map<String, Object>) cost.get("amount");
assertThat(amount).containsOnly(entry("usd", 649.0));
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).isPlanUpdateable()).isTrue();
assertThat(catalog.getServiceDefinitions().get(0).getPlans().get(1).getSchemas().getServiceInstanceSchema()
.getCreateMethodSchema().getParameters())
.contains(entry("$schema", "http://json-schema.org/draft-04/schema#"), entry("type", "string"));
assertThat(catalog.getServiceDefinitions().get(0).getPlans().get(1).getSchemas().getServiceInstanceSchema()
.getCreateMethodSchema().getParameters().get("enum")).isInstanceOf(List.class);
@SuppressWarnings("unchecked")
List<String> enumList = (List<String>) catalog.getServiceDefinitions().get(0).getPlans().get(1).getSchemas()
.getServiceInstanceSchema().getCreateMethodSchema().getParameters().get("enum");
assertThat(enumList).containsOnly("one", "two", "three");
assertThat(catalog.getServiceDefinitions().get(0).getPlans().get(1).getSchemas().getServiceInstanceSchema()
.getUpdateMethodSchema().getParameters())
.containsOnly(entry("$schema", "http://json-schema.org/draft-04/schema#"), entry("type", "object"));
assertThat(catalog.getServiceDefinitions().get(0).getPlans().get(1).getSchemas().getServiceBindingSchema()
.getCreateMethodSchema().getParameters())
.containsOnly(entry("$schema", "http://json-schema.org/draft-04/schema#"), entry("type", "object"));
assertThat(catalog.getServiceDefinitions().get(0).getPlans().get(1).getMaximumPollingDuration()).isEqualTo(200);
assertThat(catalog.getServiceDefinitions().get(1).getId()).isEqualTo("service-two-id");
assertThat(catalog.getServiceDefinitions().get(1).getName()).isEqualTo("Service Two");
assertThat(catalog.getServiceDefinitions().get(1).getDescription()).isEqualTo("Description for Service Two");
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");
}
示例25
@Bean
protected Catalog catalog() {
return Catalog.builder().build();
}
示例26
@Bean
protected Catalog catalog() {
return Catalog.builder().build();
}
示例27
@Bean
protected Catalog catalog() {
return Catalog.builder().build();
}
示例28
@Bean
protected Catalog catalog() {
return Catalog.builder().build();
}
示例29
@Bean
protected Catalog catalog() {
return Catalog.builder()
.serviceDefinitions(ServiceFixture.getSimpleService())
.build();
}
示例30
@Bean
protected Catalog catalog() {
return Catalog.builder()
.serviceDefinitions(ServiceFixture.getSimpleService())
.build();
}