Example #1
0
def test_dao_archive_user(sample_user, sample_organisation, fake_uuid):
    sample_user.current_session_id = fake_uuid

    # create 2 services for sample_user to be a member of (each with another active user)
    service_1 = create_service(service_name='Service 1')
    service_1_user = create_user(email='*****@*****.**')
    service_1.users = [sample_user, service_1_user]
    create_permissions(sample_user, service_1, 'manage_settings')
    create_permissions(service_1_user, service_1, 'manage_settings',
                       'view_activity')

    service_2 = create_service(service_name='Service 2')
    service_2_user = create_user(email='*****@*****.**')
    service_2.users = [sample_user, service_2_user]
    create_permissions(sample_user, service_2, 'view_activity')
    create_permissions(service_2_user, service_2, 'manage_settings')

    # make sample_user an org member
    sample_organisation.users = [sample_user]

    dao_archive_user(sample_user)

    assert sample_user.get_permissions() == {}
    assert sample_user.services == []
    assert sample_user.organisations == []
    assert sample_user.auth_type == EMAIL_AUTH_TYPE
    assert sample_user.email_address == '*****@*****.**'
    assert sample_user.mobile_number is None
    assert sample_user.current_session_id == uuid.UUID(
        '00000000-0000-0000-0000-000000000000')
    assert sample_user.state == 'inactive'
    assert not sample_user.check_password('password')
def test_dao_archive_user(sample_user, sample_organisation, fake_uuid):
    sample_user.current_session_id = fake_uuid

    # create 2 services for sample_user to be a member of (each with another active user)
    service_1 = create_service(service_name="Service 1")
    service_1_user = create_user(email="*****@*****.**")
    service_1.users = [sample_user, service_1_user]
    create_permissions(sample_user, service_1, "manage_settings")
    create_permissions(service_1_user, service_1, "manage_settings",
                       "view_activity")

    service_2 = create_service(service_name="Service 2")
    service_2_user = create_user(email="*****@*****.**")
    service_2.users = [sample_user, service_2_user]
    create_permissions(sample_user, service_2, "view_activity")
    create_permissions(service_2_user, service_2, "manage_settings")

    # make sample_user an org member
    sample_organisation.users = [sample_user]

    # give sample_user folder permissions for a service_1 folder
    folder = create_template_folder(service_1)
    service_user = dao_get_service_user(sample_user.id, service_1.id)
    service_user.folders = [folder]
    dao_update_service_user(service_user)

    dao_archive_user(sample_user)

    assert sample_user.get_permissions() == {}
    assert sample_user.services == []
    assert sample_user.organisations == []
    assert sample_user.auth_type == EMAIL_AUTH_TYPE
    assert sample_user.email_address == "*****@*****.**"
    assert sample_user.mobile_number is None
    assert sample_user.current_session_id == uuid.UUID(
        "00000000-0000-0000-0000-000000000000")
    assert sample_user.state == "inactive"
    assert not sample_user.check_password("password")
def test_dao_archive_user_raises_error_if_user_cannot_be_archived(
        sample_user, mocker):
    mocker.patch('app.dao.users_dao.user_can_be_archived', return_value=False)

    with pytest.raises(InvalidRequest):
        dao_archive_user(sample_user.id)
Example #4
0
def archive_user(user_id):
    user = get_user_by_id(user_id)
    dao_archive_user(user)

    return '', 204