Example #1
0
    def test_update_scan_state(self):
        scan_id = '123'
        scan = Scan(id=scan_id, state=scan_manager.ScanState.PENDING)

        scan_manager.update_scan_state(scan, scan_manager.ScanState.INVALID_REPO, self.mock_session)

        scan.state = scan_manager.ScanState.INVALID_REPO.name
        assert self.mock_session.add.called
        self.mock_session.add.assert_called_once_with(scan)
Example #2
0
    def test_update_scan_state(self):
        scan_id = '123'
        scan = Scan(id=scan_id, state=scan_manager.ScanState.PENDING)

        scan_manager.update_scan_state(scan,
                                       scan_manager.ScanState.INVALID_REPO,
                                       self.mock_session)

        scan.state = scan_manager.ScanState.INVALID_REPO.name
        assert self.mock_session.add.called
        self.mock_session.add.assert_called_once_with(scan)
Example #3
0
def add_scan(project_id: str, session: Session, lang=None, branch=None) -> Scan:
    """Adds a scan related to a project"""
    assert type(project_id) is str

    scan = Scan(project_id=project_id, lang=lang, branch=branch)
    session.add(scan)
    return scan
Example #4
0
def update_scan_state(scan: Scan, state: ScanState, session: Session) -> Scan:
    """Updates a scan state"""
    if scan.id is None:
        raise ValueError('Cant create scans')

    scan.state = state.name
    session.add(scan)
    return scan
Example #5
0
    def test_update_scan_state_cant_create_scans(self):
        # if a scan without id is passed to update_scan_satate it fails
        scan = Scan()
        with self.assertRaises(ValueError) as exc:
            scan_manager.update_scan_state(scan,
                                           scan_manager.ScanState.PENDING,
                                           self.mock_session)

        assert 'Cant create scans' in str(exc.exception)
Example #6
0
    def test_post_scan_with_lang(self, mock_add_scan, mock_celery, mock_session):
        url = url_for('scan.post_scan')

        mock_add_scan.return_value = Scan(id='123')

        with self.app.test_request_context(url):
            res = self.client.post(url, json={'project_id': '12', 'lang': 'nodejs'})
            self.assertEqual(res.status_code, 201)
            mock_add_scan.assert_called_once_with('12', mock.ANY, lang='nodejs', branch='master')
Example #7
0
    def test_post_scan(self, mock_add_scan, mock_celery, mock_session):
        scan_blueprint.ALLOWED_SCANS_PER_PERIOD = 0
        url = url_for('scan.post_scan')

        mock_add_scan.return_value = Scan(id='123')

        with self.app.test_request_context(url):
            res = self.client.post(url, json={'project_id': '12'})
            self.assertEqual(res.status_code, 201)
            mock_add_scan.assert_called_once_with('12', mock.ANY, lang=None, branch='master')