Merge pull request #919 from dod-ccpo/remove-domain-methods
Remove unused domain methods
This commit is contained in:
commit
b1030a736f
@ -1,5 +1,3 @@
|
||||
from sqlalchemy.orm.exc import NoResultFound
|
||||
|
||||
from . import BaseDomainClass
|
||||
from atst.database import db
|
||||
from atst.domain.application_roles import ApplicationRoles
|
||||
@ -44,17 +42,6 @@ class Applications(BaseDomainClass):
|
||||
.all()
|
||||
)
|
||||
|
||||
@classmethod
|
||||
def get_all(cls, portfolio):
|
||||
try:
|
||||
applications = (
|
||||
db.session.query(Application).filter_by(portfolio_id=portfolio.id).all()
|
||||
)
|
||||
except NoResultFound:
|
||||
raise NotFoundError("applications")
|
||||
|
||||
return applications
|
||||
|
||||
@classmethod
|
||||
def update(cls, application, new_data):
|
||||
if "name" in new_data:
|
||||
|
@ -28,14 +28,6 @@ class Environments(object):
|
||||
db.session.add_all(environments)
|
||||
return environments
|
||||
|
||||
@classmethod
|
||||
def add_member(cls, environment, application_role, role):
|
||||
environment_user = EnvironmentRoles.create(
|
||||
application_role=application_role, environment=environment, role=role
|
||||
)
|
||||
db.session.add(environment_user)
|
||||
return environment
|
||||
|
||||
@classmethod
|
||||
def update(cls, environment, name=None):
|
||||
if name is not None:
|
||||
|
@ -1,22 +1,13 @@
|
||||
from sqlalchemy.orm.exc import NoResultFound
|
||||
|
||||
from atst.database import db
|
||||
from atst.models.portfolio_role import (
|
||||
PortfolioRole,
|
||||
Status as PortfolioRoleStatus,
|
||||
MEMBER_STATUSES,
|
||||
)
|
||||
from atst.models.portfolio_role import PortfolioRole, Status as PortfolioRoleStatus
|
||||
from atst.models.user import User
|
||||
|
||||
from .permission_sets import PermissionSets
|
||||
from .exceptions import NotFoundError
|
||||
|
||||
|
||||
MEMBER_STATUS_CHOICES = [
|
||||
dict(name=key, display_name=value) for key, value in MEMBER_STATUSES.items()
|
||||
]
|
||||
|
||||
|
||||
class PortfolioRoles(object):
|
||||
@classmethod
|
||||
def get(cls, portfolio_id, user_id):
|
||||
@ -39,34 +30,6 @@ class PortfolioRoles(object):
|
||||
except NoResultFound:
|
||||
raise NotFoundError("portfolio_role")
|
||||
|
||||
@classmethod
|
||||
def _get_active_portfolio_role(cls, portfolio_id, user_id):
|
||||
try:
|
||||
return (
|
||||
db.session.query(PortfolioRole)
|
||||
.join(User)
|
||||
.filter(User.id == user_id, PortfolioRole.portfolio_id == portfolio_id)
|
||||
.filter(PortfolioRole.status == PortfolioRoleStatus.ACTIVE)
|
||||
.one()
|
||||
)
|
||||
except NoResultFound:
|
||||
return None
|
||||
|
||||
@classmethod
|
||||
def _get_portfolio_role(cls, user, portfolio_id):
|
||||
try:
|
||||
existing_portfolio_role = (
|
||||
db.session.query(PortfolioRole)
|
||||
.filter(
|
||||
PortfolioRole.user == user,
|
||||
PortfolioRole.portfolio_id == portfolio_id,
|
||||
)
|
||||
.one()
|
||||
)
|
||||
return existing_portfolio_role
|
||||
except NoResultFound:
|
||||
raise NotFoundError("portfolio role")
|
||||
|
||||
@classmethod
|
||||
def add(cls, user, portfolio_id, permission_sets=None):
|
||||
new_portfolio_role = None
|
||||
|
@ -3,7 +3,6 @@ from atst.domain.permission_sets import PermissionSets
|
||||
from atst.domain.authz import Authorization
|
||||
from atst.domain.portfolio_roles import PortfolioRoles
|
||||
from atst.domain.invitations import PortfolioInvitations
|
||||
from atst.domain.environments import Environments
|
||||
from atst.models import Permissions, PortfolioRole, PortfolioRoleStatus
|
||||
|
||||
from .query import PortfoliosQuery
|
||||
@ -109,25 +108,3 @@ class Portfolios(object):
|
||||
portfolio.name = new_data["name"]
|
||||
|
||||
PortfoliosQuery.add_and_commit(portfolio)
|
||||
|
||||
@classmethod
|
||||
def can_revoke_access_for(cls, portfolio, portfolio_role):
|
||||
return (
|
||||
portfolio_role.user != portfolio.owner
|
||||
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
|
||||
|
@ -7,10 +7,6 @@ from atst.models.task_order import TaskOrder, SORT_ORDERING
|
||||
from . import BaseDomainClass
|
||||
|
||||
|
||||
class TaskOrderError(Exception):
|
||||
pass
|
||||
|
||||
|
||||
class TaskOrders(BaseDomainClass):
|
||||
model = TaskOrder
|
||||
resource_name = "task_order"
|
||||
|
@ -164,34 +164,6 @@ def test_can_create_portfolios_with_matching_names():
|
||||
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():
|
||||
portfolio = PortfolioFactory.create()
|
||||
owner_role = portfolio.roles[0]
|
||||
portfolio_role = PortfolioRoleFactory.create(
|
||||
portfolio=portfolio, status=PortfolioRoleStatus.ACTIVE
|
||||
)
|
||||
|
||||
assert Portfolios.can_revoke_access_for(portfolio, portfolio_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):
|
||||
portfolio = PortfolioFactory.create()
|
||||
PortfolioRoleFactory.create(portfolio=portfolio, status=PortfolioRoleStatus.ACTIVE)
|
||||
|
Loading…
x
Reference in New Issue
Block a user