Remove Portfolios.revoke_access
This commit is contained in:
parent
6b09f80336
commit
490907257b
@ -3,7 +3,6 @@ from atst.domain.permission_sets import PermissionSets
|
|||||||
from atst.domain.authz import Authorization
|
from atst.domain.authz import Authorization
|
||||||
from atst.domain.portfolio_roles import PortfolioRoles
|
from atst.domain.portfolio_roles import PortfolioRoles
|
||||||
from atst.domain.invitations import PortfolioInvitations
|
from atst.domain.invitations import PortfolioInvitations
|
||||||
from atst.domain.environments import Environments
|
|
||||||
from atst.models import Permissions, PortfolioRole, PortfolioRoleStatus
|
from atst.models import Permissions, PortfolioRole, PortfolioRoleStatus
|
||||||
|
|
||||||
from .query import PortfoliosQuery
|
from .query import PortfoliosQuery
|
||||||
@ -116,18 +115,3 @@ class Portfolios(object):
|
|||||||
portfolio_role.user != portfolio.owner
|
portfolio_role.user != portfolio.owner
|
||||||
and portfolio_role.status == PortfolioRoleStatus.ACTIVE
|
and portfolio_role.status == PortfolioRoleStatus.ACTIVE
|
||||||
)
|
)
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def revoke_access(cls, portfolio_id, portfolio_role_id):
|
|
||||||
portfolio = PortfoliosQuery.get(portfolio_id)
|
|
||||||
portfolio_role = PortfolioRoles.get_by_id(portfolio_role_id)
|
|
||||||
|
|
||||||
if not Portfolios.can_revoke_access_for(portfolio, portfolio_role):
|
|
||||||
raise PortfolioError("cannot revoke portfolio access for this user")
|
|
||||||
|
|
||||||
portfolio_role.status = PortfolioRoleStatus.DISABLED
|
|
||||||
for environment in portfolio.all_environments:
|
|
||||||
Environments.revoke_access(environment, portfolio_role.user)
|
|
||||||
PortfoliosQuery.add_and_commit(portfolio_role)
|
|
||||||
|
|
||||||
return portfolio_role
|
|
||||||
|
@ -164,15 +164,6 @@ def test_can_create_portfolios_with_matching_names():
|
|||||||
PortfolioFactory.create(name=portfolio_name)
|
PortfolioFactory.create(name=portfolio_name)
|
||||||
|
|
||||||
|
|
||||||
def test_able_to_revoke_portfolio_access_for_active_member():
|
|
||||||
portfolio = PortfolioFactory.create()
|
|
||||||
portfolio_role = PortfolioRoleFactory.create(
|
|
||||||
portfolio=portfolio, status=PortfolioRoleStatus.ACTIVE
|
|
||||||
)
|
|
||||||
Portfolios.revoke_access(portfolio.id, portfolio_role.id)
|
|
||||||
assert Portfolios.for_user(portfolio_role.user) == []
|
|
||||||
|
|
||||||
|
|
||||||
def test_can_revoke_access():
|
def test_can_revoke_access():
|
||||||
portfolio = PortfolioFactory.create()
|
portfolio = PortfolioFactory.create()
|
||||||
owner_role = portfolio.roles[0]
|
owner_role = portfolio.roles[0]
|
||||||
@ -184,14 +175,6 @@ def test_can_revoke_access():
|
|||||||
assert not Portfolios.can_revoke_access_for(portfolio, owner_role)
|
assert not Portfolios.can_revoke_access_for(portfolio, owner_role)
|
||||||
|
|
||||||
|
|
||||||
def test_unable_to_revoke_owner_portfolio_access():
|
|
||||||
portfolio = PortfolioFactory.create()
|
|
||||||
owner_portfolio_role = portfolio.roles[0]
|
|
||||||
|
|
||||||
with pytest.raises(PortfolioError):
|
|
||||||
Portfolios.revoke_access(portfolio.id, owner_portfolio_role.id)
|
|
||||||
|
|
||||||
|
|
||||||
def test_disabled_members_dont_show_up(session):
|
def test_disabled_members_dont_show_up(session):
|
||||||
portfolio = PortfolioFactory.create()
|
portfolio = PortfolioFactory.create()
|
||||||
PortfolioRoleFactory.create(portfolio=portfolio, status=PortfolioRoleStatus.ACTIVE)
|
PortfolioRoleFactory.create(portfolio=portfolio, status=PortfolioRoleStatus.ACTIVE)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user