Update test according to new layout
Separate method making request from TestCase and into separate TestMixins classes. Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
This commit is contained in:
@@ -13,19 +13,28 @@ from .literals import TEST_KEY_DATA, TEST_KEY_FINGERPRINT
|
|||||||
from .mixins import KeyTestMixin
|
from .mixins import KeyTestMixin
|
||||||
|
|
||||||
|
|
||||||
class KeyAPITestCase(KeyTestMixin, BaseAPITestCase):
|
class KeyAPIViewTestMixin(object):
|
||||||
|
def _request_test_key_create_view(self):
|
||||||
# Key creation by upload
|
|
||||||
|
|
||||||
def _request_key_create_view(self):
|
|
||||||
return self.post(
|
return self.post(
|
||||||
viewname='rest_api:key-list', data={
|
viewname='rest_api:key-list', data={
|
||||||
'key_data': TEST_KEY_DATA
|
'key_data': TEST_KEY_DATA
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
def _request_test_key_delete_view(self):
|
||||||
|
return self.delete(
|
||||||
|
viewname='rest_api:key-detail', kwargs={'pk': self.test_key.pk}
|
||||||
|
)
|
||||||
|
|
||||||
|
def _request_test_key_detail_view(self):
|
||||||
|
return self.get(
|
||||||
|
viewname='rest_api:key-detail', kwargs={'pk': self.test_key.pk}
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class KeyAPITestCase(KeyTestMixin, KeyAPIViewTestMixin, BaseAPITestCase):
|
||||||
def test_key_create_view_no_permission(self):
|
def test_key_create_view_no_permission(self):
|
||||||
response = self._request_key_create_view()
|
response = self._request_test_key_create_view()
|
||||||
self.assertEqual(response.status_code, status.HTTP_403_FORBIDDEN)
|
self.assertEqual(response.status_code, status.HTTP_403_FORBIDDEN)
|
||||||
|
|
||||||
self.assertEqual(Key.objects.all().count(), 0)
|
self.assertEqual(Key.objects.all().count(), 0)
|
||||||
@@ -33,7 +42,7 @@ class KeyAPITestCase(KeyTestMixin, BaseAPITestCase):
|
|||||||
def test_key_create_view_with_permission(self):
|
def test_key_create_view_with_permission(self):
|
||||||
self.grant_permission(permission=permission_key_upload)
|
self.grant_permission(permission=permission_key_upload)
|
||||||
|
|
||||||
response = self._request_key_create_view()
|
response = self._request_test_key_create_view()
|
||||||
self.assertEqual(response.status_code, status.HTTP_201_CREATED)
|
self.assertEqual(response.status_code, status.HTTP_201_CREATED)
|
||||||
self.assertEqual(response.data['fingerprint'], TEST_KEY_FINGERPRINT)
|
self.assertEqual(response.data['fingerprint'], TEST_KEY_FINGERPRINT)
|
||||||
|
|
||||||
@@ -41,17 +50,10 @@ class KeyAPITestCase(KeyTestMixin, BaseAPITestCase):
|
|||||||
self.assertEqual(Key.objects.count(), 1)
|
self.assertEqual(Key.objects.count(), 1)
|
||||||
self.assertEqual(key.fingerprint, TEST_KEY_FINGERPRINT)
|
self.assertEqual(key.fingerprint, TEST_KEY_FINGERPRINT)
|
||||||
|
|
||||||
# Key deletion
|
|
||||||
|
|
||||||
def _request_key_delete_view(self):
|
|
||||||
return self.delete(
|
|
||||||
viewname='rest_api:key-detail', kwargs={'pk': self.test_key.pk}
|
|
||||||
)
|
|
||||||
|
|
||||||
def test_key_delete_view_no_access(self):
|
def test_key_delete_view_no_access(self):
|
||||||
self._create_test_key()
|
self._create_test_key()
|
||||||
|
|
||||||
response = self._request_key_delete_view()
|
response = self._request_test_key_delete_view()
|
||||||
self.assertEqual(response.status_code, status.HTTP_404_NOT_FOUND)
|
self.assertEqual(response.status_code, status.HTTP_404_NOT_FOUND)
|
||||||
|
|
||||||
self.assertEqual(Key.objects.count(), 1)
|
self.assertEqual(Key.objects.count(), 1)
|
||||||
@@ -62,22 +64,15 @@ class KeyAPITestCase(KeyTestMixin, BaseAPITestCase):
|
|||||||
obj=self.test_key, permission=permission_key_delete
|
obj=self.test_key, permission=permission_key_delete
|
||||||
)
|
)
|
||||||
|
|
||||||
response = self._request_key_delete_view()
|
response = self._request_test_key_delete_view()
|
||||||
self.assertEqual(response.status_code, status.HTTP_204_NO_CONTENT)
|
self.assertEqual(response.status_code, status.HTTP_204_NO_CONTENT)
|
||||||
|
|
||||||
self.assertEqual(Key.objects.count(), 0)
|
self.assertEqual(Key.objects.count(), 0)
|
||||||
|
|
||||||
# Key detail
|
|
||||||
|
|
||||||
def _request_key_detail_view(self):
|
|
||||||
return self.get(
|
|
||||||
viewname='rest_api:key-detail', kwargs={'pk': self.test_key.pk}
|
|
||||||
)
|
|
||||||
|
|
||||||
def test_key_detail_view_no_access(self):
|
def test_key_detail_view_no_access(self):
|
||||||
self._create_test_key()
|
self._create_test_key()
|
||||||
|
|
||||||
response = self._request_key_detail_view()
|
response = self._request_test_key_detail_view()
|
||||||
self.assertEqual(response.status_code, status.HTTP_404_NOT_FOUND)
|
self.assertEqual(response.status_code, status.HTTP_404_NOT_FOUND)
|
||||||
|
|
||||||
def test_key_detail_view_with_access(self):
|
def test_key_detail_view_with_access(self):
|
||||||
@@ -86,7 +81,7 @@ class KeyAPITestCase(KeyTestMixin, BaseAPITestCase):
|
|||||||
obj=self.test_key, permission=permission_key_view
|
obj=self.test_key, permission=permission_key_view
|
||||||
)
|
)
|
||||||
|
|
||||||
response = self._request_key_detail_view()
|
response = self._request_test_key_detail_view()
|
||||||
self.assertEqual(response.status_code, status.HTTP_200_OK)
|
self.assertEqual(response.status_code, status.HTTP_200_OK)
|
||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
response.data['fingerprint'], self.test_key.fingerprint
|
response.data['fingerprint'], self.test_key.fingerprint
|
||||||
|
|||||||
@@ -11,13 +11,23 @@ from .literals import TEST_KEY_DATA, TEST_KEY_FINGERPRINT
|
|||||||
from .mixins import KeyTestMixin
|
from .mixins import KeyTestMixin
|
||||||
|
|
||||||
|
|
||||||
class KeyViewTestCase(KeyTestMixin, GenericViewTestCase):
|
class KeyViewTestMixin(object):
|
||||||
|
def _request_test_key_download_view(self):
|
||||||
|
return self.get(
|
||||||
|
viewname='django_gpg:key_download', kwargs={'pk': self.test_key.pk}
|
||||||
|
)
|
||||||
|
|
||||||
|
def _request_test_key_upload_view(self):
|
||||||
|
return self.post(
|
||||||
|
viewname='django_gpg:key_upload', data={'key_data': TEST_KEY_DATA}
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class KeyViewTestCase(KeyTestMixin, KeyViewTestMixin, GenericViewTestCase):
|
||||||
def test_key_download_view_no_permission(self):
|
def test_key_download_view_no_permission(self):
|
||||||
self._create_test_key()
|
self._create_test_key()
|
||||||
|
|
||||||
response = self.get(
|
response = self._request_test_key_download_view()
|
||||||
viewname='django_gpg:key_download', kwargs={'pk': self.test_key.pk}
|
|
||||||
)
|
|
||||||
self.assertEqual(response.status_code, 403)
|
self.assertEqual(response.status_code, 403)
|
||||||
|
|
||||||
def test_key_download_view_with_permission(self):
|
def test_key_download_view_with_permission(self):
|
||||||
@@ -25,20 +35,18 @@ class KeyViewTestCase(KeyTestMixin, GenericViewTestCase):
|
|||||||
|
|
||||||
self._create_test_key()
|
self._create_test_key()
|
||||||
|
|
||||||
self.grant_access(obj=self.test_key, permission=permission_key_download)
|
self.grant_access(
|
||||||
|
obj=self.test_key, permission=permission_key_download
|
||||||
response = self.get(
|
|
||||||
viewname='django_gpg:key_download', kwargs={'pk': self.test_key.pk}
|
|
||||||
)
|
)
|
||||||
|
|
||||||
|
response = self._request_test_key_download_view()
|
||||||
assert_download_response(
|
assert_download_response(
|
||||||
self, response=response, content=self.test_key.key_data,
|
self, response=response, content=self.test_key.key_data,
|
||||||
basename=self.test_key.key_id,
|
basename=self.test_key.key_id,
|
||||||
)
|
)
|
||||||
|
|
||||||
def test_key_upload_view_no_permission(self):
|
def test_key_upload_view_no_permission(self):
|
||||||
response = self.post(
|
response = self._request_test_key_upload_view()
|
||||||
viewname='django_gpg:key_upload', data={'key_data': TEST_KEY_DATA}
|
|
||||||
)
|
|
||||||
self.assertEqual(response.status_code, 403)
|
self.assertEqual(response.status_code, 403)
|
||||||
|
|
||||||
self.assertEqual(Key.objects.count(), 0)
|
self.assertEqual(Key.objects.count(), 0)
|
||||||
@@ -46,12 +54,10 @@ class KeyViewTestCase(KeyTestMixin, GenericViewTestCase):
|
|||||||
def test_key_upload_view_with_permission(self):
|
def test_key_upload_view_with_permission(self):
|
||||||
self.grant_permission(permission=permission_key_upload)
|
self.grant_permission(permission=permission_key_upload)
|
||||||
|
|
||||||
response = self.post(
|
response = self._request_test_key_upload_view()
|
||||||
viewname='django_gpg:key_upload', data={'key_data': TEST_KEY_DATA},
|
self.assertEqual(response.status_code, 302)
|
||||||
follow=True
|
|
||||||
)
|
|
||||||
|
|
||||||
self.assertContains(response=response, text='created', status_code=200)
|
|
||||||
|
|
||||||
self.assertEqual(Key.objects.count(), 1)
|
self.assertEqual(Key.objects.count(), 1)
|
||||||
self.assertEqual(Key.objects.first().fingerprint, TEST_KEY_FINGERPRINT)
|
self.assertEqual(
|
||||||
|
Key.objects.first().fingerprint, TEST_KEY_FINGERPRINT
|
||||||
|
)
|
||||||
|
|||||||
@@ -15,9 +15,7 @@ from .literals import TEST_COMMENT_TEXT, TEST_COMMENT_TEXT_EDITED
|
|||||||
from .mixins import DocumentCommentTestMixin
|
from .mixins import DocumentCommentTestMixin
|
||||||
|
|
||||||
|
|
||||||
class CommentAPITestCase(
|
class CommentAPIViewTestMixin(object):
|
||||||
DocumentCommentTestMixin, DocumentTestMixin, BaseAPITestCase
|
|
||||||
):
|
|
||||||
def _request_test_comment_create_api_view(self):
|
def _request_test_comment_create_api_view(self):
|
||||||
return self.post(
|
return self.post(
|
||||||
viewname='rest_api:comment-list', kwargs={
|
viewname='rest_api:comment-list', kwargs={
|
||||||
@@ -27,6 +25,42 @@ class CommentAPITestCase(
|
|||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
def _request_test_comment_delete_api_view(self):
|
||||||
|
return self.delete(
|
||||||
|
viewname='rest_api:comment-detail', kwargs={
|
||||||
|
'document_pk': self.test_document.pk,
|
||||||
|
'comment_pk': self.test_document_comment.pk,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
def _request_test_comment_detail_api_view(self):
|
||||||
|
return self.get(
|
||||||
|
viewname='rest_api:comment-detail', kwargs={
|
||||||
|
'document_pk': self.test_document.pk,
|
||||||
|
'comment_pk': self.test_document_comment.pk
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
def _request_test_comment_edit_patch_api_view(self):
|
||||||
|
return self.patch(
|
||||||
|
viewname='rest_api:comment-detail', kwargs={
|
||||||
|
'document_pk': self.test_document.pk,
|
||||||
|
'comment_pk': self.test_document_comment.pk,
|
||||||
|
}, data={'comment': TEST_COMMENT_TEXT_EDITED}
|
||||||
|
)
|
||||||
|
|
||||||
|
def _request_test_comment_list_api_view(self):
|
||||||
|
return self.get(
|
||||||
|
viewname='rest_api:comment-list', kwargs={
|
||||||
|
'document_pk': self.test_document.pk
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class CommentAPIViewTestCase(
|
||||||
|
CommentAPIViewTestMixin, DocumentCommentTestMixin, DocumentTestMixin,
|
||||||
|
BaseAPITestCase
|
||||||
|
):
|
||||||
def test_comment_create_view_no_access(self):
|
def test_comment_create_view_no_access(self):
|
||||||
response = self._request_test_comment_create_api_view()
|
response = self._request_test_comment_create_api_view()
|
||||||
self.assertEqual(response.status_code, status.HTTP_403_FORBIDDEN)
|
self.assertEqual(response.status_code, status.HTTP_403_FORBIDDEN)
|
||||||
@@ -45,14 +79,6 @@ class CommentAPITestCase(
|
|||||||
self.assertEqual(Comment.objects.count(), 1)
|
self.assertEqual(Comment.objects.count(), 1)
|
||||||
self.assertEqual(response.data['id'], comment.pk)
|
self.assertEqual(response.data['id'], comment.pk)
|
||||||
|
|
||||||
def _request_test_comment_delete_api_view(self):
|
|
||||||
return self.delete(
|
|
||||||
viewname='rest_api:comment-detail', kwargs={
|
|
||||||
'document_pk': self.test_document.pk,
|
|
||||||
'comment_pk': self.test_document_comment.pk,
|
|
||||||
}
|
|
||||||
)
|
|
||||||
|
|
||||||
def test_comment_delete_view_no_access(self):
|
def test_comment_delete_view_no_access(self):
|
||||||
self._create_test_comment()
|
self._create_test_comment()
|
||||||
|
|
||||||
@@ -72,19 +98,11 @@ class CommentAPITestCase(
|
|||||||
|
|
||||||
self.assertFalse(self.test_document_comment in Comment.objects.all())
|
self.assertFalse(self.test_document_comment in Comment.objects.all())
|
||||||
|
|
||||||
def _request_comment_edit_patch_api_view(self):
|
|
||||||
return self.patch(
|
|
||||||
viewname='rest_api:comment-detail', kwargs={
|
|
||||||
'document_pk': self.test_document.pk,
|
|
||||||
'comment_pk': self.test_document_comment.pk,
|
|
||||||
}, data={'comment': TEST_COMMENT_TEXT_EDITED}
|
|
||||||
)
|
|
||||||
|
|
||||||
def test_comment_edit_view_no_access(self):
|
def test_comment_edit_view_no_access(self):
|
||||||
self._create_test_comment()
|
self._create_test_comment()
|
||||||
comment_text = self.test_document_comment.comment
|
comment_text = self.test_document_comment.comment
|
||||||
|
|
||||||
response = self._request_comment_edit_patch_api_view()
|
response = self._request_test_comment_edit_patch_api_view()
|
||||||
self.assertEqual(response.status_code, status.HTTP_403_FORBIDDEN)
|
self.assertEqual(response.status_code, status.HTTP_403_FORBIDDEN)
|
||||||
|
|
||||||
self.test_document_comment.refresh_from_db()
|
self.test_document_comment.refresh_from_db()
|
||||||
@@ -97,24 +115,16 @@ class CommentAPITestCase(
|
|||||||
)
|
)
|
||||||
comment_text = self.test_document_comment.comment
|
comment_text = self.test_document_comment.comment
|
||||||
|
|
||||||
response = self._request_comment_edit_patch_api_view()
|
response = self._request_test_comment_edit_patch_api_view()
|
||||||
self.assertEqual(response.status_code, status.HTTP_200_OK)
|
self.assertEqual(response.status_code, status.HTTP_200_OK)
|
||||||
|
|
||||||
self.test_document_comment.refresh_from_db()
|
self.test_document_comment.refresh_from_db()
|
||||||
self.assertNotEqual(self.test_document_comment.comment, comment_text)
|
self.assertNotEqual(self.test_document_comment.comment, comment_text)
|
||||||
|
|
||||||
def _request_test_comment_api_view(self):
|
|
||||||
return self.get(
|
|
||||||
viewname='rest_api:comment-detail', kwargs={
|
|
||||||
'document_pk': self.test_document.pk,
|
|
||||||
'comment_pk': self.test_document_comment.pk
|
|
||||||
}
|
|
||||||
)
|
|
||||||
|
|
||||||
def test_comment_detail_view_no_access(self):
|
def test_comment_detail_view_no_access(self):
|
||||||
self._create_test_comment()
|
self._create_test_comment()
|
||||||
|
|
||||||
response = self._request_test_comment_api_view()
|
response = self._request_test_comment_detail_api_view()
|
||||||
self.assertEqual(response.status_code, status.HTTP_403_FORBIDDEN)
|
self.assertEqual(response.status_code, status.HTTP_403_FORBIDDEN)
|
||||||
|
|
||||||
def test_comment_detail_view_with_access(self):
|
def test_comment_detail_view_with_access(self):
|
||||||
@@ -123,18 +133,11 @@ class CommentAPITestCase(
|
|||||||
obj=self.test_document, permission=permission_document_comment_view
|
obj=self.test_document, permission=permission_document_comment_view
|
||||||
)
|
)
|
||||||
|
|
||||||
response = self._request_test_comment_api_view()
|
response = self._request_test_comment_detail_api_view()
|
||||||
self.assertEqual(response.status_code, status.HTTP_200_OK)
|
self.assertEqual(response.status_code, status.HTTP_200_OK)
|
||||||
|
|
||||||
self.assertEqual(response.data['comment'], self.test_document_comment.comment)
|
self.assertEqual(response.data['comment'], self.test_document_comment.comment)
|
||||||
|
|
||||||
def _request_test_comment_list_api_view(self):
|
|
||||||
return self.get(
|
|
||||||
viewname='rest_api:comment-list', kwargs={
|
|
||||||
'document_pk': self.test_document.pk
|
|
||||||
}
|
|
||||||
)
|
|
||||||
|
|
||||||
def test_comment_list_view_no_access(self):
|
def test_comment_list_view_no_access(self):
|
||||||
self._create_test_comment()
|
self._create_test_comment()
|
||||||
|
|
||||||
|
|||||||
@@ -13,7 +13,8 @@ class IndexTestMixin(object):
|
|||||||
self.test_index = Index.objects.create(label=TEST_INDEX_LABEL)
|
self.test_index = Index.objects.create(label=TEST_INDEX_LABEL)
|
||||||
|
|
||||||
# Add our document type to the new index
|
# Add our document type to the new index
|
||||||
self.test_index.document_types.add(self.test_document_type)
|
if hasattr(self, 'test_document_type'):
|
||||||
|
self.test_index.document_types.add(self.test_document_type)
|
||||||
|
|
||||||
# Rebuild indexes
|
# Rebuild indexes
|
||||||
if rebuild:
|
if rebuild:
|
||||||
|
|||||||
@@ -15,10 +15,8 @@ from .literals import TEST_INDEX_LABEL, TEST_INDEX_SLUG
|
|||||||
from .mixins import IndexTestMixin
|
from .mixins import IndexTestMixin
|
||||||
|
|
||||||
|
|
||||||
class DocumentIndexingAPITestCase(IndexTestMixin, DocumentTestMixin, BaseAPITestCase):
|
class DocumentIndexingAPIViewTestMixin(object):
|
||||||
auto_upload_document = False
|
def _request_test_index_create_api_view(self):
|
||||||
|
|
||||||
def _request_index_create_api_view(self):
|
|
||||||
return self.post(
|
return self.post(
|
||||||
viewname='rest_api:index-list', data={
|
viewname='rest_api:index-list', data={
|
||||||
'label': TEST_INDEX_LABEL, 'slug': TEST_INDEX_SLUG,
|
'label': TEST_INDEX_LABEL, 'slug': TEST_INDEX_SLUG,
|
||||||
@@ -26,8 +24,29 @@ class DocumentIndexingAPITestCase(IndexTestMixin, DocumentTestMixin, BaseAPITest
|
|||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
def _request_test_index_delete_api_view(self):
|
||||||
|
return self.delete(
|
||||||
|
viewname='rest_api:index-detail', kwargs={
|
||||||
|
'pk': self.test_index.pk
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
def _request_test_index_detail_api_view(self):
|
||||||
|
return self.get(
|
||||||
|
viewname='rest_api:index-detail', kwargs={
|
||||||
|
'pk': self.test_index.pk
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class DocumentIndexingAPITestCase(
|
||||||
|
IndexTestMixin, DocumentIndexingAPIViewTestMixin, DocumentTestMixin,
|
||||||
|
BaseAPITestCase
|
||||||
|
):
|
||||||
|
auto_upload_document = False
|
||||||
|
|
||||||
def test_index_create_api_view_no_permission(self):
|
def test_index_create_api_view_no_permission(self):
|
||||||
response = self._request_index_create_api_view()
|
response = self._request_test_index_create_api_view()
|
||||||
self.assertEqual(response.status_code, status.HTTP_403_FORBIDDEN)
|
self.assertEqual(response.status_code, status.HTTP_403_FORBIDDEN)
|
||||||
|
|
||||||
self.assertEqual(Index.objects.count(), 0)
|
self.assertEqual(Index.objects.count(), 0)
|
||||||
@@ -35,7 +54,7 @@ class DocumentIndexingAPITestCase(IndexTestMixin, DocumentTestMixin, BaseAPITest
|
|||||||
def test_index_create_api_view_with_permission(self):
|
def test_index_create_api_view_with_permission(self):
|
||||||
self.grant_permission(permission=permission_document_indexing_create)
|
self.grant_permission(permission=permission_document_indexing_create)
|
||||||
|
|
||||||
response = self._request_index_create_api_view()
|
response = self._request_test_index_create_api_view()
|
||||||
self.assertEqual(response.status_code, status.HTTP_201_CREATED)
|
self.assertEqual(response.status_code, status.HTTP_201_CREATED)
|
||||||
|
|
||||||
index = Index.objects.first()
|
index = Index.objects.first()
|
||||||
@@ -46,17 +65,10 @@ class DocumentIndexingAPITestCase(IndexTestMixin, DocumentTestMixin, BaseAPITest
|
|||||||
self.assertEqual(Index.objects.count(), 1)
|
self.assertEqual(Index.objects.count(), 1)
|
||||||
self.assertEqual(index.label, TEST_INDEX_LABEL)
|
self.assertEqual(index.label, TEST_INDEX_LABEL)
|
||||||
|
|
||||||
def _request_index_delete_api_view(self):
|
|
||||||
return self.delete(
|
|
||||||
viewname='rest_api:index-detail', kwargs={
|
|
||||||
'pk': self.test_index.pk
|
|
||||||
}
|
|
||||||
)
|
|
||||||
|
|
||||||
def test_index_delete_api_view_no_permission(self):
|
def test_index_delete_api_view_no_permission(self):
|
||||||
self._create_test_index()
|
self._create_test_index()
|
||||||
|
|
||||||
response = self._request_index_delete_api_view()
|
response = self._request_test_index_delete_api_view()
|
||||||
self.assertEqual(response.status_code, status.HTTP_403_FORBIDDEN)
|
self.assertEqual(response.status_code, status.HTTP_403_FORBIDDEN)
|
||||||
|
|
||||||
self.assertTrue(self.test_index in Index.objects.all())
|
self.assertTrue(self.test_index in Index.objects.all())
|
||||||
@@ -68,22 +80,15 @@ class DocumentIndexingAPITestCase(IndexTestMixin, DocumentTestMixin, BaseAPITest
|
|||||||
obj=self.test_index, permission=permission_document_indexing_delete
|
obj=self.test_index, permission=permission_document_indexing_delete
|
||||||
)
|
)
|
||||||
|
|
||||||
response = self._request_index_delete_api_view()
|
response = self._request_test_index_delete_api_view()
|
||||||
self.assertEqual(response.status_code, status.HTTP_204_NO_CONTENT)
|
self.assertEqual(response.status_code, status.HTTP_204_NO_CONTENT)
|
||||||
|
|
||||||
self.assertTrue(self.test_index not in Index.objects.all())
|
self.assertTrue(self.test_index not in Index.objects.all())
|
||||||
|
|
||||||
def _request_index_detail_api_view(self):
|
|
||||||
return self.get(
|
|
||||||
viewname='rest_api:index-detail', kwargs={
|
|
||||||
'pk': self.test_index.pk
|
|
||||||
}
|
|
||||||
)
|
|
||||||
|
|
||||||
def test_index_detail_api_view_no_access(self):
|
def test_index_detail_api_view_no_access(self):
|
||||||
self._create_test_index()
|
self._create_test_index()
|
||||||
|
|
||||||
response = self._request_index_detail_api_view()
|
response = self._request_test_index_detail_api_view()
|
||||||
|
|
||||||
self.assertEqual(response.status_code, status.HTTP_403_FORBIDDEN)
|
self.assertEqual(response.status_code, status.HTTP_403_FORBIDDEN)
|
||||||
self.assertTrue('id' not in response.data)
|
self.assertTrue('id' not in response.data)
|
||||||
@@ -95,7 +100,7 @@ class DocumentIndexingAPITestCase(IndexTestMixin, DocumentTestMixin, BaseAPITest
|
|||||||
obj=self.test_index, permission=permission_document_indexing_view
|
obj=self.test_index, permission=permission_document_indexing_view
|
||||||
)
|
)
|
||||||
|
|
||||||
response = self._request_index_detail_api_view()
|
response = self._request_test_index_detail_api_view()
|
||||||
|
|
||||||
self.assertEqual(response.status_code, status.HTTP_200_OK)
|
self.assertEqual(response.status_code, status.HTTP_200_OK)
|
||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
from __future__ import absolute_import, unicode_literals
|
from __future__ import absolute_import, unicode_literals
|
||||||
|
|
||||||
|
from mayan.apps.common.tests import GenericViewTestCase
|
||||||
from mayan.apps.documents.tests import GenericDocumentViewTestCase
|
from mayan.apps.documents.tests import GenericDocumentViewTestCase
|
||||||
|
|
||||||
from ..models import Index, IndexInstanceNode
|
from ..models import Index, IndexInstanceNode
|
||||||
@@ -18,10 +19,8 @@ from .mixins import IndexTestMixin, IndexViewTestMixin
|
|||||||
|
|
||||||
|
|
||||||
class IndexViewTestCase(
|
class IndexViewTestCase(
|
||||||
IndexTestMixin, IndexViewTestMixin, GenericDocumentViewTestCase
|
IndexTestMixin, IndexViewTestMixin, GenericViewTestCase
|
||||||
):
|
):
|
||||||
auto_upload_document = False
|
|
||||||
|
|
||||||
def test_index_create_view_no_permission(self):
|
def test_index_create_view_no_permission(self):
|
||||||
response = self._request_test_index_create_view()
|
response = self._request_test_index_create_view()
|
||||||
self.assertEqual(response.status_code, 403)
|
self.assertEqual(response.status_code, 403)
|
||||||
@@ -80,9 +79,7 @@ class IndexViewTestCase(
|
|||||||
self.assertEqual(self.test_index.label, TEST_INDEX_LABEL_EDITED)
|
self.assertEqual(self.test_index.label, TEST_INDEX_LABEL_EDITED)
|
||||||
|
|
||||||
|
|
||||||
class IndexInstaceViewTestCase(
|
class IndexInstaceViewTestMixin(object):
|
||||||
IndexTestMixin, IndexViewTestMixin, GenericDocumentViewTestCase
|
|
||||||
):
|
|
||||||
def _create_index_template_node(self):
|
def _create_index_template_node(self):
|
||||||
self.test_index.node_templates.create(
|
self.test_index.node_templates.create(
|
||||||
parent=self.test_index.template_root,
|
parent=self.test_index.template_root,
|
||||||
@@ -90,6 +87,18 @@ class IndexInstaceViewTestCase(
|
|||||||
link_documents=True
|
link_documents=True
|
||||||
)
|
)
|
||||||
|
|
||||||
|
def _request_test_index_instance_node_view(self, index_instance_node):
|
||||||
|
return self.get(
|
||||||
|
viewname='indexing:index_instance_node_view', kwargs={
|
||||||
|
'pk': index_instance_node.pk
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class IndexInstaceViewTestCase(
|
||||||
|
IndexTestMixin, IndexViewTestMixin, IndexInstaceViewTestMixin,
|
||||||
|
GenericDocumentViewTestCase
|
||||||
|
):
|
||||||
def test_index_rebuild_view_no_permission(self):
|
def test_index_rebuild_view_no_permission(self):
|
||||||
self.upload_document()
|
self.upload_document()
|
||||||
self._create_test_index()
|
self._create_test_index()
|
||||||
@@ -115,17 +124,10 @@ class IndexInstaceViewTestCase(
|
|||||||
|
|
||||||
self.assertNotEqual(IndexInstanceNode.objects.count(), 0)
|
self.assertNotEqual(IndexInstanceNode.objects.count(), 0)
|
||||||
|
|
||||||
def _request_index_instance_node_view(self, index_instance_node):
|
|
||||||
return self.get(
|
|
||||||
viewname='indexing:index_instance_node_view', kwargs={
|
|
||||||
'pk': index_instance_node.pk
|
|
||||||
}
|
|
||||||
)
|
|
||||||
|
|
||||||
def test_index_instance_node_view_no_permission(self):
|
def test_index_instance_node_view_no_permission(self):
|
||||||
self._create_test_index()
|
self._create_test_index()
|
||||||
|
|
||||||
response = self._request_index_instance_node_view(
|
response = self._request_test_index_instance_node_view(
|
||||||
index_instance_node=self.test_index.instance_root
|
index_instance_node=self.test_index.instance_root
|
||||||
)
|
)
|
||||||
self.assertEqual(response.status_code, 403)
|
self.assertEqual(response.status_code, 403)
|
||||||
@@ -138,15 +140,13 @@ class IndexInstaceViewTestCase(
|
|||||||
permission=permission_document_indexing_instance_view
|
permission=permission_document_indexing_instance_view
|
||||||
)
|
)
|
||||||
|
|
||||||
response = self._request_index_instance_node_view(
|
response = self._request_test_index_instance_node_view(
|
||||||
index_instance_node=self.test_index.instance_root
|
index_instance_node=self.test_index.instance_root
|
||||||
)
|
)
|
||||||
self.assertContains(response, text=TEST_INDEX_LABEL, status_code=200)
|
self.assertContains(response, text=TEST_INDEX_LABEL, status_code=200)
|
||||||
|
|
||||||
|
|
||||||
class IndexToolsViewTestCase(
|
class IndexToolsViewTestMixin(object):
|
||||||
IndexTestMixin, IndexViewTestMixin, GenericDocumentViewTestCase
|
|
||||||
):
|
|
||||||
def _request_indexes_rebuild_get_view(self):
|
def _request_indexes_rebuild_get_view(self):
|
||||||
return self.get(
|
return self.get(
|
||||||
viewname='indexing:rebuild_index_instances'
|
viewname='indexing:rebuild_index_instances'
|
||||||
@@ -159,6 +159,11 @@ class IndexToolsViewTestCase(
|
|||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class IndexToolsViewTestCase(
|
||||||
|
IndexTestMixin, IndexViewTestMixin, IndexToolsViewTestMixin,
|
||||||
|
GenericDocumentViewTestCase
|
||||||
|
):
|
||||||
def test_indexes_rebuild_no_permission(self):
|
def test_indexes_rebuild_no_permission(self):
|
||||||
self._create_test_index(rebuild=False)
|
self._create_test_index(rebuild=False)
|
||||||
|
|
||||||
|
|||||||
@@ -23,84 +23,32 @@ TEST_UNSIGNED_DOCUMENT_COUNT = 4
|
|||||||
TEST_SIGNED_DOCUMENT_COUNT = 2
|
TEST_SIGNED_DOCUMENT_COUNT = 2
|
||||||
|
|
||||||
|
|
||||||
class SignaturesViewTestCase(SignaturesTestMixin, GenericDocumentViewTestCase):
|
class SignaturesViewTestMixin(object):
|
||||||
auto_upload_document = False
|
def _request_test_document_version_signature_delete_view(self):
|
||||||
|
return self.post(
|
||||||
def _request_document_version_signature_list_view(self, document):
|
viewname='signatures:document_version_signature_delete',
|
||||||
return self.get(
|
kwargs={'pk': self.test_signature.pk}
|
||||||
viewname='signatures:document_version_signature_list',
|
|
||||||
kwargs={'pk': self.test_document.latest_version.pk}
|
|
||||||
)
|
)
|
||||||
|
|
||||||
def test_signature_list_view_no_permission(self):
|
def _request_test_document_version_signature_details_view(self):
|
||||||
self._create_test_key()
|
|
||||||
|
|
||||||
self.test_document_path = TEST_DOCUMENT_PATH
|
|
||||||
self.upload_document()
|
|
||||||
|
|
||||||
self._create_test_detached_signature()
|
|
||||||
|
|
||||||
response = self._request_document_version_signature_list_view(
|
|
||||||
document=self.test_document
|
|
||||||
)
|
|
||||||
self.assertEqual(response.status_code, 403)
|
|
||||||
|
|
||||||
def test_signature_list_view_with_access(self):
|
|
||||||
self._create_test_key()
|
|
||||||
|
|
||||||
self.test_document_path = TEST_DOCUMENT_PATH
|
|
||||||
self.upload_document()
|
|
||||||
|
|
||||||
self._create_test_detached_signature()
|
|
||||||
|
|
||||||
self.grant_access(
|
|
||||||
obj=self.test_document,
|
|
||||||
permission=permission_document_version_signature_view
|
|
||||||
)
|
|
||||||
|
|
||||||
response = self._request_document_version_signature_list_view(
|
|
||||||
document=self.test_document
|
|
||||||
)
|
|
||||||
self.assertEqual(response.status_code, 200)
|
|
||||||
self.assertEqual(response.context['object_list'].count(), 1)
|
|
||||||
|
|
||||||
def _request_document_version_signature_details_view(self):
|
|
||||||
return self.get(
|
return self.get(
|
||||||
viewname='signatures:document_version_signature_details',
|
viewname='signatures:document_version_signature_details',
|
||||||
kwargs={'pk': self.test_signature.pk}
|
kwargs={'pk': self.test_signature.pk}
|
||||||
)
|
)
|
||||||
|
|
||||||
def test_signature_detail_view_no_permission(self):
|
def _request_test_document_version_signature_download_view(self):
|
||||||
self._create_test_key()
|
return self.get(
|
||||||
|
viewname='signatures:document_version_signature_download',
|
||||||
self.test_document_path = TEST_DOCUMENT_PATH
|
kwargs={'pk': self.test_signature.pk}
|
||||||
self.upload_document()
|
|
||||||
|
|
||||||
self._create_test_detached_signature()
|
|
||||||
|
|
||||||
response = self._request_document_version_signature_details_view()
|
|
||||||
self.assertEqual(response.status_code, 404)
|
|
||||||
|
|
||||||
def test_signature_detail_view_with_access(self):
|
|
||||||
self._create_test_key()
|
|
||||||
|
|
||||||
self.test_document_path = TEST_DOCUMENT_PATH
|
|
||||||
self.upload_document()
|
|
||||||
|
|
||||||
self._create_test_detached_signature()
|
|
||||||
|
|
||||||
self.grant_access(
|
|
||||||
obj=self.test_document,
|
|
||||||
permission=permission_document_version_signature_view
|
|
||||||
)
|
)
|
||||||
|
|
||||||
response = self._request_document_version_signature_details_view()
|
def _request_test_document_version_signature_list_view(self, document):
|
||||||
self.assertContains(
|
return self.get(
|
||||||
response=response, text=self.test_signature.signature_id,
|
viewname='signatures:document_version_signature_list',
|
||||||
status_code=200
|
kwargs={'pk': self.test_document.latest_version.pk}
|
||||||
)
|
)
|
||||||
|
|
||||||
def _request_document_version_signature_upload_view(self):
|
def _request_test_document_version_signature_upload_view(self):
|
||||||
with open(TEST_SIGNATURE_FILE_PATH, mode='rb') as file_object:
|
with open(TEST_SIGNATURE_FILE_PATH, mode='rb') as file_object:
|
||||||
return self.post(
|
return self.post(
|
||||||
viewname='signatures:document_version_signature_upload',
|
viewname='signatures:document_version_signature_upload',
|
||||||
@@ -108,70 +56,17 @@ class SignaturesViewTestCase(SignaturesTestMixin, GenericDocumentViewTestCase):
|
|||||||
data={'signature_file': file_object}
|
data={'signature_file': file_object}
|
||||||
)
|
)
|
||||||
|
|
||||||
def test_signature_upload_view_no_permission(self):
|
def _request_all_test_document_version_signature_verify_view(self):
|
||||||
self.test_document_path = TEST_DOCUMENT_PATH
|
|
||||||
self.upload_document()
|
|
||||||
|
|
||||||
response = self._request_document_version_signature_upload_view()
|
|
||||||
self.assertEqual(response.status_code, 403)
|
|
||||||
|
|
||||||
self.assertEqual(DetachedSignature.objects.count(), 0)
|
|
||||||
|
|
||||||
def test_signature_upload_view_with_access(self):
|
|
||||||
self.test_document_path = TEST_DOCUMENT_PATH
|
|
||||||
self.upload_document()
|
|
||||||
|
|
||||||
self.grant_access(
|
|
||||||
obj=self.test_document,
|
|
||||||
permission=permission_document_version_signature_upload
|
|
||||||
)
|
|
||||||
|
|
||||||
response = self._request_document_version_signature_upload_view()
|
|
||||||
self.assertEqual(response.status_code, 302)
|
|
||||||
|
|
||||||
self.assertEqual(DetachedSignature.objects.count(), 1)
|
|
||||||
|
|
||||||
def _request_document_version_signature_download_view(self):
|
|
||||||
return self.get(
|
|
||||||
viewname='signatures:document_version_signature_download',
|
|
||||||
kwargs={'pk': self.test_signature.pk}
|
|
||||||
)
|
|
||||||
|
|
||||||
def test_signature_download_view_no_permission(self):
|
|
||||||
self.test_document_path = TEST_DOCUMENT_PATH
|
|
||||||
self.upload_document()
|
|
||||||
|
|
||||||
self._create_test_detached_signature()
|
|
||||||
|
|
||||||
response = self._request_document_version_signature_download_view()
|
|
||||||
self.assertEqual(response.status_code, 403)
|
|
||||||
|
|
||||||
def test_signature_download_view_with_access(self):
|
|
||||||
self.test_document_path = TEST_DOCUMENT_PATH
|
|
||||||
self.upload_document()
|
|
||||||
|
|
||||||
self._create_test_detached_signature()
|
|
||||||
|
|
||||||
self.grant_access(
|
|
||||||
obj=self.test_document,
|
|
||||||
permission=permission_document_version_signature_download
|
|
||||||
)
|
|
||||||
|
|
||||||
self.expected_content_type = 'application/octet-stream; charset=utf-8'
|
|
||||||
|
|
||||||
response = self._request_document_version_signature_download_view()
|
|
||||||
|
|
||||||
with self.test_signature.signature_file as file_object:
|
|
||||||
assert_download_response(
|
|
||||||
self, response=response, content=file_object.read(),
|
|
||||||
)
|
|
||||||
|
|
||||||
def _request_document_version_signature_delete_view(self):
|
|
||||||
return self.post(
|
return self.post(
|
||||||
viewname='signatures:document_version_signature_delete',
|
viewname='signatures:all_document_version_signature_verify'
|
||||||
kwargs={'pk': self.test_signature.pk}
|
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class SignaturesViewTestCase(
|
||||||
|
SignaturesTestMixin, SignaturesViewTestMixin, GenericDocumentViewTestCase
|
||||||
|
):
|
||||||
|
auto_upload_document = False
|
||||||
|
|
||||||
def test_signature_delete_view_no_permission(self):
|
def test_signature_delete_view_no_permission(self):
|
||||||
self._create_test_key()
|
self._create_test_key()
|
||||||
|
|
||||||
@@ -185,7 +80,7 @@ class SignaturesViewTestCase(SignaturesTestMixin, GenericDocumentViewTestCase):
|
|||||||
permission=permission_document_version_signature_view
|
permission=permission_document_version_signature_view
|
||||||
)
|
)
|
||||||
|
|
||||||
response = self._request_document_version_signature_delete_view()
|
response = self._request_test_document_version_signature_delete_view()
|
||||||
self.assertEqual(response.status_code, 404)
|
self.assertEqual(response.status_code, 404)
|
||||||
self.assertEqual(DetachedSignature.objects.count(), 1)
|
self.assertEqual(DetachedSignature.objects.count(), 1)
|
||||||
|
|
||||||
@@ -206,15 +101,124 @@ class SignaturesViewTestCase(SignaturesTestMixin, GenericDocumentViewTestCase):
|
|||||||
permission=permission_document_version_signature_view
|
permission=permission_document_version_signature_view
|
||||||
)
|
)
|
||||||
|
|
||||||
response = self._request_document_version_signature_delete_view()
|
response = self._request_test_document_version_signature_delete_view()
|
||||||
self.assertEqual(response.status_code, 302)
|
self.assertEqual(response.status_code, 302)
|
||||||
self.assertEqual(DetachedSignature.objects.count(), 0)
|
self.assertEqual(DetachedSignature.objects.count(), 0)
|
||||||
|
|
||||||
def _request_all_document_version_signature_verify_view(self):
|
def test_signature_detail_view_no_permission(self):
|
||||||
return self.post(
|
self._create_test_key()
|
||||||
viewname='signatures:all_document_version_signature_verify'
|
|
||||||
|
self.test_document_path = TEST_DOCUMENT_PATH
|
||||||
|
self.upload_document()
|
||||||
|
|
||||||
|
self._create_test_detached_signature()
|
||||||
|
|
||||||
|
response = self._request_test_document_version_signature_details_view()
|
||||||
|
self.assertEqual(response.status_code, 404)
|
||||||
|
|
||||||
|
def test_signature_detail_view_with_access(self):
|
||||||
|
self._create_test_key()
|
||||||
|
|
||||||
|
self.test_document_path = TEST_DOCUMENT_PATH
|
||||||
|
self.upload_document()
|
||||||
|
|
||||||
|
self._create_test_detached_signature()
|
||||||
|
|
||||||
|
self.grant_access(
|
||||||
|
obj=self.test_document,
|
||||||
|
permission=permission_document_version_signature_view
|
||||||
)
|
)
|
||||||
|
|
||||||
|
response = self._request_test_document_version_signature_details_view()
|
||||||
|
self.assertContains(
|
||||||
|
response=response, text=self.test_signature.signature_id,
|
||||||
|
status_code=200
|
||||||
|
)
|
||||||
|
|
||||||
|
def test_signature_download_view_no_permission(self):
|
||||||
|
self.test_document_path = TEST_DOCUMENT_PATH
|
||||||
|
self.upload_document()
|
||||||
|
|
||||||
|
self._create_test_detached_signature()
|
||||||
|
|
||||||
|
response = self._request_test_document_version_signature_download_view()
|
||||||
|
self.assertEqual(response.status_code, 403)
|
||||||
|
|
||||||
|
def test_signature_download_view_with_access(self):
|
||||||
|
self.test_document_path = TEST_DOCUMENT_PATH
|
||||||
|
self.upload_document()
|
||||||
|
|
||||||
|
self._create_test_detached_signature()
|
||||||
|
|
||||||
|
self.grant_access(
|
||||||
|
obj=self.test_document,
|
||||||
|
permission=permission_document_version_signature_download
|
||||||
|
)
|
||||||
|
|
||||||
|
self.expected_content_type = 'application/octet-stream; charset=utf-8'
|
||||||
|
|
||||||
|
response = self._request_test_document_version_signature_download_view()
|
||||||
|
|
||||||
|
with self.test_signature.signature_file as file_object:
|
||||||
|
assert_download_response(
|
||||||
|
self, response=response, content=file_object.read(),
|
||||||
|
)
|
||||||
|
|
||||||
|
def test_signature_list_view_no_permission(self):
|
||||||
|
self._create_test_key()
|
||||||
|
|
||||||
|
self.test_document_path = TEST_DOCUMENT_PATH
|
||||||
|
self.upload_document()
|
||||||
|
|
||||||
|
self._create_test_detached_signature()
|
||||||
|
|
||||||
|
response = self._request_test_document_version_signature_list_view(
|
||||||
|
document=self.test_document
|
||||||
|
)
|
||||||
|
self.assertEqual(response.status_code, 403)
|
||||||
|
|
||||||
|
def test_signature_list_view_with_access(self):
|
||||||
|
self._create_test_key()
|
||||||
|
|
||||||
|
self.test_document_path = TEST_DOCUMENT_PATH
|
||||||
|
self.upload_document()
|
||||||
|
|
||||||
|
self._create_test_detached_signature()
|
||||||
|
|
||||||
|
self.grant_access(
|
||||||
|
obj=self.test_document,
|
||||||
|
permission=permission_document_version_signature_view
|
||||||
|
)
|
||||||
|
|
||||||
|
response = self._request_test_document_version_signature_list_view(
|
||||||
|
document=self.test_document
|
||||||
|
)
|
||||||
|
self.assertEqual(response.status_code, 200)
|
||||||
|
self.assertEqual(response.context['object_list'].count(), 1)
|
||||||
|
|
||||||
|
def test_signature_upload_view_no_permission(self):
|
||||||
|
self.test_document_path = TEST_DOCUMENT_PATH
|
||||||
|
self.upload_document()
|
||||||
|
|
||||||
|
response = self._request_test_document_version_signature_upload_view()
|
||||||
|
self.assertEqual(response.status_code, 403)
|
||||||
|
|
||||||
|
self.assertEqual(DetachedSignature.objects.count(), 0)
|
||||||
|
|
||||||
|
def test_signature_upload_view_with_access(self):
|
||||||
|
self.test_document_path = TEST_DOCUMENT_PATH
|
||||||
|
self.upload_document()
|
||||||
|
|
||||||
|
self.grant_access(
|
||||||
|
obj=self.test_document,
|
||||||
|
permission=permission_document_version_signature_upload
|
||||||
|
)
|
||||||
|
|
||||||
|
response = self._request_test_document_version_signature_upload_view()
|
||||||
|
self.assertEqual(response.status_code, 302)
|
||||||
|
|
||||||
|
self.assertEqual(DetachedSignature.objects.count(), 1)
|
||||||
|
|
||||||
def test_missing_signature_verify_view_no_permission(self):
|
def test_missing_signature_verify_view_no_permission(self):
|
||||||
# Silence converter logging
|
# Silence converter logging
|
||||||
self._silence_logger(name='mayan.apps.converter.backends')
|
self._silence_logger(name='mayan.apps.converter.backends')
|
||||||
@@ -240,7 +244,7 @@ class SignaturesViewTestCase(SignaturesTestMixin, GenericDocumentViewTestCase):
|
|||||||
|
|
||||||
DocumentVersion._post_save_hooks = old_hooks
|
DocumentVersion._post_save_hooks = old_hooks
|
||||||
|
|
||||||
response = self._request_all_document_version_signature_verify_view()
|
response = self._request_all_test_document_version_signature_verify_view()
|
||||||
self.assertEqual(response.status_code, 403)
|
self.assertEqual(response.status_code, 403)
|
||||||
|
|
||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
@@ -277,7 +281,7 @@ class SignaturesViewTestCase(SignaturesTestMixin, GenericDocumentViewTestCase):
|
|||||||
permission=permission_document_version_signature_verify
|
permission=permission_document_version_signature_verify
|
||||||
)
|
)
|
||||||
|
|
||||||
response = self._request_all_document_version_signature_verify_view()
|
response = self._request_all_test_document_version_signature_verify_view()
|
||||||
self.assertEqual(response.status_code, 302)
|
self.assertEqual(response.status_code, 302)
|
||||||
|
|
||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ from mayan.apps.rest_api.tests import BaseAPITestCase
|
|||||||
from ..classes import SearchModel
|
from ..classes import SearchModel
|
||||||
|
|
||||||
|
|
||||||
class SearchModelAPITestCase(BaseAPITestCase):
|
class SearchModelAPIViewTestCase(BaseAPITestCase):
|
||||||
def test_search_models_view(self):
|
def test_search_models_view(self):
|
||||||
response = self.get(
|
response = self.get(
|
||||||
viewname='rest_api:searchmodel-list'
|
viewname='rest_api:searchmodel-list'
|
||||||
@@ -23,7 +23,7 @@ class SearchModelAPITestCase(BaseAPITestCase):
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
class SearchAPITestCase(DocumentTestMixin, BaseAPITestCase):
|
class SearchAPIViewTestMixin(object):
|
||||||
def _request_search_view(self):
|
def _request_search_view(self):
|
||||||
query = {'q': self.test_document.label}
|
query = {'q': self.test_document.label}
|
||||||
return self.get(
|
return self.get(
|
||||||
@@ -32,6 +32,19 @@ class SearchAPITestCase(DocumentTestMixin, BaseAPITestCase):
|
|||||||
}, query=query
|
}, query=query
|
||||||
)
|
)
|
||||||
|
|
||||||
|
def _request_advanced_search_view(self):
|
||||||
|
query = {'document_type__label': self.test_document.document_type.label}
|
||||||
|
|
||||||
|
return self.get(
|
||||||
|
viewname='rest_api:advanced-search-view', kwargs={
|
||||||
|
'search_model': document_search.get_full_name()
|
||||||
|
}, query=query
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class SearchAPIViewTestCase(
|
||||||
|
SearchAPIViewTestMixin, DocumentTestMixin, BaseAPITestCase
|
||||||
|
):
|
||||||
def test_search_no_permission(self):
|
def test_search_no_permission(self):
|
||||||
response = self._request_search_view()
|
response = self._request_search_view()
|
||||||
self.assertEqual(response.status_code, status.HTTP_200_OK)
|
self.assertEqual(response.status_code, status.HTTP_200_OK)
|
||||||
@@ -49,15 +62,6 @@ class SearchAPITestCase(DocumentTestMixin, BaseAPITestCase):
|
|||||||
)
|
)
|
||||||
self.assertEqual(response.data['count'], 1)
|
self.assertEqual(response.data['count'], 1)
|
||||||
|
|
||||||
def _request_advanced_search_view(self):
|
|
||||||
query = {'document_type__label': self.test_document.document_type.label}
|
|
||||||
|
|
||||||
return self.get(
|
|
||||||
viewname='rest_api:advanced-search-view', kwargs={
|
|
||||||
'search_model': document_search.get_full_name()
|
|
||||||
}, query=query
|
|
||||||
)
|
|
||||||
|
|
||||||
def test_advanced_search_api_view_no_permission(self):
|
def test_advanced_search_api_view_no_permission(self):
|
||||||
response = self._request_advanced_search_view()
|
response = self._request_advanced_search_view()
|
||||||
self.assertEqual(response.status_code, status.HTTP_200_OK)
|
self.assertEqual(response.status_code, status.HTTP_200_OK)
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ class TagActionTestCase(TagTestMixin, ActionTestCase):
|
|||||||
action.execute(context={'document': self.test_document})
|
action.execute(context={'document': self.test_document})
|
||||||
|
|
||||||
self.assertEqual(self.test_tag.documents.count(), 1)
|
self.assertEqual(self.test_tag.documents.count(), 1)
|
||||||
self.assertEqual(self.test_document in self.test_tag.documents.all())
|
self.assertTrue(self.test_document in self.test_tag.documents.all())
|
||||||
|
|
||||||
def test_tag_remove_action(self):
|
def test_tag_remove_action(self):
|
||||||
self.test_tag.attach_to(document=self.test_document)
|
self.test_tag.attach_to(document=self.test_document)
|
||||||
|
|||||||
Reference in New Issue
Block a user