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