Exemple #1
0
 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()
Exemple #2
0
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
Exemple #3
0
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
Exemple #4
0
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
Exemple #5
0
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
Exemple #6
0
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")
Exemple #7
0
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
Exemple #8
0
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")
Exemple #9
0
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
Exemple #10
0
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
Exemple #11
0
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")
Exemple #12
0
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
Exemple #13
0
 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)
Exemple #14
0
 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)
Exemple #15
0
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