mirror of
https://github.com/azaion/loader.git
synced 2026-04-22 10:46:32 +00:00
Add E2E tests, fix bugs
Made-with: Cursor
This commit is contained in:
@@ -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
|
||||
Reference in New Issue
Block a user