Backport test improvements

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
This commit is contained in:
Roberto Rosario
2019-04-20 02:39:57 -04:00
parent bfcad278aa
commit 0267c79b07
108 changed files with 5434 additions and 4685 deletions

View File

@@ -1,3 +1,4 @@
from __future__ import unicode_literals
TEST_DOCUMENT_CONTENT = 'Sample text'
TEST_PARSING_INDEX_NODE_TEMPLATE = '{% if "sample" in document.latest_version.content|join:" "|lower %}sample{% endif %}'

View File

@@ -9,23 +9,19 @@ from mayan.apps.rest_api.tests import BaseAPITestCase
from ..permissions import permission_content_view
TEST_DOCUMENT_CONTENT = 'Sample text'
from .literals import TEST_DOCUMENT_CONTENT
@override_settings(OCR_AUTO_OCR=False)
@override_settings(DOCUMENT_PARSING_AUTO_PARSING=True)
class DocumentParsingAPITestCase(DocumentTestMixin, BaseAPITestCase):
test_document_filename = TEST_HYBRID_DOCUMENT
def setUp(self):
super(DocumentParsingAPITestCase, self).setUp()
self.login_user()
def _request_document_page_content_view(self):
return self.get(
viewname='rest_api:document-page-content-view',
args=(
self.document.pk, self.document.latest_version.pk,
self.document.latest_version.pages.first().pk,
self.test_document.pk, self.test_document.latest_version.pk,
self.test_document.latest_version.pages.first().pk,
)
)
@@ -35,10 +31,12 @@ class DocumentParsingAPITestCase(DocumentTestMixin, BaseAPITestCase):
def test_get_document_version_page_content_with_access(self):
self.grant_access(
permission=permission_content_view, obj=self.document
permission=permission_content_view, obj=self.test_document
)
response = self._request_document_page_content_view()
self.assertEqual(response.status_code, status.HTTP_200_OK)
self.assertTrue(
TEST_DOCUMENT_CONTENT in response.data['content']
)

View File

