示例#1
0
 def update(self,
            changed_workflows,
            reindex_security=True,
            savepoints=None):
     types = self.get_suspected_types(changed_workflows)
     objects = SavepointIterator.build(self.lookup_objects(types),
                                       savepoints)
     for obj in objects:
         if self.obj_has_workflow(obj, changed_workflows):
             update_security_for(obj, reindex_security=reindex_security)
示例#2
0
文件: step.py 项目: erral/ftw.upgrade
    def objects(self, catalog_query, message, logger=None, savepoints=None):
        """Queries the catalog (unrestricted) and an iterator with full
        objects.
        The iterator configures and calls a ``ProgressLogger`` with the
        passed ``message``.
        """

        objects = self.catalog_unrestricted_search(catalog_query,
                                                   full_objects=True)

        objects = SavepointIterator.build(objects, savepoints, logger)
        return ProgressLogger(message, objects, logger=logger)
示例#3
0
    def objects(self, catalog_query, message, logger=None,
                savepoints=None):
        """Queries the catalog (unrestricted) and an iterator with full
        objects.
        The iterator configures and calls a ``ProgressLogger`` with the
        passed ``message``.
        """

        objects = self.catalog_unrestricted_search(
            catalog_query, full_objects=True)

        objects = SavepointIterator.build(objects, savepoints, logger)
        return ProgressLogger(message, objects, logger=logger)
    def test_creates_savepoints(self):
        self.assertEqual(
            0, self.txn._savepoint_index,
            'A new transaction should not have any savepoints yet')

        iterator = SavepointIterator.build(self.iterable, threshold=5)

        # Consume entire iterator
        result = list(iterator)

        self.assertEqual(self.iterable, result,
                         'Iterator should yield every item of `iterable`')

        self.assertEqual(1, self.txn._savepoint_index,
                         'One savepoint should have been created')
    def test_doesnt_create_savepoints_with_threshold_0(self):
        self.assertEqual(
            0, self.txn._savepoint_index,
            'A new transaction should not have any savepoints yet')

        iterator = SavepointIterator.build(self.iterable, threshold=0)

        # Consume entire iterator
        result = list(iterator)

        self.assertEqual(self.iterable, result,
                         'Iterator should yield every item of `iterable`')

        self.assertEqual(0, self.txn._savepoint_index,
                         'threshold=0 should never create any savepoints')
    def test_doesnt_create_savepoints_with_threshold_0(self):
        self.assertEquals(
            0, self.txn._savepoint_index,
            'A new transaction should not have any savepoints yet')

        iterator = SavepointIterator.build(self.iterable, threshold=0)

        # Consume entire iterator
        result = list(iterator)

        self.assertEquals(
            self.iterable, result,
            'Iterator should yield every item of `iterable`')

        self.assertEquals(
            0, self.txn._savepoint_index,
            'threshold=0 should never create any savepoints')
    def test_creates_savepoints(self):
        self.assertEquals(
            0, self.txn._savepoint_index,
            'A new transaction should not have any savepoints yet')

        iterator = SavepointIterator.build(self.iterable, threshold=5)

        # Consume entire iterator
        result = list(iterator)

        self.assertEquals(
            self.iterable, result,
            'Iterator should yield every item of `iterable`')

        self.assertEquals(
            1, self.txn._savepoint_index,
            'One savepoint should have been created')
 def test_invalid_default_thresold_configuration(self):
     os.environ['UPGRADE_SAVEPOINT_THRESHOLD'] = 'foo'
     with self.assertRaises(ValueError) as cm:
         SavepointIterator.get_default_threshold()
     self.assertEqual("Invalid savepoint threshold 'foo'",
                      str(cm.exception))
 def test_disable_default_threshold_with_environ_variable(self):
     os.environ['UPGRADE_SAVEPOINT_THRESHOLD'] = 'None'
     self.assertIsNone(SavepointIterator.get_default_threshold())
     os.environ['UPGRADE_SAVEPOINT_THRESHOLD'] = 'none'
     self.assertIsNone(SavepointIterator.get_default_threshold())
 def test_configure_default_threshold_with_environ_variable(self):
     os.environ['UPGRADE_SAVEPOINT_THRESHOLD'] = '333'
     self.assertEqual(333, SavepointIterator.get_default_threshold())
 def test_default_threshold_is_1000(self):
     # 1000 is the application default.
     self.assertEqual(1000, SavepointIterator.get_default_threshold())
    def test_instanciating_iterator_with_nonzero_threshold_raises(self):
        with self.assertRaises(ValueError):
            SavepointIterator(self.iterable, threshold=0)

        with self.assertRaises(ValueError):
            SavepointIterator(self.iterable, threshold=None)
示例#13
0
 def update(self, changed_workflows, reindex_security=True, savepoints=None):
     types = self.get_suspected_types(changed_workflows)
     objects = SavepointIterator.build(self.lookup_objects(types), savepoints)
     for obj in objects:
         if self.obj_has_workflow(obj, changed_workflows):
             update_security_for(obj, reindex_security=reindex_security)
 def test_invalid_default_thresold_configuration(self):
     os.environ['UPGRADE_SAVEPOINT_THRESHOLD'] = 'foo'
     with self.assertRaises(ValueError) as cm:
         SavepointIterator.get_default_threshold()
     self.assertEquals("Invalid savepoint threshold 'foo'", str(cm.exception))
 def test_disable_default_threshold_with_environ_variable(self):
     os.environ['UPGRADE_SAVEPOINT_THRESHOLD'] = 'None'
     self.assertIsNone(SavepointIterator.get_default_threshold())
     os.environ['UPGRADE_SAVEPOINT_THRESHOLD'] = 'none'
     self.assertIsNone(SavepointIterator.get_default_threshold())
 def test_configure_default_threshold_with_environ_variable(self):
     os.environ['UPGRADE_SAVEPOINT_THRESHOLD'] = '333'
     self.assertEquals(333, SavepointIterator.get_default_threshold())
 def test_default_threshold_is_1000(self):
     # 1000 is the application default.
     self.assertEquals(1000, SavepointIterator.get_default_threshold())