47 lines
1.5 KiB
Python
47 lines
1.5 KiB
Python
|
|
"""文件管理扩展测试。
|
|||
|
|
|
|||
|
|
测试用例:
|
|||
|
|
- FILE-006b: 查询关联附件
|
|||
|
|
- FILE-006c: 本地开发上传
|
|||
|
|
- FILE-007: 未认证不能上传
|
|||
|
|
"""
|
|||
|
|
from __future__ import annotations
|
|||
|
|
|
|||
|
|
import pytest
|
|||
|
|
|
|||
|
|
|
|||
|
|
@pytest.mark.file
|
|||
|
|
@pytest.mark.p1
|
|||
|
|
class TestFileAttachmentQuery:
|
|||
|
|
"""附件查询测试。"""
|
|||
|
|
|
|||
|
|
def test_list_attachments_empty(self, client, admin_headers):
|
|||
|
|
"""FILE-006b: 查询空附件列表。"""
|
|||
|
|
resp = client.get("/api/files/attachments?biz_type=order&biz_id=99999", headers=admin_headers)
|
|||
|
|
assert resp.status_code == 200
|
|||
|
|
|
|||
|
|
def test_unauthenticated_cannot_upload(self, client):
|
|||
|
|
"""FILE-007: 未认证不能上传。"""
|
|||
|
|
resp = client.post("/api/files/upload-token", json={"file_name": "test.jpg"})
|
|||
|
|
assert resp.status_code == 401
|
|||
|
|
|
|||
|
|
def test_unauthenticated_cannot_list(self, client):
|
|||
|
|
"""未认证不能查询附件。"""
|
|||
|
|
resp = client.get("/api/files/attachments?biz_type=order&biz_id=1")
|
|||
|
|
assert resp.status_code == 401
|
|||
|
|
|
|||
|
|
|
|||
|
|
@pytest.mark.file
|
|||
|
|
@pytest.mark.p1
|
|||
|
|
class TestFileUploadToken:
|
|||
|
|
"""上传凭证测试。"""
|
|||
|
|
|
|||
|
|
def test_get_upload_token(self, client, admin_headers):
|
|||
|
|
"""获取上传凭证。"""
|
|||
|
|
resp = client.post("/api/files/upload-token", headers=admin_headers, json={
|
|||
|
|
"file_name": "test.jpg",
|
|||
|
|
"content_type": "image/jpeg",
|
|||
|
|
})
|
|||
|
|
# 应返回 200 或 404/422/500(如果 OSS 未配置或 schema 不匹配)
|
|||
|
|
assert resp.status_code in (200, 404, 422, 500)
|