From: Stephon Striplin Date: Wed, 27 Jul 2011 03:01:15 +0000 (-0700) Subject: update Content-Length header tests X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=ab7b4eb03d51fa7408af2d6b5fec16ce8d15c18d;p=s3-tests.git update Content-Length header tests * Add more tests * Add nose.with_setup on some tests --- diff --git a/s3tests/functional/test_headers.py b/s3tests/functional/test_headers.py index 3450e03d..dfd19831 100644 --- a/s3tests/functional/test_headers.py +++ b/s3tests/functional/test_headers.py @@ -193,6 +193,17 @@ def test_object_create_bad_contentlength_empty(): eq(e.error_code, None) +@nose.with_setup(teardown=_clear_custom_headers) +@attr('fails_on_dho') +def test_object_create_bad_contentlength_negative(): + key = _setup_bad_object({'Content-Length': -1}) + + e = assert_raises(boto.exception.S3ResponseError, key.set_contents_from_string, 'bar') + eq(e.status, 400) + eq(e.reason, 'Bad Request') + eq(e.error_code, None) + + @nose.with_setup(teardown=_clear_custom_headers) @attr('fails_on_dho') def test_object_create_bad_contentlength_zero(): @@ -204,6 +215,27 @@ def test_object_create_bad_contentlength_zero(): eq(e.error_code, 'BadDigest') +@nose.with_setup(teardown=_clear_custom_headers) +def test_object_create_bad_contentlength_none(): + key = _setup_bad_object(remove=('Content-Length',)) + + e = assert_raises(boto.exception.S3ResponseError, key.set_contents_from_string, 'bar') + eq(e.status, 411) + eq(e.reason, 'Length Required') + eq(e.error_code,'MissingContentLength') + + +@nose.with_setup(teardown=_clear_custom_headers) +@attr('fails_on_dho') +def test_object_create_bad_contentlength_utf8(): + key = _setup_bad_object({'Content-Length': '\x07'}) + + e = assert_raises(boto.exception.S3ResponseError, key.set_contents_from_string, 'bar') + eq(e.status, 400) + eq(e.reason, 'Bad Request') + eq(e.error_code, None) + + @nose.with_setup(teardown=_clear_custom_headers) @attr('fails_on_dho') def test_object_create_bad_contentlength_mismatch_above():