Skip to content

Commit 27ae28e

Browse files
shatakshiiiipre-commit-ci[bot]alisonlhartssbarnea
authored
Add test for validate pattern name (#434)
* Add test for _valid_pattern_name * Add test for _valid_pattern_name * Add test * chore: auto fixes from pre-commit.com hooks * Optimise this test --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Alison Hart <[email protected]> Co-authored-by: Sorin Sbarnea <[email protected]>
1 parent 6e3eb67 commit 27ae28e

File tree

1 file changed

+38
-0
lines changed

1 file changed

+38
-0
lines changed

tests/units/test_basic.py

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010

1111
import pytest
1212

13+
from ansible_creator.arg_parser import Parser
1314
from ansible_creator.cli import Cli
1415
from ansible_creator.config import Config
1516
from ansible_creator.output import Output
@@ -486,3 +487,40 @@ def test_config_post_init(
486487
)
487488
config.__post_init__()
488489
assert config.project == "playbook"
490+
491+
492+
def test_valid_pattern_name() -> None:
493+
"""Test the _valid_pattern_name function.
494+
495+
Raises:
496+
AssertionError: If the assertion fails.
497+
"""
498+
parser = Parser()
499+
500+
# Test valid pattern names
501+
valid_names = [
502+
"my_pattern",
503+
"weather_forecast",
504+
"test123",
505+
"pattern_name_123",
506+
"a" * 63, # Maximum length
507+
"abc", # Minimum length
508+
]
509+
for name in valid_names:
510+
result = parser._valid_pattern_name(name)
511+
assert result == name
512+
assert len(parser.pending_logs) == 0
513+
514+
# Test invalid pattern names - starts with underscore
515+
parser.pending_logs.clear()
516+
result = parser._valid_pattern_name("_invalid")
517+
assert result == "_invalid"
518+
assert len(parser.pending_logs) == 1
519+
assert "cannot begin with an underscore" in parser.pending_logs[0].message
520+
521+
# Test invalid pattern names - too short
522+
parser.pending_logs.clear()
523+
result = parser._valid_pattern_name("ab")
524+
assert result == "ab"
525+
assert len(parser.pending_logs) == 1
526+
assert "longer than 2 characters" in parser.pending_logs[0].message

0 commit comments

Comments
 (0)