def test_get_resource_is_denied():
    URL = "https://www.box.com/"
    HOSTNAME = 'www.box.com'
    with pytest.raises(Exception) as exc:
        services.get_resource(URL)
    assert exc.value.status_code == status.HTTP_403_FORBIDDEN
    assert exc.value.detail % {'domain': HOSTNAME} == "You need to add %(domain)s to your settings." % {'domain': HOSTNAME}
 def create(self, request):
     _response = services.get_resource(request.DATA.get('path'))
     data = json.loads(_response.text)
     slug = data.get('slug')
     if Project.objects.get(slug=slug):
         del data['slug']
     data['owner'] = data.get('owner', request.user.email)
     project = dict_to_project(data)
     serializer = serializers.ProjectSerializer(project)
     return response.Ok(data=serializer.data)
 def create(self, request):
     project = get_object_or_404(Project, pk=request.DATA.get('project'))
     self.check_permission(project)
     new_attachment = Attachment()
     filename = request.DATA.get('filename')
     object_id = request.DATA.get('object_id')
     path = request.DATA.get('path')
     revision = request.DATA.get('revision', None)
     size = request.DATA.get('size')
     content_type = self.get_content_type()
     if path.startswith('http'):
         _response = services.get_resource(path)
         common.save_attachment(new_attachment, project, request.user, object_id, filename, size, _response.content, content_type)
     else:
         rh = get_resource_handler()
         md, _response = rh.files_download(path, revision)
         common.save_attachment(new_attachment, project, request.user, object_id, md.name, md.size, _response.content, content_type)
     serializer = AttachmentSerializer(new_attachment)
     return response.Ok(data=serializer.data)