Add Users.get_by_dod_id

This commit is contained in:
richard-dds 2018-08-03 13:29:20 -04:00 committed by dandds
parent c6af29f213
commit df0b4e64c0
2 changed files with 16 additions and 1 deletions

View File

@ -19,6 +19,15 @@ class Users(object):
return user return user
@classmethod
def get_by_dod_id(cls, dod_id):
try:
user = db.session.query(User).filter_by(dod_id=dod_id).one()
except NoResultFound:
raise NotFoundError("user")
return user
@classmethod @classmethod
def create(cls, atat_role_name, **kwargs): def create(cls, atat_role_name, **kwargs):
atat_role = Roles.get(atat_role_name) atat_role = Roles.get(atat_role_name)

View File

@ -2,7 +2,7 @@ import pytest
from uuid import uuid4 from uuid import uuid4
from atst.domain.users import Users from atst.domain.users import Users
from atst.domain.exceptions import NotFoundError, AlreadyExistsError from atst.domain.exceptions import NotFoundError
@ -41,6 +41,12 @@ def test_get_nonexistent_user():
Users.get(uuid4()) Users.get(uuid4())
def test_get_user_by_dod_id():
new_user = Users.create("developer", dod_id="my_dod_id")
user = Users.get_by_dod_id("my_dod_id")
assert user == new_user
def test_update_user(): def test_update_user():
new_user = Users.create("developer") new_user = Users.create("developer")
updated_user = Users.update(new_user.id, "ccpo") updated_user = Users.update(new_user.id, "ccpo")