diff --git a/mediator/src/test/scala/io/iohk/atala/mediator/db/EmbeddedMongoDBInstance.scala b/mediator/src/test/scala/io/iohk/atala/mediator/db/EmbeddedMongoDBInstance.scala index 422c4a5d..1b4cd1d3 100644 --- a/mediator/src/test/scala/io/iohk/atala/mediator/db/EmbeddedMongoDBInstance.scala +++ b/mediator/src/test/scala/io/iohk/atala/mediator/db/EmbeddedMongoDBInstance.scala @@ -12,13 +12,7 @@ object EmbeddedMongoDBInstance { val port = 27777 val hostIp = "localhost" val connectionString = s"mongodb://$hostIp:$port/messages" - val index = Index( - key = Seq("alias" -> IndexType.Ascending), - name = Some("alias_did"), - unique = true, - background = true, - partialFilter = Some(BSONDocument("alias.0" -> BSONDocument("$exists" -> true))) - ) + def layer( port: Int = 27077, hostIp: String = "localhost" diff --git a/mediator/src/test/scala/io/iohk/atala/mediator/db/UserAccountRepoSpec.scala b/mediator/src/test/scala/io/iohk/atala/mediator/db/UserAccountRepoSpec.scala index a6252522..6c748d8b 100644 --- a/mediator/src/test/scala/io/iohk/atala/mediator/db/UserAccountRepoSpec.scala +++ b/mediator/src/test/scala/io/iohk/atala/mediator/db/UserAccountRepoSpec.scala @@ -10,8 +10,10 @@ import zio.json.* import zio.test.* import zio.test.Assertion.* import io.iohk.atala.mediator.db.EmbeddedMongoDBInstance.* +import io.iohk.atala.mediator.protocols.MessageSetup + import scala.concurrent.ExecutionContext.Implicits.global -object UserAccountRepoSpec extends ZIOSpecDefault with DidAccountStubSetup { +object UserAccountRepoSpec extends ZIOSpecDefault with DidAccountStubSetup with MessageSetup { override def spec = suite("UserAccountRepoSpec")( test("insert new Did Account") { diff --git a/mediator/src/test/scala/io/iohk/atala/mediator/protocols/ForwardMessageExecutorSpec.scala b/mediator/src/test/scala/io/iohk/atala/mediator/protocols/ForwardMessageExecutorSpec.scala index c692b20c..07129cb9 100644 --- a/mediator/src/test/scala/io/iohk/atala/mediator/protocols/ForwardMessageExecutorSpec.scala +++ b/mediator/src/test/scala/io/iohk/atala/mediator/protocols/ForwardMessageExecutorSpec.scala @@ -66,14 +66,7 @@ object ForwardMessageExecutorSpec extends ZIOSpecDefault with DidAccountStubSetu .provideSomeLayer(AgentStub.agentLayer) .provideLayerShared(dataAccessLayer) @@ TestAspect.sequential - def setupAndClean = { - for { - userAccount <- ZIO.service[UserAccountRepo] - col <- userAccount.collection - _ = col.indexesManager.create(index) - _ = col.delete.one(BSONDocument()) - } yield {} - } + val dataAccessLayer = EmbeddedMongoDBInstance.layer(port, hostIp) >>> AsyncDriverResource.layer diff --git a/mediator/src/test/scala/io/iohk/atala/mediator/protocols/MediatorCoordinationExecuterSpec.scala b/mediator/src/test/scala/io/iohk/atala/mediator/protocols/MediatorCoordinationExecuterSpec.scala index 13065ef5..25367fc6 100644 --- a/mediator/src/test/scala/io/iohk/atala/mediator/protocols/MediatorCoordinationExecuterSpec.scala +++ b/mediator/src/test/scala/io/iohk/atala/mediator/protocols/MediatorCoordinationExecuterSpec.scala @@ -129,19 +129,6 @@ object MediatorCoordinationExecuterSpec extends ZIOSpecDefault with DidAccountSt .provideLayerShared(dataAccessLayer) @@ TestAspect.sequential } - def setupAndClean = { - for { - userAccount <- ZIO.service[UserAccountRepo] - col <- userAccount.collection - _ <- ZIO.fromFuture { implicit ec => - col.indexesManager.create(index) - } - _ <- ZIO.fromFuture { implicit ec => - col.delete.one(BSONDocument()) - } - } yield {} - } - val dataAccessLayer = EmbeddedMongoDBInstance.layer(port, hostIp) >>> AsyncDriverResource.layer >>> ReactiveMongoApi.layer(connectionString) diff --git a/mediator/src/test/scala/io/iohk/atala/mediator/protocols/MessageSetup.scala b/mediator/src/test/scala/io/iohk/atala/mediator/protocols/MessageSetup.scala index 65fc17a9..0174687c 100644 --- a/mediator/src/test/scala/io/iohk/atala/mediator/protocols/MessageSetup.scala +++ b/mediator/src/test/scala/io/iohk/atala/mediator/protocols/MessageSetup.scala @@ -1,9 +1,33 @@ package io.iohk.atala.mediator.protocols import fmgp.did.comm.{EncryptedMessage, PlaintextMessage} +import io.iohk.atala.mediator.db.UserAccountRepo +import reactivemongo.api.bson.BSONDocument +import zio.ZIO import zio.json.* +import reactivemongo.api.indexes.{Index, IndexType} trait MessageSetup { + val index = Index( + key = Seq("alias" -> IndexType.Ascending), + name = Some("alias_did"), + unique = true, + background = true, + partialFilter = Some(BSONDocument("alias.0" -> BSONDocument("$exists" -> true))) + ) + def setupAndClean = { + for { + userAccount <- ZIO.service[UserAccountRepo] + col <- userAccount.collection + _ <- ZIO.fromFuture { implicit ec => + col.indexesManager.create(index) + } + _ <- ZIO.fromFuture { implicit ec => + col.delete.one(BSONDocument()) + } + } yield {} + } + val mediatorDid = "did:peer:2.Ez6LSkGy3e2z54uP4U9HyXJXRpaF2ytsnTuVgh6SNNmCyGZQZ.Vz6Mkjdwvf9hWc6ibZndW9B97si92DSk9hWAhGYBgP9kUFk8Z.SeyJ0IjoiZG0iLCJzIjoiaHR0cHM6Ly9ib2IuZGlkLmZtZ3AuYXBwLyIsInIiOltdLCJhIjpbImRpZGNvbW0vdjIiXX0" val plaintextForwardNotEnrolledDidMessage: Either[String, PlaintextMessage] = diff --git a/mediator/src/test/scala/io/iohk/atala/mediator/protocols/PickupExecuterSpec.scala b/mediator/src/test/scala/io/iohk/atala/mediator/protocols/PickupExecuterSpec.scala index ad87a269..47b562f8 100644 --- a/mediator/src/test/scala/io/iohk/atala/mediator/protocols/PickupExecuterSpec.scala +++ b/mediator/src/test/scala/io/iohk/atala/mediator/protocols/PickupExecuterSpec.scala @@ -156,19 +156,6 @@ object PickupExecuterSpec extends ZIOSpecDefault with DidAccountStubSetup with M .provideLayerShared(dataAccessLayer) @@ TestAspect.sequential } - def setupAndClean = { - for { - userAccount <- ZIO.service[UserAccountRepo] - col <- userAccount.collection - _ <- ZIO.fromFuture { implicit ec => - col.indexesManager.create(index) - } - _ <- ZIO.fromFuture { implicit ec => - col.delete.one(BSONDocument()) - } - } yield {} - } - val dataAccessLayer = EmbeddedMongoDBInstance.layer(port, hostIp) >>> AsyncDriverResource.layer >>> ReactiveMongoApi.layer(connectionString) diff --git a/webapp/src/main/scala/io/iohk/atala/mediator/MediatorInfo.scala b/webapp/src/main/scala/io/iohk/atala/mediator/MediatorInfo.scala index 9bf77dd9..b5e46041 100644 --- a/webapp/src/main/scala/io/iohk/atala/mediator/MediatorInfo.scala +++ b/webapp/src/main/scala/io/iohk/atala/mediator/MediatorInfo.scala @@ -17,7 +17,10 @@ object MediatorInfo { goal = Some("RequestMediate"), accept = Some(Seq("didcomm/v2")), ) - val qrCodeData = OutOfBandPlaintext.from(invitation.toPlaintextMessage).makeURI("#/") + val host = dom.window.location.host + val scheme = dom.window.location.protocol + val fullPath = s"${scheme}//${host}" + val qrCodeData = OutOfBandPlaintext.from(invitation.toPlaintextMessage).makeURI(s"$fullPath") val divQRCode = div() { @@ -35,7 +38,7 @@ object MediatorInfo { code(invitation.from.value), ), h3("Plaintext out of band invitation:"), - p(a(href := qrCodeData, target := "_blank", code(qrCodeData))), // FIXME make it a link to the mobile app + p(a(href := fullPath, target := "_blank", code(qrCodeData))), // FIXME make it a link to the mobile app pre(code(invitation.toPlaintextMessage.toJsonPretty)), p( "To facilitate the integration with other systems you can get the plain text invitation and the out-of-band invitation on the following endpoints:",