feat: persist available Tools from repository on publish

This commit is contained in:
Lucas Gomide
2025-05-15 18:53:15 -03:00
parent 5a9360e9a7
commit d2144891d8
6 changed files with 298 additions and 3 deletions

View File

@@ -135,7 +135,9 @@ def test_publish_when_not_in_sync(mock_is_synced, capsys, tool_command):
)
@patch("crewai.cli.plus_api.PlusAPI.publish_tool")
@patch("crewai.cli.tools.main.git.Repository.is_synced", return_value=False)
@patch("crewai.cli.tools.main.extract_available_tools", return_value=["SampleTool"])
def test_publish_when_not_in_sync_and_force(
mock_extract_available_tools,
mock_is_synced,
mock_publish,
mock_open,
@@ -168,6 +170,7 @@ def test_publish_when_not_in_sync_and_force(
version="1.0.0",
description="A sample tool",
encoded_file=unittest.mock.ANY,
available_tools=["SampleTool"],
)
@@ -183,7 +186,9 @@ def test_publish_when_not_in_sync_and_force(
)
@patch("crewai.cli.plus_api.PlusAPI.publish_tool")
@patch("crewai.cli.tools.main.git.Repository.is_synced", return_value=True)
@patch("crewai.cli.tools.main.extract_available_tools", return_value=["SampleTool"])
def test_publish_success(
mock_extract_available_tools,
mock_is_synced,
mock_publish,
mock_open,
@@ -216,6 +221,7 @@ def test_publish_success(
version="1.0.0",
description="A sample tool",
encoded_file=unittest.mock.ANY,
available_tools=["SampleTool"],
)
@@ -230,7 +236,9 @@ def test_publish_success(
read_data=b"sample tarball content",
)
@patch("crewai.cli.plus_api.PlusAPI.publish_tool")
@patch("crewai.cli.tools.main.extract_available_tools", return_value=["SampleTool"])
def test_publish_failure(
mock_extract_available_tools,
mock_publish,
mock_open,
mock_listdir,
@@ -266,7 +274,9 @@ def test_publish_failure(
read_data=b"sample tarball content",
)
@patch("crewai.cli.plus_api.PlusAPI.publish_tool")
@patch("crewai.cli.tools.main.extract_available_tools", return_value=["SampleTool"])
def test_publish_api_error(
mock_extract_available_tools,
mock_publish,
mock_open,
mock_listdir,