From 50068a0c646e0f034f56458796dcc3315c98b3bf Mon Sep 17 00:00:00 2001 From: Philipp Etschel Date: Fri, 2 Dec 2022 14:26:50 +0100 Subject: [PATCH] rfc23 states as enum Signed-off-by: Philipp Etschel --- .../api/connection/ConnectionRecord.java | 2 +- .../aries/api/connection/Rfc23State.java | 73 +++++++++++++++++++ .../did_exchange/MockedDidExchangeTest.java | 13 ++-- 3 files changed, 80 insertions(+), 8 deletions(-) create mode 100644 src/main/java/org/hyperledger/aries/api/connection/Rfc23State.java diff --git a/src/main/java/org/hyperledger/aries/api/connection/ConnectionRecord.java b/src/main/java/org/hyperledger/aries/api/connection/ConnectionRecord.java index f293212..1d864b0 100644 --- a/src/main/java/org/hyperledger/aries/api/connection/ConnectionRecord.java +++ b/src/main/java/org/hyperledger/aries/api/connection/ConnectionRecord.java @@ -31,7 +31,7 @@ public class ConnectionRecord { private String invitationMsgId; private String myDid; private String requestId; - private String rfc23State; + private Rfc23State rfc23State; private RoutingState routingState; private ConnectionState state; private String theirDid; diff --git a/src/main/java/org/hyperledger/aries/api/connection/Rfc23State.java b/src/main/java/org/hyperledger/aries/api/connection/Rfc23State.java new file mode 100644 index 0000000..c65c3db --- /dev/null +++ b/src/main/java/org/hyperledger/aries/api/connection/Rfc23State.java @@ -0,0 +1,73 @@ +/* + * Copyright (c) 2020-2022 - for information on the respective copyright owner + * see the NOTICE file and/or the repository at + * https://github.com/hyperledger-labs/acapy-java-client + * + * SPDX-License-Identifier: Apache-2.0 + */ +package org.hyperledger.aries.api.connection; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.google.gson.annotations.SerializedName; + +/** + * Requester states: + *

+ *

+ *

+ * Responder states: + *

+ *

+ */ +public enum Rfc23State { + + @JsonProperty("abandoned") + @SerializedName("abandoned") + ABANDONED, + + @JsonProperty("completed") + @SerializedName("completed") + COMPLETED, + + @JsonProperty("invitation-received") + @SerializedName("invitation-received") + INVITATION_RECEIVED, + + @JsonProperty("invitation-sent") + @SerializedName("invitation-sent") + INVITATION_SENT, + + @JsonProperty("request-received") + @SerializedName("request-received") + REQUEST_RECEIVED, + + @JsonProperty("request-sent") + @SerializedName("request-sent") + REQUEST_SENT, + + @JsonProperty("response-received") + @SerializedName("response-received") + RESPONSE_RECEIVED, + + @JsonProperty("response-sent") + @SerializedName("response-sent") + RESPONSE_SENT, + + @JsonProperty("start") + @SerializedName("start") + START, +} diff --git a/src/test/java/org/hyperledger/aries/api/did_exchange/MockedDidExchangeTest.java b/src/test/java/org/hyperledger/aries/api/did_exchange/MockedDidExchangeTest.java index 64198a5..140e724 100644 --- a/src/test/java/org/hyperledger/aries/api/did_exchange/MockedDidExchangeTest.java +++ b/src/test/java/org/hyperledger/aries/api/did_exchange/MockedDidExchangeTest.java @@ -10,12 +10,11 @@ import okhttp3.mockwebserver.MockResponse; import org.hyperledger.aries.MockedTestBase; import org.hyperledger.aries.api.connection.ConnectionRecord; +import org.hyperledger.aries.api.connection.Rfc23State; import org.hyperledger.aries.util.FileLoader; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; -import java.util.Optional; - class MockedDidExchangeTest extends MockedTestBase { @Test @@ -23,12 +22,12 @@ void testCreateRequest() throws Exception { String json = FileLoader.load("files/didexchange/didexchange-create-request.json"); server.enqueue(new MockResponse().setBody(json)); - final Optional c = ac.didExchangeCreateRequest(DidExchangeCreateRequestFilter + final ConnectionRecord c = ac.didExchangeCreateRequest(DidExchangeCreateRequestFilter .builder() .theirPublicDid("F6dB7dMVHUQSC64qemnBi7") - .build()); - Assertions.assertTrue(c.isPresent()); - Assertions.assertEquals("request-sent", c.get().getRfc23State()); - Assertions.assertEquals(ConnectionRecord.ConnectionProtocol.DID_EXCHANGE_V1, c.get().getConnectionProtocol()); + .build()). + orElseThrow(); + Assertions.assertEquals(Rfc23State.REQUEST_SENT, c.getRfc23State()); + Assertions.assertEquals(ConnectionRecord.ConnectionProtocol.DID_EXCHANGE_V1, c.getConnectionProtocol()); } }