Update bulk edit rotate tests
This commit is contained in:
parent
304611073a
commit
f5ea9f5180
BIN
src/documents/tests/samples/simple.bmp
Normal file
BIN
src/documents/tests/samples/simple.bmp
Normal file
Binary file not shown.
After Width: | Height: | Size: 38 KiB |
BIN
src/documents/tests/samples/simple.gif
Normal file
BIN
src/documents/tests/samples/simple.gif
Normal file
Binary file not shown.
After Width: | Height: | Size: 16 KiB |
BIN
src/documents/tests/samples/simple.webp
Normal file
BIN
src/documents/tests/samples/simple.webp
Normal file
Binary file not shown.
After Width: | Height: | Size: 12 KiB |
@ -408,17 +408,83 @@ class TestPDFActions(DirectoriesMixin, TestCase):
|
|||||||
filename=sample3,
|
filename=sample3,
|
||||||
mime_type="application/pdf",
|
mime_type="application/pdf",
|
||||||
)
|
)
|
||||||
img_doc = self.dirs.scratch_dir / "sample_image.jpg"
|
jpg_doc = self.dirs.scratch_dir / "sample_image.jpg"
|
||||||
shutil.copy(
|
shutil.copy(
|
||||||
Path(__file__).parent / "samples" / "simple.jpg",
|
Path(__file__).parent / "samples" / "simple.jpg",
|
||||||
img_doc,
|
jpg_doc,
|
||||||
)
|
)
|
||||||
self.img_doc = Document.objects.create(
|
self.jpg_doc = Document.objects.create(
|
||||||
checksum="D",
|
checksum="D",
|
||||||
title="D",
|
title="D",
|
||||||
filename=img_doc,
|
filename=jpg_doc,
|
||||||
mime_type="image/jpeg",
|
mime_type="image/jpeg",
|
||||||
)
|
)
|
||||||
|
png_doc = self.dirs.scratch_dir / "sample_text.png"
|
||||||
|
shutil.copy(
|
||||||
|
Path(__file__).parent / "samples" / "simple.png",
|
||||||
|
png_doc,
|
||||||
|
)
|
||||||
|
self.png_doc = Document.objects.create(
|
||||||
|
checksum="E",
|
||||||
|
title="E",
|
||||||
|
filename=png_doc,
|
||||||
|
mime_type="image/png",
|
||||||
|
)
|
||||||
|
tiff_doc = self.dirs.scratch_dir / "sample_text.tiff"
|
||||||
|
shutil.copy(
|
||||||
|
Path(__file__).parent / "samples" / "simple.tiff",
|
||||||
|
tiff_doc,
|
||||||
|
)
|
||||||
|
self.tiff_doc = Document.objects.create(
|
||||||
|
checksum="F",
|
||||||
|
title="F",
|
||||||
|
filename=tiff_doc,
|
||||||
|
mime_type="image/tiff",
|
||||||
|
)
|
||||||
|
webp_doc = self.dirs.scratch_dir / "sample_text.webp"
|
||||||
|
shutil.copy(
|
||||||
|
Path(__file__).parent / "samples" / "simple.webp",
|
||||||
|
webp_doc,
|
||||||
|
)
|
||||||
|
self.webp_doc = Document.objects.create(
|
||||||
|
checksum="G",
|
||||||
|
title="G",
|
||||||
|
filename=webp_doc,
|
||||||
|
mime_type="image/webp",
|
||||||
|
)
|
||||||
|
gif_doc = self.dirs.scratch_dir / "sample_text.gif"
|
||||||
|
shutil.copy(
|
||||||
|
Path(__file__).parent / "samples" / "simple.gif",
|
||||||
|
gif_doc,
|
||||||
|
)
|
||||||
|
self.gif_doc = Document.objects.create(
|
||||||
|
checksum="H",
|
||||||
|
title="H",
|
||||||
|
filename=gif_doc,
|
||||||
|
mime_type="image/gif",
|
||||||
|
)
|
||||||
|
bmp_doc = self.dirs.scratch_dir / "sample_text.bmp"
|
||||||
|
shutil.copy(
|
||||||
|
Path(__file__).parent / "samples" / "simple.bmp",
|
||||||
|
bmp_doc,
|
||||||
|
)
|
||||||
|
self.bmp_doc = Document.objects.create(
|
||||||
|
checksum="I",
|
||||||
|
title="I",
|
||||||
|
filename=bmp_doc,
|
||||||
|
mime_type="image/bmp",
|
||||||
|
)
|
||||||
|
text_doc = self.dirs.scratch_dir / "sample_text.txt"
|
||||||
|
shutil.copy(
|
||||||
|
Path(__file__).parent / "samples" / "simple.txt",
|
||||||
|
text_doc,
|
||||||
|
)
|
||||||
|
self.text_doc = Document.objects.create(
|
||||||
|
checksum="J",
|
||||||
|
title="J",
|
||||||
|
filename=text_doc,
|
||||||
|
mime_type="text/plain",
|
||||||
|
)
|
||||||
|
|
||||||
@mock.patch("documents.tasks.consume_file.s")
|
@mock.patch("documents.tasks.consume_file.s")
|
||||||
def test_merge(self, mock_consume_file):
|
def test_merge(self, mock_consume_file):
|
||||||
@ -609,7 +675,7 @@ class TestPDFActions(DirectoriesMixin, TestCase):
|
|||||||
@mock.patch("documents.tasks.bulk_update_documents.si")
|
@mock.patch("documents.tasks.bulk_update_documents.si")
|
||||||
@mock.patch("documents.tasks.update_document_archive_file.s")
|
@mock.patch("documents.tasks.update_document_archive_file.s")
|
||||||
@mock.patch("celery.chord.delay")
|
@mock.patch("celery.chord.delay")
|
||||||
def test_rotate(self, mock_chord, mock_update_document, mock_update_documents):
|
def test_rotate_pdf(self, mock_chord, mock_update_document, mock_update_documents):
|
||||||
"""
|
"""
|
||||||
GIVEN:
|
GIVEN:
|
||||||
- Existing documents
|
- Existing documents
|
||||||
@ -625,6 +691,38 @@ class TestPDFActions(DirectoriesMixin, TestCase):
|
|||||||
mock_chord.assert_called_once()
|
mock_chord.assert_called_once()
|
||||||
self.assertEqual(result, "OK")
|
self.assertEqual(result, "OK")
|
||||||
|
|
||||||
|
@mock.patch("documents.tasks.bulk_update_documents.si")
|
||||||
|
@mock.patch("documents.tasks.update_document_archive_file.s")
|
||||||
|
@mock.patch("celery.chord.delay")
|
||||||
|
def test_rotate_image(
|
||||||
|
self,
|
||||||
|
mock_chord,
|
||||||
|
mock_update_document,
|
||||||
|
mock_update_documents,
|
||||||
|
):
|
||||||
|
"""
|
||||||
|
GIVEN:
|
||||||
|
- Existing documents
|
||||||
|
WHEN:
|
||||||
|
- Rotate action is called with 6 images
|
||||||
|
THEN:
|
||||||
|
- Rotate action should be called 6 times
|
||||||
|
"""
|
||||||
|
|
||||||
|
doc_ids = [
|
||||||
|
self.jpg_doc.id,
|
||||||
|
self.png_doc.id,
|
||||||
|
self.tiff_doc.id,
|
||||||
|
self.webp_doc.id,
|
||||||
|
self.gif_doc.id,
|
||||||
|
self.bmp_doc.id,
|
||||||
|
]
|
||||||
|
result = bulk_edit.rotate(doc_ids, 90)
|
||||||
|
self.assertEqual(mock_update_document.call_count, 6)
|
||||||
|
mock_update_documents.assert_called_once()
|
||||||
|
mock_chord.assert_called_once()
|
||||||
|
self.assertEqual(result, "OK")
|
||||||
|
|
||||||
@mock.patch("documents.tasks.bulk_update_documents.si")
|
@mock.patch("documents.tasks.bulk_update_documents.si")
|
||||||
@mock.patch("documents.tasks.update_document_archive_file.s")
|
@mock.patch("documents.tasks.update_document_archive_file.s")
|
||||||
@mock.patch("pikepdf.Pdf.save")
|
@mock.patch("pikepdf.Pdf.save")
|
||||||
@ -656,7 +754,7 @@ class TestPDFActions(DirectoriesMixin, TestCase):
|
|||||||
@mock.patch("documents.tasks.bulk_update_documents.si")
|
@mock.patch("documents.tasks.bulk_update_documents.si")
|
||||||
@mock.patch("documents.tasks.update_document_archive_file.s")
|
@mock.patch("documents.tasks.update_document_archive_file.s")
|
||||||
@mock.patch("celery.chord.delay")
|
@mock.patch("celery.chord.delay")
|
||||||
def test_rotate_non_pdf(
|
def test_rotate_non_pdf_or_image(
|
||||||
self,
|
self,
|
||||||
mock_chord,
|
mock_chord,
|
||||||
mock_update_document,
|
mock_update_document,
|
||||||
@ -666,14 +764,16 @@ class TestPDFActions(DirectoriesMixin, TestCase):
|
|||||||
GIVEN:
|
GIVEN:
|
||||||
- Existing documents
|
- Existing documents
|
||||||
WHEN:
|
WHEN:
|
||||||
- Rotate action is called with 2 documents, one of which is not a PDF
|
- Rotate action is called with 2 documents, one of which is not a PDF or image
|
||||||
THEN:
|
THEN:
|
||||||
- Rotate action should be performed 1 time, with the non-PDF document skipped
|
- Rotate action should be performed 1 time, with the non-PDF or image document skipped
|
||||||
"""
|
"""
|
||||||
with self.assertLogs("paperless.bulk_edit", level="INFO") as cm:
|
with self.assertLogs("paperless.bulk_edit", level="INFO") as cm:
|
||||||
result = bulk_edit.rotate([self.doc2.id, self.img_doc.id], 90)
|
result = bulk_edit.rotate([self.doc2.id, self.text_doc.id], 90)
|
||||||
output_str = cm.output[1]
|
output_str = cm.output[1]
|
||||||
expected_str = "Document 4 is not a PDF, skipping rotation"
|
expected_str = (
|
||||||
|
f"Document {self.text_doc.id} is not a PDF or image, skipping rotation"
|
||||||
|
)
|
||||||
self.assertIn(expected_str, output_str)
|
self.assertIn(expected_str, output_str)
|
||||||
self.assertEqual(mock_update_document.call_count, 1)
|
self.assertEqual(mock_update_document.call_count, 1)
|
||||||
mock_update_documents.assert_called_once()
|
mock_update_documents.assert_called_once()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user