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:
dependabot[bot]
2023-09-14 16:36:59 +02:00
committed by GitHub
parent 4fad3e735a
commit b136cfec31
57 changed files with 1150 additions and 794 deletions

View File

@@ -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"

View File

@@ -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);

View File

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

View File

@@ -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;

View File

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

View File

@@ -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);

View File

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

View File

@@ -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);

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -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");

View File

@@ -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 {

View File

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

View File

@@ -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() {

View File

@@ -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 {

View File

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

View File

@@ -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);

View File

@@ -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);

View File

@@ -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);

View File

@@ -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

View File

@@ -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");

View File

@@ -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

View File

@@ -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");
}
}

View File

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

View File

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

View File

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

View File

@@ -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");
}
}

View File

@@ -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

View File

@@ -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);

View File

@@ -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);

View File

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

View File

@@ -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);

View File

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

View File

@@ -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);

View File

@@ -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);

View File

@@ -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);

View File

@@ -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);

View File

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

View File

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

View File

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

View File

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

View File

@@ -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 {

View File

@@ -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);

View File

@@ -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);

View File

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

View File

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

View File

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

View File

@@ -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 {

View File

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

View File

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

View File

@@ -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) {

View File

@@ -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(

View File

@@ -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) {