Code Duplication    Length = 42-57 lines in 2 locations

tests/test_scan_and_result.py 2 locations

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