use real atat and workspace roles in tests

This commit is contained in:
dandds 2019-01-10 11:23:11 -05:00
parent 66ada94dcc
commit e2e4b5ae70
4 changed files with 16 additions and 18 deletions

View File

@ -55,5 +55,11 @@ def test_workspace_role_permissions():
status=WorkspaceRoleStatus.PENDING, status=WorkspaceRoleStatus.PENDING,
) )
assert WorkspaceRoles.workspace_role_permissions(workspace_one, new_user) default_perms = set(new_user.atat_role.permissions)
assert not WorkspaceRoles.workspace_role_permissions(workspace_two, new_user) assert len(
WorkspaceRoles.workspace_role_permissions(workspace_one, new_user)
) > len(default_perms)
assert (
WorkspaceRoles.workspace_role_permissions(workspace_two, new_user)
== default_perms
)

View File

@ -18,7 +18,7 @@ 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.role import Role
from atst.models.workspace import Workspace from atst.models.workspace import Workspace
from atst.domain.roles import Roles from atst.domain.roles import Roles, WORKSPACE_ROLES
from atst.models.workspace_role import WorkspaceRole, Status as WorkspaceRoleStatus from atst.models.workspace_role import WorkspaceRole, Status as WorkspaceRoleStatus
from atst.models.environment_role import EnvironmentRole from atst.models.environment_role import EnvironmentRole
from atst.models.invitation import Invitation, Status as InvitationStatus from atst.models.invitation import Invitation, Status as InvitationStatus
@ -50,22 +50,17 @@ def random_future_date(year_min=1, year_max=5):
) )
def random_workspace_role():
choice = random.choice(WORKSPACE_ROLES)
return Roles.get(choice["name"])
class Base(factory.alchemy.SQLAlchemyModelFactory): class Base(factory.alchemy.SQLAlchemyModelFactory):
@classmethod @classmethod
def dictionary(cls, **attrs): def dictionary(cls, **attrs):
return factory.build(dict, FACTORY_CLASS=cls, **attrs) return factory.build(dict, FACTORY_CLASS=cls, **attrs)
class RoleFactory(Base):
class Meta:
model = Role
name = factory.Faker("name")
display_name = "Role display name"
description = "This is a test role."
permissions = []
class UserFactory(Base): class UserFactory(Base):
class Meta: class Meta:
model = User model = User
@ -74,7 +69,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.SubFactory(RoleFactory) atat_role = factory.LazyFunction(lambda: Roles.get("default"))
dod_id = factory.LazyFunction(random_dod_id) dod_id = factory.LazyFunction(random_dod_id)
phone_number = factory.LazyFunction( phone_number = factory.LazyFunction(
lambda: "".join(random.choices(string.digits, k=10)) lambda: "".join(random.choices(string.digits, k=10))
@ -340,7 +335,7 @@ class WorkspaceRoleFactory(Base):
model = WorkspaceRole model = WorkspaceRole
workspace = factory.SubFactory(WorkspaceFactory) workspace = factory.SubFactory(WorkspaceFactory)
role = factory.SubFactory(RoleFactory) role = factory.LazyFunction(random_workspace_role)
user = factory.SubFactory(UserFactory) user = factory.SubFactory(UserFactory)
status = WorkspaceRoleStatus.PENDING status = WorkspaceRoleStatus.PENDING

View File

@ -1,8 +1,6 @@
from tests.factories import RequestFactory, UserFactory from tests.factories import RequestFactory, UserFactory
MOCK_USER = UserFactory.build()
MOCK_REQUEST = RequestFactory.build(creator=MOCK_USER)
DOD_SDN_INFO = {"first_name": "ART", "last_name": "GARFUNKEL", "dod_id": "5892460358"} DOD_SDN_INFO = {"first_name": "ART", "last_name": "GARFUNKEL", "dod_id": "5892460358"}
DOD_SDN = f"CN={DOD_SDN_INFO['last_name']}.{DOD_SDN_INFO['first_name']}.G.{DOD_SDN_INFO['dod_id']},OU=OTHER,OU=PKI,OU=DoD,O=U.S. Government,C=US" DOD_SDN = f"CN={DOD_SDN_INFO['last_name']}.{DOD_SDN_INFO['first_name']}.G.{DOD_SDN_INFO['dod_id']},OU=OTHER,OU=PKI,OU=DoD,O=U.S. Government,C=US"

View File

@ -1,5 +1,4 @@
import pytest import pytest
from tests.mocks import MOCK_USER
from tests.factories import RequestFactory from tests.factories import RequestFactory
from atst.models.request_status_event import RequestStatus from atst.models.request_status_event import RequestStatus