Disable the App Role when revoking an invite.
This commit is contained in:
parent
200fa225cc
commit
91ce3dda9e
@ -142,3 +142,9 @@ class PortfolioInvitations(BaseInvitations):
|
|||||||
class ApplicationInvitations(BaseInvitations):
|
class ApplicationInvitations(BaseInvitations):
|
||||||
model = ApplicationInvitation
|
model = ApplicationInvitation
|
||||||
role_domain_class = ApplicationRoles
|
role_domain_class = ApplicationRoles
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def revoke(cls, token):
|
||||||
|
invite = super().revoke(token)
|
||||||
|
ApplicationRoles.disable(invite.role)
|
||||||
|
return invite
|
||||||
|
@ -86,3 +86,4 @@ def test_disable(session):
|
|||||||
session.refresh(environment_role)
|
session.refresh(environment_role)
|
||||||
assert member_role.status == ApplicationRoleStatus.DISABLED
|
assert member_role.status == ApplicationRoleStatus.DISABLED
|
||||||
assert environment_role.status == EnvironmentRole.Status.PENDING_DELETE
|
assert environment_role.status == EnvironmentRole.Status.PENDING_DELETE
|
||||||
|
assert member_role.deleted == True
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
from atst.domain.application_roles import ApplicationRoles
|
||||||
|
from atst.models import ApplicationRoleStatus
|
||||||
from atst.models import AuditEvent
|
from atst.models import AuditEvent
|
||||||
|
|
||||||
from tests.factories import (
|
from tests.factories import (
|
||||||
@ -16,6 +18,22 @@ def test_application_environments_excludes_deleted():
|
|||||||
assert app.environments[0].id == env.id
|
assert app.environments[0].id == env.id
|
||||||
|
|
||||||
|
|
||||||
|
def test_application_members_excludes_deleted(session):
|
||||||
|
app = ApplicationFactory.create()
|
||||||
|
member_role = ApplicationRoleFactory.create(
|
||||||
|
application=app, status=ApplicationRoleStatus.ACTIVE
|
||||||
|
)
|
||||||
|
disabled_role = ApplicationRoleFactory.create(
|
||||||
|
application=app, status=ApplicationRoleStatus.DISABLED
|
||||||
|
)
|
||||||
|
disabled_role.deleted = True
|
||||||
|
session.add(disabled_role)
|
||||||
|
session.commit()
|
||||||
|
|
||||||
|
assert len(app.members) == 1
|
||||||
|
assert app.members[0].id == member_role.id
|
||||||
|
|
||||||
|
|
||||||
def test_audit_event_for_application_deletion(session):
|
def test_audit_event_for_application_deletion(session):
|
||||||
app = ApplicationFactory.create()
|
app = ApplicationFactory.create()
|
||||||
app.deleted = True
|
app.deleted = True
|
||||||
|
@ -10,6 +10,7 @@ from atst.domain.application_roles import ApplicationRoles
|
|||||||
from atst.domain.environment_roles import EnvironmentRoles
|
from atst.domain.environment_roles import EnvironmentRoles
|
||||||
from atst.domain.common import Paginator
|
from atst.domain.common import Paginator
|
||||||
from atst.domain.permission_sets import PermissionSets
|
from atst.domain.permission_sets import PermissionSets
|
||||||
|
from atst.models.application_role import Status as ApplicationRoleStatus
|
||||||
from atst.models.environment_role import CSPRole
|
from atst.models.environment_role import CSPRole
|
||||||
from atst.models.permissions import Permissions
|
from atst.models.permissions import Permissions
|
||||||
from atst.forms.application import EditEnvironmentForm
|
from atst.forms.application import EditEnvironmentForm
|
||||||
@ -553,6 +554,8 @@ def test_revoke_invite(client, user_session):
|
|||||||
)
|
)
|
||||||
|
|
||||||
assert invite.is_revoked
|
assert invite.is_revoked
|
||||||
|
assert app_role.status == ApplicationRoleStatus.DISABLED
|
||||||
|
assert app_role.deleted
|
||||||
|
|
||||||
|
|
||||||
def test_filter_environment_roles():
|
def test_filter_environment_roles():
|
||||||
|
Loading…
x
Reference in New Issue
Block a user