Esempio n. 1
0
 async def test_06_reload_change_on_signal(self, capsys, patch_systemd,
                                           signal_server_manager_started,
                                           signal_num, tmp_config_file,
                                           server_port, reset_logging):
     second_id = '::1'
     out = capsys.readouterr().out
     port1 = port_from_out(out)
     current_server_id = id(signal_server_manager_started.server)
     assert signal_server_manager_started.server.host == '127.0.0.1'
     self.modify_config_file(tmp_config_file)
     await self.send_signal(signal_server_manager_started, signal_num)
     await asyncio.wait_for(
         signal_server_manager_started.wait_server_stopped(), timeout=1)
     await asyncio.wait_for(
         signal_server_manager_started.wait_server_started(), timeout=2)
     assert signal_server_manager_started.server.host == second_id
     assert id(signal_server_manager_started.server) != current_server_id
     out = capsys.readouterr().out
     port2 = port_from_out(out)
     if patch_systemd:
         daemon, journal = patch_systemd
         daemon.notify.assert_has_calls([
             status_call(port1), ready_call, reloading_call,
             restarting_status,
             status_call(port2, host=second_id), ready_call
         ])
         assert daemon.notify.call_count == 6
Esempio n. 2
0
 async def test_04_close_signal(self, patch_systemd, signal_server_manager,
                                signal_num, capsys, reset_logging):
     task = create_task(self.send_signal(signal_server_manager, signal_num))
     await signal_server_manager.serve_until_stopped()
     await task
     await asyncio.wait_for(signal_server_manager.server.wait_stopped(),
                            timeout=10)
     if patch_systemd:
         out = capsys.readouterr().out
         port = port_from_out(out)
         daemon, journal = patch_systemd
         daemon.notify.assert_has_calls(
             [status_call(port), ready_call, stopping_call])
         assert daemon.notify.call_count == 3
Esempio n. 3
0
 async def step(p, host):
     s = await p.stdout.readline()
     s = s.decode()
     if not s:
         print(await p.stderr.read())
     assert s.startswith('Storing')
     s = await p.stdout.readline()
     s = s.decode()
     if not s:
         print(await p.stderr.read())
     else:
         port = port_from_out(s)
         newline = '\r\n' if os.name == 'nt' else '\n'
         assert s == f'Serving TCP Server on {host}:{port}{newline}'
         assert is_listening_on((host, port), pid=p.pid)
         # ensure that child process gets to run_forever
         time.sleep(0.5)
         os.kill(p.pid, signal_num)
Esempio n. 4
0
 async def test_00_start_close(self, signal_server_manager, patch_systemd,
                               server_sock, capsys, reset_logging):
     task = create_task(signal_server_manager.serve_until_stopped())
     try:
         await asyncio.wait_for(signal_server_manager.wait_server_started(),
                                timeout=2)
         signal_server_manager.close()
     except asyncio.TimeoutError:
         await asyncio.wait_for(task, timeout=2)
     else:
         await asyncio.wait_for(task, timeout=1)
         await asyncio.wait_for(signal_server_manager.wait_server_stopped(),
                                timeout=1)
         if patch_systemd:
             daemon, journal = patch_systemd
             out = capsys.readouterr().out
             port = port_from_out(out)
             daemon.notify.assert_has_calls(
                 [status_call(port), ready_call, stopping_call])
             assert daemon.notify.call_count == 3
Esempio n. 5
0
 async def test_07_reload_no_file_signal(self, patch_systemd,
                                         signal_server_manager, signal_num,
                                         tmp_config_file, capsys,
                                         reset_logging):
     task = create_task(signal_server_manager.serve_until_stopped())
     await signal_server_manager.wait_server_started()
     tmp_config_file.unlink()
     await self.send_signal(signal_server_manager, signal_num)
     await signal_server_manager._stop_event.wait()
     assert not signal_server_manager._restart_event.is_set()
     await asyncio.wait_for(signal_server_manager.wait_server_stopped(),
                            timeout=2)
     await asyncio.wait_for(task, timeout=1)
     if patch_systemd:
         out = capsys.readouterr().out
         port = port_from_out(out)
         daemon, journal = patch_systemd
         daemon.notify.assert_has_calls(
             [status_call(port), ready_call, stopping_call])
         assert daemon.notify.call_count == 3