feat: 优化打包产物与历史筛选
This commit is contained in:
@@ -167,3 +167,48 @@ def test_cancel_task(mock_queue, client, tmp_config):
|
||||
# 验证状态已更新
|
||||
task = client.get(f"/api/tasks/{task_id}").json()
|
||||
assert task["status"] == "cancelled"
|
||||
|
||||
|
||||
def test_delete_completed_task_removes_remote_artifacts(client, tmp_config):
|
||||
from backend.database import SessionLocal
|
||||
from backend.models import Task
|
||||
|
||||
task = Task(
|
||||
id="completed-task", app_id="1", app_name="测试App", build_type="Ad_Hoc",
|
||||
scheme_id="1", scheme_name="readoor31", branch="main", status="completed",
|
||||
oss_url="https://files.example.com/test/iOS/1_2_0_0_0_main.html",
|
||||
config_json=json.dumps({"APPID": "1", "VERSION": "2.0.0.0", "SOURCE_BRANCH": "main", "BUILD_TYPE": "Ad_Hoc", "OSS_FLODER": "test"}),
|
||||
)
|
||||
db = SessionLocal()
|
||||
db.add(task)
|
||||
db.commit()
|
||||
db.close()
|
||||
|
||||
with patch("backend.services.distribution.delete_published_artifacts") as delete:
|
||||
resp = client.delete("/api/tasks/completed-task/delete")
|
||||
|
||||
assert resp.status_code == 200
|
||||
delete.assert_called_once()
|
||||
assert client.get("/api/tasks/completed-task").status_code == 404
|
||||
|
||||
|
||||
def test_delete_task_keeps_shared_remote_artifact(client, tmp_config):
|
||||
from backend.database import SessionLocal
|
||||
from backend.models import Task
|
||||
|
||||
db = SessionLocal()
|
||||
for task_id in ("old-task", "new-task"):
|
||||
db.add(Task(
|
||||
id=task_id, app_id="1", app_name="测试App", build_type="Ad_Hoc",
|
||||
scheme_id="1", scheme_name="readoor31", branch="main", status="completed",
|
||||
oss_url="https://files.example.com/test/iOS/1_2_0_0_0_main.html",
|
||||
))
|
||||
db.commit()
|
||||
db.close()
|
||||
|
||||
with patch("backend.services.distribution.delete_published_artifacts") as delete:
|
||||
resp = client.delete("/api/tasks/old-task/delete")
|
||||
|
||||
assert resp.status_code == 200
|
||||
assert "仍被其他记录引用" in resp.json()["message"]
|
||||
delete.assert_not_called()
|
||||
|
||||
Reference in New Issue
Block a user