]> git.aero2k.de Git - tmp/jakarta-migration.git/blob
2e5cb37a81f372efe4ae652438a1de0c0d1b3601
[tmp/jakarta-migration.git] /
1 /*
2  * To change this template, choose Tools | Templates
3  * and open the template in the editor.
4  */
5 package org.collectionspace.services.authentication.test;
6
7 import java.lang.reflect.Method;
8 import java.util.UUID;
9 import javax.persistence.EntityManager;
10 import javax.persistence.EntityManagerFactory;
11 import javax.persistence.Persistence;
12
13 import javax.persistence.Query;
14 import org.collectionspace.services.authentication.User;
15 import org.collectionspace.services.authentication.Role;
16 import org.collectionspace.services.authentication.UserRole;
17
18 import org.testng.annotations.AfterMethod;
19 import org.testng.annotations.BeforeMethod;
20 import org.testng.annotations.Test;
21
22
23 import org.slf4j.Logger;
24 import org.slf4j.LoggerFactory;
25 import org.testng.Assert;
26 import org.testng.annotations.DataProvider;
27
28 /**
29  *
30  * @author 
31  */
32 public class DefaultIdentityProviderTest {
33
34     private final Logger logger = LoggerFactory.getLogger(DefaultIdentityProviderTest.class);
35     private EntityManagerFactory emf;
36     private EntityManager em;
37     private String id;
38
39     @BeforeMethod
40     public void init() {
41
42         emf = Persistence.createEntityManagerFactory("org.collectionspace.services.authentication");
43
44         em = emf.createEntityManager();
45 //        if (logger.isDebugEnabled()) {
46 //            logger.debug("created entity manager");
47 //        }
48     }
49
50     @AfterMethod
51     public void cleanup() {
52         if (em != null) {
53             em.close();
54         }
55     }
56
57     @SuppressWarnings("unchecked")
58     @Test(dataProvider = "testName", dataProviderClass = DefaultIdentityProviderTest.class)
59     public void create(String testName) throws Exception {
60         User user = new User();
61         user.setUsername("sanjay");
62         user.setPasswd("uiouio");
63         em.getTransaction().begin();
64         em.persist(user);
65         // Commit the transaction
66         em.getTransaction().commit();
67         if (logger.isDebugEnabled()) {
68             logger.debug("created user " +
69                     " username=" + user.getUsername() +
70                     " password=" + user.getPasswd());
71         }
72     }
73
74     @SuppressWarnings("unchecked")
75     @Test(dataProvider = "testName", dataProviderClass = DefaultIdentityProviderTest.class,
76     dependsOnMethods = {"create"})
77     public void read(String testName) throws Exception {
78         User user = findUser("sanjay");
79         Assert.assertNotNull(user);
80         if (logger.isDebugEnabled()) {
81             logger.debug("read user " +
82                     " username=" + user.getUsername());
83         }
84     }
85
86     private User findUser(String userName) throws Exception {
87         Query q = em.createQuery("select a from org.collectionspace.services.authentication.User a where a.username = :username");
88         q.setParameter("username", userName);
89         return (User) q.getSingleResult();
90
91     }
92
93 //    @SuppressWarnings("unchecked")
94 //    @Test(dataProvider = "testName", dataProviderClass = DefaultIdentityProviderTest.class,
95 //    dependsOnMethods = {"read"})
96 //    public void update(String testName) throws Exception {
97 //        Query q = em.createQuery("update org.collectionspace.services.authentication.User set email= :email where csid=:csid");
98 //        q.setParameter("email", "sanjay@berkeley.edu");
99 //        q.setParameter("csid", id);
100 //        em.getTransaction().begin();
101 //        int no = q.executeUpdate();
102 //        // Commit the transaction
103 //        em.getTransaction().commit();
104 //        Assert.assertEquals(no, 1);
105 //        Users account = findAccount("sanjay");
106 //        if (logger.isDebugEnabled()) {
107 //            logger.debug("updated account " +
108 //                    " first name=" + account.getFirstName() +
109 //                    " email=" + account.getEmail());
110 //        }
111 //    }
112     @SuppressWarnings("unchecked")
113     @Test(dataProvider = "testName", dataProviderClass = DefaultIdentityProviderTest.class,
114     dependsOnMethods = {"read"}) //FIXME change to update
115     public void delete(String testName) throws Exception {
116         Query q = em.createQuery("delete from org.collectionspace.services.authentication.User where username=:username");
117         q.setParameter("username", "sanjay");
118         // Begin transaction
119         em.getTransaction().begin();
120         int no = q.executeUpdate();
121         ;
122         if (logger.isDebugEnabled()) {
123             logger.debug("deleting user " +
124                     " username=" + "sanjay");
125         }
126         // Commit the transaction
127         em.getTransaction().commit();
128         Assert.assertEquals(no, 1);
129         if (logger.isDebugEnabled()) {
130             logger.debug("deleted user " +
131                     " username=" + "sanjay");
132         }
133     }
134
135     /**
136      * Returns the name of the currently running test.
137      *
138      * Note: although the return type is listed as Object[][],
139      * this method instead returns a String.
140      *
141      * @param   m  The currently running test method.
142      *
143      * @return  The name of the currently running test method.
144      */
145     @DataProvider(name = "testName")
146     public static Object[][] testName(Method m) {
147         return new Object[][]{
148                     new Object[]{m.getName()}
149                 };
150     }
151 }