/**
* $Id$
*/
package com.alibaba.rocketmq.common.protocol.heartbeat;
import static org.junit.Assert.*;
import org.junit.Test;
import com.google.protobuf.InvalidProtocolBufferException;
/**
* @author vintage.wang@gmail.com shijia.wxr@taobao.com
*/
public class HeartbeatTest {
@Test
public void test_encode_decode() throws InvalidProtocolBufferException {
HeartbeatData heartbeatData = new HeartbeatData();
heartbeatData.setClientID("id100");
// producer
for (int i = 0; i < 3; i++) {
ProducerData data = new ProducerData();
data.setGroupName("producer_group" + i);
heartbeatData.getProducerDataSet().add(data);
}
// consumer
for (int i = 0; i < 3; i++) {
ConsumerData data = new ConsumerData();
data.setGroupName("consumer_group" + i);
data.setConsumeType(ConsumeType.CONSUME_ACTIVELY);
data.setMessageModel(MessageModel.CLUSTERING);
for (int k = 0; k < 3; k++) {
SubscriptionData sub = new SubscriptionData();
sub.setHasAndOperator(false);
sub.setSubNumfmt("1 || 2 || 3");
sub.setTopic("HelloTopic");
sub.setSubString("A || B ||C");
data.getSubscriptionDataSet().add(sub);
}
heartbeatData.getConsumerDataSet().add(data);
}
byte[] data = heartbeatData.encode();
assertTrue(data != null);
HeartbeatData heartbeatDataDecode = HeartbeatData.decode(data);
System.out.println(heartbeatDataDecode);
}
}