ApplicationRoles seed and domain

This commit is contained in:
George Drummond 2019-04-11 10:03:21 -04:00
parent 532529eb6e
commit 50a532ddbb
No known key found for this signature in database
GPG Key ID: 296DD6077123BF17
3 changed files with 47 additions and 1 deletions

View 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

View File

@ -13,6 +13,7 @@ from atst.domain.users import Users
from atst.domain.portfolios import Portfolios
from atst.domain.applications import Applications
from atst.domain.portfolio_roles import PortfolioRoles
from atst.domain.application_roles import ApplicationRoles
from atst.models.invitation import Status as InvitationStatus
from atst.domain.exceptions import AlreadyExistsError
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.models.application import Application
from atst.domain.environments import Environments
from atst.domain.permission_sets import PermissionSets
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):
application_permission_sets = PermissionSets.get_many(
[PermissionSets.EDIT_APPLICATION_TEAM]
)
for application in applications:
Applications.create(
application = Applications.create(
portfolio=portfolio,
name=application["name"],
description=application["description"],
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):
try:

View 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