workspace working

This commit is contained in:
2026-01-12 22:31:11 +08:00
parent 2738a822d1
commit 370fe6368a
149 changed files with 4648 additions and 660 deletions

View File

@@ -0,0 +1,102 @@
import requests
import json
import time
BASE_URL = "http://localhost:3015"
API_KEY = "jleu1212"
def make_headers(workspace=None):
headers = {
"X-API-Key": API_KEY,
"Content-Type": "application/json",
}
if workspace is not None:
headers["X-Workspace"] = workspace
return headers
def upload_text(workspace, text, file_source):
url = f"{BASE_URL}/documents/text"
payload = {"text": text, "file_source": file_source}
response = requests.post(url, headers=make_headers(workspace), json=payload)
if response.status_code != 200:
print(f"Upload failed: {response.text}")
return None
return response.json().get("track_id")
def get_document_count(workspace):
url = f"{BASE_URL}/documents/paginated"
payload = {"page": 1, "page_size": 10}
response = requests.post(url, headers=make_headers(workspace), json=payload)
if response.status_code != 200:
print(f"Failed to get documents: {response.text}")
return None
data = response.json()
return data["pagination"]["total_count"]
def clear_documents(workspace):
url = f"{BASE_URL}/documents"
response = requests.delete(url, headers=make_headers(workspace))
if response.status_code != 200:
print(f"Clear failed: {response.text}")
return False
return True
def delete_workspace(workspace):
url = f"{BASE_URL}/workspaces/{workspace}"
response = requests.delete(url, headers=make_headers(workspace))
if response.status_code != 200:
print(f"Delete workspace failed: {response.text}")
return False
return True
def main():
workspace_a = "workspace_a"
workspace_b = "workspace_b"
print("Step 1: Upload a document to workspace A")
track_a = upload_text(workspace_a, "Document for workspace A", "doc_a.txt")
if track_a:
print(f" Track ID: {track_a}")
else:
print(" Upload failed (likely embedding error), but doc_status may still exist")
print("Step 2: Upload a document to workspace B")
track_b = upload_text(workspace_b, "Document for workspace B", "doc_b.txt")
if track_b:
print(f" Track ID: {track_b}")
# Wait a bit for processing (though it may fail)
time.sleep(3)
print("Step 3: Get document counts before clear")
count_a = get_document_count(workspace_a)
count_b = get_document_count(workspace_b)
print(f" Workspace A documents: {count_a}")
print(f" Workspace B documents: {count_b}")
print("Step 4: Clear workspace A only")
if clear_documents(workspace_a):
print(" Workspace A cleared successfully")
print("Step 5: Get document counts after clear")
count_a2 = get_document_count(workspace_a)
count_b2 = get_document_count(workspace_b)
print(f" Workspace A documents: {count_a2}")
print(f" Workspace B documents: {count_b2}")
# Verify workspace A is empty, workspace B unchanged
if count_a2 == 0 and count_b2 == count_b:
print("SUCCESS: Clear button only cleared selected workspace.")
else:
print("FAILURE: Clear button affected other workspace.")
print(f" Expected workspace A 0, got {count_a2}")
print(f" Expected workspace B {count_b}, got {count_b2}")
# Clean up
print("Step 6: Delete workspaces")
delete_workspace(workspace_a)
delete_workspace(workspace_b)
print("Test completed.")
if __name__ == "__main__":
main()