Make user_id required and add post tests

- raise an exception in ApplicationRoles.get()
- permission_sets is not changed if bad data is sent
This commit is contained in:
Montana
2019-05-07 10:23:58 -04:00
parent 09c0bed47d
commit d5307b440f
5 changed files with 102 additions and 10 deletions

View File

@@ -1,6 +1,9 @@
from sqlalchemy.orm.exc import NoResultFound
from atst.database import db
from atst.models import ApplicationRole, ApplicationRoleStatus
from atst.domain.permission_sets import PermissionSets
from .permission_sets import PermissionSets
from .exceptions import NotFoundError
class ApplicationRoles(object):
@@ -31,13 +34,16 @@ class ApplicationRoles(object):
@classmethod
def get(cls, user_id, application_id):
existing_app_role = (
db.session.query(ApplicationRole)
.filter_by(user_id=user_id, application_id=application_id)
.one_or_none()
)
try:
app_role = (
db.session.query(ApplicationRole)
.filter_by(user_id=user_id, application_id=application_id)
.one()
)
except NoResultFound:
raise NotFoundError("application_role")
return existing_app_role
return app_role
@classmethod
def update_permission_sets(cls, application_role, new_perm_sets_names):