diff --git a/tests/test_helpers.py b/tests/test_helpers.py index f3b80325..610e18ea 100644 --- a/tests/test_helpers.py +++ b/tests/test_helpers.py @@ -19,7 +19,7 @@ from logging import StreamHandler from werkzeug.exceptions import BadRequest, NotFound from werkzeug.http import parse_cache_control_header, parse_options_header from werkzeug.http import http_date -from flask._compat import StringIO, text_type, PY2 +from flask._compat import StringIO, text_type def has_encoding(name): @@ -102,19 +102,14 @@ class TestJSON(object): def test_json_dump_to_file(self): app = flask.Flask(__name__) - - test_data = {'lol': 'wut'} + test_data = {'name': 'Flask'} + out = StringIO() with app.app_context(): - t_fh = open('test_json_dump_file', 'w') - flask.json.dump(test_data, t_fh) - t_fh.close() - - t_fh = open('test_json_dump_file', 'r') - rv = flask.json.load(t_fh) + flask.json.dump(test_data, out) + out.seek(0) + rv = flask.json.load(out) assert rv == test_data - t_fh.close() - os.remove('test_json_dump_file') def test_jsonify_basic_types(self): """Test jsonify with basic types.""" @@ -191,15 +186,20 @@ class TestJSON(object): def test_jsonify_uuid_types(self): """Test jsonify with uuid.UUID types""" + test_uuid = uuid.UUID(bytes=b'\xDE\xAD\xBE\xEF'*4) app = flask.Flask(__name__) - c = app.test_client() url = '/uuid_test' - app.add_url_rule(url, 'uuid_test', lambda val=test_uuid: flask.jsonify(x=val)) + app.add_url_rule(url, url, lambda: flask.jsonify(x=test_uuid)) + + c = app.test_client() rv = c.get(url) - assert rv.mimetype == 'application/json' - assert flask.json.loads(rv.data)['x'] == str(test_uuid) + + rv_x = flask.json.loads(rv.data)['x'] + assert rv_x == str(test_uuid) + rv_uuid = uuid.UUID(rv_x) + assert rv_uuid == test_uuid def test_json_attr(self): app = flask.Flask(__name__)