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)
|