Spaces:
Build error
Build error
"""Tests for the setup script.""" | |
from unittest.mock import patch | |
from conftest import ( | |
_load_runtime, | |
) | |
from openhands.core.setup import initialize_repository_for_runtime | |
from openhands.events.action import FileReadAction, FileWriteAction | |
from openhands.events.observation import FileReadObservation, FileWriteObservation | |
from openhands.integrations.service_types import ProviderType, Repository | |
def test_initialize_repository_for_runtime(temp_dir, runtime_cls, run_as_openhands): | |
"""Test that the initialize_repository_for_runtime function works.""" | |
runtime, config = _load_runtime(temp_dir, runtime_cls, run_as_openhands) | |
mock_repo = Repository( | |
id=1232, | |
full_name='All-Hands-AI/OpenHands', | |
git_provider=ProviderType.GITHUB, | |
is_public=True, | |
) | |
with patch( | |
'openhands.runtime.base.ProviderHandler.verify_repo_provider', | |
return_value=mock_repo, | |
): | |
repository_dir = initialize_repository_for_runtime( | |
runtime, selected_repository='All-Hands-AI/OpenHands' | |
) | |
assert repository_dir is not None | |
assert repository_dir == 'OpenHands' | |
def test_maybe_run_setup_script(temp_dir, runtime_cls, run_as_openhands): | |
"""Test that setup script is executed when it exists.""" | |
runtime, config = _load_runtime(temp_dir, runtime_cls, run_as_openhands) | |
setup_script = '.openhands/setup.sh' | |
write_obs = runtime.write( | |
FileWriteAction( | |
path=setup_script, content="#!/bin/bash\necho 'Hello World' >> README.md\n" | |
) | |
) | |
assert isinstance(write_obs, FileWriteObservation) | |
# Run setup script | |
runtime.maybe_run_setup_script() | |
# Verify script was executed by checking output | |
read_obs = runtime.read(FileReadAction(path='README.md')) | |
assert isinstance(read_obs, FileReadObservation) | |
assert read_obs.content == 'Hello World\n' | |
def test_maybe_run_setup_script_with_long_timeout( | |
temp_dir, runtime_cls, run_as_openhands | |
): | |
"""Test that setup script is executed when it exists.""" | |
runtime, config = _load_runtime( | |
temp_dir, | |
runtime_cls, | |
run_as_openhands, | |
runtime_startup_env_vars={'NO_CHANGE_TIMEOUT_SECONDS': '1'}, | |
) | |
setup_script = '.openhands/setup.sh' | |
write_obs = runtime.write( | |
FileWriteAction( | |
path=setup_script, | |
content="#!/bin/bash\nsleep 3 && echo 'Hello World' >> README.md\n", | |
) | |
) | |
assert isinstance(write_obs, FileWriteObservation) | |
# Run setup script | |
runtime.maybe_run_setup_script() | |
# Verify script was executed by checking output | |
read_obs = runtime.read(FileReadAction(path='README.md')) | |
assert isinstance(read_obs, FileReadObservation) | |
assert read_obs.content == 'Hello World\n' | |