mirror of
https://github.com/paperless-ngx/paperless-ngx.git
synced 2025-05-31 20:25:38 -04:00
95 lines
3.1 KiB
Python
95 lines
3.1 KiB
Python
from django.test import TestCase
|
|
|
|
from ..consumer import Consumer
|
|
|
|
|
|
class TestAttachment(TestCase):
|
|
|
|
TAGS = ("tag1", "tag2", "tag3")
|
|
CONSUMER = Consumer()
|
|
SUFFIXES = (
|
|
"pdf", "png", "jpg", "jpeg", "gif",
|
|
"PDF", "PNG", "JPG", "JPEG", "GIF",
|
|
"PdF", "PnG", "JpG", "JPeG", "GiF",
|
|
)
|
|
|
|
def _test_guess_attributes_from_name(self, path, sender, title, tags):
|
|
for suffix in self.SUFFIXES:
|
|
f = path.format(suffix)
|
|
results = self.CONSUMER._guess_attributes_from_name(f)
|
|
self.assertEqual(results[0].name, sender, f)
|
|
self.assertEqual(results[1], title, f)
|
|
self.assertEqual(tuple([t.slug for t in results[2]]), tags, f)
|
|
if suffix.lower() == "jpeg":
|
|
self.assertEqual(results[3], "jpg", f)
|
|
else:
|
|
self.assertEqual(results[3], suffix.lower(), f)
|
|
|
|
def test_guess_attributes_from_name0(self):
|
|
self._test_guess_attributes_from_name(
|
|
"/path/to/Sender - Title.{}", "Sender", "Title", ())
|
|
|
|
def test_guess_attributes_from_name1(self):
|
|
self._test_guess_attributes_from_name(
|
|
"/path/to/Spaced Sender - Title.{}", "Spaced Sender", "Title", ())
|
|
|
|
def test_guess_attributes_from_name2(self):
|
|
self._test_guess_attributes_from_name(
|
|
"/path/to/Sender - Spaced Title.{}", "Sender", "Spaced Title", ())
|
|
|
|
def test_guess_attributes_from_name3(self):
|
|
self._test_guess_attributes_from_name(
|
|
"/path/to/Dashed-Sender - Title.{}", "Dashed-Sender", "Title", ())
|
|
|
|
def test_guess_attributes_from_name4(self):
|
|
self._test_guess_attributes_from_name(
|
|
"/path/to/Sender - Dashed-Title.{}", "Sender", "Dashed-Title", ())
|
|
|
|
def test_guess_attributes_from_name5(self):
|
|
self._test_guess_attributes_from_name(
|
|
"/path/to/Sender - Title - tag1,tag2,tag3.{}",
|
|
"Sender",
|
|
"Title",
|
|
self.TAGS
|
|
)
|
|
|
|
def test_guess_attributes_from_name6(self):
|
|
self._test_guess_attributes_from_name(
|
|
"/path/to/Spaced Sender - Title - tag1,tag2,tag3.{}",
|
|
"Spaced Sender",
|
|
"Title",
|
|
self.TAGS
|
|
)
|
|
|
|
def test_guess_attributes_from_name7(self):
|
|
self._test_guess_attributes_from_name(
|
|
"/path/to/Sender - Spaced Title - tag1,tag2,tag3.{}",
|
|
"Sender",
|
|
"Spaced Title",
|
|
self.TAGS
|
|
)
|
|
|
|
def test_guess_attributes_from_name8(self):
|
|
self._test_guess_attributes_from_name(
|
|
"/path/to/Dashed-Sender - Title - tag1,tag2,tag3.{}",
|
|
"Dashed-Sender",
|
|
"Title",
|
|
self.TAGS
|
|
)
|
|
|
|
def test_guess_attributes_from_name9(self):
|
|
self._test_guess_attributes_from_name(
|
|
"/path/to/Sender - Dashed-Title - tag1,tag2,tag3.{}",
|
|
"Sender",
|
|
"Dashed-Title",
|
|
self.TAGS
|
|
)
|
|
|
|
def test_guess_attributes_from_name10(self):
|
|
self._test_guess_attributes_from_name(
|
|
"/path/to/Σενδερ - Τιτλε - tag1,tag2,tag3.{}",
|
|
"Σενδερ",
|
|
"Τιτλε",
|
|
self.TAGS
|
|
)
|