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)
def archive_user(user_id): user = get_user_by_id(user_id) dao_archive_user(user) return '', 204