parent
							
								
									b54ef0961f
								
							
						
					
					
						commit
						a21413f4ea
					
				| @ -11,7 +11,7 @@ import six | ||||
| from bisect import insort | ||||
| from moto.core import BaseBackend, BaseModel | ||||
| from moto.core.utils import iso_8601_datetime_with_milliseconds, rfc_1123_datetime | ||||
| from .exceptions import BucketAlreadyExists, MissingBucket, MissingKey, InvalidPart, EntityTooSmall | ||||
| from .exceptions import BucketAlreadyExists, MissingBucket, InvalidPart, EntityTooSmall | ||||
| from .utils import clean_key_name, _VersionedKeyStore | ||||
| 
 | ||||
| UPLOAD_ID_BYTES = 43 | ||||
| @ -473,7 +473,7 @@ class S3Backend(BaseBackend): | ||||
|         if isinstance(key, FakeKey): | ||||
|             return key | ||||
|         else: | ||||
|             raise MissingKey(key_name=key_name) | ||||
|             return None | ||||
| 
 | ||||
|     def initiate_multipart(self, bucket_name, key_name, metadata): | ||||
|         bucket = self.get_bucket(bucket_name) | ||||
|  | ||||
| @ -12,7 +12,7 @@ from moto.core.responses import _TemplateEnvironmentMixin | ||||
| from moto.s3bucket_path.utils import bucket_name_from_url as bucketpath_bucket_name_from_url, parse_key_name as bucketpath_parse_key_name, is_delete_keys as bucketpath_is_delete_keys | ||||
| 
 | ||||
| 
 | ||||
| from .exceptions import BucketAlreadyExists, S3ClientError, InvalidPartOrder | ||||
| from .exceptions import BucketAlreadyExists, S3ClientError, MissingKey, InvalidPartOrder | ||||
| from .models import s3_backend, get_canned_acl, FakeGrantee, FakeGrant, FakeAcl, FakeKey | ||||
| from .utils import bucket_name_from_url, metadata_from_headers | ||||
| from xml.dom import minidom | ||||
| @ -508,6 +508,8 @@ class ResponseObject(_TemplateEnvironmentMixin): | ||||
|         version_id = query.get('versionId', [None])[0] | ||||
|         key = self.backend.get_key( | ||||
|             bucket_name, key_name, version_id=version_id) | ||||
|         if key is None: | ||||
|             raise MissingKey(key_name) | ||||
|         if 'acl' in query: | ||||
|             template = self.response_template(S3_OBJECT_ACL_RESPONSE) | ||||
|             return 200, response_headers, template.render(obj=key) | ||||
|  | ||||
| @ -1223,9 +1223,10 @@ def test_boto3_head_object(): | ||||
|     s3.Object('blah', 'hello.txt').meta.client.head_object( | ||||
|         Bucket='blah', Key='hello.txt') | ||||
| 
 | ||||
|     with assert_raises(ClientError): | ||||
|     with assert_raises(ClientError) as e: | ||||
|         s3.Object('blah', 'hello2.txt').meta.client.head_object( | ||||
|             Bucket='blah', Key='hello_bad.txt') | ||||
|     e.exception.response['Error']['Code'].should.equal('404') | ||||
| 
 | ||||
| 
 | ||||
| @mock_s3 | ||||
| @ -1353,7 +1354,7 @@ def test_boto3_delete_markers(): | ||||
|             Bucket=bucket_name, | ||||
|             Key=key | ||||
|         ) | ||||
|         e.response['Error']['Code'].should.equal('NoSuchKey') | ||||
|         e.response['Error']['Code'].should.equal('404') | ||||
| 
 | ||||
|     s3.delete_object( | ||||
|         Bucket=bucket_name, | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user