|
- from autogen import UserProxyAgent
- import pytest
- from conftest import skip_openai
- import os
-
- from autogen.code_utils import (
- is_docker_running,
- in_docker_container,
- )
-
- try:
- import openai
- except ImportError:
- skip = True
- else:
- skip = False or skip_openai
-
-
- def get_current_autogen_env_var():
- return os.environ.get("AUTOGEN_USE_DOCKER", None)
-
-
- def restore_autogen_env_var(current_env_value):
- if current_env_value is None:
- del os.environ["AUTOGEN_USE_DOCKER"]
- else:
- os.environ["AUTOGEN_USE_DOCKER"] = current_env_value
-
-
- def docker_running():
- return is_docker_running() or in_docker_container()
-
-
- @pytest.mark.skipif(skip, reason="openai not installed")
- def test_agent_setup_with_code_execution_off():
- user_proxy = UserProxyAgent(
- name="test_agent",
- human_input_mode="NEVER",
- code_execution_config=False,
- )
-
- assert user_proxy._code_execution_config is False
-
-
- @pytest.mark.skipif(skip, reason="openai not installed")
- def test_agent_setup_with_use_docker_false():
- user_proxy = UserProxyAgent(
- name="test_agent",
- human_input_mode="NEVER",
- code_execution_config={"use_docker": False},
- )
-
- assert user_proxy._code_execution_config["use_docker"] is False
-
-
- @pytest.mark.skipif(skip, reason="openai not installed")
- def test_agent_setup_with_env_variable_false_and_docker_running():
- current_env_value = get_current_autogen_env_var()
-
- os.environ["AUTOGEN_USE_DOCKER"] = "False"
- user_proxy = UserProxyAgent(
- name="test_agent",
- human_input_mode="NEVER",
- )
-
- assert user_proxy._code_execution_config["use_docker"] is False
-
- restore_autogen_env_var(current_env_value)
-
-
- @pytest.mark.skipif(skip or (not docker_running()), reason="openai not installed OR docker not running")
- def test_agent_setup_with_default_and_docker_running():
- user_proxy = UserProxyAgent(
- name="test_agent",
- human_input_mode="NEVER",
- )
-
- assert user_proxy._code_execution_config["use_docker"] is True
-
-
- @pytest.mark.skipif(skip or (docker_running()), reason="openai not installed OR docker running")
- def test_raises_error_agent_setup_with_default_and_docker_not_running():
- with pytest.raises(RuntimeError):
- UserProxyAgent(
- name="test_agent",
- human_input_mode="NEVER",
- )
-
-
- @pytest.mark.skipif(skip or (docker_running()), reason="openai not installed OR docker running")
- def test_raises_error_agent_setup_with_env_variable_true_and_docker_not_running():
- current_env_value = get_current_autogen_env_var()
-
- os.environ["AUTOGEN_USE_DOCKER"] = "True"
-
- with pytest.raises(RuntimeError):
- UserProxyAgent(
- name="test_agent",
- human_input_mode="NEVER",
- )
-
- restore_autogen_env_var(current_env_value)
-
-
- @pytest.mark.skipif(skip or (not docker_running()), reason="openai not installed OR docker not running")
- def test_agent_setup_with_env_variable_true_and_docker_running():
- current_env_value = get_current_autogen_env_var()
-
- os.environ["AUTOGEN_USE_DOCKER"] = "True"
-
- user_proxy = UserProxyAgent(
- name="test_agent",
- human_input_mode="NEVER",
- )
-
- assert user_proxy._code_execution_config["use_docker"] is True
-
- restore_autogen_env_var(current_env_value)
|