I want to test test_object_create_bad_md5_unreadable. but rgw send 400(e.status),rather than 403.I dont understand it. The code is. @tag('auth_common') @attr(resource='object') @attr(method='put') @attr(operation='create w/non-graphics in MD5') @attr(assertion='fails 403') @attr('fails_strict_rfc2616') @nose.with_setup(teardown=_clear_custom_headers) def test_object_create_bad_md5_unreadable(): key = _setup_bad_object({'Content-MD5': '\x07'}) e = assert_raises(boto.exception.S3ResponseError, key.set_contents_from_string, 'bar') eq(e.status, 403) eq(e.reason, 'Forbidden') assert e.error_code in ('AccessDenied', 'SignatureDoesNotMatch')