fixing bugs
This commit is contained in:
Executable
+87
@@ -0,0 +1,87 @@
|
||||
#!/usr/bin/env python3
|
||||
import requests
|
||||
import os
|
||||
import time
|
||||
import json
|
||||
|
||||
print("Testing API integration with OxiCloud API...")
|
||||
|
||||
SERVER_URL = "http://localhost:8086"
|
||||
TEST_FILE = "api-test-file.txt"
|
||||
|
||||
# Create a test file
|
||||
with open(TEST_FILE, "w") as f:
|
||||
f.write("This is a test file for API integration testing\n")
|
||||
f.write("We'll check if the ID mapping system works correctly\n")
|
||||
f.write("The file should be retrievable after upload\n")
|
||||
|
||||
print(f"Created test file: {TEST_FILE}")
|
||||
|
||||
try:
|
||||
# 1. Upload file
|
||||
print("\n1. Uploading file...")
|
||||
files = {'file': open(TEST_FILE, 'rb')}
|
||||
data = {'folder_id': 'folder-storage:1'}
|
||||
|
||||
upload_response = requests.post(f"{SERVER_URL}/api/files/upload", files=files, data=data)
|
||||
files['file'].close()
|
||||
|
||||
print(f"Upload status: {upload_response.status_code}")
|
||||
|
||||
if upload_response.status_code == 201:
|
||||
upload_data = upload_response.json()
|
||||
file_id = upload_data.get('id')
|
||||
file_name = upload_data.get('name')
|
||||
|
||||
print(f"File uploaded successfully with ID: {file_id}")
|
||||
print(f"Response data: {json.dumps(upload_data, indent=2)}")
|
||||
|
||||
# 2. List files to see if our file appears
|
||||
print("\n2. Listing files...")
|
||||
time.sleep(1) # Small delay to allow server processing
|
||||
|
||||
list_response = requests.get(f"{SERVER_URL}/api/files?folder_id=folder-storage:1")
|
||||
print(f"List files status: {list_response.status_code}")
|
||||
|
||||
if list_response.status_code == 200:
|
||||
files_list = list_response.json()
|
||||
print(f"Found {len(files_list)} files")
|
||||
|
||||
# Look for our file
|
||||
found = False
|
||||
for file in files_list:
|
||||
if file.get('id') == file_id:
|
||||
found = True
|
||||
print(f"Found our file in the list! ID: {file.get('id')}, Name: {file.get('name')}")
|
||||
print(f"File details: {json.dumps(file, indent=2)}")
|
||||
|
||||
if not found:
|
||||
print(f"ERROR: Our file with ID {file_id} was not found in the list")
|
||||
print(f"Files in list: {json.dumps(files_list, indent=2)}")
|
||||
else:
|
||||
print(f"Error listing files: {list_response.text}")
|
||||
|
||||
# 3. Try to download the file
|
||||
print("\n3. Downloading file...")
|
||||
download_response = requests.get(f"{SERVER_URL}/api/files/{file_id}")
|
||||
print(f"Download status: {download_response.status_code}")
|
||||
|
||||
if download_response.status_code == 200:
|
||||
print("File downloaded successfully")
|
||||
print(f"Downloaded content length: {len(download_response.content)} bytes")
|
||||
print(f"Content preview: {download_response.content[:50]}...")
|
||||
else:
|
||||
print(f"Error downloading file: {download_response.text}")
|
||||
|
||||
else:
|
||||
print(f"Upload failed: {upload_response.text}")
|
||||
|
||||
except Exception as e:
|
||||
print(f"Error during test: {e}")
|
||||
|
||||
# Clean up
|
||||
if os.path.exists(TEST_FILE):
|
||||
os.remove(TEST_FILE)
|
||||
print(f"\nRemoved test file: {TEST_FILE}")
|
||||
|
||||
print("\nAPI integration test completed.")
|
||||
Reference in New Issue
Block a user