コード例 #1
0
ファイル: test_db.py プロジェクト: jspeyside/tunnelfox
 def test_reopen(self, mock_os, mock_sql):
     t = MockTunnel('host', 8080)
     t.start()
     mock_conn = Mock()
     mock_cursor = Mock()
     mock_sql.connect.return_value = mock_conn
     mock_conn.cursor.return_value = mock_cursor
     mock_cursor.fetchall.return_value = \
         [('host', 8080, 8080, t.name, t.pid)]
     mock_os.path.exists.return_value = False
     mock_os.path.expanduser('/home/ubuntu')
     d = Database()
     d.create_tunnel(t)
     db_tunnels = d.list()
     assert len(db_tunnels) == 1
     assert db_tunnels[0].pid == t.pid
     original_pid = t.pid
     print(original_pid)
     t.stop()
     t.start()
     print(t.pid)
     d.reopen(t)
     mock_cursor.fetchall.return_value = \
         [('host', 8080, 8080, t.name, t.pid)]
     db_tunnels = d.list()
     assert len(db_tunnels) == 1
     assert db_tunnels[0].pid != original_pid
     assert db_tunnels[0].pid == t.pid
コード例 #2
0
 def test_create_reopen(self, mock_db, mock_tunnel):
     mock_db.return_value = MockDatabase()
     t = MockTunnel('host', 8080)
     mock_tunnel.return_value = t
     manager = TunnelManager()
     manager.create('host', 8080)
     t.stop()
     with capture_output() as (out, err):
         manager.create('host', 8080)
     output = out.getvalue().strip()
     assert 'reopening tunnel' in output
コード例 #3
0
 def test_list(self, mock_db, mock_tunnel):
     mock_db.return_value = MockDatabase()
     t = MockTunnel('host', 8080)
     mock_tunnel.return_value = t
     manager = TunnelManager()
     manager.create('host', 8080)
     with capture_output() as (out, err):
         manager.list()
     output = out.getvalue().strip()
     assert '1: host 8080:8080' in output
     assert '1: host 8080:8080 (dead)' not in output
     t.stop()
     with capture_output() as (out, err):
         manager.list()
     output = out.getvalue().strip()
     assert '1: host 8080:8080 (dead)' in output