def test_get_file_no_read(file_open, ZipFile): raw_file = mock.Mock() file_open.return_value = raw_file mocked_file = mock.Mock() mocked_zipfile = mock.Mock() mocked_zipfile.open.return_value = mocked_file ZipFile.return_value = mocked_zipfile result = mod.get_file('test/file.zip', 'file.ext', no_read=True) assert result is mocked_file assert not raw_file.close.called assert not mocked_file.close.called assert not mocked_file.read.called
def test_get_file_read(file_open, ZipFile): raw_file = mock.Mock() file_open.return_value = raw_file mocked_file = mock.Mock() mocked_file.read.return_value = 'some content' mocked_zipfile = mock.Mock() mocked_zipfile.open.return_value = mocked_file ZipFile.return_value = mocked_zipfile result = mod.get_file('test/file.zip', 'file.ext', no_read=False) assert result == 'some content' assert raw_file.close.called assert mocked_file.close.called assert mocked_file.read.called
def test_get_file_invalid_zip(file_open, ZipFile): ZipFile.side_effect = mod.zipfile.BadZipfile() with pytest.raises(mod.ValidationError): mod.get_file('test/file.zip', 'image.jpg') ZipFile.assert_called_once_with(file_open.return_value)
def test_get_file_error_opening(file_open, ZipFile): file_open.side_effect = IOError() with pytest.raises(mod.ValidationError): mod.get_file('test/file.zip', 'image.jpg') assert not ZipFile.called