test_security_info.py 3.78 KB
Newer Older
lcn's avatar
lcn 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 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140
import json
import pytest
from unify_api.tests.constants_t import TOKEN, HTTP_PREFIX
from pot_libs.aiohttp_util.aiohttp_utils import AioHttpUtils


@pytest.mark.parametrize('data', [
    {
        "cid": 73,
        "point_id": -1,
        "date_type": "day",
        "start": "2020-07-30 00:00:00",
        "end": "2020-07-30 23:59:59",
        "product": 3
    },
    {
        "cid": 90,
        "point_id": -1,
        "date_type": "month",
        "start": "2020-06-01 00:00:00",
        "end": "2020-07-30 23:59:59",
        "product": 3
    }
])
@pytest.mark.asyncio
async def test_security_index(data):
    """
    获取首页今日或者近30天安全报警统计信息
    """
    resp_str, status = await AioHttpUtils().post(
        url=f"{HTTP_PREFIX}/unify-api/home-page/security-info"
            f"/security-index",
        data=data,
        timeout=10,
        headers={"Authorization": f"Bearer {TOKEN}"}
    )
    assert status == 200
    resp_str = json.loads(resp_str)
    assert all([resp_str["data"]["first_alarm"],
                resp_str["data"]["second_alarm"]])


@pytest.mark.parametrize('data', [
    {
        "cids": [90],
        "date_type": "day",
        "start": "2020-07-30 00:00:00",
        "end": "2020-07-30 23:59:59",
        "product": 3
    },
    {
        "cids": [90],
        "date_type": "month",
        "start": "2020-07-01 00:00:00",
        "end": "2020-07-30 23:59:59",
        "product": 3
    }
])
@pytest.mark.asyncio
async def test_alarm_level_distribution(data):
    """
    获取工厂(可多个)日, 月份安全报警不同等级时间分布信息
    """
    resp_str, status = await AioHttpUtils().post(
        url=f"{HTTP_PREFIX}/unify-api/home-page/security-info"
            f"/alarm-level-distribution",
        data=data,
        timeout=10,
        headers={"Authorization": f"Bearer {TOKEN}"}
    )
    assert status == 200
    resp_str = json.loads(resp_str)
    assert all([resp_str["data"]["first_alarm"],
                resp_str["data"]["second_alarm"]])


@pytest.mark.parametrize('data', [
    {
        "cids": [90],
        "date_type": "day",
        "start": "2020-07-30 00:00:00",
        "end": "2020-07-30 23:59:59",
        "product": 3
    },
    {
        "cids": [90],
        "date_type": "month",
        "start": "2020-07-01 00:00:00",
        "end": "2020-07-30 23:59:59",
        "product": 3
    }
])
@pytest.mark.asyncio
async def test_alarm_content_distribution(data):
    """
    获取工厂(可多个)日, 月份安全报警不同等级时间分布信息
    """
    resp_str, status = await AioHttpUtils().post(
        url=f"{HTTP_PREFIX}/unify-api/home-page/security-info"
            f"/alarm-content-distribution",
        data=data,
        timeout=10,
        headers={"Authorization": f"Bearer {TOKEN}"}
    )
    assert status == 200
    resp_str = json.loads(resp_str)
    assert all([resp_str["data"]["temperature"],
               resp_str["data"]["residual_current"],
                resp_str["data"]["electric_param"],
                resp_str["data"]["content_detail"]])


@pytest.mark.parametrize('data', [
    {
        "cids": [73, 90],
        "date_type": "day",
        "start": "2020-07-30 00:00:00",
        "end": "2020-07-30 23:59:59",
        "product": 3
    },
    {
        "cids": [73, 90],
        "date_type": "month",
        "start": "2020-07-01 00:00:00",
        "end": "2020-07-30 23:59:59",
        "product": 3
    }
])
@pytest.mark.asyncio
async def test_alarm_summary(data):
    """
    获取工厂(可多个)日, 月份安全报警不同等级时间分布信息
    """
    resp_str, status = await AioHttpUtils().post(
        url=f"{HTTP_PREFIX}/unify-api/home-page/security-info/alarm-summary",
        data=data,
        timeout=10,
        headers={"Authorization": f"Bearer {TOKEN}"}
    )
    assert status == 200