Merge pull request #919 from dod-ccpo/remove-domain-methods

Remove unused domain methods
This commit is contained in:
George Drummond 2019-06-13 16:50:30 -04:00 committed by GitHub
commit b1030a736f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 1 additions and 114 deletions

View File

@ -1,5 +1,3 @@
from sqlalchemy.orm.exc import NoResultFound
from . import BaseDomainClass from . import BaseDomainClass
from atst.database import db from atst.database import db
from atst.domain.application_roles import ApplicationRoles from atst.domain.application_roles import ApplicationRoles
@ -44,17 +42,6 @@ class Applications(BaseDomainClass):
.all() .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 @classmethod
def update(cls, application, new_data): def update(cls, application, new_data):
if "name" in new_data: if "name" in new_data:

View File

@ -28,14 +28,6 @@ class Environments(object):
db.session.add_all(environments) db.session.add_all(environments)
return 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 @classmethod
def update(cls, environment, name=None): def update(cls, environment, name=None):
if name is not None: if name is not None:

View File

@ -1,22 +1,13 @@
from sqlalchemy.orm.exc import NoResultFound from sqlalchemy.orm.exc import NoResultFound
from atst.database import db from atst.database import db
from atst.models.portfolio_role import ( from atst.models.portfolio_role import PortfolioRole, Status as PortfolioRoleStatus
PortfolioRole,
Status as PortfolioRoleStatus,
MEMBER_STATUSES,
)
from atst.models.user import User from atst.models.user import User
from .permission_sets import PermissionSets from .permission_sets import PermissionSets
from .exceptions import NotFoundError from .exceptions import NotFoundError
MEMBER_STATUS_CHOICES = [
dict(name=key, display_name=value) for key, value in MEMBER_STATUSES.items()
]
class PortfolioRoles(object): class PortfolioRoles(object):
@classmethod @classmethod
def get(cls, portfolio_id, user_id): def get(cls, portfolio_id, user_id):
@ -39,34 +30,6 @@ class PortfolioRoles(object):
except NoResultFound: except NoResultFound:
raise NotFoundError("portfolio_role") 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 @classmethod
def add(cls, user, portfolio_id, permission_sets=None): def add(cls, user, portfolio_id, permission_sets=None):
new_portfolio_role = None new_portfolio_role = None

View File

@ -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
@ -109,25 +108,3 @@ class Portfolios(object):
portfolio.name = new_data["name"] portfolio.name = new_data["name"]
PortfoliosQuery.add_and_commit(portfolio) 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

View File

@ -7,10 +7,6 @@ from atst.models.task_order import TaskOrder, SORT_ORDERING
from . import BaseDomainClass from . import BaseDomainClass
class TaskOrderError(Exception):
pass
class TaskOrders(BaseDomainClass): class TaskOrders(BaseDomainClass):
model = TaskOrder model = TaskOrder
resource_name = "task_order" resource_name = "task_order"

View File

@ -164,34 +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():
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): 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)