"""
PingCastle Integration for Cortex XSOAR - Unit Tests file
This file contains the Pytest Tests for the PingCastle Integration
This file tests the get_report command but not the long running integration command because in order to do that
I'd need to mock socket itself.
"""
import CommonServerPython
import demistomock as demisto
def test_get_report_no_report_available():
from PingCastle import get_report_command
demisto.setIntegrationContext({})
result = get_report_command({"delete_report": "No"})
assert result == "No report available"
def test_get_report_delete():
report = "report"
from PingCastle import get_report_command
demisto.setIntegrationContext({"report": report})
result: CommonServerPython.CommandResults = get_report_command({"delete_report": "Yes"})
assert result.raw_response == report
assert result.outputs == {"report": report}
assert demisto.getIntegrationContext().get("report") is None
def test_get_report_no_delete():
report = "report"
from PingCastle import get_report_command
demisto.setIntegrationContext({"report": report})
result: CommonServerPython.CommandResults = get_report_command({"delete_report": "No"})
assert result.raw_response == report
assert result.outputs == {"report": report}
assert demisto.getIntegrationContext().get("report") is not None