diff --git a/spring-credhub-core/src/main/java/org/springframework/credhub/support/CredHubRequest.java b/spring-credhub-core/src/main/java/org/springframework/credhub/support/CredHubRequest.java index c7f84a2..3bec624 100644 --- a/spring-credhub-core/src/main/java/org/springframework/credhub/support/CredHubRequest.java +++ b/spring-credhub-core/src/main/java/org/springframework/credhub/support/CredHubRequest.java @@ -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 { protected boolean overwrite; protected CredentialName name; protected CredentialType credentialType; + protected List additionalPermissions; + protected T details; + + public CredHubRequest() { + additionalPermissions = new ArrayList(); + } /** * 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 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, B extends CredHubRequestBuilder> { + 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 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; + } + } + } diff --git a/spring-credhub-core/src/main/java/org/springframework/credhub/support/CredentialRequest.java b/spring-credhub-core/src/main/java/org/springframework/credhub/support/CredentialRequest.java index 7164575..0a5eddb 100644 --- a/spring-credhub-core/src/main/java/org/springframework/credhub/support/CredentialRequest.java +++ b/spring-credhub-core/src/main/java/org/springframework/credhub/support/CredentialRequest.java @@ -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 extends CredHubRequest { - private T value; - private List additionalPermissions; - +public class CredentialRequest extends CredHubRequest { /** * Initialize a {@link CredentialRequest}. * * @param type the credential implementation type */ protected CredentialRequest(CredentialType type) { + super(); this.credentialType = type; - additionalPermissions = new ArrayList(); } /** @@ -51,173 +40,10 @@ public class CredentialRequest 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 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, B extends CredentialRequestBuilder> { - 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 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; - } - } - } diff --git a/spring-credhub-core/src/main/java/org/springframework/credhub/support/ParametersRequest.java b/spring-credhub-core/src/main/java/org/springframework/credhub/support/ParametersRequest.java index 166c80f..01cb502 100644 --- a/spring-credhub-core/src/main/java/org/springframework/credhub/support/ParametersRequest.java +++ b/spring-credhub-core/src/main/java/org/springframework/credhub/support/ParametersRequest.java @@ -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 extends CredHubRequest { - private T parameters; - +public class ParametersRequest extends CredHubRequest { /** * Initialize a {@link ParametersRequest}. * @@ -41,122 +37,10 @@ public class ParametersRequest 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, B extends ParametersRequestBuilder> { - 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; } } diff --git a/spring-credhub-core/src/main/java/org/springframework/credhub/support/certificate/CertificateCredentialRequest.java b/spring-credhub-core/src/main/java/org/springframework/credhub/support/certificate/CertificateCredentialRequest.java index b1a83c4..a0dadb9 100644 --- a/spring-credhub-core/src/main/java/org/springframework/credhub/support/certificate/CertificateCredentialRequest.java +++ b/spring-credhub-core/src/main/java/org/springframework/credhub/support/certificate/CertificateCredentialRequest.java @@ -48,7 +48,7 @@ public class CertificateCredentialRequest extends CredentialRequest { + extends CredHubRequestBuilder { @Override protected CertificateCredentialRequest createTarget() { return new CertificateCredentialRequest(); diff --git a/spring-credhub-core/src/main/java/org/springframework/credhub/support/certificate/CertificateParametersRequest.java b/spring-credhub-core/src/main/java/org/springframework/credhub/support/certificate/CertificateParametersRequest.java index 1d083a2..d545a3c 100644 --- a/spring-credhub-core/src/main/java/org/springframework/credhub/support/certificate/CertificateParametersRequest.java +++ b/spring-credhub-core/src/main/java/org/springframework/credhub/support/certificate/CertificateParametersRequest.java @@ -48,7 +48,7 @@ public class CertificateParametersRequest extends ParametersRequest { + extends CredHubRequestBuilder { @Override protected CertificateParametersRequest createTarget() { return new CertificateParametersRequest(); diff --git a/spring-credhub-core/src/main/java/org/springframework/credhub/support/json/JsonCredentialRequest.java b/spring-credhub-core/src/main/java/org/springframework/credhub/support/json/JsonCredentialRequest.java index 1f45133..85a6052 100644 --- a/spring-credhub-core/src/main/java/org/springframework/credhub/support/json/JsonCredentialRequest.java +++ b/spring-credhub-core/src/main/java/org/springframework/credhub/support/json/JsonCredentialRequest.java @@ -50,7 +50,7 @@ public class JsonCredentialRequest extends CredentialRequest { * A builder that provides a fluent API for constructing {@link JsonCredentialRequest}s. */ public static class JsonCredentialRequestBuilder extends - CredentialRequestBuilder { + CredHubRequestBuilder { @Override protected JsonCredentialRequest createTarget() { diff --git a/spring-credhub-core/src/main/java/org/springframework/credhub/support/password/PasswordCredentialRequest.java b/spring-credhub-core/src/main/java/org/springframework/credhub/support/password/PasswordCredentialRequest.java index 50d6f7c..144c4bf 100644 --- a/spring-credhub-core/src/main/java/org/springframework/credhub/support/password/PasswordCredentialRequest.java +++ b/spring-credhub-core/src/main/java/org/springframework/credhub/support/password/PasswordCredentialRequest.java @@ -48,7 +48,7 @@ public class PasswordCredentialRequest extends CredentialRequest { + extends CredHubRequestBuilder { @Override protected PasswordCredentialRequest createTarget() { return new PasswordCredentialRequest(); diff --git a/spring-credhub-core/src/main/java/org/springframework/credhub/support/password/PasswordParametersRequest.java b/spring-credhub-core/src/main/java/org/springframework/credhub/support/password/PasswordParametersRequest.java index fc979d7..40247c8 100644 --- a/spring-credhub-core/src/main/java/org/springframework/credhub/support/password/PasswordParametersRequest.java +++ b/spring-credhub-core/src/main/java/org/springframework/credhub/support/password/PasswordParametersRequest.java @@ -48,7 +48,7 @@ public class PasswordParametersRequest extends ParametersRequest { + extends CredHubRequestBuilder { @Override protected PasswordParametersRequest createTarget() { return new PasswordParametersRequest(); diff --git a/spring-credhub-core/src/main/java/org/springframework/credhub/support/rsa/RsaCredentialRequest.java b/spring-credhub-core/src/main/java/org/springframework/credhub/support/rsa/RsaCredentialRequest.java index 0d510dd..81273b9 100644 --- a/spring-credhub-core/src/main/java/org/springframework/credhub/support/rsa/RsaCredentialRequest.java +++ b/spring-credhub-core/src/main/java/org/springframework/credhub/support/rsa/RsaCredentialRequest.java @@ -48,7 +48,7 @@ public class RsaCredentialRequest extends CredentialRequest { * A builder that provides a fluent API for constructing {@link RsaCredentialRequest}s. */ public static class RsaCredentialRequestBuilder - extends CredentialRequestBuilder { + extends CredHubRequestBuilder { @Override protected RsaCredentialRequest createTarget() { return new RsaCredentialRequest(); diff --git a/spring-credhub-core/src/main/java/org/springframework/credhub/support/rsa/RsaParametersRequest.java b/spring-credhub-core/src/main/java/org/springframework/credhub/support/rsa/RsaParametersRequest.java index 25abb3e..6616359 100644 --- a/spring-credhub-core/src/main/java/org/springframework/credhub/support/rsa/RsaParametersRequest.java +++ b/spring-credhub-core/src/main/java/org/springframework/credhub/support/rsa/RsaParametersRequest.java @@ -48,7 +48,7 @@ public class RsaParametersRequest extends ParametersRequest { * A builder that provides a fluent API for constructing {@link RsaParametersRequest}s. */ public static class RsaParametersRequestBuilder - extends ParametersRequestBuilder { + extends CredHubRequestBuilder { @Override protected RsaParametersRequest createTarget() { return new RsaParametersRequest(); diff --git a/spring-credhub-core/src/main/java/org/springframework/credhub/support/ssh/SshCredentialRequest.java b/spring-credhub-core/src/main/java/org/springframework/credhub/support/ssh/SshCredentialRequest.java index 391ca12..6a4b44f 100644 --- a/spring-credhub-core/src/main/java/org/springframework/credhub/support/ssh/SshCredentialRequest.java +++ b/spring-credhub-core/src/main/java/org/springframework/credhub/support/ssh/SshCredentialRequest.java @@ -48,7 +48,7 @@ public class SshCredentialRequest extends CredentialRequest { * A builder that provides a fluent API for constructing {@link SshCredentialRequest}s. */ public static class SshCredentialRequestBuilder - extends CredentialRequestBuilder { + extends CredHubRequestBuilder { @Override protected SshCredentialRequest createTarget() { return new SshCredentialRequest(); diff --git a/spring-credhub-core/src/main/java/org/springframework/credhub/support/ssh/SshParametersRequest.java b/spring-credhub-core/src/main/java/org/springframework/credhub/support/ssh/SshParametersRequest.java index 274e63f..e6c17f1 100644 --- a/spring-credhub-core/src/main/java/org/springframework/credhub/support/ssh/SshParametersRequest.java +++ b/spring-credhub-core/src/main/java/org/springframework/credhub/support/ssh/SshParametersRequest.java @@ -48,7 +48,7 @@ public class SshParametersRequest extends ParametersRequest { * A builder that provides a fluent API for constructing {@link SshParametersRequest}s. */ public static class SshParametersRequestBuilder - extends ParametersRequestBuilder { + extends CredHubRequestBuilder { @Override protected SshParametersRequest createTarget() { return new SshParametersRequest(); diff --git a/spring-credhub-core/src/main/java/org/springframework/credhub/support/user/UserCredentialRequest.java b/spring-credhub-core/src/main/java/org/springframework/credhub/support/user/UserCredentialRequest.java index 70812eb..df393eb 100644 --- a/spring-credhub-core/src/main/java/org/springframework/credhub/support/user/UserCredentialRequest.java +++ b/spring-credhub-core/src/main/java/org/springframework/credhub/support/user/UserCredentialRequest.java @@ -48,7 +48,7 @@ public class UserCredentialRequest extends CredentialRequest { * A builder that provides a fluent API for constructing {@link UserCredentialRequest}s. */ public static class UserCredentialRequestBuilder - extends CredentialRequestBuilder { + extends CredHubRequestBuilder { @Override protected UserCredentialRequest createTarget() { return new UserCredentialRequest(); diff --git a/spring-credhub-core/src/main/java/org/springframework/credhub/support/user/UserParametersRequest.java b/spring-credhub-core/src/main/java/org/springframework/credhub/support/user/UserParametersRequest.java index 88001da..ed5e841 100644 --- a/spring-credhub-core/src/main/java/org/springframework/credhub/support/user/UserParametersRequest.java +++ b/spring-credhub-core/src/main/java/org/springframework/credhub/support/user/UserParametersRequest.java @@ -69,7 +69,7 @@ public class UserParametersRequest extends ParametersRequest * A builder that provides a fluent API for constructing {@link UserParametersRequest}s. */ public static class UserParametersRequestBuilder - extends ParametersRequestBuilder { + extends CredHubRequestBuilder { @Override protected UserParametersRequest createTarget() { return new UserParametersRequest(); diff --git a/spring-credhub-core/src/main/java/org/springframework/credhub/support/value/ValueCredentialRequest.java b/spring-credhub-core/src/main/java/org/springframework/credhub/support/value/ValueCredentialRequest.java index b13a625..c102c5c 100644 --- a/spring-credhub-core/src/main/java/org/springframework/credhub/support/value/ValueCredentialRequest.java +++ b/spring-credhub-core/src/main/java/org/springframework/credhub/support/value/ValueCredentialRequest.java @@ -48,7 +48,7 @@ public class ValueCredentialRequest extends CredentialRequest { * A builder that provides a fluent API for constructing {@link ValueCredentialRequest}s. */ public static class ValueCredentialRequestBuilder - extends CredentialRequestBuilder { + extends CredHubRequestBuilder { @Override protected ValueCredentialRequest createTarget() { return new ValueCredentialRequest(); diff --git a/spring-credhub-core/src/test/java/org/springframework/credhub/support/CredentialRequestUnitTestsBase.java b/spring-credhub-core/src/test/java/org/springframework/credhub/support/CredHubRequestUnitTestsBase.java similarity index 86% rename from spring-credhub-core/src/test/java/org/springframework/credhub/support/CredentialRequestUnitTestsBase.java rename to spring-credhub-core/src/test/java/org/springframework/credhub/support/CredHubRequestUnitTestsBase.java index 71bd612..17071f8 100644 --- a/spring-credhub-core/src/test/java/org/springframework/credhub/support/CredentialRequestUnitTestsBase.java +++ b/spring-credhub-core/src/test/java/org/springframework/credhub/support/CredHubRequestUnitTestsBase.java @@ -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 String serializeToJson(T requestBuilder) + protected 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")); } diff --git a/spring-credhub-core/src/test/java/org/springframework/credhub/support/ParametersRequestUnitTestsBase.java b/spring-credhub-core/src/test/java/org/springframework/credhub/support/ParametersRequestUnitTestsBase.java deleted file mode 100644 index 9bf72b4..0000000 --- a/spring-credhub-core/src/test/java/org/springframework/credhub/support/ParametersRequestUnitTestsBase.java +++ /dev/null @@ -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 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")); - } -} diff --git a/spring-credhub-core/src/test/java/org/springframework/credhub/support/certificate/CertificateCredentialRequestUnitTests.java b/spring-credhub-core/src/test/java/org/springframework/credhub/support/certificate/CertificateCredentialRequestUnitTests.java index d33c48c..5d48dae 100644 --- a/spring-credhub-core/src/test/java/org/springframework/credhub/support/certificate/CertificateCredentialRequestUnitTests.java +++ b/spring-credhub-core/src/test/java/org/springframework/credhub/support/certificate/CertificateCredentialRequestUnitTests.java @@ -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) { diff --git a/spring-credhub-core/src/test/java/org/springframework/credhub/support/certificate/CertificateParametersRequestUnitTests.java b/spring-credhub-core/src/test/java/org/springframework/credhub/support/certificate/CertificateParametersRequestUnitTests.java index ccee0d0..2009e48 100644 --- a/spring-credhub-core/src/test/java/org/springframework/credhub/support/certificate/CertificateParametersRequestUnitTests.java +++ b/spring-credhub-core/src/test/java/org/springframework/credhub/support/certificate/CertificateParametersRequestUnitTests.java @@ -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) { diff --git a/spring-credhub-core/src/test/java/org/springframework/credhub/support/json/JsonCredentialRequestUnitTests.java b/spring-credhub-core/src/test/java/org/springframework/credhub/support/json/JsonCredentialRequestUnitTests.java index 93e8ec5..809dcf0 100644 --- a/spring-credhub-core/src/test/java/org/springframework/credhub/support/json/JsonCredentialRequestUnitTests.java +++ b/spring-credhub-core/src/test/java/org/springframework/credhub/support/json/JsonCredentialRequestUnitTests.java @@ -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); diff --git a/spring-credhub-core/src/test/java/org/springframework/credhub/support/password/PasswordCredentialRequestUnitTests.java b/spring-credhub-core/src/test/java/org/springframework/credhub/support/password/PasswordCredentialRequestUnitTests.java index 4cf91ca..8220755 100644 --- a/spring-credhub-core/src/test/java/org/springframework/credhub/support/password/PasswordCredentialRequestUnitTests.java +++ b/spring-credhub-core/src/test/java/org/springframework/credhub/support/password/PasswordCredentialRequestUnitTests.java @@ -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); } diff --git a/spring-credhub-core/src/test/java/org/springframework/credhub/support/password/PasswordParametersRequestUnitTests.java b/spring-credhub-core/src/test/java/org/springframework/credhub/support/password/PasswordParametersRequestUnitTests.java index fc59c80..3fe038f 100644 --- a/spring-credhub-core/src/test/java/org/springframework/credhub/support/password/PasswordParametersRequestUnitTests.java +++ b/spring-credhub-core/src/test/java/org/springframework/credhub/support/password/PasswordParametersRequestUnitTests.java @@ -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); diff --git a/spring-credhub-core/src/test/java/org/springframework/credhub/support/rsa/RsaCredentialRequestUnitTests.java b/spring-credhub-core/src/test/java/org/springframework/credhub/support/rsa/RsaCredentialRequestUnitTests.java index f136c41..9fbff0c 100644 --- a/spring-credhub-core/src/test/java/org/springframework/credhub/support/rsa/RsaCredentialRequestUnitTests.java +++ b/spring-credhub-core/src/test/java/org/springframework/credhub/support/rsa/RsaCredentialRequestUnitTests.java @@ -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) { diff --git a/spring-credhub-core/src/test/java/org/springframework/credhub/support/rsa/RsaParametersRequestUnitTests.java b/spring-credhub-core/src/test/java/org/springframework/credhub/support/rsa/RsaParametersRequestUnitTests.java index 3f86a71..8680cc4 100644 --- a/spring-credhub-core/src/test/java/org/springframework/credhub/support/rsa/RsaParametersRequestUnitTests.java +++ b/spring-credhub-core/src/test/java/org/springframework/credhub/support/rsa/RsaParametersRequestUnitTests.java @@ -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); diff --git a/spring-credhub-core/src/test/java/org/springframework/credhub/support/ssh/SshCredentialRequestUnitTests.java b/spring-credhub-core/src/test/java/org/springframework/credhub/support/ssh/SshCredentialRequestUnitTests.java index 3f4a830..facea58 100644 --- a/spring-credhub-core/src/test/java/org/springframework/credhub/support/ssh/SshCredentialRequestUnitTests.java +++ b/spring-credhub-core/src/test/java/org/springframework/credhub/support/ssh/SshCredentialRequestUnitTests.java @@ -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) { diff --git a/spring-credhub-core/src/test/java/org/springframework/credhub/support/ssh/SshParametersRequestUnitTests.java b/spring-credhub-core/src/test/java/org/springframework/credhub/support/ssh/SshParametersRequestUnitTests.java index b01c33b..09bd88a 100644 --- a/spring-credhub-core/src/test/java/org/springframework/credhub/support/ssh/SshParametersRequestUnitTests.java +++ b/spring-credhub-core/src/test/java/org/springframework/credhub/support/ssh/SshParametersRequestUnitTests.java @@ -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); diff --git a/spring-credhub-core/src/test/java/org/springframework/credhub/support/user/UserCredentialRequestUnitTests.java b/spring-credhub-core/src/test/java/org/springframework/credhub/support/user/UserCredentialRequestUnitTests.java index 54ed38a..c5d2020 100644 --- a/spring-credhub-core/src/test/java/org/springframework/credhub/support/user/UserCredentialRequestUnitTests.java +++ b/spring-credhub-core/src/test/java/org/springframework/credhub/support/user/UserCredentialRequestUnitTests.java @@ -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); diff --git a/spring-credhub-core/src/test/java/org/springframework/credhub/support/user/UserParametersRequestUnitTests.java b/spring-credhub-core/src/test/java/org/springframework/credhub/support/user/UserParametersRequestUnitTests.java index 929d27a..705c5fd 100644 --- a/spring-credhub-core/src/test/java/org/springframework/credhub/support/user/UserParametersRequestUnitTests.java +++ b/spring-credhub-core/src/test/java/org/springframework/credhub/support/user/UserParametersRequestUnitTests.java @@ -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); diff --git a/spring-credhub-core/src/test/java/org/springframework/credhub/support/value/ValueCredentialRequestUnitTests.java b/spring-credhub-core/src/test/java/org/springframework/credhub/support/value/ValueCredentialRequestUnitTests.java index 740ac36..4eb0779 100644 --- a/spring-credhub-core/src/test/java/org/springframework/credhub/support/value/ValueCredentialRequestUnitTests.java +++ b/spring-credhub-core/src/test/java/org/springframework/credhub/support/value/ValueCredentialRequestUnitTests.java @@ -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() {