提交 25be0cb8 编写于 作者: A ainilife

add unit test for mtrix report merger

上级 3962d645
package com.dianping.cat.consumer.matrix;
import org.junit.Assert;
import org.junit.Test;
import org.unidal.webres.helper.Files;
import com.dianping.cat.consumer.matrix.model.entity.MatrixReport;
import com.dianping.cat.consumer.matrix.model.transform.DefaultSaxParser;
public class MatrixReportMergerTest {
@Test
public void testTopReportMerge() throws Exception {
String oldXml = Files.forIO().readFrom(getClass().getResourceAsStream("matrix_analyzer.xml"), "utf-8");
String newXml = Files.forIO().readFrom(getClass().getResourceAsStream("matrix_analyzer.xml"), "utf-8");
MatrixReport reportOld = DefaultSaxParser.parse(oldXml);
MatrixReport reportNew = DefaultSaxParser.parse(newXml);
String expected = Files.forIO().readFrom(getClass().getResourceAsStream("matrix_analyzer_merger.xml"), "utf-8");
MatrixReportMerger merger = new MatrixReportMerger(new MatrixReport(reportOld.getDomain()));
reportOld.accept(merger);
reportNew.accept(merger);
Assert.assertEquals("Check the merge result!", expected.replace("\r", ""), merger.getMatrixReport().toString()
.replace("\r", ""));
Assert.assertEquals("Source report is changed!", newXml.replace("\r", ""), reportNew.toString().replace("\r", ""));
}
}
<?xml version="1.0" encoding="utf-8"?>
<matrix-report domain="group" startTime="2012-01-01 00:00:00" endTime="2012-01-01 00:59:59">
<domain>group</domain>
<matrix type="PigeonService" name="Cat-Test-Service" count="134" totalTime="13468000" url="1">
<ratio type="SQL" min="1" max="1" totalCount="68" totalTime="3434000" url="1"/>
<ratio type="Call" min="0" max="0" totalCount="0" totalTime="0"/>
<ratio type="Cache" min="0" max="1" totalCount="66" totalTime="3300000" url="2"/>
</matrix>
<matrix type="URL" name="Cat-Test-Call" count="66" totalTime="6732000" url="3">
<ratio type="SQL" min="0" max="0" totalCount="0" totalTime="0"/>
<ratio type="Call" min="1" max="1" totalCount="66" totalTime="3366000" url="3"/>
<ratio type="Cache" min="0" max="0" totalCount="0" totalTime="0"/>
</matrix>
</matrix-report>
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册