# -*-coding:utf-8 -*- #
# ---------------------------------------------------------------------------
# ProjectName:   test
# FileName:      test_bpm.py
# Author:       zhang
# Datetime:     2024/11/4 上午11:22
# Description:
# 
# ---------------------------------------------------------------------------
from APIAutoTest_v3_1.common.read_excel import ReadExcel
from APIAutoTest_v3_1 import log
from APIAutoTest_v3_1.test_case.test_z1 import USERNAME
import pytest


class TestBpm:
    @pytest.mark.parametrize("method,url,mime,case_data,expect_data,sql_data,sql_type,updata_key",
                             ReadExcel(USERNAME).get_data())
    def test_bpm(self, method, url, mime, case_data, expect_data, sql_data, sql_type, updata_key, req_fix):
        res = req_fix.request_all(
            method=method,
            url=url,
            mime=mime,
            case_data=case_data,
            sql_data=sql_data,
            sql_type=sql_type,
            updata_key=updata_key
        )
        try:
            for key in expect_data.keys():
                assert res.json().get(key) == expect_data[key]
        except Exception as e:
            log.error(f"用例断言失败,用例数据为{case_data},期望数据为{expect_data},服务器返回结果为{res.json().get(key)}")
            raise e
        else:
            log.info(f"用例断言成功,用例数据为{case_data},期望数据为{expect_data},服务器返回结果为{res.json().get(key)}")