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' | |