Skip to content

Commit

Permalink
Add test for filter with undertow
Browse files Browse the repository at this point in the history
  • Loading branch information
adrienlauer committed Jan 12, 2018
1 parent 4a42527 commit aabcfff
Show file tree
Hide file tree
Showing 3 changed files with 64 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
import org.seedstack.seed.spi.SeedLauncher;

/**
* Tests an undertow server exposing a simple hello world servlet.
* Tests an undertow server exposing a simple hello world servlet and filter.
*/
public class UndertowIT {
private final SeedLauncher launcher = Seed.getLauncher();
Expand Down Expand Up @@ -50,7 +50,9 @@ public void refresh() throws Exception {

private void checkServer(int port) {
RestAssured.useRelaxedHTTPSValidation();
Response response = expect().statusCode(200).when().get("https://localhost:" + port + "/hello");
Assertions.assertThat(response.asString()).isEqualTo("Hello World! value1");
Response servletResponse = expect().statusCode(200).when().get("https://localhost:" + port + "/helloServlet");
Assertions.assertThat(servletResponse.asString()).isEqualTo("Hello World! value1");
Response filterResponse = expect().statusCode(200).when().get("https://localhost:" + port + "/helloFilter");
Assertions.assertThat(filterResponse.asString()).isEqualTo("Hello World! value2");
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
/*
* Copyright © 2013-2017, The SeedStack authors <http://seedstack.org>
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/

package org.seedstack.seed.web.fixtures;

import static org.assertj.core.api.Assertions.assertThat;

import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.annotation.WebFilter;
import javax.servlet.annotation.WebInitParam;
import org.seedstack.seed.Logging;
import org.slf4j.Logger;

@WebFilter(value = {"/helloFilter"}, initParams = {@WebInitParam(name = "param2", value = HelloWorldFilter
.PARAM2_VALUE)})
public class HelloWorldFilter implements Filter {
public static final String CONTENT = "Hello World!";
public static final String PARAM2_VALUE = "value2";
private static final long serialVersionUID = 1L;
@Logging
private Logger logger;
private String param2;

@Override
public void init(FilterConfig filterConfig) throws ServletException {
param2 = filterConfig.getInitParameter("param2");
}

@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse,
FilterChain filterChain) throws IOException {
assertThat(logger).isNotNull();

String text = CONTENT + " " + param2;

servletResponse.setContentType("text/plain");
servletResponse.setContentLength(text.length());

servletResponse.getWriter().write(text);
}

@Override
public void destroy() {

}
}
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,8 @@
import org.seedstack.seed.Logging;
import org.slf4j.Logger;

@WebServlet(value = {"/hello"}, initParams = {@WebInitParam(name = "param1", value = HelloWorldServlet.PARAM1_VALUE)})
@WebServlet(value = {"/helloServlet"}, initParams = {@WebInitParam(name = "param1", value = HelloWorldServlet
.PARAM1_VALUE)})
public class HelloWorldServlet extends HttpServlet {
public static final String CONTENT = "Hello World!";
public static final String PARAM1_VALUE = "value1";
Expand Down

0 comments on commit aabcfff

Please sign in to comment.