eq(e.status, 403)
eq(e.reason, 'Forbidden')
assert e.error_code in ('AccessDenied', 'SignatureDoesNotMatch')
+
+
+@nose.with_setup(teardown=_clear_custom_headers)
+def test_object_create_bad_ua_invalid():
+ key = _setup_bad_object({'User-Agent': ''})
+ key.set_contents_from_string('bar')
+
+
+@nose.with_setup(teardown=_clear_custom_headers)
+def test_object_create_bad_ua_empty():
+ key = _setup_bad_object({'User-Agent': ''})
+ key.set_contents_from_string('bar')
+
+
+@nose.with_setup(teardown=_clear_custom_headers)
+def test_object_create_bad_ua_unreadable():
+ key = _setup_bad_object({'User-Agent': '\x07'})
+ key.set_contents_from_string('bar')
+
+
+@nose.with_setup(teardown=_clear_custom_headers)
+def test_object_create_bad_ua_none():
+ key = _setup_bad_object(remove=('User-Agent',))
+ key.set_contents_from_string('bar')