Package net.gini.dropwizard.gelf.logging

Source Code of net.gini.dropwizard.gelf.logging.GelfAppenderFactoryTest

package net.gini.dropwizard.gelf.logging;

import ch.qos.logback.classic.LoggerContext;
import ch.qos.logback.core.Appender;
import com.google.common.base.Optional;
import io.dropwizard.configuration.ConfigurationException;
import io.dropwizard.logging.AsyncAppender;
import org.junit.Test;

import java.io.IOException;

import static org.hamcrest.CoreMatchers.instanceOf;
import static org.hamcrest.core.Is.is;
import static org.hamcrest.core.IsNull.nullValue;
import static org.junit.Assert.assertThat;

public class GelfAppenderFactoryTest {

    @Test
    public void hasValidDefaults() throws IOException, ConfigurationException {
        final GelfAppenderFactory factory = new GelfAppenderFactory();

        assertThat("default Graylog2 host is 'localhost'", factory.getHost(), is("localhost"));
        assertThat("default Graylog2 port is 12201", factory.getPort(), is(12201));
        assertThat("default hostname is absent", factory.getHostName(), is(Optional.<String>absent()));
        assertThat("default server version is 0.9.6", factory.getServerVersion(), is("0.9.6"));
        assertThat("default facility is absent", factory.getFacility().isPresent(), is(false));
        assertThat("default chunk threshold is 1000", factory.getChunkThreshold(), is(1000));
        assertThat("default message pattern is %m%rEx", factory.getMessagePattern(), is("%m%rEx"));
        assertThat("default short message pattern is unset", factory.getShortMessagePattern(), nullValue());
        assertThat("default additional fields are empty", factory.getAdditionalFields().isEmpty(), is(true));
        assertThat("default static additional fields are empty", factory.getStaticFields().isEmpty(), is(true));
        assertThat("default field types are empty", factory.getFieldTypes().isEmpty(), is(true));
    }

    @Test(expected = NullPointerException.class)
    public void buildGelfAppenderShouldFailWithNullContext() {
        new GelfAppenderFactory().build(null, "", null);
    }

    @Test
    public void buildGelfAppenderShouldWorkWithValidConfiguration() {
        final GelfAppenderFactory gelf = new GelfAppenderFactory();
        final String applicationName = "applicationName";

        Appender appender = gelf.build(new LoggerContext(), applicationName, null);

        assertThat(appender, instanceOf(AsyncAppender.class));
    }
}
TOP

Related Classes of net.gini.dropwizard.gelf.logging.GelfAppenderFactoryTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.