Test image_conversion.py

pull/198/head
Vinayak Mehta 2021-07-05 05:12:43 +05:30
parent 65b4ea623c
commit e9c0f55690
No known key found for this signature in database
GPG Key ID: 2DE013537A15A9A4
1 changed files with 49 additions and 0 deletions

View File

@ -0,0 +1,49 @@
# -*- coding: utf-8 -*-
import pytest
import camelot.backends.image_conversion
from camelot.backends import ImageConversionBackend
from camelot.backends.poppler_backend import PopplerBackend
from camelot.backends.ghostscript_backend import GhostscriptBackend
class PopplerBackendError(object):
def convert(self, pdf_path, png_path):
raise ValueError('conversion failed')
class GhostscriptBackendError(object):
def convert(self, pdf_path, png_path):
raise ValueError('conversion failed')
class GhostscriptBackendNoError(object):
def convert(self, pdf_path, png_path):
pass
def test_poppler_backend_error_when_no_use_fallback(monkeypatch):
backends = {"poppler": PopplerBackendError, "ghostscript": GhostscriptBackendNoError}
monkeypatch.setattr("camelot.backends.image_conversion.backends", backends, raising=True)
backend = ImageConversionBackend(use_fallback=False)
message = "conversion failed with image conversion backend 'poppler'"
with pytest.raises(ValueError, match=message):
backend.convert('foo', 'bar')
def test_ghostscript_backend_when_use_fallback(monkeypatch):
backends = {"poppler": PopplerBackendError, "ghostscript": GhostscriptBackendNoError}
monkeypatch.setattr("camelot.backends.image_conversion.backends", backends, raising=True)
backend = ImageConversionBackend()
backend.convert('foo', 'bar')
def test_ghostscript_backend_error_when_use_fallback(monkeypatch):
backends = {"poppler": PopplerBackendError, "ghostscript": GhostscriptBackendError}
monkeypatch.setattr("camelot.backends.image_conversion.backends", backends, raising=True)
backend = ImageConversionBackend()
message = "conversion failed with image conversion backend 'ghostscript'"
with pytest.raises(ValueError, match=message):
backend.convert('foo', 'bar')