示例#1
0
def test_use_raises():
    with pytest.raises(KeyError):
        json.use('invalid')

    if orjson is None:
        with pytest.raises(ImportError):
            json.use(json.Package.ORJSON)
示例#2
0
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'
示例#3
0
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}
示例#4
0
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
示例#5
0
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
示例#6
0
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
示例#7
0
def teardown():
    json.use(initial_backend)
    assert json.backend.enum == initial_backend
示例#8
0
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