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