mirror of
https://github.com/azaion/loader.git
synced 2026-04-22 21:56:33 +00:00
8f7deb3fca
Made-with: Cursor
75 lines
1.9 KiB
Python
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
|