import demistomock as demisto import ForescoutEyeInspectButtonGetVulnerabilityInfo from ForescoutEyeInspectButtonGetVulnerabilityInfo import get_cve, main from pytest_mock.plugin import MockerFixture def test_get_cve(mocker: MockerFixture): cve_id = "CVE-2020-0305" mock_cve = { "id": cve_id, "cve_id": cve_id, "icsa_id": "", "vendor_specific_id": "SSB-439005", "published_date": "2018-11-27T01:00:00.000+01:00", } mocker.patch.object(demisto, "args", return_value={"cve_id": cve_id}) mocker.patch.object(demisto, "executeCommand", return_value=mock_cve) assert get_cve()["cve_id"] == cve_id def return_error_mock(message: str, *_): raise Exception(message) def test_command_error(mocker: MockerFixture): mocker.patch.object(demisto, "args", return_value={"cve_id": "CVE-2020-0305"}) mocker.patch.object(demisto, "error") mocker.patch.object(ForescoutEyeInspectButtonGetVulnerabilityInfo, "return_error", return_error_mock) mocker.patch.object(demisto, "executeCommand", side_effect=Exception("Failed to communicate with Forescout EyeInspect")) try: main() except Exception as e: assert "Failed to communicate with Forescout EyeInspect" in str(e)