This is an automated email from the ASF dual-hosted git repository.

tomaz pushed a commit to branch 2.8.x
in repository https://gitbox.apache.org/repos/asf/libcloud.git

commit fcf8613f4568c990d495cc56a9d3500666765009
Author: Tomaz Muraus <[email protected]>
AuthorDate: Tue Mar 31 22:54:14 2020 +0200

    Add a test case for it.
---
 libcloud/test/compute/test_ssh_client.py | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/libcloud/test/compute/test_ssh_client.py 
b/libcloud/test/compute/test_ssh_client.py
index 2704d1c..dc59df5 100644
--- a/libcloud/test/compute/test_ssh_client.py
+++ b/libcloud/test/compute/test_ssh_client.py
@@ -163,6 +163,26 @@ class ParamikoSSHClientTests(LibcloudTestCase):
         assertRaisesRegex(self, paramiko.ssh_exception.SSHException,
                           expected_msg, mock.connect)
 
+    @patch('paramiko.SSHClient', Mock)
+    def test_password_protected_key_no_password_provided(self):
+        path = os.path.join(os.path.dirname(__file__),
+                            'fixtures', 'misc',
+                            'test_rsa_2048b_pass_foobar.key')
+
+        # Supplied as key_material
+        with open(path, 'r') as fp:
+            private_key = fp.read()
+
+        conn_params = {'hostname': 'dummy.host.org',
+                       'username': 'ubuntu',
+                       'key_material': private_key}
+
+        mock = ParamikoSSHClient(**conn_params)
+
+        expected_msg = 'private key file is encrypted'
+        assertRaisesRegex(self, 
paramiko.ssh_exception.PasswordRequiredException,
+                          expected_msg, mock.connect)
+
     def test_key_material_valid_pem_keys_invalid_header_auto_conversion(self):
         # Test a scenario where valid PEM keys with invalid headers which is
         # not recognized by paramiko are automatically converted in a format

Reply via email to