コード例 #1
0
ファイル: test_user_view.py プロジェクト: JBonser/exam-api
def test_user_creation_fails_with_duplicate_entry(db_fixture, test_user):
    test_user_create, test_user_get = test_user
    create_user(db_session, test_user_create)

    response = client.post(f"/users/", json=test_user_create.dict())
    assert response.status_code == 400
    assert "user with this email already exists" in response.json()["detail"]
コード例 #2
0
def test_db_user():
    test_user_create = UserCreate(
        first_name="john",
        surname="smith",
        email="*****@*****.**",
        password="******",
    )
    create_user(db_session, test_user_create)
    return test_user_create
コード例 #3
0
async def create_user_from_application(database: Session, application):
    """Create user after application has been approved and send email"""
    user = UserCreate(
        role=Roles.USER,
        # Ensure this password is >= 8 characters
        password="******",
        email=application.email,
        name=application.name)
    user_crud.create_user(database=database, user=user)
    await send_email(template="application_success.html",
                     body={"user": user},
                     receivers=[user.email],
                     subject="Your application for HackClubRIT")
コード例 #4
0
ファイル: test_user_view.py プロジェクト: JBonser/exam-api
def test_user_get_fails_without_authenticating(db_fixture, test_user):
    test_user_create, test_user_get = test_user
    user = create_user(db_session, test_user_create)

    response = client.get(f"/users/{user.id}")
    assert response.status_code == 401
    assert response.json()["detail"] == "Not authenticated"
コード例 #5
0
ファイル: test_user_view.py プロジェクト: JBonser/exam-api
def test_user_get(db_fixture, test_user, token_fixture):
    test_user_create, test_user_get = test_user
    user = create_user(db_session, test_user_create)

    response = client.get(f"/users/{user.id}")
    assert response.status_code == 200
    assert response.json() == test_user_get
コード例 #6
0
def test_user_get(db_session, test_user, token_fixture):
    user_create_schema = test_user
    user = create_user(db_session, user_create_schema)

    response = client.get(f"/users/{user.public_id}")
    json_response = response.json()
    assert response.status_code == 200
    assert json_response["email"] == user.email
    assert json_response["public_id"] == user.public_id
コード例 #7
0
def test_users_and_teams(db_session, default_team_roles):
    member, admin = default_team_roles
    # Create two users to be added to separate teams
    user1 = UserCreate(email="*****@*****.**", password="******")
    user2 = UserCreate(email="*****@*****.**", password="******")
    test_user1 = create_user(db_session, user1)
    test_user2 = create_user(db_session, user2)

    # Create the two required teams
    team1 = TeamCreate(name="Team1")
    team2 = TeamCreate(name="Team2")
    test_team1 = create_team(db_session, team1, test_user1)
    test_team2 = create_team(db_session, team2, test_user2)

    # Make the users have a role of member in each of their respective teams.
    create_team_membership(db_session, test_user1, test_team1, member)
    create_team_membership(db_session, test_user2, test_team2, member)

    return test_user1, test_user2, test_team1, test_team2
コード例 #8
0
def default_db_user(db_session):
    user_create = UserCreate(
        first_name="default",
        surname="db",
        email="*****@*****.**",
        password="******",
    )

    db_user = create_user(db_session, user_create)
    return db_user
コード例 #9
0
def test_event_update(test_event_instance: EventTest):
    """
    TEST PATCH /content/events/{event.id}
    """
    mod_event = create_event(
        database=test_event_instance.database_conn,
        event=test_event_instance.create_event_object(),
        current_user=test_event_instance.users[Roles.MODERATOR])

    new_mod_user = create_user(
        database=test_event_instance.database_conn,
        user=UserCreate(role=Roles.MODERATOR,
                        email=test_event_instance.random_email(),
                        name=test_event_instance.random_string(),
                        password=test_event_instance.default_password))

    response_map = {
        new_mod_user.id: False,
        test_event_instance.users[Roles.MODERATOR].id: True,
        test_event_instance.users[Roles.ADMIN].id: True,
        test_event_instance.users[Roles.USER].id: False
    }
    for user, success_state in response_map.items():
        update_event(test_event_instance, mod_event, user, success_state)
コード例 #10
0
def create_user(user: schemas.UserCreate, db: Session = Depends(get_db)):
    db_user = crud.get_user_by_email(db, email=user.email)
    if db_user:
        raise HTTPException(status_code=400, detail="Email already registered")
    return crud.create_user(db=db, user=user)
コード例 #11
0
async def create_user(user: schema.UserCreate, db: Session = Depends(get_db)):
    if crud.get_user_by_email(db, user.email):
        raise DuplicateResourceError(resource="user", value="email")
    return crud.create_user(db=db, user=user)
コード例 #12
0
def test_users(db_session):
    user1 = UserCreate(email="*****@*****.**", password="******")
    user2 = UserCreate(email="*****@*****.**", password="******")
    test_user1 = create_user(db_session, user1)
    test_user2 = create_user(db_session, user2)
    return test_user1, test_user2
コード例 #13
0
db = SessionLocal()

# Check if there are already users
total, _, _ = crud.get_users(db)
if total > 0:
    exit()

# Create and admin
data = {"username": "******", "password": "******"}
crud.create_admin_user(db, schemas.UserCreate(**data))

# Create 100 users
users = []
for i in range(1, 100):
    data = {
        'first_name': random.choice(FIRST_NAMES),
        'last_name': random.choice(LAST_NAMES),
        'username': '******'.format(i),
        'password': '******'
    }
    user = crud.create_user(db, schemas.UserCreate(**data))
    users.append(user)

# Add 10-15 follows to each user
for user in users:
    size = random.choice([i for i in range(10, 15)])
    sample = random.sample(users, size)
    for person in sample:
        crud.follow_user(db, user, person.id)
コード例 #14
0
def create_user(user: schemas.UserCreate, db: Session = Depends(get_db)):
    db_user = crud.get_user_by_email(db=db, email=user.email)
    if db_user:
        return {"data": "", "resCode": 1, "msg": "已存在此用户"}
    return crud.create_user(db=db, user=user)