From 0980e37a2ccb628f899331dccfb0e2ae9184b8b8 Mon Sep 17 00:00:00 2001 From: Scott Frederick Date: Mon, 11 Dec 2017 15:56:16 -0600 Subject: [PATCH] Fix getByName. Add passwordHash field to UserCredential. Cleanup typing in unit tests. --- .../credhub/core/CredHubTemplate.java | 8 ++-- .../support/CredentialDetailsData.java | 1 + .../credhub/support/user/UserCredential.java | 16 ++++++- ...HubTemplateDetailCertificateUnitTests.java | 4 +- .../CredHubTemplateDetailJsonUnitTests.java | 4 +- ...redHubTemplateDetailPasswordUnitTests.java | 4 +- .../CredHubTemplateDetailRsaUnitTests.java | 4 +- .../CredHubTemplateDetailSshUnitTests.java | 4 +- .../CredHubTemplateDetailUnitTestsBase.java | 46 +++++++++++-------- .../CredHubTemplateDetailUserUnitTests.java | 4 +- .../CredHubTemplateDetailValueUnitTests.java | 4 +- ...edHubTemplateSummaryResponseUnitTests.java | 4 +- .../support/CredHubRequestUnitTestsBase.java | 1 + .../support/JsonParsingUnitTestsBase.java | 4 +- ...CertificateCredentialDetailsUnitTests.java | 8 ++-- ...CertificateParametersRequestUnitTests.java | 2 + .../json/JsonCredentialDetailsUnitTests.java | 4 +- .../PasswordCredentialDetailsUnitTests.java | 4 +- .../rsa/RsaCredentialDetailsUnitTests.java | 8 ++-- .../ssh/SshCredentialDetailsUnitTests.java | 8 ++-- .../user/UserCredentialDetailsUnitTests.java | 8 ++-- .../user/UserCredentialRequestUnitTests.java | 6 ++- .../user/UserParametersRequestUnitTests.java | 2 +- .../ValueCredentialDetailsUnitTests.java | 4 +- spring-credhub-demo/manifest.yml | 2 + .../credhub/demo/CredHubDemoController.java | 6 +-- 26 files changed, 101 insertions(+), 69 deletions(-) diff --git a/spring-credhub-core/src/main/java/org/springframework/credhub/core/CredHubTemplate.java b/spring-credhub-core/src/main/java/org/springframework/credhub/core/CredHubTemplate.java index fe3550b..2643f58 100644 --- a/spring-credhub-core/src/main/java/org/springframework/credhub/core/CredHubTemplate.java +++ b/spring-credhub-core/src/main/java/org/springframework/credhub/core/CredHubTemplate.java @@ -189,18 +189,18 @@ public class CredHubTemplate implements CredHubOperations { Assert.notNull(name, "credential name must not be null"); Assert.notNull(credentialType, "credential type must not be null"); - final ParameterizedTypeReference> ref = - new ParameterizedTypeReference>() {}; + final ParameterizedTypeReference> ref = + new ParameterizedTypeReference>() {}; return doWithRest(new RestOperationsCallback>() { @Override public CredentialDetails doWithRestOperations(RestOperations restOperations) { - ResponseEntity> response = + ResponseEntity> response = restOperations.exchange(NAME_URL_QUERY_CURRENT, GET, null, ref, name.getName()); throwExceptionOnError(response); - return response.getBody(); + return response.getBody().getData().get(0); } }); } diff --git a/spring-credhub-core/src/main/java/org/springframework/credhub/support/CredentialDetailsData.java b/spring-credhub-core/src/main/java/org/springframework/credhub/support/CredentialDetailsData.java index 8ed7b3c..6f3ba6d 100644 --- a/spring-credhub-core/src/main/java/org/springframework/credhub/support/CredentialDetailsData.java +++ b/spring-credhub-core/src/main/java/org/springframework/credhub/support/CredentialDetailsData.java @@ -44,6 +44,7 @@ public class CredentialDetailsData { * * @param data a collection of {@link CredentialDetails} */ + @SafeVarargs public CredentialDetailsData(CredentialDetails... data) { this.data = Arrays.asList(data); } diff --git a/spring-credhub-core/src/main/java/org/springframework/credhub/support/user/UserCredential.java b/spring-credhub-core/src/main/java/org/springframework/credhub/support/user/UserCredential.java index 90e6ec5..8472a83 100644 --- a/spring-credhub-core/src/main/java/org/springframework/credhub/support/user/UserCredential.java +++ b/spring-credhub-core/src/main/java/org/springframework/credhub/support/user/UserCredential.java @@ -19,13 +19,15 @@ package org.springframework.credhub.support.user; import org.springframework.util.Assert; /** - * A user credential consists of an optional username and a password. + * A user credential consists of an optional username and a password. When retrieved, a user credential + * will contain a hash of the password. * * @author Scott Frederick */ public class UserCredential { private final String username; private final String password; + private final String passwordHash; /** * Create an empty {@link UserCredential}. Intended to be used internally for deserialization of responses. @@ -33,6 +35,7 @@ public class UserCredential { private UserCredential() { username = null; password = null; + passwordHash = null; } /** @@ -46,6 +49,7 @@ public class UserCredential { Assert.notNull(password, "password must not be null"); this.username = username; this.password = password; + this.passwordHash = null; } /** @@ -57,6 +61,7 @@ public class UserCredential { Assert.notNull(password, "password must not be null"); this.username = null; this.password = password; + this.passwordHash = null; } /** @@ -76,4 +81,13 @@ public class UserCredential { public String getPassword() { return password; } + + /** + * Get the SHA-512 hash of the user password. + * + * @return the hash of the user password + */ + public String getPasswordHash() { + return passwordHash; + } } diff --git a/spring-credhub-core/src/test/java/org/springframework/credhub/core/CredHubTemplateDetailCertificateUnitTests.java b/spring-credhub-core/src/test/java/org/springframework/credhub/core/CredHubTemplateDetailCertificateUnitTests.java index b9ca351..ed3502b 100644 --- a/spring-credhub-core/src/test/java/org/springframework/credhub/core/CredHubTemplateDetailCertificateUnitTests.java +++ b/spring-credhub-core/src/test/java/org/springframework/credhub/core/CredHubTemplateDetailCertificateUnitTests.java @@ -101,8 +101,8 @@ public class CredHubTemplateDetailCertificateUnitTests } @Theory - public void getByName(@FromDataPoints("detail-responses") - ResponseEntity> expectedResponse) { + public void getByName(@FromDataPoints("data-responses") + ResponseEntity> expectedResponse) { verifyGetByName(expectedResponse); } diff --git a/spring-credhub-core/src/test/java/org/springframework/credhub/core/CredHubTemplateDetailJsonUnitTests.java b/spring-credhub-core/src/test/java/org/springframework/credhub/core/CredHubTemplateDetailJsonUnitTests.java index d9dc591..2f6db00 100644 --- a/spring-credhub-core/src/test/java/org/springframework/credhub/core/CredHubTemplateDetailJsonUnitTests.java +++ b/spring-credhub-core/src/test/java/org/springframework/credhub/core/CredHubTemplateDetailJsonUnitTests.java @@ -78,8 +78,8 @@ public class CredHubTemplateDetailJsonUnitTests } @Theory - public void getByName(@FromDataPoints("detail-responses") - ResponseEntity> expectedResponse) { + public void getByName(@FromDataPoints("data-responses") + ResponseEntity> expectedResponse) { verifyGetByName(expectedResponse); } diff --git a/spring-credhub-core/src/test/java/org/springframework/credhub/core/CredHubTemplateDetailPasswordUnitTests.java b/spring-credhub-core/src/test/java/org/springframework/credhub/core/CredHubTemplateDetailPasswordUnitTests.java index 50ef094..5165277 100644 --- a/spring-credhub-core/src/test/java/org/springframework/credhub/core/CredHubTemplateDetailPasswordUnitTests.java +++ b/spring-credhub-core/src/test/java/org/springframework/credhub/core/CredHubTemplateDetailPasswordUnitTests.java @@ -97,8 +97,8 @@ public class CredHubTemplateDetailPasswordUnitTests } @Theory - public void getByName(@FromDataPoints("detail-responses") - ResponseEntity> expectedResponse) { + public void getByName(@FromDataPoints("data-responses") + ResponseEntity> expectedResponse) { verifyGetByName(expectedResponse); } diff --git a/spring-credhub-core/src/test/java/org/springframework/credhub/core/CredHubTemplateDetailRsaUnitTests.java b/spring-credhub-core/src/test/java/org/springframework/credhub/core/CredHubTemplateDetailRsaUnitTests.java index 4c7bafe..612a797 100644 --- a/spring-credhub-core/src/test/java/org/springframework/credhub/core/CredHubTemplateDetailRsaUnitTests.java +++ b/spring-credhub-core/src/test/java/org/springframework/credhub/core/CredHubTemplateDetailRsaUnitTests.java @@ -98,8 +98,8 @@ public class CredHubTemplateDetailRsaUnitTests } @Theory - public void getByName(@FromDataPoints("detail-responses") - ResponseEntity> expectedResponse) { + public void getByName(@FromDataPoints("data-responses") + ResponseEntity> expectedResponse) { verifyGetByName(expectedResponse); } diff --git a/spring-credhub-core/src/test/java/org/springframework/credhub/core/CredHubTemplateDetailSshUnitTests.java b/spring-credhub-core/src/test/java/org/springframework/credhub/core/CredHubTemplateDetailSshUnitTests.java index 4d6131e..4e5ac8c 100644 --- a/spring-credhub-core/src/test/java/org/springframework/credhub/core/CredHubTemplateDetailSshUnitTests.java +++ b/spring-credhub-core/src/test/java/org/springframework/credhub/core/CredHubTemplateDetailSshUnitTests.java @@ -98,8 +98,8 @@ public class CredHubTemplateDetailSshUnitTests } @Theory - public void getByName(@FromDataPoints("detail-responses") - ResponseEntity> expectedResponse) { + public void getByName(@FromDataPoints("data-responses") + ResponseEntity> expectedResponse) { verifyGetByName(expectedResponse); } diff --git a/spring-credhub-core/src/test/java/org/springframework/credhub/core/CredHubTemplateDetailUnitTestsBase.java b/spring-credhub-core/src/test/java/org/springframework/credhub/core/CredHubTemplateDetailUnitTestsBase.java index f61ef52..48e027d 100644 --- a/spring-credhub-core/src/test/java/org/springframework/credhub/core/CredHubTemplateDetailUnitTestsBase.java +++ b/spring-credhub-core/src/test/java/org/springframework/credhub/core/CredHubTemplateDetailUnitTestsBase.java @@ -64,21 +64,21 @@ public abstract class CredHubTemplateDetailUnitTestsBase extends CredHubTe static List>> buildDetailResponses(CredentialType type, T credential) { return Arrays.asList( - new ResponseEntity>( - new CredentialDetails(CREDENTIAL_ID, NAME, type, credential), + new ResponseEntity<>( + new CredentialDetails<>(CREDENTIAL_ID, NAME, type, credential), OK), - new ResponseEntity>(new CredentialDetails(), UNAUTHORIZED) + new ResponseEntity<>(new CredentialDetails(), UNAUTHORIZED) ); } static List>> buildDataResponses(CredentialType type, T credential) { return Arrays.asList( - new ResponseEntity>( - new CredentialDetailsData( - new CredentialDetails(CREDENTIAL_ID, NAME, + new ResponseEntity<>( + new CredentialDetailsData<>( + new CredentialDetails<>(CREDENTIAL_ID, NAME, type, credential)), OK), - new ResponseEntity>( + new ResponseEntity<>( new CredentialDetailsData(), UNAUTHORIZED) ); } @@ -87,7 +87,7 @@ public abstract class CredHubTemplateDetailUnitTestsBase extends CredHubTe CredentialRequest request = getWriteRequest(); when(restTemplate.exchange(eq(BASE_URL_PATH), eq(PUT), - eq(new HttpEntity>(request)), isA(ParameterizedTypeReference.class))) + eq(new HttpEntity<>(request)), isA(ParameterizedTypeReference.class))) .thenReturn(expectedResponse); if (!expectedResponse.getStatusCode().equals(HttpStatus.OK)) { @@ -102,7 +102,7 @@ public abstract class CredHubTemplateDetailUnitTestsBase extends CredHubTe else { CredentialDetails response = credHubTemplate.write(request); - assertResponseContainsExpectedCredentials(expectedResponse, response); + assertDetailsResponseContainsExpectedCredential(expectedResponse, response); } } @@ -110,7 +110,7 @@ public abstract class CredHubTemplateDetailUnitTestsBase extends CredHubTe ParametersRequest

request = getGenerateRequest(); when(restTemplate.exchange(eq(BASE_URL_PATH), eq(POST), - eq(new HttpEntity>(request)), isA(ParameterizedTypeReference.class))) + eq(new HttpEntity<>(request)), isA(ParameterizedTypeReference.class))) .thenReturn(expectedResponse); if (!expectedResponse.getStatusCode().equals(HttpStatus.OK)) { @@ -125,7 +125,7 @@ public abstract class CredHubTemplateDetailUnitTestsBase extends CredHubTe else { CredentialDetails response = credHubTemplate.generate(request); - assertResponseContainsExpectedCredentials(expectedResponse, response); + assertDetailsResponseContainsExpectedCredential(expectedResponse, response); } } @@ -135,7 +135,7 @@ public abstract class CredHubTemplateDetailUnitTestsBase extends CredHubTe }}; when(restTemplate.exchange(eq(REGENERATE_URL_PATH), eq(POST), - eq(new HttpEntity>(request)), isA(ParameterizedTypeReference.class))) + eq(new HttpEntity<>(request)), isA(ParameterizedTypeReference.class))) .thenReturn(expectedResponse); if (!expectedResponse.getStatusCode().equals(HttpStatus.OK)) { @@ -150,7 +150,7 @@ public abstract class CredHubTemplateDetailUnitTestsBase extends CredHubTe else { CredentialDetails response = credHubTemplate.regenerate(NAME); - assertResponseContainsExpectedCredentials(expectedResponse, response); + assertDetailsResponseContainsExpectedCredential(expectedResponse, response); } } @@ -173,12 +173,12 @@ public abstract class CredHubTemplateDetailUnitTestsBase extends CredHubTe CredentialDetails response = credHubTemplate.getById(CREDENTIAL_ID, getType()); - assertResponseContainsExpectedCredentials(expectedResponse, response); + assertDetailsResponseContainsExpectedCredential(expectedResponse, response); } } @SuppressWarnings("deprecation") - void verifyGetByName(ResponseEntity> expectedResponse) { + void verifyGetByName(ResponseEntity> expectedResponse) { when(restTemplate.exchange(eq(NAME_URL_QUERY_CURRENT), eq(GET), isNull(HttpEntity.class), isA(ParameterizedTypeReference.class), eq(NAME.getName()))) .thenReturn(expectedResponse); @@ -196,7 +196,7 @@ public abstract class CredHubTemplateDetailUnitTestsBase extends CredHubTe else { CredentialDetails response = credHubTemplate.getByName(NAME, getType()); - assertResponseContainsExpectedCredentials(expectedResponse, response); + assertDataResponseContainsExpectedCredential(expectedResponse, response); } } @@ -219,11 +219,11 @@ public abstract class CredHubTemplateDetailUnitTestsBase extends CredHubTe else { List> response = credHubTemplate.getByNameWithHistory(NAME, getType()); - assertResponseContainsExpectedCredentials(expectedResponse, response); + assertDataResponseContainsExpectedCredentials(expectedResponse, response); } } - private void assertResponseContainsExpectedCredentials( + private void assertDataResponseContainsExpectedCredentials( ResponseEntity> expectedResponse, List> response) { assertThat(response, notNullValue()); @@ -231,7 +231,15 @@ public abstract class CredHubTemplateDetailUnitTestsBase extends CredHubTe assertThat(response.get(0), equalTo(expectedResponse.getBody().getData().get(0))); } - private void assertResponseContainsExpectedCredentials( + private void assertDataResponseContainsExpectedCredential( + ResponseEntity> expectedResponse, + CredentialDetails response) { + assertThat(response, notNullValue()); + assertThat(1, equalTo(expectedResponse.getBody().getData().size())); + assertThat(response, equalTo(expectedResponse.getBody().getData().get(0))); + } + + private void assertDetailsResponseContainsExpectedCredential( ResponseEntity> expectedResponse, CredentialDetails response) { assertThat(response, notNullValue()); diff --git a/spring-credhub-core/src/test/java/org/springframework/credhub/core/CredHubTemplateDetailUserUnitTests.java b/spring-credhub-core/src/test/java/org/springframework/credhub/core/CredHubTemplateDetailUserUnitTests.java index 00e16c0..bdb3b5a 100644 --- a/spring-credhub-core/src/test/java/org/springframework/credhub/core/CredHubTemplateDetailUserUnitTests.java +++ b/spring-credhub-core/src/test/java/org/springframework/credhub/core/CredHubTemplateDetailUserUnitTests.java @@ -73,8 +73,8 @@ public class CredHubTemplateDetailUserUnitTests } @Theory - public void getByName(@FromDataPoints("detail-responses") - ResponseEntity> expectedResponse) { + public void getByName(@FromDataPoints("data-responses") + ResponseEntity> expectedResponse) { verifyGetByName(expectedResponse); } diff --git a/spring-credhub-core/src/test/java/org/springframework/credhub/core/CredHubTemplateDetailValueUnitTests.java b/spring-credhub-core/src/test/java/org/springframework/credhub/core/CredHubTemplateDetailValueUnitTests.java index e8d4500..2f0a566 100644 --- a/spring-credhub-core/src/test/java/org/springframework/credhub/core/CredHubTemplateDetailValueUnitTests.java +++ b/spring-credhub-core/src/test/java/org/springframework/credhub/core/CredHubTemplateDetailValueUnitTests.java @@ -74,8 +74,8 @@ public class CredHubTemplateDetailValueUnitTests } @Theory - public void getByName(@FromDataPoints("detail-responses") - ResponseEntity> expectedResponse) { + public void getByName(@FromDataPoints("data-responses") + ResponseEntity> expectedResponse) { verifyGetByName(expectedResponse); } diff --git a/spring-credhub-core/src/test/java/org/springframework/credhub/core/CredHubTemplateSummaryResponseUnitTests.java b/spring-credhub-core/src/test/java/org/springframework/credhub/core/CredHubTemplateSummaryResponseUnitTests.java index 75137fe..8b14ba2 100644 --- a/spring-credhub-core/src/test/java/org/springframework/credhub/core/CredHubTemplateSummaryResponseUnitTests.java +++ b/spring-credhub-core/src/test/java/org/springframework/credhub/core/CredHubTemplateSummaryResponseUnitTests.java @@ -43,11 +43,11 @@ import static org.springframework.http.HttpStatus.UNAUTHORIZED; public class CredHubTemplateSummaryResponseUnitTests extends CredHubTemplateUnitTestsBase { @DataPoint("responses") public static ResponseEntity successfulResponse = - new ResponseEntity(new CredentialSummaryData(new CredentialSummary(NAME)), OK); + new ResponseEntity<>(new CredentialSummaryData(new CredentialSummary(NAME)), OK); @DataPoint("responses") public static ResponseEntity httpErrorResponse = - new ResponseEntity(new CredentialSummaryData(), UNAUTHORIZED); + new ResponseEntity<>(new CredentialSummaryData(), UNAUTHORIZED); @Theory public void findByName(@FromDataPoints("responses") diff --git a/spring-credhub-core/src/test/java/org/springframework/credhub/support/CredHubRequestUnitTestsBase.java b/spring-credhub-core/src/test/java/org/springframework/credhub/support/CredHubRequestUnitTestsBase.java index 3fc42db..bafeb55 100644 --- a/spring-credhub-core/src/test/java/org/springframework/credhub/support/CredHubRequestUnitTestsBase.java +++ b/spring-credhub-core/src/test/java/org/springframework/credhub/support/CredHubRequestUnitTestsBase.java @@ -64,6 +64,7 @@ public abstract class CredHubRequestUnitTestsBase { } @Test + @SuppressWarnings("unchecked") public void serializationWithThreePermissions() throws Exception { requestBuilder .permission(CredentialPermission.builder() diff --git a/spring-credhub-core/src/test/java/org/springframework/credhub/support/JsonParsingUnitTestsBase.java b/spring-credhub-core/src/test/java/org/springframework/credhub/support/JsonParsingUnitTestsBase.java index 1336cae..0e871f7 100644 --- a/spring-credhub-core/src/test/java/org/springframework/credhub/support/JsonParsingUnitTestsBase.java +++ b/spring-credhub-core/src/test/java/org/springframework/credhub/support/JsonParsingUnitTestsBase.java @@ -54,13 +54,13 @@ public abstract class JsonParsingUnitTestsBase { @SuppressWarnings("unchecked") - protected CredentialDetails parseDetails(String credentials, Class type) throws java.io.IOException { + protected CredentialDetails parseDetails(String credentials) throws java.io.IOException { String json = buildDetails(credentials); return (CredentialDetails) objectMapper.readValue(json, CredentialDetails.class); } @SuppressWarnings("unchecked") - protected CredentialDetailsData parseDetailsData(String credentials, Class type) throws java.io.IOException { + protected CredentialDetailsData parseDetailsData(String credentials) throws java.io.IOException { String json = buildDetailsData(credentials); return (CredentialDetailsData) objectMapper.readValue(json, CredentialDetailsData.class); } diff --git a/spring-credhub-core/src/test/java/org/springframework/credhub/support/certificate/CertificateCredentialDetailsUnitTests.java b/spring-credhub-core/src/test/java/org/springframework/credhub/support/certificate/CertificateCredentialDetailsUnitTests.java index 0f3468f..65a846f 100644 --- a/spring-credhub-core/src/test/java/org/springframework/credhub/support/certificate/CertificateCredentialDetailsUnitTests.java +++ b/spring-credhub-core/src/test/java/org/springframework/credhub/support/certificate/CertificateCredentialDetailsUnitTests.java @@ -37,7 +37,7 @@ public class CertificateCredentialDetailsUnitTests extends JsonParsingUnitTestsB @Test public void deserializeDetailsWithAllValues() throws Exception { - CredentialDetails data = parseDetails(CERT_CREDENTIALS, CertificateCredential.class); + CredentialDetails data = parseDetails(CERT_CREDENTIALS); assertDetails(data, "cert", "authority", "private-key"); } @@ -49,7 +49,7 @@ public class CertificateCredentialDetailsUnitTests extends JsonParsingUnitTestsB " \"value\": {" + " \"certificate\": \"cert\"" + " }"; - CredentialDetails data = parseDetails(credentials, CertificateCredential.class); + CredentialDetails data = parseDetails(credentials); assertDetails(data, "cert", null, null); } @@ -62,14 +62,14 @@ public class CertificateCredentialDetailsUnitTests extends JsonParsingUnitTestsB " \"ca\": \"authority\"," + " \"private_key\": \"private-key\"" + " }"; - CredentialDetails data = parseDetails(credentials, CertificateCredential.class); + CredentialDetails data = parseDetails(credentials); assertDetails(data, null, "authority", "private-key"); } @Test public void deserializeDetailsData() throws Exception { - CredentialDetailsData response = parseDetailsData(CERT_CREDENTIALS, CertificateCredential.class); + CredentialDetailsData response = parseDetailsData(CERT_CREDENTIALS); assertThat(response.getData().size(), equalTo(1)); 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 2009e48..706c94e 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 @@ -36,6 +36,7 @@ public class CertificateParametersRequestUnitTests extends CredHubRequestUnitTes } @Test + @SuppressWarnings("unchecked") public void serializeWithParameters() throws Exception { requestBuilder = CertificateParametersRequest.builder() .name(new SimpleCredentialName("example", "credential")) @@ -75,6 +76,7 @@ public class CertificateParametersRequestUnitTests extends CredHubRequestUnitTes } @Test + @SuppressWarnings("unchecked") public void serializeWithMinimalParameters() throws Exception { requestBuilder = CertificateParametersRequest.builder() .name(new SimpleCredentialName("example", "credential")) diff --git a/spring-credhub-core/src/test/java/org/springframework/credhub/support/json/JsonCredentialDetailsUnitTests.java b/spring-credhub-core/src/test/java/org/springframework/credhub/support/json/JsonCredentialDetailsUnitTests.java index a1f8dc2..0ea3c98 100644 --- a/spring-credhub-core/src/test/java/org/springframework/credhub/support/json/JsonCredentialDetailsUnitTests.java +++ b/spring-credhub-core/src/test/java/org/springframework/credhub/support/json/JsonCredentialDetailsUnitTests.java @@ -38,14 +38,14 @@ public class JsonCredentialDetailsUnitTests extends JsonParsingUnitTestsBase { @Test public void deserializeDetails() throws Exception { - CredentialDetails data = parseDetails(JSON_CREDENTIALS, JsonCredential.class); + CredentialDetails data = parseDetails(JSON_CREDENTIALS); assertDetails(data); } @Test public void deserializeDetailsData() throws Exception { - CredentialDetailsData data = parseDetailsData(JSON_CREDENTIALS, JsonCredential.class); + CredentialDetailsData data = parseDetailsData(JSON_CREDENTIALS); assertThat(data.getData().size(), equalTo(1)); assertDetails(data.getData().get(0)); diff --git a/spring-credhub-core/src/test/java/org/springframework/credhub/support/password/PasswordCredentialDetailsUnitTests.java b/spring-credhub-core/src/test/java/org/springframework/credhub/support/password/PasswordCredentialDetailsUnitTests.java index 2701562..cd6dd91 100644 --- a/spring-credhub-core/src/test/java/org/springframework/credhub/support/password/PasswordCredentialDetailsUnitTests.java +++ b/spring-credhub-core/src/test/java/org/springframework/credhub/support/password/PasswordCredentialDetailsUnitTests.java @@ -34,7 +34,7 @@ public class PasswordCredentialDetailsUnitTests extends JsonParsingUnitTestsBase @Test public void deserializeDetails() throws Exception { CredentialDetails data = - parseDetails(PASSWORD_CREDENTIALS, PasswordCredential.class); + parseDetails(PASSWORD_CREDENTIALS); assertDetails(data); } @@ -42,7 +42,7 @@ public class PasswordCredentialDetailsUnitTests extends JsonParsingUnitTestsBase @Test public void deserializeDetailsData() throws Exception { CredentialDetailsData response = - parseDetailsData(PASSWORD_CREDENTIALS, PasswordCredential.class); + parseDetailsData(PASSWORD_CREDENTIALS); assertThat(response.getData().size(), equalTo(1)); diff --git a/spring-credhub-core/src/test/java/org/springframework/credhub/support/rsa/RsaCredentialDetailsUnitTests.java b/spring-credhub-core/src/test/java/org/springframework/credhub/support/rsa/RsaCredentialDetailsUnitTests.java index a8705dc..0fbcab4 100644 --- a/spring-credhub-core/src/test/java/org/springframework/credhub/support/rsa/RsaCredentialDetailsUnitTests.java +++ b/spring-credhub-core/src/test/java/org/springframework/credhub/support/rsa/RsaCredentialDetailsUnitTests.java @@ -36,7 +36,7 @@ public class RsaCredentialDetailsUnitTests extends JsonParsingUnitTestsBase { @Test public void deserializeDetailsWithPublicAndPrivateKeys() throws Exception { - CredentialDetails data = parseDetails(RSA_CREDENTIALS, RsaCredential.class); + CredentialDetails data = parseDetails(RSA_CREDENTIALS); assertDetails(data, "public-key", "private-key"); } @@ -48,7 +48,7 @@ public class RsaCredentialDetailsUnitTests extends JsonParsingUnitTestsBase { " \"value\": {" + " \"public_key\": \"public-key\"" + " }"; - CredentialDetails data = parseDetails(credentials, RsaCredential.class); + CredentialDetails data = parseDetails(credentials); assertDetails(data, "public-key", null); } @@ -60,14 +60,14 @@ public class RsaCredentialDetailsUnitTests extends JsonParsingUnitTestsBase { " \"value\": {" + " \"private_key\": \"private-key\"" + " }"; - CredentialDetails data = parseDetails(credentials, RsaCredential.class); + CredentialDetails data = parseDetails(credentials); assertDetails(data, null, "private-key"); } @Test public void deserializeDetailsData() throws Exception { - CredentialDetailsData response = parseDetailsData(RSA_CREDENTIALS, RsaCredential.class); + CredentialDetailsData response = parseDetailsData(RSA_CREDENTIALS); assertThat(response.getData().size(), equalTo(1)); diff --git a/spring-credhub-core/src/test/java/org/springframework/credhub/support/ssh/SshCredentialDetailsUnitTests.java b/spring-credhub-core/src/test/java/org/springframework/credhub/support/ssh/SshCredentialDetailsUnitTests.java index 16a0747..64b06b6 100644 --- a/spring-credhub-core/src/test/java/org/springframework/credhub/support/ssh/SshCredentialDetailsUnitTests.java +++ b/spring-credhub-core/src/test/java/org/springframework/credhub/support/ssh/SshCredentialDetailsUnitTests.java @@ -36,7 +36,7 @@ public class SshCredentialDetailsUnitTests extends JsonParsingUnitTestsBase { @Test public void deserializeDetailsWithPublicAndPrivateKeys() throws Exception { - CredentialDetails data = parseDetails(SSH_CREDENTIALS, SshCredential.class); + CredentialDetails data = parseDetails(SSH_CREDENTIALS); assertDetails(data, "public-key", "private-key"); } @@ -48,7 +48,7 @@ public class SshCredentialDetailsUnitTests extends JsonParsingUnitTestsBase { " \"value\": {" + " \"public_key\": \"public-key\"" + " }"; - CredentialDetails data = parseDetails(credentials, SshCredential.class); + CredentialDetails data = parseDetails(credentials); assertDetails(data, "public-key", null); } @@ -60,14 +60,14 @@ public class SshCredentialDetailsUnitTests extends JsonParsingUnitTestsBase { " \"value\": {" + " \"private_key\": \"private-key\"" + " }"; - CredentialDetails data = parseDetails(credentials, SshCredential.class); + CredentialDetails data = parseDetails(credentials); assertDetails(data, null, "private-key"); } @Test public void deserializeDetailsData() throws Exception { - CredentialDetailsData response = parseDetailsData(SSH_CREDENTIALS, SshCredential.class); + CredentialDetailsData response = parseDetailsData(SSH_CREDENTIALS); assertThat(response.getData().size(), equalTo(1)); diff --git a/spring-credhub-core/src/test/java/org/springframework/credhub/support/user/UserCredentialDetailsUnitTests.java b/spring-credhub-core/src/test/java/org/springframework/credhub/support/user/UserCredentialDetailsUnitTests.java index 6977084..b6eddf6 100644 --- a/spring-credhub-core/src/test/java/org/springframework/credhub/support/user/UserCredentialDetailsUnitTests.java +++ b/spring-credhub-core/src/test/java/org/springframework/credhub/support/user/UserCredentialDetailsUnitTests.java @@ -31,19 +31,20 @@ public class UserCredentialDetailsUnitTests extends JsonParsingUnitTestsBase { " \"type\": \"user\"," + " \"value\": {" + " \"username\": \"myname\"," + - " \"password\": \"secret\"" + + " \"password\": \"secret\"," + + " \"password_hash\": \"secret-hash\"" + " }"; @Test public void deserializeDetails() throws Exception { - CredentialDetails data = parseDetails(USER_CREDENTIALS, UserCredential.class); + CredentialDetails data = parseDetails(USER_CREDENTIALS); assertDetails(data); } @Test public void deserializeDetailsData() throws Exception { - CredentialDetailsData response = parseDetailsData(USER_CREDENTIALS, UserCredential.class); + CredentialDetailsData response = parseDetailsData(USER_CREDENTIALS); assertThat(response.getData().size(), equalTo(1)); @@ -58,5 +59,6 @@ public class UserCredentialDetailsUnitTests extends JsonParsingUnitTestsBase { assertThat(data.getCredentialType(), equalTo(CredentialType.USER)); assertThat(data.getValue().getUsername(), equalTo("myname")); assertThat(data.getValue().getPassword(), equalTo("secret")); + assertThat(data.getValue().getPasswordHash(), equalTo("secret-hash")); } } 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 c5d2020..f9795ab 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 @@ -45,7 +45,8 @@ public class UserCredentialRequestUnitTests extends CredHubRequestUnitTestsBase assertCommonRequestFields(jsonValue, true, "/example/credential", "user"); assertThat(jsonValue, allOf(hasJsonPath("$.value.username", equalTo("myname")), - hasJsonPath("$.value.password", equalTo("secret")))); + hasJsonPath("$.value.password", equalTo("secret")), + hasNoJsonPath("$.value.password_hash"))); assertNoPermissions(jsonValue); } @@ -62,7 +63,8 @@ public class UserCredentialRequestUnitTests extends CredHubRequestUnitTestsBase assertCommonRequestFields(jsonValue, true, "/example/credential", "user"); assertThat(jsonValue, allOf(hasNoJsonPath("$.value.username"), - hasJsonPath("$.value.password", equalTo("secret")))); + hasJsonPath("$.value.password", equalTo("secret")), + hasNoJsonPath("$.value.password_hash"))); 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 705c5fd..4e8f996 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 @@ -32,7 +32,7 @@ import static org.valid4j.matchers.jsonpath.JsonPathMatchers.hasNoJsonPath; public class UserParametersRequestUnitTests extends CredHubRequestUnitTestsBase { @Before public void setUp() { - requestBuilder = new UserParametersRequest().builder(); + requestBuilder = UserParametersRequest.builder(); } @Test diff --git a/spring-credhub-core/src/test/java/org/springframework/credhub/support/value/ValueCredentialDetailsUnitTests.java b/spring-credhub-core/src/test/java/org/springframework/credhub/support/value/ValueCredentialDetailsUnitTests.java index 959ae17..c9d550c 100644 --- a/spring-credhub-core/src/test/java/org/springframework/credhub/support/value/ValueCredentialDetailsUnitTests.java +++ b/spring-credhub-core/src/test/java/org/springframework/credhub/support/value/ValueCredentialDetailsUnitTests.java @@ -34,7 +34,7 @@ public class ValueCredentialDetailsUnitTests extends JsonParsingUnitTestsBase { @Test public void deserializeDetails() throws Exception { CredentialDetails data = - parseDetails(VALUE_CREDENTIALS, ValueCredential.class); + parseDetails(VALUE_CREDENTIALS); assertDetails(data); } @@ -42,7 +42,7 @@ public class ValueCredentialDetailsUnitTests extends JsonParsingUnitTestsBase { @Test public void deserializeDetailsData() throws Exception { CredentialDetailsData response = - parseDetailsData(VALUE_CREDENTIALS, ValueCredential.class); + parseDetailsData(VALUE_CREDENTIALS); assertThat(response.getData().size(), equalTo(1)); diff --git a/spring-credhub-demo/manifest.yml b/spring-credhub-demo/manifest.yml index 0bf7d13..4c4e601 100644 --- a/spring-credhub-demo/manifest.yml +++ b/spring-credhub-demo/manifest.yml @@ -3,4 +3,6 @@ applications: - name: spring-credhub-demo memory: 1G path: build/libs/spring-credhub-demo.jar + env: + SPRING_CREDHUB_URL: https://credhub.service.cf.internal:8844 diff --git a/spring-credhub-demo/src/main/java/org/springframework/credhub/demo/CredHubDemoController.java b/spring-credhub-demo/src/main/java/org/springframework/credhub/demo/CredHubDemoController.java index 223db6a..118f721 100644 --- a/spring-credhub-demo/src/main/java/org/springframework/credhub/demo/CredHubDemoController.java +++ b/spring-credhub-demo/src/main/java/org/springframework/credhub/demo/CredHubDemoController.java @@ -24,7 +24,7 @@ import java.util.Map; import java.util.UUID; import com.fasterxml.jackson.databind.ObjectMapper; -import org.springframework.credhub.core.CredHubTemplate; +import org.springframework.credhub.core.CredHubOperations; import org.springframework.credhub.support.permissions.Actor; import org.springframework.credhub.support.permissions.CredentialPermission; import org.springframework.credhub.support.CredentialDetails; @@ -49,9 +49,9 @@ public class CredHubDemoController { private static final String APP_GUID_1 = UUID.randomUUID().toString(); private static final String APP_GUID_2 = UUID.randomUUID().toString(); - private CredHubTemplate credHubTemplate; + private CredHubOperations credHubTemplate; - public CredHubDemoController(CredHubTemplate credHubTemplate) { + public CredHubDemoController(CredHubOperations credHubTemplate) { this.credHubTemplate = credHubTemplate; }