def executeGstFlow(name, userCLI, userMap, be, connectedToTest, do, fMap, aMap, jobCertificateClaimMap, newKeyringOut, reqClaimOut, reqClaimOut1, syncLinkOutWithEndpoint, syncedInviteAcceptedOutWithoutClaims, tMap, transcriptClaimMap): async def getPublicKey(wallet, schemaId): return await wallet.getPublicKey(schemaId) async def getClaim(schemaId): return await userCLI.agent.prover.wallet.getClaims(schemaId) # Start User cli be(userCLI) setPromptAndKeyring(do, name, newKeyringOut, userMap) do('connect test', within=3, expect=connectedToTest) # Accept faber do('load sample/faber-invitation.sovrin') syncInvite(be, do, userCLI, syncLinkOutWithEndpoint, fMap) do('show link faber') acceptInvitation(be, do, userCLI, fMap, syncedInviteAcceptedOutWithoutClaims) # Request claim do('show claim Transcript') aliceRequestedTranscriptClaim(be, do, userCLI, transcriptClaimMap, reqClaimOut, None, # Passing None since its not used None) # Passing None since its not used faberSchemaId = ID(SchemaKey('Transcript', '1.2', fMap['remote'])) faberIssuerPublicKey = userCLI.looper.run( getPublicKey(faberAgent.issuer.wallet, faberSchemaId)) userFaberIssuerPublicKey = userCLI.looper.run( getPublicKey(userCLI.agent.prover.wallet, faberSchemaId)) assert faberIssuerPublicKey == userFaberIssuerPublicKey do('show claim Transcript') assert userCLI.looper.run(getClaim(faberSchemaId)) # Accept acme do('load sample/acme-job-application.sovrin') syncInvite(be, do, userCLI, syncLinkOutWithEndpoint, aMap) acceptInvitation(be, do, userCLI, aMap, syncedInviteAcceptedOutWithoutClaims) # Send claim do('show claim request Job-Application') do('set first_name to Alice') do('set last_name to Garcia') do('set phone_number to 123-45-6789') do('show claim request Job-Application') # Passing some args as None since they are not used in the method jobApplicationProofSent(be, do, userCLI, aMap, None, None, None) do('show claim Job-Certificate') # Request new available claims Job-Certificate jobCertClaimRequested(be, do, userCLI, None, jobCertificateClaimMap, reqClaimOut1, None) acmeSchemaId = ID(SchemaKey('Job-Certificate', '0.2', aMap['remote'])) acmeIssuerPublicKey = userCLI.looper.run(getPublicKey( acmeAgent.issuer.wallet, acmeSchemaId)) userAcmeIssuerPublicKey = userCLI.looper.run(getPublicKey( userCLI.agent.prover.wallet, acmeSchemaId)) assert acmeIssuerPublicKey == userAcmeIssuerPublicKey do('show claim Job-Certificate') assert userCLI.looper.run(getClaim(acmeSchemaId)) # Accept thrift do('load sample/thrift-loan-application.sovrin') acceptInvitation(be, do, userCLI, tMap, syncedInviteAcceptedOutWithoutClaims) # Send proofs bankBasicProofSent(be, do, userCLI, tMap, None) thriftAcmeIssuerPublicKey = userCLI.looper.run(getPublicKey( thriftAgent.issuer.wallet, acmeSchemaId)) assert acmeIssuerPublicKey == thriftAcmeIssuerPublicKey passed = False try: bankKYCProofSent(be, do, userCLI, tMap, None) passed = True except: thriftFaberIssuerPublicKey = userCLI.looper.run(getPublicKey( thriftAgent.issuer.wallet, faberSchemaId)) assert faberIssuerPublicKey == thriftFaberIssuerPublicKey assert passed
def testInvitationAcceptedIfAgentWasAddedUsingBase58AsPubkey( be, do, aliceCli, faberMap, preRequisite, syncedInviteAcceptedWithClaimsOut, faberInviteSyncedWithEndpoint): acceptInvitation(be, do, aliceCli, faberMap, syncedInviteAcceptedWithClaimsOut)
def executeGstFlow(name, userCLI, userMap, be, connectedToTest, do, fMap, aMap, jobCertificateClaimMap, newKeyringOut, reqClaimOut, reqClaimOut1, syncLinkOutWithEndpoint, syncedInviteAcceptedOutWithoutClaims, tMap, transcriptClaimMap): async def getPublicKey(wallet, schemaId): return await wallet.getPublicKey(schemaId) async def getClaim(schemaId): return await userCLI.agent.prover.wallet.getClaimSignature(schemaId ) # Start User cli be(userCLI) setPromptAndKeyring(do, name, newKeyringOut, userMap) do('connect test', within=3, expect=connectedToTest) # Accept faber do('load sample/faber-invitation.sovrin') syncInvite(be, do, userCLI, syncLinkOutWithEndpoint, fMap) do('show link faber') acceptInvitation(be, do, userCLI, fMap, syncedInviteAcceptedOutWithoutClaims) # Request claim do('show claim Transcript') aliceRequestedTranscriptClaim( be, do, userCLI, transcriptClaimMap, reqClaimOut, None, # Passing None since its not used None) # Passing None since its not used faberSchemaId = ID(SchemaKey('Transcript', '1.2', fMap['remote'])) faberIssuerPublicKey = userCLI.looper.run( getPublicKey(faberAgent.issuer.wallet, faberSchemaId)) userFaberIssuerPublicKey = userCLI.looper.run( getPublicKey(userCLI.agent.prover.wallet, faberSchemaId)) assert faberIssuerPublicKey == userFaberIssuerPublicKey do('show claim Transcript') assert userCLI.looper.run(getClaim(faberSchemaId)) # Accept acme do('load sample/acme-job-application.sovrin') syncInvite(be, do, userCLI, syncLinkOutWithEndpoint, aMap) acceptInvitation(be, do, userCLI, aMap, syncedInviteAcceptedOutWithoutClaims) # Send claim do('show claim request Job-Application') do('set first_name to Alice') do('set last_name to Garcia') do('set phone_number to 123-45-6789') do('show claim request Job-Application') # Passing some args as None since they are not used in the method jobApplicationProofSent(be, do, userCLI, aMap, None, None, None) do('show claim Job-Certificate') # Request new available claims Job-Certificate jobCertClaimRequested(be, do, userCLI, None, jobCertificateClaimMap, reqClaimOut1, None) acmeSchemaId = ID(SchemaKey('Job-Certificate', '0.2', aMap['remote'])) acmeIssuerPublicKey = userCLI.looper.run( getPublicKey(acmeAgent.issuer.wallet, acmeSchemaId)) userAcmeIssuerPublicKey = userCLI.looper.run( getPublicKey(userCLI.agent.prover.wallet, acmeSchemaId)) assert acmeIssuerPublicKey == userAcmeIssuerPublicKey do('show claim Job-Certificate') assert userCLI.looper.run(getClaim(acmeSchemaId)) # Accept thrift do('load sample/thrift-loan-application.sovrin') acceptInvitation(be, do, userCLI, tMap, syncedInviteAcceptedOutWithoutClaims) # Send proofs bankBasicProofSent(be, do, userCLI, tMap, None) thriftAcmeIssuerPublicKey = userCLI.looper.run( getPublicKey(thriftAgent.issuer.wallet, acmeSchemaId)) assert acmeIssuerPublicKey == thriftAcmeIssuerPublicKey passed = False try: bankKYCProofSent(be, do, userCLI, tMap, None) passed = True except: thriftFaberIssuerPublicKey = userCLI.looper.run( getPublicKey(thriftAgent.issuer.wallet, faberSchemaId)) assert faberIssuerPublicKey == thriftFaberIssuerPublicKey assert passed
def testInvitationNotAcceptedIfAgentWasAddedUsingHexAsPubkey( be, do, aliceCli, faberMap, preRequisite, syncedInviteAcceptedWithClaimsOut, faberInviteSyncedWithEndpoint): with pytest.raises(BlowUp): acceptInvitation(be, do, aliceCli, faberMap, syncedInviteAcceptedWithClaimsOut)