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