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();