Skip to content

Commit 8ee4a41

Browse files
authored
Merge pull request #581 from 15911075183ma/ma-beta
feature:添加测试用例
2 parents 276a7e5 + 0e6b5e6 commit 8ee4a41

File tree

2 files changed

+91
-0
lines changed

2 files changed

+91
-0
lines changed
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
package io.dongtai.iast.agent.fallback.checker;
2+
3+
import io.dongtai.iast.agent.IastProperties;
4+
import io.dongtai.iast.agent.fallback.checker.impl.CpuUsageChecker;
5+
import io.dongtai.iast.common.entity.performance.PerformanceMetrics;
6+
import io.dongtai.iast.common.entity.performance.metrics.CpuInfoMetrics;
7+
import io.dongtai.iast.common.enums.MetricsKey;
8+
import org.junit.Assert;
9+
import org.junit.Test;
10+
11+
import java.util.Properties;
12+
13+
/**
14+
* 检查CPU使用率
15+
*/
16+
public class CpuUsageCheckerTest {
17+
18+
@Test
19+
public void testIsPerformanceOverLimit() {
20+
21+
22+
// 创建配置参数对象
23+
Properties cfg = new Properties();
24+
cfg.setProperty("iast.remoteSync.performanceLimit.maxThreshold.cpuUsage", "{\"cpuUsagePercentage\":80.0}");
25+
26+
//初始化临时目录
27+
IastProperties.initTmpDir();
28+
29+
// 创建测试用例对象
30+
CpuUsageChecker cpuUsageChecker = new CpuUsageChecker();
31+
// 创建模拟性能指标对象
32+
PerformanceMetrics nowMetrics = new PerformanceMetrics();
33+
CpuInfoMetrics cpuInfoMetrics = new CpuInfoMetrics();
34+
cpuInfoMetrics.setCpuUsagePercentage(81.0);
35+
36+
nowMetrics.setMetricsKey(MetricsKey.CPU_USAGE);
37+
nowMetrics.setMetricsValue(cpuInfoMetrics);
38+
39+
// CPU使用率超过阈值,应该返回true
40+
Assert.assertTrue(cpuUsageChecker.isPerformanceOverLimit(nowMetrics, cfg));
41+
42+
// 修改性能指标对象的CPU使用率为70%
43+
cpuInfoMetrics.setCpuUsagePercentage(70.0);
44+
// CPU使用率未超过阈值,应该返回false
45+
Assert.assertFalse(cpuUsageChecker.isPerformanceOverLimit(nowMetrics, cfg));
46+
}
47+
}
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
package io.dongtai.iast.agent.fallback.checker;
2+
3+
import io.dongtai.iast.agent.IastProperties;
4+
import io.dongtai.iast.agent.fallback.checker.impl.MemUsageChecker;
5+
import io.dongtai.iast.common.entity.performance.PerformanceMetrics;
6+
import io.dongtai.iast.common.entity.performance.metrics.MemoryUsageMetrics;
7+
import io.dongtai.iast.common.enums.MetricsKey;
8+
import org.junit.Assert;
9+
import org.junit.Test;
10+
11+
import java.util.Properties;
12+
13+
public class MemUsageCheckerTest {
14+
15+
16+
/**
17+
* 测试内存检查
18+
*/
19+
@Test
20+
public void testIsPerformanceOverLimit() {
21+
// 配置参数
22+
Properties cfg = new Properties();
23+
// 设置配置内存阈值
24+
cfg.setProperty("iast.remoteSync.performanceLimit.maxThreshold.memoryUsage", "{\"committed\":1024," +
25+
"\"init\":1024,\"max\":1024,\"memUsagePercentage\":80.0,\"systemMaxLimit\":-1," +
26+
"\"trulyMaxMem\":1024,\"used\":1024}\n");
27+
//初始化临时目录
28+
IastProperties.initTmpDir();
29+
// 创建检查器对象
30+
MemUsageChecker memUsageChecker = new MemUsageChecker();
31+
// 创建模拟性能指标对象
32+
PerformanceMetrics nowMetrics = new PerformanceMetrics();
33+
nowMetrics.setMetricsKey(MetricsKey.MEM_USAGE);
34+
nowMetrics.setMetricsValue(new MemoryUsageMetrics(1024L, 1024L, 1024L, 1024L));
35+
// 内存使用率超过阈值,应该返回true
36+
Assert.assertTrue(memUsageChecker.isPerformanceOverLimit(nowMetrics, cfg));
37+
38+
39+
// 修改性能指标对象的内存使用率为70%
40+
nowMetrics.setMetricsValue(new MemoryUsageMetrics(1024L, 500L, 1024L, 1024L));
41+
// 内存使用率未超过阈值,应该返回false
42+
Assert.assertFalse(memUsageChecker.isPerformanceOverLimit(nowMetrics, cfg));
43+
}
44+
}

0 commit comments

Comments
 (0)