Code Duplication    Length = 42-57 lines in 2 locations

tests/test_scan_and_result.py 2 locations

@@ 782-838 (lines=57) @@
779
        time.sleep(0.01)
780
        self.assertEqual(daemon.get_scan_vts(scan_id), {})
781
782
    def test_scan_with_vts_and_param(self):
783
        daemon = DummyWrapper([])
784
785
        # Raise because no vt_param id attribute
786
        cmd = secET.fromstring(
787
            '<start_scan '
788
            'target="localhost" ports="80, 443">'
789
            '<scanner_params /><vt_selection><vt_si'
790
            'ngle id="1234"><vt_value>200</vt_value>'
791
            '</vt_single></vt_selection></start_scan>'
792
        )
793
794
        with self.assertRaises(OspdCommandError):
795
            daemon.handle_start_scan_command(cmd)
796
797
        # No error
798
        response = secET.fromstring(
799
            daemon.handle_command(
800
                '<start_scan '
801
                'target="localhost" ports="80, 443">'
802
                '<scanner_params /><vt_selection><vt'
803
                '_single id="1234"><vt_value id="ABC">200'
804
                '</vt_value></vt_single></vt_selection>'
805
                '</start_scan>'
806
            )
807
        )
808
        scan_id = response.findtext('id')
809
        time.sleep(0.01)
810
        self.assertEqual(
811
            daemon.get_scan_vts(scan_id),
812
            {'1234': {'ABC': '200'}, 'vt_groups': []},
813
        )
814
815
        # Raise because no vtgroup filter attribute
816
        cmd = secET.fromstring(
817
            '<start_scan '
818
            'target="localhost" ports="80, 443">'
819
            '<scanner_params /><vt_selection><vt_group/>'
820
            '</vt_selection></start_scan>'
821
        )
822
        self.assertRaises(
823
            OspdCommandError, daemon.handle_start_scan_command, cmd
824
        )
825
826
        # No error
827
        response = secET.fromstring(
828
            daemon.handle_command(
829
                '<start_scan '
830
                'target="localhost" ports="80, 443">'
831
                '<scanner_params /><vt_selection>'
832
                '<vt_group filter="a"/>'
833
                '</vt_selection></start_scan>'
834
            )
835
        )
836
        scan_id = response.findtext('id')
837
        time.sleep(0.01)
838
        self.assertEqual(daemon.get_scan_vts(scan_id), {'vt_groups': ['a']})
839
840
    def test_billon_laughs(self):
841
        # pylint: disable=line-too-long
@@ 739-780 (lines=42) @@
736
            OspdCommandError, daemon.handle_stop_scan_command, cmd
737
        )
738
739
    def test_scan_with_vts(self):
740
        daemon = DummyWrapper([])
741
        cmd = secET.fromstring(
742
            '<start_scan '
743
            'target="localhost" ports="80, 443">'
744
            '<scanner_params /><vt_selection />'
745
            '</start_scan>'
746
        )
747
748
        with self.assertRaises(OspdCommandError):
749
            daemon.handle_start_scan_command(cmd)
750
751
        # With one vt, without params
752
        response = secET.fromstring(
753
            daemon.handle_command(
754
                '<start_scan '
755
                'target="localhost" ports="80, 443">'
756
                '<scanner_params /><vt_selection>'
757
                '<vt_single id="1.2.3.4" />'
758
                '</vt_selection></start_scan>'
759
            )
760
        )
761
        scan_id = response.findtext('id')
762
        time.sleep(0.01)
763
764
        self.assertEqual(
765
            daemon.get_scan_vts(scan_id), {'1.2.3.4': {}, 'vt_groups': []}
766
        )
767
        self.assertNotEqual(daemon.get_scan_vts(scan_id), {'1.2.3.6': {}})
768
769
        # With out vtS
770
        response = secET.fromstring(
771
            daemon.handle_command(
772
                '<start_scan '
773
                'target="localhost" ports="80, 443">'
774
                '<scanner_params /></start_scan>'
775
            )
776
        )
777
778
        scan_id = response.findtext('id')
779
        time.sleep(0.01)
780
        self.assertEqual(daemon.get_scan_vts(scan_id), {})
781
782
    def test_scan_with_vts_and_param(self):
783
        daemon = DummyWrapper([])