GetFolderName

python · Veeam App

Details

IDGetFolderName
Languagepython
From Version6.10.0
Docker Imagedemisto/python3:3.12.13.10116658
TagsUtilities

README

Gets a folder name from a URN.

import demistomock as demisto
import pytest
from getfoldername import find_folder, main


@pytest.mark.parametrize(
    "data, expected",
    [
        (
            [{"urn": "folder:123;folder:group-v456"}, {"urn": "folder:789"}, {"urn": "folder:group-v987;folder:group-v654"}],
            "group-v456",
        ),
        ([{"urn": "host:123"}, {"urn": "host:789"}], ""),
        ([{"urn": "folder:group-v456"}], "group-v456"),
    ],
)
def test_find_folder(data, expected):
    assert find_folder(data) == expected


@pytest.mark.parametrize(
    "data, returned_value, expected_command_results",
    [
        (
            {
                "data": [
                    {"urn": "folder:123;folder:group-v456"},
                    {"urn": "folder:789"},
                    {"urn": "folder:group-v987;folder:group-v654"},
                ]
            },
            "group-v456",
            {"outputs_prefix": "Veeam.FOLDER", "outputs": {"parsed_value": "group-v456"}},
        )
    ],
)
def test_main(mocker, data, returned_value, expected_command_results):
    mocker.patch.object(demisto, "args", return_value=data)
    mocker.patch("getfoldername.find_folder", return_value=returned_value)
    mock_return_results = mocker.patch("getfoldername.return_results")
    main()
    mock_return_results.assert_called_once()
    command_results = mock_return_results.call_args[0][0]
    assert command_results.outputs_prefix == expected_command_results["outputs_prefix"]
    assert command_results.outputs == expected_command_results["outputs"]