接口测试中经常会有下游的tcp服务,这样就需要些一个mock来模拟tcp。
import sys
import socket
class TcpServer:
def __init__(self,_ip,_port):
self.recv_addr = (_ip, _port)
self.buffersize = 10240000
self.comm_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
self.client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
self.comm_socket.bind(self.recv_addr)
self.comm_socket.listen(10)
def send(self,string_data,addr):
self.client_socket.send(string_data)
def recv(self):
self.client_sock,self.recv_from_addr = self.comm_socket.accept()
self.client_socket = self.client_sock
self.string_data = self.client_sock.recv(self.buffersize)
return (self.string_data,self.recv_from_addr)
def __del__(self):
self.comm_socket.close()
self.client_socket.close()
def mock():