def test_child_start_setuid_fails_invalid_user(): cfile = create_config( ("user=fgqewgreghrehgerhehw", "group=fgqewgreghrehgerhehw")) Config(cfile).load() with mock.patch("os.pipe", return_value=("", "")), mock.patch( "os.fork", return_value=False), mock.patch("os.close"), mock.patch( "os.setuid", side_effect=KeyError), pytest.raises(SystemExit) as exc: Worker([], []) assert exc.value.code == 64
async def test_worker_ping_pong(unused_tcp_port): aserver = server("127.0.0.1", unused_tcp_port, socket.AF_INET) started = time.monotonic() worker = Worker("1", [aserver]) assert worker._started is True await asyncio.sleep(35) worker.stop() assert worker._started is False assert worker.ping > started assert worker.ping_count == 2 aserver["sock"].close()
async def test_restart(unused_tcp_port): aserver = server("127.0.0.1", unused_tcp_port, socket.AF_INET) started = time.monotonic() worker = Worker("1", [aserver]) assert worker._started is True await asyncio.sleep(25) worker.ping = time.monotonic() - 120 old_pid = worker.pid await asyncio.sleep(15) assert worker.pid is not old_pid worker.stop() assert worker._started is False assert worker.ping > started assert worker.ping_count == 0 aserver["sock"].close()
async def test_start_stop(): worker = Worker(1, []) assert worker._started is True await asyncio.sleep(10) worker.stop() assert worker._started is False