mirror of
https://github.com/corda/corda.git
synced 2025-04-15 15:07:03 +00:00
Added a trade to the test.
This commit is contained in:
parent
6be21c7da4
commit
d1c9cabd18
@ -1,5 +1,6 @@
|
||||
package net.corda.vega
|
||||
|
||||
import com.opengamma.strata.product.common.BuySell
|
||||
import net.corda.core.getOrThrow
|
||||
import net.corda.core.node.services.ServiceInfo
|
||||
import net.corda.node.driver.driver
|
||||
@ -8,8 +9,11 @@ import net.corda.testing.IntegrationTestCategory
|
||||
import net.corda.testing.getHostAndPort
|
||||
import net.corda.testing.http.HttpApi
|
||||
import net.corda.vega.api.PortfolioApi
|
||||
import net.corda.vega.api.SwapDataModel
|
||||
import net.corda.vega.portfolio.Portfolio
|
||||
import org.junit.Test
|
||||
import java.math.BigDecimal
|
||||
import java.time.LocalDate
|
||||
|
||||
class SimmValuationTest: IntegrationTestCategory {
|
||||
|
||||
@ -20,12 +24,13 @@ class SimmValuationTest: IntegrationTestCategory {
|
||||
val nodeAAddr = startNode("Bank A").getOrThrow().config.getHostAndPort("webAddress")
|
||||
val nodeBAddr = startNode(nodeBLegalName).getOrThrow().config.getHostAndPort("webAddress")
|
||||
|
||||
val nodeA = HttpApi.fromHostAndPort(nodeAAddr, "simmvaluationdemo")
|
||||
val nodeA = HttpApi.fromHostAndPort(nodeAAddr, "api/simmvaluationdemo")
|
||||
|
||||
val parties = getAvailablePartiesFor(nodeA)
|
||||
val nodeB = parties.counterparties.single { it.text == nodeBLegalName}
|
||||
assert(createTradeBetween(nodeA, nodeB))
|
||||
assert(runValuationsBetween(nodeA, nodeB))
|
||||
waitForAllNodesToFinish()
|
||||
}
|
||||
}
|
||||
|
||||
@ -33,12 +38,13 @@ class SimmValuationTest: IntegrationTestCategory {
|
||||
return api.getJson<PortfolioApi.AvailableParties>("whoami")
|
||||
}
|
||||
|
||||
// TODO: create, verify, run, verify or determine a better test structure.
|
||||
private fun createTradeBetween(api: HttpApi, counterparty: PortfolioApi.ApiParty): Boolean {
|
||||
return api.postJson("{$counterparty.id}/trades", mapOf("a" to "a"))
|
||||
val trade = SwapDataModel("trade1", "desc", LocalDate.parse("2016-01-01"), "EUR_FIXED_1Y_EURIBOR_3M",
|
||||
LocalDate.parse("2016-01-02"), LocalDate.parse("2020-01-02"), BuySell.BUY, BigDecimal.valueOf(1000), BigDecimal.valueOf(0.1))
|
||||
return api.putJson("${counterparty.id}/trades", trade)
|
||||
}
|
||||
|
||||
private fun runValuationsBetween(api: HttpApi, counterparty: PortfolioApi.ApiParty): Boolean {
|
||||
return api.postJson("{$counterparty.id/trade/TODO/valuations/calculate")
|
||||
return api.postJson("${counterparty.id}/trade/TODO/valuations/calculate")
|
||||
}
|
||||
}
|
@ -1,6 +1,7 @@
|
||||
package net.corda.testing.http
|
||||
|
||||
import com.fasterxml.jackson.databind.ObjectMapper
|
||||
import com.fasterxml.jackson.module.kotlin.KotlinModule
|
||||
import net.corda.core.utilities.loggerFor
|
||||
import okhttp3.*
|
||||
import java.net.URL
|
||||
@ -30,7 +31,7 @@ object HttpUtils {
|
||||
inline fun<reified T: Any> getJson(url: URL, params: Map<String, String> = mapOf()) : T {
|
||||
val paramString = if(params.isEmpty()) "" else "?" + params.map { "${it.key}=${it.value}" }.joinToString("&")
|
||||
val parameterisedUrl = URL(url.toExternalForm() + paramString)
|
||||
return ObjectMapper().readValue(parameterisedUrl, T::class.java)
|
||||
return ObjectMapper().registerModule(KotlinModule()).readValue(parameterisedUrl, T::class.java)
|
||||
}
|
||||
|
||||
private fun makeRequest(request: Request): Boolean {
|
||||
|
Loading…
x
Reference in New Issue
Block a user