Files
bonobo/tests/io/test_json.py
2016-12-26 09:19:50 +01:00

38 lines
858 B
Python

import pytest
from bonobo import to_json
from bonobo.util.lifecycle import get_initializer, get_finalizer
class ContextMock:
pass
def test_write_json_to_file(tmpdir):
file = tmpdir.join('output.json')
json_writer = to_json(str(file))
context = ContextMock()
get_initializer(json_writer)(context)
json_writer(context, {'foo': 'bar'})
get_finalizer(json_writer)(context)
assert file.read() == '''[
{"foo": "bar"}
]'''
with pytest.raises(AttributeError):
getattr(context, 'fp')
with pytest.raises(AttributeError):
getattr(context, 'first')
def test_write_json_without_initializer_should_not_work(tmpdir):
file = tmpdir.join('output.json')
json_writer = to_json(str(file))
context = ContextMock()
with pytest.raises(AttributeError):
json_writer(context, {'foo': 'bar'})