diff options
Diffstat (limited to 'merchant-lib/src/test')
-rw-r--r-- | merchant-lib/src/test/java/net/taler/merchantlib/MerchantApiTest.kt | 18 | ||||
-rw-r--r-- | merchant-lib/src/test/java/net/taler/merchantlib/MockHttpClient.kt | 24 |
2 files changed, 20 insertions, 22 deletions
diff --git a/merchant-lib/src/test/java/net/taler/merchantlib/MerchantApiTest.kt b/merchant-lib/src/test/java/net/taler/merchantlib/MerchantApiTest.kt index 6abacfd..cf627c6 100644 --- a/merchant-lib/src/test/java/net/taler/merchantlib/MerchantApiTest.kt +++ b/merchant-lib/src/test/java/net/taler/merchantlib/MerchantApiTest.kt @@ -19,11 +19,11 @@ package net.taler.merchantlib import io.ktor.http.HttpStatusCode.Companion.NotFound import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.runBlocking -import kotlinx.coroutines.test.TestCoroutineDispatcher +import kotlinx.coroutines.test.UnconfinedTestDispatcher +import net.taler.common.Amount import net.taler.common.ContractProduct import net.taler.common.ContractTerms -import net.taler.lib.common.Amount -import net.taler.lib.common.Timestamp +import net.taler.common.Timestamp import net.taler.merchantlib.MockHttpClient.giveJsonResponse import net.taler.merchantlib.MockHttpClient.httpClient import org.junit.Assert.assertEquals @@ -33,7 +33,7 @@ import org.junit.Test @ExperimentalCoroutinesApi class MerchantApiTest { - private val api = MerchantApi(httpClient, TestCoroutineDispatcher()) + private val api = MerchantApi(httpClient, UnconfinedTestDispatcher()) private val merchantConfig = MerchantConfig( baseUrl = "http://example.net/instances/testInstance", apiKey = "apiKeyFooBar" @@ -80,7 +80,7 @@ class MerchantApiTest { { "product_id": "${product.productId}", "description": "${product.description}", - "price": "${product.price.toJSONString()}", + "price": "${product.price!!.toJSONString()}", "quantity": ${product.quantity} } ] @@ -172,7 +172,7 @@ class MerchantApiTest { "order_id": "2020.217-0281FGXCS25P2", "row_id": 183, "timestamp": { - "t_ms": 1596542338000 + "t_s": 1596542338 }, "amount": "TESTKUDOS:1", "summary": "Chips", @@ -183,7 +183,7 @@ class MerchantApiTest { "order_id": "2020.216-01G2ZPXSP6BYT", "row_id": 154, "timestamp": { - "t_ms": 1596468174000 + "t_s": 1596468174 }, "amount": "TESTKUDOS:0.8", "summary": "Peanuts", @@ -202,7 +202,7 @@ class MerchantApiTest { assertEquals(true, order1.paid) assertEquals(true, order1.refundable) assertEquals("Chips", order1.summary) - assertEquals(Timestamp(1596542338000), order1.timestamp) + assertEquals(Timestamp.fromMillis(1596542338000), order1.timestamp) val order2 = it.orders[1] assertEquals(Amount("TESTKUDOS", 0, 80000000), order2.amount) @@ -210,7 +210,7 @@ class MerchantApiTest { assertEquals(false, order2.paid) assertEquals(false, order2.refundable) assertEquals("Peanuts", order2.summary) - assertEquals(Timestamp(1596468174000), order2.timestamp) + assertEquals(Timestamp.fromMillis(1596468174000), order2.timestamp) } } diff --git a/merchant-lib/src/test/java/net/taler/merchantlib/MockHttpClient.kt b/merchant-lib/src/test/java/net/taler/merchantlib/MockHttpClient.kt index c8e6f22..32c7ee1 100644 --- a/merchant-lib/src/test/java/net/taler/merchantlib/MockHttpClient.kt +++ b/merchant-lib/src/test/java/net/taler/merchantlib/MockHttpClient.kt @@ -20,11 +20,7 @@ import io.ktor.client.HttpClient import io.ktor.client.engine.mock.MockEngine import io.ktor.client.engine.mock.MockEngineConfig import io.ktor.client.engine.mock.respond -import io.ktor.client.features.json.JsonFeature -import io.ktor.client.features.logging.LogLevel -import io.ktor.client.features.logging.Logger -import io.ktor.client.features.logging.Logging -import io.ktor.client.features.logging.SIMPLE +import io.ktor.client.plugins.contentnegotiation.ContentNegotiation import io.ktor.http.ContentType.Application.Json import io.ktor.http.HttpStatusCode import io.ktor.http.Url @@ -32,29 +28,31 @@ import io.ktor.http.content.TextContent import io.ktor.http.fullPath import io.ktor.http.headersOf import io.ktor.http.hostWithPort +import io.ktor.serialization.kotlinx.json.json +import kotlinx.serialization.json.Json import kotlinx.serialization.json.Json.Default.parseToJsonElement import org.junit.Assert.assertEquals object MockHttpClient { val httpClient = HttpClient(MockEngine) { - install(JsonFeature) { - serializer = getSerializer() - } - install(Logging) { - logger = Logger.SIMPLE - level = LogLevel.ALL - } engine { addHandler { error("No response handler set") } } + expectSuccess = true + install(ContentNegotiation) { + json(Json { + encodeDefaults = false + ignoreUnknownKeys = true + }) + } } fun HttpClient.giveJsonResponse( url: String, expectedBody: String? = null, statusCode: HttpStatusCode = HttpStatusCode.OK, - jsonProducer: () -> String + jsonProducer: () -> String, ) { val httpConfig = engineConfig as MockEngineConfig httpConfig.requestHandlers.removeAt(0) |