Code Duplication    Length = 29-42 lines in 2 locations

tests/testScanAndResult.py 2 locations

@@ 574-615 (lines=42) @@
571
        time.sleep(0.01)
572
        self.assertEqual(daemon.get_scan_vts(scan_id), {})
573
574
    def testScanWithVTs_and_param(self):
575
        daemon = DummyWrapper([])
576
577
        # Raise because no vt_param id attribute
578
        cmd = secET.fromstring('<start_scan '
579
                               'target="localhost" ports="80, 443">'
580
                               '<scanner_params /><vt_selection><vt_si'
581
                               'ngle id="1234"><vt_value>200</vt_value>'
582
                               '</vt_single></vt_selection></start_scan>')
583
        self.assertRaises(OSPDError, daemon.handle_start_scan_command, cmd)
584
585
        # No error
586
        response = secET.fromstring(
587
            daemon.handle_command('<start_scan '
588
                                  'target="localhost" ports="80, 443">'
589
                                  '<scanner_params /><vt_selection><vt'
590
                                  '_single id="1234"><vt_value id="ABC">200'
591
                                  '</vt_value></vt_single></vt_selection>'
592
                                  '</start_scan>'))
593
        scan_id = response.findtext('id')
594
        time.sleep(0.01)
595
        self.assertEqual(daemon.get_scan_vts(scan_id),
596
                         {'1234': {'ABC': '200'}, 'vt_groups': []})
597
598
        # Raise because no vtgroup filter attribute
599
        cmd = secET.fromstring('<start_scan '
600
                               'target="localhost" ports="80, 443">'
601
                               '<scanner_params /><vt_selection><vt_group/>'
602
                               '</vt_selection></start_scan>')
603
        self.assertRaises(OSPDError, daemon.handle_start_scan_command, cmd)
604
605
        # No error
606
        response = secET.fromstring(
607
            daemon.handle_command('<start_scan '
608
                                  'target="localhost" ports="80, 443">'
609
                                  '<scanner_params /><vt_selection>'
610
                                  '<vt_group filter="a"/>'
611
                                  '</vt_selection></start_scan>'))
612
        scan_id = response.findtext('id')
613
        time.sleep(0.01)
614
        self.assertEqual(daemon.get_scan_vts(scan_id),
615
                         {'vt_groups': ['a']})
616
617
    def testBillonLaughs(self):
618
        daemon = DummyWrapper([])
@@ 544-572 (lines=29) @@
541
        cmd = secET.fromstring('<stop_scan />')
542
        self.assertRaises(OSPDError, daemon.handle_stop_scan_command, cmd)
543
544
    def testScanWithVTs(self):
545
        daemon = DummyWrapper([])
546
        cmd = secET.fromstring('<start_scan '
547
                               'target="localhost" ports="80, 443">'
548
                               '<scanner_params /><vt_selection />'
549
                               '</start_scan>')
550
        self.assertRaises(OSPDError, daemon.handle_start_scan_command, cmd)
551
552
        # With one VT, without params
553
        response = secET.fromstring(
554
            daemon.handle_command('<start_scan '
555
                                  'target="localhost" ports="80, 443">'
556
                                  '<scanner_params /><vt_selection>'
557
                                  '<vt_single id="1.2.3.4" />'
558
                                  '</vt_selection></start_scan>'))
559
        scan_id = response.findtext('id')
560
        time.sleep(0.01)
561
        self.assertEqual(
562
            daemon.get_scan_vts(scan_id), {'1.2.3.4': {}, 'vt_groups': []})
563
        self.assertNotEqual(daemon.get_scan_vts(scan_id), {'1.2.3.6': {}})
564
565
        # With out VTS
566
        response = secET.fromstring(
567
            daemon.handle_command('<start_scan '
568
                                  'target="localhost" ports="80, 443">'
569
                                  '<scanner_params /></start_scan>'))
570
        scan_id = response.findtext('id')
571
        time.sleep(0.01)
572
        self.assertEqual(daemon.get_scan_vts(scan_id), {})
573
574
    def testScanWithVTs_and_param(self):
575
        daemon = DummyWrapper([])