def test_use_raises(): with pytest.raises(KeyError): json.use('invalid') if orjson is None: with pytest.raises(ImportError): json.use(json.Package.ORJSON)
def test_use_orjson(backend): json.use(backend) assert json.backend.name == 'orjson' assert json.backend.enum == json.Package.ORJSON if sys.version_info[:2] > (3, 5): # __module__ returns None for Python 3.5 assert json.backend.loads.__module__ == 'orjson' assert json.backend.dumps.__module__ == 'orjson'
def test_deserialize_types(backend): if backend == 'orjson' and orjson is None: with pytest.raises(ImportError): json.use(backend) else: json.use(backend) assert json.deserialize('{"x":1}') == {'x': 1} assert json.deserialize(b'{"x":1}') == {'x': 1} assert json.deserialize(bytearray(b'{"x":1}')) == {'x': 1}
def test_use_rapidjson(backend): json.use(backend) assert json.backend.name == 'rapidjson' assert json.backend.loads.__module__ == 'rapidjson' assert json.backend.dumps.__module__ == 'rapidjson' assert json.backend.enum == json.Package.RAPIDJSON
def test_use_simplejson(backend): json.use(backend) assert json.backend.name == 'simplejson' assert json.backend.loads.__module__ == 'simplejson' assert json.backend.dumps.__module__ == 'simplejson' assert json.backend.enum == json.Package.SIMPLEJSON
def test_use_ujson(backend): json.use(backend) assert json.backend.name == 'ujson' assert json.backend.loads.__module__ == 'ujson' assert json.backend.dumps.__module__ == 'ujson' assert json.backend.enum == json.Package.UJSON
def teardown(): json.use(initial_backend) assert json.backend.enum == initial_backend
def setup(): env = os.getenv('MSL_NETWORK_JSON') if env: json.use(env) assert json.backend.enum == json.Package[env.upper()] assert json.backend.enum == initial_backend