@Override public String convert(IAccessEvent accessEvent) { return accessEvent.getRequestContent(); }
@Override public String convert(IAccessEvent ae) { StringBuilder buf = new StringBuilder(); buf.append(ae.getRequestURL()); buf.append(CoreConstants.LINE_SEPARATOR); Enumeration headerNames = ae.getRequestHeaderNames(); while (headerNames.hasMoreElements()) { String name = (String) headerNames.nextElement(); buf.append(name); buf.append(": "); buf.append(ae.getRequestHeader(name)); buf.append(CoreConstants.LINE_SEPARATOR); } buf.append(CoreConstants.LINE_SEPARATOR); buf.append(ae.getRequestContent()); return buf.toString(); }
void addAccessEvent(PreparedStatement stmt, IAccessEvent event) throws SQLException { stmt.setLong(1, event.getTimeStamp()); stmt.setString(2, event.getRequestURI()); stmt.setString(3, event.getRequestURL()); stmt.setString(4, event.getRemoteHost()); stmt.setString(5, event.getRemoteUser()); stmt.setString(6, event.getRemoteAddr()); stmt.setString(7, event.getProtocol()); stmt.setString(8, event.getMethod()); stmt.setString(9, event.getServerName()); stmt.setString(10, event.getRequestContent()); }
@Test public void testAppendAccessEvent() throws SQLException { setInsertHeadersAndStart(false); IAccessEvent event = createAccessEvent(); appender.append(event); Statement stmt = connectionSource.getConnection().createStatement(); ResultSet rs = null; rs = stmt.executeQuery("SELECT * FROM access_event where EVENT_ID = " + existingEventTableRowCount); if (rs.next()) { assertEquals(event.getTimeStamp(), rs.getLong(1)); assertEquals(event.getRequestURI(), rs.getString(2)); assertEquals(event.getRequestURL(), rs.getString(3)); assertEquals(event.getRemoteHost(), rs.getString(4)); assertEquals(event.getRemoteUser(), rs.getString(5)); assertEquals(event.getRemoteAddr(), rs.getString(6)); assertEquals(event.getProtocol(), rs.getString(7)); assertEquals(event.getMethod(), rs.getString(8)); assertEquals(event.getServerName(), rs.getString(9)); assertEquals(event.getRequestContent(), rs.getString(10)); } else { fail("No row was inserted in the database"); } rs.close(); stmt.close(); }
@Test public void testSerialization() throws IOException, ClassNotFoundException { Object o = buildSerializedAccessEvent(); assertNotNull(o); IAccessEvent aeBack = (IAccessEvent) o; assertEquals(DummyResponse.DUMMY_DEFAULT_HDEADER_MAP, aeBack.getResponseHeaderMap()); assertEquals(DummyResponse.DUMMY_DEFAULT_HDEADER_MAP.get("x"), aeBack.getResponseHeader("x")); assertEquals(DummyResponse.DUMMY_DEFAULT_HDEADER_MAP.get("headerName1"), aeBack.getResponseHeader("headerName1")); assertEquals(DummyResponse.DUMMY_DEFAULT_HDEADER_MAP.size(), aeBack.getResponseHeaderNameList().size()); assertEquals(DummyResponse.DUMMY_DEFAULT_CONTENT_COUNT, aeBack.getContentLength()); assertEquals(DummyResponse.DUMMY_DEFAULT_STATUS, aeBack.getStatusCode()); assertEquals(DummyRequest.DUMMY_CONTENT_STRING, aeBack.getRequestContent()); assertEquals(DummyRequest.DUMMY_RESPONSE_CONTENT_STRING, aeBack.getResponseContent()); assertEquals(DummyRequest.DUMMY_DEFAULT_ATTR_MAP.get("testKey"), aeBack.getAttribute("testKey")); }