mirror of
https://github.com/aljazceru/Auto-GPT.git
synced 2026-01-10 09:44:26 +01:00
fix: Nonetype error from command_name.startswith() (#5079)
Co-authored-by: lc0rp <2609411+lc0rp@users.noreply.github.com> Co-authored-by: James Collins <collijk@uw.edu>
This commit is contained in:
@@ -343,23 +343,25 @@ def update_user(
|
||||
print_assistant_thoughts(ai_config.ai_name, assistant_reply_dict, config)
|
||||
|
||||
if command_name is not None:
|
||||
if config.speak_mode:
|
||||
say_text(f"I want to execute {command_name}", config)
|
||||
if command_name.lower().startswith("error"):
|
||||
logger.typewriter_log(
|
||||
"ERROR: ",
|
||||
Fore.RED,
|
||||
f"The Agent failed to select an action. "
|
||||
f"Error message: {command_name}",
|
||||
)
|
||||
else:
|
||||
if config.speak_mode:
|
||||
say_text(f"I want to execute {command_name}", config)
|
||||
|
||||
# First log new-line so user can differentiate sections better in console
|
||||
logger.typewriter_log("\n")
|
||||
logger.typewriter_log(
|
||||
"NEXT ACTION: ",
|
||||
Fore.CYAN,
|
||||
f"COMMAND = {Fore.CYAN}{remove_ansi_escape(command_name)}{Style.RESET_ALL} "
|
||||
f"ARGUMENTS = {Fore.CYAN}{command_args}{Style.RESET_ALL}",
|
||||
)
|
||||
elif command_name.lower().startswith("error"):
|
||||
logger.typewriter_log(
|
||||
"ERROR: ",
|
||||
Fore.RED,
|
||||
f"The Agent failed to select an action. " f"Error message: {command_name}",
|
||||
)
|
||||
# First log new-line so user can differentiate sections better in console
|
||||
logger.typewriter_log("\n")
|
||||
logger.typewriter_log(
|
||||
"NEXT ACTION: ",
|
||||
Fore.CYAN,
|
||||
f"COMMAND = {Fore.CYAN}{remove_ansi_escape(command_name)}{Style.RESET_ALL} "
|
||||
f"ARGUMENTS = {Fore.CYAN}{command_args}{Style.RESET_ALL}",
|
||||
)
|
||||
else:
|
||||
logger.typewriter_log(
|
||||
"NO ACTION SELECTED: ",
|
||||
|
||||
33
tests/integration/test_update_user.py
Normal file
33
tests/integration/test_update_user.py
Normal file
@@ -0,0 +1,33 @@
|
||||
from unittest.mock import MagicMock, patch
|
||||
|
||||
from colorama import Fore
|
||||
|
||||
from autogpt.app.main import update_user
|
||||
|
||||
|
||||
def test_update_user_command_name_is_none() -> None:
|
||||
# Mock necessary objects
|
||||
config = MagicMock()
|
||||
ai_config = MagicMock()
|
||||
assistant_reply_dict = MagicMock()
|
||||
|
||||
# Mock print_assistant_thoughts and logger.typewriter_log
|
||||
with patch(
|
||||
"autogpt.app.main.print_assistant_thoughts"
|
||||
) as mock_print_assistant_thoughts, patch(
|
||||
"autogpt.app.main.logger.typewriter_log"
|
||||
) as mock_logger_typewriter_log:
|
||||
# Test the update_user function with None command_name
|
||||
update_user(config, ai_config, None, None, assistant_reply_dict)
|
||||
|
||||
# Check that print_assistant_thoughts was called once
|
||||
mock_print_assistant_thoughts.assert_called_once_with(
|
||||
ai_config.ai_name, assistant_reply_dict, config
|
||||
)
|
||||
|
||||
# Check that logger.typewriter_log was called once with expected arguments
|
||||
mock_logger_typewriter_log.assert_called_once_with(
|
||||
"NO ACTION SELECTED: ",
|
||||
Fore.RED,
|
||||
f"The Agent failed to select an action.",
|
||||
)
|
||||
Reference in New Issue
Block a user