mirror of
https://github.com/corda/corda.git
synced 2025-06-23 01:19:00 +00:00
CORDA-1521 - Fix rpc attachment smoke test / better AMQP logging (#3213)
* CORDA-1521 - Fix rpc attachment smoke test / better AMQP logging * Remove poor debug message * Review comments * reduce debug spam
This commit is contained in:
@ -0,0 +1,53 @@
|
||||
package net.corda.serialization.internal.amqp
|
||||
|
||||
import net.corda.core.internal.InputStreamAndHash
|
||||
import net.corda.serialization.internal.amqp.custom.InputStreamSerializer
|
||||
import net.corda.serialization.internal.amqp.testutils.TestSerializationOutput
|
||||
import net.corda.serialization.internal.amqp.testutils.deserialize
|
||||
import net.corda.serialization.internal.amqp.testutils.testDefaultFactory
|
||||
import org.junit.Test
|
||||
import java.io.FilterInputStream
|
||||
import java.io.InputStream
|
||||
|
||||
class StreamTests {
|
||||
|
||||
private class WrapperStream(input: InputStream) : FilterInputStream(input)
|
||||
|
||||
@Test
|
||||
fun inputStream() {
|
||||
val attachment = InputStreamAndHash.createInMemoryTestZip(2116, 1)
|
||||
val id : InputStream = WrapperStream(attachment.inputStream)
|
||||
|
||||
val serializerFactory = testDefaultFactory().apply {
|
||||
register(InputStreamSerializer)
|
||||
}
|
||||
|
||||
val bytes = TestSerializationOutput(true, serializerFactory).serialize(id)
|
||||
|
||||
val deserializerFactory = testDefaultFactory().apply {
|
||||
register(InputStreamSerializer)
|
||||
}
|
||||
|
||||
DeserializationInput(serializerFactory).deserialize(bytes)
|
||||
DeserializationInput(deserializerFactory).deserialize(bytes)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun listInputStream() {
|
||||
val attachment = InputStreamAndHash.createInMemoryTestZip(2116, 1)
|
||||
val id /* : List<InputStream> */= listOf(WrapperStream(attachment.inputStream))
|
||||
|
||||
val serializerFactory = testDefaultFactory().apply {
|
||||
register(InputStreamSerializer)
|
||||
}
|
||||
|
||||
val bytes = TestSerializationOutput(true, serializerFactory).serialize(id)
|
||||
|
||||
val deserializerFactory = testDefaultFactory().apply {
|
||||
register(InputStreamSerializer)
|
||||
}
|
||||
|
||||
DeserializationInput(serializerFactory).deserialize(bytes)
|
||||
DeserializationInput(deserializerFactory).deserialize(bytes)
|
||||
}
|
||||
}
|
@ -30,6 +30,15 @@ class TestSerializationOutput(
|
||||
}
|
||||
super.writeTransformSchema(transformsSchema, data)
|
||||
}
|
||||
|
||||
@Throws(NotSerializableException::class)
|
||||
fun <T : Any> serialize(obj: T): SerializedBytes<T> {
|
||||
try {
|
||||
return _serialize(obj, testSerializationContext)
|
||||
} finally {
|
||||
andFinally()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun testName(): String = Thread.currentThread().stackTrace[2].methodName
|
||||
|
Reference in New Issue
Block a user