def testTransform(self): storage = AnnotationStorage() query = {} actions = ({'fieldName' : 'text', 'storage' : storage, 'transform' : makeUpper },) self.execute(query, actions) self.assertEqual(storage.get('text', self.folder['d1']).getRaw(), 'BODY ONE') self.assertEqual(storage.get('text', self.folder['d2']).getRaw(), 'BODY TWO')
def testAbortObject(self): storage = AnnotationStorage() query = {} actions = ({'fieldName' : 'text', 'transform' : makeUpper, 'storage' : storage, },) self.execute(query, actions, conditionallyAbortObject) self.assertEqual(storage.get('text', self.folder['d1']).getRaw(), 'Body one') self.assertEqual(storage.get('text', self.folder['d2']).getRaw(), 'BODY TWO')
def testUnsetAttributeWithCustomQuery(self): storage = AnnotationStorage() query = {'getId' : 'd1'} actions = ({'fieldName' : 'text', 'unset' : True, 'storage' : storage, },) self.execute(query, actions) self.assertEqual(storage.get('text', self.folder['d2']).getRaw(), 'Body two') with self.assertRaises(AttributeError): storage.get('text', self.folder['d1'])
def testAttributeRenaming(self): storage = AnnotationStorage() query = {} actions = ({'fieldName' : 'text', 'newFieldName' : 'bodyText', 'storage' : storage },) self.execute(query, actions) self.assertEqual(storage.get('bodyText', self.folder['d1']).getRaw(), 'Body one') self.assertEqual(storage.get('bodyText', self.folder['d2']).getRaw(), 'Body two') self.assertRaises(AttributeError, storage.get, 'text', self.folder['d1'])
def testCallAfterAttribute(self): storage = AnnotationStorage() lst = [] query = {} actions = ({'fieldName' : 'text', 'transform' : makeUpper, 'storage' : storage, 'callAfter' : callAfterAttribute },) self.execute(query, actions, lst = lst) lst.sort() self.assertEqual(lst, ['d1: text = BODY ONE', 'd2: text = BODY TWO'])
def testNewStorageAndAttribute(self): storage = AnnotationStorage() newStorage = AttributeStorage() query = {} actions = ({'fieldName' : 'text', 'newFieldName' : 'bodyText', 'storage' : storage, 'newStorage' : newStorage },) self.execute(query, actions) self.assertEqual(getattr(self.folder['d1'], 'bodyText').getRaw(), 'Body one') self.assertEqual(getattr(self.folder['d2'], 'bodyText').getRaw(), 'Body two') self.assertRaises(AttributeError, storage.get, 'text', self.folder['d1'])
def testNewStorageOnly(self): storage = AnnotationStorage() newStorage = AttributeStorage() query = {} actions = ({'fieldName' : 'text', 'storage' : storage, 'newStorage' : newStorage },) self.execute(query, actions) self.assertEqual(getattr(self.folder['d1'], 'text').getRaw(), 'Body one') self.assertEqual(getattr(self.folder['d2'], 'text').getRaw(), 'Body two') try: storage.get('text', self.folder['d1']) except AttributeError: pass else: self.fail()