paperless-ngx/src/documents/tests/test_document_model.py

67 lines
2 KiB
Python
Raw Normal View History

2020-11-25 17:28:49 +01:00
import shutil
import tempfile
2020-12-02 18:00:49 +01:00
from datetime import datetime
2020-11-25 17:28:49 +01:00
from pathlib import Path
from unittest import mock
2020-11-25 17:28:49 +01:00
from django.test import TestCase, override_settings
from ..models import Document, Correspondent
class TestDocument(TestCase):
2020-11-25 17:28:49 +01:00
def setUp(self) -> None:
self.originals_dir = tempfile.mkdtemp()
self.thumb_dir = tempfile.mkdtemp()
override_settings(
ORIGINALS_DIR=self.originals_dir,
THUMBNAIL_DIR=self.thumb_dir,
).enable()
def tearDown(self) -> None:
shutil.rmtree(self.originals_dir)
shutil.rmtree(self.thumb_dir)
def test_file_deletion(self):
document = Document.objects.create(
correspondent=Correspondent.objects.create(name="Test0"),
title="Title",
content="content",
checksum="checksum",
2020-11-20 13:31:03 +01:00
mime_type="application/pdf"
)
2020-11-20 13:31:03 +01:00
file_path = document.source_path
2016-08-20 14:03:42 +01:00
thumb_path = document.thumbnail_path
2020-11-20 13:31:03 +01:00
2020-11-25 17:28:49 +01:00
Path(file_path).touch()
Path(thumb_path).touch()
with mock.patch("documents.signals.handlers.os.unlink") as mock_unlink:
document.delete()
2016-08-20 14:03:42 +01:00
mock_unlink.assert_any_call(file_path)
mock_unlink.assert_any_call(thumb_path)
self.assertEqual(mock_unlink.call_count, 2)
2020-12-02 18:00:49 +01:00
def test_file_name(self):
doc = Document(mime_type="application/pdf", title="test", created=datetime(2020, 12, 25))
self.assertEqual(doc.file_name, "20201225-test.pdf")
def test_file_name_jpg(self):
doc = Document(mime_type="image/jpeg", title="test", created=datetime(2020, 12, 25))
self.assertEqual(doc.file_name, "20201225-test.jpg")
def test_file_name_unknown(self):
doc = Document(mime_type="application/zip", title="test", created=datetime(2020, 12, 25))
self.assertEqual(doc.file_name, "20201225-test.zip")
def test_file_name_invalid(self):
doc = Document(mime_type="image/jpegasd", title="test", created=datetime(2020, 12, 25))
self.assertEqual(doc.file_name, "20201225-test")