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…
Reference in new issue