self.originals_dir = tempfile.mkdtemp()
self.thumb_dir = tempfile.mkdtemp()
- override_settings(
+ self.overrides = override_settings(
ORIGINALS_DIR=self.originals_dir,
THUMBNAIL_DIR=self.thumb_dir,
- ).enable()
+ )
+
+ self.overrides.enable()
def tearDown(self) -> None:
shutil.rmtree(self.originals_dir)
shutil.rmtree(self.thumb_dir)
+ self.overrides.disable()
def test_file_deletion(self):
document = Document.objects.create(
class TestDecryptDocuments(FileSystemAssertsMixin, TestCase):
- @override_settings(
- ORIGINALS_DIR=(Path(__file__).parent / "samples" / "originals"),
- THUMBNAIL_DIR=(Path(__file__).parent / "samples" / "thumb"),
- PASSPHRASE="test",
- FILENAME_FORMAT=None,
- )
@mock.patch("documents.management.commands.decrypt_documents.input")
def test_decrypt(self, m):
media_dir = tempfile.mkdtemp()
originals_dir.mkdir(parents=True, exist_ok=True)
thumb_dir.mkdir(parents=True, exist_ok=True)
- override_settings(
+ with override_settings(
ORIGINALS_DIR=originals_dir,
THUMBNAIL_DIR=thumb_dir,
PASSPHRASE="test",
- ).enable()
-
- doc = Document.objects.create(
- checksum="82186aaa94f0b98697d704b90fd1c072",
- title="wow",
- filename="0000004.pdf.gpg",
- mime_type="application/pdf",
- storage_type=Document.STORAGE_TYPE_GPG,
- )
-
- shutil.copy(
- (
- Path(__file__).parent
- / "samples"
- / "documents"
- / "originals"
- / "0000004.pdf.gpg"
- ),
- originals_dir / "0000004.pdf.gpg",
- )
- shutil.copy(
- (
- Path(__file__).parent
- / "samples"
- / "documents"
- / "thumbnails"
- / "0000004.webp.gpg"
- ),
- thumb_dir / f"{doc.id:07}.webp.gpg",
- )
-
- call_command("decrypt_documents")
-
- doc.refresh_from_db()
-
- self.assertEqual(doc.storage_type, Document.STORAGE_TYPE_UNENCRYPTED)
- self.assertEqual(doc.filename, "0000004.pdf")
- self.assertIsFile(Path(originals_dir) / "0000004.pdf")
- self.assertIsFile(doc.source_path)
- self.assertIsFile(Path(thumb_dir) / f"{doc.id:07}.webp")
- self.assertIsFile(doc.thumbnail_path)
-
- with doc.source_file as f:
- checksum: str = hashlib.md5(f.read()).hexdigest()
- self.assertEqual(checksum, doc.checksum)
+ FILENAME_FORMAT=None,
+ ):
+ doc = Document.objects.create(
+ checksum="82186aaa94f0b98697d704b90fd1c072",
+ title="wow",
+ filename="0000004.pdf.gpg",
+ mime_type="application/pdf",
+ storage_type=Document.STORAGE_TYPE_GPG,
+ )
+
+ shutil.copy(
+ (
+ Path(__file__).parent
+ / "samples"
+ / "documents"
+ / "originals"
+ / "0000004.pdf.gpg"
+ ),
+ originals_dir / "0000004.pdf.gpg",
+ )
+ shutil.copy(
+ (
+ Path(__file__).parent
+ / "samples"
+ / "documents"
+ / "thumbnails"
+ / "0000004.webp.gpg"
+ ),
+ thumb_dir / f"{doc.id:07}.webp.gpg",
+ )
+
+ call_command("decrypt_documents")
+
+ doc.refresh_from_db()
+
+ self.assertEqual(doc.storage_type, Document.STORAGE_TYPE_UNENCRYPTED)
+ self.assertEqual(doc.filename, "0000004.pdf")
+ self.assertIsFile(Path(originals_dir) / "0000004.pdf")
+ self.assertIsFile(doc.source_path)
+ self.assertIsFile(Path(thumb_dir) / f"{doc.id:07}.webp")
+ self.assertIsFile(doc.thumbnail_path)
+
+ with doc.source_file as f:
+ checksum: str = hashlib.md5(f.read()).hexdigest()
+ self.assertEqual(checksum, doc.checksum)
class TestMakeIndex(TestCase):
w.actions.add(action)
w.save()
- settings.SCRATCH_DIR = tmp_path / "scratch"
(tmp_path / "scratch").mkdir(parents=True, exist_ok=True)
+ (tmp_path / "thumbnails").mkdir(parents=True, exist_ok=True)
# Temporarily override "now" for the environment so templates using
# added/created placeholders behave as if it's a different system date.
"django.utils.timezone.now",
return_value=self.TEST_DATETIME,
),
+ override_settings(
+ SCRATCH_DIR=tmp_path / "scratch",
+ THUMBNAIL_DIR=tmp_path / "thumbnails",
+ ),
):
tasks.consume_file(
ConsumableDocument(