1.1 --- a/webidor/src/test/java/cz/xelfi/quoridor/webidor/UsersTest.java Sun Apr 25 21:41:00 2010 +0200
1.2 +++ b/webidor/src/test/java/cz/xelfi/quoridor/webidor/UsersTest.java Sun Sep 12 00:06:44 2010 +0200
1.3 @@ -26,6 +26,8 @@
1.4
1.5 package cz.xelfi.quoridor.webidor;
1.6
1.7 +import com.sun.jersey.test.framework.WebAppDescriptor;
1.8 +import com.sun.jersey.test.framework.AppDescriptor;
1.9 import java.io.FileInputStream;
1.10 import com.sun.jersey.api.client.UniformInterfaceException;
1.11 import com.sun.jersey.test.framework.JerseyTest;
1.12 @@ -48,30 +50,30 @@
1.13
1.14 private File dir;
1.15
1.16 - public UsersTest() throws Exception {
1.17 - super("cz.xelfi.quoridor.webidor.resources");
1.18 - }
1.19 -
1.20 @Override
1.21 - public void setUp() throws Exception {
1.22 - dir = File.createTempFile("quoridor", ".dir");
1.23 - dir.delete();
1.24 - System.setProperty("quoridor.dir", dir.getPath());
1.25 - dir.mkdirs();
1.26 - File passwd = new File(dir, "passwd");
1.27 - FileOutputStream os = new FileOutputStream(passwd);
1.28 - os.write("Jarda=heslo\n".getBytes("UTF-8"));
1.29 - os.close();
1.30 - File usersDir = new File(dir, "users");
1.31 - usersDir.mkdirs();
1.32 - File fJirka = new File(usersDir, "Jirka");
1.33 - {
1.34 - Properties p = new Properties();
1.35 - p.setProperty("email", "jir@ka.cz");
1.36 - p.setProperty("passwd", "pesko");
1.37 - p.store(new FileOutputStream(fJirka), "");
1.38 + protected AppDescriptor configure() {
1.39 + try {
1.40 + dir = File.createTempFile("quoridor", ".dir");
1.41 + dir.delete();
1.42 + System.setProperty("quoridor.dir", dir.getPath());
1.43 + dir.mkdirs();
1.44 + File passwd = new File(dir, "passwd");
1.45 + FileOutputStream os = new FileOutputStream(passwd);
1.46 + os.write("Jarda=heslo\n".getBytes("UTF-8"));
1.47 + os.close();
1.48 + File usersDir = new File(dir, "users");
1.49 + usersDir.mkdirs();
1.50 + File fJirka = new File(usersDir, "Jirka");
1.51 + {
1.52 + Properties p = new Properties();
1.53 + p.setProperty("email", "jir@ka.cz");
1.54 + p.setProperty("passwd", "pesko");
1.55 + p.store(new FileOutputStream(fJirka), "");
1.56 + }
1.57 + } catch (Exception ex) {
1.58 + throw new IllegalStateException(ex);
1.59 }
1.60 - super.setUp();
1.61 + return new WebAppDescriptor.Builder("cz.xelfi.quoridor.webidor.resources").build();
1.62 }
1.63
1.64 @Override
1.65 @@ -110,52 +112,52 @@
1.66 p.store(new FileOutputStream(fJirka), "");
1.67 }
1.68
1.69 - String logJarda = webResource.path("login").
1.70 + String logJarda = resource().path("login").
1.71 queryParam("name", "Jarda").
1.72 queryParam("password", "heslo").
1.73 accept(MediaType.TEXT_PLAIN).
1.74 put(String.class);
1.75 - String logJirka = webResource.path("login").
1.76 + String logJirka = resource().path("login").
1.77 queryParam("name", "Jirka").
1.78 queryParam("password", "pesko").
1.79 accept(MediaType.TEXT_PLAIN).
1.80 put(String.class);
1.81
1.82 - User uJirka = webResource.path("users/Jirka").accept(MediaType.TEXT_XML).get(User.class);
1.83 + User uJirka = resource().path("users/Jirka").accept(MediaType.TEXT_XML).get(User.class);
1.84 assertEquals("Jirka", uJirka.getId());
1.85 assertNull("Cannot get email without login", uJirka.getProperty("email"));
1.86
1.87
1.88 - uJirka = webResource.path("users/Jirka").queryParam("loginID", logJirka).accept(MediaType.TEXT_XML).get(User.class);
1.89 + uJirka = resource().path("users/Jirka").queryParam("loginID", logJirka).accept(MediaType.TEXT_XML).get(User.class);
1.90 assertEquals("Jirka", uJirka.getId());
1.91 assertEquals("Email for ownself is OK", "jir@ka.cz", uJirka.getProperty("email"));
1.92
1.93 - uJirka = webResource.path("users/Jirka").queryParam("loginID", logJarda).accept(MediaType.TEXT_XML).get(User.class);
1.94 + uJirka = resource().path("users/Jirka").queryParam("loginID", logJarda).accept(MediaType.TEXT_XML).get(User.class);
1.95 assertEquals("Jirka", uJirka.getId());
1.96 assertEquals("Jarda has permission for property email", "jir@ka.cz", uJirka.getProperty("email"));
1.97
1.98 - String txt = webResource.path("users/Jirka").queryParam("loginID", logJarda).accept(MediaType.TEXT_XML).get(String.class);
1.99 + String txt = resource().path("users/Jirka").queryParam("loginID", logJarda).accept(MediaType.TEXT_XML).get(String.class);
1.100 if (!txt.contains("<user id=\"Jirka\"><property name=\"email\">jir@ka.cz</property></user>")) {
1.101 fail(txt);
1.102 }
1.103
1.104 try {
1.105 - webResource.path("users/Jarda").queryParam("loginID", logJirka).
1.106 + resource().path("users/Jarda").queryParam("loginID", logJirka).
1.107 queryParam("name", "email").queryParam("value", "ka@jir.cz").accept(MediaType.TEXT_XML).post();
1.108 fail("You cannot change email without priviledges");
1.109 } catch (UniformInterfaceException e) {
1.110 // OK, not allowed
1.111 }
1.112
1.113 - webResource.path("users/Jirka").queryParam("loginID", logJirka).
1.114 + resource().path("users/Jirka").queryParam("loginID", logJirka).
1.115 queryParam("name", "email").queryParam("value", "ka@jir.cz").accept(MediaType.TEXT_XML).post();
1.116
1.117 - uJirka = webResource.path("users/Jirka").queryParam("loginID", logJirka).accept(MediaType.TEXT_XML).get(User.class);
1.118 + uJirka = resource().path("users/Jirka").queryParam("loginID", logJirka).accept(MediaType.TEXT_XML).get(User.class);
1.119 assertEquals("Jirka", uJirka.getId());
1.120 assertEquals("Email for ownself is OK", "ka@jir.cz", uJirka.getProperty("email"));
1.121
1.122 try {
1.123 - webResource.path("users/Jirka").queryParam("loginID", logJirka).
1.124 + resource().path("users/Jirka").queryParam("loginID", logJirka).
1.125 queryParam("name", "permission.email").queryParam("value", "true").accept(MediaType.TEXT_XML).post();
1.126 fail("Shall not be allowed to change own permissions");
1.127 } catch (UniformInterfaceException ex) {