提交 c2985035 编写于 作者: F Frankie Wu

fix json test case

上级 c0089ecc
......@@ -19,28 +19,27 @@ import com.site.lookup.ComponentTestCase;
@RunWith(JUnit4.class)
public class FailureAnalyzerStoreTest extends ComponentTestCase {
@Test
public void testJson()throws Exception{
@Test
public void testJson() throws Exception {
long current = System.currentTimeMillis();
long duration = 60 * 60 * 1000;
long extraTime = 5 * 60 * 1000;
long start = current - current % (60 * 60 * 1000);
AnalyzerFactory factory = lookup(AnalyzerFactory.class);
FailureReportAnalyzer analyzer = (FailureReportAnalyzer) factory
.create("failure", start, duration, "domain1", extraTime);
FailureReportAnalyzer analyzer = (FailureReportAnalyzer) factory.create("failure", start, duration, "domain1",
extraTime);
int number = 5;
for (int i = 0; i < number; i++) {
DefaultTransaction t = new DefaultTransaction("A1", "B1", null);
MessageTree tree = new DefaultMessageTree();
tree.setMessageId("MessageId"+ i);
tree.setMessageId("MessageId" + i);
tree.setThreadId("Thread" + i);
tree.setDomain("middleware");
tree.setHostName("middleware");
tree.setMessage(t);
tree.setIpAddress("192.168.8."+i%4);
tree.setIpAddress("192.168.8." + i % 4);
t.setDuration(3 * 1000);
t.setTimestamp(start + 1000 * 60 * i);
analyzer.process(tree);
......@@ -51,19 +50,15 @@ public class FailureAnalyzerStoreTest extends ComponentTestCase {
FailureReport report = analyzer.generate();
analyzer.store(report);
DefaultJsonBuilder jsonBuilder = new DefaultJsonBuilder();
jsonBuilder.visitFailureReport(report);
/*String realResult = jsonBuilder.getString();
DefaultJsonBuilder builder = new DefaultJsonBuilder();
builder.visitFailureReport(report);
String json = builder.getString();
String expected = Files.forIO().readFrom(getResourceFile("failure.json"), "utf-8");
Assert.assertEquals("Check json content!", expected, json);
}
Gson gson = new Gson();
String exceptedResult = gson.toJson(report,FailureReport.class);
Assert.assertEquals("Check json content!", exceptedResult, realResult);
*/
}
@Test
public void testStore() throws Exception {
long current = System.currentTimeMillis();
......@@ -72,8 +67,8 @@ public class FailureAnalyzerStoreTest extends ComponentTestCase {
long start = current - current % (60 * 60 * 1000);
AnalyzerFactory factory = lookup(AnalyzerFactory.class);
FailureReportAnalyzer analyzer = (FailureReportAnalyzer) factory
.create("failure", start, duration, "domain1", extraTime);
FailureReportAnalyzer analyzer = (FailureReportAnalyzer) factory.create("failure", start, duration, "domain1",
extraTime);
int number = 20;
for (int i = 0; i < number; i++) {
DefaultTransaction t = new DefaultTransaction("A1", "B1", null);
......
{
"domain": "domain1",
"startTime": "2012-01-21 21:00:00",
"endTime": "2012-01-21 21:59:00",
"machines": {
"machines": [
"192.168.8.0",
"192.168.8.1",
"192.168.8.2",
"192.168.8.3"
]
},
"threads": {
"threads": [
"Thread0",
"Thread1",
"Thread2",
"Thread3",
"Thread4"
]
},
"segments": {
"2012-01-21 21:00": {
"id": "2012-01-21 21:00",
"entries": [
{
"type": "LongUrl",
"path": "file:/Users/qmwu/project/tracking/cat-consumer/target/catlog/20120121/middleware/MessageId0",
"threadId": "Thread0",
"text": "A1B1"
},
{
"type": "LongUrl",
"path": "file:/Users/qmwu/project/tracking/cat-consumer/target/catlog/20120121/middleware/MessageId0",
"threadId": "Thread0",
"text": "A1B1"
},
{
"type": "LongUrl",
"path": "file:/Users/qmwu/project/tracking/cat-consumer/target/catlog/20120121/middleware/MessageId0",
"threadId": "Thread0",
"text": "A1B1"
}
]
},
"2012-01-21 21:01": {
"id": "2012-01-21 21:01",
"entries": [
{
"type": "LongUrl",
"path": "file:/Users/qmwu/project/tracking/cat-consumer/target/catlog/20120121/middleware/MessageId1",
"threadId": "Thread1",
"text": "A1B1"
},
{
"type": "LongUrl",
"path": "file:/Users/qmwu/project/tracking/cat-consumer/target/catlog/20120121/middleware/MessageId1",
"threadId": "Thread1",
"text": "A1B1"
},
{
"type": "LongUrl",
"path": "file:/Users/qmwu/project/tracking/cat-consumer/target/catlog/20120121/middleware/MessageId1",
"threadId": "Thread1",
"text": "A1B1"
}
]
},
"2012-01-21 21:02": {
"id": "2012-01-21 21:02",
"entries": [
{
"type": "LongUrl",
"path": "file:/Users/qmwu/project/tracking/cat-consumer/target/catlog/20120121/middleware/MessageId2",
"threadId": "Thread2",
"text": "A1B1"
},
{
"type": "LongUrl",
"path": "file:/Users/qmwu/project/tracking/cat-consumer/target/catlog/20120121/middleware/MessageId2",
"threadId": "Thread2",
"text": "A1B1"
},
{
"type": "LongUrl",
"path": "file:/Users/qmwu/project/tracking/cat-consumer/target/catlog/20120121/middleware/MessageId2",
"threadId": "Thread2",
"text": "A1B1"
}
]
},
"2012-01-21 21:03": {
"id": "2012-01-21 21:03",
"entries": [
{
"type": "LongUrl",
"path": "file:/Users/qmwu/project/tracking/cat-consumer/target/catlog/20120121/middleware/MessageId3",
"threadId": "Thread3",
"text": "A1B1"
},
{
"type": "LongUrl",
"path": "file:/Users/qmwu/project/tracking/cat-consumer/target/catlog/20120121/middleware/MessageId3",
"threadId": "Thread3",
"text": "A1B1"
},
{
"type": "LongUrl",
"path": "file:/Users/qmwu/project/tracking/cat-consumer/target/catlog/20120121/middleware/MessageId3",
"threadId": "Thread3",
"text": "A1B1"
}
]
},
"2012-01-21 21:04": {
"id": "2012-01-21 21:04",
"entries": [
{
"type": "LongUrl",
"path": "file:/Users/qmwu/project/tracking/cat-consumer/target/catlog/20120121/middleware/MessageId4",
"threadId": "Thread4",
"text": "A1B1"
},
{
"type": "LongUrl",
"path": "file:/Users/qmwu/project/tracking/cat-consumer/target/catlog/20120121/middleware/MessageId4",
"threadId": "Thread4",
"text": "A1B1"
},
{
"type": "LongUrl",
"path": "file:/Users/qmwu/project/tracking/cat-consumer/target/catlog/20120121/middleware/MessageId4",
"threadId": "Thread4",
"text": "A1B1"
}
]
}
}
}
......@@ -54,7 +54,7 @@ public class ComponentsConfigurator extends AbstractResourceConfigurator {
.req(MessageManager.class));
all.add(C(MessageStorage.class, "html", DefaultMessageStorage.class) //
.req(MessagePathBuilder.class) //
.req(MessageCodec.class, "html-encode"));
.req(MessageCodec.class, "html"));
all.add(C(BufferWriter.class, "escape", EscapingBufferWriter.class));
all.add(C(BufferWriter.class, "html-encode", HtmlEncodingBufferWriter.class));
......
......@@ -27,7 +27,7 @@ public class DefaultMessageManager extends ContainerHolder implements MessageMan
}
};
private Config m_config;
private Config m_config = new Config();
private String m_domain;
......@@ -80,7 +80,7 @@ public class DefaultMessageManager extends ContainerHolder implements MessageMan
public void initialize(Config config) {
m_config = config;
if (m_config != null && m_config.getApp() != null) {
if (m_config.getApp() != null) {
m_domain = m_config.getApp().getDomain();
}
......@@ -131,7 +131,8 @@ public class DefaultMessageManager extends ContainerHolder implements MessageMan
m_tree.setThreadId(Long.toHexString(Thread.currentThread().getId()));
m_tree.setHostName(hostName);
m_tree.setIpAddress(ipAddress);
m_tree.setMessageId(UUID.randomUUID().toString()); // TODO optimize it to shorter UUID
m_tree.setMessageId(UUID.randomUUID().toString()); // TODO optimize it
// to shorter UUID
}
public void add(DefaultMessageManager manager, Message message) {
......
......@@ -10,6 +10,7 @@ import java.util.Date;
import org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable;
import org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializationException;
import com.dianping.cat.configuration.model.entity.Config;
import com.dianping.cat.message.spi.MessageManager;
import com.dianping.cat.message.spi.MessagePathBuilder;
import com.dianping.cat.message.spi.MessageTree;
......@@ -44,8 +45,10 @@ public class DefaultMessagePathBuilder implements MessagePathBuilder, Initializa
@Override
public void initialize() throws InitializationException {
String baseLogDir = m_manager.getConfig().getBaseLogDir();
String baseLogUrl = m_manager.getConfig().getBaseLogUrl();
Config config = m_manager.getConfig();
String baseLogDir = config.getBaseLogDir();
String baseLogUrl = config.getBaseLogUrl();
try {
m_baseLogDir = new File(baseLogDir).getCanonicalFile();
......
......@@ -56,7 +56,7 @@
</requirement>
<requirement>
<role>com.dianping.cat.message.spi.MessageCodec</role>
<role-hint>html-encode</role-hint>
<role-hint>html</role-hint>
</requirement>
</requirements>
</component>
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册