Beispiel #1
0
 def __init__(self):
     SampleContainer.__init__(self)
     subscribers = zope.event.subscribers[:]
     del zope.event.subscribers[:]
     self[u"_system"] = Keyring()
     self[u"_system"].rotate()
     zope.event.subscribers[:] = subscribers
Beispiel #2
0
    def makeObjects(self):
        checker = NamesChecker(['__getitem__'])
        defineChecker(SiteManagerStub, checker)
        self.futurama = futurama = SampleSite()
        directlyProvides(futurama, IContainmentRoot)
        planetexpress = SampleContainer()
        robotfactory = SampleContainer()
        nimbus = SampleContainer()
        omicronpersei = SampleSite()

        bender = SampleContent()
        fry = SampleContent()
        leela = SampleContent()
        mom = SampleContent()
        zapp = SampleContent()
        kif = SampleContent()

        setitem(futurama, futurama.__setitem__, 'planetexpress', planetexpress)
        setitem(futurama, futurama.__setitem__, 'robotfactory', robotfactory)
        setitem(futurama, futurama.__setitem__, 'nimbus', nimbus)
        setitem(futurama, futurama.__setitem__, 'omicronpersei', omicronpersei)

        setitem(planetexpress, planetexpress.__setitem__, 'bender', bender)
        setitem(planetexpress, planetexpress.__setitem__, 'fry', fry)
        setitem(planetexpress, planetexpress.__setitem__, 'leela', leela)
        setitem(robotfactory, robotfactory.__setitem__, 'mom', mom)
        setitem(nimbus, nimbus.__setitem__, 'zapp', zapp)
        setitem(nimbus, nimbus.__setitem__, 'kif', kif)
Beispiel #3
0
    def test_chooseName(self):
        container = SampleContainer()
        container['foo.old.rst'] = 'rst doc'
        nc = NameChooser(container)

        # correct name without changes
        self.assertEqual(nc.chooseName('foobar.rst', None), u'foobar.rst')
        self.assertEqual(nc.chooseName(u'\xe9', None), u'\xe9')

        # automatically modified named
        self.assertEqual(nc.chooseName('foo.old.rst', None), u'foo.old-2.rst')
        self.assertEqual(nc.chooseName('+@[email protected]', None),
                         u'foo.old-2.rst')
        self.assertEqual(nc.chooseName('+@+@foo/foo+@', None), u'foo-foo+@')

        # empty name
        self.assertEqual(nc.chooseName('', None), u'NoneType')
        self.assertEqual(nc.chooseName('@+@', []), u'list')

        # if the name is not a string it is converted
        self.assertEqual(nc.chooseName(None, None), u'None')
        self.assertEqual(nc.chooseName(2, None), u'2')
        self.assertEqual(nc.chooseName([], None), u'[]')
        container['None'] = 'something'
        self.assertEqual(nc.chooseName(None, None), u'None-2')
        container['None-2'] = 'something'
        self.assertEqual(nc.chooseName(None, None), u'None-3')

        # even if the given name cannot be converted to unicode
        class BadBoy:
            def __unicode__(self):
                raise Exception

        self.assertEqual(nc.chooseName(BadBoy(), set()), u'set')
Beispiel #4
0
def setUpCategory(test):
    placelesssetup.setUp(test)
    ztapi.provideAdapter(IAttributeAnnotatable, IAnnotations,
                         AttributeAnnotations)
    container = SampleContainer()
    test.globs = {'my_container': container}
    directlyProvides(container, IAttributeAnnotatable)
Beispiel #5
0
    def __init__(self, keyring_size=5):
        SampleContainer.__init__(self)

        if keyring_size < 1:
            keyring_size = 5  # prevent not having any keys

        self[u"_system"] = Keyring(keyring_size)
        self[u"_system"].fill()

        # to be used with anonymous users
        self[u'_anon'] = Keyring(keyring_size)
        self[u'_anon'].fill()

        # to be used with forms, plone.protect here..
        self[u'_forms'] = Keyring(keyring_size)
        self[u'_forms'].fill()
