Add a test for enabling Undertow's access log and verify the file name

See gh-4670
pull/4670/merge
Andy Wilkinson 9 years ago
parent e233ea7f54
commit 753341c9ff

@ -16,6 +16,9 @@
package org.springframework.boot.context.embedded.undertow;
import java.io.File;
import java.io.IOException;
import java.net.URISyntaxException;
import java.util.Arrays;
import java.util.Collection;
import java.util.HashSet;
@ -39,6 +42,8 @@ import org.springframework.boot.context.embedded.ServletRegistrationBean;
import org.springframework.http.HttpStatus;
import org.springframework.test.util.ReflectionTestUtils;
import static org.hamcrest.Matchers.arrayContaining;
import static org.hamcrest.Matchers.arrayWithSize;
import static org.hamcrest.Matchers.equalTo;
import static org.hamcrest.Matchers.is;
import static org.hamcrest.Matchers.not;
@ -172,6 +177,21 @@ public class UndertowEmbeddedServletContainerFactoryTests
is(not(equalTo(getServletContainerFromNewFactory()))));
}
@Test
public void accessLogCanBeEnabled() throws IOException, URISyntaxException {
UndertowEmbeddedServletContainerFactory factory = getFactory();
factory.setAccessLogEnabled(true);
File accessLogDirectory = this.temporaryFolder.getRoot();
factory.setAccessLogDirectory(accessLogDirectory);
assertThat(accessLogDirectory.listFiles(), is(arrayWithSize(0)));
this.container = factory.getEmbeddedServletContainer(
new ServletRegistrationBean(new ExampleServlet(), "/hello"));
this.container.start();
assertThat(getResponse(getLocalUrl("/hello")), equalTo("Hello World"));
assertThat(accessLogDirectory.listFiles(),
is(arrayContaining(new File(accessLogDirectory, "access_log.log"))));
}
@Override
protected Object getJspServlet() {
return null; // Undertow does not support JSPs

Loading…
Cancel
Save