Пример #1
0
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
Пример #2
0
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"]
Пример #3
0
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"])
Пример #4
0
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, "")
Пример #5
0
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, "")
Пример #6
0
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, "")
Пример #7
0
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, "")
Пример #8
0
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, "")
Пример #9
0
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
Пример #10
0
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
Пример #11
0
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