This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
cyber-narrator-cn-ui/test/views/charts2/charts/networkOverview/NetworkOverviewDdosDetection.test.js

71 lines
2.3 KiB
JavaScript
Raw Normal View History

import NetworkOverviewDdosDetection from '@/views/charts2/charts/networkOverview/NetworkOverviewDdosDetection'
import { mount } from '@vue/test-utils'
import axios from 'axios'
2023-02-27 16:01:25 +08:00
import { mockData } from './mockData/NetworkOverviewDdosDetection'
2023-02-27 16:01:25 +08:00
const mockGet = mockData.common
const timeFilter = {
dateRangeValue: -1,
startTime: 1675043912,
endTime: 1675047512
}
2023-02-27 16:01:25 +08:00
let wrapper = null
/**
* 进行axios请求并挂载vue实例
* @param data
*/
function axiosPostAndMounted (data) {
require('vue-router').useRoute.mockReturnValue({ query: {} })
const _data = data || mockGet
axios.get.mockResolvedValue(_data)
// 加载vue组件获得实例
wrapper = mount(NetworkOverviewDdosDetection, {
propsData: {
timeFilter
}
})
}
describe('views/charts2/charts/networkOverview/NetworkOverviewDdosDetection.vue测试', () => {
test('攻击、受害、攻击数事件ddos检测图', async () => {
2023-02-27 16:01:25 +08:00
axiosPostAndMounted()
const attackEventCount = wrapper.get('[test-id="attackEventCount"]')
const attackerCount = wrapper.get('[test-id="attackerCount"]')
const victimCount = wrapper.get('[test-id="victimCount"]')
await new Promise(resolve => setTimeout(() => {
expect(attackEventCount.text()).toEqual('1.20 M')
expect(attackerCount.text()).toEqual('2.69 M')
expect(victimCount.text()).toEqual('36.68 M')
resolve()
}, 200))
})
2023-02-27 16:01:25 +08:00
test('攻击、受害、攻击数事件ddos检测图无数据', async () => {
axiosPostAndMounted(mockData.empty)
await new Promise(resolve => setTimeout(() => {
const noData = wrapper.get('[test-id="noData"]')
expect(noData.text()).toBe('npm.noData')
resolve()
}, 200))
})
test('攻击、受害、攻击数事件ddos检测图数据为0或极大值', async () => {
axiosPostAndMounted(mockData.boundary)
await new Promise(resolve => setTimeout(() => {
const attackEventCount = wrapper.get('[test-id="attackEventCount"]')
const attackerCount = wrapper.get('[test-id="attackerCount"]')
const victimCount = wrapper.get('[test-id="victimCount"]')
expect(attackEventCount.text()).toEqual('120.00 G')
expect(attackerCount.text()).toEqual('0')
expect(victimCount.text()).toEqual('3.67 T')
resolve()
}, 200))
})
})