1.1 --- a/freemarkerdor/pom.xml Sat Sep 11 17:04:51 2010 +0200
1.2 +++ b/freemarkerdor/pom.xml Sun Sep 12 00:06:44 2010 +0200
1.3 @@ -31,7 +31,7 @@
1.4 <dependency>
1.5 <groupId>com.sun.jersey</groupId>
1.6 <artifactId>jersey-server</artifactId>
1.7 - <version>1.1.0-ea</version>
1.8 + <version>${jerseyVersion}</version>
1.9 </dependency>
1.10 <dependency>
1.11 <groupId>org.netbeans.modules</groupId>
1.12 @@ -55,14 +55,13 @@
1.13 <dependency>
1.14 <groupId>com.sun.jersey</groupId>
1.15 <artifactId>jersey-client</artifactId>
1.16 - <version>1.1.0-ea</version>
1.17 + <version>${jerseyVersion}</version>
1.18 </dependency>
1.19 <dependency>
1.20 - <groupId>com.sun.jersey.test.framework</groupId>
1.21 - <artifactId>jersey-test-framework</artifactId>
1.22 - <version>1.1.0-ea</version>
1.23 + <groupId>com.sun.jersey.jersey-test-framework</groupId>
1.24 + <artifactId>jersey-test-framework-http</artifactId>
1.25 + <version>${jerseyVersion}</version>
1.26 <scope>test</scope>
1.27 - <type>jar</type>
1.28 </dependency>
1.29 <dependency>
1.30 <groupId>junit</groupId>
2.1 --- a/pom.xml Sat Sep 11 17:04:51 2010 +0200
2.2 +++ b/pom.xml Sun Sep 12 00:06:44 2010 +0200
2.3 @@ -10,6 +10,12 @@
2.4 <id>netbeans</id>
2.5 <url>http://bits.netbeans.org/maven2/</url>
2.6 </repository>
2.7 + <repository>
2.8 + <id>maven2-repository.dev.java.net</id>
2.9 + <name>Java.net Repository for Maven</name>
2.10 + <url>http://download.java.net/maven/2/</url>
2.11 + <layout>default</layout>
2.12 + </repository>
2.13 </repositories>
2.14 <!--
2.15 <scm>
2.16 @@ -29,6 +35,7 @@
2.17 <url>http://apidesign.org</url>
2.18 </organization>
2.19 <properties>
2.20 + <jerseyVersion>1.3</jerseyVersion>
2.21 <quoridorVersion>1.4</quoridorVersion>
2.22 <webidorVersion>1.17</webidorVersion>
2.23 <visidorVersion>1.0-SNAPSHOT</visidorVersion>
3.1 --- a/statistics/pom.xml Sat Sep 11 17:04:51 2010 +0200
3.2 +++ b/statistics/pom.xml Sun Sep 12 00:06:44 2010 +0200
3.3 @@ -13,20 +13,6 @@
3.4 <version>${statisticsVersion}</version>
3.5 <name>Game Statistics</name>
3.6 <url>http://maven.apache.org</url>
3.7 - <repositories>
3.8 - <repository>
3.9 - <id>maven2-repository.dev.java.net</id>
3.10 - <name>Java.net Repository for Maven</name>
3.11 - <url>http://download.java.net/maven/2/</url>
3.12 - <layout>default</layout>
3.13 - </repository>
3.14 - <repository>
3.15 - <id>maven-repository.dev.java.net</id>
3.16 - <name>Java.net Maven 1 Repository (legacy)</name>
3.17 - <url>http://download.java.net/maven/1</url>
3.18 - <layout>legacy</layout>
3.19 - </repository>
3.20 - </repositories>
3.21 <dependencies>
3.22
3.23 <dependency>
3.24 @@ -38,17 +24,17 @@
3.25 <dependency>
3.26 <groupId>com.sun.jersey</groupId>
3.27 <artifactId>jersey-core</artifactId>
3.28 - <version>1.1.0-ea</version>
3.29 + <version>${jerseyVersion}</version>
3.30 </dependency>
3.31 <dependency>
3.32 <groupId>com.sun.jersey</groupId>
3.33 <artifactId>jersey-server</artifactId>
3.34 - <version>1.1.0-ea</version>
3.35 + <version>${jerseyVersion}</version>
3.36 </dependency>
3.37 <dependency>
3.38 <groupId>com.sun.jersey</groupId>
3.39 <artifactId>jersey-json</artifactId>
3.40 - <version>1.1.0-ea</version>
3.41 + <version>${jerseyVersion}</version>
3.42 <type>jar</type>
3.43 <exclusions>
3.44 <exclusion>
3.45 @@ -62,9 +48,9 @@
3.46 </exclusions>
3.47 </dependency>
3.48 <dependency>
3.49 - <groupId>com.sun.jersey.test.framework</groupId>
3.50 - <artifactId>jersey-test-framework</artifactId>
3.51 - <version>1.1.0-ea</version>
3.52 + <groupId>com.sun.jersey.jersey-test-framework</groupId>
3.53 + <artifactId>jersey-test-framework-http</artifactId>
3.54 + <version>${jerseyVersion}</version>
3.55 <scope>test</scope>
3.56 </dependency>
3.57 <dependency>
4.1 --- a/webidor/pom.xml Sat Sep 11 17:04:51 2010 +0200
4.2 +++ b/webidor/pom.xml Sun Sep 12 00:06:44 2010 +0200
4.3 @@ -13,22 +13,7 @@
4.4 <version>${webidorVersion}</version>
4.5 <name>webidor server</name>
4.6 <url>http://maven.apache.org</url>
4.7 - <repositories>
4.8 - <repository>
4.9 - <id>maven2-repository.dev.java.net</id>
4.10 - <name>Java.net Repository for Maven</name>
4.11 - <url>http://download.java.net/maven/2/</url>
4.12 - <layout>default</layout>
4.13 - </repository>
4.14 - <repository>
4.15 - <id>maven-repository.dev.java.net</id>
4.16 - <name>Java.net Maven 1 Repository (legacy)</name>
4.17 - <url>http://download.java.net/maven/1</url>
4.18 - <layout>legacy</layout>
4.19 - </repository>
4.20 - </repositories>
4.21 <dependencies>
4.22 -
4.23 <dependency>
4.24 <groupId>junit</groupId>
4.25 <artifactId>junit</artifactId>
4.26 @@ -38,17 +23,17 @@
4.27 <dependency>
4.28 <groupId>com.sun.jersey</groupId>
4.29 <artifactId>jersey-core</artifactId>
4.30 - <version>1.1.0-ea</version>
4.31 + <version>${jerseyVersion}</version>
4.32 </dependency>
4.33 <dependency>
4.34 <groupId>com.sun.jersey</groupId>
4.35 <artifactId>jersey-server</artifactId>
4.36 - <version>1.1.0-ea</version>
4.37 + <version>${jerseyVersion}</version>
4.38 </dependency>
4.39 <dependency>
4.40 <groupId>com.sun.jersey</groupId>
4.41 <artifactId>jersey-json</artifactId>
4.42 - <version>1.1.0-ea</version>
4.43 + <version>${jerseyVersion}</version>
4.44 <type>jar</type>
4.45 <exclusions>
4.46 <exclusion>
4.47 @@ -62,9 +47,9 @@
4.48 </exclusions>
4.49 </dependency>
4.50 <dependency>
4.51 - <groupId>com.sun.jersey.test.framework</groupId>
4.52 - <artifactId>jersey-test-framework</artifactId>
4.53 - <version>1.1.0-ea</version>
4.54 + <groupId>com.sun.jersey.jersey-test-framework</groupId>
4.55 + <artifactId>jersey-test-framework-http</artifactId>
4.56 + <version>${jerseyVersion}</version>
4.57 <scope>test</scope>
4.58 </dependency>
4.59 <dependency>
5.1 --- a/webidor/src/test/java/cz/xelfi/quoridor/webidor/AllGamesTest.java Sat Sep 11 17:04:51 2010 +0200
5.2 +++ b/webidor/src/test/java/cz/xelfi/quoridor/webidor/AllGamesTest.java Sun Sep 12 00:06:44 2010 +0200
5.3 @@ -26,9 +26,10 @@
5.4
5.5 package cz.xelfi.quoridor.webidor;
5.6
5.7 +import com.sun.jersey.test.framework.WebAppDescriptor;
5.8 +import com.sun.jersey.test.framework.AppDescriptor;
5.9 import com.sun.jersey.api.client.GenericType;
5.10 import java.util.List;
5.11 -import com.sun.jersey.api.client.UniformInterfaceException;
5.12 import com.sun.jersey.test.framework.JerseyTest;
5.13 import java.io.File;
5.14 import java.io.FileOutputStream;
5.15 @@ -49,21 +50,21 @@
5.16
5.17 private File dir;
5.18
5.19 - public AllGamesTest() throws Exception {
5.20 - super("cz.xelfi.quoridor.webidor.resources");
5.21 - }
5.22 -
5.23 @Override
5.24 - public void setUp() throws Exception {
5.25 - dir = File.createTempFile("quoridor", ".dir");
5.26 - dir.delete();
5.27 - System.setProperty("quoridor.dir", dir.getPath());
5.28 - dir.mkdirs();
5.29 - File passwd = new File(dir, "passwd");
5.30 - FileOutputStream os = new FileOutputStream(passwd);
5.31 - os.write("Jarda=heslo\nJirka=pesko\nJan=pan\n".getBytes("UTF-8"));
5.32 - os.close();
5.33 - super.setUp();
5.34 + protected AppDescriptor configure() {
5.35 + try {
5.36 + dir = File.createTempFile("quoridor", ".dir");
5.37 + dir.delete();
5.38 + System.setProperty("quoridor.dir", dir.getPath());
5.39 + dir.mkdirs();
5.40 + File passwd = new File(dir, "passwd");
5.41 + FileOutputStream os = new FileOutputStream(passwd);
5.42 + os.write("Jarda=heslo\nJirka=pesko\nJan=pan\n".getBytes("UTF-8"));
5.43 + os.close();
5.44 + } catch (Exception ex) {
5.45 + throw new IllegalStateException(ex);
5.46 + }
5.47 + return new WebAppDescriptor.Builder("cz.xelfi.quoridor.webidor.resources").build();
5.48 }
5.49
5.50 @Override
5.51 @@ -106,31 +107,31 @@
5.52 p.store(new FileOutputStream(fJan), "");
5.53 }
5.54
5.55 - String logRoot = webResource.path("login").
5.56 + String logRoot = resource().path("login").
5.57 queryParam("name", "Jarda").
5.58 queryParam("password", "heslo").
5.59 accept(MediaType.TEXT_PLAIN).
5.60 put(String.class);
5.61 - String logJirka = webResource.path("login").
5.62 + String logJirka = resource().path("login").
5.63 queryParam("name", "Jirka").
5.64 queryParam("password", "pesko").
5.65 accept(MediaType.TEXT_PLAIN).
5.66 put(String.class);
5.67 - String logJan = webResource.path("login").
5.68 + String logJan = resource().path("login").
5.69 queryParam("name", "Jan").
5.70 queryParam("password", "pan").
5.71 accept(MediaType.TEXT_PLAIN).
5.72 put(String.class);
5.73
5.74 - GameId s = webResource.path("games").queryParam("white", "Jan")
5.75 + GameId s = resource().path("games").queryParam("white", "Jan")
5.76 .queryParam("loginID", logJan)
5.77 .queryParam("black", "Jirka").post(GameId.class);
5.78 - webResource.path("games/" + s.getId())
5.79 + resource().path("games/" + s.getId())
5.80 .queryParam("loginID", logJan)
5.81 .queryParam("player", "Jan").queryParam("move", "RESIGN").put(GameId.class);
5.82
5.83 GenericType<List<GameId>> gType = new GenericType<List<GameId>>() {};
5.84 - List<GameId> all = webResource.path("games/").queryParam("loginID", logRoot).accept(MediaType.TEXT_XML).get(gType);
5.85 + List<GameId> all = resource().path("games/").queryParam("loginID", logRoot).accept(MediaType.TEXT_XML).get(gType);
5.86 boolean found = false;
5.87 for (GameId id : all) {
5.88 if (id.getId().equals(s.getId())) {
5.89 @@ -140,7 +141,7 @@
5.90 }
5.91 assertTrue("List of games shall contai all games: " + all, found);
5.92
5.93 - Game end = webResource.path("games/" + s.getId()).queryParam("loginID", logRoot).accept(MediaType.TEXT_XML).get(Game.class);
5.94 + Game end = resource().path("games/" + s.getId()).queryParam("loginID", logRoot).accept(MediaType.TEXT_XML).get(Game.class);
5.95 assertEquals("One can see status of games with priviledges", GameStatus.blackWon, end.getId().getStatus());
5.96 }
5.97 }
6.1 --- a/webidor/src/test/java/cz/xelfi/quoridor/webidor/FinishedGameTest.java Sat Sep 11 17:04:51 2010 +0200
6.2 +++ b/webidor/src/test/java/cz/xelfi/quoridor/webidor/FinishedGameTest.java Sun Sep 12 00:06:44 2010 +0200
6.3 @@ -26,6 +26,8 @@
6.4
6.5 package cz.xelfi.quoridor.webidor;
6.6
6.7 +import com.sun.jersey.test.framework.WebAppDescriptor;
6.8 +import com.sun.jersey.test.framework.AppDescriptor;
6.9 import java.util.Properties;
6.10 import com.sun.jersey.api.client.GenericType;
6.11 import com.sun.jersey.api.client.UniformInterfaceException;
6.12 @@ -47,22 +49,22 @@
6.13 System.setProperty("JERSEY_HTTP_PORT", "33435");
6.14 }
6.15 private File dir;
6.16 -
6.17 - public FinishedGameTest() throws Exception {
6.18 - super("cz.xelfi.quoridor.webidor.resources");
6.19 - }
6.20 -
6.21 +
6.22 @Override
6.23 - public void setUp() throws Exception {
6.24 - dir = File.createTempFile("quoridor", ".dir");
6.25 - dir.delete();
6.26 - System.setProperty("quoridor.dir", dir.getPath());
6.27 - dir.mkdirs();
6.28 - File passwd = new File(dir, "passwd");
6.29 - FileOutputStream os = new FileOutputStream(passwd);
6.30 - os.write("Jarda=heslo\nJirka=pesko\nMaster=mr\n".getBytes("UTF-8"));
6.31 - os.close();
6.32 - super.setUp();
6.33 + protected AppDescriptor configure() {
6.34 + try {
6.35 + dir = File.createTempFile("quoridor", ".dir");
6.36 + dir.delete();
6.37 + System.setProperty("quoridor.dir", dir.getPath());
6.38 + dir.mkdirs();
6.39 + File passwd = new File(dir, "passwd");
6.40 + FileOutputStream os = new FileOutputStream(passwd);
6.41 + os.write("Jarda=heslo\nJirka=pesko\nMaster=mr\n".getBytes("UTF-8"));
6.42 + os.close();
6.43 + } catch (Exception ex) {
6.44 + throw new IllegalStateException(ex);
6.45 + }
6.46 + return new WebAppDescriptor.Builder("cz.xelfi.quoridor.webidor.resources").build();
6.47 }
6.48
6.49 @Override
6.50 @@ -84,101 +86,101 @@
6.51 dir.delete();
6.52 }
6.53 @Test public void testNotLoggedIn() {
6.54 - String status = webResource.path("login").queryParam("id", "not-logged-in").
6.55 + String status = resource().path("login").queryParam("id", "not-logged-in").
6.56 accept(MediaType.TEXT_PLAIN).get(String.class);
6.57 assertEquals("Nobody is logged in", "", status);
6.58 }
6.59
6.60
6.61 @Test public void testCreateAGame() throws Exception {
6.62 - String logJarda = webResource.path("login").
6.63 + String logJarda = resource().path("login").
6.64 queryParam("name", "Jarda").
6.65 queryParam("password", "heslo").
6.66 accept(MediaType.TEXT_PLAIN).
6.67 put(String.class);
6.68 - String logJirka = webResource.path("login").
6.69 + String logJirka = resource().path("login").
6.70 queryParam("name", "Jirka").
6.71 queryParam("password", "pesko").
6.72 accept(MediaType.TEXT_PLAIN).
6.73 put(String.class);
6.74 assertNotNull("Logged in ok", logJarda);
6.75 - GameId s = webResource.path("games").queryParam("white", "Jarda")
6.76 + GameId s = resource().path("games").queryParam("white", "Jarda")
6.77 .queryParam("loginID", logJarda)
6.78 .queryParam("black", "Jirka").post(GameId.class);
6.79
6.80 for (int i = 0; i < 3; i++) {
6.81 - webResource.path("games/" + s.getId())
6.82 + resource().path("games/" + s.getId())
6.83 .queryParam("loginID", logJarda)
6.84 .queryParam("player", "Jarda").queryParam("move", "N").put(GameId.class);
6.85 - webResource.path("games/" + s.getId())
6.86 + resource().path("games/" + s.getId())
6.87 .queryParam("loginID", logJirka)
6.88 .queryParam("player", "Jirka").queryParam("move", "S").put(GameId.class);
6.89 }
6.90
6.91 - webResource.path("games/" + s.getId())
6.92 + resource().path("games/" + s.getId())
6.93 .queryParam("loginID", logJarda)
6.94 .queryParam("player", "Jarda").queryParam("move", "N").put(GameId.class);
6.95 - webResource.path("games/" + s.getId())
6.96 + resource().path("games/" + s.getId())
6.97 .queryParam("loginID", logJirka)
6.98 .queryParam("player", "Jirka").queryParam("move", "SS").put(GameId.class);
6.99
6.100
6.101 GenericType<List<GameId>> gType = new GenericType<List<GameId>>() {};
6.102 - List<GameId> nothing = webResource.path("games/").queryParam("status", "blackWon").accept(MediaType.TEXT_XML).get(gType);
6.103 + List<GameId> nothing = resource().path("games/").queryParam("status", "blackWon").accept(MediaType.TEXT_XML).get(gType);
6.104 assertTrue("Nothing has been finished yet: " + nothing, nothing.isEmpty());
6.105
6.106 for (int i = 0; i < 3; i++) {
6.107 - webResource.path("games/" + s.getId())
6.108 + resource().path("games/" + s.getId())
6.109 .queryParam("loginID", logJarda)
6.110 .queryParam("player", "Jarda").queryParam("move", "N").put(GameId.class);
6.111 - webResource.path("games/" + s.getId())
6.112 + resource().path("games/" + s.getId())
6.113 .queryParam("loginID", logJirka)
6.114 .queryParam("player", "Jirka").queryParam("move", "S").put(GameId.class);
6.115 }
6.116
6.117
6.118 try {
6.119 - Game end = webResource.path("games/" + s.getId()).accept(MediaType.TEXT_XML).get(Game.class);
6.120 + Game end = resource().path("games/" + s.getId()).accept(MediaType.TEXT_XML).get(Game.class);
6.121 fail("If the game is finished, one cannot get its status without login");
6.122 } catch (UniformInterfaceException ex) {
6.123 // OK
6.124 }
6.125 - Game end = webResource.path("games/" + s.getId()).queryParam("loginID", logJirka).accept(MediaType.TEXT_XML).get(Game.class);
6.126 + Game end = resource().path("games/" + s.getId()).queryParam("loginID", logJirka).accept(MediaType.TEXT_XML).get(Game.class);
6.127 assertEquals("BlackWins", GameStatus.blackWon, end.getId().getStatus());
6.128
6.129 assertEquals("Jirka wins", "Jirka", end.getCurrentPlayer());
6.130
6.131 - List<GameId> none = webResource.path("games/").queryParam("status", "blackWon").accept(MediaType.TEXT_XML).get(gType);
6.132 + List<GameId> none = resource().path("games/").queryParam("status", "blackWon").accept(MediaType.TEXT_XML).get(gType);
6.133 assertEquals("No games, for not logged in users: " + none, 0, none.size());
6.134
6.135 - List<GameId> something = webResource.path("games/").queryParam("loginID", logJirka).queryParam("status", "blackWon").accept(MediaType.TEXT_XML).get(gType);
6.136 + List<GameId> something = resource().path("games/").queryParam("loginID", logJirka).queryParam("status", "blackWon").accept(MediaType.TEXT_XML).get(gType);
6.137 assertEquals("One game finished: " + something, 1, something.size());
6.138 assertEquals("Id is OK", end.getId().getId(), something.get(0).getId());
6.139 }
6.140
6.141 @Test public void testResignAGame() throws Exception {
6.142 - String logJarda = webResource.path("login").
6.143 + String logJarda = resource().path("login").
6.144 queryParam("name", "Jarda").
6.145 queryParam("password", "heslo").
6.146 accept(MediaType.TEXT_PLAIN).
6.147 put(String.class);
6.148 - GameId s = webResource.path("games").queryParam("white", "Jarda")
6.149 + GameId s = resource().path("games").queryParam("white", "Jarda")
6.150 .queryParam("loginID", logJarda)
6.151 .queryParam("black", "Jirka").post(GameId.class);
6.152
6.153 assertTrue("In progress", s.getStatus().isInProgress());
6.154
6.155 - webResource.path("games/" + s.getId()).
6.156 + resource().path("games/" + s.getId()).
6.157 queryParam("loginID", logJarda).
6.158 queryParam("player", "Jarda").
6.159 queryParam("move", "RESIGN").put(GameId.class);
6.160 try {
6.161 - Game end = webResource.path("games/" + s.getId()).accept(MediaType.TEXT_XML).get(Game.class);
6.162 + Game end = resource().path("games/" + s.getId()).accept(MediaType.TEXT_XML).get(Game.class);
6.163 fail("Should not be able to get game when finished");
6.164 } catch (UniformInterfaceException ex) {
6.165 // OK
6.166 }
6.167 - Game end = webResource.path("games/" + s.getId()).queryParam("loginID", logJarda).accept(MediaType.TEXT_XML).get(Game.class);
6.168 + Game end = resource().path("games/" + s.getId()).queryParam("loginID", logJarda).accept(MediaType.TEXT_XML).get(Game.class);
6.169 assertEquals("BlackWins", GameStatus.blackWon, end.getId().getStatus());
6.170 assertEquals("Jirka wins", "Jirka", end.getCurrentPlayer());
6.171
6.172 @@ -186,40 +188,40 @@
6.173 }
6.174
6.175 @Test public void testResignBGame() throws Exception {
6.176 - String logJarda = webResource.path("login").
6.177 + String logJarda = resource().path("login").
6.178 queryParam("name", "Jarda").
6.179 queryParam("password", "heslo").
6.180 accept(MediaType.TEXT_PLAIN).
6.181 put(String.class);
6.182 - String logJirka = webResource.path("login").
6.183 + String logJirka = resource().path("login").
6.184 queryParam("name", "Jirka").
6.185 queryParam("password", "pesko").
6.186 accept(MediaType.TEXT_PLAIN).
6.187 put(String.class);
6.188
6.189 - GameId s = webResource.path("games").queryParam("white", "Jarda")
6.190 + GameId s = resource().path("games").queryParam("white", "Jarda")
6.191 .queryParam("loginID", logJarda)
6.192 .queryParam("black", "Jirka").post(GameId.class);
6.193
6.194 assertTrue("In progress", s.getStatus().isInProgress());
6.195
6.196 - webResource.path("games/" + s.getId()).
6.197 + resource().path("games/" + s.getId()).
6.198 queryParam("loginID", logJarda).
6.199 queryParam("player", "Jarda").
6.200 queryParam("move", "N").put(GameId.class);
6.201 - webResource.path("games/" + s.getId()).
6.202 + resource().path("games/" + s.getId()).
6.203 queryParam("loginID", logJirka).
6.204 queryParam("player", "Jirka").
6.205 queryParam("move", "RESIGN").put(GameId.class);
6.206
6.207
6.208 try {
6.209 - Game end = webResource.path("games/" + s.getId()).accept(MediaType.TEXT_XML).get(Game.class);
6.210 + Game end = resource().path("games/" + s.getId()).accept(MediaType.TEXT_XML).get(Game.class);
6.211 fail("Should not be able to get game when finished");
6.212 } catch (UniformInterfaceException ex) {
6.213 // OK
6.214 }
6.215 - Game end = webResource.path("games/" + s.getId()).queryParam("loginID", logJarda).accept(MediaType.TEXT_XML).get(Game.class);
6.216 + Game end = resource().path("games/" + s.getId()).queryParam("loginID", logJarda).accept(MediaType.TEXT_XML).get(Game.class);
6.217 assertEquals("WhiteWins", GameStatus.whiteWon, end.getId().getStatus());
6.218 assertEquals("Jarda wins", "Jarda", end.getCurrentPlayer());
6.219
6.220 @@ -227,12 +229,12 @@
6.221 }
6.222
6.223 @Test public void testResignForeignGame() throws Exception {
6.224 - String logJarda = webResource.path("login").
6.225 + String logJarda = resource().path("login").
6.226 queryParam("name", "Jarda").
6.227 queryParam("password", "heslo").
6.228 accept(MediaType.TEXT_PLAIN).
6.229 put(String.class);
6.230 - GameId s = webResource.path("games").queryParam("white", "Jarda")
6.231 + GameId s = resource().path("games").queryParam("white", "Jarda")
6.232 .queryParam("loginID", logJarda)
6.233 .queryParam("black", "Jirka").post(GameId.class);
6.234 File usersDir = new File(dir, "users");
6.235 @@ -246,23 +248,23 @@
6.236 }
6.237
6.238 assertTrue("In progress", s.getStatus().isInProgress());
6.239 - String logMaster = webResource.path("login").
6.240 + String logMaster = resource().path("login").
6.241 queryParam("name", "Master").
6.242 queryParam("password", "mr").
6.243 accept(MediaType.TEXT_PLAIN).
6.244 put(String.class);
6.245
6.246 - webResource.path("games/" + s.getId()).
6.247 + resource().path("games/" + s.getId()).
6.248 queryParam("loginID", logMaster).
6.249 queryParam("player", "Jarda").
6.250 queryParam("move", "RESIGN").put(GameId.class);
6.251 try {
6.252 - Game end = webResource.path("games/" + s.getId()).accept(MediaType.TEXT_XML).get(Game.class);
6.253 + Game end = resource().path("games/" + s.getId()).accept(MediaType.TEXT_XML).get(Game.class);
6.254 fail("Should not be able to get game when finished");
6.255 } catch (UniformInterfaceException ex) {
6.256 // OK
6.257 }
6.258 - Game end = webResource.path("games/" + s.getId()).queryParam("loginID", logJarda).accept(MediaType.TEXT_XML).get(Game.class);
6.259 + Game end = resource().path("games/" + s.getId()).queryParam("loginID", logJarda).accept(MediaType.TEXT_XML).get(Game.class);
6.260 assertEquals("BlackWins", GameStatus.blackWon, end.getId().getStatus());
6.261 assertEquals("Jirka wins", "Jirka", end.getCurrentPlayer());
6.262
7.1 --- a/webidor/src/test/java/cz/xelfi/quoridor/webidor/QuoridorTest.java Sat Sep 11 17:04:51 2010 +0200
7.2 +++ b/webidor/src/test/java/cz/xelfi/quoridor/webidor/QuoridorTest.java Sun Sep 12 00:06:44 2010 +0200
7.3 @@ -26,12 +26,14 @@
7.4
7.5 package cz.xelfi.quoridor.webidor;
7.6
7.7 +import com.sun.jersey.test.framework.AppDescriptor;
7.8 import cz.xelfi.quoridor.IllegalPositionException;
7.9 import java.io.StringWriter;
7.10 import com.sun.jersey.api.client.GenericType;
7.11 import com.sun.jersey.api.client.UniformInterfaceException;
7.12 import com.sun.jersey.core.header.MediaTypes;
7.13 import com.sun.jersey.test.framework.JerseyTest;
7.14 +import com.sun.jersey.test.framework.WebAppDescriptor;
7.15 import cz.xelfi.quoridor.Board;
7.16 import cz.xelfi.quoridor.Move;
7.17 import cz.xelfi.quoridor.webidor.resources.Games;
7.18 @@ -57,22 +59,24 @@
7.19 }
7.20 private File dir;
7.21
7.22 - public QuoridorTest() throws Exception {
7.23 - super("cz.xelfi.quoridor.webidor.resources");
7.24 + @Override
7.25 + protected AppDescriptor configure() {
7.26 + try {
7.27 + dir = File.createTempFile("quoridor", ".dir");
7.28 + dir.delete();
7.29 + System.setProperty("quoridor.dir", dir.getPath());
7.30 + dir.mkdirs();
7.31 + File passwd = new File(dir, "passwd");
7.32 + FileOutputStream os = new FileOutputStream(passwd);
7.33 + os.write("Jarda=heslo\nJirka=pesko\n".getBytes("UTF-8"));
7.34 + os.close();
7.35 + } catch (Exception ex) {
7.36 + throw new IllegalStateException(ex);
7.37 + }
7.38 + return new WebAppDescriptor.Builder("cz.xelfi.quoridor.webidor.resources").build();
7.39 }
7.40
7.41 - @Override
7.42 - public void setUp() throws Exception {
7.43 - dir = File.createTempFile("quoridor", ".dir");
7.44 - dir.delete();
7.45 - System.setProperty("quoridor.dir", dir.getPath());
7.46 - dir.mkdirs();
7.47 - File passwd = new File(dir, "passwd");
7.48 - FileOutputStream os = new FileOutputStream(passwd);
7.49 - os.write("Jarda=heslo\nJirka=pesko\n".getBytes("UTF-8"));
7.50 - os.close();
7.51 - super.setUp();
7.52 - }
7.53 +
7.54
7.55 @Override
7.56 public void tearDown() throws Exception {
7.57 @@ -94,24 +98,24 @@
7.58 }
7.59
7.60 @Test public void testApplicationWadl() {
7.61 - String serviceWadl = webResource.path("application.wadl").
7.62 + String serviceWadl = resource().path("application.wadl").
7.63 accept(MediaTypes.WADL).get(String.class);
7.64 assertTrue(serviceWadl.length() > 0);
7.65 }
7.66
7.67 @Test public void testCreateAGame() throws Exception {
7.68 - String logJarda = webResource.path("login").
7.69 + String logJarda = resource().path("login").
7.70 queryParam("name", "Jarda").
7.71 queryParam("password", "heslo").
7.72 accept(MediaType.TEXT_PLAIN).
7.73 put(String.class);
7.74 - String logJirka = webResource.path("login").
7.75 + String logJirka = resource().path("login").
7.76 queryParam("name", "Jirka").
7.77 queryParam("password", "pesko").
7.78 accept(MediaType.TEXT_PLAIN).
7.79 put(String.class);
7.80
7.81 - User uJirka = webResource.path("users").
7.82 + User uJirka = resource().path("users").
7.83 queryParam("loginID", logJirka).
7.84 accept(MediaType.TEXT_XML).
7.85 get(User.class);
7.86 @@ -119,7 +123,7 @@
7.87 assertEquals("Jirka", uJirka.getId());
7.88
7.89
7.90 - GameId s = webResource.path("games").queryParam("loginID", logJarda).
7.91 + GameId s = resource().path("games").queryParam("loginID", logJarda).
7.92 queryParam("white", "Jarda")
7.93 .queryParam("black", "Jirka").post(GameId.class);
7.94
7.95 @@ -130,21 +134,21 @@
7.96 }
7.97 Thread.sleep(100);
7.98
7.99 - String msg = webResource.path("games").get(String.class);
7.100 - //List<Game> games = webResource.path("games").get(new GenericType<List<Game>>() {});
7.101 + String msg = resource().path("games").get(String.class);
7.102 + //List<Game> games = resource().path("games").get(new GenericType<List<Game>>() {});
7.103
7.104 GenericType<List<GameId>> gType = new GenericType<List<GameId>>() {};
7.105
7.106 - List<GameId> games = webResource.path("games").accept("application/json").get(gType);
7.107 + List<GameId> games = resource().path("games").accept("application/json").get(gType);
7.108 assertEquals("One game", 1, games.size());
7.109 assertEquals("Same white", "Jarda", games.get(0).getWhite());
7.110 assertEquals("Same black", "Jirka", games.get(0).getBlack());
7.111
7.112 - GameId s1 = webResource.path("games/" + s.getId()).
7.113 + GameId s1 = resource().path("games/" + s.getId()).
7.114 queryParam("loginID", logJarda).
7.115 queryParam("player", "Jarda").queryParam("move", "N").put(GameId.class);
7.116 try {
7.117 - GameId s2 = webResource.path("games/" + s.getId()).
7.118 + GameId s2 = resource().path("games/" + s.getId()).
7.119 queryParam("loginID", logJarda).
7.120 queryParam("player", "Jarda").queryParam("move", "N").put(GameId.class);
7.121 fail("Not Jarda's turn, previous call shall fail");
7.122 @@ -152,22 +156,22 @@
7.123 // OK
7.124 }
7.125 try {
7.126 - GameId s2 = webResource.path("games/" + s.getId()).
7.127 + GameId s2 = resource().path("games/" + s.getId()).
7.128 queryParam("loginID", logJirka).
7.129 queryParam("player", "Jirka").queryParam("move", "NONSENCE").put(GameId.class);
7.130 fail("Invalid move");
7.131 } catch (UniformInterfaceException ex) {
7.132 // OK
7.133 }
7.134 - GameId s2 = webResource.path("games/" + s.getId()).
7.135 + GameId s2 = resource().path("games/" + s.getId()).
7.136 queryParam("loginID", logJirka).
7.137 queryParam("player", "Jirka").queryParam("move", "S").put(GameId.class);
7.138 assertNotNull("Successful move", s2);
7.139 if (s2.getModified() <= now) {
7.140 fail("The game is newly modified");
7.141 }
7.142 - Game snapshot = webResource.path("games/" + s.getId()).queryParam("move", "0").accept(MediaType.TEXT_XML).get(Game.class);
7.143 - String ssnapshot = webResource.path("games/" + s.getId()).queryParam("move", "0").accept(MediaType.TEXT_XML).get(String.class);
7.144 + Game snapshot = resource().path("games/" + s.getId()).queryParam("move", "0").accept(MediaType.TEXT_XML).get(Game.class);
7.145 + String ssnapshot = resource().path("games/" + s.getId()).queryParam("move", "0").accept(MediaType.TEXT_XML).get(String.class);
7.146 assertEquals("All moves listed:\n" + ssnapshot, 2, snapshot.getMoves().size());
7.147 assertEquals("Current move", 0, snapshot.getCurrentMove());
7.148 assertEquals("Position 0", 0, snapshot.getBoard().getPlayers().get(0).getRow());
7.149 @@ -203,13 +207,13 @@
7.150 assertEquals(Move.SOUTH, readGames.get(0).getMoves().get(1).getMove());
7.151
7.152 class GMap extends GenericType<Map<String,Object>>{}
7.153 - String text = webResource.path("games").path(s.getId()).accept(MediaType.TEXT_PLAIN).get(String.class);
7.154 + String text = resource().path("games").path(s.getId()).accept(MediaType.TEXT_PLAIN).get(String.class);
7.155 text = (boardToPicture(Board.valueOf(text)));
7.156 if (text.indexOf("-----") == -1) {
7.157 fail("Expecting board:\n" + text);
7.158 }
7.159 - Game readGame = webResource.path("games").path(s.getId()).accept(MediaType.TEXT_XML).get(Game.class);
7.160 - String sGame = webResource.path("games").path(s.getId()).accept(MediaType.TEXT_XML).get(String.class);
7.161 + Game readGame = resource().path("games").path(s.getId()).accept(MediaType.TEXT_XML).get(Game.class);
7.162 + String sGame = resource().path("games").path(s.getId()).accept(MediaType.TEXT_XML).get(String.class);
7.163 assertNotNull("Game really returned", readGame);
7.164 // assertEquals("Same game as in text representation", readGame.getBoard(), Board.valueOf(text));
7.165 assertEquals("Same game as in text representation", readGame.getBoard(), picture2board(text));
8.1 --- a/webidor/src/test/java/cz/xelfi/quoridor/webidor/UsersTest.java Sat Sep 11 17:04:51 2010 +0200
8.2 +++ b/webidor/src/test/java/cz/xelfi/quoridor/webidor/UsersTest.java Sun Sep 12 00:06:44 2010 +0200
8.3 @@ -26,6 +26,8 @@
8.4
8.5 package cz.xelfi.quoridor.webidor;
8.6
8.7 +import com.sun.jersey.test.framework.WebAppDescriptor;
8.8 +import com.sun.jersey.test.framework.AppDescriptor;
8.9 import java.io.FileInputStream;
8.10 import com.sun.jersey.api.client.UniformInterfaceException;
8.11 import com.sun.jersey.test.framework.JerseyTest;
8.12 @@ -48,30 +50,30 @@
8.13
8.14 private File dir;
8.15
8.16 - public UsersTest() throws Exception {
8.17 - super("cz.xelfi.quoridor.webidor.resources");
8.18 - }
8.19 -
8.20 @Override
8.21 - public void setUp() throws Exception {
8.22 - dir = File.createTempFile("quoridor", ".dir");
8.23 - dir.delete();
8.24 - System.setProperty("quoridor.dir", dir.getPath());
8.25 - dir.mkdirs();
8.26 - File passwd = new File(dir, "passwd");
8.27 - FileOutputStream os = new FileOutputStream(passwd);
8.28 - os.write("Jarda=heslo\n".getBytes("UTF-8"));
8.29 - os.close();
8.30 - File usersDir = new File(dir, "users");
8.31 - usersDir.mkdirs();
8.32 - File fJirka = new File(usersDir, "Jirka");
8.33 - {
8.34 - Properties p = new Properties();
8.35 - p.setProperty("email", "jir@ka.cz");
8.36 - p.setProperty("passwd", "pesko");
8.37 - p.store(new FileOutputStream(fJirka), "");
8.38 + protected AppDescriptor configure() {
8.39 + try {
8.40 + dir = File.createTempFile("quoridor", ".dir");
8.41 + dir.delete();
8.42 + System.setProperty("quoridor.dir", dir.getPath());
8.43 + dir.mkdirs();
8.44 + File passwd = new File(dir, "passwd");
8.45 + FileOutputStream os = new FileOutputStream(passwd);
8.46 + os.write("Jarda=heslo\n".getBytes("UTF-8"));
8.47 + os.close();
8.48 + File usersDir = new File(dir, "users");
8.49 + usersDir.mkdirs();
8.50 + File fJirka = new File(usersDir, "Jirka");
8.51 + {
8.52 + Properties p = new Properties();
8.53 + p.setProperty("email", "jir@ka.cz");
8.54 + p.setProperty("passwd", "pesko");
8.55 + p.store(new FileOutputStream(fJirka), "");
8.56 + }
8.57 + } catch (Exception ex) {
8.58 + throw new IllegalStateException(ex);
8.59 }
8.60 - super.setUp();
8.61 + return new WebAppDescriptor.Builder("cz.xelfi.quoridor.webidor.resources").build();
8.62 }
8.63
8.64 @Override
8.65 @@ -110,52 +112,52 @@
8.66 p.store(new FileOutputStream(fJirka), "");
8.67 }
8.68
8.69 - String logJarda = webResource.path("login").
8.70 + String logJarda = resource().path("login").
8.71 queryParam("name", "Jarda").
8.72 queryParam("password", "heslo").
8.73 accept(MediaType.TEXT_PLAIN).
8.74 put(String.class);
8.75 - String logJirka = webResource.path("login").
8.76 + String logJirka = resource().path("login").
8.77 queryParam("name", "Jirka").
8.78 queryParam("password", "pesko").
8.79 accept(MediaType.TEXT_PLAIN).
8.80 put(String.class);
8.81
8.82 - User uJirka = webResource.path("users/Jirka").accept(MediaType.TEXT_XML).get(User.class);
8.83 + User uJirka = resource().path("users/Jirka").accept(MediaType.TEXT_XML).get(User.class);
8.84 assertEquals("Jirka", uJirka.getId());
8.85 assertNull("Cannot get email without login", uJirka.getProperty("email"));
8.86
8.87
8.88 - uJirka = webResource.path("users/Jirka").queryParam("loginID", logJirka).accept(MediaType.TEXT_XML).get(User.class);
8.89 + uJirka = resource().path("users/Jirka").queryParam("loginID", logJirka).accept(MediaType.TEXT_XML).get(User.class);
8.90 assertEquals("Jirka", uJirka.getId());
8.91 assertEquals("Email for ownself is OK", "jir@ka.cz", uJirka.getProperty("email"));
8.92
8.93 - uJirka = webResource.path("users/Jirka").queryParam("loginID", logJarda).accept(MediaType.TEXT_XML).get(User.class);
8.94 + uJirka = resource().path("users/Jirka").queryParam("loginID", logJarda).accept(MediaType.TEXT_XML).get(User.class);
8.95 assertEquals("Jirka", uJirka.getId());
8.96 assertEquals("Jarda has permission for property email", "jir@ka.cz", uJirka.getProperty("email"));
8.97
8.98 - String txt = webResource.path("users/Jirka").queryParam("loginID", logJarda).accept(MediaType.TEXT_XML).get(String.class);
8.99 + String txt = resource().path("users/Jirka").queryParam("loginID", logJarda).accept(MediaType.TEXT_XML).get(String.class);
8.100 if (!txt.contains("<user id=\"Jirka\"><property name=\"email\">jir@ka.cz</property></user>")) {
8.101 fail(txt);
8.102 }
8.103
8.104 try {
8.105 - webResource.path("users/Jarda").queryParam("loginID", logJirka).
8.106 + resource().path("users/Jarda").queryParam("loginID", logJirka).
8.107 queryParam("name", "email").queryParam("value", "ka@jir.cz").accept(MediaType.TEXT_XML).post();
8.108 fail("You cannot change email without priviledges");
8.109 } catch (UniformInterfaceException e) {
8.110 // OK, not allowed
8.111 }
8.112
8.113 - webResource.path("users/Jirka").queryParam("loginID", logJirka).
8.114 + resource().path("users/Jirka").queryParam("loginID", logJirka).
8.115 queryParam("name", "email").queryParam("value", "ka@jir.cz").accept(MediaType.TEXT_XML).post();
8.116
8.117 - uJirka = webResource.path("users/Jirka").queryParam("loginID", logJirka).accept(MediaType.TEXT_XML).get(User.class);
8.118 + uJirka = resource().path("users/Jirka").queryParam("loginID", logJirka).accept(MediaType.TEXT_XML).get(User.class);
8.119 assertEquals("Jirka", uJirka.getId());
8.120 assertEquals("Email for ownself is OK", "ka@jir.cz", uJirka.getProperty("email"));
8.121
8.122 try {
8.123 - webResource.path("users/Jirka").queryParam("loginID", logJirka).
8.124 + resource().path("users/Jirka").queryParam("loginID", logJirka).
8.125 queryParam("name", "permission.email").queryParam("value", "true").accept(MediaType.TEXT_XML).post();
8.126 fail("Shall not be allowed to change own permissions");
8.127 } catch (UniformInterfaceException ex) {
9.1 --- a/webidor/src/test/java/cz/xelfi/quoridor/webidor/resources/ChatTest.java Sat Sep 11 17:04:51 2010 +0200
9.2 +++ b/webidor/src/test/java/cz/xelfi/quoridor/webidor/resources/ChatTest.java Sun Sep 12 00:06:44 2010 +0200
9.3 @@ -26,6 +26,8 @@
9.4
9.5 package cz.xelfi.quoridor.webidor.resources;
9.6
9.7 +import com.sun.jersey.test.framework.WebAppDescriptor;
9.8 +import com.sun.jersey.test.framework.AppDescriptor;
9.9 import com.sun.jersey.test.framework.JerseyTest;
9.10 import cz.xelfi.quoridor.Board;
9.11 import cz.xelfi.quoridor.Move;
9.12 @@ -55,21 +57,21 @@
9.13 }
9.14 private File dir;
9.15
9.16 - public ChatTest() throws Exception {
9.17 - super("cz.xelfi.quoridor.webidor.resources");
9.18 - }
9.19 -
9.20 @Override
9.21 - public void setUp() throws Exception {
9.22 - dir = File.createTempFile("quoridor", ".dir");
9.23 - dir.delete();
9.24 - System.setProperty("quoridor.dir", dir.getPath());
9.25 - dir.mkdirs();
9.26 - File passwd = new File(dir, "passwd");
9.27 - FileOutputStream os = new FileOutputStream(passwd);
9.28 - os.write("Jarda=heslo\nJirka=pesko\n".getBytes("UTF-8"));
9.29 - os.close();
9.30 - super.setUp();
9.31 + protected AppDescriptor configure() {
9.32 + try {
9.33 + dir = File.createTempFile("quoridor", ".dir");
9.34 + dir.delete();
9.35 + System.setProperty("quoridor.dir", dir.getPath());
9.36 + dir.mkdirs();
9.37 + File passwd = new File(dir, "passwd");
9.38 + FileOutputStream os = new FileOutputStream(passwd);
9.39 + os.write("Jarda=heslo\nJirka=pesko\n".getBytes("UTF-8"));
9.40 + os.close();
9.41 + } catch (Exception ex) {
9.42 + throw new IllegalStateException(ex);
9.43 + }
9.44 + return new WebAppDescriptor.Builder("cz.xelfi.quoridor.webidor.resources").build();
9.45 }
9.46
9.47 @Override
9.48 @@ -92,17 +94,17 @@
9.49 }
9.50
9.51 @Test public void testCreateAGame() throws Exception {
9.52 - String logJarda = webResource.path("login").
9.53 + String logJarda = resource().path("login").
9.54 queryParam("name", "Jarda").
9.55 queryParam("password", "heslo").
9.56 accept(MediaType.TEXT_PLAIN).
9.57 put(String.class);
9.58 - String logJirka = webResource.path("login").
9.59 + String logJirka = resource().path("login").
9.60 queryParam("name", "Jirka").
9.61 queryParam("password", "pesko").
9.62 accept(MediaType.TEXT_PLAIN).
9.63 put(String.class);
9.64 - GameId s = webResource.path("games").queryParam("loginID", logJarda).
9.65 + GameId s = resource().path("games").queryParam("loginID", logJarda).
9.66 queryParam("white", "Jarda")
9.67 .queryParam("black", "Jirka").post(GameId.class);
9.68
9.69 @@ -116,21 +118,21 @@
9.70 ResourceBundle b = ResourceBundle.getBundle("cz/xelfi/quoridor/webidor/TestBundle");
9.71 String comment = b.getString("COMMENT");
9.72
9.73 - GameId s1 = webResource.path("games/" + s.getId()).
9.74 + GameId s1 = resource().path("games/" + s.getId()).
9.75 queryParam("loginID", logJarda).
9.76 queryParam("player", "Jarda").queryParam("move", "N").put(GameId.class);
9.77
9.78 - GameId comment1 = webResource.path("games/" + s.getId()).
9.79 + GameId comment1 = resource().path("games/" + s.getId()).
9.80 queryParam("loginID", logJarda).
9.81 queryParam("player", "Jarda").queryParam("comment", "I like this game!").put(GameId.class);
9.82 assertEquals("One comment in the game", 1, comment1.getComments());
9.83
9.84 - GameId comment2 = webResource.path("games/" + s.getId()).
9.85 + GameId comment2 = resource().path("games/" + s.getId()).
9.86 queryParam("loginID", logJirka).
9.87 queryParam("player", "Jirka").queryParam("comment", comment).put(GameId.class);
9.88 assertEquals("Snd comment in the game", 2, comment2.getComments());
9.89
9.90 - GameId s2 = webResource.path("games/" + s.getId()).
9.91 + GameId s2 = resource().path("games/" + s.getId()).
9.92 queryParam("loginID", logJirka).
9.93 queryParam("player", "Jirka").queryParam("move", "S").put(GameId.class);
9.94 assertNotNull("Successful move", s2);
9.95 @@ -191,8 +193,8 @@
9.96
9.97 assertEquals("Newly written file remains the same", sss1, readFile(tmp).replaceAll("@.*:", "date"));
9.98
9.99 - String sGame = webResource.path("games").path(s.getId()).accept(MediaType.TEXT_XML).get(String.class);
9.100 - Game readGame = webResource.path("games").path(s.getId()).accept(MediaType.TEXT_XML).get(Game.class);
9.101 + String sGame = resource().path("games").path(s.getId()).accept(MediaType.TEXT_XML).get(String.class);
9.102 + Game readGame = resource().path("games").path(s.getId()).accept(MediaType.TEXT_XML).get(Game.class);
9.103 assertNotNull("Game really returned", readGame);
9.104
9.105 assertEquals(Move.NORTH, readGame.getMoves().get(0).getMove());
10.1 --- a/wsdor/pom.xml Sat Sep 11 17:04:51 2010 +0200
10.2 +++ b/wsdor/pom.xml Sun Sep 12 00:06:44 2010 +0200
10.3 @@ -64,17 +64,17 @@
10.4 <dependency>
10.5 <groupId>com.sun.jersey</groupId>
10.6 <artifactId>jersey-core</artifactId>
10.7 - <version>1.1.0-ea</version>
10.8 + <version>${jerseyVersion}</version>
10.9 </dependency>
10.10 <dependency>
10.11 <groupId>com.sun.jersey</groupId>
10.12 <artifactId>jersey-server</artifactId>
10.13 - <version>1.1.0-ea</version>
10.14 + <version>${jerseyVersion}</version>
10.15 </dependency>
10.16 <dependency>
10.17 <groupId>com.sun.jersey</groupId>
10.18 <artifactId>jersey-json</artifactId>
10.19 - <version>1.1.0-ea</version>
10.20 + <version>${jerseyVersion}</version>
10.21 <type>jar</type>
10.22 <exclusions>
10.23 <exclusion>