Code Duplication    Length = 29-42 lines in 2 locations

tests/testScanAndResult.py 2 locations

@@ 539-580 (lines=42) @@
536
        time.sleep(0.01)
537
        self.assertEqual(daemon.get_scan_vts(scan_id), {})
538
539
    def testScanWithVTs_and_param(self):
540
        daemon = DummyWrapper([])
541
542
        # Raise because no vt_param id attribute
543
        cmd = secET.fromstring('<start_scan '
544
                               'target="localhost" ports="80, 443">'
545
                               '<scanner_params /><vt_selection><vt_si'
546
                               'ngle id="1234"><vt_value>200</vt_value>'
547
                               '</vt_single></vt_selection></start_scan>')
548
        self.assertRaises(OSPDError, daemon.handle_start_scan_command, cmd)
549
550
        # No error
551
        response = secET.fromstring(
552
            daemon.handle_command('<start_scan '
553
                                  'target="localhost" ports="80, 443">'
554
                                  '<scanner_params /><vt_selection><vt'
555
                                  '_single id="1234"><vt_value id="ABC">200'
556
                                  '</vt_value></vt_single></vt_selection>'
557
                                  '</start_scan>'))
558
        scan_id = response.findtext('id')
559
        time.sleep(0.01)
560
        self.assertEqual(daemon.get_scan_vts(scan_id),
561
                         {'1234': {'ABC': '200'}, 'vt_groups': []})
562
563
        # Raise because no vtgroup filter attribute
564
        cmd = secET.fromstring('<start_scan '
565
                               'target="localhost" ports="80, 443">'
566
                               '<scanner_params /><vt_selection><vt_group/>'
567
                               '</vt_selection></start_scan>')
568
        self.assertRaises(OSPDError, daemon.handle_start_scan_command, cmd)
569
570
        # No error
571
        response = secET.fromstring(
572
            daemon.handle_command('<start_scan '
573
                                  'target="localhost" ports="80, 443">'
574
                                  '<scanner_params /><vt_selection>'
575
                                  '<vt_group filter="a"/>'
576
                                  '</vt_selection></start_scan>'))
577
        scan_id = response.findtext('id')
578
        time.sleep(0.01)
579
        self.assertEqual(daemon.get_scan_vts(scan_id),
580
                         {'vt_groups': ['a']})
581
582
    def testBillonLaughs(self):
583
        daemon = DummyWrapper([])
@@ 509-537 (lines=29) @@
506
        cmd = secET.fromstring('<stop_scan />')
507
        self.assertRaises(OSPDError, daemon.handle_stop_scan_command, cmd)
508
509
    def testScanWithVTs(self):
510
        daemon = DummyWrapper([])
511
        cmd = secET.fromstring('<start_scan '
512
                               'target="localhost" ports="80, 443">'
513
                               '<scanner_params /><vt_selection />'
514
                               '</start_scan>')
515
        self.assertRaises(OSPDError, daemon.handle_start_scan_command, cmd)
516
517
        # With one VT, without params
518
        response = secET.fromstring(
519
            daemon.handle_command('<start_scan '
520
                                  'target="localhost" ports="80, 443">'
521
                                  '<scanner_params /><vt_selection>'
522
                                  '<vt_single id="1.2.3.4" />'
523
                                  '</vt_selection></start_scan>'))
524
        scan_id = response.findtext('id')
525
        time.sleep(0.01)
526
        self.assertEqual(
527
            daemon.get_scan_vts(scan_id), {'1.2.3.4': {}, 'vt_groups': []})
528
        self.assertNotEqual(daemon.get_scan_vts(scan_id), {'1.2.3.6': {}})
529
530
        # With out VTS
531
        response = secET.fromstring(
532
            daemon.handle_command('<start_scan '
533
                                  'target="localhost" ports="80, 443">'
534
                                  '<scanner_params /></start_scan>'))
535
        scan_id = response.findtext('id')
536
        time.sleep(0.01)
537
        self.assertEqual(daemon.get_scan_vts(scan_id), {})
538
539
    def testScanWithVTs_and_param(self):
540
        daemon = DummyWrapper([])