summaryrefslogtreecommitdiffstats
path: root/test/test_include_miss_file_with_role.py
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-28 16:04:56 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-28 16:04:56 +0000
commitd964cec5e6aa807b75c7a4e7cdc5f11e54b2eda2 (patch)
tree794bc3738a00b5e599f06d1f2f6d79048d87ff8e /test/test_include_miss_file_with_role.py
parentInitial commit. (diff)
downloadansible-lint-d964cec5e6aa807b75c7a4e7cdc5f11e54b2eda2.tar.xz
ansible-lint-d964cec5e6aa807b75c7a4e7cdc5f11e54b2eda2.zip
Adding upstream version 6.13.1.upstream/6.13.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'test/test_include_miss_file_with_role.py')
-rw-r--r--test/test_include_miss_file_with_role.py43
1 files changed, 43 insertions, 0 deletions
diff --git a/test/test_include_miss_file_with_role.py b/test/test_include_miss_file_with_role.py
new file mode 100644
index 0000000..6834758
--- /dev/null
+++ b/test/test_include_miss_file_with_role.py
@@ -0,0 +1,43 @@
+"""Tests related to inclusions."""
+import pytest
+from _pytest.logging import LogCaptureFixture
+
+from ansiblelint.rules import RulesCollection
+from ansiblelint.runner import Runner
+
+
+def test_cases_warning_message(default_rules_collection: RulesCollection) -> None:
+ """Test that including a non-existing file produces an error."""
+ playbook_path = "examples/playbooks/play_miss_include.yml"
+ runner = Runner(playbook_path, rules=default_rules_collection)
+ results = runner.run()
+
+ assert len(runner.lintables) == 3
+ assert len(results) == 1
+ assert "No such file or directory" in results[0].message
+
+
+@pytest.mark.parametrize(
+ "playbook_path",
+ (
+ pytest.param("examples/playbooks/test_include_inplace.yml", id="inplace"),
+ pytest.param("examples/playbooks/test_include_relative.yml", id="relative"),
+ ),
+)
+def test_cases_that_do_not_report(
+ playbook_path: str,
+ default_rules_collection: RulesCollection,
+ caplog: LogCaptureFixture,
+) -> None:
+ """Test that relative inclusions are properly followed."""
+ runner = Runner(playbook_path, rules=default_rules_collection)
+ result = runner.run()
+ noexist_message_count = 0
+
+ for record in caplog.records:
+ for msg in ("No such file or directory", "Couldn't open"):
+ if msg in str(record):
+ noexist_message_count += 1
+
+ assert noexist_message_count == 0
+ assert len(result) == 0