diff --git a/src/main/Main.java b/src/main/Main.java index 801ae90..fb58cad 100644 --- a/src/main/Main.java +++ b/src/main/Main.java @@ -2,12 +2,12 @@ import java.util.ArrayList; -import restfulchecker.RestApi; +import restfulchecker.RestChecker; import restfulchecker.RestParam; -import restfulchecker.RestApi.Method; +import restfulchecker.RestChecker.Method; public class Main { - static RestApi api = new RestApi(); + static RestChecker api = new RestChecker(); static ArrayList queryParam = new ArrayList<>(); static ArrayList formParam = new ArrayList<>(); static ArrayList pathParam = new ArrayList<>(); diff --git a/src/restfulchecker/RestApi.java b/src/restfulchecker/RestApi.java deleted file mode 100644 index 602389f..0000000 --- a/src/restfulchecker/RestApi.java +++ /dev/null @@ -1,130 +0,0 @@ -package restfulchecker; - -import java.util.ArrayList; -import java.util.Iterator; - -public class RestApi { - private ArrayList accounts = new ArrayList<>(); - private ArrayList results = new ArrayList<>(); - private ArrayList beforeResults = new ArrayList<>(); - private ArrayList responses = new ArrayList<>(); - private Method type; - private ArrayList queryParam; - private ArrayList formParam; - private ArrayList pathParam; - private String judgeResult; - - public static final int ACCOUNT_NUM = 5; - - public void setAccount(String url) { - for (int i = 0; i < ACCOUNT_NUM; i++) - accounts.add(new RestAccount(url)); - } - - public ArrayList getAccounts() { - return accounts; - } - - public ArrayList getResults() { - return results; - } - - public ArrayList getBeforeResults() { - return beforeResults; - } - - public String getJudgeResult() { - return judgeResult; - } - - public void setupRestTest(Method method, ArrayList queryParam, ArrayList formParam, - ArrayList pathParam) { - this.type = method; - this.queryParam = queryParam; - this.formParam = formParam; - this.pathParam = pathParam; - } - - public void doRestTest() { - if (type == null) { - System.out.println("not Selected Method"); - return; - } - RestAccount first = new RestAccount(accounts.get(0).getUrl()); - first.doGet(); - first.doAnything(); - beforeResults.add(first.doReceive()); - for (RestAccount account : accounts) { - switch (type) { - case GET: - account.doGet(); - break; - case POST: - account.doPost(); - break; - case PUT: - account.doPut(); - break; - case DELETE: - account.doDelete(); - break; - } - addParam(account); - account.doAnything(); - responses.add(account.getResponseCode()); - String receive = account.doReceive(); - results.add(receive); - beforeResults.add(receive); - } - judgeMethod(); - } - - private void addParam(RestAccount account) { - if (queryParam != null) - for (RestParam param : queryParam) { - account.addQueryParam(param.key, param.value); - } - if (formParam != null && type != Method.GET) - for (RestParam param : formParam) { - account.addFormParam(param.key, param.value); - } - if (pathParam != null) - for (String param : pathParam) { - account.addPathParam(param); - } - } - - private void judgeMethod() { - ArrayList identically = new ArrayList<>(); - Iterator current = beforeResults.iterator(); - Boolean first = null; - boolean judge = false; - for (String result : results) { - String beforeResult = current.next(); - identically.add(result.equals(beforeResult)); - } - for (boolean idente : identically) { - if (first == null) { - first = idente; - } else { - if (!idente) { - judge = false; - } else { - judge = true; - } - } - } - if (first && judge) { - judgeResult = "GET"; - } else if (!first && judge) { - judgeResult = "PUT or DELETE"; - } else { - judgeResult = "POST"; - } - } - - public enum Method { - GET, POST, PUT, DELETE - }; - -} diff --git a/src/restfulchecker/RestChecker.java b/src/restfulchecker/RestChecker.java new file mode 100644 index 0000000..684e5c7 --- /dev/null +++ b/src/restfulchecker/RestChecker.java @@ -0,0 +1,130 @@ +package restfulchecker; + +import java.util.ArrayList; +import java.util.Iterator; + +public class RestChecker { + private ArrayList accounts = new ArrayList<>(); + private ArrayList results = new ArrayList<>(); + private ArrayList beforeResults = new ArrayList<>(); + private ArrayList responses = new ArrayList<>(); + private Method type; + private ArrayList queryParam; + private ArrayList formParam; + private ArrayList pathParam; + private String judgeResult; + + public static final int ACCOUNT_NUM = 5; + + public void setAccount(String url) { + for (int i = 0; i < ACCOUNT_NUM; i++) + accounts.add(new RestAccount(url)); + } + + public ArrayList getAccounts() { + return accounts; + } + + public ArrayList getResults() { + return results; + } + + public ArrayList getBeforeResults() { + return beforeResults; + } + + public String getJudgeResult() { + return judgeResult; + } + + public void setupRestTest(Method method, ArrayList queryParam, ArrayList formParam, + ArrayList pathParam) { + this.type = method; + this.queryParam = queryParam; + this.formParam = formParam; + this.pathParam = pathParam; + } + + public void doRestTest() { + if (type == null) { + System.out.println("not Selected Method"); + return; + } + RestAccount first = new RestAccount(accounts.get(0).getUrl()); + first.doGet(); + first.doAnything(); + beforeResults.add(first.doReceive()); + for (RestAccount account : accounts) { + switch (type) { + case GET: + account.doGet(); + break; + case POST: + account.doPost(); + break; + case PUT: + account.doPut(); + break; + case DELETE: + account.doDelete(); + break; + } + addParam(account); + account.doAnything(); + responses.add(account.getResponseCode()); + String receive = account.doReceive(); + results.add(receive); + beforeResults.add(receive); + } + judgeMethod(); + } + + private void addParam(RestAccount account) { + if (queryParam != null) + for (RestParam param : queryParam) { + account.addQueryParam(param.key, param.value); + } + if (formParam != null && type != Method.GET) + for (RestParam param : formParam) { + account.addFormParam(param.key, param.value); + } + if (pathParam != null) + for (String param : pathParam) { + account.addPathParam(param); + } + } + + private void judgeMethod() { + ArrayList identically = new ArrayList<>(); + Iterator current = beforeResults.iterator(); + Boolean first = null; + boolean judge = false; + for (String result : results) { + String beforeResult = current.next(); + identically.add(result.equals(beforeResult)); + } + for (boolean idente : identically) { + if (first == null) { + first = idente; + } else { + if (!idente) { + judge = false; + } else { + judge = true; + } + } + } + if (first && judge) { + judgeResult = "GET"; + } else if (!first && judge) { + judgeResult = "PUT or DELETE"; + } else { + judgeResult = "POST"; + } + } + + public enum Method { + GET, POST, PUT, DELETE + }; + +}