1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.apache.ibatis.submitted.initialized_collection_property;
17
18 import static org.junit.jupiter.api.Assertions.assertEquals;
19
20 import java.io.Reader;
21 import java.util.List;
22
23 import org.apache.ibatis.BaseDataTest;
24 import org.apache.ibatis.io.Resources;
25 import org.apache.ibatis.session.SqlSession;
26 import org.apache.ibatis.session.SqlSessionFactory;
27 import org.apache.ibatis.session.SqlSessionFactoryBuilder;
28 import org.junit.jupiter.api.BeforeAll;
29 import org.junit.jupiter.api.Disabled;
30 import org.junit.jupiter.api.Test;
31
32 class AuthorDAOTest {
33
34 private static SqlSessionFactory factory;
35
36 @BeforeAll
37 static void testGetMessageForEmptyDatabase() throws Exception {
38 final String resource = "org/apache/ibatis/submitted/initialized_collection_property/mybatis-config.xml";
39 try (Reader reader = Resources.getResourceAsReader(resource)) {
40 factory = new SqlSessionFactoryBuilder().build(reader);
41 }
42
43 BaseDataTest.runScript(factory.getConfiguration().getEnvironment().getDataSource(),
44 "org/apache/ibatis/submitted/initialized_collection_property/create.sql");
45 }
46
47 @Test
48 void shouldNotOverwriteCollectionOnNestedResultMap() {
49 try (SqlSession session = factory.openSession()) {
50 List<Author> authors = session.selectList("getAllAuthors");
51 assertEquals(1, authors.size());
52 assertEquals(4, authors.get(0).getPosts().size());
53 }
54 }
55
56 @Disabled
57 @Test
58 void shouldNotOverwriteCollectionOnNestedQuery() {
59 try (SqlSession session = factory.openSession()) {
60 List<Author> authors = session.selectList("getAllAuthorsNestedQuery");
61 assertEquals(1, authors.size());
62 assertEquals(4, authors.get(0).getPosts().size());
63 }
64 }
65
66 }