Commit 753341c9 authored by Andy Wilkinson's avatar Andy Wilkinson

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

See gh-4670
parent e233ea7f
...@@ -16,6 +16,9 @@ ...@@ -16,6 +16,9 @@
package org.springframework.boot.context.embedded.undertow; 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.Arrays;
import java.util.Collection; import java.util.Collection;
import java.util.HashSet; import java.util.HashSet;
...@@ -39,6 +42,8 @@ import org.springframework.boot.context.embedded.ServletRegistrationBean; ...@@ -39,6 +42,8 @@ import org.springframework.boot.context.embedded.ServletRegistrationBean;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
import org.springframework.test.util.ReflectionTestUtils; 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.equalTo;
import static org.hamcrest.Matchers.is; import static org.hamcrest.Matchers.is;
import static org.hamcrest.Matchers.not; import static org.hamcrest.Matchers.not;
...@@ -172,6 +177,21 @@ public class UndertowEmbeddedServletContainerFactoryTests ...@@ -172,6 +177,21 @@ public class UndertowEmbeddedServletContainerFactoryTests
is(not(equalTo(getServletContainerFromNewFactory())))); 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 @Override
protected Object getJspServlet() { protected Object getJspServlet() {
return null; // Undertow does not support JSPs return null; // Undertow does not support JSPs
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment