package io.dropwizard.request.logging; import com.google.common.io.Resources; import io.dropwizard.configuration.YamlConfigurationFactory; import io.dropwizard.jackson.DiscoverableSubtypeResolver; import io.dropwizard.jackson.Jackson; import io.dropwizard.logging.BootstrapLogging; import io.dropwizard.validation.BaseValidator; import org.junit.Test; import java.io.File; import static org.assertj.core.api.Assertions.assertThat; public class ExternalRequestLogFactoryTest { static { BootstrapLogging.bootstrap(); } @Test public void canBeDeserialized() throws Exception { RequestLogFactory externalRequestLogFactory = new YamlConfigurationFactory<>(RequestLogFactory.class, BaseValidator.newValidator(), Jackson.newObjectMapper(), "dw") .build(new File(Resources.getResource("yaml/externalRequestLog.yml").toURI())); assertThat(externalRequestLogFactory).isNotNull(); assertThat(externalRequestLogFactory).isInstanceOf(ExternalRequestLogFactory.class); assertThat(externalRequestLogFactory.isEnabled()).isTrue(); } @Test public void isDiscoverable() throws Exception { assertThat(new DiscoverableSubtypeResolver().getDiscoveredSubtypes()) .contains(ExternalRequestLogFactory.class); } }