import logging

import pytest
from v3.read_data.read_excel import *
from v3.code.request_code import *
from v3 import log
from v3.test_code.test_lisi import USERNAME
class Testcode:
    print(USERNAME)
    @pytest.mark.parametrize("req_method,req_url,req_media,case_data,expect_data,sql_data,sql_type,sql_update", Readexcel(USERNAME).get_data())
    def test_bpm(self, req_fix, req_method, req_url, req_media, case_data, expect_data, sql_data, sql_type, sql_update):
        res = req_fix.request_all(req_method=req_method,req_url=req_url,req_media=req_media, req_case_data=case_data, sql_type=sql_type, sql_case_data=sql_data, sql_update=sql_update)
        try:
            for key in expect_data.keys():
                assert res.json().get(key) == expect_data[key]
        except AssertionError:
            log.error(f"断言失败，用例数据为：{case_data}，期望数据为：{expect_data}， 服务器返回的数据为：{res.text}")
            raise AssertionError("断言失败")
        else:
            log.info(f"断言成功，用例数据为：{case_data}，期望数据为：{expect_data}， 服务器返回的数据为：{res.text}")


