def _test_dele(conn: socket.socket): _dummy_start(conn) myport = utils.get_random_port() data_socket = socket.socket() data_socket.bind(('', myport)) data_socket.listen(1) port_representation = f'{utils.get_ip().replace(".", ",")},{myport // 256},{myport % 256}' conn.send(b'PORT ' + port_representation.encode() + b'\r\n') data = conn.recv(BYTES_TO_LISTEN) assert data.decode()[0] == '2' conn.send(b'STOR demo2.txt\r\n') data = conn.recv(BYTES_TO_LISTEN) assert data.decode()[:3] == '150' data_conn, _ = data_socket.accept() data_conn.send(FILE_TXT) data_conn.close() data_socket.close() conn.recv(BYTES_TO_LISTEN) conn.send(b'DELE demo2.txt\r\n') data = conn.recv(BYTES_TO_LISTEN) assert data.decode()[0] == '2' conn.send(b'RETR demo2.txt\r\n') data = conn.recv(BYTES_TO_LISTEN) assert data.decode()[0] not in ['1', '2']
def _test_minimal_retr(conn: socket.socket): _dummy_start(conn) myport = utils.get_random_port() data_socket = socket.socket() data_socket.bind(('', myport)) data_socket.listen(1) port_representation = f'{utils.get_ip().replace(".", ",")},{myport // 256},{myport % 256}' conn.send(b'PORT ' + port_representation.encode() + b'\r\n') data = conn.recv(BYTES_TO_LISTEN) assert data.decode()[0] == '2' conn.send(b'RETR demo.txt\r\n') data = conn.recv(BYTES_TO_LISTEN) assert data.decode()[:3] == '150' data_conn, _ = data_socket.accept() received = data_conn.recv(BYTES_TO_LISTEN) data_conn.close() data_socket.close() data = conn.recv(BYTES_TO_LISTEN) assert data.decode().split()[0][0] == '2' assert received.decode().strip() == FILE_TXT.decode().strip() conn.send(b'RETR whatever_final_fix_mock_2121.psd\r\n') data = conn.recv(BYTES_TO_LISTEN) assert data.decode()[0] not in ['1', '2']
def init_db(): global _DB_PROC, DB_PORT, _MONGO if DB_PORT == 0: DB_PORT = get_random_port(_PORT_RANGE) current_app.config["DB_PORT"] = DB_PORT current_app.config["MONGO_URI"] = get_mongo_uri(DB_NAME, DB_USER, DB_PASS, DB_PORT) try: _DB_PROC = _start_mongod() except Exception as e: print(e) sys.exit(1) _MONGO = PyMongo(current_app) return _MONGO
def setUpClass(cls): print(f"The proxy unit test start!") # Initial Redis redis_port = get_random_port() cls.redis_process = subprocess.Popen(["redis-server", "--port", str(redis_port), "--daemonize yes"]) cls.redis_process.wait() # Initial proxies cls.worker_proxies = [] proxy_type_list = ["master"] + ["worker"] * 5 with ThreadPoolExecutor(max_workers=6) as executor: all_tasks = [executor.submit(proxy_generator, proxy_type, redis_port) for proxy_type in proxy_type_list] for task in as_completed(all_tasks): result = task.result() if "master" in result.component_name: cls.master_proxy = result else: cls.worker_proxies.append(result)
def setUpClass(cls): print(f"The dist decorator unit test start!") # Initial Redis. redis_port = get_random_port() cls.redis_process = subprocess.Popen( ["redis-server", "--port", str(redis_port), "--daemonize yes"]) cls.redis_process.wait() # Initial receiver. conditional_event = "sender:*:1" handler_dict = {conditional_event: handler_function} decorator_task = threading.Thread(target=lunch_receiver, args=( handler_dict, redis_port, )) decorator_task.start() # Initial sender proxy. with ThreadPoolExecutor() as executor: sender_task = executor.submit(proxy_generator, "sender", redis_port) cls.sender_proxy = sender_task.result()
def gen_new_port() -> tp.Tuple[int, str]: np = utils.get_random_port() comma_separeted_host = utils.get_ip().replace('.', ',') return np, f'{comma_separeted_host},{np // 256},{np % 256}'