aux_backup / test_comm_fallback.py
harvesthealth's picture
Upload folder using huggingface_hub
600f3ee verified
import asyncio
import os
import json
from unittest.mock import AsyncMock, MagicMock, patch
import sys
# Mock gradio
sys.modules['gradio'] = MagicMock()
# Mock git
sys.modules['git'] = MagicMock()
import app
async def test_jules_comm_fallbacks():
# Mocking get_all_tools and run_manual_agent
app.get_all_tools = AsyncMock(return_value=[MagicMock(name="create_session")])
async def mock_run_manual_agent(*args, **kwargs):
# We check the prompt in messages
messages = args[2]
system_msg = args[3]
# system_msg in handle_jules_comm is fixed, we care about prompt in messages
prompt_content = messages[0].content
print(f"Agent Prompt: {prompt_content}")
# Check if fallback values are present in the prompt
assert "hf upload fallback_prof/fallback_space" in prompt_content
assert "fallback_token" in prompt_content
yield "Thinking...", None
yield "Created session sessions/123", "sessions/123"
app.run_manual_agent = mock_run_manual_agent
# Test with manual fallbacks and no log file
await app.handle_jules_comm(
repo_url="https://github.com/owner/repo",
branch="main",
log_file="",
hf_prof_fallback="fallback_prof",
hf_space_fallback="fallback_space",
hf_token_fallback="fallback_token"
)
print("\nJules communication fallback test PASSED!")
if __name__ == "__main__":
asyncio.run(test_jules_comm_fallbacks())