def test_get_dsar_databases_cmd(mocker): command_name = 'inventa-get-dsar-databases' method_name = "get_dsar" mocker_automate(mocker, command_name, [method_name]) assert demisto.args()["ticket_id"] == "TEST_TICKET_ID" main() assert demisto.results.call_count == 1 results = demisto.results.call_args[0] databases_1 = results[0]["Contents"]["databases"] databases_2 = mock_data.get(command_name, "")["databases"] databases_1.sort(key=lambda x: f"{x['database']}.{x['name']}") databases_2.sort(key=lambda x: f"{x['database']}.{x['name']}") assert len(databases_1) == len(databases_2) for index in range(0, len(databases_1)): db_1 = databases_1[index] db_2 = databases_2[index] assert db_1["id"] == db_2["id"] assert db_1["name"] == db_2["name"] assert db_1["database"] == db_2["database"] entity_types_1 = db_1["entityTypes"] entity_types_2 = db_2["entityTypes"] entity_types_1 = set(entity_types_1.split(", ")) entity_types_2 = set(entity_types_2.split(", ")) assert entity_types_1 == entity_types_2
def test_get_dsar_files_cmd(mocker): command_name = 'inventa-get-dsar-files' method_name = "get_dsar" mocker_automate(mocker, command_name, [method_name]) assert demisto.args()["ticket_id"] == "TEST_TICKET_ID" main() assert demisto.results.call_count == 1 results = demisto.results.call_args[0] files_1 = results[0]["Contents"]["files"] files_2 = mock_data.get(command_name, "")["files"] files_1.sort(key=lambda x: x["id"]) files_2.sort(key=lambda x: x["id"]) assert len(files_1) == len(files_2) for index in range(0, len(files_1)): file_1 = files_1[index] file_2 = files_2[index] entity_types_1 = file_1["entityTypes"] entity_types_2 = file_2["entityTypes"] entity_types_1 = set(entity_types_1.split(", ")) entity_types_2 = set(entity_types_2.split(", ")) assert entity_types_1 == entity_types_2 assert file_1["id"] == file_2["id"] assert file_1["name"] == file_2["name"] assert file_1["path"] == file_2["path"] assert file_1["size"] == file_2["size"] assert file_1["timestamp"] == file_2["timestamp"] assert file_1["url"] == file_2["url"]
def test_get_sources_cmd(mocker): command_name = 'inventa-get-sources' method_name = 'get_sources' mocker_automate(mocker, command_name, [method_name]) DATASUBJECT_ID = demisto.args().get("datasubject_id", "") assert DATASUBJECT_ID == "TEST_DATASUBJECT_ID" main() assert demisto.results.call_count == 1 results = demisto.results.call_args[0] A = results[0]["Contents"][0] B = mock_data.get(command_name, "")[0] assert A["id"] == B["id"] assert A["applianceName"] == B["applianceName"] assert A["timestamp"] == B["timestamp"] assert A["keyType"] == B["keyType"] assert A["path"] == B["path"] assert A["url"] == B["url"] assert A["hostName"] == B["hostName"] assert A["dbName"] == B["dbName"] assert A["vendor"] == B["vendor"] assert A["type"] == B["type"] assert A["content"] == json.dumps(B["content"]) assert A["entityTypes"] == ", ".join(B["entityTypes"])
def test_get_datasubject_id_cmd(mocker): command_name = 'inventa-get-datasubject-id' method_name = "get_datasubject" mocker_automate(mocker, command_name, [method_name]) NATIONAL_ID = demisto.args().get("national_id", "") PASSPORT_NUMBER = demisto.args().get("passport_number", "") DRIVER_LICENSE = demisto.args().get("driver_license", "") TAX_ID = demisto.args().get("tax_id", "") CC_NUMBER = demisto.args().get("cc_number", "") GIVEN_NAME = demisto.args().get("given_name", "") SURNAME = demisto.args().get("surname", "") FULL_NAME = demisto.args().get("full_name", "") VEHICLE_NUMBER = demisto.args().get("vehicle_number", "") PHONE_NUMBER = demisto.args().get("phone_number", "") BIRTHDAY = demisto.args().get("birthday", "") CITY = demisto.args().get("city", "") STREET_ADDRESS = demisto.args().get("street_address", "") # test presence of constraints constraints = [ NATIONAL_ID, PASSPORT_NUMBER, DRIVER_LICENSE, TAX_ID, CC_NUMBER, (GIVEN_NAME and VEHICLE_NUMBER), (GIVEN_NAME and PHONE_NUMBER), (GIVEN_NAME and SURNAME and BIRTHDAY), (GIVEN_NAME and SURNAME and CITY and STREET_ADDRESS), (FULL_NAME and BIRTHDAY), (FULL_NAME and CITY and STREET_ADDRESS) ] constraint_passed = False for constraint in constraints: if constraint: constraint_passed = True break assert constraint_passed # test passed values assert (NATIONAL_ID == "TEST_NATIONAL_ID") assert (PASSPORT_NUMBER == "TEST_PASSPORT_NUMBER") assert (DRIVER_LICENSE == "TEST_DRIVER_LICENSE") assert (TAX_ID == "TEST_TAX_ID") assert (CC_NUMBER == "TEST_CC_NUMBER") assert (GIVEN_NAME == "TEST_GIVEN_NAME") assert (SURNAME == "TEST_SURNAME") assert (FULL_NAME == "TEST_FULL_NAME") assert (VEHICLE_NUMBER == "TEST_VEHICLE_NUMBER") assert (PHONE_NUMBER == "TEST_PHONE_NUMBER") assert (BIRTHDAY == "TEST_BIRTHDAY") assert (CITY == "TEST_CITY") assert (STREET_ADDRESS == "TEST_STREET_ADDRESS") main() assert demisto.results.call_count == 1 results = demisto.results.call_args[0] assert results[0]["Contents"] == mock_data.get(command_name, "")
def test_get_entities_cmd(mocker): command_name = 'inventa-get-entities' method_name = 'get_entities' mocker_automate(mocker, command_name, [method_name]) main() assert demisto.results.call_count == 1 results = demisto.results.call_args[0] assert results[0]["Contents"] == mock_data.get(command_name, "")
def test_get_dsar_transactions_cmd(mocker): command_name = 'inventa-get-dsar-transactions' method_name = "get_dsar" mocker_automate(mocker, command_name, [method_name]) assert demisto.args()["ticket_id"] == "TEST_TICKET_ID" main() assert demisto.results.call_count == 1 results = demisto.results.call_args[0] assert results[0]["Contents"] == mock_data.get(command_name, "")
def test_get_datasubjectid_from_ticket_cmd(mocker): command_name = 'inventa-get-datasubject-id-from-ticket' method_name = 'get_ticket' mocker_automate(mocker, command_name, [method_name]) assert demisto.args()["ticket_id"] == "TEST_TICKET_ID" main() assert demisto.results.call_count == 1 results = demisto.results.call_args[0] assert results[0]["Contents"] == mock_data.get(command_name, "")
def test_create_ticket_cmd(mocker): command_name = 'inventa-create-ticket' method_name_1 = "prepare_ticket" method_name_2 = "create_ticket" mocker_automate(mocker, command_name, [method_name_1, method_name_2]) assert demisto.args()["datasubject_id"] == "TEST_DATASUBJECT_ID" assert demisto.args()["reason"] == "TEST_REASON" main() assert demisto.results.call_count == 1 results = demisto.results.call_args[0] assert results[0]["Contents"] == mock_data.get(command_name, "")
def test_get_sources_piis_cmd(mocker): command_name = 'inventa-get-sources-piis' method_name = 'get_sources' mocker_automate(mocker, command_name, [method_name]) DATASUBJECT_ID = demisto.args().get("datasubject_id", "") assert DATASUBJECT_ID == "TEST_DATASUBJECT_ID" main() assert demisto.results.call_count == 1 results = demisto.results.call_args[0] A = results[0]["Contents"] B = mock_data.get(command_name, "") assert A == B
def test_get_dsar_piis_cmd(mocker): command_name = 'inventa-get-dsar-piis' method_name = "get_dsar" mocker_automate(mocker, command_name, [method_name]) assert demisto.args()["ticket_id"] == "TEST_TICKET_ID" main() assert demisto.results.call_count == 1 results = demisto.results.call_args[0] piis_1 = [] piis_2 = [] piis_1.extend(results[0]["Contents"]["piis"]) piis_2.extend(mock_data.get(command_name, "")["piis"]) piis_1.sort() piis_2.sort() assert piis_1 == piis_2
def test_get_dsar_dataassets_cmd(mocker): command_name = 'inventa-get-dsar-dataassets' method_name = "get_dsar" mocker_automate(mocker, command_name, [method_name]) assert demisto.args()["ticket_id"] == "TEST_TICKET_ID" main() assert demisto.results.call_count == 1 results = demisto.results.call_args[0] dataassets_1 = results[0]["Contents"]["dataAssets"] dataassets_2 = mock_data.get(command_name, "")["dataAssets"] dataassets_1.sort(key=lambda x: x["id"]) dataassets_2.sort(key=lambda x: x["id"]) assert len(dataassets_1) == len(dataassets_2) for index in range(0, len(dataassets_1)): dataasset_1 = dataassets_1[index] dataasset_2 = dataassets_2[index] piis_1 = dataasset_1["piis"] piis_2 = dataasset_2["piis"] piis_1 = set(piis_1.split(", ")) piis_2 = set(piis_2.split(", ")) reasons_1 = dataasset_1["reasonsOfProcessing"] reasons_2 = dataasset_2["reasonsOfProcessing"] reasons_1 = set(reasons_1.split(", ")) reasons_2 = set(reasons_2.split(", ")) assert piis_1 == piis_2 assert dataasset_1["id"] == dataasset_2["id"] assert dataasset_1["name"] == dataasset_2["name"] assert dataasset_1["description"] == dataasset_2["description"] assert reasons_1 == reasons_2