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:
Katelyn Baker
2018-05-25 13:00:04 +01:00
committed by GitHub
parent a3d88f752d
commit 7cbc316b9d
8 changed files with 142 additions and 11 deletions

View File

@ -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)
}
}

View File

@ -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