Skip to content

Commit

Permalink
Get tests working and lint happy
Browse files Browse the repository at this point in the history
  • Loading branch information
kdelee committed Feb 12, 2019
1 parent 9c8c036 commit e06f445
Show file tree
Hide file tree
Showing 5 changed files with 16 additions and 5 deletions.
2 changes: 1 addition & 1 deletion pytest_ansible/host_manager/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
# conditionally import ansible libraries
has_ansible_v2 = parse_version(ansible.__version__) >= parse_version('2.0.0')
has_ansible_v24 = parse_version(ansible.__version__) >= parse_version('2.4.0')
has_ansible_v28 = parse_version(ansible.__version__) >= parse_version('2.8.0')
has_ansible_v28 = parse_version(ansible.__version__) >= parse_version('2.8.0.dev0')

log = get_logger(__name__)

Expand Down
3 changes: 1 addition & 2 deletions pytest_ansible/module_dispatcher/v28.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,13 @@
from ansible.plugins.callback import CallbackBase
from ansible.executor.task_queue_manager import TaskQueueManager
from ansible.playbook.play import Play
from ansible.cli import CLI
from ansible.cli.adhoc import AdHocCLI
from pytest_ansible.logger import get_logger
from pytest_ansible.module_dispatcher.v2 import ModuleDispatcherV2
from pytest_ansible.results import AdHocResult
from pytest_ansible.errors import AnsibleConnectionFailure

has_ansible_v28 = parse_version(ansible.__version__) >= parse_version('2.8.0')
has_ansible_v28 = parse_version(ansible.__version__) >= parse_version('2.8.0.dev0')

if not has_ansible_v28:
raise ImportError("Only supported with ansible-2.8 and newer")
Expand Down
2 changes: 1 addition & 1 deletion tests/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ def pytest_runtest_setup(item):
if isinstance(item, pytest.Function):
has_ansible_v1 = parse_version(ansible.__version__) < parse_version('2.0.0')
has_ansible_v24 = parse_version(ansible.__version__) >= parse_version('2.4.0')
has_ansible_v28 = parse_version(ansible.__version__) >= parse_version('2.8.0')
has_ansible_v28 = parse_version(ansible.__version__) >= parse_version('2.8.0.dev0')

# conditionally skip
if item.get_closest_marker('requires_ansible_v1') and not has_ansible_v1:
Expand Down
5 changes: 5 additions & 0 deletions tests/test_adhoc.py
Original file line number Diff line number Diff line change
Expand Up @@ -123,6 +123,11 @@ def test_func(ansible_module):
assert len(contacted) == len(ansible_module)
for result in contacted.values():
# Assert test failed as expected
if parse_version(ansible.__version__) >= parse_version('2.8.0.dev0'):
assert 'sudo: a password is required' in result['module_stderr']
assert 'MODULE FAILURE' in result['msg']
return
if parse_version(ansible.__version__) < parse_version('2.4.0'):
assert 'failed' in result, "Missing expected field in JSON response: failed"
assert result['failed'], "Test did not fail as expected"
Expand Down
9 changes: 8 additions & 1 deletion tests/test_params.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
import sys
import pytest
import ansible
import mock
try:
import mock
except ImportError:
from unittest import mock
import re
from _pytest.main import EXIT_OK, EXIT_TESTSFAILED, EXIT_USAGEERROR, EXIT_NOTESTSCOLLECTED, EXIT_INTERRUPTED
from pkg_resources import parse_version
Expand Down Expand Up @@ -206,6 +209,10 @@ def test_func(ansible_module):


@pytest.mark.requires_ansible_v24
@pytest.mark.skipif(
parse_version(ansible.__version__) >= parse_version('2.8.0.dev0'),
reason="requires ansible < 2.8"
)
def test_params_required_with_bogus_inventory_v24(testdir, option, recwarn):
src = """
import pytest
Expand Down

0 comments on commit e06f445

Please sign in to comment.