Files
loader/e2e/tests/test_resources.py
T
Oleksandr Bezdieniezhnykh 8f7deb3fca Add E2E tests, fix bugs
Made-with: Cursor
2026-04-13 05:17:48 +03:00

75 lines
1.9 KiB
Python

import pytest
def test_upload_resource(base_url, logged_in_client):
# Arrange
url = f"{base_url}/upload/testmodel"
files = {"data": ("testmodel.bin", b"test content")}
data = {"folder": "models"}
# Act
response = logged_in_client.post(url, files=files, data=data)
# Assert
assert response.status_code == 200
assert response.json()["status"] == "ok"
def test_download_resource(base_url, logged_in_client):
# Arrange
url = f"{base_url}/load/testmodel"
body = {"filename": "testmodel", "folder": "models"}
# Act
response = logged_in_client.post(url, json=body)
# Assert
assert response.status_code == 200
assert len(response.content) > 0
def test_download_nonexistent(base_url, logged_in_client):
# Arrange
url = f"{base_url}/load/nonexistent"
body = {"filename": "nonexistent", "folder": "nonexistent"}
# Act
response = logged_in_client.post(url, json=body)
# Assert
assert response.status_code == 500
def test_upload_no_file(base_url, logged_in_client):
# Arrange
url = f"{base_url}/upload/testfile"
# Act
response = logged_in_client.post(url, data={"folder": "models"})
# Assert
assert response.status_code == 422
def test_upload_download_roundtrip(base_url, logged_in_client):
# Arrange
filename = "roundtrip"
folder = "models"
content = b"roundtrip-payload-data"
upload_url = f"{base_url}/upload/{filename}"
load_url = f"{base_url}/load/{filename}"
files = {"data": (f"{filename}.bin", content)}
data = {"folder": folder}
# Act
upload_response = logged_in_client.post(upload_url, files=files, data=data)
download_response = logged_in_client.post(
load_url,
json={"filename": filename, "folder": folder},
)
# Assert
assert upload_response.status_code == 200
assert download_response.status_code == 200
assert download_response.content == content