Add option for customizing single-file timeout (#688)

* Promoting singlefile timeout to env variable

* Promoting singlefile timeout to env variable

* add tests

---------

Co-authored-by: Sascha Ißbrücker <sascha.issbruecker@gmail.com>
This commit is contained in:
pettijohn
2024-04-07 11:21:59 -07:00
committed by GitHub
parent 5e8f5b2c58
commit 2d22d6871e
4 changed files with 31 additions and 2 deletions

View File

@@ -3,7 +3,7 @@ import os
import subprocess
from unittest import mock
from django.test import TestCase
from django.test import TestCase, override_settings
from bookmarks.services import singlefile
@@ -50,3 +50,24 @@ class SingleFileServiceTestCase(TestCase):
with mock.patch("subprocess.Popen"):
with self.assertRaises(singlefile.SingeFileError):
singlefile.create_snapshot("http://example.com", self.html_filepath)
def test_create_snapshot_default_timeout_setting(self):
mock_process = mock.Mock()
mock_process.wait.return_value = 0
self.create_test_file()
with mock.patch("subprocess.Popen", return_value=mock_process):
singlefile.create_snapshot("http://example.com", self.html_filepath)
mock_process.wait.assert_called_with(timeout=60)
@override_settings(LD_SINGLEFILE_TIMEOUT_SEC=120)
def test_create_snapshot_custom_timeout_setting(self):
mock_process = mock.Mock()
mock_process.wait.return_value = 0
self.create_test_file()
with mock.patch("subprocess.Popen", return_value=mock_process):
singlefile.create_snapshot("http://example.com", self.html_filepath)
mock_process.wait.assert_called_with(timeout=120)