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:
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