提交 9642e403 编写于 作者: A ainilife

add unit test for cross report merger

上级 25be0cb8
package com.dianping.cat.consumer.cross;
import org.junit.Assert;
import org.junit.Test;
import org.unidal.webres.helper.Files;
import com.dianping.cat.consumer.cross.model.entity.CrossReport;
import com.dianping.cat.consumer.cross.model.transform.DefaultSaxParser;
public class CrossReportMergerTest {
@Test
public void testCrossReportMerge() throws Exception {
String oldXml = Files.forIO().readFrom(getClass().getResourceAsStream("cross_analyzer.xml"), "utf-8");
String newXml = Files.forIO().readFrom(getClass().getResourceAsStream("cross_analyzer.xml"), "utf-8");
CrossReport reportOld = DefaultSaxParser.parse(oldXml);
CrossReport reportNew = DefaultSaxParser.parse(newXml);
String expected = Files.forIO().readFrom(getClass().getResourceAsStream("cross_analyzer_merger.xml"), "utf-8");
CrossReportMerger merger = new CrossReportMerger(new CrossReport(reportOld.getDomain()));
reportOld.accept(merger);
reportNew.accept(merger);
Assert.assertEquals("Check the merge result!", expected.replace("\r", ""), merger.getCrossReport().toString()
.replace("\r", ""));
Assert.assertEquals("Source report is changed!", newXml.replace("\r", ""), reportNew.toString().replace("\r", ""));
}
}
<?xml version="1.0" encoding="utf-8"?>
<cross-report domain="group" startTime="2012-01-01 00:00:00" endTime="2012-01-01 00:59:59">
<domain>group</domain>
<ip>192.168.1.1</ip>
<local id="192.168.1.1">
<remote id="192.168.1.2" role="Pigeon.Client">
<type id="PigeonService" totalCount="100" failCount="100" failPercent="100.00" avg="100.00" sum="10000.00" tps="0.00">
<name id="Cat-Test-Service" totalCount="100" failCount="100" failPercent="100.00" avg="100.00" sum="10000.00" tps="0.00"/>
</type>
</remote>
<remote id="192.168.1.0:3000:class:method1" role="Pigeon.Server">
<type id="PigeonCall" totalCount="100" failCount="100" failPercent="100.00" avg="102.00" sum="10200.00" tps="0.00">
<name id="Cat-Test-Call" totalCount="100" failCount="100" failPercent="100.00" avg="102.00" sum="10200.00" tps="0.00"/>
</type>
</remote>
</local>
</cross-report>
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册