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();
}