mirror of
https://github.com/sissbruecker/linkding.git
synced 2025-08-07 02:48:27 +02:00
Archive snapshots of websites locally (#672)
* Add basic HTML snapshots * Implement asset list * Add snapshot creation tests * Add deletion tests * Show file size * Remove snapshots * Create new snapshots * Switch to single-file * CSS tweak * Remove auto refresh * Show delete link when there is no file yet * Add current date to display name * Add flag for snapshot support * Add option for disabling automatic snapshots * Make snapshots sharable * Document image variants * Update README.md * Add migrations * Fix tests
This commit is contained in:
@@ -105,6 +105,24 @@ class BookmarkServiceTestCase(TestCase, BookmarkFactoryMixin):
|
||||
|
||||
mock_load_favicon.assert_called_once_with(self.user, bookmark)
|
||||
|
||||
def test_create_should_load_html_snapshot(self):
|
||||
with patch.object(tasks, "create_html_snapshot") as mock_create_html_snapshot:
|
||||
bookmark_data = Bookmark(url="https://example.com")
|
||||
bookmark = create_bookmark(bookmark_data, "tag1,tag2", self.user)
|
||||
|
||||
mock_create_html_snapshot.assert_called_once_with(bookmark)
|
||||
|
||||
def test_create_should_not_load_html_snapshot_when_setting_is_disabled(self):
|
||||
profile = self.get_or_create_test_user().profile
|
||||
profile.enable_automatic_html_snapshots = False
|
||||
profile.save()
|
||||
|
||||
with patch.object(tasks, "create_html_snapshot") as mock_create_html_snapshot:
|
||||
bookmark_data = Bookmark(url="https://example.com")
|
||||
create_bookmark(bookmark_data, "tag1,tag2", self.user)
|
||||
|
||||
mock_create_html_snapshot.assert_not_called()
|
||||
|
||||
def test_update_should_create_web_archive_snapshot_if_url_did_change(self):
|
||||
with patch.object(
|
||||
tasks, "create_web_archive_snapshot"
|
||||
@@ -167,6 +185,14 @@ class BookmarkServiceTestCase(TestCase, BookmarkFactoryMixin):
|
||||
|
||||
mock_load_favicon.assert_called_once_with(self.user, bookmark)
|
||||
|
||||
def test_update_should_not_create_html_snapshot(self):
|
||||
with patch.object(tasks, "create_html_snapshot") as mock_create_html_snapshot:
|
||||
bookmark = self.setup_bookmark()
|
||||
bookmark.title = "updated title"
|
||||
update_bookmark(bookmark, "tag1,tag2", self.user)
|
||||
|
||||
mock_create_html_snapshot.assert_not_called()
|
||||
|
||||
def test_archive_bookmark(self):
|
||||
bookmark = Bookmark(
|
||||
url="https://example.com",
|
||||
|
Reference in New Issue
Block a user