From 64e55eddd8167f74dc708bf7aec5e1e02f574a8c Mon Sep 17 00:00:00 2001 From: Stefan Kalscheuer Date: Sun, 24 Apr 2022 16:44:50 +0200 Subject: [PATCH] model: add request ID to data response models --- CHANGELOG.md | 1 + .../model/response/VaultDataResponse.java | 16 ++++++++++++++-- .../model/response/MetaSecretResponseTest.java | 1 + .../model/response/PlainSecretResponseTest.java | 1 + 4 files changed, 17 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a267552..88e1f3c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,7 @@ * Split `SercretResponse` into `PlainSecretResponse` and `MetaSecretResponse` subclasses (common API unchanged) * Add missing fields to `AuthMethod` model * Add support for (dis)allowed policy glob patterns in `TokenRole` +* Add request ID to data response models ### Test * Tested against Vault 1.10.1 diff --git a/src/main/java/de/stklcode/jvault/connector/model/response/VaultDataResponse.java b/src/main/java/de/stklcode/jvault/connector/model/response/VaultDataResponse.java index 2e0f874..1a41ad4 100644 --- a/src/main/java/de/stklcode/jvault/connector/model/response/VaultDataResponse.java +++ b/src/main/java/de/stklcode/jvault/connector/model/response/VaultDataResponse.java @@ -29,7 +29,10 @@ import java.util.Objects; * @since 0.1 */ public abstract class VaultDataResponse implements VaultResponse { - private static final long serialVersionUID = 2507925101227179499L; + private static final long serialVersionUID = 7486270767477652184L; + + @JsonProperty("request_id") + private String requestId; @JsonProperty("lease_id") private String leaseId; @@ -46,6 +49,14 @@ public abstract class VaultDataResponse implements VaultResponse { @JsonProperty("wrap_info") private WrapInfo wrapInfo; + /** + * @return Request ID + * @since 1.1 + */ + public final String getRequestId() { + return requestId; + } + /** * @return Lease ID */ @@ -91,6 +102,7 @@ public abstract class VaultDataResponse implements VaultResponse { } VaultDataResponse that = (VaultDataResponse) o; return renewable == that.renewable && + Objects.equals(requestId, that.requestId) && Objects.equals(leaseId, that.leaseId) && Objects.equals(leaseDuration, that.leaseDuration) && Objects.equals(warnings, that.warnings) && @@ -99,6 +111,6 @@ public abstract class VaultDataResponse implements VaultResponse { @Override public int hashCode() { - return Objects.hash(leaseId, renewable, leaseDuration, warnings, wrapInfo); + return Objects.hash(requestId, leaseId, renewable, leaseDuration, warnings, wrapInfo); } } diff --git a/src/test/java/de/stklcode/jvault/connector/model/response/MetaSecretResponseTest.java b/src/test/java/de/stklcode/jvault/connector/model/response/MetaSecretResponseTest.java index fcf7d0f..f9ebbba 100644 --- a/src/test/java/de/stklcode/jvault/connector/model/response/MetaSecretResponseTest.java +++ b/src/test/java/de/stklcode/jvault/connector/model/response/MetaSecretResponseTest.java @@ -132,6 +132,7 @@ class MetaSecretResponseTest extends AbstractModelTest { private void assertSecretData(SecretResponse res) { assertNotNull(res, "Parsed response is NULL"); + assertEquals(SECRET_REQUEST_ID, res.getRequestId(), "Incorrect request ID"); assertEquals(SECRET_LEASE_ID, res.getLeaseId(), "Incorrect lease ID"); assertEquals(SECRET_LEASE_DURATION, res.getLeaseDuration(), "Incorrect lease duration"); assertEquals(SECRET_RENEWABLE, res.isRenewable(), "Incorrect renewable status"); diff --git a/src/test/java/de/stklcode/jvault/connector/model/response/PlainSecretResponseTest.java b/src/test/java/de/stklcode/jvault/connector/model/response/PlainSecretResponseTest.java index 23a9476..860b01f 100644 --- a/src/test/java/de/stklcode/jvault/connector/model/response/PlainSecretResponseTest.java +++ b/src/test/java/de/stklcode/jvault/connector/model/response/PlainSecretResponseTest.java @@ -78,6 +78,7 @@ class PlainSecretResponseTest extends AbstractModelTest { ); assertNotNull(res, "Parsed response is NULL"); + assertEquals(SECRET_REQUEST_ID, res.getRequestId(), "Incorrect request ID"); assertEquals(SECRET_LEASE_ID, res.getLeaseId(), "Incorrect lease ID"); assertEquals(SECRET_LEASE_DURATION, res.getLeaseDuration(), "Incorrect lease duration"); assertEquals(SECRET_RENEWABLE, res.isRenewable(), "Incorrect renewable status");