Beispiel #6
0
    def __init__(self, keyring_size=5):
        SampleContainer.__init__(self)

        if keyring_size < 1:
            keyring_size = 5  # prevent not having any keys

        self[u"_system"] = Keyring(keyring_size)
        self[u"_system"].fill()

        # to be used with anonymous users
        self[u'_anon'] = Keyring(keyring_size)
        self[u'_anon'].fill()

        # to be used with forms, plone.protect here..
        self[u'_forms'] = Keyring(keyring_size)
        self[u'_forms'].fill()
Beispiel #7
0
def setUpCategoryTests(test):
    testing.setUp(test)
    # Setup our adapter from category to rating api
    ztapi.provideAdapter(IAttributeAnnotatable, IAnnotations,
                         AttributeAnnotations)
    container = SampleContainer()
    directlyProvides(container, IAttributeAnnotatable)
    test.globs = {'my_container': container}
def setUpViewTests(test):
    setUp(test)
    # Setup our adapter from category to rating api
    ztapi.provideAdapter((IRatingCategory, Interface), IRatingManager,
                         RatingCategoryAdapter)
    ztapi.provideAdapter(IAttributeAnnotatable, IAnnotations,
                         AttributeAnnotations)
    container = SampleContainer()
    directlyProvides(container, IAttributeAnnotatable)
    test.globs = {'my_container': container}
Beispiel #9
0
 def buildFolders(self):
     root = self.rootFolder = SampleContainer()
     zope.interface.directlyProvides(root, IContainmentRoot)
     root[u'folder1'] = SampleContainer()
     root[u'folder1'][u'folder1_1'] = SampleContainer()
     root[u'folder1'][u'folder1_1'][u'folder1_1_1'] = SampleContainer()
     root[u'folder2'] = SampleContainer()
     root[u'folder2'][u'folder2_1'] = SampleContainer()
     root[u'folder2'][u'folder2_1'][u'folder2_1_1'] = SampleContainer()
Beispiel #10
0
    def test_checkName(self):
        container = SampleContainer()
        container['foo'] = 'bar'
        checkName = NameChooser(container).checkName

        # invalid type for the name
        self.assertRaises(TypeError, checkName, 2, object())
        self.assertRaises(TypeError, checkName, [], object())
        self.assertRaises(TypeError, checkName, None, object())
        self.assertRaises(TypeError, checkName, None, None)

        # invalid names
        self.assertRaises(ValueError, checkName, '+foo', object())
        self.assertRaises(ValueError, checkName, '@foo', object())
        self.assertRaises(ValueError, checkName, 'f/oo', object())
        self.assertRaises(ValueError, checkName, '', object())

        # existing names
        self.assertRaises(KeyError, checkName, 'foo', object())
        self.assertRaises(KeyError, checkName, u'foo', object())

        # correct names
        self.assertEqual(True, checkName('2', object()))
        self.assertEqual(True, checkName(u'2', object()))
        self.assertEqual(True, checkName('other', object()))
        self.assertEqual(True, checkName(u'reserved', object()))
        self.assertEqual(True, checkName(u'r\xe9served', object()))

        # reserved names
        class ReservedNames(object):
            zope.component.adapts(IContainer)
            zope.interface.implements(IReservedNames)

            def __init__(self, context):
                self.reservedNames = set(('reserved', 'other'))

        zope.component.getSiteManager().registerAdapter(ReservedNames)

        self.assertRaises(NameReserved, checkName, 'reserved', object())
        self.assertRaises(NameReserved, checkName, 'other', object())
        self.assertRaises(NameReserved, checkName, u'reserved', object())
        self.assertRaises(NameReserved, checkName, u'other', object())
Beispiel #11
0
 def makeTestObject(self):
     from zope.container.sample import SampleContainer
     return SampleContainer()