def test_get_resource_handler_query():
    factory = RequestFactory()
    request = factory.get('contrib-dropbox/upload_issue_attachment-list')
    start = reverse('contrib-dropbox/oauth2_flow/start-list', request=request)
    request.session = {}
    request.DATA = {'db_oauth2_access_token': OAUTH_ACCESS_TOKEN}
    env.resource_handler_safe_equals(dropbox.Dropbox(OAUTH_ACCESS_TOKEN), services.get_resource_handler(request))
Beispiel #2
0
 def get(self, request, format=None):
     ret = {}
     for key, url_name in api_root_dict.items():
         try:
             ret[key] = reverse(url_name, request=request, format=format)
         except NoReverseMatch:
             # Support resources that are prefixed by a parametrized url
             ret[key] = request.build_absolute_uri() + key
     return response.Response(ret)
Beispiel #3
0
 def get(self, request, format=None):
     ret = {}
     for key, url_name in api_root_dict.items():
         try:
             ret[key] = reverse(url_name, request=request, format=format)
         except NoReverseMatch:
             # Support resources that are prefixed by a parametrized url
             ret[key] = request.build_absolute_uri() + key
     return response.Response(ret)
def test_get_resource_handler_is_denied():
    factory = RequestFactory()
    request = factory.get('contrib-dropbox/upload_issue_attachment-list')
    start = reverse('contrib-dropbox/oauth2_flow/start-list', request=request)
    request.session = {}
    request.DATA = {}
    with pytest.raises(Exception) as exc:
        services.get_resource_handler(request)
    assert exc.value.status_code == status.HTTP_401_UNAUTHORIZED
    assert exc.value.detail % {'start': start} == _("You need to authenticate with the Dropbox API first: %(start)s" % {'start': start})
def get_resource_handler(request=None):
    if request.session.get("db_oauth2_access_token"):
        dbx = dropbox.Dropbox(request.session.get("db_oauth2_access_token"))
    elif request.DATA.get("db_oauth2_access_token"):
        dbx = dropbox.Dropbox(request.DATA.get("db_oauth2_access_token"))
    else:
        raise exc.NotAuthenticated(_("You need to authenticate with the Dropbox API first: %(start)s" % {'start': reverse('contrib-dropbox/oauth2_flow/start-list', request=request)}))
    return dbx
def get_oauth2_flow(request, app_session, csrf_token):
    return dropbox.DropboxOAuth2Flow(settings.DB_APP_KEY, settings.DB_APP_SECRET, reverse('contrib-dropbox/oauth2_flow/finish-list', request=request), app_session, csrf_token)
def test_oauth2_flow_start():
    factory = RequestFactory()
    request = factory.get('contrib-dropbox/oauth2_flow/start-list')
    request.session = {}
    assert parse.quote_plus(reverse('contrib-dropbox/oauth2_flow/finish-list', request=request)) in services.oauth2_flow_start(request)
def test_get_oauth2_flow():
    factory = RequestFactory()
    request = factory.get('contrib-dropbox/oauth2_flow/start-list')
    request.session = {}
    env.oauth2_safe_equals(dropbox.DropboxOAuth2Flow(settings.DB_APP_KEY, settings.DB_APP_SECRET, reverse('contrib-dropbox/oauth2_flow/finish-list', request=request), request.session, services.CSRF_TOKEN), services.get_oauth2_flow(request, request.session, services.CSRF_TOKEN))