2.2.x: Bump io.spring.javaformat from 0.0.35 to 0.0.39 (#129)
* Bump io.spring.javaformat from 0.0.35 to 0.0.39 Bumps [io.spring.javaformat](https://github.com/spring-io/spring-javaformat) from 0.0.35 to 0.0.39. - [Release notes](https://github.com/spring-io/spring-javaformat/releases) - [Commits](https://github.com/spring-io/spring-javaformat/compare/v0.0.35...v0.0.39) --- updated-dependencies: - dependency-name: io.spring.javaformat dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> * Formatting with new version (#159) --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Alberto C. Ríos <albertoimpl@gmail.com>
This commit is contained in:
@@ -18,7 +18,7 @@ plugins {
|
||||
id 'checkstyle'
|
||||
id 'io.spring.nohttp' version '0.0.11'
|
||||
id 'io.spring.dependency-management' version '1.0.15.RELEASE'
|
||||
id 'io.spring.javaformat' version '0.0.35'
|
||||
id 'io.spring.javaformat' version '0.0.39'
|
||||
}
|
||||
|
||||
description = "Spring CredHub"
|
||||
|
||||
@@ -61,7 +61,7 @@ public final class ClientHttpConnectorFactory {
|
||||
|
||||
if (usingCustomCerts(options)) {
|
||||
TrustManagerFactory trustManagerFactory = sslCertificateUtils
|
||||
.createTrustManagerFactory(options.getCaCertFiles());
|
||||
.createTrustManagerFactory(options.getCaCertFiles());
|
||||
|
||||
httpClient = httpClient.secure((sslContextSpec) -> sslContextSpec.sslContext(
|
||||
SslContextBuilder.forClient().sslProvider(SslProvider.JDK).trustManager(trustManagerFactory)));
|
||||
@@ -81,8 +81,8 @@ public final class ClientHttpConnectorFactory {
|
||||
|
||||
if (options.getConnectionTimeout() != null) {
|
||||
httpClient = httpClient
|
||||
.tcpConfiguration((tcpClient) -> tcpClient.option(ChannelOption.CONNECT_TIMEOUT_MILLIS,
|
||||
Math.toIntExact(options.getConnectionTimeout().toMillis())));
|
||||
.tcpConfiguration((tcpClient) -> tcpClient.option(ChannelOption.CONNECT_TIMEOUT_MILLIS,
|
||||
Math.toIntExact(options.getConnectionTimeout().toMillis())));
|
||||
}
|
||||
|
||||
return new ReactorClientHttpConnector(httpClient);
|
||||
|
||||
@@ -191,7 +191,7 @@ public final class ClientHttpRequestFactoryFactory {
|
||||
|
||||
if (usingCustomCerts(options)) {
|
||||
SSLSocketFactory socketFactory = sslCertificateUtils.getSSLContext(options.getCaCertFiles())
|
||||
.getSocketFactory();
|
||||
.getSocketFactory();
|
||||
X509TrustManager trustManager = sslCertificateUtils.createTrustManager(options.getCaCertFiles());
|
||||
|
||||
builder.sslSocketFactory(socketFactory, trustManager);
|
||||
@@ -237,10 +237,12 @@ public final class ClientHttpRequestFactoryFactory {
|
||||
|
||||
if (usingCustomCerts(options)) {
|
||||
TrustManagerFactory trustManagerFactory = sslCertificateUtils
|
||||
.createTrustManagerFactory(options.getCaCertFiles());
|
||||
.createTrustManagerFactory(options.getCaCertFiles());
|
||||
|
||||
SslContext sslContext = SslContextBuilder.forClient().sslProvider(SslProvider.JDK)
|
||||
.trustManager(trustManagerFactory).build();
|
||||
SslContext sslContext = SslContextBuilder.forClient()
|
||||
.sslProvider(SslProvider.JDK)
|
||||
.trustManager(trustManagerFactory)
|
||||
.build();
|
||||
|
||||
requestFactory.setSslContext(sslContext);
|
||||
}
|
||||
|
||||
@@ -47,7 +47,7 @@ class SslCertificateUtils {
|
||||
X509TrustManager getDefaultX509TrustManager() {
|
||||
try {
|
||||
TrustManagerFactory trustManagerFactory = TrustManagerFactory
|
||||
.getInstance(TrustManagerFactory.getDefaultAlgorithm());
|
||||
.getInstance(TrustManagerFactory.getDefaultAlgorithm());
|
||||
trustManagerFactory.init((KeyStore) null);
|
||||
|
||||
TrustManager[] trustManagers = trustManagerFactory.getTrustManagers();
|
||||
@@ -86,7 +86,7 @@ class SslCertificateUtils {
|
||||
KeyStore trustStore = loadCertificateStore(caCertFiles);
|
||||
|
||||
TrustManagerFactory trustManagerFactory = TrustManagerFactory
|
||||
.getInstance(TrustManagerFactory.getDefaultAlgorithm());
|
||||
.getInstance(TrustManagerFactory.getDefaultAlgorithm());
|
||||
trustManagerFactory.init(trustStore);
|
||||
|
||||
return trustManagerFactory;
|
||||
|
||||
@@ -67,8 +67,9 @@ class CredHubOAuth2RequestInterceptor implements ClientHttpRequestInterceptor {
|
||||
|
||||
private OAuth2AuthorizedClient authorizeClient() {
|
||||
OAuth2AuthorizeRequest authorizeRequest = OAuth2AuthorizeRequest
|
||||
.withClientRegistrationId(this.clientRegistration.getRegistrationId())
|
||||
.principal(new OAuth2ClientCredentialsGrantAuthenticationToken(this.clientRegistration)).build();
|
||||
.withClientRegistrationId(this.clientRegistration.getRegistrationId())
|
||||
.principal(new OAuth2ClientCredentialsGrantAuthenticationToken(this.clientRegistration))
|
||||
.build();
|
||||
return this.clientManager.authorize(authorizeRequest);
|
||||
}
|
||||
|
||||
|
||||
@@ -131,9 +131,9 @@ final class CredHubRestTemplateFactory {
|
||||
restTemplate.setRequestFactory(clientHttpRequestFactory);
|
||||
restTemplate.setUriTemplateHandler(new DefaultUriBuilderFactory(baseUri));
|
||||
restTemplate.getInterceptors().add(new CredHubRequestInterceptor());
|
||||
restTemplate.setMessageConverters(
|
||||
Arrays.asList(new ByteArrayHttpMessageConverter(), new StringHttpMessageConverter(),
|
||||
new MappingJackson2HttpMessageConverter(JsonUtils.buildObjectMapper())));
|
||||
restTemplate
|
||||
.setMessageConverters(Arrays.asList(new ByteArrayHttpMessageConverter(), new StringHttpMessageConverter(),
|
||||
new MappingJackson2HttpMessageConverter(JsonUtils.buildObjectMapper())));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -168,9 +168,9 @@ final class CredHubRestTemplateFactory {
|
||||
ClientHttpRequestFactory clientHttpRequestFactory) {
|
||||
|
||||
OAuth2AuthorizedClientProvider authorizedClientProvider = OAuth2AuthorizedClientProviderBuilder.builder()
|
||||
.authorizationCode().clientCredentials(
|
||||
(b) -> b.accessTokenResponseClient(buildTokenResponseClient(clientHttpRequestFactory)))
|
||||
.build();
|
||||
.authorizationCode()
|
||||
.clientCredentials((b) -> b.accessTokenResponseClient(buildTokenResponseClient(clientHttpRequestFactory)))
|
||||
.build();
|
||||
|
||||
DefaultOAuth2AuthorizedClientManager authorizedClientManager = new DefaultOAuth2AuthorizedClientManager(
|
||||
clientRegistrationRepository, authorizedClientRepository);
|
||||
|
||||
@@ -93,16 +93,18 @@ final class CredHubWebClientFactory {
|
||||
ServerOAuth2AuthorizedClientExchangeFilterFunction oauth = new ServerOAuth2AuthorizedClientExchangeFilterFunction(
|
||||
clientManager);
|
||||
|
||||
return buildWebClient(properties.getUrl(), clientHttpConnector).filter(oauth).defaultRequest(
|
||||
(requestHeadersSpec) -> requestHeadersSpec.attributes(ServerOAuth2AuthorizedClientExchangeFilterFunction
|
||||
.clientRegistrationId(properties.getOauth2().getRegistrationId())))
|
||||
.build();
|
||||
return buildWebClient(properties.getUrl(), clientHttpConnector).filter(oauth)
|
||||
.defaultRequest((requestHeadersSpec) -> requestHeadersSpec
|
||||
.attributes(ServerOAuth2AuthorizedClientExchangeFilterFunction
|
||||
.clientRegistrationId(properties.getOauth2().getRegistrationId())))
|
||||
.build();
|
||||
}
|
||||
|
||||
private static ReactiveOAuth2AuthorizedClientProvider buildClientProvider(ClientHttpConnector clientHttpConnector) {
|
||||
return ReactiveOAuth2AuthorizedClientProviderBuilder.builder().authorizationCode()
|
||||
.clientCredentials((b) -> b.accessTokenResponseClient(buildTokenResponseClient(clientHttpConnector)))
|
||||
.build();
|
||||
return ReactiveOAuth2AuthorizedClientProviderBuilder.builder()
|
||||
.authorizationCode()
|
||||
.clientCredentials((b) -> b.accessTokenResponseClient(buildTokenResponseClient(clientHttpConnector)))
|
||||
.build();
|
||||
}
|
||||
|
||||
private static WebClientReactiveClientCredentialsTokenResponseClient buildTokenResponseClient(
|
||||
@@ -131,10 +133,12 @@ final class CredHubWebClientFactory {
|
||||
dc.jackson2JsonEncoder(new Jackson2JsonEncoder(mapper));
|
||||
}).build();
|
||||
|
||||
return WebClient.builder().clientConnector(clientHttpConnector).baseUrl(baseUri)
|
||||
.defaultHeader(HttpHeaders.ACCEPT, MediaType.APPLICATION_JSON_VALUE)
|
||||
.defaultHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE)
|
||||
.exchangeStrategies(strategies);
|
||||
return WebClient.builder()
|
||||
.clientConnector(clientHttpConnector)
|
||||
.baseUrl(baseUri)
|
||||
.defaultHeader(HttpHeaders.ACCEPT, MediaType.APPLICATION_JSON_VALUE)
|
||||
.defaultHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE)
|
||||
.exchangeStrategies(strategies);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -127,7 +127,7 @@ public class CredHubCertificateTemplate implements CredHubCertificateOperations
|
||||
request.put(SIGNED_BY_REQUEST_FIELD, certificateName.getName());
|
||||
|
||||
ResponseEntity<Map<String, List<CredentialName>>> response = restOperations
|
||||
.exchange(BULK_REGENERATE_URL_PATH, HttpMethod.POST, new HttpEntity<>(request), ref);
|
||||
.exchange(BULK_REGENERATE_URL_PATH, HttpMethod.POST, new HttpEntity<>(request), ref);
|
||||
|
||||
ExceptionUtils.throwExceptionOnError(response);
|
||||
|
||||
@@ -146,7 +146,7 @@ public class CredHubCertificateTemplate implements CredHubCertificateOperations
|
||||
request.put(VERSION_REQUEST_FIELD, versionId);
|
||||
|
||||
ResponseEntity<List<CertificateCredentialDetails>> response = restOperations
|
||||
.exchange(UPDATE_TRANSITIONAL_URL_PATH, HttpMethod.PUT, new HttpEntity<Object>(request), ref, id);
|
||||
.exchange(UPDATE_TRANSITIONAL_URL_PATH, HttpMethod.PUT, new HttpEntity<Object>(request), ref, id);
|
||||
|
||||
ExceptionUtils.throwExceptionOnError(response);
|
||||
|
||||
|
||||
@@ -72,19 +72,26 @@ public class ReactiveCredHubCertificateTemplate implements ReactiveCredHubCertif
|
||||
|
||||
@Override
|
||||
public Flux<CertificateSummary> getAll() {
|
||||
return this.credHubOperations.doWithWebClient((webClient) -> webClient.get().uri(BASE_URL_PATH).retrieve()
|
||||
.onStatus(HttpStatus::isError, ExceptionUtils::buildError).bodyToMono(CertificateSummaryData.class)
|
||||
.flatMapMany((data) -> Flux.fromIterable(data.getCertificates())));
|
||||
return this.credHubOperations.doWithWebClient((webClient) -> webClient.get()
|
||||
.uri(BASE_URL_PATH)
|
||||
.retrieve()
|
||||
.onStatus(HttpStatus::isError, ExceptionUtils::buildError)
|
||||
.bodyToMono(CertificateSummaryData.class)
|
||||
.flatMapMany((data) -> Flux.fromIterable(data.getCertificates())));
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<CertificateSummary> getByName(final CredentialName name) {
|
||||
Assert.notNull(name, "certificate name must not be null");
|
||||
|
||||
return this.credHubOperations.doWithWebClient((webClient) -> webClient.get().uri(NAME_URL_QUERY, name.getName())
|
||||
.retrieve().onStatus(HttpStatus::isError, ExceptionUtils::buildError)
|
||||
return this.credHubOperations
|
||||
.doWithWebClient((webClient) -> webClient.get()
|
||||
.uri(NAME_URL_QUERY, name.getName())
|
||||
.retrieve()
|
||||
.onStatus(HttpStatus::isError, ExceptionUtils::buildError)
|
||||
.bodyToMono(CertificateSummaryData.class)
|
||||
.flatMapMany((data) -> Flux.fromIterable(data.getCertificates()))).single();
|
||||
.flatMapMany((data) -> Flux.fromIterable(data.getCertificates())))
|
||||
.single();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -97,9 +104,12 @@ public class ReactiveCredHubCertificateTemplate implements ReactiveCredHubCertif
|
||||
Map<String, Boolean> request = new HashMap<>(1);
|
||||
request.put(TRANSITIONAL_REQUEST_FIELD, setAsTransitional);
|
||||
|
||||
return this.credHubOperations
|
||||
.doWithWebClient((webClient) -> webClient.post().uri(REGENERATE_URL_PATH, id).bodyValue(request)
|
||||
.retrieve().onStatus(HttpStatus::isError, ExceptionUtils::buildError).bodyToMono(ref));
|
||||
return this.credHubOperations.doWithWebClient((webClient) -> webClient.post()
|
||||
.uri(REGENERATE_URL_PATH, id)
|
||||
.bodyValue(request)
|
||||
.retrieve()
|
||||
.onStatus(HttpStatus::isError, ExceptionUtils::buildError)
|
||||
.bodyToMono(ref));
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -112,9 +122,13 @@ public class ReactiveCredHubCertificateTemplate implements ReactiveCredHubCertif
|
||||
Map<String, Object> request = new HashMap<>(1);
|
||||
request.put(SIGNED_BY_REQUEST_FIELD, certificateName.getName());
|
||||
|
||||
return this.credHubOperations.doWithWebClient((webClient) -> webClient.post().uri(BULK_REGENERATE_URL_PATH)
|
||||
.bodyValue(request).retrieve().onStatus(HttpStatus::isError, ExceptionUtils::buildError).bodyToFlux(ref)
|
||||
.flatMap((body) -> Flux.fromIterable(body.get(REGENERATED_CREDENTIALS_RESPONSE_FIELD))));
|
||||
return this.credHubOperations.doWithWebClient((webClient) -> webClient.post()
|
||||
.uri(BULK_REGENERATE_URL_PATH)
|
||||
.bodyValue(request)
|
||||
.retrieve()
|
||||
.onStatus(HttpStatus::isError, ExceptionUtils::buildError)
|
||||
.bodyToFlux(ref)
|
||||
.flatMap((body) -> Flux.fromIterable(body.get(REGENERATED_CREDENTIALS_RESPONSE_FIELD))));
|
||||
}
|
||||
|
||||
public Flux<CertificateCredentialDetails> updateTransitionalVersion(final String id, final String versionId) {
|
||||
@@ -123,10 +137,12 @@ public class ReactiveCredHubCertificateTemplate implements ReactiveCredHubCertif
|
||||
Map<String, String> request = new HashMap<>(1);
|
||||
request.put(VERSION_REQUEST_FIELD, versionId);
|
||||
|
||||
return this.credHubOperations
|
||||
.doWithWebClient((webClient) -> webClient.put().uri(UPDATE_TRANSITIONAL_URL_PATH, id).bodyValue(request)
|
||||
.retrieve().onStatus(HttpStatus::isError, ExceptionUtils::buildError)
|
||||
.bodyToFlux(CertificateCredentialDetails.class));
|
||||
return this.credHubOperations.doWithWebClient((webClient) -> webClient.put()
|
||||
.uri(UPDATE_TRANSITIONAL_URL_PATH, id)
|
||||
.bodyValue(request)
|
||||
.retrieve()
|
||||
.onStatus(HttpStatus::isError, ExceptionUtils::buildError)
|
||||
.bodyToFlux(CertificateCredentialDetails.class));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -78,9 +78,12 @@ public class ReactiveCredHubCredentialTemplate implements ReactiveCredHubCredent
|
||||
final ParameterizedTypeReference<CredentialDetails<T>> ref = new ParameterizedTypeReference<CredentialDetails<T>>() {
|
||||
};
|
||||
|
||||
return this.credHubOperations
|
||||
.doWithWebClient((webClient) -> webClient.put().uri(BASE_URL_PATH).bodyValue(credentialRequest)
|
||||
.retrieve().onStatus(HttpStatus::isError, ExceptionUtils::buildError).bodyToMono(ref));
|
||||
return this.credHubOperations.doWithWebClient((webClient) -> webClient.put()
|
||||
.uri(BASE_URL_PATH)
|
||||
.bodyValue(credentialRequest)
|
||||
.retrieve()
|
||||
.onStatus(HttpStatus::isError, ExceptionUtils::buildError)
|
||||
.bodyToMono(ref));
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -91,9 +94,12 @@ public class ReactiveCredHubCredentialTemplate implements ReactiveCredHubCredent
|
||||
final ParameterizedTypeReference<CredentialDetails<T>> ref = new ParameterizedTypeReference<CredentialDetails<T>>() {
|
||||
};
|
||||
|
||||
return this.credHubOperations
|
||||
.doWithWebClient((webClient) -> webClient.post().uri(BASE_URL_PATH).bodyValue(parametersRequest)
|
||||
.retrieve().onStatus(HttpStatus::isError, ExceptionUtils::buildError).bodyToMono(ref));
|
||||
return this.credHubOperations.doWithWebClient((webClient) -> webClient.post()
|
||||
.uri(BASE_URL_PATH)
|
||||
.bodyValue(parametersRequest)
|
||||
.retrieve()
|
||||
.onStatus(HttpStatus::isError, ExceptionUtils::buildError)
|
||||
.bodyToMono(ref));
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -107,9 +113,12 @@ public class ReactiveCredHubCredentialTemplate implements ReactiveCredHubCredent
|
||||
Map<String, Object> request = new HashMap<>(1);
|
||||
request.put(NAME_REQUEST_FIELD, name.getName());
|
||||
|
||||
return this.credHubOperations
|
||||
.doWithWebClient((webClient) -> webClient.post().uri(REGENERATE_URL_PATH).bodyValue(request).retrieve()
|
||||
.onStatus(HttpStatus::isError, ExceptionUtils::buildError).bodyToMono(ref));
|
||||
return this.credHubOperations.doWithWebClient((webClient) -> webClient.post()
|
||||
.uri(REGENERATE_URL_PATH)
|
||||
.bodyValue(request)
|
||||
.retrieve()
|
||||
.onStatus(HttpStatus::isError, ExceptionUtils::buildError)
|
||||
.bodyToMono(ref));
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -120,8 +129,11 @@ public class ReactiveCredHubCredentialTemplate implements ReactiveCredHubCredent
|
||||
final ParameterizedTypeReference<CredentialDetails<T>> ref = new ParameterizedTypeReference<CredentialDetails<T>>() {
|
||||
};
|
||||
|
||||
return this.credHubOperations.doWithWebClient((webClient) -> webClient.get().uri(ID_URL_PATH, id).retrieve()
|
||||
.onStatus(HttpStatus::isError, ExceptionUtils::buildError).bodyToMono(ref));
|
||||
return this.credHubOperations.doWithWebClient((webClient) -> webClient.get()
|
||||
.uri(ID_URL_PATH, id)
|
||||
.retrieve()
|
||||
.onStatus(HttpStatus::isError, ExceptionUtils::buildError)
|
||||
.bodyToMono(ref));
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -132,10 +144,12 @@ public class ReactiveCredHubCredentialTemplate implements ReactiveCredHubCredent
|
||||
final ParameterizedTypeReference<CredentialDetailsData<T>> ref = new ParameterizedTypeReference<CredentialDetailsData<T>>() {
|
||||
};
|
||||
|
||||
return this.credHubOperations
|
||||
.doWithWebClient((webClient) -> webClient.get().uri(NAME_URL_QUERY_CURRENT, name.getName()).retrieve()
|
||||
.onStatus(HttpStatus::isError, ExceptionUtils::buildError).bodyToMono(ref)
|
||||
.map((body) -> body.getData().get(0)));
|
||||
return this.credHubOperations.doWithWebClient((webClient) -> webClient.get()
|
||||
.uri(NAME_URL_QUERY_CURRENT, name.getName())
|
||||
.retrieve()
|
||||
.onStatus(HttpStatus::isError, ExceptionUtils::buildError)
|
||||
.bodyToMono(ref)
|
||||
.map((body) -> body.getData().get(0)));
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -147,9 +161,12 @@ public class ReactiveCredHubCredentialTemplate implements ReactiveCredHubCredent
|
||||
final ParameterizedTypeReference<CredentialDetailsData<T>> ref = new ParameterizedTypeReference<CredentialDetailsData<T>>() {
|
||||
};
|
||||
|
||||
return this.credHubOperations.doWithWebClient((webClient) -> webClient.get().uri(NAME_URL_QUERY, name.getName())
|
||||
.retrieve().onStatus(HttpStatus::isError, ExceptionUtils::buildError).bodyToFlux(ref)
|
||||
.flatMap((body) -> Flux.fromIterable(body.getData())));
|
||||
return this.credHubOperations.doWithWebClient((webClient) -> webClient.get()
|
||||
.uri(NAME_URL_QUERY, name.getName())
|
||||
.retrieve()
|
||||
.onStatus(HttpStatus::isError, ExceptionUtils::buildError)
|
||||
.bodyToFlux(ref)
|
||||
.flatMap((body) -> Flux.fromIterable(body.getData())));
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -161,10 +178,12 @@ public class ReactiveCredHubCredentialTemplate implements ReactiveCredHubCredent
|
||||
final ParameterizedTypeReference<CredentialDetailsData<T>> ref = new ParameterizedTypeReference<CredentialDetailsData<T>>() {
|
||||
};
|
||||
|
||||
return this.credHubOperations
|
||||
.doWithWebClient((webClient) -> webClient.get().uri(NAME_URL_QUERY_VERSIONS, name.getName(), versions)
|
||||
.retrieve().onStatus(HttpStatus::isError, ExceptionUtils::buildError).bodyToFlux(ref)
|
||||
.flatMap((body) -> Flux.fromIterable(body.getData())));
|
||||
return this.credHubOperations.doWithWebClient((webClient) -> webClient.get()
|
||||
.uri(NAME_URL_QUERY_VERSIONS, name.getName(), versions)
|
||||
.retrieve()
|
||||
.onStatus(HttpStatus::isError, ExceptionUtils::buildError)
|
||||
.bodyToFlux(ref)
|
||||
.flatMap((body) -> Flux.fromIterable(body.getData())));
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -172,28 +191,34 @@ public class ReactiveCredHubCredentialTemplate implements ReactiveCredHubCredent
|
||||
Assert.notNull(name, "credential name must not be null");
|
||||
|
||||
return this.credHubOperations.doWithWebClient((webClient) -> webClient.get()
|
||||
.uri(NAME_LIKE_URL_QUERY, name.getName()).retrieve()
|
||||
.onStatus(HttpStatus::isError, ExceptionUtils::buildError).bodyToMono(CredentialSummaryData.class)
|
||||
.flatMapMany((data) -> Flux.fromIterable(data.getCredentials())));
|
||||
.uri(NAME_LIKE_URL_QUERY, name.getName())
|
||||
.retrieve()
|
||||
.onStatus(HttpStatus::isError, ExceptionUtils::buildError)
|
||||
.bodyToMono(CredentialSummaryData.class)
|
||||
.flatMapMany((data) -> Flux.fromIterable(data.getCredentials())));
|
||||
}
|
||||
|
||||
@Override
|
||||
public Flux<CredentialSummary> findByPath(final String path) {
|
||||
Assert.notNull(path, "credential path must not be null");
|
||||
|
||||
return this.credHubOperations.doWithWebClient((webClient) -> webClient.get().uri(PATH_URL_QUERY, path)
|
||||
.retrieve().onStatus(HttpStatus::isError, ExceptionUtils::buildError)
|
||||
.bodyToMono(CredentialSummaryData.class)
|
||||
.flatMapMany((data) -> Flux.fromIterable(data.getCredentials())));
|
||||
return this.credHubOperations.doWithWebClient((webClient) -> webClient.get()
|
||||
.uri(PATH_URL_QUERY, path)
|
||||
.retrieve()
|
||||
.onStatus(HttpStatus::isError, ExceptionUtils::buildError)
|
||||
.bodyToMono(CredentialSummaryData.class)
|
||||
.flatMapMany((data) -> Flux.fromIterable(data.getCredentials())));
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<Void> deleteByName(final CredentialName name) {
|
||||
Assert.notNull(name, "credential name must not be null");
|
||||
|
||||
return this.credHubOperations
|
||||
.doWithWebClient((webClient) -> webClient.delete().uri(NAME_URL_QUERY, name.getName()).retrieve()
|
||||
.onStatus(HttpStatus::isError, ExceptionUtils::buildError).bodyToMono(Void.class));
|
||||
return this.credHubOperations.doWithWebClient((webClient) -> webClient.delete()
|
||||
.uri(NAME_URL_QUERY, name.getName())
|
||||
.retrieve()
|
||||
.onStatus(HttpStatus::isError, ExceptionUtils::buildError)
|
||||
.bodyToMono(Void.class));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -49,8 +49,11 @@ public class ReactiveCredHubInfoTemplate implements ReactiveCredHubInfoOperation
|
||||
*/
|
||||
@Override
|
||||
public Mono<VersionInfo> version() {
|
||||
return this.credHubOperations.doWithWebClient((webClient) -> webClient.get().uri(VERSION_URL_PATH).retrieve()
|
||||
.onStatus(HttpStatus::isError, ExceptionUtils::buildError).bodyToMono(VersionInfo.class));
|
||||
return this.credHubOperations.doWithWebClient((webClient) -> webClient.get()
|
||||
.uri(VERSION_URL_PATH)
|
||||
.retrieve()
|
||||
.onStatus(HttpStatus::isError, ExceptionUtils::buildError)
|
||||
.bodyToMono(VersionInfo.class));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -50,9 +50,12 @@ public class ReactiveCredHubInterpolationTemplate implements ReactiveCredHubInte
|
||||
public Mono<ServicesData> interpolateServiceData(final ServicesData serviceData) {
|
||||
Assert.notNull(serviceData, "serviceData must not be null");
|
||||
|
||||
return this.credHubOperations.doWithWebClient(
|
||||
(webClient) -> webClient.post().uri(INTERPOLATE_URL_PATH).bodyValue(serviceData).retrieve()
|
||||
.onStatus(HttpStatus::isError, ExceptionUtils::buildError).bodyToMono(ServicesData.class));
|
||||
return this.credHubOperations.doWithWebClient((webClient) -> webClient.post()
|
||||
.uri(INTERPOLATE_URL_PATH)
|
||||
.bodyValue(serviceData)
|
||||
.retrieve()
|
||||
.onStatus(HttpStatus::isError, ExceptionUtils::buildError)
|
||||
.bodyToMono(ServicesData.class));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -57,9 +57,11 @@ public class ReactiveCredHubPermissionTemplate implements ReactiveCredHubPermiss
|
||||
Assert.notNull(name, "credential name must not be null");
|
||||
|
||||
return this.credHubOperations.doWithWebClient((webClient) -> webClient.get()
|
||||
.uri(PERMISSIONS_URL_QUERY, name.getName()).retrieve()
|
||||
.onStatus(HttpStatus::isError, ExceptionUtils::buildError).bodyToMono(CredentialPermissions.class)
|
||||
.flatMapMany((data) -> Flux.fromIterable(data.getPermissions())));
|
||||
.uri(PERMISSIONS_URL_QUERY, name.getName())
|
||||
.retrieve()
|
||||
.onStatus(HttpStatus::isError, ExceptionUtils::buildError)
|
||||
.bodyToMono(CredentialPermissions.class)
|
||||
.flatMapMany((data) -> Flux.fromIterable(data.getPermissions())));
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -68,9 +70,12 @@ public class ReactiveCredHubPermissionTemplate implements ReactiveCredHubPermiss
|
||||
|
||||
final CredentialPermissions credentialPermissions = new CredentialPermissions(name, permissions);
|
||||
|
||||
return this.credHubOperations.doWithWebClient(
|
||||
(webClient) -> webClient.post().uri(PERMISSIONS_URL_PATH).bodyValue(credentialPermissions).retrieve()
|
||||
.onStatus(HttpStatus::isError, ExceptionUtils::buildError).bodyToMono(Void.class));
|
||||
return this.credHubOperations.doWithWebClient((webClient) -> webClient.post()
|
||||
.uri(PERMISSIONS_URL_PATH)
|
||||
.bodyValue(credentialPermissions)
|
||||
.retrieve()
|
||||
.onStatus(HttpStatus::isError, ExceptionUtils::buildError)
|
||||
.bodyToMono(Void.class));
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -78,9 +83,11 @@ public class ReactiveCredHubPermissionTemplate implements ReactiveCredHubPermiss
|
||||
Assert.notNull(name, "credential name must not be null");
|
||||
Assert.notNull(actor, "actor must not be null");
|
||||
|
||||
return this.credHubOperations.doWithWebClient(
|
||||
(webClient) -> webClient.delete().uri(PERMISSIONS_ACTOR_URL_QUERY, name.getName(), actor.getIdentity())
|
||||
.retrieve().onStatus(HttpStatus::isError, ExceptionUtils::buildError).bodyToMono(Void.class));
|
||||
return this.credHubOperations.doWithWebClient((webClient) -> webClient.delete()
|
||||
.uri(PERMISSIONS_ACTOR_URL_QUERY, name.getName(), actor.getIdentity())
|
||||
.retrieve()
|
||||
.onStatus(HttpStatus::isError, ExceptionUtils::buildError)
|
||||
.bodyToMono(Void.class));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -56,8 +56,10 @@ public class ReactiveCredHubPermissionV2Template implements ReactiveCredHubPermi
|
||||
public Mono<CredentialPermission> getPermissions(final String id) {
|
||||
Assert.notNull(id, "credential ID must not be null");
|
||||
|
||||
return this.credHubOperations.doWithWebClient((webClient) -> webClient.get().uri(PERMISSIONS_ID_URL_PATH, id)
|
||||
.retrieve().bodyToMono(CredentialPermission.class));
|
||||
return this.credHubOperations.doWithWebClient((webClient) -> webClient.get()
|
||||
.uri(PERMISSIONS_ID_URL_PATH, id)
|
||||
.retrieve()
|
||||
.bodyToMono(CredentialPermission.class));
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -67,9 +69,12 @@ public class ReactiveCredHubPermissionV2Template implements ReactiveCredHubPermi
|
||||
|
||||
final CredentialPermission credentialPermission = new CredentialPermission(path, permission);
|
||||
|
||||
return this.credHubOperations.doWithWebClient((webClient) -> webClient.post().uri(PERMISSIONS_URL_PATH)
|
||||
.bodyValue(credentialPermission).retrieve().onStatus(HttpStatus::isError, ExceptionUtils::buildError)
|
||||
.bodyToMono(CredentialPermission.class));
|
||||
return this.credHubOperations.doWithWebClient((webClient) -> webClient.post()
|
||||
.uri(PERMISSIONS_URL_PATH)
|
||||
.bodyValue(credentialPermission)
|
||||
.retrieve()
|
||||
.onStatus(HttpStatus::isError, ExceptionUtils::buildError)
|
||||
.bodyToMono(CredentialPermission.class));
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -78,8 +83,10 @@ public class ReactiveCredHubPermissionV2Template implements ReactiveCredHubPermi
|
||||
Assert.notNull(actor, "credential actor must not be null");
|
||||
|
||||
return this.credHubOperations.doWithWebClient((webClient) -> webClient.get()
|
||||
.uri(PERMISSIONS_PATH_ACTOR_URL_QUERY, path.getName(), actor.getIdentity()).retrieve()
|
||||
.onStatus(HttpStatus::isError, ExceptionUtils::buildError).bodyToMono(CredentialPermission.class));
|
||||
.uri(PERMISSIONS_PATH_ACTOR_URL_QUERY, path.getName(), actor.getIdentity())
|
||||
.retrieve()
|
||||
.onStatus(HttpStatus::isError, ExceptionUtils::buildError)
|
||||
.bodyToMono(CredentialPermission.class));
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -91,17 +98,23 @@ public class ReactiveCredHubPermissionV2Template implements ReactiveCredHubPermi
|
||||
|
||||
final CredentialPermission credentialPermission = new CredentialPermission(path, permission);
|
||||
|
||||
return this.credHubOperations.doWithWebClient((webClient) -> webClient.put().uri(PERMISSIONS_ID_URL_PATH, id)
|
||||
.bodyValue(credentialPermission).retrieve().onStatus(HttpStatus::isError, ExceptionUtils::buildError)
|
||||
.bodyToMono(CredentialPermission.class));
|
||||
return this.credHubOperations.doWithWebClient((webClient) -> webClient.put()
|
||||
.uri(PERMISSIONS_ID_URL_PATH, id)
|
||||
.bodyValue(credentialPermission)
|
||||
.retrieve()
|
||||
.onStatus(HttpStatus::isError, ExceptionUtils::buildError)
|
||||
.bodyToMono(CredentialPermission.class));
|
||||
}
|
||||
|
||||
@Override
|
||||
public Mono<Void> deletePermission(final String id) {
|
||||
Assert.notNull(id, "credential ID must not be null");
|
||||
|
||||
return this.credHubOperations.doWithWebClient((webClient) -> webClient.delete().uri(PERMISSIONS_ID_URL_PATH, id)
|
||||
.retrieve().onStatus(HttpStatus::isError, ExceptionUtils::buildError).bodyToMono(Void.class));
|
||||
return this.credHubOperations.doWithWebClient((webClient) -> webClient.delete()
|
||||
.uri(PERMISSIONS_ID_URL_PATH, id)
|
||||
.retrieve()
|
||||
.onStatus(HttpStatus::isError, ExceptionUtils::buildError)
|
||||
.bodyToMono(Void.class));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -69,7 +69,7 @@ public class CredHubCertificateTemplateUnitTests {
|
||||
new CertificateSummary("id2", "name2"), new CertificateSummary("id3", "name3"));
|
||||
|
||||
given(this.restTemplate.getForEntity(CredHubCertificateTemplate.BASE_URL_PATH, CertificateSummaryData.class))
|
||||
.willReturn(new ResponseEntity<>(expectedCertificates, HttpStatus.OK));
|
||||
.willReturn(new ResponseEntity<>(expectedCertificates, HttpStatus.OK));
|
||||
|
||||
List<CertificateSummary> response = this.credHubTemplate.getAll();
|
||||
|
||||
@@ -84,7 +84,8 @@ public class CredHubCertificateTemplateUnitTests {
|
||||
new CertificateSummary("id1", "name1"));
|
||||
|
||||
given(this.restTemplate.getForEntity(CredHubCertificateTemplate.NAME_URL_QUERY, CertificateSummaryData.class,
|
||||
NAME.getName())).willReturn(new ResponseEntity<>(expectedCertificates, HttpStatus.OK));
|
||||
NAME.getName()))
|
||||
.willReturn(new ResponseEntity<>(expectedCertificates, HttpStatus.OK));
|
||||
|
||||
CertificateSummary response = this.credHubTemplate.getByName(NAME);
|
||||
|
||||
@@ -104,7 +105,7 @@ public class CredHubCertificateTemplateUnitTests {
|
||||
|
||||
given(this.restTemplate.exchange(eq(CredHubCertificateTemplate.REGENERATE_URL_PATH), eq(HttpMethod.POST),
|
||||
eq(new HttpEntity<>(request)), isA(ParameterizedTypeReference.class), eq("id")))
|
||||
.willReturn(new ResponseEntity<>(expectedCertificate, HttpStatus.OK));
|
||||
.willReturn(new ResponseEntity<>(expectedCertificate, HttpStatus.OK));
|
||||
|
||||
CertificateCredentialDetails response = this.credHubTemplate.regenerate("id", true);
|
||||
|
||||
@@ -133,13 +134,13 @@ public class CredHubCertificateTemplateUnitTests {
|
||||
|
||||
given(this.restTemplate.exchange(eq(CredHubCertificateTemplate.BULK_REGENERATE_URL_PATH), eq(HttpMethod.POST),
|
||||
eq(new HttpEntity<>(request)), isA(ParameterizedTypeReference.class)))
|
||||
.willReturn(new ResponseEntity<>(expectedResponse, HttpStatus.OK));
|
||||
.willReturn(new ResponseEntity<>(expectedResponse, HttpStatus.OK));
|
||||
|
||||
List<CredentialName> response = this.credHubTemplate.regenerate(NAME);
|
||||
|
||||
assertThat(response).isNotNull();
|
||||
assertThat(response)
|
||||
.isEqualTo(expectedResponse.get(CredHubCertificateTemplate.REGENERATED_CREDENTIALS_RESPONSE_FIELD));
|
||||
.isEqualTo(expectedResponse.get(CredHubCertificateTemplate.REGENERATED_CREDENTIALS_RESPONSE_FIELD));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -156,14 +157,14 @@ public class CredHubCertificateTemplateUnitTests {
|
||||
|
||||
given(this.restTemplate.exchange(eq(CredHubCertificateTemplate.UPDATE_TRANSITIONAL_URL_PATH),
|
||||
eq(HttpMethod.PUT), eq(new HttpEntity<>(request)), isA(ParameterizedTypeReference.class), eq("id1")))
|
||||
.willReturn(new ResponseEntity<>(expectedCertificates, HttpStatus.OK));
|
||||
.willReturn(new ResponseEntity<>(expectedCertificates, HttpStatus.OK));
|
||||
|
||||
List<CertificateCredentialDetails> response = this.credHubTemplate.updateTransitionalVersion("id1", "id2");
|
||||
|
||||
assertThat(response).hasSize(2);
|
||||
assertThat(response).extracting("id").contains("id1", "id2");
|
||||
assertThat(response).extracting("credentialType").contains(CredentialType.CERTIFICATE,
|
||||
CredentialType.CERTIFICATE);
|
||||
assertThat(response).extracting("credentialType")
|
||||
.contains(CredentialType.CERTIFICATE, CredentialType.CERTIFICATE);
|
||||
assertThat(response).extracting("transitional").contains(false, true);
|
||||
assertThat(response).extracting("value.certificate").contains("cert1", "cert2");
|
||||
assertThat(response).extracting("value.certificateAuthority").contains("authority1", "authority2");
|
||||
|
||||
@@ -41,7 +41,8 @@ public class CredHubCredentialTemplateSummaryUnitTests extends CredHubCredential
|
||||
@ArgumentsSource(ResponseArgumentsProvider.class)
|
||||
public void findByName(ResponseEntity<CredentialSummaryData> expectedResponse) {
|
||||
given(this.restTemplate.getForEntity(CredHubCredentialTemplate.NAME_LIKE_URL_QUERY, CredentialSummaryData.class,
|
||||
NAME.getName())).willReturn(expectedResponse);
|
||||
NAME.getName()))
|
||||
.willReturn(expectedResponse);
|
||||
|
||||
if (!expectedResponse.getStatusCode().equals(HttpStatus.OK)) {
|
||||
try {
|
||||
@@ -63,7 +64,8 @@ public class CredHubCredentialTemplateSummaryUnitTests extends CredHubCredential
|
||||
@ArgumentsSource(ResponseArgumentsProvider.class)
|
||||
public void findByPath(ResponseEntity<CredentialSummaryData> expectedResponse) {
|
||||
given(this.restTemplate.getForEntity(CredHubCredentialTemplate.PATH_URL_QUERY, CredentialSummaryData.class,
|
||||
NAME.getName())).willReturn(expectedResponse);
|
||||
NAME.getName()))
|
||||
.willReturn(expectedResponse);
|
||||
|
||||
if (!expectedResponse.getStatusCode().equals(HttpStatus.OK)) {
|
||||
try {
|
||||
|
||||
@@ -38,9 +38,8 @@ public class CredHubCredentialTemplateUnitTests extends CredHubCredentialTemplat
|
||||
@SuppressWarnings("deprecation")
|
||||
public void getAllPaths() {
|
||||
given(this.restTemplate.getForEntity(CredHubCredentialTemplate.SHOW_ALL_URL_QUERY, CredentialPathData.class))
|
||||
.willReturn(new ResponseEntity<>(
|
||||
new CredentialPathData(new CredentialPath("/path1"), new CredentialPath("/path2")),
|
||||
HttpStatus.OK));
|
||||
.willReturn(new ResponseEntity<>(
|
||||
new CredentialPathData(new CredentialPath("/path1"), new CredentialPath("/path2")), HttpStatus.OK));
|
||||
|
||||
List<CredentialPath> paths = this.credHubTemplate.getAllPaths();
|
||||
|
||||
|
||||
@@ -41,8 +41,10 @@ public class CredHubTemplateDetailCertificateUnitTests
|
||||
private static final CertificateCredential CREDENTIAL = new CertificateCredential("certificate", "authority",
|
||||
"private-key");
|
||||
|
||||
private static final CertificateParameters PARAMETERS = CertificateParameters.builder().commonName("common")
|
||||
.certificateAuthorityCredential("credential").build();
|
||||
private static final CertificateParameters PARAMETERS = CertificateParameters.builder()
|
||||
.commonName("common")
|
||||
.certificateAuthorityCredential("credential")
|
||||
.build();
|
||||
|
||||
@Override
|
||||
public CredentialRequest<CertificateCredential> getWriteRequest() {
|
||||
|
||||
@@ -64,8 +64,8 @@ public abstract class CredHubTemplateDetailUnitTestsBase<T, P> extends CredHubCr
|
||||
|
||||
static <T> Stream<? extends Arguments> buildDataArguments(CredentialType type, T credential) {
|
||||
return Stream.of(
|
||||
Arguments.of(ResponseEntity.ok().body(
|
||||
new CredentialDetailsData<>(new CredentialDetails<>(CREDENTIAL_ID, NAME, type, credential)))),
|
||||
Arguments.of(ResponseEntity.ok()
|
||||
.body(new CredentialDetailsData<>(new CredentialDetails<>(CREDENTIAL_ID, NAME, type, credential)))),
|
||||
Arguments.of(ResponseEntity.status(HttpStatus.UNAUTHORIZED).body(new CredentialDetailsData<>())));
|
||||
}
|
||||
|
||||
@@ -76,8 +76,8 @@ public abstract class CredHubTemplateDetailUnitTestsBase<T, P> extends CredHubCr
|
||||
|
||||
static <T> List<ResponseEntity<CredentialDetailsData<T>>> buildDataResponses(CredentialType type, T credential) {
|
||||
return Arrays.asList(
|
||||
ResponseEntity.ok().body(
|
||||
new CredentialDetailsData<>(new CredentialDetails<>(CREDENTIAL_ID, NAME, type, credential))),
|
||||
ResponseEntity.ok()
|
||||
.body(new CredentialDetailsData<>(new CredentialDetails<>(CREDENTIAL_ID, NAME, type, credential))),
|
||||
ResponseEntity.status(HttpStatus.UNAUTHORIZED).body(new CredentialDetailsData<>()));
|
||||
}
|
||||
|
||||
@@ -85,7 +85,8 @@ public abstract class CredHubTemplateDetailUnitTestsBase<T, P> extends CredHubCr
|
||||
CredentialRequest<T> request = getWriteRequest();
|
||||
|
||||
given(this.restTemplate.exchange(eq(CredHubCredentialTemplate.BASE_URL_PATH), eq(HttpMethod.PUT),
|
||||
eq(new HttpEntity<>(request)), isA(ParameterizedTypeReference.class))).willReturn(expectedResponse);
|
||||
eq(new HttpEntity<>(request)), isA(ParameterizedTypeReference.class)))
|
||||
.willReturn(expectedResponse);
|
||||
|
||||
if (!expectedResponse.getStatusCode().equals(HttpStatus.OK)) {
|
||||
try {
|
||||
@@ -107,7 +108,8 @@ public abstract class CredHubTemplateDetailUnitTestsBase<T, P> extends CredHubCr
|
||||
ParametersRequest<P> request = getGenerateRequest();
|
||||
|
||||
given(this.restTemplate.exchange(eq(CredHubCredentialTemplate.BASE_URL_PATH), eq(HttpMethod.POST),
|
||||
eq(new HttpEntity<>(request)), isA(ParameterizedTypeReference.class))).willReturn(expectedResponse);
|
||||
eq(new HttpEntity<>(request)), isA(ParameterizedTypeReference.class)))
|
||||
.willReturn(expectedResponse);
|
||||
|
||||
if (!expectedResponse.getStatusCode().equals(HttpStatus.OK)) {
|
||||
try {
|
||||
@@ -133,7 +135,8 @@ public abstract class CredHubTemplateDetailUnitTestsBase<T, P> extends CredHubCr
|
||||
};
|
||||
|
||||
given(this.restTemplate.exchange(eq(CredHubCredentialTemplate.REGENERATE_URL_PATH), eq(HttpMethod.POST),
|
||||
eq(new HttpEntity<>(request)), isA(ParameterizedTypeReference.class))).willReturn(expectedResponse);
|
||||
eq(new HttpEntity<>(request)), isA(ParameterizedTypeReference.class)))
|
||||
.willReturn(expectedResponse);
|
||||
|
||||
if (!expectedResponse.getStatusCode().equals(HttpStatus.OK)) {
|
||||
try {
|
||||
@@ -155,7 +158,7 @@ public abstract class CredHubTemplateDetailUnitTestsBase<T, P> extends CredHubCr
|
||||
void verifyGetById(ResponseEntity<CredentialDetails<T>> expectedResponse) {
|
||||
given(this.restTemplate.exchange(eq(CredHubCredentialTemplate.ID_URL_PATH), eq(HttpMethod.GET),
|
||||
isNull(HttpEntity.class), isA(ParameterizedTypeReference.class), eq(CREDENTIAL_ID)))
|
||||
.willReturn(expectedResponse);
|
||||
.willReturn(expectedResponse);
|
||||
|
||||
if (!expectedResponse.getStatusCode().equals(HttpStatus.OK)) {
|
||||
try {
|
||||
@@ -177,7 +180,7 @@ public abstract class CredHubTemplateDetailUnitTestsBase<T, P> extends CredHubCr
|
||||
void verifyGetByName(ResponseEntity<CredentialDetailsData<T>> expectedResponse) {
|
||||
given(this.restTemplate.exchange(eq(CredHubCredentialTemplate.NAME_URL_QUERY_CURRENT), eq(HttpMethod.GET),
|
||||
isNull(HttpEntity.class), isA(ParameterizedTypeReference.class), eq(NAME.getName())))
|
||||
.willReturn(expectedResponse);
|
||||
.willReturn(expectedResponse);
|
||||
|
||||
if (!expectedResponse.getStatusCode().equals(HttpStatus.OK)) {
|
||||
try {
|
||||
@@ -199,7 +202,7 @@ public abstract class CredHubTemplateDetailUnitTestsBase<T, P> extends CredHubCr
|
||||
void verifyGetByNameWithHistory(ResponseEntity<CredentialDetailsData<T>> expectedResponse) {
|
||||
given(this.restTemplate.exchange(eq(CredHubCredentialTemplate.NAME_URL_QUERY), eq(HttpMethod.GET),
|
||||
isNull(HttpEntity.class), isA(ParameterizedTypeReference.class), eq(NAME.getName())))
|
||||
.willReturn(expectedResponse);
|
||||
.willReturn(expectedResponse);
|
||||
|
||||
if (!expectedResponse.getStatusCode().equals(HttpStatus.OK)) {
|
||||
try {
|
||||
@@ -221,7 +224,7 @@ public abstract class CredHubTemplateDetailUnitTestsBase<T, P> extends CredHubCr
|
||||
void verifyGetByNameWithVersions(ResponseEntity<CredentialDetailsData<T>> expectedResponse) {
|
||||
given(this.restTemplate.exchange(eq(CredHubCredentialTemplate.NAME_URL_QUERY_VERSIONS), eq(HttpMethod.GET),
|
||||
isNull(HttpEntity.class), isA(ParameterizedTypeReference.class), eq(NAME.getName()), eq(5)))
|
||||
.willReturn(expectedResponse);
|
||||
.willReturn(expectedResponse);
|
||||
|
||||
if (!expectedResponse.getStatusCode().equals(HttpStatus.OK)) {
|
||||
try {
|
||||
|
||||
@@ -50,7 +50,7 @@ public class CredHubInfoTemplateUnitTests {
|
||||
@Test
|
||||
public void getVersion() {
|
||||
given(this.restTemplate.getForEntity(CredHubInfoTemplate.VERSION_URL_PATH, VersionInfo.class))
|
||||
.willReturn(new ResponseEntity<>(new VersionInfo("2.0.0"), HttpStatus.OK));
|
||||
.willReturn(new ResponseEntity<>(new VersionInfo("2.0.0"), HttpStatus.OK));
|
||||
|
||||
VersionInfo response = this.credHubTemplate.version();
|
||||
|
||||
|
||||
@@ -57,8 +57,11 @@ public class CredHubInterpolationTemplateUnitTests {
|
||||
@Test
|
||||
public void interpolateServiceData() throws IOException {
|
||||
ServiceInstanceCredentialName credentialName = ServiceInstanceCredentialName.builder()
|
||||
.serviceBrokerName("service-broker").serviceOfferingName("service-offering")
|
||||
.serviceBindingId("1111-1111-1111-111").credentialName("credential_json").build();
|
||||
.serviceBrokerName("service-broker")
|
||||
.serviceOfferingName("service-offering")
|
||||
.serviceBindingId("1111-1111-1111-111")
|
||||
.credentialName("credential_json")
|
||||
.build();
|
||||
|
||||
ServicesData vcapServices = buildVcapServices(credentialName.getName());
|
||||
|
||||
@@ -66,7 +69,7 @@ public class CredHubInterpolationTemplateUnitTests {
|
||||
|
||||
given(this.restTemplate.exchange(CredHubInterpolationTemplate.INTERPOLATE_URL_PATH, HttpMethod.POST,
|
||||
new HttpEntity<>(vcapServices), ServicesData.class))
|
||||
.willReturn(new ResponseEntity<>(expectedResponse, HttpStatus.OK));
|
||||
.willReturn(new ResponseEntity<>(expectedResponse, HttpStatus.OK));
|
||||
|
||||
ServicesData response = this.credHubTemplate.interpolateServiceData(vcapServices);
|
||||
|
||||
|
||||
@@ -63,12 +63,16 @@ public class CredHubPermissionTemplateUnitTests {
|
||||
public void getPermissions() {
|
||||
CredentialPermissions expectedResponse = new CredentialPermissions(NAME,
|
||||
Permission.builder().app("app-id").operation(Operation.READ).operation(Operation.WRITE).build(),
|
||||
Permission.builder().user("zone1", "user-id").operations(Operation.READ_ACL)
|
||||
.operations(Operation.WRITE_ACL).operation(Operation.DELETE).build());
|
||||
Permission.builder()
|
||||
.user("zone1", "user-id")
|
||||
.operations(Operation.READ_ACL)
|
||||
.operations(Operation.WRITE_ACL)
|
||||
.operation(Operation.DELETE)
|
||||
.build());
|
||||
|
||||
given(this.restTemplate.getForEntity(CredHubPermissionTemplate.PERMISSIONS_URL_QUERY,
|
||||
CredentialPermissions.class, NAME.getName()))
|
||||
.willReturn(new ResponseEntity<>(expectedResponse, HttpStatus.OK));
|
||||
.willReturn(new ResponseEntity<>(expectedResponse, HttpStatus.OK));
|
||||
|
||||
List<Permission> response = this.credHubTemplate.getPermissions(NAME);
|
||||
|
||||
@@ -79,11 +83,18 @@ public class CredHubPermissionTemplateUnitTests {
|
||||
|
||||
@Test
|
||||
public void addPermissions() {
|
||||
Permission permission1 = Permission.builder().app("app-id").operation(Operation.READ).operation(Operation.WRITE)
|
||||
.build();
|
||||
Permission permission1 = Permission.builder()
|
||||
.app("app-id")
|
||||
.operation(Operation.READ)
|
||||
.operation(Operation.WRITE)
|
||||
.build();
|
||||
|
||||
Permission permission2 = Permission.builder().user("zone1", "user-id").operations(Operation.READ_ACL)
|
||||
.operations(Operation.WRITE_ACL).operation(Operation.DELETE).build();
|
||||
Permission permission2 = Permission.builder()
|
||||
.user("zone1", "user-id")
|
||||
.operations(Operation.READ_ACL)
|
||||
.operations(Operation.WRITE_ACL)
|
||||
.operation(Operation.DELETE)
|
||||
.build();
|
||||
|
||||
this.credHubTemplate.addPermissions(NAME, permission1, permission2);
|
||||
|
||||
|
||||
@@ -63,7 +63,7 @@ public class CredHubPermissionV2TemplateUnitTests {
|
||||
|
||||
given(this.restTemplate.getForEntity(CredHubPermissionV2Template.PERMISSIONS_ID_URL_PATH,
|
||||
CredentialPermission.class, permissionId))
|
||||
.willReturn(new ResponseEntity<>(expectedResponse, HttpStatus.OK));
|
||||
.willReturn(new ResponseEntity<>(expectedResponse, HttpStatus.OK));
|
||||
|
||||
CredentialPermission response = this.credHubTemplate.getPermissions(permissionId);
|
||||
|
||||
@@ -83,7 +83,7 @@ public class CredHubPermissionV2TemplateUnitTests {
|
||||
String actor = ActorType.OAUTH_CLIENT + ":" + clientId;
|
||||
given(this.restTemplate.getForEntity(CredHubPermissionV2Template.PERMISSIONS_PATH_ACTOR_URL_QUERY,
|
||||
CredentialPermission.class, PATH.getName(), actor))
|
||||
.willReturn(new ResponseEntity<>(expectedResponse, HttpStatus.OK));
|
||||
.willReturn(new ResponseEntity<>(expectedResponse, HttpStatus.OK));
|
||||
|
||||
CredentialPermission response = this.credHubTemplate.getPermissionsByPathAndActor(PATH, Actor.client(clientId));
|
||||
|
||||
@@ -96,14 +96,17 @@ public class CredHubPermissionV2TemplateUnitTests {
|
||||
|
||||
@Test
|
||||
public void addPermissions() {
|
||||
Permission permission = Permission.builder().app("app-id").operation(Operation.READ).operation(Operation.WRITE)
|
||||
.build();
|
||||
Permission permission = Permission.builder()
|
||||
.app("app-id")
|
||||
.operation(Operation.READ)
|
||||
.operation(Operation.WRITE)
|
||||
.build();
|
||||
|
||||
CredentialPermission expectedResponse = new CredentialPermission(PATH, permission);
|
||||
|
||||
given(this.restTemplate.exchange(CredHubPermissionV2Template.PERMISSIONS_URL_PATH, HttpMethod.POST,
|
||||
new HttpEntity<>(expectedResponse), CredentialPermission.class))
|
||||
.willReturn(new ResponseEntity<>(expectedResponse, HttpStatus.OK));
|
||||
.willReturn(new ResponseEntity<>(expectedResponse, HttpStatus.OK));
|
||||
|
||||
CredentialPermission response = this.credHubTemplate.addPermissions(PATH, permission);
|
||||
|
||||
@@ -117,14 +120,17 @@ public class CredHubPermissionV2TemplateUnitTests {
|
||||
public void updatePermissions() {
|
||||
String permissionId = "uuid";
|
||||
|
||||
Permission permission = Permission.builder().app("app-id").operation(Operation.READ).operation(Operation.WRITE)
|
||||
.build();
|
||||
Permission permission = Permission.builder()
|
||||
.app("app-id")
|
||||
.operation(Operation.READ)
|
||||
.operation(Operation.WRITE)
|
||||
.build();
|
||||
|
||||
CredentialPermission expectedResponse = new CredentialPermission(PATH, permission);
|
||||
|
||||
given(this.restTemplate.exchange(CredHubPermissionV2Template.PERMISSIONS_ID_URL_PATH, HttpMethod.PUT,
|
||||
new HttpEntity<>(expectedResponse), CredentialPermission.class, permissionId))
|
||||
.willReturn(new ResponseEntity<>(expectedResponse, HttpStatus.OK));
|
||||
.willReturn(new ResponseEntity<>(expectedResponse, HttpStatus.OK));
|
||||
|
||||
CredentialPermission response = this.credHubTemplate.updatePermissions(permissionId, PATH, permission);
|
||||
|
||||
|
||||
@@ -44,10 +44,10 @@ public class CertificateSummaryDataTests extends JsonParsingUnitTestsBase {
|
||||
CertificateSummaryData certificates = parseResponse(json, CertificateSummaryData.class);
|
||||
|
||||
assertThat(certificates.getCertificates().size()).isEqualTo(2);
|
||||
assertThat(certificates.getCertificates()).extracting("id").contains("2993f622-cb1e-4e00-a267-4b23c273bf3d",
|
||||
"b40d3d3b-2cf5-4a73-babd-9dceefa9b0db");
|
||||
assertThat(certificates.getCertificates()).extracting("name").contains("/example-certificate-1",
|
||||
"/example-certificate-2");
|
||||
assertThat(certificates.getCertificates()).extracting("id")
|
||||
.contains("2993f622-cb1e-4e00-a267-4b23c273bf3d", "b40d3d3b-2cf5-4a73-babd-9dceefa9b0db");
|
||||
assertThat(certificates.getCertificates()).extracting("name")
|
||||
.contains("/example-certificate-1", "/example-certificate-2");
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
@@ -35,8 +35,9 @@ public abstract class CredHubRequestUnitTestsBase {
|
||||
|
||||
DocumentContext json = JsonTestUtils.toJsonPath(this.requestBuilder.build());
|
||||
|
||||
JsonPathAssert.assertThat(json).hasPath("$.additional_permissions[0].actor")
|
||||
.isEqualTo(Actor.app("app-id").getIdentity());
|
||||
JsonPathAssert.assertThat(json)
|
||||
.hasPath("$.additional_permissions[0].actor")
|
||||
.isEqualTo(Actor.app("app-id").getIdentity());
|
||||
JsonPathAssert.assertThat(json).hasPath("$.additional_permissions[0].operations[0]").isEqualTo("read");
|
||||
}
|
||||
|
||||
@@ -44,27 +45,33 @@ public abstract class CredHubRequestUnitTestsBase {
|
||||
@SuppressWarnings({ "deprecation" })
|
||||
public void serializationWithThreePermissions() {
|
||||
this.requestBuilder
|
||||
.permission(
|
||||
Permission.builder().app("app-id").operation(Operation.READ).operation(Operation.WRITE).build())
|
||||
.permission(Permission.builder().user("zone1", "user-id")
|
||||
.operations(Operation.READ_ACL, Operation.WRITE_ACL).build())
|
||||
.permission(Permission.builder().client("client-id")
|
||||
.operations(Operation.READ, Operation.WRITE, Operation.READ_ACL, Operation.WRITE_ACL).build());
|
||||
.permission(Permission.builder().app("app-id").operation(Operation.READ).operation(Operation.WRITE).build())
|
||||
.permission(Permission.builder()
|
||||
.user("zone1", "user-id")
|
||||
.operations(Operation.READ_ACL, Operation.WRITE_ACL)
|
||||
.build())
|
||||
.permission(Permission.builder()
|
||||
.client("client-id")
|
||||
.operations(Operation.READ, Operation.WRITE, Operation.READ_ACL, Operation.WRITE_ACL)
|
||||
.build());
|
||||
|
||||
DocumentContext json = JsonTestUtils.toJsonPath(this.requestBuilder.build());
|
||||
|
||||
JsonPathAssert.assertThat(json).hasPath("$.additional_permissions[0].actor")
|
||||
.isEqualTo(Actor.app("app-id").getIdentity());
|
||||
JsonPathAssert.assertThat(json)
|
||||
.hasPath("$.additional_permissions[0].actor")
|
||||
.isEqualTo(Actor.app("app-id").getIdentity());
|
||||
JsonPathAssert.assertThat(json).hasPath("$.additional_permissions[0].operations[0]").isEqualTo("read");
|
||||
JsonPathAssert.assertThat(json).hasPath("$.additional_permissions[0].operations[1]").isEqualTo("write");
|
||||
|
||||
JsonPathAssert.assertThat(json).hasPath("$.additional_permissions[1].actor")
|
||||
.isEqualTo(Actor.user("zone1", "user-id").getIdentity());
|
||||
JsonPathAssert.assertThat(json)
|
||||
.hasPath("$.additional_permissions[1].actor")
|
||||
.isEqualTo(Actor.user("zone1", "user-id").getIdentity());
|
||||
JsonPathAssert.assertThat(json).hasPath("$.additional_permissions[1].operations[0]").isEqualTo("read_acl");
|
||||
JsonPathAssert.assertThat(json).hasPath("$.additional_permissions[1].operations[1]").isEqualTo("write_acl");
|
||||
|
||||
JsonPathAssert.assertThat(json).hasPath("$.additional_permissions[2].actor")
|
||||
.isEqualTo(Actor.client("client-id").getIdentity());
|
||||
JsonPathAssert.assertThat(json)
|
||||
.hasPath("$.additional_permissions[2].actor")
|
||||
.isEqualTo(Actor.client("client-id").getIdentity());
|
||||
JsonPathAssert.assertThat(json).hasPath("$.additional_permissions[2].operations[0]").isEqualTo("read");
|
||||
JsonPathAssert.assertThat(json).hasPath("$.additional_permissions[2].operations[1]").isEqualTo("write");
|
||||
JsonPathAssert.assertThat(json).hasPath("$.additional_permissions[2].operations[2]").isEqualTo("read_acl");
|
||||
|
||||
@@ -49,8 +49,8 @@ public class CredentialPathDataTests extends JsonParsingUnitTestsBase {
|
||||
CredentialPathData paths = parseResponse(json, CredentialPathData.class);
|
||||
|
||||
assertThat(paths.getPaths().size()).isEqualTo(5);
|
||||
assertThat(paths.getPaths()).extracting("path").contains("/", "/director-name/", "/director-name/deploy1/",
|
||||
"/director-name/deploy2/", "/director2/");
|
||||
assertThat(paths.getPaths()).extracting("path")
|
||||
.contains("/", "/director-name/", "/director-name/deploy1/", "/director-name/deploy2/", "/director2/");
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
@@ -79,7 +79,7 @@ public abstract class JsonParsingUnitTestsBase {
|
||||
assertThat(data.getVersionCreatedAt()).isEqualTo(this.testDate);
|
||||
assertThat(data.getId()).isEqualTo("80cbb13f-7562-4e72-92de-f3ccf69eaa59");
|
||||
assertThat(data.getName().getName())
|
||||
.isEqualTo("/service-broker-name/service-instance-name/binding-id/credentials-json");
|
||||
.isEqualTo("/service-broker-name/service-instance-name/binding-id/credentials-json");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -58,8 +58,10 @@ public final class JsonTestUtils {
|
||||
}
|
||||
|
||||
public static DocumentContext toJsonPath(Object object) {
|
||||
Configuration configuration = Configuration.builder().jsonProvider(new JacksonJsonProvider())
|
||||
.mappingProvider(new JacksonMappingProvider()).build();
|
||||
Configuration configuration = Configuration.builder()
|
||||
.jsonProvider(new JacksonJsonProvider())
|
||||
.mappingProvider(new JacksonMappingProvider())
|
||||
.build();
|
||||
|
||||
return JsonPath.parse(toJson(object), configuration);
|
||||
}
|
||||
|
||||
@@ -85,8 +85,10 @@ public class CertificateCredentialRequestUnitTests extends CredHubRequestUnitTes
|
||||
@SuppressWarnings("deprecation")
|
||||
private void buildRequest(CertificateCredential value) {
|
||||
this.requestBuilder = CertificateCredentialRequest.builder()
|
||||
.name(new SimpleCredentialName("example", "credential")).overwrite(true).mode(WriteMode.OVERWRITE)
|
||||
.value(value);
|
||||
.name(new SimpleCredentialName("example", "credential"))
|
||||
.overwrite(true)
|
||||
.mode(WriteMode.OVERWRITE)
|
||||
.value(value);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -39,18 +39,28 @@ public class CertificateParametersRequestUnitTests extends CredHubRequestUnitTes
|
||||
@Test
|
||||
public void serializeWithParameters() {
|
||||
this.requestBuilder = CertificateParametersRequest.builder()
|
||||
.name(new SimpleCredentialName("example", "credential")).overwrite(true).mode(WriteMode.OVERWRITE)
|
||||
.parameters(CertificateParameters.builder().keyLength(KeyLength.LENGTH_2048).commonName("common")
|
||||
.alternateNames("alt1", "alt2").organization("org").organizationUnit("dev").locality("city")
|
||||
.state("state").country("country").duration(1234).certificateAuthorityCredential("credential")
|
||||
.certificateAuthority(true).selfSign(false)
|
||||
.keyUsage(KeyUsage.CRL_SIGN, KeyUsage.DATA_ENCIPHERMENT, KeyUsage.DECIPHER_ONLY,
|
||||
KeyUsage.DIGITAL_SIGNATURE, KeyUsage.ENCIPHER_ONLY, KeyUsage.KEY_AGREEMENT,
|
||||
KeyUsage.KEY_CERT_SIGN, KeyUsage.KEY_ENCIPHERMENT, KeyUsage.NON_REPUDIATION)
|
||||
.extendedKeyUsage(ExtendedKeyUsage.CLIENT_AUTH, ExtendedKeyUsage.CODE_SIGNING,
|
||||
ExtendedKeyUsage.EMAIL_PROTECTION, ExtendedKeyUsage.SERVER_AUTH,
|
||||
ExtendedKeyUsage.TIMESTAMPING)
|
||||
.build());
|
||||
.name(new SimpleCredentialName("example", "credential"))
|
||||
.overwrite(true)
|
||||
.mode(WriteMode.OVERWRITE)
|
||||
.parameters(CertificateParameters.builder()
|
||||
.keyLength(KeyLength.LENGTH_2048)
|
||||
.commonName("common")
|
||||
.alternateNames("alt1", "alt2")
|
||||
.organization("org")
|
||||
.organizationUnit("dev")
|
||||
.locality("city")
|
||||
.state("state")
|
||||
.country("country")
|
||||
.duration(1234)
|
||||
.certificateAuthorityCredential("credential")
|
||||
.certificateAuthority(true)
|
||||
.selfSign(false)
|
||||
.keyUsage(KeyUsage.CRL_SIGN, KeyUsage.DATA_ENCIPHERMENT, KeyUsage.DECIPHER_ONLY,
|
||||
KeyUsage.DIGITAL_SIGNATURE, KeyUsage.ENCIPHER_ONLY, KeyUsage.KEY_AGREEMENT,
|
||||
KeyUsage.KEY_CERT_SIGN, KeyUsage.KEY_ENCIPHERMENT, KeyUsage.NON_REPUDIATION)
|
||||
.extendedKeyUsage(ExtendedKeyUsage.CLIENT_AUTH, ExtendedKeyUsage.CODE_SIGNING,
|
||||
ExtendedKeyUsage.EMAIL_PROTECTION, ExtendedKeyUsage.SERVER_AUTH, ExtendedKeyUsage.TIMESTAMPING)
|
||||
.build());
|
||||
|
||||
DocumentContext json = toJsonPath(this.requestBuilder);
|
||||
|
||||
@@ -69,40 +79,57 @@ public class CertificateParametersRequestUnitTests extends CredHubRequestUnitTes
|
||||
JsonPathAssert.assertThat(json).hasPath("$.parameters.is_ca").isEqualTo(true);
|
||||
JsonPathAssert.assertThat(json).hasPath("$.parameters.self_sign").isEqualTo(false);
|
||||
JsonPathAssert.assertThat(json).hasPath("$.parameters.key_usage[0]").isEqualTo(KeyUsage.CRL_SIGN.getValue());
|
||||
JsonPathAssert.assertThat(json).hasPath("$.parameters.key_usage[1]")
|
||||
.isEqualTo(KeyUsage.DATA_ENCIPHERMENT.getValue());
|
||||
JsonPathAssert.assertThat(json).hasPath("$.parameters.key_usage[2]")
|
||||
.isEqualTo(KeyUsage.DECIPHER_ONLY.getValue());
|
||||
JsonPathAssert.assertThat(json).hasPath("$.parameters.key_usage[3]")
|
||||
.isEqualTo(KeyUsage.DIGITAL_SIGNATURE.getValue());
|
||||
JsonPathAssert.assertThat(json).hasPath("$.parameters.key_usage[4]")
|
||||
.isEqualTo(KeyUsage.ENCIPHER_ONLY.getValue());
|
||||
JsonPathAssert.assertThat(json).hasPath("$.parameters.key_usage[5]")
|
||||
.isEqualTo(KeyUsage.KEY_AGREEMENT.getValue());
|
||||
JsonPathAssert.assertThat(json).hasPath("$.parameters.key_usage[6]")
|
||||
.isEqualTo(KeyUsage.KEY_CERT_SIGN.getValue());
|
||||
JsonPathAssert.assertThat(json).hasPath("$.parameters.key_usage[7]")
|
||||
.isEqualTo(KeyUsage.KEY_ENCIPHERMENT.getValue());
|
||||
JsonPathAssert.assertThat(json).hasPath("$.parameters.key_usage[8]")
|
||||
.isEqualTo(KeyUsage.NON_REPUDIATION.getValue());
|
||||
JsonPathAssert.assertThat(json).hasPath("$.parameters.extended_key_usage[0]")
|
||||
.isEqualTo(ExtendedKeyUsage.CLIENT_AUTH.getValue());
|
||||
JsonPathAssert.assertThat(json).hasPath("$.parameters.extended_key_usage[1]")
|
||||
.isEqualTo(ExtendedKeyUsage.CODE_SIGNING.getValue());
|
||||
JsonPathAssert.assertThat(json).hasPath("$.parameters.extended_key_usage[2]")
|
||||
.isEqualTo(ExtendedKeyUsage.EMAIL_PROTECTION.getValue());
|
||||
JsonPathAssert.assertThat(json).hasPath("$.parameters.extended_key_usage[3]")
|
||||
.isEqualTo(ExtendedKeyUsage.SERVER_AUTH.getValue());
|
||||
JsonPathAssert.assertThat(json).hasPath("$.parameters.extended_key_usage[4]")
|
||||
.isEqualTo(ExtendedKeyUsage.TIMESTAMPING.getValue());
|
||||
JsonPathAssert.assertThat(json)
|
||||
.hasPath("$.parameters.key_usage[1]")
|
||||
.isEqualTo(KeyUsage.DATA_ENCIPHERMENT.getValue());
|
||||
JsonPathAssert.assertThat(json)
|
||||
.hasPath("$.parameters.key_usage[2]")
|
||||
.isEqualTo(KeyUsage.DECIPHER_ONLY.getValue());
|
||||
JsonPathAssert.assertThat(json)
|
||||
.hasPath("$.parameters.key_usage[3]")
|
||||
.isEqualTo(KeyUsage.DIGITAL_SIGNATURE.getValue());
|
||||
JsonPathAssert.assertThat(json)
|
||||
.hasPath("$.parameters.key_usage[4]")
|
||||
.isEqualTo(KeyUsage.ENCIPHER_ONLY.getValue());
|
||||
JsonPathAssert.assertThat(json)
|
||||
.hasPath("$.parameters.key_usage[5]")
|
||||
.isEqualTo(KeyUsage.KEY_AGREEMENT.getValue());
|
||||
JsonPathAssert.assertThat(json)
|
||||
.hasPath("$.parameters.key_usage[6]")
|
||||
.isEqualTo(KeyUsage.KEY_CERT_SIGN.getValue());
|
||||
JsonPathAssert.assertThat(json)
|
||||
.hasPath("$.parameters.key_usage[7]")
|
||||
.isEqualTo(KeyUsage.KEY_ENCIPHERMENT.getValue());
|
||||
JsonPathAssert.assertThat(json)
|
||||
.hasPath("$.parameters.key_usage[8]")
|
||||
.isEqualTo(KeyUsage.NON_REPUDIATION.getValue());
|
||||
JsonPathAssert.assertThat(json)
|
||||
.hasPath("$.parameters.extended_key_usage[0]")
|
||||
.isEqualTo(ExtendedKeyUsage.CLIENT_AUTH.getValue());
|
||||
JsonPathAssert.assertThat(json)
|
||||
.hasPath("$.parameters.extended_key_usage[1]")
|
||||
.isEqualTo(ExtendedKeyUsage.CODE_SIGNING.getValue());
|
||||
JsonPathAssert.assertThat(json)
|
||||
.hasPath("$.parameters.extended_key_usage[2]")
|
||||
.isEqualTo(ExtendedKeyUsage.EMAIL_PROTECTION.getValue());
|
||||
JsonPathAssert.assertThat(json)
|
||||
.hasPath("$.parameters.extended_key_usage[3]")
|
||||
.isEqualTo(ExtendedKeyUsage.SERVER_AUTH.getValue());
|
||||
JsonPathAssert.assertThat(json)
|
||||
.hasPath("$.parameters.extended_key_usage[4]")
|
||||
.isEqualTo(ExtendedKeyUsage.TIMESTAMPING.getValue());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void serializeWithMinimalParameters() {
|
||||
this.requestBuilder = CertificateParametersRequest.builder()
|
||||
.name(new SimpleCredentialName("example", "credential")).overwrite(true).mode(WriteMode.NO_OVERWRITE)
|
||||
.parameters(CertificateParameters.builder().commonName("common")
|
||||
.certificateAuthorityCredential("credential").build());
|
||||
.name(new SimpleCredentialName("example", "credential"))
|
||||
.overwrite(true)
|
||||
.mode(WriteMode.NO_OVERWRITE)
|
||||
.parameters(CertificateParameters.builder()
|
||||
.commonName("common")
|
||||
.certificateAuthorityCredential("credential")
|
||||
.build());
|
||||
|
||||
DocumentContext json = toJsonPath(this.requestBuilder);
|
||||
|
||||
@@ -126,7 +153,9 @@ public class CertificateParametersRequestUnitTests extends CredHubRequestUnitTes
|
||||
@Test
|
||||
public void serializeWithNoParameters() {
|
||||
this.requestBuilder = CertificateParametersRequest.builder()
|
||||
.name(new SimpleCredentialName("example", "credential")).overwrite(true).mode(WriteMode.CONVERGE);
|
||||
.name(new SimpleCredentialName("example", "credential"))
|
||||
.overwrite(true)
|
||||
.mode(WriteMode.CONVERGE);
|
||||
|
||||
DocumentContext json = toJsonPath(this.requestBuilder);
|
||||
|
||||
@@ -138,8 +167,9 @@ public class CertificateParametersRequestUnitTests extends CredHubRequestUnitTes
|
||||
public void serializeWithEmptyParameters() {
|
||||
assertThatIllegalArgumentException().isThrownBy(() -> {
|
||||
this.requestBuilder = CertificateParametersRequest.builder()
|
||||
.name(new SimpleCredentialName("example", "credential")).overwrite(true)
|
||||
.parameters(CertificateParameters.builder().keyLength(KeyLength.LENGTH_2048).build());
|
||||
.name(new SimpleCredentialName("example", "credential"))
|
||||
.overwrite(true)
|
||||
.parameters(CertificateParameters.builder().keyLength(KeyLength.LENGTH_2048).build());
|
||||
|
||||
toJsonPath(this.requestBuilder);
|
||||
});
|
||||
|
||||
@@ -58,8 +58,9 @@ public class JsonCredentialDetailsUnitTests extends JsonParsingUnitTestsBase {
|
||||
assertThat(data.getCredentialType()).isEqualTo(CredentialType.JSON);
|
||||
|
||||
JsonCredential valueMap = data.getValue();
|
||||
assertThat(valueMap).containsEntry("client_id", "test-id").containsEntry("client_secret", "test-secret")
|
||||
.containsEntry("uri", "https://example.com");
|
||||
assertThat(valueMap).containsEntry("client_id", "test-id")
|
||||
.containsEntry("client_secret", "test-secret")
|
||||
.containsEntry("uri", "https://example.com");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -29,13 +29,15 @@ public class JsonCredentialRequestUnitTests extends CredHubRequestUnitTestsBase
|
||||
|
||||
@BeforeEach
|
||||
public void setUp() {
|
||||
this.requestBuilder = JsonCredentialRequest.builder().name(new SimpleCredentialName("example", "credential"))
|
||||
.value(new JsonCredential() {
|
||||
{
|
||||
put("data", "value");
|
||||
put("test", true);
|
||||
}
|
||||
}).mode(WriteMode.OVERWRITE);
|
||||
this.requestBuilder = JsonCredentialRequest.builder()
|
||||
.name(new SimpleCredentialName("example", "credential"))
|
||||
.value(new JsonCredential() {
|
||||
{
|
||||
put("data", "value");
|
||||
put("test", true);
|
||||
}
|
||||
})
|
||||
.mode(WriteMode.OVERWRITE);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
@@ -31,8 +31,10 @@ public class PasswordCredentialRequestUnitTests extends CredHubRequestUnitTestsB
|
||||
@BeforeEach
|
||||
public void setUp() {
|
||||
this.requestBuilder = PasswordCredentialRequest.builder()
|
||||
.name(new SimpleCredentialName("example", "credential")).overwrite(true).mode(WriteMode.OVERWRITE)
|
||||
.value(new PasswordCredential("secret"));
|
||||
.name(new SimpleCredentialName("example", "credential"))
|
||||
.overwrite(true)
|
||||
.mode(WriteMode.OVERWRITE)
|
||||
.value(new PasswordCredential("secret"));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -48,8 +50,10 @@ public class PasswordCredentialRequestUnitTests extends CredHubRequestUnitTestsB
|
||||
@Test
|
||||
public void serializeWithStringValue() {
|
||||
this.requestBuilder = PasswordCredentialRequest.builder()
|
||||
.name(new SimpleCredentialName("example", "credential")).overwrite(true).mode(WriteMode.OVERWRITE)
|
||||
.value("secret");
|
||||
.name(new SimpleCredentialName("example", "credential"))
|
||||
.overwrite(true)
|
||||
.mode(WriteMode.OVERWRITE)
|
||||
.value("secret");
|
||||
|
||||
DocumentContext json = toJsonPath(this.requestBuilder);
|
||||
|
||||
|
||||
@@ -36,9 +36,16 @@ public class PasswordParametersRequestUnitTests extends CredHubRequestUnitTestsB
|
||||
@Test
|
||||
public void serializeWithParameters() {
|
||||
this.requestBuilder = PasswordParametersRequest.builder()
|
||||
.name(new SimpleCredentialName("example", "credential")).overwrite(true).mode(WriteMode.OVERWRITE)
|
||||
.parameters(PasswordParameters.builder().length(20).excludeLower(true).excludeUpper(false)
|
||||
.excludeNumber(true).includeSpecial(false).build());
|
||||
.name(new SimpleCredentialName("example", "credential"))
|
||||
.overwrite(true)
|
||||
.mode(WriteMode.OVERWRITE)
|
||||
.parameters(PasswordParameters.builder()
|
||||
.length(20)
|
||||
.excludeLower(true)
|
||||
.excludeUpper(false)
|
||||
.excludeNumber(true)
|
||||
.includeSpecial(false)
|
||||
.build());
|
||||
|
||||
DocumentContext json = toJsonPath(this.requestBuilder);
|
||||
|
||||
@@ -53,8 +60,10 @@ public class PasswordParametersRequestUnitTests extends CredHubRequestUnitTestsB
|
||||
@Test
|
||||
public void serializeWithEmptyParameters() {
|
||||
this.requestBuilder = PasswordParametersRequest.builder()
|
||||
.name(new SimpleCredentialName("example", "credential")).overwrite(true).mode(WriteMode.CONVERGE)
|
||||
.parameters(new PasswordParameters());
|
||||
.name(new SimpleCredentialName("example", "credential"))
|
||||
.overwrite(true)
|
||||
.mode(WriteMode.CONVERGE)
|
||||
.parameters(new PasswordParameters());
|
||||
|
||||
DocumentContext json = toJsonPath(this.requestBuilder);
|
||||
|
||||
@@ -65,7 +74,9 @@ public class PasswordParametersRequestUnitTests extends CredHubRequestUnitTestsB
|
||||
@Test
|
||||
public void serializeWithNoParameters() {
|
||||
this.requestBuilder = PasswordParametersRequest.builder()
|
||||
.name(new SimpleCredentialName("example", "credential")).overwrite(true).mode(WriteMode.NO_OVERWRITE);
|
||||
.name(new SimpleCredentialName("example", "credential"))
|
||||
.overwrite(true)
|
||||
.mode(WriteMode.NO_OVERWRITE);
|
||||
|
||||
DocumentContext json = toJsonPath(this.requestBuilder);
|
||||
|
||||
|
||||
@@ -83,8 +83,11 @@ public class RsaCredentialRequestUnitTests extends CredHubRequestUnitTestsBase {
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
private void buildRequest(RsaCredential value) {
|
||||
this.requestBuilder = RsaCredentialRequest.builder().name(new SimpleCredentialName("example", "credential"))
|
||||
.overwrite(true).mode(WriteMode.OVERWRITE).value(value);
|
||||
this.requestBuilder = RsaCredentialRequest.builder()
|
||||
.name(new SimpleCredentialName("example", "credential"))
|
||||
.overwrite(true)
|
||||
.mode(WriteMode.OVERWRITE)
|
||||
.value(value);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -36,8 +36,11 @@ public class RsaParametersRequestUnitTests extends CredHubRequestUnitTestsBase {
|
||||
|
||||
@Test
|
||||
public void serializeWithParameters() {
|
||||
this.requestBuilder = RsaParametersRequest.builder().name(new SimpleCredentialName("example", "credential"))
|
||||
.overwrite(true).mode(WriteMode.OVERWRITE).parameters(new RsaParameters(KeyLength.LENGTH_4096));
|
||||
this.requestBuilder = RsaParametersRequest.builder()
|
||||
.name(new SimpleCredentialName("example", "credential"))
|
||||
.overwrite(true)
|
||||
.mode(WriteMode.OVERWRITE)
|
||||
.parameters(new RsaParameters(KeyLength.LENGTH_4096));
|
||||
|
||||
DocumentContext json = toJsonPath(this.requestBuilder);
|
||||
|
||||
@@ -47,8 +50,10 @@ public class RsaParametersRequestUnitTests extends CredHubRequestUnitTestsBase {
|
||||
|
||||
@Test
|
||||
public void serializeWithNoParameters() {
|
||||
this.requestBuilder = RsaParametersRequest.builder().name(new SimpleCredentialName("example", "credential"))
|
||||
.overwrite(true).mode(WriteMode.OVERWRITE);
|
||||
this.requestBuilder = RsaParametersRequest.builder()
|
||||
.name(new SimpleCredentialName("example", "credential"))
|
||||
.overwrite(true)
|
||||
.mode(WriteMode.OVERWRITE);
|
||||
|
||||
DocumentContext json = toJsonPath(this.requestBuilder);
|
||||
|
||||
|
||||
@@ -82,8 +82,11 @@ public class SshCredentialRequestUnitTests extends CredHubRequestUnitTestsBase {
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
private void buildRequest(SshCredential value) {
|
||||
this.requestBuilder = SshCredentialRequest.builder().name(new SimpleCredentialName("example", "credential"))
|
||||
.overwrite(true).mode(WriteMode.OVERWRITE).value(value);
|
||||
this.requestBuilder = SshCredentialRequest.builder()
|
||||
.name(new SimpleCredentialName("example", "credential"))
|
||||
.overwrite(true)
|
||||
.mode(WriteMode.OVERWRITE)
|
||||
.value(value);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -36,9 +36,11 @@ public class SshParametersRequestUnitTests extends CredHubRequestUnitTestsBase {
|
||||
|
||||
@Test
|
||||
public void serializeWithParameters() {
|
||||
this.requestBuilder = SshParametersRequest.builder().name(new SimpleCredentialName("example", "credential"))
|
||||
.overwrite(true).mode(WriteMode.OVERWRITE)
|
||||
.parameters(new SshParameters(KeyLength.LENGTH_2048, "ssh comment"));
|
||||
this.requestBuilder = SshParametersRequest.builder()
|
||||
.name(new SimpleCredentialName("example", "credential"))
|
||||
.overwrite(true)
|
||||
.mode(WriteMode.OVERWRITE)
|
||||
.parameters(new SshParameters(KeyLength.LENGTH_2048, "ssh comment"));
|
||||
|
||||
DocumentContext json = toJsonPath(this.requestBuilder);
|
||||
|
||||
@@ -49,8 +51,11 @@ public class SshParametersRequestUnitTests extends CredHubRequestUnitTestsBase {
|
||||
|
||||
@Test
|
||||
public void serializeWithLengthParameter() {
|
||||
this.requestBuilder = SshParametersRequest.builder().name(new SimpleCredentialName("example", "credential"))
|
||||
.overwrite(true).mode(WriteMode.NO_OVERWRITE).parameters(new SshParameters(KeyLength.LENGTH_2048));
|
||||
this.requestBuilder = SshParametersRequest.builder()
|
||||
.name(new SimpleCredentialName("example", "credential"))
|
||||
.overwrite(true)
|
||||
.mode(WriteMode.NO_OVERWRITE)
|
||||
.parameters(new SshParameters(KeyLength.LENGTH_2048));
|
||||
|
||||
DocumentContext json = toJsonPath(this.requestBuilder);
|
||||
|
||||
@@ -61,8 +66,11 @@ public class SshParametersRequestUnitTests extends CredHubRequestUnitTestsBase {
|
||||
|
||||
@Test
|
||||
public void serializeWithCommentParameter() {
|
||||
this.requestBuilder = SshParametersRequest.builder().name(new SimpleCredentialName("example", "credential"))
|
||||
.overwrite(true).mode(WriteMode.CONVERGE).parameters(new SshParameters("ssh comment"));
|
||||
this.requestBuilder = SshParametersRequest.builder()
|
||||
.name(new SimpleCredentialName("example", "credential"))
|
||||
.overwrite(true)
|
||||
.mode(WriteMode.CONVERGE)
|
||||
.parameters(new SshParameters("ssh comment"));
|
||||
|
||||
DocumentContext json = toJsonPath(this.requestBuilder);
|
||||
|
||||
@@ -73,8 +81,10 @@ public class SshParametersRequestUnitTests extends CredHubRequestUnitTestsBase {
|
||||
|
||||
@Test
|
||||
public void serializeWithNoParameters() {
|
||||
this.requestBuilder = SshParametersRequest.builder().name(new SimpleCredentialName("example", "credential"))
|
||||
.overwrite(true).mode(WriteMode.OVERWRITE);
|
||||
this.requestBuilder = SshParametersRequest.builder()
|
||||
.name(new SimpleCredentialName("example", "credential"))
|
||||
.overwrite(true)
|
||||
.mode(WriteMode.OVERWRITE);
|
||||
|
||||
DocumentContext json = toJsonPath(this.requestBuilder);
|
||||
|
||||
|
||||
@@ -31,8 +31,11 @@ public class UserCredentialRequestUnitTests extends CredHubRequestUnitTestsBase
|
||||
|
||||
@BeforeEach
|
||||
public void setUp() {
|
||||
this.requestBuilder = UserCredentialRequest.builder().name(new SimpleCredentialName("example", "credential"))
|
||||
.overwrite(true).mode(WriteMode.OVERWRITE).value(new UserCredential("myname", "secret"));
|
||||
this.requestBuilder = UserCredentialRequest.builder()
|
||||
.name(new SimpleCredentialName("example", "credential"))
|
||||
.overwrite(true)
|
||||
.mode(WriteMode.OVERWRITE)
|
||||
.value(new UserCredential("myname", "secret"));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -50,8 +53,10 @@ public class UserCredentialRequestUnitTests extends CredHubRequestUnitTestsBase
|
||||
@Test
|
||||
public void serializeWithPassword() {
|
||||
UserCredentialRequestBuilder builder = UserCredentialRequest.builder()
|
||||
.name(new SimpleCredentialName("example", "credential")).overwrite(true).mode(WriteMode.OVERWRITE)
|
||||
.value(new UserCredential("secret"));
|
||||
.name(new SimpleCredentialName("example", "credential"))
|
||||
.overwrite(true)
|
||||
.mode(WriteMode.OVERWRITE)
|
||||
.value(new UserCredential("secret"));
|
||||
|
||||
DocumentContext json = toJsonPath(builder);
|
||||
|
||||
|
||||
@@ -36,10 +36,18 @@ public class UserParametersRequestUnitTests extends CredHubRequestUnitTestsBase
|
||||
|
||||
@Test
|
||||
public void serializeWithParameters() {
|
||||
this.requestBuilder = UserParametersRequest.builder().name(new SimpleCredentialName("example", "credential"))
|
||||
.overwrite(true).mode(WriteMode.OVERWRITE).username("user")
|
||||
.parameters(PasswordParameters.builder().length(20).excludeLower(true).excludeUpper(false)
|
||||
.excludeNumber(true).includeSpecial(false).build());
|
||||
this.requestBuilder = UserParametersRequest.builder()
|
||||
.name(new SimpleCredentialName("example", "credential"))
|
||||
.overwrite(true)
|
||||
.mode(WriteMode.OVERWRITE)
|
||||
.username("user")
|
||||
.parameters(PasswordParameters.builder()
|
||||
.length(20)
|
||||
.excludeLower(true)
|
||||
.excludeUpper(false)
|
||||
.excludeNumber(true)
|
||||
.includeSpecial(false)
|
||||
.build());
|
||||
|
||||
DocumentContext json = toJsonPath(this.requestBuilder);
|
||||
|
||||
@@ -54,8 +62,11 @@ public class UserParametersRequestUnitTests extends CredHubRequestUnitTestsBase
|
||||
|
||||
@Test
|
||||
public void serializeWithEmptyParameters() {
|
||||
this.requestBuilder = UserParametersRequest.builder().name(new SimpleCredentialName("example", "credential"))
|
||||
.overwrite(true).mode(WriteMode.NO_OVERWRITE).parameters(new PasswordParameters());
|
||||
this.requestBuilder = UserParametersRequest.builder()
|
||||
.name(new SimpleCredentialName("example", "credential"))
|
||||
.overwrite(true)
|
||||
.mode(WriteMode.NO_OVERWRITE)
|
||||
.parameters(new PasswordParameters());
|
||||
|
||||
DocumentContext json = toJsonPath(this.requestBuilder);
|
||||
|
||||
@@ -65,8 +76,10 @@ public class UserParametersRequestUnitTests extends CredHubRequestUnitTestsBase
|
||||
|
||||
@Test
|
||||
public void serializeWithNoParameters() {
|
||||
this.requestBuilder = UserParametersRequest.builder().name(new SimpleCredentialName("example", "credential"))
|
||||
.overwrite(true).mode(WriteMode.CONVERGE);
|
||||
this.requestBuilder = UserParametersRequest.builder()
|
||||
.name(new SimpleCredentialName("example", "credential"))
|
||||
.overwrite(true)
|
||||
.mode(WriteMode.CONVERGE);
|
||||
|
||||
DocumentContext json = toJsonPath(this.requestBuilder);
|
||||
|
||||
|
||||
@@ -29,8 +29,10 @@ public class ValueCredentialRequestUnitTests extends CredHubRequestUnitTestsBase
|
||||
@BeforeEach
|
||||
@SuppressWarnings("deprecation")
|
||||
public void setUp() {
|
||||
this.requestBuilder = ValueCredentialRequest.builder().name(new SimpleCredentialName("example", "credential"))
|
||||
.overwrite(true).value(new ValueCredential("somevalue"));
|
||||
this.requestBuilder = ValueCredentialRequest.builder()
|
||||
.name(new SimpleCredentialName("example", "credential"))
|
||||
.overwrite(true)
|
||||
.value(new ValueCredential("somevalue"));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -48,8 +50,10 @@ public class ValueCredentialRequestUnitTests extends CredHubRequestUnitTestsBase
|
||||
@Test
|
||||
@SuppressWarnings("deprecation")
|
||||
public void serializeWithStringValue() {
|
||||
this.requestBuilder = ValueCredentialRequest.builder().name(new SimpleCredentialName("example", "credential"))
|
||||
.overwrite(true).value("somevalue");
|
||||
this.requestBuilder = ValueCredentialRequest.builder()
|
||||
.name(new SimpleCredentialName("example", "credential"))
|
||||
.overwrite(true)
|
||||
.value("somevalue");
|
||||
|
||||
DocumentContext json = toJsonPath(this.requestBuilder);
|
||||
|
||||
|
||||
@@ -38,18 +38,23 @@ public class CredHubService {
|
||||
}
|
||||
|
||||
public String generatePassword() {
|
||||
PasswordParameters parameters = PasswordParameters.builder().length(12).excludeLower(false).excludeUpper(false)
|
||||
.excludeNumber(false).includeSpecial(true).build();
|
||||
PasswordParameters parameters = PasswordParameters.builder()
|
||||
.length(12)
|
||||
.excludeLower(false)
|
||||
.excludeUpper(false)
|
||||
.excludeNumber(false)
|
||||
.includeSpecial(true)
|
||||
.build();
|
||||
|
||||
CredentialDetails<PasswordCredential> password = this.credHubOperations.credentials()
|
||||
.generate(PasswordParametersRequest.builder().name(this.credentialName).parameters(parameters).build());
|
||||
.generate(PasswordParametersRequest.builder().name(this.credentialName).parameters(parameters).build());
|
||||
|
||||
return password.getValue().getPassword();
|
||||
}
|
||||
|
||||
public String getPassword() {
|
||||
CredentialDetails<PasswordCredential> password = this.credHubOperations.credentials()
|
||||
.getByName(this.credentialName, PasswordCredential.class);
|
||||
.getByName(this.credentialName, PasswordCredential.class);
|
||||
|
||||
return password.getValue().getPassword();
|
||||
}
|
||||
|
||||
@@ -39,18 +39,24 @@ public class ReactiveCredHubService {
|
||||
}
|
||||
|
||||
public Mono<String> generatePassword() {
|
||||
PasswordParameters parameters = PasswordParameters.builder().length(12).excludeLower(false).excludeUpper(false)
|
||||
.excludeNumber(false).includeSpecial(true).build();
|
||||
PasswordParameters parameters = PasswordParameters.builder()
|
||||
.length(12)
|
||||
.excludeLower(false)
|
||||
.excludeUpper(false)
|
||||
.excludeNumber(false)
|
||||
.includeSpecial(true)
|
||||
.build();
|
||||
|
||||
return this.credHubOperations.credentials()
|
||||
.generate(PasswordParametersRequest.builder().name(this.credentialName).parameters(parameters).build(),
|
||||
PasswordCredential.class)
|
||||
.map((password) -> password.getValue().getPassword());
|
||||
.generate(PasswordParametersRequest.builder().name(this.credentialName).parameters(parameters).build(),
|
||||
PasswordCredential.class)
|
||||
.map((password) -> password.getValue().getPassword());
|
||||
}
|
||||
|
||||
public Mono<String> getPassword() {
|
||||
return this.credHubOperations.credentials().getByName(this.credentialName, PasswordCredential.class)
|
||||
.map((password) -> password.getValue().getPassword());
|
||||
return this.credHubOperations.credentials()
|
||||
.getByName(this.credentialName, PasswordCredential.class)
|
||||
.map((password) -> password.getValue().getPassword());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -68,9 +68,11 @@ public class CertificateIntegrationTests extends CredHubIntegrationTests {
|
||||
public void generateCertificate() {
|
||||
assumeTrue(serverApiIsV2());
|
||||
|
||||
CredentialDetails<CertificateCredential> certificate = this.credentials.generate(CertificateParametersRequest
|
||||
.builder().name(TEST_CERT_NAME)
|
||||
.parameters(CertificateParameters.builder().commonName("example.com").selfSign(true).build()).build());
|
||||
CredentialDetails<CertificateCredential> certificate = this.credentials
|
||||
.generate(CertificateParametersRequest.builder()
|
||||
.name(TEST_CERT_NAME)
|
||||
.parameters(CertificateParameters.builder().commonName("example.com").selfSign(true).build())
|
||||
.build());
|
||||
assertThat(certificate.getName().getName()).isEqualTo(TEST_CERT_NAME.getName());
|
||||
assertThat(certificate.getCredentialType()).isEqualTo(CredentialType.CERTIFICATE);
|
||||
assertThat(certificate.getId()).isNotNull();
|
||||
@@ -91,9 +93,11 @@ public class CertificateIntegrationTests extends CredHubIntegrationTests {
|
||||
public void regenerateCertificate() {
|
||||
assumeTrue(serverApiIsV2());
|
||||
|
||||
CredentialDetails<CertificateCredential> certificate = this.credentials.generate(CertificateParametersRequest
|
||||
.builder().name(TEST_CERT_NAME)
|
||||
.parameters(CertificateParameters.builder().commonName("example.com").selfSign(true).build()).build());
|
||||
CredentialDetails<CertificateCredential> certificate = this.credentials
|
||||
.generate(CertificateParametersRequest.builder()
|
||||
.name(TEST_CERT_NAME)
|
||||
.parameters(CertificateParameters.builder().commonName("example.com").selfSign(true).build())
|
||||
.build());
|
||||
assertThat(certificate.getName().getName()).isEqualTo(TEST_CERT_NAME.getName());
|
||||
|
||||
CertificateSummary byName = this.certificates.getByName(TEST_CERT_NAME);
|
||||
@@ -103,7 +107,7 @@ public class CertificateIntegrationTests extends CredHubIntegrationTests {
|
||||
assertThat(regenerated.isTransitional()).isTrue();
|
||||
assertThat(regenerated.getValue().getCertificate()).isNotEqualTo(certificate.getValue().getCertificate());
|
||||
assertThat(regenerated.getValue().getCertificateAuthority())
|
||||
.isNotEqualTo(certificate.getValue().getCertificateAuthority());
|
||||
.isNotEqualTo(certificate.getValue().getCertificateAuthority());
|
||||
assertThat(regenerated.getValue().getPrivateKey()).isNotEqualTo(certificate.getValue().getPrivateKey());
|
||||
}
|
||||
|
||||
@@ -111,15 +115,17 @@ public class CertificateIntegrationTests extends CredHubIntegrationTests {
|
||||
public void rotateCertificate() {
|
||||
assumeTrue(serverApiIsV2());
|
||||
|
||||
CredentialDetails<CertificateCredential> certificate = this.credentials.generate(CertificateParametersRequest
|
||||
.builder().name(TEST_CERT_NAME)
|
||||
.parameters(CertificateParameters.builder().commonName("example.com").selfSign(true).build()).build());
|
||||
CredentialDetails<CertificateCredential> certificate = this.credentials
|
||||
.generate(CertificateParametersRequest.builder()
|
||||
.name(TEST_CERT_NAME)
|
||||
.parameters(CertificateParameters.builder().commonName("example.com").selfSign(true).build())
|
||||
.build());
|
||||
assertThat(certificate.getName().getName()).isEqualTo(TEST_CERT_NAME.getName());
|
||||
|
||||
String credentialVersion0Id = certificate.getId();
|
||||
|
||||
List<CredentialDetails<CertificateCredential>> allVersions = this.credentials
|
||||
.getByNameWithHistory(TEST_CERT_NAME, CertificateCredential.class);
|
||||
.getByNameWithHistory(TEST_CERT_NAME, CertificateCredential.class);
|
||||
assertThat(allVersions).hasSize(1);
|
||||
assertThat(allVersions.get(0).getId()).isEqualTo(credentialVersion0Id);
|
||||
|
||||
@@ -130,7 +136,7 @@ public class CertificateIntegrationTests extends CredHubIntegrationTests {
|
||||
assertThat(regenerated.getName().getName()).isEqualTo(TEST_CERT_NAME.getName());
|
||||
assertThat(regenerated.getValue().getCertificate()).isNotEqualTo(certificate.getValue().getCertificate());
|
||||
assertThat(regenerated.getValue().getCertificateAuthority())
|
||||
.isNotEqualTo(certificate.getValue().getCertificateAuthority());
|
||||
.isNotEqualTo(certificate.getValue().getCertificateAuthority());
|
||||
assertThat(regenerated.getValue().getPrivateKey()).isNotEqualTo(certificate.getValue().getPrivateKey());
|
||||
|
||||
String credentialVersion1Id = regenerated.getId();
|
||||
@@ -140,7 +146,7 @@ public class CertificateIntegrationTests extends CredHubIntegrationTests {
|
||||
assertThat(allVersions).extracting("id").contains(credentialVersion1Id, credentialVersion0Id);
|
||||
|
||||
List<CertificateCredentialDetails> updatedCertificate = this.certificates
|
||||
.updateTransitionalVersion(certificateId, credentialVersion0Id);
|
||||
.updateTransitionalVersion(certificateId, credentialVersion0Id);
|
||||
assertThat(updatedCertificate).hasSize(2);
|
||||
assertThat(updatedCertificate).extracting("id").contains(credentialVersion1Id, credentialVersion0Id);
|
||||
assertThat(updatedCertificate).extracting("transitional").contains(false, true);
|
||||
@@ -154,22 +160,28 @@ public class CertificateIntegrationTests extends CredHubIntegrationTests {
|
||||
@Test
|
||||
public void bulkRegenerateCertificates() {
|
||||
CredentialDetails<CertificateCredential> rootCertificate = this.credentials
|
||||
.generate(
|
||||
CertificateParametersRequest
|
||||
.builder().name(ROOT_CERT_NAME).parameters(CertificateParameters.builder()
|
||||
.commonName("example.com").certificateAuthority(true).selfSign(true).build())
|
||||
.build());
|
||||
.generate(CertificateParametersRequest.builder()
|
||||
.name(ROOT_CERT_NAME)
|
||||
.parameters(CertificateParameters.builder()
|
||||
.commonName("example.com")
|
||||
.certificateAuthority(true)
|
||||
.selfSign(true)
|
||||
.build())
|
||||
.build());
|
||||
|
||||
CredentialDetails<CertificateCredential> signedCertificate = this.credentials
|
||||
.generate(CertificateParametersRequest
|
||||
.builder().name(TEST_CERT_NAME).parameters(CertificateParameters.builder()
|
||||
.commonName("example.com").certificateAuthorityCredential(ROOT_CERT_NAME).build())
|
||||
.build());
|
||||
.generate(CertificateParametersRequest.builder()
|
||||
.name(TEST_CERT_NAME)
|
||||
.parameters(CertificateParameters.builder()
|
||||
.commonName("example.com")
|
||||
.certificateAuthorityCredential(ROOT_CERT_NAME)
|
||||
.build())
|
||||
.build());
|
||||
assertThat(signedCertificate.getValue().getCertificateAuthority())
|
||||
.isEqualTo(rootCertificate.getValue().getCertificate());
|
||||
.isEqualTo(rootCertificate.getValue().getCertificate());
|
||||
|
||||
List<CredentialDetails<CertificateCredential>> allVersions = this.credentials
|
||||
.getByNameWithHistory(TEST_CERT_NAME, CertificateCredential.class);
|
||||
.getByNameWithHistory(TEST_CERT_NAME, CertificateCredential.class);
|
||||
assertThat(allVersions).hasSize(1);
|
||||
assertThat(allVersions.get(0).getId()).isEqualTo(signedCertificate.getId());
|
||||
|
||||
|
||||
@@ -52,8 +52,12 @@ public class CredentialIntegrationTests extends CredHubIntegrationTests {
|
||||
public void setUp() {
|
||||
this.credentials = this.operations.credentials();
|
||||
|
||||
this.passwordParameters = PasswordParameters.builder().length(12).excludeLower(false).excludeUpper(false)
|
||||
.excludeNumber(false).includeSpecial(true);
|
||||
this.passwordParameters = PasswordParameters.builder()
|
||||
.length(12)
|
||||
.excludeLower(false)
|
||||
.excludeUpper(false)
|
||||
.excludeNumber(false)
|
||||
.includeSpecial(true);
|
||||
|
||||
deleteCredentialIfExists(CREDENTIAL_NAME);
|
||||
}
|
||||
@@ -69,7 +73,7 @@ public class CredentialIntegrationTests extends CredHubIntegrationTests {
|
||||
@Test
|
||||
public void writeCredential() {
|
||||
CredentialDetails<ValueCredential> written = this.credentials
|
||||
.write(ValueCredentialRequest.builder().name(CREDENTIAL_NAME).value(CREDENTIAL_VALUE).build());
|
||||
.write(ValueCredentialRequest.builder().name(CREDENTIAL_NAME).value(CREDENTIAL_VALUE).build());
|
||||
assertThat(written.getName().getName()).isEqualTo(CREDENTIAL_NAME.getName());
|
||||
assertThat(written.getValue().getValue()).isEqualTo(CREDENTIAL_VALUE);
|
||||
assertThat(written.getCredentialType()).isEqualTo(CredentialType.VALUE);
|
||||
@@ -99,14 +103,14 @@ public class CredentialIntegrationTests extends CredHubIntegrationTests {
|
||||
assumeTrue(serverApiIsV2());
|
||||
|
||||
CredentialDetails<ValueCredential> written = this.credentials
|
||||
.write(ValueCredentialRequest.builder().name(CREDENTIAL_NAME).value(CREDENTIAL_VALUE).build());
|
||||
.write(ValueCredentialRequest.builder().name(CREDENTIAL_NAME).value(CREDENTIAL_VALUE).build());
|
||||
assertThat(written.getName().getName()).isEqualTo(CREDENTIAL_NAME.getName());
|
||||
assertThat(written.getValue().getValue()).isEqualTo(CREDENTIAL_VALUE);
|
||||
assertThat(written.getCredentialType()).isEqualTo(CredentialType.VALUE);
|
||||
assertThat(written.getId()).isNotNull();
|
||||
|
||||
CredentialDetails<ValueCredential> overwritten = this.credentials
|
||||
.write(ValueCredentialRequest.builder().name(CREDENTIAL_NAME).value("new-value").build());
|
||||
.write(ValueCredentialRequest.builder().name(CREDENTIAL_NAME).value("new-value").build());
|
||||
assertThat(overwritten.getName().getName()).isEqualTo(CREDENTIAL_NAME.getName());
|
||||
assertThat(overwritten.getValue().getValue()).isEqualTo("new-value");
|
||||
|
||||
@@ -118,19 +122,25 @@ public class CredentialIntegrationTests extends CredHubIntegrationTests {
|
||||
assumeTrue(serverApiIsV1());
|
||||
|
||||
CredentialDetails<ValueCredential> written = this.credentials
|
||||
.write(ValueCredentialRequest.builder().name(CREDENTIAL_NAME).value(CREDENTIAL_VALUE).build());
|
||||
.write(ValueCredentialRequest.builder().name(CREDENTIAL_NAME).value(CREDENTIAL_VALUE).build());
|
||||
assertThat(written.getName().getName()).isEqualTo(CREDENTIAL_NAME.getName());
|
||||
assertThat(written.getValue().getValue()).isEqualTo(CREDENTIAL_VALUE);
|
||||
assertThat(written.getCredentialType()).isEqualTo(CredentialType.VALUE);
|
||||
assertThat(written.getId()).isNotNull();
|
||||
|
||||
CredentialDetails<ValueCredential> overwritten = this.credentials.write(ValueCredentialRequest.builder()
|
||||
.name(CREDENTIAL_NAME).value("new-value").mode(WriteMode.NO_OVERWRITE).build());
|
||||
.name(CREDENTIAL_NAME)
|
||||
.value("new-value")
|
||||
.mode(WriteMode.NO_OVERWRITE)
|
||||
.build());
|
||||
assertThat(overwritten.getName().getName()).isEqualTo(CREDENTIAL_NAME.getName());
|
||||
assertThat(overwritten.getValue().getValue()).isEqualTo(CREDENTIAL_VALUE);
|
||||
|
||||
overwritten = this.credentials.write(ValueCredentialRequest.builder().name(CREDENTIAL_NAME).value("new-value")
|
||||
.mode(WriteMode.OVERWRITE).build());
|
||||
overwritten = this.credentials.write(ValueCredentialRequest.builder()
|
||||
.name(CREDENTIAL_NAME)
|
||||
.value("new-value")
|
||||
.mode(WriteMode.OVERWRITE)
|
||||
.build());
|
||||
assertThat(overwritten.getName().getName()).isEqualTo(CREDENTIAL_NAME.getName());
|
||||
assertThat(overwritten.getValue().getValue()).isEqualTo("new-value");
|
||||
|
||||
@@ -157,7 +167,10 @@ public class CredentialIntegrationTests extends CredHubIntegrationTests {
|
||||
@Test
|
||||
public void generateCredential() {
|
||||
CredentialDetails<UserCredential> generated = this.credentials.generate(UserParametersRequest.builder()
|
||||
.name(CREDENTIAL_NAME).username("test-user").parameters(this.passwordParameters.build()).build());
|
||||
.name(CREDENTIAL_NAME)
|
||||
.username("test-user")
|
||||
.parameters(this.passwordParameters.build())
|
||||
.build());
|
||||
assertThat(generated.getName().getName()).isEqualTo(CREDENTIAL_NAME.getName());
|
||||
assertThat(generated.getCredentialType()).isEqualTo(CredentialType.USER);
|
||||
assertThat(generated.getValue().getUsername()).isEqualTo("test-user");
|
||||
@@ -179,15 +192,21 @@ public class CredentialIntegrationTests extends CredHubIntegrationTests {
|
||||
@Test
|
||||
public void generateNoOverwriteCredential() {
|
||||
CredentialDetails<UserCredential> generated = this.credentials.generate(UserParametersRequest.builder()
|
||||
.name(CREDENTIAL_NAME).username("test-user").parameters(this.passwordParameters.build()).build());
|
||||
.name(CREDENTIAL_NAME)
|
||||
.username("test-user")
|
||||
.parameters(this.passwordParameters.build())
|
||||
.build());
|
||||
assertThat(generated.getName().getName()).isEqualTo(CREDENTIAL_NAME.getName());
|
||||
assertThat(generated.getValue().getUsername()).isEqualTo("test-user");
|
||||
assertThat(generated.getValue().getPassword()).matches("^[a-zA-Z0-9\\p{Punct}]{12}$");
|
||||
assertThat(generated.getValue().getPasswordHash()).isNotNull();
|
||||
|
||||
CredentialDetails<UserCredential> noOverwrite = this.credentials
|
||||
.generate(UserParametersRequest.builder().name(CREDENTIAL_NAME).mode(WriteMode.NO_OVERWRITE)
|
||||
.username("test-user").parameters(this.passwordParameters.build()).build());
|
||||
CredentialDetails<UserCredential> noOverwrite = this.credentials.generate(UserParametersRequest.builder()
|
||||
.name(CREDENTIAL_NAME)
|
||||
.mode(WriteMode.NO_OVERWRITE)
|
||||
.username("test-user")
|
||||
.parameters(this.passwordParameters.build())
|
||||
.build());
|
||||
assertThat(noOverwrite.getValue().getUsername()).isEqualTo("test-user");
|
||||
assertThat(noOverwrite.getValue().getPassword()).isEqualTo(generated.getValue().getPassword());
|
||||
assertThat(noOverwrite.getValue().getPasswordHash()).isEqualTo(generated.getValue().getPasswordHash());
|
||||
@@ -196,15 +215,21 @@ public class CredentialIntegrationTests extends CredHubIntegrationTests {
|
||||
@Test
|
||||
public void generateOverwriteCredential() {
|
||||
CredentialDetails<UserCredential> generated = this.credentials.generate(UserParametersRequest.builder()
|
||||
.name(CREDENTIAL_NAME).username("test-user").parameters(this.passwordParameters.build()).build());
|
||||
.name(CREDENTIAL_NAME)
|
||||
.username("test-user")
|
||||
.parameters(this.passwordParameters.build())
|
||||
.build());
|
||||
assertThat(generated.getName().getName()).isEqualTo(CREDENTIAL_NAME.getName());
|
||||
assertThat(generated.getValue().getUsername()).isEqualTo("test-user");
|
||||
assertThat(generated.getValue().getPassword()).matches("^[a-zA-Z0-9\\p{Punct}]{12}$");
|
||||
assertThat(generated.getValue().getPasswordHash()).isNotNull();
|
||||
|
||||
CredentialDetails<UserCredential> overwrite = this.credentials
|
||||
.generate(UserParametersRequest.builder().name(CREDENTIAL_NAME).mode(WriteMode.OVERWRITE)
|
||||
.username("test-user").parameters(this.passwordParameters.build()).build());
|
||||
CredentialDetails<UserCredential> overwrite = this.credentials.generate(UserParametersRequest.builder()
|
||||
.name(CREDENTIAL_NAME)
|
||||
.mode(WriteMode.OVERWRITE)
|
||||
.username("test-user")
|
||||
.parameters(this.passwordParameters.build())
|
||||
.build());
|
||||
assertThat(overwrite.getValue().getUsername()).isEqualTo("test-user");
|
||||
assertThat(overwrite.getValue().getPassword()).isNotEqualTo(generated.getValue().getPassword());
|
||||
assertThat(overwrite.getValue().getPasswordHash()).isNotEqualTo(generated.getValue().getPasswordHash());
|
||||
@@ -213,29 +238,40 @@ public class CredentialIntegrationTests extends CredHubIntegrationTests {
|
||||
@Test
|
||||
public void generateConvergeCredential() {
|
||||
CredentialDetails<UserCredential> generated = this.credentials.generate(UserParametersRequest.builder()
|
||||
.name(CREDENTIAL_NAME).username("test-user").parameters(this.passwordParameters.build()).build());
|
||||
.name(CREDENTIAL_NAME)
|
||||
.username("test-user")
|
||||
.parameters(this.passwordParameters.build())
|
||||
.build());
|
||||
assertThat(generated.getName().getName()).isEqualTo(CREDENTIAL_NAME.getName());
|
||||
assertThat(generated.getValue().getUsername()).isEqualTo("test-user");
|
||||
assertThat(generated.getValue().getPassword()).matches("^[a-zA-Z0-9\\p{Punct}]{12}$");
|
||||
assertThat(generated.getValue().getPasswordHash()).isNotNull();
|
||||
|
||||
CredentialDetails<UserCredential> convergeWithoutChanges = this.credentials
|
||||
.generate(UserParametersRequest.builder().name(CREDENTIAL_NAME).mode(WriteMode.CONVERGE)
|
||||
.username("test-user").parameters(this.passwordParameters.build()).build());
|
||||
.generate(UserParametersRequest.builder()
|
||||
.name(CREDENTIAL_NAME)
|
||||
.mode(WriteMode.CONVERGE)
|
||||
.username("test-user")
|
||||
.parameters(this.passwordParameters.build())
|
||||
.build());
|
||||
assertThat(convergeWithoutChanges.getValue().getUsername()).isEqualTo("test-user");
|
||||
assertThat(convergeWithoutChanges.getValue().getPassword()).isEqualTo(generated.getValue().getPassword());
|
||||
assertThat(convergeWithoutChanges.getValue().getPasswordHash())
|
||||
.isEqualTo(generated.getValue().getPasswordHash());
|
||||
.isEqualTo(generated.getValue().getPasswordHash());
|
||||
|
||||
this.passwordParameters.includeSpecial(false);
|
||||
|
||||
CredentialDetails<UserCredential> convergeWithChanges = this.credentials
|
||||
.generate(UserParametersRequest.builder().name(CREDENTIAL_NAME).mode(WriteMode.CONVERGE)
|
||||
.username("test-user").parameters(this.passwordParameters.build()).build());
|
||||
.generate(UserParametersRequest.builder()
|
||||
.name(CREDENTIAL_NAME)
|
||||
.mode(WriteMode.CONVERGE)
|
||||
.username("test-user")
|
||||
.parameters(this.passwordParameters.build())
|
||||
.build());
|
||||
assertThat(convergeWithChanges.getValue().getUsername()).isEqualTo("test-user");
|
||||
assertThat(convergeWithChanges.getValue().getPassword()).isNotEqualTo(generated.getValue().getPassword());
|
||||
assertThat(convergeWithChanges.getValue().getPasswordHash())
|
||||
.isNotEqualTo(generated.getValue().getPasswordHash());
|
||||
.isNotEqualTo(generated.getValue().getPasswordHash());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -69,22 +69,24 @@ public class InterpolationIntegrationTests extends CredHubIntegrationTests {
|
||||
};
|
||||
|
||||
CredentialDetails<JsonCredential> written = this.credentials
|
||||
.write(JsonCredentialRequest.builder().name(CREDENTIAL_NAME).value(json).build());
|
||||
.write(JsonCredentialRequest.builder().name(CREDENTIAL_NAME).value(json).build());
|
||||
assertThat(written.getName().getName()).isEqualTo(CREDENTIAL_NAME.getName());
|
||||
assertThat(written.getValue()).isEqualTo(json);
|
||||
assertThat(written.getCredentialType()).isEqualTo(CredentialType.JSON);
|
||||
assertThat(written.getId()).isNotNull();
|
||||
|
||||
ServicesData servicesData = this.interpolation
|
||||
.interpolateServiceData(buildVcapServices(CREDENTIAL_NAME.getName()));
|
||||
.interpolateServiceData(buildVcapServices(CREDENTIAL_NAME.getName()));
|
||||
assertThat(servicesData).containsKey("service-offering");
|
||||
assertThat(servicesData.get("service-offering")).hasSize(1);
|
||||
assertThat(servicesData.get("service-offering").get(0)).containsKey("credentials");
|
||||
|
||||
Map<String, Object> credentials = (Map<String, Object>) servicesData.get("service-offering").get(0)
|
||||
.get("credentials");
|
||||
assertThat(credentials).containsEntry("url", "https://example.com").containsEntry("username", "user")
|
||||
.containsEntry("password", "secret");
|
||||
Map<String, Object> credentials = (Map<String, Object>) servicesData.get("service-offering")
|
||||
.get(0)
|
||||
.get("credentials");
|
||||
assertThat(credentials).containsEntry("url", "https://example.com")
|
||||
.containsEntry("username", "user")
|
||||
.containsEntry("password", "secret");
|
||||
}
|
||||
|
||||
private ServicesData buildVcapServices(String credHubReferenceName) throws IOException {
|
||||
|
||||
@@ -64,10 +64,14 @@ public class PermissionIntegrationTests extends CredHubIntegrationTests {
|
||||
this.credentials.write(ValueCredentialRequest.builder().name(CREDENTIAL_NAME).value(CREDENTIAL_VALUE).build());
|
||||
|
||||
Permission appPermission = Permission.builder().app("app1").operation(Operation.READ).build();
|
||||
Permission userPermission = Permission.builder().user("user1")
|
||||
.operations(Operation.READ, Operation.WRITE, Operation.DELETE).build();
|
||||
Permission clientPermission = Permission.builder().client("client1")
|
||||
.operations(Operation.READ_ACL, Operation.WRITE_ACL).build();
|
||||
Permission userPermission = Permission.builder()
|
||||
.user("user1")
|
||||
.operations(Operation.READ, Operation.WRITE, Operation.DELETE)
|
||||
.build();
|
||||
Permission clientPermission = Permission.builder()
|
||||
.client("client1")
|
||||
.operations(Operation.READ_ACL, Operation.WRITE_ACL)
|
||||
.build();
|
||||
|
||||
this.permissions.addPermissions(CREDENTIAL_NAME, appPermission, userPermission, clientPermission);
|
||||
|
||||
@@ -92,10 +96,14 @@ public class PermissionIntegrationTests extends CredHubIntegrationTests {
|
||||
this.credentials.write(ValueCredentialRequest.builder().name(CREDENTIAL_NAME).value(CREDENTIAL_VALUE).build());
|
||||
|
||||
Permission appPermission = Permission.builder().app("app1").operation(Operation.READ).build();
|
||||
Permission userPermission = Permission.builder().user("user1")
|
||||
.operations(Operation.READ, Operation.WRITE, Operation.DELETE).build();
|
||||
Permission clientPermission = Permission.builder().client("client1")
|
||||
.operations(Operation.READ_ACL, Operation.WRITE_ACL).build();
|
||||
Permission userPermission = Permission.builder()
|
||||
.user("user1")
|
||||
.operations(Operation.READ, Operation.WRITE, Operation.DELETE)
|
||||
.build();
|
||||
Permission clientPermission = Permission.builder()
|
||||
.client("client1")
|
||||
.operations(Operation.READ_ACL, Operation.WRITE_ACL)
|
||||
.build();
|
||||
|
||||
this.permissions.addPermissions(CREDENTIAL_NAME, appPermission, userPermission, clientPermission);
|
||||
|
||||
|
||||
@@ -65,8 +65,10 @@ public class PermissionV2IntegrationTests extends CredHubIntegrationTests {
|
||||
|
||||
this.credentials.write(ValueCredentialRequest.builder().name(CREDENTIAL_NAME).value(CREDENTIAL_VALUE).build());
|
||||
|
||||
Permission clientPermission = Permission.builder().client("client1")
|
||||
.operations(Operation.READ, Operation.WRITE, Operation.DELETE).build();
|
||||
Permission clientPermission = Permission.builder()
|
||||
.client("client1")
|
||||
.operations(Operation.READ, Operation.WRITE, Operation.DELETE)
|
||||
.build();
|
||||
|
||||
CredentialPermission added = this.permissions.addPermissions(CREDENTIAL_NAME, clientPermission);
|
||||
assertThat(added.getId()).isNotNull();
|
||||
@@ -90,8 +92,10 @@ public class PermissionV2IntegrationTests extends CredHubIntegrationTests {
|
||||
|
||||
this.credentials.write(ValueCredentialRequest.builder().name(CREDENTIAL_NAME).value(CREDENTIAL_VALUE).build());
|
||||
|
||||
Permission clientPermission = Permission.builder().client("client1")
|
||||
.operations(Operation.READ, Operation.WRITE, Operation.DELETE).build();
|
||||
Permission clientPermission = Permission.builder()
|
||||
.client("client1")
|
||||
.operations(Operation.READ, Operation.WRITE, Operation.DELETE)
|
||||
.build();
|
||||
|
||||
CredentialPermission added = this.permissions.addPermissions(CREDENTIAL_NAME, clientPermission);
|
||||
assertThat(added.getId()).isNotNull();
|
||||
@@ -100,8 +104,10 @@ public class PermissionV2IntegrationTests extends CredHubIntegrationTests {
|
||||
|
||||
String permissionId = added.getId();
|
||||
|
||||
Permission newPermission = Permission.builder().client("client1")
|
||||
.operations(Operation.READ_ACL, Operation.WRITE_ACL).build();
|
||||
Permission newPermission = Permission.builder()
|
||||
.client("client1")
|
||||
.operations(Operation.READ_ACL, Operation.WRITE_ACL)
|
||||
.build();
|
||||
|
||||
CredentialPermission updated = this.permissions.updatePermissions(permissionId, CREDENTIAL_NAME, newPermission);
|
||||
assertThat(updated.getId()).isEqualTo(permissionId);
|
||||
|
||||
@@ -65,16 +65,17 @@ public class ReactiveCertificateIntegrationTests extends ReactiveCredHubIntegrat
|
||||
public void generateCertificate() {
|
||||
assumeTrue(serverApiIsV2());
|
||||
|
||||
StepVerifier.create(this.credentials.generate(CertificateParametersRequest.builder().name(TEST_CERT_NAME)
|
||||
.parameters(CertificateParameters.builder().commonName("example.com").selfSign(true).build()).build(),
|
||||
CertificateCredential.class)).assertNext((response) -> {
|
||||
assertThat(response.getName().getName()).isEqualTo(TEST_CERT_NAME.getName());
|
||||
assertThat(response.getCredentialType()).isEqualTo(CredentialType.CERTIFICATE);
|
||||
assertThat(response.getId()).isNotNull();
|
||||
assertThat(response.getValue().getCertificate()).isNotNull();
|
||||
assertThat(response.getValue().getCertificateAuthority()).isNotNull();
|
||||
assertThat(response.getValue().getPrivateKey()).isNotNull();
|
||||
}).verifyComplete();
|
||||
StepVerifier.create(this.credentials.generate(CertificateParametersRequest.builder()
|
||||
.name(TEST_CERT_NAME)
|
||||
.parameters(CertificateParameters.builder().commonName("example.com").selfSign(true).build())
|
||||
.build(), CertificateCredential.class)).assertNext((response) -> {
|
||||
assertThat(response.getName().getName()).isEqualTo(TEST_CERT_NAME.getName());
|
||||
assertThat(response.getCredentialType()).isEqualTo(CredentialType.CERTIFICATE);
|
||||
assertThat(response.getId()).isNotNull();
|
||||
assertThat(response.getValue().getCertificate()).isNotNull();
|
||||
assertThat(response.getValue().getCertificateAuthority()).isNotNull();
|
||||
assertThat(response.getValue().getPrivateKey()).isNotNull();
|
||||
}).verifyComplete();
|
||||
|
||||
StepVerifier.create(this.certificates.getByName(TEST_CERT_NAME)).assertNext((response) -> {
|
||||
assertThat(response.getName()).isEqualTo(TEST_CERT_NAME.getName());
|
||||
@@ -82,8 +83,9 @@ public class ReactiveCertificateIntegrationTests extends ReactiveCredHubIntegrat
|
||||
}).verifyComplete();
|
||||
|
||||
StepVerifier.create(this.certificates.getAll())
|
||||
.assertNext((response) -> assertThat(response.getName()).isEqualTo(TEST_CERT_NAME.getName()))
|
||||
.thenCancel().verify();
|
||||
.assertNext((response) -> assertThat(response.getName()).isEqualTo(TEST_CERT_NAME.getName()))
|
||||
.thenCancel()
|
||||
.verify();
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -93,13 +95,14 @@ public class ReactiveCertificateIntegrationTests extends ReactiveCredHubIntegrat
|
||||
AtomicReference<CertificateCredential> certificate = new AtomicReference<>();
|
||||
AtomicReference<String> certificateId = new AtomicReference<>();
|
||||
|
||||
StepVerifier.create(this.credentials.generate(CertificateParametersRequest.builder().name(TEST_CERT_NAME)
|
||||
.parameters(CertificateParameters.builder().commonName("example.com").selfSign(true).build()).build(),
|
||||
CertificateCredential.class)).assertNext((response) -> {
|
||||
assertThat(response.getName().getName()).isEqualTo(TEST_CERT_NAME.getName());
|
||||
StepVerifier.create(this.credentials.generate(CertificateParametersRequest.builder()
|
||||
.name(TEST_CERT_NAME)
|
||||
.parameters(CertificateParameters.builder().commonName("example.com").selfSign(true).build())
|
||||
.build(), CertificateCredential.class)).assertNext((response) -> {
|
||||
assertThat(response.getName().getName()).isEqualTo(TEST_CERT_NAME.getName());
|
||||
|
||||
certificate.set(response.getValue());
|
||||
}).verifyComplete();
|
||||
certificate.set(response.getValue());
|
||||
}).verifyComplete();
|
||||
|
||||
StepVerifier.create(this.certificates.getByName(TEST_CERT_NAME)).assertNext((response) -> {
|
||||
assertThat(response.getName()).isEqualTo(TEST_CERT_NAME.getName());
|
||||
@@ -113,7 +116,7 @@ public class ReactiveCertificateIntegrationTests extends ReactiveCredHubIntegrat
|
||||
assertThat(response.isTransitional()).isTrue();
|
||||
assertThat(response.getValue().getCertificate()).isNotEqualTo(certificate.get().getCertificate());
|
||||
assertThat(response.getValue().getCertificateAuthority())
|
||||
.isNotEqualTo(certificate.get().getCertificateAuthority());
|
||||
.isNotEqualTo(certificate.get().getCertificateAuthority());
|
||||
assertThat(response.getValue().getPrivateKey()).isNotEqualTo(certificate.get().getPrivateKey());
|
||||
}).verifyComplete();
|
||||
}
|
||||
@@ -127,18 +130,19 @@ public class ReactiveCertificateIntegrationTests extends ReactiveCredHubIntegrat
|
||||
AtomicReference<String> credentialVersion1Id = new AtomicReference<>();
|
||||
AtomicReference<String> certificateId = new AtomicReference<>();
|
||||
|
||||
StepVerifier.create(this.credentials.generate(CertificateParametersRequest.builder().name(TEST_CERT_NAME)
|
||||
.parameters(CertificateParameters.builder().commonName("example.com").selfSign(true).build()).build(),
|
||||
CertificateCredential.class)).assertNext((response) -> {
|
||||
assertThat(response.getName().getName()).isEqualTo(TEST_CERT_NAME.getName());
|
||||
StepVerifier.create(this.credentials.generate(CertificateParametersRequest.builder()
|
||||
.name(TEST_CERT_NAME)
|
||||
.parameters(CertificateParameters.builder().commonName("example.com").selfSign(true).build())
|
||||
.build(), CertificateCredential.class)).assertNext((response) -> {
|
||||
assertThat(response.getName().getName()).isEqualTo(TEST_CERT_NAME.getName());
|
||||
|
||||
certificate.set(response.getValue());
|
||||
credentialVersion0Id.set(response.getId());
|
||||
}).verifyComplete();
|
||||
certificate.set(response.getValue());
|
||||
credentialVersion0Id.set(response.getId());
|
||||
}).verifyComplete();
|
||||
|
||||
StepVerifier.create(this.credentials.getByNameWithHistory(TEST_CERT_NAME, CertificateCredential.class))
|
||||
.assertNext((response) -> assertThat(response.getId()).isEqualTo(credentialVersion0Id.get()))
|
||||
.verifyComplete();
|
||||
.assertNext((response) -> assertThat(response.getId()).isEqualTo(credentialVersion0Id.get()))
|
||||
.verifyComplete();
|
||||
|
||||
StepVerifier.create(this.certificates.getByName(TEST_CERT_NAME)).assertNext((response) -> {
|
||||
assertThat(response.getName()).isEqualTo(TEST_CERT_NAME.getName());
|
||||
@@ -151,32 +155,35 @@ public class ReactiveCertificateIntegrationTests extends ReactiveCredHubIntegrat
|
||||
assertThat(response.getName().getName()).isEqualTo(TEST_CERT_NAME.getName());
|
||||
assertThat(response.getValue().getCertificate()).isNotEqualTo(certificate.get().getCertificate());
|
||||
assertThat(response.getValue().getCertificateAuthority())
|
||||
.isNotEqualTo(certificate.get().getCertificateAuthority());
|
||||
.isNotEqualTo(certificate.get().getCertificateAuthority());
|
||||
assertThat(response.getValue().getPrivateKey()).isNotEqualTo(certificate.get().getPrivateKey());
|
||||
|
||||
credentialVersion1Id.set(response.getId());
|
||||
}).verifyComplete();
|
||||
|
||||
StepVerifier.create(this.credentials.getByNameWithHistory(TEST_CERT_NAME, CertificateCredential.class))
|
||||
.assertNext((response) -> assertThat(response.getId()).isEqualTo(credentialVersion1Id.get()))
|
||||
.assertNext((response) -> assertThat(response.getId()).isEqualTo(credentialVersion0Id.get()))
|
||||
.verifyComplete();
|
||||
.assertNext((response) -> assertThat(response.getId()).isEqualTo(credentialVersion1Id.get()))
|
||||
.assertNext((response) -> assertThat(response.getId()).isEqualTo(credentialVersion0Id.get()))
|
||||
.verifyComplete();
|
||||
|
||||
StepVerifier
|
||||
.create(this.certificates.updateTransitionalVersion(certificateId.get(), credentialVersion0Id.get()))
|
||||
.assertNext((response) -> {
|
||||
assertThat(response.getId()).isEqualTo(credentialVersion1Id.get());
|
||||
assertThat(response.isTransitional()).isFalse();
|
||||
}).assertNext((response) -> {
|
||||
assertThat(response.getId()).isEqualTo(credentialVersion0Id.get());
|
||||
assertThat(response.isTransitional()).isTrue();
|
||||
}).verifyComplete();
|
||||
.create(this.certificates.updateTransitionalVersion(certificateId.get(), credentialVersion0Id.get()))
|
||||
.assertNext((response) -> {
|
||||
assertThat(response.getId()).isEqualTo(credentialVersion1Id.get());
|
||||
assertThat(response.isTransitional()).isFalse();
|
||||
})
|
||||
.assertNext((response) -> {
|
||||
assertThat(response.getId()).isEqualTo(credentialVersion0Id.get());
|
||||
assertThat(response.isTransitional()).isTrue();
|
||||
})
|
||||
.verifyComplete();
|
||||
|
||||
StepVerifier.create(this.certificates.updateTransitionalVersion(certificateId.get(), null))
|
||||
.assertNext((response) -> {
|
||||
assertThat(response.getId()).isEqualTo(credentialVersion1Id.get());
|
||||
assertThat(response.isTransitional()).isFalse();
|
||||
}).verifyComplete();
|
||||
.assertNext((response) -> {
|
||||
assertThat(response.getId()).isEqualTo(credentialVersion1Id.get());
|
||||
assertThat(response.isTransitional()).isFalse();
|
||||
})
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -184,37 +191,39 @@ public class ReactiveCertificateIntegrationTests extends ReactiveCredHubIntegrat
|
||||
AtomicReference<CertificateCredential> rootCertificate = new AtomicReference<>();
|
||||
AtomicReference<String> signedCertificateId = new AtomicReference<>();
|
||||
|
||||
StepVerifier
|
||||
.create(this.credentials.generate(
|
||||
CertificateParametersRequest.builder().name(ROOT_CERT_NAME)
|
||||
.parameters(CertificateParameters.builder().commonName("example.com")
|
||||
.certificateAuthority(true).selfSign(true).build())
|
||||
.build(),
|
||||
CertificateCredential.class))
|
||||
.assertNext((response) -> {
|
||||
assertThat(response.getName().getName()).isEqualTo(ROOT_CERT_NAME.getName());
|
||||
StepVerifier.create(this.credentials.generate(CertificateParametersRequest.builder()
|
||||
.name(ROOT_CERT_NAME)
|
||||
.parameters(CertificateParameters.builder()
|
||||
.commonName("example.com")
|
||||
.certificateAuthority(true)
|
||||
.selfSign(true)
|
||||
.build())
|
||||
.build(), CertificateCredential.class)).assertNext((response) -> {
|
||||
assertThat(response.getName().getName()).isEqualTo(ROOT_CERT_NAME.getName());
|
||||
|
||||
rootCertificate.set(response.getValue());
|
||||
}).verifyComplete();
|
||||
rootCertificate.set(response.getValue());
|
||||
}).verifyComplete();
|
||||
|
||||
StepVerifier.create(this.credentials.generate(
|
||||
CertificateParametersRequest.builder().name(TEST_CERT_NAME)
|
||||
.parameters(CertificateParameters.builder().commonName("example.com")
|
||||
.certificateAuthorityCredential(ROOT_CERT_NAME).build())
|
||||
.build(),
|
||||
CertificateCredential.class)).assertNext((response) -> {
|
||||
assertThat(response.getValue().getCertificateAuthority())
|
||||
.isEqualTo(rootCertificate.get().getCertificate());
|
||||
StepVerifier.create(this.credentials.generate(CertificateParametersRequest.builder()
|
||||
.name(TEST_CERT_NAME)
|
||||
.parameters(CertificateParameters.builder()
|
||||
.commonName("example.com")
|
||||
.certificateAuthorityCredential(ROOT_CERT_NAME)
|
||||
.build())
|
||||
.build(), CertificateCredential.class)).assertNext((response) -> {
|
||||
assertThat(response.getValue().getCertificateAuthority())
|
||||
.isEqualTo(rootCertificate.get().getCertificate());
|
||||
|
||||
signedCertificateId.set(response.getId());
|
||||
}).verifyComplete();
|
||||
signedCertificateId.set(response.getId());
|
||||
}).verifyComplete();
|
||||
|
||||
StepVerifier.create(this.credentials.getByNameWithHistory(TEST_CERT_NAME, CertificateCredential.class))
|
||||
.assertNext((response) -> assertThat(response.getId()).isEqualTo(signedCertificateId.get()))
|
||||
.verifyComplete();
|
||||
.assertNext((response) -> assertThat(response.getId()).isEqualTo(signedCertificateId.get()))
|
||||
.verifyComplete();
|
||||
|
||||
StepVerifier.create(this.certificates.regenerate(ROOT_CERT_NAME))
|
||||
.assertNext((response) -> assertThat(response).isEqualTo(TEST_CERT_NAME)).verifyComplete();
|
||||
.assertNext((response) -> assertThat(response).isEqualTo(TEST_CERT_NAME))
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -52,8 +52,12 @@ public class ReactiveCredentialIntegrationTests extends ReactiveCredHubIntegrati
|
||||
public void setUp() {
|
||||
this.credentials = this.operations.credentials();
|
||||
|
||||
this.passwordParameters = PasswordParameters.builder().length(12).excludeLower(false).excludeUpper(false)
|
||||
.excludeNumber(false).includeSpecial(true);
|
||||
this.passwordParameters = PasswordParameters.builder()
|
||||
.length(12)
|
||||
.excludeLower(false)
|
||||
.excludeUpper(false)
|
||||
.excludeNumber(false)
|
||||
.includeSpecial(true);
|
||||
|
||||
deleteCredentialIfExists(CREDENTIAL_NAME);
|
||||
}
|
||||
@@ -70,40 +74,47 @@ public class ReactiveCredentialIntegrationTests extends ReactiveCredHubIntegrati
|
||||
AtomicReference<CredentialDetails<ValueCredential>> written = new AtomicReference<>();
|
||||
|
||||
StepVerifier
|
||||
.create(this.credentials
|
||||
.write(ValueCredentialRequest.builder().name(CREDENTIAL_NAME).value(CREDENTIAL_VALUE).build()))
|
||||
.assertNext((response) -> {
|
||||
assertThat(response.getName().getName()).isEqualTo(CREDENTIAL_NAME.getName());
|
||||
assertThat(response.getValue().getValue()).isEqualTo(CREDENTIAL_VALUE);
|
||||
assertThat(response.getCredentialType()).isEqualTo(CredentialType.VALUE);
|
||||
assertThat(response.getId()).isNotNull();
|
||||
.create(this.credentials
|
||||
.write(ValueCredentialRequest.builder().name(CREDENTIAL_NAME).value(CREDENTIAL_VALUE).build()))
|
||||
.assertNext((response) -> {
|
||||
assertThat(response.getName().getName()).isEqualTo(CREDENTIAL_NAME.getName());
|
||||
assertThat(response.getValue().getValue()).isEqualTo(CREDENTIAL_VALUE);
|
||||
assertThat(response.getCredentialType()).isEqualTo(CredentialType.VALUE);
|
||||
assertThat(response.getId()).isNotNull();
|
||||
|
||||
written.set(response);
|
||||
}).verifyComplete();
|
||||
written.set(response);
|
||||
})
|
||||
.verifyComplete();
|
||||
|
||||
StepVerifier.create(this.credentials.getById(written.get().getId(), ValueCredential.class))
|
||||
.assertNext((response) -> {
|
||||
assertThat(response.getName().getName()).isEqualTo(CREDENTIAL_NAME.getName());
|
||||
assertThat(response.getValue().getValue()).isEqualTo(CREDENTIAL_VALUE);
|
||||
assertThat(response.getCredentialType()).isEqualTo(CredentialType.VALUE);
|
||||
}).verifyComplete();
|
||||
.assertNext((response) -> {
|
||||
assertThat(response.getName().getName()).isEqualTo(CREDENTIAL_NAME.getName());
|
||||
assertThat(response.getValue().getValue()).isEqualTo(CREDENTIAL_VALUE);
|
||||
assertThat(response.getCredentialType()).isEqualTo(CredentialType.VALUE);
|
||||
})
|
||||
.verifyComplete();
|
||||
|
||||
StepVerifier.create(this.credentials.getByName(CREDENTIAL_NAME, ValueCredential.class))
|
||||
.assertNext((response) -> {
|
||||
assertThat(response.getName().getName()).isEqualTo(CREDENTIAL_NAME.getName());
|
||||
assertThat(response.getValue().getValue()).isEqualTo(CREDENTIAL_VALUE);
|
||||
assertThat(response.getCredentialType()).isEqualTo(CredentialType.VALUE);
|
||||
}).verifyComplete();
|
||||
.assertNext((response) -> {
|
||||
assertThat(response.getName().getName()).isEqualTo(CREDENTIAL_NAME.getName());
|
||||
assertThat(response.getValue().getValue()).isEqualTo(CREDENTIAL_VALUE);
|
||||
assertThat(response.getCredentialType()).isEqualTo(CredentialType.VALUE);
|
||||
})
|
||||
.verifyComplete();
|
||||
|
||||
StepVerifier.create(this.credentials.findByName(new SimpleCredentialName("/test")))
|
||||
.assertNext((response) -> assertThat(response).extracting("name").extracting("name").asString()
|
||||
.contains(CREDENTIAL_NAME.getName()))
|
||||
.verifyComplete();
|
||||
.assertNext((response) -> assertThat(response).extracting("name")
|
||||
.extracting("name")
|
||||
.asString()
|
||||
.contains(CREDENTIAL_NAME.getName()))
|
||||
.verifyComplete();
|
||||
|
||||
StepVerifier.create(this.credentials.findByPath("/spring-credhub/integration-test"))
|
||||
.assertNext((response) -> assertThat(response).extracting("name").extracting("name").asString()
|
||||
.contains(CREDENTIAL_NAME.getName()))
|
||||
.verifyComplete();
|
||||
.assertNext((response) -> assertThat(response).extracting("name")
|
||||
.extracting("name")
|
||||
.asString()
|
||||
.contains(CREDENTIAL_NAME.getName()))
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -111,22 +122,24 @@ public class ReactiveCredentialIntegrationTests extends ReactiveCredHubIntegrati
|
||||
assumeTrue(serverApiIsV2());
|
||||
|
||||
StepVerifier
|
||||
.create(this.credentials
|
||||
.write(ValueCredentialRequest.builder().name(CREDENTIAL_NAME).value(CREDENTIAL_VALUE).build()))
|
||||
.assertNext((response) -> {
|
||||
assertThat(response.getName().getName()).isEqualTo(CREDENTIAL_NAME.getName());
|
||||
assertThat(response.getValue().getValue()).isEqualTo(CREDENTIAL_VALUE);
|
||||
assertThat(response.getCredentialType()).isEqualTo(CredentialType.VALUE);
|
||||
assertThat(response.getId()).isNotNull();
|
||||
}).verifyComplete();
|
||||
.create(this.credentials
|
||||
.write(ValueCredentialRequest.builder().name(CREDENTIAL_NAME).value(CREDENTIAL_VALUE).build()))
|
||||
.assertNext((response) -> {
|
||||
assertThat(response.getName().getName()).isEqualTo(CREDENTIAL_NAME.getName());
|
||||
assertThat(response.getValue().getValue()).isEqualTo(CREDENTIAL_VALUE);
|
||||
assertThat(response.getCredentialType()).isEqualTo(CredentialType.VALUE);
|
||||
assertThat(response.getId()).isNotNull();
|
||||
})
|
||||
.verifyComplete();
|
||||
|
||||
StepVerifier
|
||||
.create(this.credentials
|
||||
.write(ValueCredentialRequest.builder().name(CREDENTIAL_NAME).value("new-value").build()))
|
||||
.assertNext((response) -> {
|
||||
assertThat(response.getName().getName()).isEqualTo(CREDENTIAL_NAME.getName());
|
||||
assertThat(response.getValue().getValue()).isEqualTo("new-value");
|
||||
}).verifyComplete();
|
||||
.create(this.credentials
|
||||
.write(ValueCredentialRequest.builder().name(CREDENTIAL_NAME).value("new-value").build()))
|
||||
.assertNext((response) -> {
|
||||
assertThat(response.getName().getName()).isEqualTo(CREDENTIAL_NAME.getName());
|
||||
assertThat(response.getValue().getValue()).isEqualTo("new-value");
|
||||
})
|
||||
.verifyComplete();
|
||||
|
||||
verifyHistory();
|
||||
}
|
||||
@@ -136,184 +149,201 @@ public class ReactiveCredentialIntegrationTests extends ReactiveCredHubIntegrati
|
||||
assumeTrue(serverApiIsV1());
|
||||
|
||||
StepVerifier
|
||||
.create(this.credentials
|
||||
.write(ValueCredentialRequest.builder().name(CREDENTIAL_NAME).value(CREDENTIAL_VALUE).build()))
|
||||
.assertNext((response) -> {
|
||||
assertThat(response.getName().getName()).isEqualTo(CREDENTIAL_NAME.getName());
|
||||
assertThat(response.getValue().getValue()).isEqualTo(CREDENTIAL_VALUE);
|
||||
assertThat(response.getCredentialType()).isEqualTo(CredentialType.VALUE);
|
||||
assertThat(response.getId()).isNotNull();
|
||||
}).verifyComplete();
|
||||
.create(this.credentials
|
||||
.write(ValueCredentialRequest.builder().name(CREDENTIAL_NAME).value(CREDENTIAL_VALUE).build()))
|
||||
.assertNext((response) -> {
|
||||
assertThat(response.getName().getName()).isEqualTo(CREDENTIAL_NAME.getName());
|
||||
assertThat(response.getValue().getValue()).isEqualTo(CREDENTIAL_VALUE);
|
||||
assertThat(response.getCredentialType()).isEqualTo(CredentialType.VALUE);
|
||||
assertThat(response.getId()).isNotNull();
|
||||
})
|
||||
.verifyComplete();
|
||||
|
||||
StepVerifier.create(this.credentials.write(ValueCredentialRequest.builder().name(CREDENTIAL_NAME)
|
||||
.value("new-value").mode(WriteMode.NO_OVERWRITE).build())).assertNext((response) -> {
|
||||
assertThat(response.getName().getName()).isEqualTo(CREDENTIAL_NAME.getName());
|
||||
assertThat(response.getValue().getValue()).isEqualTo(CREDENTIAL_VALUE);
|
||||
}).verifyComplete();
|
||||
StepVerifier.create(this.credentials.write(ValueCredentialRequest.builder()
|
||||
.name(CREDENTIAL_NAME)
|
||||
.value("new-value")
|
||||
.mode(WriteMode.NO_OVERWRITE)
|
||||
.build())).assertNext((response) -> {
|
||||
assertThat(response.getName().getName()).isEqualTo(CREDENTIAL_NAME.getName());
|
||||
assertThat(response.getValue().getValue()).isEqualTo(CREDENTIAL_VALUE);
|
||||
}).verifyComplete();
|
||||
|
||||
StepVerifier.create(this.credentials.write(ValueCredentialRequest.builder().name(CREDENTIAL_NAME)
|
||||
.value("new-value").mode(WriteMode.OVERWRITE).build())).assertNext((response) -> {
|
||||
assertThat(response.getName().getName()).isEqualTo(CREDENTIAL_NAME.getName());
|
||||
assertThat(response.getValue().getValue()).isEqualTo("new-value");
|
||||
}).verifyComplete();
|
||||
StepVerifier.create(this.credentials.write(ValueCredentialRequest.builder()
|
||||
.name(CREDENTIAL_NAME)
|
||||
.value("new-value")
|
||||
.mode(WriteMode.OVERWRITE)
|
||||
.build())).assertNext((response) -> {
|
||||
assertThat(response.getName().getName()).isEqualTo(CREDENTIAL_NAME.getName());
|
||||
assertThat(response.getValue().getValue()).isEqualTo("new-value");
|
||||
}).verifyComplete();
|
||||
|
||||
verifyHistory();
|
||||
}
|
||||
|
||||
private void verifyHistory() {
|
||||
StepVerifier.create(this.credentials.getByNameWithHistory(CREDENTIAL_NAME, ValueCredential.class))
|
||||
.assertNext((response) -> {
|
||||
assertThat(response.getName().getName()).isEqualTo(CREDENTIAL_NAME.getName());
|
||||
assertThat(response.getValue().getValue()).isEqualTo("new-value");
|
||||
assertThat(response.getCredentialType()).isEqualTo(CredentialType.VALUE);
|
||||
}).assertNext((response) -> {
|
||||
assertThat(response.getName().getName()).isEqualTo(CREDENTIAL_NAME.getName());
|
||||
assertThat(response.getValue().getValue()).isEqualTo(CREDENTIAL_VALUE);
|
||||
assertThat(response.getCredentialType()).isEqualTo(CredentialType.VALUE);
|
||||
}).verifyComplete();
|
||||
.assertNext((response) -> {
|
||||
assertThat(response.getName().getName()).isEqualTo(CREDENTIAL_NAME.getName());
|
||||
assertThat(response.getValue().getValue()).isEqualTo("new-value");
|
||||
assertThat(response.getCredentialType()).isEqualTo(CredentialType.VALUE);
|
||||
})
|
||||
.assertNext((response) -> {
|
||||
assertThat(response.getName().getName()).isEqualTo(CREDENTIAL_NAME.getName());
|
||||
assertThat(response.getValue().getValue()).isEqualTo(CREDENTIAL_VALUE);
|
||||
assertThat(response.getCredentialType()).isEqualTo(CredentialType.VALUE);
|
||||
})
|
||||
.verifyComplete();
|
||||
|
||||
StepVerifier.create(this.credentials.getByNameWithHistory(CREDENTIAL_NAME, 2, ValueCredential.class))
|
||||
.assertNext((response) -> {
|
||||
assertThat(response.getName().getName()).isEqualTo(CREDENTIAL_NAME.getName());
|
||||
assertThat(response.getValue().getValue()).isEqualTo("new-value");
|
||||
assertThat(response.getCredentialType()).isEqualTo(CredentialType.VALUE);
|
||||
}).assertNext((response) -> {
|
||||
assertThat(response.getName().getName()).isEqualTo(CREDENTIAL_NAME.getName());
|
||||
assertThat(response.getValue().getValue()).isEqualTo(CREDENTIAL_VALUE);
|
||||
assertThat(response.getCredentialType()).isEqualTo(CredentialType.VALUE);
|
||||
}).verifyComplete();
|
||||
.assertNext((response) -> {
|
||||
assertThat(response.getName().getName()).isEqualTo(CREDENTIAL_NAME.getName());
|
||||
assertThat(response.getValue().getValue()).isEqualTo("new-value");
|
||||
assertThat(response.getCredentialType()).isEqualTo(CredentialType.VALUE);
|
||||
})
|
||||
.assertNext((response) -> {
|
||||
assertThat(response.getName().getName()).isEqualTo(CREDENTIAL_NAME.getName());
|
||||
assertThat(response.getValue().getValue()).isEqualTo(CREDENTIAL_VALUE);
|
||||
assertThat(response.getCredentialType()).isEqualTo(CredentialType.VALUE);
|
||||
})
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void generateCredential() {
|
||||
AtomicReference<CredentialDetails<UserCredential>> generated = new AtomicReference<>();
|
||||
|
||||
StepVerifier.create(this.credentials.generate(UserParametersRequest.builder().name(CREDENTIAL_NAME)
|
||||
.username("test-user").parameters(this.passwordParameters.build()).build(), UserCredential.class))
|
||||
.assertNext((response) -> {
|
||||
assertThat(response.getName().getName()).isEqualTo(CREDENTIAL_NAME.getName());
|
||||
assertThat(response.getCredentialType()).isEqualTo(CredentialType.USER);
|
||||
assertThat(response.getValue().getUsername()).isEqualTo("test-user");
|
||||
assertThat(response.getValue().getPassword()).matches("^[a-zA-Z0-9\\p{Punct}]{12}$");
|
||||
assertThat(response.getValue().getPasswordHash()).isNotNull();
|
||||
StepVerifier.create(this.credentials.generate(UserParametersRequest.builder()
|
||||
.name(CREDENTIAL_NAME)
|
||||
.username("test-user")
|
||||
.parameters(this.passwordParameters.build())
|
||||
.build(), UserCredential.class)).assertNext((response) -> {
|
||||
assertThat(response.getName().getName()).isEqualTo(CREDENTIAL_NAME.getName());
|
||||
assertThat(response.getCredentialType()).isEqualTo(CredentialType.USER);
|
||||
assertThat(response.getValue().getUsername()).isEqualTo("test-user");
|
||||
assertThat(response.getValue().getPassword()).matches("^[a-zA-Z0-9\\p{Punct}]{12}$");
|
||||
assertThat(response.getValue().getPasswordHash()).isNotNull();
|
||||
|
||||
generated.set(response);
|
||||
}).verifyComplete();
|
||||
generated.set(response);
|
||||
}).verifyComplete();
|
||||
|
||||
StepVerifier.create(this.credentials.getById(generated.get().getId(), UserCredential.class))
|
||||
.assertNext((response) -> assertThat(response.getName().getName()).isEqualTo(CREDENTIAL_NAME.getName()))
|
||||
.verifyComplete();
|
||||
.assertNext((response) -> assertThat(response.getName().getName()).isEqualTo(CREDENTIAL_NAME.getName()))
|
||||
.verifyComplete();
|
||||
|
||||
StepVerifier.create(this.credentials.regenerate(CREDENTIAL_NAME, UserCredential.class))
|
||||
.assertNext((response) -> {
|
||||
assertThat(response.getName().getName()).isEqualTo(CREDENTIAL_NAME.getName());
|
||||
assertThat(response.getValue().getUsername()).isEqualTo("test-user");
|
||||
assertThat(response.getValue().getPassword()).matches("^[a-zA-Z0-9\\p{Punct}]{12}$");
|
||||
assertThat(response.getValue().getPassword())
|
||||
.isNotEqualTo(generated.get().getValue().getPassword());
|
||||
assertThat(response.getValue().getPasswordHash())
|
||||
.isNotEqualTo(generated.get().getValue().getPasswordHash());
|
||||
}).verifyComplete();
|
||||
.assertNext((response) -> {
|
||||
assertThat(response.getName().getName()).isEqualTo(CREDENTIAL_NAME.getName());
|
||||
assertThat(response.getValue().getUsername()).isEqualTo("test-user");
|
||||
assertThat(response.getValue().getPassword()).matches("^[a-zA-Z0-9\\p{Punct}]{12}$");
|
||||
assertThat(response.getValue().getPassword()).isNotEqualTo(generated.get().getValue().getPassword());
|
||||
assertThat(response.getValue().getPasswordHash())
|
||||
.isNotEqualTo(generated.get().getValue().getPasswordHash());
|
||||
})
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void generateNoOverwriteCredential() {
|
||||
AtomicReference<CredentialDetails<UserCredential>> generated = new AtomicReference<>();
|
||||
|
||||
StepVerifier.create(this.credentials.generate(UserParametersRequest.builder().name(CREDENTIAL_NAME)
|
||||
.username("test-user").parameters(this.passwordParameters.build()).build(), UserCredential.class))
|
||||
.assertNext((response) -> {
|
||||
assertThat(response.getName().getName()).isEqualTo(CREDENTIAL_NAME.getName());
|
||||
assertThat(response.getValue().getUsername()).isEqualTo("test-user");
|
||||
assertThat(response.getValue().getPassword()).matches("^[a-zA-Z0-9\\p{Punct}]{12}$");
|
||||
assertThat(response.getValue().getPasswordHash()).isNotNull();
|
||||
StepVerifier.create(this.credentials.generate(UserParametersRequest.builder()
|
||||
.name(CREDENTIAL_NAME)
|
||||
.username("test-user")
|
||||
.parameters(this.passwordParameters.build())
|
||||
.build(), UserCredential.class)).assertNext((response) -> {
|
||||
assertThat(response.getName().getName()).isEqualTo(CREDENTIAL_NAME.getName());
|
||||
assertThat(response.getValue().getUsername()).isEqualTo("test-user");
|
||||
assertThat(response.getValue().getPassword()).matches("^[a-zA-Z0-9\\p{Punct}]{12}$");
|
||||
assertThat(response.getValue().getPasswordHash()).isNotNull();
|
||||
|
||||
generated.set(response);
|
||||
}).verifyComplete();
|
||||
generated.set(response);
|
||||
}).verifyComplete();
|
||||
|
||||
StepVerifier
|
||||
.create(this.credentials.generate(
|
||||
UserParametersRequest.builder().name(CREDENTIAL_NAME).mode(WriteMode.NO_OVERWRITE)
|
||||
.username("test-user").parameters(this.passwordParameters.build()).build(),
|
||||
UserCredential.class))
|
||||
.assertNext((response) -> {
|
||||
assertThat(response.getValue().getUsername()).isEqualTo("test-user");
|
||||
assertThat(response.getValue().getPassword()).isEqualTo(generated.get().getValue().getPassword());
|
||||
assertThat(response.getValue().getPasswordHash())
|
||||
.isEqualTo(generated.get().getValue().getPasswordHash());
|
||||
}).verifyComplete();
|
||||
StepVerifier.create(this.credentials.generate(UserParametersRequest.builder()
|
||||
.name(CREDENTIAL_NAME)
|
||||
.mode(WriteMode.NO_OVERWRITE)
|
||||
.username("test-user")
|
||||
.parameters(this.passwordParameters.build())
|
||||
.build(), UserCredential.class)).assertNext((response) -> {
|
||||
assertThat(response.getValue().getUsername()).isEqualTo("test-user");
|
||||
assertThat(response.getValue().getPassword()).isEqualTo(generated.get().getValue().getPassword());
|
||||
assertThat(response.getValue().getPasswordHash())
|
||||
.isEqualTo(generated.get().getValue().getPasswordHash());
|
||||
}).verifyComplete();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void generateOverwriteCredential() {
|
||||
AtomicReference<CredentialDetails<UserCredential>> generated = new AtomicReference<>();
|
||||
|
||||
StepVerifier.create(this.credentials.generate(UserParametersRequest.builder().name(CREDENTIAL_NAME)
|
||||
.username("test-user").parameters(this.passwordParameters.build()).build(), UserCredential.class))
|
||||
.assertNext((response) -> {
|
||||
assertThat(response.getName().getName()).isEqualTo(CREDENTIAL_NAME.getName());
|
||||
assertThat(response.getValue().getUsername()).isEqualTo("test-user");
|
||||
assertThat(response.getValue().getPassword()).matches("^[a-zA-Z0-9\\p{Punct}]{12}$");
|
||||
assertThat(response.getValue().getPasswordHash()).isNotNull();
|
||||
StepVerifier.create(this.credentials.generate(UserParametersRequest.builder()
|
||||
.name(CREDENTIAL_NAME)
|
||||
.username("test-user")
|
||||
.parameters(this.passwordParameters.build())
|
||||
.build(), UserCredential.class)).assertNext((response) -> {
|
||||
assertThat(response.getName().getName()).isEqualTo(CREDENTIAL_NAME.getName());
|
||||
assertThat(response.getValue().getUsername()).isEqualTo("test-user");
|
||||
assertThat(response.getValue().getPassword()).matches("^[a-zA-Z0-9\\p{Punct}]{12}$");
|
||||
assertThat(response.getValue().getPasswordHash()).isNotNull();
|
||||
|
||||
generated.set(response);
|
||||
}).verifyComplete();
|
||||
generated.set(response);
|
||||
}).verifyComplete();
|
||||
|
||||
StepVerifier
|
||||
.create(this.credentials.generate(
|
||||
UserParametersRequest.builder().name(CREDENTIAL_NAME).mode(WriteMode.OVERWRITE)
|
||||
.username("test-user").parameters(this.passwordParameters.build()).build(),
|
||||
UserCredential.class))
|
||||
.assertNext((response) -> {
|
||||
assertThat(response.getValue().getUsername()).isEqualTo("test-user");
|
||||
assertThat(response.getValue().getPassword())
|
||||
.isNotEqualTo(generated.get().getValue().getPassword());
|
||||
assertThat(response.getValue().getPasswordHash())
|
||||
.isNotEqualTo(generated.get().getValue().getPasswordHash());
|
||||
}).verifyComplete();
|
||||
StepVerifier.create(this.credentials.generate(UserParametersRequest.builder()
|
||||
.name(CREDENTIAL_NAME)
|
||||
.mode(WriteMode.OVERWRITE)
|
||||
.username("test-user")
|
||||
.parameters(this.passwordParameters.build())
|
||||
.build(), UserCredential.class)).assertNext((response) -> {
|
||||
assertThat(response.getValue().getUsername()).isEqualTo("test-user");
|
||||
assertThat(response.getValue().getPassword()).isNotEqualTo(generated.get().getValue().getPassword());
|
||||
assertThat(response.getValue().getPasswordHash())
|
||||
.isNotEqualTo(generated.get().getValue().getPasswordHash());
|
||||
}).verifyComplete();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void generateConvergeCredential() {
|
||||
AtomicReference<CredentialDetails<UserCredential>> generated = new AtomicReference<>();
|
||||
|
||||
StepVerifier.create(this.credentials.generate(UserParametersRequest.builder().name(CREDENTIAL_NAME)
|
||||
.username("test-user").parameters(this.passwordParameters.build()).build(), UserCredential.class))
|
||||
.assertNext((response) -> {
|
||||
assertThat(response.getName().getName()).isEqualTo(CREDENTIAL_NAME.getName());
|
||||
assertThat(response.getValue().getUsername()).isEqualTo("test-user");
|
||||
assertThat(response.getValue().getPassword()).matches("^[a-zA-Z0-9\\p{Punct}]{12}$");
|
||||
assertThat(response.getValue().getPasswordHash()).isNotNull();
|
||||
StepVerifier.create(this.credentials.generate(UserParametersRequest.builder()
|
||||
.name(CREDENTIAL_NAME)
|
||||
.username("test-user")
|
||||
.parameters(this.passwordParameters.build())
|
||||
.build(), UserCredential.class)).assertNext((response) -> {
|
||||
assertThat(response.getName().getName()).isEqualTo(CREDENTIAL_NAME.getName());
|
||||
assertThat(response.getValue().getUsername()).isEqualTo("test-user");
|
||||
assertThat(response.getValue().getPassword()).matches("^[a-zA-Z0-9\\p{Punct}]{12}$");
|
||||
assertThat(response.getValue().getPasswordHash()).isNotNull();
|
||||
|
||||
generated.set(response);
|
||||
}).verifyComplete();
|
||||
generated.set(response);
|
||||
}).verifyComplete();
|
||||
|
||||
StepVerifier
|
||||
.create(this.credentials.generate(
|
||||
UserParametersRequest.builder().name(CREDENTIAL_NAME).mode(WriteMode.CONVERGE)
|
||||
.username("test-user").parameters(this.passwordParameters.build()).build(),
|
||||
UserCredential.class))
|
||||
.assertNext((response) -> {
|
||||
assertThat(response.getValue().getUsername()).isEqualTo("test-user");
|
||||
assertThat(response.getValue().getPassword()).isEqualTo(generated.get().getValue().getPassword());
|
||||
assertThat(response.getValue().getPasswordHash())
|
||||
.isEqualTo(generated.get().getValue().getPasswordHash());
|
||||
}).verifyComplete();
|
||||
StepVerifier.create(this.credentials.generate(UserParametersRequest.builder()
|
||||
.name(CREDENTIAL_NAME)
|
||||
.mode(WriteMode.CONVERGE)
|
||||
.username("test-user")
|
||||
.parameters(this.passwordParameters.build())
|
||||
.build(), UserCredential.class)).assertNext((response) -> {
|
||||
assertThat(response.getValue().getUsername()).isEqualTo("test-user");
|
||||
assertThat(response.getValue().getPassword()).isEqualTo(generated.get().getValue().getPassword());
|
||||
assertThat(response.getValue().getPasswordHash())
|
||||
.isEqualTo(generated.get().getValue().getPasswordHash());
|
||||
}).verifyComplete();
|
||||
|
||||
this.passwordParameters.includeSpecial(false);
|
||||
|
||||
StepVerifier
|
||||
.create(this.credentials.generate(
|
||||
UserParametersRequest.builder().name(CREDENTIAL_NAME).mode(WriteMode.CONVERGE)
|
||||
.username("test-user").parameters(this.passwordParameters.build()).build(),
|
||||
UserCredential.class))
|
||||
.assertNext((response) -> {
|
||||
assertThat(response.getValue().getUsername()).isEqualTo("test-user");
|
||||
assertThat(response.getValue().getPassword())
|
||||
.isNotEqualTo(generated.get().getValue().getPassword());
|
||||
assertThat(response.getValue().getPasswordHash())
|
||||
.isNotEqualTo(generated.get().getValue().getPasswordHash());
|
||||
}).verifyComplete();
|
||||
StepVerifier.create(this.credentials.generate(UserParametersRequest.builder()
|
||||
.name(CREDENTIAL_NAME)
|
||||
.mode(WriteMode.CONVERGE)
|
||||
.username("test-user")
|
||||
.parameters(this.passwordParameters.build())
|
||||
.build(), UserCredential.class)).assertNext((response) -> {
|
||||
assertThat(response.getValue().getUsername()).isEqualTo("test-user");
|
||||
assertThat(response.getValue().getPassword()).isNotEqualTo(generated.get().getValue().getPassword());
|
||||
assertThat(response.getValue().getPasswordHash())
|
||||
.isNotEqualTo(generated.get().getValue().getPasswordHash());
|
||||
}).verifyComplete();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -35,8 +35,9 @@ public class ReactiveInfoIntegrationTests extends ReactiveCredHubIntegrationTest
|
||||
|
||||
@Test
|
||||
public void getInfo() {
|
||||
StepVerifier.create(this.info.version()).assertNext((response) -> assertThat(response.getVersion()).isNotNull())
|
||||
.verifyComplete();
|
||||
StepVerifier.create(this.info.version())
|
||||
.assertNext((response) -> assertThat(response.getVersion()).isNotNull())
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -68,26 +68,29 @@ public class ReactiveInterpolationIntegrationTests extends ReactiveCredHubIntegr
|
||||
};
|
||||
|
||||
StepVerifier
|
||||
.create(this.credentials
|
||||
.write(JsonCredentialRequest.builder().name(CREDENTIAL_NAME).value(json).build()))
|
||||
.assertNext((response) -> {
|
||||
assertThat(response.getName().getName()).isEqualTo(CREDENTIAL_NAME.getName());
|
||||
assertThat(response.getValue()).isEqualTo(json);
|
||||
assertThat(response.getCredentialType()).isEqualTo(CredentialType.JSON);
|
||||
assertThat(response.getId()).isNotNull();
|
||||
}).verifyComplete();
|
||||
.create(this.credentials.write(JsonCredentialRequest.builder().name(CREDENTIAL_NAME).value(json).build()))
|
||||
.assertNext((response) -> {
|
||||
assertThat(response.getName().getName()).isEqualTo(CREDENTIAL_NAME.getName());
|
||||
assertThat(response.getValue()).isEqualTo(json);
|
||||
assertThat(response.getCredentialType()).isEqualTo(CredentialType.JSON);
|
||||
assertThat(response.getId()).isNotNull();
|
||||
})
|
||||
.verifyComplete();
|
||||
|
||||
StepVerifier.create(this.interpolation.interpolateServiceData(buildVcapServices(CREDENTIAL_NAME.getName())))
|
||||
.assertNext((servicesData) -> {
|
||||
assertThat(servicesData).containsKey("service-offering");
|
||||
assertThat(servicesData.get("service-offering")).hasSize(1);
|
||||
assertThat(servicesData.get("service-offering").get(0)).containsKey("credentials");
|
||||
.assertNext((servicesData) -> {
|
||||
assertThat(servicesData).containsKey("service-offering");
|
||||
assertThat(servicesData.get("service-offering")).hasSize(1);
|
||||
assertThat(servicesData.get("service-offering").get(0)).containsKey("credentials");
|
||||
|
||||
Map<String, Object> credentials = (Map<String, Object>) servicesData.get("service-offering").get(0)
|
||||
.get("credentials");
|
||||
assertThat(credentials).containsEntry("url", "https://example.com")
|
||||
.containsEntry("username", "user").containsEntry("password", "secret");
|
||||
}).verifyComplete();
|
||||
Map<String, Object> credentials = (Map<String, Object>) servicesData.get("service-offering")
|
||||
.get(0)
|
||||
.get("credentials");
|
||||
assertThat(credentials).containsEntry("url", "https://example.com")
|
||||
.containsEntry("username", "user")
|
||||
.containsEntry("password", "secret");
|
||||
})
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
private ServicesData buildVcapServices(String credHubReferenceName) throws IOException {
|
||||
|
||||
@@ -65,36 +65,41 @@ public class ReactivePermissionIntegrationTests extends ReactiveCredHubIntegrati
|
||||
assumeTrue(serverApiIsV1());
|
||||
|
||||
StepVerifier
|
||||
.create(this.credentials
|
||||
.write(ValueCredentialRequest.builder().name(CREDENTIAL_NAME).value(CREDENTIAL_VALUE).build()))
|
||||
.assertNext((response) -> {
|
||||
assertThat(response.getName()).isEqualTo(CREDENTIAL_NAME);
|
||||
assertThat(response.getId()).isNotNull();
|
||||
}).verifyComplete();
|
||||
.create(this.credentials
|
||||
.write(ValueCredentialRequest.builder().name(CREDENTIAL_NAME).value(CREDENTIAL_VALUE).build()))
|
||||
.assertNext((response) -> {
|
||||
assertThat(response.getName()).isEqualTo(CREDENTIAL_NAME);
|
||||
assertThat(response.getId()).isNotNull();
|
||||
})
|
||||
.verifyComplete();
|
||||
|
||||
Permission appPermission = Permission.builder().app("app1").operation(Operation.READ).build();
|
||||
Permission userPermission = Permission.builder().user("user1")
|
||||
.operations(Operation.READ, Operation.WRITE, Operation.DELETE).build();
|
||||
Permission clientPermission = Permission.builder().client("client1")
|
||||
.operations(Operation.READ_ACL, Operation.WRITE_ACL).build();
|
||||
Permission userPermission = Permission.builder()
|
||||
.user("user1")
|
||||
.operations(Operation.READ, Operation.WRITE, Operation.DELETE)
|
||||
.build();
|
||||
Permission clientPermission = Permission.builder()
|
||||
.client("client1")
|
||||
.operations(Operation.READ_ACL, Operation.WRITE_ACL)
|
||||
.build();
|
||||
|
||||
StepVerifier.create(
|
||||
this.permissions.addPermissions(CREDENTIAL_NAME, appPermission, userPermission, clientPermission))
|
||||
.expectComplete().verify();
|
||||
StepVerifier
|
||||
.create(this.permissions.addPermissions(CREDENTIAL_NAME, appPermission, userPermission, clientPermission))
|
||||
.expectComplete()
|
||||
.verify();
|
||||
|
||||
StepVerifier.create(this.permissions.getPermissions(CREDENTIAL_NAME))
|
||||
.assertNext(
|
||||
(response) -> assertThat(response.getActor().getAuthType()).isEqualTo(ActorType.OAUTH_CLIENT))
|
||||
.assertNext((response) -> assertThat(response).isEqualTo(appPermission))
|
||||
.assertNext((response) -> assertThat(response).isEqualTo(userPermission))
|
||||
.assertNext((response) -> assertThat(response).isEqualTo(clientPermission)).verifyComplete();
|
||||
.assertNext((response) -> assertThat(response.getActor().getAuthType()).isEqualTo(ActorType.OAUTH_CLIENT))
|
||||
.assertNext((response) -> assertThat(response).isEqualTo(appPermission))
|
||||
.assertNext((response) -> assertThat(response).isEqualTo(userPermission))
|
||||
.assertNext((response) -> assertThat(response).isEqualTo(clientPermission))
|
||||
.verifyComplete();
|
||||
|
||||
deletePermissionsIfExist();
|
||||
|
||||
StepVerifier.create(this.permissions.getPermissions(CREDENTIAL_NAME))
|
||||
.assertNext(
|
||||
(response) -> assertThat(response.getActor().getAuthType()).isEqualTo(ActorType.OAUTH_CLIENT))
|
||||
.verifyComplete();
|
||||
.assertNext((response) -> assertThat(response.getActor().getAuthType()).isEqualTo(ActorType.OAUTH_CLIENT))
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -102,27 +107,34 @@ public class ReactivePermissionIntegrationTests extends ReactiveCredHubIntegrati
|
||||
assumeTrue(serverApiIsV2());
|
||||
|
||||
StepVerifier
|
||||
.create(this.credentials
|
||||
.write(ValueCredentialRequest.builder().name(CREDENTIAL_NAME).value(CREDENTIAL_VALUE).build()))
|
||||
.assertNext((response) -> {
|
||||
assertThat(response.getName()).isEqualTo(CREDENTIAL_NAME);
|
||||
assertThat(response.getId()).isNotNull();
|
||||
}).verifyComplete();
|
||||
.create(this.credentials
|
||||
.write(ValueCredentialRequest.builder().name(CREDENTIAL_NAME).value(CREDENTIAL_VALUE).build()))
|
||||
.assertNext((response) -> {
|
||||
assertThat(response.getName()).isEqualTo(CREDENTIAL_NAME);
|
||||
assertThat(response.getId()).isNotNull();
|
||||
})
|
||||
.verifyComplete();
|
||||
|
||||
Permission appPermission = Permission.builder().app("app1").operation(Operation.READ).build();
|
||||
Permission userPermission = Permission.builder().user("user1")
|
||||
.operations(Operation.READ, Operation.WRITE, Operation.DELETE).build();
|
||||
Permission clientPermission = Permission.builder().client("client1")
|
||||
.operations(Operation.READ_ACL, Operation.WRITE_ACL).build();
|
||||
Permission userPermission = Permission.builder()
|
||||
.user("user1")
|
||||
.operations(Operation.READ, Operation.WRITE, Operation.DELETE)
|
||||
.build();
|
||||
Permission clientPermission = Permission.builder()
|
||||
.client("client1")
|
||||
.operations(Operation.READ_ACL, Operation.WRITE_ACL)
|
||||
.build();
|
||||
|
||||
StepVerifier.create(
|
||||
this.permissions.addPermissions(CREDENTIAL_NAME, appPermission, userPermission, clientPermission))
|
||||
.expectComplete().verify();
|
||||
StepVerifier
|
||||
.create(this.permissions.addPermissions(CREDENTIAL_NAME, appPermission, userPermission, clientPermission))
|
||||
.expectComplete()
|
||||
.verify();
|
||||
|
||||
StepVerifier.create(this.permissions.getPermissions(CREDENTIAL_NAME))
|
||||
.assertNext((response) -> assertThat(response).isEqualTo(appPermission))
|
||||
.assertNext((response) -> assertThat(response).isEqualTo(clientPermission))
|
||||
.assertNext((response) -> assertThat(response).isEqualTo(userPermission)).verifyComplete();
|
||||
.assertNext((response) -> assertThat(response).isEqualTo(appPermission))
|
||||
.assertNext((response) -> assertThat(response).isEqualTo(clientPermission))
|
||||
.assertNext((response) -> assertThat(response).isEqualTo(userPermission))
|
||||
.verifyComplete();
|
||||
|
||||
deletePermissionsIfExist();
|
||||
|
||||
@@ -130,12 +142,15 @@ public class ReactivePermissionIntegrationTests extends ReactiveCredHubIntegrati
|
||||
}
|
||||
|
||||
private void deletePermissionsIfExist() {
|
||||
this.permissions.deletePermission(CREDENTIAL_NAME, Actor.app("app1")).onErrorResume((e) -> Mono.empty())
|
||||
.block();
|
||||
this.permissions.deletePermission(CREDENTIAL_NAME, Actor.user("user1")).onErrorResume((e) -> Mono.empty())
|
||||
.block();
|
||||
this.permissions.deletePermission(CREDENTIAL_NAME, Actor.client("client1")).onErrorResume((e) -> Mono.empty())
|
||||
.block();
|
||||
this.permissions.deletePermission(CREDENTIAL_NAME, Actor.app("app1"))
|
||||
.onErrorResume((e) -> Mono.empty())
|
||||
.block();
|
||||
this.permissions.deletePermission(CREDENTIAL_NAME, Actor.user("user1"))
|
||||
.onErrorResume((e) -> Mono.empty())
|
||||
.block();
|
||||
this.permissions.deletePermission(CREDENTIAL_NAME, Actor.client("client1"))
|
||||
.onErrorResume((e) -> Mono.empty())
|
||||
.block();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -68,25 +68,29 @@ public class ReactivePermissionV2IntegrationTests extends ReactiveCredHubIntegra
|
||||
AtomicReference<String> permissionId = new AtomicReference<>();
|
||||
|
||||
StepVerifier
|
||||
.create(this.credentials
|
||||
.write(ValueCredentialRequest.builder().name(CREDENTIAL_NAME).value(CREDENTIAL_VALUE).build()))
|
||||
.assertNext((response) -> {
|
||||
assertThat(response.getName()).isEqualTo(CREDENTIAL_NAME);
|
||||
assertThat(response.getId()).isNotNull();
|
||||
}).verifyComplete();
|
||||
.create(this.credentials
|
||||
.write(ValueCredentialRequest.builder().name(CREDENTIAL_NAME).value(CREDENTIAL_VALUE).build()))
|
||||
.assertNext((response) -> {
|
||||
assertThat(response.getName()).isEqualTo(CREDENTIAL_NAME);
|
||||
assertThat(response.getId()).isNotNull();
|
||||
})
|
||||
.verifyComplete();
|
||||
|
||||
Permission clientPermission = Permission.builder().client("client1")
|
||||
.operations(Operation.READ, Operation.WRITE, Operation.DELETE).build();
|
||||
Permission clientPermission = Permission.builder()
|
||||
.client("client1")
|
||||
.operations(Operation.READ, Operation.WRITE, Operation.DELETE)
|
||||
.build();
|
||||
|
||||
StepVerifier.create(this.permissions.addPermissions(CREDENTIAL_NAME, clientPermission))
|
||||
.assertNext((response) -> {
|
||||
assertThat(response.getId()).isNotNull();
|
||||
assertThat(response.getPath()).isEqualTo(CREDENTIAL_NAME.getName());
|
||||
assertPermissions(response, ActorType.OAUTH_CLIENT, "client1", Operation.READ, Operation.WRITE,
|
||||
Operation.DELETE);
|
||||
.assertNext((response) -> {
|
||||
assertThat(response.getId()).isNotNull();
|
||||
assertThat(response.getPath()).isEqualTo(CREDENTIAL_NAME.getName());
|
||||
assertPermissions(response, ActorType.OAUTH_CLIENT, "client1", Operation.READ, Operation.WRITE,
|
||||
Operation.DELETE);
|
||||
|
||||
permissionId.set(response.getId());
|
||||
}).verifyComplete();
|
||||
permissionId.set(response.getId());
|
||||
})
|
||||
.verifyComplete();
|
||||
|
||||
StepVerifier.create(this.permissions.getPermissions(permissionId.get())).assertNext((response) -> {
|
||||
assertThat(response.getId()).isEqualTo(permissionId.get());
|
||||
@@ -105,36 +109,42 @@ public class ReactivePermissionV2IntegrationTests extends ReactiveCredHubIntegra
|
||||
AtomicReference<String> permissionId = new AtomicReference<>();
|
||||
|
||||
StepVerifier
|
||||
.create(this.credentials
|
||||
.write(ValueCredentialRequest.builder().name(CREDENTIAL_NAME).value(CREDENTIAL_VALUE).build()))
|
||||
.assertNext((response) -> {
|
||||
assertThat(response.getName()).isEqualTo(CREDENTIAL_NAME);
|
||||
assertThat(response.getId()).isNotNull();
|
||||
}).verifyComplete();
|
||||
.create(this.credentials
|
||||
.write(ValueCredentialRequest.builder().name(CREDENTIAL_NAME).value(CREDENTIAL_VALUE).build()))
|
||||
.assertNext((response) -> {
|
||||
assertThat(response.getName()).isEqualTo(CREDENTIAL_NAME);
|
||||
assertThat(response.getId()).isNotNull();
|
||||
})
|
||||
.verifyComplete();
|
||||
|
||||
Permission clientPermission = Permission.builder().client("client1")
|
||||
.operations(Operation.READ, Operation.WRITE, Operation.DELETE).build();
|
||||
Permission clientPermission = Permission.builder()
|
||||
.client("client1")
|
||||
.operations(Operation.READ, Operation.WRITE, Operation.DELETE)
|
||||
.build();
|
||||
|
||||
StepVerifier.create(this.permissions.addPermissions(CREDENTIAL_NAME, clientPermission))
|
||||
.assertNext((response) -> {
|
||||
assertThat(response.getId()).isNotNull();
|
||||
assertThat(response.getPath()).isEqualTo(CREDENTIAL_NAME.getName());
|
||||
assertPermissions(response, ActorType.OAUTH_CLIENT, "client1", Operation.READ, Operation.WRITE,
|
||||
Operation.DELETE);
|
||||
.assertNext((response) -> {
|
||||
assertThat(response.getId()).isNotNull();
|
||||
assertThat(response.getPath()).isEqualTo(CREDENTIAL_NAME.getName());
|
||||
assertPermissions(response, ActorType.OAUTH_CLIENT, "client1", Operation.READ, Operation.WRITE,
|
||||
Operation.DELETE);
|
||||
|
||||
permissionId.set(response.getId());
|
||||
}).verifyComplete();
|
||||
permissionId.set(response.getId());
|
||||
})
|
||||
.verifyComplete();
|
||||
|
||||
Permission newPermission = Permission.builder().client("client1")
|
||||
.operations(Operation.READ_ACL, Operation.WRITE_ACL).build();
|
||||
Permission newPermission = Permission.builder()
|
||||
.client("client1")
|
||||
.operations(Operation.READ_ACL, Operation.WRITE_ACL)
|
||||
.build();
|
||||
|
||||
StepVerifier.create(this.permissions.updatePermissions(permissionId.get(), CREDENTIAL_NAME, newPermission))
|
||||
.assertNext((response) -> {
|
||||
assertThat(response.getId()).isEqualTo(permissionId.get());
|
||||
assertThat(response.getPath()).isEqualTo(CREDENTIAL_NAME.getName());
|
||||
assertPermissions(response, ActorType.OAUTH_CLIENT, "client1", Operation.READ_ACL,
|
||||
Operation.WRITE_ACL);
|
||||
}).verifyComplete();
|
||||
.assertNext((response) -> {
|
||||
assertThat(response.getId()).isEqualTo(permissionId.get());
|
||||
assertThat(response.getPath()).isEqualTo(CREDENTIAL_NAME.getName());
|
||||
assertPermissions(response, ActorType.OAUTH_CLIENT, "client1", Operation.READ_ACL, Operation.WRITE_ACL);
|
||||
})
|
||||
.verifyComplete();
|
||||
|
||||
StepVerifier.create(this.permissions.getPermissions(permissionId.get())).assertNext((response) -> {
|
||||
assertThat(response.getId()).isEqualTo(permissionId.get());
|
||||
|
||||
@@ -38,31 +38,33 @@ import static org.assertj.core.api.Assertions.assertThat;
|
||||
public class CredHubAutoConfigurationTests {
|
||||
|
||||
private final ApplicationContextRunner context = new ApplicationContextRunner()
|
||||
.withConfiguration(AutoConfigurations.of(CredHubAutoConfiguration.class));
|
||||
.withConfiguration(AutoConfigurations.of(CredHubAutoConfiguration.class));
|
||||
|
||||
@Test
|
||||
public void autoConfiguredWithDefaultProperties() {
|
||||
this.context.withPropertyValues("spring.credhub.url=https://localhost",
|
||||
"spring.credhub.oauth2.registration-id=test-client", "spring.credhub.connection-timeout=30",
|
||||
"spring.credhub.read-timeout=60", "debug=true").run(this::assertPropertiesConfigured);
|
||||
this.context
|
||||
.withPropertyValues("spring.credhub.url=https://localhost",
|
||||
"spring.credhub.oauth2.registration-id=test-client", "spring.credhub.connection-timeout=30",
|
||||
"spring.credhub.read-timeout=60", "debug=true")
|
||||
.run(this::assertPropertiesConfigured);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void autoConfiguredWithCustomProperties() {
|
||||
this.context.withConfiguration(AutoConfigurations.of(CustomPropertiesConfiguration.class))
|
||||
.withPropertyValues("my.custom.credhub.url=https://localhost",
|
||||
"my.custom.credhub.oauth2.registration-id=test-client",
|
||||
"my.custom.credhub.connection-timeout=30", "my.custom.credhub.read-timeout=60")
|
||||
.run(this::assertPropertiesConfigured);
|
||||
.withPropertyValues("my.custom.credhub.url=https://localhost",
|
||||
"my.custom.credhub.oauth2.registration-id=test-client", "my.custom.credhub.connection-timeout=30",
|
||||
"my.custom.credhub.read-timeout=60")
|
||||
.run(this::assertPropertiesConfigured);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void webClientConnectorNotConfigured() {
|
||||
this.context.withClassLoader(new FilteredClassLoader(WebClient.class))
|
||||
.withPropertyValues("spring.credhub.url=https://localhost",
|
||||
"spring.credhub.oauth2.registration-id=test-client", "spring.credhub.connection-timeout=30",
|
||||
"spring.credhub.read-timeout=60")
|
||||
.run((context) -> assertThat(context).doesNotHaveBean(ClientHttpConnector.class));
|
||||
.withPropertyValues("spring.credhub.url=https://localhost",
|
||||
"spring.credhub.oauth2.registration-id=test-client", "spring.credhub.connection-timeout=30",
|
||||
"spring.credhub.read-timeout=60")
|
||||
.run((context) -> assertThat(context).doesNotHaveBean(ClientHttpConnector.class));
|
||||
}
|
||||
|
||||
private void assertPropertiesConfigured(AssertableApplicationContext context) {
|
||||
|
||||
@@ -42,7 +42,7 @@ public class CredHubOAuth2AutoConfigurationTests {
|
||||
"spring.security.oauth2.client.provider.uaa.token-uri=https://example.com/uaa/oauth/token" };
|
||||
|
||||
private final ApplicationContextRunner context = new ApplicationContextRunner().withPropertyValues("debug=true")
|
||||
.withConfiguration(AutoConfigurations.of(this.configurations));
|
||||
.withConfiguration(AutoConfigurations.of(this.configurations));
|
||||
|
||||
@Test
|
||||
public void oauth2ContextConfigured() {
|
||||
@@ -55,38 +55,42 @@ public class CredHubOAuth2AutoConfigurationTests {
|
||||
@Test
|
||||
public void oauth2ContextConfiguredWithoutWebClient() {
|
||||
this.context.withClassLoader(new FilteredClassLoader(WebClient.class))
|
||||
.withPropertyValues(this.oAuth2ClientProperties).run((context) -> {
|
||||
assertServletOAuth2ContextConfigured(context);
|
||||
assertReactiveOAuth2ContextNotConfigured(context);
|
||||
});
|
||||
.withPropertyValues(this.oAuth2ClientProperties)
|
||||
.run((context) -> {
|
||||
assertServletOAuth2ContextConfigured(context);
|
||||
assertReactiveOAuth2ContextNotConfigured(context);
|
||||
});
|
||||
}
|
||||
|
||||
@Test
|
||||
public void oauth2ContextConfiguredWithWebApp() {
|
||||
new WebApplicationContextRunner().withConfiguration(AutoConfigurations.of(this.configurations))
|
||||
.withPropertyValues(this.oAuth2ClientProperties).run((context) -> {
|
||||
assertServletOAuth2ContextConfigured(context);
|
||||
assertReactiveOAuth2ContextConfigured(context);
|
||||
});
|
||||
.withPropertyValues(this.oAuth2ClientProperties)
|
||||
.run((context) -> {
|
||||
assertServletOAuth2ContextConfigured(context);
|
||||
assertReactiveOAuth2ContextConfigured(context);
|
||||
});
|
||||
}
|
||||
|
||||
@Test
|
||||
public void oauth2ContextConfiguredWithReactiveWebApp() {
|
||||
new ReactiveWebApplicationContextRunner().withConfiguration(AutoConfigurations.of(this.configurations))
|
||||
.withPropertyValues(this.oAuth2ClientProperties).run((context) -> {
|
||||
assertServletOAuth2ContextConfigured(context);
|
||||
assertReactiveOAuth2ContextConfigured(context);
|
||||
});
|
||||
.withPropertyValues(this.oAuth2ClientProperties)
|
||||
.run((context) -> {
|
||||
assertServletOAuth2ContextConfigured(context);
|
||||
assertReactiveOAuth2ContextConfigured(context);
|
||||
});
|
||||
}
|
||||
|
||||
@Test
|
||||
public void oauth2ContextConfiguredWithReactiveWebAppNoServlet() {
|
||||
new ReactiveWebApplicationContextRunner().withClassLoader(new FilteredClassLoader("javax.servlet"))
|
||||
.withConfiguration(AutoConfigurations.of(this.configurations))
|
||||
.withPropertyValues(this.oAuth2ClientProperties).run((context) -> {
|
||||
assertServletOAuth2ContextNotConfigured(context);
|
||||
assertReactiveOAuth2ContextConfigured(context);
|
||||
});
|
||||
.withConfiguration(AutoConfigurations.of(this.configurations))
|
||||
.withPropertyValues(this.oAuth2ClientProperties)
|
||||
.run((context) -> {
|
||||
assertServletOAuth2ContextNotConfigured(context);
|
||||
assertReactiveOAuth2ContextConfigured(context);
|
||||
});
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -97,7 +101,7 @@ public class CredHubOAuth2AutoConfigurationTests {
|
||||
@Test
|
||||
public void oauth2ContextNotConfiguredWithoutSpringSecurity() {
|
||||
this.context.withClassLoader(new FilteredClassLoader(ClientRegistration.class))
|
||||
.run(this::assertOAuth2ContextNotConfigured);
|
||||
.run(this::assertOAuth2ContextNotConfigured);
|
||||
}
|
||||
|
||||
private void assertServletOAuth2ContextConfigured(
|
||||
|
||||
@@ -64,23 +64,24 @@ public class CredHubTemplateAutoConfigurationTests {
|
||||
"org.springframework.web.reactive.function.client", "org.springframework.security.oauth2.client");
|
||||
|
||||
private final ApplicationContextRunner context = new ApplicationContextRunner()
|
||||
.withConfiguration(
|
||||
AutoConfigurations.of(ReactiveOAuth2ClientAutoConfiguration.class, CredHubAutoConfiguration.class,
|
||||
CredHubOAuth2AutoConfiguration.class, CredHubTemplateAutoConfiguration.class))
|
||||
.withInitializer(new ConditionEvaluationReportLoggingListener(LogLevel.INFO));
|
||||
.withConfiguration(
|
||||
AutoConfigurations.of(ReactiveOAuth2ClientAutoConfiguration.class, CredHubAutoConfiguration.class,
|
||||
CredHubOAuth2AutoConfiguration.class, CredHubTemplateAutoConfiguration.class))
|
||||
.withInitializer(new ConditionEvaluationReportLoggingListener(LogLevel.INFO));
|
||||
|
||||
@Test
|
||||
public void credHubTemplatesConfigured() {
|
||||
this.context.withPropertyValues("spring.credhub.url=https://localhost")
|
||||
.withClassLoader(SPRING_SECURITY_FILTERED_CLASS_LOADER).run((context) -> {
|
||||
assertThat(context).hasSingleBean(CredHubTemplate.class);
|
||||
CredHubTemplate credHubTemplate = context.getBean(CredHubTemplate.class);
|
||||
assertThat(credHubTemplate.isUsingOAuth2()).isFalse();
|
||||
.withClassLoader(SPRING_SECURITY_FILTERED_CLASS_LOADER)
|
||||
.run((context) -> {
|
||||
assertThat(context).hasSingleBean(CredHubTemplate.class);
|
||||
CredHubTemplate credHubTemplate = context.getBean(CredHubTemplate.class);
|
||||
assertThat(credHubTemplate.isUsingOAuth2()).isFalse();
|
||||
|
||||
assertThat(context).hasSingleBean(ReactiveCredHubTemplate.class);
|
||||
ReactiveCredHubTemplate reactiveCredHubTemplate = context.getBean(ReactiveCredHubTemplate.class);
|
||||
assertThat(reactiveCredHubTemplate.isUsingOAuth2()).isFalse();
|
||||
});
|
||||
assertThat(context).hasSingleBean(ReactiveCredHubTemplate.class);
|
||||
ReactiveCredHubTemplate reactiveCredHubTemplate = context.getBean(ReactiveCredHubTemplate.class);
|
||||
assertThat(reactiveCredHubTemplate.isUsingOAuth2()).isFalse();
|
||||
});
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -99,13 +100,14 @@ public class CredHubTemplateAutoConfigurationTests {
|
||||
@Test
|
||||
public void reactiveCredHubTemplateNotConfiguredWithoutWebClient() {
|
||||
this.context.withPropertyValues("spring.credhub.url=https://localhost")
|
||||
.withClassLoader(new FilteredClassLoader(WebClient.class)).run((context) -> {
|
||||
assertThat(context).hasSingleBean(CredHubTemplate.class);
|
||||
CredHubTemplate credHubTemplate = context.getBean(CredHubTemplate.class);
|
||||
assertThat(credHubTemplate.isUsingOAuth2()).isFalse();
|
||||
.withClassLoader(new FilteredClassLoader(WebClient.class))
|
||||
.run((context) -> {
|
||||
assertThat(context).hasSingleBean(CredHubTemplate.class);
|
||||
CredHubTemplate credHubTemplate = context.getBean(CredHubTemplate.class);
|
||||
assertThat(credHubTemplate.isUsingOAuth2()).isFalse();
|
||||
|
||||
assertThat(context).doesNotHaveBean(ReactiveCredHubTemplate.class);
|
||||
});
|
||||
assertThat(context).doesNotHaveBean(ReactiveCredHubTemplate.class);
|
||||
});
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -118,21 +120,21 @@ public class CredHubTemplateAutoConfigurationTests {
|
||||
"spring.security.oauth2.client.registration.credhub-client.client-secret=test-secret",
|
||||
"spring.security.oauth2.client.registration.credhub-client.authorization-grant-type=client_credentials",
|
||||
"spring.security.oauth2.client.provider.uaa.token-uri=https://example.com/uaa/oauth/token")
|
||||
.run((context) -> {
|
||||
assertThat(context).hasSingleBean(CredHubTemplate.class);
|
||||
assertThat(context).hasSingleBean(ClientRegistrationRepository.class);
|
||||
assertThat(context).hasSingleBean(OAuth2AuthorizedClientRepository.class);
|
||||
assertThat(context).doesNotHaveBean(OAuth2AuthorizedClientManager.class);
|
||||
CredHubTemplate credHubTemplate = context.getBean(CredHubTemplate.class);
|
||||
assertThat(credHubTemplate.isUsingOAuth2()).isTrue();
|
||||
.run((context) -> {
|
||||
assertThat(context).hasSingleBean(CredHubTemplate.class);
|
||||
assertThat(context).hasSingleBean(ClientRegistrationRepository.class);
|
||||
assertThat(context).hasSingleBean(OAuth2AuthorizedClientRepository.class);
|
||||
assertThat(context).doesNotHaveBean(OAuth2AuthorizedClientManager.class);
|
||||
CredHubTemplate credHubTemplate = context.getBean(CredHubTemplate.class);
|
||||
assertThat(credHubTemplate.isUsingOAuth2()).isTrue();
|
||||
|
||||
assertThat(context).hasSingleBean(ReactiveCredHubTemplate.class);
|
||||
assertThat(context).hasSingleBean(ReactiveClientRegistrationRepository.class);
|
||||
assertThat(context).hasSingleBean(ServerOAuth2AuthorizedClientRepository.class);
|
||||
assertThat(context).doesNotHaveBean(ReactiveOAuth2AuthorizedClientManager.class);
|
||||
ReactiveCredHubTemplate reactiveCredHubTemplate = context.getBean(ReactiveCredHubTemplate.class);
|
||||
assertThat(reactiveCredHubTemplate.isUsingOAuth2()).isTrue();
|
||||
});
|
||||
assertThat(context).hasSingleBean(ReactiveCredHubTemplate.class);
|
||||
assertThat(context).hasSingleBean(ReactiveClientRegistrationRepository.class);
|
||||
assertThat(context).hasSingleBean(ServerOAuth2AuthorizedClientRepository.class);
|
||||
assertThat(context).doesNotHaveBean(ReactiveOAuth2AuthorizedClientManager.class);
|
||||
ReactiveCredHubTemplate reactiveCredHubTemplate = context.getBean(ReactiveCredHubTemplate.class);
|
||||
assertThat(reactiveCredHubTemplate.isUsingOAuth2()).isTrue();
|
||||
});
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -145,22 +147,22 @@ public class CredHubTemplateAutoConfigurationTests {
|
||||
"spring.security.oauth2.client.registration.credhub-client.client-secret=test-secret",
|
||||
"spring.security.oauth2.client.registration.credhub-client.authorization-grant-type=client_credentials",
|
||||
"spring.security.oauth2.client.provider.uaa.token-uri=https://example.com/uaa/oauth/token")
|
||||
.withUserConfiguration(ClientManagerConfiguration.class).run((context) -> {
|
||||
assertThat(context).hasSingleBean(CredHubTemplate.class);
|
||||
assertThat(context).hasSingleBean(ClientRegistrationRepository.class);
|
||||
assertThat(context).hasSingleBean(OAuth2AuthorizedClientRepository.class);
|
||||
assertThat(context).hasSingleBean(AuthorizedClientServiceOAuth2AuthorizedClientManager.class);
|
||||
CredHubTemplate credHubTemplate = context.getBean(CredHubTemplate.class);
|
||||
assertThat(credHubTemplate.isUsingOAuth2()).isTrue();
|
||||
.withUserConfiguration(ClientManagerConfiguration.class)
|
||||
.run((context) -> {
|
||||
assertThat(context).hasSingleBean(CredHubTemplate.class);
|
||||
assertThat(context).hasSingleBean(ClientRegistrationRepository.class);
|
||||
assertThat(context).hasSingleBean(OAuth2AuthorizedClientRepository.class);
|
||||
assertThat(context).hasSingleBean(AuthorizedClientServiceOAuth2AuthorizedClientManager.class);
|
||||
CredHubTemplate credHubTemplate = context.getBean(CredHubTemplate.class);
|
||||
assertThat(credHubTemplate.isUsingOAuth2()).isTrue();
|
||||
|
||||
assertThat(context).hasSingleBean(ReactiveCredHubTemplate.class);
|
||||
assertThat(context).hasSingleBean(ReactiveClientRegistrationRepository.class);
|
||||
assertThat(context).hasSingleBean(ServerOAuth2AuthorizedClientRepository.class);
|
||||
assertThat(context)
|
||||
.hasSingleBean(AuthorizedClientServiceReactiveOAuth2AuthorizedClientManager.class);
|
||||
ReactiveCredHubTemplate reactiveCredHubTemplate = context.getBean(ReactiveCredHubTemplate.class);
|
||||
assertThat(reactiveCredHubTemplate.isUsingOAuth2()).isTrue();
|
||||
});
|
||||
assertThat(context).hasSingleBean(ReactiveCredHubTemplate.class);
|
||||
assertThat(context).hasSingleBean(ReactiveClientRegistrationRepository.class);
|
||||
assertThat(context).hasSingleBean(ServerOAuth2AuthorizedClientRepository.class);
|
||||
assertThat(context).hasSingleBean(AuthorizedClientServiceReactiveOAuth2AuthorizedClientManager.class);
|
||||
ReactiveCredHubTemplate reactiveCredHubTemplate = context.getBean(ReactiveCredHubTemplate.class);
|
||||
assertThat(reactiveCredHubTemplate.isUsingOAuth2()).isTrue();
|
||||
});
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -173,52 +175,54 @@ public class CredHubTemplateAutoConfigurationTests {
|
||||
"spring.security.oauth2.client.registration.credhub-client.client-secret=test-secret",
|
||||
"spring.security.oauth2.client.registration.credhub-client.authorization-grant-type=client_credentials",
|
||||
"spring.security.oauth2.client.provider.uaa.token-uri=https://example.com/uaa/oauth/token")
|
||||
.run((context) -> assertThat(context).getFailure().hasMessageContaining(
|
||||
"The CredHub OAuth2 client registration ID 'invalid-client' is not a valid"));
|
||||
.run((context) -> assertThat(context).getFailure()
|
||||
.hasMessageContaining("The CredHub OAuth2 client registration ID 'invalid-client' is not a valid"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void credHubTemplateNotConfiguredWithMissingClientRegistration() {
|
||||
this.context.withClassLoader(WEB_CLIENT_AND_SECURITY_FILTERED_CLASS_LOADER)
|
||||
.withPropertyValues("spring.credhub.url=https://localhost",
|
||||
"spring.credhub.oauth2.registration-id=credhub-client")
|
||||
.run((context) -> assertThat(context).getFailure()
|
||||
.hasMessageMatching(noSuchBeanExceptionMessage("ClientRegistrationRepository")));
|
||||
.withPropertyValues("spring.credhub.url=https://localhost",
|
||||
"spring.credhub.oauth2.registration-id=credhub-client")
|
||||
.run((context) -> assertThat(context).getFailure()
|
||||
.hasMessageMatching(noSuchBeanExceptionMessage("ClientRegistrationRepository")));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void reactiveCredHubTemplateNotConfiguredWithMissingClientRegistration() {
|
||||
this.context.withClassLoader(SERVLET_AND_SECURITY_FILTERED_CLASS_LOADER)
|
||||
.withPropertyValues("spring.credhub.url=https://localhost",
|
||||
"spring.credhub.oauth2.registration-id=credhub-client")
|
||||
.run((context) -> assertThat(context).getFailure()
|
||||
.hasMessageMatching(noSuchBeanExceptionMessage("ReactiveClientRegistrationRepository")));
|
||||
.withPropertyValues("spring.credhub.url=https://localhost",
|
||||
"spring.credhub.oauth2.registration-id=credhub-client")
|
||||
.run((context) -> assertThat(context).getFailure()
|
||||
.hasMessageMatching(noSuchBeanExceptionMessage("ReactiveClientRegistrationRepository")));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void credHubTemplateNotConfiguredWithOAuth2ButMissingSpringSecurity() {
|
||||
this.context.withClassLoader(WEB_CLIENT_AND_SECURITY_FILTERED_CLASS_LOADER).withPropertyValues(
|
||||
"spring.credhub.url=https://localhost", "spring.credhub.oauth2.registration-id=credhub-client",
|
||||
this.context.withClassLoader(WEB_CLIENT_AND_SECURITY_FILTERED_CLASS_LOADER)
|
||||
.withPropertyValues("spring.credhub.url=https://localhost",
|
||||
"spring.credhub.oauth2.registration-id=credhub-client",
|
||||
|
||||
"spring.security.oauth2.client.registration.credhub-client.provider=uaa",
|
||||
"spring.security.oauth2.client.registration.credhub-client.client-id=test-client",
|
||||
"spring.security.oauth2.client.registration.credhub-client.client-secret=test-secret",
|
||||
"spring.security.oauth2.client.registration.credhub-client.authorization-grant-type=client_credentials",
|
||||
"spring.security.oauth2.client.provider.uaa.token-uri=https://example.com/uaa/oauth/token")
|
||||
.run((context) -> assertThat(context).hasFailed());
|
||||
"spring.security.oauth2.client.registration.credhub-client.provider=uaa",
|
||||
"spring.security.oauth2.client.registration.credhub-client.client-id=test-client",
|
||||
"spring.security.oauth2.client.registration.credhub-client.client-secret=test-secret",
|
||||
"spring.security.oauth2.client.registration.credhub-client.authorization-grant-type=client_credentials",
|
||||
"spring.security.oauth2.client.provider.uaa.token-uri=https://example.com/uaa/oauth/token")
|
||||
.run((context) -> assertThat(context).hasFailed());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void reactiveCredHubTemplateNotConfiguredWithOAuth2ButMissingSpringSecurity() {
|
||||
this.context.withClassLoader(SERVLET_AND_SECURITY_FILTERED_CLASS_LOADER).withPropertyValues(
|
||||
"spring.credhub.url=https://localhost", "spring.credhub.oauth2.registration-id=credhub-client",
|
||||
this.context.withClassLoader(SERVLET_AND_SECURITY_FILTERED_CLASS_LOADER)
|
||||
.withPropertyValues("spring.credhub.url=https://localhost",
|
||||
"spring.credhub.oauth2.registration-id=credhub-client",
|
||||
|
||||
"spring.security.oauth2.client.registration.credhub-client.provider=uaa",
|
||||
"spring.security.oauth2.client.registration.credhub-client.client-id=test-client",
|
||||
"spring.security.oauth2.client.registration.credhub-client.client-secret=test-secret",
|
||||
"spring.security.oauth2.client.registration.credhub-client.authorization-grant-type=client_credentials",
|
||||
"spring.security.oauth2.client.provider.uaa.token-uri=https://example.com/uaa/oauth/token")
|
||||
.run((context) -> assertThat(context).hasFailed());
|
||||
"spring.security.oauth2.client.registration.credhub-client.provider=uaa",
|
||||
"spring.security.oauth2.client.registration.credhub-client.client-id=test-client",
|
||||
"spring.security.oauth2.client.registration.credhub-client.client-secret=test-secret",
|
||||
"spring.security.oauth2.client.registration.credhub-client.authorization-grant-type=client_credentials",
|
||||
"spring.security.oauth2.client.provider.uaa.token-uri=https://example.com/uaa/oauth/token")
|
||||
.run((context) -> assertThat(context).hasFailed());
|
||||
}
|
||||
|
||||
private String noSuchBeanExceptionMessage(final String className) {
|
||||
|
||||
Reference in New Issue
Block a user