Esempio n. 1
0
def test_delete_user_raises_when_group_creator(models, pyramid_request):
    user = Mock()

    models.Group.created_by.return_value.count.return_value = 10

    with pytest.raises(UserDeletionError):
        delete_user(pyramid_request, user)
Esempio n. 2
0
def test_delete_user_deletes_user(db_session, factories, pyramid_request):
    pyramid_request.db = db_session
    user = factories.User()

    delete_user(pyramid_request, user)

    assert user in db_session.deleted
Esempio n. 3
0
def test_delete_user_disassociate_group_memberships(fake_db_session, pyramid_request):
    pyramid_request.db = fake_db_session
    user = Mock(groups=[Mock()])

    delete_user(pyramid_request, user)

    assert user.groups == []
Esempio n. 4
0
def test_delete_user_deletes_user(fake_db_session, pyramid_request):
    pyramid_request.db = fake_db_session
    user = MagicMock()

    delete_user(pyramid_request, user)

    assert user in pyramid_request.db.deleted
Esempio n. 5
0
def test_delete_user_deletes_user(fake_db_session, pyramid_request):
    pyramid_request.db = fake_db_session
    user = MagicMock()

    delete_user(pyramid_request, user)

    assert user in pyramid_request.db.deleted
Esempio n. 6
0
def test_delete_user_raises_when_group_creator(models, pyramid_request):
    user = Mock()

    models.Group.created_by.return_value.count.return_value = 10

    with pytest.raises(UserDeletionError):
        delete_user(pyramid_request, user)
Esempio n. 7
0
def test_delete_user_disassociate_group_memberships(db_session, factories,
                                                    pyramid_request):
    pyramid_request.db = db_session
    user = factories.User()

    delete_user(pyramid_request, user)

    assert user.groups == []
Esempio n. 8
0
def test_delete_user_disassociate_group_memberships(fake_db_session,
                                                    pyramid_request):
    pyramid_request.db = fake_db_session
    user = Mock(groups=[Mock()])

    delete_user(pyramid_request, user)

    assert user.groups == []
Esempio n. 9
0
def test_delete_user_publishes_event(api_storage, db_session, factories,
                                     matchers, pyramid_request):
    pyramid_request.db = db_session
    user = factories.User()
    ann = factories.Annotation(userid=user.userid)

    delete_user(pyramid_request, user)

    expected_event = AnnotationEvent(pyramid_request, ann.id, 'delete')
    actual_event = pyramid_request.notify_after_commit.call_args[0][0]
    assert (expected_event.request, expected_event.annotation_id, expected_event.action) == \
           (actual_event.request, actual_event.annotation_id, actual_event.action)
Esempio n. 10
0
def test_delete_user_deletes_annotations(api_storage, elasticsearch_helpers, fake_db_session, pyramid_request):
    pyramid_request.db = fake_db_session
    user = MagicMock()
    annotation_1 = {'_id': 'annotation-1'}
    annotation_2 = {'_id': 'annotation-2'}

    elasticsearch_helpers.scan.return_value = [annotation_1, annotation_2]

    delete_user(pyramid_request, user)

    assert api_storage.delete_annotation.mock_calls == [
        call(pyramid_request.db, 'annotation-1'),
        call(pyramid_request.db, 'annotation-2')
    ]
Esempio n. 11
0
def test_delete_user_deletes_annotations(api_storage, elasticsearch_helpers,
                                         fake_db_session, pyramid_request):
    pyramid_request.db = fake_db_session
    user = MagicMock()
    annotation_1 = {'_id': 'annotation-1'}
    annotation_2 = {'_id': 'annotation-2'}

    elasticsearch_helpers.scan.return_value = [annotation_1, annotation_2]

    delete_user(pyramid_request, user)

    assert api_storage.delete_annotation.mock_calls == [
        call(pyramid_request.db, 'annotation-1'),
        call(pyramid_request.db, 'annotation-2')
    ]
Esempio n. 12
0
def test_delete_user_deletes_annotations(api_storage, db_session, factories,
                                         pyramid_request):
    pyramid_request.db = db_session
    user = factories.User(username='******')
    anns = [
        factories.Annotation(userid=user.userid),
        factories.Annotation(userid=user.userid)
    ]

    delete_user(pyramid_request, user)

    api_storage.delete_annotation.assert_has_calls([
        call(pyramid_request.db, anns[0].id),
        call(pyramid_request.db, anns[1].id),
    ],
                                                   any_order=True)
Esempio n. 13
0
def test_delete_user_queries_annotations(elasticsearch_helpers, factories, fake_db_session, pyramid_request):
    pyramid_request.db = fake_db_session
    user = factories.User(username=u'bob')

    delete_user(pyramid_request, user)

    elasticsearch_helpers.scan.assert_called_once_with(
        client=pyramid_request.es.conn,
        query={
            'query': {
                'filtered': {
                    'filter': {'term': {'user': u'acct:[email protected]'}},
                    'query': {'match_all': {}}
                }
            }
        }
    )
Esempio n. 14
0
File: user.py Progetto: gnott/h
def delete(ctx, username, authority):
    """
    Deletes a user with all their group memberships and annotations.

    You must specify the username of a user to delete.
    """
    request = ctx.obj['bootstrap']()

    if not authority:
        authority = request.authority

    user = models.User.get_by_username(request.db, username, authority)
    if user is None:
        msg = 'no user with username "{}" and authority "{}"'.format(username, authority)
        raise click.ClickException(msg)

    delete_user(request, user)
    request.tm.commit()

    click.echo("User {} deleted.".format(username), err=True)
Esempio n. 15
0
def delete(ctx, username, authority):
    """
    Deletes a user with all their group memberships and annotations.

    You must specify the username of a user to delete.
    """
    request = ctx.obj['bootstrap']()

    if not authority:
        authority = request.authority

    user = models.User.get_by_username(request.db, username, authority)
    if user is None:
        msg = 'no user with username "{}" and authority "{}"'.format(
            username, authority)
        raise click.ClickException(msg)

    delete_user(request, user)
    request.tm.commit()

    click.echo("User {} deleted.".format(username), err=True)
Esempio n. 16
0
def test_delete_user_queries_annotations(elasticsearch_helpers, factories,
                                         fake_db_session, pyramid_request):
    pyramid_request.db = fake_db_session
    user = factories.User(username=u'bob')

    delete_user(pyramid_request, user)

    elasticsearch_helpers.scan.assert_called_once_with(
        client=pyramid_request.es.conn,
        query={
            'query': {
                'filtered': {
                    'filter': {
                        'term': {
                            'user': u'acct:[email protected]'
                        }
                    },
                    'query': {
                        'match_all': {}
                    }
                }
            }
        })