mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-08-20 14:29:51 -04:00
Tests added for choose_template page.
Remove indifferent change to file.
This commit is contained in:
@@ -6,65 +6,73 @@ from app.main.views.index import index
|
||||
from werkzeug.exceptions import Forbidden
|
||||
|
||||
|
||||
def _test_permissions(app_, usr, permissions, will_succeed, or_=False):
|
||||
with app_.test_request_context():
|
||||
with app_.test_client() as client:
|
||||
client.login(usr)
|
||||
decorator = user_has_permissions(*permissions, or_=or_)
|
||||
decorated_index = decorator(index)
|
||||
if will_succeed:
|
||||
response = decorated_index()
|
||||
else:
|
||||
try:
|
||||
response = decorated_index()
|
||||
pytest.fail("Failed to throw a forbidden exception")
|
||||
except Forbidden:
|
||||
pass
|
||||
|
||||
|
||||
def test_user_has_permissions_on_endpoint_fail(app_,
|
||||
api_user_active,
|
||||
mock_login,
|
||||
mock_get_user_with_permissions):
|
||||
with app_.test_request_context():
|
||||
with app_.test_client() as client:
|
||||
client.login(api_user_active)
|
||||
decorator = user_has_permissions('something')
|
||||
decorated_index = decorator(index)
|
||||
try:
|
||||
response = decorated_index()
|
||||
pytest.fail("Failed to throw a forbidden exception")
|
||||
except Forbidden:
|
||||
pass
|
||||
_test_permissions(
|
||||
app_,
|
||||
api_user_active,
|
||||
['something'],
|
||||
False)
|
||||
|
||||
|
||||
def test_user_has_permissions_success(app_,
|
||||
api_user_active,
|
||||
mock_login,
|
||||
mock_get_user_with_permissions):
|
||||
with app_.test_request_context():
|
||||
with app_.test_client() as client:
|
||||
client.login(api_user_active)
|
||||
decorator = user_has_permissions('manage_users')
|
||||
decorated_index = decorator(index)
|
||||
response = decorated_index()
|
||||
_test_permissions(
|
||||
app_,
|
||||
api_user_active,
|
||||
['manage_users'],
|
||||
True)
|
||||
|
||||
|
||||
def test_user_has_permissions_or(app_,
|
||||
api_user_active,
|
||||
mock_login,
|
||||
mock_get_user_with_permissions):
|
||||
with app_.test_request_context():
|
||||
with app_.test_client() as client:
|
||||
client.login(api_user_active)
|
||||
decorator = user_has_permissions('something', 'manage_users', or_=True)
|
||||
decorated_index = decorator(index)
|
||||
response = decorated_index()
|
||||
_test_permissions(
|
||||
app_,
|
||||
api_user_active,
|
||||
['something', 'manage_users'],
|
||||
True,
|
||||
or_=True)
|
||||
|
||||
|
||||
def test_user_has_permissions_multiple(app_,
|
||||
api_user_active,
|
||||
mock_login,
|
||||
mock_get_user_with_permissions):
|
||||
with app_.test_request_context():
|
||||
with app_.test_client() as client:
|
||||
client.login(api_user_active)
|
||||
decorator = user_has_permissions('manage_templates', 'manage_users')
|
||||
decorated_index = decorator(index)
|
||||
response = decorated_index()
|
||||
_test_permissions(
|
||||
app_,
|
||||
api_user_active,
|
||||
['manage_templates', 'manage_users'],
|
||||
True)
|
||||
|
||||
|
||||
def test_exact_permissions(app_,
|
||||
api_user_active,
|
||||
mock_login,
|
||||
mock_get_user_with_permissions):
|
||||
with app_.test_request_context():
|
||||
with app_.test_client() as client:
|
||||
client.login(api_user_active)
|
||||
decorator = user_has_permissions('manage_users', 'manage_templates', 'manage_settings')
|
||||
decorated_index = decorator(index)
|
||||
response = decorated_index()
|
||||
_test_permissions(
|
||||
app_,
|
||||
api_user_active,
|
||||
['manage_users', 'manage_templates', 'manage_settings'],
|
||||
True)
|
||||
|
||||
Reference in New Issue
Block a user