rename role -> permission_set everywhere

This commit is contained in:
dandds 2019-03-13 10:25:50 -04:00
parent 720c227c32
commit 1a122c5335
24 changed files with 130 additions and 84 deletions

View File

@ -0,0 +1,28 @@
"""rename roles table to permission_sets
Revision ID: a19138e386c4
Revises: 0e71ab219ada
Create Date: 2019-03-13 10:18:35.770296
"""
from alembic import op
import sqlalchemy as sa
from sqlalchemy.dialects import postgresql
# revision identifiers, used by Alembic.
revision = 'a19138e386c4'
down_revision = '0e71ab219ada'
branch_labels = None
depends_on = None
def upgrade():
op.rename_table("roles", "permission_sets")
op.rename_table("portfolio_roles_roles", "portfolio_roles_permission_sets")
op.alter_column("portfolio_roles_permission_sets", "role_id", new_column_name="permission_set_id")
def downgrade():
op.rename_table("permission_sets", "roles")
op.rename_table("portfolio_roles_permission_sets", "portfolio_roles_roles")
op.alter_column("portfolio_roles_permission_sets", "permission_set_id", new_column_name="role_id")

View File

@ -1,7 +1,7 @@
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 import Role, Permissions from atst.models import PermissionSet, Permissions
from .exceptions import NotFoundError from .exceptions import NotFoundError
@ -265,16 +265,16 @@ PORTFOLIO_PERMISSION_SETS = (
) )
class Roles(object): class PermissionSets(object):
@classmethod @classmethod
def get(cls, role_name): def get(cls, perms_set_name):
try: try:
role = db.session.query(Role).filter_by(name=role_name).one() role = db.session.query(PermissionSet).filter_by(name=perms_set_name).one()
except NoResultFound: except NoResultFound:
raise NotFoundError("role") raise NotFoundError("permission_set")
return role return role
@classmethod @classmethod
def get_all(cls): def get_all(cls):
return db.session.query(Role).all() return db.session.query(PermissionSet).all()

View File

@ -8,7 +8,7 @@ from atst.models.portfolio_role import (
) )
from atst.models.user import User from atst.models.user import User
from .roles import Roles from .permission_sets import PermissionSets
from .exceptions import NotFoundError from .exceptions import NotFoundError
@ -108,7 +108,9 @@ class PortfolioRoles(object):
perms_set_names = PortfolioRoles._DEFAULT_PORTFOLIO_PERMS_SETS.union( perms_set_names = PortfolioRoles._DEFAULT_PORTFOLIO_PERMS_SETS.union(
set(set_names) set(set_names)
) )
return [Roles.get(perms_set_name) for perms_set_name in perms_set_names] return [
PermissionSets.get(perms_set_name) for perms_set_name in perms_set_names
]
@classmethod @classmethod
def update(cls, portfolio_role, set_names): def update(cls, portfolio_role, set_names):

View File

