From 2f357f8ba893f47a68145af3c9060354730a71ff Mon Sep 17 00:00:00 2001 From: Andrew Gaul Date: Sat, 18 Apr 2015 03:54:37 -0700 Subject: [PATCH] Copy tests for non-existent buckets and keys Signed-off-by: Andrew Gaul --- s3tests/functional/test_s3.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/s3tests/functional/test_s3.py b/s3tests/functional/test_s3.py index a4781fb..568bcd9 100644 --- a/s3tests/functional/test_s3.py +++ b/s3tests/functional/test_s3.py @@ -4473,6 +4473,26 @@ def test_object_copy_replacing_metadata(): eq(key2.metadata, metadata) eq(key2.content_type, content_type) +@attr(resource='object') +@attr(method='put') +@attr(operation='copy from non-existent bucket') +def test_object_copy_bucket_not_found(): + bucket = get_new_bucket() + e = assert_raises(boto.exception.S3ResponseError, bucket.copy_key, 'foo123bar', bucket.name + "-fake", 'bar321foo') + eq(e.status, 404) + eq(e.reason, 'Not Found') + eq(e.error_code, 'NoSuchBucket') + +@attr(resource='object') +@attr(method='put') +@attr(operation='copy from non-existent object') +def test_object_copy_key_not_found(): + bucket = get_new_bucket() + e = assert_raises(boto.exception.S3ResponseError, bucket.copy_key, 'foo123bar', bucket.name, 'bar321foo') + eq(e.status, 404) + eq(e.reason, 'Not Found') + eq(e.error_code, 'NoSuchKey') + def transfer_part(bucket, mp_id, mp_keyname, i, part): """Transfer a part of a multipart upload. Designed to be run in parallel. """