def test_cache_control_get(): res = Response() eq_(repr(res.cache_control), "<CacheControl ''>") eq_(res.cache_control.max_age, None)
def test_response_file_body_write_empty_body(): res = Response('') res.write('baz') eq_(res.app_iter, [b'', b'baz'])
def test_response_file_body_repr(): rbo = Response().body_file rbo.response = 'yo' eq_(repr(rbo), "<body_file for 'yo'>")
def test_from_file2(): res = Response(app_iter=iter([b'test ', b'body']), content_type='text/plain') inp = io.BytesIO(bytes_(str(res))) equal_resp(res, inp)
def test_resp_write_app_iter_non_list(): res = Response(app_iter=(b'a', b'b')) eq_(res.content_length, None) res.write(b'c') eq_(res.body, b'abc') eq_(res.content_length, 3)
def test_md5_etag_set_content_md5(): res = Response() body = b'The quick brown fox jumps over the lazy dog' res.md5_etag(body, set_content_md5=True) eq_(res.content_md5, 'nhB9nTcrtoJr2B01QqQZ1g==')
def test_app_iter_range_inner_method(): class FakeAppIter: def app_iter_range(self, start, stop): return 'you win', start, stop res = Response(app_iter=FakeAppIter()) eq_(res.app_iter_range(30, 40), ('you win', 30, 40))
def test_cache_control_set_None(): res = Response() res.cache_control = None eq_(repr(res.cache_control), "<CacheControl ''>")
def test_cache_control_set_unicode(): res = Response() res.cache_control = text_(b'abc') eq_(repr(res.cache_control), "<CacheControl 'abc'>")
def test_status_code_set(): res = Response() res.status_code = 400 eq_(res._status, '400 Bad Request') res.status_int = 404 eq_(res._status, '404 Not Found')
def test_cache_control_set_dict(): res = Response() res.cache_control = {'a': 'b'} eq_(repr(res.cache_control), "<CacheControl 'a=b'>")
def test_cache_expires_set(): res = Response() res.cache_expires = True eq_(repr(res.cache_control), "<CacheControl 'max-age=0, must-revalidate, no-cache, no-store'>")
def test_cache_control_set_object_error(): res = Response() assert_raises(AttributeError, setattr, res.cache_control, 'max_stale', 10)
def test_cache_control_object_max_age_ten(): res = Response() res.cache_control.max_age = 10 eq_(repr(res.cache_control), "<CacheControl 'max-age=10'>") eq_(res.headers['cache-control'], 'max-age=10')
def test_response_copy(): r = Response(app_iter=iter(['a'])) r2 = r.copy() eq_(r.body, 'a') eq_(r2.body, 'a')
def test_cache_control_del(): res = Response() del res.cache_control eq_(repr(res.cache_control), "<CacheControl ''>")
def test_conditional_response_if_none_match_true(): req = Request.blank('/', if_none_match='foo') resp = Response(app_iter=['foo\n'], conditional_response=True, etag='foo') resp = req.get_response(resp) eq_(resp.status_code, 304)
def test_body_file_get(): res = Response() result = res.body_file from webob.response import ResponseBodyFile eq_(result.__class__, ResponseBodyFile)
def test_decode_content_defaults_to_identity(): res = Response() res.body = b'There be dragons' res.decode_content() eq_(res.body, b'There be dragons')
def test_multidict_update_warning_unnecessary(self): # no warning on normal operation r = Response() r.headers.update([("Set-Cookie", "a=b")]) self.assertEqual(len(self.warnings), 0)
def test_from_file(): res = Response('test') inp = io.BytesIO(bytes_(str(res))) equal_resp(res, inp)
def simple_app(environ, start_response): resp = Response('Hello world!') return resp(environ, start_response)
def test_set_status(): res = Response() res.status = "200" eq_(res.status, "200 OK") assert_raises(TypeError, setattr, res, 'status', float(200))
def test_response_set_body_file2(): data = b'abcdef'*1024 file = io.BytesIO(data) r = Response(body_file=file) assert r.body == data
def test_response_write_non_str(): res = Response() assert_raises(TypeError, res.write, object())
def test_init_content_type_w_charset(): v = 'text/plain;charset=ISO-8859-1' eq_(Response(content_type=v).headers['content-type'], v)
def test_response_file_body_close_not_implemented(): rbo = Response().body_file assert_raises(NotImplementedError, rbo.close)
def test_http_only_cookie(): req = Request.blank('/') res = req.get_response(Response('blah')) res.set_cookie("foo", "foo", httponly=True) eq_(res.headers['set-cookie'], 'foo=foo; Path=/; HttpOnly')
def test_body_get_is_none(): res = Response() res._app_iter = None assert_raises(TypeError, Response, app_iter=iter(['a']), body="somebody") assert_raises(AttributeError, res.__getattribute__, 'body')
def test_body_get_body_is_None_len_app_iter_is_zero(): res = Response() res._app_iter = io.BytesIO() res._body = None result = res.body eq_(result, b'')