package glug.parser.logmessages; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.is; import glug.model.ThreadedSystem; import glug.model.time.LogInstant; import java.util.regex.Matcher; import org.joda.time.Duration; import org.junit.Test; public class JVMUptimeParserTest { /* 2009-03-06 14:54:41,424 [timerFactory] INFO com.gu.r2.common.diagnostic.CacheStatisticsLoggingTimerTask - JVM uptime: 2494.322 seconds JVM uptime: 2494.322 seconds */ @Test public void shouldParseJVMUptimeCorrectly() { JVMUptimeParser parser = new JVMUptimeParser(); ThreadedSystem threadedSystem = new ThreadedSystem(); String logMessage = "JVM uptime: 2494.322 seconds"; Matcher matcher = parser.getPattern().matcher(logMessage); assertThat(matcher.find(), is(true)); LogInstant logInstant = new LogInstant(4567,1001); parser.process(matcher, threadedSystem.getOrCreateThread("randomThread"), logInstant); assertThat(threadedSystem.uptime().at(logInstant.getRecordedInstant()), equalTo(new Duration(2494322))); } }