@@ -17,10 +17,10 @@ class DocumentParsingEventsTestCase(GenericDocumentTestCase):
def test_document_version_submit_event(self):
Action.objects.all().delete()
self.document.submit_for_parsing()
self.test_document.submit_for_parsing()
self.assertEqual(
Action.objects.last().target, self.document.latest_version
Action.objects.last().target, self.test_document.latest_version
)
self.assertEqual(
Action.objects.last().verb,
@@ -29,9 +29,9 @@ class DocumentParsingEventsTestCase(GenericDocumentTestCase):
def test_document_version_finish_event(self):
Action.objects.all().delete()
self.document.submit_for_parsing()
self.test_document.submit_for_parsing()
self.assertEqual(
Action.objects.first().target, self.document.latest_version
Action.objects.first().target, self.test_document.latest_version
)
self.assertEqual(
Action.objects.first().verb,

View File

@@ -1,7 +1,5 @@
from __future__ import unicode_literals
from django.test import override_settings
from mayan.apps.common.tests import BaseTestCase
from mayan.apps.documents.tests import DocumentTestMixin, TEST_HYBRID_DOCUMENT
from mayan.apps.document_indexing.models import Index, IndexInstanceNode
@@ -10,8 +8,6 @@ from mayan.apps.document_indexing.tests.literals import TEST_INDEX_LABEL
from .literals import TEST_PARSING_INDEX_NODE_TEMPLATE
@override_settings(DOCUMENT_PARSING_AUTO_PARSING=False)
@override_settings(OCR_AUTO_OCR=False)
class ParsingIndexingTestCase(DocumentTestMixin, BaseTestCase):
auto_upload_document = False
test_document_filename = TEST_HYBRID_DOCUMENT
@@ -19,7 +15,7 @@ class ParsingIndexingTestCase(DocumentTestMixin, BaseTestCase):
def test_parsing_indexing(self):
index = Index.objects.create(label=TEST_INDEX_LABEL)
index.document_types.add(self.document_type)
index.document_types.add(self.test_document_type)
root = index.template_root
index.node_templates.create(
@@ -27,11 +23,11 @@ class ParsingIndexingTestCase(DocumentTestMixin, BaseTestCase):
link_documents=True
)
self.document = self.upload_document()
self.document.submit_for_parsing()
self.test_document = self.upload_document()
self.test_document.submit_for_parsing()
self.assertTrue(
self.document in IndexInstanceNode.objects.get(
self.test_document in IndexInstanceNode.objects.get(
value='sample'
).documents.all()
)

View File

@@ -4,24 +4,23 @@ from django.test import override_settings
from mayan.apps.documents.tests import GenericDocumentTestCase, TEST_HYBRID_DOCUMENT
TEST_DOCUMENT_CONTENT = 'Sample text'
from .literals import TEST_DOCUMENT_CONTENT
class DocumentAutoParsingTestCase(GenericDocumentTestCase):
test_document_filename = TEST_HYBRID_DOCUMENT
auto_create_document_type = False
@override_settings(DOCUMENT_PARSING_AUTO_PARSING=False)
def test_disable_auto_parsing(self):
self._create_document_type()
self.document = self.upload_document()
self.test_document = self.upload_document()
with self.assertRaises(StopIteration):
next(self.document.latest_version.content())
next(self.test_document.latest_version.content())
@override_settings(DOCUMENT_PARSING_AUTO_PARSING=True)
def test_enabled_auto_parsing(self):
self._create_document_type()
self.document = self.upload_document()
self.test_document = self.upload_document()
self.assertTrue(
TEST_DOCUMENT_CONTENT in next(self.document.content())
TEST_DOCUMENT_CONTENT in next(self.test_document.content())
)

View File

@@ -1,24 +1,21 @@
from __future__ import unicode_literals
from django.test import override_settings
from mayan.apps.common.tests import BaseTestCase
from mayan.apps.documents.tests import DocumentTestMixin, TEST_HYBRID_DOCUMENT
from ..parsers import PopplerParser
TEST_DOCUMENT_CONTENT = 'Sample text'
from .literals import TEST_DOCUMENT_CONTENT
@override_settings(OCR_AUTO_OCR=False)
class ParserTestCase(DocumentTestMixin, BaseTestCase):
test_document_filename = TEST_HYBRID_DOCUMENT
def test_poppler_parser(self):
parser = PopplerParser()
parser.process_document_version(self.document.latest_version)
parser.process_document_version(self.test_document.latest_version)
self.assertTrue(
TEST_DOCUMENT_CONTENT in self.document.pages.first().content.content
TEST_DOCUMENT_CONTENT in self.test_document.pages.first().content.content
)

View File

@@ -11,7 +11,7 @@ from ..permissions import (
)
from ..utils import get_document_content
TEST_DOCUMENT_CONTENT = 'Sample text'
from .literals import TEST_DOCUMENT_CONTENT
@override_settings(DOCUMENT_PARSING_AUTO_PARSING=True)
@@ -21,48 +21,44 @@ class DocumentContentViewsTestCase(GenericDocumentViewTestCase):
# Ensure we use a PDF file
test_document_filename = TEST_HYBRID_DOCUMENT
def setUp(self):
super(DocumentContentViewsTestCase, self).setUp()
self.login_user()
def _request_document_content_view(self):
return self.get(
'document_parsing:document_content', args=(self.document.pk,)
'document_parsing:document_content', kwargs={
'pk': self.test_document.pk
}
)
def test_document_content_view_no_permissions(self):
response = self._request_document_content_view()
self.assertEqual(response.status_code, 403)
def test_document_content_view_with_access(self):
self.grant_access(
permission=permission_content_view, obj=self.document
obj=self.test_document, permission=permission_content_view
)
response = self._request_document_content_view()
response = self._request_document_content_view()
self.assertContains(
response=response, text=TEST_DOCUMENT_CONTENT, status_code=200
)
def _request_document_page_content_view(self):
return self.get(
viewname='document_parsing:document_page_content', args=(
self.document.pages.first().pk,
)
viewname='document_parsing:document_page_content', kwargs={
'pk': self.test_document.pages.first().pk,
}
)
def test_document_page_content_view_no_permissions(self):
response = self._request_document_page_content_view()
self.assertEqual(response.status_code, 403)
def test_document_page_content_view_with_access(self):
self.grant_access(
permission=permission_content_view, obj=self.document
permission=permission_content_view, obj=self.test_document
)
response = self._request_document_page_content_view()
response = self._request_document_page_content_view()
self.assertContains(
response=response, text=TEST_DOCUMENT_CONTENT, status_code=200
)
@@ -70,7 +66,7 @@ class DocumentContentViewsTestCase(GenericDocumentViewTestCase):
def _request_document_content_download_view(self):
return self.get(
viewname='document_parsing:document_content_download',
args=(self.document.pk,)
kwargs={'pk': self.test_document.pk}
)
def test_document_parsing_download_view_no_permission(self):
@@ -80,34 +76,33 @@ class DocumentContentViewsTestCase(GenericDocumentViewTestCase):
def test_download_view_with_access(self):
self.expected_content_type = 'application/octet-stream; charset=utf-8'
self.grant_access(
permission=permission_content_view, obj=self.document
permission=permission_content_view, obj=self.test_document
)
response = self._request_document_content_download_view()
response = self._request_document_content_download_view()
self.assertEqual(response.status_code, 200)
self.assert_download_response(
response=response, content=(
''.join(get_document_content(document=self.document))
''.join(get_document_content(document=self.test_document))
),
)
def test_document_type_parsing_settings_view_no_permission(self):
response = self.get(
def _request_test_document_type_parsing_settings(self):
return self.get(
viewname='document_parsing:document_type_parsing_settings',
args=(self.document.document_type.pk,)
kwargs={'pk': self.test_document.document_type.pk}
)
def test_document_type_parsing_settings_view_no_permission(self):
response = self._request_test_document_type_parsing_settings()
self.assertEqual(response.status_code, 403)
def test_document_type_parsing_settings_view_with_access(self):
self.grant_access(
permission=permission_document_type_parsing_setup,
obj=self.document.document_type
)
response = self.get(
viewname='document_parsing:document_type_parsing_settings',
args=(self.document.document_type.pk,)
obj=self.test_document.document_type
)
response = self._request_test_document_type_parsing_settings()
self.assertEqual(response.status_code, 200)