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()