Path: blob/develop/tests/functional/ec2/test_modify_image_attribute.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 BaseAWSCommandParamsTest141516class TestModifyInstanceAttribute(BaseAWSCommandParamsTest):1718prefix = 'ec2 modify-image-attribute'1920def test_one(self):21cmdline = self.prefix22cmdline += ' --image-id ami-d00dbeef'23cmdline += ' --operation-type add'24cmdline += ' --user-ids 0123456789012'25result = {'ImageId': 'ami-d00dbeef',26'OperationType': 'add',27'UserIds': ['0123456789012']}28self.assert_params_for_cmd(cmdline, result)2930def test_two(self):31cmdline = self.prefix32cmdline += ' --image-id ami-d00dbeef'33cmdline += (' --launch-permission {"Add":[{"UserId":"123456789012"}],'34'"Remove":[{"Group":"all"}]}')35result = {36'ImageId': 'ami-d00dbeef',37'LaunchPermission': {38'Add': [{'UserId': '123456789012'}],39'Remove': [{'Group': 'all'}],40}41}42self.assert_params_for_cmd(cmdline, result)4344def test_assert_error_in_bad_json_path(self):45cmdline = self.prefix46cmdline += ' --image-id ami-d00dbeef'47cmdline += ' --launch-permission THISISNOTJSON'48# The arg name should be in the error message.49self.assert_params_for_cmd(cmdline, expected_rc=255,50stderr_contains='launch-permission')515253if __name__ == "__main__":54unittest.main()555657