@@ -531,37 +531,85 @@ def default_body(self):
531531 </CopyImageResponse>
532532 """
533533
534- def test_copy_image (self ):
534+ def test_copy_image_required_params (self ):
535535 self .set_http_response (status_code = 200 )
536- copied_ami = self .ec2 .copy_image ('us-west-2' , 'ami-id' ,
537- 'name' , 'description' , 'client-token' )
536+ copied_ami = self .ec2 .copy_image ('us-west-2' , 'ami-id' )
538537 self .assertEqual (copied_ami .image_id , 'ami-copied-id' )
538+ self .assert_request_parameters ({
539+ 'Action' : 'CopyImage' ,
540+ 'SourceRegion' : 'us-west-2' ,
541+ 'SourceImageId' : 'ami-id'
542+ }, ignore_params_values = ['AWSAccessKeyId' , 'SignatureMethod' ,
543+ 'SignatureVersion' , 'Timestamp' ,
544+ 'Version' ])
539545
546+ def test_copy_image_name_and_description (self ):
547+ self .set_http_response (status_code = 200 )
548+ copied_ami = self .ec2 .copy_image ('us-west-2' , 'ami-id' , 'name' , 'description' )
549+ self .assertEqual (copied_ami .image_id , 'ami-copied-id' )
540550 self .assert_request_parameters ({
541551 'Action' : 'CopyImage' ,
542- 'Description' : 'description' ,
552+ 'SourceRegion' : 'us-west-2' ,
553+ 'SourceImageId' : 'ami-id' ,
543554 'Name' : 'name' ,
555+ 'Description' : 'description'
556+ }, ignore_params_values = ['AWSAccessKeyId' , 'SignatureMethod' ,
557+ 'SignatureVersion' , 'Timestamp' ,
558+ 'Version' ])
559+
560+ def test_copy_image_client_token (self ):
561+ self .set_http_response (status_code = 200 )
562+ copied_ami = self .ec2 .copy_image ('us-west-2' , 'ami-id' , client_token = 'client-token' )
563+ self .assertEqual (copied_ami .image_id , 'ami-copied-id' )
564+ self .assert_request_parameters ({
565+ 'Action' : 'CopyImage' ,
544566 'SourceRegion' : 'us-west-2' ,
545567 'SourceImageId' : 'ami-id' ,
546- 'ClientToken' : 'client-token' },
547- ignore_params_values = ['AWSAccessKeyId' , 'SignatureMethod' ,
568+ 'ClientToken' : 'client-token'
569+ }, ignore_params_values = ['AWSAccessKeyId' , 'SignatureMethod' ,
548570 'SignatureVersion' , 'Timestamp' ,
549571 'Version' ])
550572
551- def test_copy_image_without_name (self ):
573+ def test_copy_image_encrypted (self ):
552574 self .set_http_response (status_code = 200 )
553- copied_ami = self .ec2 .copy_image ('us-west-2' , 'ami-id' ,
554- description = 'description' ,
555- client_token = 'client-token' )
575+ copied_ami = self .ec2 .copy_image ('us-west-2' , 'ami-id' , encrypted = True )
556576 self .assertEqual (copied_ami .image_id , 'ami-copied-id' )
557577
558578 self .assert_request_parameters ({
559579 'Action' : 'CopyImage' ,
560- 'Description' : 'description' ,
561580 'SourceRegion' : 'us-west-2' ,
562581 'SourceImageId' : 'ami-id' ,
563- 'ClientToken' : 'client-token' },
564- ignore_params_values = ['AWSAccessKeyId' , 'SignatureMethod' ,
582+ 'Encrypted' : 'true'
583+ }, ignore_params_values = ['AWSAccessKeyId' , 'SignatureMethod' ,
584+ 'SignatureVersion' , 'Timestamp' ,
585+ 'Version' ])
586+
587+ def test_copy_image_not_encrypted (self ):
588+ self .set_http_response (status_code = 200 )
589+ copied_ami = self .ec2 .copy_image ('us-west-2' , 'ami-id' , encrypted = False )
590+ self .assertEqual (copied_ami .image_id , 'ami-copied-id' )
591+
592+ self .assert_request_parameters ({
593+ 'Action' : 'CopyImage' ,
594+ 'SourceRegion' : 'us-west-2' ,
595+ 'SourceImageId' : 'ami-id' ,
596+ 'Encrypted' : 'false'
597+ }, ignore_params_values = ['AWSAccessKeyId' , 'SignatureMethod' ,
598+ 'SignatureVersion' , 'Timestamp' ,
599+ 'Version' ])
600+
601+ def test_copy_image_encrypted_with_kms_key (self ):
602+ self .set_http_response (status_code = 200 )
603+ copied_ami = self .ec2 .copy_image ('us-west-2' , 'ami-id' , encrypted = False , kms_key_id = 'kms-key' )
604+ self .assertEqual (copied_ami .image_id , 'ami-copied-id' )
605+
606+ self .assert_request_parameters ({
607+ 'Action' : 'CopyImage' ,
608+ 'SourceRegion' : 'us-west-2' ,
609+ 'SourceImageId' : 'ami-id' ,
610+ 'Encrypted' : 'false' ,
611+ 'KmsKeyId' : 'kms-key'
612+ }, ignore_params_values = ['AWSAccessKeyId' , 'SignatureMethod' ,
565613 'SignatureVersion' , 'Timestamp' ,
566614 'Version' ])
567615
0 commit comments