Removed SpringTestCase and SpringConfigFiles and subclasses.
[utils] / security / src / test / java / org / wamblee / usermgt / hibernate / HibernateGroupSetTest.java
1 /*
2  * Copyright 2005 the original author or authors.
3  * 
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  * 
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  * 
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */ 
16
17 package org.wamblee.usermgt.hibernate;
18
19 import java.sql.ResultSet;
20 import java.sql.SQLException;
21 import java.util.HashMap;
22 import java.util.Map;
23
24 import org.wamblee.system.adapters.DefaultContainer;
25 import org.wamblee.system.adapters.ObjectConfiguration;
26 import org.wamblee.system.core.Scope;
27 import org.wamblee.system.spring.DatabaseTesterComponent;
28 import org.wamblee.test.spring.TestTransactionCallback;
29 import org.wamblee.usermgt.GroupSet;
30 import org.wamblee.usermgt.InMemoryGroupSetTest;
31
32 /**
33  * Tests for {@link org.wamblee.usermgt.hibernate.HibernateGroupSet} 
34  *
35  * @author Erik Brakkee
36  */
37 public class HibernateGroupSetTest extends InMemoryGroupSetTest {
38     
39     private static final String GROUP_TABLE = "GROUPS"; 
40     
41     private static final String GROUP_QUERY = "select * from " + GROUP_TABLE + " where name = ?";
42     
43     private DefaultContainer _container;
44     private Scope _scope;
45     
46     private DatabaseTesterComponent _databaseTester;
47     private GroupSet _groupSet; 
48     
49     @Override
50     protected void setUp() throws Exception {
51         
52         _container = new UserMgtRepositoryTestContainer("top");
53         
54         ObjectConfiguration config = new ObjectConfiguration(
55                 HibernateGroupSetTest.class);
56         config.getSetterConfig().clear().add(
57                 "groupSet").add("databaseTester");
58         _container.addComponent("testcase", this, config);
59
60         _scope = _container.start();
61
62         _databaseTester.cleanDatabase();
63         super.setUp();
64     }
65     
66     public void setDatabaseTester(DatabaseTesterComponent aDatabaseTester) {
67         _databaseTester = aDatabaseTester;
68     }
69    
70     public void setGroupSet(GroupSet aGroupSet) {
71         _groupSet = aGroupSet;
72     }
73
74     /* (non-Javadoc)
75      * @see org.wamblee.usermgt.InMemoryGroupSetTest#checkGroupCount(int)
76      */
77     @Override
78     protected void checkGroupCount(int aSize) throws SQLException {
79         _databaseTester.flush(); 
80         super.checkGroupCount(aSize);
81         assertEquals(aSize, _databaseTester.getTableSize(GROUP_TABLE));
82     }
83     
84     /* (non-Javadoc)
85      * @see org.wamblee.usermgt.InMemoryGroupSetTest#checkGroupExists(java.lang.String)
86      */
87     @Override
88     protected void checkGroupExists(final String aGroup) throws SQLException {
89         _databaseTester.flush();
90         Map<String,Integer> result = 
91         _databaseTester.executeTransaction(new TestTransactionCallback()  { 
92             /* (non-Javadoc)
93              * @see org.wamblee.test.TestTransactionCallback#execute()
94              */
95             @Override
96             public Map execute() throws Exception {
97                 ResultSet result = _databaseTester.executeQuery(GROUP_QUERY, aGroup);
98                 Map<String,Integer> res = new HashMap<String,Integer>(); 
99                 res.put("result", _databaseTester.countResultSet(result));
100                 return res; 
101             }
102         }); 
103       
104         int count = result.get("result");
105         assertEquals(1, count);
106     }
107     
108     /* (non-Javadoc)
109      * @see org.wamblee.usermgt.InMemoryGroupSetTest#checkGroupNotExists(java.lang.String)
110      */
111     @Override
112     protected void checkGroupNotExists(String aGroup) throws SQLException {
113        _databaseTester.flush(); 
114        ResultSet result = _databaseTester.executeQuery(GROUP_QUERY, aGroup); 
115        assertEquals(0, _databaseTester.countResultSet(result));
116     }
117     
118     /* (non-Javadoc)
119      * @see org.wamblee.usermgt.InMemoryGroupSetTest#createGroupSet()
120      */
121     @Override
122     protected GroupSet createGroupSet() {
123         return _groupSet; 
124     }
125     
126 }