package JUnit;
import static org.junit.Assert.*;
import java.io.IOException;
import java.net.UnknownHostException;
import org.junit.Test;
import protocol.ProtoHead;
import protocol.Data.ChatData.ChatItem;
import protocol.Msg.LoginMsg.LoginRsp;
import protocol.Msg.ReceiveChatMsg.ReceiveChatSync;
import protocol.Msg.SendChatMsg;
import protocol.Msg.SendChatMsg.SendChatReq;
import server.NetworkPacket;
import test.Client111;
/**
* 测试自动回复器
*
* @author Feng
*
*/
public class TestAutoResponse {
@Test
public void test() throws UnknownHostException, IOException {
String user1 = "a", autoResponseUser = "AutoResponse", message = "Test AutoResponse!!!";
ClientSocket clientSocket1 = new ClientSocket();
// 登陆
assertEquals(clientSocket1.login(user1, user1), LoginRsp.ResultCode.SUCCESS);
System.out.println(user1 + " Login");
// 构造消息对象
ChatItem.Builder sendChatItem = ChatItem.newBuilder();
sendChatItem.setSendUserId(user1);
sendChatItem.setReceiveUserId(autoResponseUser);
sendChatItem.setChatBody(message);
sendChatItem.setChatType(ChatItem.ChatType.TEXT);
SendChatReq.Builder sendChattingObj = SendChatReq.newBuilder();
sendChattingObj.setChatData(sendChatItem);
// 发送
clientSocket1.writeToServer(NetworkPacket.packMessage(ProtoHead.ENetworkMessage.SEND_CHAT_REQ_VALUE, sendChattingObj
.build().toByteArray()));
System.out.println(user1 + " send Message to " + autoResponseUser + " : " + message);
byte[] byteArray = clientSocket1.readFromServerWithoutKeepAlive(ProtoHead.ENetworkMessage.RECEIVE_CHAT_SYNC);
assertNotNull(byteArray);
ChatItem receiveChatItem = ReceiveChatSync.parseFrom(NetworkPacket.getMessageObjectBytes(byteArray)).getChatData(0);
System.out.println(user1 + " get " + ClientSocket.getChatItemInfo(receiveChatItem));
assertEquals(receiveChatItem.getChatBody(), message);
clientSocket1.close();
}
}