From 24d98b54bf9d9cb6ee32feef19c3c6b8a1e25a76 Mon Sep 17 00:00:00 2001 From: Sotatek-DucPhung Date: Tue, 9 Dec 2025 18:30:40 +0700 Subject: [PATCH] feat: import generated OOBI model --- .../signify/app/coring/Oobis.java | 5 +- .../signify/e2e/BaseIntegrationTest.java | 7 +- .../signify/e2e/ChallengesTest.java | 11 ++- .../signify/e2e/DelegationMultisigTest.java | 29 ++++--- .../signify/e2e/DelegationTest.java | 10 +-- .../signify/e2e/MultisigHolderTest.java | 23 ++--- .../signify/e2e/MultisigJoinTest.java | 20 ++--- .../signify/e2e/MultisigTest.java | 19 ++--- .../e2e/MultisigVleiIssuanaceTest.java | 85 +++++++++---------- .../signify/e2e/TestSetupSingleClient.java | 5 +- .../signify/e2e/utils/TestUtils.java | 5 +- 11 files changed, 106 insertions(+), 113 deletions(-) diff --git a/src/main/java/org/cardanofoundation/signify/app/coring/Oobis.java b/src/main/java/org/cardanofoundation/signify/app/coring/Oobis.java index a1a9e73..af2f34f 100644 --- a/src/main/java/org/cardanofoundation/signify/app/coring/Oobis.java +++ b/src/main/java/org/cardanofoundation/signify/app/coring/Oobis.java @@ -11,6 +11,7 @@ import org.cardanofoundation.signify.app.clienting.SignifyClient; import org.cardanofoundation.signify.cesr.exceptions.LibsodiumException; import org.cardanofoundation.signify.cesr.util.Utils; +import org.cardanofoundation.signify.generated.keria.model.OOBI; public class Oobis { private final SignifyClient client; @@ -28,7 +29,7 @@ public Oobis(SignifyClient client) { * @throws JsonProcessingException if there is an error processing the JSON * @throws LibsodiumException if there is an error in the cryptographic operations */ - public Optional get(String name, String role) throws IOException, InterruptedException, LibsodiumException { + public Optional get(String name, String role) throws IOException, InterruptedException, LibsodiumException { if (role == null) { role = "agent"; } @@ -40,7 +41,7 @@ public Optional get(String name, String role) throws IOException, Interr return Optional.empty(); } - return Optional.of(Utils.fromJson(response.body(), Object.class)); + return Optional.of(Utils.fromJson(response.body(), OOBI.class)); } /** diff --git a/src/test/java/org/cardanofoundation/signify/e2e/BaseIntegrationTest.java b/src/test/java/org/cardanofoundation/signify/e2e/BaseIntegrationTest.java index a387a08..7bf56bd 100644 --- a/src/test/java/org/cardanofoundation/signify/e2e/BaseIntegrationTest.java +++ b/src/test/java/org/cardanofoundation/signify/e2e/BaseIntegrationTest.java @@ -13,6 +13,7 @@ import java.util.List; import java.util.concurrent.CompletableFuture; import org.cardanofoundation.signify.generated.keria.model.Identifier; +import org.cardanofoundation.signify.generated.keria.model.OOBI; import static org.cardanofoundation.signify.e2e.utils.TestUtils.unchecked; @@ -35,8 +36,8 @@ public static List createAidAndGetHabStateAsync(CreateAidArgs... cre } - public static List getOobisAsync(GetOobisArgs... getOobisArgs) { - List> getOobisFutures = new ArrayList<>(); + public static List getOobisAsync(GetOobisArgs... getOobisArgs) { + List> getOobisFutures = new ArrayList<>(); for (GetOobisArgs getOobisArg : getOobisArgs) { getOobisFutures.add(getOobisFuture(getOobisArg.signifyClient, getOobisArg.name, getOobisArg.role)); } @@ -109,7 +110,7 @@ static CompletableFuture createAidAndGetHabStateFuture(SignifyClient )); } - static CompletableFuture getOobisFuture(SignifyClient client, String name, String role) { + static CompletableFuture getOobisFuture(SignifyClient client, String name, String role) { return CompletableFuture.supplyAsync(unchecked(() -> client.oobis().get(name, role).get() )); diff --git a/src/test/java/org/cardanofoundation/signify/e2e/ChallengesTest.java b/src/test/java/org/cardanofoundation/signify/e2e/ChallengesTest.java index 3b691da..ce3b82f 100644 --- a/src/test/java/org/cardanofoundation/signify/e2e/ChallengesTest.java +++ b/src/test/java/org/cardanofoundation/signify/e2e/ChallengesTest.java @@ -10,6 +10,7 @@ import org.cardanofoundation.signify.cesr.Serder; import org.cardanofoundation.signify.cesr.util.Utils; +import org.cardanofoundation.signify.generated.keria.model.OOBI; import org.cardanofoundation.signify.generated.keria.model.Tier; import org.junit.jupiter.api.Test; import org.slf4j.Logger; @@ -97,13 +98,11 @@ void ChallengeTest() throws Exception { waitOperation(client2, rpyResult2.op()); // Exchange OOBIs - Object oobi1 = client1.oobis().get("alice", "agent").get(); - Map oobiBody1 = (Map) oobi1; - ArrayList oobiResponse1 = (ArrayList) oobiBody1.get("oobis"); + OOBI oobi1 = client1.oobis().get("alice", "agent").get(); + List oobiResponse1 = oobi1.getOobis(); - Object oobi2 = client2.oobis().get("bob", "agent").get(); - Map oobiBody2 = (Map) oobi2; - ArrayList oobiResponse2 = (ArrayList) oobiBody2.get("oobis"); + OOBI oobi2 = client2.oobis().get("bob", "agent").get(); + List oobiResponse2 = oobi2.getOobis(); resolveOobi(client1, oobiResponse2.getFirst(), "bob"); resolveOobi(client2, oobiResponse1.getFirst(), "alice"); diff --git a/src/test/java/org/cardanofoundation/signify/e2e/DelegationMultisigTest.java b/src/test/java/org/cardanofoundation/signify/e2e/DelegationMultisigTest.java index 1bfaccd..d945421 100644 --- a/src/test/java/org/cardanofoundation/signify/e2e/DelegationMultisigTest.java +++ b/src/test/java/org/cardanofoundation/signify/e2e/DelegationMultisigTest.java @@ -8,6 +8,7 @@ import org.cardanofoundation.signify.e2e.utils.TestSteps; import org.cardanofoundation.signify.e2e.utils.TestUtils; import org.cardanofoundation.signify.generated.keria.model.Identifier; +import org.cardanofoundation.signify.generated.keria.model.OOBI; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; @@ -53,7 +54,7 @@ void delegationMultisigTest() throws Exception { Identifier delegatee2Aid = aids.get(3); // Exchange OOBIs - List oobis = testSteps.step("Exchanging OOBIs", () -> + List oobis = testSteps.step("Exchanging OOBIs", () -> getOobisAsync( new GetOobisArgs(delegator1Client, delegator1Name, "agent"), new GetOobisArgs(delegator2Client, delegator2Name, "agent"), @@ -61,18 +62,18 @@ void delegationMultisigTest() throws Exception { new GetOobisArgs(delegatee2Client, delegatee2Name, "agent") )); - Map delegator1Oobi = (Map) oobis.get(0); - Map delegator2Oobi = (Map) oobis.get(1); - Map delegatee1Oobi = (Map) oobis.get(2); - Map delegatee2Oobi = (Map) oobis.get(3); + OOBI delegator1Oobi = oobis.get(0); + OOBI delegator2Oobi = oobis.get(1); + OOBI delegatee1Oobi = oobis.get(2); + OOBI delegatee2Oobi = oobis.get(3); // Resolve OOBIs testSteps.step("Resolving OOBIs", () -> { resolveOobisAsync( - new ResolveOobisArgs(delegator1Client, ((List) delegator2Oobi.get("oobis")).get(0), delegator2Name), - new ResolveOobisArgs(delegator2Client, ((List) delegator1Oobi.get("oobis")).get(0), delegator1Name), - new ResolveOobisArgs(delegatee1Client, ((List) delegatee2Oobi.get("oobis")).get(0), delegatee2Name), - new ResolveOobisArgs(delegatee2Client, ((List) delegatee1Oobi.get("oobis")).get(0), delegatee1Name) + new ResolveOobisArgs(delegator1Client, delegator2Oobi.getOobis().getFirst(), delegator2Name), + new ResolveOobisArgs(delegator2Client, delegator1Oobi.getOobis().getFirst(), delegator1Name), + new ResolveOobisArgs(delegatee1Client, delegatee2Oobi.getOobis().getFirst(), delegatee2Name), + new ResolveOobisArgs(delegatee2Client, delegatee1Oobi.getOobis().getFirst(), delegatee1Name) ); }); System.out.println( @@ -175,13 +176,13 @@ void delegationMultisigTest() throws Exception { TestUtils.waitAndMarkNotification(delegator1Client, "/multisig/rpy"); TestUtils.waitAndMarkNotification(delegator2Client, "/multisig/rpy"); - Map odelegatorGroupName1 = (Map) delegator1Client.oobis().get(adelegatorGroupName.getName(), "agent").get(); - Map odelegatorGroupName2 = (Map) delegator2Client.oobis().get(adelegatorGroupName.getName(), "agent").get(); + OOBI odelegatorGroupName1 = delegator1Client.oobis().get(adelegatorGroupName.getName(), "agent").get(); + OOBI odelegatorGroupName2 = delegator2Client.oobis().get(adelegatorGroupName.getName(), "agent").get(); - assertEquals(odelegatorGroupName1.get("role"), odelegatorGroupName2.get("role")); + assertEquals(odelegatorGroupName1.getRole(), odelegatorGroupName2.getRole()); - String stringOobis1 = ((List) odelegatorGroupName1.get("oobis")).get(0); - String stringOobis2 = ((List) odelegatorGroupName2.get("oobis")).get(0); + String stringOobis1 = odelegatorGroupName1.getOobis().getFirst(); + String stringOobis2 = odelegatorGroupName2.getOobis().getFirst(); assertEquals(stringOobis1, stringOobis2); return stringOobis1; diff --git a/src/test/java/org/cardanofoundation/signify/e2e/DelegationTest.java b/src/test/java/org/cardanofoundation/signify/e2e/DelegationTest.java index 3f7cbf3..a311bc6 100644 --- a/src/test/java/org/cardanofoundation/signify/e2e/DelegationTest.java +++ b/src/test/java/org/cardanofoundation/signify/e2e/DelegationTest.java @@ -9,6 +9,7 @@ import org.cardanofoundation.signify.cesr.Salter; import org.cardanofoundation.signify.e2e.utils.TestSteps; import org.cardanofoundation.signify.generated.keria.model.Identifier; +import org.cardanofoundation.signify.generated.keria.model.OOBI; import org.cardanofoundation.signify.generated.keria.model.Tier; import org.junit.jupiter.api.Test; @@ -74,8 +75,8 @@ void delegationTest() throws Exception { waitOperation(client1, rpyResult1.op()); // Client 2 resolves delegator OOBI - Map oobi1 = (Map) client1.oobis().get("delegator", "agent").get(); - ArrayList listOobi1 = (ArrayList) oobi1.get("oobis"); + OOBI oobi1 = client1.oobis().get("delegator", "agent").get(); + List listOobi1 = oobi1.getOobis(); resolveOobi(client2, listOobi1.getFirst(), "delegator"); System.out.println("OOBI resolved"); @@ -124,9 +125,8 @@ void delegationTest() throws Exception { null ); waitOperation(client2, rpyResult2.op()); - Object oobis = client2.oobis().get("delegate", null).get(); - Map oobiBody = (Map) oobis; - ArrayList oobisResponse = (ArrayList) oobiBody.get("oobis"); + OOBI oobis = client2.oobis().get("delegate", null).get(); + List oobisResponse = oobis.getOobis(); oobi = oobisResponse.getFirst().split("/agent/")[0]; assertNotNull(oobi); diff --git a/src/test/java/org/cardanofoundation/signify/e2e/MultisigHolderTest.java b/src/test/java/org/cardanofoundation/signify/e2e/MultisigHolderTest.java index b6f2cfc..e39018e 100644 --- a/src/test/java/org/cardanofoundation/signify/e2e/MultisigHolderTest.java +++ b/src/test/java/org/cardanofoundation/signify/e2e/MultisigHolderTest.java @@ -23,6 +23,7 @@ import org.cardanofoundation.signify.app.credentialing.credentials.CredentialData.CredentialSubject; import org.cardanofoundation.signify.e2e.utils.ResolveEnv; import org.cardanofoundation.signify.generated.keria.model.KeyStateRecord; +import org.cardanofoundation.signify.generated.keria.model.OOBI; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; @@ -39,7 +40,7 @@ public class MultisigHolderTest extends BaseIntegrationTest { SignifyClient client1, client2, client3; Identifier aid1, aid2, aid3; - Object oobi1, oobi2, oobi3; + OOBI oobi1, oobi2, oobi3; String oobis1, oobis2, oobis3; private List> registryList; @@ -77,7 +78,7 @@ void multisigHolderTest() throws Exception { // Exchange OOBIs System.out.println("Resolving OOBIs"); - List oobis = getOobisAsync( + List oobis = getOobisAsync( new GetOobisArgs(client1, "member1", "agent"), new GetOobisArgs(client2, "member2", "agent"), new GetOobisArgs(client3, "issuer", "agent") @@ -86,9 +87,9 @@ void multisigHolderTest() throws Exception { oobi2 = oobis.get(1); oobi3 = oobis.get(2); - oobis1 = getOobisIndexAt0(oobi1); - oobis2 = getOobisIndexAt0(oobi2); - oobis3 = getOobisIndexAt0(oobi3); + oobis1 = oobi1.getOobis().getFirst(); + oobis2 = oobi2.getOobis().getFirst(); + oobis3 = oobi3.getOobis().getFirst(); Object op1 = client1.oobis().resolve(oobis2, "member2"); op1 = waitOperation(client1, op1); @@ -388,9 +389,8 @@ void multisigHolderTest() throws Exception { System.out.println("End role authorization for agent " + eid2 + " completed!"); // Holder resolve multisig OOBI - Object oobisRes = client1.oobis().get("holder", "agent").get(); - Map oobiBody = (Map) oobisRes; - ArrayList oobisResponse = (ArrayList) oobiBody.get("oobis"); + OOBI oobisRes = client1.oobis().get("holder", "agent").get(); + List oobisResponse = oobisRes.getOobis(); String oobiMultisig = oobisResponse.getFirst().split("/agent/")[0]; @@ -625,11 +625,4 @@ public Object multisigAdmitCredential( ); return op; } - - public String getOobisIndexAt0(Object oobi) { - Map oobiBody = (Map) oobi; - ArrayList oobisResponse = (ArrayList) oobiBody.get("oobis"); - return oobisResponse.getFirst(); - } - } diff --git a/src/test/java/org/cardanofoundation/signify/e2e/MultisigJoinTest.java b/src/test/java/org/cardanofoundation/signify/e2e/MultisigJoinTest.java index ee3b770..b818d5d 100644 --- a/src/test/java/org/cardanofoundation/signify/e2e/MultisigJoinTest.java +++ b/src/test/java/org/cardanofoundation/signify/e2e/MultisigJoinTest.java @@ -16,6 +16,7 @@ import org.cardanofoundation.signify.generated.keria.model.GroupMember; import org.cardanofoundation.signify.generated.keria.model.Identifier; import org.cardanofoundation.signify.generated.keria.model.KeyStateRecord; +import org.cardanofoundation.signify.generated.keria.model.OOBI; import org.junit.jupiter.api.*; import java.util.*; @@ -36,7 +37,7 @@ public class MultisigJoinTest extends BaseIntegrationTest { static String nameMember3 = "member3"; static String nameMultisig = "multisigGroup"; static String oobi1, oobi2, oobi3, oobiMultisig; - private static Map oobiGetMultisig; + private static OOBI oobiGetMultisig; @BeforeAll public static void getClients() throws Exception { @@ -48,7 +49,7 @@ public static void getClients() throws Exception { createAID(client1, nameMember1, new ArrayList<>()); createAID(client2, nameMember2, new ArrayList<>()); - List oobis = getOobisAsync( + List oobis = getOobisAsync( new GetOobisArgs(client1, nameMember1, "agent"), new GetOobisArgs(client2, nameMember2, "agent") ); @@ -168,8 +169,7 @@ public void multisigJoinTest() throws Exception { EventResult endRoleOperation1 = client1.identifiers().addEndRole(nameMultisig, "agent", eid1, null); EventResult endRoleOperation2 = client2.identifiers().addEndRole(nameMultisig, "agent", eid2, null); - oobiGetMultisig = new LinkedHashMap<>(); - oobiGetMultisig = (Map) client1.oobis().get(nameMultisig, "agent").get(); + oobiGetMultisig = client1.oobis().get(nameMultisig, "agent").get(); waitOperationAsync( new WaitOperationArgs(client1, endRoleOperation1.op()), @@ -184,14 +184,14 @@ public void multisigJoinTestAddMember3() throws Exception { aid3 = createAID(client3, nameMember3, new ArrayList<>()); - List oobis = getOobisAsync( + List oobis = getOobisAsync( new GetOobisArgs(client1, nameMember1, "agent"), new GetOobisArgs(client2, nameMember2, "agent"), new GetOobisArgs(client3, nameMember3, "agent") ); - oobi3 = getOobisIndexAt0(oobis.get(2)); - oobiMultisig = getOobisIndexAt0(oobiGetMultisig); + oobi3 = oobis.get(2).getOobis().getFirst(); + oobiMultisig = oobiGetMultisig.getOobis().getFirst(); resolveOobisAsync( new ResolveOobisArgs(client1, oobi3, nameMember3), @@ -445,9 +445,7 @@ public static Identifier createAID(SignifyClient client, String name, List oobiBody = Utils.toMap(oobi); - ArrayList oobisResponse = (ArrayList) oobiBody.get("oobis"); - return oobisResponse.getFirst(); + public static String getOobisIndexAt0(OOBI oobi) { + return oobi.getOobis().get(0); } } \ No newline at end of file diff --git a/src/test/java/org/cardanofoundation/signify/e2e/MultisigTest.java b/src/test/java/org/cardanofoundation/signify/e2e/MultisigTest.java index 41ac09f..ee72358 100644 --- a/src/test/java/org/cardanofoundation/signify/e2e/MultisigTest.java +++ b/src/test/java/org/cardanofoundation/signify/e2e/MultisigTest.java @@ -30,6 +30,7 @@ import org.cardanofoundation.signify.e2e.utils.ResolveEnv; import org.cardanofoundation.signify.e2e.utils.TestUtils; import org.cardanofoundation.signify.generated.keria.model.KeyStateRecord; +import org.cardanofoundation.signify.generated.keria.model.OOBI; import org.junit.jupiter.api.Test; import java.io.IOException; @@ -78,17 +79,17 @@ public void multisig() throws Exception { // Exchange OOBIs System.out.println("Resolving OOBIs"); - List oobisLst = getOobisAsync( + List oobisLst = getOobisAsync( new GetOobisArgs(client1, "member1", "agent"), new GetOobisArgs(client2, "member2", "agent"), new GetOobisArgs(client3, "member3", "agent"), new GetOobisArgs(client4, "holder", "agent") ); - Object oobi1 = oobisLst.get(0); - Object oobi2 = oobisLst.get(1); - Object oobi3 = oobisLst.get(2); - Object oobi4 = oobisLst.get(3); + OOBI oobi1 = oobisLst.get(0); + OOBI oobi2 = oobisLst.get(1); + OOBI oobi3 = oobisLst.get(2); + OOBI oobi4 = oobisLst.get(3); String oobis1 = getOobisIndexAt0(oobi1); String oobis2 = getOobisIndexAt0(oobi2); @@ -308,7 +309,7 @@ public void multisig() throws Exception { System.out.println("End role authorization completed!"); // Holder resolve multisig OOBI - Object oobimultisig = client1.oobis().get("multisig", "agent").get(); + OOBI oobimultisig = client1.oobis().get("multisig", "agent").get(); op4 = client4.oobis().resolve(getOobisIndexAt0(oobimultisig), "multisig"); waitOperation(client4, op4); System.out.println("Holder resolved multisig OOBI"); @@ -834,10 +835,8 @@ public void multisig() throws Exception { System.out.println("Multisig credential revocation completed!"); } - public String getOobisIndexAt0(Object oobi) { - Map oobiBody = Utils.toMap(oobi); - ArrayList oobisResponse = (ArrayList) oobiBody.get("oobis"); - return oobisResponse.getFirst(); + public String getOobisIndexAt0(OOBI oobi) { + return oobi.getOobis().getFirst(); } public void multisigIssue( diff --git a/src/test/java/org/cardanofoundation/signify/e2e/MultisigVleiIssuanaceTest.java b/src/test/java/org/cardanofoundation/signify/e2e/MultisigVleiIssuanaceTest.java index bbddfd6..30a823b 100644 --- a/src/test/java/org/cardanofoundation/signify/e2e/MultisigVleiIssuanaceTest.java +++ b/src/test/java/org/cardanofoundation/signify/e2e/MultisigVleiIssuanaceTest.java @@ -13,6 +13,7 @@ import org.cardanofoundation.signify.e2e.utils.TestUtils; import org.cardanofoundation.signify.generated.keria.model.Identifier; import org.cardanofoundation.signify.generated.keria.model.KeyStateRecord; +import org.cardanofoundation.signify.generated.keria.model.OOBI; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; @@ -138,7 +139,7 @@ void testMultisigVleiIssuance() throws Exception { Identifier aidLAR3 = habStates.get(7); Identifier aidECR = habStates.get(8); - List oobisLst = getOobisAsync( + List oobisLst = getOobisAsync( new GetOobisArgs(clientGAR1, "GAR1", "agent"), new GetOobisArgs(clientGAR2, "GAR2", "agent"), new GetOobisArgs(clientQAR1, "QAR1", "agent"), @@ -149,15 +150,15 @@ void testMultisigVleiIssuance() throws Exception { new GetOobisArgs(clientLAR3, "LAR3", "agent"), new GetOobisArgs(clientECR, "ECR", "agent") ); - Object oobiGAR1 = oobisLst.get(0); - Object oobiGAR2 = oobisLst.get(1); - Object oobiQAR1 = oobisLst.get(2); - Object oobiQAR2 = oobisLst.get(3); - Object oobiQAR3 = oobisLst.get(4); - Object oobiLAR1 = oobisLst.get(5); - Object oobiLAR2 = oobisLst.get(6); - Object oobiLAR3 = oobisLst.get(7); - Object oobiECR = oobisLst.get(8); + OOBI oobiGAR1 = oobisLst.get(0); + OOBI oobiGAR2 = oobisLst.get(1); + OOBI oobiQAR1 = oobisLst.get(2); + OOBI oobiQAR2 = oobisLst.get(3); + OOBI oobiQAR3 = oobisLst.get(4); + OOBI oobiLAR1 = oobisLst.get(5); + OOBI oobiLAR2 = oobisLst.get(6); + OOBI oobiLAR3 = oobisLst.get(7); + OOBI oobiECR = oobisLst.get(8); getOrCreateContactAsync( new GetOrCreateContactArgs(clientGAR1, "GAR2", getOobisIndexAt0(oobiGAR2)), @@ -260,10 +261,10 @@ void testMultisigVleiIssuance() throws Exception { // Add endpoint role authorization for all GARs' agents. // Skip if they have already been authorized. - Map oobiGEDAbyGAR1 = (Map) clientGAR1.oobis().get(aidGEDA.getName(), "agent").get(); - Map oobiGEDAbyGAR2 = (Map) clientGAR2.oobis().get(aidGEDA.getName(), "agent").get(); + OOBI oobiGEDAbyGAR1 = clientGAR1.oobis().get(aidGEDA.getName(), "agent").get(); + OOBI oobiGEDAbyGAR2 = clientGAR2.oobis().get(aidGEDA.getName(), "agent").get(); - if (((List) oobiGEDAbyGAR1.get("oobis")).size() == 0 || ((List) oobiGEDAbyGAR2.get("oobis")).size() == 0) { + if (oobiGEDAbyGAR1.getOobis().isEmpty() || oobiGEDAbyGAR2.getOobis().isEmpty()) { String timestamp = TestUtils.createTimestamp(); List opList1 = MultisigUtils.addEndRoleMultisig( clientGAR1, @@ -293,10 +294,10 @@ void testMultisigVleiIssuance() throws Exception { TestUtils.waitAndMarkNotification(clientGAR1, "/multisig/rpy"); - oobiGEDAbyGAR1 = (Map) clientGAR1.oobis().get(aidGEDA.getName(), "agent").get(); - oobiGEDAbyGAR2 = (Map) clientGAR2.oobis().get(aidGEDA.getName(), "agent").get(); + oobiGEDAbyGAR1 = clientGAR1.oobis().get(aidGEDA.getName(), "agent").get(); + oobiGEDAbyGAR2 = clientGAR2.oobis().get(aidGEDA.getName(), "agent").get(); } - assertEquals(oobiGEDAbyGAR1.get("role"), oobiGEDAbyGAR2.get("role")); + assertEquals(oobiGEDAbyGAR1.getRole(), oobiGEDAbyGAR2.getRole()); assertEquals(getOobisIndexAt0(oobiGEDAbyGAR1), getOobisIndexAt0(oobiGEDAbyGAR2)); // QARs, LARs, ECR resolve GEDA's OOBI @@ -428,18 +429,18 @@ void testMultisigVleiIssuance() throws Exception { // Add endpoint role authorization for all QARs' agents. // Skip if they have already been authorized. - List oobiLst = getOobisAsync( + List oobiLst = getOobisAsync( new GetOobisArgs(clientQAR1, aidQVI.getName(), "agent"), new GetOobisArgs(clientQAR2, aidQVI.getName(), "agent"), new GetOobisArgs(clientQAR3, aidQVI.getName(), "agent") ); - Map oobiQVIbyQAR1 = (Map) oobiLst.get(0); - Map oobiQVIbyQAR2 = (Map) oobiLst.get(1); - Map oobiQVIbyQAR3 = (Map) oobiLst.get(2); + OOBI oobiQVIbyQAR1 = oobiLst.get(0); + OOBI oobiQVIbyQAR2 = oobiLst.get(1); + OOBI oobiQVIbyQAR3 = oobiLst.get(2); - if (((List) oobiQVIbyQAR1.get("oobis")).size() == 0 - || ((List) oobiQVIbyQAR2.get("oobis")).size() == 0 - || ((List) oobiQVIbyQAR3.get("oobis")).size() == 0) { + if (oobiQVIbyQAR1.getOobis().isEmpty() + || oobiQVIbyQAR2.getOobis().isEmpty() + || oobiQVIbyQAR3.getOobis().isEmpty()) { String timestamp = TestUtils.createTimestamp(); List opList1 = MultisigUtils.addEndRoleMultisig( clientQAR1, @@ -487,12 +488,12 @@ void testMultisigVleiIssuance() throws Exception { new GetOobisArgs(clientQAR2, aidQVI.getName(), "agent"), new GetOobisArgs(clientQAR3, aidQVI.getName(), "agent") ); - oobiQVIbyQAR1 = (Map) oobiLst.get(0); - oobiQVIbyQAR2 = (Map) oobiLst.get(1); - oobiQVIbyQAR3 = (Map) oobiLst.get(2); + oobiQVIbyQAR1 = oobiLst.get(0); + oobiQVIbyQAR2 = oobiLst.get(1); + oobiQVIbyQAR3 = oobiLst.get(2); } - assertEquals(oobiQVIbyQAR1.get("role"), oobiQVIbyQAR2.get("role")); - assertEquals(oobiQVIbyQAR1.get("role"), oobiQVIbyQAR3.get("role")); + assertEquals(oobiQVIbyQAR1.getRole(), oobiQVIbyQAR2.getRole()); + assertEquals(oobiQVIbyQAR1.getRole(), oobiQVIbyQAR3.getRole()); assertEquals(getOobisIndexAt0(oobiQVIbyQAR1), getOobisIndexAt0(oobiQVIbyQAR2)); assertEquals(getOobisIndexAt0(oobiQVIbyQAR1), getOobisIndexAt0(oobiQVIbyQAR3)); @@ -788,13 +789,13 @@ void testMultisigVleiIssuance() throws Exception { new GetOobisArgs(clientLAR2, aidLE.getName(), "agent"), new GetOobisArgs(clientLAR3, aidLE.getName(), "agent") ); - Map oobiLEbyLAR1 = (Map) oobiLst.get(0); - Map oobiLEbyLAR2 = (Map) oobiLst.get(1); - Map oobiLEbyLAR3 = (Map) oobiLst.get(2); + OOBI oobiLEbyLAR1 = oobiLst.get(0); + OOBI oobiLEbyLAR2 = oobiLst.get(1); + OOBI oobiLEbyLAR3 = oobiLst.get(2); - if (((List) oobiLEbyLAR1.get("oobis")).size() == 0 - || ((List) oobiLEbyLAR2.get("oobis")).size() == 0 - || ((List) oobiLEbyLAR3.get("oobis")).size() == 0) { + if (oobiLEbyLAR1.getOobis().isEmpty() + || oobiLEbyLAR2.getOobis().isEmpty() + || oobiLEbyLAR3.getOobis().isEmpty()) { String timestamp = TestUtils.createTimestamp(); List opList1 = MultisigUtils.addEndRoleMultisig( clientLAR1, @@ -844,12 +845,12 @@ void testMultisigVleiIssuance() throws Exception { new GetOobisArgs(clientLAR2, aidLE.getName(), "agent"), new GetOobisArgs(clientLAR3, aidLE.getName(), "agent") ); - oobiLEbyLAR1 = (Map) oobiLst.get(0); - oobiLEbyLAR2 = (Map) oobiLst.get(1); - oobiLEbyLAR3 = (Map) oobiLst.get(2); + oobiLEbyLAR1 = oobiLst.get(0); + oobiLEbyLAR2 = oobiLst.get(1); + oobiLEbyLAR3 = oobiLst.get(2); } - assertEquals(oobiLEbyLAR1.get("role"), oobiLEbyLAR2.get("role")); - assertEquals(oobiLEbyLAR1.get("role"), oobiLEbyLAR3.get("role")); + assertEquals(oobiLEbyLAR1.getRole(), oobiLEbyLAR2.getRole()); + assertEquals(oobiLEbyLAR1.getRole(), oobiLEbyLAR3.getRole()); assertEquals(getOobisIndexAt0(oobiLEbyLAR1), getOobisIndexAt0(oobiLEbyLAR2)); assertEquals(getOobisIndexAt0(oobiLEbyLAR1), getOobisIndexAt0(oobiLEbyLAR3)); @@ -1352,9 +1353,7 @@ void testMultisigVleiIssuance() throws Exception { assertEquals(ecrCredSad.get("d"), ecrCredbyECR1Sad.get("d")); } - public String getOobisIndexAt0(Object oobi) { - Map oobiBody = (Map) oobi; - ArrayList oobisResponse = (ArrayList) oobiBody.get("oobis"); - return oobisResponse.getFirst(); + public String getOobisIndexAt0(OOBI oobi) { + return oobi.getOobis().getFirst(); } } diff --git a/src/test/java/org/cardanofoundation/signify/e2e/TestSetupSingleClient.java b/src/test/java/org/cardanofoundation/signify/e2e/TestSetupSingleClient.java index 686b639..f06cd62 100644 --- a/src/test/java/org/cardanofoundation/signify/e2e/TestSetupSingleClient.java +++ b/src/test/java/org/cardanofoundation/signify/e2e/TestSetupSingleClient.java @@ -3,6 +3,7 @@ import org.cardanofoundation.signify.app.clienting.SignifyClient; import org.cardanofoundation.signify.cesr.exceptions.LibsodiumException; import org.cardanofoundation.signify.e2e.utils.ResolveEnv; +import org.cardanofoundation.signify.generated.keria.model.OOBI; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; @@ -42,8 +43,8 @@ public void test_setup_single_client_step1() { @Test public void test_setup_single_client_step2() throws IOException, InterruptedException, LibsodiumException { ResolveEnv.EnvironmentConfig env = ResolveEnv.resolveEnvironment(null); - Map oobi = (Map) client.oobis().get("name1", "witness").get(); - ArrayList oobis = (ArrayList) oobi.get("oobis"); + OOBI oobi = client.oobis().get("name1", "witness").get(); + List oobis = oobi.getOobis(); assertEquals(3, oobis.size()); switch (env.preset()) { case LOCAL: diff --git a/src/test/java/org/cardanofoundation/signify/e2e/utils/TestUtils.java b/src/test/java/org/cardanofoundation/signify/e2e/utils/TestUtils.java index 67b4996..88ba380 100644 --- a/src/test/java/org/cardanofoundation/signify/e2e/utils/TestUtils.java +++ b/src/test/java/org/cardanofoundation/signify/e2e/utils/TestUtils.java @@ -30,6 +30,7 @@ import java.util.concurrent.*; import java.util.function.Supplier; import java.util.stream.Collectors; +import org.cardanofoundation.signify.generated.keria.model.OOBI; import org.cardanofoundation.signify.generated.keria.model.Tier; import static org.cardanofoundation.signify.app.coring.Coring.randomPasscode; @@ -276,8 +277,8 @@ public static String[] getOrCreateIdentifier(SignifyClient client, String name, } } - Object oobi = client.oobis().get(name, "agent").get(); - String getOobi = ((LinkedHashMap) oobi).get("oobis").toString().replaceAll("[\\[\\]]", ""); + OOBI oobi = client.oobis().get(name, "agent").get(); + String getOobi = oobi.getOobis().getFirst(); String[] result = new String[]{ id != null ? id.toString() : null, getOobi };