def test_scan_with_options(self, mock_run):
        """Setup second scan with scan and source options."""
        # setup source with paramiko option for scan
        source_options = SourceOptions()
        source_options.save()
        self.source = Source(name='source2',
                             port=22,
                             options=source_options,
                             hosts='["1.2.3.4"]')
        self.source.save()
        self.source.credentials.add(self.cred)

        # setup scan with options
        extended = ExtendedProductSearchOptions()
        extended.save()
        scan_options = ScanOptions(enabled_extended_product_search=extended)
        scan_options.save()

        self.scan_job, self.scan_task = create_scan_job(
            self.source,
            ScanTask.SCAN_TYPE_INSPECT,
            'scan2',
            scan_options=scan_options)

        # run scan
        scanner = InspectTaskRunner(self.scan_job, self.scan_task)

        scanner.connect_scan_task = self.connect_scan_task
        scanner._inspect_scan(self.host_list)
        mock_run.assert_called_with(ANY)
 def test_pause_inspect(self):
     """Test pause of inspect."""
     scanner = InspectTaskRunner(self.scan_job, self.scan_task)
     with self.assertRaises(NetworkPauseException):
         scanner.connect_scan_task = self.connect_scan_task
         scanner._inspect_scan(Value('i', ScanJob.JOB_TERMINATE_PAUSE),
                               self.host_list)
 def test_cancel_inspect(self):
     """Test cancel of inspect."""
     scanner = InspectTaskRunner(self.scan_job, self.scan_task)
     with self.assertRaises(NetworkCancelException):
         scanner.connect_scan_task = self.connect_scan_task
         scanner._inspect_scan(Value('i', ScanJob.JOB_TERMINATE_CANCEL),
                               self.host_list)
 def test_inspect_scan_failure(self, mock_run):
     """Test scan flow with mocked manager and failure."""
     mock_run.side_effect = AnsibleRunnerException()
     scanner = InspectTaskRunner(self.scan_job, self.scan_task)
     scanner.connect_scan_task = self.connect_scan_task
     with self.assertRaises(AnsibleRunnerException):
         scanner._inspect_scan(Value('i', ScanJob.JOB_RUN), self.host_list)
         mock_run.assert_called()
Exemple #5
0
    def test_inspect_scan_failure(self, mock_run):
        """Test scan flow with mocked manager and failure."""
        scanner = InspectTaskRunner(self.scan_job, self.scan_task)

        # Init for unit test as run is not called
        scanner.connect_scan_task = self.connect_scan_task
        with self.assertRaises(AnsibleError):
            scanner._inspect_scan(self.host_list)
            mock_run.assert_called()
 def test_modifying_log_level(self, mock_run):
     """Test modifying the log level."""
     mock_run.return_value.status = 'successful'
     scanner = InspectTaskRunner(self.scan_job, self.scan_task)
     scanner._inspect_scan(Value('i', ScanJob.JOB_RUN), self.host_list)
     mock_run.assert_called()
     calls = mock_run.mock_calls
     # Check to see if the parameter was passed into the runner.run()
     self.assertIn('verbosity=1', str(calls[0]))
 def test_ssh_hang(self):
     """Simulate an ssh hang."""
     scanner = InspectTaskRunner(self.scan_job, self.scan_task)
     path = os.path.abspath(
         os.path.join(os.path.dirname(__file__), 'test_util/hang.py'))
     scanner._inspect_scan(Value('i', ScanJob.JOB_RUN),
                           self.host_list,
                           base_ssh_executable=path,
                           ssh_timeout='0.1s')
Exemple #8
0
 def test_ssh_hang(self):
     """Simulate an ssh hang."""
     scanner = InspectTaskRunner(self.scan_job, self.scan_task)
     path = os.path.abspath(
         os.path.join(os.path.dirname(__file__),
                      '../../../test_util/hang.py'))
     scanner._inspect_scan(self.host_list,
                           roles=['redhat_release'],
                           base_ssh_executable=path,
                           ssh_timeout='0.1s')
Exemple #9
0
 def test_ssh_crash(self):
     """Simulate an ssh crash."""
     scanner = InspectTaskRunner(self.scan_job, self.scan_task)
     path = os.path.abspath(
         os.path.join(os.path.dirname(__file__),
                      '../../../test_util/crash.py'))
     _, result = scanner._inspect_scan(self.host_list,
                                       base_ssh_executable=path)
     self.assertEqual(result, ScanTask.FAILED)