Beispiel #1
0
def test_user_creation():
    try:
        del_user = User.get('user_id', 'fake-id')
        del_user.delete_instance()
    except:
        pass
    user = User(user_id='fake-id', password='******')
    user.save()
    test_user = User.get('user_id', 'fake-id')
    assert user == test_user
    user.delete_instance()
Beispiel #2
0
async def _add_user_to_request(request):
    if DB.is_closed():
        DB.connect()
    if 'admintoken' in request['args']:
        user = User.get('admin_token', request['args']['admintoken'])
        if user is None:
            return None
        request['user'] = user
    else:
        sid = request.cookies.get(_SESSION_COOKIE_NAME, 'invalid')
        session_or_none: Session = Session.get('session_id', sid)
        if session_or_none is None:
            return None
        request['user'] = User.get('user_id', session_or_none.user_id)
        request['session_id'] = session_or_none.session_id
Beispiel #3
0
def test_delete_user():
    try:
        del_user = User.get('user_id', 'fake-id')
        del_user.delete_instance()
    except:
        pass

    user = User(user_id='fake-id', password='******')
    user.save()
    print(user.__dict__)
    user.delete_instance()

    test_user = User.get('user_id', 'fake-id')

    assert test_user is None
Beispiel #4
0
def third_party(user_id):
    """Delete user, depending on global settings this will be in production or debug DB."""
    user = User.get('user_id', user_id)
    if user is None:
        print("User not found")
        return
    print(user.third_party_info['email'])
def _login(request):
    login = required_parameter(request, 'login')
    password = required_parameter(request, 'password')
    user = User.get('user_id', login)
    if user is None or not user.verify_password(password):
        raise UserException(INVALID_CREDENTIALS_TEXT)
    session_obj: Session = Session.create(user_id=user.user_id)
    request['session_id'] = session_obj.session_id
    return {'message': VALID_CREDENTIALS_TEXT, 'sessionId': session_obj.session_id, 'adminToken': user.admin_token}
def upsert_login_redirect(request, user_id: str, third_party_info: dict,
                          success_cb: str, adapter):
    debug('Login', user_id, 'with', third_party_info, success_cb)
    user_or_none: User = User.get('user_id', user_id)
    if user_or_none is None:
        user_or_none = create_user(user_id=user_id,
                                   password=str(token_urlsafe()),
                                   third_party_info=third_party_info)
    session_obj: Session = Session.create(user_id=user_or_none.user_id)
    request['session_id'] = session_obj.session_id
    return redirect(success_cb)
def delete_all_user_data(user_id):
    """Delete user, depending on global settings this will be in production or info DB."""
    user = User.get('user_id', user_id)
    if user is None:
        raise UserException(ERROR_USER_DOES_NOT_EXIST % user_id)
    documents = DocumentStore.get_documents(user.token)
    for document in documents:
        DocumentStore.delete_document(user.token, document['id'])
    saved_replies = AnnotationStore.get_annotations(user.token,
                                                    saved_replies=True)
    for saved_reply in saved_replies:
        AnnotationStore.delete_annotation(user.token, saved_reply['id'])
    annotations = AnnotationStore.get_annotations(user.token,
                                                  saved_replies=False)
    for annotation in annotations:
        AnnotationStore.delete_annotation(user.token, annotation['id'])

    user.delete_instance()
    info("User " + user_id + " data deleted successfully")
    info("Looking for session data")
    del_counter = 0
    sessions = Session.all('user_id', user_id)
    for session in sessions:
        session.delete_instance()
        del_counter += 1
    info("Deleted " + str(del_counter) + " sessions")
    del_counter = 0
    events = Event.all('user_id', user_id)
    for event in events:
        event.delete_instance()
        del_counter += 1
    info("Deleted " + str(del_counter) + " events")
    del_counter = 0
    bots = Bot.all('user_id', user_id)
    for bot in bots:
        bot.delete_instance()
        del_counter += 1
    info("Deleted " + str(del_counter) + " bots")
    del_counter = 0
    coverage_entries = Coverage.all('user_id', user_id)
    for coverage in coverage_entries:
        coverage.delete_instance()
        del_counter += 1
    info("Deleted " + str(del_counter) + " coveragae entries")
    del_counter = 0
    email_events = EmailEvent.all('user_id', user_id)
    for event in email_events:
        event.delete_instance()
        del_counter += 1
    info("Deleted " + str(del_counter) + " email events")
Beispiel #8
0
def test_unique_user():
    try:
        del_user = User.get('user_id', 'fake-id')
        del_user.delete_instance()
    except:
        pass

    user = User(user_id='fake-id', password='******')
    user.save()
    with pytest.raises(IntegrityError):
        duplicate_user = User(user_id='fake-id', password='******')
        duplicate_user.save()

    user.delete_instance()
Beispiel #9
0
 def decorated(request, *args, **kwargs):
     token = optional_parameter(request, 'token', None)
     if token is None:
         if 'user' in request:
             request['user_from_token'] = request['user']
             request['args']['token'] = request['user'].token
             return wrapped(request, *args, **kwargs)
         else:
             required_parameter(request, 'token')
     user = User.get('token', token)
     if user is not None:
         request['user_from_token'] = user
         return wrapped(request, *args, **kwargs)
     else:
         raise UserException(INVALID_TOKEN % token)