| @@ 741-797 (lines=57) @@ | ||
| 738 | time.sleep(0.01) |
|
| 739 | self.assertEqual(daemon.get_scan_vts(scan_id), {}) |
|
| 740 | ||
| 741 | def test_scan_with_vts_and_param(self): |
|
| 742 | daemon = DummyWrapper([]) |
|
| 743 | ||
| 744 | # Raise because no vt_param id attribute |
|
| 745 | cmd = secET.fromstring( |
|
| 746 | '<start_scan ' |
|
| 747 | 'target="localhost" ports="80, 443">' |
|
| 748 | '<scanner_params /><vt_selection><vt_si' |
|
| 749 | 'ngle id="1234"><vt_value>200</vt_value>' |
|
| 750 | '</vt_single></vt_selection></start_scan>' |
|
| 751 | ) |
|
| 752 | ||
| 753 | with self.assertRaises(OspdCommandError): |
|
| 754 | daemon.handle_start_scan_command(cmd) |
|
| 755 | ||
| 756 | # No error |
|
| 757 | response = secET.fromstring( |
|
| 758 | daemon.handle_command( |
|
| 759 | '<start_scan ' |
|
| 760 | 'target="localhost" ports="80, 443">' |
|
| 761 | '<scanner_params /><vt_selection><vt' |
|
| 762 | '_single id="1234"><vt_value id="ABC">200' |
|
| 763 | '</vt_value></vt_single></vt_selection>' |
|
| 764 | '</start_scan>' |
|
| 765 | ) |
|
| 766 | ) |
|
| 767 | scan_id = response.findtext('id') |
|
| 768 | time.sleep(0.01) |
|
| 769 | self.assertEqual( |
|
| 770 | daemon.get_scan_vts(scan_id), |
|
| 771 | {'1234': {'ABC': '200'}, 'vt_groups': []}, |
|
| 772 | ) |
|
| 773 | ||
| 774 | # Raise because no vtgroup filter attribute |
|
| 775 | cmd = secET.fromstring( |
|
| 776 | '<start_scan ' |
|
| 777 | 'target="localhost" ports="80, 443">' |
|
| 778 | '<scanner_params /><vt_selection><vt_group/>' |
|
| 779 | '</vt_selection></start_scan>' |
|
| 780 | ) |
|
| 781 | self.assertRaises( |
|
| 782 | OspdCommandError, daemon.handle_start_scan_command, cmd |
|
| 783 | ) |
|
| 784 | ||
| 785 | # No error |
|
| 786 | response = secET.fromstring( |
|
| 787 | daemon.handle_command( |
|
| 788 | '<start_scan ' |
|
| 789 | 'target="localhost" ports="80, 443">' |
|
| 790 | '<scanner_params /><vt_selection>' |
|
| 791 | '<vt_group filter="a"/>' |
|
| 792 | '</vt_selection></start_scan>' |
|
| 793 | ) |
|
| 794 | ) |
|
| 795 | scan_id = response.findtext('id') |
|
| 796 | time.sleep(0.01) |
|
| 797 | self.assertEqual(daemon.get_scan_vts(scan_id), {'vt_groups': ['a']}) |
|
| 798 | ||
| 799 | def test_billon_laughs(self): |
|
| 800 | # pylint: disable=line-too-long |
|
| @@ 698-739 (lines=42) @@ | ||
| 695 | OspdCommandError, daemon.handle_stop_scan_command, cmd |
|
| 696 | ) |
|
| 697 | ||
| 698 | def test_scan_with_vts(self): |
|
| 699 | daemon = DummyWrapper([]) |
|
| 700 | cmd = secET.fromstring( |
|
| 701 | '<start_scan ' |
|
| 702 | 'target="localhost" ports="80, 443">' |
|
| 703 | '<scanner_params /><vt_selection />' |
|
| 704 | '</start_scan>' |
|
| 705 | ) |
|
| 706 | ||
| 707 | with self.assertRaises(OspdCommandError): |
|
| 708 | daemon.handle_start_scan_command(cmd) |
|
| 709 | ||
| 710 | # With one vt, without params |
|
| 711 | response = secET.fromstring( |
|
| 712 | daemon.handle_command( |
|
| 713 | '<start_scan ' |
|
| 714 | 'target="localhost" ports="80, 443">' |
|
| 715 | '<scanner_params /><vt_selection>' |
|
| 716 | '<vt_single id="1.2.3.4" />' |
|
| 717 | '</vt_selection></start_scan>' |
|
| 718 | ) |
|
| 719 | ) |
|
| 720 | scan_id = response.findtext('id') |
|
| 721 | time.sleep(0.01) |
|
| 722 | ||
| 723 | self.assertEqual( |
|
| 724 | daemon.get_scan_vts(scan_id), {'1.2.3.4': {}, 'vt_groups': []} |
|
| 725 | ) |
|
| 726 | self.assertNotEqual(daemon.get_scan_vts(scan_id), {'1.2.3.6': {}}) |
|
| 727 | ||
| 728 | # With out vtS |
|
| 729 | response = secET.fromstring( |
|
| 730 | daemon.handle_command( |
|
| 731 | '<start_scan ' |
|
| 732 | 'target="localhost" ports="80, 443">' |
|
| 733 | '<scanner_params /></start_scan>' |
|
| 734 | ) |
|
| 735 | ) |
|
| 736 | ||
| 737 | scan_id = response.findtext('id') |
|
| 738 | time.sleep(0.01) |
|
| 739 | self.assertEqual(daemon.get_scan_vts(scan_id), {}) |
|
| 740 | ||
| 741 | def test_scan_with_vts_and_param(self): |
|
| 742 | daemon = DummyWrapper([]) |
|