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