Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
aws
GitHub Repository: aws/aws-cli
Path: blob/develop/tests/functional/ec2/test_get_password_data.py
1567 views
1
#!/usr/bin/env python
2
# Copyright 2012-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
#
4
# Licensed under the Apache License, Version 2.0 (the "License"). You
5
# may not use this file except in compliance with the License. A copy of
6
# the License is located at
7
#
8
# http://aws.amazon.com/apache2.0/
9
#
10
# or in the "license" file accompanying this file. This file is
11
# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
12
# ANY KIND, either express or implied. See the License for the specific
13
# language governing permissions and limitations under the License.
14
from awscli.testutils import BaseAWSCommandParamsTest
15
import os
16
17
18
PASSWORD_DATA = ("GWDnuoj/7pbMQkg125E8oGMUVCI+r98sGbFFl8SX+dEYxMZzz+byYwwjvyg8i"
19
"SGKaLuLTIWatWopVu5cMWDKH65U4YFL2g3LqyajBrCFnuSE1piTeS/rPQpoSv"
20
"BN5FGj9HWqNrglWAJgh9OZNSGgpEojBenL/0rwSpDWL7f/f52M5doYA6q+v0y"
21
"gEoi1Wq6hcmrBfyA4seW1RlKgnUru5Y9oc1hFHi53E3b1EkjGqCsCemVUwumB"
22
"j8uwCLJRaMcqrCxK1smtAsiSqk0Jk9jpN2vcQgnMPypEdmEEXyWHwq55fjy6c"
23
"h+sqYcwumIL5QcFW2JQ5+XBEoFhC66gOsAXow==")
24
25
26
class TestGetPasswordData(BaseAWSCommandParamsTest):
27
28
prefix = 'ec2 get-password-data'
29
30
def setUp(self):
31
super(TestGetPasswordData, self).setUp()
32
self.parsed_response = {'InstanceId': 'i-12345678',
33
'Timestamp': '2013-07-27T18:29:23.000Z',
34
'PasswordData': PASSWORD_DATA}
35
36
def test_no_priv_launch_key(self):
37
args = ' --instance-id i-12345678'
38
cmdline = self.prefix + args
39
result = {'InstanceId': 'i-12345678'}
40
output = self.assert_params_for_cmd(cmdline, result, expected_rc=0)[0]
41
self.assertIn('"InstanceId": "i-12345678"', output)
42
self.assertIn('"Timestamp": "2013-07-27T18:29:23.000Z"', output)
43
self.assertIn('"PasswordData": "%s"' % PASSWORD_DATA, output)
44
45
def test_nonexistent_priv_launch_key(self):
46
args = ' --instance-id i-12345678 --priv-launch-key foo.pem'
47
cmdline = self.prefix + args
48
error_msg = self.assert_params_for_cmd(
49
cmdline, expected_rc=255)[1]
50
self.assertIn('priv-launch-key should be a path to '
51
'the local SSH private key file used '
52
'to launch the instance.\n', error_msg)
53
54
def test_priv_launch_key(self):
55
key_path = os.path.join(os.path.dirname(__file__),
56
'testcli.pem')
57
args = ' --instance-id i-12345678 --priv-launch-key %s' % key_path
58
cmdline = self.prefix + args
59
result = {'InstanceId': 'i-12345678'}
60
output = self.assert_params_for_cmd(cmdline, result, expected_rc=0)[0]
61
self.assertIn('"InstanceId": "i-12345678"', output)
62
self.assertIn('"Timestamp": "2013-07-27T18:29:23.000Z"', output)
63
self.assertIn('"PasswordData": "=mG8.r$o-s"', output)
64
65