From df0b4e64c0ff05a54566b92d78e52655005b6655 Mon Sep 17 00:00:00 2001 From: richard-dds Date: Fri, 3 Aug 2018 13:29:20 -0400 Subject: [PATCH] Add Users.get_by_dod_id --- atst/domain/users.py | 9 +++++++++ tests/domain/test_users.py | 8 +++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/atst/domain/users.py b/atst/domain/users.py index a0f7d43c..87f95756 100644 --- a/atst/domain/users.py +++ b/atst/domain/users.py @@ -19,6 +19,15 @@ class Users(object): 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 def create(cls, atat_role_name, **kwargs): atat_role = Roles.get(atat_role_name) diff --git a/tests/domain/test_users.py b/tests/domain/test_users.py index e9bac734..ca6daa2a 100644 --- a/tests/domain/test_users.py +++ b/tests/domain/test_users.py @@ -2,7 +2,7 @@ import pytest from uuid import uuid4 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()) +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(): new_user = Users.create("developer") updated_user = Users.update(new_user.id, "ccpo")