Skip to content

Commit

Permalink
Usecase de feu.
Browse files Browse the repository at this point in the history
  • Loading branch information
girarda committed Apr 19, 2013
1 parent 11c8753 commit 1bcba85
Show file tree
Hide file tree
Showing 9 changed files with 54 additions and 12 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ public void emergenciesCalledWhenSmokeDetected() {
fixture.detectSmoke();

fixture.verifySirenIsOn();
fixture.emergencyServerWasCalled();
fixture.firemenWereCalled();
fixture.verifyZoneWasTransmittedToCentral();
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,7 @@ public void triggerMovementDetector() {

public void verifyPoliceWasCalledAfterThirtySeconds() throws InterruptedException {
Awaitility.setDefaultTimeout(THIRTY_TWO_SECONDS_IN_MILLISECONDS, TimeUnit.MILLISECONDS);
Awaitility.await().until(emergencyServerWasCalled());
Awaitility.await().until(emergenciesWereCalled());
long endTime = System.currentTimeMillis();

assertTrue(endTime - startTime >= THIRTY_SECONDS_IN_MILLISECONDS);
Expand All @@ -146,11 +146,11 @@ public void verifyAlarmSystemWaitsThirtySecondsBeforeArming() throws Interrupted
}

public void verifyPoliceWasCalled() {
assertTrue(EmergencyServer.called);
assertTrue(EmergencyServer.policeWasCalled);
}

public void verifyPoliceWasNotCalled() {
assertFalse(EmergencyServer.called);
assertFalse(EmergencyServer.policeWasCalled);
}

public void verifyAlarmLogIsEmpty() throws Exception {
Expand Down Expand Up @@ -194,14 +194,14 @@ private JSONObject getJSONResponseFromServer(HttpURLConnection connection) throw
}

public void setReceivedCallToFalse() {
EmergencyServer.called = false;
EmergencyServer.policeWasCalled = false;
}

public static Callable<Boolean> emergencyServerWasCalled() {
public static Callable<Boolean> emergenciesWereCalled() {
return new Callable<Boolean>() {

public Boolean call() throws Exception {
return EmergencyServer.called;
return EmergencyServer.policeWasCalled;
}

};
Expand Down Expand Up @@ -244,7 +244,11 @@ public void verifySirenIsOn() {
}

public void verifyZoneWasTransmittedToCentral() {
// TODO
assertEquals(EmergencyServer.calledZone, A_ZONE);
}

public void firemenWereCalled() {
assertTrue(EmergencyServer.fireFightersWereCalled);
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -40,8 +40,8 @@ public void sendMessageToCentralServer(TargetResource targetResource) {
}

public String sendMessageToCentralServer(TargetResource targetResource, String messageToSend) {
System.out.println(messageToSend);
String resourceURL = generateResourceURL(targetResource);
System.out.println("resourceURL: " + resourceURL);
String response = requestSender.sendPOSTRequest(resourceURL, messageToSend);
return response;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ public FirePolicy(AlarmSystem alarmSystem, Communicator communicator) {
@Override
public void executeProcedure(int zone) {
if (alarmSystem.isArmed()) {
System.out.println(targetResource);
communicator.sendMessageToCentralServer(targetResource, String.valueOf(zone));
alarmSystem.activateSiren();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,8 @@ public String sendPOSTRequest(String resource) {
public String sendGETRequest(String resource) {
WebResource webResource = prepareRequest(resource);

System.out.println(webResource);

ClientResponse response = webResource.type(APPLICATION_TYPE).get(ClientResponse.class);

treatAnswerFromRequest(response);
Expand Down
9 changes: 9 additions & 0 deletions emergencyServer/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,15 @@
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-servlet</artifactId>
</dependency>
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-json</artifactId>
<version>1.17</version>
</dependency>
</dependencies>

</project>
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,8 @@ public class EmergencyServer {
private static final String PACKAGE_NAME = "ca.ulaval.glo4002.emergencyServer.rest";
private static final String CONTEXT_PATH = "/";
private static final String PATH_SPEC = "/*";
public static boolean called = false;
public static boolean policeWasCalled = false;
public static boolean fireFightersWereCalled = false;
public static int calledZone = 0;

private Server server;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
package ca.ulaval.glo4002.emergencyServer.rest;

import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.core.Response;

import org.codehaus.jettison.json.JSONObject;
import org.json.JSONException;

import ca.ulaval.glo4002.emergencyServer.main.EmergencyServer;

@Path("/fire/")
public class FireResource {

private static final String RESPONSE_TO_POST_REQUEST = "POST request received at emergency server";
private static final int RESPONSE_OK = 200;

@POST
public Response treatRequest(String helpRequesterInformations) throws JSONException, org.codehaus.jettison.json.JSONException {
JSONObject jsonObject = new JSONObject(helpRequesterInformations);
EmergencyServer.fireFightersWereCalled = true;
EmergencyServer.calledZone = jsonObject.getInt("message");

return Response.status(RESPONSE_OK).build();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,7 @@ public class PoliceResource {

@POST
public String treatRequest(String helpRequesterInformations) {
EmergencyServer.called = true;
System.out.println(helpRequesterInformations);
EmergencyServer.policeWasCalled = true;
return RESPONSE_TO_POST_REQUEST;
}

Expand Down

0 comments on commit 1bcba85

Please sign in to comment.