diff options
Diffstat (limited to 'testbench/src/test/kotlin/IntegrationTest.kt')
-rw-r--r-- | testbench/src/test/kotlin/IntegrationTest.kt | 21 |
1 files changed, 10 insertions, 11 deletions
diff --git a/testbench/src/test/kotlin/IntegrationTest.kt b/testbench/src/test/kotlin/IntegrationTest.kt index 2f529a90..b6ede6c0 100644 --- a/testbench/src/test/kotlin/IntegrationTest.kt +++ b/testbench/src/test/kotlin/IntegrationTest.kt @@ -119,15 +119,10 @@ class IntegrationTest { suspend fun checkCount(db: NexusDb, nbIncoming: Int, nbBounce: Int, nbTalerable: Int) { db.conn { conn -> - conn.prepareStatement("SELECT count(*) FROM incoming_transactions").oneOrNull { - assertEquals(nbIncoming, it.getInt(1)) - } - conn.prepareStatement("SELECT count(*) FROM bounced_transactions").oneOrNull { - assertEquals(nbBounce, it.getInt(1)) - } - conn.prepareStatement("SELECT count(*) FROM talerable_incoming_transactions").oneOrNull { - assertEquals(nbTalerable, it.getInt(1)) - } + val cIncoming = conn.prepareStatement("SELECT count(*) FROM incoming_transactions").one { it.getInt(1) } + val cBounce = conn.prepareStatement("SELECT count(*) FROM bounced_transactions").one { it.getInt(1) } + val cTalerable = conn.prepareStatement("SELECT count(*) FROM talerable_incoming_transactions").one { it.getInt(1) } + assertEquals(Triple(nbIncoming, nbBounce, nbTalerable), Triple(cIncoming, cBounce, cTalerable)) } } @@ -202,18 +197,22 @@ class IntegrationTest { }.assertNoContent() // Check success - ingestIncomingPayment(db, IncomingPayment( + val valid_payment = IncomingPayment( amount = TalerAmount("EUR:10"), debitPaytoUri = userPayTo.toString(), wireTransferSubject = "Success ${Base32Crockford32B.rand().encoded()}", executionTime = Instant.now(), bankId = "success" - )) + ) + ingestIncomingPayment(db, valid_payment) checkCount(db, 2, 1, 1) client.get("http://0.0.0.0:8080/accounts/exchange/transactions") { basicAuth("exchange", "password") }.assertOkJson<BankAccountTransactionsResponse>() + // Check idempotency + ingestIncomingPayment(db, valid_payment) + checkCount(db, 2, 1, 1) // TODO check double insert cashin with different subject } } |