"""Swagger 模块 6(合规)— 真实联调(巡检真实 QIWEI_ROOM_IDS)""" import pytest pytestmark = [pytest.mark.integration, pytest.mark.qiwei_live] @pytest.fixture(scope="module") def m06_scan(api_session, live_guid, live_room_ids): api_session.assert_success( api_session.post( "/rooms/sync", json={"guid": live_guid, "roomIdList": live_room_ids}, ) ) result = api_session.assert_success( api_session.post("/compliance/scan", json={"roomIds": live_room_ids}) ) return {"room_ids": live_room_ids, "scan": result} def test_m06_compliance_scan(m06_scan): scan = m06_scan["scan"] assert scan.get("totalRooms") == len(m06_scan["room_ids"]) assert scan.get("status") == "completed" def test_m06_issues_list(api, m06_scan): issues = api.assert_success(api.get("/compliance/issues")) assert isinstance(issues, list) def test_m06_issue_detail_if_any(api, m06_scan): issues = api.assert_success(api.get("/compliance/issues")) if not issues: pytest.skip("本次巡检未产生合规问题记录") detail = api.assert_success(api.get(f"/compliance/issues/{issues[0]['id']}")) assert detail["id"] == issues[0]["id"] def test_m06_update_issue_if_any(api, m06_scan): issues = api.assert_success(api.get("/compliance/issues")) if not issues: pytest.skip("无问题可更新") updated = api.assert_success( api.put( f"/compliance/issues/{issues[0]['id']}", json={"status": "acknowledged"}, ) ) assert updated["status"] == "acknowledged" def test_m06_reports(api, m06_scan): report = api.assert_success( api.get("/compliance/reports", params={"totalRooms": len(m06_scan["room_ids"])}) ) assert "report" in report or isinstance(report, dict)