Skip to content

Commit

Permalink
update isatemplates and ontologyaccess permission tests (#2051)
Browse files Browse the repository at this point in the history
  • Loading branch information
mikkonie committed Mar 7, 2025
1 parent 891304e commit ae335f6
Show file tree
Hide file tree
Showing 3 changed files with 140 additions and 12 deletions.
69 changes: 69 additions & 0 deletions isatemplates/tests/test_permissions.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,13 @@ def test_get_list_anon(self):
url = reverse('isatemplates:list')
self.assert_response(url, self.anonymous, 302)

def test_get_list_read_only(self):
"""Test ISATemplateListView GET with site read-only mode"""
self.set_site_read_only()
url = reverse('isatemplates:list')
self.assert_response(url, self.superuser, 200)
self.assert_response(url, self.bad_users, 302)

def test_get_detail(self):
"""Test ISATemplateDetailView GET"""
template = self.make_isa_template(TEMPLATE_NAME, TEMPLATE_DESC, {})
Expand All @@ -46,6 +53,17 @@ def test_get_detail(self):
self.assert_response(url, self.superuser, 200)
self.assert_response(url, self.bad_users, 302)

def test_get_detail_read_only(self):
"""Test ISATemplateDetailView GET with site read-only mode"""
self.set_site_read_only()
template = self.make_isa_template(TEMPLATE_NAME, TEMPLATE_DESC, {})
url = reverse(
'isatemplates:detail',
kwargs={'cookiecutterisatemplate': template.sodar_uuid},
)
self.assert_response(url, self.superuser, 200)
self.assert_response(url, self.bad_users, 302)

def test_get_detail_cubi(self):
"""Test CUBIISATemplateDetailView GET"""
url = reverse(
Expand All @@ -55,12 +73,29 @@ def test_get_detail_cubi(self):
self.assert_response(url, self.superuser, 200)
self.assert_response(url, self.bad_users, 302)

def test_get_detail_cubi_read_only(self):
"""Test CUBIISATemplateDetailView GET with site read-only mode"""
self.set_site_read_only()
url = reverse(
'isatemplates:detail_cubi',
kwargs={'name': CUBI_TEMPLATES[0].name},
)
self.assert_response(url, self.superuser, 200)
self.assert_response(url, self.bad_users, 302)

def test_get_create(self):
"""Test ISATemplateCreateView GET"""
url = reverse('isatemplates:create')
self.assert_response(url, self.superuser, 200)
self.assert_response(url, self.bad_users, 302)

def test_get_create_read_only(self):
"""Test ISATemplateCreateView GET with site read-only mode"""
self.set_site_read_only()
url = reverse('isatemplates:create')
self.assert_response(url, self.superuser, 200)
self.assert_response(url, self.bad_users, 302)

def test_get_update(self):
"""Test ISATemplateUpdateView GET"""
template = self.make_isa_template(TEMPLATE_NAME, TEMPLATE_DESC, {})
Expand All @@ -72,6 +107,18 @@ def test_get_update(self):
self.assert_response(url, self.superuser, 200)
self.assert_response(url, bad_users, 302)

def test_get_update_read_only(self):
"""Test ISATemplateUpdateView GET with site read-only mode"""
self.set_site_read_only()
template = self.make_isa_template(TEMPLATE_NAME, TEMPLATE_DESC, {})
url = reverse(
'isatemplates:update',
kwargs={'cookiecutterisatemplate': template.sodar_uuid},
)
bad_users = [self.regular_user, self.anonymous]
self.assert_response(url, self.superuser, 200)
self.assert_response(url, bad_users, 302)

def test_get_delete(self):
"""Test ISATemplateDeleteView GET"""
template = self.make_isa_template(TEMPLATE_NAME, TEMPLATE_DESC, {})
Expand All @@ -82,6 +129,17 @@ def test_get_delete(self):
self.assert_response(url, self.superuser, 200)
self.assert_response(url, self.bad_users, 302)

def test_get_delete_read_only(self):
"""Test ISATemplateDeleteView GET with site read-only mode"""
self.set_site_read_only()
template = self.make_isa_template(TEMPLATE_NAME, TEMPLATE_DESC, {})
url = reverse(
'isatemplates:delete',
kwargs={'cookiecutterisatemplate': template.sodar_uuid},
)
self.assert_response(url, self.superuser, 200)
self.assert_response(url, self.bad_users, 302)

def test_get_export(self):
"""Test ISATemplateExportView GET"""
template = self.make_isa_template(TEMPLATE_NAME, TEMPLATE_DESC, {})
Expand All @@ -91,3 +149,14 @@ def test_get_export(self):
)
self.assert_response(url, self.superuser, 200)
self.assert_response(url, self.bad_users, 302)

def test_get_export_read_only(self):
"""Test ISATemplateExportView GET with site read-only mode"""
self.set_site_read_only()
template = self.make_isa_template(TEMPLATE_NAME, TEMPLATE_DESC, {})
url = reverse(
'isatemplates:export',
kwargs={'cookiecutterisatemplate': template.sodar_uuid},
)
self.assert_response(url, self.superuser, 200)
self.assert_response(url, self.bad_users, 302)
37 changes: 37 additions & 0 deletions ontologyaccess/tests/test_permissions.py
Original file line number Diff line number Diff line change
Expand Up @@ -78,12 +78,29 @@ def test_get_ontology_detail(self):
self.assert_response(url, self.superuser, 200)
self.assert_response(url, self.bad_users, 302)

def test_get_ontology_detail_read_only(self):
"""Test OBOFormatOntologyDetailView GET with site read-only mode"""
self.set_site_read_only()
url = reverse(
'ontologyaccess:obo_detail',
kwargs={'oboformatontology': self.ontology.sodar_uuid},
)
self.assert_response(url, self.superuser, 200)
self.assert_response(url, self.bad_users, 302)

def test_get_ontology_import(self):
"""Test OBOFormatOntologyImportView GET"""
url = reverse('ontologyaccess:obo_import')
self.assert_response(url, self.superuser, 200)
self.assert_response(url, self.bad_users, 302)

def test_get_ontology_import_read_only(self):
"""Test OBOFormatOntologyImportView GET with site read-only mode"""
self.set_site_read_only()
url = reverse('ontologyaccess:obo_import')
self.assert_response(url, self.superuser, 200)
self.assert_response(url, self.bad_users, 302)

def test_get_ontology_update(self):
"""Test OBOFormatOntologyUpdateView GET"""
url = reverse(
Expand All @@ -93,6 +110,16 @@ def test_get_ontology_update(self):
self.assert_response(url, self.superuser, 200)
self.assert_response(url, self.bad_users, 302)

def test_get_ontology_update_read_only(self):
"""Test OBOFormatOntologyUpdateView GET with site read-only mode"""
self.set_site_read_only()
url = reverse(
'ontologyaccess:obo_update',
kwargs={'oboformatontology': self.ontology.sodar_uuid},
)
self.assert_response(url, self.superuser, 200)
self.assert_response(url, self.bad_users, 302)

def test_ontology_delete(self):
"""Test OBOFormatOntologyDeleteView GET"""
url = reverse(
Expand All @@ -101,3 +128,13 @@ def test_ontology_delete(self):
)
self.assert_response(url, self.superuser, 200)
self.assert_response(url, self.bad_users, 302)

def test_ontology_delete_read_only(self):
"""Test OBOFormatOntologyDeleteView GET with site read-only mode"""
self.set_site_read_only()
url = reverse(
'ontologyaccess:obo_delete',
kwargs={'oboformatontology': self.ontology.sodar_uuid},
)
self.assert_response(url, self.superuser, 200)
self.assert_response(url, self.bad_users, 302)
46 changes: 34 additions & 12 deletions ontologyaccess/tests/test_permissions_ajax.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,28 +11,50 @@
class TestOntologyAccessAjaxPermissions(OntologyAccessPermissionTestBase):
"""Tests for ontologyaccess Ajax API view permissions"""

def setUp(self):
super().setUp()
self.good_users = [self.superuser, self.regular_user]
self.bad_users = [self.anonymous]

def test_get_ontology_list(self):
"""Test OBOOntologyListAjaxView GET"""
url = reverse('ontologyaccess:ajax_obo_list')
good_users = [self.superuser, self.regular_user]
bad_users = [self.anonymous]
self.assert_response(url, good_users, 200)
self.assert_response(url, bad_users, 403)
self.assert_response(url, self.good_users, 200)
self.assert_response(url, self.bad_users, 403)

def test_get_ontology_list_read_only(self):
"""Test OBOOntologyListAjaxView GET with site read-only mode"""
self.set_site_read_only()
url = reverse('ontologyaccess:ajax_obo_list')
self.assert_response(url, self.good_users, 200)
self.assert_response(url, self.bad_users, 403)

def test_get_term_query(self):
"""Test OBOTermQueryAjaxView GET"""
url = reverse('ontologyaccess:ajax_obo_term_query')
request_data = {'s': OBO_TERM_NAME}
good_users = [self.superuser, self.regular_user]
bad_users = [self.anonymous]
self.assert_response(url, good_users, 200, data=request_data)
self.assert_response(url, bad_users, 403, data=request_data)
self.assert_response(url, self.good_users, 200, data=request_data)
self.assert_response(url, self.bad_users, 403, data=request_data)

def test_get_term_query_read_only(self):
"""Test OBOTermQueryAjaxView GET with site read-only mode"""
self.set_site_read_only()
url = reverse('ontologyaccess:ajax_obo_term_query')
request_data = {'s': OBO_TERM_NAME}
self.assert_response(url, self.good_users, 200, data=request_data)
self.assert_response(url, self.bad_users, 403, data=request_data)

def test_get_term_list(self):
"""Test OBOTermQueryAjaxView GET"""
url = reverse('ontologyaccess:ajax_obo_term_list')
request_data = {'t': OBO_TERM_NAME}
good_users = [self.superuser, self.regular_user]
bad_users = [self.anonymous]
self.assert_response(url, good_users, 200, data=request_data)
self.assert_response(url, bad_users, 403, data=request_data)
self.assert_response(url, self.good_users, 200, data=request_data)
self.assert_response(url, self.bad_users, 403, data=request_data)

def test_get_term_list_read_only(self):
"""Test OBOTermQueryAjaxView GET with site read-only mode"""
self.set_site_read_only()
url = reverse('ontologyaccess:ajax_obo_term_list')
request_data = {'t': OBO_TERM_NAME}
self.assert_response(url, self.good_users, 200, data=request_data)
self.assert_response(url, self.bad_users, 403, data=request_data)

0 comments on commit ae335f6

Please sign in to comment.