Add support for setting permissions on generate credential requests. Rationalize credential requests and parameter requests since they have the same base fields.
This commit is contained in:
@@ -17,16 +17,29 @@
|
||||
package org.springframework.credhub.support;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||
import org.springframework.credhub.support.permissions.CredentialPermission;
|
||||
import org.springframework.util.Assert;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Fields common to all types of CredHub requests.
|
||||
*
|
||||
* @author Scott Frederick
|
||||
*/
|
||||
public class CredHubRequest {
|
||||
public class CredHubRequest<T> {
|
||||
protected boolean overwrite;
|
||||
protected CredentialName name;
|
||||
protected CredentialType credentialType;
|
||||
protected List<CredentialPermission> additionalPermissions;
|
||||
protected T details;
|
||||
|
||||
public CredHubRequest() {
|
||||
additionalPermissions = new ArrayList<CredentialPermission>();
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the value of the {@literal boolean} flag indicating whether the CredHub
|
||||
@@ -49,7 +62,7 @@ public class CredHubRequest {
|
||||
*/
|
||||
@JsonInclude
|
||||
public String getName() {
|
||||
return name.getName();
|
||||
return name == null ? null : name.getName();
|
||||
}
|
||||
|
||||
void setName(CredentialName name) {
|
||||
@@ -68,4 +81,160 @@ public class CredHubRequest {
|
||||
void setType(CredentialType credentialType) {
|
||||
this.credentialType = credentialType;
|
||||
}
|
||||
|
||||
void setDetails(T details) {
|
||||
this.details = details;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the set of {@link CredentialPermission} to assign to the credential.
|
||||
*
|
||||
* @return the set of {@link CredentialPermission}
|
||||
*/
|
||||
public List<CredentialPermission> getAdditionalPermissions() {
|
||||
return this.additionalPermissions;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "CredHubRequest{" +
|
||||
"overwrite=" + overwrite +
|
||||
", name=" + name +
|
||||
", credentialType=" + credentialType +
|
||||
", additionalPermissions=" + additionalPermissions +
|
||||
", details=" + details +
|
||||
'}';
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object o) {
|
||||
if (this == o) return true;
|
||||
if (!(o instanceof CredHubRequest)) return false;
|
||||
|
||||
CredHubRequest that = (CredHubRequest) o;
|
||||
|
||||
if (overwrite != that.overwrite) return false;
|
||||
if (name != null ? !name.equals(that.name) : that.name != null) return false;
|
||||
if (credentialType != that.credentialType) return false;
|
||||
if (additionalPermissions != null ?
|
||||
additionalPermissions.equals(that.additionalPermissions) : that.additionalPermissions == null) return false;
|
||||
if (details != null ? !details.equals(that.details) : that.details != null) return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
int result = (overwrite ? 1 : 0);
|
||||
result = 31 * result + (name != null ? name.hashCode() : 0);
|
||||
result = 31 * result + (credentialType != null ? credentialType.hashCode() : 0);
|
||||
result = 31 * result + (additionalPermissions != null ? additionalPermissions.hashCode() : 0);
|
||||
result = 31 * result + (details != null ? details.hashCode() : 0);
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* A builder that provides a fluent API for constructing {@link CredHubRequest}s.
|
||||
*/
|
||||
@SuppressWarnings("unchecked")
|
||||
protected static abstract class CredHubRequestBuilder<T, R extends CredHubRequest<T>, B extends CredHubRequestBuilder<T, R, B>> {
|
||||
private final B thisObj;
|
||||
protected final R targetObj;
|
||||
|
||||
/**
|
||||
* Create a {@link CredHubRequestBuilder}. Intended for internal use.
|
||||
*/
|
||||
protected CredHubRequestBuilder() {
|
||||
this.thisObj = createBuilder();
|
||||
this.targetObj = createTarget();
|
||||
}
|
||||
|
||||
/**
|
||||
* Provide the concrete object to build.
|
||||
*
|
||||
* @return the target object
|
||||
*/
|
||||
protected abstract R createTarget();
|
||||
|
||||
/**
|
||||
* Provide the concrete builder.
|
||||
*
|
||||
* @return the builder
|
||||
*/
|
||||
protected abstract B createBuilder();
|
||||
|
||||
/**
|
||||
* Set the {@link CredentialName} for the credential.
|
||||
*
|
||||
* @param name the credential name; must not be {@literal null}
|
||||
* @return the builder
|
||||
*/
|
||||
public B name(CredentialName name) {
|
||||
Assert.notNull(name, "name must not be null");
|
||||
targetObj.setName(name);
|
||||
return thisObj;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets a {@literal boolean} value indicating whether CredHub should create a new
|
||||
* credential or update and existing credential.
|
||||
*
|
||||
* @param overwrite {@literal false} to create a new credential, or
|
||||
* {@literal true} to update and existing credential
|
||||
* @return the builder
|
||||
*/
|
||||
public B overwrite(boolean overwrite) {
|
||||
targetObj.setOverwrite(overwrite);
|
||||
return thisObj;
|
||||
}
|
||||
|
||||
/**
|
||||
* Add an {@link CredentialPermission} to the permissions that will be assigned to the
|
||||
* credential.
|
||||
*
|
||||
* @param permission a {@link CredentialPermission} to assign to the
|
||||
* credential
|
||||
* @return the builder
|
||||
*/
|
||||
public B permission(CredentialPermission permission) {
|
||||
targetObj.getAdditionalPermissions().add(permission);
|
||||
return thisObj;
|
||||
}
|
||||
|
||||
/**
|
||||
* Add a collection of {@link CredentialPermission}s to the controls that will be
|
||||
* assigned to the credential.
|
||||
*
|
||||
* @param permissions a collection of {@link CredentialPermission}s to
|
||||
* assign to the credential
|
||||
* @return the builder
|
||||
*/
|
||||
public B permissions(Collection<? extends CredentialPermission> permissions) {
|
||||
targetObj.getAdditionalPermissions().addAll(permissions);
|
||||
return thisObj;
|
||||
}
|
||||
|
||||
/**
|
||||
* Add a collection of {@link CredentialPermission}s to the controls that will be
|
||||
* assigned to the credential.
|
||||
*
|
||||
* @param permissions a collection of {@link CredentialPermission}s to
|
||||
* assign to the credential
|
||||
* @return the builder
|
||||
*/
|
||||
public B permissions(CredentialPermission... permissions) {
|
||||
targetObj.getAdditionalPermissions().addAll(Arrays.asList(permissions));
|
||||
return thisObj;
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a {@link CredHubRequest} from the provided values.
|
||||
*
|
||||
* @return a {@link CredHubRequest}
|
||||
*/
|
||||
public R build() {
|
||||
return targetObj;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -18,31 +18,20 @@
|
||||
|
||||
package org.springframework.credhub.support;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
import org.springframework.credhub.support.permissions.CredentialPermission;
|
||||
import org.springframework.util.Assert;
|
||||
|
||||
/**
|
||||
* The details of a request to write a new or update an existing credential in CredHub.
|
||||
*
|
||||
* @author Scott Frederick
|
||||
*/
|
||||
public class CredentialRequest<T> extends CredHubRequest {
|
||||
private T value;
|
||||
private List<CredentialPermission> additionalPermissions;
|
||||
|
||||
public class CredentialRequest<T> extends CredHubRequest<T> {
|
||||
/**
|
||||
* Initialize a {@link CredentialRequest}.
|
||||
*
|
||||
* @param type the credential implementation type
|
||||
*/
|
||||
protected CredentialRequest(CredentialType type) {
|
||||
super();
|
||||
this.credentialType = type;
|
||||
additionalPermissions = new ArrayList<CredentialPermission>();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -51,173 +40,10 @@ public class CredentialRequest<T> extends CredHubRequest {
|
||||
* @return the value of the credential
|
||||
*/
|
||||
public T getValue() {
|
||||
return this.value;
|
||||
return this.details;
|
||||
}
|
||||
|
||||
protected void setValue(T value) {
|
||||
this.value = value;
|
||||
this.details = value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the set of {@link CredentialPermission} to assign to the credential.
|
||||
*
|
||||
* @return the set of {@link CredentialPermission}
|
||||
*/
|
||||
public List<CredentialPermission> getAdditionalPermissions() {
|
||||
return this.additionalPermissions;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object o) {
|
||||
if (this == o)
|
||||
return true;
|
||||
if (!(o instanceof CredentialRequest))
|
||||
return false;
|
||||
|
||||
CredentialRequest that = (CredentialRequest) o;
|
||||
|
||||
if (overwrite != that.overwrite)
|
||||
return false;
|
||||
if (!name.equals(that.name))
|
||||
return false;
|
||||
if (credentialType != that.credentialType)
|
||||
return false;
|
||||
if (!value.equals(that.value))
|
||||
return false;
|
||||
return additionalPermissions.equals(that.additionalPermissions);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
int result = (overwrite ? 1 : 0);
|
||||
result = 31 * result + name.hashCode();
|
||||
result = 31 * result + credentialType.hashCode();
|
||||
result = 31 * result + value.hashCode();
|
||||
result = 31 * result + additionalPermissions.hashCode();
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "CredentialRequest{"
|
||||
+ "overwrite=" + overwrite
|
||||
+ ", name=" + name
|
||||
+ ", credentialType=" + credentialType
|
||||
+ ", value=" + value
|
||||
+ ", additionalPermissions=" + additionalPermissions
|
||||
+ '}';
|
||||
}
|
||||
|
||||
/**
|
||||
* A builder that provides a fluent API for constructing {@link CredentialRequest}s.
|
||||
*/
|
||||
@SuppressWarnings("unchecked")
|
||||
protected static abstract class CredentialRequestBuilder<T, R extends CredentialRequest<T>, B extends CredentialRequestBuilder<T, R, B>> {
|
||||
private final B thisObj;
|
||||
protected final R targetObj;
|
||||
|
||||
/**
|
||||
* Create a {@link CredentialRequestBuilder}. Intended for internal use.
|
||||
*/
|
||||
protected CredentialRequestBuilder() {
|
||||
this.thisObj = createBuilder();
|
||||
this.targetObj = createTarget();
|
||||
}
|
||||
|
||||
/**
|
||||
* Provide the concrete object to build.
|
||||
*
|
||||
* @return the target object
|
||||
*/
|
||||
protected abstract R createTarget();
|
||||
|
||||
/**
|
||||
* Provide the concrete builder.
|
||||
*
|
||||
* @return the builder
|
||||
*/
|
||||
protected abstract B createBuilder();
|
||||
|
||||
/**
|
||||
* Set the value of a credential.
|
||||
*
|
||||
* @param value the credential value; must not be {@literal null}
|
||||
* @return the builder
|
||||
*/
|
||||
public abstract B value(T value);
|
||||
|
||||
/**
|
||||
* Set the {@link CredentialName} for the credential.
|
||||
*
|
||||
* @param name the credential name; must not be {@literal null}
|
||||
* @return the builder
|
||||
*/
|
||||
public B name(CredentialName name) {
|
||||
Assert.notNull(name, "name must not be null");
|
||||
targetObj.setName(name);
|
||||
return thisObj;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets a {@literal boolean} value indicating whether CredHub should create a new
|
||||
* credential or update and existing credential.
|
||||
*
|
||||
* @param overwrite {@literal false} to create a new credential, or
|
||||
* {@literal true} to update and existing credential
|
||||
* @return the builder
|
||||
*/
|
||||
public B overwrite(boolean overwrite) {
|
||||
targetObj.setOverwrite(overwrite);
|
||||
return thisObj;
|
||||
}
|
||||
|
||||
/**
|
||||
* Add an {@link CredentialPermission} to the permissions that will be assigned to the
|
||||
* credential.
|
||||
*
|
||||
* @param permission a {@link CredentialPermission} to assign to the
|
||||
* credential
|
||||
* @return the builder
|
||||
*/
|
||||
public B permission(CredentialPermission permission) {
|
||||
targetObj.getAdditionalPermissions().add(permission);
|
||||
return thisObj;
|
||||
}
|
||||
|
||||
/**
|
||||
* Add a collection of {@link CredentialPermission}s to the controls that will be
|
||||
* assigned to the credential.
|
||||
*
|
||||
* @param permissions a collection of {@link CredentialPermission}s to
|
||||
* assign to the credential
|
||||
* @return the builder
|
||||
*/
|
||||
public B permissions(Collection<? extends CredentialPermission> permissions) {
|
||||
targetObj.getAdditionalPermissions().addAll(permissions);
|
||||
return thisObj;
|
||||
}
|
||||
|
||||
/**
|
||||
* Add a collection of {@link CredentialPermission}s to the controls that will be
|
||||
* assigned to the credential.
|
||||
*
|
||||
* @param permissions a collection of {@link CredentialPermission}s to
|
||||
* assign to the credential
|
||||
* @return the builder
|
||||
*/
|
||||
public B permissions(CredentialPermission... permissions) {
|
||||
targetObj.getAdditionalPermissions().addAll(Arrays.asList(permissions));
|
||||
return thisObj;
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a {@link CredentialRequest} from the provided values.
|
||||
*
|
||||
* @return a {@link CredentialRequest}
|
||||
*/
|
||||
public R build() {
|
||||
return targetObj;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -16,16 +16,12 @@
|
||||
|
||||
package org.springframework.credhub.support;
|
||||
|
||||
import org.springframework.util.Assert;
|
||||
|
||||
/**
|
||||
* The details of a request to generate a credential in CredHub.
|
||||
*
|
||||
* @author Scott Frederick
|
||||
*/
|
||||
public class ParametersRequest<T> extends CredHubRequest {
|
||||
private T parameters;
|
||||
|
||||
public class ParametersRequest<T> extends CredHubRequest<T> {
|
||||
/**
|
||||
* Initialize a {@link ParametersRequest}.
|
||||
*
|
||||
@@ -41,122 +37,10 @@ public class ParametersRequest<T> extends CredHubRequest {
|
||||
* @return the parameters of the credential
|
||||
*/
|
||||
public T getParameters() {
|
||||
return this.parameters;
|
||||
return this.details;
|
||||
}
|
||||
|
||||
protected void setParameters(T parameters) {
|
||||
this.parameters = parameters;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object o) {
|
||||
if (this == o)
|
||||
return true;
|
||||
if (!(o instanceof ParametersRequest))
|
||||
return false;
|
||||
|
||||
ParametersRequest that = (ParametersRequest) o;
|
||||
|
||||
if (overwrite != that.overwrite)
|
||||
return false;
|
||||
if (!name.equals(that.name))
|
||||
return false;
|
||||
if (credentialType != that.credentialType)
|
||||
return false;
|
||||
if (!parameters.equals(that.parameters))
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
int result = (overwrite ? 1 : 0);
|
||||
result = 31 * result + name.hashCode();
|
||||
result = 31 * result + credentialType.hashCode();
|
||||
result = 31 * result + parameters.hashCode();
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "CredentialParameter{"
|
||||
+ "overwrite=" + overwrite
|
||||
+ ", name=" + name
|
||||
+ ", credentialType=" + credentialType
|
||||
+ ", parameters=" + parameters
|
||||
+ '}';
|
||||
}
|
||||
|
||||
/**
|
||||
* A builder that provides a fluent API for constructing {@link ParametersRequest}s.
|
||||
*/
|
||||
@SuppressWarnings("unchecked")
|
||||
protected static abstract class ParametersRequestBuilder<T, R extends ParametersRequest<T>, B extends ParametersRequestBuilder<T, R, B>> {
|
||||
private final B thisObj;
|
||||
protected final R targetObj;
|
||||
|
||||
/**
|
||||
* Create a {@link ParametersRequestBuilder}. Intended for internal use.
|
||||
*/
|
||||
protected ParametersRequestBuilder() {
|
||||
this.thisObj = createBuilder();
|
||||
this.targetObj = createTarget();
|
||||
}
|
||||
|
||||
/**
|
||||
* Provide the concrete object to build.
|
||||
*
|
||||
* @return the target object
|
||||
*/
|
||||
protected abstract R createTarget();
|
||||
|
||||
/**
|
||||
* Provide the concrete builder.
|
||||
*
|
||||
* @return the builder
|
||||
*/
|
||||
protected abstract B createBuilder();
|
||||
|
||||
/**
|
||||
* Set the parameters of a credential.
|
||||
*
|
||||
* @param parameters the credential parameters; must not be {@literal null}
|
||||
* @return the builder
|
||||
*/
|
||||
public abstract B parameters(T parameters);
|
||||
|
||||
/**
|
||||
* Set the {@link CredentialName} for the credential.
|
||||
*
|
||||
* @param name the credential name; must not be {@literal null}
|
||||
* @return the builder
|
||||
*/
|
||||
public B name(CredentialName name) {
|
||||
Assert.notNull(name, "name must not be null");
|
||||
targetObj.setName(name);
|
||||
return thisObj;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets a {@literal boolean} parameters indicating whether CredHub should create a new
|
||||
* credential or update and existing credential.
|
||||
*
|
||||
* @param overwrite {@literal false} to create a new credential, or
|
||||
* {@literal true} to update and existing credential
|
||||
* @return the builder
|
||||
*/
|
||||
public B overwrite(boolean overwrite) {
|
||||
targetObj.setOverwrite(overwrite);
|
||||
return thisObj;
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a {@link ParametersRequest} from the provided values.
|
||||
*
|
||||
* @return a {@link ParametersRequest}
|
||||
*/
|
||||
public R build() {
|
||||
return targetObj;
|
||||
}
|
||||
this.details = parameters;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -48,7 +48,7 @@ public class CertificateCredentialRequest extends CredentialRequest<CertificateC
|
||||
* A builder that provides a fluent API for constructing {@link CertificateCredentialRequest}s.
|
||||
*/
|
||||
public static class CertificateCredentialRequestBuilder
|
||||
extends CredentialRequestBuilder<CertificateCredential, CertificateCredentialRequest, CertificateCredentialRequestBuilder> {
|
||||
extends CredHubRequestBuilder<CertificateCredential, CertificateCredentialRequest, CertificateCredentialRequestBuilder> {
|
||||
@Override
|
||||
protected CertificateCredentialRequest createTarget() {
|
||||
return new CertificateCredentialRequest();
|
||||
|
||||
@@ -48,7 +48,7 @@ public class CertificateParametersRequest extends ParametersRequest<CertificateP
|
||||
* A builder that provides a fluent API for constructing {@link CertificateParametersRequest}s.
|
||||
*/
|
||||
public static class CertificateParametersRequestBuilder
|
||||
extends ParametersRequestBuilder<CertificateParameters, CertificateParametersRequest, CertificateParametersRequestBuilder> {
|
||||
extends CredHubRequestBuilder<CertificateParameters, CertificateParametersRequest, CertificateParametersRequestBuilder> {
|
||||
@Override
|
||||
protected CertificateParametersRequest createTarget() {
|
||||
return new CertificateParametersRequest();
|
||||
|
||||
@@ -50,7 +50,7 @@ public class JsonCredentialRequest extends CredentialRequest<JsonCredential> {
|
||||
* A builder that provides a fluent API for constructing {@link JsonCredentialRequest}s.
|
||||
*/
|
||||
public static class JsonCredentialRequestBuilder extends
|
||||
CredentialRequestBuilder<JsonCredential, JsonCredentialRequest, JsonCredentialRequestBuilder> {
|
||||
CredHubRequestBuilder<JsonCredential, JsonCredentialRequest, JsonCredentialRequestBuilder> {
|
||||
|
||||
@Override
|
||||
protected JsonCredentialRequest createTarget() {
|
||||
|
||||
@@ -48,7 +48,7 @@ public class PasswordCredentialRequest extends CredentialRequest<PasswordCredent
|
||||
* A builder that provides a fluent API for constructing {@link PasswordCredentialRequest}s.
|
||||
*/
|
||||
public static class PasswordCredentialRequestBuilder
|
||||
extends CredentialRequestBuilder<PasswordCredential, PasswordCredentialRequest, PasswordCredentialRequestBuilder> {
|
||||
extends CredHubRequestBuilder<PasswordCredential, PasswordCredentialRequest, PasswordCredentialRequestBuilder> {
|
||||
@Override
|
||||
protected PasswordCredentialRequest createTarget() {
|
||||
return new PasswordCredentialRequest();
|
||||
|
||||
@@ -48,7 +48,7 @@ public class PasswordParametersRequest extends ParametersRequest<PasswordParamet
|
||||
* A builder that provides a fluent API for constructing {@link PasswordParametersRequest}s.
|
||||
*/
|
||||
public static class PasswordParametersRequestBuilder
|
||||
extends ParametersRequestBuilder<PasswordParameters, PasswordParametersRequest, PasswordParametersRequestBuilder> {
|
||||
extends CredHubRequestBuilder<PasswordParameters, PasswordParametersRequest, PasswordParametersRequestBuilder> {
|
||||
@Override
|
||||
protected PasswordParametersRequest createTarget() {
|
||||
return new PasswordParametersRequest();
|
||||
|
||||
@@ -48,7 +48,7 @@ public class RsaCredentialRequest extends CredentialRequest<RsaCredential> {
|
||||
* A builder that provides a fluent API for constructing {@link RsaCredentialRequest}s.
|
||||
*/
|
||||
public static class RsaCredentialRequestBuilder
|
||||
extends CredentialRequestBuilder<RsaCredential, RsaCredentialRequest, RsaCredentialRequestBuilder> {
|
||||
extends CredHubRequestBuilder<RsaCredential, RsaCredentialRequest, RsaCredentialRequestBuilder> {
|
||||
@Override
|
||||
protected RsaCredentialRequest createTarget() {
|
||||
return new RsaCredentialRequest();
|
||||
|
||||
@@ -48,7 +48,7 @@ public class RsaParametersRequest extends ParametersRequest<RsaParameters> {
|
||||
* A builder that provides a fluent API for constructing {@link RsaParametersRequest}s.
|
||||
*/
|
||||
public static class RsaParametersRequestBuilder
|
||||
extends ParametersRequestBuilder<RsaParameters, RsaParametersRequest, RsaParametersRequestBuilder> {
|
||||
extends CredHubRequestBuilder<RsaParameters, RsaParametersRequest, RsaParametersRequestBuilder> {
|
||||
@Override
|
||||
protected RsaParametersRequest createTarget() {
|
||||
return new RsaParametersRequest();
|
||||
|
||||
@@ -48,7 +48,7 @@ public class SshCredentialRequest extends CredentialRequest<SshCredential> {
|
||||
* A builder that provides a fluent API for constructing {@link SshCredentialRequest}s.
|
||||
*/
|
||||
public static class SshCredentialRequestBuilder
|
||||
extends CredentialRequestBuilder<SshCredential, SshCredentialRequest, SshCredentialRequestBuilder> {
|
||||
extends CredHubRequestBuilder<SshCredential, SshCredentialRequest, SshCredentialRequestBuilder> {
|
||||
@Override
|
||||
protected SshCredentialRequest createTarget() {
|
||||
return new SshCredentialRequest();
|
||||
|
||||
@@ -48,7 +48,7 @@ public class SshParametersRequest extends ParametersRequest<SshParameters> {
|
||||
* A builder that provides a fluent API for constructing {@link SshParametersRequest}s.
|
||||
*/
|
||||
public static class SshParametersRequestBuilder
|
||||
extends ParametersRequestBuilder<SshParameters, SshParametersRequest, SshParametersRequestBuilder> {
|
||||
extends CredHubRequestBuilder<SshParameters, SshParametersRequest, SshParametersRequestBuilder> {
|
||||
@Override
|
||||
protected SshParametersRequest createTarget() {
|
||||
return new SshParametersRequest();
|
||||
|
||||
@@ -48,7 +48,7 @@ public class UserCredentialRequest extends CredentialRequest<UserCredential> {
|
||||
* A builder that provides a fluent API for constructing {@link UserCredentialRequest}s.
|
||||
*/
|
||||
public static class UserCredentialRequestBuilder
|
||||
extends CredentialRequestBuilder<UserCredential, UserCredentialRequest, UserCredentialRequestBuilder> {
|
||||
extends CredHubRequestBuilder<UserCredential, UserCredentialRequest, UserCredentialRequestBuilder> {
|
||||
@Override
|
||||
protected UserCredentialRequest createTarget() {
|
||||
return new UserCredentialRequest();
|
||||
|
||||
@@ -69,7 +69,7 @@ public class UserParametersRequest extends ParametersRequest<PasswordParameters>
|
||||
* A builder that provides a fluent API for constructing {@link UserParametersRequest}s.
|
||||
*/
|
||||
public static class UserParametersRequestBuilder
|
||||
extends ParametersRequestBuilder<PasswordParameters, UserParametersRequest, UserParametersRequestBuilder> {
|
||||
extends CredHubRequestBuilder<PasswordParameters, UserParametersRequest, UserParametersRequestBuilder> {
|
||||
@Override
|
||||
protected UserParametersRequest createTarget() {
|
||||
return new UserParametersRequest();
|
||||
|
||||
@@ -48,7 +48,7 @@ public class ValueCredentialRequest extends CredentialRequest<ValueCredential> {
|
||||
* A builder that provides a fluent API for constructing {@link ValueCredentialRequest}s.
|
||||
*/
|
||||
public static class ValueCredentialRequestBuilder
|
||||
extends CredentialRequestBuilder<ValueCredential, ValueCredentialRequest, ValueCredentialRequestBuilder> {
|
||||
extends CredHubRequestBuilder<ValueCredential, ValueCredentialRequest, ValueCredentialRequestBuilder> {
|
||||
@Override
|
||||
protected ValueCredentialRequest createTarget() {
|
||||
return new ValueCredentialRequest();
|
||||
|
||||
@@ -21,7 +21,7 @@ import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
|
||||
import org.springframework.credhub.support.CredentialRequest.CredentialRequestBuilder;
|
||||
import org.springframework.credhub.support.CredHubRequest.CredHubRequestBuilder;
|
||||
import org.springframework.credhub.support.permissions.Actor;
|
||||
import org.springframework.credhub.support.permissions.CredentialPermission;
|
||||
import org.springframework.credhub.support.utils.JsonUtils;
|
||||
@@ -37,9 +37,9 @@ import static org.valid4j.matchers.jsonpath.JsonPathMatchers.hasJsonPath;
|
||||
import static org.valid4j.matchers.jsonpath.JsonPathMatchers.hasNoJsonPath;
|
||||
import static org.valid4j.matchers.jsonpath.JsonPathMatchers.isJson;
|
||||
|
||||
public abstract class CredentialRequestUnitTestsBase {
|
||||
public abstract class CredHubRequestUnitTestsBase {
|
||||
private ObjectMapper mapper;
|
||||
protected CredentialRequestBuilder requestBuilder;
|
||||
protected CredHubRequestBuilder requestBuilder;
|
||||
|
||||
@Before
|
||||
public void setUpCredentialRequestUnitTests() {
|
||||
@@ -90,13 +90,20 @@ public abstract class CredentialRequestUnitTestsBase {
|
||||
);
|
||||
}
|
||||
|
||||
protected <T extends CredentialRequestBuilder> String serializeToJson(T requestBuilder)
|
||||
protected <T extends CredHubRequestBuilder> String serializeToJson(T requestBuilder)
|
||||
throws JsonProcessingException {
|
||||
String jsonValue = mapper.writeValueAsString(requestBuilder.build());
|
||||
assertThat(jsonValue, isJson());
|
||||
return jsonValue;
|
||||
}
|
||||
|
||||
protected void assertCommonRequestFields(String jsonValue, boolean overwrite, String name, String type) {
|
||||
assertThat(jsonValue,
|
||||
allOf(hasJsonPath("$.overwrite", equalTo(overwrite)),
|
||||
hasJsonPath("$.name", equalTo(name)),
|
||||
hasJsonPath("$.type", equalTo(type))));
|
||||
}
|
||||
|
||||
protected void assertNoPermissions(String jsonValue) {
|
||||
assertThat(jsonValue, hasNoJsonPath("$.additional_permissions"));
|
||||
}
|
||||
@@ -1,55 +0,0 @@
|
||||
/*
|
||||
* Copyright 2016-2017 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.credhub.support;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import org.junit.Before;
|
||||
|
||||
import org.springframework.credhub.support.ParametersRequest.ParametersRequestBuilder;
|
||||
import org.springframework.credhub.support.utils.JsonUtils;
|
||||
|
||||
import static org.hamcrest.CoreMatchers.allOf;
|
||||
import static org.hamcrest.CoreMatchers.equalTo;
|
||||
import static org.junit.Assert.assertThat;
|
||||
import static org.valid4j.matchers.jsonpath.JsonPathMatchers.hasJsonPath;
|
||||
import static org.valid4j.matchers.jsonpath.JsonPathMatchers.hasNoJsonPath;
|
||||
import static org.valid4j.matchers.jsonpath.JsonPathMatchers.isJson;
|
||||
|
||||
public abstract class ParametersRequestUnitTestsBase {
|
||||
private ObjectMapper mapper;
|
||||
|
||||
@Before
|
||||
public void setUpGenerateCredentialRequestUnitTests() {
|
||||
mapper = JsonUtils.buildObjectMapper();
|
||||
}
|
||||
|
||||
protected <T extends ParametersRequestBuilder> String serializeToJson(T requestBuilder)
|
||||
throws JsonProcessingException {
|
||||
String jsonValue = mapper.writeValueAsString(requestBuilder.build());
|
||||
assertThat(jsonValue, isJson());
|
||||
return jsonValue;
|
||||
}
|
||||
|
||||
protected void assertCommonRequestFields(String jsonValue, boolean overwrite, String name, String type) {
|
||||
assertThat(jsonValue,
|
||||
allOf(hasJsonPath("$.overwrite", equalTo(overwrite)),
|
||||
hasJsonPath("$.name", equalTo(name)),
|
||||
hasJsonPath("$.type", equalTo(type))));
|
||||
assertThat(jsonValue, hasNoJsonPath("$.additional_permissions"));
|
||||
}
|
||||
}
|
||||
@@ -19,7 +19,7 @@ package org.springframework.credhub.support.certificate;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
|
||||
import org.springframework.credhub.support.CredentialRequestUnitTestsBase;
|
||||
import org.springframework.credhub.support.CredHubRequestUnitTestsBase;
|
||||
import org.springframework.credhub.support.SimpleCredentialName;
|
||||
|
||||
import static org.hamcrest.CoreMatchers.allOf;
|
||||
@@ -28,7 +28,7 @@ import static org.junit.Assert.assertThat;
|
||||
import static org.valid4j.matchers.jsonpath.JsonPathMatchers.hasJsonPath;
|
||||
import static org.valid4j.matchers.jsonpath.JsonPathMatchers.hasNoJsonPath;
|
||||
|
||||
public class CertificateCredentialRequestUnitTests extends CredentialRequestUnitTestsBase {
|
||||
public class CertificateCredentialRequestUnitTests extends CredHubRequestUnitTestsBase {
|
||||
@Before
|
||||
public void setUp() {
|
||||
buildRequest(new CertificateCredential("cert", "ca", "private-key"));
|
||||
@@ -38,11 +38,9 @@ public class CertificateCredentialRequestUnitTests extends CredentialRequestUnit
|
||||
public void serializeWithAllValues() throws Exception {
|
||||
String jsonValue = serializeToJson(requestBuilder);
|
||||
|
||||
assertCommonRequestFields(jsonValue, true, "/example/credential", "certificate");
|
||||
assertThat(jsonValue,
|
||||
allOf(hasJsonPath("$.overwrite", equalTo(true)),
|
||||
hasJsonPath("$.name", equalTo("/example/credential")),
|
||||
hasJsonPath("$.type", equalTo("certificate")),
|
||||
hasJsonPath("$.value.certificate", equalTo("cert")),
|
||||
allOf(hasJsonPath("$.value.certificate", equalTo("cert")),
|
||||
hasJsonPath("$.value.ca", equalTo("ca")),
|
||||
hasJsonPath("$.value.private_key", equalTo("private-key"))));
|
||||
|
||||
@@ -55,11 +53,9 @@ public class CertificateCredentialRequestUnitTests extends CredentialRequestUnit
|
||||
|
||||
String jsonValue = serializeToJson(requestBuilder);
|
||||
|
||||
assertCommonRequestFields(jsonValue, true, "/example/credential", "certificate");
|
||||
assertThat(jsonValue,
|
||||
allOf(hasJsonPath("$.overwrite", equalTo(true)),
|
||||
hasJsonPath("$.name", equalTo("/example/credential")),
|
||||
hasJsonPath("$.type", equalTo("certificate")),
|
||||
hasJsonPath("$.value.certificate", equalTo("cert")),
|
||||
allOf(hasJsonPath("$.value.certificate", equalTo("cert")),
|
||||
hasNoJsonPath("$.value.ca"),
|
||||
hasNoJsonPath("$.value.private_key")));
|
||||
|
||||
@@ -72,11 +68,9 @@ public class CertificateCredentialRequestUnitTests extends CredentialRequestUnit
|
||||
|
||||
String jsonValue = serializeToJson(requestBuilder);
|
||||
|
||||
assertCommonRequestFields(jsonValue, true, "/example/credential", "certificate");
|
||||
assertThat(jsonValue,
|
||||
allOf(hasJsonPath("$.overwrite", equalTo(true)),
|
||||
hasJsonPath("$.name", equalTo("/example/credential")),
|
||||
hasJsonPath("$.type", equalTo("certificate")),
|
||||
hasNoJsonPath("$.value.certificate"),
|
||||
allOf(hasNoJsonPath("$.value.certificate"),
|
||||
hasJsonPath("$.value.ca", equalTo("ca")),
|
||||
hasJsonPath("$.value.private_key", equalTo("private-key"))));
|
||||
|
||||
@@ -87,7 +81,7 @@ public class CertificateCredentialRequestUnitTests extends CredentialRequestUnit
|
||||
public void serializeWithNoValues() throws Exception {
|
||||
buildRequest(new CertificateCredential(null, null, null));
|
||||
|
||||
String jsonValue = serializeToJson(requestBuilder);
|
||||
serializeToJson(requestBuilder);
|
||||
}
|
||||
|
||||
private void buildRequest(CertificateCredential value) {
|
||||
|
||||
@@ -16,12 +16,12 @@
|
||||
|
||||
package org.springframework.credhub.support.certificate;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
|
||||
import org.springframework.credhub.support.CredHubRequestUnitTestsBase;
|
||||
import org.springframework.credhub.support.KeyLength;
|
||||
import org.springframework.credhub.support.ParametersRequestUnitTestsBase;
|
||||
import org.springframework.credhub.support.SimpleCredentialName;
|
||||
import org.springframework.credhub.support.certificate.CertificateParametersRequest.CertificateParametersRequestBuilder;
|
||||
|
||||
import static org.hamcrest.CoreMatchers.allOf;
|
||||
import static org.hamcrest.CoreMatchers.equalTo;
|
||||
@@ -29,10 +29,15 @@ import static org.junit.Assert.assertThat;
|
||||
import static org.valid4j.matchers.jsonpath.JsonPathMatchers.hasJsonPath;
|
||||
import static org.valid4j.matchers.jsonpath.JsonPathMatchers.hasNoJsonPath;
|
||||
|
||||
public class CertificateParametersRequestUnitTests extends ParametersRequestUnitTestsBase {
|
||||
public class CertificateParametersRequestUnitTests extends CredHubRequestUnitTestsBase {
|
||||
@Before
|
||||
public void setUp() {
|
||||
requestBuilder = CertificateParametersRequest.builder();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void serializeWithParameters() throws Exception {
|
||||
CertificateParametersRequestBuilder requestBuilder = CertificateParametersRequest.builder()
|
||||
requestBuilder = CertificateParametersRequest.builder()
|
||||
.name(new SimpleCredentialName("example", "credential"))
|
||||
.overwrite(true)
|
||||
.parameters(CertificateParameters.builder()
|
||||
@@ -71,7 +76,7 @@ public class CertificateParametersRequestUnitTests extends ParametersRequestUnit
|
||||
|
||||
@Test
|
||||
public void serializeWithMinimalParameters() throws Exception {
|
||||
CertificateParametersRequestBuilder requestBuilder = CertificateParametersRequest.builder()
|
||||
requestBuilder = CertificateParametersRequest.builder()
|
||||
.name(new SimpleCredentialName("example", "credential"))
|
||||
.overwrite(true)
|
||||
.parameters(CertificateParameters.builder()
|
||||
@@ -99,7 +104,7 @@ public class CertificateParametersRequestUnitTests extends ParametersRequestUnit
|
||||
|
||||
@Test
|
||||
public void serializeWithNoParameters() throws Exception {
|
||||
CertificateParametersRequestBuilder requestBuilder = CertificateParametersRequest.builder()
|
||||
requestBuilder = CertificateParametersRequest.builder()
|
||||
.name(new SimpleCredentialName("example", "credential"))
|
||||
.overwrite(true);
|
||||
|
||||
@@ -111,14 +116,14 @@ public class CertificateParametersRequestUnitTests extends ParametersRequestUnit
|
||||
|
||||
@Test(expected = IllegalArgumentException.class)
|
||||
public void serializeWithEmptyParameters() throws Exception {
|
||||
CertificateParametersRequestBuilder requestBuilder = CertificateParametersRequest.builder()
|
||||
requestBuilder = CertificateParametersRequest.builder()
|
||||
.name(new SimpleCredentialName("example", "credential"))
|
||||
.overwrite(true)
|
||||
.parameters(CertificateParameters.builder()
|
||||
.keyLength(KeyLength.LENGTH_2048)
|
||||
.build());
|
||||
|
||||
String jsonValue = serializeToJson(requestBuilder);
|
||||
serializeToJson(requestBuilder);
|
||||
}
|
||||
|
||||
private void assertParametersNotSet(String jsonValue) {
|
||||
|
||||
@@ -19,7 +19,7 @@ package org.springframework.credhub.support.json;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
|
||||
import org.springframework.credhub.support.CredentialRequestUnitTestsBase;
|
||||
import org.springframework.credhub.support.CredHubRequestUnitTestsBase;
|
||||
import org.springframework.credhub.support.SimpleCredentialName;
|
||||
|
||||
import static org.hamcrest.CoreMatchers.allOf;
|
||||
@@ -27,7 +27,7 @@ import static org.hamcrest.CoreMatchers.equalTo;
|
||||
import static org.junit.Assert.assertThat;
|
||||
import static org.valid4j.matchers.jsonpath.JsonPathMatchers.hasJsonPath;
|
||||
|
||||
public class JsonCredentialRequestUnitTests extends CredentialRequestUnitTestsBase {
|
||||
public class JsonCredentialRequestUnitTests extends CredHubRequestUnitTestsBase {
|
||||
|
||||
@Before
|
||||
public void setUp() {
|
||||
@@ -45,11 +45,9 @@ public class JsonCredentialRequestUnitTests extends CredentialRequestUnitTestsBa
|
||||
public void serializeWithJsonValue() throws Exception {
|
||||
String jsonValue = serializeToJson(requestBuilder);
|
||||
|
||||
assertCommonRequestFields(jsonValue, false, "/example/credential", "json");
|
||||
assertThat(jsonValue,
|
||||
allOf(hasJsonPath("$.overwrite", equalTo(false)),
|
||||
hasJsonPath("$.name", equalTo("/example/credential")),
|
||||
hasJsonPath("$.type", equalTo("json")),
|
||||
hasJsonPath("$.value.data", equalTo("value")),
|
||||
allOf(hasJsonPath("$.value.data", equalTo("value")),
|
||||
hasJsonPath("$.value.test", equalTo(true))));
|
||||
|
||||
assertNoPermissions(jsonValue);
|
||||
|
||||
@@ -19,16 +19,14 @@ package org.springframework.credhub.support.password;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
|
||||
import org.springframework.credhub.support.CredentialRequestUnitTestsBase;
|
||||
import org.springframework.credhub.support.CredHubRequestUnitTestsBase;
|
||||
import org.springframework.credhub.support.SimpleCredentialName;
|
||||
|
||||
import static org.hamcrest.CoreMatchers.allOf;
|
||||
import static org.hamcrest.CoreMatchers.equalTo;
|
||||
import static org.junit.Assert.assertThat;
|
||||
import static org.valid4j.matchers.jsonpath.JsonPathMatchers.hasJsonPath;
|
||||
import static org.valid4j.matchers.jsonpath.JsonPathMatchers.hasNoJsonPath;
|
||||
|
||||
public class PasswordCredentialRequestUnitTests extends CredentialRequestUnitTestsBase {
|
||||
public class PasswordCredentialRequestUnitTests extends CredHubRequestUnitTestsBase {
|
||||
|
||||
@Before
|
||||
public void setUp() {
|
||||
@@ -42,11 +40,8 @@ public class PasswordCredentialRequestUnitTests extends CredentialRequestUnitTes
|
||||
public void serializeWithPasswordValue() throws Exception {
|
||||
String jsonValue = serializeToJson(requestBuilder);
|
||||
|
||||
assertThat(jsonValue,
|
||||
allOf(hasJsonPath("$.overwrite", equalTo(true)),
|
||||
hasJsonPath("$.name", equalTo("/example/credential")),
|
||||
hasJsonPath("$.type", equalTo("password")),
|
||||
hasJsonPath("$.value", equalTo("secret"))));
|
||||
assertCommonRequestFields(jsonValue, true, "/example/credential", "password");
|
||||
assertThat(jsonValue, hasJsonPath("$.value", equalTo("secret")));
|
||||
|
||||
assertNoPermissions(jsonValue);
|
||||
}
|
||||
@@ -60,11 +55,8 @@ public class PasswordCredentialRequestUnitTests extends CredentialRequestUnitTes
|
||||
|
||||
String jsonValue = serializeToJson(requestBuilder);
|
||||
|
||||
assertThat(jsonValue,
|
||||
allOf(hasJsonPath("$.overwrite", equalTo(true)),
|
||||
hasJsonPath("$.name", equalTo("/example/credential")),
|
||||
hasJsonPath("$.type", equalTo("password")),
|
||||
hasJsonPath("$.value", equalTo("secret"))));
|
||||
assertCommonRequestFields(jsonValue, true, "/example/credential", "password");
|
||||
assertThat(jsonValue, hasJsonPath("$.value", equalTo("secret")));
|
||||
|
||||
assertNoPermissions(jsonValue);
|
||||
}
|
||||
|
||||
@@ -16,11 +16,11 @@
|
||||
|
||||
package org.springframework.credhub.support.password;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
|
||||
import org.springframework.credhub.support.ParametersRequestUnitTestsBase;
|
||||
import org.springframework.credhub.support.CredHubRequestUnitTestsBase;
|
||||
import org.springframework.credhub.support.SimpleCredentialName;
|
||||
import org.springframework.credhub.support.password.PasswordParametersRequest.PasswordParametersRequestBuilder;
|
||||
|
||||
import static org.hamcrest.CoreMatchers.allOf;
|
||||
import static org.hamcrest.CoreMatchers.equalTo;
|
||||
@@ -28,10 +28,15 @@ import static org.junit.Assert.assertThat;
|
||||
import static org.valid4j.matchers.jsonpath.JsonPathMatchers.hasJsonPath;
|
||||
import static org.valid4j.matchers.jsonpath.JsonPathMatchers.hasNoJsonPath;
|
||||
|
||||
public class PasswordParametersRequestUnitTests extends ParametersRequestUnitTestsBase {
|
||||
public class PasswordParametersRequestUnitTests extends CredHubRequestUnitTestsBase {
|
||||
@Before
|
||||
public void setUp() {
|
||||
requestBuilder = PasswordParametersRequest.builder();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void serializeWithParameters() throws Exception {
|
||||
PasswordParametersRequestBuilder requestBuilder = PasswordParametersRequest.builder()
|
||||
requestBuilder = PasswordParametersRequest.builder()
|
||||
.name(new SimpleCredentialName("example", "credential"))
|
||||
.overwrite(true)
|
||||
.parameters(PasswordParameters.builder()
|
||||
@@ -55,7 +60,7 @@ public class PasswordParametersRequestUnitTests extends ParametersRequestUnitTes
|
||||
|
||||
@Test
|
||||
public void serializeWithEmptyParameters() throws Exception {
|
||||
PasswordParametersRequestBuilder requestBuilder = PasswordParametersRequest.builder()
|
||||
requestBuilder = PasswordParametersRequest.builder()
|
||||
.name(new SimpleCredentialName("example", "credential"))
|
||||
.overwrite(true)
|
||||
.parameters(new PasswordParameters());
|
||||
@@ -68,7 +73,7 @@ public class PasswordParametersRequestUnitTests extends ParametersRequestUnitTes
|
||||
|
||||
@Test
|
||||
public void serializeWithNoParameters() throws Exception {
|
||||
PasswordParametersRequestBuilder requestBuilder = PasswordParametersRequest.builder()
|
||||
requestBuilder = PasswordParametersRequest.builder()
|
||||
.name(new SimpleCredentialName("example", "credential"))
|
||||
.overwrite(true);
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@ package org.springframework.credhub.support.rsa;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
|
||||
import org.springframework.credhub.support.CredentialRequestUnitTestsBase;
|
||||
import org.springframework.credhub.support.CredHubRequestUnitTestsBase;
|
||||
import org.springframework.credhub.support.SimpleCredentialName;
|
||||
|
||||
import static org.hamcrest.CoreMatchers.allOf;
|
||||
@@ -28,7 +28,7 @@ import static org.junit.Assert.assertThat;
|
||||
import static org.valid4j.matchers.jsonpath.JsonPathMatchers.hasJsonPath;
|
||||
import static org.valid4j.matchers.jsonpath.JsonPathMatchers.hasNoJsonPath;
|
||||
|
||||
public class RsaCredentialRequestUnitTests extends CredentialRequestUnitTestsBase {
|
||||
public class RsaCredentialRequestUnitTests extends CredHubRequestUnitTestsBase {
|
||||
@Before
|
||||
public void setUp() {
|
||||
buildRequest(new RsaCredential("public-key", "private-key"));
|
||||
@@ -38,11 +38,9 @@ public class RsaCredentialRequestUnitTests extends CredentialRequestUnitTestsBas
|
||||
public void serializeWithPublicAndPrivateKey() throws Exception {
|
||||
String jsonValue = serializeToJson(requestBuilder);
|
||||
|
||||
assertCommonRequestFields(jsonValue, true, "/example/credential", "rsa");
|
||||
assertThat(jsonValue,
|
||||
allOf(hasJsonPath("$.overwrite", equalTo(true)),
|
||||
hasJsonPath("$.name", equalTo("/example/credential")),
|
||||
hasJsonPath("$.type", equalTo("rsa")),
|
||||
hasJsonPath("$.value.public_key", equalTo("public-key")),
|
||||
allOf(hasJsonPath("$.value.public_key", equalTo("public-key")),
|
||||
hasJsonPath("$.value.private_key", equalTo("private-key"))));
|
||||
|
||||
assertNoPermissions(jsonValue);
|
||||
@@ -54,11 +52,9 @@ public class RsaCredentialRequestUnitTests extends CredentialRequestUnitTestsBas
|
||||
|
||||
String jsonValue = serializeToJson(requestBuilder);
|
||||
|
||||
assertCommonRequestFields(jsonValue, true, "/example/credential", "rsa");
|
||||
assertThat(jsonValue,
|
||||
allOf(hasJsonPath("$.overwrite", equalTo(true)),
|
||||
hasJsonPath("$.name", equalTo("/example/credential")),
|
||||
hasJsonPath("$.type", equalTo("rsa")),
|
||||
hasJsonPath("$.value.public_key", equalTo("public-key")),
|
||||
allOf(hasJsonPath("$.value.public_key", equalTo("public-key")),
|
||||
hasNoJsonPath("$.value.private_key")));
|
||||
|
||||
assertNoPermissions(jsonValue);
|
||||
@@ -70,11 +66,9 @@ public class RsaCredentialRequestUnitTests extends CredentialRequestUnitTestsBas
|
||||
|
||||
String jsonValue = serializeToJson(requestBuilder);
|
||||
|
||||
assertCommonRequestFields(jsonValue, true, "/example/credential", "rsa");
|
||||
assertThat(jsonValue,
|
||||
allOf(hasJsonPath("$.overwrite", equalTo(true)),
|
||||
hasJsonPath("$.name", equalTo("/example/credential")),
|
||||
hasJsonPath("$.type", equalTo("rsa")),
|
||||
hasNoJsonPath("$.value.public_key"),
|
||||
allOf(hasNoJsonPath("$.value.public_key"),
|
||||
hasJsonPath("$.value.private_key", equalTo("private-key"))));
|
||||
|
||||
assertNoPermissions(jsonValue);
|
||||
@@ -84,7 +78,7 @@ public class RsaCredentialRequestUnitTests extends CredentialRequestUnitTestsBas
|
||||
public void serializeWithNeitherKey() throws Exception {
|
||||
buildRequest(new RsaCredential(null, null));
|
||||
|
||||
String jsonValue = serializeToJson(requestBuilder);
|
||||
serializeToJson(requestBuilder);
|
||||
}
|
||||
|
||||
private void buildRequest(RsaCredential value) {
|
||||
|
||||
@@ -16,22 +16,27 @@
|
||||
|
||||
package org.springframework.credhub.support.rsa;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
|
||||
import org.springframework.credhub.support.CredHubRequestUnitTestsBase;
|
||||
import org.springframework.credhub.support.KeyLength;
|
||||
import org.springframework.credhub.support.ParametersRequestUnitTestsBase;
|
||||
import org.springframework.credhub.support.SimpleCredentialName;
|
||||
import org.springframework.credhub.support.rsa.RsaParametersRequest.RsaParametersRequestBuilder;
|
||||
|
||||
import static org.hamcrest.CoreMatchers.equalTo;
|
||||
import static org.junit.Assert.assertThat;
|
||||
import static org.valid4j.matchers.jsonpath.JsonPathMatchers.hasJsonPath;
|
||||
import static org.valid4j.matchers.jsonpath.JsonPathMatchers.hasNoJsonPath;
|
||||
|
||||
public class RsaParametersRequestUnitTests extends ParametersRequestUnitTestsBase {
|
||||
public class RsaParametersRequestUnitTests extends CredHubRequestUnitTestsBase {
|
||||
@Before
|
||||
public void setUp() {
|
||||
requestBuilder = RsaParametersRequest.builder();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void serializeWithParameters() throws Exception {
|
||||
RsaParametersRequestBuilder requestBuilder = RsaParametersRequest.builder()
|
||||
requestBuilder = RsaParametersRequest.builder()
|
||||
.name(new SimpleCredentialName("example", "credential"))
|
||||
.overwrite(true)
|
||||
.parameters(new RsaParameters(KeyLength.LENGTH_4096));
|
||||
@@ -44,7 +49,7 @@ public class RsaParametersRequestUnitTests extends ParametersRequestUnitTestsBas
|
||||
|
||||
@Test
|
||||
public void serializeWithNoParameters() throws Exception {
|
||||
RsaParametersRequestBuilder requestBuilder = RsaParametersRequest.builder()
|
||||
requestBuilder = RsaParametersRequest.builder()
|
||||
.name(new SimpleCredentialName("example", "credential"))
|
||||
.overwrite(true);
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@ package org.springframework.credhub.support.ssh;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
|
||||
import org.springframework.credhub.support.CredentialRequestUnitTestsBase;
|
||||
import org.springframework.credhub.support.CredHubRequestUnitTestsBase;
|
||||
import org.springframework.credhub.support.SimpleCredentialName;
|
||||
|
||||
import static org.hamcrest.CoreMatchers.allOf;
|
||||
@@ -28,7 +28,7 @@ import static org.junit.Assert.assertThat;
|
||||
import static org.valid4j.matchers.jsonpath.JsonPathMatchers.hasJsonPath;
|
||||
import static org.valid4j.matchers.jsonpath.JsonPathMatchers.hasNoJsonPath;
|
||||
|
||||
public class SshCredentialRequestUnitTests extends CredentialRequestUnitTestsBase {
|
||||
public class SshCredentialRequestUnitTests extends CredHubRequestUnitTestsBase {
|
||||
@Before
|
||||
public void setUp() {
|
||||
buildRequest(new SshCredential("public-key", "private-key"));
|
||||
@@ -38,11 +38,9 @@ public class SshCredentialRequestUnitTests extends CredentialRequestUnitTestsBas
|
||||
public void serializeWithPublicAndPrivateKey() throws Exception {
|
||||
String jsonValue = serializeToJson(requestBuilder);
|
||||
|
||||
assertCommonRequestFields(jsonValue, true, "/example/credential", "ssh");
|
||||
assertThat(jsonValue,
|
||||
allOf(hasJsonPath("$.overwrite", equalTo(true)),
|
||||
hasJsonPath("$.name", equalTo("/example/credential")),
|
||||
hasJsonPath("$.type", equalTo("ssh")),
|
||||
hasJsonPath("$.value.public_key", equalTo("public-key")),
|
||||
allOf(hasJsonPath("$.value.public_key", equalTo("public-key")),
|
||||
hasJsonPath("$.value.private_key", equalTo("private-key"))));
|
||||
|
||||
assertNoPermissions(jsonValue);
|
||||
@@ -54,11 +52,9 @@ public class SshCredentialRequestUnitTests extends CredentialRequestUnitTestsBas
|
||||
|
||||
String jsonValue = serializeToJson(requestBuilder);
|
||||
|
||||
assertCommonRequestFields(jsonValue, true, "/example/credential", "ssh");
|
||||
assertThat(jsonValue,
|
||||
allOf(hasJsonPath("$.overwrite", equalTo(true)),
|
||||
hasJsonPath("$.name", equalTo("/example/credential")),
|
||||
hasJsonPath("$.type", equalTo("ssh")),
|
||||
hasJsonPath("$.value.public_key", equalTo("public-key")),
|
||||
allOf(hasJsonPath("$.value.public_key", equalTo("public-key")),
|
||||
hasNoJsonPath("$.value.private_key")));
|
||||
|
||||
assertNoPermissions(jsonValue);
|
||||
@@ -70,11 +66,9 @@ public class SshCredentialRequestUnitTests extends CredentialRequestUnitTestsBas
|
||||
|
||||
String jsonValue = serializeToJson(requestBuilder);
|
||||
|
||||
assertCommonRequestFields(jsonValue, true, "/example/credential", "ssh");
|
||||
assertThat(jsonValue,
|
||||
allOf(hasJsonPath("$.overwrite", equalTo(true)),
|
||||
hasJsonPath("$.name", equalTo("/example/credential")),
|
||||
hasJsonPath("$.type", equalTo("ssh")),
|
||||
hasNoJsonPath("$.value.public_key"),
|
||||
allOf(hasNoJsonPath("$.value.public_key"),
|
||||
hasJsonPath("$.value.private_key", equalTo("private-key"))));
|
||||
|
||||
assertNoPermissions(jsonValue);
|
||||
@@ -84,7 +78,7 @@ public class SshCredentialRequestUnitTests extends CredentialRequestUnitTestsBas
|
||||
public void serializeWithNeitherKey() throws Exception {
|
||||
buildRequest(new SshCredential(null, null));
|
||||
|
||||
String jsonValue = serializeToJson(requestBuilder);
|
||||
serializeToJson(requestBuilder);
|
||||
}
|
||||
|
||||
private void buildRequest(SshCredential value) {
|
||||
|
||||
@@ -16,12 +16,12 @@
|
||||
|
||||
package org.springframework.credhub.support.ssh;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
|
||||
import org.springframework.credhub.support.CredHubRequestUnitTestsBase;
|
||||
import org.springframework.credhub.support.KeyLength;
|
||||
import org.springframework.credhub.support.ParametersRequestUnitTestsBase;
|
||||
import org.springframework.credhub.support.SimpleCredentialName;
|
||||
import org.springframework.credhub.support.ssh.SshParametersRequest.SshParametersRequestBuilder;
|
||||
|
||||
import static org.hamcrest.CoreMatchers.allOf;
|
||||
import static org.hamcrest.CoreMatchers.equalTo;
|
||||
@@ -29,10 +29,14 @@ import static org.junit.Assert.assertThat;
|
||||
import static org.valid4j.matchers.jsonpath.JsonPathMatchers.hasJsonPath;
|
||||
import static org.valid4j.matchers.jsonpath.JsonPathMatchers.hasNoJsonPath;
|
||||
|
||||
public class SshParametersRequestUnitTests extends ParametersRequestUnitTestsBase {
|
||||
public class SshParametersRequestUnitTests extends CredHubRequestUnitTestsBase {
|
||||
@Before
|
||||
public void setUp() {
|
||||
requestBuilder = SshParametersRequest.builder();
|
||||
}
|
||||
@Test
|
||||
public void serializeWithParameters() throws Exception {
|
||||
SshParametersRequestBuilder requestBuilder = SshParametersRequest.builder()
|
||||
requestBuilder = SshParametersRequest.builder()
|
||||
.name(new SimpleCredentialName("example", "credential"))
|
||||
.overwrite(true)
|
||||
.parameters(new SshParameters(KeyLength.LENGTH_2048, "ssh comment"));
|
||||
@@ -47,7 +51,7 @@ public class SshParametersRequestUnitTests extends ParametersRequestUnitTestsBas
|
||||
|
||||
@Test
|
||||
public void serializeWithLengthParameter() throws Exception {
|
||||
SshParametersRequestBuilder requestBuilder = SshParametersRequest.builder()
|
||||
requestBuilder = SshParametersRequest.builder()
|
||||
.name(new SimpleCredentialName("example", "credential"))
|
||||
.overwrite(true)
|
||||
.parameters(new SshParameters(KeyLength.LENGTH_2048));
|
||||
@@ -62,7 +66,7 @@ public class SshParametersRequestUnitTests extends ParametersRequestUnitTestsBas
|
||||
|
||||
@Test
|
||||
public void serializeWithCommentParameter() throws Exception {
|
||||
SshParametersRequestBuilder requestBuilder = SshParametersRequest.builder()
|
||||
requestBuilder = SshParametersRequest.builder()
|
||||
.name(new SimpleCredentialName("example", "credential"))
|
||||
.overwrite(true)
|
||||
.parameters(new SshParameters("ssh comment"));
|
||||
@@ -77,7 +81,7 @@ public class SshParametersRequestUnitTests extends ParametersRequestUnitTestsBas
|
||||
|
||||
@Test
|
||||
public void serializeWithNoParameters() throws Exception {
|
||||
SshParametersRequestBuilder requestBuilder = SshParametersRequest.builder()
|
||||
requestBuilder = SshParametersRequest.builder()
|
||||
.name(new SimpleCredentialName("example", "credential"))
|
||||
.overwrite(true);
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@ package org.springframework.credhub.support.user;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
|
||||
import org.springframework.credhub.support.CredentialRequestUnitTestsBase;
|
||||
import org.springframework.credhub.support.CredHubRequestUnitTestsBase;
|
||||
import org.springframework.credhub.support.SimpleCredentialName;
|
||||
import org.springframework.credhub.support.user.UserCredentialRequest.UserCredentialRequestBuilder;
|
||||
|
||||
@@ -29,7 +29,7 @@ import static org.junit.Assert.assertThat;
|
||||
import static org.valid4j.matchers.jsonpath.JsonPathMatchers.hasJsonPath;
|
||||
import static org.valid4j.matchers.jsonpath.JsonPathMatchers.hasNoJsonPath;
|
||||
|
||||
public class UserCredentialRequestUnitTests extends CredentialRequestUnitTestsBase {
|
||||
public class UserCredentialRequestUnitTests extends CredHubRequestUnitTestsBase {
|
||||
@Before
|
||||
public void setUp() {
|
||||
requestBuilder = UserCredentialRequest.builder()
|
||||
@@ -42,11 +42,9 @@ public class UserCredentialRequestUnitTests extends CredentialRequestUnitTestsBa
|
||||
public void serializeWithUsernameAndPassword() throws Exception {
|
||||
String jsonValue = serializeToJson(requestBuilder);
|
||||
|
||||
assertCommonRequestFields(jsonValue, true, "/example/credential", "user");
|
||||
assertThat(jsonValue,
|
||||
allOf(hasJsonPath("$.overwrite", equalTo(true)),
|
||||
hasJsonPath("$.name", equalTo("/example/credential")),
|
||||
hasJsonPath("$.type", equalTo("user")),
|
||||
hasJsonPath("$.value.username", equalTo("myname")),
|
||||
allOf(hasJsonPath("$.value.username", equalTo("myname")),
|
||||
hasJsonPath("$.value.password", equalTo("secret"))));
|
||||
|
||||
assertNoPermissions(jsonValue);
|
||||
@@ -61,11 +59,9 @@ public class UserCredentialRequestUnitTests extends CredentialRequestUnitTestsBa
|
||||
|
||||
String jsonValue = serializeToJson(builder);
|
||||
|
||||
assertCommonRequestFields(jsonValue, true, "/example/credential", "user");
|
||||
assertThat(jsonValue,
|
||||
allOf(hasJsonPath("$.overwrite", equalTo(true)),
|
||||
hasJsonPath("$.name", equalTo("/example/credential")),
|
||||
hasJsonPath("$.type", equalTo("user")),
|
||||
hasNoJsonPath("$.value.username"),
|
||||
allOf(hasNoJsonPath("$.value.username"),
|
||||
hasJsonPath("$.value.password", equalTo("secret"))));
|
||||
|
||||
assertNoPermissions(jsonValue);
|
||||
|
||||
@@ -16,12 +16,12 @@
|
||||
|
||||
package org.springframework.credhub.support.user;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
|
||||
import org.springframework.credhub.support.ParametersRequestUnitTestsBase;
|
||||
import org.springframework.credhub.support.CredHubRequestUnitTestsBase;
|
||||
import org.springframework.credhub.support.SimpleCredentialName;
|
||||
import org.springframework.credhub.support.password.PasswordParameters;
|
||||
import org.springframework.credhub.support.user.UserParametersRequest.UserParametersRequestBuilder;
|
||||
|
||||
import static org.hamcrest.CoreMatchers.allOf;
|
||||
import static org.hamcrest.CoreMatchers.equalTo;
|
||||
@@ -29,10 +29,15 @@ import static org.junit.Assert.assertThat;
|
||||
import static org.valid4j.matchers.jsonpath.JsonPathMatchers.hasJsonPath;
|
||||
import static org.valid4j.matchers.jsonpath.JsonPathMatchers.hasNoJsonPath;
|
||||
|
||||
public class UserParametersRequestUnitTests extends ParametersRequestUnitTestsBase {
|
||||
public class UserParametersRequestUnitTests extends CredHubRequestUnitTestsBase {
|
||||
@Before
|
||||
public void setUp() {
|
||||
requestBuilder = new UserParametersRequest().builder();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void serializeWithParameters() throws Exception {
|
||||
UserParametersRequestBuilder requestBuilder = UserParametersRequest.builder()
|
||||
requestBuilder = UserParametersRequest.builder()
|
||||
.name(new SimpleCredentialName("example", "credential"))
|
||||
.overwrite(true)
|
||||
.username("user")
|
||||
@@ -58,7 +63,7 @@ public class UserParametersRequestUnitTests extends ParametersRequestUnitTestsBa
|
||||
|
||||
@Test
|
||||
public void serializeWithEmptyParameters() throws Exception {
|
||||
UserParametersRequestBuilder requestBuilder = UserParametersRequest.builder()
|
||||
requestBuilder = UserParametersRequest.builder()
|
||||
.name(new SimpleCredentialName("example", "credential"))
|
||||
.overwrite(true)
|
||||
.parameters(new PasswordParameters());
|
||||
@@ -71,7 +76,7 @@ public class UserParametersRequestUnitTests extends ParametersRequestUnitTestsBa
|
||||
|
||||
@Test
|
||||
public void serializeWithNoParameters() throws Exception {
|
||||
UserParametersRequestBuilder requestBuilder = UserParametersRequest.builder()
|
||||
requestBuilder = UserParametersRequest.builder()
|
||||
.name(new SimpleCredentialName("example", "credential"))
|
||||
.overwrite(true);
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@ package org.springframework.credhub.support.value;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
|
||||
import org.springframework.credhub.support.CredentialRequestUnitTestsBase;
|
||||
import org.springframework.credhub.support.CredHubRequestUnitTestsBase;
|
||||
import org.springframework.credhub.support.SimpleCredentialName;
|
||||
|
||||
import static org.hamcrest.CoreMatchers.allOf;
|
||||
@@ -27,7 +27,7 @@ import static org.hamcrest.CoreMatchers.equalTo;
|
||||
import static org.junit.Assert.assertThat;
|
||||
import static org.valid4j.matchers.jsonpath.JsonPathMatchers.hasJsonPath;
|
||||
|
||||
public class ValueCredentialRequestUnitTests extends CredentialRequestUnitTestsBase {
|
||||
public class ValueCredentialRequestUnitTests extends CredHubRequestUnitTestsBase {
|
||||
|
||||
@Before
|
||||
public void setUp() {
|
||||
|
||||
Reference in New Issue
Block a user