def test_get_scan(self): scan_id = "scan_id" Scan.get_scan(scan_id, self.user_id, self.session) self.session.query.assert_called_once_with(Scan) m_filter = self.session.query(Scan).filter m_filter.assert_called_once() m_filter().one.assert_called_once()
def scan_flush(scan_id): try: log.info("scan %s: flush requested", scan_id) with session_transaction() as session: user = User.get_by_rmqvhost(session) scan = Scan.get_scan(scan_id, user.id, session) scan_ctrl.flush(scan, session) except Exception as e: log.exception(e) return
def new(frontend_scan_id, user, session): try: scan = Scan.get_scan(frontend_scan_id, user.id, session) except IrmaDatabaseResultNotFound: scan = Scan(frontend_scan_id, user.id) session.add(scan) session.commit() log.debug("scanid %s: user_id %s id %s", frontend_scan_id, user.id, scan.id) return scan
def scan_flush(frontend_scan_id): try: log.info("scan_id %s: scan flush requested", frontend_scan_id) with session_transaction() as session: user = User.get_by_rmqvhost(session) scan = Scan.get_scan(frontend_scan_id, user.id, session) scan_ctrl.flush(scan, session) except Exception as e: log.exception(e) return
def scan_flush(scan_id): try: log.info("scan %s: flush requested", scan_id) with session_transaction() as session: user = User.get_by_rmqvhost(session) scan = Scan.get_scan(scan_id, user.id, session) scan_ctrl.flush(scan, session) except Exception as e: log.exception(type(e).__name__ + " : " + str(e)) return
def scan_cancel(frontend_scan_id): try: with session_transaction() as session: user = User.get_by_rmqvhost(session) scan = Scan.get_scan(frontend_scan_id, user.id, session) res = scan_ctrl.cancel(scan, session) return IrmaTaskReturn.success(res) except Exception as e: log.exception(e) return IrmaTaskReturn.error("cancel error on brain")
def files_flush(files, scan_id): try: with session_transaction() as session: user = User.get_by_rmqvhost(session) scan = Scan.get_scan(scan_id, user.id, session) ftpuser = scan.user.ftpuser log.debug("Flushing files %s", files) ftp_ctrl.flush(ftpuser, files) except Exception as e: log.exception(e) return
def files_flush(files, scan_id): try: with session_transaction() as session: user = User.get_by_rmqvhost(session) scan = Scan.get_scan(scan_id, user.id, session) ftpuser = scan.user.ftpuser log.debug("Flushing files %s", files) ftp_ctrl.flush(ftpuser, files) except Exception as e: log.exception(type(e).__name__ + " : " + str(e)) return
def scan_cancel(scan_id): try: log.info("scan %s: cancel", scan_id) with session_transaction() as session: user = User.get_by_rmqvhost(session) scan = Scan.get_scan(scan_id, user.id, session) res = scan_ctrl.cancel(scan, session) return IrmaTaskReturn.success(res) except Exception as e: log.exception(type(e).__name__ + " : " + str(e)) return IrmaTaskReturn.error("cancel error on brain")
def new(frontend_scan_id, user, nb_files, session): try: scan = Scan.get_scan(frontend_scan_id, user.id, session) scan.nb_files += nb_files scan.update(['nb_files'], session) except IrmaDatabaseResultNotFound: scan = Scan(frontend_scan_id, user.id, nb_files) scan.save(session) session.commit() log.debug("scanid %s: user_id %s nb_files %s id %s", frontend_scan_id, user.id, nb_files, scan.id) return scan
def test_get_scan_multiple_found(self): self.session.query.side_effect = MultipleResultsFound with self.assertRaises(IrmaDatabaseError): Scan.get_scan("whatever", self.user_id, self.session)
def test_get_scan_not_found(self): self.session.query.side_effect = NoResultFound with self.assertRaises(IrmaDatabaseResultNotFound): Scan.get_scan("whatever", self.user_id, self.session)
def get_scan_id(frontend_scan_id, user_id): with session_query() as session: scan = Scan.get_scan(frontend_scan_id, user_id, session) return scan.id