Code Duplication    Length = 29-42 lines in 2 locations

tests/testScanAndResult.py 2 locations

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