Exemplo n.º 1
0
    def test_folder_data_traversal_without_dav(self):
        container = Container('test')
        request = DAVTestRequest(environ={'URL': 'http://site/test'})
        request.maybe_webdav_client = False

        traversal = DexterityPublishTraverse(container, request)

        self.assertRaises(Forbidden, traversal.publishTraverse, request,
                          DAV_FOLDER_DATA_ID)
Exemplo n.º 2
0
 def publishTraverse(self, request, name):
     try:
         # Default Traverser
         return DexterityPublishTraverse(self.context,
                                         request).publishTraverse(
                                             request, name)
     except (LocationError, KeyError):
         subpath = self.request.get('collective.remoteproxy__subpath', [])
         subpath.append(name)
         self.request['collective.remoteproxy__subpath'] = subpath
         return self.context
Exemplo n.º 3
0
    def test_folder_data_traversal_dav(self):
        container = Container('test')
        request = DAVTestRequest(environ={'URL': 'http://site/test'})
        request.maybe_webdav_client = True

        traversal = DexterityPublishTraverse(container, request)

        r = traversal.publishTraverse(request, DAV_FOLDER_DATA_ID)

        self.assertEqual(DAV_FOLDER_DATA_ID, r.__name__)
        self.assertEqual(container, r.__parent__)
        self.assertEqual(container, r.aq_parent)
Exemplo n.º 4
0
    def test_browser_default_dav(self):
        class TestContainer(Container):

            def __browser_default__(self, request):
                return self, ('foo',)

        container = TestContainer('container')
        request = DAVTestRequest(
            environ={'URL': 'http://site/test', 'REQUEST_METHOD': 'PROPFIND'}
        )
        request.maybe_webdav_client = True

        traversal = DexterityPublishTraverse(container, request)

        self.replay()

        self.assertEqual((container, (),), traversal.browserDefault(request))
Exemplo n.º 5
0
    def test_acquire_without_dav(self):
        container = Container('container')

        outer = Folder('outer')
        outer._setObject('item', SimpleItem('item'))
        outer._setOb('container', container)

        request = DAVTestRequest(environ={
            'URL': 'http://site/test',
            'REQUEST_METHOD': 'GET'
        })
        request.maybe_webdav_client = False

        traversal = DexterityPublishTraverse(container.__of__(outer), request)

        r = traversal.publishTraverse(request, 'item')

        self.assertEqual(r.aq_base, outer['item'].aq_base)
        self.assertEqual(container, r.aq_parent)
Exemplo n.º 6
0
    def test_no_acquire_dav(self):
        container = Container('container')

        outer = Folder('outer')
        outer._setOb('item', SimpleItem('item'))
        outer._setOb('container', container)

        request = DAVTestRequest(environ={
            'URL': 'http://site/test',
            'REQUEST_METHOD': 'PUT'
        })
        request.maybe_webdav_client = True

        traversal = DexterityPublishTraverse(container.__of__(outer), request)

        r = traversal.publishTraverse(request, 'item')

        self.assertTrue(isinstance(r, NullResource))
        self.assertEqual(container, r.aq_parent)
Exemplo n.º 7
0
 def fallbackTraverse(self, request, name):
     return DexterityPublishTraverse(
         self.context, request).publishTraverse(request, name)