From 1d29cf641ba25556ca148dc0a20abe0b90469874 Mon Sep 17 00:00:00 2001 From: Florian Bruhin Date: Mon, 4 Dec 2023 10:46:30 +0100 Subject: Simplify get_pdfjs test Given that the two branches share rather little, it seems simpler to separate the two tests. Also use monkeypatch, since we don't use any of unittest.mock's complexity --- tests/unit/browser/test_pdfjs.py | 33 +++++++++++++++++---------------- 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/tests/unit/browser/test_pdfjs.py b/tests/unit/browser/test_pdfjs.py index 7bd9588b4..cb5c26229 100644 --- a/tests/unit/browser/test_pdfjs.py +++ b/tests/unit/browser/test_pdfjs.py @@ -196,27 +196,28 @@ def test_is_available(available, mocker): @pytest.mark.parametrize('found_file', [ "build/pdf.js", "build/pdf.mjs", - None, ]) -def test_get_pdfjs_js_path(found_file, mocker): - - def side_effect(requested): - if found_file and requested.endswith(found_file): +def test_get_pdfjs_js_path(found_file: str, monkeypatch: pytest.MonkeyPatch): + def fake_pdfjs_res(requested): + if requested.endswith(found_file): return + raise pdfjs.PDFJSNotFound(requested) + + monkeypatch.setattr(pdfjs, 'get_pdfjs_res', fake_pdfjs_res) + assert pdfjs.get_pdfjs_js_path() == found_file + +def test_get_pdfjs_js_path_none(monkeypatch: pytest.MonkeyPatch): + def fake_pdfjs_res(requested): raise pdfjs.PDFJSNotFound(requested) - mock = mocker.patch.object(pdfjs, 'get_pdfjs_res', autospec=True) - mock.side_effect = side_effect - - if found_file is None: - with pytest.raises( - pdfjs.PDFJSNotFound, - match="Path 'build/pdf.js or build/pdf.mjs' not found" - ): - pdfjs.get_pdfjs_js_path() - else: - assert pdfjs.get_pdfjs_js_path() == found_file + monkeypatch.setattr(pdfjs, 'get_pdfjs_res', fake_pdfjs_res) + + with pytest.raises( + pdfjs.PDFJSNotFound, + match="Path 'build/pdf.js or build/pdf.mjs' not found" + ): + pdfjs.get_pdfjs_js_path() @pytest.mark.parametrize('mimetype, url, enabled, expected', [ -- cgit v1.2.3-54-g00ecf