Skip to content

Commit 9aac8b9

Browse files
acoburntimea-solid
andauthored
JCL-337: Serialize expiration date as an ISO 8601 string (#437)
* JCL-337: Serialize expiration date as an ISO 8601 string * Use correct identifier for access grant revocation * fixed status access grant intergration tests --------- Co-authored-by: Timea Turdean <4144203+timea-solid@users.noreply.github.com>
1 parent 22801a2 commit 9aac8b9

File tree

3 files changed

+17
-7
lines changed

3 files changed

+17
-7
lines changed

access-grant/src/main/java/com/inrupt/client/accessgrant/AccessGrantClient.java

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,9 @@
5353
import java.util.concurrent.CompletionStage;
5454
import java.util.stream.Collectors;
5555

56+
import org.slf4j.Logger;
57+
import org.slf4j.LoggerFactory;
58+
5659
/**
5760
* A client for interacting with and managing Access Grant Resources.
5861
*
@@ -77,6 +80,8 @@
7780
*/
7881
public class AccessGrantClient {
7982

83+
private static final Logger LOGGER = LoggerFactory.getLogger(AccessGrantClient.class);
84+
8085
private static final String CONTEXT = "@context";
8186
private static final String VC_CONTEXT_URI = "https://www.w3.org/2018/credentials/v1";
8287
private static final String INRUPT_CONTEXT_URI = "https://schema.inrupt.com/credentials/v1.jsonld";
@@ -293,7 +298,7 @@ public CompletionStage<Void> revoke(final AccessGrant accessGrant) {
293298
credentialStatus.put("status", Integer.toString(status.getIndex()));
294299

295300
final Map<String, Object> data = new HashMap<>();
296-
data.put("credentialId", status.getIdentifier());
301+
data.put("credentialId", accessGrant.getIdentifier());
297302
data.put("credentialStatus", Arrays.asList(credentialStatus));
298303

299304
final Request req = Request.newBuilder(metadata.statusEndpoint)
@@ -530,7 +535,7 @@ static Map<String, Object> buildAccessGrantv1(final URI agent, final Set<URI> re
530535

531536
final Map<String, Object> credential = new HashMap<>();
532537
credential.put(CONTEXT, Arrays.asList(VC_CONTEXT_URI, INRUPT_CONTEXT_URI));
533-
credential.put("expirationDate", expiration);
538+
credential.put("expirationDate", expiration.toString());
534539
credential.put(CREDENTIAL_SUBJECT, subject);
535540

536541
final Map<String, Object> data = new HashMap<>();
@@ -554,7 +559,7 @@ static Map<String, Object> buildAccessRequestv1(final URI agent, final Set<URI>
554559

555560
final Map<String, Object> credential = new HashMap<>();
556561
credential.put(CONTEXT, Arrays.asList(VC_CONTEXT_URI, INRUPT_CONTEXT_URI));
557-
credential.put("expirationDate", expiration);
562+
credential.put("expirationDate", expiration.toString());
558563
credential.put(CREDENTIAL_SUBJECT, subject);
559564

560565
final Map<String, Object> data = new HashMap<>();

access-grant/src/test/java/com/inrupt/client/accessgrant/MockAccessGrantServer.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -155,6 +155,7 @@ private void setupMocks() {
155155
.atPriority(1)
156156
.withHeader("Authorization", containing("Bearer eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9."))
157157
.withRequestBody(containing("\"providedConsent\""))
158+
.withRequestBody(containing("\"2022-08-27"))
158159
.willReturn(aResponse()
159160
.withStatus(200)
160161
.withHeader("Content-Type", "application/json")
@@ -164,6 +165,7 @@ private void setupMocks() {
164165
.atPriority(1)
165166
.withHeader("Authorization", containing("Bearer eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9."))
166167
.withRequestBody(containing("\"hasConsent\""))
168+
.withRequestBody(containing("\"2022-08-27"))
167169
.willReturn(aResponse()
168170
.withStatus(200)
169171
.withHeader("Content-Type", "application/json")
@@ -178,14 +180,14 @@ private void setupMocks() {
178180
wireMockServer.stubFor(post(urlEqualTo("/status"))
179181
.atPriority(1)
180182
.withHeader("Authorization", containing("Bearer eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9."))
181-
.withRequestBody(containing("\"https://accessgrant.example/status/CVAM#2832\""))
183+
.withRequestBody(containing("\"" + wireMockServer.baseUrl() + "/access-grant-1\""))
182184
.willReturn(aResponse()
183185
.withStatus(204)));
184186

185187
wireMockServer.stubFor(post(urlEqualTo("/status"))
186188
.atPriority(1)
187189
.withHeader("Authorization", containing("Bearer eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9."))
188-
.withRequestBody(containing("\"https://accessgrant.example/status/CVAM#2833\""))
190+
.withRequestBody(containing("\"" + wireMockServer.baseUrl() + "/access-grant-2\""))
189191
.willReturn(aResponse()
190192
.withStatus(403)));
191193

integration/base/src/main/java/com/inrupt/client/integration/base/MockAccessGrantServer.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
import static java.nio.charset.StandardCharsets.UTF_8;
2525

2626
import com.github.tomakehurst.wiremock.WireMockServer;
27+
import com.github.tomakehurst.wiremock.common.ConsoleNotifier;
2728
import com.github.tomakehurst.wiremock.core.WireMockConfiguration;
2829

2930
import java.io.IOException;
@@ -42,7 +43,9 @@ class MockAccessGrantServer {
4243
public MockAccessGrantServer(final String webId, final String sharedFile) {
4344
this.webId = webId;
4445
this.sharedFile = sharedFile;
45-
wireMockServer = new WireMockServer(WireMockConfiguration.options().dynamicPort());
46+
wireMockServer = new WireMockServer(WireMockConfiguration.options()
47+
.notifier(new ConsoleNotifier(true))
48+
.dynamicPort());
4649
}
4750

4851
private void setupMocks() {
@@ -71,7 +74,7 @@ private void setupMocks() {
7174
this.webId, this.sharedFile))));
7275

7376
wireMockServer.stubFor(post(urlEqualTo("/status"))
74-
.withRequestBody(containing("\"https://accessgrant.example/status/CVAM#2832\""))
77+
.withRequestBody(containing("\"RevocationList2020Status\""))
7578
.willReturn(aResponse()
7679
.withStatus(Utils.NO_CONTENT)));
7780

0 commit comments

Comments
 (0)