request_method.py 3.12 KB
Newer Older
lin committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90
# -*-coding:utf-8 -*- #
# ---------------------------------------------------------------------------
# ProjectName:   test
# FileName:      request_method.py
# Author:       lin
# Datetime:     2024/12/26 20:29
# Description:
# 
# ---------------------------------------------------------------------------
import requests

from APITest_1226 import log
from APITest_1226.common.db import DB
from APITest_1226.common.read_basic_ini import ReadBasicIni



class RequestMethod:
    @log
    def __init__(self):
        """关联token"""
        ini = ReadBasicIni()
        login_url = ini.get_host("bpm") + "/auth"
        self.req_1 = requests.sessions.Session()
        login_data = {
        "username": "admin",
        "password": "WuHRoZXGrg1LHOix8EVOhqGcu3CEEd0hOWNPRENTScZMb2ekrEtBGGBJweUxGKi36k346+OrS5mD3nnjyrocZOfzo4UqoshNoqJgx09u81LV2vc53Sy83DsBWKGoZZZRUhsDrpRj8feUlakJMCpgqswG0y9jm95Lk9auWpI146I="
      }
        token = self.req_1.post(url=login_url,json=login_data).json().get("token")
        self.req_1.headers["Authorization"] = "Bearer "+token
        self.db = DB()

    @log
    def close(self):
        self.db.close()

    @log
    def req_all(self, req_url, req_mime, req_req, req_case,sql_type, sql_data, update_key):
        """先删除存在的数据、查询需要的数据"""
        if sql_type == "delete":
            self.db.delete(sql_data)
        elif sql_type == "select":
            res =self.db.select(sql_data)
            req_case[update_key] =res
        elif sql_type == "delete|select" or sql_type== "select|delete":
            self.db.delete(sql_data["delete"])
            res = self.db.select(sql_data["select"])
            req_case[update_key] = res

        if req_mime == "application/json" or  req_mime == "json":
            return self.req_1.request(method=req_req,url=req_url,json=req_case)
        elif req_mime == "application/x-www-form-urlencoded" or  req_mime == "form":
            return self.req_1.request(url=req_url, method=req_req, data=req_case)
        elif req_mime == "multipart/form-data" or  req_mime == "form-data":
            return self.req_1.request(url=req_url, method=req_req, files=req_case)
        elif req_mime == "query":
            return self.req_1.request(url=req_url, method=req_req, params=req_case)
        elif req_mime is None:
            return self.req_1.request(url=req_url, method=req_req)
        else:
            raise ValueError(f"传入的媒体类型有误:媒体类型为{req_mime}")




if __name__ == '__main__':
    res = RequestMethod()
    url = "http://36.139.193.99:8088/auth"
    mime = "application/json"
    req = "POST"
    case = {"password": "WuHRoZXGrg1LHOix8EVOhqGcu3CEEd0hOWNPRENTScZMb2ekrEtBGGBJweUxGKi36k346+OrS5mD3nnjyrocZOfzo4UqoshNoqJgx09u81LV2vc53Sy83DsBWKGoZZZRUhsDrpRj8feUlakJMCpgqswG0y9jm95Lk9auWpI146I=","username": "admin"}
    expect = {'account': 'admin', 'expiration': 86400, 'userId': '1', 'username': '超级管理员'}
    sql = "None"
    type_sql ="None"
    update_key = "None"
    res_1=res.req_all(req_url=url,req_mime=mime,req_req=req,req_case=case,sql_type=type_sql, sql_data=sql, update_key=update_key)
    print(res_1.json())