webidor/src/test/java/cz/xelfi/quoridor/webidor/QuoridorTest.java
changeset 82 9ac7acee7d9f
parent 78 5ea4172dcf8b
child 100 8b899ed24f9f
     1.1 --- a/webidor/src/test/java/cz/xelfi/quoridor/webidor/QuoridorTest.java	Fri Sep 11 22:25:21 2009 +0200
     1.2 +++ b/webidor/src/test/java/cz/xelfi/quoridor/webidor/QuoridorTest.java	Sun Sep 13 16:48:54 2009 +0200
     1.3 @@ -33,7 +33,9 @@
     1.4  import cz.xelfi.quoridor.Board;
     1.5  import cz.xelfi.quoridor.Move;
     1.6  import cz.xelfi.quoridor.webidor.resources.Games;
     1.7 +import cz.xelfi.quoridor.webidor.resources.Quoridor;
     1.8  import java.io.File;
     1.9 +import java.io.FileOutputStream;
    1.10  import java.io.FileReader;
    1.11  import java.io.IOException;
    1.12  import java.util.List;
    1.13 @@ -59,6 +61,11 @@
    1.14          dir = File.createTempFile("quoridor", ".dir");
    1.15          dir.delete();
    1.16          System.setProperty("quoridor.dir", dir.getPath());
    1.17 +        dir.mkdirs();
    1.18 +        File passwd = new File(dir, "passwd");
    1.19 +        FileOutputStream os = new FileOutputStream(passwd);
    1.20 +        os.write("Jarda=heslo\nJirka=pesko\n".getBytes("UTF-8"));
    1.21 +        os.close();
    1.22          super.setUp();
    1.23      }
    1.24  
    1.25 @@ -93,7 +100,18 @@
    1.26  
    1.27      @Test public void testCreateAGame() throws Exception {
    1.28          webResource = webResource.path("api");
    1.29 -        GameId s = webResource.path("games").queryParam("white", "Jarda")
    1.30 +        String logJarda = webResource.path("login").
    1.31 +            queryParam("name", "Jarda").
    1.32 +            queryParam("password", "heslo").
    1.33 +            accept(MediaType.TEXT_PLAIN).
    1.34 +            put(String.class);
    1.35 +        String logJirka = webResource.path("login").
    1.36 +            queryParam("name", "Jirka").
    1.37 +            queryParam("password", "pesko").
    1.38 +            accept(MediaType.TEXT_PLAIN).
    1.39 +            put(String.class);
    1.40 +    GameId s = webResource.path("games").queryParam("loginID", logJarda).
    1.41 +                queryParam("white", "Jarda")
    1.42                  .queryParam("black", "Jirka").post(GameId.class);
    1.43  
    1.44          Thread.sleep(100);
    1.45 @@ -117,20 +135,28 @@
    1.46          assertEquals("Same white", "Jarda", games.get(0).getWhite());
    1.47          assertEquals("Same black", "Jirka", games.get(0).getBlack());
    1.48  
    1.49 -        GameId s1 = webResource.path("games/" + s.getId()).queryParam("player", "Jarda").queryParam("move", "N").put(GameId.class);
    1.50 +        GameId s1 = webResource.path("games/" + s.getId()).
    1.51 +            queryParam("loginID", logJarda).
    1.52 +            queryParam("player", "Jarda").queryParam("move", "N").put(GameId.class);
    1.53          try {
    1.54 -            GameId s2 = webResource.path("games/" + s.getId()).queryParam("player", "Jarda").queryParam("move", "N").put(GameId.class);
    1.55 +            GameId s2 = webResource.path("games/" + s.getId()).
    1.56 +                queryParam("loginID", logJarda).
    1.57 +                queryParam("player", "Jarda").queryParam("move", "N").put(GameId.class);
    1.58              fail("Not Jarda's turn, previous call shall fail");
    1.59          } catch (UniformInterfaceException ex) {
    1.60              // OK
    1.61          }
    1.62          try {
    1.63 -            GameId s2 = webResource.path("games/" + s.getId()).queryParam("player", "Jirka").queryParam("move", "NONSENCE").put(GameId.class);
    1.64 +            GameId s2 = webResource.path("games/" + s.getId()).
    1.65 +                queryParam("loginID", logJirka).
    1.66 +                queryParam("player", "Jirka").queryParam("move", "NONSENCE").put(GameId.class);
    1.67              fail("Invalid move");
    1.68          } catch (UniformInterfaceException ex) {
    1.69              // OK
    1.70          }
    1.71 -        GameId s2 = webResource.path("games/" + s.getId()).queryParam("player", "Jirka").queryParam("move", "S").put(GameId.class);
    1.72 +        GameId s2 = webResource.path("games/" + s.getId()).
    1.73 +            queryParam("loginID", logJirka).
    1.74 +            queryParam("player", "Jirka").queryParam("move", "S").put(GameId.class);
    1.75          assertNotNull("Successful move", s2);
    1.76          if (s2.getModified() <= now) {
    1.77              fail("The game is newly modified");
    1.78 @@ -154,7 +180,7 @@
    1.79              fail(content);
    1.80          }
    1.81  
    1.82 -        Games read = new Games(new File(dir, "games"));
    1.83 +        Games read = new Games(new File(dir, "games"), new Quoridor());
    1.84          List<Game> readGames = read.getGames();
    1.85          assertEquals("One game read", 1, readGames.size());
    1.86          Board board = readGames.get(0).getBoard();