1 package net.sf.r4h;
2
3 import static org.junit.Assert.fail;
4
5 import java.io.Serializable;
6 import java.sql.Connection;
7 import java.util.Map;
8 import java.util.Set;
9
10 import javax.naming.NamingException;
11 import javax.naming.Reference;
12
13 import net.sf.r4h.HibernateRepository;
14 import net.sf.r4h.model.Item;
15
16 import org.hibernate.Cache;
17 import org.hibernate.HibernateException;
18 import org.hibernate.Session;
19 import org.hibernate.SessionBuilder;
20 import org.hibernate.SessionFactory;
21 import org.hibernate.StatelessSession;
22 import org.hibernate.StatelessSessionBuilder;
23 import org.hibernate.TypeHelper;
24 import org.hibernate.engine.spi.FilterDefinition;
25 import org.hibernate.metadata.ClassMetadata;
26 import org.hibernate.metadata.CollectionMetadata;
27 import org.hibernate.stat.Statistics;
28 import org.junit.Test;
29
30 public class ConstructorTest {
31
32 @Test
33 public void test() {
34 try {
35 new HibernateRepository<Item, Long>(new BadSessionFactory(), Item.class);
36 fail("Exception is supposed to be thrown if sessionFactory do not implement SessionFactoryImpl");
37 } catch (IllegalArgumentException e) {
38
39 }
40 }
41
42 static class BadSessionFactory implements SessionFactory {
43
44 private static final long serialVersionUID = 1L;
45
46 @Override
47 public Reference getReference() throws NamingException {
48 return null;
49 }
50
51 @Override
52 public SessionFactoryOptions getSessionFactoryOptions() {
53 return null;
54 }
55
56 @Override
57 public SessionBuilder withOptions() {
58 return null;
59 }
60
61 @Override
62 public Session openSession() throws HibernateException {
63 return null;
64 }
65
66 @Override
67 public Session getCurrentSession() throws HibernateException {
68
69 return null;
70 }
71
72 @Override
73 public StatelessSessionBuilder withStatelessOptions() {
74 return null;
75 }
76
77 @Override
78 public StatelessSession openStatelessSession() {
79 return null;
80 }
81
82 @Override
83 public StatelessSession openStatelessSession(Connection connection) {
84 return null;
85 }
86
87 @Override
88 public ClassMetadata getClassMetadata(@SuppressWarnings("rawtypes") Class entityClass) {
89 return null;
90 }
91
92 @Override
93 public ClassMetadata getClassMetadata(String entityName) {
94 return null;
95 }
96
97 @Override
98 public CollectionMetadata getCollectionMetadata(String roleName) {
99 return null;
100 }
101
102 @Override
103 public Map<String, ClassMetadata> getAllClassMetadata() {
104 return null;
105 }
106
107 @Override
108 public Map<?, ?> getAllCollectionMetadata() {
109 return null;
110 }
111
112 @Override
113 public Statistics getStatistics() {
114 return null;
115 }
116
117 @Override
118 public void close() throws HibernateException {
119
120 }
121
122 @Override
123 public boolean isClosed() {
124 return false;
125 }
126
127 @Override
128 public Cache getCache() {
129 return null;
130 }
131
132 @Override
133 public void evict(@SuppressWarnings("rawtypes") Class persistentClass) throws HibernateException {
134
135 }
136
137 @Override
138 public void evict(@SuppressWarnings("rawtypes") Class persistentClass, Serializable id) throws HibernateException {
139
140 }
141
142 @Override
143 public void evictEntity(String entityName) throws HibernateException {
144
145 }
146
147 @Override
148 public void evictEntity(String entityName, Serializable id) throws HibernateException {
149
150 }
151
152 @Override
153 public void evictCollection(String roleName) throws HibernateException {
154
155 }
156
157 @Override
158 public void evictCollection(String roleName, Serializable id) throws HibernateException {
159
160 }
161
162 @Override
163 public void evictQueries(String cacheRegion) throws HibernateException {
164
165 }
166
167 @Override
168 public void evictQueries() throws HibernateException {
169
170 }
171
172 @SuppressWarnings("rawtypes")
173 @Override
174 public Set getDefinedFilterNames() {
175 return null;
176 }
177
178 @Override
179 public FilterDefinition getFilterDefinition(String filterName) throws HibernateException {
180 return null;
181 }
182
183 @Override
184 public boolean containsFetchProfileDefinition(String name) {
185 return false;
186 }
187
188 @Override
189 public TypeHelper getTypeHelper() {
190 return null;
191 }
192
193 }
194
195 }