如果我使用MockNetwork
从单元测试中调用flowSession.getCounterpartyFlowInfo()
,它将返回FlowInfo(flowVersion=1, appName=<unknown>)
这是我当前的MockNetwork
配置:
network = MockNetwork(
MockNetworkParameters(
cordappsForAllNodes = listOf(
TestCordapp.findCordapp("com.example.contract"),
TestCordapp.findCordapp("com.example.workflow")
),
networkParameters = testNetworkParameters(
minimumPlatformVersion = 5
)
)
)
有没有一种方法可以指定在模拟网络中运行的应用程序的appName
?
我不认为有这样的配置。appName是通过删除扩展名".jar"从jar文件名派生而来的。
对于MockNode,将扫描包并加载类。
以下是它的来源:
val Class<out FlowLogic<*>>.appName: String
get() {
val jarFile = location.toPath()
return if (jarFile.isRegularFile() && jarFile.toString().endsWith(".jar")) {
jarFile.fileName.toString().removeSuffix(".jar")
} else {
"<unknown>"
}
}