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 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:

View File

@ -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:

View File

@ -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

View File

@ -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

View File

@ -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"

View File

@ -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)