Fix tests

This commit is contained in:
richard-dds 2019-10-08 16:14:16 -04:00
parent ed7bc33e44
commit 0c480ccc41
4 changed files with 19 additions and 22 deletions

View File

@ -56,7 +56,17 @@ class EnvironmentRoles(object):
@classmethod
def delete(cls, application_role_id, environment_id):
existing_env_role = EnvironmentRoles.get(application_role_id, environment_id)
existing_env_role = (
db.session.query(EnvironmentRole)
.join(ApplicationRole)
.filter(
ApplicationRole.id == application_role_id,
EnvironmentRole.environment_id == environment_id,
EnvironmentRole.status != EnvironmentRole.Status.PENDING_DELETE,
)
.one_or_none()
)
if existing_env_role:
existing_env_role.status = EnvironmentRole.Status.PENDING_DELETE
existing_env_role.role = "deleted"

View File

@ -83,5 +83,6 @@ def test_disable(session):
ApplicationRoles.disable(member_role)
session.refresh(member_role)
session.refresh(environment_role)
assert member_role.status == ApplicationRoleStatus.DISABLED
assert not EnvironmentRoles.get_by_user_and_environment(user.id, environment.id)
assert environment_role.status == EnvironmentRole.Status.PENDING_DELETE

View File

@ -5,7 +5,7 @@ from uuid import uuid4
from atst.domain.environments import Environments
from atst.domain.environment_roles import EnvironmentRoles
from atst.domain.exceptions import NotFoundError
from atst.models.environment_role import CSPRole
from atst.models.environment_role import CSPRole, EnvironmentRole
from tests.factories import (
ApplicationFactory,
@ -35,15 +35,15 @@ def test_update_env_role():
assert env_role.role == new_role
def test_update_env_role_no_access():
def test_update_env_role_no_access(session):
env_role = EnvironmentRoleFactory.create(role=CSPRole.BASIC_ACCESS.value)
assert Environments.update_env_role(
env_role.environment, env_role.application_role, None
)
assert not EnvironmentRoles.get(
env_role.application_role.id, env_role.environment.id
)
session.refresh(env_role)
assert env_role.status == EnvironmentRole.Status.PENDING_DELETE
def test_update_env_role_no_change():

View File

@ -1,4 +1,3 @@
import pytest
import uuid
from flask import url_for, get_flashed_messages
from unittest.mock import Mock
@ -9,16 +8,10 @@ from tests.factories import *
from atst.domain.applications import Applications
from atst.domain.application_roles import ApplicationRoles
from atst.domain.environment_roles import EnvironmentRoles
from atst.domain.environments import Environments
from atst.domain.environment_roles import EnvironmentRoles
from atst.domain.common import Paginator
from atst.domain.permission_sets import PermissionSets
from atst.domain.portfolios import Portfolios
from atst.domain.exceptions import NotFoundError
from atst.models.application_role import Status as ApplicationRoleStatus
from atst.models.environment_role import CSPRole
from atst.models.permissions import Permissions
from atst.models.portfolio_role import Status as PortfolioRoleStatus
from atst.forms.application import EditEnvironmentForm
from atst.forms.application_member import UpdateMemberForm
from atst.forms.data import ENV_ROLE_NO_ACCESS as NO_ACCESS
@ -483,7 +476,7 @@ def test_remove_member_failure(client, user_session):
assert response.status_code == 404
def test_update_member(client, user_session):
def test_update_member(client, user_session, session):
role = PermissionSets.get(PermissionSets.EDIT_APPLICATION_TEAM)
# create an app role with only edit team perms
app_role = ApplicationRoleFactory.create(permission_sets=[role])
@ -544,13 +537,6 @@ def test_update_member(client, user_session):
app_role.has_permission_set(PermissionSets.DELETE_APPLICATION_ENVIRONMENTS)
)
environment_roles = application.roles[0].environment_roles
# make sure that old env role was deleted and there are only 2 env roles
assert len(environment_roles) == 2
# check that the user has roles in the correct envs
assert environment_roles[0].environment in [env, env_2]
assert environment_roles[1].environment in [env, env_2]
def test_revoke_invite(client, user_session):
invite = ApplicationInvitationFactory.create()