Path: blob/develop/tests/functional/ec2/test_get_password_data.py
1567 views
#!/usr/bin/env python1# Copyright 2012-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.2#3# Licensed under the Apache License, Version 2.0 (the "License"). You4# may not use this file except in compliance with the License. A copy of5# the License is located at6#7# http://aws.amazon.com/apache2.0/8#9# or in the "license" file accompanying this file. This file is10# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF11# ANY KIND, either express or implied. See the License for the specific12# language governing permissions and limitations under the License.13from awscli.testutils import BaseAWSCommandParamsTest14import os151617PASSWORD_DATA = ("GWDnuoj/7pbMQkg125E8oGMUVCI+r98sGbFFl8SX+dEYxMZzz+byYwwjvyg8i"18"SGKaLuLTIWatWopVu5cMWDKH65U4YFL2g3LqyajBrCFnuSE1piTeS/rPQpoSv"19"BN5FGj9HWqNrglWAJgh9OZNSGgpEojBenL/0rwSpDWL7f/f52M5doYA6q+v0y"20"gEoi1Wq6hcmrBfyA4seW1RlKgnUru5Y9oc1hFHi53E3b1EkjGqCsCemVUwumB"21"j8uwCLJRaMcqrCxK1smtAsiSqk0Jk9jpN2vcQgnMPypEdmEEXyWHwq55fjy6c"22"h+sqYcwumIL5QcFW2JQ5+XBEoFhC66gOsAXow==")232425class TestGetPasswordData(BaseAWSCommandParamsTest):2627prefix = 'ec2 get-password-data'2829def setUp(self):30super(TestGetPasswordData, self).setUp()31self.parsed_response = {'InstanceId': 'i-12345678',32'Timestamp': '2013-07-27T18:29:23.000Z',33'PasswordData': PASSWORD_DATA}3435def test_no_priv_launch_key(self):36args = ' --instance-id i-12345678'37cmdline = self.prefix + args38result = {'InstanceId': 'i-12345678'}39output = self.assert_params_for_cmd(cmdline, result, expected_rc=0)[0]40self.assertIn('"InstanceId": "i-12345678"', output)41self.assertIn('"Timestamp": "2013-07-27T18:29:23.000Z"', output)42self.assertIn('"PasswordData": "%s"' % PASSWORD_DATA, output)4344def test_nonexistent_priv_launch_key(self):45args = ' --instance-id i-12345678 --priv-launch-key foo.pem'46cmdline = self.prefix + args47error_msg = self.assert_params_for_cmd(48cmdline, expected_rc=255)[1]49self.assertIn('priv-launch-key should be a path to '50'the local SSH private key file used '51'to launch the instance.\n', error_msg)5253def test_priv_launch_key(self):54key_path = os.path.join(os.path.dirname(__file__),55'testcli.pem')56args = ' --instance-id i-12345678 --priv-launch-key %s' % key_path57cmdline = self.prefix + args58result = {'InstanceId': 'i-12345678'}59output = self.assert_params_for_cmd(cmdline, result, expected_rc=0)[0]60self.assertIn('"InstanceId": "i-12345678"', output)61self.assertIn('"Timestamp": "2013-07-27T18:29:23.000Z"', output)62self.assertIn('"PasswordData": "=mG8.r$o-s"', output)636465