Thanks to visit codestin.com
Credit goes to github.com

Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 7 additions & 1 deletion src/molecule/driver/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -231,7 +231,13 @@ def status(self) -> list[Status]:
Status for each instance.
"""
status_list = []
for platform in self._config.platforms.instances:
instances = self._config.platforms.instances

if not instances:
# an ansible-native scenario
instances.append({"name": ""})

for platform in instances:
instance_name = platform["name"]
driver_name = self.name
provisioner_name = self._config.provisioner.name if self._config.provisioner else ""
Expand Down
23 changes: 23 additions & 0 deletions tests/unit/command/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,15 @@
# DEALINGS IN THE SOFTWARE.
from __future__ import annotations

from typing import TYPE_CHECKING

import pytest


if TYPE_CHECKING:
from molecule.types import ConfigData


@pytest.fixture
def command_patched_ansible_create(mocker): # type: ignore[no-untyped-def] # noqa: ANN201, D103
return mocker.patch("molecule.provisioner.ansible.Ansible.create")
Expand All @@ -45,3 +51,20 @@ def command_driver_delegated_section_data(): # type: ignore[no-untyped-def] #
@pytest.fixture
def command_driver_delegated_managed_section_data(): # type: ignore[no-untyped-def] # noqa: ANN201, D103
return {"driver": {"name": "default", "managed": True}}


@pytest.fixture
def _molecule_data_native() -> ConfigData:
"""Provide a default molecule data dictionary.

This version removes options unused in ansible-native configs.

Returns:
A molecule config dictionary.
"""
return {
"ansible": {"executor": {"backend": "ansible-playbook"}},
"driver": {},
"platforms": [],
"provisioner": {},
}
28 changes: 26 additions & 2 deletions tests/unit/command/test_list.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,13 +21,13 @@

from typing import TYPE_CHECKING

import pytest

from molecule.command import list # noqa: A004
from molecule.status import Status


if TYPE_CHECKING:
import pytest

from molecule import config


Expand Down Expand Up @@ -56,3 +56,27 @@ def test_list_execute( # noqa: D103
]

assert x == l.execute()


@pytest.mark.parametrize(
"config_instance",
["_molecule_data_native"], # noqa: PT007
indirect=True,
)
def test_list_execute_native( # noqa: D103
capsys: pytest.CaptureFixture[str],
config_instance: config.Config,
) -> None:
l = list.List(config_instance) # noqa: E741
x = [
Status(
instance_name="",
driver_name="default",
provisioner_name="ansible",
scenario_name="default",
created="false",
converged="false",
),
]

assert x == l.execute()