ApplicationRoles seed and domain
This commit is contained in:
parent
532529eb6e
commit
50a532ddbb
15
atst/domain/application_roles.py
Normal file
15
atst/domain/application_roles.py
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
from atst.database import db
|
||||||
|
from atst.models.application_role import ApplicationRole
|
||||||
|
|
||||||
|
|
||||||
|
class ApplicationRoles(object):
|
||||||
|
@classmethod
|
||||||
|
def create(cls, user, application, permission_sets):
|
||||||
|
application_role = ApplicationRole(user=user, application_id=application.id)
|
||||||
|
|
||||||
|
application_role.permission_sets = permission_sets
|
||||||
|
|
||||||
|
db.session.add(application_role)
|
||||||
|
db.session.commit()
|
||||||
|
|
||||||
|
return application_role
|
@ -13,6 +13,7 @@ from atst.domain.users import Users
|
|||||||
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.portfolio_roles import PortfolioRoles
|
from atst.domain.portfolio_roles import PortfolioRoles
|
||||||
|
from atst.domain.application_roles import ApplicationRoles
|
||||||
from atst.models.invitation import Status as InvitationStatus
|
from atst.models.invitation import Status as InvitationStatus
|
||||||
from atst.domain.exceptions import AlreadyExistsError
|
from atst.domain.exceptions import AlreadyExistsError
|
||||||
from tests.factories import (
|
from tests.factories import (
|
||||||
@ -27,6 +28,7 @@ from atst.routes.dev import _DEV_USERS as DEV_USERS
|
|||||||
from atst.domain.csp.reports import MockReportingProvider
|
from atst.domain.csp.reports import MockReportingProvider
|
||||||
from atst.models.application import Application
|
from atst.models.application import Application
|
||||||
from atst.domain.environments import Environments
|
from atst.domain.environments import Environments
|
||||||
|
from atst.domain.permission_sets import PermissionSets
|
||||||
|
|
||||||
|
|
||||||
PORTFOLIO_USERS = [
|
PORTFOLIO_USERS = [
|
||||||
@ -115,14 +117,25 @@ def create_task_order(portfolio, start, end, clin_01=None, clin_03=None):
|
|||||||
|
|
||||||
|
|
||||||
def add_applications_to_portfolio(portfolio, applications):
|
def add_applications_to_portfolio(portfolio, applications):
|
||||||
|
application_permission_sets = PermissionSets.get_many(
|
||||||
|
[PermissionSets.EDIT_APPLICATION_TEAM]
|
||||||
|
)
|
||||||
|
|
||||||
for application in applications:
|
for application in applications:
|
||||||
Applications.create(
|
application = Applications.create(
|
||||||
portfolio=portfolio,
|
portfolio=portfolio,
|
||||||
name=application["name"],
|
name=application["name"],
|
||||||
description=application["description"],
|
description=application["description"],
|
||||||
environment_names=application["environments"],
|
environment_names=application["environments"],
|
||||||
)
|
)
|
||||||
|
|
||||||
|
for user in get_users():
|
||||||
|
ApplicationRoles.create(
|
||||||
|
user=user,
|
||||||
|
application=application,
|
||||||
|
permission_sets=application_permission_sets,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
def create_demo_portfolio(name, data):
|
def create_demo_portfolio(name, data):
|
||||||
try:
|
try:
|
||||||
|
18
tests/domain/test_application_roles.py
Normal file
18
tests/domain/test_application_roles.py
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
from atst.domain.application_roles import ApplicationRoles
|
||||||
|
from atst.domain.permission_sets import PermissionSets
|
||||||
|
from tests.factories import UserFactory, ApplicationFactory
|
||||||
|
|
||||||
|
|
||||||
|
def test_create_application_role():
|
||||||
|
application = ApplicationFactory.create()
|
||||||
|
user = UserFactory.create()
|
||||||
|
|
||||||
|
permission_sets = PermissionSets.get_many([PermissionSets.EDIT_APPLICATION_TEAM])
|
||||||
|
|
||||||
|
application_role = ApplicationRoles.create(
|
||||||
|
application=application, user=user, permission_sets=permission_sets
|
||||||
|
)
|
||||||
|
|
||||||
|
assert application_role.permission_sets == permission_sets
|
||||||
|
assert application_role.application == application
|
||||||
|
assert application_role.user == user
|
Loading…
x
Reference in New Issue
Block a user