diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..19f98e4 --- /dev/null +++ b/pom.xml @@ -0,0 +1,55 @@ + + + 4.0.0 + works.buddy.samples + works-with-heroku + 1.0 + war + + + javax.servlet + servlet-api + 2.5 + provided + + + junit + junit + 4.12 + test + + + org.mockito + mockito-all + 1.10.19 + test + + + + + + + org.apache.maven.plugins + maven-dependency-plugin + 2.3 + + + package + copy + + + + org.eclipse.jetty + jetty-runner + 9.3.3.v20150827 + jetty-runner.jar + + + + + + + + + diff --git a/src/main/java/works/buddy/samples/WorksWithHerokuServlet.java b/src/main/java/works/buddy/samples/WorksWithHerokuServlet.java new file mode 100644 index 0000000..f8b0ee3 --- /dev/null +++ b/src/main/java/works/buddy/samples/WorksWithHerokuServlet.java @@ -0,0 +1,19 @@ +package works.buddy.samples; + +import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.io.PrintWriter; + +public class WorksWithHerokuServlet extends HttpServlet { + + protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + response.setContentType("text/plain"); + response.setStatus(404); + PrintWriter writer = response.getWriter(); + writer.print("WEB APP WORKING"); + writer.close(); + } +} diff --git a/src/main/webapp/WEB-INF/web.xml b/src/main/webapp/WEB-INF/web.xml new file mode 100644 index 0000000..1c789e3 --- /dev/null +++ b/src/main/webapp/WEB-INF/web.xml @@ -0,0 +1,18 @@ + + + + Works with Heroku + + + WorksWithHerokuServlet + works.buddy.samples.WorksWithHerokuServlet + + + + WorksWithHerokuServlet + / + + + diff --git a/src/test/java/works/buddy/samples/WorksWithHerokuServletTest.java b/src/test/java/works/buddy/samples/WorksWithHerokuServletTest.java new file mode 100644 index 0000000..f3e4c66 --- /dev/null +++ b/src/test/java/works/buddy/samples/WorksWithHerokuServletTest.java @@ -0,0 +1,41 @@ +package works.buddy.samples; + +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.ByteArrayOutputStream; +import java.io.PrintWriter; + +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.when; + +public class WorksWithHerokuServletTest { + + private WorksWithHerokuServlet servlet; + + @Mock + private HttpServletRequest request; + + @Mock + private HttpServletResponse response; + + @Before + public void setUp() throws Exception { + MockitoAnnotations.initMocks(this); + servlet = new WorksWithHerokuServlet(); + } + + @Test + public void testDoGet() throws Exception { + ByteArrayOutputStream out = new ByteArrayOutputStream(); + PrintWriter writer = new PrintWriter(out); + when(response.getWriter()).thenReturn(writer); + + servlet.doGet(request, response); + assertEquals("WEB APP WORKING", new String( out.toByteArray(), "UTF-8")); + } +}