Example #1
0
    def _test_delete_row(self, by_row=False, by_row_id=False, dry_flush=False):
        db.create_pending_row(self.db_session, *self.UPDATE_ROW)
        db.create_pending_row(self.db_session, *self.UPDATE_ROW)

        rows = db.get_all_db_rows(self.db_session)
        self.assertEqual(len(rows), 2)
        row = rows[-1]

        params = {'flush': not dry_flush}
        if by_row:
            params['row'] = row
        elif by_row_id:
            params['row_id'] = row.seqnum

        mock_flush = None
        if dry_flush:
            patch_flush = mock.patch.object(self.db_session,
                                            'flush',
                                            side_effect=self.db_session.flush)
            mock_flush = patch_flush.start()

        try:
            db.delete_row(self.db_session, **params)
        finally:
            if dry_flush:
                patch_flush.stop()
                self.db_session.flush()

        rows = db.get_all_db_rows(self.db_session)
        self.assertEqual(len(rows), 1)
        self.assertNotEqual(row.seqnum, rows[0].seqnum)

        return mock_flush
Example #2
0
    def _test_delete_row(self, by_row=False, by_row_id=False, dry_flush=False):
        db.create_pending_row(self.db_context, *self.UPDATE_ROW)
        db.create_pending_row(self.db_context, *self.UPDATE_ROW)

        rows = db.get_all_db_rows(self.db_context)
        self.assertEqual(len(rows), 2)
        row = rows[-1]

        params = {'flush': not dry_flush}
        if by_row:
            params['row'] = row
        elif by_row_id:
            params['row_id'] = row.seqnum

        mock_flush = None
        if dry_flush:
            patch_flush = mock.patch.object(
                self.db_context.session, 'flush',
                side_effect=self.db_context.session.flush
            )
            mock_flush = patch_flush.start()

        try:
            db.delete_row(self.db_context, **params)
        finally:
            if dry_flush:
                patch_flush.stop()
                self.db_context.session.flush()

        rows = db.get_all_db_rows(self.db_context)
        self.assertEqual(len(rows), 1)
        self.assertNotEqual(row.seqnum, rows[0].seqnum)

        return mock_flush
Example #3
0
def entry_complete(context, entry):
    session = context.session
    with db_api.autonested_transaction(session):
        if cfg.CONF.ml2_odl.completed_rows_retention == 0:
            db.delete_row(session, entry)
        else:
            db.update_db_row_state(session, entry, odl_const.COMPLETED)
            db.delete_dependency(session, entry)
 def _db_cleanup(self):
     rows = db.get_all_db_rows(self.db_session)
     for row in rows:
         db.delete_row(self.db_session, row=row)
 def _db_cleanup(self):
     rows = db.get_all_db_rows(self.db_session)
     for row in rows:
         db.delete_row(self.db_session, row=row)
Example #6
0
def entry_complete(context, entry):
    if cfg.CONF.ml2_odl.completed_rows_retention == 0:
        db.delete_row(context, entry)
    else:
        db.update_db_row_state(context, entry, odl_const.COMPLETED)
        db.delete_dependency(context, entry)
Example #7
0
def entry_complete(context, entry):
    if cfg.CONF.ml2_odl.completed_rows_retention == 0:
        db.delete_row(context, entry)
    else:
        db.update_db_row_state(context, entry, odl_const.COMPLETED)
        db.delete_dependency(context, entry)