diff options
Diffstat (limited to 'autogpts/autogpt/tests/conftest.py')
-rw-r--r-- | autogpts/autogpt/tests/conftest.py | 33 |
1 files changed, 20 insertions, 13 deletions
diff --git a/autogpts/autogpt/tests/conftest.py b/autogpts/autogpt/tests/conftest.py index 460c0a665..a73aa7571 100644 --- a/autogpts/autogpt/tests/conftest.py +++ b/autogpts/autogpt/tests/conftest.py @@ -1,4 +1,5 @@ import os +import uuid from pathlib import Path from tempfile import TemporaryDirectory @@ -10,10 +11,13 @@ from autogpt.agents.agent import Agent, AgentConfiguration, AgentSettings from autogpt.app.main import _configure_openai_provider from autogpt.config import AIProfile, Config, ConfigBuilder from autogpt.core.resource.model_providers import ChatModelProvider, OpenAIProvider -from autogpt.file_workspace import FileWorkspace +from autogpt.file_workspace.local import ( + FileWorkspace, + FileWorkspaceConfiguration, + LocalFileWorkspace, +) from autogpt.llm.api_manager import ApiManager from autogpt.logs.config import configure_logging -from autogpt.memory.vector import get_memory from autogpt.models.command_registry import CommandRegistry pytest_plugins = [ @@ -30,7 +34,9 @@ def tmp_project_root(tmp_path: Path) -> Path: @pytest.fixture() def app_data_dir(tmp_project_root: Path) -> Path: - return tmp_project_root / "data" + dir = tmp_project_root / "data" + dir.mkdir(parents=True, exist_ok=True) + return dir @pytest.fixture() @@ -45,14 +51,17 @@ def workspace_root(agent_data_dir: Path) -> Path: @pytest.fixture() def workspace(workspace_root: Path) -> FileWorkspace: - workspace = FileWorkspace(workspace_root, restrict_to_root=True) + workspace = LocalFileWorkspace(FileWorkspaceConfiguration(root=workspace_root)) workspace.initialize() return workspace @pytest.fixture def temp_plugins_config_file(): - """Create a plugins_config.yaml file in a temp directory so that it doesn't mess with existing ones""" + """ + Create a plugins_config.yaml file in a temp directory + so that it doesn't mess with existing ones. + """ config_directory = TemporaryDirectory() config_file = Path(config_directory.name) / "plugins_config.yaml" with open(config_file, "w+") as f: @@ -61,24 +70,25 @@ def temp_plugins_config_file(): yield config_file -@pytest.fixture() +@pytest.fixture(scope="function") def config( temp_plugins_config_file: Path, tmp_project_root: Path, app_data_dir: Path, mocker: MockerFixture, ): - config = ConfigBuilder.build_config_from_env(project_root=tmp_project_root) if not os.environ.get("OPENAI_API_KEY"): os.environ["OPENAI_API_KEY"] = "sk-dummy" + config = ConfigBuilder.build_config_from_env(project_root=tmp_project_root) config.app_data_dir = app_data_dir config.plugins_dir = "tests/unit/data/test_plugins" config.plugins_config_file = temp_plugins_config_file + config.logging.log_dir = Path(__file__).parent / "logs" + config.logging.plain_console_output = True config.noninteractive_mode = True - config.plain_output = True # avoid circular dependency from autogpt.plugins.plugins_config import PluginsConfig @@ -93,11 +103,7 @@ def config( @pytest.fixture(scope="session") def setup_logger(config: Config): - configure_logging( - debug_mode=config.debug_mode, - plain_output=config.plain_output, - log_dir=Path(__file__).parent / "logs", - ) + configure_logging(**config.logging.dict()) @pytest.fixture() @@ -130,6 +136,7 @@ def agent( agent_settings = AgentSettings( name=Agent.default_settings.name, description=Agent.default_settings.description, + agent_id=f"AutoGPT-test-agent-{str(uuid.uuid4())[:8]}", ai_profile=ai_profile, config=AgentConfiguration( fast_llm=config.fast_llm, |