webidor/src/test/java/cz/xelfi/quoridor/webidor/UsersTest.java
changeset 258 935118a5831a
parent 239 a47345ebbdd7
child 264 d60370059c3c
     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) {