diff --git a/access-grant/src/main/java/com/inrupt/client/accessgrant/AccessGrantClient.java b/access-grant/src/main/java/com/inrupt/client/accessgrant/AccessGrantClient.java index b44272fe8a9..1dd211c2e9e 100644 --- a/access-grant/src/main/java/com/inrupt/client/accessgrant/AccessGrantClient.java +++ b/access-grant/src/main/java/com/inrupt/client/accessgrant/AccessGrantClient.java @@ -53,6 +53,9 @@ import java.util.concurrent.CompletionStage; import java.util.stream.Collectors; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + /** * A client for interacting with and managing Access Grant Resources. * @@ -77,6 +80,8 @@ */ public class AccessGrantClient { + private static final Logger LOGGER = LoggerFactory.getLogger(AccessGrantClient.class); + private static final String CONTEXT = "@context"; private static final String VC_CONTEXT_URI = "https://www.w3.org/2018/credentials/v1"; private static final String INRUPT_CONTEXT_URI = "https://schema.inrupt.com/credentials/v1.jsonld"; @@ -293,7 +298,7 @@ public CompletionStage revoke(final AccessGrant accessGrant) { credentialStatus.put("status", Integer.toString(status.getIndex())); final Map data = new HashMap<>(); - data.put("credentialId", status.getIdentifier()); + data.put("credentialId", accessGrant.getIdentifier()); data.put("credentialStatus", Arrays.asList(credentialStatus)); final Request req = Request.newBuilder(metadata.statusEndpoint) @@ -530,7 +535,7 @@ static Map buildAccessGrantv1(final URI agent, final Set re final Map credential = new HashMap<>(); credential.put(CONTEXT, Arrays.asList(VC_CONTEXT_URI, INRUPT_CONTEXT_URI)); - credential.put("expirationDate", expiration); + credential.put("expirationDate", expiration.toString()); credential.put(CREDENTIAL_SUBJECT, subject); final Map data = new HashMap<>(); @@ -554,7 +559,7 @@ static Map buildAccessRequestv1(final URI agent, final Set final Map credential = new HashMap<>(); credential.put(CONTEXT, Arrays.asList(VC_CONTEXT_URI, INRUPT_CONTEXT_URI)); - credential.put("expirationDate", expiration); + credential.put("expirationDate", expiration.toString()); credential.put(CREDENTIAL_SUBJECT, subject); final Map data = new HashMap<>(); diff --git a/access-grant/src/test/java/com/inrupt/client/accessgrant/MockAccessGrantServer.java b/access-grant/src/test/java/com/inrupt/client/accessgrant/MockAccessGrantServer.java index a37e4139e36..d48ac30d425 100644 --- a/access-grant/src/test/java/com/inrupt/client/accessgrant/MockAccessGrantServer.java +++ b/access-grant/src/test/java/com/inrupt/client/accessgrant/MockAccessGrantServer.java @@ -155,6 +155,7 @@ private void setupMocks() { .atPriority(1) .withHeader("Authorization", containing("Bearer eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9.")) .withRequestBody(containing("\"providedConsent\"")) + .withRequestBody(containing("\"2022-08-27")) .willReturn(aResponse() .withStatus(200) .withHeader("Content-Type", "application/json") @@ -164,6 +165,7 @@ private void setupMocks() { .atPriority(1) .withHeader("Authorization", containing("Bearer eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9.")) .withRequestBody(containing("\"hasConsent\"")) + .withRequestBody(containing("\"2022-08-27")) .willReturn(aResponse() .withStatus(200) .withHeader("Content-Type", "application/json") @@ -178,14 +180,14 @@ private void setupMocks() { wireMockServer.stubFor(post(urlEqualTo("/status")) .atPriority(1) .withHeader("Authorization", containing("Bearer eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9.")) - .withRequestBody(containing("\"https://accessgrant.example/status/CVAM#2832\"")) + .withRequestBody(containing("\"" + wireMockServer.baseUrl() + "/access-grant-1\"")) .willReturn(aResponse() .withStatus(204))); wireMockServer.stubFor(post(urlEqualTo("/status")) .atPriority(1) .withHeader("Authorization", containing("Bearer eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9.")) - .withRequestBody(containing("\"https://accessgrant.example/status/CVAM#2833\"")) + .withRequestBody(containing("\"" + wireMockServer.baseUrl() + "/access-grant-2\"")) .willReturn(aResponse() .withStatus(403))); diff --git a/integration/base/src/main/java/com/inrupt/client/integration/base/MockAccessGrantServer.java b/integration/base/src/main/java/com/inrupt/client/integration/base/MockAccessGrantServer.java index 9801b82a984..c6449537364 100644 --- a/integration/base/src/main/java/com/inrupt/client/integration/base/MockAccessGrantServer.java +++ b/integration/base/src/main/java/com/inrupt/client/integration/base/MockAccessGrantServer.java @@ -24,6 +24,7 @@ import static java.nio.charset.StandardCharsets.UTF_8; import com.github.tomakehurst.wiremock.WireMockServer; +import com.github.tomakehurst.wiremock.common.ConsoleNotifier; import com.github.tomakehurst.wiremock.core.WireMockConfiguration; import java.io.IOException; @@ -42,7 +43,9 @@ class MockAccessGrantServer { public MockAccessGrantServer(final String webId, final String sharedFile) { this.webId = webId; this.sharedFile = sharedFile; - wireMockServer = new WireMockServer(WireMockConfiguration.options().dynamicPort()); + wireMockServer = new WireMockServer(WireMockConfiguration.options() + .notifier(new ConsoleNotifier(true)) + .dynamicPort()); } private void setupMocks() { @@ -71,7 +74,7 @@ private void setupMocks() { this.webId, this.sharedFile)))); wireMockServer.stubFor(post(urlEqualTo("/status")) - .withRequestBody(containing("\"https://accessgrant.example/status/CVAM#2832\"")) + .withRequestBody(containing("\"RevocationList2020Status\"")) .willReturn(aResponse() .withStatus(Utils.NO_CONTENT)));