@Override public String convert(IAccessEvent accessEvent) { String user = accessEvent.getRemoteUser(); if (user == null) { return IAccessEvent.NA; } else { return user; } }
@Override public void writeTo(JsonGenerator generator, IAccessEvent event) throws IOException { JsonWritingUtils.writeStringField(generator, getFieldName(), event.getRemoteUser()); }
/** * Verifies that the remote user is N/A. * * @return this instance. * @see IAccessEvent#getRemoteUser() */ public S doesNotHaveRemoteUser() { String actualRemoteUser = actual.getRemoteUser(); Assertions.assertThat(actualRemoteUser).isEqualTo(NA); return myself; }
/** * Verifies that the remote user is equal to the given one. * * @param remoteUser the remote user. * @return this instance. * @see IAccessEvent#getRemoteUser() */ public S hasRemoteUser(String remoteUser) { String actualRemoteUser = actual.getRemoteUser(); Assertions.assertThat(actualRemoteUser).isEqualTo(remoteUser); return myself; }
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()); }
@Override public void writeTo(JsonGenerator generator, IAccessEvent event) throws IOException { JsonWritingUtils.writeStringField(generator, getFieldName(), String.format("%s - %s [%s] \"%s\" %s %s", event.getRemoteHost(), event.getRemoteUser() == null ? "-" : event.getRemoteUser(), getFormattedTimestamp(event), event.getRequestURL(), event.getStatusCode(), event.getContentLength())); }
@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(); }