Merge pull request #1023 from dod-ccpo/csp-links

Env roles bug fix
This commit is contained in:
leigh-mil 2019-08-19 09:43:54 -04:00 committed by GitHub
commit 1efe9cb5e4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 20 additions and 12 deletions

View File

@ -19,6 +19,13 @@ class EnvironmentForm(FlaskForm):
filters=[lambda x: None if x == "None" else x],
)
@property
def data(self):
_data = super().data
if "role" in _data and _data["role"] == NO_ACCESS:
_data["role"] = None
return _data
class PermissionsForm(FlaskForm):
perms_env_mgmt = BooleanField(

View File

@ -113,7 +113,7 @@ TEAM_EXPERIENCE = [
ENV_ROLE_NO_ACCESS = "No Access"
ENV_ROLES = [(role.value, role.value) for role in CSPRole] + [
(ENV_ROLE_NO_ACCESS, "No access")
(ENV_ROLE_NO_ACCESS, ENV_ROLE_NO_ACCESS)
]
JEDI_CLIN_TYPES = [

View File

@ -3,7 +3,7 @@ from wtforms.fields import FormField, FieldList, HiddenField, RadioField, String
from wtforms.validators import Required
from .application_member import EnvironmentForm as BaseEnvironmentForm
from .data import ENV_ROLES, ENV_ROLE_NO_ACCESS as NO_ACCESS
from .data import ENV_ROLES
from .forms import BaseForm
from atst.forms.fields import SelectField
from atst.domain.permission_sets import PermissionSets
@ -18,13 +18,6 @@ class EnvironmentForm(BaseEnvironmentForm):
filters=[lambda x: None if x == "None" else x],
)
@property
def data(self):
_data = super().data
if "role" in _data and _data["role"] == NO_ACCESS:
_data["role"] = None
return _data
class PermissionsForm(FlaskForm):
perms_team_mgmt = SelectField(

View File

@ -22,7 +22,7 @@ def test_environment_form_default_no_access():
assert form.data == {
"environment_id": 123,
"environment_name": "testing",
"role": NO_ACCESS,
"role": None,
}

View File

@ -118,8 +118,9 @@ def test_update_team_environment_roles(client, user_session):
def test_update_team_revoke_environment_access(client, user_session, db, session):
application = ApplicationFactory.create()
owner = application.portfolio.owner
user = UserFactory.create()
app_role = ApplicationRoleFactory.create(
application=application, permission_sets=[]
application=application, user=user, permission_sets=[]
)
environment = EnvironmentFactory.create(application=application)
env_role = EnvironmentRoleFactory.create(
@ -127,6 +128,8 @@ def test_update_team_revoke_environment_access(client, user_session, db, session
environment=environment,
role=CSPRole.BASIC_ACCESS.value,
)
assert user in environment.users
user_session(owner)
response = client.post(
url_for("applications.update_team", application_id=application.id),
@ -143,6 +146,7 @@ def test_update_team_revoke_environment_access(client, user_session, db, session
assert response.status_code == 302
env_role_exists = db.exists().where(EnvironmentRole.id == env_role.id)
assert not session.query(env_role_exists).scalar()
assert user not in environment.users
def test_create_member(client, user_session, session):
@ -152,6 +156,7 @@ def test_create_member(client, user_session, session):
environments=[{"name": "Naboo"}, {"name": "Endor"}]
)
env = application.environments[0]
env_1 = application.environments[1]
user_session(application.portfolio.owner)
@ -163,8 +168,11 @@ def test_create_member(client, user_session, session):
"user_data-dod_id": user.dod_id,
"user_data-email": user.email,
"environment_roles-0-environment_id": env.id,
"environment_roles-0-environment_name": env.name,
"environment_roles-0-role": "Basic Access",
"environment_roles-0-environment_name": env.name,
"environment_roles-1-environment_id": env_1.id,
"environment_roles-1-role": NO_ACCESS,
"environment_roles-1-environment_name": env_1.name,
"permission_sets-perms_env_mgmt": True,
"permission_sets-perms_team_mgmt": True,
"permission_sets-perms_del_env": True,