mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-09-09 09:59:50 -04:00
Add comment when adding the view_activity permission as a default.
Refactor client.login method so that we can start to migrate to one way to login for unit tests.
This commit is contained in:
@@ -57,13 +57,13 @@ def invite_user(service_id):
|
|||||||
|
|
||||||
if form.validate_on_submit():
|
if form.validate_on_submit():
|
||||||
email_address = form.email_address.data
|
email_address = form.email_address.data
|
||||||
|
# view_activity is a default role to be added to all users. All users will have at minimum view_activity
|
||||||
|
permissions = ','.join(role for role in roles.keys() if request.form.get(role) == 'y').join('view_activity')
|
||||||
invited_user = invite_api_client.create_invite(
|
invited_user = invite_api_client.create_invite(
|
||||||
current_user.id,
|
current_user.id,
|
||||||
service_id,
|
service_id,
|
||||||
email_address,
|
email_address,
|
||||||
','.join(
|
permissions
|
||||||
role for role in roles.keys() if request.form.get(role) == 'y'
|
|
||||||
).join('view_activity')
|
|
||||||
)
|
)
|
||||||
|
|
||||||
flash('Invite sent to {}'.format(invited_user.email_address), 'default_with_tick')
|
flash('Invite sent to {}'.format(invited_user.email_address), 'default_with_tick')
|
||||||
|
|||||||
@@ -5,12 +5,14 @@ from flask_login import login_user
|
|||||||
|
|
||||||
|
|
||||||
class TestClient(FlaskClient):
|
class TestClient(FlaskClient):
|
||||||
def login(self, user):
|
def login(self, user, mocker=None, service=None):
|
||||||
# Skipping authentication here and just log them in
|
# Skipping authentication here and just log them in
|
||||||
with self.session_transaction() as session:
|
with self.session_transaction() as session:
|
||||||
session['user_id'] = user.id
|
session['user_id'] = user.id
|
||||||
session['_fresh'] = True
|
session['_fresh'] = True
|
||||||
|
if mocker and service:
|
||||||
|
mocker.patch('app.user_api_client.get_user', return_value=user)
|
||||||
|
mocker.patch('app.service_api_client.get_service', return_value={'data': service})
|
||||||
login_user(user, remember=True)
|
login_user(user, remember=True)
|
||||||
|
|
||||||
def login_fresh(self):
|
def login_fresh(self):
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ def test_should_show_overview_page(
|
|||||||
service = service_1(active_user_with_permissions)
|
service = service_1(active_user_with_permissions)
|
||||||
with app_.test_request_context():
|
with app_.test_request_context():
|
||||||
with app_.test_client() as client:
|
with app_.test_client() as client:
|
||||||
_login_user(active_user_with_permissions, client, mocker, service)
|
client.login(active_user_with_permissions, mocker, service)
|
||||||
mocker.patch('app.user_api_client.get_users_for_service', return_value=[active_user_with_permissions])
|
mocker.patch('app.user_api_client.get_users_for_service', return_value=[active_user_with_permissions])
|
||||||
response = client.get(url_for('main.manage_users', service_id=service['id']))
|
response = client.get(url_for('main.manage_users', service_id=service['id']))
|
||||||
|
|
||||||
@@ -31,7 +31,7 @@ def test_should_show_page_for_one_user(
|
|||||||
service = service_1(active_user_with_permissions)
|
service = service_1(active_user_with_permissions)
|
||||||
with app_.test_request_context():
|
with app_.test_request_context():
|
||||||
with app_.test_client() as client:
|
with app_.test_client() as client:
|
||||||
_login_user(active_user_with_permissions, client, mocker, service)
|
client.login(active_user_with_permissions, mocker, service)
|
||||||
response = client.get(url_for('main.edit_user_permissions', service_id=service['id'], user_id=0))
|
response = client.get(url_for('main.edit_user_permissions', service_id=service['id'], user_id=0))
|
||||||
|
|
||||||
assert response.status_code == 200
|
assert response.status_code == 200
|
||||||
@@ -48,7 +48,7 @@ def test_edit_user_permissions(
|
|||||||
with app_.test_request_context():
|
with app_.test_request_context():
|
||||||
with app_.test_client() as client:
|
with app_.test_client() as client:
|
||||||
|
|
||||||
_login_user(active_user_with_permissions, client, mocker, service)
|
client.login(active_user_with_permissions, mocker, service)
|
||||||
response = client.post(url_for(
|
response = client.post(url_for(
|
||||||
'main.edit_user_permissions', service_id=service['id'], user_id=active_user_with_permissions.id
|
'main.edit_user_permissions', service_id=service['id'], user_id=active_user_with_permissions.id
|
||||||
), data={'email_address': active_user_with_permissions.email_address,
|
), data={'email_address': active_user_with_permissions.email_address,
|
||||||
@@ -88,7 +88,7 @@ def test_edit_some_user_permissions(
|
|||||||
data = [InvitedUser(**sample_invite)]
|
data = [InvitedUser(**sample_invite)]
|
||||||
with app_.test_request_context():
|
with app_.test_request_context():
|
||||||
with app_.test_client() as client:
|
with app_.test_client() as client:
|
||||||
_login_user(active_user_with_permissions, client, mocker, service)
|
client.login(active_user_with_permissions, mocker, service)
|
||||||
service_id = service['id']
|
service_id = service['id']
|
||||||
|
|
||||||
mocker.patch('app.invite_api_client.get_invites_for_service', return_value=data)
|
mocker.patch('app.invite_api_client.get_invites_for_service', return_value=data)
|
||||||
@@ -123,7 +123,7 @@ def test_should_show_page_for_inviting_user(
|
|||||||
service = service_1(active_user_with_permissions)
|
service = service_1(active_user_with_permissions)
|
||||||
with app_.test_request_context():
|
with app_.test_request_context():
|
||||||
with app_.test_client() as client:
|
with app_.test_client() as client:
|
||||||
_login_user(active_user_with_permissions, client, mocker, service)
|
client.login(active_user_with_permissions, mocker, service)
|
||||||
response = client.get(url_for('main.invite_user', service_id=service['id']))
|
response = client.get(url_for('main.invite_user', service_id=service['id']))
|
||||||
|
|
||||||
assert 'Invite a team member' in response.get_data(as_text=True)
|
assert 'Invite a team member' in response.get_data(as_text=True)
|
||||||
@@ -143,7 +143,7 @@ def test_invite_user(
|
|||||||
data = [InvitedUser(**sample_invite)]
|
data = [InvitedUser(**sample_invite)]
|
||||||
with app_.test_request_context():
|
with app_.test_request_context():
|
||||||
with app_.test_client() as client:
|
with app_.test_client() as client:
|
||||||
_login_user(active_user_with_permissions, client, mocker, service)
|
client.login(active_user_with_permissions, mocker, service)
|
||||||
mocker.patch('app.invite_api_client.get_invites_for_service', return_value=data)
|
mocker.patch('app.invite_api_client.get_invites_for_service', return_value=data)
|
||||||
mocker.patch('app.user_api_client.get_users_for_service', return_value=[active_user_with_permissions])
|
mocker.patch('app.user_api_client.get_users_for_service', return_value=[active_user_with_permissions])
|
||||||
mocker.patch('app.invite_api_client.create_invite', return_value=InvitedUser(**sample_invite))
|
mocker.patch('app.invite_api_client.create_invite', return_value=InvitedUser(**sample_invite))
|
||||||
@@ -173,7 +173,7 @@ def test_cancel_invited_user_cancels_user_invitations(app_,
|
|||||||
import uuid
|
import uuid
|
||||||
invited_user_id = uuid.uuid4()
|
invited_user_id = uuid.uuid4()
|
||||||
service = service_1(active_user_with_permissions)
|
service = service_1(active_user_with_permissions)
|
||||||
_login_user(active_user_with_permissions, client, mocker, service)
|
client.login(active_user_with_permissions, mocker, service)
|
||||||
response = client.get(url_for('main.cancel_invited_user', service_id=service['id'],
|
response = client.get(url_for('main.cancel_invited_user', service_id=service['id'],
|
||||||
invited_user_id=invited_user_id))
|
invited_user_id=invited_user_id))
|
||||||
|
|
||||||
@@ -189,7 +189,7 @@ def test_manage_users_shows_invited_user(app_,
|
|||||||
data = [InvitedUser(**sample_invite)]
|
data = [InvitedUser(**sample_invite)]
|
||||||
with app_.test_request_context():
|
with app_.test_request_context():
|
||||||
with app_.test_client() as client:
|
with app_.test_client() as client:
|
||||||
_login_user(active_user_with_permissions, client, mocker, service)
|
client.login(active_user_with_permissions, mocker, service)
|
||||||
|
|
||||||
mocker.patch('app.invite_api_client.get_invites_for_service', return_value=data)
|
mocker.patch('app.invite_api_client.get_invites_for_service', return_value=data)
|
||||||
mocker.patch('app.user_api_client.get_users_for_service', return_value=[active_user_with_permissions])
|
mocker.patch('app.user_api_client.get_users_for_service', return_value=[active_user_with_permissions])
|
||||||
@@ -218,7 +218,7 @@ def test_manage_users_does_not_show_accepted_invite(app_,
|
|||||||
service = service_1(active_user_with_permissions)
|
service = service_1(active_user_with_permissions)
|
||||||
with app_.test_request_context():
|
with app_.test_request_context():
|
||||||
with app_.test_client() as client:
|
with app_.test_client() as client:
|
||||||
_login_user(active_user_with_permissions, client, mocker, service)
|
client.login(active_user_with_permissions, mocker, service)
|
||||||
mocker.patch('app.user_api_client.get_users_for_service', return_value=[active_user_with_permissions])
|
mocker.patch('app.user_api_client.get_users_for_service', return_value=[active_user_with_permissions])
|
||||||
mocker.patch('app.invite_api_client.get_invites_for_service', return_value=data)
|
mocker.patch('app.invite_api_client.get_invites_for_service', return_value=data)
|
||||||
|
|
||||||
@@ -241,7 +241,7 @@ def test_user_cant_invite_themselves(
|
|||||||
service = service_1(active_user_with_permissions)
|
service = service_1(active_user_with_permissions)
|
||||||
with app_.test_request_context():
|
with app_.test_request_context():
|
||||||
with app_.test_client() as client:
|
with app_.test_client() as client:
|
||||||
_login_user(active_user_with_permissions, client, mocker, service)
|
client.login(active_user_with_permissions, mocker, service)
|
||||||
response = client.post(
|
response = client.post(
|
||||||
url_for('main.invite_user', service_id=service['id']),
|
url_for('main.invite_user', service_id=service['id']),
|
||||||
data={'email_address': active_user_with_permissions.email_address,
|
data={'email_address': active_user_with_permissions.email_address,
|
||||||
@@ -265,7 +265,7 @@ def test_no_permission_manage_users_page(app_,
|
|||||||
mocker):
|
mocker):
|
||||||
with app_.test_request_context():
|
with app_.test_request_context():
|
||||||
with app_.test_client() as client:
|
with app_.test_client() as client:
|
||||||
_login_user(api_user_active, client, mocker, service_one)
|
client.login(api_user_active, mocker, service_one)
|
||||||
response = client.get(url_for('main.manage_users', service_id=service_one['id']))
|
response = client.get(url_for('main.manage_users', service_id=service_one['id']))
|
||||||
resp_text = response.get_data(as_text=True)
|
resp_text = response.get_data(as_text=True)
|
||||||
assert url_for('.invite_user', service_id=service_one['id']) not in resp_text
|
assert url_for('.invite_user', service_id=service_one['id']) not in resp_text
|
||||||
@@ -279,7 +279,7 @@ def test_get_remove_user_from_service(app_,
|
|||||||
mocker):
|
mocker):
|
||||||
with app_.test_request_context():
|
with app_.test_request_context():
|
||||||
with app_.test_client() as client:
|
with app_.test_client() as client:
|
||||||
_login_user(active_user_with_permissions, client, mocker, service_one)
|
client.login(active_user_with_permissions, mocker, service_one)
|
||||||
response = client.get(
|
response = client.get(
|
||||||
url_for(
|
url_for(
|
||||||
'main.remove_user_from_service',
|
'main.remove_user_from_service',
|
||||||
@@ -299,7 +299,7 @@ def test_remove_user_from_service(app_,
|
|||||||
mock_remove_user_from_service):
|
mock_remove_user_from_service):
|
||||||
with app_.test_request_context():
|
with app_.test_request_context():
|
||||||
with app_.test_client() as client:
|
with app_.test_client() as client:
|
||||||
_login_user(active_user_with_permissions, client, mocker, service_one)
|
client.login(active_user_with_permissions, mocker, service_one)
|
||||||
response = client.post(
|
response = client.post(
|
||||||
url_for(
|
url_for(
|
||||||
'main.remove_user_from_service',
|
'main.remove_user_from_service',
|
||||||
@@ -310,10 +310,3 @@ def test_remove_user_from_service(app_,
|
|||||||
'main.manage_users', service_id=service_one['id'], _external=True)
|
'main.manage_users', service_id=service_one['id'], _external=True)
|
||||||
mock_remove_user_from_service.assert_called_once_with(service_one['id'],
|
mock_remove_user_from_service.assert_called_once_with(service_one['id'],
|
||||||
str(active_user_with_permissions.id))
|
str(active_user_with_permissions.id))
|
||||||
|
|
||||||
|
|
||||||
def _login_user(user, client, mocker, service):
|
|
||||||
mocker.patch('app.user_api_client.get_user', return_value=user)
|
|
||||||
mocker.patch('app.service_api_client.get_service', return_value={'data': service})
|
|
||||||
mocker.patch('app.service_api_client.get_services', return_value={'data': [service]})
|
|
||||||
client.login(user)
|
|
||||||
|
|||||||
Reference in New Issue
Block a user