Get current crewai version from poetry.lock

This commit is contained in:
Thiago Moretto
2024-08-29 11:14:04 -03:00
parent fa937bf3a7
commit 345f1eacde
2 changed files with 42 additions and 40 deletions

View File

@@ -153,21 +153,6 @@ class TestDeployCommand(unittest.TestCase):
"Crew 'test_project' removed successfully", fake_out.getvalue()
)
@patch('crewai.cli.deploy.utils.sys.version_info', (3, 10))
def test_parse_toml_python_310(self):
toml_content = """
[tool.poetry]
name = "test_project"
version = "0.1.0"
[tool.poetry.dependencies]
python = "^3.10"
crewai = "^0.1.0"
"""
parsed = parse_toml(toml_content)
self.assertEqual(parsed['tool']['poetry']['name'], 'test_project')
self.assertEqual(parsed['tool']['poetry']['dependencies']['crewai'], '^0.1.0')
@unittest.skipIf(sys.version_info < (3, 11), "Requires Python 3.11+")
def test_parse_toml_python_311_plus(self):
toml_content = """
@@ -177,11 +162,10 @@ class TestDeployCommand(unittest.TestCase):
[tool.poetry.dependencies]
python = "^3.11"
crewai = "^0.1.0"
crewai = { extras = ["tools"], version = ">=0.51.0,<1.0.0" }
"""
parsed = parse_toml(toml_content)
self.assertEqual(parsed['tool']['poetry']['name'], 'test_project')
self.assertEqual(parsed['tool']['poetry']['dependencies']['crewai'], '^0.1.0')
@patch('builtins.open', new_callable=unittest.mock.mock_open, read_data="""
[tool.poetry]
@@ -190,7 +174,7 @@ class TestDeployCommand(unittest.TestCase):
[tool.poetry.dependencies]
python = "^3.10"
crewai = "^0.1.0"
crewai = { extras = ["tools"], version = ">=0.51.0,<1.0.0" }
""")
def test_get_project_name_python_310(self, mock_open):
from crewai.cli.deploy.utils import get_project_name
@@ -205,9 +189,31 @@ class TestDeployCommand(unittest.TestCase):
[tool.poetry.dependencies]
python = "^3.11"
crewai = "^0.1.0"
crewai = { extras = ["tools"], version = ">=0.51.0,<1.0.0" }
""")
def test_get_project_name_python_311_plus(self, mock_open):
from crewai.cli.deploy.utils import get_project_name
project_name = get_project_name()
self.assertEqual(project_name, 'test_project')
@patch('builtins.open', new_callable=unittest.mock.mock_open, read_data="""
[[package]]
name = "crewai"
version = "0.51.1"
description = "Some description"
category = "main"
optional = false
python-versions = ">=3.10,<4.0"
""")
def test_get_crewai_version(self, mock_open):
from crewai.cli.deploy.utils import get_crewai_version
version = get_crewai_version()
self.assertEqual(version, '0.51.1')
@patch('builtins.open', side_effect=FileNotFoundError)
def test_get_crewai_version_file_not_found(self, mock_open):
from crewai.cli.deploy.utils import get_crewai_version
with patch('sys.stdout', new=StringIO()) as fake_out:
version = get_crewai_version()
self.assertEqual(version, 'no-version-found')
self.assertIn("Error: poetry.lock not found.", fake_out.getvalue())