@@ -44,22 +44,42 @@ def test_generate_agent_md_file_creates_file(self) -> None:
4444 mock_as_file .return_value .__enter__ .return_value = mock_source
4545 mock_as_file .return_value .__exit__ .return_value = None
4646
47- generate_agent_md_file (temp_dir , "AGENTS.md" )
47+ generate_agent_md_file (temp_dir , "AGENTS.md" , False )
4848
4949 assert (Path (temp_dir ) / "AGENTS.md" ).exists ()
5050 finally :
5151 os .chdir (original_cwd )
5252
53- def test_generate_agents_md_skips_existing_file (self ) -> None :
54- """Test that existing AGENTS.md is not overwritten."""
53+ def test_generate_agents_md_overwrites_existing_file (self ) -> None :
54+ """Test that existing AGENTS.md is overwritten."""
5555 with tempfile .TemporaryDirectory () as temp_dir :
5656 agents_path = Path (temp_dir ) / "AGENTS.md"
5757 original_content = "Original content"
5858 agents_path .write_text (original_content )
5959
60- generate_agent_md_file (temp_dir , "AGENTS.md" )
60+ mock_source = (
61+ Path (__file__ ).parent .parent .parent
62+ / "src"
63+ / "uipath"
64+ / "_resources"
65+ / "AGENTS.md"
66+ )
6167
62- assert agents_path .read_text () == original_content
68+ with (
69+ patch ("uipath._cli.cli_init.importlib.resources.files" ) as mock_files ,
70+ patch (
71+ "uipath._cli.cli_init.importlib.resources.as_file"
72+ ) as mock_as_file ,
73+ ):
74+ mock_path = MagicMock ()
75+ mock_files .return_value .joinpath .return_value = mock_path
76+ mock_as_file .return_value .__enter__ .return_value = mock_source
77+ mock_as_file .return_value .__exit__ .return_value = None
78+
79+ generate_agent_md_file (temp_dir , "AGENTS.md" , False )
80+
81+ assert agents_path .read_text () != original_content
82+ assert agents_path .exists ()
6383
6484 def test_generate_agents_md_handles_errors_gracefully (self ) -> None :
6585 """Test that errors are handled gracefully."""
@@ -70,7 +90,7 @@ def test_generate_agents_md_handles_errors_gracefully(self) -> None:
7090 ):
7191 mock_files .side_effect = RuntimeError ("Test error" )
7292
73- generate_agent_md_file (temp_dir , "AGENTS.md" )
93+ generate_agent_md_file (temp_dir , "AGENTS.md" , False )
7494
7595 mock_console .warning .assert_called_once ()
7696 assert "Could not create AGENTS.md: Test error" in str (
@@ -100,7 +120,7 @@ def test_generate_agent_md_files_creates_all_files(self) -> None:
100120 mock_as_file .return_value .__enter__ .return_value = temp_source
101121 mock_as_file .return_value .__exit__ .return_value = None
102122
103- generate_agent_md_files (temp_dir )
123+ generate_agent_md_files (temp_dir , False )
104124
105125 agent_dir = Path (temp_dir ) / ".agent"
106126 assert agent_dir .exists ()
@@ -113,8 +133,8 @@ def test_generate_agent_md_files_creates_all_files(self) -> None:
113133 assert (agent_dir / "REQUIRED_STRUCTURE.md" ).exists ()
114134 assert (agent_dir / "SDK_REFERENCE.md" ).exists ()
115135
116- def test_generate_agent_md_files_skips_existing_files (self ) -> None :
117- """Test that existing files are not overwritten."""
136+ def test_generate_agent_md_files_overwrites_existing_files (self ) -> None :
137+ """Test that existing files are overwritten."""
118138 with tempfile .TemporaryDirectory () as temp_dir :
119139 agent_dir = Path (temp_dir ) / ".agent"
120140 agent_dir .mkdir ()
@@ -132,6 +152,7 @@ def test_generate_agent_md_files_skips_existing_files(self) -> None:
132152 patch (
133153 "uipath._cli.cli_init.importlib.resources.as_file"
134154 ) as mock_as_file ,
155+ patch ("uipath._cli.cli_init.console" ),
135156 ):
136157 temp_source = Path (temp_dir ) / "temp_source.md"
137158 temp_source .write_text ("Test content" )
@@ -141,10 +162,12 @@ def test_generate_agent_md_files_skips_existing_files(self) -> None:
141162 mock_as_file .return_value .__enter__ .return_value = temp_source
142163 mock_as_file .return_value .__exit__ .return_value = None
143164
144- generate_agent_md_files (temp_dir )
165+ generate_agent_md_files (temp_dir , False )
145166
146- assert agents_path .read_text () == agents_content
147- assert cli_ref_path .read_text () == cli_ref_content
167+ assert agents_path .read_text () != agents_content
168+ assert agents_path .read_text () == "Test content"
169+ assert cli_ref_path .read_text () != cli_ref_content
170+ assert cli_ref_path .read_text () == "Test content"
148171
149172
150173class TestInitWithAgentsMd :
@@ -187,10 +210,10 @@ def test_init_creates_agent_files_by_default(
187210 assert os .path .exists (".agent/REQUIRED_STRUCTURE.md" )
188211 assert os .path .exists (".agent/SDK_REFERENCE.md" )
189212
190- def test_init_does_not_overwrite_existing_agents_md (
213+ def test_init_overwrites_existing_agents_md (
191214 self , runner : CliRunner , temp_dir : str
192215 ) -> None :
193- """Test that existing AGENTS.md is not overwritten."""
216+ """Test that existing AGENTS.md is overwritten."""
194217 with runner .isolated_filesystem (temp_dir = temp_dir ):
195218 # Create a simple Python file
196219 with open ("main.py" , "w" ) as f :
@@ -201,11 +224,28 @@ def test_init_does_not_overwrite_existing_agents_md(
201224 with open ("AGENTS.md" , "w" ) as f :
202225 f .write (original_content )
203226
204- # Run init (AGENTS.md creation is now default)
205- result = runner . invoke ( cli , [ "init" ] )
227+ temp_source = Path ( temp_dir ) / "temp_source.md"
228+ temp_source . write_text ( "Test content" )
206229
207- assert result .exit_code == 0
230+ with (
231+ patch ("uipath._cli.cli_init.importlib.resources.files" ) as mock_files ,
232+ patch (
233+ "uipath._cli.cli_init.importlib.resources.as_file"
234+ ) as mock_as_file ,
235+ ):
236+ # Setup mocks
237+ mock_path = MagicMock ()
238+ mock_files .return_value .joinpath .return_value = mock_path
239+ mock_as_file .return_value .__enter__ .return_value = temp_source
240+ mock_as_file .return_value .__exit__ .return_value = None
241+
242+ # Run init (AGENTS.md creation is now default)
243+ result = runner .invoke (cli , ["init" ])
244+
245+ assert result .exit_code == 0
208246
209- # Verify content wasn't changed
210- with open ("AGENTS.md" , "r" ) as f :
211- assert f .read () == original_content
247+ # Verify content was changed
248+ with open ("AGENTS.md" , "r" ) as f :
249+ content = f .read ()
250+ assert content != original_content
251+ assert content == "Test content"
0 commit comments