提交 33ac01c6 编写于 作者: A ainilife

add unit test for dependency report merger

上级 cf54f0c9
package com.dianping.cat.consumer.dependency;
import org.junit.Assert;
import org.junit.Test;
import org.unidal.webres.helper.Files;
import com.dianping.cat.consumer.dependency.model.entity.DependencyReport;
import com.dianping.cat.consumer.dependency.model.transform.DefaultSaxParser;
public class DependencyReportMergerTest {
@Test
public void testTopReportMerge() throws Exception {
String oldXml = Files.forIO().readFrom(getClass().getResourceAsStream("dependency_analyzer.xml"), "utf-8");
String newXml = Files.forIO().readFrom(getClass().getResourceAsStream("dependency_analyzer.xml"), "utf-8");
DependencyReport reportOld = DefaultSaxParser.parse(oldXml);
DependencyReport reportNew = DefaultSaxParser.parse(newXml);
String expected = Files.forIO().readFrom(getClass().getResourceAsStream("dependency_analyzer_merger.xml"), "utf-8");
DependencyReportMerger merger = new DependencyReportMerger(new DependencyReport(reportOld.getDomain()));
reportOld.accept(merger);
reportNew.accept(merger);
Assert.assertEquals("Check the merge result!", expected.replace("\r", ""), merger.getDependencyReport().toString()
.replace("\r", ""));
Assert.assertEquals("Source report is changed!", newXml.replace("\r", ""), reportNew.toString().replace("\r", ""));
}
}
<?xml version="1.0" encoding="utf-8"?>
<dependency-report domain="group" startTime="2012-01-01 00:00:00" endTime="2012-01-01 00:59:59">
<domainName>group</domainName>
<segment id="0">
<index name="PigeonService" total-count="68" error-count="68" sum="6868.00" avg="101.00"/>
<index name="Service" total-count="66" error-count="66" sum="6600.00" avg="100.00"/>
<index name="URL" total-count="66" error-count="66" sum="6732.00" avg="102.00"/>
</segment>
<segment id="5">
<index name="SQL" total-count="68" error-count="0" sum="3434.00" avg="50.50"/>
<index name="Cache.CatTest" total-count="66" error-count="0" sum="3300.00" avg="50.00"/>
<index name="Call" total-count="66" error-count="0" sum="3366.00" avg="51.00"/>
<dependency type="Cache" target="Cache.CatTest" total-count="66" avg="50.00" error-count="0" key="Cache:Cache.CatTest" sum="3300.00"/>
<dependency type="PigeonCall" target="Cat-CatTest" total-count="66" avg="51.00" error-count="0" key="PigeonCall:Cat-CatTest" sum="3366.00"/>
</segment>
</dependency-report>
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册