Fix test_terminal.

This commit is contained in:
Yuxin Wang 2018-10-13 18:32:00 -04:00
parent 46a9b01d6d
commit e2b3834e5f

View file

@ -11,26 +11,30 @@ async def test_terminals(unused_tcp_port, capsys):
tracker, peers = await setup_tracker_and_peers(2, unused_tcp_port)
peer_terminals = tuple(PeerTerminal(peer) for peer in peers)
tracker_terminal = TrackerTerminal(tracker)
await peer_terminals[1].do_connect('localhost {}'.format(unused_tcp_port))
out, _ = capsys.readouterr()
assert 'Already' in out
await peer_terminals[0].do_help('')
capsys.readouterr()
await peer_terminals[0].do_publish(TEST_SMALL_FILE)
out, _ = capsys.readouterr()
assert out == 'Success\n'
await peer_terminals[1].do_list_files('')
out, _ = capsys.readouterr()
assert TEST_SMALL_FILE in out
await tracker_terminal.do_list_files('')
out, _ = capsys.readouterr()
assert TEST_SMALL_FILE in out
await peer_terminals[1].do_set_delay('0')
await peer_terminals[1].do_download(TEST_SMALL_FILE + ' ' + 'downloaded_' + TEST_SMALL_FILE)
assert os.path.exists('downloaded_' + TEST_SMALL_FILE)
assert fmd5(TEST_SMALL_FILE) == fmd5('downloaded_' + TEST_SMALL_FILE)
out, _ = capsys.readouterr()
os.remove('downloaded_' + TEST_SMALL_FILE)
await tracker_terminal.do_exit('')
await asyncio.gather(*[terminal.do_exit('') for terminal in peer_terminals])
try:
await peer_terminals[1].do_connect('localhost {}'.format(unused_tcp_port))
out, _ = capsys.readouterr()
assert 'already' in out
await peer_terminals[0].do_help('')
capsys.readouterr()
await peer_terminals[0].do_publish(TEST_SMALL_FILE)
out, _ = capsys.readouterr()
assert 'success' in out
await peer_terminals[1].do_list_files('')
out, _ = capsys.readouterr()
assert TEST_SMALL_FILE in out
await tracker_terminal.do_list_files('')
out, _ = capsys.readouterr()
assert TEST_SMALL_FILE in out
await peer_terminals[1].do_set_delay('0')
await peer_terminals[1].do_download(TEST_SMALL_FILE + ' ' + 'downloaded_' + TEST_SMALL_FILE)
assert os.path.exists('downloaded_' + TEST_SMALL_FILE)
assert fmd5(TEST_SMALL_FILE) == fmd5('downloaded_' + TEST_SMALL_FILE)
out, _ = capsys.readouterr()
finally:
try:
os.remove('downloaded_' + TEST_SMALL_FILE)
except FileNotFoundError:
pass
await tracker_terminal.do_exit('')
await asyncio.gather(*[terminal.do_exit('') for terminal in peer_terminals])