Beispiel #1
0
def test_create_second_user_with_role_and_permission(database, domain,
                                                     cleanup):
    __create_roles(database)
    users = UserManager(database)

    request_content = {
        "email": "*****@*****.**",
        "password": "******",
    }

    response = build_syft_msg(domain, CreateUserMessage, request_content,
                              generic_key)

    # Check database
    assert len(users) == 1
    user = users.query(email="*****@*****.**")[0]

    assert user.email == "*****@*****.**"
    assert users.login(email="*****@*****.**", password="******")
    assert users.role(user_id=user.id).name == "Owner"
    assert users.role(user_id=user.id).can_create_users
    assert users.role(user_id=user.id).can_triage_requests

    # Check message response
    assert response.status_code == 200

    owner_id = str(users.query(email="*****@*****.**")[0].id)

    second_user_content = {
        "email": "*****@*****.**",
        "password": "******",
        "role": "Administrator",
        "current_user": owner_id,
    }

    response = build_syft_msg(domain, CreateUserMessage, second_user_content,
                              generic_key)

    # Check database
    assert len(users) == 2
    user = users.query(email="*****@*****.**")[0]

    assert user.email == "*****@*****.**"
    assert users.login(email="*****@*****.**", password="******")
    assert users.role(user_id=user.id).name == "Administrator"
    assert users.role(user_id=user.id).can_create_users == True
    assert users.role(user_id=user.id).can_triage_requests == True

    # Check message response
    assert response.status_code == 200
def test_create_second_user(database, domain, cleanup):
    __create_roles(database)
    users = UserManager(database)

    first_user_content = {
        "email": "*****@*****.**",
        "password": "******",
    }

    response = build_syft_msg(
        domain, CreateUserMessage, first_user_content, generic_key
    )

    # Check database
    assert len(users) == 1
    user = users.query(email="*****@*****.**")[0]

    assert user.email == "*****@*****.**"
    assert users.login(email="*****@*****.**", password="******")
    assert users.role(user_id=user.id).name == "Owner"
    assert users.role(user_id=user.id).can_create_users
    assert users.role(user_id=user.id).can_triage_requests

    # Check message response
    assert response.status_code == 200

    second_user_content = {
        "email": "*****@*****.**",
        "password": "******",
    }

    response = build_syft_msg(
        domain, CreateUserMessage, second_user_content, generic_key
    )

    # Check database
    assert len(users) == 2
    user = users.query(email="*****@*****.**")[0]

    assert user.email == "*****@*****.**"
    assert users.login(email="*****@*****.**", password="******")
    assert users.role(user_id=user.id).name == "User"
    assert not users.role(user_id=user.id).can_create_users
    assert not users.role(user_id=user.id).can_triage_requests

    # Check message response
    assert response.status_code == 200
Beispiel #3
0
def test_create_second_user_with_owner_role_name(database, domain, cleanup):
    __create_roles(database)
    users = UserManager(database)

    owner_content = {
        "email": "*****@*****.**",
        "password": "******",
    }

    response = build_syft_msg(domain, CreateUserMessage, owner_content,
                              generic_key)

    # Check database
    assert len(users) == 1
    user = users.query(email="*****@*****.**")[0]

    assert user.email == "*****@*****.**"
    assert users.login(email="*****@*****.**", password="******")
    assert users.role(user_id=user.id).name == "Owner"
    assert users.role(user_id=user.id).can_create_users
    assert users.role(user_id=user.id).can_triage_requests

    # Check message response
    assert response.status_code == 200

    owner_id = str(users.query(email="*****@*****.**")[0].id)

    second_user_content = {
        "email": "*****@*****.**",
        "password": "******",
        "role": "Owner",
        "current_user": owner_id,
    }

    try:
        build_syft_msg(domain, CreateUserMessage, second_user_content,
                       generic_key)
        pytest.fail("We shouldn't execute this line!")
    except Exception as e:
        assert str(e) == 'You can\'t create a new User with "Owner" role!'

    # Check database
    assert len(users) == 1
Beispiel #4
0
def test_update_role_with_permission(database, domain, cleanup):
    __create_roles(database)
    users = UserManager(database)
    __create_user_samples(domain, users)

    # Correct
    std_user_id = users.query(email="*****@*****.**")[0].id
    owner_user_id = users.query(email="*****@*****.**")[0].id
    msg_content = {
        "user_id": std_user_id,
        "role": "3",
        "current_user": owner_user_id,
    }
    response = build_syft_msg(domain, UpdateUserMessage, msg_content, generic_key)
    assert response.status_code == 200
    assert response.content == {"message": "User updated successfully!"}

    user = users.query(email="*****@*****.**")[0]
    assert user.email == "*****@*****.**"
    assert users.role(user_id=user.id).name == "Administrator"
Beispiel #5
0
def test_create_first_user_msg(database, domain, cleanup):
    __create_roles(database)
    users = UserManager(database)

    request_content = {
        "email": "*****@*****.**",
        "password": "******",
    }

    response = build_syft_msg(domain, CreateUserMessage, request_content, generic_key)

    # Check database
    assert len(users) == 1
    user = users.query(email="*****@*****.**")[0]

    assert user.email == "*****@*****.**"
    assert users.login(email="*****@*****.**", password="******")
    assert users.role(user_id=user.id).name == "Owner"

    # Check message response
    assert response.status_code == 200
    assert database.session().query(Role).get(user.role).name == "Owner"