test(event-file): add E2E test for V3 event_file upload action
This commit is contained in:
74
tests/e2e/test_e2e_v3_action_event_file.py
Normal file
74
tests/e2e/test_e2e_v3_action_event_file.py
Normal file
@@ -0,0 +1,74 @@
|
||||
import requests
|
||||
import os
|
||||
|
||||
# Configuration
|
||||
BASE_URL = "https://dev-api.oneskyit.com/v3/action/event_file"
|
||||
API_KEY = "IDF68Em5X4HTZlswRNgepQ"
|
||||
ACCOUNT_ID = "Q8lR8Ai8hx2FjbQ3C_EH1Q" # OSIT
|
||||
|
||||
def test_event_file_upload():
|
||||
print("--- Testing Event File Upload via V3 Action ---")
|
||||
|
||||
url = f"{BASE_URL}/upload"
|
||||
headers = {
|
||||
"X-Aether-API-Key": API_KEY,
|
||||
"x-account-id": ACCOUNT_ID
|
||||
}
|
||||
|
||||
# Create a small dummy file
|
||||
test_filename = "v3_event_test.txt"
|
||||
with open(test_filename, "w") as f:
|
||||
f.write("This is a test file for V3 Event File Action.")
|
||||
|
||||
data = {
|
||||
"account_id": ACCOUNT_ID,
|
||||
"for_type": "event",
|
||||
"for_id": "pjrcghqwert", # IDAA Recovery Meetings
|
||||
"event_id": "pjrcghqwert",
|
||||
"title": "V3 Test Upload",
|
||||
"description": "Uploaded via atomic V3 action"
|
||||
}
|
||||
|
||||
files = [
|
||||
("file_list", (test_filename, open(test_filename, "rb"), "text/plain"))
|
||||
]
|
||||
|
||||
try:
|
||||
response = requests.post(url, headers=headers, data=data, files=files)
|
||||
print(f"Status: {response.status_code}")
|
||||
|
||||
if response.status_code == 200:
|
||||
res_json = response.json()
|
||||
data_li = res_json.get("data", [])
|
||||
if data_li:
|
||||
ef = data_li[0]
|
||||
print(f"✅ Success: Event File Created!")
|
||||
print(f" Event File ID: {ef.get('id')}")
|
||||
print(f" Hosted File ID: {ef.get('hosted_file_id_random')}")
|
||||
print(f" Filename: {ef.get('filename')}")
|
||||
|
||||
# Cleanup: try downloading it
|
||||
download_url = f"{BASE_URL}/{ef.get('id')}/download"
|
||||
print(f"\n--- Testing Download via Event File ID: {ef.get('id')} ---")
|
||||
dl_resp = requests.get(download_url, headers=headers)
|
||||
if dl_resp.status_code == 200:
|
||||
print("✅ Success: Download worked!")
|
||||
else:
|
||||
print(f"❌ Download Failed: {dl_resp.status_code}")
|
||||
|
||||
return True
|
||||
else:
|
||||
print(f"❌ Failed: No data in response.")
|
||||
return False
|
||||
else:
|
||||
print(f"❌ Failed: {response.text}")
|
||||
return False
|
||||
except Exception as e:
|
||||
print(f"💥 Exception: {e}")
|
||||
return False
|
||||
finally:
|
||||
if os.path.exists(test_filename):
|
||||
os.remove(test_filename)
|
||||
|
||||
if __name__ == "__main__":
|
||||
test_event_file_upload()
|
||||
Reference in New Issue
Block a user