libeufin

Integration and sandbox testing for FinTech APIs and data formats
Log | Files | Refs | Submodules | README | LICENSE

commit ee10f1d3346c3bf5d5c9820146cdaad50b85d466
parent 04c5aa01c3b57e3c0c30795c0d9fdf0aeab10844
Author: MS <ms@taler.net>
Date:   Sat,  1 Apr 2023 22:29:45 +0200

x-libeufin-bank connection.

Adding the method to show the connection details.

Diffstat:
Mnexus/src/main/kotlin/tech/libeufin/nexus/xlibeufinbank/XLibeufinBankNexus.kt | 12+++++++++++-
Mnexus/src/test/kotlin/XLibeufinBankTest.kt | 20++++++++++++++++++++
2 files changed, 31 insertions(+), 1 deletion(-)

diff --git a/nexus/src/main/kotlin/tech/libeufin/nexus/xlibeufinbank/XLibeufinBankNexus.kt b/nexus/src/main/kotlin/tech/libeufin/nexus/xlibeufinbank/XLibeufinBankNexus.kt @@ -1,6 +1,7 @@ package tech.libeufin.nexus.xlibeufinbank import com.fasterxml.jackson.databind.JsonNode +import com.fasterxml.jackson.databind.ObjectMapper import com.fasterxml.jackson.module.kotlin.jacksonObjectMapper import io.ktor.client.* import io.ktor.client.plugins.* @@ -99,7 +100,16 @@ class XlibeufinBankConnectionProtocol : BankConnectionProtocol { } override fun getConnectionDetails(conn: NexusBankConnectionEntity): JsonNode { - TODO("Not yet implemented") + val credentials = getXLibeufinBankCredentials(conn) + val mapper = ObjectMapper() + val details = mapper.createObjectNode() + details.put("baseUrl", credentials.baseUrl) + details.put("username", credentials.username) + val node = mapper.createObjectNode() + node.put("type", conn.type) + node.put("owner", conn.owner.username) + node.set<JsonNode>("details", details) + return node } override fun exportBackup(bankConnectionId: String, passphrase: String): JsonNode { diff --git a/nexus/src/test/kotlin/XLibeufinBankTest.kt b/nexus/src/test/kotlin/XLibeufinBankTest.kt @@ -1,5 +1,8 @@ import com.fasterxml.jackson.databind.ObjectMapper import com.fasterxml.jackson.module.kotlin.jacksonObjectMapper +import io.ktor.client.plugins.* +import io.ktor.client.request.* +import io.ktor.client.statement.* import io.ktor.server.testing.* import org.jetbrains.exposed.sql.transactions.transaction import org.junit.Test @@ -137,4 +140,21 @@ class XLibeufinBankTest { } } } + + // Testing that Nexus responds with correct connection details. + // Currently only testing that the request doesn't throw any error. + @Test + fun connectionDetails() { + withTestDatabase { + prepNexusDb() + testApplication { + application(nexusApp) + val r = client.get("/bank-connections/bar") { + basicAuth("bar", "bar") + expectSuccess = true + } + println(r.bodyAsText()) + } + } + } } \ No newline at end of file