From 27f26823019af6c2c9d715385b5abf631772e292 Mon Sep 17 00:00:00 2001 From: Eduardo Chiarotti Date: Thu, 22 Aug 2024 19:50:40 -0300 Subject: [PATCH] feat: add unit tests for cl --- tests/cli/cli_test.py | 118 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 116 insertions(+), 2 deletions(-) diff --git a/tests/cli/cli_test.py b/tests/cli/cli_test.py index 4f606e213..b2fb8d0e5 100644 --- a/tests/cli/cli_test.py +++ b/tests/cli/cli_test.py @@ -2,8 +2,19 @@ from unittest import mock import pytest from click.testing import CliRunner - -from crewai.cli.cli import reset_memories, test, train, version +from crewai.cli.cli import ( + deploy_create, + deploy_list, + deploy_logs, + deploy_push, + deploy_remove, + deply_status, + reset_memories, + signup, + test, + train, + version, +) @pytest.fixture @@ -163,3 +174,106 @@ def test_test_invalid_string_iterations(evaluate_crew, runner): "Usage: test [OPTIONS]\nTry 'test --help' for help.\n\nError: Invalid value for '-n' / '--n_iterations': 'invalid' is not a valid integer.\n" in result.output ) + + +@mock.patch("crewai.cli.cli.AuthenticationCommand") +def test_signup(command, runner): + mock_auth = command.return_value + result = runner.invoke(signup) + + assert result.exit_code == 0 + mock_auth.signup.assert_called_once() + + +@mock.patch("crewai.cli.cli.DeployCommand") +def test_deploy_create(command, runner): + mock_deploy = command.return_value + result = runner.invoke(deploy_create) + + assert result.exit_code == 0 + mock_deploy.create_crew.assert_called_once() + + +@mock.patch("crewai.cli.cli.DeployCommand") +def test_deploy_list(command, runner): + mock_deploy = command.return_value + result = runner.invoke(deploy_list) + + assert result.exit_code == 0 + mock_deploy.list_crews.assert_called_once() + + +@mock.patch("crewai.cli.cli.DeployCommand") +def test_deploy_push(command, runner): + mock_deploy = command.return_value + uuid = "test-uuid" + result = runner.invoke(deploy_push, ["-u", uuid]) + + assert result.exit_code == 0 + mock_deploy.deploy.assert_called_once_with(uuid=uuid) + + +@mock.patch("crewai.cli.cli.DeployCommand") +def test_deploy_push_no_uuid(command, runner): + mock_deploy = command.return_value + result = runner.invoke(deploy_push) + + assert result.exit_code == 0 + mock_deploy.deploy.assert_called_once_with(uuid=None) + + +@mock.patch("crewai.cli.cli.DeployCommand") +def test_deploy_status(command, runner): + mock_deploy = command.return_value + uuid = "test-uuid" + result = runner.invoke(deply_status, ["-u", uuid]) + + assert result.exit_code == 0 + mock_deploy.get_crew_status.assert_called_once_with(uuid=uuid) + + +@mock.patch("crewai.cli.cli.DeployCommand") +def test_deploy_status_no_uuid(command, runner): + mock_deploy = command.return_value + result = runner.invoke(deply_status) + + assert result.exit_code == 0 + mock_deploy.get_crew_status.assert_called_once_with(uuid=None) + + +@mock.patch("crewai.cli.cli.DeployCommand") +def test_deploy_logs(command, runner): + mock_deploy = command.return_value + uuid = "test-uuid" + result = runner.invoke(deploy_logs, ["-u", uuid]) + + assert result.exit_code == 0 + mock_deploy.get_crew_logs.assert_called_once_with(uuid=uuid) + + +@mock.patch("crewai.cli.cli.DeployCommand") +def test_deploy_logs_no_uuid(command, runner): + mock_deploy = command.return_value + result = runner.invoke(deploy_logs) + + assert result.exit_code == 0 + mock_deploy.get_crew_logs.assert_called_once_with(uuid=None) + + +@mock.patch("crewai.cli.cli.DeployCommand") +def test_deploy_remove(command, runner): + mock_deploy = command.return_value + uuid = "test-uuid" + result = runner.invoke(deploy_remove, ["-u", uuid]) + + assert result.exit_code == 0 + mock_deploy.remove_crew.assert_called_once_with(uuid=uuid) + + +@mock.patch("crewai.cli.cli.DeployCommand") +def test_deploy_remove_no_uuid(command, runner): + mock_deploy = command.return_value + result = runner.invoke(deploy_remove) + + assert result.exit_code == 0 + mock_deploy.remove_crew.assert_called_once_with(uuid=None)