Skip to content

Commit e336223

Browse files
committed
refs #30 Added a test verifying the behavior when configurationFactory is not specified.
1 parent d7c3343 commit e336223

File tree

2 files changed

+37
-11
lines changed

2 files changed

+37
-11
lines changed

src/test/java/org/apache/ibatis/submitted/lazy_deserialize/LazyDeserializeTest.java

Lines changed: 37 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -15,23 +15,29 @@
1515
*/
1616
package org.apache.ibatis.submitted.lazy_deserialize;
1717

18+
import static org.hamcrest.core.Is.*;
19+
import static org.junit.Assert.*;
20+
21+
import java.io.ByteArrayInputStream;
22+
import java.io.ByteArrayOutputStream;
23+
import java.io.ObjectInputStream;
24+
import java.io.ObjectOutputStream;
1825
import java.io.PrintWriter;
1926
import java.io.Reader;
2027
import java.sql.Connection;
2128
import java.sql.DriverManager;
29+
30+
import org.apache.ibatis.executor.ExecutorException;
2231
import org.apache.ibatis.io.Resources;
2332
import org.apache.ibatis.jdbc.ScriptRunner;
33+
import org.apache.ibatis.session.Configuration;
2434
import org.apache.ibatis.session.SqlSession;
2535
import org.apache.ibatis.session.SqlSessionFactory;
2636
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
27-
import org.junit.BeforeClass;
37+
import org.junit.Before;
38+
import org.junit.Rule;
2839
import org.junit.Test;
29-
import java.io.ByteArrayInputStream;
30-
import java.io.ByteArrayOutputStream;
31-
import java.io.ObjectInputStream;
32-
import java.io.ObjectOutputStream;
33-
import org.apache.ibatis.session.Configuration;
34-
import static org.junit.Assert.*;
40+
import org.junit.rules.ExpectedException;
3541

3642
/**
3743
*
@@ -40,6 +46,9 @@
4046
*/
4147
public final class LazyDeserializeTest {
4248

49+
@Rule
50+
public ExpectedException expectedException = ExpectedException.none();
51+
4352
private static final int FOO_ID = 1;
4453
private static final int BAR_ID = 10;
4554
private static SqlSessionFactory factory;
@@ -48,8 +57,8 @@ public static Configuration getConfiguration() {
4857
return factory.getConfiguration();
4958
}
5059

51-
@BeforeClass
52-
public static void setupClass() throws Exception {
60+
@Before
61+
public void setupClass() throws Exception {
5362
Connection conn = null;
5463

5564
try {
@@ -79,6 +88,7 @@ public static void setupClass() throws Exception {
7988

8089
@Test
8190
public void testLoadLazyDeserialize() throws Exception {
91+
factory.getConfiguration().setConfigurationFactory(this.getClass());
8292
final SqlSession session = factory.openSession();
8393
try {
8494
final Mapper mapper = session.getMapper(Mapper.class);
@@ -96,6 +106,24 @@ public void testLoadLazyDeserialize() throws Exception {
96106
}
97107
}
98108

109+
@Test
110+
public void testLoadLazyDeserializeWithoutConfigurationFactory() throws Exception {
111+
expectedException.expect(ExecutorException.class);
112+
expectedException
113+
.expectMessage(is("Cannot get Configuration as configuration factory was not set."));
114+
115+
final SqlSession session = factory.openSession();
116+
try {
117+
final Mapper mapper = session.getMapper(Mapper.class);
118+
final LazyObjectFoo foo = mapper.loadFoo(FOO_ID);
119+
final byte[] serializedFoo = this.serializeFoo(foo);
120+
final LazyObjectFoo deserializedFoo = this.deserializeFoo(serializedFoo);
121+
deserializedFoo.getLazyObjectBar();
122+
} finally {
123+
session.close();
124+
}
125+
}
126+
99127
private byte[] serializeFoo(final LazyObjectFoo foo) throws Exception {
100128
final ByteArrayOutputStream bos = new ByteArrayOutputStream();
101129
final ObjectOutputStream oos = new ObjectOutputStream(bos);

src/test/java/org/apache/ibatis/submitted/lazy_deserialize/ibatisConfig.xml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,6 @@
2424
<settings>
2525
<setting name="lazyLoadingEnabled" value="true" />
2626
<setting name="aggressiveLazyLoading" value="false" />
27-
<setting name="configurationFactory"
28-
value="org.apache.ibatis.submitted.lazy_deserialize.LazyDeserializeTest" />
2927
</settings>
3028

3129
<typeAliases>

0 commit comments

Comments
 (0)