Spaces:
Runtime error
Runtime error
| import json | |
| import os | |
| import shutil | |
| from fastapi.testclient import TestClient | |
| from main import app | |
| client = TestClient(app) | |
| def setup_dummy_repo(): | |
| repo_name = "PxA-Labs/AutoMaintainer" | |
| repo_dir = f"/tmp/{repo_name.replace('/', '_')}" | |
| if os.path.exists(repo_dir): | |
| shutil.rmtree(repo_dir) | |
| os.makedirs(os.path.join(repo_dir, "src"), exist_ok=True) | |
| os.makedirs(os.path.join(repo_dir, ".git"), exist_ok=True) | |
| with open(os.path.join(repo_dir, "src", "index.py"), "w") as f: | |
| f.write("print('hello world')") | |
| with open(os.path.join(repo_dir, "README.md"), "w") as f: | |
| f.write("# AutoMaintainer") | |
| return repo_name | |
| if __name__ == "__main__": | |
| repo_name = setup_dummy_repo() | |
| print("--- Testing /tree Endpoint ---") | |
| response = client.get(f"/repo/{repo_name}/tree") | |
| print(f"Status: {response.status_code}") | |
| print(json.dumps(response.json(), indent=2)) | |
| print("\n--- Testing /file Endpoint (Valid File) ---") | |
| response2 = client.get(f"/repo/{repo_name}/file?file_path=src/index.py") | |
| print(f"Status: {response2.status_code}") | |
| print(response2.json()) | |
| print("\n--- Testing /file Endpoint (Path Traversal Attack) ---") | |
| response3 = client.get(f"/repo/{repo_name}/file?file_path=../../../../etc/passwd") | |
| print(f"Status: {response3.status_code}") | |
| print(response3.json()) | |