def lista_permissions_in_decorators(self): urls = lista_urls() for url_item in urls: key, url, var, app_name = url_item if hasattr(key, 'view_class'): view = key.view_class elif hasattr(key, 'cls'): view = key.cls else: view = key if not view.__module__.startswith('sapl.'): continue try: decorators = list( map(lambda x: (x, view), get_permission_requireds(view))) self.decorators += decorators except: pass return self.decorators
def lista_permissions_in_decorators(self): urls = lista_urls() for url_item in urls: key, url, var, app_name = url_item if hasattr(key, 'view_class'): view = key.view_class elif hasattr(key, 'cls'): view = key.cls else: view = key if not view.__module__.startswith('sapl.'): continue try: decorators = list(map(lambda x: (x, view), get_permission_requireds(view) )) self.decorators += decorators except: pass return self.decorators
for r in rules: content_type = ContentType.objects.get_by_natural_key( app_label=model._meta.app_label, model=model._meta.model_name) codename = (r[1:] + model._meta.model_name)\ if r[0] == '.' and r[-1] == '_' else r p = Permission.objects.filter(content_type=content_type, codename=codename).exists() assert p, _( 'Permissão (%s) associada ao model (%s) ' 'não está em _meta.permissions.') % (codename, model_item) _lista_urls = lista_urls() @pytest.mark.django_db(transaction=False) @pytest.mark.parametrize('url_item', _lista_urls) def test_permission_required_of_views_exists(url_item): """ testa se, nas views que possuem atributo permission_required, as permissões fixas escritas manualmente realmente exitem em Permission Obs: isso não testa permissões escritas em anotações de método ou classe """ for app in sapl_appconfs: # readequa permissões dos models adicionando # list e detail permissions
app_label=model._meta.app_label, model=model._meta.model_name) codename = (r[1:] + model._meta.model_name)\ if r[0] == '.' and r[-1] == '_' else r p = Permission.objects.filter( content_type=content_type, codename=codename).exists() assert p, _('Permissão (%s) associada ao model (%s) ' 'não está em _meta.permissions.') % ( codename, model_item) _lista_urls = lista_urls() @pytest.mark.django_db(transaction=False) @pytest.mark.parametrize('url_item', _lista_urls) def test_permission_required_of_views_exists(url_item): """ testa se, nas views que possuem atributo permission_required, as permissões fixas escritas manualmente realmente exitem em Permission Obs: isso não testa permissões escritas em anotações de método ou classe """ for app in cmj_appconfs: # readequa permissões dos models adicionando # list e detail permissions