/** * Licensed to The Apereo Foundation under one or more contributor license * agreements. See the NOTICE file distributed with this work for additional * information regarding copyright ownership. * * * The Apereo Foundation licenses this file to you under the Educational * Community 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://opensource.org/licenses/ecl2.txt * * 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.opencastproject.util; import static org.junit.Assert.assertEquals; import org.junit.Test; import org.slf4j.LoggerFactory; import java.util.List; /** Not a real unit test yet. */ public class LogTest { @Test public void testLog() throws Exception { final Log log = new Log(LoggerFactory.getLogger(LogTest.class)); log.info("hello"); log.startUnitOfWork(); log.info("hello"); log.endUnitOfWork(); log.info("hello"); spawnThread(log.getContext()); log.endUnitOfWork(); log.endUnitOfWork(); log.endUnitOfWork(); log.info("hello {}", "Peter"); log.info("hello %s", "world"); log.info("hello {}, {}, {}", "he", "she", "it"); log.info("hello a {} {}", 100, "times"); log.info("Decent number formatting looks like this: %.4f", 1970.114284121232); log.info("Oh, an exception! {}", new RuntimeException("Panic!")); log.info(null); log.info(null, "Args get lost"); } @Test public void testGetHumanReadableTimeStringInputHoursMinutesAndSecondsExpectsAllThreePresent() { assertEquals("1 hour 1 minute 1 second", Log.getHumanReadableTimeString(3661)); } @Test public void testGetHumanReadableTimeStringInputHoursExpectsOnlyHours() { assertEquals("2 hours", Log.getHumanReadableTimeString(7200)); } @Test public void testGetHumanReadableTimeStringInputMinutesExpectsOnlyMinutes() { assertEquals("2 minutes", Log.getHumanReadableTimeString(120)); } @Test public void testGetHumanReadableTimeStringInputSecondsExpectsOnlySeconds() { assertEquals("2 seconds", Log.getHumanReadableTimeString(2)); } private void spawnThread(List<String> unitOfWork) { final Log log = new Log(LoggerFactory.getLogger(LogTest.class)); log.continueContext(unitOfWork); log.info("new thread"); } }