Backport test improvements
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
This commit is contained in:
@@ -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 %}'
|
||||
|
||||
@@ -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']
|
||||
)
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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()
|
||||
)
|
||||
|
||||
@@ -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())
|
||||
)
|
||||
|
||||
@@ -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
|
||||
)
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user