From 251cba36d4dcb209f589d4db189f7559902c1d90 Mon Sep 17 00:00:00 2001 From: Kyle Annen Date: Fri, 13 Oct 2017 15:52:34 -0500 Subject: [PATCH 1/7] resolve issues in ConfigRoutes --- .../java/org/clojars/kyleannen/javaserver/ConfigRoutes.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/clojars/kyleannen/javaserver/ConfigRoutes.java b/src/main/java/org/clojars/kyleannen/javaserver/ConfigRoutes.java index 793b662..caff9d4 100644 --- a/src/main/java/org/clojars/kyleannen/javaserver/ConfigRoutes.java +++ b/src/main/java/org/clojars/kyleannen/javaserver/ConfigRoutes.java @@ -8,20 +8,20 @@ public class ConfigRoutes { this.initialize(); } - void initialize() { + private void initialize() { this.initializeGetRoutes(); this.initializePostRoutes(); //custom routes go here: } - void initializeGetRoutes() { + private void initializeGetRoutes() { ControllerForm controllerForm = new ControllerForm(); ControllerFile controllerFile = new ControllerFile(); router.addRoute("GET","/resources/form/index.html", controllerFile); router.addRoute("GET", "/form", controllerForm); } - void initializePostRoutes() { + private void initializePostRoutes() { ControllerPost controllerPost = new ControllerPost(); router.addRoute("POST", "/resources/form", controllerPost); } From b99fbab22aaeaf18a57698121b6f35a004ab6966 Mon Sep 17 00:00:00 2001 From: Kyle Annen Date: Fri, 13 Oct 2017 15:58:30 -0500 Subject: [PATCH 2/7] resolve issutes in ControllerDirectory --- .../clojars/kyleannen/javaserver/ControllerDirectory.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/clojars/kyleannen/javaserver/ControllerDirectory.java b/src/main/java/org/clojars/kyleannen/javaserver/ControllerDirectory.java index 08f6284..072bbca 100644 --- a/src/main/java/org/clojars/kyleannen/javaserver/ControllerDirectory.java +++ b/src/main/java/org/clojars/kyleannen/javaserver/ControllerDirectory.java @@ -19,7 +19,7 @@ public ResponseParameters getResponse(RequestParameters requestParameters) throw .build(); } - String getDirectoryListing(String filePath, String relativePath) { + protected String getDirectoryListing(String filePath, String relativePath) { ArrayList directoryContents = filesList(filePath); ArrayList formattedDirectory = formatDirectoryHtml(directoryContents, relativePath); StringBuilder directoryListing = new StringBuilder(); @@ -29,7 +29,7 @@ String getDirectoryListing(String filePath, String relativePath) { return directoryListing.toString(); } - ArrayList filesList(String filePath) { + protected ArrayList filesList(String filePath) { File fullFilePath = new File(filePath); try { return new ArrayList<>(Arrays.asList(fullFilePath.list())); @@ -38,7 +38,7 @@ ArrayList filesList(String filePath) { } } - ArrayList formatDirectoryHtml(ArrayList directoryList, String relativePath) { + protected ArrayList formatDirectoryHtml(ArrayList directoryList, String relativePath) { ArrayList directoryResponseMessage = new ArrayList<>(); directoryResponseMessage.add("\n"); From 9598158eb304a03921dd1b0301454115e57af264 Mon Sep 17 00:00:00 2001 From: Kyle Annen Date: Fri, 13 Oct 2017 16:12:49 -0500 Subject: [PATCH 3/7] resolve additional issues --- .../javaserver/RequestParameters.java | 18 +++++++++--------- .../clojars/kyleannen/javaserver/Routes.java | 2 +- .../clojars/kyleannen/javaserver/Server.java | 12 ++---------- .../kyleannen/javaserver/ShutdownHook.java | 4 ++-- .../javaserver/ConfigFileDownloadsTest.java | 4 ---- .../javaserver/ConfigureServerTest.java | 4 ++-- .../javaserver/ControllerPostTest.java | 14 -------------- .../kyleannen/javaserver/LoggerTest.java | 9 --------- .../javaserver/ResponseParametersTest.java | 3 ++- .../kyleannen/javaserver/RouterTest.java | 6 ------ .../kyleannen/javaserver/RoutesTest.java | 10 ---------- .../kyleannen/javaserver/SendResponseTest.java | 6 +++++- .../javaserver/TestDirectorySetup.java | 1 - 13 files changed, 23 insertions(+), 70 deletions(-) diff --git a/src/main/java/org/clojars/kyleannen/javaserver/RequestParameters.java b/src/main/java/org/clojars/kyleannen/javaserver/RequestParameters.java index 156eee1..813680d 100644 --- a/src/main/java/org/clojars/kyleannen/javaserver/RequestParameters.java +++ b/src/main/java/org/clojars/kyleannen/javaserver/RequestParameters.java @@ -24,21 +24,21 @@ private RequestParameters(RequestBuilder builder) { this.params = builder.params; } - String getDirectoryPath() { return directoryPath; } + public String getDirectoryPath() { return directoryPath; } - String getHttpVerb() { return httpVerb; } + public String getHttpVerb() { return httpVerb; } - String getRequestPath() { return requestPath; } + public String getRequestPath() { return requestPath; } - String getHost() { return host; } + public String getHost() { return host; } - String getUserAgent() { return userAgent; } + public String getUserAgent() { return userAgent; } - String[] getAccept() { return accept; } + public String[] getAccept() { return accept; } - String getBodyContent() { return bodyContent; } + public String getBodyContent() { return bodyContent; } - String getParams() { return params; } + public String getParams() { return params; } public static class RequestBuilder { private final String directoryPath; @@ -78,7 +78,7 @@ public RequestBuilder setHost(ArrayList httpMessage) { String host = null; for(String line: httpMessage) { String headerField = line.split(" ")[0]; - if(headerField.equals("Host:")) { + if("Host:".equals(headerField)) { host = line.split(" ")[1].trim(); } } diff --git a/src/main/java/org/clojars/kyleannen/javaserver/Routes.java b/src/main/java/org/clojars/kyleannen/javaserver/Routes.java index 071e90b..d12d945 100644 --- a/src/main/java/org/clojars/kyleannen/javaserver/Routes.java +++ b/src/main/java/org/clojars/kyleannen/javaserver/Routes.java @@ -21,7 +21,7 @@ Set getRoutePaths() { } } - Boolean routeExists(String route) { return this.routes.keySet().contains(route); } + protected Boolean routeExists(String route) { return this.routes.keySet().contains(route); } public ResponseParameters getResponse(RequestParameters requestParameters) throws IOException { String path = requestParameters.getRequestPath(); diff --git a/src/main/java/org/clojars/kyleannen/javaserver/Server.java b/src/main/java/org/clojars/kyleannen/javaserver/Server.java index 8cd45b6..2b24e80 100644 --- a/src/main/java/org/clojars/kyleannen/javaserver/Server.java +++ b/src/main/java/org/clojars/kyleannen/javaserver/Server.java @@ -23,7 +23,7 @@ public class Server implements Runnable{ LoggerInterface logger) { this.logger = new Logger(); portNumber = this.setPortNumber(portNumber, args); - directoryPath = this.setDirectoryPath(directoryPath, args, logger); + directoryPath = this.setDirectoryPath(directoryPath, args); //logger.log("Serving directory: " + directoryPath); //this.announceServer(portNumber,this.logger); @@ -36,7 +36,6 @@ public class Server implements Runnable{ @Override public void run() { - this.announceServer(portNumber, logger); ServerSocket serverSocket; try { serverSocket = new ServerSocket(portNumber); @@ -54,19 +53,12 @@ public void run() { } } - private void announceServer(int portNumber, Logger logger) { - String outputMessage = "com.github.kyleannen.javaserver.Server started at: http://localhost:" + - Integer.toString(portNumber); - //logger.log(outputMessage); - } - - private String setDirectoryPath(String directPath, String[] args, LoggerInterface logger) { + private String setDirectoryPath(String directPath, String[] args) { for(int i = 0; i < args.length; i++) { if(args[i].equals("-d") && new File(args[i + 1]).isDirectory()) { return args[i + 1]; } } -// logger.log("No valid directory path provided."); return directPath; } diff --git a/src/main/java/org/clojars/kyleannen/javaserver/ShutdownHook.java b/src/main/java/org/clojars/kyleannen/javaserver/ShutdownHook.java index 312378d..4d6a626 100644 --- a/src/main/java/org/clojars/kyleannen/javaserver/ShutdownHook.java +++ b/src/main/java/org/clojars/kyleannen/javaserver/ShutdownHook.java @@ -3,8 +3,8 @@ import java.util.concurrent.ExecutorService; public class ShutdownHook extends Thread{ - Server httpServer; - ExecutorService requestExecutor; + private Server httpServer; + private ExecutorService requestExecutor; ShutdownHook(Server httpServer, ExecutorService requestExecutor) { this.httpServer = httpServer; diff --git a/src/test/java/org/clojars/kyleannen/javaserver/ConfigFileDownloadsTest.java b/src/test/java/org/clojars/kyleannen/javaserver/ConfigFileDownloadsTest.java index 6be4f55..2169e13 100644 --- a/src/test/java/org/clojars/kyleannen/javaserver/ConfigFileDownloadsTest.java +++ b/src/test/java/org/clojars/kyleannen/javaserver/ConfigFileDownloadsTest.java @@ -8,10 +8,6 @@ import java.util.ArrayList; public class ConfigFileDownloadsTest { - @Test - void configFileDownloadsCanBeInitialized() { - ConfigFileDownloads configFileDownloads = new ConfigFileDownloads(); - } @Test void configFileIsDownloadableReturnsCorrectBoolean() { diff --git a/src/test/java/org/clojars/kyleannen/javaserver/ConfigureServerTest.java b/src/test/java/org/clojars/kyleannen/javaserver/ConfigureServerTest.java index e20c53f..197bce2 100644 --- a/src/test/java/org/clojars/kyleannen/javaserver/ConfigureServerTest.java +++ b/src/test/java/org/clojars/kyleannen/javaserver/ConfigureServerTest.java @@ -7,7 +7,7 @@ public class ConfigureServerTest { @Test - void configureServerReturnsAServerWithPortConfiguredWhenPortPassed() { + public void configureServerReturnsAServerWithPortConfiguredWhenPortPassed() { String testPort = "3333"; String[] args = new String[]{"-p", testPort}; Router testRouter = new Router(); @@ -16,7 +16,7 @@ void configureServerReturnsAServerWithPortConfiguredWhenPortPassed() { } @Test - void configureServerReturnsAServerWithDirectoryConfiguredWhenDirectoryPassed() { + public void configureServerReturnsAServerWithDirectoryConfiguredWhenDirectoryPassed() { String testDirectory = System.getProperty("user.dir") + "/resources"; String[] args = new String[]{"-d", testDirectory}; Router router = new Router(); diff --git a/src/test/java/org/clojars/kyleannen/javaserver/ControllerPostTest.java b/src/test/java/org/clojars/kyleannen/javaserver/ControllerPostTest.java index b6663f0..41f96c5 100644 --- a/src/test/java/org/clojars/kyleannen/javaserver/ControllerPostTest.java +++ b/src/test/java/org/clojars/kyleannen/javaserver/ControllerPostTest.java @@ -32,12 +32,6 @@ class ControllerPostTest { .build(); } - - @Test - void postClassExists(){ - ControllerPost post = new ControllerPost(); - } - @Test void postWillReturnAResponse() throws IOException { ControllerPost post = new ControllerPost(); @@ -55,12 +49,4 @@ void parseFormDataParsesFormData() throws UnsupportedEncodingException { assertEquals("annen", parsedData.get("last_name")); assertEquals("kannen@gmail.com", parsedData.get("email")); } - - @Test - void saveFormDataSavesFormData() throws IOException { - String filePath = System.getProperty("user.dir") + "/resources/form/form-result.html"; - ControllerPost post = new ControllerPost(); - HashMap parsedData = post.parseFormData(testRequestParams.getBodyContent()); - assertEquals(true, new File(filePath).exists()); - } } \ No newline at end of file diff --git a/src/test/java/org/clojars/kyleannen/javaserver/LoggerTest.java b/src/test/java/org/clojars/kyleannen/javaserver/LoggerTest.java index 86fb7e1..9b51143 100644 --- a/src/test/java/org/clojars/kyleannen/javaserver/LoggerTest.java +++ b/src/test/java/org/clojars/kyleannen/javaserver/LoggerTest.java @@ -4,15 +4,6 @@ public class LoggerTest { - @Test - void loggerCanBeInitialized() { - try { - Logger logger = new Logger(); - } catch (Exception e) { - assert(false); - } - } - @Test void loggerLogCanBeCalled() { Logger logger = new Logger(); diff --git a/src/test/java/org/clojars/kyleannen/javaserver/ResponseParametersTest.java b/src/test/java/org/clojars/kyleannen/javaserver/ResponseParametersTest.java index fbd6a5e..898484d 100644 --- a/src/test/java/org/clojars/kyleannen/javaserver/ResponseParametersTest.java +++ b/src/test/java/org/clojars/kyleannen/javaserver/ResponseParametersTest.java @@ -18,7 +18,8 @@ void responseParameterContainsCorrectResponseStatus() { ResponseParameters responseParameters = new ResponseParameters.ResponseBuilder(200) .build(); String expectedStatus = "HTTP/1.1 200 OK\r\n"; - String actaulStatus = responseParameters.getResponseStatus(); + String actualStatus = responseParameters.getResponseStatus(); + assertEquals(expectedStatus, actualStatus); } @Test diff --git a/src/test/java/org/clojars/kyleannen/javaserver/RouterTest.java b/src/test/java/org/clojars/kyleannen/javaserver/RouterTest.java index 7852112..fb012de 100644 --- a/src/test/java/org/clojars/kyleannen/javaserver/RouterTest.java +++ b/src/test/java/org/clojars/kyleannen/javaserver/RouterTest.java @@ -15,12 +15,6 @@ public ResponseParameters getResponse(RequestParameters requestParameters) { } } - - @Test - void RouterCanBeInstantiated() { - Router router = new Router(); - } - @Test void routerCanAddRouter() { Router router = new Router(); diff --git a/src/test/java/org/clojars/kyleannen/javaserver/RoutesTest.java b/src/test/java/org/clojars/kyleannen/javaserver/RoutesTest.java index 3821844..cd8bfdb 100644 --- a/src/test/java/org/clojars/kyleannen/javaserver/RoutesTest.java +++ b/src/test/java/org/clojars/kyleannen/javaserver/RoutesTest.java @@ -17,16 +17,6 @@ public ResponseParameters getResponse(RequestParameters requestParameters) { } } - @Test - void routeCanBeInitialized() { - try { - Routes testRoutes = new Routes(); - assert(true); - } catch (Exception e){ - assert(false); - } - } - @Test void routeCanBeAddedToRoutes() { Routes testRoutes = new Routes(); diff --git a/src/test/java/org/clojars/kyleannen/javaserver/SendResponseTest.java b/src/test/java/org/clojars/kyleannen/javaserver/SendResponseTest.java index 14854aa..37dde52 100644 --- a/src/test/java/org/clojars/kyleannen/javaserver/SendResponseTest.java +++ b/src/test/java/org/clojars/kyleannen/javaserver/SendResponseTest.java @@ -13,9 +13,13 @@ public class SendResponseTest { Server server; class MockLogger implements LoggerInterface { - + String string; @Override public void log(String string) { + this.string = string; + } + public String getLog() { + return this.string; } } diff --git a/src/test/java/org/clojars/kyleannen/javaserver/TestDirectorySetup.java b/src/test/java/org/clojars/kyleannen/javaserver/TestDirectorySetup.java index 2254c14..20de6c8 100644 --- a/src/test/java/org/clojars/kyleannen/javaserver/TestDirectorySetup.java +++ b/src/test/java/org/clojars/kyleannen/javaserver/TestDirectorySetup.java @@ -18,7 +18,6 @@ public class TestDirectorySetup { @BeforeAll static void generateTestFileStructure() throws IOException { - ArrayList files = new ArrayList<>(); List lines = Arrays.asList("test\r\n\r\ntest","test\n"); File dir = new File("./TestDirectory"); File dir2 = new File("./TestEmpty"); From 96d7ed55f71f018f7e0342a021912247b94d7b7a Mon Sep 17 00:00:00 2001 From: Kyle Annen Date: Fri, 13 Oct 2017 16:15:00 -0500 Subject: [PATCH 4/7] resolve additional issues --- .../org/clojars/kyleannen/javaserver/RequestHandlerTest.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/test/java/org/clojars/kyleannen/javaserver/RequestHandlerTest.java b/src/test/java/org/clojars/kyleannen/javaserver/RequestHandlerTest.java index 9abafa5..4e19552 100644 --- a/src/test/java/org/clojars/kyleannen/javaserver/RequestHandlerTest.java +++ b/src/test/java/org/clojars/kyleannen/javaserver/RequestHandlerTest.java @@ -10,10 +10,12 @@ class RequestHandlerTest extends TestDirectorySetup { private Integer startPort1 = 2020; - LoggerInterface logger = new LoggerInterface() { + String string; + @Override public void log(String string) { + this.string = string; } }; From fe6581a1eb2f0a7da7eb0b8941336f0424aefa38 Mon Sep 17 00:00:00 2001 From: Kyle Annen Date: Fri, 13 Oct 2017 16:17:27 -0500 Subject: [PATCH 5/7] more --- .../org/clojars/kyleannen/javaserver/RequestHandlerTest.java | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/test/java/org/clojars/kyleannen/javaserver/RequestHandlerTest.java b/src/test/java/org/clojars/kyleannen/javaserver/RequestHandlerTest.java index 4e19552..7fb68e0 100644 --- a/src/test/java/org/clojars/kyleannen/javaserver/RequestHandlerTest.java +++ b/src/test/java/org/clojars/kyleannen/javaserver/RequestHandlerTest.java @@ -11,11 +11,9 @@ class RequestHandlerTest extends TestDirectorySetup { private Integer startPort1 = 2020; LoggerInterface logger = new LoggerInterface() { - String string; - @Override public void log(String string) { - this.string = string; + //empty as a mock } }; From 187848764d7df82bfaca3b237da94ad91b8edb30 Mon Sep 17 00:00:00 2001 From: Kyle Annen Date: Fri, 13 Oct 2017 16:18:55 -0500 Subject: [PATCH 6/7] more --- src/main/java/org/clojars/kyleannen/javaserver/Server.java | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/main/java/org/clojars/kyleannen/javaserver/Server.java b/src/main/java/org/clojars/kyleannen/javaserver/Server.java index 2b24e80..1cbc322 100644 --- a/src/main/java/org/clojars/kyleannen/javaserver/Server.java +++ b/src/main/java/org/clojars/kyleannen/javaserver/Server.java @@ -24,9 +24,6 @@ public class Server implements Runnable{ this.logger = new Logger(); portNumber = this.setPortNumber(portNumber, args); directoryPath = this.setDirectoryPath(directoryPath, args); - //logger.log("Serving directory: " + directoryPath); - //this.announceServer(portNumber,this.logger); - this.requestExecutor = requestExecutor; this.router = router; this.readInterface = readInterface; @@ -50,6 +47,7 @@ public void run() { serverSocket.close(); } catch (IOException e) { e.printStackTrace(); + this.logger.log(e.toString()); } } From 45e3ed672e9873dbba11bd22a99c496d80b13801 Mon Sep 17 00:00:00 2001 From: Kyle Annen Date: Sat, 14 Oct 2017 12:39:00 -0500 Subject: [PATCH 7/7] remove redundant logger instantiation --- .../kyleannen/javaserver/RequestHandler.java | 2 +- .../clojars/kyleannen/javaserver/Server.java | 35 +++++++++---------- 2 files changed, 18 insertions(+), 19 deletions(-) diff --git a/src/main/java/org/clojars/kyleannen/javaserver/RequestHandler.java b/src/main/java/org/clojars/kyleannen/javaserver/RequestHandler.java index 12d60fd..f9a4c76 100644 --- a/src/main/java/org/clojars/kyleannen/javaserver/RequestHandler.java +++ b/src/main/java/org/clojars/kyleannen/javaserver/RequestHandler.java @@ -13,7 +13,7 @@ public class RequestHandler implements Runnable { RequestHandler(String directoryPath, Socket socket, - Logger logger, + LoggerInterface logger, RouterInterface router, SendInterface sendInterface, ReadInterface readInterface) { diff --git a/src/main/java/org/clojars/kyleannen/javaserver/Server.java b/src/main/java/org/clojars/kyleannen/javaserver/Server.java index 1cbc322..d8e63a7 100644 --- a/src/main/java/org/clojars/kyleannen/javaserver/Server.java +++ b/src/main/java/org/clojars/kyleannen/javaserver/Server.java @@ -5,7 +5,7 @@ import java.util.concurrent.ExecutorService; public class Server implements Runnable{ - private Logger logger; + private LoggerInterface logger; private int portNumber = 3300; private Boolean serverRunning = true; private String directoryPath = System.getProperty("user.dir"); @@ -21,13 +21,13 @@ public class Server implements Runnable{ SendInterface sendInterface, Router router, LoggerInterface logger) { - this.logger = new Logger(); - portNumber = this.setPortNumber(portNumber, args); - directoryPath = this.setDirectoryPath(directoryPath, args); - this.requestExecutor = requestExecutor; + this.logger = logger; this.router = router; this.readInterface = readInterface; this.sendInterface = sendInterface; + this.requestExecutor = requestExecutor; + portNumber = this.setPortNumber(portNumber, args); + directoryPath = this.setDirectoryPath(directoryPath, args); new ConfigRoutes(this.router); } @@ -47,10 +47,21 @@ public void run() { serverSocket.close(); } catch (IOException e) { e.printStackTrace(); - this.logger.log(e.toString()); } } + void stop() { + serverRunning = false; + } + + String getDirectoryPath() { + return this.directoryPath; + } + + int getPortNumber() { + return this.portNumber; + } + private String setDirectoryPath(String directPath, String[] args) { for(int i = 0; i < args.length; i++) { if(args[i].equals("-d") && new File(args[i + 1]).isDirectory()) { @@ -68,16 +79,4 @@ private int setPortNumber(int portNum, String[] args) { } return portNum; } - - int getPortNumber() { - return this.portNumber; - } - - String getDirectoryPath() { - return this.directoryPath; - } - - void stop() { - serverRunning = false; - } }