Exemple #1
0
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())
Exemple #2
0
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
Exemple #3
0
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()
Exemple #4
0
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()
Exemple #5
0
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()
Exemple #6
0
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
Exemple #7
0
def test_get_or_create_nonexistent_user():
    user = Users.get_or_create_by_dod_id(DOD_ID)
    assert user.dod_id == DOD_ID
Exemple #8
0
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