1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.hadoop.chukwa.datacollection.adaptor;
19
20 import junit.framework.TestCase;
21 import org.apache.hadoop.chukwa.datacollection.ChunkReceiver;
22 import org.apache.hadoop.chukwa.datacollection.agent.AdaptorManager;
23 import org.apache.hadoop.chukwa.*;
24 import java.net.*;
25
26
27 public class TestSyslogAdaptor extends TestCase implements ChunkReceiver {
28 volatile boolean receivedOK = false;
29 String STR = "<142>Syslog formatted message.";
30
31
32
33
34
35 public void testSyslog() throws Exception {
36 SyslogAdaptor u = new SyslogAdaptor();
37 u.parseArgs("Test", "9095", AdaptorManager.NULL);
38 u.start("id", "Test", 0, this);
39
40 DatagramSocket send = new DatagramSocket();
41 byte[] buf = STR.getBytes();
42 DatagramPacket p = new DatagramPacket(buf, buf.length);
43 p.setSocketAddress(new InetSocketAddress("127.0.0.1",u.portno));
44 send.send(p);
45
46 synchronized(this) {
47 wait(1000);
48 }
49 assertTrue(receivedOK);
50 }
51
52
53
54
55 public void add(Chunk c) {
56 System.out.print(c.getDataType());
57 assertTrue(c.getDataType().equals("HADOOP"));
58 assertEquals(c.getSeqID(), c.getData().length);
59 assertTrue(STR.equals(new String(c.getData())));
60 receivedOK= true;
61 synchronized(this) {
62 notify();
63 }
64 }
65
66 }