def test_A1__handleConnectionQuery_connIDisNotin_connDB(self): """(remoteAddr, connID) is not in connectionDb Not create a connection. Check: Cannot find the connection in local connection DB Result: FAILURE. """ cmd = l2tpMsg.L2tpCommandReq() cmd.cmd = l2tpMsg.CONNECTION_INFO para = l2tpMsg.ConnectionPara() # Create invalid addr and connID para.remoteAddr = "127.0.0.1" para.connectionID = 0xA90A0853 para.localAddr = L2tpv3GlobalSettings.L2tpv3GlobalSettings.LocalIPAddress cmd.conn.MergeFrom(para) msg = self.api._handleMsg(cmd) # FAILURE = 2 self.assertEqual(msg.rsp, 2) self.assertEqual(msg.retMsg, "Cannot find the connection in local connection DB")
def test_A2__handleConnectionQuery_connID_isin_connDB(self): """(remoteAddr, connID) is in connectionDb Create a connection. Result: success. """ # Create a connection global_dispatcher = Dispatcher() L2tpv3GlobalSettings.L2tpv3GlobalSettings.LocalIPAddress = '127.0.0.1' dispatcher = L2tpv3Dispatcher.L2tpv3Dispatcher( global_dispatcher, L2tpv3GlobalSettings.L2tpv3GlobalSettings.LocalIPAddress, create_global_listen=False) self.dispatcher = L2tpv3GlobalSettings.L2tpv3GlobalSettings.Dispatcher = dispatcher self.connection = L2tpv3Connection.L2tpConnection( 9527, 21203, "127.0.0.1") # Create a msg cmd = l2tpMsg.L2tpCommandReq() cmd.cmd = l2tpMsg.CONNECTION_INFO # connection is in local connection DB para = l2tpMsg.ConnectionPara() # Get addr and connID invoke connection para.remoteAddr = self.connection.remoteAddr para.connectionID = self.connection.localConnID para.localAddr = L2tpv3GlobalSettings.L2tpv3GlobalSettings.LocalIPAddress cmd.conn.MergeFrom(para) msg = self.api._handleMsg(cmd) # SUCCESS = 1 self.assertEqual(msg.rsp, 1)
def _processConnectionQuery(socket, connection): cmd = l2tpMsg.L2tpCommandReq() cmd.cmd = l2tpMsg.CONNECTION_INFO para = l2tpMsg.ConnectionPara() para.remoteAddr = connection[0] para.connectionID = int(connection[1]) cmd.conn.MergeFrom(para) data = cmd.SerializeToString() socket.send(data) data = socket.recv() msg = l2tpMsg.L2tpCommandRsp() msg.ParseFromString(data) print(msg)