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)
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
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 == []
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
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 == []
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)
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') ]
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)
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': {}} } } } )
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)
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)
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': {} } } } })