users have permission sets for site-wide perms

This commit is contained in:
dandds
2019-03-18 16:42:53 -04:00
parent 27314b8120
commit bec5d11bfe
16 changed files with 114 additions and 103 deletions

View File

@@ -14,7 +14,7 @@ from tests.factories import (
@pytest.fixture(scope="function")
def ccpo():
return UserFactory.from_atat_role("ccpo")
return UserFactory.create_ccpo()
@pytest.fixture(scope="function")

View File

@@ -151,7 +151,7 @@ def test_owner_can_view_portfolio_members(portfolio, portfolio_owner):
@pytest.mark.skip(reason="no ccpo access yet")
def test_ccpo_can_view_portfolio_members(portfolio, portfolio_owner):
ccpo = UserFactory.from_atat_role("ccpo")
ccpo = UserFactory.create_ccpo()
assert Portfolios.get_with_members(ccpo, portfolio.id)
@@ -277,7 +277,7 @@ def test_for_user_does_not_return_inactive_portfolios(portfolio, portfolio_owner
@pytest.mark.skip(reason="CCPO status not fully implemented")
def test_for_user_returns_all_portfolios_for_ccpo(portfolio, portfolio_owner):
sam = UserFactory.from_atat_role("ccpo")
sam = UserFactory.create_ccpo()
PortfolioFactory.create()
sams_portfolios = Portfolios.for_user(sam)
@@ -297,7 +297,7 @@ def test_get_for_update_information(portfolio, portfolio_owner):
assert portfolio == admin_ws
# TODO: implement ccpo roles
# ccpo = UserFactory.from_atat_role("ccpo")
# ccpo = UserFactory.create_ccpo()
# assert Portfolios.get_for_update_information(ccpo, portfolio.id)
developer = UserFactory.create()

View File

@@ -4,81 +4,64 @@ from uuid import uuid4
from atst.domain.users import Users
from atst.domain.exceptions import NotFoundError, AlreadyExistsError, UnauthorizedError
from tests.factories import UserFactory
DOD_ID = "my_dod_id"
def test_create_user():
user = Users.create(DOD_ID, "default")
assert user.atat_role.name == "default"
user = Users.create(DOD_ID)
assert user.dod_id == DOD_ID
def test_create_user_with_existing_email():
Users.create(DOD_ID, "default", email="thisusersemail@usersRus.com")
Users.create(DOD_ID, email="thisusersemail@usersRus.com")
with pytest.raises(AlreadyExistsError):
Users.create(DOD_ID, "ccpo", email="thisusersemail@usersRus.com")
Users.create(DOD_ID, email="thisusersemail@usersRus.com")
@pytest.mark.skip(reason="no more roles")
def test_create_user_with_nonexistent_role():
with pytest.raises(NotFoundError):
Users.create(DOD_ID, "nonexistent")
def test_get_or_create_nonexistent_user():
user = Users.get_or_create_by_dod_id(DOD_ID, atat_role_name="default")
user = Users.get_or_create_by_dod_id(DOD_ID)
assert user.dod_id == DOD_ID
def test_get_or_create_existing_user():
Users.get_or_create_by_dod_id(DOD_ID, atat_role_name="default")
user = Users.get_or_create_by_dod_id(DOD_ID, atat_role_name="default")
assert user
fact_user = UserFactory.create()
user = Users.get_or_create_by_dod_id(fact_user.dod_id)
assert user == fact_user
def test_get_user():
new_user = Users.create(DOD_ID, "default")
new_user = UserFactory.create()
user = Users.get(new_user.id)
assert user.id == new_user.id
def test_get_nonexistent_user():
Users.create(DOD_ID, "default")
with pytest.raises(NotFoundError):
Users.get(uuid4())
def test_get_user_by_dod_id():
new_user = Users.create(DOD_ID, "default")
user = Users.get_by_dod_id(DOD_ID)
new_user = UserFactory.create()
user = Users.get_by_dod_id(new_user.dod_id)
assert user == new_user
def test_update_role():
new_user = Users.create(DOD_ID, "default")
updated_user = Users.update_role(new_user.id, "ccpo")
assert updated_user.atat_role.name == "ccpo"
def test_update_role_with_nonexistent_user():
Users.create(DOD_ID, "default")
with pytest.raises(NotFoundError):
Users.update_role(uuid4(), "ccpo")
def test_update_existing_user_with_nonexistent_role():
new_user = Users.create(DOD_ID, "default")
with pytest.raises(NotFoundError):
Users.update_role(new_user.id, "nonexistent")
def test_update_user():
new_user = Users.create(DOD_ID, "default")
new_user = UserFactory.create()
updated_user = Users.update(new_user, {"first_name": "Jabba"})
assert updated_user.first_name == "Jabba"
def test_update_user_with_dod_id():
new_user = Users.create(DOD_ID, "default")
new_user = UserFactory.create()
with pytest.raises(UnauthorizedError) as excinfo:
Users.update(new_user, {"dod_id": "1234567890"})