[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[libeufin] 02/05: Adapt tests to #7515.
From: |
gnunet |
Subject: |
[libeufin] 02/05: Adapt tests to #7515. |
Date: |
Mon, 13 Mar 2023 10:25:13 +0100 |
This is an automated email from the git hooks/post-receive script.
ms pushed a commit to branch master
in repository libeufin.
commit d13ac7ba520b7959800905260777f79b5e9bf04c
Author: MS <ms@taler.net>
AuthorDate: Mon Mar 13 09:46:48 2023 +0100
Adapt tests to #7515.
---
nexus/src/main/kotlin/tech/libeufin/nexus/DB.kt | 1 -
nexus/src/main/kotlin/tech/libeufin/nexus/Taler.kt | 2 +-
nexus/src/test/kotlin/MakeEnv.kt | 58 +++++++++-------------
nexus/src/test/kotlin/SandboxAccessApiTest.kt | 5 +-
nexus/src/test/kotlin/SandboxCircuitApiTest.kt | 14 ++++--
nexus/src/test/kotlin/TalerTest.kt | 3 +-
6 files changed, 40 insertions(+), 43 deletions(-)
diff --git a/nexus/src/main/kotlin/tech/libeufin/nexus/DB.kt
b/nexus/src/main/kotlin/tech/libeufin/nexus/DB.kt
index f8ce7bd4..b1e47d3d 100644
--- a/nexus/src/main/kotlin/tech/libeufin/nexus/DB.kt
+++ b/nexus/src/main/kotlin/tech/libeufin/nexus/DB.kt
@@ -387,7 +387,6 @@ class FacadeEntity(id: EntityID<Long>) : LongEntity(id) {
return find { FacadesTable.facadeName eq name}.firstOrNull()
}
}
-
var facadeName by FacadesTable.facadeName
var type by FacadesTable.type
var creator by NexusUserEntity referencedOn FacadesTable.creator
diff --git a/nexus/src/main/kotlin/tech/libeufin/nexus/Taler.kt
b/nexus/src/main/kotlin/tech/libeufin/nexus/Taler.kt
index dc545201..8f1d32f2 100644
--- a/nexus/src/main/kotlin/tech/libeufin/nexus/Taler.kt
+++ b/nexus/src/main/kotlin/tech/libeufin/nexus/Taler.kt
@@ -483,7 +483,7 @@ private suspend fun historyOutgoing(call: ApplicationCall) {
// Handle a /taler-wire-gateway/history/incoming request.
private suspend fun historyIncoming(call: ApplicationCall) {
val facadeId = expectNonNull(call.parameters["fcid"])
- val username = call.request.requirePermission(
+ call.request.requirePermission(
PermissionQuery(
"facade",
facadeId,
diff --git a/nexus/src/test/kotlin/MakeEnv.kt b/nexus/src/test/kotlin/MakeEnv.kt
index 31cc5704..9f8f5249 100644
--- a/nexus/src/test/kotlin/MakeEnv.kt
+++ b/nexus/src/test/kotlin/MakeEnv.kt
@@ -22,8 +22,6 @@ data class EbicsKeys(
val enc: CryptoUtil.RsaCrtKeyPair,
val sig: CryptoUtil.RsaCrtKeyPair
)
-const val TEST_DB_FILE = "/tmp/nexus-test.sqlite3"
-// const val TEST_DB_CONN = "jdbc:sqlite:$TEST_DB_FILE"
// Convenience DB connection to switch to Postgresql:
val currentUser = System.getProperty("user.name")
val TEST_DB_CONN =
"jdbc:postgresql://localhost:5432/libeufincheck?user=$currentUser"
@@ -63,23 +61,11 @@ inline fun <reified ExceptionType> assertException(
* Cleans up the DB file afterwards.
*/
fun withTestDatabase(f: () -> Unit) {
- File(TEST_DB_FILE).also {
- if (it.exists()) {
- it.delete()
- }
- }
Database.connect(TEST_DB_CONN)
TransactionManager.manager.defaultIsolationLevel =
java.sql.Connection.TRANSACTION_SERIALIZABLE
dbDropTables(TEST_DB_CONN)
tech.libeufin.sandbox.dbDropTables(TEST_DB_CONN)
- try { f() }
- finally {
- File(TEST_DB_FILE).also {
- if (it.exists()) {
- it.delete()
- }
- }
- }
+ f()
}
val reportSpec: String = jacksonObjectMapper().
@@ -169,19 +155,21 @@ fun prepNexusDb() {
}
}
-fun prepSandboxDb() {
+fun prepSandboxDb(usersDebtLimit: Int = 1000) {
tech.libeufin.sandbox.dbCreateTables(TEST_DB_CONN)
transaction {
- val demoBank = DemobankConfigEntity.new {
- currency = "TESTKUDOS"
- bankDebtLimit = 10000
- usersDebtLimit = 1000
- allowRegistrations = true
- name = "default"
- this.withSignupBonus = false
- captchaUrl = "http://example.com/" // unused
+ val config = DemobankConfig(
+ currency = "TESTKUDOS",
+ bankDebtLimit = 10000,
+ usersDebtLimit = usersDebtLimit,
+ allowRegistrations = true,
+ demobankName = "default",
+ withSignupBonus = false,
+ captchaUrl = "http://example.com/",
suggestedExchangePayto = "payto://iban/${BAR_USER_IBAN}"
- }
+ )
+ insertConfigPairs(config)
+ val demoBank = DemobankConfigEntity.new { name = "default" }
BankAccountEntity.new {
iban = BANK_IBAN
label = "admin" // used by the wire helper
@@ -275,15 +263,17 @@ fun withSandboxTestDatabase(f: () -> Unit) {
withTestDatabase {
tech.libeufin.sandbox.dbCreateTables(TEST_DB_CONN)
transaction {
- val d = DemobankConfigEntity.new {
- currency = "TESTKUDOS"
- bankDebtLimit = 10000
- usersDebtLimit = 1000
- allowRegistrations = true
- name = "default"
- this.withSignupBonus = false
+ val config = DemobankConfig(
+ currency = "TESTKUDOS",
+ bankDebtLimit = 10000,
+ usersDebtLimit = 1000,
+ allowRegistrations = true,
+ demobankName = "default",
+ withSignupBonus = false,
captchaUrl = "http://example.com/" // unused
- }
+ )
+ insertConfigPairs(config)
+ val d = DemobankConfigEntity.new { name = "default" }
// admin's bank account.
BankAccountEntity.new {
iban = BANK_IBAN
@@ -299,7 +289,7 @@ fun withSandboxTestDatabase(f: () -> Unit) {
fun newNexusBankTransaction(currency: String, value: String, subject: String) {
transaction {
- val inc = NexusBankTransactionEntity.new {
+ NexusBankTransactionEntity.new {
bankAccount = NexusBankAccountEntity.findByName("foo")!!
accountTransactionId = "mock"
creditDebitIndicator = "CRDT"
diff --git a/nexus/src/test/kotlin/SandboxAccessApiTest.kt
b/nexus/src/test/kotlin/SandboxAccessApiTest.kt
index e163a1bb..f924a5fe 100644
--- a/nexus/src/test/kotlin/SandboxAccessApiTest.kt
+++ b/nexus/src/test/kotlin/SandboxAccessApiTest.kt
@@ -5,6 +5,7 @@ import io.ktor.client.statement.*
import io.ktor.http.*
import io.ktor.server.testing.*
import kotlinx.coroutines.runBlocking
+import org.jetbrains.exposed.sql.and
import org.jetbrains.exposed.sql.transactions.transaction
import org.junit.Test
import tech.libeufin.sandbox.*
@@ -66,11 +67,9 @@ class SandboxAccessApiTest {
@Test
fun highAmountWithdraw() {
withTestDatabase {
- prepSandboxDb()
- val b = getDefaultDemobank()
+ prepSandboxDb(usersDebtLimit = 900000000)
testApplication {
application(sandboxApp)
- transaction { b.usersDebtLimit = 900000000 }
// Create the operation.
val r =
client.post("/demobanks/default/access-api/accounts/foo/withdrawals") {
expectSuccess = true
diff --git a/nexus/src/test/kotlin/SandboxCircuitApiTest.kt
b/nexus/src/test/kotlin/SandboxCircuitApiTest.kt
index 350c5e8e..0de4121c 100644
--- a/nexus/src/test/kotlin/SandboxCircuitApiTest.kt
+++ b/nexus/src/test/kotlin/SandboxCircuitApiTest.kt
@@ -5,6 +5,7 @@ import io.ktor.client.statement.*
import io.ktor.http.*
import io.ktor.server.testing.*
import kotlinx.coroutines.runBlocking
+import org.jetbrains.exposed.sql.and
import org.jetbrains.exposed.sql.lowerCase
import org.jetbrains.exposed.sql.transactions.transaction
import org.junit.Ignore
@@ -221,8 +222,15 @@ class SandboxCircuitApiTest {
""".trimIndent())
}
// Give initial balance to the new account.
- val demobank = getDefaultDemobank()
- transaction { demobank.usersDebtLimit = 0 }
+ // Forcing different debt limit:
+ transaction {
+ val configRaw = DemobankConfigPairEntity.find {
+ DemobankConfigPairsTable.demobankName eq "default" and(
+ DemobankConfigPairsTable.configKey eq
"usersDebtLimit"
+ )
+ }.first()
+ configRaw.configValue = 0.toString()
+ }
val initialBalance = "TESTKUDOS:50.00"
val balanceAfterCashout = "TESTKUDOS:30.00"
wireTransfer(
@@ -514,7 +522,7 @@ class SandboxCircuitApiTest {
uCustomerProfile.delete()
}
val barBalanceUpdate = getBalance("bar")
- assert(barBalance == BigDecimal("3"))
+ assert(barBalanceUpdate == BigDecimal("3"))
}
}
}
diff --git a/nexus/src/test/kotlin/TalerTest.kt
b/nexus/src/test/kotlin/TalerTest.kt
index 7dce7a25..22493606 100644
--- a/nexus/src/test/kotlin/TalerTest.kt
+++ b/nexus/src/test/kotlin/TalerTest.kt
@@ -32,11 +32,12 @@ class TalerTest {
application(nexusApp)
runBlocking {
launch {
- val r =
client.get("/facades/taler/taler-wire-gateway/history/incoming?delta=5&start=3")
{
+ val r =
client.get("/facades/taler/taler-wire-gateway/history/incoming?delta=5&start=0&long_poll_ms=3000")
{
expectSuccess = false
contentType(ContentType.Application.Json)
basicAuth("foo", "foo")
}
+ println("maybe response body: ${r.bodyAsText()}")
assert(r.status.value == HttpStatusCode.OK.value)
val j = mapper.readTree(r.readBytes())
val reservePubFromTwg =
j.get("incoming_transactions").get(0).get("reserve_pub").asText()
--
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.