Beispiel #1
0
def user_is_logged_in(context):
    context.execute_steps(u'''
        when the user accesses the url "/"
    ''')
    u = User.objects.create(username='******',
                            email=settings.TESTING_LOGIN_USER)
    u.set_password(settings.TESTING_LOGIN_PASSWORD)
    u.save()

    store = TaskStore.get_for_user(u)
    if not store.configured:
        store.autoconfigure_taskd()
    context.store = store

    meta = UserMetadata.get_for_user(u)
    meta.tos_version = settings.TOS_VERSION
    meta.tos_accepted = now()
    meta.save()

    cookies = artificial_login(username=u.username,
                               password=settings.TESTING_LOGIN_PASSWORD)
    context.browser.cookies.add(cookies)

    context.execute_steps(u'''
        when the user accesses the url "/"
        then the page contains the heading "Let's get started"
    ''')
Beispiel #2
0
def get_store():
    u = get_user()
    store = TaskStore.get_for_user(u)
    if not store.configured:
        store.autoconfigure_taskd()

    return store
Beispiel #3
0
def get_store():
    u = get_user()
    store = TaskStore.get_for_user(u)
    if not store.configured:
        store.autoconfigure_taskd()

    return store
Beispiel #4
0
def status_offload(request):
    if not uwsgi or not settings.STATUS_OFFLOAD_SOCKET:
        return JsonResponse(
            {
                "error": "Status unavailable in this environment.",
            },
            status=404,
        )

    if not request.user.is_authenticated():
        return JsonResponse({
            "error": "Unauthenticated",
        }, status=401)

    redis = get_lock_redis()

    taskstore = TaskStore.get_for_user(request.user)

    pickle_id = str(uuid.uuid4())

    pickled_data = pickle.dumps({
        "taskstore": taskstore,
        "username": request.user.username
    })

    redis.set(f"pickle_{pickle_id}", pickled_data, ex=60)

    hostname, port = settings.STATUS_OFFLOAD_SOCKET.split(":")
    offload_ip = socket.gethostbyname(hostname)

    uwsgi.add_var("PICKLE_ID", str(pickle_id))
    uwsgi.add_var("OFFLOAD_TO_SSE", "y")
    uwsgi.add_var("OFFLOAD_SERVER", ":".join([offload_ip, port]))
    return HttpResponse()
Beispiel #5
0
def user_is_logged_in(context):
    context.execute_steps(u'''
        when the user accesses the url "/"
    ''')
    u = User.objects.create(
        username='******',
        email=settings.TESTING_LOGIN_USER
    )
    u.set_password(settings.TESTING_LOGIN_PASSWORD)
    u.save()

    store = TaskStore.get_for_user(u)
    if not store.configured:
        store.autoconfigure_taskd()
    context.store = store

    meta = UserMetadata.get_for_user(u)
    meta.tos_version = settings.TOS_VERSION
    meta.tos_accepted = now()
    meta.save()

    cookies = artificial_login(
        username=u.username,
        password=settings.TESTING_LOGIN_PASSWORD
    )
    context.browser.cookies.add(cookies)

    context.execute_steps(u'''
        when the user accesses the url "/"
        then the page contains the heading "Let's get started"
    ''')
Beispiel #6
0
    def process_response(self, request, response):
        if hasattr(request, 'user') and request.user.is_authenticated():
            store = TaskStore.get_for_user(request.user)
            response.set_cookie('authentication_token', store.api_key.key)
        else:
            response.set_cookie('authentication_token', '')

        return response
Beispiel #7
0
    def process_response(self, request, response):
        if request.user.is_authenticated():
            store = TaskStore.get_for_user(request.user)
            response.set_cookie('authentication_token', store.api_key.key)
        else:
            response.set_cookie('authentication_token', '')

        return response
Beispiel #8
0
    def __call__(self, request):
        response = self.get_response(request)

        if hasattr(request, 'user') and request.user.is_authenticated():
            store = TaskStore.get_for_user(request.user)
            response.set_cookie('authentication_token', store.api_key.key)
        else:
            response.delete_cookie('authentication_token')

        return response
Beispiel #9
0
def user_is_logged_in(context):
    context.execute_steps("""
        when the user accesses the url "/"
    """)

    u = get_user()
    store = TaskStore.get_for_user(u)
    if not store.configured:
        store.autoconfigure_taskd()
    context.store = store

    meta = UserMetadata.get_for_user(u)
    meta.tos_version = settings.TOS_VERSION
    meta.tos_accepted = now()
    meta.save()

    context.browser.cookies.add({"authentication_token": store.api_key.key})

    context.execute_steps("""
        when the user accesses the url "/"
        then the page contains the heading "Let's get started"
    """)
Beispiel #10
0
def status_offload(request):
    if not uwsgi:
        return JsonResponse(
            {
                'error': 'Status unavailable in this environment.',
            },
            status=404,
        )

    if not request.user.is_authenticated():
        return JsonResponse(
            {
                'error': 'Unauthenticated',
            },
            status=401
        )

    redis = get_lock_redis()

    taskstore = TaskStore.get_for_user(request.user)

    pickle_id = str(uuid.uuid4())

    pickled_data = pickle.dumps({
        'taskstore': taskstore,
        'username': request.user.username
    })

    redis.set(
        'pickle_{}'.format(pickle_id),
        pickled_data,
        ex=60
    )

    uwsgi.add_var("PICKLE_ID", str(pickle_id))
    uwsgi.add_var("OFFLOAD_TO_SSE", "y")
    uwsgi.add_var("OFFLOAD_SERVER", "/tmp/inthe_am_status.sock")
    return HttpResponse()
Beispiel #11
0
def user_is_logged_in(context):
    context.execute_steps(u'''
        when the user accesses the url "/"
    ''')

    u = get_user()
    store = TaskStore.get_for_user(u)
    if not store.configured:
        store.autoconfigure_taskd()
    context.store = store

    meta = UserMetadata.get_for_user(u)
    meta.tos_version = settings.TOS_VERSION
    meta.tos_accepted = now()
    meta.save()

    context.browser.cookies.add({
        'authentication_token': store.api_key.key
    })

    context.execute_steps(u'''
        when the user accesses the url "/"
        then the page contains the heading "Let's get started"
    ''')