Files
litellm/tests/batches_tests/test_manus_files_all_methods.py
T

72 lines
2.1 KiB
Python

"""
E2E test for all Manus Files API methods.
"""
import os
import pytest
import litellm
@pytest.mark.asyncio
async def test_manus_files_api_e2e_all_methods():
"""
E2E test for Manus Files API: create, retrieve, list, delete.
"""
litellm._turn_on_debug()
api_key = os.getenv("MANUS_API_KEY")
if api_key is None:
pytest.skip("MANUS_API_KEY not set")
# Create a simple test file content
test_content = b"This is a test file for Manus Files API - all methods test."
test_filename = "test_file_all_methods.txt"
# Step 1: Create file
print("Step 1: Creating file...")
created_file = await litellm.acreate_file(
file=(test_filename, test_content),
purpose="assistants",
custom_llm_provider="manus",
api_key=api_key,
)
print(f"Created file: {created_file}")
assert created_file.filename == test_filename
assert created_file.status == "uploaded"
# Note: Manus doesn't return bytes in initial response
file_id = created_file.id
# Step 2: Retrieve file
print(f"\nStep 2: Retrieving file {file_id}...")
retrieved_file = await litellm.afile_retrieve(
file_id=file_id,
custom_llm_provider="manus",
api_key=api_key,
)
print(f"Retrieved file: {retrieved_file}")
assert retrieved_file.id == file_id
assert retrieved_file.filename == test_filename
# Step 3: List files
print("\nStep 3: Listing files...")
files_list = await litellm.afile_list(
custom_llm_provider="manus",
api_key=api_key,
)
print(f"Files list: {files_list}")
assert isinstance(files_list, list)
assert any(f.id == file_id for f in files_list)
# Step 4: Delete file
print(f"\nStep 4: Deleting file {file_id}...")
deleted_file = await litellm.afile_delete(
file_id=file_id,
custom_llm_provider="manus",
api_key=api_key,
)
print(f"Deleted file: {deleted_file}")
assert deleted_file.id == file_id
assert deleted_file.deleted is True
print("\n✅ All Manus Files API methods working!")