예제 #1
0
 /** Test of getBrowser method, of class Request. */
 @Test
 public void testGetBrowser() {
   System.out.println("getBrowser");
   // Setup
   Request request = new Request(browser, Request.GET, "/testing", "");
   // Assertion
   assertEquals(browser, request.getBrowser());
 }
예제 #2
0
 @Test
 public void shouldWorkWithQueryStringParams() {
   Request request =
       new Request(Verb.GET, "http://stackoverflow.com/search?q=oauth+authentication&more=stuff");
   assertEquals(2, request.getQueryStringParams().size());
   assertEquals("http://stackoverflow.com/search", request.getSanitizedUrl());
   Response response = request.send();
   assertEquals(200, response.getCode());
   assertTrue(response.getBody().length() > 0);
 }
예제 #3
0
 @Get("/injection/:param1/:param2")
 public String route(
     String param1,
     String param2,
     Context context,
     Request request,
     Response response,
     Cookies cookies) {
   return String.join(
       "/",
       param1,
       param2,
       context.getClass().getSimpleName(),
       request.getClass().getSimpleName(),
       response.getClass().getSimpleName(),
       cookies.getClass().getSimpleName());
 }
예제 #4
0
 @Test
 public void shouldSanitizeUrl() {
   Request request =
       new Request(Verb.GET, "http://somewhere/over/the/rainbow?way=up+high&over=the+hills");
   assertEquals("http://somewhere/over/the/rainbow", request.getSanitizedUrl());
 }
예제 #5
0
  @Test
  public void matchingBBTest() {

    /*
    ====================================================
    BLACK BOX TEST  : SEE /Z/report/report.pdf,  page 16
    ====================================================
    */

    Coordinate coorATest = new Coordinate(50.669715, 4.602624);
    Coordinate coorBTest = new Coordinate(50.667892, 4.619073);
    User userTest =
        new User(
            "loginTest",
            "Mister",
            "Nobody",
            "*****@*****.**",
            "0123-456",
            0,
            null,
            null,
            null,
            null,
            null);
    Date arrTimeTest = new Date(2013, 01, 04, 15, 00);
    Traject trajectTest =
        new Traject(
            1, // Seats
            15, // TotalCost
            null, // Request
            userTest, // User
            null, // Dep PP
            null, // Arr PP
            null); // Proposal
    Request reqTest =
        new Request(
            coorATest, // Coor departure
            coorBTest, // Coor arrival
            "Place Galilee 6 1348 Louvain-La-Neuve", // Adress departure
            "Cour des Fleurets 1348 Louvain-La-Neuve", // Adress arrival
            arrTimeTest, // Arrival time
            1, // Seats
            60, // Time tolerance
            3000, // Walk tolerance in m
            5, // Price tolerance
            userTest, // User
            trajectTest); // Traject
    trajectTest.setRequest(reqTest);

    // BB Test : msg-1
    ArrayList<Traject> response = controllers.Matching.match(reqTest);
    /*for(Traject traj : response){
        Assert.fail("Requete n est pas dans la base de donnees mais matching retourne un trajet");
    }*/
    reqTest.getUser().addRequest(reqTest);
    reqTest.save();
    reqTest.getUser().save();

    // BB Test : msg-2
    ArrayList<Traject> response2 = controllers.Matching.match(reqTest);
    for (Traject traj : response2) {
      ExpressionList<Proposal> res = Proposal.find.where().eq("id", traj.getProposal().getId());
      if (res.findRowCount() < 1) {
        Assert.fail("Proposal n est pas dans la base de donnees mais matching retourne un trajet");
      }
    }

    // BB Test : msg-3 + msg-4
    for (Traject traj : response2) {
      PickupPoint depPP = traj.getDeparturePP().getPickupPoint();
      PickupPoint arrPP = traj.getArrivalPP().getPickupPoint();
      if (PickupPoint.find.where().eq("id", depPP.getId()) != depPP) {
        Assert.fail("Departure PickUpPoint pas dans la base de donnees");
      }
      if (PickupPoint.find.where().eq("id", arrPP.getId()) != arrPP) {
        Assert.fail("Arrival PickUpPoint pas dans la base de donnees");
      }
    }

    for (Traject traj : response2) {
      // BB Test : msg-5
      double walkBegin =
          Matching.distance(
              traj.getDeparturePP().getPickupPoint().getCoordinates(),
              reqTest.getTraject().getDeparturePP().getPickupPoint().getCoordinates());
      double walkEnd =
          Matching.distance(
              reqTest.getTraject().getArrivalPP().getPickupPoint().getCoordinates(),
              traj.getArrivalPP().getPickupPoint().getCoordinates());
      if (walkBegin + walkEnd > 3000) {
        Assert.fail("La tolerance de distance de marche n est pas respectee");
      }

      // BB Test : msg-6
      Date maxiTime = new Date(2013, 01, 04, 16, 00);
      if (traj.getArrivalPP().getTime().after(maxiTime)) {
        Assert.fail("Heure d arrivee du passager depasse la tolerance d heure d arrivee");
      }

      // BB Test : msg-7
      if (traj.getReservedSeats() - 1 < 0) {
        Assert.fail("Pas assez de sieges libres dans la proposition pour satisfaire la requete");
      }

      // BB Test : msg-8
      if (traj.getTotalCost() > 5) {
        Assert.fail("Tolerance en cout non respectee.");
      }
    }
  }