GetHostName

python · Veeam App

Details

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

README

Gets a hostname from a URN.

import demistomock as demisto
import pytest
from gethostname import find_host, main


@pytest.mark.parametrize(
    "data, expected",
    [
        ([{"urn": "hostsystem:foo"}, {"urn": "hostsystem:bar"}], "foo"),
        ([{"urn": "hostsystem:baz"}, {"urn": "folder:123"}], "baz"),
        ([{"urn": "folder:321"}, {"urn": "folder:789"}], ""),
    ],
)
def test_find_host(data, expected):
    assert find_host(data) == expected


@pytest.mark.parametrize(
    "data, returned_value, expected_command_results",
    [
        (
            {"data": [{"urn": "hostsystem:foo"}, {"urn": "hostsystem:bar"}]},
            "foo",
            {"outputs_prefix": "Veeam.HOST", "outputs": {"parsed_value": "foo"}},
        )
    ],
)
def test_main(mocker, data, returned_value, expected_command_results):
    mocker.patch.object(demisto, "args", return_value=data)
    mocker.patch("gethostname.find_host", return_value=returned_value)
    mock_return_results = mocker.patch("gethostname.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"]