From baeb3fb40a2b6c7a1ce624855e693f923bf9c283 Mon Sep 17 00:00:00 2001 From: shatakshiiii Date: Fri, 4 Jul 2025 12:48:51 +0530 Subject: [PATCH 1/5] Add test for _valid_pattern_name --- tests/units/test_basic.py | 61 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) diff --git a/tests/units/test_basic.py b/tests/units/test_basic.py index 0674afdc..8c7177c4 100644 --- a/tests/units/test_basic.py +++ b/tests/units/test_basic.py @@ -486,3 +486,64 @@ def test_config_post_init( ) config.__post_init__() assert config.project == "playbook" + + +def test_valid_pattern_name() -> None: + """Test the _valid_pattern_name function. + + Raises: + AssertionError: If the assertion fails. + """ + from ansible_creator.arg_parser import Parser + + parser = Parser() + + # Test valid pattern names + valid_names = [ + "my_pattern", + "weather_forecast", + "test123", + "pattern_name_123", + "a" * 63, # Maximum length + "abc", # Minimum length + ] + + for name in valid_names: + result = parser._valid_pattern_name(name) + assert result == name + assert len(parser.pending_logs) == 0 + + # Test invalid pattern names - starts with underscore + parser.pending_logs.clear() + result = parser._valid_pattern_name("_invalid") + assert result == "_invalid" + assert len(parser.pending_logs) == 1 + assert "cannot begin with an underscore" in parser.pending_logs[0].message + + # Test invalid pattern names - contains uppercase + parser.pending_logs.clear() + result = parser._valid_pattern_name("InvalidPattern") + assert result == "InvalidPattern" + assert len(parser.pending_logs) == 1 + assert "lower case letters" in parser.pending_logs[0].message + + # Test invalid pattern names - contains special characters + parser.pending_logs.clear() + result = parser._valid_pattern_name("pattern-name") + assert result == "pattern-name" + assert len(parser.pending_logs) == 1 + assert "lower case letters" in parser.pending_logs[0].message + + # Test invalid pattern names - too short + parser.pending_logs.clear() + result = parser._valid_pattern_name("ab") + assert result == "ab" + assert len(parser.pending_logs) == 1 + assert "longer than 2 characters" in parser.pending_logs[0].message + + # Test invalid pattern names - too long + parser.pending_logs.clear() + result = parser._valid_pattern_name("a" * 64) + assert result == "a" * 64 + assert len(parser.pending_logs) == 1 + assert "less than 64 characters" in parser.pending_logs[0].message From b4a54d0d883f05fb21c20e0ff304d9ff5d4f6676 Mon Sep 17 00:00:00 2001 From: shatakshiiii Date: Fri, 4 Jul 2025 12:50:33 +0530 Subject: [PATCH 2/5] Add test for _valid_pattern_name --- tests/units/test_basic.py | 61 --------------------------------------- 1 file changed, 61 deletions(-) diff --git a/tests/units/test_basic.py b/tests/units/test_basic.py index 8c7177c4..0674afdc 100644 --- a/tests/units/test_basic.py +++ b/tests/units/test_basic.py @@ -486,64 +486,3 @@ def test_config_post_init( ) config.__post_init__() assert config.project == "playbook" - - -def test_valid_pattern_name() -> None: - """Test the _valid_pattern_name function. - - Raises: - AssertionError: If the assertion fails. - """ - from ansible_creator.arg_parser import Parser - - parser = Parser() - - # Test valid pattern names - valid_names = [ - "my_pattern", - "weather_forecast", - "test123", - "pattern_name_123", - "a" * 63, # Maximum length - "abc", # Minimum length - ] - - for name in valid_names: - result = parser._valid_pattern_name(name) - assert result == name - assert len(parser.pending_logs) == 0 - - # Test invalid pattern names - starts with underscore - parser.pending_logs.clear() - result = parser._valid_pattern_name("_invalid") - assert result == "_invalid" - assert len(parser.pending_logs) == 1 - assert "cannot begin with an underscore" in parser.pending_logs[0].message - - # Test invalid pattern names - contains uppercase - parser.pending_logs.clear() - result = parser._valid_pattern_name("InvalidPattern") - assert result == "InvalidPattern" - assert len(parser.pending_logs) == 1 - assert "lower case letters" in parser.pending_logs[0].message - - # Test invalid pattern names - contains special characters - parser.pending_logs.clear() - result = parser._valid_pattern_name("pattern-name") - assert result == "pattern-name" - assert len(parser.pending_logs) == 1 - assert "lower case letters" in parser.pending_logs[0].message - - # Test invalid pattern names - too short - parser.pending_logs.clear() - result = parser._valid_pattern_name("ab") - assert result == "ab" - assert len(parser.pending_logs) == 1 - assert "longer than 2 characters" in parser.pending_logs[0].message - - # Test invalid pattern names - too long - parser.pending_logs.clear() - result = parser._valid_pattern_name("a" * 64) - assert result == "a" * 64 - assert len(parser.pending_logs) == 1 - assert "less than 64 characters" in parser.pending_logs[0].message From ecfb753d14e5ec54acbb997d8f8148fb9c3b30df Mon Sep 17 00:00:00 2001 From: shatakshiiii Date: Fri, 4 Jul 2025 12:53:02 +0530 Subject: [PATCH 3/5] Add test --- tests/units/test_basic.py | 61 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) diff --git a/tests/units/test_basic.py b/tests/units/test_basic.py index 0674afdc..8c7177c4 100644 --- a/tests/units/test_basic.py +++ b/tests/units/test_basic.py @@ -486,3 +486,64 @@ def test_config_post_init( ) config.__post_init__() assert config.project == "playbook" + + +def test_valid_pattern_name() -> None: + """Test the _valid_pattern_name function. + + Raises: + AssertionError: If the assertion fails. + """ + from ansible_creator.arg_parser import Parser + + parser = Parser() + + # Test valid pattern names + valid_names = [ + "my_pattern", + "weather_forecast", + "test123", + "pattern_name_123", + "a" * 63, # Maximum length + "abc", # Minimum length + ] + + for name in valid_names: + result = parser._valid_pattern_name(name) + assert result == name + assert len(parser.pending_logs) == 0 + + # Test invalid pattern names - starts with underscore + parser.pending_logs.clear() + result = parser._valid_pattern_name("_invalid") + assert result == "_invalid" + assert len(parser.pending_logs) == 1 + assert "cannot begin with an underscore" in parser.pending_logs[0].message + + # Test invalid pattern names - contains uppercase + parser.pending_logs.clear() + result = parser._valid_pattern_name("InvalidPattern") + assert result == "InvalidPattern" + assert len(parser.pending_logs) == 1 + assert "lower case letters" in parser.pending_logs[0].message + + # Test invalid pattern names - contains special characters + parser.pending_logs.clear() + result = parser._valid_pattern_name("pattern-name") + assert result == "pattern-name" + assert len(parser.pending_logs) == 1 + assert "lower case letters" in parser.pending_logs[0].message + + # Test invalid pattern names - too short + parser.pending_logs.clear() + result = parser._valid_pattern_name("ab") + assert result == "ab" + assert len(parser.pending_logs) == 1 + assert "longer than 2 characters" in parser.pending_logs[0].message + + # Test invalid pattern names - too long + parser.pending_logs.clear() + result = parser._valid_pattern_name("a" * 64) + assert result == "a" * 64 + assert len(parser.pending_logs) == 1 + assert "less than 64 characters" in parser.pending_logs[0].message From 8c10d5c53168eaf10b05c69c748bdde2a593c0e0 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Fri, 4 Jul 2025 07:23:35 +0000 Subject: [PATCH 4/5] chore: auto fixes from pre-commit.com hooks --- tests/units/test_basic.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/units/test_basic.py b/tests/units/test_basic.py index 8c7177c4..cfd85d10 100644 --- a/tests/units/test_basic.py +++ b/tests/units/test_basic.py @@ -505,7 +505,7 @@ def test_valid_pattern_name() -> None: "test123", "pattern_name_123", "a" * 63, # Maximum length - "abc", # Minimum length + "abc", # Minimum length ] for name in valid_names: From 93e1b4710669005dde0ac35dab7de888ccda3bcd Mon Sep 17 00:00:00 2001 From: shatakshiiii Date: Tue, 9 Sep 2025 12:40:39 +0530 Subject: [PATCH 5/5] Optimise this test --- tests/units/test_basic.py | 25 +------------------------ 1 file changed, 1 insertion(+), 24 deletions(-) diff --git a/tests/units/test_basic.py b/tests/units/test_basic.py index 674ab379..39fca2c3 100644 --- a/tests/units/test_basic.py +++ b/tests/units/test_basic.py @@ -10,6 +10,7 @@ import pytest +from ansible_creator.arg_parser import Parser from ansible_creator.cli import Cli from ansible_creator.config import Config from ansible_creator.output import Output @@ -494,8 +495,6 @@ def test_valid_pattern_name() -> None: Raises: AssertionError: If the assertion fails. """ - from ansible_creator.arg_parser import Parser - parser = Parser() # Test valid pattern names @@ -507,7 +506,6 @@ def test_valid_pattern_name() -> None: "a" * 63, # Maximum length "abc", # Minimum length ] - for name in valid_names: result = parser._valid_pattern_name(name) assert result == name @@ -520,30 +518,9 @@ def test_valid_pattern_name() -> None: assert len(parser.pending_logs) == 1 assert "cannot begin with an underscore" in parser.pending_logs[0].message - # Test invalid pattern names - contains uppercase - parser.pending_logs.clear() - result = parser._valid_pattern_name("InvalidPattern") - assert result == "InvalidPattern" - assert len(parser.pending_logs) == 1 - assert "lower case letters" in parser.pending_logs[0].message - - # Test invalid pattern names - contains special characters - parser.pending_logs.clear() - result = parser._valid_pattern_name("pattern-name") - assert result == "pattern-name" - assert len(parser.pending_logs) == 1 - assert "lower case letters" in parser.pending_logs[0].message - # Test invalid pattern names - too short parser.pending_logs.clear() result = parser._valid_pattern_name("ab") assert result == "ab" assert len(parser.pending_logs) == 1 assert "longer than 2 characters" in parser.pending_logs[0].message - - # Test invalid pattern names - too long - parser.pending_logs.clear() - result = parser._valid_pattern_name("a" * 64) - assert result == "a" * 64 - assert len(parser.pending_logs) == 1 - assert "less than 64 characters" in parser.pending_logs[0].message