import demistomock as demisto from SekoiaXDRChangeStatus import get_username, main, update_status, post_comment # type: ignore def test_get_username(mocker): output_data = [{"Type": 3, "Contents": [{"name": "admin", "PrettyRoles": "Administrator"}]}] mocker.patch.object(demisto, "executeCommand", return_value=output_data) assert get_username() == "admin" def test_post_comment(mocker): output_data = [{"Type": 3, "Contents": {}}] mocker.patch.object(demisto, "executeCommand", return_value=output_data) assert post_comment("1", "test", "admin") is None def test_update_status(mocker): output_data = [{"Type": 3, "Contents": {}}] mocker.patch.object(demisto, "executeCommand", return_value=output_data) assert update_status("Ongoing", "In", False, "1") is None assert update_status("Ongoing", "In", True, "1") is None assert update_status("Ongoing", None, True, "1") is None assert update_status("Ongoing", None, False, "1") is None def test_main(mocker): mocker.patch.object( demisto, "incidents", return_value=[{"dbotMirrorDirection": "In", "CustomFields": {"sekoiaxdrmirrorout": True}}] ) mocker.patch.object( demisto, "args", return_value={"short_id": "1", "status": "Ongoing", "comment": "test"}, ) mocker.patch.object(demisto, "results") mocker.patch("SekoiaXDRChangeStatus.get_username", return_value="admin") main() assert demisto.results.call_args[0][0]["Contents"] == "### Status of the alert changed to:\n Ongoing"