/* * Copyright 2014 Eediom Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.araqne.logparser.syslog.riorey; import static org.junit.Assert.assertEquals; import java.util.Calendar; import java.util.Date; import java.util.HashMap; import java.util.Map; import org.junit.Test; /** * @author kyun */ public class RioreyDdosLogParserTest { @Test public void testParser() { String line = "175.223.12.223, 0, 0.0.0.0, 0, TCP_SESSION, 2014-3-9 6:44:31, 2014-3-19 17:9:48, 0, , TCP, A, AFA, Agent Filtered IP: Dropped packets: 0 Dropped bytes: 0"; RioreyDdosLogParser parser = new RioreyDdosLogParser(); Map<String, Object> m = parser.parse(line(line)); assertEquals("175.223.12.223", m.get("attacker_ip")); assertEquals(0, m.get("attacker_port")); assertEquals("0.0.0.0", m.get("victim_ip")); assertEquals(0, m.get("victim_port")); assertEquals("TCP_SESSION", m.get("protocol_info")); Date time = (Date) m.get("start_time"); Calendar c = Calendar.getInstance(); c.setTime(time); assertEquals(2014, c.get(Calendar.YEAR)); assertEquals(2, c.get(Calendar.MONTH)); assertEquals(9, c.get(Calendar.DAY_OF_MONTH)); assertEquals(6, c.get(Calendar.HOUR_OF_DAY)); assertEquals(44, c.get(Calendar.MINUTE)); assertEquals(31, c.get(Calendar.SECOND)); time = (Date) m.get("expiry_time"); c.setTime(time); assertEquals(2014, c.get(Calendar.YEAR)); assertEquals(2, c.get(Calendar.MONTH)); assertEquals(19, c.get(Calendar.DAY_OF_MONTH)); assertEquals(17, c.get(Calendar.HOUR_OF_DAY)); assertEquals(9, c.get(Calendar.MINUTE)); assertEquals(48, c.get(Calendar.SECOND)); assertEquals(0, m.get("packet_length")); assertEquals(null, m.get("fragment_offset")); assertEquals("TCP", m.get("protocol")); assertEquals("A", m.get("tcp_flags")); assertEquals("AFA", m.get("packet_status")); assertEquals("Agent Filtered IP: Dropped packets: 0 Dropped bytes: 0", m.get("extra_info")); } private Map<String, Object> line(String line) { Map<String, Object> m = new HashMap<String, Object>(); m.put("line", line); return m; } }