flask mock数据单元测试

模拟调用三方服务接口

import unittest
from unittest import mock

from monitor_server import app


def mock_account_info(*args, **kwargs):
    response_mock = mock.Mock()
    response_mock.status_code = 200
    if "getRpaStatusData" in args[0]:
        response_mock.json.return_value = [
            {
                "userName": "xxx",
                "displayName": "xxx",
                "sipNum": "9876666",
                "ip": "172.26.197.182",
                "port": "8003",
                "endPort": "8004",
                "lastLiveTime": "2021-06-30 15:10:10",
                "loginTime": "2021-06-30 15:10:30",
                "noTask": "false"
            },
        ]
    elif "reStart" in args[0]:
        response_mock.text = "ok"
    elif "getPlanWorkTime" in args[0]:
        response_mock.json.return_value = [{
            "startTime": "09:05:00",
            "endTime": "21:05:00",
        }]

    return response_mock


class TestCase(unittest.TestCase):
    def setUp(self) -> None:
        self.client = app.test_client()  # 创建测试客户端

    @mock.patch('utils.restart_server.requests')
    @mock.patch('utils.company.requests')
    @mock.patch('utils.third_service.requests')
    def test_task_server(self, mock_work_time, mock_get_account, mock_restart):
        mock_restart.get.side_effect = mock_account_info
        mock_work_time.get.side_effect = mock_account_info
        mock_get_account.get.side_effect = mock_account_info

        response = self.client.get("/taskServer?company=2121&type=taskTime")
        data = response.get_data(as_text=True)
        print("---")
        print(data)


if __name__ == '__main__':
    unittest.main()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值