+ mockup idea

pull/1/head
Ivan Olexyn 5 years ago
parent 825885066b
commit 347b20a8ed

@ -0,0 +1,80 @@
import org.mockito.Mockito;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletRequestWrapper;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.net.http.HttpRequest;
import java.util.stream.Collectors;
public class BridgeFake extends ServerFake {
public BridgeFake(){
MainFake.bridgeFake = this;
}
@Override
public void run() {
while (true){
if (requests.size()>0 && responses.size()>0) {
try {
process(requests.remove(0), responses.remove(0));
} catch (IOException e) {
e.printStackTrace();
}
}
try {
System.out.println("BridgeFake.run() knows "+MainFake.clientFake.toString());
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
@Override
void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
String body = request.getReader().lines().collect(Collectors.joining(System.lineSeparator()));
if (body.contains("LINK")) {
} else {
Ride suppliedRide = new Ride(body);
if (suppliedRide.getRideID() != null) {
sendDummy(response);
} else if (suppliedRide.getRequest() != null) {
sendDummy(response);
} else if (suppliedRide.getData() != null) {
sendDummy(response);
} else {
// ERROR
}
}
}
@Override
void doPost(HttpServletRequest request, HttpServletResponse response) {
}
private void sendDummy(HttpServletResponse response) throws IOException {
Ride dummyRide = new Ride();
dummyRide.setRequest("dummyRequest");
dummyRide.setData("dummyData");
HttpServletRequest mockRequest = Mockito.mock(HttpServletRequest.class);
response.setStatus(200);
response.setContentType("application/json");
PrintWriter writer = response.getWriter();
writer.println(dummyRide.json());
}
}

@ -0,0 +1,43 @@
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.net.http.HttpRequest;
public class ClientFake extends ServerFake {
public ClientFake(){
MainFake.clientFake = this;
}
@Override
public void run() {
while (true){
if (requests.size()>0 && responses.size()>0) {
try {
process(requests.remove(0), responses.remove(0));
} catch (IOException e) {
e.printStackTrace();
}
}
try {
System.out.println("ClientFake.run() knows "+MainFake.bridgeFake.toString());
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
@Override
void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
}
@Override
void doPost(HttpServletRequest request, HttpServletResponse response) {
}
}

@ -0,0 +1,23 @@
public class MainFake {
public static BridgeFake bridgeFake;
public static ClientFake clientFake;
public static void main(String... args){
Runnable bridgeRunable = new BridgeFake();
Runnable clientRunnable = new ClientFake();
Thread bridgeThread = new Thread(bridgeRunable);
Thread clientThread = new Thread(clientRunnable);
bridgeThread.start();
clientThread.start();
}
}

@ -0,0 +1,38 @@
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.net.http.HttpRequest;
import java.util.ArrayList;
import java.util.List;
public abstract class ServerFake implements Runnable {
List<HttpServletResponse> responses = new ArrayList<>();
List<HttpServletRequest> requests = new ArrayList<>();
@Override
public abstract void run();
public void process(HttpServletRequest request,HttpServletResponse response) throws IOException {
if (request.getMethod().equalsIgnoreCase("GET")){
doGet(request,response);
} else if(request.getMethod().equalsIgnoreCase("POST")){
doPost(request,response);
}
}
abstract void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException;
abstract void doPost(HttpServletRequest request, HttpServletResponse response);
}
Loading…
Cancel
Save