1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.apache.ibatis.submitted.lazy_immutable;
17
18 import static org.junit.jupiter.api.Assertions.*;
19
20 import java.io.Reader;
21
22 import org.apache.ibatis.BaseDataTest;
23 import org.apache.ibatis.io.Resources;
24 import org.apache.ibatis.session.SqlSession;
25 import org.apache.ibatis.session.SqlSessionFactory;
26 import org.apache.ibatis.session.SqlSessionFactoryBuilder;
27 import org.junit.jupiter.api.BeforeAll;
28 import org.junit.jupiter.api.Test;
29
30 final class ImmutablePOJOTest {
31
32 private static final Integer POJO_ID = 1;
33 private static SqlSessionFactory factory;
34
35 @BeforeAll
36 static void setupClass() throws Exception {
37 try (Reader reader = Resources.getResourceAsReader("org/apache/ibatis/submitted/lazy_immutable/ibatisConfig.xml")) {
38 factory = new SqlSessionFactoryBuilder().build(reader);
39 }
40
41 BaseDataTest.runScript(factory.getConfiguration().getEnvironment().getDataSource(),
42 "org/apache/ibatis/submitted/lazy_immutable/CreateDB.sql");
43 }
44
45 @Test
46 void testLoadLazyImmutablePOJO() {
47 try (SqlSession session = factory.openSession()) {
48 final ImmutablePOJOMapper mapper = session.getMapper(ImmutablePOJOMapper.class);
49 final ImmutablePOJO pojo = mapper.getImmutablePOJO(POJO_ID);
50
51 assertEquals(POJO_ID, pojo.getId());
52 assertNotNull(pojo.getDescription(), "Description should not be null.");
53 assertNotEquals(0, pojo.getDescription().length(), "Description should not be empty.");
54 }
55 }
56
57 }