Code Duplication    Length = 42-57 lines in 2 locations

tests/test_scan_and_result.py 2 locations

@@ 741-797 (lines=57) @@
738
        time.sleep(0.01)
739
        self.assertEqual(daemon.get_scan_vts(scan_id), {})
740
741
    def test_scan_with_vts_and_param(self):
742
        daemon = DummyWrapper([])
743
744
        # Raise because no vt_param id attribute
745
        cmd = secET.fromstring(
746
            '<start_scan '
747
            'target="localhost" ports="80, 443">'
748
            '<scanner_params /><vt_selection><vt_si'
749
            'ngle id="1234"><vt_value>200</vt_value>'
750
            '</vt_single></vt_selection></start_scan>'
751
        )
752
753
        with self.assertRaises(OspdCommandError):
754
            daemon.handle_start_scan_command(cmd)
755
756
        # No error
757
        response = secET.fromstring(
758
            daemon.handle_command(
759
                '<start_scan '
760
                'target="localhost" ports="80, 443">'
761
                '<scanner_params /><vt_selection><vt'
762
                '_single id="1234"><vt_value id="ABC">200'
763
                '</vt_value></vt_single></vt_selection>'
764
                '</start_scan>'
765
            )
766
        )
767
        scan_id = response.findtext('id')
768
        time.sleep(0.01)
769
        self.assertEqual(
770
            daemon.get_scan_vts(scan_id),
771
            {'1234': {'ABC': '200'}, 'vt_groups': []},
772
        )
773
774
        # Raise because no vtgroup filter attribute
775
        cmd = secET.fromstring(
776
            '<start_scan '
777
            'target="localhost" ports="80, 443">'
778
            '<scanner_params /><vt_selection><vt_group/>'
779
            '</vt_selection></start_scan>'
780
        )
781
        self.assertRaises(
782
            OspdCommandError, daemon.handle_start_scan_command, cmd
783
        )
784
785
        # No error
786
        response = secET.fromstring(
787
            daemon.handle_command(
788
                '<start_scan '
789
                'target="localhost" ports="80, 443">'
790
                '<scanner_params /><vt_selection>'
791
                '<vt_group filter="a"/>'
792
                '</vt_selection></start_scan>'
793
            )
794
        )
795
        scan_id = response.findtext('id')
796
        time.sleep(0.01)
797
        self.assertEqual(daemon.get_scan_vts(scan_id), {'vt_groups': ['a']})
798
799
    def test_billon_laughs(self):
800
        # pylint: disable=line-too-long
@@ 698-739 (lines=42) @@
695
            OspdCommandError, daemon.handle_stop_scan_command, cmd
696
        )
697
698
    def test_scan_with_vts(self):
699
        daemon = DummyWrapper([])
700
        cmd = secET.fromstring(
701
            '<start_scan '
702
            'target="localhost" ports="80, 443">'
703
            '<scanner_params /><vt_selection />'
704
            '</start_scan>'
705
        )
706
707
        with self.assertRaises(OspdCommandError):
708
            daemon.handle_start_scan_command(cmd)
709
710
        # With one vt, without params
711
        response = secET.fromstring(
712
            daemon.handle_command(
713
                '<start_scan '
714
                'target="localhost" ports="80, 443">'
715
                '<scanner_params /><vt_selection>'
716
                '<vt_single id="1.2.3.4" />'
717
                '</vt_selection></start_scan>'
718
            )
719
        )
720
        scan_id = response.findtext('id')
721
        time.sleep(0.01)
722
723
        self.assertEqual(
724
            daemon.get_scan_vts(scan_id), {'1.2.3.4': {}, 'vt_groups': []}
725
        )
726
        self.assertNotEqual(daemon.get_scan_vts(scan_id), {'1.2.3.6': {}})
727
728
        # With out vtS
729
        response = secET.fromstring(
730
            daemon.handle_command(
731
                '<start_scan '
732
                'target="localhost" ports="80, 443">'
733
                '<scanner_params /></start_scan>'
734
            )
735
        )
736
737
        scan_id = response.findtext('id')
738
        time.sleep(0.01)
739
        self.assertEqual(daemon.get_scan_vts(scan_id), {})
740
741
    def test_scan_with_vts_and_param(self):
742
        daemon = DummyWrapper([])