use of org.apache.dubbo.common.serialize.ObjectOutput in project dubbo by alibaba.
the class AbstractProtobufSerializationTest method test_Byte.
@Test
public void test_Byte() throws Exception {
ObjectOutput objectOutput = serialization.serialize(url, byteArrayOutputStream);
objectOutput.writeByte((byte) 123);
objectOutput.flushBuffer();
ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(byteArrayOutputStream.toByteArray());
ObjectInput deserialize = serialization.deserialize(url, byteArrayInputStream);
assertEquals((byte) 123, deserialize.readByte());
try {
deserialize.readByte();
fail();
} catch (Exception expected) {
expected.printStackTrace();
}
}
use of org.apache.dubbo.common.serialize.ObjectOutput in project dubbo by alibaba.
the class AbstractProtobufSerializationTest method test_Bool_Multi.
@Test
public void test_Bool_Multi() throws Exception {
boolean[] array = new boolean[100];
for (int i = 0; i < array.length; i++) {
array[i] = random.nextBoolean();
}
ObjectOutput objectOutput = serialization.serialize(url, byteArrayOutputStream);
for (boolean b : array) {
objectOutput.writeBool(b);
}
objectOutput.flushBuffer();
ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(byteArrayOutputStream.toByteArray());
ObjectInput deserialize = serialization.deserialize(url, byteArrayInputStream);
for (boolean b : array) {
assertEquals(b, deserialize.readBool());
}
try {
deserialize.readBool();
fail();
} catch (Exception expected) {
expected.printStackTrace();
}
}
use of org.apache.dubbo.common.serialize.ObjectOutput in project dubbo by alibaba.
the class AbstractProtobufSerializationTest method test_Double.
// ================== Util methods ==================
@Test
public void test_Double() throws Exception {
ObjectOutput objectOutput = serialization.serialize(url, byteArrayOutputStream);
objectOutput.writeDouble(1.28);
objectOutput.flushBuffer();
ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(byteArrayOutputStream.toByteArray());
ObjectInput deserialize = serialization.deserialize(url, byteArrayInputStream);
assertEquals(1.28, deserialize.readDouble());
try {
deserialize.readDouble();
fail();
} catch (Exception expected) {
expected.printStackTrace();
}
}
use of org.apache.dubbo.common.serialize.ObjectOutput in project dubbo by alibaba.
the class AbstractProtobufSerializationTest method testPbMap.
/**
* Special test case
* Dubbo protocol will directly writes native map (Invocation.attachments) using protobuf.
* this should definitely be fixed but not done yet.
*/
@Test
public void testPbMap() throws Exception {
Map<String, Object> attachments = new HashMap<>();
attachments.put("key", "value");
ObjectOutput objectOutput = serialization.serialize(url, byteArrayOutputStream);
objectOutput.writeAttachments(attachments);
objectOutput.flushBuffer();
ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(byteArrayOutputStream.toByteArray());
ObjectInput objectInput = serialization.deserialize(url, byteArrayInputStream);
Map<String, Object> derializedAttachments = objectInput.readAttachments();
assertEquals(attachments, derializedAttachments);
}
use of org.apache.dubbo.common.serialize.ObjectOutput in project dubbo by alibaba.
the class AbstractProtobufSerializationTest method testPbNormal.
@Test
public void testPbNormal() throws Exception {
ProtobufUtils.marshaller(GooglePB.PBRequestType.getDefaultInstance());
GooglePB.PBRequestType request = buildPbMessage();
ObjectOutput objectOutput = serialization.serialize(url, byteArrayOutputStream);
objectOutput.writeObject(request);
objectOutput.flushBuffer();
ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(byteArrayOutputStream.toByteArray());
ObjectInput objectInput = serialization.deserialize(url, byteArrayInputStream);
GooglePB.PBRequestType derializedRequest = objectInput.readObject(GooglePB.PBRequestType.class);
assertEquals(request, derializedRequest);
}
Aggregations