@ -1,4 +1,4 @@
from atst.domain.roles import Roles, PORTFOLIO_PERMISSION_SETS from atst.domain.permission_sets import PermissionSets, PORTFOLIO_PERMISSION_SETS
from atst.domain.authz import Authorization from atst.domain.authz import Authorization
from atst.models.permissions import Permissions from atst.models.permissions import Permissions
from atst.domain.users import Users from atst.domain.users import Users
@ -20,7 +20,9 @@ class Portfolios(object):
portfolio = PortfoliosQuery.create( portfolio = PortfoliosQuery.create(
name=name, defense_component=defense_component name=name, defense_component=defense_component
) )
perms_sets = [Roles.get(prms["name"]) for prms in PORTFOLIO_PERMISSION_SETS] perms_sets = [
PermissionSets.get(prms["name"]) for prms in PORTFOLIO_PERMISSION_SETS
]
Portfolios._create_portfolio_role( Portfolios._create_portfolio_role(
user, user,
portfolio, portfolio,

View File

@ -4,7 +4,7 @@ from sqlalchemy.exc import IntegrityError
from atst.database import db from atst.database import db
from atst.models import User from atst.models import User
from .roles import Roles from .permission_sets import PermissionSets
from .exceptions import NotFoundError, AlreadyExistsError, UnauthorizedError from .exceptions import NotFoundError, AlreadyExistsError, UnauthorizedError
@ -29,7 +29,7 @@ class Users(object):
@classmethod @classmethod
def create(cls, dod_id, atat_role_name=None, **kwargs): def create(cls, dod_id, atat_role_name=None, **kwargs):
atat_role = Roles.get(atat_role_name) atat_role = PermissionSets.get(atat_role_name)
try: try:
user = User(dod_id=dod_id, atat_role=atat_role, **kwargs) user = User(dod_id=dod_id, atat_role=atat_role, **kwargs)
@ -56,7 +56,7 @@ class Users(object):
def update_role(cls, user_id, atat_role_name): def update_role(cls, user_id, atat_role_name):
user = Users.get(user_id) user = Users.get(user_id)
atat_role = Roles.get(atat_role_name) atat_role = PermissionSets.get(atat_role_name)
user.atat_role = atat_role user.atat_role = atat_role
db.session.add(user) db.session.add(user)

View File

@ -1,4 +1,4 @@
from atst.domain.roles import PORTFOLIO_ROLES as PORTFOLIO_ROLE_DEFINITIONS from atst.domain.permission_sets import PORTFOLIO_ROLES as PORTFOLIO_ROLE_DEFINITIONS
from atst.utils.localization import translate, translate_duration from atst.utils.localization import translate, translate_duration

View File

@ -3,7 +3,7 @@ from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base() Base = declarative_base()
from .permissions import Permissions from .permissions import Permissions
from .role import Role from .permission_set import PermissionSet
from .user import User from .user import User
from .portfolio_role import PortfolioRole from .portfolio_role import PortfolioRole
from .portfolio import Portfolio from .portfolio import Portfolio

View File

@ -5,8 +5,8 @@ from sqlalchemy.orm.attributes import flag_modified
from atst.models import Base, types, mixins from atst.models import Base, types, mixins
class Role(Base, mixins.TimestampsMixin): class PermissionSet(Base, mixins.TimestampsMixin):
__tablename__ = "roles" __tablename__ = "permission_sets"
id = types.Id() id = types.Id()
name = Column(String, index=True, unique=True, nullable=False) name = Column(String, index=True, unique=True, nullable=False)
@ -27,6 +27,6 @@ class Role(Base, mixins.TimestampsMixin):
flag_modified(self, "permissions") flag_modified(self, "permissions")
def __repr__(self): def __repr__(self):
return "<Role(name='{}', description='{}', permissions='{}', id='{}')>".format( return "<PermissionSet(name='{}', description='{}', permissions='{}', id='{}')>".format(
self.name, self.description, self.permissions, self.id self.name, self.description, self.permissions, self.id
) )

View File

@ -30,10 +30,10 @@ class Status(Enum):
portfolio_roles_roles = Table( portfolio_roles_roles = Table(
"portfolio_roles_roles", "portfolio_roles_permission_sets",
Base.metadata, Base.metadata,
Column("portfolio_role_id", UUID(as_uuid=True), ForeignKey("portfolio_roles.id")), Column("portfolio_role_id", UUID(as_uuid=True), ForeignKey("portfolio_roles.id")),
Column("role_id", UUID(as_uuid=True), ForeignKey("roles.id")), Column("permission_set_id", UUID(as_uuid=True), ForeignKey("permission_sets.id")),
) )
@ -52,7 +52,7 @@ class PortfolioRole(Base, mixins.TimestampsMixin, mixins.AuditableMixin):
status = Column(SQLAEnum(Status, native_enum=False), default=Status.PENDING) status = Column(SQLAEnum(Status, native_enum=False), default=Status.PENDING)
permission_sets = relationship("Role", secondary=portfolio_roles_roles) permission_sets = relationship("PermissionSet", secondary=portfolio_roles_roles)
@property @property
def permissions(self): def permissions(self):

View File

@ -11,9 +11,9 @@ class User(Base, mixins.TimestampsMixin, mixins.AuditableMixin):
id = types.Id() id = types.Id()
username = Column(String) username = Column(String)
atat_role_id = Column(UUID(as_uuid=True), ForeignKey("roles.id")) atat_role_id = Column(UUID(as_uuid=True), ForeignKey("permission_sets.id"))
atat_role = relationship("Role") atat_role = relationship("PermissionSet")
portfolio_roles = relationship("PortfolioRole", backref="user") portfolio_roles = relationship("PortfolioRole", backref="user")
email = Column(String, unique=True) email = Column(String, unique=True)

View File

@ -16,7 +16,7 @@ from atst.models.audit_event import AuditEvent
from atst.models.environment import Environment from atst.models.environment import Environment
from atst.models.environment_role import EnvironmentRole from atst.models.environment_role import EnvironmentRole
from atst.models.application import Application from atst.models.application import Application
from atst.models.role import Role from atst.models.permission_set import PermissionSet
from atst.models.user import User from atst.models.user import User
from atst.models.portfolio_role import PortfolioRole from atst.models.portfolio_role import PortfolioRole
from atst.models.portfolio import Portfolio from atst.models.portfolio import Portfolio

View File

@ -9,23 +9,35 @@ sys.path.append(parent_dir)
from sqlalchemy.orm.exc import NoResultFound from sqlalchemy.orm.exc import NoResultFound
from atst.app import make_config, make_app from atst.app import make_config, make_app
from atst.database import db from atst.database import db
from atst.models import Role, Permissions from atst.models import PermissionSet, Permissions
from atst.domain.roles import ATAT_ROLES, PORTFOLIO_ROLES, PORTFOLIO_PERMISSION_SETS from atst.domain.permission_sets import (
ATAT_ROLES,
PORTFOLIO_ROLES,
PORTFOLIO_PERMISSION_SETS,
)
def seed_roles(): def seed_roles():
for role_info in ATAT_ROLES + PORTFOLIO_ROLES + PORTFOLIO_PERMISSION_SETS: for permission_set_info in ATAT_ROLES + PORTFOLIO_ROLES + PORTFOLIO_PERMISSION_SETS:
role = Role(**role_info) permission_set = PermissionSet(**permission_set_info)
try: try:
existing_role = db.session.query(Role).filter_by(name=role.name).one() existing_permission_set = (
existing_role.description = role.description db.session.query(PermissionSet)
existing_role.permissions = role.permissions .filter_by(name=permission_set.name)
existing_role.display_name = role.display_name .one()
db.session.add(existing_role) )
print("Updated existing role {}".format(existing_role.name)) existing_permission_set.description = permission_set.description
existing_permission_set.permissions = permission_set.permissions
existing_permission_set.display_name = permission_set.display_name
db.session.add(existing_permission_set)
print(
"Updated existing permission_set {}".format(
existing_permission_set.name
)
)
except NoResultFound: except NoResultFound:
db.session.add(role) db.session.add(permission_set)
print("Added new role {}".format(role.name)) print("Added new permission_set {}".format(permission_set.name))
db.session.commit() db.session.commit()

View File

@ -2,7 +2,7 @@ import pytest
from atst.domain.audit_log import AuditLog from atst.domain.audit_log import AuditLog
from atst.domain.exceptions import UnauthorizedError from atst.domain.exceptions import UnauthorizedError
from atst.domain.roles import Roles from atst.domain.permission_sets import PermissionSets
from atst.models.portfolio_role import Status as PortfolioRoleStatus from atst.models.portfolio_role import Status as PortfolioRoleStatus
from tests.factories import ( from tests.factories import (
UserFactory, UserFactory,

View File

@ -2,7 +2,7 @@ import pytest
from tests.factories import TaskOrderFactory, UserFactory, PortfolioRoleFactory from tests.factories import TaskOrderFactory, UserFactory, PortfolioRoleFactory
from atst.domain.authz import Authorization from atst.domain.authz import Authorization
from atst.domain.roles import Roles from atst.domain.permission_sets import PermissionSets
from atst.domain.exceptions import UnauthorizedError from atst.domain.exceptions import UnauthorizedError
from atst.models.permissions import Permissions from atst.models.permissions import Permissions
@ -45,8 +45,8 @@ def test_check_is_ko_or_cor(task_order, invalid_user):
def test_has_portfolio_permission(): def test_has_portfolio_permission():
role_one = Roles.get("view_portfolio_funding") role_one = PermissionSets.get("view_portfolio_funding")
role_two = Roles.get("view_portfolio_reports") role_two = PermissionSets.get("view_portfolio_reports")
port_role = PortfolioRoleFactory.create(permission_sets=[role_one, role_two]) port_role = PortfolioRoleFactory.create(permission_sets=[role_one, role_two])
different_user = UserFactory.create() different_user = UserFactory.create()
assert Authorization.has_portfolio_permission( assert Authorization.has_portfolio_permission(

View File

@ -1,7 +1,7 @@
from atst.domain.portfolio_roles import PortfolioRoles from atst.domain.portfolio_roles import PortfolioRoles
from atst.domain.users import Users from atst.domain.users import Users
from atst.models.portfolio_role import Status as PortfolioRoleStatus from atst.models.portfolio_role import Status as PortfolioRoleStatus
from atst.domain.roles import Roles from atst.domain.permission_sets import PermissionSets
from tests.factories import ( from tests.factories import (
PortfolioFactory, PortfolioFactory,

View File

@ -6,7 +6,7 @@ from atst.domain.portfolios import Portfolios, PortfolioError
from atst.domain.portfolio_roles import PortfolioRoles from atst.domain.portfolio_roles import PortfolioRoles
from atst.domain.applications import Applications from atst.domain.applications import Applications
from atst.domain.environments import Environments from atst.domain.environments import Environments
from atst.domain.roles import Roles, PORTFOLIO_PERMISSION_SETS from atst.domain.permission_sets import PermissionSets, PORTFOLIO_PERMISSION_SETS
from atst.models.portfolio_role import Status as PortfolioRoleStatus from atst.models.portfolio_role import Status as PortfolioRoleStatus
from tests.factories import UserFactory, PortfolioRoleFactory, PortfolioFactory from tests.factories import UserFactory, PortfolioRoleFactory, PortfolioFactory
@ -201,7 +201,7 @@ def test_scoped_portfolio_returns_all_applications_for_portfolio_admin(
) )
admin = UserFactory.from_atat_role("default") admin = UserFactory.from_atat_role("default")
perm_sets = [Roles.get(prms["name"]) for prms in PORTFOLIO_PERMISSION_SETS] perm_sets = [PermissionSets.get(prms["name"]) for prms in PORTFOLIO_PERMISSION_SETS]
PortfolioRoleFactory.create( PortfolioRoleFactory.create(
user=admin, portfolio=portfolio, permission_sets=perm_sets user=admin, portfolio=portfolio, permission_sets=perm_sets
) )
@ -263,7 +263,7 @@ def test_get_for_update_information(portfolio, portfolio_owner):
assert portfolio == owner_ws assert portfolio == owner_ws
admin = UserFactory.create() admin = UserFactory.create()
perm_sets = [Roles.get(prms["name"]) for prms in PORTFOLIO_PERMISSION_SETS] perm_sets = [PermissionSets.get(prms["name"]) for prms in PORTFOLIO_PERMISSION_SETS]
PortfolioRoleFactory.create( PortfolioRoleFactory.create(
user=admin, portfolio=portfolio, permission_sets=perm_sets user=admin, portfolio=portfolio, permission_sets=perm_sets
) )

View File

@ -1,18 +1,18 @@
import pytest import pytest
from atst.domain.roles import Roles from atst.domain.permission_sets import PermissionSets
from atst.domain.exceptions import NotFoundError from atst.domain.exceptions import NotFoundError
def test_get_all_roles(): def test_get_all_roles():
roles = Roles.get_all() roles = PermissionSets.get_all()
assert roles assert roles
def test_get_existing_role(): def test_get_existing_role():
role = Roles.get("developer") role = PermissionSets.get("developer")
assert role.name == "developer" assert role.name == "developer"
def test_get_nonexistent_role(): def test_get_nonexistent_role():
with pytest.raises(NotFoundError): with pytest.raises(NotFoundError):
Roles.get("nonexistent") PermissionSets.get("nonexistent")

View File

@ -2,7 +2,7 @@ import pytest
from atst.domain.task_orders import TaskOrders, TaskOrderError, DD254s from atst.domain.task_orders import TaskOrders, TaskOrderError, DD254s
from atst.domain.exceptions import UnauthorizedError from atst.domain.exceptions import UnauthorizedError
from atst.domain.roles import Roles, _VIEW_PORTFOLIO_PERMISSION_SETS from atst.domain.permission_sets import PermissionSets, _VIEW_PORTFOLIO_PERMISSION_SETS
from atst.models.attachment import Attachment from atst.models.attachment import Attachment
from tests.factories import ( from tests.factories import (
@ -116,7 +116,7 @@ def test_task_order_access():
user=member, user=member,
portfolio=task_order.portfolio, portfolio=task_order.portfolio,
permission_sets=[ permission_sets=[
Roles.get(prms["name"]) for prms in _VIEW_PORTFOLIO_PERMISSION_SETS PermissionSets.get(prms["name"]) for prms in _VIEW_PORTFOLIO_PERMISSION_SETS
], ],
) )
TaskOrders.add_officer( TaskOrders.add_officer(

View File

@ -12,10 +12,10 @@ from atst.models.environment import Environment
from atst.models.application import Application from atst.models.application import Application
from atst.models.task_order import TaskOrder from atst.models.task_order import TaskOrder
from atst.models.user import User from atst.models.user import User
from atst.models.role import Role from atst.models.permission_set import PermissionSet
from atst.models.portfolio import Portfolio from atst.models.portfolio import Portfolio
from atst.domain.roles import ( from atst.domain.permission_sets import (
Roles, PermissionSets,
PORTFOLIO_ROLES, PORTFOLIO_ROLES,
PORTFOLIO_PERMISSION_SETS, PORTFOLIO_PERMISSION_SETS,
_VIEW_PORTFOLIO_PERMISSION_SETS, _VIEW_PORTFOLIO_PERMISSION_SETS,
@ -70,11 +70,13 @@ def _random_date(year_min, year_max, operation):
def base_portfolio_permission_sets(): def base_portfolio_permission_sets():
return [Roles.get(prms["name"]) for prms in _VIEW_PORTFOLIO_PERMISSION_SETS] return [
PermissionSets.get(prms["name"]) for prms in _VIEW_PORTFOLIO_PERMISSION_SETS
]
def get_all_portfolio_permission_sets(): def get_all_portfolio_permission_sets():
return [Roles.get(prms["name"]) for prms in PORTFOLIO_PERMISSION_SETS] return [PermissionSets.get(prms["name"]) for prms in PORTFOLIO_PERMISSION_SETS]
class Base(factory.alchemy.SQLAlchemyModelFactory): class Base(factory.alchemy.SQLAlchemyModelFactory):
@ -91,7 +93,7 @@ class UserFactory(Base):
email = factory.Faker("email") email = factory.Faker("email")
first_name = factory.Faker("first_name") first_name = factory.Faker("first_name")
last_name = factory.Faker("last_name") last_name = factory.Faker("last_name")
atat_role = factory.LazyFunction(lambda: Roles.get("default")) atat_role = factory.LazyFunction(lambda: PermissionSets.get("default"))
dod_id = factory.LazyFunction(random_dod_id) dod_id = factory.LazyFunction(random_dod_id)
phone_number = factory.LazyFunction(random_phone_number) phone_number = factory.LazyFunction(random_phone_number)
service_branch = factory.LazyFunction(random_service_branch) service_branch = factory.LazyFunction(random_service_branch)
@ -104,7 +106,7 @@ class UserFactory(Base):
@classmethod @classmethod
def from_atat_role(cls, atat_role_name, **kwargs): def from_atat_role(cls, atat_role_name, **kwargs):
role = Roles.get(atat_role_name) role = PermissionSets.get(atat_role_name)
return cls.create(atat_role=role, **kwargs) return cls.create(atat_role=role, **kwargs)
@ -142,7 +144,8 @@ class PortfolioFactory(Base):
perms_set = None perms_set = None
if member.get("permissions_sets"): if member.get("permissions_sets"):
perms_set = [ perms_set = [
Roles.get(perm_set) for perm_set in member.get("permission_sets") PermissionSets.get(perm_set)
for perm_set in member.get("permission_sets")
] ]
else: else:
perms_set = [] perms_set = []

View File

@ -4,9 +4,8 @@ import datetime
from atst.domain.environments import Environments from atst.domain.environments import Environments
from atst.domain.portfolios import Portfolios from atst.domain.portfolios import Portfolios
from atst.domain.applications import Applications from atst.domain.applications import Applications
from atst.domain.roles import Roles from atst.domain.permission_sets import PermissionSets
from atst.models.portfolio_role import Status from atst.models.portfolio_role import Status
from atst.models.role import Role
from atst.models.invitation import Status as InvitationStatus from atst.models.invitation import Status as InvitationStatus
from atst.models.audit_event import AuditEvent from atst.models.audit_event import AuditEvent
from atst.models.portfolio_role import Status as PortfolioRoleStatus from atst.models.portfolio_role import Status as PortfolioRoleStatus
@ -286,8 +285,8 @@ def test_can_list_all_environments():
def test_can_list_all_permissions(): def test_can_list_all_permissions():
role_one = Roles.get("view_portfolio_funding") role_one = PermissionSets.get("view_portfolio_funding")
role_two = Roles.get("view_portfolio_reports") role_two = PermissionSets.get("view_portfolio_reports")
port_role = PortfolioRoleFactory.create(permission_sets=[role_one, role_two]) port_role = PortfolioRoleFactory.create(permission_sets=[role_one, role_two])
expected_perms = role_one.permissions + role_two.permissions expected_perms = role_one.permissions + role_two.permissions
assert expected_perms == expected_perms assert expected_perms == expected_perms

View File

@ -12,7 +12,7 @@ from tests.factories import (
from atst.domain.applications import Applications from atst.domain.applications import Applications
from atst.domain.portfolios import Portfolios from atst.domain.portfolios import Portfolios
from atst.domain.roles import Roles from atst.domain.permission_sets import PermissionSets
from atst.models.portfolio_role import Status as PortfolioRoleStatus from atst.models.portfolio_role import Status as PortfolioRoleStatus

View File

@ -12,7 +12,7 @@ from atst.domain.portfolio_roles import PortfolioRoles
from atst.domain.applications import Applications from atst.domain.applications import Applications
from atst.domain.environments import Environments from atst.domain.environments import Environments
from atst.domain.environment_roles import EnvironmentRoles from atst.domain.environment_roles import EnvironmentRoles
from atst.domain.roles import Roles from atst.domain.permission_sets import PermissionSets
from atst.queue import queue from atst.queue import queue
from atst.models.portfolio_role import Status as PortfolioRoleStatus from atst.models.portfolio_role import Status as PortfolioRoleStatus
from atst.models.invitation import Status as InvitationStatus from atst.models.invitation import Status as InvitationStatus
@ -139,7 +139,7 @@ def test_update_member_portfolio_role(client, user_session):
follow_redirects=True, follow_redirects=True,
) )
assert response.status_code == 200 assert response.status_code == 200
edit_funding = Roles.get("edit_portfolio_funding") edit_funding = PermissionSets.get("edit_portfolio_funding")
assert edit_funding in member.permission_sets assert edit_funding in member.permission_sets

View File

@ -2,7 +2,7 @@ from flask import url_for
import pytest import pytest
from datetime import timedelta, date from datetime import timedelta, date
from atst.domain.roles import Roles from atst.domain.permission_sets import PermissionSets
from atst.domain.task_orders import TaskOrders from atst.domain.task_orders import TaskOrders
from atst.models.portfolio_role import Status as PortfolioStatus from atst.models.portfolio_role import Status as PortfolioStatus
from atst.models.invitation import Status as InvitationStatus from atst.models.invitation import Status as InvitationStatus
@ -234,8 +234,8 @@ def test_ko_can_view_task_order(client, user_session, portfolio, user):
user=user, user=user,
status=PortfolioStatus.ACTIVE, status=PortfolioStatus.ACTIVE,
permission_sets=[ permission_sets=[
Roles.get("view_portfolio"), PermissionSets.get("view_portfolio"),
Roles.get("view_portfolio_funding"), PermissionSets.get("view_portfolio_funding"),
], ],
) )
task_order = TaskOrderFactory.create(portfolio=portfolio, contracting_officer=user) task_order = TaskOrderFactory.create(portfolio=portfolio, contracting_officer=user)
@ -301,8 +301,8 @@ def test_ko_can_view_ko_review_page(client, user_session):
user=ko, user=ko,
status=PortfolioStatus.ACTIVE, status=PortfolioStatus.ACTIVE,
permission_sets=[ permission_sets=[
Roles.get("view_portfolio"), PermissionSets.get("view_portfolio"),
Roles.get("view_portfolio_funding"), PermissionSets.get("view_portfolio_funding"),
], ],
) )
PortfolioRoleFactory.create( PortfolioRoleFactory.create(
@ -310,8 +310,8 @@ def test_ko_can_view_ko_review_page(client, user_session):
user=cor, user=cor,
status=PortfolioStatus.ACTIVE, status=PortfolioStatus.ACTIVE,
permission_sets=[ permission_sets=[
Roles.get("view_portfolio"), PermissionSets.get("view_portfolio"),
Roles.get("view_portfolio_funding"), PermissionSets.get("view_portfolio_funding"),
], ],
) )
task_order = TaskOrderFactory.create( task_order = TaskOrderFactory.create(
@ -378,8 +378,8 @@ def test_cor_redirected_to_build_page(client, user_session, portfolio):
user=cor, user=cor,
status=PortfolioStatus.ACTIVE, status=PortfolioStatus.ACTIVE,
permission_sets=[ permission_sets=[
Roles.get("view_portfolio"), PermissionSets.get("view_portfolio"),
Roles.get("view_portfolio_funding"), PermissionSets.get("view_portfolio_funding"),
], ],
) )
task_order = TaskOrderFactory.create( task_order = TaskOrderFactory.create(
@ -400,8 +400,8 @@ def test_submit_completed_ko_review_page_as_cor(
user=user, user=user,
status=PortfolioStatus.ACTIVE, status=PortfolioStatus.ACTIVE,
permission_sets=[ permission_sets=[
Roles.get("view_portfolio"), PermissionSets.get("view_portfolio"),
Roles.get("view_portfolio_funding"), PermissionSets.get("view_portfolio_funding"),
], ],
) )
@ -448,8 +448,8 @@ def test_submit_completed_ko_review_page_as_ko(
user=ko, user=ko,
status=PortfolioStatus.ACTIVE, status=PortfolioStatus.ACTIVE,
permission_sets=[ permission_sets=[
Roles.get("view_portfolio"), PermissionSets.get("view_portfolio"),
Roles.get("view_portfolio_funding"), PermissionSets.get("view_portfolio_funding"),
], ],
) )
@ -492,8 +492,8 @@ def test_so_review_page(app, client, user_session, portfolio):
user=so, user=so,
status=PortfolioStatus.ACTIVE, status=PortfolioStatus.ACTIVE,
permission_sets=[ permission_sets=[
Roles.get("view_portfolio"), PermissionSets.get("view_portfolio"),
Roles.get("view_portfolio_funding"), PermissionSets.get("view_portfolio_funding"),
], ],
) )
task_order = TaskOrderFactory.create(portfolio=portfolio, security_officer=so) task_order = TaskOrderFactory.create(portfolio=portfolio, security_officer=so)
@ -533,8 +533,8 @@ def test_submit_so_review(app, client, user_session, portfolio):
user=so, user=so,
status=PortfolioStatus.ACTIVE, status=PortfolioStatus.ACTIVE,
permission_sets=[ permission_sets=[
Roles.get("view_portfolio"), PermissionSets.get("view_portfolio"),
Roles.get("view_portfolio_funding"), PermissionSets.get("view_portfolio_funding"),
], ],
) )
task_order = TaskOrderFactory.create(portfolio=portfolio, security_officer=so) task_order = TaskOrderFactory.create(portfolio=portfolio, security_officer=so)

View File

@ -4,7 +4,7 @@ import pytest
from flask import session, url_for from flask import session, url_for
from .mocks import DOD_SDN_INFO, DOD_SDN, FIXTURE_EMAIL_ADDRESS from .mocks import DOD_SDN_INFO, DOD_SDN, FIXTURE_EMAIL_ADDRESS
from atst.domain.users import Users from atst.domain.users import Users
from atst.domain.roles import Roles from atst.domain.permission_sets import PermissionSets
from atst.domain.exceptions import NotFoundError from atst.domain.exceptions import NotFoundError
from atst.domain.auth import UNPROTECTED_ROUTES from atst.domain.auth import UNPROTECTED_ROUTES
from .factories import UserFactory from .factories import UserFactory
@ -48,7 +48,7 @@ def test_successful_login_redirect_ccpo(client, monkeypatch):
monkeypatch.setattr( monkeypatch.setattr(
"atst.domain.authnid.AuthenticationContext.authenticate", lambda *args: True "atst.domain.authnid.AuthenticationContext.authenticate", lambda *args: True
) )
role = Roles.get("ccpo") role = PermissionSets.get("ccpo")
monkeypatch.setattr( monkeypatch.setattr(
"atst.domain.authnid.AuthenticationContext.get_user", "atst.domain.authnid.AuthenticationContext.get_user",
lambda *args: UserFactory.create(atat_role=role), lambda *args: UserFactory.create(atat_role=role),