def setUp(self): self.generator = IdGeneratorBase() self.generator.docid_to_uuid = self.generator.family.IO.BTree() self.family = self.generator.family from zope.configuration import xmlconfig import plone.uuid # register adapter: c = xmlconfig.file( # noqa 'configure.zcml', plone.uuid, context=self.layer['configurationContext'], )
class IdGeneratorTests(unittest.TestCase): layer = RETRIEVAL_APP_TESTING def setUp(self): self.generator = IdGeneratorBase() self.generator.docid_to_uuid = self.generator.family.IO.BTree() self.family = self.generator.family from zope.configuration import xmlconfig import plone.uuid # register adapter: c = xmlconfig.file( # noqa 'configure.zcml', plone.uuid, context=self.layer['configurationContext'], ) def test_idgen_range(self): toobig = self.family.maxint + 1 self._v_nextid = toobig v = self.generator.new_docid() assert v <= self.family.maxint assert v >= self.family.minint def _mock_item(self): # need mock object that provides IAttributeUUID from uu.retrieval.tests.test_result import MockItem from zope.event import notify from zope.lifecycleevent import ObjectCreatedEvent item = MockItem() notify(ObjectCreatedEvent(item)) return item def test_uuid_creation(self): uid = self.generator.new_uuid() assert len(uid) == 36 item = self._mock_item() assert IUUID(item, None) is not None # has a UUID normalized = normalize_uuid(IUUID(item, None)) assert self.generator.new_uuid(item) == normalized def test_uuid_creation_with_createfn(self): createfn1 = lambda: uuid.uuid4() createfn2 = lambda o: uuid.uuid3(uuid.NAMESPACE_DNS, repr(o)) item = self._mock_item() self.assertIsInstance(self.generator.new_uuid(item, createfn2), str) self.assertIsInstance(self.generator.new_uuid(createfn1), str)