def test_save(mocker, filename='nonfilename', directory='nondirectory'): source = Source(**SOURCE) makedirs = mocker.patch('os.makedirs', autospec=True) open_ = mocker.patch('builtins.open', mocker.mock_open()) assert source.save(filename, directory) == source.filepath assert source.filename == filename and source.directory == directory makedirs.assert_called_once_with(source.directory, 0o777, exist_ok=True) open_.assert_called_once_with(source.filepath, 'w', encoding=source.encoding) assert open_.return_value.write.call_args_list == [mocker.call(source.source), mocker.call('\n')]
def test_save(mocker, py2, filename='filename', directory='directory'): source = Source(**SOURCE) makedirs = mocker.patch('os.makedirs') open_ = mocker.patch('io.open', mocker.mock_open()) assert source.save(filename, directory) == source.filepath assert source.filename == filename and source.directory == directory if py2: makedirs.assert_called_once_with(source.directory, 0o777) else: makedirs.assert_called_once_with(source.directory, 0o777, exist_ok=True) open_.assert_called_once_with(source.filepath, 'w', encoding=source.encoding) assert open_.return_value.write.call_args_list == [((source.source,),), ((u'\n',),)]
def test_save(mocker, py2, filename='filename', directory='directory'): source = Source(**SOURCE) makedirs = mocker.patch('os.makedirs', new_callable=mocker.Mock) open_ = mocker.patch('io.open', mocker.mock_open()) assert source.save(filename, directory) == source.filepath assert source.filename == filename and source.directory == directory if py2: makedirs.assert_called_once_with(source.directory, 0o777) else: makedirs.assert_called_once_with(source.directory, 0o777, exist_ok=True) open_.assert_called_once_with(source.filepath, 'w', encoding=source.encoding) assert open_.return_value.write.call_args_list == [((source.source,),), ((u'\n',),)]