def login_dev(): dod_id = request.args.get("dod_id", None) if dod_id is not None: user = Users.get_by_dod_id(dod_id) else: role = request.args.get("username", "amanda") user_data = _DEV_USERS[role] user = Users.get_or_create_by_dod_id( user_data["dod_id"], **pick( [ "permission_sets", "first_name", "last_name", "email", "service_branch", "phone_number", "citizenship", "designation", "date_latest_training", ], user_data, ), ) current_user_setup(user) return redirect(redirect_after_login_url())
def test_get_or_create_existing_user(): fact_user = UserFactory.create() user = Users.get_or_create_by_dod_id( fact_user.dod_id, **pick(["first_name", "last_name"], fact_user.to_dictionary()), ) assert user == fact_user
def create_demo_portfolio(name, data): try: portfolio_owner = Users.get_or_create_by_dod_id("2345678901") # Amanda # auditor = Users.get_by_dod_id("3453453453") # Sally except NotFoundError: print("Could not find demo users; will not create demo portfolio {}". format(name)) return portfolio = Portfolios.create( user=portfolio_owner, portfolio_attrs={ "name": name, "defense_component": random_service_branch() }, ) add_task_orders_to_portfolio(portfolio) add_members_to_portfolio(portfolio) for mock_application in data["applications"]: application = Application(portfolio=portfolio, name=mock_application.name, description="") env_names = [env.name for env in mock_application.environments] envs = Environments.create_many(portfolio.owner, application, env_names) db.session.add(application) db.session.commit()
def add_members_to_portfolio(portfolio): for user_data in PORTFOLIO_USERS: invite = Portfolios.invite(portfolio, portfolio.owner, {"user_data": user_data}) profile = { k: user_data[k] for k in user_data if k not in ["dod_id", "permission_sets"] } user = Users.get_or_create_by_dod_id(user_data["dod_id"], **profile) PortfolioRoles.enable(invite.role, user) db.session.commit()
def create_demo_portfolio(name, data): try: portfolio_owner = Users.get_or_create_by_dod_id( "2345678901", **pick( [ "permission_sets", "first_name", "last_name", "email", "service_branch", "phone_number", "citizenship", "designation", "date_latest_training", ], DEV_USERS["amanda"], ), ) # Amanda # auditor = Users.get_by_dod_id("3453453453") # Sally except NotFoundError: print("Could not find demo users; will not create demo portfolio {}". format(name)) return portfolio = Portfolios.create( user=portfolio_owner, portfolio_attrs={ "name": name, "defense_component": random_service_branch() }, ) add_task_orders_to_portfolio(portfolio) add_members_to_portfolio(portfolio) for mock_application in data["applications"]: application = Application(portfolio=portfolio, name=mock_application["name"], description="") env_names = [env["name"] for env in mock_application["environments"]] envs = Environments.create_many(portfolio.owner, application, env_names) db.session.add(application) db.session.commit()
def test_get_or_create_existing_user(): fact_user = UserFactory.create() user = Users.get_or_create_by_dod_id(fact_user.dod_id) assert user == fact_user
def test_get_or_create_nonexistent_user(): user = Users.get_or_create_by_dod_id(DOD_ID) assert user.dod_id == DOD_ID
def test_get_or_create_nonexistent_user(): user = Users.get_or_create_by_dod_id(DOD_ID, **REQUIRED_KWARGS) assert user.dod_id == DOD_ID