Add E2E tests, fix bugs

Made-with: Cursor
This commit is contained in:
Oleksandr Bezdieniezhnykh
2026-04-13 05:17:48 +03:00
parent 1f98b5e958
commit 8f7deb3fca
71 changed files with 4740 additions and 29 deletions
+74
View File
@@ -0,0 +1,74 @@
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