Save SSH passwords with connections
This commit is contained in:
@@ -318,6 +318,33 @@ class TestWsockHandler(unittest.TestCase):
|
||||
obj.close.assert_called_with(reason='Worker closed')
|
||||
|
||||
class TestIndexHandler(unittest.TestCase):
|
||||
def test_get_args_keeps_password_for_saved_connection(self):
|
||||
obj = Mock(spec=IndexHandler)
|
||||
obj.get_hostname.return_value = '127.0.0.1'
|
||||
obj.get_port.return_value = 22
|
||||
obj.get_value.return_value = 'root'
|
||||
obj.get_privatekey.return_value = ('', '')
|
||||
obj.policy = paramiko.WarningPolicy()
|
||||
obj.ssh_client = Mock()
|
||||
|
||||
values = {
|
||||
'password': 'root-secret',
|
||||
'passphrase': '',
|
||||
'totp': '',
|
||||
'term': 'xterm-256color'
|
||||
}
|
||||
obj.get_argument.side_effect = lambda name, default=u'': values.get(
|
||||
name, default
|
||||
)
|
||||
|
||||
args = IndexHandler.get_args(obj)
|
||||
|
||||
self.assertEqual(
|
||||
('127.0.0.1', 22, 'root', 'root-secret'),
|
||||
args[:4]
|
||||
)
|
||||
self.assertEqual('root-secret', obj.connection_info['password'])
|
||||
|
||||
def test_null_in_encoding(self):
|
||||
handler = Mock(spec=IndexHandler)
|
||||
|
||||
|
||||
@@ -21,11 +21,13 @@ class TestConnectionStore(unittest.TestCase):
|
||||
'hostname': '127.0.0.1',
|
||||
'port': 22,
|
||||
'username': 'root',
|
||||
'password': 'root-secret',
|
||||
'term': 'xterm-256color',
|
||||
'auth_type': 'password'
|
||||
})
|
||||
|
||||
self.assertEqual(profile['title'], 'root@127.0.0.1:22')
|
||||
self.assertEqual(profile['password'], 'root-secret')
|
||||
self.assertEqual([profile], self.store.list('admin'))
|
||||
self.assertEqual([], self.store.list('other'))
|
||||
|
||||
@@ -33,6 +35,7 @@ class TestConnectionStore(unittest.TestCase):
|
||||
'hostname': '127.0.0.1',
|
||||
'port': 22,
|
||||
'username': 'root',
|
||||
'password': 'new-secret',
|
||||
'term': 'xterm',
|
||||
'auth_type': 'privatekey'
|
||||
})
|
||||
@@ -40,7 +43,7 @@ class TestConnectionStore(unittest.TestCase):
|
||||
self.assertEqual(profile['id'], updated['id'])
|
||||
self.assertEqual(1, len(self.store.list('admin')))
|
||||
self.assertEqual('xterm', self.store.list('admin')[0]['term'])
|
||||
self.assertEqual('new-secret', self.store.list('admin')[0]['password'])
|
||||
self.assertTrue(self.store.delete('admin', profile['id']))
|
||||
self.assertFalse(self.store.delete('admin', profile['id']))
|
||||
self.assertEqual([], self.store.list('admin'))
|
||||
|
||||
|
||||
Reference in New Issue
Block a user