Skip to content

Commit

Permalink
Update tests to use v6-alpha1 molecule version (#177)
Browse files Browse the repository at this point in the history
* Update tests to use v6-alpha1 molecule version

* Fix failing test 'test_command_init_scenario'

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* fix lint ci issue

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
  • Loading branch information
audgirka and pre-commit-ci[bot] authored Aug 3, 2023
1 parent e405709 commit 8338358
Show file tree
Hide file tree
Showing 6 changed files with 52 additions and 10 deletions.
15 changes: 15 additions & 0 deletions .ansible-lint-ignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,18 @@
test/gce/scenarios/linux/molecule.yml yaml[line-length]
test/gce/scenarios/windows/molecule.yml yaml[line-length]
test/roles/ec2plugin/molecule/default/create.yml no-handler

test/roles/vagrantplugin/molecule/default/destroy.yml yaml[octal-values]
test/roles/vagrantplugin/molecule/default/create.yml yaml[octal-values]
test/roles/podmanplugin/molecule/default/destroy.yml yaml[octal-values]
test/roles/podmanplugin/molecule/default/create.yml yaml[octal-values]
test/roles/gceplugin/molecule/default/destroy.yml yaml[octal-values]
test/roles/gceplugin/molecule/default/create.yml yaml[octal-values]
test/roles/ec2plugin/molecule/default/destroy.yml yaml[octal-values]
test/roles/ec2plugin/molecule/default/create.yml yaml[octal-values]
test/roles/dockerplugin/molecule/default/destroy.yml yaml[octal-values]
test/roles/dockerplugin/molecule/default/create.yml yaml[octal-values]
test/roles/containersplugin/molecule/default/destroy.yml yaml[octal-values]
test/roles/containersplugin/molecule/default/create.yml yaml[octal-values]
test/roles/azureplugin/molecule/default/create.yml yaml[octal-values]
test/roles/azureplugin/molecule/default/destroy.yml yaml[octal-values]
4 changes: 2 additions & 2 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ classifiers = [
keywords = ["ansible", "testing", "molecule", "plugin"]
dependencies = [
# molecule plugins are not allowed to mention Ansible as a direct dependency
"molecule >= 5.0",
"molecule >= 6.0.0a1",
]

[project.urls]
Expand All @@ -51,7 +51,7 @@ changelog = "https://github.com/ansible-community/molecule-plugins/releases"
[project.optional-dependencies]
test = [
"pytest-helpers-namespace >= 2019.1.8",
"molecule[test]"
"molecule[test] >= 6.0.0a1"
]
azure = []
docker = [
Expand Down
28 changes: 25 additions & 3 deletions test/azure/functional/test_azure.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,20 +32,42 @@

def test_command_init_scenario(temp_dir):
role_directory = os.path.join(temp_dir.strpath, "test_init")
cmd = ["molecule", "init", "role", "foo.test_init"]
cmd = ["ansible-galaxy", "role", "init", "test_init"]
result = run_command(cmd)
assert result.returncode == 0

with change_dir_to(role_directory):
# we need to inject namespace info into meta/main.yml
cmd_meta = [
"ansible",
"localhost",
"-o", # one line output
"-m",
"lineinfile",
"-a",
'path=meta/main.yml line=" namespace: foo" insertafter=" author: your name"',
]
run_command(cmd_meta, check=True)

# we need to inject namespace info into tests/test.yml
cmd_tests = [
"ansible",
"localhost",
"-o", # one line output
"-m",
"lineinfile",
"-a",
'path=tests/test.yml line=" - foo.test_init" regex="^(.*) - test_init"',
]
run_command(cmd_tests, check=True)

molecule_directory = pytest.helpers.molecule_directory()
scenario_directory = os.path.join(molecule_directory, "test_scenario")
cmd = [
"molecule",
"init",
"scenario",
"test_scenario",
"--role-name",
"test_init",
"--driver-name",
"azure",
]
Expand Down
2 changes: 1 addition & 1 deletion test/ec2/functional/test_ec2.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,8 @@
import pytest

from molecule import logger
from molecule.test.b_functional.conftest import metadata_lint_update
from molecule.test.conftest import change_dir_to
from molecule.test.functional.conftest import metadata_lint_update
from molecule.util import run_command

LOG = logger.get_logger(__name__)
Expand Down
2 changes: 1 addition & 1 deletion test/gce/functional/test_func.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,8 @@
import pytest

from molecule import logger
from molecule.test.b_functional.conftest import metadata_lint_update
from molecule.test.conftest import change_dir_to
from molecule.test.functional.conftest import metadata_lint_update
from molecule.util import run_command

LOG = logger.get_logger(__name__)
Expand Down
11 changes: 8 additions & 3 deletions tools/generate-templates.sh
Original file line number Diff line number Diff line change
Expand Up @@ -9,16 +9,21 @@ while IFS='' read -r line; do DRIVER_NAMES+=("$line"); done < <(python "tools/ex

cd test/roles
for DRIVER_NAME in "${DRIVER_NAMES[@]}"; do
molecule init role roles."${DRIVER_NAME}"plugin --driver-name="${DRIVER_NAME}"
ansible-galaxy role init "${DRIVER_NAME}"plugin
cd "${DRIVER_NAME}"plugin
ansible localhost -o -m lineinfile -a 'path=meta/main.yml line=" namespace: roles" insertafter=" author: your name"'
molecule init scenario --driver-name="${DRIVER_NAME}"
sed \
-e 's!author:.*!author: molecule-plugins!g' \
-e 's!namespace:.*!namespace: roles!g' \
-e 's!company:.*!company: ansible-community!g' \
-e 's!min_ansible_version:.*!min_ansible_version: "2.1"!g' \
-e 's!license:.*!license: MIT!g' \
-i "${DRIVER_NAME}"plugin/meta/main.yml
-i meta/main.yml
# Not sure if the issue is in molecule or ansible-lint or pre-commit ansible-lint hook
# As a workaround, kill the offending files.
rm -rf "${DRIVER_NAME}"plugin/tests
rm -rf tests
cd ..
done

exit 0

0 comments on commit 8338358

Please sign in to comment.