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
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)
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')
def setUpCategory(test): placelesssetup.setUp(test) ztapi.provideAdapter(IAttributeAnnotatable, IAnnotations, AttributeAnnotations) container = SampleContainer() test.globs = {'my_container': container} directlyProvides(container, IAttributeAnnotatable)
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()
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}
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()
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())
def makeTestObject(self): from zope.container.sample import SampleContainer return SampleContainer()