2323from cli import (
2424 _read_json_file ,
2525 _determine_bazel_rule ,
26+ _build_bazel_target ,
2627 handle_generate ,
2728 handle_build ,
2829 handle_configure ,
@@ -78,6 +79,29 @@ def test_determine_bazel_rule_success(mocker, caplog):
7879 assert "Found Bazel rule" in caplog .text
7980
8081
82+ def test_build_bazel_target_success (mocker , caplog ):
83+ """
84+ Tests that the build helper logs success when the command runs correctly.
85+ """
86+ caplog .set_level (logging .INFO )
87+ mocker .patch ("cli.subprocess.run" , return_value = MagicMock (returncode = 0 ))
88+ _build_bazel_target ("mock/bazel:rule" )
89+ assert "Bazel build for mock/bazel:rule rule completed successfully" in caplog .text
90+
91+
92+ def test_build_bazel_target_fails (mocker , caplog ):
93+ """
94+ Tests that ValueError is raised if the subprocess command fails.
95+ """
96+ caplog .set_level (logging .ERROR )
97+ mocker .patch (
98+ "cli.subprocess.run" ,
99+ side_effect = subprocess .CalledProcessError (1 , "cmd" , stderr = "Build failed" ),
100+ )
101+ with pytest .raises (ValueError ):
102+ _build_bazel_target ("mock/bazel:rule" )
103+
104+
81105def test_determine_bazel_rule_command_fails (mocker , caplog ):
82106 """
83107 Tests that an exception is raised if the subprocess command fails.
@@ -103,6 +127,7 @@ def test_handle_generate_success(caplog, mock_generate_request_file, mocker):
103127 mock_determine_rule = mocker .patch (
104128 "cli._determine_bazel_rule" , return_value = "mock-rule"
105129 )
130+ mock_build_target = mocker .patch ("cli._build_bazel_target" )
106131
107132 handle_generate ()
108133
0 commit comments