# -*-coding:utf-8 -*- #
# ---------------------------------------------------------------------------
# ProjectName:   test64
# FileName:      test_bpm.py
# Author:       lao_zhao
# Datetime:     2024/12/26 14:30
# Description:
# 
# ---------------------------------------------------------------------------
import pytest
from APIAutoTest_v3.common.read_excel import ReadExcel
from APIAutoTest_v3 import log_decorator


case_datas = ReadExcel("lisi").get_data()


class TestBPM:


    @log_decorator
    @pytest.mark.parametrize("url, mime, req, case, expect, sql_type, sql, update", case_datas)
    def test_bpm(self, req_fix, url, mime, req, case, expect, sql_type, sql, update):

        res = req_fix.request_all(req_url=url, req_mime=mime, req_method=req, case_data=case, sql_type=sql_type, sql_data=sql, update_key=update)

        try:
            for key in expect:
                assert res.json().get(key) == expect[key]
        except AssertionError:
            raise AssertionError(f"\n\t断言失败,用例数据为:{case},期望数据为:{expect}, 服务器返回的数据为:{res.text}")
        except Exception as e:
            raise e