package org.araqne.log.api;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.assertFalse;
import java.util.HashMap;
import java.util.Map;
import org.junit.Test;
public class FixedLengthLogParserTest {
@Test
public void testSameLength() {
Integer[] fieldLength = new Integer[] { 10, 3, 7 };
String[] header = new String[] { "Severity", "Count", "Id" };
String line = "Emergency 013test10 ";
Map<String, Object> m = new HashMap<String, Object>();
m.put("line", line);
FixedLengthLogParser p = new FixedLengthLogParser("line", false, fieldLength, header);
Map<String, Object> result = p.parse(m);
assertEquals("Emergency", result.get("Severity"));
assertEquals("013", result.get("Count"));
assertEquals("test10", result.get("Id"));
}
@Test
public void testFieldLength() {
Integer[] fieldLength = new Integer[] { 10 };
String[] header = new String[] { "Severity", "Count", "Id" };
String line = "Emergency 013test10 ";
Map<String, Object> m = new HashMap<String, Object>();
m.put("line", line);
FixedLengthLogParser p = new FixedLengthLogParser("line", false, fieldLength, header);
Map<String, Object> result = p.parse(m);
assertEquals("Emergency", result.get("Severity"));
assertTrue(result.containsKey("Count"));
assertTrue(result.containsKey("Id"));
assertNull(result.get("Count"));
assertNull(result.get("Id"));
}
@Test
public void testHeaderLength() {
Integer[] fieldLength = new Integer[] { 10, 3, 7 };
String[] header = new String[] { "Severity" };
String line = "Emergency 013test10 ";
Map<String, Object> m = new HashMap<String, Object>();
m.put("line", line);
FixedLengthLogParser p = new FixedLengthLogParser("line", false, fieldLength, header);
Map<String, Object> result = p.parse(m);
assertEquals("Emergency", result.get("Severity"));
assertFalse(result.containsKey("Count"));
assertFalse(result.containsKey("Id"));
assertNull(result.get("Count"));
assertNull(result.get("Id"));
}
@Test
public void testShortLength() {
Integer[] fieldLength = new Integer[] { 10, 3, 7 };
String[] header = new String[] { "Severity", "Count", "Id" };
String line = "Emerge";
Map<String, Object> m = new HashMap<String, Object>();
m.put("line", line);
FixedLengthLogParser p = new FixedLengthLogParser("line", false, fieldLength, header);
Map<String, Object> result = p.parse(m);
assertEquals("Emerge", result.get("Severity"));
assertTrue(result.containsKey("Count"));
assertTrue(result.containsKey("Id"));
assertNull(result.get("Count"));
assertNull(result.get("Id"));
}
@Test
public void testLongLength() {
Integer[] fieldLength = new Integer[] { 10, 3, 7 };
String[] header = new String[] { "Severity", "Count", "Id" };
String line = "Emergency 013test10 sad12f12vvvb 123qa`1";
Map<String, Object> m = new HashMap<String, Object>();
m.put("line", line);
FixedLengthLogParser p = new FixedLengthLogParser("line", false, fieldLength, header);
Map<String, Object> result = p.parse(m);
assertEquals("Emergency", result.get("Severity"));
assertEquals("013", result.get("Count"));
assertEquals("test10", result.get("Id"));
}
}