summaryrefslogtreecommitdiff
path: root/sandbox
diff options
context:
space:
mode:
authorMS <ms@taler.net>2023-05-05 16:59:16 +0200
committerMS <ms@taler.net>2023-05-05 16:59:16 +0200
commit550c2b39faaa8e4384e879b02e6ceabddf24bb36 (patch)
treee47c92afa805cc2dc3bbe8b23cd50ceae8aa4128 /sandbox
parenta52cf289234683c4ff492cd8b508cfb6c85ca1e8 (diff)
downloadlibeufin-550c2b39faaa8e4384e879b02e6ceabddf24bb36.tar.gz
libeufin-550c2b39faaa8e4384e879b02e6ceabddf24bb36.tar.bz2
libeufin-550c2b39faaa8e4384e879b02e6ceabddf24bb36.zip
DB connection via UNIX domain sockets.
That includes switching all the tests to use it.
Diffstat (limited to 'sandbox')
-rw-r--r--sandbox/build.gradle3
-rw-r--r--sandbox/src/main/kotlin/tech/libeufin/sandbox/DB.kt5
-rw-r--r--sandbox/src/main/kotlin/tech/libeufin/sandbox/Main.kt4
-rw-r--r--sandbox/src/test/kotlin/DBTest.kt3
4 files changed, 10 insertions, 5 deletions
diff --git a/sandbox/build.gradle b/sandbox/build.gradle
index aeb2a811..bc57b942 100644
--- a/sandbox/build.gradle
+++ b/sandbox/build.gradle
@@ -77,6 +77,9 @@ dependencies {
testImplementation 'org.jetbrains.kotlin:kotlin-test-junit:1.5.21'
testImplementation 'org.jetbrains.kotlin:kotlin-test:1.5.21'
testImplementation group: "junit", name: "junit", version: '4.13.2'
+
+ // UNIX domain sockets support (used to connect to PostgreSQL)
+ implementation 'com.kohlschutter.junixsocket:junixsocket-core:2.6.2'
}
application {
diff --git a/sandbox/src/main/kotlin/tech/libeufin/sandbox/DB.kt b/sandbox/src/main/kotlin/tech/libeufin/sandbox/DB.kt
index ca83d31a..19d4283d 100644
--- a/sandbox/src/main/kotlin/tech/libeufin/sandbox/DB.kt
+++ b/sandbox/src/main/kotlin/tech/libeufin/sandbox/DB.kt
@@ -33,6 +33,7 @@ import org.jetbrains.exposed.dao.id.LongIdTable
import org.jetbrains.exposed.sql.*
import org.jetbrains.exposed.sql.transactions.TransactionManager
import org.jetbrains.exposed.sql.transactions.transaction
+import tech.libeufin.util.getCurrentUser
import tech.libeufin.util.internalServerError
import java.sql.Connection
import kotlin.reflect.*
@@ -665,7 +666,7 @@ class CashoutSubmissionEntity(id: EntityID<Long>) : LongEntity(id) {
}
fun dbDropTables(dbConnectionString: String) {
- Database.connect(dbConnectionString)
+ Database.connect(dbConnectionString, user = getCurrentUser())
transaction {
SchemaUtils.drop(
CashoutSubmissionsTable,
@@ -690,7 +691,7 @@ fun dbDropTables(dbConnectionString: String) {
}
fun dbCreateTables(dbConnectionString: String) {
- Database.connect(dbConnectionString)
+ Database.connect(dbConnectionString, user = getCurrentUser())
TransactionManager.manager.defaultIsolationLevel = Connection.TRANSACTION_SERIALIZABLE
transaction {
SchemaUtils.create(
diff --git a/sandbox/src/main/kotlin/tech/libeufin/sandbox/Main.kt b/sandbox/src/main/kotlin/tech/libeufin/sandbox/Main.kt
index 4229638b..a6aab42e 100644
--- a/sandbox/src/main/kotlin/tech/libeufin/sandbox/Main.kt
+++ b/sandbox/src/main/kotlin/tech/libeufin/sandbox/Main.kt
@@ -232,7 +232,7 @@ class Camt053Tick : CliktCommand(
) {
override fun run() {
val dbConnString = getDbConnFromEnv(SANDBOX_DB_ENV_VAR_NAME)
- Database.connect(dbConnString)
+ Database.connect(dbConnString, user = getCurrentUser())
dbCreateTables(dbConnString)
val newStatements = mutableMapOf<String, MutableList<XLibeufinBankTransaction>>()
/**
@@ -301,7 +301,7 @@ class MakeTransaction : CliktCommand("Wire-transfer money between Sandbox bank a
override fun run() {
val dbConnString = getDbConnFromEnv(SANDBOX_DB_ENV_VAR_NAME)
- Database.connect(dbConnString)
+ Database.connect(dbConnString, user = getCurrentUser())
// Refuse to operate without a default demobank.
val demobank = getDemobank("default")
if (demobank == null) {
diff --git a/sandbox/src/test/kotlin/DBTest.kt b/sandbox/src/test/kotlin/DBTest.kt
index fb2b8292..519e3bf7 100644
--- a/sandbox/src/test/kotlin/DBTest.kt
+++ b/sandbox/src/test/kotlin/DBTest.kt
@@ -21,6 +21,7 @@ import org.jetbrains.exposed.sql.*
import org.jetbrains.exposed.sql.transactions.transaction
import org.junit.Test
import tech.libeufin.sandbox.*
+import tech.libeufin.util.getCurrentUser
import tech.libeufin.util.millis
import java.io.File
import java.time.LocalDateTime
@@ -38,7 +39,7 @@ fun withTestDatabase(f: () -> Unit) {
it.delete()
}
}
- Database.connect(dbConn)
+ Database.connect(dbConn, user = getCurrentUser())
dbDropTables(dbConn)
dbCreateTables(dbConn)
try { f() }