Exemplo n.º 1
0
def test_folder__List__7(address_book, KeywordFactory, FolderFactory, browser,
                         UserFactory):
    """Read rights are not inherited to sub folders but from parents.

    The latter is needed so the user can navigate to the folder he is allowed
    to read.
    """
    kw_foo = KeywordFactory(address_book, u'foo')
    kw_bar = KeywordFactory(address_book, u'bar')
    UserFactory(address_book,
                u'Valter',
                u'Vimladil',
                u'*****@*****.**',
                u'1qay2wsx',
                roles=[u'Document user'],
                keywords=[kw_foo])
    UserFactory(address_book,
                u'Ben',
                u'Utzer',
                u'*****@*****.**',
                u'1qay2wsx',
                roles=[u'Document user'],
                keywords=[kw_bar])
    foo = FolderFactory(address_book, u'foo folder', read_only=[kw_foo])
    sub = FolderFactory(address_book,
                        u'sub folder',
                        parent=foo,
                        read_only=[kw_foo])
    FolderFactory(address_book, u'sub folder2', parent=foo, read_only=[kw_foo])
    FolderFactory(address_book,
                  u'sub sub2 folder',
                  parent=sub,
                  read_only=[kw_bar])

    # Read rights are not inherited to sub folders:
    browser.formlogin('*****@*****.**', '1qay2wsx')
    browser.open(browser.DOCUMENTS_OVERVIEW_URL)
    browser.getLink('foo folder').click()
    assert browser.FOLDER_IN_ROOT_VIEW_URL == browser.url
    assert 'sub folder2' in browser.contents
    browser.getLink('sub folder').click()
    assert 'sub sub2 folder' not in browser.contents

    browser.logout()
    # But a read right in a subfolder allows to access its parent folders.
    browser.formlogin('*****@*****.**', '1qay2wsx')
    browser.open(browser.DOCUMENTS_OVERVIEW_URL)
    browser.getLink('foo folder').click()
    assert browser.FOLDER_IN_ROOT_VIEW_URL == browser.url
    assert 'sub folder2' not in browser.contents
    browser.getLink('sub folder').click()
    assert 'sub sub2 folder' in browser.contents
Exemplo n.º 2
0
def test_folder__List__4(address_book, KeywordFactory, FolderFactory, browser,
                         UserFactory):
    """It shows folders where the user has a keyword of folder's r/w list."""
    kw_foo = KeywordFactory(address_book, u'foo')
    UserFactory(address_book,
                u'Valter',
                u'Vimladil',
                u'*****@*****.**',
                u'1qay2wsx',
                roles=[u'Document user'],
                keywords=[kw_foo])
    FolderFactory(address_book, u'foo docs', read_write=[kw_foo])
    browser.formlogin('*****@*****.**', '1qay2wsx')
    browser.open(browser.DOCUMENTS_OVERVIEW_URL)
    assert browser.FOLDER_IN_ROOT_VIEW_URL == browser.getLink('foo docs').url
Exemplo n.º 3
0
def test_folder__List__8(folders_and_users, browser):  # pragma: no cover
    """Read/write rights in a sub folder result in read rights in the parent.

    Read/Write rights are not inherited to sub folders.
    """
    # address_book = folders_and_users
    browser.formlogin('*****@*****.**', 'password')
    browser.open(browser.DOCUMENTS_OVERVIEW_URL)
    # The prerequisites for this test are not yet implemented :-(
    # That's why the test is marked as xfail and "pragma: no cover".
    browser.getLink('Top 1').click()
    browser.getLink('Sub 2').click()
    browser.getLink('Sub 2').click()
    browser.getLink('Sub 3').click()
    open('response.html', 'w').write(browser.contents)

    assert False, 'nyi'
Exemplo n.º 4
0
def test_folder__List__2(address_book, KeywordFactory, DocumentFactory,
                         FolderFactory, UserFactory, browser):
    """It does not show content objects if the user does not have the ...

    ... required keywords.
    """
    kw_foo = KeywordFactory(address_book, u'foo')
    UserFactory(address_book,
                u'Valter',
                u'Vimladil',
                u'*****@*****.**',
                u'1qay2wsx',
                roles=[u'Document user'])
    FolderFactory(address_book, u'foo docs', read_only=[kw_foo])
    DocumentFactory(address_book, u'bar', u'bar.txt')

    browser.formlogin('*****@*****.**', '1qay2wsx')
    browser.open(browser.DOCUMENTS_OVERVIEW_URL)
    assert 'This folder is (currently) empty.' in browser.contents
Exemplo n.º 5
0
def test_folder__List__6(address_book, KeywordFactory, FolderFactory, browser,
                         UserFactory):
    """It does not show folders where the user has no access."""
    kw_foo = KeywordFactory(address_book, u'foo')
    kw_bar = KeywordFactory(address_book, u'bar')
    kw_baz = KeywordFactory(address_book, u'baz')
    UserFactory(address_book,
                u'Valter',
                u'Vimladil',
                u'*****@*****.**',
                u'1qay2wsx',
                roles=[u'Document user'],
                keywords=[kw_foo])
    FolderFactory(address_book,
                  u'foo docs',
                  read_only=[kw_baz],
                  read_write=[kw_bar])
    browser.formlogin('*****@*****.**', '1qay2wsx')
    browser.open(browser.DOCUMENTS_OVERVIEW_URL)
    with pytest.raises(zope.testbrowser.browser.LinkNotFoundError):
        browser.getLink('foo docs')
Exemplo n.º 6
0
def test_folder__List__1(address_book, UserFactory, browser):
    """It cannot be accessed without the `Document user` role."""
    UserFactory(address_book,
                u'Valter',
                u'Vimladil',
                u'*****@*****.**',
                u'1qay2wsx',
                roles=[])

    browser.formlogin('*****@*****.**', '1qay2wsx')
    assert [
        'Master data',
        'About',
    ] == browser.etree.xpath(
        '//div[@class="menuToggle main-menu"]/ul/li/a/span/text()')

    with pytest.raises(zope.testbrowser.browser.HTTPError) as err:
        browser.open(browser.DOCUMENTS_OVERVIEW_URL)
    assert 'HTTP Error 403: Forbidden' == str(err.value)

    assert 'You are not authorized.' in browser.contents