2 * Copyright 2005 the original author or authors.
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
8 * http://www.apache.org/licenses/LICENSE-2.0
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.
16 package org.wamblee.usermgt.hibernate;
18 import org.wamblee.system.adapters.DefaultContainer;
19 import org.wamblee.system.adapters.ObjectConfiguration;
20 import org.wamblee.system.core.Scope;
21 import org.wamblee.system.spring.component.DatabaseTesterComponent;
23 import org.wamblee.test.spring.TestTransactionCallback;
25 import org.wamblee.usermgt.GroupSet;
26 import org.wamblee.usermgt.InMemoryGroupSetTest;
28 import java.sql.ResultSet;
29 import java.sql.SQLException;
31 import java.util.HashMap;
36 * Tests for {@link org.wamblee.usermgt.hibernate.HibernateGroupSet}
38 * @author Erik Brakkee
40 public class HibernateGroupSetTest extends InMemoryGroupSetTest {
44 private static final String GROUP_TABLE = "GROUPS";
49 private static final String GROUP_QUERY = "select * from " + GROUP_TABLE
55 private DefaultContainer container;
65 private DatabaseTesterComponent databaseTester;
70 private GroupSet groupSet;
75 * @throws Exception DOCUMENT ME!
78 protected void setUp() throws Exception {
79 container = new UserMgtRepositoryTestContainer("top");
81 ObjectConfiguration config = new ObjectConfiguration(HibernateGroupSetTest.class);
82 config.getSetterConfig().clear().add("setGroupSet")
83 .add("setDatabaseTester");
84 container.addComponent("testcase", this, config);
86 scope = container.start();
88 databaseTester.cleanDatabase();
95 * @throws Exception DOCUMENT ME!
98 protected void tearDown() throws Exception {
99 container.stop(scope);
106 * @param aDatabaseTester DOCUMENT ME!
108 public void setDatabaseTester(DatabaseTesterComponent aDatabaseTester) {
109 databaseTester = aDatabaseTester;
115 * @param aGroupSet DOCUMENT ME!
117 public void setGroupSet(GroupSet aGroupSet) {
118 groupSet = aGroupSet;
122 * @see org.wamblee.usermgt.InMemoryGroupSetTest#checkGroupCount(int)
127 * @param aSize DOCUMENT ME!
129 * @throws SQLException DOCUMENT ME!
132 protected void checkGroupCount(int aSize) throws SQLException {
133 databaseTester.flush();
134 super.checkGroupCount(aSize);
135 assertEquals(aSize, databaseTester.getTableSize(GROUP_TABLE));
139 * @see org.wamblee.usermgt.InMemoryGroupSetTest#checkGroupExists(java.lang.String)
144 * @param aGroup DOCUMENT ME!
146 * @throws SQLException DOCUMENT ME!
149 protected void checkGroupExists(final String aGroup)
150 throws SQLException {
151 databaseTester.flush();
153 Map<String, Integer> result = databaseTester.executeTransaction(new TestTransactionCallback() {
155 * @see org.wamblee.test.TestTransactionCallback#execute()
158 public Map execute() throws Exception {
159 ResultSet result = databaseTester
160 .executeQuery(GROUP_QUERY, aGroup);
161 Map<String, Integer> res = new HashMap<String, Integer>();
162 res.put("result", databaseTester.countResultSet(result));
168 int count = result.get("result");
169 assertEquals(1, count);
173 * @see org.wamblee.usermgt.InMemoryGroupSetTest#checkGroupNotExists(java.lang.String)
178 * @param aGroup DOCUMENT ME!
180 * @throws SQLException DOCUMENT ME!
183 protected void checkGroupNotExists(String aGroup) throws SQLException {
184 databaseTester.flush();
186 ResultSet result = databaseTester.executeQuery(GROUP_QUERY, aGroup);
187 assertEquals(0, databaseTester.countResultSet(result));
191 * @see org.wamblee.usermgt.InMemoryGroupSetTest#createGroupSet()
196 * @return DOCUMENT ME!
199 protected GroupSet createGroupSet() {