workspace working
This commit is contained in:
102
test_clear_selected_workspace.py
Normal file
102
test_clear_selected_workspace.py
Normal 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()
|
||||
Reference in New Issue
Block a user